You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
hy-screen-2.0/docs/assets/index-cce8222b-178340032551...

6916 lines
3.4 MiB

var rk=Object.defineProperty,ak=Object.defineProperties;var sk=Object.getOwnPropertyDescriptors;var ms=Object.getOwnPropertySymbols;var vp=Object.prototype.hasOwnProperty,_p=Object.prototype.propertyIsEnumerable;var gc=(n,e)=>{if(e=Symbol[n])return e;throw Error("Symbol."+n+" is not defined")},v6=Math.pow,pc=(n,e,t)=>e in n?rk(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,W2=(n,e)=>{for(var t in e||(e={}))vp.call(e,t)&&pc(n,t,e[t]);if(ms)for(var t of ms(e))_p.call(e,t)&&pc(n,t,e[t]);return n},s3=(n,e)=>ak(n,sk(e));var S7=(n,e)=>{var t={};for(var i in n)vp.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&ms)for(var i of ms(n))e.indexOf(i)<0&&_p.call(n,i)&&(t[i]=n[i]);return t};var e0=(n,e,t)=>(pc(n,typeof e!="symbol"?e+"":e,t),t);var I3=(n,e,t)=>new Promise((i,r)=>{var a=l=>{try{o(t.next(l))}catch(c){r(c)}},s=l=>{try{o(t.throw(l))}catch(c){r(c)}},o=l=>l.done?i(l.value):Promise.resolve(l.value).then(a,s);o((t=t.apply(n,e)).next())}),ok=function(n,e){this[0]=n,this[1]=e};var bp=n=>{var e=n[gc("asyncIterator")],t=!1,i,r={};return e==null?(e=n[gc("iterator")](),i=a=>r[a]=s=>e[a](s)):(e=e.call(n),i=a=>r[a]=s=>{if(t){if(t=!1,a==="throw")throw s;return s}return t=!0,{done:!1,value:new ok(new Promise(o=>{var l=e[a](s);if(!(l instanceof Object))throw TypeError("Object expected");o(l)}),1)}}),r[gc("iterator")]=()=>r,i("next"),"throw"in e?i("throw"):r.throw=a=>{throw a},"return"in e&&i("return"),r};import{_ as Dr,o as K,c as e2,a as C,t as S2,r as po,b as e1,d as i3,w as I0,p as Sp,i as wp,n as t1,u as O0,e as b2,f as Un,g as G3,h as Cp,j as $n,s as lk,k as _e,F as B3,l as q3,m as R1,q as te,v as he,x as j1,y as lt,z as We,A as m9,B as y8,T as uk,L as at,C as dl,D as R5,E as w7,G as ck,H as dk,I as hk,J as fk,K as mk}from"./index-1783400325510.js";import{C as gk,T as pk,a as Pd,b as X_,B as C6,c as A6,L as Ih,d as Y7,F as sr,e as pt,f as o5,S as yk,P as Z_,D as J_,M as Z0,g as Gn,h as W5,V as st,i as P8,j as U1,I as vk,k as _k,O as Or,l as Q_,m as bk,n as Sk,o as o4,p as eb,R as pn,q as hl,r as yc,s as f8,t as zi,u as Rt,v as wk,w as Ck,x as $e,y as Tk,z as Md,A as yo,E as Nh,G as ye,H as tb,J as nb,K as ib,N as Ak,Q as xk,U as Ek,W as rb,X as Tp,Y as Lh,Z as ab,_ as Pk,$ as Mk,a0 as kk,a1 as or,a2 as Rk,a3 as Ik,a4 as Nk,a5 as v8,a6 as Ap,a7 as xp,a8 as Ep,a9 as Pp,aa as fl,ab as Fh,ac as Lk,ad as Fk,ae as Dk,af as Ok,ag as Bk,ah as Gk,ai as jk,aj as zk,ak as lr,al as Dh,am as I5,an as kt,ao as vo,ap as Uk,aq as $k,ar as kd,as as Rd,at as Wk,au as to,av as sb,aw as no,ax as Vk,ay as ml,az as Hk,aA as ob,aB as lb,aC as Yk,aD as Kk,aE as _n,aF as qk,aG as Mp,aH as wi,aI as Ci,aJ as Xk,aK as Zk,aL as Jk,aM as Qk,aN as eR,aO as ub,aP as K1,aQ as gs,aR as ps,aS as Oe}from"./chartTheme-162cb1dc-1783400325510.js";const _o=""+new URL("bottom-menu-arrow-big-180b7071-balabala-1783400325510.svg",import.meta.url).href,bo=""+new URL("bottom-menu-arrow-small-19304179-balabala-1783400325510.svg",import.meta.url).href;/**
* @name: autofit.js
* @author: Larry Zhu
* @version: 3.2.8
* @description: autofit.js 是迄今为止最易用的自适应工具
* @license: MIT
*/let vc=null,ur="",Id="",Nd="",_c=null,kp=null,It=1,Zi=!1;const gl={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:s=[],transition:o="none",delay:l=0,limit:c=.1,cssMode:d="scale",allowScroll:f=!1}=n;vc=r;const p=document.querySelector(r);if(!p){console.error(`autofit: '${r}' is not exist`);return}const y=document.createElement("style"),w=document.createElement("style");y.lang="text/css",w.lang="text/css",y.id="autofit-style",w.id="ignoreStyle",!f&&(y.innerHTML="body {overflow: hidden;}");const M=document.querySelector("body");M.appendChild(y),M.appendChild(w),p.style.height=`${i}px`,p.style.width=`${t}px`,p.style.transformOrigin="0 0",!f&&(p.style.overflow="hidden"),bc(t,i,p,s,c,d),_c=()=>{clearTimeout(kp),l!=0?kp=setTimeout(()=>{bc(t,i,p,s,c,d),Zi&&Ld(ur,Nd,Id)},l):(bc(t,i,p,s,c,d),Zi&&Ld(ur,Nd,Id))},a&&window.addEventListener("resize",_c),this.isAutofitRunning=!0,setTimeout(()=>{p.style.transition=`${o}s`})},off(n="body"){try{window.removeEventListener("resize",_c);const e=document.querySelector("#autofit-style");e&&e.remove();const t=document.querySelector("#ignoreStyle");t&&t.remove();const i=document.querySelector(vc||n);i&&(i.style.cssText=""),Zi&&cb()}catch(e){console.error("autofit: Failed to remove normally",e)}this.isAutofitRunning=!1,console.log("autofit.js is off")},elRectification:null,scale:It};function Ld(n,e=!0,t=1){if(!gl.isAutofitRunning){console.error("autofit.js:(elRectification): autofit has not been initialized yet");return}cb(),!n&&console.error(`autofit.js:elRectification bad selector: ${n}`),ur=n,Id=t,Nd=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=It==1?1:Number(It)*Number(t);Zi||(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(It)})`,r.style.transformOrigin="0 0"}Zi=!0}function cb(){if(ur){Zi=!1;for(const n of Array.from(document.querySelectorAll(ur)))n.style.width="",n.style.height="",n.style.transform=""}}function bc(n,e,t,i,r,a="scale"){const s=document.documentElement.clientHeight,o=document.documentElement.clientWidth;It=o/s<n/e?o/n:s/e,It=Math.abs(1-It)>r?It:1,gl.scale=+It;const l=Math.round(s/Number(It)),c=Math.round(o/Number(It));t.style.height=`${l}px`,t.style.width=`${c}px`,a==="zoom"?t.style.zoom=`${It}`:t.style.transform=`translateZ(0) scale(${It})`;const d=document.querySelector("#ignoreStyle");d.innerHTML="";for(const f of i){const p=f;let y=p.el||p.dom;if(typeof p=="string"&&(y=p),!y||typeof y=="object"&&!Object.keys(y).length){console.error(`autofit: found invalid or empty selector/object: ${y}`);continue}const w=p.scale?p.scale:1/Number(It),M=w!=It&&p.fontSize,P=w!=It&&p.width,D=w!=It&&p.height;d.innerHTML+=`
${y} {
transform: scale(${w})!important;
transform-origin: 0 0;
${P?`width: ${P}!important;`:""}
${D?`height: ${D}!important;`:""}
}`,M&&(d.innerHTML+=`
${y} div ,${y} span,${y} a,${y} * {
font-size: ${M}px;
}`)}}gl.elRectification=Ld;const tR={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}},nR={class:"svg-line-animation"},iR=["viewBox"],rR=["id"],aR=["stop-opacity"],sR=["stop-opacity"],oR=["id"],lR=["r","fill"],uR=["begin","dur","path","keyPoints"],cR=["d","stroke","stroke-width","mask"];function dR(n,e,t,i,r,a){return K(),e2("div",nR,[(K(),e2("svg",{width:"100%",height:"100%",viewBox:`0 0 ${t.width} ${t.height}`,fill:"none",xmlns:"http://www.w3.org/2000/svg"},[C("defs",null,[C("radialGradient",{id:r.radialGradientId,cx:"50%",cy:"50%",fx:"100%",fy:"50%",r:"50%"},[C("stop",{offset:"0%","stop-color":"#fff","stop-opacity":t.dir[1]},null,8,aR),C("stop",{offset:"100%","stop-color":"#fff","stop-opacity":t.dir[0]},null,8,sR)],8,rR),C("mask",{id:r.maskId},[C("circle",{r:t.length,cx:"0",cy:"0",fill:`url(#${r.radialGradientId})`},[C("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,uR)],8,lR)],8,oR)]),C("path",{class:"path-line",d:t.path,stroke:t.color,"stroke-width":t.strokeWidth,mask:`url(#${r.maskId})`},null,8,cR)],8,iR))])}const So=Dr(tR,[["render",dR]]);const hR={class:"m-header"},fR={class:"m-header-wrap"},mR={class:"m-header-title"},gR={class:"m-header-subtext"},pR={class:"m-header-left",style:{color:"#fff"}},yR={class:"m-header-right"},vR={class:"m-header-line"},_R={__name:"index",props:{title:{type:String,default:"红原县数字畜牧业监管平台"},subText:{type:String,default:"Hongyuan Digital Animal Husbandry Supervision Platform"}},setup(n){return(e,t)=>(K(),e2("div",hR,[C("div",fR,[C("div",mR,S2(n.title),1),C("div",gR,S2(n.subText),1)]),C("div",pR,[po(e.$slots,"left")]),C("div",yR,[po(e.$slots,"right")]),C("div",vR,[e1(So,{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"}),e1(So,{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 bR={class:"m-menu"},SR={__name:"index",props:{defaultActive:{type:[String,Number],default:""}},emits:["select"],setup(n,{emit:e}){const t=e,i=n,r=i3(i.defaultActive);return Sp("updateActive",s=>{s!==r.value&&(r.value=s,t("select",s))}),Sp("activeIndex",r),I0(()=>i.defaultActive,s=>{s!==r.value&&(r.value=s)}),(s,o)=>(K(),e2("div",bR,[po(s.$slots,"default")]))}},wR={__name:"index",props:{index:{type:[String,Number],required:!0}},setup(n){const e=n,t=wp("updateActive"),i=wp("activeIndex"),r=()=>{t(e.index)};return(a,s)=>(K(),e2("div",{class:t1(["m-menu-item",{"is-active":n.index===O0(i)}]),onClick:r},[po(a.$slots,"default")],2))}};let Rp=0;const Ip="webkit moz ms o".split(" ");let W6,V6;const CR=typeof window=="undefined";if(CR)W6=function(){},V6=function(){};else{W6=window.requestAnimationFrame,V6=window.cancelAnimationFrame;let n;for(let e=0;e<Ip.length&&!(W6&&V6);e++)n=Ip[e],W6=W6||window[n+"RequestAnimationFrame"],V6=V6||window[n+"CancelAnimationFrame"]||window[n+"CancelRequestAnimationFrame"];(!W6||!V6)&&(W6=function(e){const t=new Date().getTime(),i=Math.max(0,16-(t-Rp)),r=window.setTimeout(()=>{e(t+i)},i);return Rp=t+i,r},V6=function(e){window.clearTimeout(e)})}const TR={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=W6(this.count)},pauseResume(){this.paused?(this.resume(),this.paused=!1):(this.pause(),this.paused=!0)},pause(){V6(this.rAF)},resume(){this.startTime=null,this.localDuration=+this.remaining,this.localStartVal=+this.printVal,W6(this.count)},reset(){this.startTime=null,V6(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=W6(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(){V6(this.rAF)}};function AR(n,e,t,i,r,a){return K(),e2("span",null,S2(r.displayValue),1)}const db=Dr(TR,[["render",AR]]);typeof window!="undefined"&&window.Vue&&window.Vue.component("count-to",db);const xR={class:"count-card-left"},ER={class:"count-card-title"},PR={class:"title-zh"},MR={key:0,class:"title-en"},kR={class:"count-card-right"},RR={class:"unit"},IR={__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=i3(!0),i=i3(!1),r=i3(0);let a=null;const s=b2(()=>e.info.duration||1800);I0(()=>[e.info.value,e.info.zh],()=>{a&&window.clearTimeout(a),t.value=!0,i.value=!1,r.value+=1},{immediate:!0});function o(d){return d.toUpperCase()}function l(){t.value=!0,i.value=!1}function c(){t.value=!1,i.value=!0,a&&window.clearTimeout(a),a=window.setTimeout(()=>{i.value=!1},900)}return Un(()=>{a&&window.clearTimeout(a)}),(d,f)=>(K(),e2("div",{class:t1(["count-card",{"is-counting":t.value,"is-settled":i.value}])},[C("div",xR,[C("div",{class:t1(["count-card-icon","icon-"+n.info.icon])},null,2),C("div",ER,[C("div",PR,S2(n.info.zh),1),n.info.en?(K(),e2("div",MR,S2(o(n.info.en)),1)):G3("",!0)])]),C("div",kR,[(K(),e2("div",{class:"value",key:r.value},[e1(O0(db),{startVal:0,endVal:n.info.value,decimals:n.info.decimals,duration:s.value,separator:"",autoplay:!0,onMountedCallback:l,onCallback:c},null,8,["endVal","decimals","duration"])])),C("div",RR,S2(n.info.unit),1)])],2))}};var ys=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:{};function NR(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}function vs(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 wo={exports:{}};wo.exports;(function(n,e){function t(U){"@babel/helpers - typeof";return t=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(N){return typeof N}:function(N){return N&&typeof Symbol=="function"&&N.constructor===Symbol&&N!==Symbol.prototype?"symbol":typeof N},t(U)}function i(U,N){if(!(U instanceof N))throw new TypeError("Cannot call a class as a function")}function r(U,N){for(var m=0;m<N.length;m++){var g=N[m];g.enumerable=g.enumerable||!1,g.configurable=!0,"value"in g&&(g.writable=!0),Object.defineProperty(U,g.key,g)}}function a(U,N,m){return N&&r(U.prototype,N),m&&r(U,m),Object.defineProperty(U,"prototype",{writable:!1}),U}function s(U,N,m){return N in U?Object.defineProperty(U,N,{value:m,enumerable:!0,configurable:!0,writable:!0}):U[N]=m,U}var o=function(){function U(N,m){i(this,U),this.coreX=N,this.coreY=m}return a(U,[{key:"toString",value:function(){return"".concat(this.coreX,"-").concat(this.coreY)}}]),U}();Date.prototype.Format=function(U){var N={"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(U)&&(U=U.replace(RegExp.$1,(this.getFullYear()+"").substr(4-RegExp.$1.length)));for(var m in N)new RegExp("("+m+")").test(U)&&(U=U.replace(RegExp.$1,RegExp.$1.length==1?N[m]:("00"+N[m]).substr((""+N[m]).length)));return U};var l=function(N,m,g){var v=document.getElementsByTagName("head")[0].getElementsByTagName("script"),S=!1;if(g)S=g();else for(var x=0;x<v.length;x++)v[x].getAttribute("src")==N&&(S=!0,m());if(S)m();else{var k=document.createElement("script");k.setAttribute("src",N),k.setAttribute("crossorigin",!0),k.onload=m,document.getElementsByTagName("head")[0].appendChild(k)}},c=function(N,m){for(var g=document.getElementsByTagName("head")[0].getElementsByTagName("link"),v=!1,S=0;S<g.length;S++)g[S].getAttribute("href")==N&&(v=!0);if(!v){var x=document.createElement("link");x.rel="stylesheet",x.type="text/css",x.href=N,x.onload=m,document.getElementsByTagName("head")[0].appendChild(x)}},d=function(N){return!!N&&(t(N)==="object"||typeof N=="function")&&typeof N.then=="function"},f=function(N,m){var g=new RegExp("(\\?|#|&)"+N+"=(.*?)(#|&|$)"),v=(m||window.location.href).match(g);return decodeURIComponent(v?v[2]:"")},p=function(N,m){var g=m.parentNode;g.lastChild==m?g.appendChild(N):g.insertBefore(N,m.nextSibling)},y=function(N){console.log("requestFullScreen",document.getElementById(N));var m=N.requestFullScreen||N.webkitRequestFullScreen||N.mozRequestFullScreen||N.msRequestFullScreen;if(m)m.call(N);else if(typeof window.ActiveXObject!="undefined"){var g=new window.ActiveXObject("WScript.Shell");g!==null&&g.SendKeys("{F11}")}},w=function(N){var m=document.documentElement.clientWidth,g=document.documentElement.clientHeight,v=N,S="";S+="width:"+g+"px;",S+="height:"+m+"px;",S+="-webkit-transform: rotate(90.001deg); transform: rotate(90.001deg);",S+="-webkit-transform-origin: "+m/2+"px "+m/2+"px;",S+="transform-origin: "+m/2+"px "+m/2+"px;",S+="position: fixed;top: 0;left: 0;z-index:10",v.style.cssText=S},M=function(N){y(N);var m=new Promise(function(g,v){var S=setInterval(function(){var k=document.fullScreen||document.mozFullScreen||document.webkitIsFullScreen;if(k)return clearInterval(S),g(!0)},100),x=setTimeout(function(){var k=document.fullScreen||document.mozFullScreen||document.webkitIsFullScreen;k||v(!1),clearTimeout(x)},2e3)});return m},P=function(N,m,g){var v="";v+="width:"+m+"px;",v+="height:"+g+"px;",v+="-webkit-transform: none; transform: none;",v+="-webkit-transform-origin: 0 0;",v+="transform-origin: 0 0;",N.style.cssText=v},D=function(){document.exitFullscreen?document.exitFullscreen():document.webkitCancelFullScreen?document.webkitCancelFullScreen():document.mozCancelFullScreen&&document.mozCancelFullScreen()},B=function(N){D();var m=new Promise(function(g,v){var S=setInterval(function(){var k=document.fullScreen||document.mozFullScreen||document.webkitIsFullScreen;if(!k)return clearInterval(S),g(!0)},50),x=setTimeout(function(){var k=document.fullScreen||document.mozFullScreen||document.webkitIsFullScreen;k&&v(!1),clearTimeout(x)},2e3)});return m},V=function(N){var m=N.split("/")[3],g=N.split("/")[4].split(".")[0],v=N.split("/")[2].split("@").length===2?N.split("/")[2].split("@")[0]:"",S=N.indexOf(".hd")!==-1,x=N.split("/")[4].split(".")[N.split("/")[4].split(".").length-1].split("?")[0];return x==="rec"&&N.indexOf(".cloud.rec")!==-1&&(x="cloud.rec"),{deviceSerial:m,channelNo:g,validCode:v,hd:S,type:x}};function Y(U){if(typeof U=="string")try{var N=JSON.parse(U);return!!(t(N)==="object"&&N)}catch(m){return!1}console.log("It is not a string!")}var X=function(N,m,g,v,S,x){var k=N,m2=new XMLHttpRequest;m2.onreadystatechange=function(){if(m2.readyState==4&&m2.status==200)if(Y(m2.responseText)){var Z=JSON.parse(m2.responseText);S(Z)}else S(m2.responseText)},m2.open(m,k,!0);var t2=new FormData;for(var d2 in g)t2.append(d2,g[d2]);m2.send(t2)},P2=function(){function U(N,m){var g=this;i(this,U),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()&&g.initHLS(N,m)},function(){return!!window.Hls})}return a(U,[{key:"toString",value:function(){return"hls ".concat(this.coreX,"-").concat(this.coreY)}},{key:"initHLS",value:function(m,g){var v=document.getElementById(m),S=new window.Hls({defaultAudioCodec:"mp4a.40.2"});S.loadSource(g),S.attachMedia(v),S.on(window.Hls.Events.MANIFEST_PARSED,function(){v.play()}),S.on(window.Hls.Events.ERROR,function(x,k){if(k.fatal)switch(k.type){case window.Hls.ErrorTypes.NETWORK_ERROR:console.log("fatal network error encountered, try to recover"),S.startLoad();break;case window.Hls.ErrorTypes.MEDIA_ERROR:console.log("fatal media error encountered, try to recover"),S.recoverMediaError();break;default:S.destroy();break}}),this.hls=S,this.video=v,this.hlsUrl=g}},{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()}}]),U}(),z2=function(){function U(N,m){var g=this;i(this,U),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()&&g.initFLV(N,m)})}return a(U,[{key:"toString",value:function(){return"Flv ".concat(this.coreX,"-").concat(this.coreY)}},{key:"initFLV",value:function(m,g){var v=document.getElementById(m),S=v.getAttribute("controls");S||v.setAttribute("controls",!0);var x=window.flvjs.createPlayer({type:"flv",url:g,isLive:!0},{enableStashBuffer:!0,stashInitialSize:128,enableWorker:!0});x.attachMediaElement(v),x.load(),x.play(),this.flvUrl=g,this.flv=x,this.video=v}},{key:"play",value:function(){console.log("执行flv播放",this.video),this.video.play()}},{key:"stop",value:function(){this.video.pause(),this.flv.unload()}}]),U}(),G2=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof ys!="undefined"?ys:typeof self!="undefined"?self:{};function N2(U,N){return N={exports:{}},U(N,N.exports),N.exports}var V2=N2(function(U,N){(function(){var m,g="4.17.21",v=200,S="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",x="Expected a function",k="Invalid `variable` option passed into `_.template`",m2="__lodash_hash_undefined__",t2=500,d2="__lodash_placeholder__",Z=1,W=2,L2=4,y2=1,p2=2,g2=1,O2=2,r2=4,A=8,j=16,H=32,x2=64,R2=128,G=256,b=512,R=30,h2="...",B2=800,U2=16,g3=1,P3=2,W3=3,V3=1/0,z3=9007199254740991,o1=17976931348623157e292,T1=0/0,E2=4294967295,c3=E2-1,S3=E2>>>1,s2=[["ary",R2],["bind",g2],["bindKey",O2],["curry",A],["curryRight",j],["flip",b],["partial",H],["partialRight",x2],["rearg",G]],v3="[object Arguments]",_1="[object Array]",E1="[object AsyncFunction]",L1="[object Boolean]",M1="[object Date]",Bt="[object DOMException]",_t="[object Error]",Fe="[object Function]",tt="[object GeneratorFunction]",f0="[object Map]",Ce="[object Number]",nt="[object Null]",o0="[object Object]",S0="[object Promise]",F="[object Proxy]",q="[object RegExp]",o2="[object Set]",$2="[object String]",z="[object Symbol]",f2="[object Undefined]",v2="[object WeakMap]",I2="[object WeakSet]",l2="[object ArrayBuffer]",Q2="[object DataView]",F2="[object Float32Array]",l3="[object Float64Array]",p3="[object Int8Array]",O3="[object Int16Array]",T3="[object Int32Array]",H3="[object Uint8Array]",m0="[object Uint8ClampedArray]",Y0="[object Uint16Array]",D1="[object Uint32Array]",Te=/\b__p \+= '';/g,n0=/\b(__p \+=) '' \+/g,D0=/(__e\(.*?\)|\b__t\)) \+\n'';/g,ln=/&(?:amp|lt|gt|quot|#39);/g,Ht=/[&<>"']/g,c0=RegExp(ln.source),oe=RegExp(Ht.source),R6=/<%-([\s\S]+?)%>/g,V9=/<%([\s\S]+?)%>/g,H9=/<%=([\s\S]+?)%>/g,Y8=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,K8=/^\w*$/,ke=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,me=/[\\^$.*+?()[\]{}|]/g,Yt=RegExp(me.source),Kt=/^\s+/,kn=/\s/,I6=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,q8=/\{\n\/\* \[wrapped with (.+)\] \*/,X8=/,? & /,y5=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,K5=/[()=,{}\[\]\/\s]/,qt=/\\(\\)?/g,Z8=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,oa=/\w*$/,M4=/^[-+]0x[0-9a-f]+$/i,Jl=/^0b[01]+$/i,k4=/^\[object .+?Constructor\]$/,un=/^0o[0-7]+$/i,R4=/^(?:0|[1-9]\d*)$/,I4=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,v5=/($^)/,m6=/['\n\r\u2028\u2029\\]/g,Y9="\\ud800-\\udfff",la="\\u0300-\\u036f",J8="\\ufe20-\\ufe2f",Ql="\\u20d0-\\u20ff",Q8=la+J8+Ql,ua="\\u2700-\\u27bf",ei="a-z\\xdf-\\xf6\\xf8-\\xff",eu="\\xac\\xb1\\xd7\\xf7",tu="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",N4="\\u2000-\\u206f",nu=" \\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",L4="A-Z\\xc0-\\xd6\\xd8-\\xde",Rn="\\ufe0e\\ufe0f",F4=eu+tu+N4+nu,D4="['’]",iu="["+Y9+"]",ca="["+F4+"]",ti="["+Q8+"]",O4="\\d+",B4="["+ua+"]",G4="["+ei+"]",j4="[^"+Y9+F4+O4+ua+ei+L4+"]",z4="\\ud83c[\\udffb-\\udfff]",ni="(?:"+ti+"|"+z4+")",bt="[^"+Y9+"]",ii="(?:\\ud83c[\\udde6-\\uddff]){2}",U4="[\\ud800-\\udbff][\\udc00-\\udfff]",q5="["+L4+"]",da="\\u200d",ha="(?:"+G4+"|"+j4+")",ru="(?:"+q5+"|"+j4+")",fa="(?:"+D4+"(?:d|ll|m|re|s|t|ve))?",ma="(?:"+D4+"(?:D|LL|M|RE|S|T|VE))?",ri=ni+"?",$4="["+Rn+"]?",au="(?:"+da+"(?:"+[bt,ii,U4].join("|")+")"+$4+ri+")*",W4="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",N0="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",ga=$4+ri+au,it="(?:"+[B4,ii,U4].join("|")+")"+ga,N6="(?:"+[bt+ti+"?",ti,ii,U4,iu].join("|")+")",pa=RegExp(D4,"g"),su=RegExp(ti,"g"),V4=RegExp(z4+"(?="+z4+")|"+N6+ga,"g"),ou=RegExp([q5+"?"+G4+"+"+fa+"(?="+[ca,q5,"$"].join("|")+")",ru+"+"+ma+"(?="+[ca,q5+ha,"$"].join("|")+")",q5+"?"+ha+"+"+fa,q5+"+"+ma,N0,W4,O4,it].join("|"),"g"),ya=RegExp("["+da+Y9+Q8+Rn+"]"),lu=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,va=["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"],H4=-1,ge={};ge[F2]=ge[l3]=ge[p3]=ge[O3]=ge[T3]=ge[H3]=ge[m0]=ge[Y0]=ge[D1]=!0,ge[v3]=ge[_1]=ge[l2]=ge[L1]=ge[Q2]=ge[M1]=ge[_t]=ge[Fe]=ge[f0]=ge[Ce]=ge[o0]=ge[q]=ge[o2]=ge[$2]=ge[v2]=!1;var le={};le[v3]=le[_1]=le[l2]=le[Q2]=le[L1]=le[M1]=le[F2]=le[l3]=le[p3]=le[O3]=le[T3]=le[f0]=le[Ce]=le[o0]=le[q]=le[o2]=le[$2]=le[z]=le[H3]=le[m0]=le[Y0]=le[D1]=!0,le[_t]=le[Fe]=le[v2]=!1;var _a={À:"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"},ba={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},uu={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'"},Sa={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},wa=parseFloat,cu=parseInt,Y4=typeof G2=="object"&&G2&&G2.Object===Object&&G2,ai=typeof self=="object"&&self&&self.Object===Object&&self,rt=Y4||ai||Function("return this")(),si=N&&!N.nodeType&&N,L6=si&&!0&&U&&!U.nodeType&&U,K4=L6&&L6.exports===si,oi=K4&&Y4.process,Xt=function(){try{var n3=L6&&L6.require&&L6.require("util").types;return n3||oi&&oi.binding&&oi.binding("util")}catch(R3){}}(),q4=Xt&&Xt.isArrayBuffer,X4=Xt&&Xt.isDate,Z4=Xt&&Xt.isMap,Ca=Xt&&Xt.isRegExp,J4=Xt&&Xt.isSet,K9=Xt&&Xt.isTypedArray;function Gt(n3,R3,x3){switch(x3.length){case 0:return n3.call(R3);case 1:return n3.call(R3,x3[0]);case 2:return n3.call(R3,x3[0],x3[1]);case 3:return n3.call(R3,x3[0],x3[1],x3[2])}return n3.apply(R3,x3)}function du(n3,R3,x3,i1){for(var k1=-1,w0=n3==null?0:n3.length;++k1<w0;){var je=n3[k1];R3(i1,je,x3(je),n3)}return i1}function St(n3,R3){for(var x3=-1,i1=n3==null?0:n3.length;++x3<i1&&R3(n3[x3],x3,n3)!==!1;);return n3}function Ta(n3,R3){for(var x3=n3==null?0:n3.length;x3--&&R3(n3[x3],x3,n3)!==!1;);return n3}function Q4(n3,R3){for(var x3=-1,i1=n3==null?0:n3.length;++x3<i1;)if(!R3(n3[x3],x3,n3))return!1;return!0}function F6(n3,R3){for(var x3=-1,i1=n3==null?0:n3.length,k1=0,w0=[];++x3<i1;){var je=n3[x3];R3(je,x3,n3)&&(w0[k1++]=je)}return w0}function q9(n3,R3){var x3=n3==null?0:n3.length;return!!x3&&Ae(n3,R3,0)>-1}function e7(n3,R3,x3){for(var i1=-1,k1=n3==null?0:n3.length;++i1<k1;)if(x3(R3,n3[i1]))return!0;return!1}function ue(n3,R3){for(var x3=-1,i1=n3==null?0:n3.length,k1=Array(i1);++x3<i1;)k1[x3]=R3(n3[x3],x3,n3);return k1}function D6(n3,R3){for(var x3=-1,i1=R3.length,k1=n3.length;++x3<i1;)n3[k1+x3]=R3[x3];return n3}function li(n3,R3,x3,i1){var k1=-1,w0=n3==null?0:n3.length;for(i1&&w0&&(x3=n3[++k1]);++k1<w0;)x3=R3(x3,n3[k1],k1,n3);return x3}function hu(n3,R3,x3,i1){var k1=n3==null?0:n3.length;for(i1&&k1&&(x3=n3[--k1]);k1--;)x3=R3(x3,n3[k1],k1,n3);return x3}function t7(n3,R3){for(var x3=-1,i1=n3==null?0:n3.length;++x3<i1;)if(R3(n3[x3],x3,n3))return!0;return!1}var fu=i7("length");function mu(n3){return n3.split("")}function gu(n3){return n3.match(y5)||[]}function Aa(n3,R3,x3){var i1;return x3(n3,function(k1,w0,je){if(R3(k1,w0,je))return i1=w0,!1}),i1}function ui(n3,R3,x3,i1){for(var k1=n3.length,w0=x3+(i1?1:-1);i1?w0--:++w0<k1;)if(R3(n3[w0],w0,n3))return w0;return-1}function Ae(n3,R3,x3){return R3===R3?k2(n3,R3,x3):ui(n3,xa,x3)}function n7(n3,R3,x3,i1){for(var k1=x3-1,w0=n3.length;++k1<w0;)if(i1(n3[k1],R3))return k1;return-1}function xa(n3){return n3!==n3}function Ea(n3,R3){var x3=n3==null?0:n3.length;return x3?Q1(n3,R3)/x3:T1}function i7(n3){return function(R3){return R3==null?m:R3[n3]}}function ci(n3){return function(R3){return n3==null?m:n3[R3]}}function Pa(n3,R3,x3,i1,k1){return k1(n3,function(w0,je,K0){x3=i1?(i1=!1,w0):R3(x3,w0,je,K0)}),x3}function pu(n3,R3){var x3=n3.length;for(n3.sort(R3);x3--;)n3[x3]=n3[x3].value;return n3}function Q1(n3,R3){for(var x3,i1=-1,k1=n3.length;++i1<k1;){var w0=R3(n3[i1]);w0!==m&&(x3=x3===m?w0:x3+w0)}return x3}function k0(n3,R3){for(var x3=-1,i1=Array(n3);++x3<n3;)i1[x3]=R3(x3);return i1}function di(n3,R3){return ue(R3,function(x3){return[x3,n3[x3]]})}function Zt(n3){return n3&&n3.slice(0,a1(n3)+1).replace(Kt,"")}function Ye(n3){return function(R3){return n3(R3)}}function r7(n3,R3){return ue(R3,function(x3){return n3[x3]})}function X5(n3,R3){return n3.has(R3)}function a7(n3,R3){for(var x3=-1,i1=n3.length;++x3<i1&&Ae(R3,n3[x3],0)>-1;);return x3}function Ma(n3,R3){for(var x3=n3.length;x3--&&Ae(R3,n3[x3],0)>-1;);return x3}function ka(n3,R3){for(var x3=n3.length,i1=0;x3--;)n3[x3]===R3&&++i1;return i1}var Ra=ci(_a),yu=ci(ba);function vu(n3){return"\\"+Sa[n3]}function _u(n3,R3){return n3==null?m:n3[R3]}function Z5(n3){return ya.test(n3)}function bu(n3){return lu.test(n3)}function hi(n3){for(var R3,x3=[];!(R3=n3.next()).done;)x3.push(R3.value);return x3}function s7(n3){var R3=-1,x3=Array(n3.size);return n3.forEach(function(i1,k1){x3[++R3]=[k1,i1]}),x3}function T(n3,R3){return function(x3){return n3(R3(x3))}}function E(n3,R3){for(var x3=-1,i1=n3.length,k1=0,w0=[];++x3<i1;){var je=n3[x3];(je===R3||je===d2)&&(n3[x3]=d2,w0[k1++]=x3)}return w0}function I(n3){var R3=-1,x3=Array(n3.size);return n3.forEach(function(i1){x3[++R3]=i1}),x3}function u2(n3){var R3=-1,x3=Array(n3.size);return n3.forEach(function(i1){x3[++R3]=[i1,i1]}),x3}function k2(n3,R3,x3){for(var i1=x3-1,k1=n3.length;++i1<k1;)if(n3[i1]===R3)return i1;return-1}function X2(n3,R3,x3){for(var i1=x3+1;i1--;)if(n3[i1]===R3)return i1;return i1}function h3(n3){return Z5(n3)?d1(n3):fu(n3)}function w3(n3){return Z5(n3)?Y1(n3):mu(n3)}function a1(n3){for(var R3=n3.length;R3--&&kn.test(n3.charAt(R3)););return R3}var h1=ci(uu);function d1(n3){for(var R3=V4.lastIndex=0;V4.test(n3);)++R3;return R3}function Y1(n3){return n3.match(V4)||[]}function _0(n3){return n3.match(ou)||[]}var G1=function n3(R3){R3=R3==null?rt:g0.defaults(rt.Object(),R3,g0.pick(rt,va));var x3=R3.Array,i1=R3.Date,k1=R3.Error,w0=R3.Function,je=R3.Math,K0=R3.Object,Su=R3.RegExp,ZC=R3.String,Wn=R3.TypeError,Ia=x3.prototype,JC=w0.prototype,fi=K0.prototype,Na=R3["__core-js_shared__"],La=JC.toString,ae=fi.hasOwnProperty,QC=0,Mm=function(){var u=/[^.]+$/.exec(Na&&Na.keys&&Na.keys.IE_PROTO||"");return u?"Symbol(src)_1."+u:""}(),Fa=fi.toString,eT=La.call(K0),tT=rt._,nT=Su("^"+La.call(ae).replace(me,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Da=K4?R3.Buffer:m,J5=R3.Symbol,Oa=R3.Uint8Array,km=Da?Da.allocUnsafe:m,Ba=T(K0.getPrototypeOf,K0),Rm=K0.create,Im=fi.propertyIsEnumerable,Ga=Ia.splice,Nm=J5?J5.isConcatSpreadable:m,o7=J5?J5.iterator:m,X9=J5?J5.toStringTag:m,ja=function(){try{var u=t8(K0,"defineProperty");return u({},"",{}),u}catch(h){}}(),iT=R3.clearTimeout!==rt.clearTimeout&&R3.clearTimeout,rT=i1&&i1.now!==rt.Date.now&&i1.now,aT=R3.setTimeout!==rt.setTimeout&&R3.setTimeout,za=je.ceil,Ua=je.floor,wu=K0.getOwnPropertySymbols,sT=Da?Da.isBuffer:m,Lm=R3.isFinite,oT=Ia.join,lT=T(K0.keys,K0),ft=je.max,jt=je.min,uT=i1.now,cT=R3.parseInt,Fm=je.random,dT=Ia.reverse,Cu=t8(R3,"DataView"),l7=t8(R3,"Map"),Tu=t8(R3,"Promise"),mi=t8(R3,"Set"),u7=t8(R3,"WeakMap"),c7=t8(K0,"create"),$a=u7&&new u7,gi={},hT=n8(Cu),fT=n8(l7),mT=n8(Tu),gT=n8(mi),pT=n8(u7),Wa=J5?J5.prototype:m,d7=Wa?Wa.valueOf:m,Dm=Wa?Wa.toString:m;function _2(u){if(ze(u)&&!l0(u)&&!(u instanceof x0)){if(u instanceof Vn)return u;if(ae.call(u,"__wrapped__"))return Og(u)}return new Vn(u)}var pi=function(){function u(){}return function(h){if(!De(h))return{};if(Rm)return Rm(h);u.prototype=h;var _=new u;return u.prototype=m,_}}();function Va(){}function Vn(u,h){this.__wrapped__=u,this.__actions__=[],this.__chain__=!!h,this.__index__=0,this.__values__=m}_2.templateSettings={escape:R6,evaluate:V9,interpolate:H9,variable:"",imports:{_:_2}},_2.prototype=Va.prototype,_2.prototype.constructor=_2,Vn.prototype=pi(Va.prototype),Vn.prototype.constructor=Vn;function x0(u){this.__wrapped__=u,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=E2,this.__views__=[]}function yT(){var u=new x0(this.__wrapped__);return u.__actions__=cn(this.__actions__),u.__dir__=this.__dir__,u.__filtered__=this.__filtered__,u.__iteratees__=cn(this.__iteratees__),u.__takeCount__=this.__takeCount__,u.__views__=cn(this.__views__),u}function vT(){if(this.__filtered__){var u=new x0(this);u.__dir__=-1,u.__filtered__=!0}else u=this.clone(),u.__dir__*=-1;return u}function _T(){var u=this.__wrapped__.value(),h=this.__dir__,_=l0(u),L=h<0,J=_?u.length:0,C2=RA(0,J,this.__views__),j2=C2.start,e3=C2.end,f3=e3-j2,U3=L?e3:j2-1,$3=this.__iteratees__,X3=$3.length,p1=0,P1=jt(f3,this.__takeCount__);if(!_||!L&&J==f3&&P1==f3)return sg(u,this.__actions__);var V1=[];e:for(;f3--&&p1<P1;){U3+=h;for(var p0=-1,H1=u[U3];++p0<X3;){var C0=$3[p0],R0=C0.iteratee,Ln=C0.type,en=R0(H1);if(Ln==P3)H1=en;else if(!en){if(Ln==g3)continue e;break e}}V1[p1++]=H1}return V1}x0.prototype=pi(Va.prototype),x0.prototype.constructor=x0;function Z9(u){var h=-1,_=u==null?0:u.length;for(this.clear();++h<_;){var L=u[h];this.set(L[0],L[1])}}function bT(){this.__data__=c7?c7(null):{},this.size=0}function ST(u){var h=this.has(u)&&delete this.__data__[u];return this.size-=h?1:0,h}function wT(u){var h=this.__data__;if(c7){var _=h[u];return _===m2?m:_}return ae.call(h,u)?h[u]:m}function CT(u){var h=this.__data__;return c7?h[u]!==m:ae.call(h,u)}function TT(u,h){var _=this.__data__;return this.size+=this.has(u)?0:1,_[u]=c7&&h===m?m2:h,this}Z9.prototype.clear=bT,Z9.prototype.delete=ST,Z9.prototype.get=wT,Z9.prototype.has=CT,Z9.prototype.set=TT;function _5(u){var h=-1,_=u==null?0:u.length;for(this.clear();++h<_;){var L=u[h];this.set(L[0],L[1])}}function AT(){this.__data__=[],this.size=0}function xT(u){var h=this.__data__,_=Ha(h,u);if(_<0)return!1;var L=h.length-1;return _==L?h.pop():Ga.call(h,_,1),--this.size,!0}function ET(u){var h=this.__data__,_=Ha(h,u);return _<0?m:h[_][1]}function PT(u){return Ha(this.__data__,u)>-1}function MT(u,h){var _=this.__data__,L=Ha(_,u);return L<0?(++this.size,_.push([u,h])):_[L][1]=h,this}_5.prototype.clear=AT,_5.prototype.delete=xT,_5.prototype.get=ET,_5.prototype.has=PT,_5.prototype.set=MT;function b5(u){var h=-1,_=u==null?0:u.length;for(this.clear();++h<_;){var L=u[h];this.set(L[0],L[1])}}function kT(){this.size=0,this.__data__={hash:new Z9,map:new(l7||_5),string:new Z9}}function RT(u){var h=rs(this,u).delete(u);return this.size-=h?1:0,h}function IT(u){return rs(this,u).get(u)}function NT(u){return rs(this,u).has(u)}function LT(u,h){var _=rs(this,u),L=_.size;return _.set(u,h),this.size+=_.size==L?0:1,this}b5.prototype.clear=kT,b5.prototype.delete=RT,b5.prototype.get=IT,b5.prototype.has=NT,b5.prototype.set=LT;function J9(u){var h=-1,_=u==null?0:u.length;for(this.__data__=new b5;++h<_;)this.add(u[h])}function FT(u){return this.__data__.set(u,m2),this}function DT(u){return this.__data__.has(u)}J9.prototype.add=J9.prototype.push=FT,J9.prototype.has=DT;function g6(u){var h=this.__data__=new _5(u);this.size=h.size}function OT(){this.__data__=new _5,this.size=0}function BT(u){var h=this.__data__,_=h.delete(u);return this.size=h.size,_}function GT(u){return this.__data__.get(u)}function jT(u){return this.__data__.has(u)}function zT(u,h){var _=this.__data__;if(_ instanceof _5){var L=_.__data__;if(!l7||L.length<v-1)return L.push([u,h]),this.size=++_.size,this;_=this.__data__=new b5(L)}return _.set(u,h),this.size=_.size,this}g6.prototype.clear=OT,g6.prototype.delete=BT,g6.prototype.get=GT,g6.prototype.has=jT,g6.prototype.set=zT;function Om(u,h){var _=l0(u),L=!_&&i8(u),J=!_&&!L&&i9(u),C2=!_&&!L&&!J&&bi(u),j2=_||L||J||C2,e3=j2?k0(u.length,ZC):[],f3=e3.length;for(var U3 in u)(h||ae.call(u,U3))&&!(j2&&(U3=="length"||J&&(U3=="offset"||U3=="parent")||C2&&(U3=="buffer"||U3=="byteLength"||U3=="byteOffset")||T5(U3,f3)))&&e3.push(U3);return e3}function Bm(u){var h=u.length;return h?u[Fu(0,h-1)]:m}function UT(u,h){return as(cn(u),Q9(h,0,u.length))}function $T(u){return as(cn(u))}function Au(u,h,_){(_!==m&&!p6(u[h],_)||_===m&&!(h in u))&&S5(u,h,_)}function h7(u,h,_){var L=u[h];(!(ae.call(u,h)&&p6(L,_))||_===m&&!(h in u))&&S5(u,h,_)}function Ha(u,h){for(var _=u.length;_--;)if(p6(u[_][0],h))return _;return-1}function WT(u,h,_,L){return Q5(u,function(J,C2,j2){h(L,J,_(J),j2)}),L}function Gm(u,h){return u&&B6(h,wt(h),u)}function VT(u,h){return u&&B6(h,hn(h),u)}function S5(u,h,_){h=="__proto__"&&ja?ja(u,h,{configurable:!0,enumerable:!0,value:_,writable:!0}):u[h]=_}function xu(u,h){for(var _=-1,L=h.length,J=x3(L),C2=u==null;++_<L;)J[_]=C2?m:sc(u,h[_]);return J}function Q9(u,h,_){return u===u&&(_!==m&&(u=u<=_?u:_),h!==m&&(u=u>=h?u:h)),u}function Hn(u,h,_,L,J,C2){var j2,e3=h&Z,f3=h&W,U3=h&L2;if(_&&(j2=J?_(u,L,J,C2):_(u)),j2!==m)return j2;if(!De(u))return u;var $3=l0(u);if($3){if(j2=NA(u),!e3)return cn(u,j2)}else{var X3=zt(u),p1=X3==Fe||X3==tt;if(i9(u))return ug(u,e3);if(X3==o0||X3==v3||p1&&!J){if(j2=f3||p1?{}:Pg(u),!e3)return f3?wA(u,VT(j2,u)):SA(u,Gm(j2,u))}else{if(!le[X3])return J?u:{};j2=LA(u,X3,e3)}}C2||(C2=new g6);var P1=C2.get(u);if(P1)return P1;C2.set(u,j2),ip(u)?u.forEach(function(H1){j2.add(Hn(H1,h,_,H1,u,C2))}):tp(u)&&u.forEach(function(H1,C0){j2.set(C0,Hn(H1,h,_,C0,u,C2))});var V1=U3?f3?Hu:Vu:f3?hn:wt,p0=$3?m:V1(u);return St(p0||u,function(H1,C0){p0&&(C0=H1,H1=u[C0]),h7(j2,C0,Hn(H1,h,_,C0,u,C2))}),j2}function HT(u){var h=wt(u);return function(_){return jm(_,u,h)}}function jm(u,h,_){var L=_.length;if(u==null)return!L;for(u=K0(u);L--;){var J=_[L],C2=h[J],j2=u[J];if(j2===m&&!(J in u)||!C2(j2))return!1}return!0}function zm(u,h,_){if(typeof u!="function")throw new Wn(x);return _7(function(){u.apply(m,_)},h)}function f7(u,h,_,L){var J=-1,C2=q9,j2=!0,e3=u.length,f3=[],U3=h.length;if(!e3)return f3;_&&(h=ue(h,Ye(_))),L?(C2=e7,j2=!1):h.length>=v&&(C2=X5,j2=!1,h=new J9(h));e:for(;++J<e3;){var $3=u[J],X3=_==null?$3:_($3);if($3=L||$3!==0?$3:0,j2&&X3===X3){for(var p1=U3;p1--;)if(h[p1]===X3)continue e;f3.push($3)}else C2(h,X3,L)||f3.push($3)}return f3}var Q5=mg(O6),Um=mg(Pu,!0);function YT(u,h){var _=!0;return Q5(u,function(L,J,C2){return _=!!h(L,J,C2),_}),_}function Ya(u,h,_){for(var L=-1,J=u.length;++L<J;){var C2=u[L],j2=h(C2);if(j2!=null&&(e3===m?j2===j2&&!Nn(j2):_(j2,e3)))var e3=j2,f3=C2}return f3}function KT(u,h,_,L){var J=u.length;for(_=d0(_),_<0&&(_=-_>J?0:J+_),L=L===m||L>J?J:d0(L),L<0&&(L+=J),L=_>L?0:ap(L);_<L;)u[_++]=h;return u}function $m(u,h){var _=[];return Q5(u,function(L,J,C2){h(L,J,C2)&&_.push(L)}),_}function Et(u,h,_,L,J){var C2=-1,j2=u.length;for(_||(_=DA),J||(J=[]);++C2<j2;){var e3=u[C2];h>0&&_(e3)?h>1?Et(e3,h-1,_,L,J):D6(J,e3):L||(J[J.length]=e3)}return J}var Eu=gg(),Wm=gg(!0);function O6(u,h){return u&&Eu(u,h,wt)}function Pu(u,h){return u&&Wm(u,h,wt)}function Ka(u,h){return F6(h,function(_){return A5(u[_])})}function e8(u,h){h=t9(h,u);for(var _=0,L=h.length;u!=null&&_<L;)u=u[G6(h[_++])];return _&&_==L?u:m}function Vm(u,h,_){var L=h(u);return l0(u)?L:D6(L,_(u))}function Jt(u){return u==null?u===m?f2:nt:X9&&X9 in K0(u)?kA(u):$A(u)}function Mu(u,h){return u>h}function qT(u,h){return u!=null&&ae.call(u,h)}function XT(u,h){return u!=null&&h in K0(u)}function ZT(u,h,_){return u>=jt(h,_)&&u<ft(h,_)}function ku(u,h,_){for(var L=_?e7:q9,J=u[0].length,C2=u.length,j2=C2,e3=x3(C2),f3=1/0,U3=[];j2--;){var $3=u[j2];j2&&h&&($3=ue($3,Ye(h))),f3=jt($3.length,f3),e3[j2]=!_&&(h||J>=120&&$3.length>=120)?new J9(j2&&$3):m}$3=u[0];var X3=-1,p1=e3[0];e:for(;++X3<J&&U3.length<f3;){var P1=$3[X3],V1=h?h(P1):P1;if(P1=_||P1!==0?P1:0,!(p1?X5(p1,V1):L(U3,V1,_))){for(j2=C2;--j2;){var p0=e3[j2];if(!(p0?X5(p0,V1):L(u[j2],V1,_)))continue e}p1&&p1.push(V1),U3.push(P1)}}return U3}function JT(u,h,_,L){return O6(u,function(J,C2,j2){h(L,_(J),C2,j2)}),L}function m7(u,h,_){h=t9(h,u),u=Ig(u,h);var L=u==null?u:u[G6(Kn(h))];return L==null?m:Gt(L,u,_)}function Hm(u){return ze(u)&&Jt(u)==v3}function QT(u){return ze(u)&&Jt(u)==l2}function eA(u){return ze(u)&&Jt(u)==M1}function g7(u,h,_,L,J){return u===h?!0:u==null||h==null||!ze(u)&&!ze(h)?u!==u&&h!==h:tA(u,h,_,L,g7,J)}function tA(u,h,_,L,J,C2){var j2=l0(u),e3=l0(h),f3=j2?_1:zt(u),U3=e3?_1:zt(h);f3=f3==v3?o0:f3,U3=U3==v3?o0:U3;var $3=f3==o0,X3=U3==o0,p1=f3==U3;if(p1&&i9(u)){if(!i9(h))return!1;j2=!0,$3=!1}if(p1&&!$3)return C2||(C2=new g6),j2||bi(u)?Ag(u,h,_,L,J,C2):PA(u,h,f3,_,L,J,C2);if(!(_&y2)){var P1=$3&&ae.call(u,"__wrapped__"),V1=X3&&ae.call(h,"__wrapped__");if(P1||V1){var p0=P1?u.value():u,H1=V1?h.value():h;return C2||(C2=new g6),J(p0,H1,_,L,C2)}}return p1?(C2||(C2=new g6),MA(u,h,_,L,J,C2)):!1}function nA(u){return ze(u)&&zt(u)==f0}function Ru(u,h,_,L){var J=_.length,C2=J,j2=!L;if(u==null)return!C2;for(u=K0(u);J--;){var e3=_[J];if(j2&&e3[2]?e3[1]!==u[e3[0]]:!(e3[0]in u))return!1}for(;++J<C2;){e3=_[J];var f3=e3[0],U3=u[f3],$3=e3[1];if(j2&&e3[2]){if(U3===m&&!(f3 in u))return!1}else{var X3=new g6;if(L)var p1=L(U3,$3,f3,u,h,X3);if(!(p1===m?g7($3,U3,y2|p2,L,X3):p1))return!1}}return!0}function Ym(u){if(!De(u)||BA(u))return!1;var h=A5(u)?nT:k4;return h.test(n8(u))}function iA(u){return ze(u)&&Jt(u)==q}function rA(u){return ze(u)&&zt(u)==o2}function aA(u){return ze(u)&&ds(u.length)&&!!ge[Jt(u)]}function Km(u){return typeof u=="function"?u:u==null?fn:typeof u=="object"?l0(u)?Zm(u[0],u[1]):Xm(u):pp(u)}function Iu(u){if(!v7(u))return lT(u);var h=[];for(var _ in K0(u))ae.call(u,_)&&_!="constructor"&&h.push(_);return h}function sA(u){if(!De(u))return UA(u);var h=v7(u),_=[];for(var L in u)L=="constructor"&&(h||!ae.call(u,L))||_.push(L);return _}function Nu(u,h){return u<h}function qm(u,h){var _=-1,L=dn(u)?x3(u.length):[];return Q5(u,function(J,C2,j2){L[++_]=h(J,C2,j2)}),L}function Xm(u){var h=Ku(u);return h.length==1&&h[0][2]?kg(h[0][0],h[0][1]):function(_){return _===u||Ru(_,u,h)}}function Zm(u,h){return Xu(u)&&Mg(h)?kg(G6(u),h):function(_){var L=sc(_,u);return L===m&&L===h?oc(_,u):g7(h,L,y2|p2)}}function qa(u,h,_,L,J){u!==h&&Eu(h,function(C2,j2){if(J||(J=new g6),De(C2))oA(u,h,j2,_,qa,L,J);else{var e3=L?L(Ju(u,j2),C2,j2+"",u,h,J):m;e3===m&&(e3=C2),Au(u,j2,e3)}},hn)}function oA(u,h,_,L,J,C2,j2){var e3=Ju(u,_),f3=Ju(h,_),U3=j2.get(f3);if(U3){Au(u,_,U3);return}var $3=C2?C2(e3,f3,_+"",u,h,j2):m,X3=$3===m;if(X3){var p1=l0(f3),P1=!p1&&i9(f3),V1=!p1&&!P1&&bi(f3);$3=f3,p1||P1||V1?l0(e3)?$3=e3:Ke(e3)?$3=cn(e3):P1?(X3=!1,$3=ug(f3,!0)):V1?(X3=!1,$3=cg(f3,!0)):$3=[]:b7(f3)||i8(f3)?($3=e3,i8(e3)?$3=sp(e3):(!De(e3)||A5(e3))&&($3=Pg(f3))):X3=!1}X3&&(j2.set(f3,$3),J($3,f3,L,C2,j2),j2.delete(f3)),Au(u,_,$3)}function Jm(u,h){var _=u.length;if(_)return h+=h<0?_:0,T5(h,_)?u[h]:m}function Qm(u,h,_){h.length?h=ue(h,function(C2){return l0(C2)?function(j2){return e8(j2,C2.length===1?C2[0]:C2)}:C2}):h=[fn];var L=-1;h=ue(h,Ye($1()));var J=qm(u,function(C2,j2,e3){var f3=ue(h,function(U3){return U3(C2)});return{criteria:f3,index:++L,value:C2}});return pu(J,function(C2,j2){return bA(C2,j2,_)})}function lA(u,h){return eg(u,h,function(_,L){return oc(u,L)})}function eg(u,h,_){for(var L=-1,J=h.length,C2={};++L<J;){var j2=h[L],e3=e8(u,j2);_(e3,j2)&&p7(C2,t9(j2,u),e3)}return C2}function uA(u){return function(h){return e8(h,u)}}function Lu(u,h,_,L){var J=L?n7:Ae,C2=-1,j2=h.length,e3=u;for(u===h&&(h=cn(h)),_&&(e3=ue(u,Ye(_)));++C2<j2;)for(var f3=0,U3=h[C2],$3=_?_(U3):U3;(f3=J(e3,$3,f3,L))>-1;)e3!==u&&Ga.call(e3,f3,1),Ga.call(u,f3,1);return u}function tg(u,h){for(var _=u?h.length:0,L=_-1;_--;){var J=h[_];if(_==L||J!==C2){var C2=J;T5(J)?Ga.call(u,J,1):Bu(u,J)}}return u}function Fu(u,h){return u+Ua(Fm()*(h-u+1))}function cA(u,h,_,L){for(var J=-1,C2=ft(za((h-u)/(_||1)),0),j2=x3(C2);C2--;)j2[L?C2:++J]=u,u+=_;return j2}function Du(u,h){var _="";if(!u||h<1||h>z3)return _;do h%2&&(_+=u),h=Ua(h/2),h&&(u+=u);while(h);return _}function y0(u,h){return Qu(Rg(u,h,fn),u+"")}function dA(u){return Bm(Si(u))}function hA(u,h){var _=Si(u);return as(_,Q9(h,0,_.length))}function p7(u,h,_,L){if(!De(u))return u;h=t9(h,u);for(var J=-1,C2=h.length,j2=C2-1,e3=u;e3!=null&&++J<C2;){var f3=G6(h[J]),U3=_;if(f3==="__proto__"||f3==="constructor"||f3==="prototype")return u;if(J!=j2){var $3=e3[f3];U3=L?L($3,f3,e3):m,U3===m&&(U3=De($3)?$3:T5(h[J+1])?[]:{})}h7(e3,f3,U3),e3=e3[f3]}return u}var ng=$a?function(u,h){return $a.set(u,h),u}:fn,fA=ja?function(u,h){return ja(u,"toString",{configurable:!0,enumerable:!1,value:uc(h),writable:!0})}:fn;function mA(u){return as(Si(u))}function Yn(u,h,_){var L=-1,J=u.length;h<0&&(h=-h>J?0:J+h),_=_>J?J:_,_<0&&(_+=J),J=h>_?0:_-h>>>0,h>>>=0;for(var C2=x3(J);++L<J;)C2[L]=u[L+h];return C2}function gA(u,h){var _;return Q5(u,function(L,J,C2){return _=h(L,J,C2),!_}),!!_}function Xa(u,h,_){var L=0,J=u==null?L:u.length;if(typeof h=="number"&&h===h&&J<=S3){for(;L<J;){var C2=L+J>>>1,j2=u[C2];j2!==null&&!Nn(j2)&&(_?j2<=h:j2<h)?L=C2+1:J=C2}return J}return Ou(u,h,fn,_)}function Ou(u,h,_,L){var J=0,C2=u==null?0:u.length;if(C2===0)return 0;h=_(h);for(var j2=h!==h,e3=h===null,f3=Nn(h),U3=h===m;J<C2;){var $3=Ua((J+C2)/2),X3=_(u[$3]),p1=X3!==m,P1=X3===null,V1=X3===X3,p0=Nn(X3);if(j2)var H1=L||V1;else U3?H1=V1&&(L||p1):e3?H1=V1&&p1&&(L||!P1):f3?H1=V1&&p1&&!P1&&(L||!p0):P1||p0?H1=!1:H1=L?X3<=h:X3<h;H1?J=$3+1:C2=$3}return jt(C2,c3)}function ig(u,h){for(var _=-1,L=u.length,J=0,C2=[];++_<L;){var j2=u[_],e3=h?h(j2):j2;if(!_||!p6(e3,f3)){var f3=e3;C2[J++]=j2===0?0:j2}}return C2}function rg(u){return typeof u=="number"?u:Nn(u)?T1:+u}function In(u){if(typeof u=="string")return u;if(l0(u))return ue(u,In)+"";if(Nn(u))return Dm?Dm.call(u):"";var h=u+"";return h=="0"&&1/u==-V3?"-0":h}function e9(u,h,_){var L=-1,J=q9,C2=u.length,j2=!0,e3=[],f3=e3;if(_)j2=!1,J=e7;else if(C2>=v){var U3=h?null:xA(u);if(U3)return I(U3);j2=!1,J=X5,f3=new J9}else f3=h?[]:e3;e:for(;++L<C2;){var $3=u[L],X3=h?h($3):$3;if($3=_||$3!==0?$3:0,j2&&X3===X3){for(var p1=f3.length;p1--;)if(f3[p1]===X3)continue e;h&&f3.push(X3),e3.push($3)}else J(f3,X3,_)||(f3!==e3&&f3.push(X3),e3.push($3))}return e3}function Bu(u,h){return h=t9(h,u),u=Ig(u,h),u==null||delete u[G6(Kn(h))]}function ag(u,h,_,L){return p7(u,h,_(e8(u,h)),L)}function Za(u,h,_,L){for(var J=u.length,C2=L?J:-1;(L?C2--:++C2<J)&&h(u[C2],C2,u););return _?Yn(u,L?0:C2,L?C2+1:J):Yn(u,L?C2+1:0,L?J:C2)}function sg(u,h){var _=u;return _ instanceof x0&&(_=_.value()),li(h,function(L,J){return J.func.apply(J.thisArg,D6([L],J.args))},_)}function Gu(u,h,_){var L=u.length;if(L<2)return L?e9(u[0]):[];for(var J=-1,C2=x3(L);++J<L;)for(var j2=u[J],e3=-1;++e3<L;)e3!=J&&(C2[J]=f7(C2[J]||j2,u[e3],h,_));return e9(Et(C2,1),h,_)}function og(u,h,_){for(var L=-1,J=u.length,C2=h.length,j2={};++L<J;){var e3=L<C2?h[L]:m;_(j2,u[L],e3)}return j2}function ju(u){return Ke(u)?u:[]}function zu(u){return typeof u=="function"?u:fn}function t9(u,h){return l0(u)?u:Xu(u,h)?[u]:Dg(q0(u))}var pA=y0;function n9(u,h,_){var L=u.length;return _=_===m?L:_,!h&&_>=L?u:Yn(u,h,_)}var lg=iT||function(u){return rt.clearTimeout(u)};function ug(u,h){if(h)return u.slice();var _=u.length,L=km?km(_):new u.constructor(_);return u.copy(L),L}function Uu(u){var h=new u.constructor(u.byteLength);return new Oa(h).set(new Oa(u)),h}function yA(u,h){var _=h?Uu(u.buffer):u.buffer;return new u.constructor(_,u.byteOffset,u.byteLength)}function vA(u){var h=new u.constructor(u.source,oa.exec(u));return h.lastIndex=u.lastIndex,h}function _A(u){return d7?K0(d7.call(u)):{}}function cg(u,h){var _=h?Uu(u.buffer):u.buffer;return new u.constructor(_,u.byteOffset,u.length)}function dg(u,h){if(u!==h){var _=u!==m,L=u===null,J=u===u,C2=Nn(u),j2=h!==m,e3=h===null,f3=h===h,U3=Nn(h);if(!e3&&!U3&&!C2&&u>h||C2&&j2&&f3&&!e3&&!U3||L&&j2&&f3||!_&&f3||!J)return 1;if(!L&&!C2&&!U3&&u<h||U3&&_&&J&&!L&&!C2||e3&&_&&J||!j2&&J||!f3)return-1}return 0}function bA(u,h,_){for(var L=-1,J=u.criteria,C2=h.criteria,j2=J.length,e3=_.length;++L<j2;){var f3=dg(J[L],C2[L]);if(f3){if(L>=e3)return f3;var U3=_[L];return f3*(U3=="desc"?-1:1)}}return u.index-h.index}function hg(u,h,_,L){for(var J=-1,C2=u.length,j2=_.length,e3=-1,f3=h.length,U3=ft(C2-j2,0),$3=x3(f3+U3),X3=!L;++e3<f3;)$3[e3]=h[e3];for(;++J<j2;)(X3||J<C2)&&($3[_[J]]=u[J]);for(;U3--;)$3[e3++]=u[J++];return $3}function fg(u,h,_,L){for(var J=-1,C2=u.length,j2=-1,e3=_.length,f3=-1,U3=h.length,$3=ft(C2-e3,0),X3=x3($3+U3),p1=!L;++J<$3;)X3[J]=u[J];for(var P1=J;++f3<U3;)X3[P1+f3]=h[f3];for(;++j2<e3;)(p1||J<C2)&&(X3[P1+_[j2]]=u[J++]);return X3}function cn(u,h){var _=-1,L=u.length;for(h||(h=x3(L));++_<L;)h[_]=u[_];return h}function B6(u,h,_,L){var J=!_;_||(_={});for(var C2=-1,j2=h.length;++C2<j2;){var e3=h[C2],f3=L?L(_[e3],u[e3],e3,_,u):m;f3===m&&(f3=u[e3]),J?S5(_,e3,f3):h7(_,e3,f3)}return _}function SA(u,h){return B6(u,qu(u),h)}function wA(u,h){return B6(u,xg(u),h)}function Ja(u,h){return function(_,L){var J=l0(_)?du:WT,C2=h?h():{};return J(_,u,$1(L,2),C2)}}function yi(u){return y0(function(h,_){var L=-1,J=_.length,C2=J>1?_[J-1]:m,j2=J>2?_[2]:m;for(C2=u.length>3&&typeof C2=="function"?(J--,C2):m,j2&&Qt(_[0],_[1],j2)&&(C2=J<3?m:C2,J=1),h=K0(h);++L<J;){var e3=_[L];e3&&u(h,e3,L,C2)}return h})}function mg(u,h){return function(_,L){if(_==null)return _;if(!dn(_))return u(_,L);for(var J=_.length,C2=h?J:-1,j2=K0(_);(h?C2--:++C2<J)&&L(j2[C2],C2,j2)!==!1;);return _}}function gg(u){return function(h,_,L){for(var J=-1,C2=K0(h),j2=L(h),e3=j2.length;e3--;){var f3=j2[u?e3:++J];if(_(C2[f3],f3,C2)===!1)break}return h}}function CA(u,h,_){var L=h&g2,J=y7(u);function C2(){var j2=this&&this!==rt&&this instanceof C2?J:u;return j2.apply(L?_:this,arguments)}return C2}function pg(u){return function(h){h=q0(h);var _=Z5(h)?w3(h):m,L=_?_[0]:h.charAt(0),J=_?n9(_,1).join(""):h.slice(1);return L[u]()+J}}function vi(u){return function(h){return li(mp(fp(h).replace(pa,"")),u,"")}}function y7(u){return function(){var h=arguments;switch(h.length){case 0:return new u;case 1:return new u(h[0]);case 2:return new u(h[0],h[1]);case 3:return new u(h[0],h[1],h[2]);case 4:return new u(h[0],h[1],h[2],h[3]);case 5:return new u(h[0],h[1],h[2],h[3],h[4]);case 6:return new u(h[0],h[1],h[2],h[3],h[4],h[5]);case 7:return new u(h[0],h[1],h[2],h[3],h[4],h[5],h[6])}var _=pi(u.prototype),L=u.apply(_,h);return De(L)?L:_}}function TA(u,h,_){var L=y7(u);function J(){for(var C2=arguments.length,j2=x3(C2),e3=C2,f3=_i(J);e3--;)j2[e3]=arguments[e3];var U3=C2<3&&j2[0]!==f3&&j2[C2-1]!==f3?[]:E(j2,f3);if(C2-=U3.length,C2<_)return Sg(u,h,Qa,J.placeholder,m,j2,U3,m,m,_-C2);var $3=this&&this!==rt&&this instanceof J?L:u;return Gt($3,this,j2)}return J}function yg(u){return function(h,_,L){var J=K0(h);if(!dn(h)){var C2=$1(_,3);h=wt(h),_=function(e3){return C2(J[e3],e3,J)}}var j2=u(h,_,L);return j2>-1?J[C2?h[j2]:j2]:m}}function vg(u){return C5(function(h){var _=h.length,L=_,J=Vn.prototype.thru;for(u&&h.reverse();L--;){var C2=h[L];if(typeof C2!="function")throw new Wn(x);if(J&&!j2&&is(C2)=="wrapper")var j2=new Vn([],!0)}for(L=j2?L:_;++L<_;){C2=h[L];var e3=is(C2),f3=e3=="wrapper"?Yu(C2):m;f3&&Zu(f3[0])&&f3[1]==(R2|A|H|G)&&!f3[4].length&&f3[9]==1?j2=j2[is(f3[0])].apply(j2,f3[3]):j2=C2.length==1&&Zu(C2)?j2[e3]():j2.thru(C2)}return function(){var U3=arguments,$3=U3[0];if(j2&&U3.length==1&&l0($3))return j2.plant($3).value();for(var X3=0,p1=_?h[X3].apply(this,U3):$3;++X3<_;)p1=h[X3].call(this,p1);return p1}})}function Qa(u,h,_,L,J,C2,j2,e3,f3,U3){var $3=h&R2,X3=h&g2,p1=h&O2,P1=h&(A|j),V1=h&b,p0=p1?m:y7(u);function H1(){for(var C0=arguments.length,R0=x3(C0),Ln=C0;Ln--;)R0[Ln]=arguments[Ln];if(P1)var en=_i(H1),Fn=ka(R0,en);if(L&&(R0=hg(R0,L,J,P1)),C2&&(R0=fg(R0,C2,j2,P1)),C0-=Fn,P1&&C0<U3){var qe=E(R0,en);return Sg(u,h,Qa,H1.placeholder,_,R0,qe,e3,f3,U3-C0)}var y6=X3?_:this,E5=p1?y6[u]:u;return C0=R0.length,e3?R0=WA(R0,e3):V1&&C0>1&&R0.reverse(),$3&&f3<C0&&(R0.length=f3),this&&this!==rt&&this instanceof H1&&(E5=p0||y7(E5)),E5.apply(y6,R0)}return H1}function _g(u,h){return function(_,L){return JT(_,u,h(L),{})}}function es(u,h){return function(_,L){var J;if(_===m&&L===m)return h;if(_!==m&&(J=_),L!==m){if(J===m)return L;typeof _=="string"||typeof L=="string"?(_=In(_),L=In(L)):(_=rg(_),L=rg(L)),J=u(_,L)}return J}}function $u(u){return C5(function(h){return h=ue(h,Ye($1())),y0(function(_){var L=this;return u(h,function(J){return Gt(J,L,_)})})})}function ts(u,h){h=h===m?" ":In(h);var _=h.length;if(_<2)return _?Du(h,u):h;var L=Du(h,za(u/h3(h)));return Z5(h)?n9(w3(L),0,u).join(""):L.slice(0,u)}function AA(u,h,_,L){var J=h&g2,C2=y7(u);function j2(){for(var e3=-1,f3=arguments.length,U3=-1,$3=L.length,X3=x3($3+f3),p1=this&&this!==rt&&this instanceof j2?C2:u;++U3<$3;)X3[U3]=L[U3];for(;f3--;)X3[U3++]=arguments[++e3];return Gt(p1,J?_:this,X3)}return j2}function bg(u){return function(h,_,L){return L&&typeof L!="number"&&Qt(h,_,L)&&(_=L=m),h=x5(h),_===m?(_=h,h=0):_=x5(_),L=L===m?h<_?1:-1:x5(L),cA(h,_,L,u)}}function ns(u){return function(h,_){return typeof h=="string"&&typeof _=="string"||(h=qn(h),_=qn(_)),u(h,_)}}function Sg(u,h,_,L,J,C2,j2,e3,f3,U3){var $3=h&A,X3=$3?j2:m,p1=$3?m:j2,P1=$3?C2:m,V1=$3?m:C2;h|=$3?H:x2,h&=~($3?x2:H),h&r2||(h&=~(g2|O2));var p0=[u,h,J,P1,X3,V1,p1,e3,f3,U3],H1=_.apply(m,p0);return Zu(u)&&Ng(H1,p0),H1.placeholder=L,Lg(H1,u,h)}function Wu(u){var h=je[u];return function(_,L){if(_=qn(_),L=L==null?0:jt(d0(L),292),L&&Lm(_)){var J=(q0(_)+"e").split("e"),C2=h(J[0]+"e"+(+J[1]+L));return J=(q0(C2)+"e").split("e"),+(J[0]+"e"+(+J[1]-L))}return h(_)}}var xA=mi&&1/I(new mi([,-0]))[1]==V3?function(u){return new mi(u)}:hc;function wg(u){return function(h){var _=zt(h);return _==f0?s7(h):_==o2?u2(h):di(h,u(h))}}function w5(u,h,_,L,J,C2,j2,e3){var f3=h&O2;if(!f3&&typeof u!="function")throw new Wn(x);var U3=L?L.length:0;if(U3||(h&=~(H|x2),L=J=m),j2=j2===m?j2:ft(d0(j2),0),e3=e3===m?e3:d0(e3),U3-=J?J.length:0,h&x2){var $3=L,X3=J;L=J=m}var p1=f3?m:Yu(u),P1=[u,h,_,L,J,$3,X3,C2,j2,e3];if(p1&&zA(P1,p1),u=P1[0],h=P1[1],_=P1[2],L=P1[3],J=P1[4],e3=P1[9]=P1[9]===m?f3?0:u.length:ft(P1[9]-U3,0),!e3&&h&(A|j)&&(h&=~(A|j)),!h||h==g2)var V1=CA(u,h,_);else h==A||h==j?V1=TA(u,h,e3):(h==H||h==(g2|H))&&!J.length?V1=AA(u,h,_,L):V1=Qa.apply(m,P1);var p0=p1?ng:Ng;return Lg(p0(V1,P1),u,h)}function Cg(u,h,_,L){return u===m||p6(u,fi[_])&&!ae.call(L,_)?h:u}function Tg(u,h,_,L,J,C2){return De(u)&&De(h)&&(C2.set(h,u),qa(u,h,m,Tg,C2),C2.delete(h)),u}function EA(u){return b7(u)?m:u}function Ag(u,h,_,L,J,C2){var j2=_&y2,e3=u.length,f3=h.length;if(e3!=f3&&!(j2&&f3>e3))return!1;var U3=C2.get(u),$3=C2.get(h);if(U3&&$3)return U3==h&&$3==u;var X3=-1,p1=!0,P1=_&p2?new J9:m;for(C2.set(u,h),C2.set(h,u);++X3<e3;){var V1=u[X3],p0=h[X3];if(L)var H1=j2?L(p0,V1,X3,h,u,C2):L(V1,p0,X3,u,h,C2);if(H1!==m){if(H1)continue;p1=!1;break}if(P1){if(!t7(h,function(C0,R0){if(!X5(P1,R0)&&(V1===C0||J(V1,C0,_,L,C2)))return P1.push(R0)})){p1=!1;break}}else if(!(V1===p0||J(V1,p0,_,L,C2))){p1=!1;break}}return C2.delete(u),C2.delete(h),p1}function PA(u,h,_,L,J,C2,j2){switch(_){case Q2:if(u.byteLength!=h.byteLength||u.byteOffset!=h.byteOffset)return!1;u=u.buffer,h=h.buffer;case l2:return!(u.byteLength!=h.byteLength||!C2(new Oa(u),new Oa(h)));case L1:case M1:case Ce:return p6(+u,+h);case _t:return u.name==h.name&&u.message==h.message;case q:case $2:return u==h+"";case f0:var e3=s7;case o2:var f3=L&y2;if(e3||(e3=I),u.size!=h.size&&!f3)return!1;var U3=j2.get(u);if(U3)return U3==h;L|=p2,j2.set(u,h);var $3=Ag(e3(u),e3(h),L,J,C2,j2);return j2.delete(u),$3;case z:if(d7)return d7.call(u)==d7.call(h)}return!1}function MA(u,h,_,L,J,C2){var j2=_&y2,e3=Vu(u),f3=e3.length,U3=Vu(h),$3=U3.length;if(f3!=$3&&!j2)return!1;for(var X3=f3;X3--;){var p1=e3[X3];if(!(j2?p1 in h:ae.call(h,p1)))return!1}var P1=C2.get(u),V1=C2.get(h);if(P1&&V1)return P1==h&&V1==u;var p0=!0;C2.set(u,h),C2.set(h,u);for(var H1=j2;++X3<f3;){p1=e3[X3];var C0=u[p1],R0=h[p1];if(L)var Ln=j2?L(R0,C0,p1,h,u,C2):L(C0,R0,p1,u,h,C2);if(!(Ln===m?C0===R0||J(C0,R0,_,L,C2):Ln)){p0=!1;break}H1||(H1=p1=="constructor")}if(p0&&!H1){var en=u.constructor,Fn=h.constructor;en!=Fn&&"constructor"in u&&"constructor"in h&&!(typeof en=="function"&&en instanceof en&&typeof Fn=="function"&&Fn instanceof Fn)&&(p0=!1)}return C2.delete(u),C2.delete(h),p0}function C5(u){return Qu(Rg(u,m,jg),u+"")}function Vu(u){return Vm(u,wt,qu)}function Hu(u){return Vm(u,hn,xg)}var Yu=$a?function(u){return $a.get(u)}:hc;function is(u){for(var h=u.name+"",_=gi[h],L=ae.call(gi,h)?_.length:0;L--;){var J=_[L],C2=J.func;if(C2==null||C2==u)return J.name}return h}function _i(u){var h=ae.call(_2,"placeholder")?_2:u;return h.placeholder}function $1(){var u=_2.iteratee||cc;return u=u===cc?Km:u,arguments.length?u(arguments[0],arguments[1]):u}function rs(u,h){var _=u.__data__;return OA(h)?_[typeof h=="string"?"string":"hash"]:_.map}function Ku(u){for(var h=wt(u),_=h.length;_--;){var L=h[_],J=u[L];h[_]=[L,J,Mg(J)]}return h}function t8(u,h){var _=_u(u,h);return Ym(_)?_:m}function kA(u){var h=ae.call(u,X9),_=u[X9];try{u[X9]=m;var L=!0}catch(C2){}var J=Fa.call(u);return L&&(h?u[X9]=_:delete u[X9]),J}var qu=wu?function(u){return u==null?[]:(u=K0(u),F6(wu(u),function(h){return Im.call(u,h)}))}:fc,xg=wu?function(u){for(var h=[];u;)D6(h,qu(u)),u=Ba(u);return h}:fc,zt=Jt;(Cu&&zt(new Cu(new ArrayBuffer(1)))!=Q2||l7&&zt(new l7)!=f0||Tu&&zt(Tu.resolve())!=S0||mi&&zt(new mi)!=o2||u7&&zt(new u7)!=v2)&&(zt=function(u){var h=Jt(u),_=h==o0?u.constructor:m,L=_?n8(_):"";if(L)switch(L){case hT:return Q2;case fT:return f0;case mT:return S0;case gT:return o2;case pT:return v2}return h});function RA(u,h,_){for(var L=-1,J=_.length;++L<J;){var C2=_[L],j2=C2.size;switch(C2.type){case"drop":u+=j2;break;case"dropRight":h-=j2;break;case"take":h=jt(h,u+j2);break;case"takeRight":u=ft(u,h-j2);break}}return{start:u,end:h}}function IA(u){var h=u.match(q8);return h?h[1].split(X8):[]}function Eg(u,h,_){h=t9(h,u);for(var L=-1,J=h.length,C2=!1;++L<J;){var j2=G6(h[L]);if(!(C2=u!=null&&_(u,j2)))break;u=u[j2]}return C2||++L!=J?C2:(J=u==null?0:u.length,!!J&&ds(J)&&T5(j2,J)&&(l0(u)||i8(u)))}function NA(u){var h=u.length,_=new u.constructor(h);return h&&typeof u[0]=="string"&&ae.call(u,"index")&&(_.index=u.index,_.input=u.input),_}function Pg(u){return typeof u.constructor=="function"&&!v7(u)?pi(Ba(u)):{}}function LA(u,h,_){var L=u.constructor;switch(h){case l2:return Uu(u);case L1:case M1:return new L(+u);case Q2:return yA(u,_);case F2:case l3:case p3:case O3:case T3:case H3:case m0:case Y0:case D1:return cg(u,_);case f0:return new L;case Ce:case $2:return new L(u);case q:return vA(u);case o2:return new L;case z:return _A(u)}}function FA(u,h){var _=h.length;if(!_)return u;var L=_-1;return h[L]=(_>1?"& ":"")+h[L],h=h.join(_>2?", ":" "),u.replace(I6,`{
/* [wrapped with `+h+`] */
`)}function DA(u){return l0(u)||i8(u)||!!(Nm&&u&&u[Nm])}function T5(u,h){var _=typeof u;return h=h==null?z3:h,!!h&&(_=="number"||_!="symbol"&&R4.test(u))&&u>-1&&u%1==0&&u<h}function Qt(u,h,_){if(!De(_))return!1;var L=typeof h;return(L=="number"?dn(_)&&T5(h,_.length):L=="string"&&h in _)?p6(_[h],u):!1}function Xu(u,h){if(l0(u))return!1;var _=typeof u;return _=="number"||_=="symbol"||_=="boolean"||u==null||Nn(u)?!0:K8.test(u)||!Y8.test(u)||h!=null&&u in K0(h)}function OA(u){var h=typeof u;return h=="string"||h=="number"||h=="symbol"||h=="boolean"?u!=="__proto__":u===null}function Zu(u){var h=is(u),_=_2[h];if(typeof _!="function"||!(h in x0.prototype))return!1;if(u===_)return!0;var L=Yu(_);return!!L&&u===L[0]}function BA(u){return!!Mm&&Mm in u}var GA=Na?A5:mc;function v7(u){var h=u&&u.constructor,_=typeof h=="function"&&h.prototype||fi;return u===_}function Mg(u){return u===u&&!De(u)}function kg(u,h){return function(_){return _==null?!1:_[u]===h&&(h!==m||u in K0(_))}}function jA(u){var h=us(u,function(L){return _.size===t2&&_.clear(),L}),_=h.cache;return h}function zA(u,h){var _=u[1],L=h[1],J=_|L,C2=J<(g2|O2|R2),j2=L==R2&&_==A||L==R2&&_==G&&u[7].length<=h[8]||L==(R2|G)&&h[7].length<=h[8]&&_==A;if(!(C2||j2))return u;L&g2&&(u[2]=h[2],J|=_&g2?0:r2);var e3=h[3];if(e3){var f3=u[3];u[3]=f3?hg(f3,e3,h[4]):e3,u[4]=f3?E(u[3],d2):h[4]}return e3=h[5],e3&&(f3=u[5],u[5]=f3?fg(f3,e3,h[6]):e3,u[6]=f3?E(u[5],d2):h[6]),e3=h[7],e3&&(u[7]=e3),L&R2&&(u[8]=u[8]==null?h[8]:jt(u[8],h[8])),u[9]==null&&(u[9]=h[9]),u[0]=h[0],u[1]=J,u}function UA(u){var h=[];if(u!=null)for(var _ in K0(u))h.push(_);return h}function $A(u){return Fa.call(u)}function Rg(u,h,_){return h=ft(h===m?u.length-1:h,0),function(){for(var L=arguments,J=-1,C2=ft(L.length-h,0),j2=x3(C2);++J<C2;)j2[J]=L[h+J];J=-1;for(var e3=x3(h+1);++J<h;)e3[J]=L[J];return e3[h]=_(j2),Gt(u,this,e3)}}function Ig(u,h){return h.length<2?u:e8(u,Yn(h,0,-1))}function WA(u,h){for(var _=u.length,L=jt(h.length,_),J=cn(u);L--;){var C2=h[L];u[L]=T5(C2,_)?J[C2]:m}return u}function Ju(u,h){if(!(h==="constructor"&&typeof u[h]=="function")&&h!="__proto__")return u[h]}var Ng=Fg(ng),_7=aT||function(u,h){return rt.setTimeout(u,h)},Qu=Fg(fA);function Lg(u,h,_){var L=h+"";return Qu(u,FA(L,VA(IA(L),_)))}function Fg(u){var h=0,_=0;return function(){var L=uT(),J=U2-(L-_);if(_=L,J>0){if(++h>=B2)return arguments[0]}else h=0;return u.apply(m,arguments)}}function as(u,h){var _=-1,L=u.length,J=L-1;for(h=h===m?L:h;++_<h;){var C2=Fu(_,J),j2=u[C2];u[C2]=u[_],u[_]=j2}return u.length=h,u}var Dg=jA(function(u){var h=[];return u.charCodeAt(0)===46&&h.push(""),u.replace(ke,function(_,L,J,C2){h.push(J?C2.replace(qt,"$1"):L||_)}),h});function G6(u){if(typeof u=="string"||Nn(u))return u;var h=u+"";return h=="0"&&1/u==-V3?"-0":h}function n8(u){if(u!=null){try{return La.call(u)}catch(h){}try{return u+""}catch(h){}}return""}function VA(u,h){return St(s2,function(_){var L="_."+_[0];h&_[1]&&!q9(u,L)&&u.push(L)}),u.sort()}function Og(u){if(u instanceof x0)return u.clone();var h=new Vn(u.__wrapped__,u.__chain__);return h.__actions__=cn(u.__actions__),h.__index__=u.__index__,h.__values__=u.__values__,h}function HA(u,h,_){(_?Qt(u,h,_):h===m)?h=1:h=ft(d0(h),0);var L=u==null?0:u.length;if(!L||h<1)return[];for(var J=0,C2=0,j2=x3(za(L/h));J<L;)j2[C2++]=Yn(u,J,J+=h);return j2}function YA(u){for(var h=-1,_=u==null?0:u.length,L=0,J=[];++h<_;){var C2=u[h];C2&&(J[L++]=C2)}return J}function KA(){var u=arguments.length;if(!u)return[];for(var h=x3(u-1),_=arguments[0],L=u;L--;)h[L-1]=arguments[L];return D6(l0(_)?cn(_):[_],Et(h,1))}var qA=y0(function(u,h){return Ke(u)?f7(u,Et(h,1,Ke,!0)):[]}),XA=y0(function(u,h){var _=Kn(h);return Ke(_)&&(_=m),Ke(u)?f7(u,Et(h,1,Ke,!0),$1(_,2)):[]}),ZA=y0(function(u,h){var _=Kn(h);return Ke(_)&&(_=m),Ke(u)?f7(u,Et(h,1,Ke,!0),m,_):[]});function JA(u,h,_){var L=u==null?0:u.length;return L?(h=_||h===m?1:d0(h),Yn(u,h<0?0:h,L)):[]}function QA(u,h,_){var L=u==null?0:u.length;return L?(h=_||h===m?1:d0(h),h=L-h,Yn(u,0,h<0?0:h)):[]}function ex(u,h){return u&&u.length?Za(u,$1(h,3),!0,!0):[]}function tx(u,h){return u&&u.length?Za(u,$1(h,3),!0):[]}function nx(u,h,_,L){var J=u==null?0:u.length;return J?(_&&typeof _!="number"&&Qt(u,h,_)&&(_=0,L=J),KT(u,h,_,L)):[]}function Bg(u,h,_){var L=u==null?0:u.length;if(!L)return-1;var J=_==null?0:d0(_);return J<0&&(J=ft(L+J,0)),ui(u,$1(h,3),J)}function Gg(u,h,_){var L=u==null?0:u.length;if(!L)return-1;var J=L-1;return _!==m&&(J=d0(_),J=_<0?ft(L+J,0):jt(J,L-1)),ui(u,$1(h,3),J,!0)}function jg(u){var h=u==null?0:u.length;return h?Et(u,1):[]}function ix(u){var h=u==null?0:u.length;return h?Et(u,V3):[]}function rx(u,h){var _=u==null?0:u.length;return _?(h=h===m?1:d0(h),Et(u,h)):[]}function ax(u){for(var h=-1,_=u==null?0:u.length,L={};++h<_;){var J=u[h];L[J[0]]=J[1]}return L}function zg(u){return u&&u.length?u[0]:m}function sx(u,h,_){var L=u==null?0:u.length;if(!L)return-1;var J=_==null?0:d0(_);return J<0&&(J=ft(L+J,0)),Ae(u,h,J)}function ox(u){var h=u==null?0:u.length;return h?Yn(u,0,-1):[]}var lx=y0(function(u){var h=ue(u,ju);return h.length&&h[0]===u[0]?ku(h):[]}),ux=y0(function(u){var h=Kn(u),_=ue(u,ju);return h===Kn(_)?h=m:_.pop(),_.length&&_[0]===u[0]?ku(_,$1(h,2)):[]}),cx=y0(function(u){var h=Kn(u),_=ue(u,ju);return h=typeof h=="function"?h:m,h&&_.pop(),_.length&&_[0]===u[0]?ku(_,m,h):[]});function dx(u,h){return u==null?"":oT.call(u,h)}function Kn(u){var h=u==null?0:u.length;return h?u[h-1]:m}function hx(u,h,_){var L=u==null?0:u.length;if(!L)return-1;var J=L;return _!==m&&(J=d0(_),J=J<0?ft(L+J,0):jt(J,L-1)),h===h?X2(u,h,J):ui(u,xa,J,!0)}function fx(u,h){return u&&u.length?Jm(u,d0(h)):m}var mx=y0(Ug);function Ug(u,h){return u&&u.length&&h&&h.length?Lu(u,h):u}function gx(u,h,_){return u&&u.length&&h&&h.length?Lu(u,h,$1(_,2)):u}function px(u,h,_){return u&&u.length&&h&&h.length?Lu(u,h,m,_):u}var yx=C5(function(u,h){var _=u==null?0:u.length,L=xu(u,h);return tg(u,ue(h,function(J){return T5(J,_)?+J:J}).sort(dg)),L});function vx(u,h){var _=[];if(!(u&&u.length))return _;var L=-1,J=[],C2=u.length;for(h=$1(h,3);++L<C2;){var j2=u[L];h(j2,L,u)&&(_.push(j2),J.push(L))}return tg(u,J),_}function ec(u){return u==null?u:dT.call(u)}function _x(u,h,_){var L=u==null?0:u.length;return L?(_&&typeof _!="number"&&Qt(u,h,_)?(h=0,_=L):(h=h==null?0:d0(h),_=_===m?L:d0(_)),Yn(u,h,_)):[]}function bx(u,h){return Xa(u,h)}function Sx(u,h,_){return Ou(u,h,$1(_,2))}function wx(u,h){var _=u==null?0:u.length;if(_){var L=Xa(u,h);if(L<_&&p6(u[L],h))return L}return-1}function Cx(u,h){return Xa(u,h,!0)}function Tx(u,h,_){return Ou(u,h,$1(_,2),!0)}function Ax(u,h){var _=u==null?0:u.length;if(_){var L=Xa(u,h,!0)-1;if(p6(u[L],h))return L}return-1}function xx(u){return u&&u.length?ig(u):[]}function Ex(u,h){return u&&u.length?ig(u,$1(h,2)):[]}function Px(u){var h=u==null?0:u.length;return h?Yn(u,1,h):[]}function Mx(u,h,_){return u&&u.length?(h=_||h===m?1:d0(h),Yn(u,0,h<0?0:h)):[]}function kx(u,h,_){var L=u==null?0:u.length;return L?(h=_||h===m?1:d0(h),h=L-h,Yn(u,h<0?0:h,L)):[]}function Rx(u,h){return u&&u.length?Za(u,$1(h,3),!1,!0):[]}function Ix(u,h){return u&&u.length?Za(u,$1(h,3)):[]}var Nx=y0(function(u){return e9(Et(u,1,Ke,!0))}),Lx=y0(function(u){var h=Kn(u);return Ke(h)&&(h=m),e9(Et(u,1,Ke,!0),$1(h,2))}),Fx=y0(function(u){var h=Kn(u);return h=typeof h=="function"?h:m,e9(Et(u,1,Ke,!0),m,h)});function Dx(u){return u&&u.length?e9(u):[]}function Ox(u,h){return u&&u.length?e9(u,$1(h,2)):[]}function Bx(u,h){return h=typeof h=="function"?h:m,u&&u.length?e9(u,m,h):[]}function tc(u){if(!(u&&u.length))return[];var h=0;return u=F6(u,function(_){if(Ke(_))return h=ft(_.length,h),!0}),k0(h,function(_){return ue(u,i7(_))})}function $g(u,h){if(!(u&&u.length))return[];var _=tc(u);return h==null?_:ue(_,function(L){return Gt(h,m,L)})}var Gx=y0(function(u,h){return Ke(u)?f7(u,h):[]}),jx=y0(function(u){return Gu(F6(u,Ke))}),zx=y0(function(u){var h=Kn(u);return Ke(h)&&(h=m),Gu(F6(u,Ke),$1(h,2))}),Ux=y0(function(u){var h=Kn(u);return h=typeof h=="function"?h:m,Gu(F6(u,Ke),m,h)}),$x=y0(tc);function Wx(u,h){return og(u||[],h||[],h7)}function Vx(u,h){return og(u||[],h||[],p7)}var Hx=y0(function(u){var h=u.length,_=h>1?u[h-1]:m;return _=typeof _=="function"?(u.pop(),_):m,$g(u,_)});function Wg(u){var h=_2(u);return h.__chain__=!0,h}function Yx(u,h){return h(u),u}function ss(u,h){return h(u)}var Kx=C5(function(u){var h=u.length,_=h?u[0]:0,L=this.__wrapped__,J=function(C2){return xu(C2,u)};return h>1||this.__actions__.length||!(L instanceof x0)||!T5(_)?this.thru(J):(L=L.slice(_,+_+(h?1:0)),L.__actions__.push({func:ss,args:[J],thisArg:m}),new Vn(L,this.__chain__).thru(function(C2){return h&&!C2.length&&C2.push(m),C2}))});function qx(){return Wg(this)}function Xx(){return new Vn(this.value(),this.__chain__)}function Zx(){this.__values__===m&&(this.__values__=rp(this.value()));var u=this.__index__>=this.__values__.length,h=u?m:this.__values__[this.__index__++];return{done:u,value:h}}function Jx(){return this}function Qx(u){for(var h,_=this;_ instanceof Va;){var L=Og(_);L.__index__=0,L.__values__=m,h?J.__wrapped__=L:h=L;var J=L;_=_.__wrapped__}return J.__wrapped__=u,h}function eE(){var u=this.__wrapped__;if(u instanceof x0){var h=u;return this.__actions__.length&&(h=new x0(this)),h=h.reverse(),h.__actions__.push({func:ss,args:[ec],thisArg:m}),new Vn(h,this.__chain__)}return this.thru(ec)}function tE(){return sg(this.__wrapped__,this.__actions__)}var nE=Ja(function(u,h,_){ae.call(u,_)?++u[_]:S5(u,_,1)});function iE(u,h,_){var L=l0(u)?Q4:YT;return _&&Qt(u,h,_)&&(h=m),L(u,$1(h,3))}function rE(u,h){var _=l0(u)?F6:$m;return _(u,$1(h,3))}var aE=yg(Bg),sE=yg(Gg);function oE(u,h){return Et(os(u,h),1)}function lE(u,h){return Et(os(u,h),V3)}function uE(u,h,_){return _=_===m?1:d0(_),Et(os(u,h),_)}function Vg(u,h){var _=l0(u)?St:Q5;return _(u,$1(h,3))}function Hg(u,h){var _=l0(u)?Ta:Um;return _(u,$1(h,3))}var cE=Ja(function(u,h,_){ae.call(u,_)?u[_].push(h):S5(u,_,[h])});function dE(u,h,_,L){u=dn(u)?u:Si(u),_=_&&!L?d0(_):0;var J=u.length;return _<0&&(_=ft(J+_,0)),hs(u)?_<=J&&u.indexOf(h,_)>-1:!!J&&Ae(u,h,_)>-1}var hE=y0(function(u,h,_){var L=-1,J=typeof h=="function",C2=dn(u)?x3(u.length):[];return Q5(u,function(j2){C2[++L]=J?Gt(h,j2,_):m7(j2,h,_)}),C2}),fE=Ja(function(u,h,_){S5(u,_,h)});function os(u,h){var _=l0(u)?ue:qm;return _(u,$1(h,3))}function mE(u,h,_,L){return u==null?[]:(l0(h)||(h=h==null?[]:[h]),_=L?m:_,l0(_)||(_=_==null?[]:[_]),Qm(u,h,_))}var gE=Ja(function(u,h,_){u[_?0:1].push(h)},function(){return[[],[]]});function pE(u,h,_){var L=l0(u)?li:Pa,J=arguments.length<3;return L(u,$1(h,4),_,J,Q5)}function yE(u,h,_){var L=l0(u)?hu:Pa,J=arguments.length<3;return L(u,$1(h,4),_,J,Um)}function vE(u,h){var _=l0(u)?F6:$m;return _(u,cs($1(h,3)))}function _E(u){var h=l0(u)?Bm:dA;return h(u)}function bE(u,h,_){(_?Qt(u,h,_):h===m)?h=1:h=d0(h);var L=l0(u)?UT:hA;return L(u,h)}function SE(u){var h=l0(u)?$T:mA;return h(u)}function wE(u){if(u==null)return 0;if(dn(u))return hs(u)?h3(u):u.length;var h=zt(u);return h==f0||h==o2?u.size:Iu(u).length}function CE(u,h,_){var L=l0(u)?t7:gA;return _&&Qt(u,h,_)&&(h=m),L(u,$1(h,3))}var TE=y0(function(u,h){if(u==null)return[];var _=h.length;return _>1&&Qt(u,h[0],h[1])?h=[]:_>2&&Qt(h[0],h[1],h[2])&&(h=[h[0]]),Qm(u,Et(h,1),[])}),ls=rT||function(){return rt.Date.now()};function AE(u,h){if(typeof h!="function")throw new Wn(x);return u=d0(u),function(){if(--u<1)return h.apply(this,arguments)}}function Yg(u,h,_){return h=_?m:h,h=u&&h==null?u.length:h,w5(u,R2,m,m,m,m,h)}function Kg(u,h){var _;if(typeof h!="function")throw new Wn(x);return u=d0(u),function(){return--u>0&&(_=h.apply(this,arguments)),u<=1&&(h=m),_}}var nc=y0(function(u,h,_){var L=g2;if(_.length){var J=E(_,_i(nc));L|=H}return w5(u,L,h,_,J)}),qg=y0(function(u,h,_){var L=g2|O2;if(_.length){var J=E(_,_i(qg));L|=H}return w5(h,L,u,_,J)});function Xg(u,h,_){h=_?m:h;var L=w5(u,A,m,m,m,m,m,h);return L.placeholder=Xg.placeholder,L}function Zg(u,h,_){h=_?m:h;var L=w5(u,j,m,m,m,m,m,h);return L.placeholder=Zg.placeholder,L}function Jg(u,h,_){var L,J,C2,j2,e3,f3,U3=0,$3=!1,X3=!1,p1=!0;if(typeof u!="function")throw new Wn(x);h=qn(h)||0,De(_)&&($3=!!_.leading,X3="maxWait"in _,C2=X3?ft(qn(_.maxWait)||0,h):C2,p1="trailing"in _?!!_.trailing:p1);function P1(qe){var y6=L,E5=J;return L=J=m,U3=qe,j2=u.apply(E5,y6),j2}function V1(qe){return U3=qe,e3=_7(C0,h),$3?P1(qe):j2}function p0(qe){var y6=qe-f3,E5=qe-U3,yp=h-y6;return X3?jt(yp,C2-E5):yp}function H1(qe){var y6=qe-f3,E5=qe-U3;return f3===m||y6>=h||y6<0||X3&&E5>=C2}function C0(){var qe=ls();if(H1(qe))return R0(qe);e3=_7(C0,p0(qe))}function R0(qe){return e3=m,p1&&L?P1(qe):(L=J=m,j2)}function Ln(){e3!==m&&lg(e3),U3=0,L=f3=J=e3=m}function en(){return e3===m?j2:R0(ls())}function Fn(){var qe=ls(),y6=H1(qe);if(L=arguments,J=this,f3=qe,y6){if(e3===m)return V1(f3);if(X3)return lg(e3),e3=_7(C0,h),P1(f3)}return e3===m&&(e3=_7(C0,h)),j2}return Fn.cancel=Ln,Fn.flush=en,Fn}var xE=y0(function(u,h){return zm(u,1,h)}),EE=y0(function(u,h,_){return zm(u,qn(h)||0,_)});function PE(u){return w5(u,b)}function us(u,h){if(typeof u!="function"||h!=null&&typeof h!="function")throw new Wn(x);var _=function(){var L=arguments,J=h?h.apply(this,L):L[0],C2=_.cache;if(C2.has(J))return C2.get(J);var j2=u.apply(this,L);return _.cache=C2.set(J,j2)||C2,j2};return _.cache=new(us.Cache||b5),_}us.Cache=b5;function cs(u){if(typeof u!="function")throw new Wn(x);return function(){var h=arguments;switch(h.length){case 0:return!u.call(this);case 1:return!u.call(this,h[0]);case 2:return!u.call(this,h[0],h[1]);case 3:return!u.call(this,h[0],h[1],h[2])}return!u.apply(this,h)}}function ME(u){return Kg(2,u)}var kE=pA(function(u,h){h=h.length==1&&l0(h[0])?ue(h[0],Ye($1())):ue(Et(h,1),Ye($1()));var _=h.length;return y0(function(L){for(var J=-1,C2=jt(L.length,_);++J<C2;)L[J]=h[J].call(this,L[J]);return Gt(u,this,L)})}),ic=y0(function(u,h){var _=E(h,_i(ic));return w5(u,H,m,h,_)}),Qg=y0(function(u,h){var _=E(h,_i(Qg));return w5(u,x2,m,h,_)}),RE=C5(function(u,h){return w5(u,G,m,m,m,h)});function IE(u,h){if(typeof u!="function")throw new Wn(x);return h=h===m?h:d0(h),y0(u,h)}function NE(u,h){if(typeof u!="function")throw new Wn(x);return h=h==null?0:ft(d0(h),0),y0(function(_){var L=_[h],J=n9(_,0,h);return L&&D6(J,L),Gt(u,this,J)})}function LE(u,h,_){var L=!0,J=!0;if(typeof u!="function")throw new Wn(x);return De(_)&&(L="leading"in _?!!_.leading:L,J="trailing"in _?!!_.trailing:J),Jg(u,h,{leading:L,maxWait:h,trailing:J})}function FE(u){return Yg(u,1)}function DE(u,h){return ic(zu(h),u)}function OE(){if(!arguments.length)return[];var u=arguments[0];return l0(u)?u:[u]}function BE(u){return Hn(u,L2)}function GE(u,h){return h=typeof h=="function"?h:m,Hn(u,L2,h)}function jE(u){return Hn(u,Z|L2)}function zE(u,h){return h=typeof h=="function"?h:m,Hn(u,Z|L2,h)}function UE(u,h){return h==null||jm(u,h,wt(h))}function p6(u,h){return u===h||u!==u&&h!==h}var $E=ns(Mu),WE=ns(function(u,h){return u>=h}),i8=Hm(function(){return arguments}())?Hm:function(u){return ze(u)&&ae.call(u,"callee")&&!Im.call(u,"callee")},l0=x3.isArray,VE=q4?Ye(q4):QT;function dn(u){return u!=null&&ds(u.length)&&!A5(u)}function Ke(u){return ze(u)&&dn(u)}function HE(u){return u===!0||u===!1||ze(u)&&Jt(u)==L1}var i9=sT||mc,YE=X4?Ye(X4):eA;function KE(u){return ze(u)&&u.nodeType===1&&!b7(u)}function qE(u){if(u==null)return!0;if(dn(u)&&(l0(u)||typeof u=="string"||typeof u.splice=="function"||i9(u)||bi(u)||i8(u)))return!u.length;var h=zt(u);if(h==f0||h==o2)return!u.size;if(v7(u))return!Iu(u).length;for(var _ in u)if(ae.call(u,_))return!1;return!0}function XE(u,h){return g7(u,h)}function ZE(u,h,_){_=typeof _=="function"?_:m;var L=_?_(u,h):m;return L===m?g7(u,h,m,_):!!L}function rc(u){if(!ze(u))return!1;var h=Jt(u);return h==_t||h==Bt||typeof u.message=="string"&&typeof u.name=="string"&&!b7(u)}function JE(u){return typeof u=="number"&&Lm(u)}function A5(u){if(!De(u))return!1;var h=Jt(u);return h==Fe||h==tt||h==E1||h==F}function ep(u){return typeof u=="number"&&u==d0(u)}function ds(u){return typeof u=="number"&&u>-1&&u%1==0&&u<=z3}function De(u){var h=typeof u;return u!=null&&(h=="object"||h=="function")}function ze(u){return u!=null&&typeof u=="object"}var tp=Z4?Ye(Z4):nA;function QE(u,h){return u===h||Ru(u,h,Ku(h))}function eP(u,h,_){return _=typeof _=="function"?_:m,Ru(u,h,Ku(h),_)}function tP(u){return np(u)&&u!=+u}function nP(u){if(GA(u))throw new k1(S);return Ym(u)}function iP(u){return u===null}function rP(u){return u==null}function np(u){return typeof u=="number"||ze(u)&&Jt(u)==Ce}function b7(u){if(!ze(u)||Jt(u)!=o0)return!1;var h=Ba(u);if(h===null)return!0;var _=ae.call(h,"constructor")&&h.constructor;return typeof _=="function"&&_ instanceof _&&La.call(_)==eT}var ac=Ca?Ye(Ca):iA;function aP(u){return ep(u)&&u>=-z3&&u<=z3}var ip=J4?Ye(J4):rA;function hs(u){return typeof u=="string"||!l0(u)&&ze(u)&&Jt(u)==$2}function Nn(u){return typeof u=="symbol"||ze(u)&&Jt(u)==z}var bi=K9?Ye(K9):aA;function sP(u){return u===m}function oP(u){return ze(u)&&zt(u)==v2}function lP(u){return ze(u)&&Jt(u)==I2}var uP=ns(Nu),cP=ns(function(u,h){return u<=h});function rp(u){if(!u)return[];if(dn(u))return hs(u)?w3(u):cn(u);if(o7&&u[o7])return hi(u[o7]());var h=zt(u),_=h==f0?s7:h==o2?I:Si;return _(u)}function x5(u){if(!u)return u===0?u:0;if(u=qn(u),u===V3||u===-V3){var h=u<0?-1:1;return h*o1}return u===u?u:0}function d0(u){var h=x5(u),_=h%1;return h===h?_?h-_:h:0}function ap(u){return u?Q9(d0(u),0,E2):0}function qn(u){if(typeof u=="number")return u;if(Nn(u))return T1;if(De(u)){var h=typeof u.valueOf=="function"?u.valueOf():u;u=De(h)?h+"":h}if(typeof u!="string")return u===0?u:+u;u=Zt(u);var _=Jl.test(u);return _||un.test(u)?cu(u.slice(2),_?2:8):M4.test(u)?T1:+u}function sp(u){return B6(u,hn(u))}function dP(u){return u?Q9(d0(u),-z3,z3):u===0?u:0}function q0(u){return u==null?"":In(u)}var hP=yi(function(u,h){if(v7(h)||dn(h)){B6(h,wt(h),u);return}for(var _ in h)ae.call(h,_)&&h7(u,_,h[_])}),op=yi(function(u,h){B6(h,hn(h),u)}),fs=yi(function(u,h,_,L){B6(h,hn(h),u,L)}),fP=yi(function(u,h,_,L){B6(h,wt(h),u,L)}),mP=C5(xu);function gP(u,h){var _=pi(u);return h==null?_:Gm(_,h)}var pP=y0(function(u,h){u=K0(u);var _=-1,L=h.length,J=L>2?h[2]:m;for(J&&Qt(h[0],h[1],J)&&(L=1);++_<L;)for(var C2=h[_],j2=hn(C2),e3=-1,f3=j2.length;++e3<f3;){var U3=j2[e3],$3=u[U3];($3===m||p6($3,fi[U3])&&!ae.call(u,U3))&&(u[U3]=C2[U3])}return u}),yP=y0(function(u){return u.push(m,Tg),Gt(lp,m,u)});function vP(u,h){return Aa(u,$1(h,3),O6)}function _P(u,h){return Aa(u,$1(h,3),Pu)}function bP(u,h){return u==null?u:Eu(u,$1(h,3),hn)}function SP(u,h){return u==null?u:Wm(u,$1(h,3),hn)}function wP(u,h){return u&&O6(u,$1(h,3))}function CP(u,h){return u&&Pu(u,$1(h,3))}function TP(u){return u==null?[]:Ka(u,wt(u))}function AP(u){return u==null?[]:Ka(u,hn(u))}function sc(u,h,_){var L=u==null?m:e8(u,h);return L===m?_:L}function xP(u,h){return u!=null&&Eg(u,h,qT)}function oc(u,h){return u!=null&&Eg(u,h,XT)}var EP=_g(function(u,h,_){h!=null&&typeof h.toString!="function"&&(h=Fa.call(h)),u[h]=_},uc(fn)),PP=_g(function(u,h,_){h!=null&&typeof h.toString!="function"&&(h=Fa.call(h)),ae.call(u,h)?u[h].push(_):u[h]=[_]},$1),MP=y0(m7);function wt(u){return dn(u)?Om(u):Iu(u)}function hn(u){return dn(u)?Om(u,!0):sA(u)}function kP(u,h){var _={};return h=$1(h,3),O6(u,function(L,J,C2){S5(_,h(L,J,C2),L)}),_}function RP(u,h){var _={};return h=$1(h,3),O6(u,function(L,J,C2){S5(_,J,h(L,J,C2))}),_}var IP=yi(function(u,h,_){qa(u,h,_)}),lp=yi(function(u,h,_,L){qa(u,h,_,L)}),NP=C5(function(u,h){var _={};if(u==null)return _;var L=!1;h=ue(h,function(C2){return C2=t9(C2,u),L||(L=C2.length>1),C2}),B6(u,Hu(u),_),L&&(_=Hn(_,Z|W|L2,EA));for(var J=h.length;J--;)Bu(_,h[J]);return _});function LP(u,h){return up(u,cs($1(h)))}var FP=C5(function(u,h){return u==null?{}:lA(u,h)});function up(u,h){if(u==null)return{};var _=ue(Hu(u),function(L){return[L]});return h=$1(h),eg(u,_,function(L,J){return h(L,J[0])})}function DP(u,h,_){h=t9(h,u);var L=-1,J=h.length;for(J||(J=1,u=m);++L<J;){var C2=u==null?m:u[G6(h[L])];C2===m&&(L=J,C2=_),u=A5(C2)?C2.call(u):C2}return u}function OP(u,h,_){return u==null?u:p7(u,h,_)}function BP(u,h,_,L){return L=typeof L=="function"?L:m,u==null?u:p7(u,h,_,L)}var cp=wg(wt),dp=wg(hn);function GP(u,h,_){var L=l0(u),J=L||i9(u)||bi(u);if(h=$1(h,4),_==null){var C2=u&&u.constructor;J?_=L?new C2:[]:De(u)?_=A5(C2)?pi(Ba(u)):{}:_={}}return(J?St:O6)(u,function(j2,e3,f3){return h(_,j2,e3,f3)}),_}function jP(u,h){return u==null?!0:Bu(u,h)}function zP(u,h,_){return u==null?u:ag(u,h,zu(_))}function UP(u,h,_,L){return L=typeof L=="function"?L:m,u==null?u:ag(u,h,zu(_),L)}function Si(u){return u==null?[]:r7(u,wt(u))}function $P(u){return u==null?[]:r7(u,hn(u))}function WP(u,h,_){return _===m&&(_=h,h=m),_!==m&&(_=qn(_),_=_===_?_:0),h!==m&&(h=qn(h),h=h===h?h:0),Q9(qn(u),h,_)}function VP(u,h,_){return h=x5(h),_===m?(_=h,h=0):_=x5(_),u=qn(u),ZT(u,h,_)}function HP(u,h,_){if(_&&typeof _!="boolean"&&Qt(u,h,_)&&(h=_=m),_===m&&(typeof h=="boolean"?(_=h,h=m):typeof u=="boolean"&&(_=u,u=m)),u===m&&h===m?(u=0,h=1):(u=x5(u),h===m?(h=u,u=0):h=x5(h)),u>h){var L=u;u=h,h=L}if(_||u%1||h%1){var J=Fm();return jt(u+J*(h-u+wa("1e-"+((J+"").length-1))),h)}return Fu(u,h)}var YP=vi(function(u,h,_){return h=h.toLowerCase(),u+(_?hp(h):h)});function hp(u){return lc(q0(u).toLowerCase())}function fp(u){return u=q0(u),u&&u.replace(I4,Ra).replace(su,"")}function KP(u,h,_){u=q0(u),h=In(h);var L=u.length;_=_===m?L:Q9(d0(_),0,L);var J=_;return _-=h.length,_>=0&&u.slice(_,J)==h}function qP(u){return u=q0(u),u&&oe.test(u)?u.replace(Ht,yu):u}function XP(u){return u=q0(u),u&&Yt.test(u)?u.replace(me,"\\$&"):u}var ZP=vi(function(u,h,_){return u+(_?"-":"")+h.toLowerCase()}),JP=vi(function(u,h,_){return u+(_?" ":"")+h.toLowerCase()}),QP=pg("toLowerCase");function eM(u,h,_){u=q0(u),h=d0(h);var L=h?h3(u):0;if(!h||L>=h)return u;var J=(h-L)/2;return ts(Ua(J),_)+u+ts(za(J),_)}function tM(u,h,_){u=q0(u),h=d0(h);var L=h?h3(u):0;return h&&L<h?u+ts(h-L,_):u}function nM(u,h,_){u=q0(u),h=d0(h);var L=h?h3(u):0;return h&&L<h?ts(h-L,_)+u:u}function iM(u,h,_){return _||h==null?h=0:h&&(h=+h),cT(q0(u).replace(Kt,""),h||0)}function rM(u,h,_){return(_?Qt(u,h,_):h===m)?h=1:h=d0(h),Du(q0(u),h)}function aM(){var u=arguments,h=q0(u[0]);return u.length<3?h:h.replace(u[1],u[2])}var sM=vi(function(u,h,_){return u+(_?"_":"")+h.toLowerCase()});function oM(u,h,_){return _&&typeof _!="number"&&Qt(u,h,_)&&(h=_=m),_=_===m?E2:_>>>0,_?(u=q0(u),u&&(typeof h=="string"||h!=null&&!ac(h))&&(h=In(h),!h&&Z5(u))?n9(w3(u),0,_):u.split(h,_)):[]}var lM=vi(function(u,h,_){return u+(_?" ":"")+lc(h)});function uM(u,h,_){return u=q0(u),_=_==null?0:Q9(d0(_),0,u.length),h=In(h),u.slice(_,_+h.length)==h}function cM(u,h,_){var L=_2.templateSettings;_&&Qt(u,h,_)&&(h=m),u=q0(u),h=fs({},h,L,Cg);var J=fs({},h.imports,L.imports,Cg),C2=wt(J),j2=r7(J,C2),e3,f3,U3=0,$3=h.interpolate||v5,X3="__p += '",p1=Su((h.escape||v5).source+"|"+$3.source+"|"+($3===H9?Z8:v5).source+"|"+(h.evaluate||v5).source+"|$","g"),P1="//# sourceURL="+(ae.call(h,"sourceURL")?(h.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++H4+"]")+`
`;u.replace(p1,function(H1,C0,R0,Ln,en,Fn){return R0||(R0=Ln),X3+=u.slice(U3,Fn).replace(m6,vu),C0&&(e3=!0,X3+=`' +
__e(`+C0+`) +
'`),en&&(f3=!0,X3+=`';
`+en+`;
__p += '`),R0&&(X3+=`' +
((__t = (`+R0+`)) == null ? '' : __t) +
'`),U3=Fn+H1.length,H1}),X3+=`';
`;var V1=ae.call(h,"variable")&&h.variable;if(!V1)X3=`with (obj) {
`+X3+`
}
`;else if(K5.test(V1))throw new k1(k);X3=(f3?X3.replace(Te,""):X3).replace(n0,"$1").replace(D0,"$1;"),X3="function("+(V1||"obj")+`) {
`+(V1?"":`obj || (obj = {});
`)+"var __t, __p = ''"+(e3?", __e = _.escape":"")+(f3?`, __j = Array.prototype.join;
function print() { __p += __j.call(arguments, '') }
`:`;
`)+X3+`return __p
}`;var p0=gp(function(){return w0(C2,P1+"return "+X3).apply(m,j2)});if(p0.source=X3,rc(p0))throw p0;return p0}function dM(u){return q0(u).toLowerCase()}function hM(u){return q0(u).toUpperCase()}function fM(u,h,_){if(u=q0(u),u&&(_||h===m))return Zt(u);if(!u||!(h=In(h)))return u;var L=w3(u),J=w3(h),C2=a7(L,J),j2=Ma(L,J)+1;return n9(L,C2,j2).join("")}function mM(u,h,_){if(u=q0(u),u&&(_||h===m))return u.slice(0,a1(u)+1);if(!u||!(h=In(h)))return u;var L=w3(u),J=Ma(L,w3(h))+1;return n9(L,0,J).join("")}function gM(u,h,_){if(u=q0(u),u&&(_||h===m))return u.replace(Kt,"");if(!u||!(h=In(h)))return u;var L=w3(u),J=a7(L,w3(h));return n9(L,J).join("")}function pM(u,h){var _=R,L=h2;if(De(h)){var J="separator"in h?h.separator:J;_="length"in h?d0(h.length):_,L="omission"in h?In(h.omission):L}u=q0(u);var C2=u.length;if(Z5(u)){var j2=w3(u);C2=j2.length}if(_>=C2)return u;var e3=_-h3(L);if(e3<1)return L;var f3=j2?n9(j2,0,e3).join(""):u.slice(0,e3);if(J===m)return f3+L;if(j2&&(e3+=f3.length-e3),ac(J)){if(u.slice(e3).search(J)){var U3,$3=f3;for(J.global||(J=Su(J.source,q0(oa.exec(J))+"g")),J.lastIndex=0;U3=J.exec($3);)var X3=U3.index;f3=f3.slice(0,X3===m?e3:X3)}}else if(u.indexOf(In(J),e3)!=e3){var p1=f3.lastIndexOf(J);p1>-1&&(f3=f3.slice(0,p1))}return f3+L}function yM(u){return u=q0(u),u&&c0.test(u)?u.replace(ln,h1):u}var vM=vi(function(u,h,_){return u+(_?" ":"")+h.toUpperCase()}),lc=pg("toUpperCase");function mp(u,h,_){return u=q0(u),h=_?m:h,h===m?bu(u)?_0(u):gu(u):u.match(h)||[]}var gp=y0(function(u,h){try{return Gt(u,m,h)}catch(_){return rc(_)?_:new k1(_)}}),_M=C5(function(u,h){return St(h,function(_){_=G6(_),S5(u,_,nc(u[_],u))}),u});function bM(u){var h=u==null?0:u.length,_=$1();return u=h?ue(u,function(L){if(typeof L[1]!="function")throw new Wn(x);return[_(L[0]),L[1]]}):[],y0(function(L){for(var J=-1;++J<h;){var C2=u[J];if(Gt(C2[0],this,L))return Gt(C2[1],this,L)}})}function SM(u){return HT(Hn(u,Z))}function uc(u){return function(){return u}}function wM(u,h){return u==null||u!==u?h:u}var CM=vg(),TM=vg(!0);function fn(u){return u}function cc(u){return Km(typeof u=="function"?u:Hn(u,Z))}function AM(u){return Xm(Hn(u,Z))}function xM(u,h){return Zm(u,Hn(h,Z))}var EM=y0(function(u,h){return function(_){return m7(_,u,h)}}),PM=y0(function(u,h){return function(_){return m7(u,_,h)}});function dc(u,h,_){var L=wt(h),J=Ka(h,L);_==null&&!(De(h)&&(J.length||!L.length))&&(_=h,h=u,u=this,J=Ka(h,wt(h)));var C2=!(De(_)&&"chain"in _)||!!_.chain,j2=A5(u);return St(J,function(e3){var f3=h[e3];u[e3]=f3,j2&&(u.prototype[e3]=function(){var U3=this.__chain__;if(C2||U3){var $3=u(this.__wrapped__),X3=$3.__actions__=cn(this.__actions__);return X3.push({func:f3,args:arguments,thisArg:u}),$3.__chain__=U3,$3}return f3.apply(u,D6([this.value()],arguments))})}),u}function MM(){return rt._===this&&(rt._=tT),this}function hc(){}function kM(u){return u=d0(u),y0(function(h){return Jm(h,u)})}var RM=$u(ue),IM=$u(Q4),NM=$u(t7);function pp(u){return Xu(u)?i7(G6(u)):uA(u)}function LM(u){return function(h){return u==null?m:e8(u,h)}}var FM=bg(),DM=bg(!0);function fc(){return[]}function mc(){return!1}function OM(){return{}}function BM(){return""}function GM(){return!0}function jM(u,h){if(u=d0(u),u<1||u>z3)return[];var _=E2,L=jt(u,E2);h=$1(h),u-=E2;for(var J=k0(L,h);++_<u;)h(_);return J}function zM(u){return l0(u)?ue(u,G6):Nn(u)?[u]:cn(Dg(q0(u)))}function UM(u){var h=++QC;return q0(u)+h}var $M=es(function(u,h){return u+h},0),WM=Wu("ceil"),VM=es(function(u,h){return u/h},1),HM=Wu("floor");function YM(u){return u&&u.length?Ya(u,fn,Mu):m}function KM(u,h){return u&&u.length?Ya(u,$1(h,2),Mu):m}function qM(u){return Ea(u,fn)}function XM(u,h){return Ea(u,$1(h,2))}function ZM(u){return u&&u.length?Ya(u,fn,Nu):m}function JM(u,h){return u&&u.length?Ya(u,$1(h,2),Nu):m}var QM=es(function(u,h){return u*h},1),ek=Wu("round"),tk=es(function(u,h){return u-h},0);function nk(u){return u&&u.length?Q1(u,fn):0}function ik(u,h){return u&&u.length?Q1(u,$1(h,2)):0}return _2.after=AE,_2.ary=Yg,_2.assign=hP,_2.assignIn=op,_2.assignInWith=fs,_2.assignWith=fP,_2.at=mP,_2.before=Kg,_2.bind=nc,_2.bindAll=_M,_2.bindKey=qg,_2.castArray=OE,_2.chain=Wg,_2.chunk=HA,_2.compact=YA,_2.concat=KA,_2.cond=bM,_2.conforms=SM,_2.constant=uc,_2.countBy=nE,_2.create=gP,_2.curry=Xg,_2.curryRight=Zg,_2.debounce=Jg,_2.defaults=pP,_2.defaultsDeep=yP,_2.defer=xE,_2.delay=EE,_2.difference=qA,_2.differenceBy=XA,_2.differenceWith=ZA,_2.drop=JA,_2.dropRight=QA,_2.dropRightWhile=ex,_2.dropWhile=tx,_2.fill=nx,_2.filter=rE,_2.flatMap=oE,_2.flatMapDeep=lE,_2.flatMapDepth=uE,_2.flatten=jg,_2.flattenDeep=ix,_2.flattenDepth=rx,_2.flip=PE,_2.flow=CM,_2.flowRight=TM,_2.fromPairs=ax,_2.functions=TP,_2.functionsIn=AP,_2.groupBy=cE,_2.initial=ox,_2.intersection=lx,_2.intersectionBy=ux,_2.intersectionWith=cx,_2.invert=EP,_2.invertBy=PP,_2.invokeMap=hE,_2.iteratee=cc,_2.keyBy=fE,_2.keys=wt,_2.keysIn=hn,_2.map=os,_2.mapKeys=kP,_2.mapValues=RP,_2.matches=AM,_2.matchesProperty=xM,_2.memoize=us,_2.merge=IP,_2.mergeWith=lp,_2.method=EM,_2.methodOf=PM,_2.mixin=dc,_2.negate=cs,_2.nthArg=kM,_2.omit=NP,_2.omitBy=LP,_2.once=ME,_2.orderBy=mE,_2.over=RM,_2.overArgs=kE,_2.overEvery=IM,_2.overSome=NM,_2.partial=ic,_2.partialRight=Qg,_2.partition=gE,_2.pick=FP,_2.pickBy=up,_2.property=pp,_2.propertyOf=LM,_2.pull=mx,_2.pullAll=Ug,_2.pullAllBy=gx,_2.pullAllWith=px,_2.pullAt=yx,_2.range=FM,_2.rangeRight=DM,_2.rearg=RE,_2.reject=vE,_2.remove=vx,_2.rest=IE,_2.reverse=ec,_2.sampleSize=bE,_2.set=OP,_2.setWith=BP,_2.shuffle=SE,_2.slice=_x,_2.sortBy=TE,_2.sortedUniq=xx,_2.sortedUniqBy=Ex,_2.split=oM,_2.spread=NE,_2.tail=Px,_2.take=Mx,_2.takeRight=kx,_2.takeRightWhile=Rx,_2.takeWhile=Ix,_2.tap=Yx,_2.throttle=LE,_2.thru=ss,_2.toArray=rp,_2.toPairs=cp,_2.toPairsIn=dp,_2.toPath=zM,_2.toPlainObject=sp,_2.transform=GP,_2.unary=FE,_2.union=Nx,_2.unionBy=Lx,_2.unionWith=Fx,_2.uniq=Dx,_2.uniqBy=Ox,_2.uniqWith=Bx,_2.unset=jP,_2.unzip=tc,_2.unzipWith=$g,_2.update=zP,_2.updateWith=UP,_2.values=Si,_2.valuesIn=$P,_2.without=Gx,_2.words=mp,_2.wrap=DE,_2.xor=jx,_2.xorBy=zx,_2.xorWith=Ux,_2.zip=$x,_2.zipObject=Wx,_2.zipObjectDeep=Vx,_2.zipWith=Hx,_2.entries=cp,_2.entriesIn=dp,_2.extend=op,_2.extendWith=fs,dc(_2,_2),_2.add=$M,_2.attempt=gp,_2.camelCase=YP,_2.capitalize=hp,_2.ceil=WM,_2.clamp=WP,_2.clone=BE,_2.cloneDeep=jE,_2.cloneDeepWith=zE,_2.cloneWith=GE,_2.conformsTo=UE,_2.deburr=fp,_2.defaultTo=wM,_2.divide=VM,_2.endsWith=KP,_2.eq=p6,_2.escape=qP,_2.escapeRegExp=XP,_2.every=iE,_2.find=aE,_2.findIndex=Bg,_2.findKey=vP,_2.findLast=sE,_2.findLastIndex=Gg,_2.findLastKey=_P,_2.floor=HM,_2.forEach=Vg,_2.forEachRight=Hg,_2.forIn=bP,_2.forInRight=SP,_2.forOwn=wP,_2.forOwnRight=CP,_2.get=sc,_2.gt=$E,_2.gte=WE,_2.has=xP,_2.hasIn=oc,_2.head=zg,_2.identity=fn,_2.includes=dE,_2.indexOf=sx,_2.inRange=VP,_2.invoke=MP,_2.isArguments=i8,_2.isArray=l0,_2.isArrayBuffer=VE,_2.isArrayLike=dn,_2.isArrayLikeObject=Ke,_2.isBoolean=HE,_2.isBuffer=i9,_2.isDate=YE,_2.isElement=KE,_2.isEmpty=qE,_2.isEqual=XE,_2.isEqualWith=ZE,_2.isError=rc,_2.isFinite=JE,_2.isFunction=A5,_2.isInteger=ep,_2.isLength=ds,_2.isMap=tp,_2.isMatch=QE,_2.isMatchWith=eP,_2.isNaN=tP,_2.isNative=nP,_2.isNil=rP,_2.isNull=iP,_2.isNumber=np,_2.isObject=De,_2.isObjectLike=ze,_2.isPlainObject=b7,_2.isRegExp=ac,_2.isSafeInteger=aP,_2.isSet=ip,_2.isString=hs,_2.isSymbol=Nn,_2.isTypedArray=bi,_2.isUndefined=sP,_2.isWeakMap=oP,_2.isWeakSet=lP,_2.join=dx,_2.kebabCase=ZP,_2.last=Kn,_2.lastIndexOf=hx,_2.lowerCase=JP,_2.lowerFirst=QP,_2.lt=uP,_2.lte=cP,_2.max=YM,_2.maxBy=KM,_2.mean=qM,_2.meanBy=XM,_2.min=ZM,_2.minBy=JM,_2.stubArray=fc,_2.stubFalse=mc,_2.stubObject=OM,_2.stubString=BM,_2.stubTrue=GM,_2.multiply=QM,_2.nth=fx,_2.noConflict=MM,_2.noop=hc,_2.now=ls,_2.pad=eM,_2.padEnd=tM,_2.padStart=nM,_2.parseInt=iM,_2.random=HP,_2.reduce=pE,_2.reduceRight=yE,_2.repeat=rM,_2.replace=aM,_2.result=DP,_2.round=ek,_2.runInContext=n3,_2.sample=_E,_2.size=wE,_2.snakeCase=sM,_2.some=CE,_2.sortedIndex=bx,_2.sortedIndexBy=Sx,_2.sortedIndexOf=wx,_2.sortedLastIndex=Cx,_2.sortedLastIndexBy=Tx,_2.sortedLastIndexOf=Ax,_2.startCase=lM,_2.startsWith=uM,_2.subtract=tk,_2.sum=nk,_2.sumBy=ik,_2.template=cM,_2.times=jM,_2.toFinite=x5,_2.toInteger=d0,_2.toLength=ap,_2.toLower=dM,_2.toNumber=qn,_2.toSafeInteger=dP,_2.toString=q0,_2.toUpper=hM,_2.trim=fM,_2.trimEnd=mM,_2.trimStart=gM,_2.truncate=pM,_2.unescape=yM,_2.uniqueId=UM,_2.upperCase=vM,_2.upperFirst=lc,_2.each=Vg,_2.eachRight=Hg,_2.first=zg,dc(_2,function(){var u={};return O6(_2,function(h,_){ae.call(_2.prototype,_)||(u[_]=h)}),u}(),{chain:!1}),_2.VERSION=g,St(["bind","bindKey","curry","curryRight","partial","partialRight"],function(u){_2[u].placeholder=_2}),St(["drop","take"],function(u,h){x0.prototype[u]=function(_){_=_===m?1:ft(d0(_),0);var L=this.__filtered__&&!h?new x0(this):this.clone();return L.__filtered__?L.__takeCount__=jt(_,L.__takeCount__):L.__views__.push({size:jt(_,E2),type:u+(L.__dir__<0?"Right":"")}),L},x0.prototype[u+"Right"]=function(_){return this.reverse()[u](_).reverse()}}),St(["filter","map","takeWhile"],function(u,h){var _=h+1,L=_==g3||_==W3;x0.prototype[u]=function(J){var C2=this.clone();return C2.__iteratees__.push({iteratee:$1(J,3),type:_}),C2.__filtered__=C2.__filtered__||L,C2}}),St(["head","last"],function(u,h){var _="take"+(h?"Right":"");x0.prototype[u]=function(){return this[_](1).value()[0]}}),St(["initial","tail"],function(u,h){var _="drop"+(h?"":"Right");x0.prototype[u]=function(){return this.__filtered__?new x0(this):this[_](1)}}),x0.prototype.compact=function(){return this.filter(fn)},x0.prototype.find=function(u){return this.filter(u).head()},x0.prototype.findLast=function(u){return this.reverse().find(u)},x0.prototype.invokeMap=y0(function(u,h){return typeof u=="function"?new x0(this):this.map(function(_){return m7(_,u,h)})}),x0.prototype.reject=function(u){return this.filter(cs($1(u)))},x0.prototype.slice=function(u,h){u=d0(u);var _=this;return _.__filtered__&&(u>0||h<0)?new x0(_):(u<0?_=_.takeRight(-u):u&&(_=_.drop(u)),h!==m&&(h=d0(h),_=h<0?_.dropRight(-h):_.take(h-u)),_)},x0.prototype.takeRightWhile=function(u){return this.reverse().takeWhile(u).reverse()},x0.prototype.toArray=function(){return this.take(E2)},O6(x0.prototype,function(u,h){var _=/^(?:filter|find|map|reject)|While$/.test(h),L=/^(?:head|last)$/.test(h),J=_2[L?"take"+(h=="last"?"Right":""):h],C2=L||/^find/.test(h);J&&(_2.prototype[h]=function(){var j2=this.__wrapped__,e3=L?[1]:arguments,f3=j2 instanceof x0,U3=e3[0],$3=f3||l0(j2),X3=function(C0){var R0=J.apply(_2,D6([C0],e3));return L&&p1?R0[0]:R0};$3&&_&&typeof U3=="function"&&U3.length!=1&&(f3=$3=!1);var p1=this.__chain__,P1=!!this.__actions__.length,V1=C2&&!p1,p0=f3&&!P1;if(!C2&&$3){j2=p0?j2:new x0(this);var H1=u.apply(j2,e3);return H1.__actions__.push({func:ss,args:[X3],thisArg:m}),new Vn(H1,p1)}return V1&&p0?u.apply(this,e3):(H1=this.thru(X3),V1?L?H1.value()[0]:H1.value():H1)})}),St(["pop","push","shift","sort","splice","unshift"],function(u){var h=Ia[u],_=/^(?:push|sort|unshift)$/.test(u)?"tap":"thru",L=/^(?:pop|shift)$/.test(u);_2.prototype[u]=function(){var J=arguments;if(L&&!this.__chain__){var C2=this.value();return h.apply(l0(C2)?C2:[],J)}return this[_](function(j2){return h.apply(l0(j2)?j2:[],J)})}}),O6(x0.prototype,function(u,h){var _=_2[h];if(_){var L=_.name+"";ae.call(gi,L)||(gi[L]=[]),gi[L].push({name:h,func:_})}}),gi[Qa(m,O2).name]=[{name:"wrapper",func:m}],x0.prototype.clone=yT,x0.prototype.reverse=vT,x0.prototype.value=_T,_2.prototype.at=Kx,_2.prototype.chain=qx,_2.prototype.commit=Xx,_2.prototype.next=Zx,_2.prototype.plant=Qx,_2.prototype.reverse=eE,_2.prototype.toJSON=_2.prototype.valueOf=_2.prototype.value=tE,_2.prototype.first=_2.prototype.head,o7&&(_2.prototype[o7]=Jx),_2},g0=G1();L6?((L6.exports=g0)._=g0,si._=g0):rt._=g0}).call(G2)});function Y2(U,N){var m=N.parentNode;m.lastChild==N?m.appendChild(U):m.insertBefore(U,N.nextSibling)}var o3=function(){function U(N,m){i(this,U),this.id=m,this.jSPlugin=N,this.state={play:!1,loading:!1,text:""},this.loadingSetText=this.loadingSetText}return a(U,[{key:"toString",value:function(){return"".concat(this.coreX,"-").concat(this.coreY)}},{key:"setPlayStatus",value:function(m){this.state=Object.assign(this.state,m)}},{key:"loadingStart",value:function(m){var g=document.createElement("style");document.getElementsByTagName("head")[0].appendChild(g),g.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 v=m,S=document.getElementById(v),x=S.offsetWidth,k=S.offsetHeight,m2=0,t2=S.offsetLeft;document.getElementById("".concat(m,"-loading-id-0"))&&document.getElementById("".concat(m,"-loading-id-0")).parentNode.removeChild(document.getElementById("".concat(m,"-loading-id-0")));var d2=document.createElement("div");d2.setAttribute("id","".concat(m,"-loading-id-0"));var y2="position:absolute;outline:none;pointer-events:none;";console.log("this.jSPlugin",this.jSPlugin),y2+="width: 100%;background-size: cover; background-repeat:no-repeat;",y2+="height: 100%;",y2+="top:"+m2+";",y2+="left:"+t2+"px;",d2.setAttribute("style",y2),d2.style.height=k,d2.setAttribute("class","loading-container"),Y2(d2,S);var Z=1,W=document.createElement("div"),L2=document.createElement("div");W.setAttribute("class","loading-item"),W.setAttribute("id","".concat(m,"-loading-item-0"));var y2="display:inline-flex;pointer-events:none;flex-direction:column;justify-content:center;align-items: center;width:100%;height:"+k+"px;outline:none;vertical-align: top;position:absolute;";y2+="left:"+p2(k,x,Z,0).left+"px;",y2+="top:"+p2(k,x,Z,0).top+"px;",W.setAttribute("style",y2);function p2(r2,A,j,H){var x2=parseInt(H/j,10)*(r2/j),R2=H%j*(A/j);return{top:x2,left:R2}}var g2=document.createElement("div");L2.innerHTML="",L2.style.color="#fff",g2.setAttribute("class","loading"),g2.setAttribute("id","loading-icon");var O2='<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>';g2.innerHTML=O2,W.appendChild(g2),W.appendChild(L2),d2.appendChild(W)}},{key:"loadingStop",value:function(m){var g=document.getElementById("".concat(m,"-loading-item-0"));g&&g.removeChild(document.getElementById("loading-icon"))}},{key:"loadingSetText",value:function(m){var g=this;if(this.loadingClearText(),document.getElementById("".concat(this.id,"-loading-item-0"))){var v=document.getElementById("".concat(this.id,"-loading-item-0")).childNodes[1];if(!v){var S=document.getElementById("".concat(this.id,"-loading-item-0"));S.style.height="100%",v=document.createElement("div"),v.innerHTML=m.text,S.appendChild(v)}v.innerHTML=m.text,v.style.fontSize="14px",v.style.color=m.color||"#FFFFFF",this.state.text=m.text,m.delayClear&&setTimeout(function(){g.loadingClearText()},parseInt(m.delayClear))}}},{key:"loadingClearText",value:function(){if(document.getElementById("".concat(this.id,"-loading-item-0"))){var m=document.getElementById("".concat(this.id,"-loading-item-0")).childNodes;m.length>1?m[1].parentNode.removeChild(m[1]):m[0]&&m[0].parentNode.removeChild(m[0])}}},{key:"loadingClear",value:function(){if(document.getElementById("".concat(this.id,"-loading-item-0"))){for(var m=document.getElementById("".concat(this.id,"-loading-item-0")).childNodes,g=m.length-1;g>=0;g--)m[g].parentNode.removeChild(m[g]);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 m=document.getElementById("".concat(this.id,"-loading-item-0"));if(m){m.parentNode.removeChild(m);var g=document.getElementById("".concat(this.id,"-loading-id-0"));g&&g.children.length===0&&g.parentNode.removeChild(g)}document.getElementById("".concat(this.id,"-loading-item-0")).style.background="none"}}]),U}(),r3=function(){function U(N,m){i(this,U),this.id=m,this.jSPlugin=N,this.timer=null,this.state={play:!1,loading:!1}}return a(U,[{key:"default",value:function(m){var g=this,v="msgId";document.getElementById("".concat(this.id,"-").concat(v))&&document.getElementById("".concat(this.id,"-wrap")).removeChild(document.getElementById("".concat(this.id,"-").concat(v)));var S=document.createElement("div");S.id="".concat(this.id,"-").concat(v),S.style="position: absolute;top: 50%;left:calc(50% - ".concat(m.length*14/2,"px);padding: 4px 16px;background: #00000080;color: #FFFFFF;font-size: 14px"),S.innerHTML=m,document.getElementById("".concat(this.id,"-wrap")).appendChild(S),this.timer&&clearTimeout(this.timer),this.timer=setTimeout(function(){document.getElementById("".concat(g.id,"-wrap")).removeChild(document.getElementById("".concat(g.id,"-").concat(v)))},2e3)}}]),U}(),y3=[{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}],K2="200",C3="操作成功!",m3={data:y3,code:K2,msg:C3},M3=function(){function U(N,m){i(this,U),this.coreX=N,this.coreY=m,console.log("ErrorCode",m3)}return a(U,[{key:"toString",value:function(){return"".concat(this.coreX,"-").concat(this.coreY)}},{key:"matchErrorInfo",value:function(m){return m3.data.find(function(g){return g.detailCode.substr(-4)==m})}}]),U}(),N3={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"}]},q2={color:"blue",backgroundColor:"blue",activeColor:"blue",btnList:[{btnKey:"ade5d065a113432e8091a1c5bc819c57-934f270c08b14e928bf0c2ae8e1a937d-footer-0",iconId:"play",part:"left",defaultActive:0,isrender:0,themeId:"934f270c08b14e928bf0c2ae8e1a937d"}]},u3={header:N3,footer:q2},_3=function U(N){this.jsPlugin=N;var m={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},g=this;Object.keys(m).forEach(function(v){g[v]=m[v]}),this.options={width:this.canvasWidth,height:48,time:new Date().getTime(),timeSection:[],timeWidth:0},U.prototype.subTime=function(v){return v<10?"0"+v:v},U.prototype.tranTime=function(v){var S=v;if(v){var x=new Date(v);S=x.getFullYear()+"/"+(x.getMonth()+1)+"/"+x.getDate()+" "+this.subTime(x.getHours())+":"+this.subTime(x.getMinutes())+":"+this.subTime(x.getSeconds())}return S},U.prototype.init=function(v){v.width&&document.getElementById(v.id).setAttribute("width",parseInt(v.width,10)+"px");var S=this,x=this.options;S.randomNum=(Math.random()+"").split(".").join(""),S.timeWidthTblIndex=x.timeWidth;var k=document.querySelector("#".concat(this.jsPlugin.id,"-canvas"));S.drawPen=k.getContext("2d"),S.nowTime=x.time||Date.now(),S.timeSection=x.timeSection||[],S.canvasWidth=k.offsetWidth,S.canvasHeight=k.offsetHeight,S.updata(),document.getElementById("".concat(this.jsPlugin.id,"-canvas")).addEventListener("mousemove",function(m2){S.options.readOnly||S.mousemove(m2)}),document.getElementById("".concat(this.jsPlugin.id,"-canvas")).addEventListener("mouseover",function(m2){S.options.readOnly||S.mouseover(m2)}),document.getElementById("".concat(this.jsPlugin.id,"-canvas")).addEventListener("mouseleave",function(m2){S.options.readOnly||S.mouseleave(m2)}),document.getElementById("".concat(this.jsPlugin.id,"-canvas")).addEventListener("mousedown",function(m2){S.options.readOnly||S.mousedown(m2)}),document.getElementById("".concat(this.jsPlugin.id,"-canvas")).addEventListener("mouseup",function(m2){if(!S.options.readOnly){var t2=v.onChange;S.mouseUpFn(m2,t2)}})},U.prototype.setWidth=function(v){var S=this,x=this;v.width&&(document.getElementById(this.jsPlugin.id).style.width=v.width,document.getElementById("".concat(this.jsPlugin.id,"-canvas")).style.width=v.width,document.getElementById("".concat(this.jsPlugin.id,"-canvas-container")).style.width=v.width,x.canvasWidth=v.width,setTimeout(function(){S.updata({time:new Date})},500))},U.prototype.mousemove=function(v){if(this.isMouseDown&&this.isOver){var S=this.mousePosition-v.pageX;if(S===0)return;var x=0;switch(this.timeWidth){case 60:x=1/10;break;case 1800:x=1/20*60;break;case 3600:x=1/20*60;break;case 86400:x=1/30*60*60;break}var k=new Date(this.oldTime).getTime()+S*x*1e3;this.updata({time:k}),this.moved=!0}else{var m2=parseInt(document.getElementById("".concat(this.jsPlugin.id,"-canvas-container")).offsetLeft,10);this.mousePosition=v.pageX-m2,this.updata()}},U.prototype.mousedown=function(v){this.isMouseDown=!0,this.mousePosition=v.pageX,this.oldTime=this.nowTime},U.prototype.mouseover=function(v){this.isOver=!0},U.prototype.mouseleave=function(v){this.isOver=!1,this.isMouseDown=!1,this.updata()},U.prototype.changeSize=function(v){console.log("changeSize",v),this.options.timeWidth=v,this.updata({timeWidth:v})},U.prototype.mouseUpFn=function(v,S){if(this.isMouseDown&&(this.isMouseDown=!1,this.moved)){this.moved=!1;var x=this.subTime(new Date(this.nowTime).getHours())+":"+this.subTime(new Date(this.nowTime).getMinutes())+":"+this.subTime(new Date(this.nowTime).getSeconds()),k=new Date(this.oldTime).getFullYear()+"/"+(new Date(this.oldTime).getMonth()+1)+"/"+new Date(this.oldTime).getDate();this.nowTime=new Date("".concat(k," ").concat(x)),this.updata({time:this.nowTime}),this.oldTime=this.nowTime,console.log("nowTime",new Date(this.nowTime),"".concat(k," ").concat(x)),S(this.nowTime)}},U.prototype.readOnly=function(v){console.log("更改为只读"),this.options.readOnly=!0,document.getElementById("".concat(this.jsPlugin.id,"-canvas")).style.cursor="not-allowed"},U.prototype.unReadOnly=function(v){console.log("更改为只读"),this.options.readOnly=!1,document.getElementById("".concat(this.jsPlugin.id,"-canvas")).style.cursor="pointer"},U.prototype.run=function(v){this.isMouseDown||this.updata(v)},U.prototype.getTime=function(v){console.log("this",this),console.log("当前时间",new Date(this.nowTime))},U.prototype.updata=function(v){var S=this;v=v||{},S.nowTime=v.time||S.nowTime,S.timeSection=v.timeSection||S.timeSection,S.timeWidthTblIndex=v.timeWidth||S.timeWidthTblIndex,S.timeWidth=S.timeWidthTbls[v.timeWidth||S.timeWidthTblIndex],S.timeUnit=S.timeUnits[v.timeWidth||S.timeWidthTblIndex],v.timeWidth===0&&(S.timeWidthTblIndex=0,S.timeWidth=S.timeWidthTbls[0],S.timeUnit=S.timeUnits[0]),S.drawPen.fillStyle="#000000",S.drawPen.fillRect(0,0,S.canvasWidth,S.canvasHeight),S.drawScale(),S.drawRecord(),S.drawOtherMsg(),document.getElementById("".concat(this.jsPlugin.id,"-canvas-container")).style.width=S.options.width+"px",document.getElementById("".concat(this.jsPlugin.id,"-canvas")).style.width=S.options.width+"px",document.getElementById("".concat(this.jsPlugin.id,"-canvas-container")).style.height=S.options.height+"px",document.getElementById("".concat(this.jsPlugin.id,"-canvas")).style.height=S.options.height+"px"},U.prototype.drawSolidLine=function(v,S,x,k,m2,t2){this.drawPen.save(),this.drawPen.strokeStyle=t2,this.drawPen.lineWidth=m2,this.drawPen.beginPath(),this.drawPen.moveTo(v,S),this.drawPen.lineTo(x,k),this.drawPen.stroke(),this.drawPen.restore()},U.prototype.drawString=function(v,S,x,k,m2){this.drawPen.font="12px serif",this.drawPen.fillStyle="#ffffff",this.drawPen.textAlign=k||"left",this.drawPen.fillText(v,S,x+10)},U.prototype.drawScale=function(){var v=this,S="rgba(255,255,255)",x=new Date(v.nowTime),k=x.getFullYear(),m2=x.getSeconds(),t2=x.getMinutes(),d2=x.getHours(),Z=x.getDate(),W=0;switch(v.timeWidth){case 60:{var L2=parseInt(v.canvasWidth/10);x.setSeconds(x.getSeconds()-parseInt(L2/2,10)),Z=x.getDate(),d2=x.getHours(),t2=x.getMinutes(),m2=x.getSeconds();for(var y2=0;y2<L2;y2++){if(W=m2+y2,x.setSeconds(W),W%10===0){v.drawSolidLine(y2*v.canvasWidth/L2,8,y2*v.canvasWidth/L2,v.canvasHeight/5+8,1,S);var p2=this.subTime(x.getHours())+":"+this.subTime(x.getMinutes())+":"+this.subTime(x.getSeconds());v.drawString(p2,y2*v.canvasWidth/L2,v.canvasHeight/5*2.5,"center","rgba(255,255,255,0.3)")}else v.drawSolidLine(y2*v.canvasWidth/L2,8,y2*v.canvasWidth/L2,v.canvasHeight/5*.5+8,1,S);x.setDate(Z),x.setHours(d2),x.setMinutes(t2)}break}case 1800:{var L2=parseInt(v.canvasWidth/20);x.setMinutes(x.getMinutes()-parseInt(L2/2,10)),d2=x.getHours(),t2=x.getMinutes();for(var y2=0;y2<=L2;y2++){if(W=t2+y2,x.setMinutes(W),W%5===0){v.drawSolidLine(y2*v.canvasWidth/L2,8,y2*v.canvasWidth/L2,v.canvasHeight/5*1.5+8,1,S);var p2=this.subTime(x.getHours())+":"+this.subTime(x.getMinutes());v.drawString(p2,y2*v.canvasWidth/L2,v.canvasHeight/5*2.5,"center","rgba(255,255,255,0.3)")}else v.drawSolidLine(y2*v.canvasWidth/L2,8,y2*v.canvasWidth/L2,v.canvasHeight/5*.5+8,1,S);x.setHours(d2)}break}case 3600:{var L2=parseInt(v.canvasWidth/20);x.setMinutes(x.getMinutes()-parseInt(L2/2,10)),d2=x.getHours(),t2=x.getMinutes();for(var y2=0;y2<=L2;y2++){if(W=t2+y2,x.setMinutes(W),W%10===0){v.drawSolidLine(y2*v.canvasWidth/L2,8,y2*v.canvasWidth/L2,v.canvasHeight/5*1.5+8,1,S);var p2=this.subTime(x.getHours())+":"+this.subTime(x.getMinutes());v.drawString(p2,y2*v.canvasWidth/L2,v.canvasHeight/5*2.5,"center","rgba(255,255,255,0.3)")}else v.drawSolidLine(y2*v.canvasWidth/L2,8,y2*v.canvasWidth/L2,v.canvasHeight/5*.5+8,1,S);x.setHours(d2)}break}case 86400:{var L2=parseInt(v.canvasWidth/30);x.setHours(x.getHours()-parseInt(L2/2,10)),m2=x.getSeconds(),t2=x.getMinutes(),d2=x.getHours(),Z=x.getDate(),k=x.getFullYear();for(var y2=0;y2<=L2;y2++){W=d2+y2,x.setHours(W);var p2;p2=this.subTime(x.getHours())+":00",v.drawSolidLine(y2*v.canvasWidth/L2,8,y2*v.canvasWidth/L2,v.canvasHeight/5*.5+8,1,S),W%2===0&&v.drawString(p2,y2*v.canvasWidth/L2,v.canvasHeight/5*2,"center","rgba(255,255,255,0.3)"),x.setFullYear(k),x.setDate(Z),x.setHours(d2)}break}}},U.prototype.getRecord=function(v,S,x){this.timeSection=v,this.drawRecord()},U.prototype.drawRecord=function(){for(var v=this.timeSection||[],S=this,x=S.drawPen,k=0;k<v.length;k++){var m2=d2(v[k].startTime),t2=d2(v[k].endTime);x.fillStyle="#1890ff80",x.fillRect(m2,0,t2-m2,48)}function d2(Z){var W=10;switch(S.timeWidth){case 60:W=10;break;case 1800:W=20/60;break;case 3600:W=20/60;break;case 86400:W=20/60/60;break}var L2=S.canvasWidth/2,y2=L2+(Z-S.nowTime)/1e3*W;return y2>S.canvasWidth&&(y2=S.canvasWidth),y2<=0&&(y2=0),y2}},U.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}},L3=function(){function U(N){if(i(this,U),this.jSPlugin=N,!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(U,[{key:"recInit",value:function(){var m=this;this.currentTimeWidth=0;var g=parseInt(getComputedStyle(document.getElementById(this.jSPlugin.id)).width,10)-100,v=document.createElement("div");v.style="display:inline-block;height:48px;",v.id=this.jSPlugin.id+"-canvas-container";var S=document.createElement("canvas");S.id=this.jSPlugin.id+"-canvas",S.className="time-line-body",S.height="48",S.width=g,S.style="display:inline-block;",S.innerHTML="该浏览器不支持canvas",v.appendChild(S),p(v,document.getElementById("".concat(this.jSPlugin.id,"-audioControls")));var x=document.createElement("div");x.className="timeline-controls",x.style="display:flex;width:100px;height:48px;text-align:center;line-height: 48px;vertical-align: top;background: #000000;";var k=`
<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;" />
`);x.innerHTML=k,p(x,v),this.timeLine=new _3(this.jSPlugin),this.timeLine.init({id:this.jSPlugin.id+"-canvas",width:g,onChange:function(W){console.log("time",W,new Date(W).Format("yyyyMMddhhmmss"));var L2=new Date(W).Format("yyyyMMddhhmmss");if(console.log("----------------this.jSPlugin.url",m.jSPlugin.url),V(m.jSPlugin.url).type==="cloud.rec"||m.jSPlugin.capacity&&m.jSPlugin.capacity.support_seek_playback=="1"){var y2=function(){m.jSPlugin.seek(L2.substr(8,6),"235959"),m.unSyncTimeLine(),setTimeout(function(){m.syncTimeLine()},6e3)};m.seekTimer?clearTimeout(m.seekTimer):y2(),m.seekTimer=setTimeout(function(){y2(),clearTimeout(m.seekTimer),m.seekTimer=null},m.seekFrequency)}else{var p2=function(){setTimeout(function(){m.disabled=!1},m.seekFrequency)},g2=function(r2){m.disabled=!0,m.jSPlugin.pause().then(function(){console.log("暂停成功"),m.jSPlugin.resume(L2).then(function(A){console.log("恢复成功:",A),m.jSPlugin.Theme&&m.jSPlugin.Theme.setDecoderState({play:!0}),m.jSPlugin.Theme&&m.jSPlugin.Theme.decoderState.state.sound&&m.jSPlugin.openSound(),r2&&r2()}).catch(function(A){console.log("恢复失败",A)})}).catch(function(){console.log("暂停失败"),m.jSPlugin.resume(L2).then(function(A){console.log("恢复成功"),m.jSPlugin.Theme&&m.jSPlugin.Theme.setDecoderState({play:!0}),r2&&r2()}).catch(function(A){console.log("恢复失败",A)})})};m.disabled?(console.log("操作频繁,等待2秒后执行"),m.seekTimer&&clearTimeout(m.seekTimer),m.seekTimer=setTimeout(function(){g2(p2)},m.seekFrequency)):g2(p2)}}}),this.syncTimeLine(),c("".concat(this.jSPlugin.staticPath,"/rec/datepicker.min.css")),l("".concat(this.jSPlugin.staticPath,"/rec/jquery.min.js"),function(){l("".concat(m.jSPlugin.staticPath,"/rec/datepicker.js"),function(){l("".concat(m.jSPlugin.staticPath,"/rec/datepicker.zh-CN.js"),function(){!document.getElementsByClassName("datepicker-container")[0]&&$("#".concat(m.jSPlugin.id,"-datepicker")).datepicker&&$("#".concat(m.jSPlugin.id,"-datepicker")).datepicker({autoShow:!1,autoHide:!0,autoPick:!0,language:"zh-CN",date:new Date(f("begin",m.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(m.jSPlugin.id,"-wrap"))}),document.getElementsByClassName("datepicker-container")[0]&&(document.getElementsByClassName("datepicker-container")[0].style.display="none"),m.datepickerVisible=!1,$("#".concat(m.jSPlugin.id,"-datepicker")).on("pick.datepicker",function(Z){console.log("重新选择日期",Z.date,new Date(Z.date).Format("yyyyMMdd"),new Date(document.getElementById("".concat(m.jSPlugin.id,"-datepicker")).value).Format("yyyyMMdd")),Z.date>new Date||new Date(Z.date).Format("yyyyMMdd")===new Date(document.getElementById("".concat(m.jSPlugin.id,"-datepicker")).value).Format("yyyyMMdd")?Z.preventDefault():(document.getElementById("".concat(m.jSPlugin.id,"-datepicker")).value=new Date(Z.date).Format("yyyy-MM-dd"),m.renderRec(Z.date),m.jSPlugin.decoderState&&m.jSPlugin.decoderState.state?m.jSPlugin.decoderState.state.cloudRec?m.jSPlugin.changePlayUrl({begin:new Date(Z.date).Format("yyyyMMdd"),type:"cloud.rec"}):m.jSPlugin.decoderState.state.rec?m.jSPlugin.changePlayUrl({begin:new Date(Z.date).Format("yyyyMMdd"),type:"rec"}):m.jSPlugin.changePlayUrl({begin:new Date(Z.date).Format("yyyyMMdd")}):m.jSPlugin.changePlayUrl({begin:new Date(Z.date).Format("yyyyMMdd")})),document.getElementsByClassName("datepicker-container")[0]&&(document.getElementsByClassName("datepicker-container")[0].style.display="none"),m.datepickerVisible=!1,m.jSPlugin.decoderState&&m.jSPlugin.decoderState&&m.jSPlugin.decoderState.state&&m.jSPlugin.decoderState.state.zoom&&(m.jSPlugin.setDecoderState({zoom:!1}),m.jSPlugin.Zoom.stopZoom())}),$("#".concat(m.jSPlugin.id,"-datepicker")).off("click").on("click",function(Z){console.log("点击日期"),m.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"),m.datepickerVisible=!m.datepickerVisible})})})}),document.getElementById("".concat(this.jSPlugin.id,"-timeline-scale-add")).onclick=function(){var Z=m.currentTimeWidth;Z<3&&m.timeLine.changeSize(++m.currentTimeWidth)},document.getElementById("".concat(this.jSPlugin.id,"-timeline-scale-sub")).onclick=function(){var Z=m.currentTimeWidth;Z>0&&m.timeLine.changeSize(--m.currentTimeWidth)};var m2=f("begin",this.jSPlugin.url)||new Date().Format("yyyyMMdd");this.renderRec("".concat(m2.slice(0,4),"-").concat(m2.slice(4,6),"-").concat(m2.slice(6,8))),this.observer=new MutationObserver(function(Z,W){m.recAutoSize()});var t2={attributes:!0,attributeOldValue:!0,attributeFilter:["style"]},d2=document.getElementById("".concat(this.jSPlugin.id));this.observer.observe(d2,t2)}},{key:"setDatepickerDate",value:function(m){if(document.getElementsByClassName("datepicker-container")[0]){var g=document.getElementsByClassName("datepicker-container")[0],v=g.parentNode;v.removeChild(g),document.getElementById("".concat(this.jSPlugin.id,"-datepicker")).value=m.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:m,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 m=this;if(document.getElementById("".concat(this.jSPlugin.id,"-canvas"))){var g=parseInt(getComputedStyle(document.getElementById(this.jSPlugin.id)).width,10)-100;g!==parseInt(document.getElementById("".concat(this.jSPlugin.id,"-canvas")).width)&&(document.getElementById("".concat(this.jSPlugin.id,"-canvas")).width=g,this.timeLine.init({id:"".concat(this.jSPlugin.id,"-canvas"),width:g,onChange:function(S){console.log("time",S,new Date(S).Format("yyyyMMddhhmmss")),console.log("jSPlugin",m.jSPlugin);var x=new Date(S).Format("yyyyMMddhhmmss");m.jSPlugin.changePlayUrl({begin:x})}}),this.renderRec(this.date),this.syncTimeLine())}}},{key:"syncTimeLine",value:function(){var m=this;this.jSPlugin.recTimer&&clearInterval(this.jSPlugin.recTimer),this.jSPlugin.recTimer=setInterval(function(){var g=m.jSPlugin.getOSDTime();g.then(function(v){var S=v.data;S===-1?console.log("获取播放时间错误"):S>0&&m.timeLine.run({time:new Date(S>1e12?S:S*1e3)})}).catch(function(v){})},1e3)}},{key:"unSyncTimeLine",value:function(){this.jSPlugin.recTimer&&clearInterval(this.jSPlugin.recTimer)}},{key:"renderRec",value:function(m){var g=this;this.date=m;var v=this,S=new Date(new Date(m).Format("yyyy-MM-dd 00:00:00").replace(/-/g,"/")).getTime(),x=new Date(new Date(m).Format("yyyy-MM-dd 23:59:59").replace(/-/g,"/")).getTime();this.timeLine.getRecord([],S,x),console.log("-----------233---------this.jSPlugin.url",this.jSPlugin.url);var k={accessToken:this.jSPlugin.accessToken,recType:V(this.jSPlugin.url).type==="cloud.rec"?1:2,deviceSerial:V(this.jSPlugin.url).deviceSerial,channelNo:V(this.jSPlugin.url).channelNo,startTime:S,endTime:x,version:"2.0"},m2=function(Z){if(Z.data&&Z.data.files&&Z.data.files.length>0){var W=Z.data.files,L2=new Date().getTime(),y2=Z.data.isAll;if(y2)g.timeLine.getRecord(W,S,x);else{var p2=function g2(){function O2(r2){r2.data&&r2.data.files&&r2.data.files.length>0?r2.data.isAll==!1?(r2.data.files&&(W=W.concat(r2.data.files)),L2=r2.data.nextFileTime>0?r2.data.nextFileTime:new Date().getTime(),g2()):(console.log("云存储执行渲染片段"),v.timeLine.getRecord(W,S,x)):v.timeLine.getRecord(W,S,x)}k.startTime=L2,X(this.jSPlugin.env.domain+"/api/lapp/video/by/time","POST",k,"",O2)};p2()}g.timeLine.run({time:new Date(S)})}else Z.data&&Z.data.length>0&&(console.log("获取本地录像片段成功",Z),v.timeLine.getRecord(Z.data,S,x),v.timeLine.run({time:new Date(S)}))},t2=this.jSPlugin.env.domain+"/api/lapp/video/by/time";X(t2,"POST",k,"",m2)}}]),U}(),F3=function(N){console.log("执行TimeLine - params",N),this.state={id:N.id,start:"00:00:00",end:"24:00:00",current:0,timelag:30,timeArr:[],availTimeLine:[],scrollTop:0,index:0,date:"",noTimeLineTxt:"",disabled:!1};var m=this;this.setState=function(g){Object.keys(g).forEach(function(v){m.state[v]=g[v],v==="scrollTop"&&document.getElementById("time-line-item").parentNode.scrollTo(0,g[v]),v==="current"&&(document.getElementById("time-line-current").innerHTML=g[v])})},this.setDisabled=function(g){this.setState({disabled:g}),document.getElementById("time-line-item").parentNode.style.overflowY=g?"hidden":"scroll"},this.timeToSecond=function(g){var v=g.split(":"),S=Number(v[0]),x=Number(v[1]),k=Number(v[2]);return S*60*60+x*60+(k||0)},this.minuteToTime=function(g){var v=Math.floor(g/60),S=g%60;return(v>9?v:"0"+v)+":"+(S>9?S:"0"+S)},this.timeToMinute=function(g){var v=g.split(":"),S=Number(v[0]),x=Number(v[1]);return S*60+x},this.getPalyParam=N.getPalyParam,document.getElementById("time-line-item").parentNode.ontouchstart=function(){if(m.state.disabled)return!1;N.ontouchstart()},document.getElementById("time-line-item").parentNode.ontouchmove=function(){if(m.state.disabled)return!1;N.ontouchmove()},document.getElementById("time-line-item").parentNode.ontouchend=function(){if(m.state.disabled)return!1;var g,v=new Promise(function(S,x){var k=-1;g=setInterval(function(){var m2=document.getElementById("time-line-item").parentNode.scrollTop;m2!==k?(console.log("scolling",m2,k),k=m2):(console.log("scoll stop",m2,k),clearInterval(g),S(m2))},100)});v.then(function(S){console.log("scollPromise: then",S,m),m.rectTopTotime(S),console.log("页面滚动实际高度",S,m.state),m.getPalyParam({current:m.state.current})}),N.ontouchend()},this.matchTimeDot()};F3.prototype.changeScale=function(U){this.setState({timelag:U}),this.matchTimeDot()},F3.prototype.setDateLine=function(U,N){U.length>0?(typeof N=="undefined"&&(N=U.length-1),this.setState({availTimeLine:U,start:U[N].st,end:U[N].et,current:U[N].st}),console.log("this.state",this.state),this.matchRecTimeDot(),this.primaryOffsetH()):(this.setState({availTimeLine:[]}),console.log("this.state",this.state),this.matchRecTimeDot())},F3.prototype.matchTimeDot=function(){var U=this.state,N=U.start,m=U.end,g=U.timelag;U.availTimeLine,console.log("start",N,"end",m);var v=[],S=this.timeToMinute(m);S=Math.floor(S/g)*g;for(var x=S;x>=0;){var k=0,m2=0,t2=[];x==S&&(k=70),x==0&&(m2=230);var d2=this.minuteToTime(x);v.push({id:x,current:d2,label:"a"+x,marginTop:k,marginBottom:m2,recArr:t2}),x=x-g}this.setState({timeArr:v}),this.renderDateLine()},F3.prototype.matchRecTimeDot=function(){var U=this.state,N=U.start,m=U.end,g=U.timelag,v=U.availTimeLine,S=U.timeArr;console.log("start",N,"end",m);var x=[],k=v.length;if(k===0)for(var m2=0;m2<S.length;m2++)S[m2].recArr=[];else{for(var t2=0;t2<S.length;t2++)S[t2].recArr=[];for(var d2=0;d2<k;d2++){var Z=v[d2],W=this.timeToSecond(Z.st),L2=this.timeToSecond(Z.et),y2=void 0,p2=void 0,g2=0,O2=0;y2=Math.floor(W/(g*60))*g,g2=(W-y2*60)/g,p2=Math.floor(L2/(g*60))*g,O2=(L2-p2*60)/g,x[d2]={st:y2,et:p2,stAvailPercent:g2,etAvailPercent:O2};for(var m2=0;m2<S.length;m2++)if(S[m2].id==y2&&S[m2].id==p2){var r2=O2-g2,A=60-O2;S[m2].recArr.push({height:r2,top:A})}else S[m2].id==y2?S[m2].recArr.push({height:60-g2,top:0}):S[m2].id==p2?S[m2].recArr.push({height:O2,top:60-O2}):S[m2].id>y2&&S[m2].id<p2&&S[m2].recArr.push({height:60,top:0})}}console.log("availArr: ",x),this.setState({timeArr:S}),console.log("timeArr:",this.state),this.renderDateLine()},F3.prototype.renderDateLine=function(){var U=this.state,N=U.id,m=U.timeArr;console.log("id,timeArr",N,m);var g=document.getElementById("time-line-item");g.innerHTML="",m.forEach(function(v,S){var x=document.createElement("div");x.setAttribute("class","time-item"),x.style="margin-top: ".concat(v.marginTop,"px; margin-bottom: ").concat(v.marginBottom,"px; border-right-color: ").concat(v.borderColor,";");var k=document.createElement("div");k.setAttribute("class","scale");var m2='<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>';v.recArr.forEach(function(t2,d2){m2+='<div class="item-unavail" style="height: '.concat(t2.height,"px;background-color:#A8B9ED; top: ").concat(t2.top,'px"></div>')}),m2+="<div id=".concat(v.label,' style="position: relative; top: 51px; left: 40%"> ').concat(v.current,"</div>"),x.innerHTML=m2,g.appendChild(x)})},F3.prototype.primaryOffsetH=function(){var U=this.state,N=U.start,m=U.timelag,g=U.timeArr,v=g[0].current,S=this.timeToSecond(v),x=this.timeToSecond(N),k=S-x,m2=Math.ceil(k/m)+60;this.setState({scrollTop:m2}),console.log("起始偏移量",m2)},F3.prototype.currentOffsetH=function(){var U=this.state,N=U.current,m=U.timelag,g=U.timeArr,v=g[0].current,S=this.timeToSecond(v),x=this.timeToSecond(N),k=S-x,m2=Math.ceil(k/m)+60;this.setState({scrollTop:m2})},F3.prototype.rectTopTotime=function(U){var N=this.state.timelag,m=Math.floor(U/60),g=U-m*60,v,S;if(console.log("index:",m,"offsetH:",g),g==0)v=this.state.timeArr[m-1].current,S=0;else{var x=this.state.timeArr[m].current,k=this.timeToMinute(x),m2=60-g,t2=m2*N,d2=Math.floor(t2/60)+k,Z=Math.floor(t2/60)*60;S=Math.ceil(t2-Z),v=this.minuteToTime(d2)}this.setState({current:v+":"+(S>9?S:"0"+S),scrollTop:U})},F3.prototype.stepScrollTimeLine=function(U){this.setState({current:U}),this.currentOffsetH()},F3.prototype.secondCountDown=function(U){var N=this.state.current,m=N.split(":"),g=Number(m[0]),v=Number(m[1]),S=Number(m[2]),x=g*60*60+v*60+S+1,k=Math.floor(x/3600),m2=Math.floor((x-k*3600)/60),t2=x-k*3600-m2*60;this.setState({current:(k>9?k:"0"+k)+":"+(m2>9?m2:"0"+m2)+":"+(t2>9?t2:"0"+t2)})};var K3=F3;Date.prototype.Format=function(U){var N={"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(U)&&(U=U.replace(RegExp.$1,(this.getFullYear()+"").substr(4-RegExp.$1.length)));for(var m in N)new RegExp("("+m+")").test(U)&&(U=U.replace(RegExp.$1,RegExp.$1.length==1?N[m]:("00"+N[m]).substr((""+N[m]).length)));return U};function w2(U){var N=new Date(U),m=N.getHours(),g=N.getMinutes(),v=N.getSeconds();return(m>9?m:"0"+m)+":"+(g>9?g:"0"+g)+":"+(v>9?v:"0"+v)}var a3=function(){function U(N,m,g){var v=this;i(this,U),this.changeRecSpeed=m,this.resetMobileZoomStatus=g,this.isMobile=!0,this.jSPlugin=N,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=V(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 S=document.createElement("style");if(S.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(S),f("begin",this.jSPlugin.url)){var x=f("begin",this.jSPlugin.url);this.date=x.slice(0,4)+"/"+x.slice(4,6)+"/"+x.slice(6,8),this.begin=this.date+" ".concat(x.slice(8,10)||"00",":").concat(x.slice(10,12)||"00",":").concat(x.slice(12,14)||"00"),this.end=this.date+" 23:59:59",this.initBegin=this.begin}if(f("end",this.jSPlugin.url)){var k=f("end",this.jSPlugin.url);this.end=this.date+" ".concat(k.slice(8,10)||"23",":").concat(k.slice(10,12)||"59",":").concat(k.slice(12,14)||"59"),this.initEnd=this.end}var m2=document.createElement("div");m2.id="date-switch-container-wrap",m2.className="date-switch-container-wrap",m2.style="",m2.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>
`,p(m2,document.getElementById("".concat(this.jSPlugin.id,"-wrap")));var t2=document.createElement("div");t2.id="rec-type-container-wrap",t2.className="rec-type-container-wrap",t2.style="",t2.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>
`,p(t2,m2);var d2=document.createElement("div");d2.id="mobile-rec-wrap",d2.className="mobileRec-wrap",d2.style="",d2.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>
`,p(d2,t2);var Z=function(g2){console.log("子组件传值到父组件",g2,g2.current);var O2=g2.current,r2=new Date(v.date).Format("yyyyMMdd").substr(0,8)+(g2.current?O2.replace(/:/g,""):g2.current.replace(/:/g,""));if(v.initBegin&&new Date("".concat(v.date," ").concat(g2.current)).getTime()<new Date(v.initBegin).getTime()&&(console.log("超过限制最低值"),r2=new Date(v.initBegin).Format("yyyyMMddhhmmss")),v.initEnd&&new Date("".concat(v.date," ").concat(g2.current)).getTime()>new Date(v.initEnd).getTime()&&(console.log("超过限制最高值"),r2=new Date(v.initBegin).Format("yyyyMMddhhmmss")),v.type==="cloud.rec"){var A=function(){v.jSPlugin.seek(r2.substr(8,6),"235959"),setTimeout(function(){v.syncTimeLine()},6e3)};v.seekTimer?clearTimeout(v.seekTimer):A(),console.log("this.jsPlug",v.jSPlugin.params),v.seekTimer=setTimeout(function(){A(),clearTimeout(v.seekTimer),v.seekTimer=null},v.seekFrequency)}else{var j=function(){setTimeout(function(){v.disabled=!1},v.seekFrequency)},H=function(R2){v.disabled=!0,v.jSPlugin.pause().then(function(){console.log("暂停成功"),v.jSPlugin.resume(r2).then(function(G){console.log("恢复成功"),v.jSPlugin.Theme&&v.jSPlugin.Theme.setDecoderState({play:!0}),v.jSPlugin.Theme&&v.jSPlugin.Theme.decoderState.state.sound&&v.jSPlugin.openSound(),v.syncTimeLine(),R2&&R2()})}).catch(function(){console.log("暂停失败"),v.jSPlugin.resume(r2).then(function(G){console.log("恢复成功"),v.jSPlugin.Theme&&v.jSPlugin.Theme.setDecoderState({play:!0}),v.syncTimeLine(),R2&&R2()})})};v.disabled?(console.log("操作频繁,等待2秒后执行"),v.seekTimer&&clearTimeout(v.seekTimer),v.seekTimer=setTimeout(function(){H(j)},v.seekFrequency)):H(j)}},W=function(){v.operating=!0,v.unSyncTimeLine()},L2=function(){},y2=function(){v.operating=!1,console.log("ontouchend")};this.TimeLineOBJ=new K3({id:"time-line-item",getPalyParam:Z,ontouchstart:W,ontouchmove:L2,ontouchend:y2}),this.fetchDeviceRec(),document.getElementById("date").addEventListener("change",function(p2){if(console.log("日期变化",p2.target.value),v.initBegin||v.initEnd)return console.log("您开启了时间限制,无法切换日期"),!1;v.date=new Date(p2.target.value).Format("yyyy/MM/dd"),v.begin=v.date+" 00:00:00",v.end=v.date+" 23:59:59",v.fetchDeviceRec(),v.jSPlugin.changePlayUrl({type:v.type,begin:"".concat(new Date(v.date).Format("yyyyMMdd"),"000000")}),v.changeRecSpeed(1),v.resetMobileZoomStatus()}),document.getElementById("cloudType").checked=this.type==="rec",document.getElementById("cloudType").addEventListener("change",function(p2){var g2=p2.target.checked?2:1;v.type=p2.target.checked?"rec":"cloud.rec",console.log("recType",g2),v.fetchDeviceRec(),v.jSPlugin.changePlayUrl({type:v.type,begin:"".concat(new Date(v.date).Format("yyyyMMdd"),"000000")}).then(function(){console.log("切换类型成功"),v.syncTimeLine(),v.changeRecSpeed(1),v.resetMobileZoomStatus()},function(O2){console.log("err",O2)}).catch(function(O2){console.log(O2)})}),this.syncTimeLine()}return a(U,[{key:"fetchDeviceRec",value:function(){var m=this,g=function(x){var k=x.length;document.getElementById("recCount").innerHTML=k;for(var m2=[],t2=k-1;t2>=0;t2--){var d2=x[t2],Z=w2(d2.endTime),W=w2(d2.startTime);m2.push({st:W,et:Z})}m.TimeLineOBJ.setDateLine(m2)},v=new FormData;v.append("deviceSerial",V(this.jSPlugin.url).deviceSerial),v.append("channelNo",V(this.jSPlugin.url).channelNo),v.append("accessToken",this.jSPlugin.accessToken),v.append("recType",this.type==="cloud.rec"?1:2),v.append("startTime",new Date(this.begin).getTime()),v.append("endTime",new Date(this.end).getTime()),fetch(this.jSPlugin.env.domain+"/api/lapp/video/by/time",{method:"POST",body:v}).then(function(S){return S.json()}).then(function(S){if(S.code==200&&S.data){var x=[];x=S.data,g(x)}else g([])})}},{key:"syncTimeLine",value:function(){var m=this,g=function(S){var x=new Date(S),k=x.getHours(),m2=x.getMinutes(),t2=x.getSeconds();return(k>9?k:"0"+k)+":"+(m2>9?m2:"0"+m2)+":"+(t2>9?t2:"0"+t2)};this.timer&&clearInterval(this.timer),this.timer=setInterval(function(){if(m.operating)return console.log("操作中"),!1;m.jSPlugin.getOSDTime().then(function(v){v.data>0?m.TimeLineOBJ.stepScrollTimeLine(g(v.data*1e3)):(console.log("未找到当前获取播放时间,等待中..."),console.log("res:-----------------",v))}).catch(function(v){console.log("err:-----",v),console.log("未找到当前获取播放时间,等待中...")})},1e3)}},{key:"unSyncTimeLine",value:function(){this.timer&&clearInterval(this.timer)}}]),U}(),k3=[{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"}],J3=[{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"}],Q3=[{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"}],l1=[{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"}],c1={ptzStart:k3,ptzStop:J3,talk:Q3,time:l1},B1=function(){function U(N,m){i(this,U),this.coreX=N,this.coreY=m,console.log("uikitCode",c1)}return a(U,[{key:"toString",value:function(){return"".concat(this.coreX,"-").concat(this.coreY)}},{key:"matchInfo",value:function(m,g){if(c1[g]){var v={};return c1[g].map(function(S){S.code==m&&(v=S)}),v}else return{code:500,msg:"未知错误",desc:"未知的错误码,或错误码类型有误",text:"",type:g}}}]),U}(),y1=function(){function U(N){var m=this;if(i(this,U),this.jSPlugin=N,this.codeHandler=new B1,this.pluginStatus=new o3(this,this.jSPlugin.id),console.log("云台初始化"),document.getElementById(this.jSPlugin.id+"-ez-ptz-item"))return!1;var g=document.createElement("div");g.id=this.jSPlugin.id+"-ez-ptz-item",g.className="ez-ptz-wrap",g.style="display:none";var v=document.createElement("style");v.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(v),g.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(N.id,"-wrap")).appendChild(g),document.getElementById("".concat(this.jSPlugin.id,"-ez-ptz-container")).onmousedown=function(S){S.preventDefault(),console.log("触摸开始"),m._handlePtzTouch(S,"start")},document.getElementById("".concat(this.jSPlugin.id,"-ez-ptz-container")).onmouseup=function(S){S.preventDefault(),console.log("触摸结束"),m._handlePtzTouch(S,"stop")},document.getElementById("".concat(this.jSPlugin.id,"-ez-ptz-container")).ontouchstart=function(S){S.preventDefault(),console.log("触摸开始"),m._handlePtzTouch(S,"start")},document.getElementById("".concat(this.jSPlugin.id,"-ez-ptz-container")).ontouchend=function(S){S.preventDefault(),console.log("触摸结束",S),m._handlePtzTouch(S,"stop")}}return a(U,[{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(m,g){var v=this,S=document.getElementById("".concat(this.jSPlugin.id,"-ez-ptz-container")).getBoundingClientRect(),x=S.left+41,k=S.top+41,m2=m.x||m.changedTouches[0].clientX,t2=m.y||m.changedTouches[0].clientY,d2=m2-x,Z=t2-k,W=0,L2=this.jSPlugin.env.domain+"/api/lapp/device/ptz/start";if(Math.abs(d2)>Math.abs(Z)?d2>0?W=3:W=2:Z>0?W=1:W=0,/^rotate\(90/.test(document.getElementById("".concat(this.jSPlugin.id,"-wrap")).style.transform))switch(W){case 0:W=2;break;case 1:W=3;break;case 2:W=1;break;case 3:W=0;break}document.getElementById("".concat(this.jSPlugin.id,"-ez-ptz-container")).style="background-image:linear-gradient(".concat(W===0?180:W===1?0:W===2?90:270,"deg, #1d8dd8 0%, rgba(100,143,252,0.00) 30%)"),g==="stop"&&(L2=this.jSPlugin.env.domain+"/api/lapp/device/ptz/stop",document.getElementById("".concat(this.jSPlugin.id,"-ez-ptz-container")).style="");var y2=new FormData;y2.append("deviceSerial",V(this.jSPlugin.url).deviceSerial),y2.append("channelNo",V(this.jSPlugin.url).channelNo),y2.append("speed",1),y2.append("direction",W),y2.append("accessToken",this.jSPlugin.accessToken),fetch(L2,{method:"POST",body:y2}).then(function(p2){return p2.json()}).then(function(p2){p2.code==200||(console.log(p2.code,v.codeHandler.matchInfo(p2.code,g==="start"?"ptzStart":"ptzStop")),v.pluginStatus.loadingSetText({text:v.codeHandler.matchInfo(p2.code,g==="start"?"ptzStart":"ptzStop").msg,color:"red",delayClear:2e3}),(p2.code==60005||p2.code==60002||p2.code==60003||p2.code==60004)&&(document.getElementById("".concat(v.jSPlugin.id,"-ez-ptz-container")).style="background-image:linear-gradient(".concat(W===0?180:W===1?0:W===2?90:270,"deg, #f45656 0%, rgba(100,143,252,0.00) 30%)")))}).catch(function(p2){console.log("云台调用异常",p2)})}}]),U}();(function(U){if(t(e)==="object")n.exports=U();else{var N;typeof window!="undefined"?N=window:typeof ys!="undefined"?N=ys:typeof self!="undefined"?N=self:N=this,N.adapter=U()}})(function(){return function(){function U(N,m,g){function v(k,m2){if(!m[k]){if(!N[k]){var t2=typeof vs=="function"&&vs;if(!m2&&t2)return t2(k,!0);if(S)return S(k,!0);var d2=new Error("Cannot find module '"+k+"'");throw d2.code="MODULE_NOT_FOUND",d2}var Z=m[k]={exports:{}};N[k][0].call(Z.exports,function(W){var L2=N[k][1][W];return v(L2||W)},Z,Z.exports,U,N,m,g)}return m[k].exports}for(var S=typeof vs=="function"&&vs,x=0;x<g.length;x++)v(g[x]);return v}return U}()({1:[function(U,N,m){var g=U("./adapter_factory.js"),v=(0,g.adapterFactory)({window});window.adapter=v,N.exports=v},{"./adapter_factory.js":2}],2:[function(U,N,m){Object.defineProperty(m,"__esModule",{value:!0}),m.adapterFactory=g2;var g=U("./utils"),v=p2(g),S=U("./chrome/chrome_shim"),x=p2(S),k=U("./edge/edge_shim"),m2=p2(k),t2=U("./firefox/firefox_shim"),d2=p2(t2),Z=U("./safari/safari_shim"),W=p2(Z),L2=U("./common_shim"),y2=p2(L2);function p2(O2){if(O2&&O2.__esModule)return O2;var r2={};if(O2!=null)for(var A in O2)Object.prototype.hasOwnProperty.call(O2,A)&&(r2[A]=O2[A]);return r2.default=O2,r2}function g2(){var O2=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r2=O2.window,A=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{shimChrome:!0,shimFirefox:!0,shimEdge:!0,shimSafari:!0},j=v.log,H=v.detectBrowser(r2),x2={browserDetails:H,commonShim:y2,extractVersion:v.extractVersion,disableLog:v.disableLog,disableWarnings:v.disableWarnings};switch(H.browser){case"chrome":if(!x||!x.shimPeerConnection||!A.shimChrome)return j("Chrome shim is not included in this adapter release."),x2;j("adapter.js shimming chrome."),x2.browserShim=x,x.shimGetUserMedia(r2),x.shimMediaStream(r2),x.shimPeerConnection(r2),x.shimOnTrack(r2),x.shimAddTrackRemoveTrack(r2),x.shimGetSendersWithDtmf(r2),x.shimGetStats(r2),x.shimSenderReceiverGetStats(r2),x.fixNegotiationNeeded(r2),y2.shimRTCIceCandidate(r2),y2.shimConnectionState(r2),y2.shimMaxMessageSize(r2),y2.shimSendThrowTypeError(r2),y2.removeAllowExtmapMixed(r2);break;case"firefox":if(!d2||!d2.shimPeerConnection||!A.shimFirefox)return j("Firefox shim is not included in this adapter release."),x2;j("adapter.js shimming firefox."),x2.browserShim=d2,d2.shimGetUserMedia(r2),d2.shimPeerConnection(r2),d2.shimOnTrack(r2),d2.shimRemoveStream(r2),d2.shimSenderGetStats(r2),d2.shimReceiverGetStats(r2),d2.shimRTCDataChannel(r2),d2.shimAddTransceiver(r2),d2.shimCreateOffer(r2),d2.shimCreateAnswer(r2),y2.shimRTCIceCandidate(r2),y2.shimConnectionState(r2),y2.shimMaxMessageSize(r2),y2.shimSendThrowTypeError(r2);break;case"edge":if(!m2||!m2.shimPeerConnection||!A.shimEdge)return j("MS edge shim is not included in this adapter release."),x2;j("adapter.js shimming edge."),x2.browserShim=m2,m2.shimGetUserMedia(r2),m2.shimGetDisplayMedia(r2),m2.shimPeerConnection(r2),m2.shimReplaceTrack(r2),y2.shimMaxMessageSize(r2),y2.shimSendThrowTypeError(r2);break;case"safari":if(!W||!A.shimSafari)return j("Safari shim is not included in this adapter release."),x2;j("adapter.js shimming safari."),x2.browserShim=W,W.shimRTCIceServerUrls(r2),W.shimCreateOfferLegacy(r2),W.shimCallbacksAPI(r2),W.shimLocalStreamsAPI(r2),W.shimRemoteStreamsAPI(r2),W.shimTrackEventTransceiver(r2),W.shimGetUserMedia(r2),y2.shimRTCIceCandidate(r2),y2.shimMaxMessageSize(r2),y2.shimSendThrowTypeError(r2),y2.removeAllowExtmapMixed(r2);break;default:j("Unsupported browser!");break}return x2}},{"./chrome/chrome_shim":3,"./common_shim":6,"./edge/edge_shim":7,"./firefox/firefox_shim":11,"./safari/safari_shim":14,"./utils":15}],3:[function(U,N,m){Object.defineProperty(m,"__esModule",{value:!0}),m.shimGetDisplayMedia=m.shimGetUserMedia=void 0;var g=typeof Symbol=="function"&&t(Symbol.iterator)==="symbol"?function(A){return t(A)}:function(A){return A&&typeof Symbol=="function"&&A.constructor===Symbol&&A!==Symbol.prototype?"symbol":t(A)},v=U("./getusermedia");Object.defineProperty(m,"shimGetUserMedia",{enumerable:!0,get:function(){return v.shimGetUserMedia}});var S=U("./getdisplaymedia");Object.defineProperty(m,"shimGetDisplayMedia",{enumerable:!0,get:function(){return S.shimGetDisplayMedia}}),m.shimMediaStream=d2,m.shimOnTrack=Z,m.shimGetSendersWithDtmf=W,m.shimGetStats=L2,m.shimSenderReceiverGetStats=y2,m.shimAddTrackRemoveTrackWithNative=p2,m.shimAddTrackRemoveTrack=g2,m.shimPeerConnection=O2,m.fixNegotiationNeeded=r2;var x=U("../utils.js"),k=m2(x);function m2(A){if(A&&A.__esModule)return A;var j={};if(A!=null)for(var H in A)Object.prototype.hasOwnProperty.call(A,H)&&(j[H]=A[H]);return j.default=A,j}function t2(A,j,H){return j in A?Object.defineProperty(A,j,{value:H,enumerable:!0,configurable:!0,writable:!0}):A[j]=H,A}function d2(A){A.MediaStream=A.MediaStream||A.webkitMediaStream}function Z(A){if((typeof A=="undefined"?"undefined":g(A))==="object"&&A.RTCPeerConnection&&!("ontrack"in A.RTCPeerConnection.prototype)){Object.defineProperty(A.RTCPeerConnection.prototype,"ontrack",{get:function(){return this._ontrack},set:function(x2){this._ontrack&&this.removeEventListener("track",this._ontrack),this.addEventListener("track",this._ontrack=x2)},enumerable:!0,configurable:!0});var j=A.RTCPeerConnection.prototype.setRemoteDescription;A.RTCPeerConnection.prototype.setRemoteDescription=function(){var x2=this;return this._ontrackpoly||(this._ontrackpoly=function(R2){R2.stream.addEventListener("addtrack",function(G){var b=void 0;A.RTCPeerConnection.prototype.getReceivers?b=x2.getReceivers().find(function(h2){return h2.track&&h2.track.id===G.track.id}):b={track:G.track};var R=new Event("track");R.track=G.track,R.receiver=b,R.transceiver={receiver:b},R.streams=[R2.stream],x2.dispatchEvent(R)}),R2.stream.getTracks().forEach(function(G){var b=void 0;A.RTCPeerConnection.prototype.getReceivers?b=x2.getReceivers().find(function(h2){return h2.track&&h2.track.id===G.id}):b={track:G};var R=new Event("track");R.track=G,R.receiver=b,R.transceiver={receiver:b},R.streams=[R2.stream],x2.dispatchEvent(R)})},this.addEventListener("addstream",this._ontrackpoly)),j.apply(this,arguments)}}else k.wrapPeerConnectionEvent(A,"track",function(H){return H.transceiver||Object.defineProperty(H,"transceiver",{value:{receiver:H.receiver}}),H})}function W(A){if((typeof A=="undefined"?"undefined":g(A))==="object"&&A.RTCPeerConnection&&!("getSenders"in A.RTCPeerConnection.prototype)&&"createDTMFSender"in A.RTCPeerConnection.prototype){var j=function(h2,B2){return{track:B2,get dtmf(){return this._dtmf===void 0&&(B2.kind==="audio"?this._dtmf=h2.createDTMFSender(B2):this._dtmf=null),this._dtmf},_pc:h2}};if(!A.RTCPeerConnection.prototype.getSenders){A.RTCPeerConnection.prototype.getSenders=function(){return this._senders=this._senders||[],this._senders.slice()};var H=A.RTCPeerConnection.prototype.addTrack;A.RTCPeerConnection.prototype.addTrack=function(h2,B2){var U2=H.apply(this,arguments);return U2||(U2=j(this,h2),this._senders.push(U2)),U2};var x2=A.RTCPeerConnection.prototype.removeTrack;A.RTCPeerConnection.prototype.removeTrack=function(h2){x2.apply(this,arguments);var B2=this._senders.indexOf(h2);B2!==-1&&this._senders.splice(B2,1)}}var R2=A.RTCPeerConnection.prototype.addStream;A.RTCPeerConnection.prototype.addStream=function(h2){var B2=this;this._senders=this._senders||[],R2.apply(this,[h2]),h2.getTracks().forEach(function(U2){B2._senders.push(j(B2,U2))})};var G=A.RTCPeerConnection.prototype.removeStream;A.RTCPeerConnection.prototype.removeStream=function(h2){var B2=this;this._senders=this._senders||[],G.apply(this,[h2]),h2.getTracks().forEach(function(U2){var g3=B2._senders.find(function(P3){return P3.track===U2});g3&&B2._senders.splice(B2._senders.indexOf(g3),1)})}}else if((typeof A=="undefined"?"undefined":g(A))==="object"&&A.RTCPeerConnection&&"getSenders"in A.RTCPeerConnection.prototype&&"createDTMFSender"in A.RTCPeerConnection.prototype&&A.RTCRtpSender&&!("dtmf"in A.RTCRtpSender.prototype)){var b=A.RTCPeerConnection.prototype.getSenders;A.RTCPeerConnection.prototype.getSenders=function(){var h2=this,B2=b.apply(this,[]);return B2.forEach(function(U2){return U2._pc=h2}),B2},Object.defineProperty(A.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 L2(A){if(A.RTCPeerConnection){var j=A.RTCPeerConnection.prototype.getStats;A.RTCPeerConnection.prototype.getStats=function(){var x2=this,R2=Array.prototype.slice.call(arguments),G=R2[0],b=R2[1],R=R2[2];if(arguments.length>0&&typeof G=="function")return j.apply(this,arguments);if(j.length===0&&(arguments.length===0||typeof G!="function"))return j.apply(this,[]);var h2=function(P3){var W3={},V3=P3.result();return V3.forEach(function(z3){var o1={id:z3.id,timestamp:z3.timestamp,type:{localcandidate:"local-candidate",remotecandidate:"remote-candidate"}[z3.type]||z3.type};z3.names().forEach(function(T1){o1[T1]=z3.stat(T1)}),W3[o1.id]=o1}),W3},B2=function(P3){return new Map(Object.keys(P3).map(function(W3){return[W3,P3[W3]]}))};if(arguments.length>=2){var U2=function(P3){b(B2(h2(P3)))};return j.apply(this,[U2,G])}return new Promise(function(g3,P3){j.apply(x2,[function(W3){g3(B2(h2(W3)))},P3])}).then(b,R)}}}function y2(A){if((typeof A=="undefined"?"undefined":g(A))==="object"&&A.RTCPeerConnection&&A.RTCRtpSender&&A.RTCRtpReceiver){if(!("getStats"in A.RTCRtpSender.prototype)){var j=A.RTCPeerConnection.prototype.getSenders;j&&(A.RTCPeerConnection.prototype.getSenders=function(){var b=this,R=j.apply(this,[]);return R.forEach(function(h2){return h2._pc=b}),R});var H=A.RTCPeerConnection.prototype.addTrack;H&&(A.RTCPeerConnection.prototype.addTrack=function(){var b=H.apply(this,arguments);return b._pc=this,b}),A.RTCRtpSender.prototype.getStats=function(){var b=this;return this._pc.getStats().then(function(R){return k.filterStats(R,b.track,!0)})}}if(!("getStats"in A.RTCRtpReceiver.prototype)){var x2=A.RTCPeerConnection.prototype.getReceivers;x2&&(A.RTCPeerConnection.prototype.getReceivers=function(){var b=this,R=x2.apply(this,[]);return R.forEach(function(h2){return h2._pc=b}),R}),k.wrapPeerConnectionEvent(A,"track",function(G){return G.receiver._pc=G.srcElement,G}),A.RTCRtpReceiver.prototype.getStats=function(){var b=this;return this._pc.getStats().then(function(R){return k.filterStats(R,b.track,!1)})}}if("getStats"in A.RTCRtpSender.prototype&&"getStats"in A.RTCRtpReceiver.prototype){var R2=A.RTCPeerConnection.prototype.getStats;A.RTCPeerConnection.prototype.getStats=function(){if(arguments.length>0&&arguments[0]instanceof A.MediaStreamTrack){var b=arguments[0],R=void 0,h2=void 0,B2=void 0;return this.getSenders().forEach(function(U2){U2.track===b&&(R?B2=!0:R=U2)}),this.getReceivers().forEach(function(U2){return U2.track===b&&(h2?B2=!0:h2=U2),U2.track===b}),B2||R&&h2?Promise.reject(new DOMException("There are more than one sender or receiver for the track.","InvalidAccessError")):R?R.getStats():h2?h2.getStats():Promise.reject(new DOMException("There is no sender or receiver for the track.","InvalidAccessError"))}return R2.apply(this,arguments)}}}}function p2(A){A.RTCPeerConnection.prototype.getLocalStreams=function(){var b=this;return this._shimmedLocalStreams=this._shimmedLocalStreams||{},Object.keys(this._shimmedLocalStreams).map(function(R){return b._shimmedLocalStreams[R][0]})};var j=A.RTCPeerConnection.prototype.addTrack;A.RTCPeerConnection.prototype.addTrack=function(b,R){if(!R)return j.apply(this,arguments);this._shimmedLocalStreams=this._shimmedLocalStreams||{};var h2=j.apply(this,arguments);return this._shimmedLocalStreams[R.id]?this._shimmedLocalStreams[R.id].indexOf(h2)===-1&&this._shimmedLocalStreams[R.id].push(h2):this._shimmedLocalStreams[R.id]=[R,h2],h2};var H=A.RTCPeerConnection.prototype.addStream;A.RTCPeerConnection.prototype.addStream=function(b){var R=this;this._shimmedLocalStreams=this._shimmedLocalStreams||{},b.getTracks().forEach(function(U2){var g3=R.getSenders().find(function(P3){return P3.track===U2});if(g3)throw new DOMException("Track already exists.","InvalidAccessError")});var h2=this.getSenders();H.apply(this,arguments);var B2=this.getSenders().filter(function(U2){return h2.indexOf(U2)===-1});this._shimmedLocalStreams[b.id]=[b].concat(B2)};var x2=A.RTCPeerConnection.prototype.removeStream;A.RTCPeerConnection.prototype.removeStream=function(b){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},delete this._shimmedLocalStreams[b.id],x2.apply(this,arguments)};var R2=A.RTCPeerConnection.prototype.removeTrack;A.RTCPeerConnection.prototype.removeTrack=function(b){var R=this;return this._shimmedLocalStreams=this._shimmedLocalStreams||{},b&&Object.keys(this._shimmedLocalStreams).forEach(function(h2){var B2=R._shimmedLocalStreams[h2].indexOf(b);B2!==-1&&R._shimmedLocalStreams[h2].splice(B2,1),R._shimmedLocalStreams[h2].length===1&&delete R._shimmedLocalStreams[h2]}),R2.apply(this,arguments)}}function g2(A){if(!A.RTCPeerConnection)return;var j=k.detectBrowser(A);if(A.RTCPeerConnection.prototype.addTrack&&j.version>=65)return p2(A);var H=A.RTCPeerConnection.prototype.getLocalStreams;A.RTCPeerConnection.prototype.getLocalStreams=function(){var U2=this,g3=H.apply(this);return this._reverseStreams=this._reverseStreams||{},g3.map(function(P3){return U2._reverseStreams[P3.id]})};var x2=A.RTCPeerConnection.prototype.addStream;A.RTCPeerConnection.prototype.addStream=function(U2){var g3=this;if(this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{},U2.getTracks().forEach(function(W3){var V3=g3.getSenders().find(function(z3){return z3.track===W3});if(V3)throw new DOMException("Track already exists.","InvalidAccessError")}),!this._reverseStreams[U2.id]){var P3=new A.MediaStream(U2.getTracks());this._streams[U2.id]=P3,this._reverseStreams[P3.id]=U2,U2=P3}x2.apply(this,[U2])};var R2=A.RTCPeerConnection.prototype.removeStream;A.RTCPeerConnection.prototype.removeStream=function(U2){this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{},R2.apply(this,[this._streams[U2.id]||U2]),delete this._reverseStreams[this._streams[U2.id]?this._streams[U2.id].id:U2.id],delete this._streams[U2.id]},A.RTCPeerConnection.prototype.addTrack=function(U2,g3){var P3=this;if(this.signalingState==="closed")throw new DOMException("The RTCPeerConnection's signalingState is 'closed'.","InvalidStateError");var W3=[].slice.call(arguments,1);if(W3.length!==1||!W3[0].getTracks().find(function(T1){return T1===U2}))throw new DOMException("The adapter.js addTrack polyfill only supports a single stream which is associated with the specified track.","NotSupportedError");var V3=this.getSenders().find(function(T1){return T1.track===U2});if(V3)throw new DOMException("Track already exists.","InvalidAccessError");this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{};var z3=this._streams[g3.id];if(z3)z3.addTrack(U2),Promise.resolve().then(function(){P3.dispatchEvent(new Event("negotiationneeded"))});else{var o1=new A.MediaStream([U2]);this._streams[g3.id]=o1,this._reverseStreams[o1.id]=g3,this.addStream(o1)}return this.getSenders().find(function(T1){return T1.track===U2})};function G(B2,U2){var g3=U2.sdp;return Object.keys(B2._reverseStreams||[]).forEach(function(P3){var W3=B2._reverseStreams[P3],V3=B2._streams[W3.id];g3=g3.replace(new RegExp(V3.id,"g"),W3.id)}),new RTCSessionDescription({type:U2.type,sdp:g3})}function b(B2,U2){var g3=U2.sdp;return Object.keys(B2._reverseStreams||[]).forEach(function(P3){var W3=B2._reverseStreams[P3],V3=B2._streams[W3.id];g3=g3.replace(new RegExp(W3.id,"g"),V3.id)}),new RTCSessionDescription({type:U2.type,sdp:g3})}["createOffer","createAnswer"].forEach(function(B2){var U2=A.RTCPeerConnection.prototype[B2],g3=t2({},B2,function(){var P3=this,W3=arguments,V3=arguments.length&&typeof arguments[0]=="function";return V3?U2.apply(this,[function(z3){var o1=G(P3,z3);W3[0].apply(null,[o1])},function(z3){W3[1]&&W3[1].apply(null,z3)},arguments[2]]):U2.apply(this,arguments).then(function(z3){return G(P3,z3)})});A.RTCPeerConnection.prototype[B2]=g3[B2]});var R=A.RTCPeerConnection.prototype.setLocalDescription;A.RTCPeerConnection.prototype.setLocalDescription=function(){return!arguments.length||!arguments[0].type?R.apply(this,arguments):(arguments[0]=b(this,arguments[0]),R.apply(this,arguments))};var h2=Object.getOwnPropertyDescriptor(A.RTCPeerConnection.prototype,"localDescription");Object.defineProperty(A.RTCPeerConnection.prototype,"localDescription",{get:function(){var U2=h2.get.apply(this);return U2.type===""?U2:G(this,U2)}}),A.RTCPeerConnection.prototype.removeTrack=function(U2){var g3=this;if(this.signalingState==="closed")throw new DOMException("The RTCPeerConnection's signalingState is 'closed'.","InvalidStateError");if(!U2._pc)throw new DOMException("Argument 1 of RTCPeerConnection.removeTrack does not implement interface RTCRtpSender.","TypeError");var P3=U2._pc===this;if(!P3)throw new DOMException("Sender was not created by this connection.","InvalidAccessError");this._streams=this._streams||{};var W3=void 0;Object.keys(this._streams).forEach(function(V3){var z3=g3._streams[V3].getTracks().find(function(o1){return U2.track===o1});z3&&(W3=g3._streams[V3])}),W3&&(W3.getTracks().length===1?this.removeStream(this._reverseStreams[W3.id]):W3.removeTrack(U2.track),this.dispatchEvent(new Event("negotiationneeded")))}}function O2(A){var j=k.detectBrowser(A);if(!A.RTCPeerConnection&&A.webkitRTCPeerConnection&&(A.RTCPeerConnection=A.webkitRTCPeerConnection),!!A.RTCPeerConnection){j.version<53&&["setLocalDescription","setRemoteDescription","addIceCandidate"].forEach(function(x2){var R2=A.RTCPeerConnection.prototype[x2],G=t2({},x2,function(){return arguments[0]=new(x2==="addIceCandidate"?A.RTCIceCandidate:A.RTCSessionDescription)(arguments[0]),R2.apply(this,arguments)});A.RTCPeerConnection.prototype[x2]=G[x2]});var H=A.RTCPeerConnection.prototype.addIceCandidate;A.RTCPeerConnection.prototype.addIceCandidate=function(){return arguments[0]?j.version<78&&arguments[0]&&arguments[0].candidate===""?Promise.resolve():H.apply(this,arguments):(arguments[1]&&arguments[1].apply(null),Promise.resolve())}}}function r2(A){k.wrapPeerConnectionEvent(A,"negotiationneeded",function(j){var H=j.target;if(H.signalingState==="stable")return j})}},{"../utils.js":15,"./getdisplaymedia":4,"./getusermedia":5}],4:[function(U,N,m){Object.defineProperty(m,"__esModule",{value:!0}),m.shimGetDisplayMedia=g;function g(v,S){if(!(v.navigator.mediaDevices&&"getDisplayMedia"in v.navigator.mediaDevices)&&v.navigator.mediaDevices){if(typeof S!="function"){console.error("shimGetDisplayMedia: getSourceId argument is not a function");return}v.navigator.mediaDevices.getDisplayMedia=function(k){return S(k).then(function(m2){var t2=k.video&&k.video.width,d2=k.video&&k.video.height,Z=k.video&&k.video.frameRate;return k.video={mandatory:{chromeMediaSource:"desktop",chromeMediaSourceId:m2,maxFrameRate:Z||3}},t2&&(k.video.mandatory.maxWidth=t2),d2&&(k.video.mandatory.maxHeight=d2),v.navigator.mediaDevices.getUserMedia(k)})}}}},{}],5:[function(U,N,m){Object.defineProperty(m,"__esModule",{value:!0});var g=typeof Symbol=="function"&&t(Symbol.iterator)==="symbol"?function(t2){return t(t2)}:function(t2){return t2&&typeof Symbol=="function"&&t2.constructor===Symbol&&t2!==Symbol.prototype?"symbol":t(t2)};m.shimGetUserMedia=m2;var v=U("../utils.js"),S=x(v);function x(t2){if(t2&&t2.__esModule)return t2;var d2={};if(t2!=null)for(var Z in t2)Object.prototype.hasOwnProperty.call(t2,Z)&&(d2[Z]=t2[Z]);return d2.default=t2,d2}var k=S.log;function m2(t2){var d2=t2&&t2.navigator;if(d2.mediaDevices){var Z=S.detectBrowser(t2),W=function(r2){if((typeof r2=="undefined"?"undefined":g(r2))!=="object"||r2.mandatory||r2.optional)return r2;var A={};return Object.keys(r2).forEach(function(j){if(!(j==="require"||j==="advanced"||j==="mediaSource")){var H=g(r2[j])==="object"?r2[j]:{ideal:r2[j]};H.exact!==void 0&&typeof H.exact=="number"&&(H.min=H.max=H.exact);var x2=function(b,R){return b?b+R.charAt(0).toUpperCase()+R.slice(1):R==="deviceId"?"sourceId":R};if(H.ideal!==void 0){A.optional=A.optional||[];var R2={};typeof H.ideal=="number"?(R2[x2("min",j)]=H.ideal,A.optional.push(R2),R2={},R2[x2("max",j)]=H.ideal,A.optional.push(R2)):(R2[x2("",j)]=H.ideal,A.optional.push(R2))}H.exact!==void 0&&typeof H.exact!="number"?(A.mandatory=A.mandatory||{},A.mandatory[x2("",j)]=H.exact):["min","max"].forEach(function(G){H[G]!==void 0&&(A.mandatory=A.mandatory||{},A.mandatory[x2(G,j)]=H[G])})}}),r2.advanced&&(A.optional=(A.optional||[]).concat(r2.advanced)),A},L2=function(r2,A){if(Z.version>=61)return A(r2);if(r2=JSON.parse(JSON.stringify(r2)),r2&&g(r2.audio)==="object"){var j=function(b,R,h2){R in b&&!(h2 in b)&&(b[h2]=b[R],delete b[R])};r2=JSON.parse(JSON.stringify(r2)),j(r2.audio,"autoGainControl","googAutoGainControl"),j(r2.audio,"noiseSuppression","googNoiseSuppression"),r2.audio=W(r2.audio)}if(r2&&g(r2.video)==="object"){var H=r2.video.facingMode;H=H&&((typeof H=="undefined"?"undefined":g(H))==="object"?H:{ideal:H});var x2=Z.version<66;if(H&&(H.exact==="user"||H.exact==="environment"||H.ideal==="user"||H.ideal==="environment")&&!(d2.mediaDevices.getSupportedConstraints&&d2.mediaDevices.getSupportedConstraints().facingMode&&!x2)){delete r2.video.facingMode;var R2=void 0;if(H.exact==="environment"||H.ideal==="environment"?R2=["back","rear"]:(H.exact==="user"||H.ideal==="user")&&(R2=["front"]),R2)return d2.mediaDevices.enumerateDevices().then(function(G){G=G.filter(function(R){return R.kind==="videoinput"});var b=G.find(function(R){return R2.some(function(h2){return R.label.toLowerCase().includes(h2)})});return!b&&G.length&&R2.includes("back")&&(b=G[G.length-1]),b&&(r2.video.deviceId=H.exact?{exact:b.deviceId}:{ideal:b.deviceId}),r2.video=W(r2.video),k("chrome: "+JSON.stringify(r2)),A(r2)})}r2.video=W(r2.video)}return k("chrome: "+JSON.stringify(r2)),A(r2)},y2=function(r2){return Z.version>=64?r2:{name:{PermissionDeniedError:"NotAllowedError",PermissionDismissedError:"NotAllowedError",InvalidStateError:"NotAllowedError",DevicesNotFoundError:"NotFoundError",ConstraintNotSatisfiedError:"OverconstrainedError",TrackStartError:"NotReadableError",MediaDeviceFailedDueToShutdown:"NotAllowedError",MediaDeviceKillSwitchOn:"NotAllowedError",TabCaptureError:"AbortError",ScreenCaptureError:"AbortError",DeviceCaptureError:"AbortError"}[r2.name]||r2.name,message:r2.message,constraint:r2.constraint||r2.constraintName,toString:function(){return this.name+(this.message&&": ")+this.message}}},p2=function(r2,A,j){L2(r2,function(H){d2.webkitGetUserMedia(H,A,function(x2){j&&j(y2(x2))})})};if(d2.getUserMedia=p2.bind(d2),d2.mediaDevices.getUserMedia){var g2=d2.mediaDevices.getUserMedia.bind(d2.mediaDevices);d2.mediaDevices.getUserMedia=function(O2){return L2(O2,function(r2){return g2(r2).then(function(A){if(r2.audio&&!A.getAudioTracks().length||r2.video&&!A.getVideoTracks().length)throw A.getTracks().forEach(function(j){j.stop()}),new DOMException("","NotFoundError");return A},function(A){return Promise.reject(y2(A))})})}}}}},{"../utils.js":15}],6:[function(U,N,m){Object.defineProperty(m,"__esModule",{value:!0});var g=typeof Symbol=="function"&&t(Symbol.iterator)==="symbol"?function(p2){return t(p2)}:function(p2){return p2&&typeof Symbol=="function"&&p2.constructor===Symbol&&p2!==Symbol.prototype?"symbol":t(p2)};m.shimRTCIceCandidate=d2,m.shimMaxMessageSize=Z,m.shimSendThrowTypeError=W,m.shimConnectionState=L2,m.removeAllowExtmapMixed=y2;var v=U("sdp"),S=t2(v),x=U("./utils"),k=m2(x);function m2(p2){if(p2&&p2.__esModule)return p2;var g2={};if(p2!=null)for(var O2 in p2)Object.prototype.hasOwnProperty.call(p2,O2)&&(g2[O2]=p2[O2]);return g2.default=p2,g2}function t2(p2){return p2&&p2.__esModule?p2:{default:p2}}function d2(p2){if(!(!p2.RTCIceCandidate||p2.RTCIceCandidate&&"foundation"in p2.RTCIceCandidate.prototype)){var g2=p2.RTCIceCandidate;p2.RTCIceCandidate=function(r2){if((typeof r2=="undefined"?"undefined":g(r2))==="object"&&r2.candidate&&r2.candidate.indexOf("a=")===0&&(r2=JSON.parse(JSON.stringify(r2)),r2.candidate=r2.candidate.substr(2)),r2.candidate&&r2.candidate.length){var A=new g2(r2),j=S.default.parseCandidate(r2.candidate),H=Object.assign(A,j);return H.toJSON=function(){return{candidate:H.candidate,sdpMid:H.sdpMid,sdpMLineIndex:H.sdpMLineIndex,usernameFragment:H.usernameFragment}},H}return new g2(r2)},p2.RTCIceCandidate.prototype=g2.prototype,k.wrapPeerConnectionEvent(p2,"icecandidate",function(O2){return O2.candidate&&Object.defineProperty(O2,"candidate",{value:new p2.RTCIceCandidate(O2.candidate),writable:"false"}),O2})}}function Z(p2){if(p2.RTCPeerConnection){var g2=k.detectBrowser(p2);"sctp"in p2.RTCPeerConnection.prototype||Object.defineProperty(p2.RTCPeerConnection.prototype,"sctp",{get:function(){return typeof this._sctp=="undefined"?null:this._sctp}});var O2=function(R2){if(!R2||!R2.sdp)return!1;var G=S.default.splitSections(R2.sdp);return G.shift(),G.some(function(b){var R=S.default.parseMLine(b);return R&&R.kind==="application"&&R.protocol.indexOf("SCTP")!==-1})},r2=function(R2){var G=R2.sdp.match(/mozilla...THIS_IS_SDPARTA-(\d+)/);if(G===null||G.length<2)return-1;var b=parseInt(G[1],10);return b!==b?-1:b},A=function(R2){var G=65536;return g2.browser==="firefox"&&(g2.version<57?R2===-1?G=16384:G=2147483637:g2.version<60?G=g2.version===57?65535:65536:G=2147483637),G},j=function(R2,G){var b=65536;g2.browser==="firefox"&&g2.version===57&&(b=65535);var R=S.default.matchPrefix(R2.sdp,"a=max-message-size:");return R.length>0?b=parseInt(R[0].substr(19),10):g2.browser==="firefox"&&G!==-1&&(b=2147483637),b},H=p2.RTCPeerConnection.prototype.setRemoteDescription;p2.RTCPeerConnection.prototype.setRemoteDescription=function(){if(this._sctp=null,g2.browser==="chrome"&&g2.version>=76){var R2=this.getConfiguration(),G=R2.sdpSemantics;G==="plan-b"&&Object.defineProperty(this,"sctp",{get:function(){return typeof this._sctp=="undefined"?null:this._sctp},enumerable:!0,configurable:!0})}if(O2(arguments[0])){var b=r2(arguments[0]),R=A(b),h2=j(arguments[0],b),B2=void 0;R===0&&h2===0?B2=Number.POSITIVE_INFINITY:R===0||h2===0?B2=Math.max(R,h2):B2=Math.min(R,h2);var U2={};Object.defineProperty(U2,"maxMessageSize",{get:function(){return B2}}),this._sctp=U2}return H.apply(this,arguments)}}}function W(p2){if(!(p2.RTCPeerConnection&&"createDataChannel"in p2.RTCPeerConnection.prototype))return;function g2(r2,A){var j=r2.send;r2.send=function(){var x2=arguments[0],R2=x2.length||x2.size||x2.byteLength;if(r2.readyState==="open"&&A.sctp&&R2>A.sctp.maxMessageSize)throw new TypeError("Message too large (can send a maximum of "+A.sctp.maxMessageSize+" bytes)");return j.apply(r2,arguments)}}var O2=p2.RTCPeerConnection.prototype.createDataChannel;p2.RTCPeerConnection.prototype.createDataChannel=function(){var A=O2.apply(this,arguments);return g2(A,this),A},k.wrapPeerConnectionEvent(p2,"datachannel",function(r2){return g2(r2.channel,r2.target),r2})}function L2(p2){if(!(!p2.RTCPeerConnection||"connectionState"in p2.RTCPeerConnection.prototype)){var g2=p2.RTCPeerConnection.prototype;Object.defineProperty(g2,"connectionState",{get:function(){return{completed:"connected",checking:"connecting"}[this.iceConnectionState]||this.iceConnectionState},enumerable:!0,configurable:!0}),Object.defineProperty(g2,"onconnectionstatechange",{get:function(){return this._onconnectionstatechange||null},set:function(r2){this._onconnectionstatechange&&(this.removeEventListener("connectionstatechange",this._onconnectionstatechange),delete this._onconnectionstatechange),r2&&this.addEventListener("connectionstatechange",this._onconnectionstatechange=r2)},enumerable:!0,configurable:!0}),["setLocalDescription","setRemoteDescription"].forEach(function(O2){var r2=g2[O2];g2[O2]=function(){return this._connectionstatechangepoly||(this._connectionstatechangepoly=function(A){var j=A.target;if(j._lastConnectionState!==j.connectionState){j._lastConnectionState=j.connectionState;var H=new Event("connectionstatechange",A);j.dispatchEvent(H)}return A},this.addEventListener("iceconnectionstatechange",this._connectionstatechangepoly)),r2.apply(this,arguments)}})}}function y2(p2){if(p2.RTCPeerConnection){var g2=k.detectBrowser(p2);if(!(g2.browser==="chrome"&&g2.version>=71)){var O2=p2.RTCPeerConnection.prototype.setRemoteDescription;p2.RTCPeerConnection.prototype.setRemoteDescription=function(A){return A&&A.sdp&&A.sdp.indexOf(`
a=extmap-allow-mixed`)!==-1&&(A.sdp=A.sdp.split(`
`).filter(function(j){return j.trim()!=="a=extmap-allow-mixed"}).join(`
`)),O2.apply(this,arguments)}}}}},{"./utils":15,sdp:17}],7:[function(U,N,m){Object.defineProperty(m,"__esModule",{value:!0}),m.shimGetDisplayMedia=m.shimGetUserMedia=void 0;var g=U("./getusermedia");Object.defineProperty(m,"shimGetUserMedia",{enumerable:!0,get:function(){return g.shimGetUserMedia}});var v=U("./getdisplaymedia");Object.defineProperty(m,"shimGetDisplayMedia",{enumerable:!0,get:function(){return v.shimGetDisplayMedia}}),m.shimPeerConnection=W,m.shimReplaceTrack=L2;var S=U("../utils"),x=Z(S),k=U("./filtericeservers"),m2=U("rtcpeerconnection-shim"),t2=d2(m2);function d2(y2){return y2&&y2.__esModule?y2:{default:y2}}function Z(y2){if(y2&&y2.__esModule)return y2;var p2={};if(y2!=null)for(var g2 in y2)Object.prototype.hasOwnProperty.call(y2,g2)&&(p2[g2]=y2[g2]);return p2.default=y2,p2}function W(y2){var p2=x.detectBrowser(y2);if(y2.RTCIceGatherer&&(y2.RTCIceCandidate||(y2.RTCIceCandidate=function(A){return A}),y2.RTCSessionDescription||(y2.RTCSessionDescription=function(A){return A}),p2.version<15025)){var g2=Object.getOwnPropertyDescriptor(y2.MediaStreamTrack.prototype,"enabled");Object.defineProperty(y2.MediaStreamTrack.prototype,"enabled",{set:function(A){g2.set.call(this,A);var j=new Event("enabled");j.enabled=A,this.dispatchEvent(j)}})}y2.RTCRtpSender&&!("dtmf"in y2.RTCRtpSender.prototype)&&Object.defineProperty(y2.RTCRtpSender.prototype,"dtmf",{get:function(){return this._dtmf===void 0&&(this.track.kind==="audio"?this._dtmf=new y2.RTCDtmfSender(this):this.track.kind==="video"&&(this._dtmf=null)),this._dtmf}}),y2.RTCDtmfSender&&!y2.RTCDTMFSender&&(y2.RTCDTMFSender=y2.RTCDtmfSender);var O2=(0,t2.default)(y2,p2.version);y2.RTCPeerConnection=function(A){return A&&A.iceServers&&(A.iceServers=(0,k.filterIceServers)(A.iceServers,p2.version),x.log("ICE servers after filtering:",A.iceServers)),new O2(A)},y2.RTCPeerConnection.prototype=O2.prototype}function L2(y2){y2.RTCRtpSender&&!("replaceTrack"in y2.RTCRtpSender.prototype)&&(y2.RTCRtpSender.prototype.replaceTrack=y2.RTCRtpSender.prototype.setTrack)}},{"../utils":15,"./filtericeservers":8,"./getdisplaymedia":9,"./getusermedia":10,"rtcpeerconnection-shim":16}],8:[function(U,N,m){Object.defineProperty(m,"__esModule",{value:!0}),m.filterIceServers=x;var g=U("../utils"),v=S(g);function S(k){if(k&&k.__esModule)return k;var m2={};if(k!=null)for(var t2 in k)Object.prototype.hasOwnProperty.call(k,t2)&&(m2[t2]=k[t2]);return m2.default=k,m2}function x(k,m2){var t2=!1;return k=JSON.parse(JSON.stringify(k)),k.filter(function(d2){if(d2&&(d2.urls||d2.url)){var Z=d2.urls||d2.url;d2.url&&!d2.urls&&v.deprecated("RTCIceServer.url","RTCIceServer.urls");var W=typeof Z=="string";return W&&(Z=[Z]),Z=Z.filter(function(L2){if(L2.indexOf("stun:")===0)return!1;var y2=L2.startsWith("turn")&&!L2.startsWith("turn:[")&&L2.includes("transport=udp");return y2&&!t2?(t2=!0,!0):y2&&!t2}),delete d2.url,d2.urls=W?Z[0]:Z,!!Z.length}})}},{"../utils":15}],9:[function(U,N,m){Object.defineProperty(m,"__esModule",{value:!0}),m.shimGetDisplayMedia=g;function g(v){"getDisplayMedia"in v.navigator&&v.navigator.mediaDevices&&(v.navigator.mediaDevices&&"getDisplayMedia"in v.navigator.mediaDevices||(v.navigator.mediaDevices.getDisplayMedia=v.navigator.getDisplayMedia.bind(v.navigator)))}},{}],10:[function(U,N,m){Object.defineProperty(m,"__esModule",{value:!0}),m.shimGetUserMedia=g;function g(v){var S=v&&v.navigator,x=function(t2){return{name:{PermissionDeniedError:"NotAllowedError"}[t2.name]||t2.name,message:t2.message,constraint:t2.constraint,toString:function(){return this.name}}},k=S.mediaDevices.getUserMedia.bind(S.mediaDevices);S.mediaDevices.getUserMedia=function(m2){return k(m2).catch(function(t2){return Promise.reject(x(t2))})}}},{}],11:[function(U,N,m){Object.defineProperty(m,"__esModule",{value:!0}),m.shimGetDisplayMedia=m.shimGetUserMedia=void 0;var g=typeof Symbol=="function"&&t(Symbol.iterator)==="symbol"?function(A){return t(A)}:function(A){return A&&typeof Symbol=="function"&&A.constructor===Symbol&&A!==Symbol.prototype?"symbol":t(A)},v=U("./getusermedia");Object.defineProperty(m,"shimGetUserMedia",{enumerable:!0,get:function(){return v.shimGetUserMedia}});var S=U("./getdisplaymedia");Object.defineProperty(m,"shimGetDisplayMedia",{enumerable:!0,get:function(){return S.shimGetDisplayMedia}}),m.shimOnTrack=d2,m.shimPeerConnection=Z,m.shimSenderGetStats=W,m.shimReceiverGetStats=L2,m.shimRemoveStream=y2,m.shimRTCDataChannel=p2,m.shimAddTransceiver=g2,m.shimCreateOffer=O2,m.shimCreateAnswer=r2;var x=U("../utils"),k=m2(x);function m2(A){if(A&&A.__esModule)return A;var j={};if(A!=null)for(var H in A)Object.prototype.hasOwnProperty.call(A,H)&&(j[H]=A[H]);return j.default=A,j}function t2(A,j,H){return j in A?Object.defineProperty(A,j,{value:H,enumerable:!0,configurable:!0,writable:!0}):A[j]=H,A}function d2(A){(typeof A=="undefined"?"undefined":g(A))==="object"&&A.RTCTrackEvent&&"receiver"in A.RTCTrackEvent.prototype&&!("transceiver"in A.RTCTrackEvent.prototype)&&Object.defineProperty(A.RTCTrackEvent.prototype,"transceiver",{get:function(){return{receiver:this.receiver}}})}function Z(A){var j=k.detectBrowser(A);if(!((typeof A=="undefined"?"undefined":g(A))!=="object"||!(A.RTCPeerConnection||A.mozRTCPeerConnection))){if(!A.RTCPeerConnection&&A.mozRTCPeerConnection&&(A.RTCPeerConnection=A.mozRTCPeerConnection),j.version<53&&["setLocalDescription","setRemoteDescription","addIceCandidate"].forEach(function(G){var b=A.RTCPeerConnection.prototype[G],R=t2({},G,function(){return arguments[0]=new(G==="addIceCandidate"?A.RTCIceCandidate:A.RTCSessionDescription)(arguments[0]),b.apply(this,arguments)});A.RTCPeerConnection.prototype[G]=R[G]}),j.version<68){var H=A.RTCPeerConnection.prototype.addIceCandidate;A.RTCPeerConnection.prototype.addIceCandidate=function(){return arguments[0]?arguments[0]&&arguments[0].candidate===""?Promise.resolve():H.apply(this,arguments):(arguments[1]&&arguments[1].apply(null),Promise.resolve())}}var x2={inboundrtp:"inbound-rtp",outboundrtp:"outbound-rtp",candidatepair:"candidate-pair",localcandidate:"local-candidate",remotecandidate:"remote-candidate"},R2=A.RTCPeerConnection.prototype.getStats;A.RTCPeerConnection.prototype.getStats=function(){var b=Array.prototype.slice.call(arguments),R=b[0],h2=b[1],B2=b[2];return R2.apply(this,[R||null]).then(function(U2){if(j.version<53&&!h2)try{U2.forEach(function(g3){g3.type=x2[g3.type]||g3.type})}catch(g3){if(g3.name!=="TypeError")throw g3;U2.forEach(function(P3,W3){U2.set(W3,Object.assign({},P3,{type:x2[P3.type]||P3.type}))})}return U2}).then(h2,B2)}}}function W(A){if((typeof A=="undefined"?"undefined":g(A))==="object"&&A.RTCPeerConnection&&A.RTCRtpSender&&!(A.RTCRtpSender&&"getStats"in A.RTCRtpSender.prototype)){var j=A.RTCPeerConnection.prototype.getSenders;j&&(A.RTCPeerConnection.prototype.getSenders=function(){var R2=this,G=j.apply(this,[]);return G.forEach(function(b){return b._pc=R2}),G});var H=A.RTCPeerConnection.prototype.addTrack;H&&(A.RTCPeerConnection.prototype.addTrack=function(){var R2=H.apply(this,arguments);return R2._pc=this,R2}),A.RTCRtpSender.prototype.getStats=function(){return this.track?this._pc.getStats(this.track):Promise.resolve(new Map)}}}function L2(A){if((typeof A=="undefined"?"undefined":g(A))==="object"&&A.RTCPeerConnection&&A.RTCRtpSender&&!(A.RTCRtpSender&&"getStats"in A.RTCRtpReceiver.prototype)){var j=A.RTCPeerConnection.prototype.getReceivers;j&&(A.RTCPeerConnection.prototype.getReceivers=function(){var x2=this,R2=j.apply(this,[]);return R2.forEach(function(G){return G._pc=x2}),R2}),k.wrapPeerConnectionEvent(A,"track",function(H){return H.receiver._pc=H.srcElement,H}),A.RTCRtpReceiver.prototype.getStats=function(){return this._pc.getStats(this.track)}}}function y2(A){!A.RTCPeerConnection||"removeStream"in A.RTCPeerConnection.prototype||(A.RTCPeerConnection.prototype.removeStream=function(H){var x2=this;k.deprecated("removeStream","removeTrack"),this.getSenders().forEach(function(R2){R2.track&&H.getTracks().includes(R2.track)&&x2.removeTrack(R2)})})}function p2(A){A.DataChannel&&!A.RTCDataChannel&&(A.RTCDataChannel=A.DataChannel)}function g2(A){if((typeof A=="undefined"?"undefined":g(A))==="object"&&A.RTCPeerConnection){var j=A.RTCPeerConnection.prototype.addTransceiver;j&&(A.RTCPeerConnection.prototype.addTransceiver=function(){this.setParametersPromises=[];var x2=arguments[1],R2=x2&&"sendEncodings"in x2;R2&&x2.sendEncodings.forEach(function(h2){if("rid"in h2){var B2=/^[a-z0-9]{0,16}$/i;if(!B2.test(h2.rid))throw new TypeError("Invalid RID value provided.")}if("scaleResolutionDownBy"in h2&&!(parseFloat(h2.scaleResolutionDownBy)>=1))throw new RangeError("scale_resolution_down_by must be >= 1.0");if("maxFramerate"in h2&&!(parseFloat(h2.maxFramerate)>=0))throw new RangeError("max_framerate must be >= 0.0")});var G=j.apply(this,arguments);if(R2){var b=G.sender,R=b.getParameters();"encodings"in R||(R.encodings=x2.sendEncodings,this.setParametersPromises.push(b.setParameters(R).catch(function(){})))}return G})}}function O2(A){if((typeof A=="undefined"?"undefined":g(A))==="object"&&A.RTCPeerConnection){var j=A.RTCPeerConnection.prototype.createOffer;A.RTCPeerConnection.prototype.createOffer=function(){var x2=this,R2=arguments;return this.setParametersPromises&&this.setParametersPromises.length?Promise.all(this.setParametersPromises).then(function(){return j.apply(x2,R2)}).finally(function(){x2.setParametersPromises=[]}):j.apply(this,arguments)}}}function r2(A){if((typeof A=="undefined"?"undefined":g(A))==="object"&&A.RTCPeerConnection){var j=A.RTCPeerConnection.prototype.createAnswer;A.RTCPeerConnection.prototype.createAnswer=function(){var x2=this,R2=arguments;return this.setParametersPromises&&this.setParametersPromises.length?Promise.all(this.setParametersPromises).then(function(){return j.apply(x2,R2)}).finally(function(){x2.setParametersPromises=[]}):j.apply(this,arguments)}}}},{"../utils":15,"./getdisplaymedia":12,"./getusermedia":13}],12:[function(U,N,m){Object.defineProperty(m,"__esModule",{value:!0}),m.shimGetDisplayMedia=g;function g(v,S){v.navigator.mediaDevices&&"getDisplayMedia"in v.navigator.mediaDevices||v.navigator.mediaDevices&&(v.navigator.mediaDevices.getDisplayMedia=function(k){if(!(k&&k.video)){var m2=new DOMException("getDisplayMedia without video constraints is undefined");return m2.name="NotFoundError",m2.code=8,Promise.reject(m2)}return k.video===!0?k.video={mediaSource:S}:k.video.mediaSource=S,v.navigator.mediaDevices.getUserMedia(k)})}},{}],13:[function(U,N,m){Object.defineProperty(m,"__esModule",{value:!0});var g=typeof Symbol=="function"&&t(Symbol.iterator)==="symbol"?function(m2){return t(m2)}:function(m2){return m2&&typeof Symbol=="function"&&m2.constructor===Symbol&&m2!==Symbol.prototype?"symbol":t(m2)};m.shimGetUserMedia=k;var v=U("../utils"),S=x(v);function x(m2){if(m2&&m2.__esModule)return m2;var t2={};if(m2!=null)for(var d2 in m2)Object.prototype.hasOwnProperty.call(m2,d2)&&(t2[d2]=m2[d2]);return t2.default=m2,t2}function k(m2){var t2=S.detectBrowser(m2),d2=m2&&m2.navigator,Z=m2&&m2.MediaStreamTrack;if(d2.getUserMedia=function(g2,O2,r2){S.deprecated("navigator.getUserMedia","navigator.mediaDevices.getUserMedia"),d2.mediaDevices.getUserMedia(g2).then(O2,r2)},!(t2.version>55&&"autoGainControl"in d2.mediaDevices.getSupportedConstraints())){var W=function(O2,r2,A){r2 in O2&&!(A in O2)&&(O2[A]=O2[r2],delete O2[r2])},L2=d2.mediaDevices.getUserMedia.bind(d2.mediaDevices);if(d2.mediaDevices.getUserMedia=function(g2){return(typeof g2=="undefined"?"undefined":g(g2))==="object"&&g(g2.audio)==="object"&&(g2=JSON.parse(JSON.stringify(g2)),W(g2.audio,"autoGainControl","mozAutoGainControl"),W(g2.audio,"noiseSuppression","mozNoiseSuppression")),L2(g2)},Z&&Z.prototype.getSettings){var y2=Z.prototype.getSettings;Z.prototype.getSettings=function(){var g2=y2.apply(this,arguments);return W(g2,"mozAutoGainControl","autoGainControl"),W(g2,"mozNoiseSuppression","noiseSuppression"),g2}}if(Z&&Z.prototype.applyConstraints){var p2=Z.prototype.applyConstraints;Z.prototype.applyConstraints=function(g2){return this.kind==="audio"&&(typeof g2=="undefined"?"undefined":g(g2))==="object"&&(g2=JSON.parse(JSON.stringify(g2)),W(g2,"autoGainControl","mozAutoGainControl"),W(g2,"noiseSuppression","mozNoiseSuppression")),p2.apply(this,[g2])}}}}},{"../utils":15}],14:[function(U,N,m){Object.defineProperty(m,"__esModule",{value:!0});var g=typeof Symbol=="function"&&t(Symbol.iterator)==="symbol"?function(p2){return t(p2)}:function(p2){return p2&&typeof Symbol=="function"&&p2.constructor===Symbol&&p2!==Symbol.prototype?"symbol":t(p2)};m.shimLocalStreamsAPI=k,m.shimRemoteStreamsAPI=m2,m.shimCallbacksAPI=t2,m.shimGetUserMedia=d2,m.shimConstraints=Z,m.shimRTCIceServerUrls=W,m.shimTrackEventTransceiver=L2,m.shimCreateOfferLegacy=y2;var v=U("../utils"),S=x(v);function x(p2){if(p2&&p2.__esModule)return p2;var g2={};if(p2!=null)for(var O2 in p2)Object.prototype.hasOwnProperty.call(p2,O2)&&(g2[O2]=p2[O2]);return g2.default=p2,g2}function k(p2){if(!((typeof p2=="undefined"?"undefined":g(p2))!=="object"||!p2.RTCPeerConnection)){if("getLocalStreams"in p2.RTCPeerConnection.prototype||(p2.RTCPeerConnection.prototype.getLocalStreams=function(){return this._localStreams||(this._localStreams=[]),this._localStreams}),!("addStream"in p2.RTCPeerConnection.prototype)){var g2=p2.RTCPeerConnection.prototype.addTrack;p2.RTCPeerConnection.prototype.addStream=function(r2){var A=this;this._localStreams||(this._localStreams=[]),this._localStreams.includes(r2)||this._localStreams.push(r2),r2.getAudioTracks().forEach(function(j){return g2.call(A,j,r2)}),r2.getVideoTracks().forEach(function(j){return g2.call(A,j,r2)})},p2.RTCPeerConnection.prototype.addTrack=function(r2){var A=arguments[1];return A&&(this._localStreams?this._localStreams.includes(A)||this._localStreams.push(A):this._localStreams=[A]),g2.apply(this,arguments)}}"removeStream"in p2.RTCPeerConnection.prototype||(p2.RTCPeerConnection.prototype.removeStream=function(r2){var A=this;this._localStreams||(this._localStreams=[]);var j=this._localStreams.indexOf(r2);if(j!==-1){this._localStreams.splice(j,1);var H=r2.getTracks();this.getSenders().forEach(function(x2){H.includes(x2.track)&&A.removeTrack(x2)})}})}}function m2(p2){if(!((typeof p2=="undefined"?"undefined":g(p2))!=="object"||!p2.RTCPeerConnection)&&("getRemoteStreams"in p2.RTCPeerConnection.prototype||(p2.RTCPeerConnection.prototype.getRemoteStreams=function(){return this._remoteStreams?this._remoteStreams:[]}),!("onaddstream"in p2.RTCPeerConnection.prototype))){Object.defineProperty(p2.RTCPeerConnection.prototype,"onaddstream",{get:function(){return this._onaddstream},set:function(r2){var A=this;this._onaddstream&&(this.removeEventListener("addstream",this._onaddstream),this.removeEventListener("track",this._onaddstreampoly)),this.addEventListener("addstream",this._onaddstream=r2),this.addEventListener("track",this._onaddstreampoly=function(j){j.streams.forEach(function(H){if(A._remoteStreams||(A._remoteStreams=[]),!A._remoteStreams.includes(H)){A._remoteStreams.push(H);var x2=new Event("addstream");x2.stream=H,A.dispatchEvent(x2)}})})}});var g2=p2.RTCPeerConnection.prototype.setRemoteDescription;p2.RTCPeerConnection.prototype.setRemoteDescription=function(){var r2=this;return this._onaddstreampoly||this.addEventListener("track",this._onaddstreampoly=function(A){A.streams.forEach(function(j){if(r2._remoteStreams||(r2._remoteStreams=[]),!(r2._remoteStreams.indexOf(j)>=0)){r2._remoteStreams.push(j);var H=new Event("addstream");H.stream=j,r2.dispatchEvent(H)}})}),g2.apply(r2,arguments)}}}function t2(p2){if(!((typeof p2=="undefined"?"undefined":g(p2))!=="object"||!p2.RTCPeerConnection)){var g2=p2.RTCPeerConnection.prototype,O2=g2.createOffer,r2=g2.createAnswer,A=g2.setLocalDescription,j=g2.setRemoteDescription,H=g2.addIceCandidate;g2.createOffer=function(G,b){var R=arguments.length>=2?arguments[2]:arguments[0],h2=O2.apply(this,[R]);return b?(h2.then(G,b),Promise.resolve()):h2},g2.createAnswer=function(G,b){var R=arguments.length>=2?arguments[2]:arguments[0],h2=r2.apply(this,[R]);return b?(h2.then(G,b),Promise.resolve()):h2};var x2=function(G,b,R){var h2=A.apply(this,[G]);return R?(h2.then(b,R),Promise.resolve()):h2};g2.setLocalDescription=x2,x2=function(G,b,R){var h2=j.apply(this,[G]);return R?(h2.then(b,R),Promise.resolve()):h2},g2.setRemoteDescription=x2,x2=function(G,b,R){var h2=H.apply(this,[G]);return R?(h2.then(b,R),Promise.resolve()):h2},g2.addIceCandidate=x2}}function d2(p2){var g2=p2&&p2.navigator;if(g2.mediaDevices&&g2.mediaDevices.getUserMedia){var O2=g2.mediaDevices,r2=O2.getUserMedia.bind(O2);g2.mediaDevices.getUserMedia=function(A){return r2(Z(A))}}!g2.getUserMedia&&g2.mediaDevices&&g2.mediaDevices.getUserMedia&&(g2.getUserMedia=function(j,H,x2){g2.mediaDevices.getUserMedia(j).then(H,x2)}.bind(g2))}function Z(p2){return p2&&p2.video!==void 0?Object.assign({},p2,{video:S.compactObject(p2.video)}):p2}function W(p2){var g2=p2.RTCPeerConnection;p2.RTCPeerConnection=function(r2,A){if(r2&&r2.iceServers){for(var j=[],H=0;H<r2.iceServers.length;H++){var x2=r2.iceServers[H];!x2.hasOwnProperty("urls")&&x2.hasOwnProperty("url")?(S.deprecated("RTCIceServer.url","RTCIceServer.urls"),x2=JSON.parse(JSON.stringify(x2)),x2.urls=x2.url,delete x2.url,j.push(x2)):j.push(r2.iceServers[H])}r2.iceServers=j}return new g2(r2,A)},p2.RTCPeerConnection.prototype=g2.prototype,"generateCertificate"in p2.RTCPeerConnection&&Object.defineProperty(p2.RTCPeerConnection,"generateCertificate",{get:function(){return g2.generateCertificate}})}function L2(p2){(typeof p2=="undefined"?"undefined":g(p2))==="object"&&p2.RTCTrackEvent&&"receiver"in p2.RTCTrackEvent.prototype&&!("transceiver"in p2.RTCTrackEvent.prototype)&&Object.defineProperty(p2.RTCTrackEvent.prototype,"transceiver",{get:function(){return{receiver:this.receiver}}})}function y2(p2){var g2=p2.RTCPeerConnection.prototype.createOffer;p2.RTCPeerConnection.prototype.createOffer=function(r2){if(r2){typeof r2.offerToReceiveAudio!="undefined"&&(r2.offerToReceiveAudio=!!r2.offerToReceiveAudio);var A=this.getTransceivers().find(function(H){return H.receiver.track.kind==="audio"});r2.offerToReceiveAudio===!1&&A?A.direction==="sendrecv"?A.setDirection?A.setDirection("sendonly"):A.direction="sendonly":A.direction==="recvonly"&&(A.setDirection?A.setDirection("inactive"):A.direction="inactive"):r2.offerToReceiveAudio===!0&&!A&&this.addTransceiver("audio"),typeof r2.offerToReceiveVideo!="undefined"&&(r2.offerToReceiveVideo=!!r2.offerToReceiveVideo);var j=this.getTransceivers().find(function(H){return H.receiver.track.kind==="video"});r2.offerToReceiveVideo===!1&&j?j.direction==="sendrecv"?j.setDirection?j.setDirection("sendonly"):j.direction="sendonly":j.direction==="recvonly"&&(j.setDirection?j.setDirection("inactive"):j.direction="inactive"):r2.offerToReceiveVideo===!0&&!j&&this.addTransceiver("video")}return g2.apply(this,arguments)}}},{"../utils":15}],15:[function(U,N,m){Object.defineProperty(m,"__esModule",{value:!0});var g=typeof Symbol=="function"&&t(Symbol.iterator)==="symbol"?function(r2){return t(r2)}:function(r2){return r2&&typeof Symbol=="function"&&r2.constructor===Symbol&&r2!==Symbol.prototype?"symbol":t(r2)};m.extractVersion=k,m.wrapPeerConnectionEvent=m2,m.disableLog=t2,m.disableWarnings=d2,m.log=Z,m.deprecated=W,m.detectBrowser=L2,m.compactObject=p2,m.walkStats=g2,m.filterStats=O2;function v(r2,A,j){return A in r2?Object.defineProperty(r2,A,{value:j,enumerable:!0,configurable:!0,writable:!0}):r2[A]=j,r2}var S=!0,x=!0;function k(r2,A,j){var H=r2.match(A);return H&&H.length>=j&&parseInt(H[j],10)}function m2(r2,A,j){if(r2.RTCPeerConnection){var H=r2.RTCPeerConnection.prototype,x2=H.addEventListener;H.addEventListener=function(G,b){if(G!==A)return x2.apply(this,arguments);var R=function(B2){var U2=j(B2);U2&&b(U2)};return this._eventMap=this._eventMap||{},this._eventMap[b]=R,x2.apply(this,[G,R])};var R2=H.removeEventListener;H.removeEventListener=function(G,b){if(G!==A||!this._eventMap||!this._eventMap[b])return R2.apply(this,arguments);var R=this._eventMap[b];return delete this._eventMap[b],R2.apply(this,[G,R])},Object.defineProperty(H,"on"+A,{get:function(){return this["_on"+A]},set:function(b){this["_on"+A]&&(this.removeEventListener(A,this["_on"+A]),delete this["_on"+A]),b&&this.addEventListener(A,this["_on"+A]=b)},enumerable:!0,configurable:!0})}}function t2(r2){return typeof r2!="boolean"?new Error("Argument type: "+(typeof r2=="undefined"?"undefined":g(r2))+". Please use a boolean."):(S=r2,r2?"adapter.js logging disabled":"adapter.js logging enabled")}function d2(r2){return typeof r2!="boolean"?new Error("Argument type: "+(typeof r2=="undefined"?"undefined":g(r2))+". Please use a boolean."):(x=!r2,"adapter.js deprecation warnings "+(r2?"disabled":"enabled"))}function Z(){if((typeof window=="undefined"?"undefined":g(window))==="object"){if(S)return;typeof console!="undefined"&&typeof console.log=="function"&&console.log.apply(console,arguments)}}function W(r2,A){x&&console.warn(r2+" is deprecated, please use "+A+" instead.")}function L2(r2){var A=r2.navigator,j={browser:null,version:null};if(typeof r2=="undefined"||!r2.navigator)return j.browser="Not a browser.",j;if(A.mozGetUserMedia)j.browser="firefox",j.version=k(A.userAgent,/Firefox\/(\d+)\./,1);else if(A.webkitGetUserMedia||r2.isSecureContext===!1&&r2.webkitRTCPeerConnection&&!r2.RTCIceGatherer)j.browser="chrome",j.version=k(A.userAgent,/Chrom(e|ium)\/(\d+)\./,2);else if(A.mediaDevices&&A.userAgent.match(/Edge\/(\d+).(\d+)$/))j.browser="edge",j.version=k(A.userAgent,/Edge\/(\d+).(\d+)$/,2);else if(r2.RTCPeerConnection&&A.userAgent.match(/AppleWebKit\/(\d+)\./))j.browser="safari",j.version=k(A.userAgent,/AppleWebKit\/(\d+)\./,1),j.supportsUnifiedPlan=r2.RTCRtpTransceiver&&"currentDirection"in r2.RTCRtpTransceiver.prototype;else return j.browser="Not a supported browser.",j;return j}function y2(r2){return Object.prototype.toString.call(r2)==="[object Object]"}function p2(r2){return y2(r2)?Object.keys(r2).reduce(function(A,j){var H=y2(r2[j]),x2=H?p2(r2[j]):r2[j],R2=H&&!Object.keys(x2).length;return x2===void 0||R2?A:Object.assign(A,v({},j,x2))},{}):r2}function g2(r2,A,j){!A||j.has(A.id)||(j.set(A.id,A),Object.keys(A).forEach(function(H){H.endsWith("Id")?g2(r2,r2.get(A[H]),j):H.endsWith("Ids")&&A[H].forEach(function(x2){g2(r2,r2.get(x2),j)})}))}function O2(r2,A,j){var H=j?"outbound-rtp":"inbound-rtp",x2=new Map;if(A===null)return x2;var R2=[];return r2.forEach(function(G){G.type==="track"&&G.trackIdentifier===A.id&&R2.push(G)}),R2.forEach(function(G){r2.forEach(function(b){b.type===H&&b.trackId===G.id&&g2(r2,b,x2)})}),x2}},{}],16:[function(U,N,m){var g=U("sdp");function v(Z){return{inboundrtp:"inbound-rtp",outboundrtp:"outbound-rtp",candidatepair:"candidate-pair",localcandidate:"local-candidate",remotecandidate:"remote-candidate"}[Z.type]||Z.type}function S(Z,W,L2,y2,p2){var g2=g.writeRtpDescription(Z.kind,W);if(g2+=g.writeIceParameters(Z.iceGatherer.getLocalParameters()),g2+=g.writeDtlsParameters(Z.dtlsTransport.getLocalParameters(),L2==="offer"?"actpass":p2||"active"),g2+="a=mid:"+Z.mid+`\r
`,Z.rtpSender&&Z.rtpReceiver?g2+=`a=sendrecv\r
`:Z.rtpSender?g2+=`a=sendonly\r
`:Z.rtpReceiver?g2+=`a=recvonly\r
`:g2+=`a=inactive\r
`,Z.rtpSender){var O2=Z.rtpSender._initialTrackId||Z.rtpSender.track.id;Z.rtpSender._initialTrackId=O2;var r2="msid:"+(y2?y2.id:"-")+" "+O2+`\r
`;g2+="a="+r2,g2+="a=ssrc:"+Z.sendEncodingParameters[0].ssrc+" "+r2,Z.sendEncodingParameters[0].rtx&&(g2+="a=ssrc:"+Z.sendEncodingParameters[0].rtx.ssrc+" "+r2,g2+="a=ssrc-group:FID "+Z.sendEncodingParameters[0].ssrc+" "+Z.sendEncodingParameters[0].rtx.ssrc+`\r
`)}return g2+="a=ssrc:"+Z.sendEncodingParameters[0].ssrc+" cname:"+g.localCName+`\r
`,Z.rtpSender&&Z.sendEncodingParameters[0].rtx&&(g2+="a=ssrc:"+Z.sendEncodingParameters[0].rtx.ssrc+" cname:"+g.localCName+`\r
`),g2}function x(Z,W){var L2=!1;return Z=JSON.parse(JSON.stringify(Z)),Z.filter(function(y2){if(y2&&(y2.urls||y2.url)){var p2=y2.urls||y2.url;y2.url&&!y2.urls&&console.warn("RTCIceServer.url is deprecated! Use urls instead.");var g2=typeof p2=="string";return g2&&(p2=[p2]),p2=p2.filter(function(O2){var r2=O2.indexOf("turn:")===0&&O2.indexOf("transport=udp")!==-1&&O2.indexOf("turn:[")===-1&&!L2;return r2?(L2=!0,!0):O2.indexOf("stun:")===0&&W>=14393&&O2.indexOf("?transport=udp")===-1}),delete y2.url,y2.urls=g2?p2[0]:p2,!!p2.length}})}function k(Z,W){var L2={codecs:[],headerExtensions:[],fecMechanisms:[]},y2=function(O2,r2){O2=parseInt(O2,10);for(var A=0;A<r2.length;A++)if(r2[A].payloadType===O2||r2[A].preferredPayloadType===O2)return r2[A]},p2=function(O2,r2,A,j){var H=y2(O2.parameters.apt,A),x2=y2(r2.parameters.apt,j);return H&&x2&&H.name.toLowerCase()===x2.name.toLowerCase()};return Z.codecs.forEach(function(g2){for(var O2=0;O2<W.codecs.length;O2++){var r2=W.codecs[O2];if(g2.name.toLowerCase()===r2.name.toLowerCase()&&g2.clockRate===r2.clockRate){if(g2.name.toLowerCase()==="rtx"&&g2.parameters&&r2.parameters.apt&&!p2(g2,r2,Z.codecs,W.codecs))continue;r2=JSON.parse(JSON.stringify(r2)),r2.numChannels=Math.min(g2.numChannels,r2.numChannels),L2.codecs.push(r2),r2.rtcpFeedback=r2.rtcpFeedback.filter(function(A){for(var j=0;j<g2.rtcpFeedback.length;j++)if(g2.rtcpFeedback[j].type===A.type&&g2.rtcpFeedback[j].parameter===A.parameter)return!0;return!1});break}}}),Z.headerExtensions.forEach(function(g2){for(var O2=0;O2<W.headerExtensions.length;O2++){var r2=W.headerExtensions[O2];if(g2.uri===r2.uri){L2.headerExtensions.push(r2);break}}}),L2}function m2(Z,W,L2){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"]}}[W][Z].indexOf(L2)!==-1}function t2(Z,W){var L2=Z.getRemoteCandidates().find(function(y2){return W.foundation===y2.foundation&&W.ip===y2.ip&&W.port===y2.port&&W.priority===y2.priority&&W.protocol===y2.protocol&&W.type===y2.type});return L2||Z.addRemoteCandidate(W),!L2}function d2(Z,W){var L2=new Error(W);return L2.name=Z,L2.code={NotSupportedError:9,InvalidStateError:11,InvalidAccessError:15,TypeError:void 0,OperationError:void 0}[Z],L2}N.exports=function(Z,W){function L2(A,j){j.addTrack(A),j.dispatchEvent(new Z.MediaStreamTrackEvent("addtrack",{track:A}))}function y2(A,j){j.removeTrack(A),j.dispatchEvent(new Z.MediaStreamTrackEvent("removetrack",{track:A}))}function p2(A,j,H,x2){var R2=new Event("track");R2.track=j,R2.receiver=H,R2.transceiver={receiver:H},R2.streams=x2,Z.setTimeout(function(){A._dispatchEvent("track",R2)})}var g2=function(j){var H=this,x2=document.createDocumentFragment();if(["addEventListener","removeEventListener","dispatchEvent"].forEach(function(G){H[G]=x2[G].bind(x2)}),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",j=JSON.parse(JSON.stringify(j||{})),this.usingBundle=j.bundlePolicy==="max-bundle",j.rtcpMuxPolicy==="negotiate")throw d2("NotSupportedError","rtcpMuxPolicy 'negotiate' is not supported");switch(j.rtcpMuxPolicy||(j.rtcpMuxPolicy="require"),j.iceTransportPolicy){case"all":case"relay":break;default:j.iceTransportPolicy="all";break}switch(j.bundlePolicy){case"balanced":case"max-compat":case"max-bundle":break;default:j.bundlePolicy="balanced";break}if(j.iceServers=x(j.iceServers||[],W),this._iceGatherers=[],j.iceCandidatePoolSize)for(var R2=j.iceCandidatePoolSize;R2>0;R2--)this._iceGatherers.push(new Z.RTCIceGatherer({iceServers:j.iceServers,gatherPolicy:j.iceTransportPolicy}));else j.iceCandidatePoolSize=0;this._config=j,this.transceivers=[],this._sdpSessionId=g.generateSessionId(),this._sdpSessionVersion=0,this._dtlsRole=void 0,this._isClosed=!1};Object.defineProperty(g2.prototype,"localDescription",{configurable:!0,get:function(){return this._localDescription}}),Object.defineProperty(g2.prototype,"remoteDescription",{configurable:!0,get:function(){return this._remoteDescription}}),g2.prototype.onicecandidate=null,g2.prototype.onaddstream=null,g2.prototype.ontrack=null,g2.prototype.onremovestream=null,g2.prototype.onsignalingstatechange=null,g2.prototype.oniceconnectionstatechange=null,g2.prototype.onconnectionstatechange=null,g2.prototype.onicegatheringstatechange=null,g2.prototype.onnegotiationneeded=null,g2.prototype.ondatachannel=null,g2.prototype._dispatchEvent=function(A,j){this._isClosed||(this.dispatchEvent(j),typeof this["on"+A]=="function"&&this["on"+A](j))},g2.prototype._emitGatheringStateChange=function(){var A=new Event("icegatheringstatechange");this._dispatchEvent("icegatheringstatechange",A)},g2.prototype.getConfiguration=function(){return this._config},g2.prototype.getLocalStreams=function(){return this.localStreams},g2.prototype.getRemoteStreams=function(){return this.remoteStreams},g2.prototype._createTransceiver=function(A,j){var H=this.transceivers.length>0,x2={track:null,iceGatherer:null,iceTransport:null,dtlsTransport:null,localCapabilities:null,remoteCapabilities:null,rtpSender:null,rtpReceiver:null,kind:A,mid:null,sendEncodingParameters:null,recvEncodingParameters:null,stream:null,associatedRemoteMediaStreams:[],wantReceive:!0};if(this.usingBundle&&H)x2.iceTransport=this.transceivers[0].iceTransport,x2.dtlsTransport=this.transceivers[0].dtlsTransport;else{var R2=this._createIceAndDtlsTransports();x2.iceTransport=R2.iceTransport,x2.dtlsTransport=R2.dtlsTransport}return j||this.transceivers.push(x2),x2},g2.prototype.addTrack=function(A,j){if(this._isClosed)throw d2("InvalidStateError","Attempted to call addTrack on a closed peerconnection.");var H=this.transceivers.find(function(G){return G.track===A});if(H)throw d2("InvalidAccessError","Track already exists.");for(var x2,R2=0;R2<this.transceivers.length;R2++)!this.transceivers[R2].track&&this.transceivers[R2].kind===A.kind&&(x2=this.transceivers[R2]);return x2||(x2=this._createTransceiver(A.kind)),this._maybeFireNegotiationNeeded(),this.localStreams.indexOf(j)===-1&&this.localStreams.push(j),x2.track=A,x2.stream=j,x2.rtpSender=new Z.RTCRtpSender(A,x2.dtlsTransport),x2.rtpSender},g2.prototype.addStream=function(A){var j=this;if(W>=15025)A.getTracks().forEach(function(x2){j.addTrack(x2,A)});else{var H=A.clone();A.getTracks().forEach(function(x2,R2){var G=H.getTracks()[R2];x2.addEventListener("enabled",function(b){G.enabled=b.enabled})}),H.getTracks().forEach(function(x2){j.addTrack(x2,H)})}},g2.prototype.removeTrack=function(A){if(this._isClosed)throw d2("InvalidStateError","Attempted to call removeTrack on a closed peerconnection.");if(!(A instanceof Z.RTCRtpSender))throw new TypeError("Argument 1 of RTCPeerConnection.removeTrack does not implement interface RTCRtpSender.");var j=this.transceivers.find(function(R2){return R2.rtpSender===A});if(!j)throw d2("InvalidAccessError","Sender was not created by this connection.");var H=j.stream;j.rtpSender.stop(),j.rtpSender=null,j.track=null,j.stream=null;var x2=this.transceivers.map(function(R2){return R2.stream});x2.indexOf(H)===-1&&this.localStreams.indexOf(H)>-1&&this.localStreams.splice(this.localStreams.indexOf(H),1),this._maybeFireNegotiationNeeded()},g2.prototype.removeStream=function(A){var j=this;A.getTracks().forEach(function(H){var x2=j.getSenders().find(function(R2){return R2.track===H});x2&&j.removeTrack(x2)})},g2.prototype.getSenders=function(){return this.transceivers.filter(function(A){return!!A.rtpSender}).map(function(A){return A.rtpSender})},g2.prototype.getReceivers=function(){return this.transceivers.filter(function(A){return!!A.rtpReceiver}).map(function(A){return A.rtpReceiver})},g2.prototype._createIceGatherer=function(A,j){var H=this;if(j&&A>0)return this.transceivers[0].iceGatherer;if(this._iceGatherers.length)return this._iceGatherers.shift();var x2=new Z.RTCIceGatherer({iceServers:this._config.iceServers,gatherPolicy:this._config.iceTransportPolicy});return Object.defineProperty(x2,"state",{value:"new",writable:!0}),this.transceivers[A].bufferedCandidateEvents=[],this.transceivers[A].bufferCandidates=function(R2){var G=!R2.candidate||Object.keys(R2.candidate).length===0;x2.state=G?"completed":"gathering",H.transceivers[A].bufferedCandidateEvents!==null&&H.transceivers[A].bufferedCandidateEvents.push(R2)},x2.addEventListener("localcandidate",this.transceivers[A].bufferCandidates),x2},g2.prototype._gather=function(A,j){var H=this,x2=this.transceivers[j].iceGatherer;if(!x2.onlocalcandidate){var R2=this.transceivers[j].bufferedCandidateEvents;this.transceivers[j].bufferedCandidateEvents=null,x2.removeEventListener("localcandidate",this.transceivers[j].bufferCandidates),x2.onlocalcandidate=function(G){if(!(H.usingBundle&&j>0)){var b=new Event("icecandidate");b.candidate={sdpMid:A,sdpMLineIndex:j};var R=G.candidate,h2=!R||Object.keys(R).length===0;if(h2)(x2.state==="new"||x2.state==="gathering")&&(x2.state="completed");else{x2.state==="new"&&(x2.state="gathering"),R.component=1,R.ufrag=x2.getLocalParameters().usernameFragment;var B2=g.writeCandidate(R);b.candidate=Object.assign(b.candidate,g.parseCandidate(B2)),b.candidate.candidate=B2,b.candidate.toJSON=function(){return{candidate:b.candidate.candidate,sdpMid:b.candidate.sdpMid,sdpMLineIndex:b.candidate.sdpMLineIndex,usernameFragment:b.candidate.usernameFragment}}}var U2=g.getMediaSections(H._localDescription.sdp);h2?U2[b.candidate.sdpMLineIndex]+=`a=end-of-candidates\r
`:U2[b.candidate.sdpMLineIndex]+="a="+b.candidate.candidate+`\r
`,H._localDescription.sdp=g.getDescription(H._localDescription.sdp)+U2.join("");var g3=H.transceivers.every(function(P3){return P3.iceGatherer&&P3.iceGatherer.state==="completed"});H.iceGatheringState!=="gathering"&&(H.iceGatheringState="gathering",H._emitGatheringStateChange()),h2||H._dispatchEvent("icecandidate",b),g3&&(H._dispatchEvent("icecandidate",new Event("icecandidate")),H.iceGatheringState="complete",H._emitGatheringStateChange())}},Z.setTimeout(function(){R2.forEach(function(G){x2.onlocalcandidate(G)})},0)}},g2.prototype._createIceAndDtlsTransports=function(){var A=this,j=new Z.RTCIceTransport(null);j.onicestatechange=function(){A._updateIceConnectionState(),A._updateConnectionState()};var H=new Z.RTCDtlsTransport(j);return H.ondtlsstatechange=function(){A._updateConnectionState()},H.onerror=function(){Object.defineProperty(H,"state",{value:"failed",writable:!0}),A._updateConnectionState()},{iceTransport:j,dtlsTransport:H}},g2.prototype._disposeIceAndDtlsTransports=function(A){var j=this.transceivers[A].iceGatherer;j&&(delete j.onlocalcandidate,delete this.transceivers[A].iceGatherer);var H=this.transceivers[A].iceTransport;H&&(delete H.onicestatechange,delete this.transceivers[A].iceTransport);var x2=this.transceivers[A].dtlsTransport;x2&&(delete x2.ondtlsstatechange,delete x2.onerror,delete this.transceivers[A].dtlsTransport)},g2.prototype._transceive=function(A,j,H){var x2=k(A.localCapabilities,A.remoteCapabilities);j&&A.rtpSender&&(x2.encodings=A.sendEncodingParameters,x2.rtcp={cname:g.localCName,compound:A.rtcpParameters.compound},A.recvEncodingParameters.length&&(x2.rtcp.ssrc=A.recvEncodingParameters[0].ssrc),A.rtpSender.send(x2)),H&&A.rtpReceiver&&x2.codecs.length>0&&(A.kind==="video"&&A.recvEncodingParameters&&W<15019&&A.recvEncodingParameters.forEach(function(R2){delete R2.rtx}),A.recvEncodingParameters.length?x2.encodings=A.recvEncodingParameters:x2.encodings=[{}],x2.rtcp={compound:A.rtcpParameters.compound},A.rtcpParameters.cname&&(x2.rtcp.cname=A.rtcpParameters.cname),A.sendEncodingParameters.length&&(x2.rtcp.ssrc=A.sendEncodingParameters[0].ssrc),A.rtpReceiver.receive(x2))},g2.prototype.setLocalDescription=function(A){var j=this;if(["offer","answer"].indexOf(A.type)===-1)return Promise.reject(d2("TypeError",'Unsupported type "'+A.type+'"'));if(!m2("setLocalDescription",A.type,j.signalingState)||j._isClosed)return Promise.reject(d2("InvalidStateError","Can not set local "+A.type+" in state "+j.signalingState));var H,x2;if(A.type==="offer")H=g.splitSections(A.sdp),x2=H.shift(),H.forEach(function(G,b){var R=g.parseRtpParameters(G);j.transceivers[b].localCapabilities=R}),j.transceivers.forEach(function(G,b){j._gather(G.mid,b)});else if(A.type==="answer"){H=g.splitSections(j._remoteDescription.sdp),x2=H.shift();var R2=g.matchPrefix(x2,"a=ice-lite").length>0;H.forEach(function(G,b){var R=j.transceivers[b],h2=R.iceGatherer,B2=R.iceTransport,U2=R.dtlsTransport,g3=R.localCapabilities,P3=R.remoteCapabilities,W3=g.isRejected(G)&&g.matchPrefix(G,"a=bundle-only").length===0;if(!W3&&!R.rejected){var V3=g.getIceParameters(G,x2),z3=g.getDtlsParameters(G,x2);R2&&(z3.role="server"),(!j.usingBundle||b===0)&&(j._gather(R.mid,b),B2.state==="new"&&B2.start(h2,V3,R2?"controlling":"controlled"),U2.state==="new"&&U2.start(z3));var o1=k(g3,P3);j._transceive(R,o1.codecs.length>0,!1)}})}return j._localDescription={type:A.type,sdp:A.sdp},A.type==="offer"?j._updateSignalingState("have-local-offer"):j._updateSignalingState("stable"),Promise.resolve()},g2.prototype.setRemoteDescription=function(A){var j=this;if(["offer","answer"].indexOf(A.type)===-1)return Promise.reject(d2("TypeError",'Unsupported type "'+A.type+'"'));if(!m2("setRemoteDescription",A.type,j.signalingState)||j._isClosed)return Promise.reject(d2("InvalidStateError","Can not set remote "+A.type+" in state "+j.signalingState));var H={};j.remoteStreams.forEach(function(B2){H[B2.id]=B2});var x2=[],R2=g.splitSections(A.sdp),G=R2.shift(),b=g.matchPrefix(G,"a=ice-lite").length>0,R=g.matchPrefix(G,"a=group:BUNDLE ").length>0;j.usingBundle=R;var h2=g.matchPrefix(G,"a=ice-options:")[0];return h2?j.canTrickleIceCandidates=h2.substr(14).split(" ").indexOf("trickle")>=0:j.canTrickleIceCandidates=!1,R2.forEach(function(B2,U2){var g3=g.splitLines(B2),P3=g.getKind(B2),W3=g.isRejected(B2)&&g.matchPrefix(B2,"a=bundle-only").length===0,V3=g3[0].substr(2).split(" ")[2],z3=g.getDirection(B2,G),o1=g.parseMsid(B2),T1=g.getMid(B2)||g.generateIdentifier();if(W3||P3==="application"&&(V3==="DTLS/SCTP"||V3==="UDP/DTLS/SCTP")){j.transceivers[U2]={mid:T1,kind:P3,protocol:V3,rejected:!0};return}!W3&&j.transceivers[U2]&&j.transceivers[U2].rejected&&(j.transceivers[U2]=j._createTransceiver(P3,!0));var E2,c3,S3,s2,v3,_1,E1,L1,M1,Bt=g.parseRtpParameters(B2),_t,Fe;W3||(_t=g.getIceParameters(B2,G),Fe=g.getDtlsParameters(B2,G),Fe.role="client"),E1=g.parseRtpEncodingParameters(B2);var tt=g.parseRtcpParameters(B2),f0=g.matchPrefix(B2,"a=end-of-candidates",G).length>0,Ce=g.matchPrefix(B2,"a=candidate:").map(function(q){return g.parseCandidate(q)}).filter(function(q){return q.component===1});if((A.type==="offer"||A.type==="answer")&&!W3&&R&&U2>0&&j.transceivers[U2]&&(j._disposeIceAndDtlsTransports(U2),j.transceivers[U2].iceGatherer=j.transceivers[0].iceGatherer,j.transceivers[U2].iceTransport=j.transceivers[0].iceTransport,j.transceivers[U2].dtlsTransport=j.transceivers[0].dtlsTransport,j.transceivers[U2].rtpSender&&j.transceivers[U2].rtpSender.setTransport(j.transceivers[0].dtlsTransport),j.transceivers[U2].rtpReceiver&&j.transceivers[U2].rtpReceiver.setTransport(j.transceivers[0].dtlsTransport)),A.type==="offer"&&!W3){E2=j.transceivers[U2]||j._createTransceiver(P3),E2.mid=T1,E2.iceGatherer||(E2.iceGatherer=j._createIceGatherer(U2,R)),Ce.length&&E2.iceTransport.state==="new"&&(f0&&(!R||U2===0)?E2.iceTransport.setRemoteCandidates(Ce):Ce.forEach(function(q){t2(E2.iceTransport,q)})),L1=Z.RTCRtpReceiver.getCapabilities(P3),W<15019&&(L1.codecs=L1.codecs.filter(function(q){return q.name!=="rtx"})),_1=E2.sendEncodingParameters||[{ssrc:(2*U2+2)*1001}];var nt=!1;if(z3==="sendrecv"||z3==="sendonly"){if(nt=!E2.rtpReceiver,v3=E2.rtpReceiver||new Z.RTCRtpReceiver(E2.dtlsTransport,P3),nt){var o0;M1=v3.track,o1&&o1.stream==="-"||(o1?(H[o1.stream]||(H[o1.stream]=new Z.MediaStream,Object.defineProperty(H[o1.stream],"id",{get:function(){return o1.stream}})),Object.defineProperty(M1,"id",{get:function(){return o1.track}}),o0=H[o1.stream]):(H.default||(H.default=new Z.MediaStream),o0=H.default)),o0&&(L2(M1,o0),E2.associatedRemoteMediaStreams.push(o0)),x2.push([M1,v3,o0])}}else E2.rtpReceiver&&E2.rtpReceiver.track&&(E2.associatedRemoteMediaStreams.forEach(function(q){var o2=q.getTracks().find(function($2){return $2.id===E2.rtpReceiver.track.id});o2&&y2(o2,q)}),E2.associatedRemoteMediaStreams=[]);E2.localCapabilities=L1,E2.remoteCapabilities=Bt,E2.rtpReceiver=v3,E2.rtcpParameters=tt,E2.sendEncodingParameters=_1,E2.recvEncodingParameters=E1,j._transceive(j.transceivers[U2],!1,nt)}else if(A.type==="answer"&&!W3){E2=j.transceivers[U2],c3=E2.iceGatherer,S3=E2.iceTransport,s2=E2.dtlsTransport,v3=E2.rtpReceiver,_1=E2.sendEncodingParameters,L1=E2.localCapabilities,j.transceivers[U2].recvEncodingParameters=E1,j.transceivers[U2].remoteCapabilities=Bt,j.transceivers[U2].rtcpParameters=tt,Ce.length&&S3.state==="new"&&((b||f0)&&(!R||U2===0)?S3.setRemoteCandidates(Ce):Ce.forEach(function(q){t2(E2.iceTransport,q)})),(!R||U2===0)&&(S3.state==="new"&&S3.start(c3,_t,"controlling"),s2.state==="new"&&s2.start(Fe));var S0=k(E2.localCapabilities,E2.remoteCapabilities),F=S0.codecs.filter(function(q){return q.name.toLowerCase()==="rtx"}).length;!F&&E2.sendEncodingParameters[0].rtx&&delete E2.sendEncodingParameters[0].rtx,j._transceive(E2,z3==="sendrecv"||z3==="recvonly",z3==="sendrecv"||z3==="sendonly"),v3&&(z3==="sendrecv"||z3==="sendonly")?(M1=v3.track,o1?(H[o1.stream]||(H[o1.stream]=new Z.MediaStream),L2(M1,H[o1.stream]),x2.push([M1,v3,H[o1.stream]])):(H.default||(H.default=new Z.MediaStream),L2(M1,H.default),x2.push([M1,v3,H.default]))):delete E2.rtpReceiver}}),j._dtlsRole===void 0&&(j._dtlsRole=A.type==="offer"?"active":"passive"),j._remoteDescription={type:A.type,sdp:A.sdp},A.type==="offer"?j._updateSignalingState("have-remote-offer"):j._updateSignalingState("stable"),Object.keys(H).forEach(function(B2){var U2=H[B2];if(U2.getTracks().length){if(j.remoteStreams.indexOf(U2)===-1){j.remoteStreams.push(U2);var g3=new Event("addstream");g3.stream=U2,Z.setTimeout(function(){j._dispatchEvent("addstream",g3)})}x2.forEach(function(P3){var W3=P3[0],V3=P3[1];U2.id===P3[2].id&&p2(j,W3,V3,[U2])})}}),x2.forEach(function(B2){B2[2]||p2(j,B2[0],B2[1],[])}),Z.setTimeout(function(){j&&j.transceivers&&j.transceivers.forEach(function(B2){B2.iceTransport&&B2.iceTransport.state==="new"&&B2.iceTransport.getRemoteCandidates().length>0&&(console.warn("Timeout for addRemoteCandidate. Consider sending an end-of-candidates notification"),B2.iceTransport.addRemoteCandidate({}))})},4e3),Promise.resolve()},g2.prototype.close=function(){this.transceivers.forEach(function(A){A.iceTransport&&A.iceTransport.stop(),A.dtlsTransport&&A.dtlsTransport.stop(),A.rtpSender&&A.rtpSender.stop(),A.rtpReceiver&&A.rtpReceiver.stop()}),this._isClosed=!0,this._updateSignalingState("closed")},g2.prototype._updateSignalingState=function(A){this.signalingState=A;var j=new Event("signalingstatechange");this._dispatchEvent("signalingstatechange",j)},g2.prototype._maybeFireNegotiationNeeded=function(){var A=this;this.signalingState!=="stable"||this.needNegotiation===!0||(this.needNegotiation=!0,Z.setTimeout(function(){if(A.needNegotiation){A.needNegotiation=!1;var j=new Event("negotiationneeded");A._dispatchEvent("negotiationneeded",j)}},0))},g2.prototype._updateIceConnectionState=function(){var A,j={new:0,closed:0,checking:0,connected:0,completed:0,disconnected:0,failed:0};if(this.transceivers.forEach(function(x2){x2.iceTransport&&!x2.rejected&&j[x2.iceTransport.state]++}),A="new",j.failed>0?A="failed":j.checking>0?A="checking":j.disconnected>0?A="disconnected":j.new>0?A="new":j.connected>0?A="connected":j.completed>0&&(A="completed"),A!==this.iceConnectionState){this.iceConnectionState=A;var H=new Event("iceconnectionstatechange");this._dispatchEvent("iceconnectionstatechange",H)}},g2.prototype._updateConnectionState=function(){var A,j={new:0,closed:0,connecting:0,connected:0,completed:0,disconnected:0,failed:0};if(this.transceivers.forEach(function(x2){x2.iceTransport&&x2.dtlsTransport&&!x2.rejected&&(j[x2.iceTransport.state]++,j[x2.dtlsTransport.state]++)}),j.connected+=j.completed,A="new",j.failed>0?A="failed":j.connecting>0?A="connecting":j.disconnected>0?A="disconnected":j.new>0?A="new":j.connected>0&&(A="connected"),A!==this.connectionState){this.connectionState=A;var H=new Event("connectionstatechange");this._dispatchEvent("connectionstatechange",H)}},g2.prototype.createOffer=function(){var A=this;if(A._isClosed)return Promise.reject(d2("InvalidStateError","Can not call createOffer after close"));var j=A.transceivers.filter(function(b){return b.kind==="audio"}).length,H=A.transceivers.filter(function(b){return b.kind==="video"}).length,x2=arguments[0];if(x2){if(x2.mandatory||x2.optional)throw new TypeError("Legacy mandatory/optional constraints not supported.");x2.offerToReceiveAudio!==void 0&&(x2.offerToReceiveAudio===!0?j=1:x2.offerToReceiveAudio===!1?j=0:j=x2.offerToReceiveAudio),x2.offerToReceiveVideo!==void 0&&(x2.offerToReceiveVideo===!0?H=1:x2.offerToReceiveVideo===!1?H=0:H=x2.offerToReceiveVideo)}for(A.transceivers.forEach(function(b){b.kind==="audio"?(j--,j<0&&(b.wantReceive=!1)):b.kind==="video"&&(H--,H<0&&(b.wantReceive=!1))});j>0||H>0;)j>0&&(A._createTransceiver("audio"),j--),H>0&&(A._createTransceiver("video"),H--);var R2=g.writeSessionBoilerplate(A._sdpSessionId,A._sdpSessionVersion++);A.transceivers.forEach(function(b,R){var h2=b.track,B2=b.kind,U2=b.mid||g.generateIdentifier();b.mid=U2,b.iceGatherer||(b.iceGatherer=A._createIceGatherer(R,A.usingBundle));var g3=Z.RTCRtpSender.getCapabilities(B2);W<15019&&(g3.codecs=g3.codecs.filter(function(W3){return W3.name!=="rtx"})),g3.codecs.forEach(function(W3){W3.name==="H264"&&W3.parameters["level-asymmetry-allowed"]===void 0&&(W3.parameters["level-asymmetry-allowed"]="1"),b.remoteCapabilities&&b.remoteCapabilities.codecs&&b.remoteCapabilities.codecs.forEach(function(V3){W3.name.toLowerCase()===V3.name.toLowerCase()&&W3.clockRate===V3.clockRate&&(W3.preferredPayloadType=V3.payloadType)})}),g3.headerExtensions.forEach(function(W3){var V3=b.remoteCapabilities&&b.remoteCapabilities.headerExtensions||[];V3.forEach(function(z3){W3.uri===z3.uri&&(W3.id=z3.id)})});var P3=b.sendEncodingParameters||[{ssrc:(2*R+1)*1001}];h2&&W>=15019&&B2==="video"&&!P3[0].rtx&&(P3[0].rtx={ssrc:P3[0].ssrc+1}),b.wantReceive&&(b.rtpReceiver=new Z.RTCRtpReceiver(b.dtlsTransport,B2)),b.localCapabilities=g3,b.sendEncodingParameters=P3}),A._config.bundlePolicy!=="max-compat"&&(R2+="a=group:BUNDLE "+A.transceivers.map(function(b){return b.mid}).join(" ")+`\r
`),R2+=`a=ice-options:trickle\r
`,A.transceivers.forEach(function(b,R){R2+=S(b,b.localCapabilities,"offer",b.stream,A._dtlsRole),R2+=`a=rtcp-rsize\r
`,b.iceGatherer&&A.iceGatheringState!=="new"&&(R===0||!A.usingBundle)&&(b.iceGatherer.getLocalCandidates().forEach(function(h2){h2.component=1,R2+="a="+g.writeCandidate(h2)+`\r
`}),b.iceGatherer.state==="completed"&&(R2+=`a=end-of-candidates\r
`))});var G=new Z.RTCSessionDescription({type:"offer",sdp:R2});return Promise.resolve(G)},g2.prototype.createAnswer=function(){var A=this;if(A._isClosed)return Promise.reject(d2("InvalidStateError","Can not call createAnswer after close"));if(!(A.signalingState==="have-remote-offer"||A.signalingState==="have-local-pranswer"))return Promise.reject(d2("InvalidStateError","Can not call createAnswer in signalingState "+A.signalingState));var j=g.writeSessionBoilerplate(A._sdpSessionId,A._sdpSessionVersion++);A.usingBundle&&(j+="a=group:BUNDLE "+A.transceivers.map(function(R2){return R2.mid}).join(" ")+`\r
`),j+=`a=ice-options:trickle\r
`;var H=g.getMediaSections(A._remoteDescription.sdp).length;A.transceivers.forEach(function(R2,G){if(!(G+1>H)){if(R2.rejected){R2.kind==="application"?R2.protocol==="DTLS/SCTP"?j+=`m=application 0 DTLS/SCTP 5000\r
`:j+="m=application 0 "+R2.protocol+` webrtc-datachannel\r
`:R2.kind==="audio"?j+=`m=audio 0 UDP/TLS/RTP/SAVPF 0\r
a=rtpmap:0 PCMU/8000\r
`:R2.kind==="video"&&(j+=`m=video 0 UDP/TLS/RTP/SAVPF 120\r
a=rtpmap:120 VP8/90000\r
`),j+=`c=IN IP4 0.0.0.0\r
a=inactive\r
a=mid:`+R2.mid+`\r
`;return}if(R2.stream){var b;R2.kind==="audio"?b=R2.stream.getAudioTracks()[0]:R2.kind==="video"&&(b=R2.stream.getVideoTracks()[0]),b&&W>=15019&&R2.kind==="video"&&!R2.sendEncodingParameters[0].rtx&&(R2.sendEncodingParameters[0].rtx={ssrc:R2.sendEncodingParameters[0].ssrc+1})}var R=k(R2.localCapabilities,R2.remoteCapabilities),h2=R.codecs.filter(function(B2){return B2.name.toLowerCase()==="rtx"}).length;!h2&&R2.sendEncodingParameters[0].rtx&&delete R2.sendEncodingParameters[0].rtx,j+=S(R2,R,"answer",R2.stream,A._dtlsRole),R2.rtcpParameters&&R2.rtcpParameters.reducedSize&&(j+=`a=rtcp-rsize\r
`)}});var x2=new Z.RTCSessionDescription({type:"answer",sdp:j});return Promise.resolve(x2)},g2.prototype.addIceCandidate=function(A){var j=this,H;return A&&!(A.sdpMLineIndex!==void 0||A.sdpMid)?Promise.reject(new TypeError("sdpMLineIndex or sdpMid required")):new Promise(function(x2,R2){if(j._remoteDescription)if(!A||A.candidate==="")for(var G=0;G<j.transceivers.length&&!(!j.transceivers[G].rejected&&(j.transceivers[G].iceTransport.addRemoteCandidate({}),H=g.getMediaSections(j._remoteDescription.sdp),H[G]+=`a=end-of-candidates\r
`,j._remoteDescription.sdp=g.getDescription(j._remoteDescription.sdp)+H.join(""),j.usingBundle));G++);else{var b=A.sdpMLineIndex;if(A.sdpMid){for(var R=0;R<j.transceivers.length;R++)if(j.transceivers[R].mid===A.sdpMid){b=R;break}}var h2=j.transceivers[b];if(h2){if(h2.rejected)return x2();var B2=Object.keys(A.candidate).length>0?g.parseCandidate(A.candidate):{};if(B2.protocol==="tcp"&&(B2.port===0||B2.port===9)||B2.component&&B2.component!==1)return x2();if((b===0||b>0&&h2.iceTransport!==j.transceivers[0].iceTransport)&&!t2(h2.iceTransport,B2))return R2(d2("OperationError","Can not add ICE candidate"));var U2=A.candidate.trim();U2.indexOf("a=")===0&&(U2=U2.substr(2)),H=g.getMediaSections(j._remoteDescription.sdp),H[b]+="a="+(B2.type?U2:"end-of-candidates")+`\r
`,j._remoteDescription.sdp=g.getDescription(j._remoteDescription.sdp)+H.join("")}else return R2(d2("OperationError","Can not add ICE candidate"))}else return R2(d2("InvalidStateError","Can not add ICE candidate without a remote description"));x2()})},g2.prototype.getStats=function(A){if(A&&A instanceof Z.MediaStreamTrack){var j=null;if(this.transceivers.forEach(function(x2){x2.rtpSender&&x2.rtpSender.track===A?j=x2.rtpSender:x2.rtpReceiver&&x2.rtpReceiver.track===A&&(j=x2.rtpReceiver)}),!j)throw d2("InvalidAccessError","Invalid selector.");return j.getStats()}var H=[];return this.transceivers.forEach(function(x2){["rtpSender","rtpReceiver","iceGatherer","iceTransport","dtlsTransport"].forEach(function(R2){x2[R2]&&H.push(x2[R2].getStats())})}),Promise.all(H).then(function(x2){var R2=new Map;return x2.forEach(function(G){G.forEach(function(b){R2.set(b.id,b)})}),R2})};var O2=["RTCRtpSender","RTCRtpReceiver","RTCIceGatherer","RTCIceTransport","RTCDtlsTransport"];O2.forEach(function(A){var j=Z[A];if(j&&j.prototype&&j.prototype.getStats){var H=j.prototype.getStats;j.prototype.getStats=function(){return H.apply(this).then(function(x2){var R2=new Map;return Object.keys(x2).forEach(function(G){x2[G].type=v(x2[G]),R2.set(G,x2[G])}),R2})}}});var r2=["createOffer","createAnswer"];return r2.forEach(function(A){var j=g2.prototype[A];g2.prototype[A]=function(){var H=arguments;return typeof H[0]=="function"||typeof H[1]=="function"?j.apply(this,[arguments[2]]).then(function(x2){typeof H[0]=="function"&&H[0].apply(null,[x2])},function(x2){typeof H[1]=="function"&&H[1].apply(null,[x2])}):j.apply(this,arguments)}}),r2=["setLocalDescription","setRemoteDescription","addIceCandidate"],r2.forEach(function(A){var j=g2.prototype[A];g2.prototype[A]=function(){var H=arguments;return typeof H[1]=="function"||typeof H[2]=="function"?j.apply(this,arguments).then(function(){typeof H[1]=="function"&&H[1].apply(null)},function(x2){typeof H[2]=="function"&&H[2].apply(null,[x2])}):j.apply(this,arguments)}}),["getStats"].forEach(function(A){var j=g2.prototype[A];g2.prototype[A]=function(){var H=arguments;return typeof H[1]=="function"?j.apply(this,arguments).then(function(){typeof H[1]=="function"&&H[1].apply(null)}):j.apply(this,arguments)}}),g2}},{sdp:17}],17:[function(U,N,m){var g={};g.generateIdentifier=function(){return Math.random().toString(36).substr(2,10)},g.localCName=g.generateIdentifier(),g.splitLines=function(v){return v.trim().split(`
`).map(function(S){return S.trim()})},g.splitSections=function(v){var S=v.split(`
m=`);return S.map(function(x,k){return(k>0?"m="+x:x).trim()+`\r
`})},g.getDescription=function(v){var S=g.splitSections(v);return S&&S[0]},g.getMediaSections=function(v){var S=g.splitSections(v);return S.shift(),S},g.matchPrefix=function(v,S){return g.splitLines(v).filter(function(x){return x.indexOf(S)===0})},g.parseCandidate=function(v){var S;v.indexOf("a=candidate:")===0?S=v.substring(12).split(" "):S=v.substring(10).split(" ");for(var x={foundation:S[0],component:parseInt(S[1],10),protocol:S[2].toLowerCase(),priority:parseInt(S[3],10),ip:S[4],address:S[4],port:parseInt(S[5],10),type:S[7]},k=8;k<S.length;k+=2)switch(S[k]){case"raddr":x.relatedAddress=S[k+1];break;case"rport":x.relatedPort=parseInt(S[k+1],10);break;case"tcptype":x.tcpType=S[k+1];break;case"ufrag":x.ufrag=S[k+1],x.usernameFragment=S[k+1];break;default:x[S[k]]=S[k+1];break}return x},g.writeCandidate=function(v){var S=[];S.push(v.foundation),S.push(v.component),S.push(v.protocol.toUpperCase()),S.push(v.priority),S.push(v.address||v.ip),S.push(v.port);var x=v.type;return S.push("typ"),S.push(x),x!=="host"&&v.relatedAddress&&v.relatedPort&&(S.push("raddr"),S.push(v.relatedAddress),S.push("rport"),S.push(v.relatedPort)),v.tcpType&&v.protocol.toLowerCase()==="tcp"&&(S.push("tcptype"),S.push(v.tcpType)),(v.usernameFragment||v.ufrag)&&(S.push("ufrag"),S.push(v.usernameFragment||v.ufrag)),"candidate:"+S.join(" ")},g.parseIceOptions=function(v){return v.substr(14).split(" ")},g.parseRtpMap=function(v){var S=v.substr(9).split(" "),x={payloadType:parseInt(S.shift(),10)};return S=S[0].split("/"),x.name=S[0],x.clockRate=parseInt(S[1],10),x.channels=S.length===3?parseInt(S[2],10):1,x.numChannels=x.channels,x},g.writeRtpMap=function(v){var S=v.payloadType;v.preferredPayloadType!==void 0&&(S=v.preferredPayloadType);var x=v.channels||v.numChannels||1;return"a=rtpmap:"+S+" "+v.name+"/"+v.clockRate+(x!==1?"/"+x:"")+`\r
`},g.parseExtmap=function(v){var S=v.substr(9).split(" ");return{id:parseInt(S[0],10),direction:S[0].indexOf("/")>0?S[0].split("/")[1]:"sendrecv",uri:S[1]}},g.writeExtmap=function(v){return"a=extmap:"+(v.id||v.preferredId)+(v.direction&&v.direction!=="sendrecv"?"/"+v.direction:"")+" "+v.uri+`\r
`},g.parseFmtp=function(v){for(var S={},x,k=v.substr(v.indexOf(" ")+1).split(";"),m2=0;m2<k.length;m2++)x=k[m2].trim().split("="),S[x[0].trim()]=x[1];return S},g.writeFmtp=function(v){var S="",x=v.payloadType;if(v.preferredPayloadType!==void 0&&(x=v.preferredPayloadType),v.parameters&&Object.keys(v.parameters).length){var k=[];Object.keys(v.parameters).forEach(function(m2){v.parameters[m2]?k.push(m2+"="+v.parameters[m2]):k.push(m2)}),S+="a=fmtp:"+x+" "+k.join(";")+`\r
`}return S},g.parseRtcpFb=function(v){var S=v.substr(v.indexOf(" ")+1).split(" ");return{type:S.shift(),parameter:S.join(" ")}},g.writeRtcpFb=function(v){var S="",x=v.payloadType;return v.preferredPayloadType!==void 0&&(x=v.preferredPayloadType),v.rtcpFeedback&&v.rtcpFeedback.length&&v.rtcpFeedback.forEach(function(k){S+="a=rtcp-fb:"+x+" "+k.type+(k.parameter&&k.parameter.length?" "+k.parameter:"")+`\r
`}),S},g.parseSsrcMedia=function(v){var S=v.indexOf(" "),x={ssrc:parseInt(v.substr(7,S-7),10)},k=v.indexOf(":",S);return k>-1?(x.attribute=v.substr(S+1,k-S-1),x.value=v.substr(k+1)):x.attribute=v.substr(S+1),x},g.parseSsrcGroup=function(v){var S=v.substr(13).split(" ");return{semantics:S.shift(),ssrcs:S.map(function(x){return parseInt(x,10)})}},g.getMid=function(v){var S=g.matchPrefix(v,"a=mid:")[0];if(S)return S.substr(6)},g.parseFingerprint=function(v){var S=v.substr(14).split(" ");return{algorithm:S[0].toLowerCase(),value:S[1]}},g.getDtlsParameters=function(v,S){var x=g.matchPrefix(v+S,"a=fingerprint:");return{role:"auto",fingerprints:x.map(g.parseFingerprint)}},g.writeDtlsParameters=function(v,S){var x="a=setup:"+S+`\r
`;return v.fingerprints.forEach(function(k){x+="a=fingerprint:"+k.algorithm+" "+k.value+`\r
`}),x},g.getIceParameters=function(v,S){var x=g.splitLines(v);x=x.concat(g.splitLines(S));var k={usernameFragment:x.filter(function(m2){return m2.indexOf("a=ice-ufrag:")===0})[0].substr(12),password:x.filter(function(m2){return m2.indexOf("a=ice-pwd:")===0})[0].substr(10)};return k},g.writeIceParameters=function(v){return"a=ice-ufrag:"+v.usernameFragment+`\r
a=ice-pwd:`+v.password+`\r
`},g.parseRtpParameters=function(v){for(var S={codecs:[],headerExtensions:[],fecMechanisms:[],rtcp:[]},x=g.splitLines(v),k=x[0].split(" "),m2=3;m2<k.length;m2++){var t2=k[m2],d2=g.matchPrefix(v,"a=rtpmap:"+t2+" ")[0];if(d2){var Z=g.parseRtpMap(d2),W=g.matchPrefix(v,"a=fmtp:"+t2+" ");switch(Z.parameters=W.length?g.parseFmtp(W[0]):{},Z.rtcpFeedback=g.matchPrefix(v,"a=rtcp-fb:"+t2+" ").map(g.parseRtcpFb),S.codecs.push(Z),Z.name.toUpperCase()){case"RED":case"ULPFEC":S.fecMechanisms.push(Z.name.toUpperCase());break}}}return g.matchPrefix(v,"a=extmap:").forEach(function(L2){S.headerExtensions.push(g.parseExtmap(L2))}),S},g.writeRtpDescription=function(v,S){var x="";x+="m="+v+" ",x+=S.codecs.length>0?"9":"0",x+=" UDP/TLS/RTP/SAVPF ",x+=S.codecs.map(function(m2){return m2.preferredPayloadType!==void 0?m2.preferredPayloadType:m2.payloadType}).join(" ")+`\r
`,x+=`c=IN IP4 0.0.0.0\r
`,x+=`a=rtcp:9 IN IP4 0.0.0.0\r
`,S.codecs.forEach(function(m2){x+=g.writeRtpMap(m2),x+=g.writeFmtp(m2),x+=g.writeRtcpFb(m2)});var k=0;return S.codecs.forEach(function(m2){m2.maxptime>k&&(k=m2.maxptime)}),k>0&&(x+="a=maxptime:"+k+`\r
`),x+=`a=rtcp-mux\r
`,S.headerExtensions&&S.headerExtensions.forEach(function(m2){x+=g.writeExtmap(m2)}),x},g.parseRtpEncodingParameters=function(v){var S=[],x=g.parseRtpParameters(v),k=x.fecMechanisms.indexOf("RED")!==-1,m2=x.fecMechanisms.indexOf("ULPFEC")!==-1,t2=g.matchPrefix(v,"a=ssrc:").map(function(y2){return g.parseSsrcMedia(y2)}).filter(function(y2){return y2.attribute==="cname"}),d2=t2.length>0&&t2[0].ssrc,Z,W=g.matchPrefix(v,"a=ssrc-group:FID").map(function(y2){var p2=y2.substr(17).split(" ");return p2.map(function(g2){return parseInt(g2,10)})});W.length>0&&W[0].length>1&&W[0][0]===d2&&(Z=W[0][1]),x.codecs.forEach(function(y2){if(y2.name.toUpperCase()==="RTX"&&y2.parameters.apt){var p2={ssrc:d2,codecPayloadType:parseInt(y2.parameters.apt,10)};d2&&Z&&(p2.rtx={ssrc:Z}),S.push(p2),k&&(p2=JSON.parse(JSON.stringify(p2)),p2.fec={ssrc:d2,mechanism:m2?"red+ulpfec":"red"},S.push(p2))}}),S.length===0&&d2&&S.push({ssrc:d2});var L2=g.matchPrefix(v,"b=");return L2.length&&(L2[0].indexOf("b=TIAS:")===0?L2=parseInt(L2[0].substr(7),10):L2[0].indexOf("b=AS:")===0?L2=parseInt(L2[0].substr(5),10)*1e3*.95-50*40*8:L2=void 0,S.forEach(function(y2){y2.maxBitrate=L2})),S},g.parseRtcpParameters=function(v){var S={},x=g.matchPrefix(v,"a=ssrc:").map(function(t2){return g.parseSsrcMedia(t2)}).filter(function(t2){return t2.attribute==="cname"})[0];x&&(S.cname=x.value,S.ssrc=x.ssrc);var k=g.matchPrefix(v,"a=rtcp-rsize");S.reducedSize=k.length>0,S.compound=k.length===0;var m2=g.matchPrefix(v,"a=rtcp-mux");return S.mux=m2.length>0,S},g.parseMsid=function(v){var S,x=g.matchPrefix(v,"a=msid:");if(x.length===1)return S=x[0].substr(7).split(" "),{stream:S[0],track:S[1]};var k=g.matchPrefix(v,"a=ssrc:").map(function(m2){return g.parseSsrcMedia(m2)}).filter(function(m2){return m2.attribute==="msid"});if(k.length>0)return S=k[0].value.split(" "),{stream:S[0],track:S[1]}},g.parseSctpDescription=function(v){var S=g.parseMLine(v),x=g.matchPrefix(v,"a=max-message-size:"),k;x.length>0&&(k=parseInt(x[0].substr(19),10)),isNaN(k)&&(k=65536);var m2=g.matchPrefix(v,"a=sctp-port:");if(m2.length>0)return{port:parseInt(m2[0].substr(12),10),protocol:S.fmt,maxMessageSize:k};var t2=g.matchPrefix(v,"a=sctpmap:");if(t2.length>0){var d2=g.matchPrefix(v,"a=sctpmap:")[0].substr(10).split(" ");return{port:parseInt(d2[0],10),protocol:d2[1],maxMessageSize:k}}},g.writeSctpDescription=function(v,S){var x=[];return v.protocol!=="DTLS/SCTP"?x=["m="+v.kind+" 9 "+v.protocol+" "+S.protocol+`\r
`,`c=IN IP4 0.0.0.0\r
`,"a=sctp-port:"+S.port+`\r
`]:x=["m="+v.kind+" 9 "+v.protocol+" "+S.port+`\r
`,`c=IN IP4 0.0.0.0\r
`,"a=sctpmap:"+S.port+" "+S.protocol+` 65535\r
`],S.maxMessageSize!==void 0&&x.push("a=max-message-size:"+S.maxMessageSize+`\r
`),x.join("")},g.generateSessionId=function(){return Math.random().toString().substr(2,21)},g.writeSessionBoilerplate=function(v,S,x){var k,m2=S!==void 0?S:2;v?k=v:k=g.generateSessionId();var t2=x||"thisisadapterortc";return`v=0\r
o=`+t2+" "+k+" "+m2+` IN IP4 127.0.0.1\r
s=-\r
t=0 0\r
`},g.writeMediaSection=function(v,S,x,k){var m2=g.writeRtpDescription(v.kind,S);if(m2+=g.writeIceParameters(v.iceGatherer.getLocalParameters()),m2+=g.writeDtlsParameters(v.dtlsTransport.getLocalParameters(),x==="offer"?"actpass":"active"),m2+="a=mid:"+v.mid+`\r
`,v.direction?m2+="a="+v.direction+`\r
`:v.rtpSender&&v.rtpReceiver?m2+=`a=sendrecv\r
`:v.rtpSender?m2+=`a=sendonly\r
`:v.rtpReceiver?m2+=`a=recvonly\r
`:m2+=`a=inactive\r
`,v.rtpSender){var t2="msid:"+k.id+" "+v.rtpSender.track.id+`\r
`;m2+="a="+t2,m2+="a=ssrc:"+v.sendEncodingParameters[0].ssrc+" "+t2,v.sendEncodingParameters[0].rtx&&(m2+="a=ssrc:"+v.sendEncodingParameters[0].rtx.ssrc+" "+t2,m2+="a=ssrc-group:FID "+v.sendEncodingParameters[0].ssrc+" "+v.sendEncodingParameters[0].rtx.ssrc+`\r
`)}return m2+="a=ssrc:"+v.sendEncodingParameters[0].ssrc+" cname:"+g.localCName+`\r
`,v.rtpSender&&v.sendEncodingParameters[0].rtx&&(m2+="a=ssrc:"+v.sendEncodingParameters[0].rtx.ssrc+" cname:"+g.localCName+`\r
`),m2},g.getDirection=function(v,S){for(var x=g.splitLines(v),k=0;k<x.length;k++)switch(x[k]){case"a=sendrecv":case"a=sendonly":case"a=recvonly":case"a=inactive":return x[k].substr(2)}return S?g.getDirection(S):"sendrecv"},g.getKind=function(v){var S=g.splitLines(v),x=S[0].split(" ");return x[0].substr(2)},g.isRejected=function(v){return v.split(" ",2)[1]==="0"},g.parseMLine=function(v){var S=g.splitLines(v),x=S[0].substr(2).split(" ");return{kind:x[0],port:parseInt(x[1],10),protocol:x[2],fmt:x.slice(3).join(" ")}},g.parseOLine=function(v){var S=g.matchPrefix(v,"o=")[0],x=S.substr(2).split(" ");return{username:x[0],sessionId:x[1],sessionVersion:parseInt(x[2],10),netType:x[3],addressType:x[4],address:x[5]}},g.isValidSDP=function(v){if(typeof v!="string"||v.length===0)return!1;for(var S=g.splitLines(v),x=0;x<S.length;x++)if(S[x].length<2||S[x].charAt(1)!=="=")return!1;return!0},t(N)==="object"&&(N.exports=g)},{}]},{},[1])(1)}),O.sessions={},O.isExtensionEnabled=function(){if(navigator.mediaDevices&&navigator.mediaDevices.getDisplayMedia)return!0;if(window.navigator.userAgent.match("Chrome")){var U=parseInt(window.navigator.userAgent.match(/Chrome\/(.*) /)[1],10),N=33;return window.navigator.userAgent.match("Linux")&&(N=35),U>=26&&U<=N?!0:O.extension.isInstalled()}else return!0};var b1={extensionId:"hapfgfdkleiggjjpfpenajgdnfckjpaj",isInstalled:function(){return document.querySelector("#janus-extension-installed")!==null},getScreen:function(N){var m=window.setTimeout(function(){var g=new Error("NavigatorUserMediaError");return g.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)',N(g)},1e3);this.cache[m]=N,window.postMessage({type:"janusGetScreen",id:m},"*")},init:function(){var N={};this.cache=N,window.addEventListener("message",function(m){if(m.origin==window.location.origin)if(m.data.type=="janusGotScreen"&&N[m.data.id]){var g=N[m.data.id];if(delete N[m.data.id],m.data.sourceId===""){var v=new Error("NavigatorUserMediaError");v.name="You cancelled the request for permission, giving up...",g(v)}else g(null,m.data.sourceId)}else m.data.type=="janusGetScreenPending"&&(console.log("clearing ",m.data.id),window.clearTimeout(m.data.id))})}};O.useDefaultDependencies=function(U){var N=U&&U.fetch||fetch,m=U&&U.Promise||Promise,g=U&&U.WebSocket||WebSocket;return{newWebSocket:function(S,x){return new g(S,x)},extension:U&&U.extension||b1,isArray:function(S){return Array.isArray(S)},webRTCAdapter:U&&U.adapter||window.adapter,httpAPICall:function(S,x){var k={method:x.verb,headers:{Accept:"application/json, text/plain, */*"},cache:"no-cache"};x.verb==="POST"&&(k.headers["Content-Type"]="application/json"),x.withCredentials!==void 0&&(k.credentials=x.withCredentials===!0?"include":x.withCredentials?x.withCredentials:"omit"),x.body!==void 0&&(k.body=JSON.stringify(x.body));var m2=N(S,k).catch(function(d2){return m.reject({message:"Probably a network error, is the server down?",error:d2})});if(x.timeout!==void 0){var t2=new m(function(d2,Z){var W=setTimeout(function(){return clearTimeout(W),Z({message:"Request timed out",timeout:x.timeout})},x.timeout)});m2=m.race([m2,t2])}return m2.then(function(d2){if(d2.ok){if(t(x.success)===t(O.noop))return d2.json().then(function(Z){x.success(Z)}).catch(function(Z){return m.reject({message:"Failed to parse response body",error:Z,response:d2})})}else return m.reject({message:"API call failed",response:d2})}).catch(function(d2){t(x.error)===t(O.noop)&&x.error(d2.message||"<< internal error >>",d2)}),m2}}},O.useOldDependencies=function(U){var N=U&&U.jQuery||jQuery,m=U&&U.WebSocket||WebSocket;return{newWebSocket:function(v,S){return new m(v,S)},isArray:function(v){return N.isArray(v)},extension:U&&U.extension||b1,webRTCAdapter:U&&U.adapter||adapter,httpAPICall:function(v,S){var x=S.body!==void 0?{contentType:"application/json",data:JSON.stringify(S.body)}:{},k=S.withCredentials!==void 0?{xhrFields:{withCredentials:S.withCredentials}}:{};return N.ajax(N.extend(x,k,{url:v,type:S.verb,cache:!1,dataType:"json",async:S.async,timeout:S.timeout,success:function(t2){t(S.success)===t(O.noop)&&S.success(t2)},error:function(t2,d2,Z){t(S.error)===t(O.noop)&&S.error(d2,Z)}}))}}},O.noop=function(){},O.dataChanDefaultLabel="JanusDataChannel",O.endOfCandidates=null,O.init=function(U){if(U=U||{},U.callback=typeof U.callback=="function"?U.callback:O.noop,O.initDone===!0)U.callback();else{if((typeof console=="undefined"||typeof console.log=="undefined")&&(console={log:function(){}}),O.trace=O.noop,O.debug=O.noop,O.vdebug=O.noop,O.log=O.noop,O.warn=O.noop,O.error=O.noop,U.debug===!0||U.debug==="all")O.trace=console.trace.bind(console),O.debug=console.debug.bind(console),O.vdebug=console.debug.bind(console),O.log=console.log.bind(console),O.warn=console.warn.bind(console),O.error=console.error.bind(console);else if(Array.isArray(U.debug))for(var N in U.debug){var m=U.debug[N];switch(m){case"trace":O.trace=console.trace.bind(console);break;case"debug":O.debug=console.debug.bind(console);break;case"vdebug":O.vdebug=console.debug.bind(console);break;case"log":O.log=console.log.bind(console);break;case"warn":O.warn=console.warn.bind(console);break;case"error":O.error=console.error.bind(console);break;default:console.error("Unknown debugging option '"+m+"' (supported: 'trace', 'debug', 'vdebug', 'log', warn', 'error')");break}}O.log("Initializing library");var g=U.dependencies||O.useDefaultDependencies();O.isArray=g.isArray,O.webRTCAdapter=g.webRTCAdapter,O.httpAPICall=g.httpAPICall,O.newWebSocket=g.newWebSocket,O.extension=g.extension,O.extension.init(),O.listDevices=function(d2,Z){d2=typeof d2=="function"?d2:O.noop,Z==null&&(Z={audio:!0,video:!0}),O.isGetUserMediaAvailable()?navigator.mediaDevices.getUserMedia(Z).then(function(W){navigator.mediaDevices.enumerateDevices().then(function(L2){O.debug(L2),d2(L2);try{var y2=W.getTracks();for(var p2 in y2){var g2=y2[p2];g2!=null&&g2.stop()}}catch(O2){}})}).catch(function(W){O.error(W),d2([])}):(O.warn("navigator.mediaDevices unavailable"),d2([]))},O.attachMediaStream=function(d2,Z){if(O.webRTCAdapter.browserDetails.browser==="chrome"){var W=O.webRTCAdapter.browserDetails.version;W>=52?d2.srcObject=Z:O.error("Error attaching stream to element")}else d2.srcObject=Z},O.reattachMediaStream=function(d2,Z){if(O.webRTCAdapter.browserDetails.browser==="chrome"){var W=O.webRTCAdapter.browserDetails.version;W>=52?d2.srcObject=Z.srcObject:typeof d2.src!="undefined"?d2.src=Z.src:O.error("Error reattaching stream to element")}else d2.srcObject=Z.srcObject};var v=["iPad","iPhone","iPod"].indexOf(navigator.platform)>=0,S=v?"pagehide":"beforeunload",x=window["on"+S];if(window.addEventListener(S,function(d2){O.log("Closing window");for(var Z in O.sessions)O.sessions[Z]!==null&&O.sessions[Z]!==void 0&&O.sessions[Z].destroyOnUnload&&(O.log("Destroying session "+Z),O.sessions[Z].destroy({asyncRequest:!1,notifyDestroyed:!1}));x&&typeof x=="function"&&x()}),O.safariVp8=!1,O.webRTCAdapter.browserDetails.browser==="safari"&&O.webRTCAdapter.browserDetails.version>=605)if(RTCRtpSender&&RTCRtpSender.getCapabilities&&RTCRtpSender.getCapabilities("video")&&RTCRtpSender.getCapabilities("video").codecs&&RTCRtpSender.getCapabilities("video").codecs.length){for(var N in RTCRtpSender.getCapabilities("video").codecs){var k=RTCRtpSender.getCapabilities("video").codecs[N];if(k&&k.mimeType&&k.mimeType.toLowerCase()==="video/vp8"){O.safariVp8=!0;break}}O.safariVp8?O.log("This version of Safari supports VP8"):O.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 m2=new RTCPeerConnection({},{});m2.createOffer({offerToReceiveVideo:!0}).then(function(d2){O.safariVp8=d2.sdp.indexOf("VP8")!==-1,O.safariVp8?O.log("This version of Safari supports VP8"):O.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"),m2.close(),m2=null})}if(O.unifiedPlan=!1,O.webRTCAdapter.browserDetails.browser==="firefox"&&O.webRTCAdapter.browserDetails.version>=59)O.unifiedPlan=!0;else if(O.webRTCAdapter.browserDetails.browser==="chrome"&&O.webRTCAdapter.browserDetails.version<72)O.unifiedPlan=!1;else if(typeof RTCRtpTransceiver!="undefined"&&!("currentDirection"in RTCRtpTransceiver.prototype))O.unifiedPlan=!1;else{var t2=new RTCPeerConnection;try{t2.addTransceiver("audio"),O.unifiedPlan=!0}catch(d2){}t2.close()}O.initDone=!0,U.callback()}},O.isWebrtcSupported=function(){return window.RTCPeerConnection!==void 0&&window.RTCPeerConnection!==null},O.isGetUserMediaAvailable=function(){return navigator.mediaDevices!==void 0&&navigator.mediaDevices!==null&&navigator.mediaDevices.getUserMedia!==void 0&&navigator.mediaDevices.getUserMedia!==null},O.randomString=function(U){for(var N="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",m="",g=0;g<U;g++){var v=Math.floor(Math.random()*N.length);m+=N.substring(v,v+1)}return m};function O(U){if(O.initDone===void 0)return U.error("Library not initialized"),{};if(!O.isWebrtcSupported())return U.error("WebRTC not supported by this browser"),{};if(O.log("Library initialized: "+O.initDone),U=U||{},U.success=typeof U.success=="function"?U.success:O.noop,U.error=typeof U.error=="function"?U.error:O.noop,U.destroyed=typeof U.destroyed=="function"?U.destroyed:O.noop,U.server===null||U.server===void 0)return U.error("Invalid server url"),{};var N=!1,m=null,g={},v=null,S=null,x=0,k=U.server;O.isArray(k)?(O.log("Multiple servers provided ("+k.length+"), will use the first that works"),k=null,S=U.server,O.debug(S)):k.indexOf("ws")===0?(N=!0,O.log("Using WebSockets to contact Janus: "+k)):(N=!1,O.log("Using REST API to contact Janus: "+k));var m2=U.iceServers;m2==null&&(m2=[{urls:"stun:stun.l.google.com:19302"}]);var t2=U.iceTransportPolicy,d2=U.bundlePolicy,Z=U.ipv6;Z==null&&(Z=!1);var W=!1;U.withCredentials!==void 0&&U.withCredentials!==null&&(W=U.withCredentials===!0);var L2=10;U.max_poll_events!==void 0&&U.max_poll_events!==null&&(L2=U.max_poll_events),L2<1&&(L2=1);var y2=null;U.token!==void 0&&U.token!==null&&(y2=U.token);var p2=null;U.apisecret!==void 0&&U.apisecret!==null&&(p2=U.apisecret),this.destroyOnUnload=!0,U.destroyOnUnload!==void 0&&U.destroyOnUnload!==null&&(this.destroyOnUnload=U.destroyOnUnload===!0);var g2=25e3;U.keepAlivePeriod!==void 0&&U.keepAlivePeriod!==null&&(g2=U.keepAlivePeriod),isNaN(g2)&&(g2=25e3);var O2=6e4;U.longPollTimeout!==void 0&&U.longPollTimeout!==null&&(O2=U.longPollTimeout),isNaN(O2)&&(O2=6e4);function r2(z){var f2={high:9e5,medium:3e5,low:1e5};return z!=null&&(z.high&&(f2.high=z.high),z.medium&&(f2.medium=z.medium),z.low&&(f2.low=z.low)),f2}var A=!1,j=null,H={},x2=this,R2=0,G={};B2(U),this.getServer=function(){return k},this.isConnected=function(){return A},this.reconnect=function(z){z=z||{},z.success=typeof z.success=="function"?z.success:O.noop,z.error=typeof z.error=="function"?z.error:O.noop,z.reconnect=!0,B2(z)},this.getSessionId=function(){return j},this.destroy=function(z){U2(z)},this.attach=function(z){g3(z)};function b(){if(j!=null){if(O.debug("Long poll..."),!A){O.warn("Is the server down? (connected=false)");return}var z=k+"/"+j+"?rid="+new Date().getTime();L2!=null&&(z=z+"&maxev="+L2),y2!=null&&(z=z+"&token="+encodeURIComponent(y2)),p2!=null&&(z=z+"&apisecret="+encodeURIComponent(p2)),O.httpAPICall(z,{verb:"GET",withCredentials:W,success:R,timeout:O2,error:function(v2,I2){if(O.error(v2+":",I2),R2++,R2>3){A=!1,U.error("Lost connection to the server (is it down?)");return}b()}})}}function R(z,f2){if(R2=0,!N&&j!==void 0&&j!==null&&f2!==!0&&b(),!N&&O.isArray(z)){for(var v2=0;v2<z.length;v2++)R(z[v2],!0);return}if(z.rtcgw==="keepalive"){O.vdebug("Got a keepalive on session "+j);return}else if(z.rtcgw==="ack"){O.debug("Got an ack on session "+j),O.debug(z);var I2=z.transaction;if(I2!=null){var l2=G[I2];l2!=null&&l2(z),delete G[I2]}return}else if(z.rtcgw==="success"){O.debug("Got a success on session "+j),O.debug(z);var I2=z.transaction;if(I2!=null){var l2=G[I2];l2!=null&&l2(z),delete G[I2]}return}else if(z.rtcgw==="trickle"){var Q2=z.sender;if(Q2==null){O.warn("Missing sender...");return}var F2=H[Q2];if(F2==null){O.debug("This handle is not attached to this session");return}var l3=z.candidate;O.debug("Got a trickled candidate on session "+j),O.debug(l3);var p3=F2.webrtcStuff;p3.pc&&p3.remoteSdp?(O.debug("Adding remote candidate:",l3),!l3||l3.completed===!0?p3.pc.addIceCandidate(O.endOfCandidates):p3.pc.addIceCandidate(l3)):(O.debug("We didn't do setRemoteDescription (trickle got here before the offer?), caching candidate"),p3.candidates||(p3.candidates=[]),p3.candidates.push(l3),O.debug(p3.candidates))}else if(z.rtcgw==="webrtcup"){O.debug("Got a webrtcup event on session "+j),O.debug(z);var Q2=z.sender;if(Q2==null){O.warn("Missing sender...");return}var F2=H[Q2];if(F2==null){O.debug("This handle is not attached to this session");return}F2.webrtcState(!0);return}else if(z.rtcgw==="hangup"){O.debug("Got a hangup event on session "+j),O.debug(z);var Q2=z.sender;if(Q2==null){O.warn("Missing sender...");return}var F2=H[Q2];if(F2==null){O.debug("This handle is not attached to this session");return}F2.webrtcState(!1,z.reason),F2.hangup()}else if(z.rtcgw==="detached"){O.debug("Got a detached event on session "+j),O.debug(z);var Q2=z.sender;if(Q2==null){O.warn("Missing sender...");return}var F2=H[Q2];if(F2==null)return;F2.detached=!0,F2.ondetached(),F2.detach()}else if(z.rtcgw==="media"){O.debug("Got a media event on session "+j),O.debug(z);var Q2=z.sender;if(Q2==null){O.warn("Missing sender...");return}var F2=H[Q2];if(F2==null){O.debug("This handle is not attached to this session");return}F2.mediaState(z.type,z.receiving)}else if(z.rtcgw==="slowlink"){O.debug("Got a slowlink event on session "+j),O.debug(z);var Q2=z.sender;if(Q2==null){O.warn("Missing sender...");return}var F2=H[Q2];if(F2==null){O.debug("This handle is not attached to this session");return}F2.slowLink(z.uplink,z.lost)}else if(z.rtcgw==="error"){O.error("Ooops: "+z.error.code+" "+z.error.reason),O.debug(z);var I2=z.transaction;if(I2!=null){var l2=G[I2];l2!=null&&l2(z),delete G[I2]}return}else if(z.rtcgw==="event"){O.debug("Got a plugin event on session "+j),O.debug(z);var Q2=z.sender;if(Q2==null){O.warn("Missing sender...");return}var O3=z.plugindata;if(O3==null){O.warn("Missing plugindata...");return}O.debug(" -- Event is coming from "+Q2+" ("+O3.plugin+")");var T3=O3.data;O.debug(T3);var F2=H[Q2];if(F2==null){O.warn("This handle is not attached to this session");return}var H3=z.jsep;H3!=null&&(O.debug("Handling SDP as well..."),O.debug(H3));var m0=F2.onmessage;m0!=null?(O.debug("Notifying application..."),m0(T3,H3)):O.debug("No provided notification callback")}else if(z.rtcgw==="timeout"){O.error("Timeout on session "+j),O.debug(z),N&&m.close(3504,"Gateway timeout");return}else O.warn("Unknown message/event '"+z.rtcgw+"' on session "+j),O.debug(z)}function h2(){if(!(k===null||!N||!A)){v=setTimeout(h2,g2);var z={rtcgw:"keepalive",session_id:j,transaction:O.randomString(12)};y2!=null&&(z.token=y2),p2!=null&&(z.apisecret=p2),m.send(JSON.stringify(z))}}function B2(z){var f2=O.randomString(12),v2={rtcgw:"create",transaction:f2,token:window.EZUIKit.opt.stream,device:window.EZUIKit.opt.deviceSerial,channel:window.EZUIKit.opt.channelNo};if(z.reconnect&&(A=!1,v2.rtcgw="claim",v2.session_id=j,m&&(m.onopen=null,m.onerror=null,m.onclose=null,v&&(clearTimeout(v),v=null))),y2!=null&&(v2.token=y2),p2!=null&&(v2.apisecret=p2),k===null&&O.isArray(S)&&(k=S[x],k.indexOf("ws")===0?(N=!0,O.log("Server #"+(x+1)+": trying WebSockets to contact Janus ("+k+")")):(N=!1,O.log("Server #"+(x+1)+": trying REST API to contact Janus ("+k+")"))),N){m=O.newWebSocket(k,"rtcgw-protocol"),g={error:function(){if(O.error("Error connecting to the Janus WebSockets server... "+k),O.isArray(S)&&!z.reconnect){if(x++,x==S.length){z.error("Error connecting to any of the provided Janus servers: Is the server down?");return}k=null,setTimeout(function(){B2(z)},200);return}z.error("Error connecting to the Janus WebSockets server: Is the server down?")},open:function(){G[f2]=function(Q2){if(O.debug(Q2),Q2.rtcgw!=="success"){O.error("Ooops: "+Q2.error.code+" "+Q2.error.reason),z.error(Q2.error.reason);return}v=setTimeout(h2,g2),A=!0,j=Q2.session_id?Q2.session_id:Q2.data.id,z.reconnect?O.log("Claimed session: "+j):O.log("Created session: "+j),O.sessions[j]=x2,z.success()},m.send(JSON.stringify(v2))},message:function(Q2){R(JSON.parse(Q2.data))},close:function(){k===null||!A||(A=!1,U.error("Lost connection to the server (is it down?)"))}};for(var I2 in g)m.addEventListener(I2,g[I2]);return}O.httpAPICall(k,{verb:"POST",withCredentials:W,body:v2,success:function(Q2){if(O.debug(Q2),Q2.rtcgw!=="success"){O.error("Ooops: "+Q2.error.code+" "+Q2.error.reason),z.error(Q2.error.reason);return}A=!0,j=Q2.session_id?Q2.session_id:Q2.data.id,z.reconnect?O.log("Claimed session: "+j):O.log("Created session: "+j),O.sessions[j]=x2,b(),z.success()},error:function(Q2,F2){if(O.error(Q2+":",F2),O.isArray(S)&&!z.reconnect){if(x++,x==S.length){z.error("Error connecting to any of the provided Janus servers: Is the server down?");return}k=null,setTimeout(function(){B2(z)},200);return}F2===""?z.error(Q2+": Is the server down?"):z.error(Q2+": "+F2)}})}function U2(z){z=z||{},z.success=typeof z.success=="function"?z.success:O.noop;var f2=!0;z.asyncRequest!==void 0&&z.asyncRequest!==null&&(f2=z.asyncRequest===!0);var v2=!0;z.notifyDestroyed!==void 0&&z.notifyDestroyed!==null&&(v2=z.notifyDestroyed===!0);var I2=!1;if(z.cleanupHandles!==void 0&&z.cleanupHandles!==null&&(I2=z.cleanupHandles===!0),O.log("Destroying session "+j+" (async="+f2+")"),!A){O.warn("Is the server down? (connected=false)"),z.success();return}if(j==null){O.warn("No session to destroy"),z.success(),v2&&U.destroyed();return}if(I2)for(var l2 in H)T1(l2,{noRequest:!0});var Q2={rtcgw:"destroy",transaction:O.randomString(12)};if(y2!=null&&(Q2.token=y2),p2!=null&&(Q2.apisecret=p2),N){Q2.session_id=j;var F2=function(){for(var T3 in g)m.removeEventListener(T3,g[T3]);m.removeEventListener("message",l3),m.removeEventListener("error",p3),v&&clearTimeout(v),m.close()},l3=function(T3){var H3=JSON.parse(T3.data);H3.session_id==Q2.session_id&&H3.transaction==Q2.transaction&&(F2(),z.success(),v2&&U.destroyed())},p3=function(T3){F2(),z.error("Failed to destroy the server: Is the server down?"),v2&&U.destroyed()};m.addEventListener("message",l3),m.addEventListener("error",p3),m.send(JSON.stringify(Q2));return}O.httpAPICall(k+"/"+j,{verb:"POST",async:f2,withCredentials:W,body:Q2,success:function(T3){O.log("Destroyed session:"),O.debug(T3),j=null,A=!1,T3.rtcgw!=="success"&&O.error("Ooops: "+T3.error.code+" "+T3.error.reason),z.success(),v2&&U.destroyed()},error:function(T3,H3){O.error(T3+":",H3),j=null,A=!1,z.success(),v2&&U.destroyed()}})}function g3(z){if(z=z||{},z.success=typeof z.success=="function"?z.success:O.noop,z.error=typeof z.error=="function"?z.error:O.noop,z.consentDialog=typeof z.consentDialog=="function"?z.consentDialog:O.noop,z.iceState=typeof z.iceState=="function"?z.iceState:O.noop,z.mediaState=typeof z.mediaState=="function"?z.mediaState:O.noop,z.webrtcState=typeof z.webrtcState=="function"?z.webrtcState:O.noop,z.slowLink=typeof z.slowLink=="function"?z.slowLink:O.noop,z.onmessage=typeof z.onmessage=="function"?z.onmessage:O.noop,z.onlocalstream=typeof z.onlocalstream=="function"?z.onlocalstream:O.noop,z.onremotestream=typeof z.onremotestream=="function"?z.onremotestream:O.noop,z.ondata=typeof z.ondata=="function"?z.ondata:O.noop,z.ondataopen=typeof z.ondataopen=="function"?z.ondataopen:O.noop,z.oncleanup=typeof z.oncleanup=="function"?z.oncleanup:O.noop,z.ondetached=typeof z.ondetached=="function"?z.ondetached:O.noop,!A){O.warn("Is the server down? (connected=false)"),z.error("Is the server down? (connected=false)");return}var f2=z.plugin;if(f2==null){O.error("Invalid plugin"),z.error("Invalid plugin");return}var v2=z.opaqueId,I2=z.token?z.token:y2,l2=O.randomString(12),Q2={rtcgw:"attach",plugin:f2,opaque_id:v2,transaction:l2};if(I2!=null&&(Q2.token=I2),p2!=null&&(Q2.apisecret=p2),N){G[l2]=function(F2){if(O.debug(F2),F2.rtcgw!=="success"){O.error("Ooops: "+F2.error.code+" "+F2.error.reason),z.error("Ooops: "+F2.error.code+" "+F2.error.reason);return}var l3=F2.data.id;O.log("Created handle: "+l3);var p3={session:x2,plugin:f2,id:l3,token:I2,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 l3},getPlugin:function(){return f2},getVolume:function(){return E1(l3,!0)},getRemoteVolume:function(){return E1(l3,!0)},getLocalVolume:function(){return E1(l3,!1)},isAudioMuted:function(){return L1(l3,!1)},muteAudio:function(){return M1(l3,!1,!0)},unmuteAudio:function(){return M1(l3,!1,!1)},isVideoMuted:function(){return L1(l3,!0)},muteVideo:function(){return M1(l3,!0,!0)},unmuteVideo:function(){return M1(l3,!0,!1)},getBitrate:function(){return Bt(l3)},send:function(T3){P3(l3,T3)},data:function(T3){z3(l3,T3)},dtmf:function(T3){o1(l3,T3)},consentDialog:z.consentDialog,iceState:z.iceState,mediaState:z.mediaState,webrtcState:z.webrtcState,slowLink:z.slowLink,onmessage:z.onmessage,createOffer:function(T3){c3(l3,!0,T3)},createAnswer:function(T3){c3(l3,!1,T3)},handleRemoteJsep:function(T3){S3(l3,T3)},onlocalstream:z.onlocalstream,onremotestream:z.onremotestream,ondata:z.ondata,ondataopen:z.ondataopen,oncleanup:z.oncleanup,ondetached:z.ondetached,hangup:function(T3){Fe(l3,T3===!0)},detach:function(T3){T1(l3,T3)}};H[l3]=p3,z.success(p3)},Q2.session_id=j,m.send(JSON.stringify(Q2));return}O.httpAPICall(k+"/"+j,{verb:"POST",withCredentials:W,body:Q2,success:function(l3){if(O.debug(l3),l3.rtcgw!=="success"){O.error("Ooops: "+l3.error.code+" "+l3.error.reason),z.error("Ooops: "+l3.error.code+" "+l3.error.reason);return}var p3=l3.data.id;O.log("Created handle: "+p3);var O3={session:x2,plugin:f2,id:p3,token:I2,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 p3},getPlugin:function(){return f2},getVolume:function(){return E1(p3,!0)},getRemoteVolume:function(){return E1(p3,!0)},getLocalVolume:function(){return E1(p3,!1)},isAudioMuted:function(){return L1(p3,!1)},muteAudio:function(){return M1(p3,!1,!0)},unmuteAudio:function(){return M1(p3,!1,!1)},isVideoMuted:function(){return L1(p3,!0)},muteVideo:function(){return M1(p3,!0,!0)},unmuteVideo:function(){return M1(p3,!0,!1)},getBitrate:function(){return Bt(p3)},send:function(H3){P3(p3,H3)},data:function(H3){z3(p3,H3)},dtmf:function(H3){o1(p3,H3)},consentDialog:z.consentDialog,iceState:z.iceState,mediaState:z.mediaState,webrtcState:z.webrtcState,slowLink:z.slowLink,onmessage:z.onmessage,createOffer:function(H3){c3(p3,!0,H3)},createAnswer:function(H3){c3(p3,!1,H3)},handleRemoteJsep:function(H3){S3(p3,H3)},onlocalstream:z.onlocalstream,onremotestream:z.onremotestream,ondata:z.ondata,ondataopen:z.ondataopen,oncleanup:z.oncleanup,ondetached:z.ondetached,hangup:function(H3){Fe(p3,H3===!0)},detach:function(H3){T1(p3,H3)}};H[p3]=O3,z.success(O3)},error:function(l3,p3){O.error(l3+":",p3)}})}function P3(z,f2){if(f2=f2||{},f2.success=typeof f2.success=="function"?f2.success:O.noop,f2.error=typeof f2.error=="function"?f2.error:O.noop,!A){O.warn("Is the server down? (connected=false)"),f2.error("Is the server down? (connected=false)");return}var v2=H[z];if(v2==null||v2.webrtcStuff===null||v2.webrtcStuff===void 0){O.warn("Invalid handle"),f2.error("Invalid handle");return}var I2=f2.message,l2=f2.jsep,Q2=O.randomString(12),F2={rtcgw:"message",body:I2,transaction:Q2};if(v2.token!==null&&v2.token!==void 0&&(F2.token=v2.token),p2!=null&&(F2.apisecret=p2),l2!=null&&(F2.jsep=l2),O.debug("Sending message to plugin (handle="+z+"):"),O.debug(F2),N){F2.session_id=j,F2.handle_id=z,G[Q2]=function(l3){if(O.debug("Message sent!"),O.debug(l3),l3.rtcgw==="success"){var p3=l3.plugindata;if(p3==null){O.warn("Request succeeded, but missing plugindata..."),f2.success();return}O.log("Synchronous transaction successful ("+p3.plugin+")");var O3=p3.data;O.debug(O3),f2.success(O3);return}else if(l3.rtcgw!=="ack"){l3.error!==void 0&&l3.error!==null?(O.error("Ooops: "+l3.error.code+" "+l3.error.reason),f2.error(l3.error.code+" "+l3.error.reason)):(O.error("Unknown error"),f2.error("Unknown error"));return}f2.success()},m.send(JSON.stringify(F2));return}O.httpAPICall(k+"/"+j+"/"+z,{verb:"POST",withCredentials:W,body:F2,success:function(p3){if(O.debug("Message sent!"),O.debug(p3),p3.rtcgw==="success"){var O3=p3.plugindata;if(O3==null){O.warn("Request succeeded, but missing plugindata..."),f2.success();return}O.log("Synchronous transaction successful ("+O3.plugin+")");var T3=O3.data;O.debug(T3),f2.success(T3);return}else if(p3.rtcgw!=="ack"){p3.error!==void 0&&p3.error!==null?(O.error("Ooops: "+p3.error.code+" "+p3.error.reason),f2.error(p3.error.code+" "+p3.error.reason)):(O.error("Unknown error"),f2.error("Unknown error"));return}f2.success()},error:function(p3,O3){O.error(p3+":",O3),f2.error(p3+": "+O3)}})}function W3(z,f2){if(!A){O.warn("Is the server down? (connected=false)");return}var v2=H[z];if(v2==null||v2.webrtcStuff===null||v2.webrtcStuff===void 0){O.warn("Invalid handle");return}var I2={rtcgw:"trickle",candidate:f2,transaction:O.randomString(12)};if(v2.token!==null&&v2.token!==void 0&&(I2.token=v2.token),p2!=null&&(I2.apisecret=p2),O.vdebug("Sending trickle candidate (handle="+z+"):"),O.vdebug(I2),N){I2.session_id=j,I2.handle_id=z,m.send(JSON.stringify(I2));return}O.httpAPICall(k+"/"+j+"/"+z,{verb:"POST",withCredentials:W,body:I2,success:function(Q2){if(O.vdebug("Candidate sent!"),O.vdebug(Q2),Q2.rtcgw!=="ack"){O.error("Ooops: "+Q2.error.code+" "+Q2.error.reason);return}},error:function(Q2,F2){O.error(Q2+":",F2)}})}function V3(z,f2,v2,I2){var l2=H[z];if(l2==null||l2.webrtcStuff===null||l2.webrtcStuff===void 0){O.warn("Invalid handle");return}var Q2=l2.webrtcStuff,F2=function(T3){O.log("Received message on data channel:",T3);var H3=T3.target.label;l2.ondata(T3.data,H3)},l3=function(T3){O.log("Received state change on data channel:",T3);var H3=T3.target.label,m0=Q2.dataChannel[H3]?Q2.dataChannel[H3].readyState:"null";if(O.log("State change on <"+H3+"> data channel: "+m0),m0==="open"){if(Q2.dataChannel[H3].pending&&Q2.dataChannel[H3].pending.length>0){O.log("Sending pending messages on <"+H3+">:",Q2.dataChannel[H3].pending.length);for(var Y0 in Q2.dataChannel[H3].pending){var D1=Q2.dataChannel[H3].pending[Y0];O.log("Sending string on data channel <"+H3+">: "+D1),Q2.dataChannel[H3].send(D1)}Q2.dataChannel[H3].pending=[]}l2.ondataopen(H3)}},p3=function(T3){O.error("Got error on data channel:",T3)};v2?Q2.dataChannel[f2]=v2:Q2.dataChannel[f2]=Q2.pc.createDataChannel(f2,{ordered:!1}),Q2.dataChannel[f2].onmessage=F2,Q2.dataChannel[f2].onopen=l3,Q2.dataChannel[f2].onclose=l3,Q2.dataChannel[f2].onerror=p3,Q2.dataChannel[f2].pending=[],I2&&Q2.dataChannel[f2].pending.push(I2)}function z3(z,f2){f2=f2||{},f2.success=typeof f2.success=="function"?f2.success:O.noop,f2.error=typeof f2.error=="function"?f2.error:O.noop;var v2=H[z];if(v2==null||v2.webrtcStuff===null||v2.webrtcStuff===void 0){O.warn("Invalid handle"),f2.error("Invalid handle");return}var I2=v2.webrtcStuff,l2=f2.text;if(l2==null){O.warn("Invalid text"),f2.error("Invalid text");return}var Q2=f2.label?f2.label:O.dataChanDefaultLabel;if(!I2.dataChannel[Q2]){V3(z,Q2,!1,l2),f2.success();return}if(I2.dataChannel[Q2].readyState!=="open"){I2.dataChannel[Q2].pending.push(l2),f2.success();return}O.log("Sending string on data channel <"+Q2+">: "+l2),I2.dataChannel[Q2].send(l2),f2.success()}function o1(z,f2){f2=f2||{},f2.success=typeof f2.success=="function"?f2.success:O.noop,f2.error=typeof f2.error=="function"?f2.error:O.noop;var v2=H[z];if(v2==null||v2.webrtcStuff===null||v2.webrtcStuff===void 0){O.warn("Invalid handle"),f2.error("Invalid handle");return}var I2=v2.webrtcStuff;if(I2.dtmfSender===null||I2.dtmfSender===void 0){if(I2.pc!==void 0&&I2.pc!==null){var l2=I2.pc.getSenders(),Q2=l2.find(function(T3){return T3.track&&T3.track.kind==="audio"});if(!Q2){O.warn("Invalid DTMF configuration (no audio track)"),f2.error("Invalid DTMF configuration (no audio track)");return}I2.dtmfSender=Q2.dtmf,I2.dtmfSender&&(O.log("Created DTMF Sender"),I2.dtmfSender.ontonechange=function(T3){O.debug("Sent DTMF tone: "+T3.tone)})}if(I2.dtmfSender===null||I2.dtmfSender===void 0){O.warn("Invalid DTMF configuration"),f2.error("Invalid DTMF configuration");return}}var F2=f2.dtmf;if(F2==null){O.warn("Invalid DTMF parameters"),f2.error("Invalid DTMF parameters");return}var l3=F2.tones;if(l3==null){O.warn("Invalid DTMF string"),f2.error("Invalid DTMF string");return}var p3=F2.duration;p3==null&&(p3=500);var O3=F2.gap;O3==null&&(O3=50),O.debug("Sending DTMF string "+l3+" (duration "+p3+"ms, gap "+O3+"ms)"),I2.dtmfSender.insertDTMF(l3,p3,O3),f2.success()}function T1(z,f2){f2=f2||{},f2.success=typeof f2.success=="function"?f2.success:O.noop,f2.error=typeof f2.error=="function"?f2.error:O.noop;var v2=!0;f2.asyncRequest!==void 0&&f2.asyncRequest!==null&&(v2=f2.asyncRequest===!0);var I2=!0;f2.noRequest!==void 0&&f2.noRequest!==null&&(I2=f2.noRequest===!0),O.log("Destroying handle "+z+" (async="+v2+")"),Fe(z);var l2=H[z];if(l2==null||l2.detached){delete H[z],f2.success();return}if(I2){delete H[z],f2.success();return}if(!A){O.warn("Is the server down? (connected=false)"),f2.error("Is the server down? (connected=false)");return}var Q2={rtcgw:"detach",transaction:O.randomString(12)};if(l2.token!==null&&l2.token!==void 0&&(Q2.token=l2.token),p2!=null&&(Q2.apisecret=p2),N){Q2.session_id=j,Q2.handle_id=z,m.send(JSON.stringify(Q2)),delete H[z],f2.success();return}O.httpAPICall(k+"/"+j+"/"+z,{verb:"POST",async:v2,withCredentials:W,body:Q2,success:function(l3){O.log("Destroyed handle:"),O.debug(l3),l3.rtcgw!=="success"&&O.error("Ooops: "+l3.error.code+" "+l3.error.reason),delete H[z],f2.success()},error:function(l3,p3){O.error(l3+":",p3),delete H[z],f2.success()}})}function E2(z,f2,v2,I2,l2){var Q2=H[z];if(Q2==null||Q2.webrtcStuff===null||Q2.webrtcStuff===void 0){O.warn("Invalid handle"),I2.error("Invalid handle");return}var F2=Q2.webrtcStuff;O.debug("streamsDone:",l2),l2&&(O.debug(" -- Audio tracks:",l2.getAudioTracks()),O.debug(" -- Video tracks:",l2.getVideoTracks()));var l3=!1;if(!F2.myStream||!v2.update||F2.streamExternal)F2.myStream=l2,l3=!0;else{if((!v2.update&&f0(v2)||v2.update&&(v2.addAudio||v2.replaceAudio))&&l2.getAudioTracks()&&l2.getAudioTracks().length)if(F2.myStream.addTrack(l2.getAudioTracks()[0]),O.unifiedPlan){O.log((v2.replaceAudio?"Replacing":"Adding")+" audio track:",l2.getAudioTracks()[0]);var p3=null,O3=F2.pc.getTransceivers();if(O3&&O3.length>0)for(var T3 in O3){var H3=O3[T3];if(H3.sender&&H3.sender.track&&H3.sender.track.kind==="audio"||H3.receiver&&H3.receiver.track&&H3.receiver.track.kind==="audio"){p3=H3;break}}p3&&p3.sender?p3.sender.replaceTrack(l2.getAudioTracks()[0]):F2.pc.addTrack(l2.getAudioTracks()[0],l2)}else O.log((v2.replaceAudio?"Replacing":"Adding")+" audio track:",l2.getAudioTracks()[0]),F2.pc.addTrack(l2.getAudioTracks()[0],l2);if((!v2.update&&o0(v2)||v2.update&&(v2.addVideo||v2.replaceVideo))&&l2.getVideoTracks()&&l2.getVideoTracks().length)if(F2.myStream.addTrack(l2.getVideoTracks()[0]),O.unifiedPlan){O.log((v2.replaceVideo?"Replacing":"Adding")+" video track:",l2.getVideoTracks()[0]);var m0=null,O3=F2.pc.getTransceivers();if(O3&&O3.length>0)for(var T3 in O3){var H3=O3[T3];if(H3.sender&&H3.sender.track&&H3.sender.track.kind==="video"||H3.receiver&&H3.receiver.track&&H3.receiver.track.kind==="video"){m0=H3;break}}m0&&m0.sender?m0.sender.replaceTrack(l2.getVideoTracks()[0]):F2.pc.addTrack(l2.getVideoTracks()[0],l2)}else O.log((v2.replaceVideo?"Replacing":"Adding")+" video track:",l2.getVideoTracks()[0]),F2.pc.addTrack(l2.getVideoTracks()[0],l2)}if(!F2.pc){var Y0={iceServers:m2,iceTransportPolicy:t2,bundlePolicy:d2};O.webRTCAdapter.browserDetails.browser==="chrome"&&(Y0.sdpSemantics=O.webRTCAdapter.browserDetails.version<72?"plan-b":"unified-plan");var D1={optional:[{DtlsSrtpKeyAgreement:!0}]};if(Z===!0&&D1.optional.push({googIPv6:!0}),I2.rtcConstraints&&t(I2.rtcConstraints)==="object"){O.debug("Adding custom PeerConnection constraints:",I2.rtcConstraints);for(var T3 in I2.rtcConstraints)D1.optional.push(I2.rtcConstraints[T3])}O.webRTCAdapter.browserDetails.browser==="edge"&&(Y0.bundlePolicy="max-bundle"),O.log("Creating PeerConnection"),O.debug(D1),F2.pc=new RTCPeerConnection(Y0,D1),O.debug(F2.pc),F2.pc.getStats&&(F2.volume={},F2.bitrate.value="0 kbits/sec"),O.log("Preparing local SDP and gathering candidates (trickle="+F2.trickle+")"),F2.pc.oniceconnectionstatechange=function(n0){F2.pc&&Q2.iceState(F2.pc.iceConnectionState)},F2.pc.onicecandidate=function(n0){if(n0.candidate==null||O.webRTCAdapter.browserDetails.browser==="edge"&&n0.candidate.candidate.indexOf("endOfCandidates")>0)O.log("End of candidates."),F2.iceDone=!0,F2.trickle===!0?W3(z,{completed:!0}):_1(z,I2);else{var D0={candidate:n0.candidate.candidate,sdpMid:n0.candidate.sdpMid,sdpMLineIndex:n0.candidate.sdpMLineIndex};F2.trickle===!0&&W3(z,D0)}},F2.pc.ontrack=function(n0){O.log("Handling Remote Track"),O.debug(n0),n0.streams&&(F2.remoteStream=n0.streams[0],Q2.onremotestream(F2.remoteStream),!n0.track.onended&&(O.log("Adding onended callback to track:",n0.track),n0.track.onended=function(D0){O.log("Remote track muted/removed:",D0),F2.remoteStream&&(F2.remoteStream.removeTrack(D0.target),Q2.onremotestream(F2.remoteStream))},n0.track.onmute=n0.track.onended,n0.track.onunmute=function(D0){O.log("Remote track flowing again:",D0);try{F2.remoteStream.addTrack(D0.target),Q2.onremotestream(F2.remoteStream)}catch(ln){O.error(ln)}}))}}if(l3&&l2!==null&&l2!==void 0){O.log("Adding local stream");var Te=I2.simulcast2===!0;l2.getTracks().forEach(function(n0){if(O.log("Adding local track:",n0),!Te)F2.pc.addTrack(n0,l2);else if(n0.kind==="audio")F2.pc.addTrack(n0,l2);else{O.log("Enabling rid-based simulcasting:",n0);var D0=r2(I2.simulcastMaxBitrates);F2.pc.addTransceiver(n0,{direction:"sendrecv",streams:[l2],sendEncodings:[{rid:"h",active:!0,maxBitrate:D0.high},{rid:"m",active:!0,maxBitrate:D0.medium,scaleResolutionDownBy:2},{rid:"l",active:!0,maxBitrate:D0.low,scaleResolutionDownBy:4}]})}})}o2(v2)&&!F2.dataChannel[O.dataChanDefaultLabel]&&(O.log("Creating data channel"),V3(z,O.dataChanDefaultLabel,!1),F2.pc.ondatachannel=function(n0){O.log("Data channel created by Janus:",n0),V3(z,n0.channel.label,n0.channel)}),F2.myStream&&Q2.onlocalstream(F2.myStream),f2==null?s2(z,v2,I2):F2.pc.setRemoteDescription(f2).then(function(){if(O.log("Remote description accepted!"),F2.remoteSdp=f2.sdp,F2.candidates&&F2.candidates.length>0){for(var n0=0;n0<F2.candidates.length;n0++){var D0=F2.candidates[n0];O.debug("Adding remote candidate:",D0),!D0||D0.completed===!0?F2.pc.addIceCandidate(O.endOfCandidates):F2.pc.addIceCandidate(D0)}F2.candidates=[]}v3(z,v2,I2)},I2.error)}function c3(z,f2,v2){v2=v2||{},v2.success=typeof v2.success=="function"?v2.success:O.noop,v2.error=typeof v2.error=="function"?v2.error:_t;var I2=v2.jsep;if(f2&&I2){O.error("Provided a JSEP to a createOffer"),v2.error("Provided a JSEP to a createOffer");return}else if(!f2&&(!I2||!I2.type||!I2.sdp)){O.error("A valid JSEP is required for createAnswer"),v2.error("A valid JSEP is required for createAnswer");return}v2.media=v2.media||{audio:!0,video:!0};var l2=v2.media,Q2=H[z];if(Q2==null||Q2.webrtcStuff===null||Q2.webrtcStuff===void 0){O.warn("Invalid handle"),v2.error("Invalid handle");return}var F2=Q2.webrtcStuff;if(F2.trickle=$2(v2.trickle),F2.pc===void 0||F2.pc===null)l2.update=!1,l2.keepAudio=!1,l2.keepVideo=!1;else if(F2.pc!==void 0&&F2.pc!==null){if(O.log("Updating existing media session"),l2.update=!0,v2.stream!==null&&v2.stream!==void 0)v2.stream!==F2.myStream&&O.log("Renegotiation involves a new external stream");else{if(l2.addAudio){if(l2.keepAudio=!1,l2.replaceAudio=!1,l2.removeAudio=!1,l2.audioSend=!0,F2.myStream&&F2.myStream.getAudioTracks()&&F2.myStream.getAudioTracks().length){O.error("Can't add audio stream, there already is one"),v2.error("Can't add audio stream, there already is one");return}}else l2.removeAudio?(l2.keepAudio=!1,l2.replaceAudio=!1,l2.addAudio=!1,l2.audioSend=!1):l2.replaceAudio&&(l2.keepAudio=!1,l2.addAudio=!1,l2.removeAudio=!1,l2.audioSend=!0);if(F2.myStream===null||F2.myStream===void 0?(l2.replaceAudio&&(l2.keepAudio=!1,l2.replaceAudio=!1,l2.addAudio=!0,l2.audioSend=!0),f0(l2)&&(l2.keepAudio=!1,l2.addAudio=!0)):F2.myStream.getAudioTracks()===null||F2.myStream.getAudioTracks()===void 0||F2.myStream.getAudioTracks().length===0?(l2.replaceAudio&&(l2.keepAudio=!1,l2.replaceAudio=!1,l2.addAudio=!0,l2.audioSend=!0),f0(l2)&&(l2.keepVideo=!1,l2.addAudio=!0)):f0(l2)&&!l2.removeAudio&&!l2.replaceAudio&&(l2.keepAudio=!0),l2.addVideo){if(l2.keepVideo=!1,l2.replaceVideo=!1,l2.removeVideo=!1,l2.videoSend=!0,F2.myStream&&F2.myStream.getVideoTracks()&&F2.myStream.getVideoTracks().length){O.error("Can't add video stream, there already is one"),v2.error("Can't add video stream, there already is one");return}}else l2.removeVideo?(l2.keepVideo=!1,l2.replaceVideo=!1,l2.addVideo=!1,l2.videoSend=!1):l2.replaceVideo&&(l2.keepVideo=!1,l2.addVideo=!1,l2.removeVideo=!1,l2.videoSend=!0);F2.myStream===null||F2.myStream===void 0||F2.myStream.getVideoTracks()===null||F2.myStream.getVideoTracks()===void 0||F2.myStream.getVideoTracks().length===0?(l2.replaceVideo&&(l2.keepVideo=!1,l2.replaceVideo=!1,l2.addVideo=!0,l2.videoSend=!0),o0(l2)&&(l2.keepVideo=!1,l2.addVideo=!0)):o0(l2)&&!l2.removeVideo&&!l2.replaceVideo&&(l2.keepVideo=!0),l2.addData&&(l2.data=!0)}if(f0(l2)&&l2.keepAudio&&o0(l2)&&l2.keepVideo){Q2.consentDialog(!1),E2(z,I2,l2,v2,F2.myStream);return}}if(l2.update&&!F2.streamExternal){if(l2.removeAudio||l2.replaceAudio){if(F2.myStream&&F2.myStream.getAudioTracks()&&F2.myStream.getAudioTracks().length){var l3=F2.myStream.getAudioTracks()[0];O.log("Removing audio track:",l3),F2.myStream.removeTrack(l3);try{l3.stop()}catch(ke){}}if(F2.pc.getSenders()&&F2.pc.getSenders().length){var p3=!0;if(l2.replaceAudio&&O.unifiedPlan&&(p3=!1),p3)for(var O3 in F2.pc.getSenders()){var l3=F2.pc.getSenders()[O3];l3&&l3.track&&l3.track.kind==="audio"&&(O.log("Removing audio sender:",l3),F2.pc.removeTrack(l3))}}}if(l2.removeVideo||l2.replaceVideo){if(F2.myStream&&F2.myStream.getVideoTracks()&&F2.myStream.getVideoTracks().length){var l3=F2.myStream.getVideoTracks()[0];O.log("Removing video track:",l3),F2.myStream.removeTrack(l3);try{l3.stop()}catch(me){}}if(F2.pc.getSenders()&&F2.pc.getSenders().length){var T3=!0;if(l2.replaceVideo&&O.unifiedPlan&&(T3=!1),T3)for(var O3 in F2.pc.getSenders()){var l3=F2.pc.getSenders()[O3];l3&&l3.track&&l3.track.kind==="video"&&(O.log("Removing video sender:",l3),F2.pc.removeTrack(l3))}}}}if(v2.stream!==null&&v2.stream!==void 0){var H3=v2.stream;if(O.log("MediaStream provided by the application"),O.debug(H3),l2.update&&F2.myStream&&F2.myStream!==v2.stream&&!F2.streamExternal){try{var m0=F2.myStream.getTracks();for(var Y0 in m0){var D1=m0[Y0];O.log(D1),D1!=null&&D1.stop()}}catch(ke){}F2.myStream=null}F2.streamExternal=!0,Q2.consentDialog(!1),E2(z,I2,l2,v2,H3);return}if(f0(l2)||o0(l2)){if(!O.isGetUserMediaAvailable()){v2.error("getUserMedia not available");return}var Te={mandatory:{},optional:[]};Q2.consentDialog(!0);var n0=f0(l2);n0===!0&&l2!=null&&l2!=null&&t(l2.audio)==="object"&&(n0=l2.audio);var D0=o0(l2);if(D0===!0&&l2!=null&&l2!=null){var ln=v2.simulcast===!0,Ht=v2.simulcast2===!0;if((ln||Ht)&&!I2&&(l2.video===void 0||l2.video===!1)&&(l2.video="hires"),l2.video&&l2.video!="screen"&&l2.video!="window")if(t(l2.video)==="object")D0=l2.video;else{var c0=0,oe=0;l2.video==="lowres"?(oe=240,c0=320):l2.video==="lowres-16:9"?(oe=180,c0=320):l2.video==="hires"||l2.video==="hires-16:9"||l2.video==="hdres"?(oe=720,c0=1280):l2.video==="fhdres"?(oe=1080,c0=1920):l2.video==="4kres"?(oe=2160,c0=3840):l2.video==="stdres"?(oe=480,c0=640):l2.video==="stdres-16:9"?(oe=360,c0=640):(O.log("Default video setting is stdres 4:3"),oe=480,c0=640),O.log("Adding media constraint:",l2.video),D0={height:{ideal:oe},width:{ideal:c0}},O.log("Adding video constraint:",D0)}else if(l2.video==="screen"||l2.video==="window"){var R6=function(me,Yt){Q2.consentDialog(!1),me?v2.error(me):E2(z,I2,l2,v2,Yt)},V9=function(me,Yt,Kt){O.log("Adding media constraint (screen capture)"),O.debug(me),navigator.mediaDevices.getUserMedia(me).then(function(kn){Kt?navigator.mediaDevices.getUserMedia({audio:!0,video:!1}).then(function(I6){kn.addTrack(I6.getAudioTracks()[0]),Yt(null,kn)}):Yt(null,kn)}).catch(function(kn){Q2.consentDialog(!1),Yt(kn)})};if(l2.screenshareFrameRate||(l2.screenshareFrameRate=3),navigator.mediaDevices&&navigator.mediaDevices.getDisplayMedia){navigator.mediaDevices.getDisplayMedia({video:!0}).then(function(ke){Q2.consentDialog(!1),f0(l2)&&!l2.keepAudio?navigator.mediaDevices.getUserMedia({audio:!0,video:!1}).then(function(me){ke.addTrack(me.getAudioTracks()[0]),E2(z,I2,l2,v2,ke)}):E2(z,I2,l2,v2,ke)},function(ke){Q2.consentDialog(!1),v2.error(ke)});return}if(O.webRTCAdapter.browserDetails.browser==="chrome"){var H9=O.webRTCAdapter.browserDetails.version,Y8=33;window.navigator.userAgent.match("Linux")&&(Y8=35),H9>=26&&H9<=Y8?(Te={video:{mandatory:{googLeakyBucket:!0,maxWidth:window.screen.width,maxHeight:window.screen.height,minFrameRate:l2.screenshareFrameRate,maxFrameRate:l2.screenshareFrameRate,chromeMediaSource:"screen"}},audio:f0(l2)&&!l2.keepAudio},V9(Te,R6)):O.extension.getScreen(function(ke,me){if(ke)return Q2.consentDialog(!1),v2.error(ke);Te={audio:!1,video:{mandatory:{chromeMediaSource:"desktop",maxWidth:window.screen.width,maxHeight:window.screen.height,minFrameRate:l2.screenshareFrameRate,maxFrameRate:l2.screenshareFrameRate},optional:[{googLeakyBucket:!0},{googTemporalLayeredScreencast:!0}]}},Te.video.mandatory.chromeMediaSourceId=me,V9(Te,R6,f0(l2)&&!l2.keepAudio)})}else if(O.webRTCAdapter.browserDetails.browser==="firefox")if(O.webRTCAdapter.browserDetails.version>=33)Te={video:{mozMediaSource:l2.video,mediaSource:l2.video},audio:f0(l2)&&!l2.keepAudio},V9(Te,function(ke,me){if(R6(ke,me),!ke)var Yt=me.currentTime,Kt=window.setInterval(function(){me||window.clearInterval(Kt),me.currentTime==Yt&&(window.clearInterval(Kt),me.onended&&me.onended()),Yt=me.currentTime},500)});else{var K8=new Error("NavigatorUserMediaError");K8.name="Your version of Firefox does not support screen sharing, please install Firefox 33 (or more recent versions)",Q2.consentDialog(!1),v2.error(K8);return}return}}(l2==null||l2.video!=="screen")&&navigator.mediaDevices.enumerateDevices().then(function(ke){var me=ke.some(function(qt){return qt.kind==="audioinput"}),Yt=q(l2)||ke.some(function(qt){return qt.kind==="videoinput"}),Kt=f0(l2),kn=o0(l2),I6=Ce(l2),q8=S0(l2);if(Kt||kn||I6||q8){var X8=Kt?me:!1,y5=kn?Yt:!1;if(!X8&&!y5)return Q2.consentDialog(!1),v2.error("No capture device found"),!1;if(!X8&&I6)return Q2.consentDialog(!1),v2.error("Audio capture is required, but no capture device found"),!1;if(!y5&&q8)return Q2.consentDialog(!1),v2.error("Video capture is required, but no capture device found"),!1}var K5={audio:me&&!l2.keepAudio?n0:!1,video:Yt&&!l2.keepVideo?D0:!1};O.debug("getUserMedia constraints",K5),!K5.audio&&!K5.video?(Q2.consentDialog(!1),E2(z,I2,l2,v2,H3)):navigator.mediaDevices.getUserMedia(K5).then(function(qt){Q2.consentDialog(!1),E2(z,I2,l2,v2,qt)}).catch(function(qt){Q2.consentDialog(!1),v2.error({code:qt.code,name:qt.name,message:qt.message})})}).catch(function(ke){Q2.consentDialog(!1),v2.error("enumerateDevices error",ke)})}else E2(z,I2,l2,v2)}function S3(z,f2){f2=f2||{},f2.success=typeof f2.success=="function"?f2.success:O.noop,f2.error=typeof f2.error=="function"?f2.error:_t;var v2=f2.jsep,I2=H[z];if(I2==null||I2.webrtcStuff===null||I2.webrtcStuff===void 0){O.warn("Invalid handle"),f2.error("Invalid handle");return}var l2=I2.webrtcStuff;if(v2!=null){if(l2.pc===null){O.warn("Wait, no PeerConnection?? if this is an answer, use createAnswer and not handleRemoteJsep"),f2.error("No PeerConnection: if this is an answer, use createAnswer and not handleRemoteJsep");return}l2.pc.setRemoteDescription(v2).then(function(){if(O.log("Remote description accepted!"),l2.remoteSdp=v2.sdp,l2.candidates&&l2.candidates.length>0){for(var Q2=0;Q2<l2.candidates.length;Q2++){var F2=l2.candidates[Q2];O.debug("Adding remote candidate:",F2),!F2||F2.completed===!0?l2.pc.addIceCandidate(O.endOfCandidates):l2.pc.addIceCandidate(F2)}l2.candidates=[]}f2.success()},f2.error)}else f2.error("Invalid JSEP")}function s2(z,f2,v2){v2=v2||{},v2.success=typeof v2.success=="function"?v2.success:O.noop,v2.error=typeof v2.error=="function"?v2.error:O.noop,v2.customizeSdp=typeof v2.customizeSdp=="function"?v2.customizeSdp:O.noop;var I2=H[z];if(I2==null||I2.webrtcStuff===null||I2.webrtcStuff===void 0){O.warn("Invalid handle"),v2.error("Invalid handle");return}var l2=I2.webrtcStuff,Q2=v2.simulcast===!0;Q2?O.log("Creating offer (iceDone="+l2.iceDone+", simulcast="+Q2+")"):O.log("Creating offer (iceDone="+l2.iceDone+")");var F2={};if(O.unifiedPlan){var l3=null,p3=null,O3=l2.pc.getTransceivers();if(O3&&O3.length>0)for(var T3 in O3){var H3=O3[T3];if(H3.sender&&H3.sender.track&&H3.sender.track.kind==="audio"||H3.receiver&&H3.receiver.track&&H3.receiver.track.kind==="audio"){l3||(l3=H3);continue}if(H3.sender&&H3.sender.track&&H3.sender.track.kind==="video"||H3.receiver&&H3.receiver.track&&H3.receiver.track.kind==="video"){p3||(p3=H3);continue}}var m0=f0(f2),Y0=nt(f2);!m0&&!Y0?f2.removeAudio&&l3&&(l3.setDirection?l3.setDirection("inactive"):l3.direction="inactive",O.log("Setting audio transceiver to inactive:",l3)):m0&&Y0?l3&&(l3.setDirection?l3.setDirection("sendrecv"):l3.direction="sendrecv",O.log("Setting audio transceiver to sendrecv:",l3)):m0&&!Y0?l3&&(l3.setDirection?l3.setDirection("sendonly"):l3.direction="sendonly",O.log("Setting audio transceiver to sendonly:",l3)):!m0&&Y0&&(l3?(l3.setDirection?l3.setDirection("recvonly"):l3.direction="recvonly",O.log("Setting audio transceiver to recvonly:",l3)):(l3=l2.pc.addTransceiver("audio",{direction:"recvonly"}),O.log("Adding recvonly audio transceiver:",l3)));var D1=o0(f2),Te=F(f2);!D1&&!Te?f2.removeVideo&&p3&&(p3.setDirection?p3.setDirection("inactive"):p3.direction="inactive",O.log("Setting video transceiver to inactive:",p3)):D1&&Te?p3&&(p3.setDirection?p3.setDirection("sendrecv"):p3.direction="sendrecv",O.log("Setting video transceiver to sendrecv:",p3)):D1&&!Te?p3&&(p3.setDirection?p3.setDirection("sendonly"):p3.direction="sendonly",O.log("Setting video transceiver to sendonly:",p3)):!D1&&Te&&(p3?(p3.setDirection?p3.setDirection("recvonly"):p3.direction="recvonly",O.log("Setting video transceiver to recvonly:",p3)):(p3=l2.pc.addTransceiver("video",{direction:"recvonly"}),O.log("Adding recvonly video transceiver:",p3)))}else F2.offerToReceiveAudio=nt(f2),F2.offerToReceiveVideo=F(f2);var n0=v2.iceRestart===!0;n0&&(F2.iceRestart=!0),O.debug(F2);var D0=o0(f2);if(D0&&Q2&&O.webRTCAdapter.browserDetails.browser==="firefox"){O.log("Enabling Simulcasting for Firefox (RID)");var ln=l2.pc.getSenders().find(function(oe){return oe.track.kind=="video"});if(ln){var Ht=ln.getParameters();Ht||(Ht={});var c0=r2(v2.simulcastMaxBitrates);Ht.encodings=[{rid:"h",active:!0,maxBitrate:c0.high},{rid:"m",active:!0,maxBitrate:c0.medium,scaleResolutionDownBy:2},{rid:"l",active:!0,maxBitrate:c0.low,scaleResolutionDownBy:4}],ln.setParameters(Ht)}}l2.pc.createOffer(F2).then(function(oe){O.debug(oe);var R6={type:oe.type,sdp:oe.sdp};if(v2.customizeSdp(R6),oe.sdp=R6.sdp,O.log("Setting local description"),D0&&Q2&&(O.webRTCAdapter.browserDetails.browser==="chrome"||O.webRTCAdapter.browserDetails.browser==="safari"?(O.log("Enabling Simulcasting for Chrome (SDP munging)"),oe.sdp=tt(oe.sdp)):O.webRTCAdapter.browserDetails.browser!=="firefox"&&O.warn("simulcast=true, but this is not Chrome nor Firefox, ignoring")),l2.mySdp=oe.sdp,l2.pc.setLocalDescription(oe).catch(v2.error),l2.mediaConstraints=F2,!l2.iceDone&&!l2.trickle){O.log("Waiting for all candidates...");return}O.log("Offer ready"),O.debug(v2),v2.success(oe)},v2.error)}function v3(z,f2,v2){v2=v2||{},v2.success=typeof v2.success=="function"?v2.success:O.noop,v2.error=typeof v2.error=="function"?v2.error:O.noop,v2.customizeSdp=typeof v2.customizeSdp=="function"?v2.customizeSdp:O.noop;var I2=H[z];if(I2==null||I2.webrtcStuff===null||I2.webrtcStuff===void 0){O.warn("Invalid handle"),v2.error("Invalid handle");return}var l2=I2.webrtcStuff,Q2=v2.simulcast===!0;Q2?O.log("Creating answer (iceDone="+l2.iceDone+", simulcast="+Q2+")"):O.log("Creating answer (iceDone="+l2.iceDone+")");var F2=null;if(O.unifiedPlan){F2={};var l3=null,p3=null,O3=l2.pc.getTransceivers();if(O3&&O3.length>0)for(var T3 in O3){var H3=O3[T3];if(H3.sender&&H3.sender.track&&H3.sender.track.kind==="audio"||H3.receiver&&H3.receiver.track&&H3.receiver.track.kind==="audio"){l3||(l3=H3);continue}if(H3.sender&&H3.sender.track&&H3.sender.track.kind==="video"||H3.receiver&&H3.receiver.track&&H3.receiver.track.kind==="video"){p3||(p3=H3);continue}}var m0=f0(f2),Y0=nt(f2);if(!m0&&!Y0){if(f2.removeAudio&&l3)try{l3.setDirection?l3.setDirection("inactive"):l3.direction="inactive",O.log("Setting audio transceiver to inactive:",l3)}catch(c0){O.error(c0)}}else if(m0&&Y0){if(l3)try{l3.setDirection?l3.setDirection("sendrecv"):l3.direction="sendrecv",O.log("Setting audio transceiver to sendrecv:",l3)}catch(c0){O.error(c0)}}else if(m0&&!Y0)try{l3&&(l3.setDirection?l3.setDirection("sendonly"):l3.direction="sendonly",O.log("Setting audio transceiver to sendonly:",l3))}catch(c0){O.error(c0)}else if(!m0&&Y0)if(l3)try{l3.setDirection?l3.setDirection("recvonly"):l3.direction="recvonly",O.log("Setting audio transceiver to recvonly:",l3)}catch(c0){O.error(c0)}else l3=l2.pc.addTransceiver("audio",{direction:"recvonly"}),O.log("Adding recvonly audio transceiver:",l3);var D1=o0(f2),Te=F(f2);if(!D1&&!Te){if(f2.removeVideo&&p3)try{p3.setDirection?p3.setDirection("inactive"):p3.direction="inactive",O.log("Setting video transceiver to inactive:",p3)}catch(c0){O.error(c0)}}else if(D1&&Te){if(p3)try{p3.setDirection?p3.setDirection("sendrecv"):p3.direction="sendrecv",O.log("Setting video transceiver to sendrecv:",p3)}catch(c0){O.error(c0)}}else if(D1&&!Te){if(p3)try{p3.setDirection?p3.setDirection("sendonly"):p3.direction="sendonly",O.log("Setting video transceiver to sendonly:",p3)}catch(c0){O.error(c0)}}else if(!D1&&Te)if(p3)try{p3.setDirection?p3.setDirection("recvonly"):p3.direction="recvonly",O.log("Setting video transceiver to recvonly:",p3)}catch(c0){O.error(c0)}else p3=l2.pc.addTransceiver("video",{direction:"recvonly"}),O.log("Adding recvonly video transceiver:",p3)}else O.webRTCAdapter.browserDetails.browser=="firefox"||O.webRTCAdapter.browserDetails.browser=="edge"?F2={offerToReceiveAudio:nt(f2),offerToReceiveVideo:F(f2)}:F2={mandatory:{OfferToReceiveAudio:nt(f2),OfferToReceiveVideo:F(f2)}};O.debug(F2);var n0=o0(f2);if(n0&&Q2&&O.webRTCAdapter.browserDetails.browser==="firefox"){O.log("Enabling Simulcasting for Firefox (RID)");var D0=l2.pc.getSenders()[1];O.log(D0);var ln=D0.getParameters();O.log(ln);var Ht=r2(v2.simulcastMaxBitrates);D0.setParameters({encodings:[{rid:"high",active:!0,priority:"high",maxBitrate:Ht.high},{rid:"medium",active:!0,priority:"medium",maxBitrate:Ht.medium},{rid:"low",active:!0,priority:"low",maxBitrate:Ht.low}]})}l2.pc.createAnswer(F2).then(function(c0){O.debug(c0);var oe={type:c0.type,sdp:c0.sdp};if(v2.customizeSdp(oe),c0.sdp=oe.sdp,O.log("Setting local description"),n0&&Q2&&(O.webRTCAdapter.browserDetails.browser==="chrome"?O.warn("simulcast=true, but this is an answer, and video breaks in Chrome if we enable it"):O.webRTCAdapter.browserDetails.browser!=="firefox"&&O.warn("simulcast=true, but this is not Chrome nor Firefox, ignoring")),l2.mySdp=c0.sdp,l2.pc.setLocalDescription(c0).catch(v2.error),l2.mediaConstraints=F2,!l2.iceDone&&!l2.trickle){O.log("Waiting for all candidates...");return}v2.success(c0)},v2.error)}function _1(z,f2){f2=f2||{},f2.success=typeof f2.success=="function"?f2.success:O.noop,f2.error=typeof f2.error=="function"?f2.error:O.noop;var v2=H[z];if(v2==null||v2.webrtcStuff===null||v2.webrtcStuff===void 0){O.warn("Invalid handle, not sending anything");return}var I2=v2.webrtcStuff;if(O.log("Sending offer/answer SDP..."),I2.mySdp===null||I2.mySdp===void 0){O.warn("Local SDP instance is invalid, not sending anything...");return}I2.mySdp={type:I2.pc.localDescription.type,sdp:I2.pc.localDescription.sdp},I2.trickle===!1&&(I2.mySdp.trickle=!1),O.debug(f2),I2.sdpSent=!0,f2.success(I2.mySdp)}function E1(z,f2){var v2=H[z];if(v2==null||v2.webrtcStuff===null||v2.webrtcStuff===void 0)return O.warn("Invalid handle"),0;var I2=f2?"remote":"local",l2=v2.webrtcStuff;return l2.volume[I2]||(l2.volume[I2]={value:0}),l2.pc.getStats&&O.webRTCAdapter.browserDetails.browser==="chrome"?f2&&(l2.remoteStream===null||l2.remoteStream===void 0)?(O.warn("Remote stream unavailable"),0):!f2&&(l2.myStream===null||l2.myStream===void 0)?(O.warn("Local stream unavailable"),0):l2.volume[I2].timer===null||l2.volume[I2].timer===void 0?(O.log("Starting "+I2+" volume monitor"),l2.volume[I2].timer=setInterval(function(){l2.pc.getStats(function(Q2){for(var F2=Q2.result(),l3=0;l3<F2.length;l3++){var p3=F2[l3];p3.type=="ssrc"&&(f2&&p3.stat("audioOutputLevel")?l2.volume[I2].value=parseInt(p3.stat("audioOutputLevel")):!f2&&p3.stat("audioInputLevel")&&(l2.volume[I2].value=parseInt(p3.stat("audioInputLevel"))))}})},200),0):l2.volume[I2].value:(O.warn("Getting the "+I2+" volume unsupported by browser"),0)}function L1(z,f2){var v2=H[z];if(v2==null||v2.webrtcStuff===null||v2.webrtcStuff===void 0)return O.warn("Invalid handle"),!0;var I2=v2.webrtcStuff;return I2.pc===null||I2.pc===void 0?(O.warn("Invalid PeerConnection"),!0):I2.myStream===void 0||I2.myStream===null?(O.warn("Invalid local MediaStream"),!0):f2?I2.myStream.getVideoTracks()===null||I2.myStream.getVideoTracks()===void 0||I2.myStream.getVideoTracks().length===0?(O.warn("No video track"),!0):!I2.myStream.getVideoTracks()[0].enabled:I2.myStream.getAudioTracks()===null||I2.myStream.getAudioTracks()===void 0||I2.myStream.getAudioTracks().length===0?(O.warn("No audio track"),!0):!I2.myStream.getAudioTracks()[0].enabled}function M1(z,f2,v2){var I2=H[z];if(I2==null||I2.webrtcStuff===null||I2.webrtcStuff===void 0)return O.warn("Invalid handle"),!1;var l2=I2.webrtcStuff;return l2.pc===null||l2.pc===void 0?(O.warn("Invalid PeerConnection"),!1):l2.myStream===void 0||l2.myStream===null?(O.warn("Invalid local MediaStream"),!1):f2?l2.myStream.getVideoTracks()===null||l2.myStream.getVideoTracks()===void 0||l2.myStream.getVideoTracks().length===0?(O.warn("No video track"),!1):(l2.myStream.getVideoTracks()[0].enabled=!v2,!0):l2.myStream.getAudioTracks()===null||l2.myStream.getAudioTracks()===void 0||l2.myStream.getAudioTracks().length===0?(O.warn("No audio track"),!1):(l2.myStream.getAudioTracks()[0].enabled=!v2,!0)}function Bt(z){var f2=H[z];if(f2==null||f2.webrtcStuff===null||f2.webrtcStuff===void 0)return O.warn("Invalid handle"),"Invalid handle";var v2=f2.webrtcStuff;return v2.pc===null||v2.pc===void 0?"Invalid PeerConnection":v2.pc.getStats?v2.bitrate.timer===null||v2.bitrate.timer===void 0?(O.log("Starting bitrate timer (via getStats)"),v2.bitrate.timer=setInterval(function(){v2.pc.getStats().then(function(I2){I2.forEach(function(l2){if(l2){var Q2=!1;if(((l2.mediaType==="video"||l2.id.toLowerCase().indexOf("video")>-1)&&l2.type==="inbound-rtp"&&l2.id.indexOf("rtcp")<0||l2.type=="ssrc"&&l2.bytesReceived&&(l2.googCodecName==="VP8"||l2.googCodecName===""))&&(Q2=!0),Q2)if(v2.bitrate.bsnow=l2.bytesReceived,v2.bitrate.tsnow=l2.timestamp,v2.bitrate.bsbefore===null||v2.bitrate.tsbefore===null)v2.bitrate.bsbefore=v2.bitrate.bsnow,v2.bitrate.tsbefore=v2.bitrate.tsnow;else{var F2=v2.bitrate.tsnow-v2.bitrate.tsbefore;O.webRTCAdapter.browserDetails.browser=="safari"&&(F2=F2/1e3);var l3=Math.round((v2.bitrate.bsnow-v2.bitrate.bsbefore)*8/F2);O.webRTCAdapter.browserDetails.browser==="safari"&&(l3=parseInt(l3/1e3)),v2.bitrate.value=l3+" kbits/sec",v2.bitrate.bsbefore=v2.bitrate.bsnow,v2.bitrate.tsbefore=v2.bitrate.tsnow}}})})},1e3),"0 kbits/sec"):v2.bitrate.value:(O.warn("Getting the video bitrate unsupported by browser"),"Feature unsupported by browser")}function _t(z){O.error("WebRTC error:",z)}function Fe(z,f2){O.log("Cleaning WebRTC stuff");var v2=H[z];if(v2!=null){var I2=v2.webrtcStuff;if(I2!=null){if(f2===!0){var l2={rtcgw:"hangup",transaction:O.randomString(12)};v2.token!==null&&v2.token!==void 0&&(l2.token=v2.token),p2!=null&&(l2.apisecret=p2),O.debug("Sending hangup request (handle="+z+"):"),O.debug(l2),N?(l2.session_id=j,l2.handle_id=z,m.send(JSON.stringify(l2))):O.httpAPICall(k+"/"+j+"/"+z,{verb:"POST",withCredentials:W,body:l2})}I2.remoteStream=null,I2.volume&&(I2.volume.local&&I2.volume.local.timer&&clearInterval(I2.volume.local.timer),I2.volume.remote&&I2.volume.remote.timer&&clearInterval(I2.volume.remote.timer)),I2.volume={},I2.bitrate.timer&&clearInterval(I2.bitrate.timer),I2.bitrate.timer=null,I2.bitrate.bsnow=null,I2.bitrate.bsbefore=null,I2.bitrate.tsnow=null,I2.bitrate.tsbefore=null,I2.bitrate.value=null;try{if(!I2.streamExternal&&I2.myStream!==null&&I2.myStream!==void 0){O.log("Stopping local stream tracks");var Q2=I2.myStream.getTracks();for(var F2 in Q2){var l3=Q2[F2];O.log(l3),l3!=null&&l3.stop()}}}catch(p3){}I2.streamExternal=!1,I2.myStream=null;try{I2.pc.close()}catch(p3){}I2.pc=null,I2.candidates=null,I2.mySdp=null,I2.remoteSdp=null,I2.iceDone=!1,I2.dataChannel={},I2.dtmfSender=null}v2.oncleanup()}}function tt(z){for(var f2=z.split(`\r
`),v2=!1,I2=[-1],l2=[-1],Q2=null,F2=null,l3=null,p3=null,O3=-1,T3=0;T3<f2.length;T3++){var H3=f2[T3].match(/m=(\w+) */);if(H3){var m0=H3[1];if(m0==="video")if(I2[0]<0)v2=!0;else{O3=T3;break}else if(I2[0]>-1){O3=T3;break}continue}if(v2){var Y0=f2[T3].match(/a=ssrc-group:FID (\d+) (\d+)/);if(Y0){I2[0]=Y0[1],l2[0]=Y0[2],f2.splice(T3,1),T3--;continue}if(I2[0]){var D1=f2[T3].match("a=ssrc:"+I2[0]+" cname:(.+)");if(D1&&(Q2=D1[1]),D1=f2[T3].match("a=ssrc:"+I2[0]+" msid:(.+)"),D1&&(F2=D1[1]),D1=f2[T3].match("a=ssrc:"+I2[0]+" mslabel:(.+)"),D1&&(l3=D1[1]),D1=f2[T3].match("a=ssrc:"+I2[0]+" label:(.+)"),D1&&(p3=D1[1]),f2[T3].indexOf("a=ssrc:"+l2[0])===0){f2.splice(T3,1),T3--;continue}if(f2[T3].indexOf("a=ssrc:"+I2[0])===0){f2.splice(T3,1),T3--;continue}}if(f2[T3].length==0){f2.splice(T3,1),T3--;continue}}}if(I2[0]<0){O3=-1,v2=!1;for(var T3=0;T3<f2.length;T3++){var H3=f2[T3].match(/m=(\w+) */);if(H3){var m0=H3[1];if(m0==="video")if(I2[0]<0)v2=!0;else{O3=T3;break}else if(I2[0]>-1){O3=T3;break}continue}if(v2){if(I2[0]<0){var Te=f2[T3].match(/a=ssrc:(\d+)/);if(Te){I2[0]=Te[1],f2.splice(T3,1),T3--;continue}}else{var D1=f2[T3].match("a=ssrc:"+I2[0]+" cname:(.+)");if(D1&&(Q2=D1[1]),D1=f2[T3].match("a=ssrc:"+I2[0]+" msid:(.+)"),D1&&(F2=D1[1]),D1=f2[T3].match("a=ssrc:"+I2[0]+" mslabel:(.+)"),D1&&(l3=D1[1]),D1=f2[T3].match("a=ssrc:"+I2[0]+" label:(.+)"),D1&&(p3=D1[1]),f2[T3].indexOf("a=ssrc:"+l2[0])===0){f2.splice(T3,1),T3--;continue}if(f2[T3].indexOf("a=ssrc:"+I2[0])===0){f2.splice(T3,1),T3--;continue}}if(f2[T3].length==0){f2.splice(T3,1),T3--;continue}}}}if(I2[0]<0)return O.warn("Couldn't find the video SSRC, simulcasting NOT enabled"),z;O3<0&&(O3=f2.length),I2[1]=Math.floor(Math.random()*4294967295),I2[2]=Math.floor(Math.random()*4294967295),l2[1]=Math.floor(Math.random()*4294967295),l2[2]=Math.floor(Math.random()*4294967295);for(var T3=0;T3<I2.length;T3++)Q2&&(f2.splice(O3,0,"a=ssrc:"+I2[T3]+" cname:"+Q2),O3++),F2&&(f2.splice(O3,0,"a=ssrc:"+I2[T3]+" msid:"+F2),O3++),l3&&(f2.splice(O3,0,"a=ssrc:"+I2[T3]+" mslabel:"+l3),O3++),p3&&(f2.splice(O3,0,"a=ssrc:"+I2[T3]+" label:"+p3),O3++),Q2&&(f2.splice(O3,0,"a=ssrc:"+l2[T3]+" cname:"+Q2),O3++),F2&&(f2.splice(O3,0,"a=ssrc:"+l2[T3]+" msid:"+F2),O3++),l3&&(f2.splice(O3,0,"a=ssrc:"+l2[T3]+" mslabel:"+l3),O3++),p3&&(f2.splice(O3,0,"a=ssrc:"+l2[T3]+" label:"+p3),O3++);return f2.splice(O3,0,"a=ssrc-group:FID "+I2[2]+" "+l2[2]),f2.splice(O3,0,"a=ssrc-group:FID "+I2[1]+" "+l2[1]),f2.splice(O3,0,"a=ssrc-group:FID "+I2[0]+" "+l2[0]),f2.splice(O3,0,"a=ssrc-group:SIM "+I2[0]+" "+I2[1]+" "+I2[2]),z=f2.join(`\r
`),z.endsWith(`\r
`)||(z+=`\r
`),z}function f0(z){return O.debug("isAudioSendEnabled:",z),z==null?!0:z.audio===!1?!1:z.audioSend===void 0||z.audioSend===null?!0:z.audioSend===!0}function Ce(z){return O.debug("isAudioSendRequired:",z),z==null||z.audio===!1||z.audioSend===!1||z.failIfNoAudio===void 0||z.failIfNoAudio===null?!1:z.failIfNoAudio===!0}function nt(z){return O.debug("isAudioRecvEnabled:",z),z==null?!0:z.audio===!1?!1:z.audioRecv===void 0||z.audioRecv===null?!0:z.audioRecv===!0}function o0(z){return O.debug("isVideoSendEnabled:",z),z==null?!0:z.video===!1?!1:z.videoSend===void 0||z.videoSend===null?!0:z.videoSend===!0}function S0(z){return O.debug("isVideoSendRequired:",z),z==null||z.video===!1||z.videoSend===!1||z.failIfNoVideo===void 0||z.failIfNoVideo===null?!1:z.failIfNoVideo===!0}function F(z){return O.debug("isVideoRecvEnabled:",z),z==null?!0:z.video===!1?!1:z.videoRecv===void 0||z.videoRecv===null?!0:z.videoRecv===!0}function q(z){if(O.debug("isScreenSendEnabled:",z),z==null||t(z.video)!=="object"||t(z.video.mandatory)!=="object")return!1;var f2=z.video.mandatory;return f2.chromeMediaSource?f2.chromeMediaSource==="desktop"||f2.chromeMediaSource==="screen":f2.mozMediaSource?f2.mozMediaSource==="window"||f2.mozMediaSource==="screen":f2.mediaSource?f2.mediaSource==="window"||f2.mediaSource==="screen":!1}function o2(z){return O.debug("isDataEnabled:",z),O.webRTCAdapter.browserDetails.browser=="edge"?(O.warn("Edge doesn't support data channels yet"),!1):z==null?!1:z.data===!0}function $2(z){return O.debug("isTrickleEnabled:",z),z==null?!0:z===!0}}window.Janus=O;var A1=null,I1=null,F1="tts-"+Janus.randomString(12),S1=null;Janus=window.Janus,Janus.init({debug:"all",callback:function(){window.stopTalk=function(){A1.destroy()},window.startTalk=function(){if(!Janus.isWebrtcSupported()){bootbox.alert("No WebRTC support... ");return}A1=new Janus({server:window.EZUIKit.opt.rtcUrl,success:function(){A1.attach({plugin:"rtcgw.plugin.tts",opaqueId:F1,success:function(g){I1=g,Janus.log("Plugin attached! ("+I1.getPlugin()+", id="+I1.getId()+")");var v=window.EZUIKit.opt.talkLink;console.log("ttsUlr",v);var S={request:"start",url:v,codec:"opus",dir:"sendrecv",audio_debug:1};window.EZUIKit.opt.talkType==="gb28181"&&(S.devProto="gb28181"),Janus.debug("Trying a createOffer too (audio/video sendrecv)"),I1.createOffer({media:{audio:!0,video:!1,data:!1},simulcast:!1,simulcast2:!1,success:function(k){Janus.debug("Got SDP!"),Janus.debug(k),I1.send({message:S,jsep:k}),typeof window.EZUIKit.handleTalkSuccess!="undefined"&&window.EZUIKit.handleTalkSuccess()},error:function(k){Janus.error("WebRTC error:",k),typeof window.EZUIKit.handleTalkError!="undefined"&&window.EZUIKit.handleTalkError(k)}})},error:function(g){console.error(" -- Error attaching plugin...",g),bootbox.alert("Error attaching plugin... "+g),window.EZUIKit.handleTalkError!=="undefined"&&window.EZUIKit.handleTalkError(g)},consentDialog:function(g){Janus.debug("Consent dialog should be "+(g?"on":"off")+" now")},iceState:function(g){Janus.log("ICE state changed to "+g)},mediaState:function(g,v){Janus.log("Janus "+(v?"started":"stopped")+" receiving our "+g)},webrtcState:function(g){Janus.log("Janus says our WebRTC PeerConnection is "+(g?"up":"down")+" now")},slowLink:function(g,v){Janus.warn("Janus reports problems "+(g?"sending":"receiving")+" packets on this PeerConnection ("+v+" lost packets)")},onmessage:function(g,v){Janus.debug(" ::: Got a message :::"),Janus.debug(g),v!=null&&(Janus.debug("Handling SDP as well..."),Janus.debug(v),I1.handleRemoteJsep({jsep:v}));var S=g.result;if(S!=null){if(S==="done"){bootbox.alert("The TTS Test is over"),S1!=null&&S1.stop(),S1=null;return}S==="msg"&&typeof window.EZUIKit.handleTalkMessage!="undefined"&&window.EZUIKit.handleTalkMessage(g);var x=S.status;x==="slow_link"&&toastr.warning("Janus apparently missed many packets we sent, maybe we should reduce the bitrate","Packet loss?",{timeOut:2e3})}},onlocalstream:function(g){Janus.debug(" ::: Got a local stream :::"),Janus.debug(g),Janus.attachMediaStream(document.getElementById("myaudio"),g),I1.webrtcStuff.pc.iceConnectionState!=="completed"&&I1.webrtcStuff.pc.iceConnectionState!=="connected"&&(S1==null?document.getElementById("audioright"):S1.spin());var v=g.getAudioTracks();v==null||v.length},onremotestream:function(g){Janus.debug(" ::: Got a remote stream :::"),Janus.debug(g),Janus.attachMediaStream(document.getElementById("peeraudio"),g);var v=g.getAudioTracks();v==null||v.length===0||document.getElementById("peeraudio").play()},ondataopen:function(g){Janus.log("The DataChannel is available!")},ondata:function(g){Janus.debug("We got data from the DataChannel! "+g)},oncleanup:function(){Janus.log(" ::: Got a cleanup notification :::"),S1!=null&&S1.stop(),S1=null}})},error:function(m){Janus.error(m),window.EZUIKit.handleTalkError!=="undefined"&&window.EZUIKit.handleTalkError(m)},destroyed:function(){}})}}}),window.janus=A1,window.tts=I1;var H2=function(){function U(N){var m=this;i(this,U),this.jSPlugin=N,this.codeHandler=new B1,this.pluginStatus=new o3(this,this.jSPlugin.params.id);var g=document.createElement("div");g.id="audioleft";var v=document.createElement("div");v.id="audioright",v.style="display:none;";var S=document.createElement("audio");S.id="myaudio",S.muted=!0,S.setAttribute("autoplay",!0),S.setAttribute("controls",!0),g.appendChild(S),g.style="display:none;";var x=document.createElement("audio");x.id="peeraudio",x.setAttribute("autoplay",!0),x.setAttribute("controls",!0),v.appendChild(x),window.EZUIKit.handleTalkError=function(k){console.log("talk err",k),typeof m.jSPlugin.handleTalkError!="undefined"&&m.jSPlugin.handleTalkError(k)},window.EZUIKit.handleTalkSuccess=function(k){console.log("talk success",k),typeof m.jSPlugin.handleTalkSuccess!="undefined"&&m.jSPlugin.handleTalkSuccess(k)},window.EZUIKit.opt={rtcUrl:"",talkLink:"",ttsUrl:"",stream:"",deviceSerial:V(this.jSPlugin.url).deviceSerial,channelNo:V(this.jSPlugin.url).channelNo},document.body.appendChild(g),document.body.appendChild(v)}return a(U,[{key:"toString",value:function(){return"".concat(this.coreX,"-").concat(this.coreY)}},{key:"startTalk",value:function(){var m=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 g=new FormData;g.append("accessToken",this.jSPlugin.accessToken),g.append("deviceSerial",V(this.jSPlugin.url).deviceSerial),g.append("channelNo",V(this.jSPlugin.url).channelNo),fetch(this.jSPlugin.env.domain+"/api/lapp/live/talk/url",{method:"POST",body:g}).then(function(v){return v.json()}).then(function(v){if(v.code==200){var S=v.data;if(S){var x=S.rtcUrl;x.indexOf("ws")===-1&&(x=x.replace("https","wss").replace("rtcgw","rtcgw-ws")),window.EZUIKit.opt.rtcUrl=x,window.EZUIKit.opt.ttsUrl="tts://"+S.ttsUrl,window.EZUIKit.opt.deviceSerial=V(m.jSPlugin.url).deviceSerial,window.EZUIKit.opt.channelNo=V(m.jSPlugin.url).channelNo;var k=window.EZUIKit.opt.ttsUrl.split("?");if(k.length===2){var m2="talk?dev="+window.EZUIKit.opt.deviceSerial+"&chann="+window.EZUIKit.opt.channelNo+"&encodetype=2";window.EZUIKit.opt.talkLink=window.EZUIKit.opt.ttsUrl.split("?")[0]+"/"+m2,window.EZUIKit.opt.talkType="gb28181"}else{var m2="talk://"+window.EZUIKit.opt.deviceSerial+":0:"+window.EZUIKit.opt.channelNo+":cas.ys7.com:6500";window.EZUIKit.opt.talkLink=window.EZUIKit.opt.ttsUrl.split("?")[0]+"/"+m2}window.EZUIKit.opt.stream=S.stream,window.startTalk()}}else console.log(v.code,m.codeHandler.matchInfo(v.code,"talk")),m.pluginStatus.loadingSetText({text:m.codeHandler.matchInfo(v.code,"talk").msg||v.msg,color:"red",delayClear:2e3}),typeof m.jSPlugin.params.handleError=="function"&&m.jSPlugin.params.handleError({msg:v.msg,retcode:v.code,id:m.jSPlugin.params.id,type:"handleError"})}).catch(function(v){console.log("err",v)})}},{key:"stopTalk",value:function(){window.stopTalk(),document.getElementById("myaudio")&&document.getElementById("myaudio").srcObject&&document.getElementById("myaudio").srcObject.getTracks()[0].stop()}}]),U}(),c2=function(){function U(N){var m=this;i(this,U),this.jSPlugin=N;var g=document.createElement("style");g.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(g);var v=document.createElement("div");v.className="mobile-ez-ptz-container",v.id="mobile-ez-ptz-container",v.style="display:inline-block;width: ".concat(this.jSPlugin.width,"px;text-align:center;");var S=document.createElement("div");S.className="live-ptz-title",S.id="live-ptz-title",S.innerHTML="云台控制",document.getElementById("live-ptz-title")||v.appendChild(S);var x=document.createElement("div");x.className="live-ptz-intro",x.id="live-ptz-intro",x.innerHTML="请通过操控云台来调整摄像机视角",document.getElementById("live-ptz-intro")||v.appendChild(x);var k=document.createElement("div");k.id="mobile-ez-ptz-item",k.className="mobile-ez-ptz-wrap",k.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")||v.appendChild(k),p(v,document.getElementById("".concat(this.jSPlugin.id,"-wrap"))),document.getElementById("mobile-ez-ptz-item").ontouchstart=function(m2){m2.preventDefault(),console.log("触摸开始"),m._handlePtzTouch(m2,"start")},document.getElementById("mobile-ez-ptz-item").ontouchend=function(m2){m2.preventDefault(),console.log("触摸结束",m2),m._handlePtzTouch(m2,"stop")},document.getElementById("mobile-ez-ptz-item").onmousedown=function(m2){m2.preventDefault(),console.log("触摸开始"),m._handlePtzTouch(m2,"start")},document.getElementById("mobile-ez-ptz-item").onmouseup=function(m2){m2.preventDefault(),console.log("触摸结束",m2),m._handlePtzTouch(m2,"stop")}}return a(U,[{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(m,g){var v=document.getElementById("mobile-ez-ptz-item").getBoundingClientRect(),S=v.left+130,x=v.top+130,k=m.x||m.changedTouches[0].clientX,m2=m.y||m.changedTouches[0].clientY,t2=k-S,d2=m2-x,Z=0,W=this.jSPlugin.env.domain+"/api/lapp/device/ptz/start";Math.abs(t2)>Math.abs(d2)?t2>0?(Z=3,document.getElementsByClassName("mobile-ez-ptz-icon")[3].className=document.getElementsByClassName("mobile-ez-ptz-icon")[3].className.replace("default","active")):(Z=2,document.getElementsByClassName("mobile-ez-ptz-icon")[1].className=document.getElementsByClassName("mobile-ez-ptz-icon")[1].className.replace("default","active")):d2>0?(Z=1,document.getElementsByClassName("mobile-ez-ptz-icon")[2].className=document.getElementsByClassName("mobile-ez-ptz-icon")[2].className.replace("default","active")):(Z=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(Z===0?180:Z===1?0:Z===2?90:270,"deg, #c0ddf1 0%, rgba(100,143,252,0.00) 50%)"),g==="stop"&&(W=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 L2=new FormData;L2.append("deviceSerial",V(this.jSPlugin.url).deviceSerial),L2.append("channelNo",V(this.jSPlugin.url).channelNo),L2.append("speed",1),L2.append("direction",Z),L2.append("accessToken",this.jSPlugin.accessToken),fetch(W,{method:"POST",body:L2}).then(function(y2){return y2.json()}).then(function(y2){y2.code==200||(y2.code==60005||y2.code==60002||y2.code==60003||y2.code==60004)&&(document.getElementById("mobile-ez-ptz-item").style="background-image:linear-gradient(".concat(Z===0?180:Z===1?0:Z===2?90:270,"deg, #f45656 0%, rgba(100,143,252,0.00) 50%)"))}).catch(function(y2){console.log("云台调用异常",y2)})}}]),U}(),a2=0,i2="成功",A2={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"}]}},n2={retcode:a2,msg:i2,data:A2},M2={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}]}},t3={data:M2},A3={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}]}},J2={data:A3},T2={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}]}},D2={data:T2},E3={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}]}},b3={data:E3},n1={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}]}},w1={data:n1},O1={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}]}},z0={data:O1},ie={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}]}},d3={data:ie},Y3=[{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:D2.data.header,footer:D2.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:b3.data.header,footer:b3.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:z0.data.header,footer:z0.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:w1.data.header,footer:w1.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:d3.data.header,footer:d3.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:t3.data.header,footer:t3.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:J2.data.header,footer:J2.data.footer}],r1=function(){function U(N){var m=this;i(this,U),this.jSPlugin=N,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(N.id),this.clientRect=document.getElementById(N.id).getBoundingClientRect();var g=document.createElement("div");g.id="".concat(N.id,"-zoom-container"),g.style=`position: absolute;
display:none;
left: 12px;
bottom: 80px;`;var v=`
<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>
`);g.innerHTML=v,document.getElementById("".concat(N.id,"-audioControls-left")).parentNode.appendChild(g),document.getElementById("".concat(N.id,"-addScale")).onclick=function(){m.addScale()},document.getElementById("".concat(N.id,"-subScale")).onclick=function(){m.subScale()}}return a(U,[{key:"onMouseDown",value:function(m){this.currentPosition,this.currentScale;var g=this.enableZoom;if(!g)return!1;this.moveX=m.clientX,this.moveY=m.clientY,this.isMouseDown=!0}},{key:"onMouseUp",value:function(m){var g=this.currentPosition,v=this.enableZoom;if(!v)return!1;this.isMouseDown=!1,g.left=g.left-(m.clientX-this.moveX),g.top=g.top-(m.clientY-this.moveY),this.doScale()}},{key:"onMouseOut",value:function(m){var g=this.enableZoom;if(!g)return!1;this.isMouseDown&&(console.log("鼠标按上",m),this.isMouseDown=!1),this.isMouseDown=!1}},{key:"renderDot",value:function(){var m=this.currentScale;document.getElementById("".concat(this.jSPlugin.id,"-scale-value")).innerHTML="".concat(m,".0X"),document.getElementById("".concat(this.jSPlugin.id,"-line-dot")).style.height="".concat((m-1)/7*100,"%"),document.getElementById("".concat(this.jSPlugin.id,"-scale-body-line-dot")).style.bottom="calc(".concat((m-1)/7*100,"% - 6px)")}},{key:"startZoom",value:function(){var m=this,g=this.jSPlugin.jSPlugin._JSPlayM4_GetFrameInfo(0);this.videoWidth=g.width,this.videoHeight=g.height,this.currentPosition.right=g.width,this.currentPosition.bottom=g.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(v){return m.onMouseDown(v)}),document.getElementById("".concat(this.jSPlugin.id,"canvas_draw0")).addEventListener("mouseup",function(v){return m.onMouseUp(v)}),document.getElementById("".concat(this.jSPlugin.id,"canvas_draw0")).addEventListener("mouseout",function(v){return m.onMouseOut(v)})):document.getElementById("".concat(this.jSPlugin.id,"-player"))&&(document.getElementById("".concat(this.jSPlugin.id,"-player")).addEventListener("mousedown",function(v){return m.onMouseDown(v)}),document.getElementById("".concat(this.jSPlugin.id,"-player")).addEventListener("mouseup",function(v){return m.onMouseUp(v)}),document.getElementById("".concat(this.jSPlugin.id,"-player")).addEventListener("mouseout",function(v){return m.onMouseOut(v)}))}},{key:"stopZoom",value:function(){var m=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(g){return m.onMouseDown(g)}),document.getElementById(this.jSPlugin.id).removeEventListener("mouseup",function(g){return m.onMouseUp(g)}),document.getElementById(this.jSPlugin.id).removeEventListener("mouseout",function(g){return m.onMouseOut(g)})}},{key:"doScale",value:function(){console.log("执行放大");var m=this.currentPosition,g=this.currentScale;m.left=m.left+m.xPercent*(m.right-m.left)-1/2*(this.videoWidth/g),m.left<0?m.left=0:m.left>this.videoWidth-this.videoWidth/g&&(m.left=this.videoWidth-this.videoWidth/g),m.right=m.left+this.videoWidth/g,m.top=m.top+m.yPercent*(m.bottom-m.top)-1/2*(this.videoHeight/g),m.top<0?m.top=0:m.top>this.videoHeight-this.videoHeight/g&&(m.top=this.videoHeight-this.videoHeight/g),m.bottom=m.top+this.videoHeight/g,m.left=parseInt(m.left,10),m.right=parseInt(m.right,10),m.top=parseInt(m.top,10),m.bottom=parseInt(m.bottom,10),console.log("计算后,",this.jSPlugin.jSPlugin,m.left,m.right,m.top,m.bottom,m.xPercent,m.yPercent),this.jSPlugin.jSPlugin._JSPlayM4_SetDisplayRegion(m.left,m.right,m.top,m.bottom),this.renderDot()}},{key:"calCurrentPosition",value:function(m){var g=this.currentPosition,v=this.clientRect;g.x=m.clientX,g.y=m.clientY,g.xPercent=(m.clientX-v.x)/v.width,g.yPercent=(m.clientY-v.y)/v.height,this.doScale()}},{key:"addScale",value:function(){var m=this.currentScale,g=this.currentPosition;if(m>=8)return console.log("达到最大倍率了"),this.jSPlugin.Message&&this.jSPlugin.Message.default("已经放大到最大倍数8.0X"),!1;this.currentScale++,g.xPercent=.5,g.yPercent=.5,this.doScale()}},{key:"subScale",value:function(){var m=this.currentScale,g=this.currentPosition;if(m<=1)return console.log("达到最小倍率了"),!1;this.currentScale--,g.xPercent=.5,g.yPercent=.5,this.doScale()}}]),U}();function g1(U,N){return Math.abs(N.clientX-U.clientX)*Math.abs(N.clientX-U.clientX)+Math.abs(N.clientY-U.clientY)*Math.abs(N.clientY-U.clientY)}var J1=function(){function U(N){var m=this;i(this,U),this.jSPlugin=N,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(N.id),this.clientRect=document.getElementById(N.id).getBoundingClientRect(),this.point1={clientX:0,clientY:0},this.point2={clientX:0,clientY:0},this.touchLineLength=0,this.inited=!1;var g=document.createElement("div");g.id="".concat(N.id,"-zoom-container"),g.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 v="1X";g.innerHTML=v,document.getElementById("".concat(N.id,"-audioControls-left")).parentNode.appendChild(g),document.getElementById(this.jSPlugin.id).addEventListener("touchstart",function(S){return m.onTouchstart(S)}),document.getElementById(this.jSPlugin.id).addEventListener("touchmove",function(S){return m.onTouchmove(S)})}return a(U,[{key:"onTouchstart",value:function(m){var g=this.jSPlugin.beforeMobileZoomVerify();if(!g)return!1;if(!this.inited){var v=this.jSPlugin.jSPlugin._JSPlayM4_GetFrameInfo(0);this.videoWidth=v.width,this.videoHeight=v.height,this.currentPosition.right=v.width,this.currentPosition.bottom=v.height,this.inited=!0}var S=this.currentPosition;this.currentScale,console.log("双指按下",S);var x=m.touches,k=x[0],m2=x[1];k&&(this.point1.clientX=k.clientX,this.point1.clientY=k.clientY),m2&&(this.point2.clientX=m2.clientX,this.point2.clientY=m2.clientY,this.touchLineLength=g1(this.point1,this.point2),this.isDubboTouch=!0,this.moveX=k.clientX,this.moveY=k.clientY),console.log("双指按下2",S)}},{key:"onTouchmove",value:function(m){var g=this.isDubboTouch,v=this.currentPosition,S=this.clientRect,x=this.jSPlugin.beforeMobileZoomVerify();if(!x)return!1;if(m.touches.length===1){var m2=m.touches[0];return v.xPercent=v.xPercent+(this.point1.clientX-m2.clientX)/S.width/this.currentScale,v.yPercent=v.yPercent+(this.point1.clientY-m2.clientY)/S.height/this.currentScale,this.doScale(),this.point1.clientX=m2.clientX,this.point1.clientY=m2.clientY,!1}if(!g)return!1;var k=m.touches,m2=k[0],t2=k[1];if(m2&&(this.point1.clientX=m2.clientX,this.point1.clientY=m2.clientY),t2){this.point2.clientX=t2.clientX,this.point2.clientY=t2.clientY;var d2=g1(this.point1,this.point2);d2!==this.touchLineLength&&(d2>this.touchLineLength?this.currentScale<8?(++this.currentScale,v.xPercent=(this.point1.clientX+this.point2.clientX)/2/S.width,v.yPercent=(this.point1.clientY+this.point2.clientY)/2/S.height,this.doScale()):console.log("已经是最大8倍率了"):this.currentScale>1?(--this.currentScale,v.xPercent=(this.point1.clientX+this.point2.clientX)/2/S.width,v.yPercent=(this.point1.clientY+this.point2.clientY)/2/S.height,this.doScale()):console.log("已经是最小1倍率了"),this.isDubboTouch=!1)}}},{key:"startZoom",value:function(){var m=this.jSPlugin.jSPlugin._JSPlayM4_GetFrameInfo(0);this.videoWidth=m.width,this.videoHeight=m.height,this.currentPosition.right=m.width,this.currentPosition.bottom=m.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 m=this.currentPosition,g=this.currentScale;m.left=m.left+m.xPercent*(m.right-m.left)-1/2*(this.videoWidth/g),m.left<0?m.left=0:m.left>this.videoWidth-this.videoWidth/g&&(m.left=this.videoWidth-this.videoWidth/g),m.right=m.left+this.videoWidth/g,m.top=m.top+m.yPercent*(m.bottom-m.top)-1/2*(this.videoHeight/g),m.top<0?m.top=0:m.top>this.videoHeight-this.videoHeight/g&&(m.top=this.videoHeight-this.videoHeight/g),m.bottom=m.top+this.videoHeight/g,m.left=parseInt(m.left,10),m.right=parseInt(m.right,10),m.top=parseInt(m.top,10),m.bottom=parseInt(m.bottom,10),console.log("视频宽高",this.videoWidth,this.videoHeight),console.log("计算后,",m.left,m.right,m.top,m.bottom,m.xPercent,m.yPercent),m.left<m.right&&m.top<m.bottom&&m.bottom<=this.videoHeight&&m.right<=this.videoWidth&&this.jSPlugin.jSPlugin._JSPlayM4_SetDisplayRegion(m.left,m.right,m.top,m.bottom),document.getElementById("".concat(this.jSPlugin.id,"-zoom-container")).innerHTML="".concat(g,".0X"),document.getElementById("".concat(this.jSPlugin.id,"-zoom-container")).style.display=g===1?"none":"inline-block"}},{key:"calCurrentPosition",value:function(m){var g=this.currentPosition,v=this.clientRect;g.x=m.clientX,g.y=m.clientY,g.xPercent=(m.clientX-v.x)/v.width,g.yPercent=(m.clientY-v.y)/v.height,this.doScale()}}]),U}(),a0=function(N){var m="";return Object.keys(N).map(function(g,v){m+="".concat(g,":").concat(N[g]).concat(v<Object.keys(N).length-1?";":"")}),m},f1=500,Pe=function(){function U(N){var m=this;if(i(this,U),this.jSPlugin=N,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:V(N.url).type==="cloud.rec",rec:V(N.url).type==="rec",type:V(N.url).type}},this.pluginStatus=new o3(this,this.jSPlugin.params.id),console.log(" matchEzopenUrl(jSPlugin.url)",V(N.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 N.isMobile!="undefined"&&(this.isMobile=N.isMobile),this.themeData=n2.data,this.jSPlugin.themeId)switch(this.jSPlugin.themeId){case"pcLive":case"pcRec":case"mobileLive":case"mobileRec":case"security":case"voice":case"simple":var g=V2.find(Y3,function(v){return v.themeId===m.jSPlugin.themeId});g&&(this.themeData=g),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 H2(this.jSPlugin)),c("".concat(this.jSPlugin.staticPath,"/speed/speed.css")),c("".concat(this.jSPlugin.staticPath,"/css/theme.css"))}return a(U,[{key:"fetchThemeData",value:function(m){var g=this,v="".concat(this.jSPlugin.env.domain,"/console/jssdk/ezopen/template/getDetail?accessToken=").concat(this.jSPlugin.accessToken,"&id=").concat(m);(window.location.hostname==="test11open.ys7.com"||window.location.hostname==="127.0.0.1"||window.location.hostname==="jianboyu.top")&&(v=v.replace("test12open.ys7.com/console/jssdk","test11open.ys7.com/console/jssdk")),fetch(v,{method:"GET"}).then(function(S){return S.json()}).then(function(S){console.log("get theme data",S),S.meta.code===0&&S.data&&(g.themeData=S.data,S.data.header&&(g.themeData.header=S.data.header,g.themeData.header.btnList=g.themeData.header.btnList.sort(function(x,k){return x.btnKey.split("-")[3]-k.btnKey.split("-")[3]})),S.data.footer&&(g.themeData.footer=S.data.footer,g.themeData.footer.btnList=g.themeData.footer.btnList.sort(function(x,k){return x.btnKey.split("-")[3]-k.btnKey.split("-")[3]})),g.initThemeData(),g.renderThemeData())}).catch(function(S){g.renderThemeData()})}},{key:"changeTheme",value:function(m){var g=this;if(typeof m=="string")switch(this.jSPlugin.themeId=m,this.jSPlugin.themeId){case"pcLive":case"pcRec":case"mobileLive":case"mobileRec":case"security":case"voice":case"simple":var v=V2.find(Y3,function(S){return S.themeId===g.jSPlugin.themeId});v&&(this.themeData=v),this.initThemeData(),this.renderThemeData();break;default:this.fetchThemeData(m);break}else t(m)==="object"&&(this.themeData=m,this.initThemeData(),this.renderThemeData(),this.decoderState.state.isEditing&&this.editStart());this.jSPlugin&&this.jSPlugin.handleThemeChange&&this.jSPlugin.handleThemeChange(m)}},{key:"renderThemeData",value:function(){var m=this,g=this.themeData,v=g.header,S=g.footer;if(this.isNeedRenderHeader&&v&&(document.getElementById("".concat(this.jSPlugin.id,"-headControl")).style.background=v.backgroundColor.replace("-diy",""),document.getElementById("".concat(this.jSPlugin.id,"-headControl")).style.color=v.color.replace("-diy",""),v.btnList.map(function(t2,d2){t2.isrender&&m.setDecoderState(s({},t2.iconId,m.decoderState.state[t2.iconId]))})),this.isNeedRenderFooter&&S)document.getElementById("".concat(this.jSPlugin.id,"-audioControls")).style.background=S.backgroundColor.replace("-diy",""),document.getElementById("".concat(this.jSPlugin.id,"-audioControls")).style.color=S.color.replace("-diy",""),S.btnList.map(function(t2,d2){if(t2.isrender&&m.setDecoderState(s({},t2.iconId,m.decoderState.state[t2.iconId])),t2.iconId==="play"&&t2.defaultActive&&!m.themeInited)var Z=setInterval(function(){window.EZUIKit[m.jSPlugin.id].state.EZUIKitPlayer.init&&(clearInterval(Z),m.jSPlugin.play(),m.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(){m.stopAutoFocus()})),this.setDecoderState({cloudRec:V(this.jSPlugin.url).type==="cloud.rec",rec:V(this.jSPlugin.url).type==="rec",type:V(this.jSPlugin.url).type});else if(!this.themeInited)var x=setInterval(function(){window.EZUIKit[m.jSPlugin.id].state.EZUIKitPlayer.init&&(clearInterval(x),m.jSPlugin.play(),m.themeInited=!0)},50);var k=V2.findIndex(this.themeData.footer.btnList,function(t2){return t2.iconId==="zoom"&&t2.isrender>0})>=0;k&&(this.isMobile?(this.jSPlugin.beforeMobileZoomVerify=function(){var t2=m.decoderState.state.play;return console.log("手机端电子放大前校验回调play------------",t2),!!t2},this.jSPlugin.Zoom=new J1(this.jSPlugin)):this.jSPlugin.Zoom=new r1(this.jSPlugin));var m2=setInterval(function(){window.EZUIKit[m.jSPlugin.id].state.EZUIKitPlayer.init&&(clearInterval(m2),m.jSPlugin.reSize(m.jSPlugin.params.width,m.jSPlugin.params.height))},50)}},{key:"setDecoderState",value:function(m){var g=this,v=this.themeData,S=v.header,x=v.footer;Object.keys(m).map(function(k,m2){var t2="#FFFFFF",d2="#FFFFFF",Z=S.btnList.findIndex(function(W){return W.iconId===k});switch(Z===-1?(t2=x.color.replace("-diy",""),d2=x.activeColor.replace("-diy","")):(t2=S.color.replace("-diy",""),d2=x.activeColor.replace("-diy","")),k){case"play":m[k]?document.getElementById("".concat(g.jSPlugin.id,"-play"))&&(document.getElementById("".concat(g.jSPlugin.id,"-play-content")).children[0].children[0].style="display:inline-block",document.getElementById("".concat(g.jSPlugin.id,"-play-content")).children[0].children[1].style="display:none",document.getElementById("".concat(g.jSPlugin.id,"-play")).className=m[k]?"active":"",document.getElementById("".concat(g.jSPlugin.id,"-play-content")).childNodes[0].children[0].style.fill=m[k]?d2:t2):document.getElementById("".concat(g.jSPlugin.id,"-play"))&&(document.getElementById("".concat(g.jSPlugin.id,"-play-content")).children[0].children[1].style="display:inline-block",document.getElementById("".concat(g.jSPlugin.id,"-play-content")).children[0].children[0].style="display:none",document.getElementById("".concat(g.jSPlugin.id,"-play")).className=m[k]?"active":"",document.getElementById("".concat(g.jSPlugin.id,"-play-content")).childNodes[0].children[1].style.fill=m[k]?d2:t2);break;case"sound":document.getElementById("".concat(g.jSPlugin.id,"-sound"))&&(m[k]?(document.getElementById("".concat(g.jSPlugin.id,"-sound-content")).children[0].children[1].style="display:inline-block",document.getElementById("".concat(g.jSPlugin.id,"-sound-content")).children[0].children[0].style="display:none",document.getElementById("".concat(g.jSPlugin.id,"-sound")).className=m[k]?"active":"",document.getElementById("".concat(g.jSPlugin.id,"-sound-content")).childNodes[0].children[1].style.fill=m[k]?d2:t2):(document.getElementById("".concat(g.jSPlugin.id,"-sound-content")).children[0].children[0].style="display:inline-block",document.getElementById("".concat(g.jSPlugin.id,"-sound-content")).children[0].children[1].style="display:none",document.getElementById("".concat(g.jSPlugin.id,"-sound")).className=m[k]?"active":"",document.getElementById("".concat(g.jSPlugin.id,"-sound-content")).childNodes[0].children[0].style.fill=m[k]?d2:t2));break;case"recordvideo":document.getElementById("".concat(g.jSPlugin.id,"-recordvideo"))&&(document.getElementById("".concat(g.jSPlugin.id,"-recordvideo")).className=m[k]?"active":"",document.getElementById("".concat(g.jSPlugin.id,"-recordvideo-content")).childNodes[0].style.fill=m[k]?d2:t2,m[k]?g.countTime("add",0):g.countTime("destroy",0));break;case"talk":document.getElementById("".concat(g.jSPlugin.id,"-talk"))&&(document.getElementById("".concat(g.jSPlugin.id,"-talk")).className=m[k]?"active":"",document.getElementById("".concat(g.jSPlugin.id,"-talk-content")).childNodes[1].style.fill=m[k]?d2:t2);break;case"zoom":document.getElementById("".concat(g.jSPlugin.id,"-zoom"))&&(document.getElementById("".concat(g.jSPlugin.id,"-zoom")).className=m[k]?"active":"",document.getElementById("".concat(g.jSPlugin.id,"-zoom-content")).childNodes[1].style.fill=m[k]?d2:t2);break;case"pantile":document.getElementById("".concat(g.jSPlugin.id,"-pantile"))&&(document.getElementById("".concat(g.jSPlugin.id,"-pantile")).className=m[k]?"active":"",document.getElementById("".concat(g.jSPlugin.id,"-pantile-content")).childNodes[0].style.fill=m[k]?d2:t2);break;case"webExpend":m[k]?(document.getElementById("".concat(g.jSPlugin.id,"-webExpend"))&&(document.getElementById("".concat(g.jSPlugin.id,"-webExpend-content")).children[0].children[1].style="display:inline-block",document.getElementById("".concat(g.jSPlugin.id,"-webExpend-content")).children[0].children[0].style="display:none"),document.getElementById("".concat(g.jSPlugin.id,"-expend"))&&(document.getElementById("".concat(g.jSPlugin.id,"-expend")).className="disabled")):(document.getElementById("".concat(g.jSPlugin.id,"-webExpend"))&&(document.getElementById("".concat(g.jSPlugin.id,"-webExpend-content")).children[0].children[0].style="display:inline-block",document.getElementById("".concat(g.jSPlugin.id,"-webExpend-content")).children[0].children[1].style="display:none"),document.getElementById("".concat(g.jSPlugin.id,"-expend"))&&(document.getElementById("".concat(g.jSPlugin.id,"-expend")).className="")),document.getElementById("".concat(g.jSPlugin.id,"-webExpend"))&&(document.getElementById("".concat(g.jSPlugin.id,"-webExpend")).className=m[k]?"active":"",document.getElementById("".concat(g.jSPlugin.id,"-webExpend-content")).childNodes[0].childNodes[0].style.fill=m[k]?d2:t2,document.getElementById("".concat(g.jSPlugin.id,"-webExpend-content")).childNodes[0].childNodes[1].style.fill=m[k]?d2:t2);break;case"capturePicture":document.getElementById("".concat(g.jSPlugin.id,"-capturePicture"))&&(document.getElementById("".concat(g.jSPlugin.id,"-capturePicture")).className=m[k]?"active":"",document.getElementById("".concat(g.jSPlugin.id,"-capturePicture-content")).childNodes[0].style.fill=m[k]?d2:t2);break;case"expend":m[k]?(document.getElementById("".concat(g.jSPlugin.id,"-expend"))&&(document.getElementById("".concat(g.jSPlugin.id,"-expend-content")).children[0].children[1].style="display:inline-block",document.getElementById("".concat(g.jSPlugin.id,"-expend-content")).children[0].children[0].style="display:none"),document.getElementById("".concat(g.jSPlugin.id,"-webExpend"))&&(document.getElementById("".concat(g.jSPlugin.id,"-webExpend")).className="disabled")):(document.getElementById("".concat(g.jSPlugin.id,"-expend"))&&(document.getElementById("".concat(g.jSPlugin.id,"-expend-content")).children[0].children[0].style="display:inline-block",document.getElementById("".concat(g.jSPlugin.id,"-expend-content")).children[0].children[1].style="display:none"),document.getElementById("".concat(g.jSPlugin.id,"-webExpend"))&&(document.getElementById("".concat(g.jSPlugin.id,"-webExpend")).className="")),document.getElementById("".concat(g.jSPlugin.id,"-expend"))&&(document.getElementById("".concat(g.jSPlugin.id,"-expend")).className=m[k]?"active":"",document.getElementById("".concat(g.jSPlugin.id,"-expend-content")).childNodes[0].childNodes[0].style.fill=m[k]?d2:t2,document.getElementById("".concat(g.jSPlugin.id,"-expend-content")).childNodes[0].childNodes[1].style.fill=m[k]?d2:t2);break;case"hd":m[k]?document.getElementById("".concat(g.jSPlugin.id,"-hd"))&&(document.getElementById("".concat(g.jSPlugin.id,"-hd-content")).children[1].children[0].style="display:block",document.getElementById("".concat(g.jSPlugin.id,"-hd-content")).children[1].children[1].style="display:none"):document.getElementById("".concat(g.jSPlugin.id,"-hd"))&&(document.getElementById("".concat(g.jSPlugin.id,"-hd-content")).children[1].children[1].style="display:block",document.getElementById("".concat(g.jSPlugin.id,"-hd-content")).children[1].children[0].style="display:none");break;case"speed":document.getElementById("".concat(g.jSPlugin.id,"-speed"))&&(document.getElementById("".concat(g.jSPlugin.id,"-speed-content")).children[1].children[0].style.color=m[k]?d2:t2,document.getElementById("".concat(g.jSPlugin.id,"-speed-content")).children[1].children[0].style.borderColor=m[k]?d2:t2),document.getElementById("".concat(g.jSPlugin.id,"-select-mask"))&&(g.isMobile&&m[k]?document.getElementById("".concat(g.jSPlugin.id,"-select-mask")).style.display="block":document.getElementById("".concat(g.jSPlugin.id,"-select-mask")).style.display="none");break;case"cloudRec":document.getElementById("".concat(g.jSPlugin.id,"-cloudRec"))&&(console.log("document.getElementById(`${this.jSPlugin.id}-cloudRec-content`)",document.getElementById("".concat(g.jSPlugin.id,"-cloudRec"))),document.getElementById("".concat(g.jSPlugin.id,"-cloudRec")).className=m[k]?"active":"",document.getElementById("".concat(g.jSPlugin.id,"-cloudRec-content")).children[0].children[0].style.fill=m[k]?d2:t2),document.getElementById("".concat(g.jSPlugin.id,"-rec"))&&(document.getElementById("".concat(g.jSPlugin.id,"-rec")).className=m[k]?"active":"",document.getElementById("".concat(g.jSPlugin.id,"-rec-content")).children[0].children[0].style.fill=m[k]?t2:d2);break;case"rec":document.getElementById("".concat(g.jSPlugin.id,"-cloudRec"))&&(document.getElementById("".concat(g.jSPlugin.id,"-cloudRec")).className=m[k]?"active":"",document.getElementById("".concat(g.jSPlugin.id,"-cloudRec-content")).children[0].children[0].style.fill=m[k]?t2:d2),document.getElementById("".concat(g.jSPlugin.id,"-rec"))&&(document.getElementById("".concat(g.jSPlugin.id,"-rec")).className=m[k]?"active":"",document.getElementById("".concat(g.jSPlugin.id,"-rec-content")).children[0].children[0].style.fill=m[k]?d2:t2);break}g.decoderState.state=Object.assign(g.decoderState.state,m)})}},{key:"startAutoFocus",value:function(){var m=this,g=this.autoFocus;this.autoFocusTimer&&clearTimeout(this.autoFocusTimer),this.autoFocusTimer=setTimeout(function(){document.getElementById("".concat(m.jSPlugin.id,"-audioControls"))&&(document.getElementById("".concat(m.jSPlugin.id,"-audioControls")).style.opacity=0,document.getElementById("".concat(m.jSPlugin.id,"-audioControls")).style.pointerEvents="none")},g*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(m,g){var v=this,S=this.matchBtn(m);if(this.isMobile&&S.id==="zoom")return!1;var x=document.createElement("div");x.className="theme-icon-item",x.innerHTML="".concat('<span id="'.concat(this.jSPlugin.id,"-").concat(S.id,'" style="position:relative;">')+'<div id="'.concat(this.jSPlugin.id,"-").concat(S.id,'-content" title="').concat(S.title,'" style="height:').concat(this.jSPlugin.width>f1?48:32,'px;display: flex;align-items: center;position:relative;">')).concat(S.domString,"</div>")+"</span>",x.onclick=function(d2){if(v.decoderState.state.isEditing)return!1;S.onclick(d2)},S.onmouseenter&&(x.onmouseenter=function(d2){if(v.decoderState.state.isEditing)return!1;S.onmouseenter(d2)}),S.onmouseleave&&(x.onmouseleave=function(d2){if(v.decoderState.state.isEditing)return!1;S.onmouseleave(d2)});var k=document.createElement("span");k.className="icon-move left",k.innerHTML='<span id="'.concat(this.jSPlugin.id,"-").concat(S.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>'),k.onclick=function(){v.editIcon(S.id,"left","footer")},x.appendChild(k);var m2=document.createElement("span");m2.className="icon-move right",m2.innerHTML='<span id="'.concat(this.jSPlugin.id,"-").concat(S.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>'),m2.onclick=function(){v.editIcon(S.id,"right","footer")},x.appendChild(m2);var t2=document.createElement("span");t2.className="icon-move close",t2.innerHTML='<span id="'.concat(S.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>',t2.onclick=function(){v.editIcon(S.id,"delete","footer")},x.appendChild(t2),g==="left"?document.getElementById("".concat(this.jSPlugin.id,"-audioControls")).childNodes[0].appendChild(x):document.getElementById("".concat(this.jSPlugin.id,"-audioControls")).childNodes[1].appendChild(x)}},{key:"editIcon",value:function(m,g,v){console.log("编辑组件",m,g,v);var S=this.themeData;console.log("themeData",this.themeData);var x=this.themeData[v].btnList,k=V2.findIndex(x,function(L2){return L2.iconId===m}),m2=x[k];switch(g){case"delete":if(m==="rec"){if(V2.findIndex(x,function(L2){return L2.iconId==="cloudRec"&&L2.isrender==1})===-1)return this.jSPlugin.Message&&this.jSPlugin.Message.default("必须选中一种存储介质"),!1}else if(m==="cloudRec"&&V2.findIndex(x,function(L2){return L2.iconId==="rec"&&L2.isrender==1})===-1)return this.jSPlugin.Message&&this.jSPlugin.Message.default("必须选中一种存储介质"),!1;x[k].isrender=0;break;case"right":for(var t2=-1,d2=k+1;d2<x.length;d2++)if(x[d2].part===x[k].part&&x[d2].isrender==1){t2=d2;break}t2!==-1&&(x[k]=x[t2],x[t2]=m2);break;case"left":for(var Z=-1,W=k-1;W>=0;W--)if(x[W].part===x[k].part&&x[W].isrender==1){Z=W;break}Z!==-1&&(x[k]=x[Z],x[Z]=m2);break}console.log("new btnList",x),S[v].btnList=x,this.changeTheme(S)}},{key:"renderHeader",value:function(m,g){var v=this,S=this.matchBtn(m),x=document.createElement("div");x.className="theme-icon-item",x.style="max-width:50%;",x.innerHTML="".concat('<span id="'.concat(this.jSPlugin.id,"-").concat(S.id,'" style="position:relative;";>')+'<span id="'.concat(this.jSPlugin.id,"-").concat(S.id,'-content" title="').concat(S.title,'" style="display:inline-block;height:').concat(this.width>f1?48:32,'px;">')).concat(S.domString,"</span>")+'<span id="'.concat(this.jSPlugin.id,"-").concat(S.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>',x.onclick=function(m2){if(v.decoderState.state.isEditing)return!1;S.onclick(m2)};var k=document.createElement("span");k.className="icon-move close",k.innerHTML='<span id="'.concat(S.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>',k.onclick=function(){v.editIcon(S.id,"delete","header")},x.appendChild(k),g==="left"?document.getElementById("".concat(this.jSPlugin.id,"-headControl")).childNodes[0].appendChild(x):document.getElementById("".concat(this.jSPlugin.id,"-headControl")).childNodes[1].appendChild(x)}},{key:"countTime",value:function(m){var g=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,v=this;if(!document.getElementById(this.jSPlugin.id+"time-area")){var S=document.createElement("div");S.id=this.jSPlugin.id+"time-area",S.className="time-area",S.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(S)}if(this.countTimer&&clearInterval(this.countTimer),m==="add"){var x=g;document.getElementById(v.jSPlugin.id+"time-area").style.display="flex",this.countTimer=setInterval(function(){++x,document.getElementById(v.jSPlugin.id+"time-area").children[1].innerHTML=k(x)},1e3)}else m==="destroy"&&(this.countTimer&&clearInterval(this.countTimer),this.countTimer=void 0,document.getElementById(v.jSPlugin.id+"time-area")&&(document.getElementById(v.jSPlugin.id+"time-area").children[1].innerHTML="00:00",document.getElementById(v.jSPlugin.id+"time-area").style.display="none"));function k(m2){var t2=parseInt(m2),d2=0,Z=0,W="00",L2="00",y2="00";return t2>59&&(d2=parseInt(t2/60),t2=parseInt(t2%60),d2>59&&(Z=parseInt(d2/60),d2=parseInt(d2%60))),W=parseInt(t2)>9?parseInt(t2):"0"+parseInt(t2),L2=parseInt(d2)>9?parseInt(d2):"0"+parseInt(d2),y2=parseInt(Z)>9?parseInt(Z):"0"+parseInt(Z),Z>0?y2+":"+L2+":"+W:d2>0?L2+":"+W:"00:"+W}}},{key:"setDisabled",value:function(m){var g=this.decoderState.state,v=g.sound,S=g.hd;document.getElementById(v?"".concat(this.jSPlugin.id,"-sound-icon"):"".concat(this.jSPlugin.id,"-nosound-icon"))!=null&&document.getElementById(v?"".concat(this.jSPlugin.id,"-sound-icon"):"".concat(this.jSPlugin.id,"-nosound-icon")).setAttribute("style",m?"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",m?"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",m?"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",m?"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",m?"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",m?"cursor: not-allowed;fill: gray":"cursor: default"),document.getElementById(S?"".concat(this.jSPlugin.id,"-hdSelect-icon"):"".concat(this.jSPlugin.id,"-sdSelect-icon"))!=null&&document.getElementById(S?"".concat(this.jSPlugin.id,"-hdSelect-icon"):"".concat(this.jSPlugin.id,"-sdSelect-icon")).setAttribute("style",m?"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")+";"+(m?"cursor: not-allowed;color: gray;border-color: gray;":"cursor: default;color: #ffffff;border-color: #ffffff;"))}},{key:"matchBtn",value:function(m){var g=this,v=this.themeData,S=v.header,x=v.footer,k={title:"",id:"",domString:"",color:"#FFFFFF",activeColor:"#FFFFFF",onclick:function(){},onmoveleft:function(){},onmoveright:function(){},onremove:function(){}},m2=S.btnList.findIndex(function(t2){return t2.iconId===m});switch(m2===-1?(k.color=x.color,k.backgroundColor=x.backgroundColor,k.activeColor=x.activeColor):(k.color=S.color,k.backgroundColor=S.backgroundColor,k.activeColor=S.activeColor),m){case"play":return k.title="播放/结束播放",k.id=m,k.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>f1?48:32,'" height="').concat(this.jSPlugin.width>f1?48:32,'" fill="').concat(k.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(k.color,'" version="1.1" xmlns="http://www.w3.org/2000/svg" width="').concat(this.jSPlugin.width>f1?48:32,'" height="').concat(this.jSPlugin.width>f1?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>',k.onclick=function(){var t2=g.decoderState.state,d2=t2.play,Z=t2.isEditing,W=t2.rec,L2=t2.cloudRec,y2=t2.recordvideo;if(Z)return!1;d2?(W||L2?g.jSPlugin.pause():g.jSPlugin.stop(),y2&&g.setDecoderState({recordvideo:!1}),g.jSPlugin.Zoom.stopZoom()):(W||L2?g.jSPlugin.resume():g.jSPlugin.play(),g.resetMobileZoomStatus()),g.setDecoderState({zoom:!1,play:!d2}),g.setDisabled(d2)},k;case"sound":return k.title="声音",k.id=m,k.domString='<span style="height: 100%">'+'<svg class="theme-icon-item-icon" id="'.concat(this.jSPlugin.id,'-nosound-icon" style="display:none" fill="').concat(k.color,'" version="1.1" xmlns="http://www.w3.org/2000/svg" width="').concat(this.jSPlugin.width>f1?48:32,'" height="').concat(this.jSPlugin.width>f1?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>f1?48:32,'" height="').concat(this.jSPlugin.width>f1?48:32,'" fill="').concat(k.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>",k.onclick=function(){var t2=g.decoderState.state,d2=t2.play,Z=t2.sound,W=t2.talk;d2&&(Z?(g.jSPlugin.closeSound(),g.setDecoderState({sound:!1})):W||(g.jSPlugin.openSound(),g.setDecoderState({sound:!0})))},k;case"recordvideo":return k.title="录屏",k.id=m,k.domString='<svg id="'.concat(this.jSPlugin.id,'-recordvideo-icon" class="theme-icon-item-icon" fill="').concat(k.color,'" version="1.1" xmlns="http://www.w3.org/2000/svg" width="').concat(this.jSPlugin.width>f1?48:32,'" height="').concat(this.jSPlugin.width>f1?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>',k.onclick=function(){var t2=g.decoderState.state,d2=t2.play,Z=t2.recordvideo;d2&&(Z?(g.jSPlugin.stopSave(),g.setDecoderState({recordvideo:!1})):(g.jSPlugin.startSave("".concat(new Date().getTime())),g.setDecoderState({recordvideo:!0})))},k;case"capturePicture":return k.title="截图",k.id=m,k.domString='<svg id="'.concat(this.jSPlugin.id,'-capturePicture-icon" class="theme-icon-item-icon" fill="').concat(k.color,'" version="1.1" xmlns="http://www.w3.org/2000/svg" width="').concat(this.jSPlugin.width>f1?48:32,'" height="').concat(this.jSPlugin.width>f1?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>',k.onclick=function(){var t2=g.decoderState.state.play;t2?g.jSPlugin.capturePicture("".concat(new Date().getTime())):console.log("视频未播放,无法截图")},k;case"talk":return k.title="对讲",k.id=m,k.domString="<div></div>"+'<svg id="'.concat(this.jSPlugin.id,'-talk-icon" class="theme-icon-item-icon" fill="').concat(k.color,'" version="1.1" xmlns="http://www.w3.org/2000/svg" width="').concat(this.jSPlugin.width>f1?48:32,'" height="').concat(this.jSPlugin.width>f1?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>',k.onclick=function(){var t2=g.decoderState.state,d2=t2.talk,Z=t2.sound,W=t2.play;if(W)if(d2){console.log("结束对讲"),g.setDecoderState({talk:!1}),g.jSPlugin.Talk.stopTalk();var L2=V2.findIndex(g.themeData.footer.btnList,function(y2){return y2.iconId==="sound"&&y2.isrender===1&&y2.defaultActive===1})>-1;g.themeData&&L2&&(g.jSPlugin.openSound(),g.setDecoderState({sound:!0}))}else console.log("开始对讲"),g.setDecoderState({talk:!0}),Z&&(g.jSPlugin.closeSound(),g.setDecoderState({sound:!1})),g.jSPlugin.Talk.startTalk()},k;case"zoom":return k.title="电子放大",k.id=m,k.domString="<div></div>"+'<svg id="'.concat(this.jSPlugin.id,'-zoom-icon" class="theme-icon-item-icon" fill="').concat(k.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>f1?48:32,'" height="').concat(this.jSPlugin.width>f1?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>`),k.onclick=function(){var t2=g.decoderState.state,d2=t2.zoom,Z=t2.play;if(!Z)return!1;d2?(console.log("结束电子放大"),g.setDecoderState({zoom:!1}),g.jSPlugin.Zoom.stopZoom()):(console.log("开始电子放大"),g.jSPlugin.Zoom.startZoom(),g.setDecoderState({zoom:!0}))},k;case"pantile":return k.title="云台控制",k.id=m,k.domString='<svg id="'.concat(this.jSPlugin.id,'-pantile-icon" class="theme-icon-item-icon" fill="').concat(k.color,'" version="1.1" xmlns="http://www.w3.org/2000/svg" width="').concat(this.jSPlugin.width>f1?48:32,'" height="').concat(this.jSPlugin.width>f1?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>',k.onclick=function(){var t2=g.decoderState.state,d2=t2.play,Z=t2.pantile,W=t2.expend;if(d2)if(Z)console.log("隐藏云台"),g.Ptz.hide(),g.setDecoderState({pantile:!1});else{if(console.log("显示云台"),g.isMobile&&!W)return console.log("移动端,非全屏状态不展示云台"),!1;g.Ptz.show(),g.setDecoderState({pantile:!0})}},k;case"expend":return k.title="全局全屏",k.id=m,k.domString='<span><svg id="'.concat(this.jSPlugin.id,'-expend-icon" class="theme-icon-item-icon" fill="').concat(k.color,'" version="1.1" xmlns="http://www.w3.org/2000/svg" width="').concat(this.jSPlugin.width>f1?48:32,'" height="').concat(this.jSPlugin.width>f1?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>f1?48:32,'" height="').concat(this.jSPlugin.width>f1?48:32,'" fill="').concat(k.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>`),k.onclick=function(){var t2=g.decoderState.state,d2=t2.webExpend,Z=t2.expend;t2.play;var W=t2.pantile;if(d2)return console.log("正在网站全屏"),!1;if(Z)if(g.isMobile){var L2=parseInt(getComputedStyle(document.getElementById("".concat(g.jSPlugin.id,"-wrap"))).height,10)-parseInt(getComputedStyle(document.getElementById(g.jSPlugin.id)).height,10);document.getElementById("".concat(g.jSPlugin.id,"-ez-iframe-footer-container"))&&(document.getElementById("".concat(g.jSPlugin.id,"-ez-iframe-footer-container")).style.marginTop="-32px"),document.getElementById("".concat(g.jSPlugin.id,"-headControl"))&&(document.getElementById("".concat(g.jSPlugin.id,"-headControl")).style.position="relative"),P(document.getElementById("".concat(g.jSPlugin.id,"-wrap")),g.jSPlugin.width,g.jSPlugin.height+L2),g.jSPlugin.jSPlugin.JS_Resize(g.jSPlugin.width,g.jSPlugin.height),W&&(g.Ptz.hide(),g.setDecoderState({pantile:!1}))}else{console.log("取消全局全屏");var O2=B();O2.then(function(r2){console.log("取消全屏",r2,g.jSPlugin),g.jSPlugin.jSPlugin.JS_Resize(g.jSPlugin.width,g.jSPlugin.height)})}else if(console.log("执行全局全屏"),g.isMobile){var L2=parseInt(getComputedStyle(document.getElementById("".concat(g.jSPlugin.id,"-wrap"))).height,10)-parseInt(getComputedStyle(document.getElementById(g.jSPlugin.id)).height,10);w(document.getElementById("".concat(g.jSPlugin.id,"-wrap"))),setTimeout(function(){var r2=document.documentElement.clientWidth,A=document.documentElement.clientHeight;document.getElementById("".concat(g.jSPlugin.id)).style["backface-visibility"]="hidden",g.jSPlugin.jSPlugin.JS_Resize(A,r2-L2)},100)}else{var y2=window.screen.width,p2=window.screen.height,g2=M(document.getElementById("".concat(g.jSPlugin.id)));g2.then(function(r2){g.jSPlugin.jSPlugin.JS_Resize(y2,p2)}).catch(function(r2){console.log(r2)})}g.setDecoderState({expend:!Z})},k;case"webExpend":return k.title="网页全屏",k.id=m,k.domString='<span><svg id="'.concat(this.jSPlugin.id,'-webExpend-icon" class="theme-icon-item-icon" fill="').concat(k.color,'" version="1.1" xmlns="http://www.w3.org/2000/svg" width="').concat(this.jSPlugin.width>f1?48:32,'" height="').concat(this.jSPlugin.width>f1?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(k.color,'" style="display:none;" version="1.1" xmlns="http://www.w3.org/2000/svg" width="').concat(this.jSPlugin.width>f1?48:32,'" height="').concat(this.jSPlugin.width>f1?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>",k.onclick=function(){var t2=g.decoderState.state,d2=t2.webExpend,Z=t2.expend;if(t2.play,Z)return console.log("正在全局全屏"),!1;if(g.jSPlugin.recTimer&&clearInterval(g.jSPlugin.recTimer),d2){console.log("取消网页全屏");var r2=B();r2.then(function(A){g.jSPlugin.jSPlugin.JS_Resize(g.jSPlugin.width,g.jSPlugin.height),g.jSPlugin.Theme.Rec&&g.jSPlugin.Theme.Rec.recAutoSize()})}else{console.log("执行网页全屏");var W=0,L2=0,y2=g;["fullscreenchange","webkitfullscreenchange","mozfullscreenchange"].forEach(function(A){window.addEventListener(A,function(H){var x2=document.fullScreen||document.mozFullScreen||document.webkitIsFullScreen;return x2?document.getElementById("".concat(y2.jSPlugin.id,"-loading-item-0"))&&(document.getElementById("".concat(y2.jSPlugin.id,"-loading-item-0")).style.height=window.screen.height-parseInt(window.getComputedStyle(document.getElementById("".concat(y2.jSPlugin.id,"-headControl"))).height,10)+"px"):document.getElementById("".concat(y2.jSPlugin.id,"-loading-item-0"))&&(document.getElementById("".concat(y2.jSPlugin.id,"-loading-item-0")).style.height=y2.jSPlugin.height+parseInt(window.getComputedStyle(document.getElementById("".concat(y2.jSPlugin.id,"-headControl"))).height,10)+"px"),x2})});var p2=window.screen.width,g2=window.screen.height,O2=M(document.getElementById("".concat(g.jSPlugin.id,"-wrap")));O2.then(function(A){document.getElementById("".concat(g.jSPlugin.id,"-canvas-container"))&&(W=parseInt(window.getComputedStyle(document.getElementById("".concat(g.jSPlugin.id,"-canvas-container"))).height,10)),document.getElementById("".concat(g.jSPlugin.id,"-headControl"))&&(L2=parseInt(window.getComputedStyle(document.getElementById("".concat(g.jSPlugin.id,"-headControl"))).height,10)),g.jSPlugin.jSPlugin.JS_Resize(p2,g2-W-L2),g.jSPlugin.Theme.Rec&&g.jSPlugin.Theme.Rec.recAutoSize()}).catch(function(A){console.log(A)})}g.setDecoderState({webExpend:!d2})},k;case"hd":return k.title="画面清晰度",k.id=m,k.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(k.color,'" version="1.1" xmlns="http://www.w3.org/2000/svg" width="').concat(this.jSPlugin.width>f1?48:32,'" height="').concat(this.jSPlugin.width>f1?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(k.color,'" version="1.1" xmlns="http://www.w3.org/2000/svg" width="').concat(this.jSPlugin.width>f1?48:32,'" height="').concat(this.jSPlugin.width>f1?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>",k.onclick=function(t2){var d2=g.decoderState.state,Z=d2.hd,W=d2.expend,L2=d2.recordvideo,y2=d2.play;y2&&(Z&&t2.target.id==="".concat(g.jSPlugin.id,"-select-sd")?(console.log("切换到标清"),g.jSPlugin.changeVideoLevel(0),g.setDecoderState({hd:!1}),g.resetMobileZoomStatus(),L2&&g.setDecoderState({recordvideo:!1}),g.setDecoderState({zoom:!1}),g.jSPlugin.Zoom.stopZoom()):!Z&&t2.target.id==="".concat(g.jSPlugin.id,"-select-hd")&&(g.jSPlugin.changeVideoLevel(1),g.setDecoderState({hd:!0}),g.resetMobileZoomStatus(),L2&&g.setDecoderState({recordvideo:!1}),g.setDecoderState({zoom:!1}),g.jSPlugin.Zoom.stopZoom()),g.showHD=!g.showHD,document.getElementById("".concat(g.jSPlugin.id,"-hdSelect"))&&(document.getElementById("".concat(g.jSPlugin.id,"-hdSelect")).style.display=document.getElementById("".concat(g.jSPlugin.id,"-hdSelect")).style.display==="none"?"block":"none",g.isMobile&&(document.getElementById("".concat(g.jSPlugin.id,"-select-hd-mask")).style.display=document.getElementById("".concat(g.jSPlugin.id,"-select-hd-mask")).style.display==="none"?"block":"none")),g.isMobile&&W&&g.showHD?document.getElementById("".concat(g.jSPlugin.id,"-hdSelect")).className="hd speed-select mobile expend":document.getElementById("".concat(g.jSPlugin.id,"-hdSelect")).className=g.isMobile?"hd speed-select mobile":"speed-select")},k;case"speed":return k.title="回放倍速",k.id=m,k.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(k.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||(k.onmouseenter=function(t2){var d2=g.decoderState.state.play;if(!d2)return!1;console.log("鼠标移入",t2),g.setDecoderState({speed:!0}),document.getElementById("".concat(g.jSPlugin.id,"-speedSelect"))&&(document.getElementById("".concat(g.jSPlugin.id,"-speedSelect")).style.display="block")},k.onmouseleave=function(t2){var d2=g.decoderState.state.play;if(!d2)return!1;console.log("鼠标移出",t2),g.setDecoderState({speed:!1}),document.getElementById("".concat(g.jSPlugin.id,"-speedSelect"))&&(document.getElementById("".concat(g.jSPlugin.id,"-speedSelect")).style.display="none")}),k.onclick=function(t2){var d2=g.decoderState.state,Z=d2.speed,W=d2.expend,L2=d2.play;if(!L2)return!1;if(!Z&&g.isMobile&&(document.getElementById("".concat(g.jSPlugin.id,"-speedSelect")).className=W?"speed speed-select mobile expend":"speed speed-select mobile"),g.nextRate=1,t2.target.id)switch(t2.target.id){case"".concat(g.jSPlugin.id,"-select-speed1"):console.log("倍速1"),g.nextRate=1,g.jSPlugin.jSPlugin.JS_Speed(g.nextRate),g.changeRecSpeed(1),g.jSPlugin.speed=1,g.setDecoderState({speed:!Z});break;case"".concat(g.jSPlugin.id,"-select-speed2"):console.log("倍速2"),g.nextRate=2,g.jSPlugin.jSPlugin.JS_Speed(g.nextRate),g.changeRecSpeed(2),g.jSPlugin.speed=2,g.setDecoderState({speed:!Z});break;case"".concat(g.jSPlugin.id,"-select-speed4"):console.log("倍速4"),g.nextRate=4,g.jSPlugin.jSPlugin.JS_Speed(g.nextRate),g.changeRecSpeed(4),g.jSPlugin.speed=4,g.setDecoderState({speed:!Z});break;case"".concat(g.jSPlugin.id,"-select-speed05"):console.log("倍速05"),g.nextRate=3,g.jSPlugin.jSPlugin.JS_Speed(g.nextRate),g.changeRecSpeed(.5),g.jSPlugin.speed=.5,g.setDecoderState({speed:!Z});break;default:g.isMobile?g.setDecoderState({speed:!Z}):g.setDecoderState({speed:!0});break}!g.isMobile&&t2.target.id==="".concat(g.jSPlugin.id,"-speed-text")?document.getElementById("".concat(g.jSPlugin.id,"-speedSelect")).style.display="block":document.getElementById("".concat(g.jSPlugin.id,"-speedSelect"))&&(document.getElementById("".concat(g.jSPlugin.id,"-speedSelect")).style.display=document.getElementById("".concat(g.jSPlugin.id,"-speedSelect")).style.display==="none"?"block":"none")},k;case"deviceName":return k.title="设备名称",k.id=m,k.domString="<span>设备名称</span>",k.onclick=function(){},k;case"deviceID":return k.title="设备序列号",k.id=m,k.domString="<span>设备序列号</span>",k.onclick=function(){},k;case"cloudRec":return k.title="云存储回放",k.id=m,k.domString=`
<span>
<svg class="theme-icon-item-icon" fill="`.concat(k.color,'" version="1.1" xmlns="http://www.w3.org/2000/svg" width="').concat(this.jSPlugin.width>f1?48:32,'" height="').concat(this.jSPlugin.width>f1?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>
`),k.onclick=function(){console.log("点击云回放"),g.setDecoderState({type:"cloud.rec",cloudRec:!0,rec:!1}),g.jSPlugin.changePlayUrl({type:"cloud.rec"},function(){console.log(g.jSPlugin);var t2=f("begin",g.jSPlugin.url)||new Date().Format("yyyyMMdd");g.Rec.renderRec("".concat(t2.slice(0,4),"-").concat(t2.slice(4,6),"-").concat(t2.slice(6,8)));var d2=g.decoderState.state.zoom;d2&&(g.setDecoderState({zoom:!1}),g.jSPlugin.Zoom.stopZoom())}),console.log(g.jSPlugin)},k;case"rec":return k.title="本地存储",k.id=m,k.domString=`
<span>
<svg class="theme-icon-item-icon" fill=`.concat(k.color,' version="1.1" xmlns="http://www.w3.org/2000/svg" width="').concat(this.jSPlugin.width>f1?48:32,'" height="').concat(this.jSPlugin.width>f1?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>
`),k.onclick=function(){console.log("点击本地回放"),g.setDecoderState({type:"rec",cloudRec:!1,rec:!0}),g.jSPlugin.changePlayUrl({type:"rec"},function(){console.log("---------本地回放"),console.log(g.jSPlugin);var t2=f("begin",g.jSPlugin.url)||new Date().Format("yyyyMMdd");g.Rec.renderRec("".concat(t2.slice(0,4),"-").concat(t2.slice(4,6),"-").concat(t2.slice(6,8)));var d2=g.decoderState.state.zoom;d2&&(g.setDecoderState({zoom:!1}),g.jSPlugin.Zoom.stopZoom())}),console.log(g.jSPlugin)},k;default:return k}}},{key:"changeRecSpeed",value:function(m){var g=this,v=function(k){if(console.log("setLiActive",k),!document.getElementById("".concat(g.jSPlugin.id,"-speedSelect")))return!1;document.getElementById("".concat(g.jSPlugin.id,"-speedSelect")).childNodes[0].className=document.getElementById("".concat(g.jSPlugin.id,"-speedSelect")).childNodes[0].className.replace("active","default"),document.getElementById("".concat(g.jSPlugin.id,"-speedSelect")).childNodes[1].className=document.getElementById("".concat(g.jSPlugin.id,"-speedSelect")).childNodes[1].className.replace("active","default"),document.getElementById("".concat(g.jSPlugin.id,"-speedSelect")).childNodes[2].className=document.getElementById("".concat(g.jSPlugin.id,"-speedSelect")).childNodes[2].className.replace("active","default"),document.getElementById("".concat(g.jSPlugin.id,"-speedSelect")).childNodes[3].className=document.getElementById("".concat(g.jSPlugin.id,"-speedSelect")).childNodes[3].className.replace("active","default"),document.getElementById("".concat(g.jSPlugin.id,"-speedSelect")).childNodes[k].className=document.getElementById("".concat(g.jSPlugin.id,"-speedSelect")).childNodes[k].className.replace("default","active")},S="1";switch(m){case 1:v(2),S="倍速";break;case 2:v(1),S="".concat(m,"倍");break;case 4:v(0),S="".concat(m,"倍");break;case .5:v(3),S="".concat(m,"倍");break;default:v(2),S="".concat(m,"倍");break}document.getElementById("".concat(this.jSPlugin.id,"-speed-text"))&&(document.getElementById("".concat(this.jSPlugin.id,"-speed-text")).innerHTML=S)}},{key:"initThemeData",value:function(){var m=this,g=this.themeData,v=g.header,S=g.footer,x=this.jSPlugin.id;if(this.header=u3.header,this.footer=u3.footer,this.isNeedRenderHeader=V2.findIndex(v.btnList,function(g2){return g2.isrender>0})>=0,this.isMobile&&(this.isNeedRenderHeader=V2.findIndex(v.btnList,function(g2){return g2.isrender>0&&g2.iconId==="deviceID"||g2.isrender>0&&g2.iconId==="deviceName"})>=0),this.isNeedRenderFooter=V2.findIndex(S.btnList,function(g2){return g2.isrender>0})>=0,this.isNeedRenderTimeLine=V2.findIndex(v.btnList,function(g2){return g2.iconId==="cloudRec"&&g2.isrender===1||g2.iconId==="rec"&&g2.isrender===1})>=0&&!this.jSPlugin.disabledTimeLine,["date-switch-container-wrap","rec-type-container-wrap","mobile-rec-wrap","mobile-ez-ptz-container"].forEach(function(g2,O2){document.getElementById(g2)&&document.getElementById(g2).parentElement.removeChild(document.getElementById(g2))}),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 k=document.createElement("div");k.setAttribute("id","".concat(this.jSPlugin.id,"-headControl")),k.setAttribute("class","header-controls"),k.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 m2={height:this.jSPlugin.width>f1?"48px":"32px","line-height":this.jSPlugin.width>f1?"48px":"32px",display:"flex","justify-content":"space-between",top:0,"z-index":1,background:"#000000",color:"#FFFFFF",width:"100%"};k.style=a0(m2),document.getElementById("".concat(x,"-wrap")).insertBefore(k,document.getElementById(x));var t2=setInterval(function(){window.EZUIKit[m.jSPlugin.id].state.EZUIKitPlayer.init&&clearInterval(t2)},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>f1?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>f1?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 d2=document.createElement("div");d2.setAttribute("id","".concat(this.jSPlugin.id,"-ez-iframe-footer-container")),d2.setAttribute("class","ez-iframe-footer-container");var Z={"min-height":this.jSPlugin.width>f1?"48px":"32px","max-height":this.jSPlugin.width>f1?"96px":"80px",position:"relative","margin-top":this.jSPlugin.width>f1?"-48px":"-32px",display:"flex","flex-wrap":"wrap","justify-content":"space-between","z-index":999,top:0,color:"#FFFFFF",width:"100%"};d2.style=a0(Z),d2.innerHTML='<div id="'.concat(this.jSPlugin.id,`-audioControls" class="footer-controls" style='display:flex;height:`).concat(this.jSPlugin.width>f1?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>`),p(d2,document.getElementById(x))}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=v.backgroundColor,document.getElementById("".concat(this.jSPlugin.id,"-headControl")).style.color=v.color,v.btnList.map(function(g2,O2){g2.isrender&&m.renderHeader(g2.iconId,g2.part)})),this.isNeedRenderFooter&&document.getElementById("".concat(this.jSPlugin.id,"-audioControls"))&&(document.getElementById("".concat(this.jSPlugin.id,"-audioControls")).style.background=S.backgroundColor,document.getElementById("".concat(this.jSPlugin.id,"-audioControls")).style.color=S.color,S.btnList.map(function(g2,O2){g2.isrender&&m.renderFooter(g2.iconId,g2.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 a3(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 L3(this.jSPlugin));var W=setInterval(function(){window.EZUIKit[m.jSPlugin.id].state.EZUIKitPlayer.init&&clearInterval(W)},50)}var L2=V2.findIndex(this.themeData.footer.btnList,function(g2){return g2.iconId==="pantile"&&g2.isrender===1})>=0&&!this.jSPlugin.disabledPTZ;L2&&(this.isMobile&&(this.MobilePtz=new c2(this.jSPlugin)),this.Ptz=new y1(this.jSPlugin));var y2=function(){var O2=m.decoderState.state,r2=O2.expend,A=O2.webExpend,j=document.fullScreen||document.mozFullScreen||document.webkitIsFullScreen;j||(m.jSPlugin.jSPlugin.JS_Resize(m.jSPlugin.width,m.jSPlugin.height),r2&&m.setDecoderState({expend:!1}),A&&m.setDecoderState({webExpend:!1})),m.jSPlugin.Theme.Rec&&m.jSPlugin.Theme.Rec.recAutoSize()};if(["fullscreenchange","webkitfullscreenchange","mozfullscreenchange"].forEach(function(g2){window.addEventListener(g2,function(O2){return y2()})}),this.themeData.poster){this.jSPlugin.poster=this.themeData.poster;var p2=setInterval(function(){window.EZUIKit[m.jSPlugin.id].state.EZUIKitPlayer.init&&(clearInterval(p2),m.jSPlugin.setPoster(m.themeData.poster))},50)}this.inited=!0,this.getDeviceInfo()}},{key:"resetMobileZoomStatus",value:function(){if(this.isMobile){var m=document.getElementById("".concat(this.jSPlugin.id,"-zoom-container"));m&&m.style&&m.style.display!="none"&&(console.log("结束电子放大"),m.style.display="none"),this.jSPlugin.Zoom.resetZoom()}}},{key:"getDeviceInfo",value:function(){var m=this,g=function(S){S.code==200&&S.data&&(S.data.isEncrypt&&setTimeout(function(){m.pluginStatus.loadingClear(),m.pluginStatus.loadingSetText({text:"设备已加密",color:"red"})},1500),document.getElementById("".concat(m.jSPlugin.id,"-deviceName-content"))&&(document.getElementById("".concat(m.jSPlugin.id,"-deviceName-content")).style.maxWidth="100%",document.getElementById("".concat(m.jSPlugin.id,"-deviceName-content")).style.overflow="hidden",document.getElementById("".concat(m.jSPlugin.id,"-deviceName-content")).style.textOverflow="ellipsis",document.getElementById("".concat(m.jSPlugin.id,"-deviceName-content")).style.whiteSpace="nowrap",document.getElementById("".concat(m.jSPlugin.id,"-deviceName-content")).innerHTML=S.data.deviceName),document.getElementById("".concat(m.jSPlugin.id,"-deviceID-content"))&&(document.getElementById("".concat(m.jSPlugin.id,"-deviceID-content")).style.maxWidth="100%",document.getElementById("".concat(m.jSPlugin.id,"-deviceID-content")).style.overflow="hidden",document.getElementById("".concat(m.jSPlugin.id,"-deviceID-content")).style.textOverflow="ellipsis",document.getElementById("".concat(m.jSPlugin.id,"-deviceID-content")).style.whiteSpace="nowrap",document.getElementById("".concat(m.jSPlugin.id,"-deviceID-content")).innerHTML=V(m.jSPlugin.url).deviceSerial))};X(this.jSPlugin.env.domain+"/api/lapp/device/info","POST",{accessToken:this.jSPlugin.accessToken,deviceSerial:V(this.jSPlugin.url).deviceSerial},"",g)}},{key:"editStart",value:function(m){var g=document.getElementById("".concat(this.jSPlugin.id,"-audioControls")),v=document.getElementById("".concat(this.jSPlugin.id,"-headControl"));v&&v.setAttribute("class","header-controls themeEditing"),g&&g.setAttribute("class","footer-controls themeEditing"),this.setDecoderState({isEditing:!0})}},{key:"editEnd",value:function(m){var g=document.getElementById("".concat(this.jSPlugin.id,"-audioControls")),v=document.getElementById("".concat(this.jSPlugin.id,"-headControl"));v&&v.setAttribute("class","header-controls"),g&&g.setAttribute("class","footer-controls"),this.setDecoderState({isEditing:!1})}},{key:"webExpend",value:function(){var m=this,g=this.decoderState.state;g.webExpend;var v=g.expend,S=g.play;if(!S)return!1;if(v)return console.log("正在全局全屏"),!1;console.log("执行网页全屏");var x=0,k=0,m2=M(document.getElementById("".concat(this.jSPlugin.id,"-wrap")));m2.then(function(t2){console.log("全屏promise",window.screen.width),document.getElementById("".concat(m.jSPlugin.id,"-canvas-container"))&&(x=parseInt(window.getComputedStyle(document.getElementById("".concat(m.jSPlugin.id,"-canvas-container"))).height,10)),document.getElementById("".concat(m.jSPlugin.id,"-headControl"))&&(k=parseInt(window.getComputedStyle(document.getElementById("".concat(m.jSPlugin.id,"-headControl"))).height,10)),console.log("this.jSPlugin.JS_Resiz",x,k,document.body.clientWidth),m.jSPlugin.jSPlugin.JS_Resize(window.screen.width,window.screen.height-x-k)}).catch(function(t2){console.log(t2)})}},{key:"expend",value:function(){var m=this,g=this.decoderState.state,v=g.webExpend;g.expend;var S=g.play;if(g.pantile,!S)return!1;if(v)return console.log("正在网站全屏"),!1;if(console.log("执行全局全屏"),this.isMobile){var x=parseInt(getComputedStyle(document.getElementById("".concat(this.jSPlugin.id,"-wrap"))).height,10)-parseInt(getComputedStyle(document.getElementById(this.jSPlugin.id)).height,10);w(document.getElementById("".concat(this.jSPlugin.id,"-wrap"))),setTimeout(function(){var m2=document.documentElement.clientWidth,t2=document.documentElement.clientHeight;document.getElementById("".concat(m.jSPlugin.id)).style["backface-visibility"]="hidden",m.jSPlugin.jSPlugin.JS_Resize(t2,m2-x)},100)}else{var k=M(document.getElementById("".concat(this.jSPlugin.id)));k.then(function(m2){m.jSPlugin.jSPlugin.JS_Resize(window.screen.width,window.screen.height)}).catch(function(m2){console.log(m2)})}}}]),U}();Date.prototype.Format=function(U){var N={"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(U)&&(U=U.replace(RegExp.$1,(this.getFullYear()+"").substr(4-RegExp.$1.length)));for(var m in N)new RegExp("("+m+")").test(U)&&(U=U.replace(RegExp.$1,RegExp.$1.length==1?N[m]:("00"+N[m]).substr((""+N[m]).length)));return U};var vt=function(){function U(N,m){if(i(this,U),this.params=N,this.state={},this.jsPlugin=m,this.url="https://log.ys7.com/statistics.do?",N.env)switch(N.env){case"test12":this.url="https://test12dclog.ys7.com/statistics.do?";break;case"online":break;default:this.url=N.env;break}}return a(U,[{key:"uuid",value:function(){for(var m=[],g="0123456789abcdef",v=0;v<36;v++)m[v]=g.substr(Math.floor(Math.random()*16),1);m[14]="4",m[19]=g.substr(m[19]&3|8,1),m[8]=m[13]=m[18]=m[23]="-";var S=m.join("");return S}},{key:"dclog",value:function(m){var g=this.url,v=Object.assign({},{systemName:"open_website_monitor"},{bn:"ezuikit-js"},m,{un:m.url},{st:new Date().getTime(),h:window.location.pathname});Object.keys(v).forEach(function(x,k){var m2=v[x];typeof v[x]=="string"&&(m2=v[x].replace("%","%25")),typeof v[x]!="undefined"&&(g+="".concat(k===0?"":"&").concat(x,"=").concat(encodeURIComponent(m2)))});var S=new Image;S.src=g}},{key:"localInfoLog",value:function(m){var g=this.url,v=window.location.protocol+"//"+window.location.host,S={systemName:"open_netstream_localinfo",Ver:"v6.0.0",PlatAddr:v,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};S=Object.assign(S,m),Object.keys(S).forEach(function(k,m2){var t2=S[k];typeof S[k]=="string"&&(t2=S[k].replace("%","%25")),typeof S[k]!="undefined"&&(g+="".concat(m2===0?"":"&").concat(k,"=").concat(encodeURIComponent(t2)))});var x=new Image;x.src=g}},{key:"playLog",value:function(m){var g=this.url,v=g,S={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()};S=Object.assign(S,m),Object.keys(S).forEach(function(k,m2){var t2=S[k];typeof S[k]=="string"&&(t2=S[k].replace("%","%25")),typeof S[k]!="undefined"&&(v+="".concat(m2===0?"":"&").concat(k,"=").concat(encodeURIComponent(t2)))});var x=new Image;x.src=v}}]),U}();(function(U,N){t(n)==="object"&&t(n.exports)==="object"?n.exports=U.document?N(U,!0):function(m){if(!m.document)throw new Error("EZUIPlayer requires a window with a document");return N(m)}:N(U)})(typeof window!="undefined"?window:void 0,function(U,N){var m;function g(Z,W){for(var L2=document.getElementsByTagName("head")[0].getElementsByTagName("script"),y2=!1,p2=0;p2<L2.length;p2++)L2[p2].getAttribute("src")==Z&&(y2=!0,W());if(!y2){var g2=document.createElement("script");g2.setAttribute("src",Z),g2.onload=W,document.getElementsByTagName("head")[0].appendChild(g2)}}function v(Z,W){for(var L2=document.getElementsByTagName("head")[0].getElementsByTagName("link"),y2=!1,p2=0;p2<L2.length;p2++)L2[p2].getAttribute("href")==Z&&(y2=!0,W());if(!y2){var g2=document.createElement("link");g2.rel="stylesheet",g2.type="text/css",g2.href=Z,g2.onload=W,document.getElementsByTagName("head")[0].appendChild(g2)}}function S(Z,W,L2,y2,p2,g2){var O2=Z,r2=new XMLHttpRequest;r2.onreadystatechange=function(){if(r2.readyState==4&&r2.status==200){var H=JSON.parse(r2.responseText);p2(H)}},r2.open(W,O2,!0);var A=new FormData;for(var j in L2)A.append(j,L2[j]);r2.send(A)}var x={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:(m={countTimer:void 0,recodeTime:0,recodeTimer:void 0},s(m,"recodeTime",0),s(m,"fetchDefaultList",!1),s(m,"page",0),s(m,"pageSize",5),m),handleTalkSuccess:function(){},handleTalkError:function(){}},k="https://open.ys7.com",m2=k,t2=function(W){var H=this;this.opt={id:W.id,apiDomain:k+"/api/lapp/live/talk/url",filePath:m2+"/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=W,W.id&&(this.opt.id=W.id),W.accessToken&&(this.opt.accessToken=W.accessToken),typeof W.audio!="undefined"&&(this.opt.audio=W.audio),typeof W.decoderVersion!="undefined"&&(this.opt.decoderVersion=W.decoderVersion),typeof W.env!="undefined"&&(typeof W.env.domain!="undefined"&&(k=W.env.domain,this.opt.apiDomain=k+"/api/lapp/live/talk/url"),typeof W.env.filePathDomain!="undefined"&&(m2=W.env.filePathDomain,this.opt.filePathDomain=W.env.filePathDomain)),W.url&&(this.opt.url=W.url,this.opt.deviceSerial=W.url.split("/")[3],this.opt.channelNo=W.url.split("/")[4].split(".")[0]),typeof W.template!="undefined"&&(this.opt.template=W.template),W.plugin&&(this.opt.plugin=W.plugin),typeof W.autoplay!="undefined"&&(this.opt.autoplay=W.autoplay?1:0),typeof W.bSupporDoubleClickFull!="undefined"&&(this.opt.bSupporDoubleClickFull=W.bSupporDoubleClickFull),typeof W.handleTalkSuccess!="undefined"&&(U.EZUIKit.handleTalkSuccess=W.handleTalkSuccess),typeof W.handleTalkError!="undefined"&&(U.EZUIKit.handleTalkError=W.handleTalkError);var L2=this.opt.id,y2=document.getElementById(L2);y2.style.fontSize=0,y2.style.overflowY="auto",y2.style.position="relative";var p2=document.createElement("iframe");function g2(){switch(H.opt.template){case"simple":var R2=k+"/ezopen/h5/iframe?bSupporDoubleClickFull=0&url="+H.opt.url.replace("?","&")+"&autoplay="+H.opt.autoplay+"&audio="+H.opt.audio+"&accessToken="+W.accessToken+"&templete=0&id="+L2+"&decoderVersion="+H.opt.decoderVersion,G="";return typeof W.controls!="undefined"&&W.controls&&(console.log("typeof",t(W.controls)),G="play,voice,hd,fullScreen",W.controls.length>0&&(G=W.controls.join(","),R2+="&controls="+G)),W.websocketParams&&(R2+="&websocketParams="+JSON.stringify(W.websocketParams)),R2;case"standard":return k+"/ezopen/h5/iframe?bSupporDoubleClickFull=0&url="+H.opt.url.replace("?","&")+"&autoplay="+H.opt.autoplay+"&audio="+H.opt.audio+"&accessToken="+W.accessToken+"&templete=1&id="+L2+"&decoderVersion="+H.opt.decoderVersion;case"security":return k+"/ezopen/h5/iframe_se?bSupporDoubleClickFull=0&url="+H.opt.url.replace("?","&")+"&autoplay="+H.opt.autoplay+"&audio="+H.opt.audio+"&accessToken="+W.accessToken+"&templete=0&id="+L2+"&decoderVersion="+H.opt.decoderVersion;case"theme":return R2=k+"/jssdk/theme.html?url=".concat(W.url,"&accessToken=").concat(W.accessToken,"&id=").concat(L2,"&isMobile=").concat(W.isMobile),typeof W.isMobile!="undefined"&&(R2+="&isMobile="+W.isMobile),typeof W.autoplay!="undefined"&&(R2+="&autoplay="+W.autoplay),typeof W.domain!="undefined"&&W.domain=="https://test12open.ys7.com"&&(R2+="&env=test12"),typeof W.env!="undefined"&&typeof W.env.domain!="undefined"&&W.env.domain=="https://test12open.ys7.com"&&(R2+="&env=test12"),typeof W.header!="undefined"&&(R2+="&header="+W.header),R2;default:return k+"/ezopen/h5/iframe?bSupporDoubleClickFull=0&url="+H.opt.url.replace("?","&")+"&autoplay="+H.opt.autoplay+"&audio="+H.opt.audio+"&accessToken="+W.accessToken+"&templete=0&id="+L2+"&decoderVersion="+H.opt.decoderVersion}}p2.src=g2();var O2=document.getElementById(L2).offsetHeight,r2=document.getElementById(L2).offsetWidth;W.height&&(O2=parseInt(W.height),/\%$/.test(W.height)&&(r2=document.getElementById(L2).offsetWidth*(parseInt(W.height)/100))),W.width&&(r2=parseInt(W.width),/\%$/.test(W.width)&&(r2=document.getElementById(L2).offsetWidth*(parseInt(W.width)/100))),p2.width=r2,p2.height=O2,p2.id="EZUIKitPlayer-"+L2,p2.setAttribute("allowfullscreen",!0),p2.setAttribute("allow","autoplay"),p2.setAttribute("frameborder",0),y2.appendChild(p2);var A=H.opt.filePath+"/js/jquery.js",j="https://open.ys7.com/assets/layer/layer.js";g(A,function(){g(j,function(){if(P3().headerContainer){var R2=document.createElement("div");R2.setAttribute("class","panel-top");var G=document.createElement("div");if(G.setAttribute("class","contros"),R2.appendChild(G),y2.insertBefore(R2,p2),P3().capturePictureModule){var b=document.createElement("span");b.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>',b.onclick=function(){H.capturePicture()},G.appendChild(b)}if(console.log("matchHeaderOpt().saveModule",P3().saveModule),P3().saveModule){var R=document.createElement("span");R.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>',R.onclick=function(){H.startSave(),document.getElementById("startSave").setAttribute("class","icon hide"),document.getElementById("stopSave").setAttribute("class","icon")},G.appendChild(R);var h2=document.createElement("span");h2.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>',h2.onclick=function(){H.stopSave(),document.getElementById("stopSave").setAttribute("class","icon hide"),document.getElementById("startSave").setAttribute("class","icon")},G.appendChild(h2)}if(P3().zoomModule){var B2=document.createElement("span");B2.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>',B2.onclick=function(){H.enableZoom(),document.getElementById("enableZoom").setAttribute("class","icon hide"),document.getElementById("closeZoom").setAttribute("class","icon")},G.appendChild(B2);var U2=document.createElement("span");U2.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>',U2.onclick=function(){H.closeZoom(),document.getElementById("closeZoom").setAttribute("class","icon hide"),document.getElementById("enableZoom").setAttribute("class","icon")},G.appendChild(U2)}}function g3(){var S0={footerContainer:!1,talkModule:!1,broadcastModule:!1,hdModule:!1,fullScreenModule:!1},F=H.opt.template;switch(F){case"simple":if(W.footer&&W.footer instanceof Array){var q=W.footer;S0={footerContainer:!0,talkModule:q.indexOf("talk")!==-1,broadcastModule:q.indexOf("broadcast")!==-1,hdModule:q.indexOf("hd")!==-1,fullScreenModule:q.indexOf("fullScreen")!==-1}}break;case"standard":if(W.footer&&W.footer instanceof Array){var q=W.footer;S0={footerContainer:!0,talkModule:q.indexOf("talk")!==-1,broadcastModule:q.indexOf("broadcast")!==-1,hdModule:q.indexOf("hd")!==-1,fullScreenModule:q.indexOf("fullScreen")!==-1}}break;case"security":break;case"voice":S0={footerContainer:!0,talkModule:!0,broadcastModule:!0,hdModule:!0,fullScreenModule:!0};break}return S0}function P3(){var S0={headerContainer:!1,capturePictureModule:!1,saveModule:!1,zoomModule:!1},F=H.opt.template;switch(F){case"simple":if(W.header&&W.header instanceof Array){var q=W.header;S0={headerContainer:!0,capturePictureModule:q.indexOf("capturePicture")!==-1,saveModule:q.indexOf("save")!==-1,zoomModule:q.indexOf("zoom")!==-1}}break;case"standard":break;case"security":break;case"voice":S0={headerContainer:!0,capturePictureModule:!0,saveModule:!0,zoomModule:!0};break}return S0}if(g3().footerContainer||H.opt.plugin.indexOf("talk")!==-1){var W3=H.opt.filePath+"/npm/css/recoder.css",V3=H.opt.filePath+"/npm/js/recoder.js",z3=H.opt.filePath+"/recorder.js";if(v(W3,function(){}),g(V3,function(){g(z3,function(){})}),H.opt.plugin.indexOf("talk")!==-1||g3().talkModule){var o1=function(F){if(console.log("data",F),F.code==200){var q=F.data;if(q){var o2=q.rtcUrl;o2.indexOf("ws")===-1&&(o2=o2.replace("https","wss").replace("rtcgw","rtcgw-ws")),H.opt.rtcUrl=o2,H.opt.ttsUrl="tts://"+q.ttsUrl;var $2="talk://"+H.opt.deviceSerial+":0:"+H.opt.channelNo+":cas.ys7.com:6500";if(H.opt.talkLink=H.opt.ttsUrl+"/"+$2,H.opt.stream=q.stream,console.log("_this.opt",H.opt),!H.opt.isReliesReady){var z=H.opt.filePath+"/npm/js/adapeter.js",f2=H.opt.filePath+"/npm/js/janus.js",v2=H.opt.filePath+"/npm/js/tts.js";console.log("加载jquery.js"),g(z,function(){console.log("加载adapeter.js"),g(f2,function(){console.log("加载janus.js"),g(v2,function(){console.log("加载tts.js"),H.opt.isReliesReady=!0})})},function(){return!!U.adapter})}if(!document.getElementById("audioleft")){var I2=document.createElement("div");I2.style.display="none",I2.id="audioleft",document.body.appendChild(I2)}if(!document.getElementById("audioright")){var l2=document.createElement("div");l2.style.display="none",l2.id="audioright",document.body.appendChild(l2)}}}x.opt=H.opt,U.EZUIKit&&(U.EZUIKit.opt=H.opt)};S(H.opt.apiDomain,"POST",{accessToken:H.opt.accessToken,deviceSerial:H.opt.deviceSerial,channelNo:H.opt.channelNo},"",o1)}if(g3().footerContainer){var T1=function(F,q){if(clearInterval(x.state.countTimer),F==="add"){var o2=q;x.state.countTimer=setInterval(function(){++o2,document.getElementById("time-area").innerHTML=$2(o2)},1e3)}else if(F==="sub"){var o2=q;x.state.countTimer=setInterval(function(){o2>0?(o2--,document.getElementById("time-area").innerHTML=$2(o2)):(clearInterval(x.state.countTimer),x.state.countTimer=void 0,console.log("倒计时结束,开启声音"))},1e3)}else F==="destory"&&(clearInterval(x.state.countTimer),x.state.countTimer=void 0,document.getElementById("time-area").innerHTML="00:00");function $2(z){var f2=parseInt(z),v2=0,I2=0,l2="00",Q2="00",F2="00";return f2>59&&(v2=parseInt(f2/60),f2=parseInt(f2%60),v2>59&&(I2=parseInt(v2/60),v2=parseInt(v2%60))),l2=parseInt(f2)>9?parseInt(f2):"0"+parseInt(f2),Q2=parseInt(v2)>9?parseInt(v2):"0"+parseInt(v2),F2=parseInt(I2)>9?parseInt(I2):"0"+parseInt(I2),I2>0?F2+":"+Q2+":"+l2:v2>0?Q2+":"+l2:"00:"+l2}},E2=document.createElement("div");if(E2.setAttribute("class","audio-controls"),y2.appendChild(E2),g3().hdModule||g3().fullScreenModule){var c3=document.createElement("div");if(c3.setAttribute("class","contros"),E2.appendChild(c3),g3().hdModule){var S3=document.createElement("span");S3.setAttribute("id","video-hd"),S3.innerHTML=H.opt.url.indexOf(".hd")===-1?"标清":"高清",S3.onclick=function(){if(H.opt.videoLoading)return layer.msg("视频加载中,请稍后"),!1;var S0=H.stop();H.opt.videoLoading=!0,S0.then(function(F){H.opt.videoLoading=!1,H.opt.url.indexOf(".hd")===-1?(H.opt.url=H.opt.url.replace(".live",".hd.live"),S3.innerHTML=H.opt.url.indexOf(".hd")===-1?"标清":"高清"):(H.opt.url=H.opt.url.replace(".hd.live",".live"),S3.innerHTML=H.opt.url.indexOf(".hd")===-1?"标清":"高清"),H.play(H.opt.url)}).catch(function(F){console.log("error",F)})},c3.appendChild(S3)}if(g3().fullScreenModule){var s2=document.createElement("span");s2.setAttribute("class","hide"),s2.setAttribute("id","ezuikit-open-sound"),s2.setAttribute("title","打开声音"),s2.setAttribute("style","vertical-align: top;"),s2.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>',s2.onclick=function(){H.openSound(0),s2.setAttribute("class","hide"),v3.setAttribute("class","")};var v3=document.createElement("span");s2.setAttribute("id","ezuikit-close-sound"),v3.setAttribute("class","hide"),v3.setAttribute("title","关闭声音"),v3.setAttribute("style","vertical-align: top;"),v3.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>',v3.onclick=function(){H.closeSound(0),s2.setAttribute("class",""),v3.setAttribute("class","hide")},c3.appendChild(s2),c3.appendChild(v3)}if(H.opt.audio==1?v3.setAttribute("class",""):(s2.setAttribute("class",""),H.closeSound(0)),g3().fullScreenModule){var _1=document.createElement("span");_1.setAttribute("title","全屏"),_1.setAttribute("style","vertical-align: top;"),_1.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>',_1.onclick=function(){H.fullScreen()},c3.appendChild(_1)}}if(g3().talkModule){var E1=document.createElement("div"),L1=document.createElement("div");E1.setAttribute("class","ptp-talk off"),E1.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>',E1.onclick=function(){if(console.log("EZUIKit.state.countTimer",x.state.countTimer),x.state.countTimer)return U.layer.msg("语音设备正忙,请稍后重试"),!1;T1("add",0),console.log("开始对讲,关闭声音"),H.closeSound(0),console.log(H.opt),H.startTalk(),this.setAttribute("class","ptp-talk off hide"),L1.setAttribute("class","ptp-talk on")},L1.setAttribute("class","ptp-talk on hide"),L1.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>',L1.onclick=function(){console.log(H.opt),H.stopTalk(),T1("destory",0),H.openSound(0),this.setAttribute("class","ptp-talk on hide"),E1.setAttribute("class","ptp-talk off")},E2.appendChild(E1),E2.appendChild(L1)}if(g3().broadcastModule){var M1=function S0(F){function q(o2){console.log("data",o2),o2.code==200&&(Bt(o2.data,5),x.state.page=o2.page.page,F==0&&o2.data.length==0&&!x.state.fetchDefaultList&&(x.state.fetchDefaultList=!0,S0(0)))}S(k+"/api/lapp/voice/query","POST",{accessToken:H.opt.accessToken,pageStart:F,pageSize:x.state.pageSize,default:x.state.fetchDefaultList?"true":"false"},"",q)},Bt=function(F){if(console.log("renderVoliceList",F),F&&F.length>0){for(var q=0;q<F.length;q++){var o2=document.createElement("li");o2.innerHTML="<li class='voice-item' id='voice-item-"+q+"' data-time="+(F[q].duration||20)+" data-url="+F[q].fileUrl+">"+(F[q].voiceName.length>10?F[q].voiceName.substr(0,10)+"...":F[q].voiceName)+"</li>",document.getElementsByClassName("voice-list-ul")[0].append(o2),o2.onclick=function($2){console.log("点击元素",$2.target,$2.target.dataset.url);var z=$2.target.dataset.url,f2=$2.target.dataset.time;_t(z,f2)}}F.length===x.state.pageSize?document.getElementById("voice-list-end").innerHTML="向下滚动加载更多":document.getElementById("voice-list-end").innerHTML="没有更多数据了"}},_t=function(F,q){console.log("播放语音",F,q);function o2($2){console.log("data.data",$2.data),$2.code==200?T1("sub",parseInt(q)):$2.code=="10001"?U.layer.msg("未找到当前语音"):U.layer.msg($2.msg||"发送失败,请稍后再试")}S(k+"/api/lapp/voice/send","POST",{accessToken:H.opt.accessToken,deviceSerial:H.opt.deviceSerial,channelNo:H.opt.channelNo,fileUrl:F},"",o2)},Fe=document.createElement("div"),tt=document.createElement("div");Fe.setAttribute("class","broadcast off"),tt.setAttribute("class","broadcast on hide"),Fe.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>',Fe.onclick=function(){this.setAttribute("class","broadcast off hide"),tt.setAttribute("class","broadcast on")},tt.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>',tt.onclick=function(){this.setAttribute("class","broadcast on hide"),Fe.setAttribute("class","broadcast off")},E2.appendChild(Fe),E2.appendChild(tt),document.getElementById("voice-custom").onclick=function(){console.log("显示自定义语音"),f0.setAttribute("class","speak off")},M1(0);var f0=document.createElement("div"),Ce=document.createElement("div");f0.setAttribute("class","speak off hide"),Ce.setAttribute("class","speak on hide"),f0.setAttribute("id","startSpeak"),Ce.setAttribute("id","stopSpeak"),f0.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>',Ce.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>',E2.appendChild(f0),E2.appendChild(Ce),document.getElementById("voice-list").onscroll=function(S0){var F=this.scrollHeight;console.log("sum",F,this.scrollTop,document.getElementById("voice-list").clientHeight),F<=this.scrollTop+this.clientHeight&&(console.log("拖动到底,执行加载",x.state.page),M1(++x.state.page))};var nt=document.createElement("div");nt.setAttribute("class","time-area"),nt.setAttribute("id","time-area"),nt.innerHTML="00:00",E2.appendChild(nt);var o0;document.getElementById("startSpeak").onmousedown=function(){if(x.state.countTimer)return U.layer.msg("语音设备正忙,请稍后重试"),!1;console.log("按住说话"),f0.setAttribute("class","speak off hide"),Ce.setAttribute("class","speak on"),o2(),T1("add",0),setTimeout(function(){x.state.recodeTime=0,q()},1e3),x.state.recodeTimer&&clearInterval(x.state.recodeTimer),x.state.recodeTimer=setInterval(function(){x.state.recodeTime>=59?(H.stopTalk(),T1("destory",0),this.setAttribute("class","ptp-talk on hide"),E1.setAttribute("class","ptp-talk off"),U.layer.msg("不超过1分钟")):x.state.recodeTime=x.state.recodeTime+1},1e3);var S0;function F($2){var z=S0.createMediaStreamSource($2);o0=new U.Recorder(z)}function q(){o0&&o0.record()}function o2(){console.log("run init");try{U.AudioContext=U.AudioContext||U.webkitAudioContext,navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia,U.URL=U.URL||U.webkitURL,S0=new AudioContext,console.log("Audio context set up."),console.log("navigator.getUserMedia "+(navigator.getUserMedia?"available.":"not present!"))}catch($2){console.log("err",$2),U.layer.msg("No web audio support in this browser!")}navigator.getUserMedia({audio:!0},F,function($2){console.log("No live audio input: "+$2)})}},document.getElementById("stopSpeak").onmouseup=function(){console.log("松开发送"),Ce.setAttribute("class","speak on hide"),S0();function S0(){if(T1("destory",0),x.state.recodeTime<1)return U.layer.msg("说话时间过短"),clearInterval(x.state.recodeTimer),!1;clearInterval(x.state.recodeTimer),F()}function F(){try{o0&&o0.stop(),o0&&o0.exportWAV(function(q){if(console.log("wav_file",q),q.size<1e3)return U.layer.msg("录音失败,请重试"),x.state.recodeTime=0,!1;T1("sub",x.state.recodeTime+2);var o2=new FormData;o2.append("voiceFile",q),o2.append("accessToken",H.opt.accessToken),o2.append("deviceSerial",H.opt.deviceSerial),o2.append("channelNo",H.opt.channelNo);function $2(f2){console.log("data.data",f2.data),f2.code==200?T1("sub",x.state.recodeTime+2):f2.code=="10001"?U.layer.msg("未找到当前语音"):U.layer.msg(f2.msg||"发送失败,请稍后再试")}function z(f2){console.log("err",f2)}S(k+"/api/lapp/voice/sendonce","POST",{voiceFile:q,accessToken:H.opt.accessToken,deviceSerial:H.opt.deviceSerial,channelNo:H.opt.channelNo},"",$2,z)}),o0&&o0.clear()}catch(q){console.log(q)}}}}}}})});var H=this;U.addEventListener("message",function(R2){R2.origin;var G=H.opt.id;if(R2.data.type)switch(R2.data.type){case"openSound":G==R2.data.id&&W.openSoundCallBack&&W.openSoundCallBack(R2.data);break;case"closeSound":G==R2.data.id&&W.closeSoundCallBack&&W.closeSoundCallBack(R2.data);break;case"capturePicture":G==R2.data.id&&W.capturePictureCallBack&&W.capturePictureCallBack(R2.data);break;case"startSave":G==R2.data.id&&W.startSaveCallBack&&W.startSaveCallBack(R2.data);break;case"stopSave":G==R2.data.id&&W.stopSaveCallBack&&W.stopSaveCallBack(R2.data);break;case"fullScreen":G==R2.data.id&&W.fullScreenCallBack&&W.fullScreenCallBack(R2.data);break;case"getOSDTime":G==R2.data.id&&W.getOSDTimeCallBack&&W.getOSDTimeCallBack(R2.data);break;case"handleSuccess":G==R2.data.id&&W.handleSuccess&&W.handleSuccess(R2.data);break;case"handleError":G==R2.data.id&&W.handleError&&W.handleError(R2.data);break;case"dblclick":G==R2.data.id&&H.opt.bSupporDoubleClickFull&&(H.opt.fullScreenStatus===0?H.fullScreen():H.cancelFullScreen());break;case"startTalk":H.startTalk(),H.closeSound();break;case"stopTalk":H.stopTalk(),H.openSound();break;case"clickEventHandle":console.log("event.data",R2.data),W.clickEventHandle&&W.clickEventHandle(R2.data);break;case"removeEventHandle":W.removeEventHandle&&W.removeEventHandle(R2.data);break;case"esc":W.clickEventHandle&&W.clickEventHandle(R2.data);break;case"iframeFullScreen":if(G==R2.data.id){var b=function(h2){var B2=h2.requestFullScreen||h2.webkitRequestFullScreen||h2.mozRequestFullScreen||h2.msRequestFullScreen;if(B2)B2.call(h2);else if(typeof U.ActiveXObject!="undefined"){var U2=new ActiveXObject("WScript.Shell");U2!==null&&U2.SendKeys("{F11}")}};b(document.getElementById("EZUIKitPlayer-"+R2.data.id))}break}});function x2(R2){H.opt.fullScreenStatus=R2?1:0,W.fullScreenChangeCallBack&&W.fullScreenChangeCallBack({data:R2,id:H.opt.id})}typeof document.fullScreen!="undefined"?document.addEventListener("fullscreenchange",function(){var R2=document.fullscreen||!1;x2(R2)}):typeof document.webkitIsFullScreen!="undefined"?document.addEventListener("webkitfullscreenchange",function(){var R2=document.webkitIsFullScreen||!1;x2(R2)}):typeof document.mozFullScreen!="undefined"&&document.addEventListener("mozfullscreenchange",function(){var R2=document.mozFullScreen||!1;x2(R2)})};t2.prototype.play=function(Z){var W="EZUIKitPlayer-"+this.opt.id,L2=document.getElementById(W).contentWindow;t(Z)==="object"&&Z.url&&(this.opt.url=Z.url),t(Z)==="object"&&Z.accessToken&&(this.opt.accessToken=Z.accessToken),typeof Z=="string"&&(this.opt.url=Z),L2.postMessage({action:"play",accessToken:this.opt.accessToken,url:this.opt.url},k+"/ezopen/h5/iframe");var y2=this;this.opt.videoLoading=!0;var p2=new Promise(function(g2,O2){U.addEventListener("message",function(r2){var A=y2.opt.id;A==r2.data.id&&r2.data.type==="handleSuccess"&&(setTimeout(function(){y2.opt.videoLoading=!1},1e3),g2(r2.data))})});return p2},t2.prototype.stop=function(){var Z="EZUIKitPlayer-"+this.opt.id,W=document.getElementById(Z).contentWindow;W.postMessage("stop",k+"/ezopen/h5/iframe");var L2=this,y2=new Promise(function(p2,g2){U.addEventListener("message",function(O2){var r2=L2.opt.id;r2==O2.data.id&&O2.data.type==="stop"&&p2(O2.data)})});return y2},t2.prototype.openSound=function(){var Z="EZUIKitPlayer-"+this.opt.id,W=document.getElementById(Z).contentWindow;W.postMessage("openSound",k+"/ezopen/h5/iframe");var L2=this,y2=new Promise(function(p2,g2){U.addEventListener("message",function(O2){var r2=L2.opt.id;r2==O2.data.id&&O2.data.type==="openSound"&&p2(O2.data)})});return y2},t2.prototype.closeSound=function(){var Z="EZUIKitPlayer-"+this.opt.id,W=document.getElementById(Z).contentWindow;W.postMessage("closeSound",k+"/ezopen/h5/iframe");var L2=this,y2=new Promise(function(p2,g2){U.addEventListener("message",function(O2){var r2=L2.opt.id;r2==O2.data.id&&O2.data.type==="closeSound"&&p2(O2.data)})});return y2},t2.prototype.startSave=function(Z){var W="EZUIKitPlayer-"+this.opt.id,L2=document.getElementById(W).contentWindow;L2.postMessage({action:"startSave",fileName:Z||"default"},k+"/ezopen/h5/iframe");var y2=this,p2=new Promise(function(g2,O2){U.addEventListener("message",function(r2){var A=y2.opt.id;A==r2.data.id&&r2.data.type==="startSave"&&g2(r2.data)})});return p2},t2.prototype.stopSave=function(){var Z="EZUIKitPlayer-"+this.opt.id,W=document.getElementById(Z).contentWindow;W.postMessage("stopSave",k+"/ezopen/h5/iframe");var L2=this,y2=new Promise(function(p2,g2){U.addEventListener("message",function(O2){var r2=L2.opt.id;r2==O2.data.id&&O2.data.type==="stopSave"&&p2(O2.data)})});return y2},t2.prototype.fullScreen=function(){if(this.opt.fullScreenStatus===1)return!1;var Z="EZUIKitPlayer-"+this.opt.id,W=document.getElementById(Z).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 L2=document.documentElement.clientWidth,y2=document.documentElement.clientHeight,p2=document.body;p2=document.getElementById(Z);var g2="";g2+="width:"+y2+"px;",g2+="height:"+L2+"px;",g2+="-webkit-transform: rotate(90deg); transform: rotate(90deg);",g2+="-webkit-transform-origin: "+L2/2+"px "+L2/2+"px;",g2+="transform-origin: "+L2/2+"px "+L2/2+"px;",g2+="position: fixed;top: 0;left: 0;z-index:10",p2.style.cssText=g2,setTimeout(function(){W.postMessage("autoResize",k+"/ezopen/h5/iframe")},500)}else{var O2=function(A){var j=A.requestFullScreen||A.webkitRequestFullScreen||A.mozRequestFullScreen||A.msRequestFullScreen;if(j)j.call(A);else if(typeof U.ActiveXObject!="undefined"){var H=new ActiveXObject("WScript.Shell");H!==null&&H.SendKeys("{F11}")}};O2(document.getElementById(Z))}this.params.fullScreenCallBack&&this.params.fullScreenCallBack(this.opt.id),this.opt.fullScreenStatus=1},t2.prototype.cancelFullScreen=function(){if(this.opt.fullScreenStatus===0)return!1;var Z="EZUIKitPlayer-"+this.opt.id,W=document.getElementById(Z).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 L2=document.getElementById(Z).width,y2=document.getElementById(Z).height,p2=document.body;p2=document.getElementById(Z);var g2="";g2+="width:"+L2+"px;",g2+="height:"+y2+"px;",g2+="-webkit-transform: none; transform: none;",g2+="-webkit-transform-origin: 0 0;",g2+="transform-origin: 0 0;",p2.style.cssText=g2,setTimeout(function(){W.postMessage("autoResize",k+"/ezopen/h5/iframe")},500);var O2=Z+"cancel-full-screen",r2=document.getElementById(O2);r2&&document.body.removeChild(r2)}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},t2.prototype.capturePicture=function(Z,W){var L2="EZUIKitPlayer-"+this.opt.id,y2=document.getElementById(L2).contentWindow;y2.postMessage({action:"capturePicture",fileName:Z||"default",isUndownload:W},k+"/ezopen/h5/iframe");var p2=this,g2=new Promise(function(O2,r2){U.addEventListener("message",function(A){var j=p2.opt.id;j==A.data.id&&A.data.type==="capturePicture"&&O2(A.data)})});return g2},t2.prototype.enableZoom=function(){var Z="EZUIKitPlayer-"+this.opt.id,W=document.getElementById(Z).contentWindow;W.postMessage("enableZoom",k+"/ezopen/h5/iframe")},t2.prototype.closeZoom=function(){var Z="EZUIKitPlayer-"+this.opt.id,W=document.getElementById(Z).contentWindow;W.postMessage("closeZoom",k+"/ezopen/h5/iframe")},t2.prototype.getOSDTime=function(){var Z="EZUIKitPlayer-"+this.opt.id,W=document.getElementById(Z).contentWindow;W.postMessage("getOSDTime",k+"/ezopen/h5/iframe");var L2=this,y2=new Promise(function(p2,g2){U.addEventListener("message",function(O2){var r2=L2.opt.id;r2==O2.data.id&&O2.data.type==="getOSDTime"&&p2(O2.data)})});return y2},t2.prototype.autoResize=function(){var Z="EZUIKitPlayer-"+this.opt.id,W=document.getElementById(Z).contentWindow;W.postMessage("autoResize",k+"/ezopen/h5/iframe")},t2.prototype.reSize=function(Z,W){var L2="EZUIKitPlayer-"+this.opt.id,y2=document.getElementById(L2).contentWindow,p2=document.getElementById(this.opt.id);p2.style.width=Z+"px",p2.style.height=W+"px",document.getElementById(this.opt.id).style.width=Z+"px",document.getElementById(this.opt.id).style.height=W+"px";var g2=document.getElementById(L2);g2.setAttribute("width",Z),g2.setAttribute("height",W),g2.style.width=Z+"px",g2.style.height=W+"px",setTimeout(function(){y2.postMessage({action:"autoResize"},k+"/ezopen/h5/iframe")},500)},t2.prototype.startTalk=function(){console.log("执行开始对讲"),console.log(this.opt);var Z=this;x.opt=this.opt,U.EZUIKit&&(U.EZUIKit.opt=this.opt);var W=function(y2){if(y2.code==200){var p2=y2.data;if(p2){var g2=p2.rtcUrl;g2.indexOf("ws")===-1&&(g2=g2.replace("https","wss").replace("rtcgw","rtcgw-ws")),Z.opt.rtcUrl=g2,Z.opt.ttsUrl="tts://"+p2.ttsUrl;var O2="talk://"+Z.opt.deviceSerial+":0:"+Z.opt.channelNo+":cas.ys7.com:6500";Z.opt.talkLink=Z.opt.ttsUrl+"/"+O2,Z.opt.stream=p2.stream,U.startTalk()}}};S(Z.opt.apiDomain,"POST",{accessToken:Z.opt.accessToken,deviceSerial:Z.opt.deviceSerial,channelNo:Z.opt.channelNo},"",W)},t2.prototype.stopTalk=function(){console.log("执行结束对讲"),U.stopTalk()},t2.prototype.edit=function(){var Z="EZUIKitPlayer-"+this.opt.id,W=document.getElementById(Z).contentWindow;W.postMessage("edit",k+"/ezopen/h5/iframe")},t2.prototype.btnReRender=function(Z){var W="EZUIKitPlayer-"+this.opt.id,L2=document.getElementById(W).contentWindow;L2.postMessage({action:"btnReRender",data:Z},k+"/ezopen/h5/iframe")},t2.prototype.changePlayUrl=function(Z){Z.deviceSerial&&(this.opt.deviceSerial=Z.deviceSerial),Z.channelNo&&(this.opt.channelNo=Z.channelNo),Z.accessToken&&(this.opt.accessToken=Z.accessToken);var W="EZUIKitPlayer-"+this.opt.id,L2=document.getElementById(W).contentWindow;L2.postMessage({action:"changePlayUrl",data:Z},k+"/ezopen/h5/iframe")},t2.prototype.fetchThemeData=function(){var Z="EZUIKitPlayer-"+this.opt.id,W=document.getElementById(Z).contentWindow;W.postMessage({action:"fetchThemeData"},k+"/ezopen/h5/iframe")},t2.prototype.setThemeData=function(Z,W,L2){var y2="EZUIKitPlayer-"+this.opt.id,p2=document.getElementById(y2).contentWindow;p2.postMessage({action:"setThemeData",data:{accessToken:Z,header:W,footer:L2}},k+"/ezopen/h5/iframe")},x.EZUIKitPlayer=t2,U.EZUIKitV3=x;var d2=x;return d2});var re=EZUIKitV3,A0=function(N){var m=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,g=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},v=void 0,S=void 0,x=void 0,k=[];return function(){var d2=Ne(m),Z=new Date().getTime(),W=!v||Z-v>d2;v=Z;for(var L2=arguments.length,y2=Array(L2),p2=0;p2<L2;p2++)y2[p2]=arguments[p2];if(W&&g.leading)return g.accumulate?Promise.resolve(N.call(this,[y2])).then(function(O2){return O2[0]}):Promise.resolve(N.call.apply(N,[this].concat(y2)));if(S?clearTimeout(x):S=B0(),k.push(y2),x=setTimeout(m2.bind(this),d2),g.accumulate){var g2=k.length-1;return S.promise.then(function(O2){return O2[g2]})}return S.promise};function m2(){var t2=S;clearTimeout(x),Promise.resolve(g.accumulate?N.call(this,k):N.apply(this,k[k.length-1])).then(t2.resolve,t2.reject),k=[],S=null}};function Ne(U){return typeof U=="function"?U():U}function B0(){var U={};return U.promise=new Promise(function(N,m){U.resolve=N,U.reject=m}),U}(function(){var U;function N(E2){var c3=0;return function(){return c3<E2.length?{done:!1,value:E2[c3++]}:{done:!0}}}var m=typeof Object.defineProperties=="function"?Object.defineProperty:function(E2,c3,S3){return E2==Array.prototype||E2==Object.prototype||(E2[c3]=S3.value),E2};function g(E2){E2=[typeof globalThis=="object"&&globalThis,E2,typeof window=="object"&&window,typeof self=="object"&&self,typeof G2=="object"&&G2];for(var c3=0;c3<E2.length;++c3){var S3=E2[c3];if(S3&&S3.Math==Math)return S3}throw Error("Cannot find global object")}var v=g(this);function S(E2,c3){if(c3)e:{var S3=v;E2=E2.split(".");for(var s2=0;s2<E2.length-1;s2++){var v3=E2[s2];if(!(v3 in S3))break e;S3=S3[v3]}E2=E2[E2.length-1],s2=S3[E2],c3=c3(s2),c3!=s2&&c3!=null&&m(S3,E2,{configurable:!0,writable:!0,value:c3})}}S("Symbol",function(E2){function c3(_1){if(this instanceof c3)throw new TypeError("Symbol is not a constructor");return new S3(s2+(_1||"")+"_"+v3++,_1)}function S3(_1,E1){this.A=_1,m(this,"description",{configurable:!0,writable:!0,value:E1})}if(E2)return E2;S3.prototype.toString=function(){return this.A};var s2="jscomp_symbol_"+(1e9*Math.random()>>>0)+"_",v3=0;return c3}),S("Symbol.iterator",function(E2){if(E2)return E2;E2=Symbol("Symbol.iterator");for(var c3="Array Int8Array Uint8Array Uint8ClampedArray Int16Array Uint16Array Int32Array Uint32Array Float32Array Float64Array".split(" "),S3=0;S3<c3.length;S3++){var s2=v[c3[S3]];typeof s2=="function"&&typeof s2.prototype[E2]!="function"&&m(s2.prototype,E2,{configurable:!0,writable:!0,value:function(){return x(N(this))}})}return E2});function x(E2){return E2={next:E2},E2[Symbol.iterator]=function(){return this},E2}function k(E2){var c3=typeof Symbol!="undefined"&&Symbol.iterator&&E2[Symbol.iterator];return c3?c3.call(E2):{next:N(E2)}}var m2;if(typeof Object.setPrototypeOf=="function")m2=Object.setPrototypeOf;else{var t2;e:{var d2={a:!0},Z={};try{Z.__proto__=d2,t2=Z.a;break e}catch(E2){}t2=!1}m2=t2?function(E2,c3){if(E2.__proto__=c3,E2.__proto__!==c3)throw new TypeError(E2+" is not extensible");return E2}:null}var W=m2;function L2(){this.m=!1,this.j=null,this.v=void 0,this.h=1,this.u=this.C=0,this.l=null}function y2(E2){if(E2.m)throw new TypeError("Generator is already running");E2.m=!0}L2.prototype.o=function(E2){this.v=E2},L2.prototype.s=function(E2){this.l={D:E2,F:!0},this.h=this.C||this.u},L2.prototype.return=function(E2){this.l={return:E2},this.h=this.u};function p2(E2,c3){return E2.h=3,{value:c3}}function g2(E2){this.g=new L2,this.G=E2}g2.prototype.o=function(E2){return y2(this.g),this.g.j?r2(this,this.g.j.next,E2,this.g.o):(this.g.o(E2),A(this))};function O2(E2,c3){y2(E2.g);var S3=E2.g.j;return S3?r2(E2,"return"in S3?S3.return:function(s2){return{value:s2,done:!0}},c3,E2.g.return):(E2.g.return(c3),A(E2))}g2.prototype.s=function(E2){return y2(this.g),this.g.j?r2(this,this.g.j.throw,E2,this.g.o):(this.g.s(E2),A(this))};function r2(E2,c3,S3,s2){try{var v3=c3.call(E2.g.j,S3);if(!(v3 instanceof Object))throw new TypeError("Iterator result "+v3+" is not an object");if(!v3.done)return E2.g.m=!1,v3;var _1=v3.value}catch(E1){return E2.g.j=null,E2.g.s(E1),A(E2)}return E2.g.j=null,s2.call(E2.g,_1),A(E2)}function A(E2){for(;E2.g.h;)try{var c3=E2.G(E2.g);if(c3)return E2.g.m=!1,{value:c3.value,done:!1}}catch(S3){E2.g.v=void 0,E2.g.s(S3)}if(E2.g.m=!1,E2.g.l){if(c3=E2.g.l,E2.g.l=null,c3.F)throw c3.D;return{value:c3.return,done:!0}}return{value:void 0,done:!0}}function j(E2){this.next=function(c3){return E2.o(c3)},this.throw=function(c3){return E2.s(c3)},this.return=function(c3){return O2(E2,c3)},this[Symbol.iterator]=function(){return this}}function H(E2,c3){return c3=new j(new g2(c3)),W&&E2.prototype&&W(c3,E2.prototype),c3}function x2(E2,c3){E2 instanceof String&&(E2+="");var S3=0,s2=!1,v3={next:function(){if(!s2&&S3<E2.length){var _1=S3++;return{value:c3(_1,E2[_1]),done:!1}}return s2=!0,{done:!0,value:void 0}}};return v3[Symbol.iterator]=function(){return v3},v3}if(S("Array.prototype.entries",function(E2){return E2||function(){return x2(this,function(c3,S3){return[c3,S3]})}}),typeof Blob!="undefined"&&(typeof FormData=="undefined"||!FormData.prototype.keys)){var R2=function(E2,c3){for(var S3=0;S3<E2.length;S3++)c3(E2[S3])},G=function(E2){return E2.replace(/\r?\n|\r/g,`\r
`)},b=function(E2,c3,S3){return c3 instanceof Blob?(S3=S3!==void 0?S3+"":typeof c3.name=="string"?c3.name:"blob",(c3.name!==S3||Object.prototype.toString.call(c3)==="[object Blob]")&&(c3=new File([c3],S3)),[String(E2),c3]):[String(E2),String(c3)]},R=function(E2,c3){if(E2.length<c3)throw new TypeError(c3+" argument required, but only "+E2.length+" present.")},h2=typeof globalThis=="object"?globalThis:typeof window=="object"?window:typeof self=="object"?self:this,B2=h2.FormData,U2=h2.XMLHttpRequest&&h2.XMLHttpRequest.prototype.send,g3=h2.Request&&h2.fetch,P3=h2.navigator&&h2.navigator.sendBeacon,W3=h2.Element&&h2.Element.prototype,V3=h2.Symbol&&Symbol.toStringTag;V3&&(Blob.prototype[V3]||(Blob.prototype[V3]="Blob"),"File"in h2&&!File.prototype[V3]&&(File.prototype[V3]="File"));try{new File([],"")}catch(E2){h2.File=function(c3,S3,s2){return c3=new Blob(c3,s2||{}),Object.defineProperties(c3,{name:{value:S3},lastModified:{value:+(s2&&s2.lastModified!==void 0?new Date(s2.lastModified):new Date)},toString:{value:function(){return"[object File]"}}}),V3&&Object.defineProperty(c3,V3,{value:"File"}),c3}}var z3=function(E2){return E2.replace(/\n/g,"%0A").replace(/\r/g,"%0D").replace(/"/g,"%22")},o1=function(E2){this.i=[];var c3=this;E2&&R2(E2.elements,function(S3){if(S3.name&&!S3.disabled&&S3.type!=="submit"&&S3.type!=="button"&&!S3.matches("form fieldset[disabled] *"))if(S3.type==="file"){var s2=S3.files&&S3.files.length?S3.files:[new File([],"",{type:"application/octet-stream"})];R2(s2,function(v3){c3.append(S3.name,v3)})}else S3.type==="select-multiple"||S3.type==="select-one"?R2(S3.options,function(v3){!v3.disabled&&v3.selected&&c3.append(S3.name,v3.value)}):S3.type==="checkbox"||S3.type==="radio"?S3.checked&&c3.append(S3.name,S3.value):(s2=S3.type==="textarea"?G(S3.value):S3.value,c3.append(S3.name,s2))})};if(U=o1.prototype,U.append=function(E2,c3,S3){R(arguments,2),this.i.push(b(E2,c3,S3))},U.delete=function(E2){R(arguments,1);var c3=[];E2=String(E2),R2(this.i,function(S3){S3[0]!==E2&&c3.push(S3)}),this.i=c3},U.entries=function E2(){var c3,S3=this;return H(E2,function(s2){if(s2.h==1&&(c3=0),s2.h!=3)return c3<S3.i.length?s2=p2(s2,S3.i[c3]):(s2.h=0,s2=void 0),s2;c3++,s2.h=2})},U.forEach=function(E2,c3){R(arguments,1);for(var S3=k(this),s2=S3.next();!s2.done;s2=S3.next()){var v3=k(s2.value);s2=v3.next().value,v3=v3.next().value,E2.call(c3,v3,s2,this)}},U.get=function(E2){R(arguments,1);var c3=this.i;E2=String(E2);for(var S3=0;S3<c3.length;S3++)if(c3[S3][0]===E2)return c3[S3][1];return null},U.getAll=function(E2){R(arguments,1);var c3=[];return E2=String(E2),R2(this.i,function(S3){S3[0]===E2&&c3.push(S3[1])}),c3},U.has=function(E2){R(arguments,1),E2=String(E2);for(var c3=0;c3<this.i.length;c3++)if(this.i[c3][0]===E2)return!0;return!1},U.keys=function E2(){var c3=this,S3,s2,v3,_1,E1;return H(E2,function(L1){if(L1.h==1&&(S3=k(c3),s2=S3.next()),L1.h!=3){if(s2.done){L1.h=0;return}return v3=s2.value,_1=k(v3),E1=_1.next().value,p2(L1,E1)}s2=S3.next(),L1.h=2})},U.set=function(E2,c3,S3){R(arguments,2),E2=String(E2);var s2=[],v3=b(E2,c3,S3),_1=!0;R2(this.i,function(E1){E1[0]===E2?_1&&(_1=!s2.push(v3)):s2.push(E1)}),_1&&s2.push(v3),this.i=s2},U.values=function E2(){var c3=this,S3,s2,v3,_1,E1;return H(E2,function(L1){if(L1.h==1&&(S3=k(c3),s2=S3.next()),L1.h!=3){if(s2.done){L1.h=0;return}return v3=s2.value,_1=k(v3),_1.next(),E1=_1.next().value,p2(L1,E1)}s2=S3.next(),L1.h=2})},o1.prototype._asNative=function(){for(var E2=new B2,c3=k(this),S3=c3.next();!S3.done;S3=c3.next()){var s2=k(S3.value);S3=s2.next().value,s2=s2.next().value,E2.append(S3,s2)}return E2},o1.prototype._blob=function(){var E2="----formdata-polyfill-"+Math.random(),c3=[],S3="--"+E2+`\r
Content-Disposition: form-data; name="`;return this.forEach(function(s2,v3){return typeof s2=="string"?c3.push(S3+z3(G(v3))+(`"\r
\r
`+G(s2)+`\r
`)):c3.push(S3+z3(G(v3))+('"; filename="'+z3(s2.name)+`"\r
Content-Type: `+(s2.type||"application/octet-stream")+`\r
\r
`),s2,`\r
`)}),c3.push("--"+E2+"--"),new Blob(c3,{type:"multipart/form-data; boundary="+E2})},o1.prototype[Symbol.iterator]=function(){return this.entries()},o1.prototype.toString=function(){return"[object FormData]"},W3&&!W3.matches&&(W3.matches=W3.matchesSelector||W3.mozMatchesSelector||W3.msMatchesSelector||W3.oMatchesSelector||W3.webkitMatchesSelector||function(E2){E2=(this.document||this.ownerDocument).querySelectorAll(E2);for(var c3=E2.length;0<=--c3&&E2.item(c3)!==this;);return-1<c3}),V3&&(o1.prototype[V3]="FormData"),U2){var T1=h2.XMLHttpRequest.prototype.setRequestHeader;h2.XMLHttpRequest.prototype.setRequestHeader=function(E2,c3){T1.call(this,E2,c3),E2.toLowerCase()==="content-type"&&(this.B=!0)},h2.XMLHttpRequest.prototype.send=function(E2){E2 instanceof o1?(E2=E2._blob(),this.B||this.setRequestHeader("Content-Type",E2.type),U2.call(this,E2)):U2.call(this,E2)}}g3&&(h2.fetch=function(E2,c3){return c3&&c3.body&&c3.body instanceof o1&&(c3.body=c3.body._blob()),g3.call(this,E2,c3)}),P3&&(h2.navigator.sendBeacon=function(E2,c3){return c3 instanceof o1&&(c3=c3._asNative()),P3.call(this,E2,c3)}),h2.FormData=o1}})();var et=function(){function U(N,m){for(var g=0;g<m.length;g++){var v=m[g];v.enumerable=v.enumerable||!1,v.configurable=!0,"value"in v&&(v.writable=!0),Object.defineProperty(N,v.key,v)}}return function(N,m,g){return m&&U(N.prototype,m),g&&U(N,g),N}}();function $0(U,N){if(!(U instanceof N))throw new TypeError("Cannot call a class as a function")}var we=function(){var U=void 0;return function(N){return N&&(U=N),U}}();(function(){function U(){if($0(this,U),we())return we();if(U.unique!==void 0)return U.unique;U.unique=this,this.oAudioContext=null,this.currentVolume=80,this.bSetVolume=!1,this.gainNode=null,this.iWndNum=-1,this.mVolumes=new Map;var N=window.AudioContext||window.webkitAudioContext;this.oAudioContext=new N,this.writeString=function(m,g,v){for(var S=0;S<v.length;S++)m.setUint8(g+S,v.charCodeAt(S))},this.setBufferToDataview=function(m,g,v){for(var S=0;S<v.length;S++,g++)m.setUint8(g,v[S])},we(this)}return et(U,[{key:"Play",value:function(m,g,v){var S=new ArrayBuffer(44+g),x=new DataView(S),k=v.samplesPerSec,m2=v.channels,t2=v.bitsPerSample;this.writeString(x,0,"RIFF"),x.setUint32(4,32+g*2,!0),this.writeString(x,8,"WAVE"),this.writeString(x,12,"fmt "),x.setUint32(16,16,!0),x.setUint16(20,1,!0),x.setUint16(22,m2,!0),x.setUint32(24,k,!0),x.setUint32(28,k*2,!0),x.setUint16(32,m2*t2/8,!0),x.setUint16(34,t2,!0),this.writeString(x,36,"data"),x.setUint32(40,g,!0),this.setBufferToDataview(x,44,m);var d2=this;return this.oAudioContext.decodeAudioData(x.buffer,function(Z){var W=d2.oAudioContext.createBufferSource();if(W==null)return-1;W.buffer=Z,W.start(0),(d2.gainNode==null||d2.bSetVolume)&&(d2.gainNode=d2.oAudioContext.createGain(),d2.bSetVolume=!1),d2.gainNode.gain.value=d2.currentVolume/100,d2.gainNode.connect(d2.oAudioContext.destination),W.connect(d2.gainNode)},function(Z){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(m){return this.bSetVolume=!0,this.currentVolume=m,this.mVolumes.set(this.iWndNum,this.currentVolume),!0}},{key:"SetWndNum",value:function(m){this.iWndNum=m;var g=this.mVolumes.get(m);return g==null&&(g=80),this.currentVolume=g,!0}},{key:"GetVolume",value:function(){var m=this.mVolumes.get(this.iWndNum);return m==null&&(m=80),m}}]),window.AudioRenderer=U,U})();var W0=["attribute vec4 vertexPos;","attribute vec2 texturePos;","varying vec2 textureCoord;","void main()","{","gl_Position = vertexPos;","textureCoord = texturePos;","}"].join(`
`),V0=["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(U,N){window.SuperRender=N()})(void 0,function(){function U(N){this.canvasElement=document.getElementById(N),this.initContextGL(),this.contextGL&&(this.YUVProgram=this.initProgram(W0,V0),this.initBuffers(),this.initTextures())}return U.prototype.initContextGL=function(){var N=this.canvasElement,m=null;try{m=N.getContext("webgl")||N.getContext("experimental-webgl")}catch(g){m=null}(!m||typeof m.getParameter!="function")&&(m=null),this.contextGL=m,console.log("WebGL1.0")},U.prototype.initProgram=function(N,m){var g=this.contextGL,v=g.createShader(g.VERTEX_SHADER);g.shaderSource(v,N),g.compileShader(v),g.getShaderParameter(v,g.COMPILE_STATUS)||console.log("Vertex shader failed to compile: "+g.getShaderInfoLog(v));var S=g.createShader(g.FRAGMENT_SHADER);g.shaderSource(S,m),g.compileShader(S),g.getShaderParameter(S,g.COMPILE_STATUS)||console.log("Fragment shader failed to compile: "+g.getShaderInfoLog(S));var x=g.createProgram();return g.attachShader(x,v),g.attachShader(x,S),g.linkProgram(x),g.getProgramParameter(x,g.LINK_STATUS)||console.log("Program failed to compile: "+g.getProgramInfoLog(x)),g.deleteShader(v),g.deleteShader(S),x},U.prototype.initBuffers=function(){var N=this.contextGL,m=N.createBuffer();N.bindBuffer(N.ARRAY_BUFFER,m),N.bufferData(N.ARRAY_BUFFER,new Float32Array([1,1,-1,1,1,-1,-1,-1]),N.STATIC_DRAW),N.bindBuffer(N.ARRAY_BUFFER,null);var g=N.createBuffer();N.bindBuffer(N.ARRAY_BUFFER,g),N.bufferData(N.ARRAY_BUFFER,new Float32Array([1,0,0,0,1,1,0,1]),N.DYNAMIC_DRAW),N.bindBuffer(N.ARRAY_BUFFER,null),this.vertexPosBuffer=m,this.texturePosBuffer=g},U.prototype.initTexture=function(){var N=this.contextGL,m=N.createTexture();return N.bindTexture(N.TEXTURE_2D,m),N.texParameteri(N.TEXTURE_2D,N.TEXTURE_MAG_FILTER,N.LINEAR),N.texParameteri(N.TEXTURE_2D,N.TEXTURE_MIN_FILTER,N.LINEAR),N.texParameteri(N.TEXTURE_2D,N.TEXTURE_WRAP_S,N.CLAMP_TO_EDGE),N.texParameteri(N.TEXTURE_2D,N.TEXTURE_WRAP_T,N.CLAMP_TO_EDGE),N.bindTexture(N.TEXTURE_2D,null),m},U.prototype.initTextures=function(){var N=this.contextGL,m=this.YUVProgram;N.useProgram(m);var g=this.initTexture(),v=N.getUniformLocation(m,"ySampler");N.uniform1i(v,0),this.yTextureRef=g;var S=this.initTexture(),x=N.getUniformLocation(m,"uSampler");N.uniform1i(x,1),this.uTextureRef=S;var k=this.initTexture(),m2=N.getUniformLocation(m,"vSampler");N.uniform1i(m2,2),this.vTextureRef=k,N.useProgram(null)},U.prototype.SR_DisplayFrameData=function(N,m,g,v,S){if(!(N<=0||m<=0)){var x=this.contextGL;if(g==null){x.clearColor(0,0,0,0),x.clear(x.COLOR_BUFFER_BIT|x.DEPTH_BUFFER_BIT);return}var k=this.canvasElement;this.nWindowWidth=k.width,this.nWindowHeight=k.height;var m2=this.nWindowWidth,t2=this.nWindowHeight;x.clearColor(.8,.8,1,1),x.clear(x.COLOR_BUFFER_BIT|x.DEPTH_BUFFER_BIT),x.viewport(0,0,m2,t2),this.updateFrameData(N,m,g,v,S);var d2=this.YUVProgram;x.useProgram(d2);var Z=this.vertexPosBuffer;x.bindBuffer(x.ARRAY_BUFFER,Z);var W=x.getAttribLocation(d2,"vertexPos");x.enableVertexAttribArray(W),x.vertexAttribPointer(W,2,x.FLOAT,!1,0,0),x.bindBuffer(x.ARRAY_BUFFER,null);var L2=this.texturePosBuffer;x.bindBuffer(x.ARRAY_BUFFER,L2);var y2=x.getAttribLocation(d2,"texturePos");x.enableVertexAttribArray(y2),x.vertexAttribPointer(y2,2,x.FLOAT,!1,0,0),x.bindBuffer(x.ARRAY_BUFFER,null),x.drawArrays(x.TRIANGLE_STRIP,0,4),x.disableVertexAttribArray(W),x.disableVertexAttribArray(y2),x.useProgram(null)}},U.prototype.updateFrameData=function(N,m,g,v,S){var x=this.contextGL,k=this.yTextureRef,m2=this.uTextureRef,t2=this.vTextureRef,d2=g;if(N==v&&m==S){var Z=N*m,W=d2.subarray(0,Z);x.activeTexture(x.TEXTURE0),x.bindTexture(x.TEXTURE_2D,k),x.texImage2D(x.TEXTURE_2D,0,x.LUMINANCE,N,m,0,x.LUMINANCE,x.UNSIGNED_BYTE,W);var L2=N/2*m/2,y2=d2.subarray(N*m,N*m+L2);x.activeTexture(x.TEXTURE2),x.bindTexture(x.TEXTURE_2D,t2),x.texImage2D(x.TEXTURE_2D,0,x.LUMINANCE,N/2,m/2,0,x.LUMINANCE,x.UNSIGNED_BYTE,y2);var p2=L2,g2=d2.subarray(N*m+N*m/4,N*m+N*m/4+p2);x.activeTexture(x.TEXTURE1),x.bindTexture(x.TEXTURE_2D,m2),x.texImage2D(x.TEXTURE_2D,0,x.LUMINANCE,N/2,m/2,0,x.LUMINANCE,x.UNSIGNED_BYTE,g2)}else{for(var Z=v*S,W=new Uint8Array(Z),O2=0;O2<S;O2++)for(var r2=d2.subarray(O2*N,O2*N+v),A=0;A<v;A++)W[O2*v+A]=r2[A];x.activeTexture(x.TEXTURE0),x.bindTexture(x.TEXTURE_2D,k),x.texImage2D(x.TEXTURE_2D,0,x.LUMINANCE,v,S,0,x.LUMINANCE,x.UNSIGNED_BYTE,W),W=null,r2=null;for(var L2=v/2*S/2,y2=new Uint8Array(L2),O2=0;O2<S/2;O2++)for(var j=d2.subarray(N*m+O2*N/2,N*m+O2*N/2+v/2),A=0;A<v/2;A++)y2[O2*v/2+A]=j[A];x.activeTexture(x.TEXTURE2),x.bindTexture(x.TEXTURE_2D,t2),x.texImage2D(x.TEXTURE_2D,0,x.LUMINANCE,v/2,S/2,0,x.LUMINANCE,x.UNSIGNED_BYTE,y2),y2=null,j=null;for(var p2=L2,g2=new Uint8Array(p2),O2=0;O2<S/2;O2++)for(var H=d2.subarray(N*m*5/4+O2*N/2,N*m*5/4+O2*N/2+v/2),A=0;A<v/2;A++)g2[O2*v/2+A]=H[A];x.activeTexture(x.TEXTURE1),x.bindTexture(x.TEXTURE_2D,m2),x.texImage2D(x.TEXTURE_2D,0,x.LUMINANCE,v/2,S/2,0,x.LUMINANCE,x.UNSIGNED_BYTE,g2),g2=null,H=null}},U.prototype.SR_SetDisplayRect=function(N){var m=this.contextGL,g=this.nWindowWidth,v=this.nWindowHeight,S=null;if(N&&g>0&&v>0){var x=N.left/g,k=N.top/v,m2=N.right/g,t2=N.bottom/v;S=new Float32Array([m2,k,x,k,m2,t2,x,t2])}else S=new Float32Array([1,0,0,0,1,1,0,1]);var d2=this.texturePosBuffer;m.bindBuffer(m.ARRAY_BUFFER,d2),m.bufferSubData(m.ARRAY_BUFFER,0,S),m.bindBuffer(m.ARRAY_BUFFER,null)},U.prototype.SR_Destroy=function(){var N=this.contextGL,m=this.YUVProgram;N.deleteProgram(m);var g=this.vertexPosBuffer,v=this.texturePosBuffer;N.deleteBuffer(g),N.deleteBuffer(v);var S=this.yTextureRef,x=this.uTextureRef,k=this.vTextureRef;N.deleteTexture(S),N.deleteTexture(x),N.deleteTexture(k)},U});var fe="https://open.ys7.com",v0="".concat(fe,"/console/ezuikit_static/v66/v2"),G0="".concat(fe,"/console/ezuikit_static/v66/v1"),Le=function(N,m){var g=["theme","standard"],v=["pcLive","pcRec","mobileLive","mobileRec","noData","security","voice","simple"];if(typeof N=="undefined")return m.themeData?{templateType:"themeData",templateId:"themeData"}:{templateType:"local",templateId:""};if(typeof N=="string"){if(N.length===32)return{templateType:"remote",templateId:N};if(g.indexOf(N)!==-1)return N==="simple"&&typeof m.header=="undefined"&&typeof m.footer=="undefined"?{templateType:"local",templateId:""}:{templateType:"iframe",templateId:N};if(v.indexOf(N)!==-1)return{templateType:"local",templateId:N}}},s0=function(){var N=window.navigator.userAgent.toLowerCase(),m={sa:/version.*safari/.test(N),ch:/chrome/.test(N),ff:/gecko/.test(N)&&!/webkit/.test(N)},g=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);if(g)return!1;if(m.ch){var v=function(){for(var x=window.navigator.userAgent.split(" "),k="",m2=0;m2<x.length;m2++)/chrome/i.test(x[m2])&&(k=x[m2]);return k?Number(k.split("/")[1].split(".")[0]):!1};return v()>91&&!!window.SharedArrayBuffer}return!1},on=function(){function U(N){var m=this;i(this,U),this.isStoping=!1;var g=N.autoplay,v=g===void 0?!0:g;if((N.template||N.themeData)&&(v=!1),this.params=N,this.autoplay=v,window.EZUIKit[N.id]={state:{EZUIKitPlayer:{init:window.EZUIKit[N.id]&&window.EZUIKit[N.id].state&&window.EZUIKit[N.id].state.EZUIKitPlayer.init||!1,themeInit:window.EZUIKit[N.id]&&window.EZUIKit[N.id].state&&window.EZUIKit[N.id].state.EZUIKitPlayer.themeInit||!1,talkInit:window.EZUIKit[N.id]&&window.EZUIKit[N.id].state&&window.EZUIKit[N.id].state.EZUIKitPlayer.talkInit||!1}}},Le(this.params.template,N).templateType!=="iframe"){this.Monitor=new vt({env:typeof N.disableMonitor!="undefined"&&N.disableMonitor?"test12":"online"},this),this.id=N.id,this.width=N.width,this.height=N.height,this.url=N.url,this.accessToken=N.accessToken,this.themeId=Le(N.template,N).templateId,this.id=N.id,this.audio=!0,this.poster=N.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 S=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);this.isMobile=S,document.getElementById("".concat(this.id,"-wrap"))&&(document.getElementById("".concat(this.id,"-wrap")).innerHTML="",document.getElementById("".concat(this.id,"-wrap")).id=this.id),this.staticPath=s0()?v0:G0,typeof N.staticPath=="string"&&(N.staticPath.startsWith("http")?this.staticPath=N.staticPath:this.staticPath=window.location.protocol+"//"+window.location.host+N.staticPath,s0()?this.staticPath+="/v2":this.staticPath+="/v1"),typeof N.audio!="undefined"&&(this.audio=N.audio),typeof N.env!="undefined"&&(this.env=Object.assign(this.env,N.env)),typeof N.isMobile!="undefined"&&(this.isMobile=N.isMobile),typeof N.disabledTimeLine!="undefined"&&(this.disabledTimeLine=N.disabledTimeLine),typeof N.disabledPTZ!="undefined"&&(this.disabledPTZ=N.disabledPTZ),typeof N.enableSharedArrayBufferGuide!="undefined"&&(this.enableSharedArrayBufferGuide=N.enableSharedArrayBufferGuide);var x="".concat(this.staticPath,"/js/jsPluginV1-1.0.0.min.js"),k=function(){if(window.addPluginUrlIng=!0,s0())console.log("启用多线程解析视频"),x="".concat(m.staticPath,"/js/jsPluginV2-2.0.1.min.js");else{var d2=function(){for(var g2=navigator.userAgent.split(" "),O2="",r2=0;r2<g2.length;r2++)/chrome/i.test(g2[r2])&&(O2=g2[r2]);return O2?Number(O2.split("/")[1].split(".")[0]):!1};if(!S&&91<d2&&m.enableSharedArrayBufferGuide){console.log("提示用户开启谷歌实验室特性");var Z="".concat(m.id,"-wrap"),W=document.createElement("div"),L2=document.createElement("span");L2.innerHTML="您当前浏览器可以开启谷歌实验室多线程特性,获取更好播放体验,避免浏览器卡顿及崩溃,详见",W.appendChild(L2);var y2=document.createElement("a");y2.href="https://open.ys7.com/help/384",y2.setAttribute("target","_blank"),W.appendChild(y2),y2.innerHTML="开启说明",W.id="".concat(m.id,"-guide"),W.style="font-size:12px;color:red;",setTimeout(function(){document.getElementById(Z)&&document.getElementById(Z).insertBefore(W,document.getElementById(m.id))},5e3)}}m.pluginStatus=new o3(m,m.id),l(x,function(){if(m.autoplay){m.initTime=new Date().getTime(),m.Monitor.dclog({url:m.url,action:0,text:"startInit",isVersion2Available:s0()?1:0}),m.Monitor.localInfoLog({Serial:V(m.url).deviceSerial,Channel:V(m.url).channelNo,Ver:s0()?"v7.0.0":"v6.0.0",ExterVer:s0()?"v7.0.0":"v6.0.0"}),console.log("初始化-");var p2=m.initEZUIKitPlayer(N),g2=m._getRealUrlPromise(N.accessToken,N.url);Promise.all([p2,g2]).then(function(O2){O2[1]?(m.playStartTime=new Date().getTime(),m._pluginPlay(O2[1],function(){console.log("自动播放成功"),m.Monitor.dclog({url:m.url,action:202,d:new Date().getTime()-m.initTime,text:"autoPlaySuccess"})},function(){console.log("自动播放失败"),m.Monitor.dclog({url:m.url,action:402,d:new Date().getTime()-m.initTime,text:"autoPlayError"})})):console.log("promise of one",O2),window.EZUIKit[N.id].state.EZUIKitPlayer.init=!0,document.getElementById("".concat(N.id,"canvas_draw0"))&&(document.getElementById("".concat(N.id,"canvas_draw0")).style.border="none")}).catch(function(O2){console.log("err",O2),m.Theme&&m.Theme.setDisabled(!0),m.pluginStatus.loadingClear(),m.pluginStatus.loadingSetText({text:O2&&O2.msg||"获取播放地址失败",color:"red"})})}else{m.initTime=new Date().getTime(),m.Monitor.dclog({url:m.url,action:0,text:"startInit",isVersion2Available:s0()?1:0}),m.Monitor.localInfoLog({Serial:V(m.url).deviceSerial,Channel:V(m.url).channelNo,Ver:s0()?"v7.0.0":"v6.0.0"});var p2=m.initEZUIKitPlayer(N);p2.then(function(r2){console.log("初始化成功",r2),window.EZUIKit[N.id].state.EZUIKitPlayer.init=!0,document.getElementById("".concat(N.id,"canvas_draw0"))&&(document.getElementById("".concat(N.id,"canvas_draw0")).style.border="none"),m.initSuccessTime=new Date().getTime(),m.Monitor.dclog({url:m.url,action:201,d:m.initSuccessTime-m.initTime,text:"initSuccess",isVersion2Available:s0()?1:0})})}},function(){return s0()?!!window.JSPluginV2||!!window.addPluginUrled:!!window.JSPluginV1||!!window.addPluginUrled}),N.plugin&&N.plugin.indexOf("talk")!==-1&&(m.Talk=new H2(m),window.EZUIKit[N.id].state.EZUIKitPlayer.talkInit=!0),m.getDeviceCapacity()};if(window.addPluginUrlIng)var m2=setInterval(function(){(window.JSPluginV1||window.JSPluginV2)&&(clearInterval(m2),k())},50);else k()}else return new re.EZUIKitPlayer(N);this.play=A0(function(t2){return m._play(t2)},500,!0),this.resume=A0(function(t2){return m._resume(t2)},500,!0),this.changePlayUrl=A0(function(t2,d2){return m._changePlayUrl(t2,d2)},500),window.addEventListener("beforeunload",function(){console.log("退出页面,停止视频流"),m.stop()})}return a(U,[{key:"initEZUIKitPlayer",value:function(m){var g=this,v=m.id,S=m.width,x=S===void 0?600:S,k=m.height,m2=k===void 0?400:k;if(!m.width||!m.height){var t2=document.getElementById(v).getBoundingClientRect();!m.width&&t2.width>0&&(x=t2.width),!m.height&&t2.height>0&&(m2=t2.height)}if(!document.getElementById("".concat(v,"-wrap"))){var d2=document.createElement("div");d2.id="".concat(v,"-wrap"),d2.style="display:inline-block;width:".concat(x,"px;position:relative;vertical-align: bottom;"),document.getElementById(v).parentNode.insertBefore(d2,document.getElementById(v)),document.getElementById(v).parentNode.removeChild(document.getElementById(v)),d2.innerHTML="<div id=".concat(v,"></div>"),document.getElementById(v).style="display:inline-block;width:".concat(x,"px;height:").concat(m2,"px;"),document.getElementById(v).style.verticalAlign="top"}this.themeId&&(this.Theme=new Pe(this,m.id),window.EZUIKit[m.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 Z=new r3(this,v);this.Message=Z;var W=function(p2,g2){var O2;if(s0()){O2=new window.JSPluginV2({szId:v,iType:2,iWidth:x,iHeight:m2,iMaxSplit:1,iCurrentSplit:1,szBasePath:"",staticPath:g.staticPath,oStyle:{border:"none",background:"#000000"}}),g.pluginStatus.loadingStart(v),g.pluginStatus.loadingSetText({text:"初始化播放器完成"}),O2.EventCallback={pluginErrorHandler:function(j,H,x2){if(console.log(j,H,x2),H===1003)console.log("断流"),g.Theme.setDecoderState({play:!1}),g.pluginStatus.setPlayStatus({play:!1}),O2.bPlay||(g.pluginStatus.loadingClear(),g.pluginStatus.loadingSetText({text:"连接断开,请重试",color:"red"})),typeof g.params.handleError=="function"&&g.params.handleError({msg:"连接断开,请重试",retcode:1003,id:g.params.id,type:"handleError"});else if(x2.errorCode!=1){var R2=g.errorHander.matchErrorInfo(x2.errorCode),G="连接断开,请重试";R2&&R2.msg?G=R2.msg:R2&&R2.description&&(G=R2.description),g.Theme.setDecoderState({play:!1}),g.pluginStatus.setPlayStatus({play:!1}),g.pluginStatus.loadingClear(),g.pluginStatus.loadingSetText({text:G,color:"red"})}else g.pluginStatus.loadingClear(),g.Theme&&g.Theme.setDisabled(!1)},openStreamCallback:function(){console.log("开启取流"),g.openStreamTime=new Date().getTime(),g.Monitor.dclog({url:g.url,action:224,d:g.openStreamTime-g.gotWsUrlTime,text:"openStream",isVersion2Available:s0()?1:0})},getStreamHeaderCallback:function(){console.log("完成取流返回流头"),g.getStreamHeaderTime=new Date().getTime(),g.Monitor.dclog({url:g.url,action:225,d:g.getStreamHeaderTime-g.openStreamTime,text:"getStreamHeader",isVersion2Available:s0()?1:0})},getVideoStreamCallback:function(){console.log("返回视频流(首次)"),g.getVideoStreamTime=new Date().getTime(),g.Monitor.dclog({url:g.url,action:226,d:g.getVideoStreamTime-g.getStreamHeaderTime,text:"getVideoStream",isVersion2Available:s0()?1:0})},appearFirstFrameCallback:function(){console.log("出现首帧画面(播放成功)"),g.appearFirstFrameTime=new Date().getTime(),g.Monitor.dclog({url:g.url,action:227,d:g.appearFirstFrameTime-g.getStreamHeaderTime,text:"appearFirstFrame",isVersion2Available:s0()?1:0})},averageStreamSuccessCallback:function(){console.log("平均成功取流的出流耗时"),g.averageStreamSuccessTime=g.initSuccessTime-g.initTime+(g.gotWsUrlTime-g.startGetWsUrlTime)+(g.appearFirstFrameTime-g.openStreamTime),g.Monitor.dclog({url:g.url,action:228,d:g.averageStreamSuccessTime,text:"averageStreamSuccess",isVersion2Available:s0()?1:0})}},g.env={domain:"https://open.ys7.com"},typeof m.env!="undefined"&&(g.env=Object.assign(g.env,m.env)),typeof m.handleTalkSuccess!="undefined"&&(g.handleTalkSuccess=m.handleTalkSuccess),typeof m.handleTalkError!="undefined"&&(g.handleTalkError=m.handleTalkError),g.errorHander=new M3,g.jSPlugin=O2;var r2=setInterval(function(){window.JSPlayerModuleLoaded&&(clearInterval(r2),typeof g.params.handleInitSuccess=="function"&&g.params.handleInitSuccess({retcode:0,id:g.params.id,type:"handleInitSuccess"}),p2({meta:{retcode:200,msg:"初始化成功"}}),m.url.indexOf("rec")!=-1&&g.Theme.changeTheme(g.isMobile?"mobileRec":"pcRec"))},50)}else O2=new window.JSPluginV1({szId:v,iType:2,iWidth:x,iHeight:m2,iMaxSplit:1,iCurrentSplit:1,szBasePath:"",staticPath:g.staticPath,oStyle:{border:"none",background:"#000000"}}),g.pluginStatus.loadingStart(v),g.pluginStatus.loadingSetText({text:"初始化播放器完成"}),O2.EventCallback={openStreamCallback:function(){console.log("开启取流---v1"),g.openStreamTime=new Date().getTime(),g.Monitor.dclog({url:g.url,action:224,d:g.openStreamTime-g.gotWsUrlTime,text:"openStream",isVersion2Available:s0()?1:0})},getStreamHeaderCallback:function(){console.log("完成取流返回流头"),g.getStreamHeaderTime=new Date().getTime(),g.Monitor.dclog({url:g.url,action:225,d:g.getStreamHeaderTime-g.openStreamTime,text:"getStreamHeader",isVersion2Available:s0()?1:0})},getVideoStreamCallback:function(){console.log("返回视频流(首次)"),g.getVideoStreamTime=new Date().getTime(),g.Monitor.dclog({url:g.url,action:226,d:g.getVideoStreamTime-g.getStreamHeaderTime,text:"getVideoStream",isVersion2Available:s0()?1:0})},appearFirstFrameCallback:function(){console.log("出现首帧画面(播放成功)"),g.appearFirstFrameTime=new Date().getTime(),g.Monitor.dclog({url:g.url,action:227,d:g.appearFirstFrameTime-g.getStreamHeaderTime,text:"appearFirstFrame",isVersion2Available:s0()?1:0})},averageStreamSuccessCallback:function(){console.log("平均成功取流的出流耗时"),g.averageStreamSuccessTime=g.initSuccessTime-g.initTime+(g.gotWsUrlTime-g.startGetWsUrlTime)+(g.appearFirstFrameTime-g.openStreamTime),g.Monitor.dclog({url:g.url,action:228,d:g.averageStreamSuccessTime,text:"averageStreamSuccess",isVersion2Available:s0()?1:0})},loadEventHandler:function(){},zoomEventResponse:function(){},windowEventSelect:function(j){},pluginErrorHandler:function(j,H,x2){if(console.log(j,H,x2),H===1003)console.log("断流"),g.Theme.setDecoderState({play:!1}),g.pluginStatus.setPlayStatus({play:!1}),O2.bPlay||(g.pluginStatus.loadingClear(),g.pluginStatus.loadingSetText({text:"连接断开,请重试",color:"red"})),typeof g.params.handleError=="function"&&g.params.handleError({msg:"连接断开,请重试",retcode:1003,id:g.params.id,type:"handleError"});else if(x2.errorCode!=1){var R2=g.errorHander.matchErrorInfo(x2.errorCode),G="连接断开,请重试";R2&&R2.msg?G=R2.msg:R2&&R2.description&&(G=R2.description),g.Theme.setDecoderState({play:!1}),g.pluginStatus.setPlayStatus({play:!1}),g.pluginStatus.loadingClear(),g.pluginStatus.loadingSetText({text:G,color:"red"})}else g.pluginStatus.loadingClear(),g.Theme&&g.Theme.setDisabled(!1)},windowEventOver:function(j){},windowEventOut:function(j){},windowEventUp:function(j){},windowFullCcreenChange:function(j){},firstFrameDisplay:function(j,H,x2){console.log(H,x2),O2.JS_SetCanFullScreen(!1)},performanceLack:function(){},mouseEvent:function(j,H,x2){}},g.env={domain:"https://open.ys7.com"},typeof m.env!="undefined"&&(g.env=Object.assign(g.env,m.env)),typeof m.handleTalkSuccess!="undefined"&&(g.handleTalkSuccess=m.handleTalkSuccess),typeof m.handleTalkError!="undefined"&&(g.handleTalkError=m.handleTalkError),g.errorHander=new M3,g.jSPlugin=O2,typeof g.params.handleInitSuccess=="function"&&g.params.handleInitSuccess({retcode:0,id:g.params.id,type:"handleInitSuccess"}),p2({meta:{retcode:200,msg:"初始化成功"}}),m.url.indexOf("rec")!=-1&&g.Theme.changeTheme(g.isMobile?"mobileRec":"pcRec")},L2=new Promise(W);return L2}},{key:"_getRealUrlPromise",value:function(m,g){var v=this;console.log("获取播放地址 url => ".concat(g," ").concat(this.accessToken)),console.log("开始获取wsurl"),this.startGetWsUrlTime=new Date().getTime(),this.Monitor.dclog({url:this.url,action:222,text:"startGetWsUrl",isVersion2Available:s0()?1:0});var S=this.env.domain;this.env&&(S=this.env.domain);var x=function(d2,Z){var W="",L2=S+"/api/lapp/live/url/ezopen",y2=new FormData;y2.append("ezopen",g),y2.append("isFlv",!1),y2.append("userAgent",window.navigator.userAgent),y2.append("isHttp",!1),y2.append("accessToken",m),fetch(L2,{method:"POST",body:y2}).then(function(p2){return p2.json()}).then(function(p2){if(p2.code==200||p2.retcode==0){var g2="",O2="";p2.ext&&p2.ext.token?(W+=p2.data,O2=p2.ext.token,g2=p2.data):p2.data&&p2.data.token&&(W+=p2.data.url,O2=p2.data.token,g2=p2.data.url);var r2=g.indexOf("live")!==-1?"live":"playback";r2==="live"?W=W+"&ssn="+O2+"&auth=1&biz=4&cln=100":W=W+"&ssn="+O2+"&auth=1&cln=100",console.log(W);var A=f("checkCode",W);if(A&&(typeof v.jSPlugin.decoderVersion!="undefined"&&v.jSPlugin.decoderVersion==="2.0"?v.validateCode=A:(console.log("设置密钥",A),v.jSPlugin.JS_SetSecretKey(0,A))),W.indexOf("playback")!==-1){var j=f("begin",g2)||f("begin",g),H=f("end",g2)||f("end",g);if(j)W=W.replace("&begin="+f("begin",g2),"&begin="+k(j,"000000")),f("begin",W)||(W+="&begin="+k(j,"000000"));else{var x2=new Date;W=W+"&begin="+x2.Format("yyyyMMdd")+"T000000Z"}if(H?(W=W.replace("&end="+f("end",g2),"&end="+k(H,"235959")),f("end",W)||(W+="&end="+k(H,"235959"))):W=W+"&end="+k(f("begin",W).substr(0,8),"235959"),f("stream",g2)||(W=W.replace("stream","&stream")),g.indexOf(".cloud")!==-1){var R2=function(V3){if(V3.code==200){var z3=[];if(V3.data&&V3.data.files&&V3.data.files.length>0){var o1=V3.data.files,T1=new Date().getTime(),E2=V3.data.isAll;if(E2){z3=s2(o1);var c3=JSON.stringify(z3).replace("\\","");W+="&recSlice="+c3.replace("\\","")+"&r="+Math.random(),d2(W)}else{var S3=function v3(){function _1(E1){if(E1.data&&E1.data.files&&E1.data.files.length>0)if(E1.data.isAll==!1)E1.data.files&&(o1=o1.concat(E1.data.files)),T1=E1.data.nextFileTime>0?E1.data.nextFileTime:new Date().getTime(),v3();else{z3=s2(o1);var L1=JSON.stringify(z3).replace("\\","");W+="&recSlice="+L1.replace("\\","")+"&r="+Math.random(),d2(W)}else{z3=s2(o1);var L1=JSON.stringify(z3).replace("\\","");W+="&recSlice="+L1.replace("\\","")+"&r="+Math.random(),d2(W)}}U2.startTime=T1,X(B2,"POST",U2,"",_1)};S3()}}else Z({retcode:-1,msg:"未找到录像片段"})}else Z({retcode:-1,msg:"未找到录像片段"});function s2(v3){var _1=[];return v3.forEach(function(E1,L1){_1.length==0||E1.downloadPath!==_1[_1.length-1].downloadPath?_1.push({downloadPath:E1.downloadPath,ownerId:E1.ownerId,iStorageVersion:E1.iStorageVersion,videoType:E1.videoType,iPlaySpeed:0,startTime:E1.startTime,endTime:E1.endTime}):_1[_1.length-1].endTime=E1.endTime}),_1}},G=m2(f("begin",W)),b=m2(f("end",W)),R=f("serial",W),h2=f("chn",W),B2=S+"/api/lapp/video/by/time",U2={accessToken:v.accessToken,recType:1,deviceSerial:R,channelNo:h2,startTime:G,endTime:b,version:"2.0"};X(B2,"POST",U2,"",R2)}else if(g.indexOf("alarmId")!==-1){var g3=function(S3){if(S3.code==200){var s2=[];if(S3.data){s2=_1([S3.data]);var v3=JSON.stringify(s2).replace("\\","");W+="&recSlice="+v3.replace("\\",""),console.log("realUrl",W,S3.data.recType),S3.data.recType==1?W=W.replace("/playback","/cloudplayback"):W=W.replace("/cloudplayback","/playback"),d2(W)}}function _1(E1){var L1=[];return E1.forEach(function(M1,Bt){L1.length==0||M1.downloadPath!==L1[L1.length-1].downloadPath?L1.push({downloadPath:M1.downloadPath,ownerId:M1.ownerId,iStorageVersion:M1.iStorageVersion,videoType:M1.videoType,iPlaySpeed:0,startTime:M1.startTime,endTime:M1.endTime}):L1[L1.length-1].endTime=M1.endTime}),console.log("downloadPathArr",L1),L1}};console.log("进入alarmId回放");var P3=f("alarmId",W),G=m2(f("begin",W)),b=m2(f("end",W)),R=f("serial",W),h2=f("chn",W),B2=S+"/api/lapp/video/by/id",U2={accessToken:v.accessToken,deviceSerial:R,channelNo:h2,alarmId:P3};X(B2,"POST",U2,"",g3)}else d2(W)}else d2(W)}else v.Theme&&v.Theme.setDisabled(!0),v.pluginStatus.loadingClear(),v.pluginStatus.loadingSetText({text:p2.msg,color:"red"}),typeof v.params.handleError=="function"&&v.params.handleError({retcode:p2.code,msg:p2.msg,id:v.params.id,type:"handleError"}),Z(p2)})};return new Promise(function(t2,d2){return x(t2,d2)});function k(t2,d2){var Z=/^[0-9]{8}T[0-9]{6}Z$/;if(Z.test(t2))return t2;if(/[0-9]{8,14}/.test(t2)){var W=6-(14-t2.length),L2=d2.length,y2=t2+d2.substring(W,L2);return y2.slice(0,8)+"T"+y2.slice(8)+"Z"}throw new Error("回放时间格式有误,请确认")}function m2(t2){var d2=t2.slice(0,4),Z=t2.slice(4,6),W=t2.slice(6,8),L2=t2.slice(9,11),y2=t2.slice(11,13),p2=t2.slice(13,15),g2=d2+"-"+Z+"-"+W+" "+L2+":"+y2+":"+p2;return new Date(g2.replace(/-/g,"/")).getTime()}}},{key:"_pluginPlay",value:function(m,g,v){var S=this;if(console.log("执行播放 _pluginPlay",m),!m)return!1;function x(d2){var Z=d2.split("?")[0].replace("/live","").replace("/playback",""),W=(d2.indexOf("/live")===-1?d2.indexOf("cloudplayback")!==-1?"/cloudplayback?":"/playback?":"/live?")+d2.split("?")[1];return W.indexOf("/playback")!==-1&&(W=W.replace("stream=2","stream=1")),{websocketConnectUrl:Z,websocketStreamingParam:W}}var k=x(m).websocketConnectUrl;this.env&&this.env.wsUrl&&(k=this.env.wsUrl),this.gotWsUrlTime=new Date().getTime(),this.Monitor.dclog({url:this.url,action:223,d:this.gotWsUrlTime-this.startGetWsUrlTime,text:"getWsUrlSuccess",isVersion2Available:s0()?1:0});var m2={playURL:x(m).websocketStreamingParam};console.log("播放前 stop 阶段 结束"),this.isStoping=!1;var t2=Date.now();console.log("执行播放 ... this.jSPlugin.JS_Play at ",t2),this.jSPlugin.JS_Play(k,m2,0).then(function(){if(console.log("执行播放 ... this.jSPlugin.JS_Play 播放成功",k,m2),console.log("执行播放耗时 ",Date.now()-t2),S.isStoping){console.log("现在在播放前 stop 阶段,此次应为无效播放成功触发。不执行后续回调, 此次耗时无效");return}if(S.validateCode&&typeof S.jSPlugin.decoderVersion!="undefined"&&S.jSPlugin.decoderVersion==="2.0"&&S.jSPlugin.JS_SetSecretKey(0,S.validateCode),S.pluginStatus.loadingClear(),S.pluginStatus.setPlayStatus({play:!0,loading:!1}),S.Theme){S.Theme.setDecoderState({play:!0});var d2=V2.findIndex(S.Theme.themeData.footer.btnList,function(Z){return Z.iconId==="sound"&&Z.isrender===1&&Z.defaultActive===1})>-1;S.audio=d2}S.audio&&setTimeout(function(){S.openSound()},500),typeof S.params.handleSuccess=="function"&&S.params.handleSuccess({retcode:0,id:S.params.id,type:"handleSuccess"}),g(m2),S.Monitor.dclog({url:S.url,action:211,d:new Date().getTime()-S.playStartTime,text:"startPlaySuccess"}),S.Monitor.playLog({Enc:S.url.indexOf("@")===-1?0:1,PlTp:S.url.indexOf("back")===-1?1:2,Via:2,ErrCd:0,Cost:new Date().getTime()-S.playStartTime,Serial:V(S.url).deviceSerial,Channel:V(S.url).channelNo,Ver:s0()?"v7.0.0":"v6.0.0"})},function(d2){console.log("err",d2);var Z="播放失败,请检查设备及客户端网络",W=-1;if(S.jSPlugin.bPlay)return!1;if(d2&&d2.errorCode){var L2=S.errorHander.matchErrorInfo(d2.errorCode);S.Theme&&S.Theme.setDisabled(!0),L2&&L2.msg?Z=L2.msg:L2&&L2.description?Z=L2.description:Z="播放失败,请检查设备及客户端网络",W=d2.errorCode}S.pluginStatus.loadingClear(),S.pluginStatus.loadingSetText({text:Z,color:"red"}),typeof S.params.handleError=="function"&&S.params.handleError({retcode:W,msg:Z,id:S.params.id,type:"handleError"}),v(),S.Monitor.dclog({url:S.url,action:411,d:new Date().getTime()-S.playStartTime,text:"startPlayError"}),S.Monitor.playLog({Enc:S.url.indexOf("@")===-1?0:1,PlTp:S.url.indexOf("back")===-1?1:2,Via:2,ErrCd:W,Cost:-1,Serial:V(S.url).deviceSerial,Channel:V(S.url).channelNo,Ver:s0()?"v7.0.0":"v6.0.0"})})}},{key:"_play",value:function(m){var g=this;console.log("执行播放 play options.url =>",m),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"}),m&&(typeof m=="string"&&(this.url=m),typeof m.url=="string"&&(this.url=m.url),typeof m.accessToken=="string"&&(this.accessToken=m.accessToken),this.Theme&&(typeof m.url=="string"||typeof m.accessToken=="string")&&this.Theme.getDeviceInfo());var v=new Promise(function(S,x){console.log("执行 播放前 stop"),g.isStoping=!0,g.jSPlugin.JS_Stop(0).then(function(){console.log("播放前 stop 执行成功 this.url => ".concat(g.url," ").concat(g.accessToken)),g._getRealUrlPromise(g.accessToken,g.url).then(function(k){g._pluginPlay(k,function(m2){S(!0)},function(){return x(!1)})}).catch(function(k){var m2=k.msg?k.msg:"播放失败,请检查设备及客户端网络";g.Theme&&g.Theme.setDisabled(!0),g.pluginStatus.loadingClear(),g.pluginStatus.loadingSetText({text:m2,color:"red"}),typeof g.params.handleError=="function"&&g.params.handleError({retcode:k.oError?k.oError.errorCode:-1,msg:m2,id:g.params.id,type:"handleError"}),x({retcode:k.oError?k.oError.errorCode:-1,msg:m2,id:g.params.id,type:"handleError"})})})});return v}},{key:"stop",value:function(){var m=this;return this.pluginStatus.setPlayStatus({loading:!0}),this.reSetTheme(),this.jSPlugin.JS_Stop(0).then(function(){console.log("停止成功"),m.pluginStatus.setPlayStatus({play:!1,loading:!1}),m.Theme&&m.Theme.setDecoderState({play:!1})})}},{key:"changeVideoLevel",value:function(m){var g=this,v=this.url,S=m?v.replace(".live",".hd.live"):v.replace(".hd.live",".live");this.jSPlugin.playURL=m?this.jSPlugin.playURL.replace("stream=2","stream=1"):this.jSPlugin.playURL.replace("stream=1","stream=2"),console.log("changeVideoLevel",S,this.jSPlugin.playURL),this.url=S;var x=new Promise(function(k,m2){g.pause().then(function(){console.log("暂停成功"),g.resume().then(function(t2){console.log("恢复成功")})}).catch(function(){console.log("暂停失败"),g.resume().then(function(t2){console.log("恢复成功")})})});return x}},{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(m){var g=this,v=arguments.length>1&&arguments[1]!==void 0?arguments[1]:function(){};console.log("_changePlayUrl"),console.log(m),this.reSetTheme(),this.getDeviceCapacity({accessToken:m.accessToken,deviceSerial:m.deviceSerial});var S=this.url,x=m2(S,m);m.accessToken&&(this.accessToken=m.accessToken),this.url=x,v(),this.pluginStatus.loadingStart(this.id),this.pluginStatus.loadingSetText({text:"加载中,请稍后"});var k=new Promise(function(t2,d2){var Z={url:x};return m.accessToken&&(Z.accessToken=m.accessToken),console.log("切换播放地址 参数 ",Z),g.play(Z).then(function(){console.log("切换播放地址 play 执行成功 ",g.url,g.accessToken),g.Theme&&g.Theme.decoderState.state.webExpend&&g.Theme.webExpend(),g.Theme&&g.Theme.decoderState.state.expend&&g.Theme.expend(),m.type?m.type=="rec"||m.type=="cloud.rec"?g.Theme.changeTheme(g.isMobile?"mobileRec":"pcRec"):g.Theme.changeTheme(g.isMobile?"mobileLive":"pcLive"):g.url.indexOf(".rec")>-1?g.Theme.changeTheme(g.isMobile?"mobileRec":"pcRec"):g.Theme.changeTheme(g.isMobile?"mobileLive":"pcLive"),m&&m.begin&&m.deviceSerial&&g.Theme.Rec.setDatepickerDate(m.begin),g.Theme.setDisabled(!1),t2(x)}).catch(function(W){d2(x),W&&W.msg&&(g.Theme&&g.Theme.setDisabled(!0),g.pluginStatus.loadingClear(),g.pluginStatus.loadingSetText({text:W.msg,color:"red"}))})});function m2(t2,d2){if(d2.url)return d2.url;console.log("--------------matchInitUrl",t2);var Z=t2.split("/")[4].split(".")[t2.split("/")[4].split(".").length-1].split("?")[0];Z==="rec"&&t2.indexOf(".cloud.rec")!==-1&&(Z="cloud.rec"),d2.type&&(Z=d2.type);var W=t2.split("/")[3];d2.deviceSerial&&(W=d2.deviceSerial);var L2=t2.split("/")[4].split(".")[0];d2.channelNo&&(L2=d2.channelNo);var y2=t2.split("/")[2].split("@").length===2?t2.split("/")[2].split("@")[0]:"";typeof d2.validCode!="undefined"&&(y2=d2.validCode);var p2=typeof d2.hd=="undefined"?t2.indexOf(".hd")!==-1:d2.hd,g2="ezopen://".concat(y2?"".concat(y2,"@"):"","open.ys7.com/").concat(W,"/").concat(L2).concat(p2?".hd":"",".").concat(Z);return Z==="live"||(g2="ezopen://".concat(y2?"".concat(y2,"@"):"","open.ys7.com/").concat(W,"/").concat(L2,".").concat(Z),d2.begin&&d2.end?g2+="?begin=".concat(d2.begin,"&end=").concat(d2.end):d2.begin?g2+="?begin=".concat(d2.begin):f("begin",t2)&&(g2+="?begin=".concat(f("begin",t2)))),g2}return k}},{key:"getOSDTime",value:function(){var m=this,g=new Promise(function(v,S){m.jSPlugin.JS_GetOSDTime(0).then(function(x){v({code:0,retcode:0,data:x}),typeof m.params.getOSDTimeCallBack=="function"&&m.params.getOSDTimeCallBack({id:m.id,type:"getOSDTime",code:0,data:x})}).catch(function(x){S({code:-1,retcode:-1,data:x}),typeof m.params.getOSDTimeCallBack=="function"&&m.params.getOSDTimeCallBack({id:m.id,type:"getOSDTime",code:-1,data:-1})})});return g}},{key:"capturePicture",value:function(m){var g=this,v=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,S=this.jSPlugin.JS_CapturePicture(0,m,"JPEG",v,!!v);return d(S)?(typeof this.params.capturePictureCallBack=="function"&&S.then(function(){g.params.capturePictureCallBack({id:g.id,type:"capturePicture",code:0})}).catch(function(){g.params.capturePictureCallBack({id:g.id,type:"capturePicture",code:-1})}),S):new Promise(function(x){x(S)})}},{key:"startSave",value:function(m){var g=this,v=this.jSPlugin.JS_StartSave(0,m);return d(v)?(typeof this.params.startSaveCallBack=="function"&&v.then(function(){g.params.startSaveCallBack({id:g.id,type:"startSave",code:0})}).catch(function(){g.params.startSaveCallBack({id:g.id,type:"startSave",code:-1})}),v):(this.Theme&&this.Theme.setDecoderState({recordvideo:!0}),new Promise(function(S){S(v)}))}},{key:"stopSave",value:function(){var m=this,g=this.jSPlugin.JS_StopSave(0);return d(g)?(typeof this.params.startSaveCallBack=="function"&&g.then(function(){m.params.stopSaveCallBack({id:m.id,type:"stopSave",code:0})}).catch(function(){m.params.stopSaveCallBack({id:m.id,type:"stopSave",code:-1})}),g):(this.Theme&&this.Theme.setDecoderState({recordvideo:!1}),new Promise(function(v){v(g)}))}},{key:"openSound",value:function(){var m=this.jSPlugin.JS_OpenSound(0);return console.log("打开声音",m),d(m)?m:(this.Theme&&this.Theme.setDecoderState({sound:!0}),typeof this.params.openSoundCallBack=="function"&&this.params.openSoundCallBack({id:this.id,type:"openSound",code:m}),new Promise(function(g){g(m)}))}},{key:"closeSound",value:function(){var m=this.jSPlugin.JS_CloseSound(0);return d(m)?m:(this.Theme&&this.Theme.setDecoderState({sound:!1}),typeof this.params.closeSoundCallBack=="function"&&this.params.closeSoundCallBack({id:this.id,type:"closeSound",code:m}),new Promise(function(g){g(m)}))}},{key:"enableZoom",value:function(){var m=this.jSPlugin.JS_EnableZoom(0);return d(m)?m:new Promise(function(g){g(m)})}},{key:"closeZoom",value:function(){var m=this.jSPlugin.JS_DisableZoom(0);return d(m)?m:new Promise(function(g){g(m)})}},{key:"setPoster",value:function(m){s0()?document.getElementById("".concat(this.id))&&(document.getElementById("".concat(this.id)).style.backgroundImage="url(".concat(m,")"),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(m,")"),document.getElementById("".concat(this.id,"canvas0")).style.backgroundSize="cover")}},{key:"reSize",value:function(m,g){var v=0,S=0;if(this.params.height=g,this.params.width=m,this.Theme&&this.Theme.isNeedRenderHeader&&document.getElementById("".concat(this.id,"-headControl"))&&(v=parseInt(document.getElementById("".concat(this.id,"-headControl")).style.height,10)),this.Theme&&this.Theme.isNeedRenderTimeLine&&!this.isMobile&&(S=48),g=g-v-S,this.width=m,this.height=g,document.getElementById("".concat(this.id,"-wrap")).style="width:".concat(m,"px;position:relative;display:inline-block;vertical-align: bottom;"),document.getElementById("".concat(this.id)).style.width=m+"px",document.getElementById("".concat(this.id)).style.height=g+"px",this.jSPlugin&&this.jSPlugin.bPlay)this.jSPlugin&&(this.jSPlugin.iHeight=g,this.jSPlugin.iWidth=m),this.jSPlugin.JS_Resize(m,g);else{document.getElementById("".concat(this.id,"-player"))&&(document.getElementById("".concat(this.id,"-player")).width=m,document.getElementById("".concat(this.id,"-player")).height=g,document.getElementById("".concat(this.id,"-player")).style.width=m+"px",document.getElementById("".concat(this.id,"-player")).style.height=g+"px");var x=1;if(document.getElementById("".concat(this.id,"canvas0"))){var k=navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i);k&&(x=2),document.getElementById("".concat(this.id,"canvas0")).style.width=m*x+"px",document.getElementById("".concat(this.id,"canvas0")).style.height=g*x+"px",document.getElementById("".concat(this.id,"canvas0")).width=m*x,document.getElementById("".concat(this.id,"canvas0")).height=g*x,document.getElementById("".concat(this.id,"canvas0")).parentNode.style.width=m*x+"px",document.getElementById("".concat(this.id,"canvas0")).parentNode.style.height=g*x+"px",document.getElementById("".concat(this.id,"canvas_draw0")).height=g*x}this.jSPlugin&&(this.jSPlugin.iHeight=g*x,this.jSPlugin.iWidth=m*x)}}},{key:"fast",value:function(m){var g=this,v=this.speed;if(m)var S=this.jSPlugin.JS_Fast(0,m);else{if(v===1)v=2;else if(v===2)v=4;else return typeof this.params.handleError=="function"&&this.params.handleError({msg:"播放速度最大为4倍速度",retcode:1003,id:this.id,type:"handleError"}),new Promise(function(k,m2){g.speed=v,m2({code:-1,data:{speed:v,result:"播放速度最大为4倍速度"}})});var S=this.jSPlugin.JS_Fast(0)}return new Promise(function(x){g.speed=v,x({code:0,data:{speed:v,result:S}})})}},{key:"slow",value:function(){var m=this,g=this.speed;if(g===4)g=2;else if(g===2)g=1;else return typeof this.params.handleError=="function"&&this.params.handleError({msg:"播放速度最小为1倍速度",retcode:1003,id:this.id,type:"handleError"}),new Promise(function(S,x){m.speed=g,x({code:-1,data:{speed:g,result:"播放速度最小为1倍速度"}})});var v=this.jSPlugin.JS_Slow(0);return new Promise(function(S){m.speed=g,S({code:0,data:{speed:g,result:v}})})}},{key:"seek",value:function(m,g){var v=this.url,S=(f("begin",v)||new Date().Format("yyyyMMdd")).substr(0,8);if(g=x(S,"235959"),m.length===6)m=x(S,m);else if(m.length===16){if(m.substr(0,8)!==S)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 x(m2,t2){var d2=/^[0-9]{8}T[0-9]{6}Z$/;if(d2.test(m2))return m2;if(/[0-9]{8,14}/.test(m2)){var Z=6-(14-m2.length),W=t2.length,L2=m2+t2.substring(Z,W);return L2.slice(0,8)+"T"+L2.slice(8)+"Z"}throw new Error("回放时间格式有误,请确认")}var k=this.jSPlugin.JS_Seek(0,m,g);return console.log("seekRT",k),d(k)?k:new Promise(function(m2){m2(k)})}},{key:"fullScreen",value:function(){var m=this,g=M(document.getElementById("".concat(this.id)));g.then(function(S){console.log("全屏promise",window.screen.availWidth),m.jSPlugin.JS_Resize(window.screen.availWidth,window.screen.availHeight),typeof m.params.fullScreenCallBack=="function"&&m.params.fullScreenCallBack({id:m.id,type:"fullScreen",code:0})});var v=function(){var x=document.fullScreen||document.mozFullScreen||document.webkitIsFullScreen;x||m.jSPlugin.JS_Resize(m.width,m.height),typeof m.params.fullScreenChangeCallBack=="function"&&m.params.fullScreenChangeCallBack({id:m.id,type:"fullScreen",code:x})};["fullscreenchange","webkitfullscreenchange","mozfullscreenchange"].forEach(function(S){window.addEventListener(S,function(x){return v()})})}},{key:"cancelFullScreen",value:function(){var m=this,g=B();g.then(function(v){console.log("取消全屏",v,m.jSPlugin),m.jSPlugin.JS_Resize(m.width,m.height)})}},{key:"startTalk",value:function(){this.Talk.startTalk()}},{key:"stopTalk",value:function(){this.Talk.stopTalk()}},{key:"destroy",value:function(){var m=this.jSPlugin.JS_DestroyWorker(0);return this.Theme&&(this.Theme=null,window.EZUIKit[this.params.id].state.EZUIKitPlayer.themeInit=!1),d(m)?m:new Promise(function(g){g(m)})}},{key:"getDeviceCapacity",value:function(m){var g=this,v=this.env.domain;this.env&&(v=this.env.domain);var S=v+"/api/lapp/device/capacity",x=function(t2){t2.code==200&&t2.data&&(g.capacity=t2.data)},k=m||{accessToken:this.accessToken,deviceSerial:V(this.url).deviceSerial};X(S,"POST",k,"",x)}},{key:"pause",value:function(){var m=this;return new Promise(function(g,v){m.jSPlugin.JS_CloseSound(0),m.jSPlugin.JS_Pause(0,function(S){m.setPoster(S.base64)}).then(function(S){m.Theme&&m.Theme.setDecoderState({play:!1}),g()}).catch(function(S){console.log(S),v(S)})})}},{key:"_resume",value:function(m){var g=this;return new Promise(function(v,S){g.pluginStatus.setPlayStatus({play:!1,loading:!0}),g.jSPlugin.JS_Resume(m).then(function(x){if(setTimeout(function(){g.url.indexOf(".rec")!==-1&&g.speed!=1&&g.jSPlugin.JS_Speed(g.speed)},500),g.Theme){g.Theme.setDecoderState({play:!0,speed:g.speed});var k=g.Theme.decoderState.state.sound;k&&setTimeout(function(){g.openSound()},500)}v(x)}).catch(function(x){console.log("resume err",x),S(x)})})}}]),U}(),Q=null;function Z2(U,N,m,g){return new WebControl({szPluginContainer:U,iServicePortStart:14510,iServicePortEnd:14519,cbConnectSuccess:N,cbConnectError:m,cbConnectClose:g})}function D3(){Q!=null&&(Q.JS_DestroyWnd().then(function(){console.log("JS_DestroyWnd")},function(){}),Q.JS_StopService("window").then(function(){Q.JS_Disconnect().then(function(){console.log("JS_Disconnect")},function(){})}))}function s1(U){U.responseMsg.eventName,console.log(U.responseMsg)}function v1(){Q.JS_SetWindowControlCallback({cbIntegrationCallBack:s1}),Q.JS_StartService("window",{dllPath:"./chain/cloudTransform.dll"}).then(function(){Q.JS_CreateWnd("playWnd",900,500).then(function(){console.log("JS_CreateWnd success")})})}function C1(){console.log("cbConnectError"),Q=null,console.error("确认本地进程是否已安装并开启成功!")}function u0(U){console.log("cbConnectClose"),Q=null}window.onscroll=function(){Q!=null&&Q.JS_Resize(900,500)},window.onresize=function(){Q!=null&&Q.JS_Resize(900,500)},window.onunload=function(){try{Q.JS_HideWnd(),D3()}catch(U){console.error(U)}},window.onpagehide=function(){try{Q.JS_HideWnd()}catch(U){console.error(U)}};var H0=function(){function U(N){var m=this;i(this,U),s(this,"changeModel",function(g,v){var S=m;m.switchVideo=parseInt(g),Q&&Q.JS_RequestInterface({funcName:"ChangeModel",arguments:encodeURI(JSON.stringify({model:g}))}).then(function(x){g==0?S.play({deviceSerial:v.deviceSerial,channelNo:v.channelNo,validateCode:v.validateCode}):S.play({deviceSerial:v.deviceSerial,channelNo:v.channelNo,validateCode:v.validateCode,startTime:v.startTime,endTime:v.endTime})})}),s(this,"init",function(g){var v,S=m;if(!g.appKey||!g.accessToken){S.showTips(!1,"请输入appkey和token");return}typeof g.appKey!="undefined"&&(m.appKey=g.appKey),typeof g.accessToken!="undefined"&&(m.accessToken=g.accessToken),typeof g.platformId!="undefined"&&(m.platformId=g.platformId);var x=(v={layout:+S.layout,userName:"",waterMark:""},s(v,"waterMark","1"),s(v,"iWndType",0),s(v,"intelligenceEnable",1),s(v,"isRecord",1),s(v,"isSetPos",1),s(v,"motionDetectEnable",0),s(v,"playBackAlarmOverlyingEnable",0),s(v,"response",{code:0,message:null,data:{appKey:g.appKey,ezvizToken:g.accessToken,videoLevel:0,logLevel:3,showMainTool:1,showSubTool:1,waterMark:"1",userName:"openteam",platformId:g.platformId}}),v);console.log("初始化入参",x),Q.JS_RequestInterface({funcName:"Init",arguments:encodeURI(JSON.stringify(x))}).then(function(k){console.log(k.responseMsg),S.showTips(!0,"视频初始化成功!")})}),s(this,"play",function(g){var v=m;if(!(!g.deviceSerial||!g.channelNo)){typeof g.deviceSerial!="undefined"&&(m.deviceSerial=g.deviceSerial),typeof g.channelNo!="undefined"&&(m.channelNo=g.channelNo),typeof g.startTime!="undefined"&&g.startTime&&(m.startTime=g.startTime+" 00:00:00"),typeof g.endTime!="undefined"&&g.endTime&&(m.endTime=g.endTime+" 23:59:59"),typeof g.validateCode!="undefined"&&g.validateCode&&(m.validateCode=g.validateCode);var S={response:{code:0,message:null,data:{deviceSerial:g.deviceSerial,channelCode:g.channelNo,channelNo:+g.channelNo,codeIsEncrypt:0,validateCode:g.validateCode,deviceClass:v.deviceClass,deviceType:"10222",channelId:"2222222222",channelName:"channelNameTest",storeName:"storeName",storeId:"storeid",startTime:m.startTime,endTime:m.endTime}}};v.deviceClass==="1"?(S.response.data.channelCode=v.channelNo,S.response.data.platformId=v.platformId):S.response.data.channelNo=+v.channelNo,m.switchVideo===1&&(m.startTime&&(S.response.data.startTime=m.startTime),m.endTime&&(S.response.data.endTime=m.endTime)),console.log("预览/回放入参",S),Q.JS_RequestInterface({funcName:m.switchVideo===0?"StartPreview":"StartPlayback",arguments:encodeURI(JSON.stringify(S))}).then(function(x){console.log(x.responseMsg),v.showTips(!0,"预览/回放成功!")}).catch(function(x){console.log("开始播放:",x)})}}),s(this,"showCBInfo",function(g){m.callbackMessage=m.callbackMessage+JSON.stringify(g)+`
`,console.log(m.callbackMessage)}),s(this,"showTips",function(g,v){}),s(this,"hideVideo",function(){Q.JS_HideWnd()}),s(this,"showVideo",function(){Q.JS_ShowWnd()}),s(this,"GetLayout",function(){var g=null;Q.JS_RequestInterface({funcName:"GetLayout",arguments:encodeURI(JSON.stringify({response:{code:0,message:null,data:g}}))}).then(function(v){console.log(JSON.stringify(v.responseMsg)),console.log(v.responseMsg)})}),s(this,"capturePicture",function(g){var v=null;Q.JS_RequestInterface({funcName:"CaptureJPGEx",arguments:encodeURI(JSON.stringify({response:{code:0,message:null,data:v}}))}).then(function(S){console.log(JSON.stringify(S.responseMsg)),console.log(S.responseMsg)})}),s(this,"stop",function(){var g=arguments.length>0&&arguments[0]!==void 0?arguments[0]:-1;Q.JS_RequestInterface({funcName:"StopPlay",arguments:encodeURI(JSON.stringify({response:{code:0,message:null,data:{wndId:parseInt(g)}}}))}).then(function(v){console.log(JSON.stringify(v.responseMsg)),console.log(v.responseMsg)})}),s(this,"setLayout",function(g){var v=parseInt(g);if(isNaN(v)||v==0||v>=13){console.log("不支持实际布局大于16的窗口数");return}m.layout=v,Q.JS_RequestInterface({funcName:"SetLayout",arguments:encodeURI(JSON.stringify({response:{code:0,message:null,data:{layout:v}}}))}).then(function(S){console.log(JSON.stringify(S.responseMsg)),console.log(S.responseMsg)})}),s(this,"setSoundVolumn",function(){var g=arguments.length>0&&arguments[0]!==void 0?arguments[0]:-1,v=arguments.length>1?arguments[1]:void 0;Q.JS_RequestInterface({funcName:"SoundVolumn",arguments:encodeURI(JSON.stringify({response:{code:0,message:null,data:{wndId:parseInt(g),volumn:parseInt(v)}}}))}).then(function(S){console.log(JSON.stringify(S.responseMsg)),console.log(S.responseMsg)})}),s(this,"testMute",function(){var g=parseInt(prompt("请输入窗口ID"));Q.JS_RequestInterface({funcName:"MuteOnOff",arguments:encodeURI(JSON.stringify({response:{code:0,message:null,data:{wndId:g}}}))}).then(function(v){console.log(JSON.stringify(v.responseMsg)),console.log(v.responseMsg)})}),s(this,"testSelectWnd",function(){var g=parseInt(prompt("请输入窗口ID"));Q.JS_RequestInterface({funcName:"SelectPlayWnd",arguments:encodeURI(JSON.stringify({response:{code:0,message:null,data:{wndId:g}}}))}).then(function(v){console.log(JSON.stringify(v.responseMsg)),console.log(v.responseMsg)})}),s(this,"setVideoLevel",function(g,v){Q.JS_RequestInterface({funcName:"SetVideoLevel",arguments:encodeURI(JSON.stringify({response:{code:0,message:null,data:{wndId:m.switchVideo==1?0:parseInt(g),level:parseInt(v,10)}}}))}).then(function(S){console.log(JSON.stringify(S.responseMsg)),console.log(S.responseMsg)})}),s(this,"startTalk",function(g){Q.JS_RequestInterface({funcName:"StartTalk",arguments:encodeURI(JSON.stringify({response:{code:0,message:null,data:{wndId:parseInt(g)}}}))}).then(function(v){console.log(JSON.stringify(v.responseMsg)),console.log(v.responseMsg)})}),s(this,"stopTalk",function(g){Q.JS_RequestInterface({funcName:"StopTalk",arguments:encodeURI(JSON.stringify({response:{code:0,message:null,data:{wndId:parseInt(g)}}}))}).then(function(v){console.log(JSON.stringify(v.responseMsg)),console.log(v.responseMsg)})}),s(this,"startSave",function(g){Q.JS_RequestInterface({funcName:"StartRecord",arguments:encodeURI(JSON.stringify({response:{code:0,message:null,data:{wndId:parseInt(g)}}}))}).then(function(v){console.log(JSON.stringify(v.responseMsg)),console.log(v.responseMsg)})}),s(this,"stopSave",function(g){Q.JS_RequestInterface({funcName:"StopRecord",arguments:encodeURI(JSON.stringify({response:{code:0,message:null,data:{wndId:parseInt(g)}}}))}).then(function(v){console.log(JSON.stringify(v.responseMsg)),console.log(v.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,Q=Z2("playWnd",v1,C1,u0)}return a(U,[{key:"alarmMsg",value:function(){var m={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(m),Q.JS_RequestInterface({funcName:"TransFunctionResult",arguments:encodeURI(JSON.stringify(m))})}}]),U}();(function(U,N){t(n)==="object"&&t(n.exports)==="object"?n.exports=U.document?N(U,!0):function(m){if(!m.document)throw new Error("EZUIPlayer requires a window with a document");return N(m)}:N(U)})(typeof window!="undefined"?window:void 0,function(U,N){var m={Core:o,HLS:P2,FLV:z2,EZUIKitPlayer:on,EZUIKitHD:H0};return U.EZUIKit=m,m})})(wo,wo.exports);var LR=wo.exports;const hb=NR(LR);function FR(n){let e=null,t=!1,i=!1;function r(){!t||i||(n(),e=requestAnimationFrame(r))}function a(){t||(t=!0,r())}function s(){t&&(t=!1,i=!0,cancelAnimationFrame(e))}function o(){!t&&i&&(t=!0,i=!1,r())}return{start:a,pause:s,resume:o,isActive:()=>t}}class pl{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 DR extends pl{constructor({canvas:e}){super(),this.canvas=e,this.maxPixelRatio=1,this.handleResize=()=>{this.init(),this.emit("resize")},this.init(),window.addEventListener("resize",this.handleResize)}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=Math.min(window.devicePixelRatio||1,this.maxPixelRatio)}destroy(){window.removeEventListener("resize",this.handleResize),this.off("resize")}}class OR extends pl{constructor(){super(),this.start=Date.now(),this.current=this.start,this.elapsed=0,this.delta=16,this.clock=new gk,this.raf=FR(()=>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 fb(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={},s={},o=n[0].morphTargetsRelative,l=new C6;let c=0;for(let d=0;d<n.length;++d){const f=n[d];let p=0;if(t!==(f.index!==null))return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index "+d+". All geometries must have compatible attributes; make sure index attribute exists among all geometries, or in none of them."),null;for(const y in f.attributes){if(!i.has(y))return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index "+d+'. All geometries must have compatible attributes; make sure "'+y+'" attribute exists among all geometries, or in none of them.'),null;a[y]===void 0&&(a[y]=[]),a[y].push(f.attributes[y]),p++}if(p!==i.size)return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index "+d+". Make sure all geometries have the same number of attributes."),null;if(o!==f.morphTargetsRelative)return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index "+d+". .morphTargetsRelative must be consistent throughout all geometries."),null;for(const y in f.morphAttributes){if(!r.has(y))return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index "+d+". .morphAttributes must be consistent throughout all geometries."),null;s[y]===void 0&&(s[y]=[]),s[y].push(f.morphAttributes[y])}if(e){let y;if(t)y=f.index.count;else if(f.attributes.position!==void 0)y=f.attributes.position.count;else return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index "+d+". The geometry must have either an index or a position attribute"),null;l.addGroup(c,y,d),c+=y}}if(t){let d=0;const f=[];for(let p=0;p<n.length;++p){const y=n[p].index;for(let w=0;w<y.count;++w)f.push(y.getX(w)+d);d+=n[p].attributes.position.count}l.setIndex(f)}for(const d in a){const f=Np(a[d]);if(!f)return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed while trying to merge the "+d+" attribute."),null;l.setAttribute(d,f)}for(const d in s){const f=s[d][0].length;if(f===0)break;l.morphAttributes=l.morphAttributes||{},l.morphAttributes[d]=[];for(let p=0;p<f;++p){const y=[];for(let M=0;M<s[d].length;++M)y.push(s[d][M][p]);const w=Np(y);if(!w)return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed while trying to merge the "+d+" morphAttribute."),null;l.morphAttributes[d].push(w)}}return l}function Np(n){let e,t,i,r=-1,a=0;for(let c=0;c<n.length;++c){const d=n[c];if(e===void 0&&(e=d.array.constructor),e!==d.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=d.itemSize),t!==d.itemSize)return console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.itemSize must be consistent across matching attributes."),null;if(i===void 0&&(i=d.normalized),i!==d.normalized)return console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.normalized must be consistent across matching attributes."),null;if(r===-1&&(r=d.gpuType),r!==d.gpuType)return console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.gpuType must be consistent across matching attributes."),null;a+=d.count*t}const s=new e(a),o=new A6(s,t,i);let l=0;for(let c=0;c<n.length;++c){const d=n[c];if(d.isInterleavedBufferAttribute){const f=l/t;for(let p=0,y=d.count;p<y;p++)for(let w=0;w<t;w++){const M=d.getComponent(p,w);o.setComponent(p+f,w,M)}}else s.set(d.array,l);l+=d.count*t}return r!==void 0&&(o.gpuType=r),o}function Lp(n,e){if(e===pk)return console.warn("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Geometry already defined as triangles."),n;if(e===Pd||e===X_){let t=n.getIndex();if(t===null){const s=[],o=n.getAttribute("position");if(o!==void 0){for(let l=0;l<o.count;l++)s.push(l);n.setIndex(s),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===Pd)for(let s=1;s<=i;s++)r.push(t.getX(0)),r.push(t.getX(s)),r.push(t.getX(s+1));else for(let s=0;s<i;s++)s%2===0?(r.push(t.getX(s)),r.push(t.getX(s+1)),r.push(t.getX(s+2))):(r.push(t.getX(s+2)),r.push(t.getX(s+1)),r.push(t.getX(s)));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 BR extends Ih{constructor(e){super(e),this.dracoLoader=null,this.ktx2Loader=null,this.meshoptDecoder=null,this.pluginCallbacks=[],this.register(function(t){return new $R(t)}),this.register(function(t){return new JR(t)}),this.register(function(t){return new QR(t)}),this.register(function(t){return new eI(t)}),this.register(function(t){return new VR(t)}),this.register(function(t){return new HR(t)}),this.register(function(t){return new YR(t)}),this.register(function(t){return new KR(t)}),this.register(function(t){return new UR(t)}),this.register(function(t){return new qR(t)}),this.register(function(t){return new WR(t)}),this.register(function(t){return new ZR(t)}),this.register(function(t){return new XR(t)}),this.register(function(t){return new jR(t)}),this.register(function(t){return new tI(t)}),this.register(function(t){return new nI(t)})}load(e,t,i,r){const a=this;let s;if(this.resourcePath!=="")s=this.resourcePath;else if(this.path!==""){const c=Y7.extractUrlBase(e);s=Y7.resolveURL(c,this.path)}else s=Y7.extractUrlBase(e);this.manager.itemStart(e);const o=function(c){r?r(c):console.error(c),a.manager.itemError(e),a.manager.itemEnd(e)},l=new sr(this.manager);l.setPath(this.path),l.setResponseType("arraybuffer"),l.setRequestHeader(this.requestHeader),l.setWithCredentials(this.withCredentials),l.load(e,function(c){try{a.parse(c,s,function(d){t(d),a.manager.itemEnd(e)},o)}catch(d){o(d)}},i,o)}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 s={},o={},l=new TextDecoder;if(typeof e=="string")a=JSON.parse(e);else if(e instanceof ArrayBuffer)if(l.decode(new Uint8Array(e,0,4))===mb){try{s[P0.KHR_BINARY_GLTF]=new iI(e)}catch(f){r&&r(f);return}a=JSON.parse(s[P0.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 c=new pI(a,{path:t||this.resourcePath||"",crossOrigin:this.crossOrigin,requestHeader:this.requestHeader,manager:this.manager,ktx2Loader:this.ktx2Loader,meshoptDecoder:this.meshoptDecoder});c.fileLoader.setRequestHeader(this.requestHeader);for(let d=0;d<this.pluginCallbacks.length;d++){const f=this.pluginCallbacks[d](c);f.name||console.error("THREE.GLTFLoader: Invalid plugin found: missing name"),o[f.name]=f,s[f.name]=!0}if(a.extensionsUsed)for(let d=0;d<a.extensionsUsed.length;++d){const f=a.extensionsUsed[d],p=a.extensionsRequired||[];switch(f){case P0.KHR_MATERIALS_UNLIT:s[f]=new zR;break;case P0.KHR_DRACO_MESH_COMPRESSION:s[f]=new rI(a,this.dracoLoader);break;case P0.KHR_TEXTURE_TRANSFORM:s[f]=new aI;break;case P0.KHR_MESH_QUANTIZATION:s[f]=new sI;break;default:p.indexOf(f)>=0&&o[f]===void 0&&console.warn('THREE.GLTFLoader: Unknown extension "'+f+'".')}}c.setExtensions(s),c.setPlugins(o),c.parse(i,r)}parseAsync(e,t){const i=this;return new Promise(function(r,a){i.parse(e,t,r,a)})}}function GR(){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 P0={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 jR{constructor(e){this.parser=e,this.name=P0.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 c;const d=new pt(16777215);l.color!==void 0&&d.setRGB(l.color[0],l.color[1],l.color[2],o5);const f=l.range!==void 0?l.range:0;switch(l.type){case"directional":c=new J_(d),c.target.position.set(0,0,-1),c.add(c.target);break;case"point":c=new Z_(d),c.distance=f;break;case"spot":c=new yk(d),c.distance=f,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,c.angle=l.spot.outerConeAngle,c.penumbra=1-l.spot.innerConeAngle/l.spot.outerConeAngle,c.target.position.set(0,0,-1),c.add(c.target);break;default:throw new Error("THREE.GLTFLoader: Unexpected light type: "+l.type)}return c.position.set(0,0,0),c.decay=2,g9(c,l),l.intensity!==void 0&&(c.intensity=l.intensity),c.name=t.createUniqueName(l.name||"light_"+e),r=Promise.resolve(c),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],o=(a.extensions&&a.extensions[this.name]||{}).light;return o===void 0?null:this._loadLight(o).then(function(l){return i._getNodeRef(t.cache,o,l)})}}class zR{constructor(){this.name=P0.KHR_MATERIALS_UNLIT}getMaterialType(){return Z0}extendParams(e,t,i){const r=[];e.color=new pt(1,1,1),e.opacity=1;const a=t.pbrMetallicRoughness;if(a){if(Array.isArray(a.baseColorFactor)){const s=a.baseColorFactor;e.color.setRGB(s[0],s[1],s[2],o5),e.opacity=s[3]}a.baseColorTexture!==void 0&&r.push(i.assignTexture(e,"map",a.baseColorTexture,Gn))}return Promise.all(r)}}class UR{constructor(e){this.parser=e,this.name=P0.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 $R{constructor(e){this.parser=e,this.name=P0.KHR_MATERIALS_CLEARCOAT}getMaterialType(e){const i=this.parser.json.materials[e];return!i.extensions||!i.extensions[this.name]?null:W5}extendMaterialParams(e,t){const i=this.parser,r=i.json.materials[e];if(!r.extensions||!r.extensions[this.name])return Promise.resolve();const a=[],s=r.extensions[this.name];if(s.clearcoatFactor!==void 0&&(t.clearcoat=s.clearcoatFactor),s.clearcoatTexture!==void 0&&a.push(i.assignTexture(t,"clearcoatMap",s.clearcoatTexture)),s.clearcoatRoughnessFactor!==void 0&&(t.clearcoatRoughness=s.clearcoatRoughnessFactor),s.clearcoatRoughnessTexture!==void 0&&a.push(i.assignTexture(t,"clearcoatRoughnessMap",s.clearcoatRoughnessTexture)),s.clearcoatNormalTexture!==void 0&&(a.push(i.assignTexture(t,"clearcoatNormalMap",s.clearcoatNormalTexture)),s.clearcoatNormalTexture.scale!==void 0)){const o=s.clearcoatNormalTexture.scale;t.clearcoatNormalScale=new st(o,o)}return Promise.all(a)}}class WR{constructor(e){this.parser=e,this.name=P0.KHR_MATERIALS_IRIDESCENCE}getMaterialType(e){const i=this.parser.json.materials[e];return!i.extensions||!i.extensions[this.name]?null:W5}extendMaterialParams(e,t){const i=this.parser,r=i.json.materials[e];if(!r.extensions||!r.extensions[this.name])return Promise.resolve();const a=[],s=r.extensions[this.name];return s.iridescenceFactor!==void 0&&(t.iridescence=s.iridescenceFactor),s.iridescenceTexture!==void 0&&a.push(i.assignTexture(t,"iridescenceMap",s.iridescenceTexture)),s.iridescenceIor!==void 0&&(t.iridescenceIOR=s.iridescenceIor),t.iridescenceThicknessRange===void 0&&(t.iridescenceThicknessRange=[100,400]),s.iridescenceThicknessMinimum!==void 0&&(t.iridescenceThicknessRange[0]=s.iridescenceThicknessMinimum),s.iridescenceThicknessMaximum!==void 0&&(t.iridescenceThicknessRange[1]=s.iridescenceThicknessMaximum),s.iridescenceThicknessTexture!==void 0&&a.push(i.assignTexture(t,"iridescenceThicknessMap",s.iridescenceThicknessTexture)),Promise.all(a)}}class VR{constructor(e){this.parser=e,this.name=P0.KHR_MATERIALS_SHEEN}getMaterialType(e){const i=this.parser.json.materials[e];return!i.extensions||!i.extensions[this.name]?null:W5}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 pt(0,0,0),t.sheenRoughness=0,t.sheen=1;const s=r.extensions[this.name];if(s.sheenColorFactor!==void 0){const o=s.sheenColorFactor;t.sheenColor.setRGB(o[0],o[1],o[2],o5)}return s.sheenRoughnessFactor!==void 0&&(t.sheenRoughness=s.sheenRoughnessFactor),s.sheenColorTexture!==void 0&&a.push(i.assignTexture(t,"sheenColorMap",s.sheenColorTexture,Gn)),s.sheenRoughnessTexture!==void 0&&a.push(i.assignTexture(t,"sheenRoughnessMap",s.sheenRoughnessTexture)),Promise.all(a)}}class HR{constructor(e){this.parser=e,this.name=P0.KHR_MATERIALS_TRANSMISSION}getMaterialType(e){const i=this.parser.json.materials[e];return!i.extensions||!i.extensions[this.name]?null:W5}extendMaterialParams(e,t){const i=this.parser,r=i.json.materials[e];if(!r.extensions||!r.extensions[this.name])return Promise.resolve();const a=[],s=r.extensions[this.name];return s.transmissionFactor!==void 0&&(t.transmission=s.transmissionFactor),s.transmissionTexture!==void 0&&a.push(i.assignTexture(t,"transmissionMap",s.transmissionTexture)),Promise.all(a)}}class YR{constructor(e){this.parser=e,this.name=P0.KHR_MATERIALS_VOLUME}getMaterialType(e){const i=this.parser.json.materials[e];return!i.extensions||!i.extensions[this.name]?null:W5}extendMaterialParams(e,t){const i=this.parser,r=i.json.materials[e];if(!r.extensions||!r.extensions[this.name])return Promise.resolve();const a=[],s=r.extensions[this.name];t.thickness=s.thicknessFactor!==void 0?s.thicknessFactor:0,s.thicknessTexture!==void 0&&a.push(i.assignTexture(t,"thicknessMap",s.thicknessTexture)),t.attenuationDistance=s.attenuationDistance||1/0;const o=s.attenuationColor||[1,1,1];return t.attenuationColor=new pt().setRGB(o[0],o[1],o[2],o5),Promise.all(a)}}class KR{constructor(e){this.parser=e,this.name=P0.KHR_MATERIALS_IOR}getMaterialType(e){const i=this.parser.json.materials[e];return!i.extensions||!i.extensions[this.name]?null:W5}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 qR{constructor(e){this.parser=e,this.name=P0.KHR_MATERIALS_SPECULAR}getMaterialType(e){const i=this.parser.json.materials[e];return!i.extensions||!i.extensions[this.name]?null:W5}extendMaterialParams(e,t){const i=this.parser,r=i.json.materials[e];if(!r.extensions||!r.extensions[this.name])return Promise.resolve();const a=[],s=r.extensions[this.name];t.specularIntensity=s.specularFactor!==void 0?s.specularFactor:1,s.specularTexture!==void 0&&a.push(i.assignTexture(t,"specularIntensityMap",s.specularTexture));const o=s.specularColorFactor||[1,1,1];return t.specularColor=new pt().setRGB(o[0],o[1],o[2],o5),s.specularColorTexture!==void 0&&a.push(i.assignTexture(t,"specularColorMap",s.specularColorTexture,Gn)),Promise.all(a)}}class XR{constructor(e){this.parser=e,this.name=P0.EXT_MATERIALS_BUMP}getMaterialType(e){const i=this.parser.json.materials[e];return!i.extensions||!i.extensions[this.name]?null:W5}extendMaterialParams(e,t){const i=this.parser,r=i.json.materials[e];if(!r.extensions||!r.extensions[this.name])return Promise.resolve();const a=[],s=r.extensions[this.name];return t.bumpScale=s.bumpFactor!==void 0?s.bumpFactor:1,s.bumpTexture!==void 0&&a.push(i.assignTexture(t,"bumpMap",s.bumpTexture)),Promise.all(a)}}class ZR{constructor(e){this.parser=e,this.name=P0.KHR_MATERIALS_ANISOTROPY}getMaterialType(e){const i=this.parser.json.materials[e];return!i.extensions||!i.extensions[this.name]?null:W5}extendMaterialParams(e,t){const i=this.parser,r=i.json.materials[e];if(!r.extensions||!r.extensions[this.name])return Promise.resolve();const a=[],s=r.extensions[this.name];return s.anisotropyStrength!==void 0&&(t.anisotropy=s.anisotropyStrength),s.anisotropyRotation!==void 0&&(t.anisotropyRotation=s.anisotropyRotation),s.anisotropyTexture!==void 0&&a.push(i.assignTexture(t,"anisotropyMap",s.anisotropyTexture)),Promise.all(a)}}class JR{constructor(e){this.parser=e,this.name=P0.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],s=t.options.ktx2Loader;if(!s){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,s)}}class QR{constructor(e){this.parser=e,this.name=P0.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 s=a.extensions[t],o=r.images[s.source];let l=i.textureLoader;if(o.uri){const c=i.options.manager.getHandler(o.uri);c!==null&&(l=c)}return this.detectSupport().then(function(c){if(c)return i.loadTextureImage(e,s.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 eI{constructor(e){this.parser=e,this.name=P0.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 s=a.extensions[t],o=r.images[s.source];let l=i.textureLoader;if(o.uri){const c=i.options.manager.getHandler(o.uri);c!==null&&(l=c)}return this.detectSupport().then(function(c){if(c)return i.loadTextureImage(e,s.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 tI{constructor(e){this.name=P0.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),s=this.parser.options.meshoptDecoder;if(!s||!s.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(o){const l=r.byteOffset||0,c=r.byteLength||0,d=r.count,f=r.byteStride,p=new Uint8Array(o,l,c);return s.decodeGltfBufferAsync?s.decodeGltfBufferAsync(d,f,p,r.mode,r.filter).then(function(y){return y.buffer}):s.ready.then(function(){const y=new ArrayBuffer(d*f);return s.decodeGltfBuffer(new Uint8Array(y),d,f,p,r.mode,r.filter),y})})}else return null}}class nI{constructor(e){this.name=P0.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 c of r.primitives)if(c.mode!==t6.TRIANGLES&&c.mode!==t6.TRIANGLE_STRIP&&c.mode!==t6.TRIANGLE_FAN&&c.mode!==void 0)return null;const s=i.extensions[this.name].attributes,o=[],l={};for(const c in s)o.push(this.parser.getDependency("accessor",s[c]).then(d=>(l[c]=d,l[c])));return o.length<1?null:(o.push(this.parser.createNodeMesh(e)),Promise.all(o).then(c=>{const d=c.pop(),f=d.isGroup?d.children:[d],p=c[0].count,y=[];for(const w of f){const M=new P8,P=new U1,D=new Lh,B=new U1(1,1,1),V=new vk(w.geometry,w.material,p);for(let Y=0;Y<p;Y++)l.TRANSLATION&&P.fromBufferAttribute(l.TRANSLATION,Y),l.ROTATION&&D.fromBufferAttribute(l.ROTATION,Y),l.SCALE&&B.fromBufferAttribute(l.SCALE,Y),V.setMatrixAt(Y,M.compose(P,D,B));for(const Y in l)if(Y==="_COLOR_0"){const X=l[Y];V.instanceColor=new _k(X.array,X.itemSize,X.normalized)}else Y!=="TRANSLATION"&&Y!=="ROTATION"&&Y!=="SCALE"&&w.geometry.setAttribute(Y,l[Y]);Or.prototype.copy.call(V,w),this.parser.assignFinalMaterial(V),y.push(V)}return d.isGroup?(d.clear(),d.add(...y),d):y[0]}))}}const mb="glTF",C7=12,Fp={JSON:1313821514,BIN:5130562};class iI{constructor(e){this.name=P0.KHR_BINARY_GLTF,this.content=null,this.body=null;const t=new DataView(e,0,C7),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!==mb)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-C7,a=new DataView(e,C7);let s=0;for(;s<r;){const o=a.getUint32(s,!0);s+=4;const l=a.getUint32(s,!0);if(s+=4,l===Fp.JSON){const c=new Uint8Array(e,C7+s,o);this.content=i.decode(c)}else if(l===Fp.BIN){const c=C7+s;this.body=e.slice(c,c+o)}s+=o}if(this.content===null)throw new Error("THREE.GLTFLoader: JSON content not found.")}}class rI{constructor(e,t){if(!t)throw new Error("THREE.GLTFLoader: No DRACOLoader instance provided.");this.name=P0.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,s=e.extensions[this.name].attributes,o={},l={},c={};for(const d in s){const f=Fd[d]||d.toLowerCase();o[f]=s[d]}for(const d in e.attributes){const f=Fd[d]||d.toLowerCase();if(s[d]!==void 0){const p=i.accessors[e.attributes[d]],y=Ji[p.componentType];c[f]=y.name,l[f]=p.normalized===!0}}return t.getDependency("bufferView",a).then(function(d){return new Promise(function(f,p){r.decodeDracoFile(d,function(y){for(const w in y.attributes){const M=y.attributes[w],P=l[w];P!==void 0&&(M.normalized=P)}f(y)},o,c,o5,p)})})}}class aI{constructor(){this.name=P0.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 sI{constructor(){this.name=P0.KHR_MESH_QUANTIZATION}}class gb extends Lk{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 s=0;s!==r;s++)t[s]=i[a+s];return t}interpolate_(e,t,i,r){const a=this.resultBuffer,s=this.sampleValues,o=this.valueSize,l=o*2,c=o*3,d=r-t,f=(i-t)/d,p=f*f,y=p*f,w=e*c,M=w-c,P=-2*y+3*p,D=y-p,B=1-P,V=D-p+f;for(let Y=0;Y!==o;Y++){const X=s[M+Y+o],P2=s[M+Y+l]*d,z2=s[w+Y+o],G2=s[w+Y]*d;a[Y]=B*X+V*P2+P*z2+D*G2}return a}}const oI=new Lh;class lI extends gb{interpolate_(e,t,i,r){const a=super.interpolate_(e,t,i,r);return oI.fromArray(a).normalize().toArray(a),a}}const t6={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},Ji={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array},Dp={9728:ab,9729:o4,9984:Pk,9985:Mk,9986:kk,9987:eb},Op={33071:or,33648:Rk,10497:pn},Sc={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},Fd={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"},r9={scale:"scale",translation:"position",rotation:"quaternion",weights:"morphTargetInfluences"},uI={CUBICSPLINE:void 0,LINEAR:rb,STEP:Ik},wc={OPAQUE:"OPAQUE",MASK:"MASK",BLEND:"BLEND"};function cI(n){return n.DefaultMaterial===void 0&&(n.DefaultMaterial=new zi({color:16777215,emissive:0,metalness:1,roughness:1,transparent:!1,depthTest:!0,side:Nk})),n.DefaultMaterial}function r8(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 g9(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 dI(n,e,t){let i=!1,r=!1,a=!1;for(let c=0,d=e.length;c<d;c++){const f=e[c];if(f.POSITION!==void 0&&(i=!0),f.NORMAL!==void 0&&(r=!0),f.COLOR_0!==void 0&&(a=!0),i&&r&&a)break}if(!i&&!r&&!a)return Promise.resolve(n);const s=[],o=[],l=[];for(let c=0,d=e.length;c<d;c++){const f=e[c];if(i){const p=f.POSITION!==void 0?t.getDependency("accessor",f.POSITION):n.attributes.position;s.push(p)}if(r){const p=f.NORMAL!==void 0?t.getDependency("accessor",f.NORMAL):n.attributes.normal;o.push(p)}if(a){const p=f.COLOR_0!==void 0?t.getDependency("accessor",f.COLOR_0):n.attributes.color;l.push(p)}}return Promise.all([Promise.all(s),Promise.all(o),Promise.all(l)]).then(function(c){const d=c[0],f=c[1],p=c[2];return i&&(n.morphAttributes.position=d),r&&(n.morphAttributes.normal=f),a&&(n.morphAttributes.color=p),n.morphTargetsRelative=!0,n})}function hI(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 fI(n){let e;const t=n.extensions&&n.extensions[P0.KHR_DRACO_MESH_COMPRESSION];if(t?e="draco:"+t.bufferView+":"+t.indices+":"+Cc(t.attributes):e=n.indices+":"+Cc(n.attributes)+":"+n.mode,n.targets!==void 0)for(let i=0,r=n.targets.length;i<r;i++)e+=":"+Cc(n.targets[i]);return e}function Cc(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 Dd(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 mI(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 gI=new P8;class pI{constructor(e={},t={}){this.json=e,this.extensions={},this.plugins={},this.options=t,this.cache=new GR,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 Q_(this.options.manager):this.textureLoader=new bk(this.options.manager),this.textureLoader.setCrossOrigin(this.options.crossOrigin),this.textureLoader.setRequestHeader(this.options.requestHeader),this.fileLoader=new sr(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(s){return s._markDefs&&s._markDefs()}),Promise.all(this._invokeAll(function(s){return s.beforeRoot&&s.beforeRoot()})).then(function(){return Promise.all([i.getDependencies("scene"),i.getDependencies("animation"),i.getDependencies("camera")])}).then(function(s){const o={scene:s[0][r.scene||0],scenes:s[0],animations:s[1],cameras:s[2],asset:r.asset,parser:i,userData:{}};return r8(a,o,r),g9(o,r),Promise.all(i._invokeAll(function(l){return l.afterRoot&&l.afterRoot(o)})).then(function(){e(o)})}).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 s=t[r].joints;for(let o=0,l=s.length;o<l;o++)e[s[o]].isBone=!0}for(let r=0,a=e.length;r<a;r++){const s=e[r];s.mesh!==void 0&&(this._addNodeRef(this.meshCache,s.mesh),s.skin!==void 0&&(i[s.mesh].isSkinnedMesh=!0)),s.camera!==void 0&&this._addNodeRef(this.cameraCache,s.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=(s,o)=>{const l=this.associations.get(s);l!=null&&this.associations.set(o,l);for(const[c,d]of s.children.entries())a(d,o.children[c])};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,s){return i.getDependency(e,s)})),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[P0.KHR_BINARY_GLTF].body);const r=this.options;return new Promise(function(a,s){i.load(Y7.resolveURL(t.uri,r.path),a,void 0,function(){s(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 s=Sc[r.type],o=Ji[r.componentType],l=r.normalized===!0,c=new o(r.count*s);return Promise.resolve(new A6(c,s,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(s){const o=s[0],l=Sc[r.type],c=Ji[r.componentType],d=c.BYTES_PER_ELEMENT,f=d*l,p=r.byteOffset||0,y=r.bufferView!==void 0?i.bufferViews[r.bufferView].byteStride:void 0,w=r.normalized===!0;let M,P;if(y&&y!==f){const D=Math.floor(p/y),B="InterleavedBuffer:"+r.bufferView+":"+r.componentType+":"+D+":"+r.count;let V=t.cache.get(B);V||(M=new c(o,D*y,r.count*y/d),V=new Sk(M,y/d),t.cache.add(B,V)),P=new v8(V,l,p%y/d,w)}else o===null?M=new c(r.count*l):M=new c(o,p,r.count*l),P=new A6(M,l,w);if(r.sparse!==void 0){const D=Sc.SCALAR,B=Ji[r.sparse.indices.componentType],V=r.sparse.indices.byteOffset||0,Y=r.sparse.values.byteOffset||0,X=new B(s[1],V,r.sparse.count*D),P2=new c(s[2],Y,r.sparse.count*l);o!==null&&(P=new A6(P.array.slice(),P.itemSize,P.normalized));for(let z2=0,G2=X.length;z2<G2;z2++){const N2=X[z2];if(P.setX(N2,P2[z2*l]),l>=2&&P.setY(N2,P2[z2*l+1]),l>=3&&P.setZ(N2,P2[z2*l+2]),l>=4&&P.setW(N2,P2[z2*l+3]),l>=5)throw new Error("THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.")}}return P})}loadTexture(e){const t=this.json,i=this.options,a=t.textures[e].source,s=t.images[a];let o=this.textureLoader;if(s.uri){const l=i.manager.getHandler(s.uri);l!==null&&(o=l)}return this.loadTextureImage(e,a,o)}loadTextureImage(e,t,i){const r=this,a=this.json,s=a.textures[e],o=a.images[t],l=(o.uri||o.bufferView)+":"+s.sampler;if(this.textureCache[l])return this.textureCache[l];const c=this.loadImageSource(t,i).then(function(d){d.flipY=!1,d.name=s.name||o.name||"",d.name===""&&typeof o.uri=="string"&&o.uri.startsWith("data:image/")===!1&&(d.name=o.uri);const p=(a.samplers||{})[s.sampler]||{};return d.magFilter=Dp[p.magFilter]||o4,d.minFilter=Dp[p.minFilter]||eb,d.wrapS=Op[p.wrapS]||pn,d.wrapT=Op[p.wrapT]||pn,r.associations.set(d,{textures:e}),d}).catch(function(){return null});return this.textureCache[l]=c,c}loadImageSource(e,t){const i=this,r=this.json,a=this.options;if(this.sourceCache[e]!==void 0)return this.sourceCache[e].then(f=>f.clone());const s=r.images[e],o=self.URL||self.webkitURL;let l=s.uri||"",c=!1;if(s.bufferView!==void 0)l=i.getDependency("bufferView",s.bufferView).then(function(f){c=!0;const p=new Blob([f],{type:s.mimeType});return l=o.createObjectURL(p),l});else if(s.uri===void 0)throw new Error("THREE.GLTFLoader: Image "+e+" is missing URI and bufferView");const d=Promise.resolve(l).then(function(f){return new Promise(function(p,y){let w=p;t.isImageBitmapLoader===!0&&(w=function(M){const P=new Ap(M);P.needsUpdate=!0,p(P)}),t.load(Y7.resolveURL(f,a.path),w,void 0,y)})}).then(function(f){return c===!0&&o.revokeObjectURL(l),f.userData.mimeType=s.mimeType||mI(s.uri),f}).catch(function(f){throw console.error("THREE.GLTFLoader: Couldn't load texture",l),f});return this.sourceCache[e]=d,d}assignTexture(e,t,i,r){const a=this;return this.getDependency("texture",i.index).then(function(s){if(!s)return null;if(i.texCoord!==void 0&&i.texCoord>0&&(s=s.clone(),s.channel=i.texCoord),a.extensions[P0.KHR_TEXTURE_TRANSFORM]){const o=i.extensions!==void 0?i.extensions[P0.KHR_TEXTURE_TRANSFORM]:void 0;if(o){const l=a.associations.get(s);s=a.extensions[P0.KHR_TEXTURE_TRANSFORM].extendTexture(s,o),a.associations.set(s,l)}}return r!==void 0&&(s.colorSpace=r),e[t]=s,s})}assignFinalMaterial(e){const t=e.geometry;let i=e.material;const r=t.attributes.tangent===void 0,a=t.attributes.color!==void 0,s=t.attributes.normal===void 0;if(e.isPoints){const o="PointsMaterial:"+i.uuid;let l=this.cache.get(o);l||(l=new hl,yc.prototype.copy.call(l,i),l.color.copy(i.color),l.map=i.map,l.sizeAttenuation=!1,this.cache.add(o,l)),i=l}else if(e.isLine){const o="LineBasicMaterial:"+i.uuid;let l=this.cache.get(o);l||(l=new f8,yc.prototype.copy.call(l,i),l.color.copy(i.color),l.map=i.map,this.cache.add(o,l)),i=l}if(r||a||s){let o="ClonedMaterial:"+i.uuid+":";r&&(o+="derivative-tangents:"),a&&(o+="vertex-colors:"),s&&(o+="flat-shading:");let l=this.cache.get(o);l||(l=i.clone(),a&&(l.vertexColors=!0),s&&(l.flatShading=!0),r&&(l.normalScale&&(l.normalScale.y*=-1),l.clearcoatNormalScale&&(l.clearcoatNormalScale.y*=-1)),this.cache.add(o,l),this.associations.set(l,this.associations.get(i))),i=l}e.material=i}getMaterialType(){return zi}loadMaterial(e){const t=this,i=this.json,r=this.extensions,a=i.materials[e];let s;const o={},l=a.extensions||{},c=[];if(l[P0.KHR_MATERIALS_UNLIT]){const f=r[P0.KHR_MATERIALS_UNLIT];s=f.getMaterialType(),c.push(f.extendParams(o,a,t))}else{const f=a.pbrMetallicRoughness||{};if(o.color=new pt(1,1,1),o.opacity=1,Array.isArray(f.baseColorFactor)){const p=f.baseColorFactor;o.color.setRGB(p[0],p[1],p[2],o5),o.opacity=p[3]}f.baseColorTexture!==void 0&&c.push(t.assignTexture(o,"map",f.baseColorTexture,Gn)),o.metalness=f.metallicFactor!==void 0?f.metallicFactor:1,o.roughness=f.roughnessFactor!==void 0?f.roughnessFactor:1,f.metallicRoughnessTexture!==void 0&&(c.push(t.assignTexture(o,"metalnessMap",f.metallicRoughnessTexture)),c.push(t.assignTexture(o,"roughnessMap",f.metallicRoughnessTexture))),s=this._invokeOne(function(p){return p.getMaterialType&&p.getMaterialType(e)}),c.push(Promise.all(this._invokeAll(function(p){return p.extendMaterialParams&&p.extendMaterialParams(e,o)})))}a.doubleSided===!0&&(o.side=Rt);const d=a.alphaMode||wc.OPAQUE;if(d===wc.BLEND?(o.transparent=!0,o.depthWrite=!1):(o.transparent=!1,d===wc.MASK&&(o.alphaTest=a.alphaCutoff!==void 0?a.alphaCutoff:.5)),a.normalTexture!==void 0&&s!==Z0&&(c.push(t.assignTexture(o,"normalMap",a.normalTexture)),o.normalScale=new st(1,1),a.normalTexture.scale!==void 0)){const f=a.normalTexture.scale;o.normalScale.set(f,f)}if(a.occlusionTexture!==void 0&&s!==Z0&&(c.push(t.assignTexture(o,"aoMap",a.occlusionTexture)),a.occlusionTexture.strength!==void 0&&(o.aoMapIntensity=a.occlusionTexture.strength)),a.emissiveFactor!==void 0&&s!==Z0){const f=a.emissiveFactor;o.emissive=new pt().setRGB(f[0],f[1],f[2],o5)}return a.emissiveTexture!==void 0&&s!==Z0&&c.push(t.assignTexture(o,"emissiveMap",a.emissiveTexture,Gn)),Promise.all(c).then(function(){const f=new s(o);return a.name&&(f.name=a.name),g9(f,a),t.associations.set(f,{materials:e}),a.extensions&&r8(r,f,a),f})}createUniqueName(e){const t=wk.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(o){return i[P0.KHR_DRACO_MESH_COMPRESSION].decodePrimitive(o,t).then(function(l){return Bp(l,o,t)})}const s=[];for(let o=0,l=e.length;o<l;o++){const c=e[o],d=fI(c),f=r[d];if(f)s.push(f.promise);else{let p;c.extensions&&c.extensions[P0.KHR_DRACO_MESH_COMPRESSION]?p=a(c):p=Bp(new C6,c,t),r[d]={primitive:c,promise:p},s.push(p)}}return Promise.all(s)}loadMesh(e){const t=this,i=this.json,r=this.extensions,a=i.meshes[e],s=a.primitives,o=[];for(let l=0,c=s.length;l<c;l++){const d=s[l].material===void 0?cI(this.cache):this.getDependency("material",s[l].material);o.push(d)}return o.push(t.loadGeometries(s)),Promise.all(o).then(function(l){const c=l.slice(0,l.length-1),d=l[l.length-1],f=[];for(let y=0,w=d.length;y<w;y++){const M=d[y],P=s[y];let D;const B=c[y];if(P.mode===t6.TRIANGLES||P.mode===t6.TRIANGLE_STRIP||P.mode===t6.TRIANGLE_FAN||P.mode===void 0)D=a.isSkinnedMesh===!0?new Ck(M,B):new $e(M,B),D.isSkinnedMesh===!0&&D.normalizeSkinWeights(),P.mode===t6.TRIANGLE_STRIP?D.geometry=Lp(D.geometry,X_):P.mode===t6.TRIANGLE_FAN&&(D.geometry=Lp(D.geometry,Pd));else if(P.mode===t6.LINES)D=new Tk(M,B);else if(P.mode===t6.LINE_STRIP)D=new Md(M,B);else if(P.mode===t6.LINE_LOOP)D=new yo(M,B);else if(P.mode===t6.POINTS)D=new Nh(M,B);else throw new Error("THREE.GLTFLoader: Primitive mode unsupported: "+P.mode);Object.keys(D.geometry.morphAttributes).length>0&&hI(D,a),D.name=t.createUniqueName(a.name||"mesh_"+e),g9(D,a),P.extensions&&r8(r,D,P),t.assignFinalMaterial(D),f.push(D)}for(let y=0,w=f.length;y<w;y++)t.associations.set(f[y],{meshes:e,primitives:y});if(f.length===1)return a.extensions&&r8(r,f[0],a),f[0];const p=new ye;a.extensions&&r8(r,p,a),t.associations.set(p,{meshes:e});for(let y=0,w=f.length;y<w;y++)p.add(f[y]);return p})}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 tb(nb.radToDeg(r.yfov),r.aspectRatio||1,r.znear||1,r.zfar||2e6):i.type==="orthographic"&&(t=new ib(-r.xmag,r.xmag,r.ymag,-r.ymag,r.znear,r.zfar)),i.name&&(t.name=this.createUniqueName(i.name)),g9(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(),s=r,o=[],l=[];for(let c=0,d=s.length;c<d;c++){const f=s[c];if(f){o.push(f);const p=new P8;a!==null&&p.fromArray(a.array,c*16),l.push(p)}else console.warn('THREE.GLTFLoader: Joint "%s" could not be found.',t.joints[c])}return new Ak(o,l)})}loadAnimation(e){const t=this.json,i=this,r=t.animations[e],a=r.name?r.name:"animation_"+e,s=[],o=[],l=[],c=[],d=[];for(let f=0,p=r.channels.length;f<p;f++){const y=r.channels[f],w=r.samplers[y.sampler],M=y.target,P=M.node,D=r.parameters!==void 0?r.parameters[w.input]:w.input,B=r.parameters!==void 0?r.parameters[w.output]:w.output;M.node!==void 0&&(s.push(this.getDependency("node",P)),o.push(this.getDependency("accessor",D)),l.push(this.getDependency("accessor",B)),c.push(w),d.push(M))}return Promise.all([Promise.all(s),Promise.all(o),Promise.all(l),Promise.all(c),Promise.all(d)]).then(function(f){const p=f[0],y=f[1],w=f[2],M=f[3],P=f[4],D=[];for(let B=0,V=p.length;B<V;B++){const Y=p[B],X=y[B],P2=w[B],z2=M[B],G2=P[B];if(Y===void 0)continue;Y.updateMatrix&&Y.updateMatrix();const N2=i._createAnimationTracks(Y,X,P2,z2,G2);if(N2)for(let V2=0;V2<N2.length;V2++)D.push(N2[V2])}return new xk(a,void 0,D)})}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 s=i._getNodeRef(i.meshCache,r.mesh,a);return r.weights!==void 0&&s.traverse(function(o){if(o.isMesh)for(let l=0,c=r.weights.length;l<c;l++)o.morphTargetInfluences[l]=r.weights[l]}),s})}loadNode(e){const t=this.json,i=this,r=t.nodes[e],a=i._loadNodeShallow(e),s=[],o=r.children||[];for(let c=0,d=o.length;c<d;c++)s.push(i.getDependency("node",o[c]));const l=r.skin===void 0?Promise.resolve(null):i.getDependency("skin",r.skin);return Promise.all([a,Promise.all(s),l]).then(function(c){const d=c[0],f=c[1],p=c[2];p!==null&&d.traverse(function(y){y.isSkinnedMesh&&y.bind(p,gI)});for(let y=0,w=f.length;y<w;y++)d.add(f[y]);return d})}_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],s=a.name?r.createUniqueName(a.name):"",o=[],l=r._invokeOne(function(c){return c.createNodeMesh&&c.createNodeMesh(e)});return l&&o.push(l),a.camera!==void 0&&o.push(r.getDependency("camera",a.camera).then(function(c){return r._getNodeRef(r.cameraCache,a.camera,c)})),r._invokeAll(function(c){return c.createNodeAttachment&&c.createNodeAttachment(e)}).forEach(function(c){o.push(c)}),this.nodeCache[e]=Promise.all(o).then(function(c){let d;if(a.isBone===!0?d=new Ek:c.length>1?d=new ye:c.length===1?d=c[0]:d=new Or,d!==c[0])for(let f=0,p=c.length;f<p;f++)d.add(c[f]);if(a.name&&(d.userData.name=a.name,d.name=s),g9(d,a),a.extensions&&r8(i,d,a),a.matrix!==void 0){const f=new P8;f.fromArray(a.matrix),d.applyMatrix4(f)}else a.translation!==void 0&&d.position.fromArray(a.translation),a.rotation!==void 0&&d.quaternion.fromArray(a.rotation),a.scale!==void 0&&d.scale.fromArray(a.scale);return r.associations.has(d)||r.associations.set(d,{}),r.associations.get(d).nodes=e,d}),this.nodeCache[e]}loadScene(e){const t=this.extensions,i=this.json.scenes[e],r=this,a=new ye;i.name&&(a.name=r.createUniqueName(i.name)),g9(a,i),i.extensions&&r8(t,a,i);const s=i.nodes||[],o=[];for(let l=0,c=s.length;l<c;l++)o.push(r.getDependency("node",s[l]));return Promise.all(o).then(function(l){for(let d=0,f=l.length;d<f;d++)a.add(l[d]);const c=d=>{const f=new Map;for(const[p,y]of r.associations)(p instanceof yc||p instanceof Ap)&&f.set(p,y);return d.traverse(p=>{const y=r.associations.get(p);y!=null&&f.set(p,y)}),f};return r.associations=c(a),a})}_createAnimationTracks(e,t,i,r,a){const s=[],o=e.name?e.name:e.uuid,l=[];r9[a.path]===r9.weights?e.traverse(function(p){p.morphTargetInfluences&&l.push(p.name?p.name:p.uuid)}):l.push(o);let c;switch(r9[a.path]){case r9.weights:c=Ep;break;case r9.rotation:c=Pp;break;case r9.position:case r9.scale:c=xp;break;default:switch(i.itemSize){case 1:c=Ep;break;case 2:case 3:default:c=xp;break}break}const d=r.interpolation!==void 0?uI[r.interpolation]:rb,f=this._getArrayFromAccessor(i);for(let p=0,y=l.length;p<y;p++){const w=new c(l[p]+"."+r9[a.path],t.array,f,d);r.interpolation==="CUBICSPLINE"&&this._createCubicSplineTrackInterpolant(w),s.push(w)}return s}_getArrayFromAccessor(e){let t=e.array;if(e.normalized){const i=Dd(t.constructor),r=new Float32Array(t.length);for(let a=0,s=t.length;a<s;a++)r[a]=t[a]*i;t=r}return t}_createCubicSplineTrackInterpolant(e){e.createInterpolant=function(i){const r=this instanceof Pp?lI:gb;return new r(this.times,this.values,this.getValueSize()/3,i)},e.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline=!0}}function yI(n,e,t){const i=e.attributes,r=new fl;if(i.POSITION!==void 0){const o=t.json.accessors[i.POSITION],l=o.min,c=o.max;if(l!==void 0&&c!==void 0){if(r.set(new U1(l[0],l[1],l[2]),new U1(c[0],c[1],c[2])),o.normalized){const d=Dd(Ji[o.componentType]);r.min.multiplyScalar(d),r.max.multiplyScalar(d)}}else{console.warn("THREE.GLTFLoader: Missing min/max properties for accessor POSITION.");return}}else return;const a=e.targets;if(a!==void 0){const o=new U1,l=new U1;for(let c=0,d=a.length;c<d;c++){const f=a[c];if(f.POSITION!==void 0){const p=t.json.accessors[f.POSITION],y=p.min,w=p.max;if(y!==void 0&&w!==void 0){if(l.setX(Math.max(Math.abs(y[0]),Math.abs(w[0]))),l.setY(Math.max(Math.abs(y[1]),Math.abs(w[1]))),l.setZ(Math.max(Math.abs(y[2]),Math.abs(w[2]))),p.normalized){const M=Dd(Ji[p.componentType]);l.multiplyScalar(M)}o.max(l)}else console.warn("THREE.GLTFLoader: Missing min/max properties for accessor POSITION.")}}r.expandByVector(o)}n.boundingBox=r;const s=new Fh;r.getCenter(s.center),s.radius=r.min.distanceTo(r.max)/2,n.boundingSphere=s}function Bp(n,e,t){const i=e.attributes,r=[];function a(s,o){return t.getDependency("accessor",s).then(function(l){n.setAttribute(o,l)})}for(const s in i){const o=Fd[s]||s.toLowerCase();o in n.attributes||r.push(a(i[s],o))}if(e.indices!==void 0&&!n.index){const s=t.getDependency("accessor",e.indices).then(function(o){n.setIndex(o)});r.push(s)}return Tp.workingColorSpace!==o5&&"COLOR_0"in i&&console.warn(`THREE.GLTFLoader: Converting vertex colors from "srgb-linear" to "${Tp.workingColorSpace}" not supported.`),g9(n,e),yI(n,e,t),Promise.all(r).then(function(){return e.targets!==void 0?dI(n,e.targets,t):n})}const Tc=new WeakMap;class vI extends Ih{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 sr(this.manager);a.setPath(this.path),a.setResponseType("arraybuffer"),a.setRequestHeader(this.requestHeader),a.setWithCredentials(this.withCredentials),a.load(e,s=>{this.parse(s,t,r)},i,r)}parse(e,t,i=()=>{}){this.decodeDracoFile(e,t,null,null,Gn).catch(i)}decodeDracoFile(e,t,i,r,a=o5,s=()=>{}){const o={attributeIDs:i||this.defaultAttributeIDs,attributeTypes:r||this.defaultAttributeTypes,useUniqueIDs:!!i,vertexColorSpace:a};return this.decodeGeometry(e,o).then(t).catch(s)}decodeGeometry(e,t){const i=JSON.stringify(t);if(Tc.has(e)){const l=Tc.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++,s=e.byteLength,o=this._getWorker(a,s).then(l=>(r=l,new Promise((c,d)=>{r._callbacks[a]={resolve:c,reject:d},r.postMessage({type:"decode",id:a,taskConfig:t,buffer:e},[e])}))).then(l=>this._createGeometry(l.geometry));return o.catch(()=>!0).then(()=>{r&&a&&this._releaseTask(r,a)}),Tc.set(e,{key:i,promise:o}),o}_createGeometry(e){const t=new C6;e.index&&t.setIndex(new A6(e.index.array,1));for(let i=0;i<e.attributes.length;i++){const r=e.attributes[i],a=r.name,s=r.array,o=r.itemSize,l=new A6(s,o);a==="color"&&(this._assignVertexColorSpace(l,r.vertexColorSpace),l.normalized=!(s instanceof Float32Array)),t.setAttribute(a,l)}return t}_assignVertexColorSpace(e,t){if(t!==Gn)return;const i=new pt;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 sr(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=_I.toString(),s=["/* draco decoder */",r,"","/* worker */",a.substring(a.indexOf("{")+1,a.lastIndexOf("}"))].join(`
`);this.workerSourceURL=URL.createObjectURL(new Blob([s]))}),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 s=a.data;switch(s.type){case"decode":r._callbacks[s.id].resolve(s);break;case"error":r._callbacks[s.id].reject(s);break;default:console.error('THREE.DRACOLoader: Unexpected message, "'+s.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 _I(){let n,e;onmessage=function(s){const o=s.data;switch(o.type){case"init":n=o.decoderConfig,e=new Promise(function(d){n.onModuleLoaded=function(f){d({draco:f})},DracoDecoderModule(n)});break;case"decode":const l=o.buffer,c=o.taskConfig;e.then(d=>{const f=d.draco,p=new f.Decoder;try{const y=t(f,p,new Int8Array(l),c),w=y.attributes.map(M=>M.array.buffer);y.index&&w.push(y.index.array.buffer),self.postMessage({type:"decode",id:o.id,geometry:y},w)}catch(y){console.error(y),self.postMessage({type:"error",id:o.id,error:y.message})}finally{f.destroy(p)}});break}};function t(s,o,l,c){const d=c.attributeIDs,f=c.attributeTypes;let p,y;const w=o.GetEncodedGeometryType(l);if(w===s.TRIANGULAR_MESH)p=new s.Mesh,y=o.DecodeArrayToMesh(l,l.byteLength,p);else if(w===s.POINT_CLOUD)p=new s.PointCloud,y=o.DecodeArrayToPointCloud(l,l.byteLength,p);else throw new Error("THREE.DRACOLoader: Unexpected geometry type.");if(!y.ok()||p.ptr===0)throw new Error("THREE.DRACOLoader: Decoding failed: "+y.error_msg());const M={index:null,attributes:[]};for(const P in d){const D=self[f[P]];let B,V;if(c.useUniqueIDs)V=d[P],B=o.GetAttributeByUniqueId(p,V);else{if(V=o.GetAttributeId(p,s[d[P]]),V===-1)continue;B=o.GetAttribute(p,V)}const Y=r(s,o,p,P,D,B);P==="color"&&(Y.vertexColorSpace=c.vertexColorSpace),M.attributes.push(Y)}return w===s.TRIANGULAR_MESH&&(M.index=i(s,o,p)),s.destroy(p),M}function i(s,o,l){const d=l.num_faces()*3,f=d*4,p=s._malloc(f);o.GetTrianglesUInt32Array(l,f,p);const y=new Uint32Array(s.HEAPF32.buffer,p,d).slice();return s._free(p),{array:y,itemSize:1}}function r(s,o,l,c,d,f){const p=f.num_components(),w=l.num_points()*p,M=w*d.BYTES_PER_ELEMENT,P=a(s,d),D=s._malloc(M);o.GetAttributeDataArrayForAllPoints(l,f,P,M,D);const B=new d(s.HEAPF32.buffer,D,w).slice();return s._free(D),{name:c,array:B,itemSize:p}}function a(s,o){switch(o){case Float32Array:return s.DT_FLOAT32;case Int8Array:return s.DT_INT8;case Int16Array:return s.DT_INT16;case Int32Array:return s.DT_INT32;case Uint8Array:return s.DT_UINT8;case Uint16Array:return s.DT_UINT16;case Uint32Array:return s.DT_UINT32}}}let io={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 bI=Object.values(io);class SI extends pl{constructor({dracoPath:e,cloneTextures:t=!1}={}){super(),this.dracoPath=e||"./draco/gltf/",this.cloneTextures=t,this.loaded=!1,this.itemsLoaded=0,this.itemsTotal=0,this.assets=[],this.loaders={},this.initDefaultLoader()}initManager(){const e=new Fk;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:BR,name:"GLTFLoader"},{loader:Q_,name:"TextureLoader"}].map(e=>this.addLoader(e.loader,e.name))}initDraco(e){const t=new vI;t.setDecoderPath(this.dracoPath),t.preload(),e.setDRACOLoader(t)}addLoader(e,t=""){if(e.name&&io[t]){if(!this.loaders[t]){let r=new e(this.manager),a=t;r instanceof Ih&&(a==="GLTFLoader"&&this.initDraco(r),this.loaders[io[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(s3(W2({},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(s=>{let o=this.loadItem(s);a.push(o)}),Promise.all(a).then(s=>{this.assets=s,this.loaded=!0,this.emit("onLoad"),t(s)}).catch(s=>{this.emit("onError",s),i(s)})})}matchType(e){return this.assets=e.map(t=>({type:bI.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){var i;let t=this.assets.find(r=>r.name===e);if(!t)throw new Error(`资源${e}不存在`);return this.cloneTextures&&t.type===io.TextureLoader&&((i=t.data)!=null&&i.isTexture)?t.data.clone():t.data}destroy(){this.off("onProgress"),this.off("onLoad"),this.off("onError"),this.assets=[]}}function wI(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 Oh=n=>CI(typeof n=="string"?JSON.parse(n):n);function CI(n){var t,i,r,a;let e=(n==null?void 0:n.features)||[];for(let s=0;s<e.length;s++){const o=e[s],l=(t=o.geometry)==null?void 0:t.coordinates,c=Array.isArray(l)&&typeof((r=(i=l==null?void 0:l[0])==null?void 0:i[0])==null?void 0:r[0])=="number";((a=o.geometry)==null?void 0:a.type)==="Polygon"&&c&&(o.geometry.coordinates=[o.geometry.coordinates])}return n}class TI{constructor({canvas:e,sizes:t,scene:i,camera:r,postprocessing:a=!1,composer:s=null}){this.canvas=e,this.sizes=t,this.scene=i,this.camera=r,this.postprocessing=a,this.composer=s,this.setInstance()}setInstance(){this.instance=new Dk({alpha:!1,antialias:!1,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()}}class AI{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 ib(-i*t,i*t,i,-i,1,1e4)}else this.instance=new tb(45,t,1,1e4);this.setControls()}setControls(){this.controls=new Ok(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 xI{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],s=e+a,o=Math.abs(e)<Math.abs(a)?e-(s-a):a-(s-e);o&&(t[i++]=o),e=s}return t[i]=e,this._n=i+1,this}valueOf(){const e=this._partials;let t=this._n,i,r,a,s=0;if(t>0){for(s=e[--t];t>0&&(i=s,r=e[--t],s=i+r,a=r-(s-i),!a););t>0&&(a<0&&e[t-1]<0||a>0&&e[t-1]>0)&&(r=a*2,i=s+r,r==i-s&&(s=i))}return s}}function*EI(n){for(const e of n)yield*bp(e)}function pb(n){return Array.from(EI(n))}var Ee=1e-6,PI=1e-12,L0=Math.PI,An=L0/2,Gp=L0/4,h6=L0*2,Dn=180/L0,ot=L0/180,He=Math.abs,yb=Math.atan,cr=Math.atan2,Ze=Math.cos,MI=Math.exp,kI=Math.log,Je=Math.sin,RI=Math.sign||function(n){return n>0?1:n<0?-1:0},yl=Math.sqrt,II=Math.tan;function NI(n){return n>1?0:n<-1?L0:Math.acos(n)}function dr(n){return n>1?An:n<-1?-An:Math.asin(n)}function F7(){}function Co(n,e){n&&zp.hasOwnProperty(n.type)&&zp[n.type](n,e)}var jp={Feature:function(n,e){Co(n.geometry,e)},FeatureCollection:function(n,e){for(var t=n.features,i=-1,r=t.length;++i<r;)Co(t[i].geometry,e)}},zp={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){Od(n.coordinates,e,0)},MultiLineString:function(n,e){for(var t=n.coordinates,i=-1,r=t.length;++i<r;)Od(t[i],e,0)},Polygon:function(n,e){Up(n.coordinates,e)},MultiPolygon:function(n,e){for(var t=n.coordinates,i=-1,r=t.length;++i<r;)Up(t[i],e)},GeometryCollection:function(n,e){for(var t=n.geometries,i=-1,r=t.length;++i<r;)Co(t[i],e)}};function Od(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 Up(n,e){var t=-1,i=n.length;for(e.polygonStart();++t<i;)Od(n[t],e,1);e.polygonEnd()}function LI(n,e){n&&jp.hasOwnProperty(n.type)?jp[n.type](n,e):Co(n,e)}function Bd(n){return[cr(n[1],n[0]),dr(n[2])]}function l4(n){var e=n[0],t=n[1],i=Ze(t);return[i*Ze(e),i*Je(e),Je(t)]}function _s(n,e){return n[0]*e[0]+n[1]*e[1]+n[2]*e[2]}function To(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 Ac(n,e){n[0]+=e[0],n[1]+=e[1],n[2]+=e[2]}function bs(n,e){return[n[0]*e,n[1]*e,n[2]*e]}function Gd(n){var e=yl(n[0]*n[0]+n[1]*n[1]+n[2]*n[2]);n[0]/=e,n[1]/=e,n[2]/=e}function jd(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 zd(n,e){return He(n)>L0&&(n-=Math.round(n/h6)*h6),[n,e]}zd.invert=zd;function vb(n,e,t){return(n%=h6)?e||t?jd(Wp(n),Vp(e,t)):Wp(n):e||t?Vp(e,t):zd}function $p(n){return function(e,t){return e+=n,He(e)>L0&&(e-=Math.round(e/h6)*h6),[e,t]}}function Wp(n){var e=$p(n);return e.invert=$p(-n),e}function Vp(n,e){var t=Ze(n),i=Je(n),r=Ze(e),a=Je(e);function s(o,l){var c=Ze(l),d=Ze(o)*c,f=Je(o)*c,p=Je(l),y=p*t+d*i;return[cr(f*r-y*a,d*t-p*i),dr(y*r+f*a)]}return s.invert=function(o,l){var c=Ze(l),d=Ze(o)*c,f=Je(o)*c,p=Je(l),y=p*r-f*a;return[cr(f*r+p*a,d*t+y*i),dr(y*t-d*i)]},s}function FI(n){n=vb(n[0]*ot,n[1]*ot,n.length>2?n[2]*ot:0);function e(t){return t=n(t[0]*ot,t[1]*ot),t[0]*=Dn,t[1]*=Dn,t}return e.invert=function(t){return t=n.invert(t[0]*ot,t[1]*ot),t[0]*=Dn,t[1]*=Dn,t},e}function DI(n,e,t,i,r,a){if(t){var s=Ze(e),o=Je(e),l=i*t;r==null?(r=e+i*h6,a=e-l/2):(r=Hp(s,r),a=Hp(s,a),(i>0?r<a:r>a)&&(r+=i*h6));for(var c,d=r;i>0?d>a:d<a;d-=l)c=Bd([s,-o*Ze(d),-o*Je(d)]),n.point(c[0],c[1])}}function Hp(n,e){e=l4(e),e[0]-=n,Gd(e);var t=NI(-e[1]);return((-e[2]<0?-t:t)+h6-Ee)%h6}function _b(){var n=[],e;return{point:function(t,i,r){e.push([t,i,r])},lineStart:function(){n.push(e=[])},lineEnd:F7,rejoin:function(){n.length>1&&n.push(n.pop().concat(n.shift()))},result:function(){var t=n;return n=[],e=null,t}}}function ro(n,e){return He(n[0]-e[0])<Ee&&He(n[1]-e[1])<Ee}function Ss(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 bb(n,e,t,i,r){var a=[],s=[],o,l;if(n.forEach(function(w){if(!((M=w.length-1)<=0)){var M,P=w[0],D=w[M],B;if(ro(P,D)){if(!P[2]&&!D[2]){for(r.lineStart(),o=0;o<M;++o)r.point((P=w[o])[0],P[1]);r.lineEnd();return}D[0]+=2*Ee}a.push(B=new Ss(P,w,null,!0)),s.push(B.o=new Ss(P,null,B,!1)),a.push(B=new Ss(D,w,null,!1)),s.push(B.o=new Ss(D,null,B,!0))}}),!!a.length){for(s.sort(e),Yp(a),Yp(s),o=0,l=s.length;o<l;++o)s[o].e=t=!t;for(var c=a[0],d,f;;){for(var p=c,y=!0;p.v;)if((p=p.n)===c)return;d=p.z,r.lineStart();do{if(p.v=p.o.v=!0,p.e){if(y)for(o=0,l=d.length;o<l;++o)r.point((f=d[o])[0],f[1]);else i(p.x,p.n.x,1,r);p=p.n}else{if(y)for(d=p.p.z,o=d.length-1;o>=0;--o)r.point((f=d[o])[0],f[1]);else i(p.x,p.p.x,-1,r);p=p.p}p=p.o,d=p.z,y=!y}while(!p.v);r.lineEnd()}}}function Yp(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 xc(n){return He(n[0])<=L0?n[0]:RI(n[0])*((He(n[0])+L0)%h6-L0)}function OI(n,e){var t=xc(e),i=e[1],r=Je(i),a=[Je(t),-Ze(t),0],s=0,o=0,l=new xI;r===1?i=An+Ee:r===-1&&(i=-An-Ee);for(var c=0,d=n.length;c<d;++c)if(p=(f=n[c]).length)for(var f,p,y=f[p-1],w=xc(y),M=y[1]/2+Gp,P=Je(M),D=Ze(M),B=0;B<p;++B,w=Y,P=P2,D=z2,y=V){var V=f[B],Y=xc(V),X=V[1]/2+Gp,P2=Je(X),z2=Ze(X),G2=Y-w,N2=G2>=0?1:-1,V2=N2*G2,Y2=V2>L0,o3=P*P2;if(l.add(cr(o3*N2*Je(V2),D*z2+o3*Ze(V2))),s+=Y2?G2+N2*h6:G2,Y2^w>=t^Y>=t){var r3=To(l4(y),l4(V));Gd(r3);var y3=To(a,r3);Gd(y3);var K2=(Y2^G2>=0?-1:1)*dr(y3[2]);(i>K2||i===K2&&(r3[0]||r3[1]))&&(o+=Y2^G2>=0?1:-1)}}return(s<-Ee||s<Ee&&l<-PI)^o&1}function Sb(n,e,t,i){return function(r){var a=e(r),s=_b(),o=e(s),l=!1,c,d,f,p={point:y,lineStart:M,lineEnd:P,polygonStart:function(){p.point=D,p.lineStart=B,p.lineEnd=V,d=[],c=[]},polygonEnd:function(){p.point=y,p.lineStart=M,p.lineEnd=P,d=pb(d);var Y=OI(c,i);d.length?(l||(r.polygonStart(),l=!0),bb(d,GI,Y,t,r)):Y&&(l||(r.polygonStart(),l=!0),r.lineStart(),t(null,null,1,r),r.lineEnd()),l&&(r.polygonEnd(),l=!1),d=c=null},sphere:function(){r.polygonStart(),r.lineStart(),t(null,null,1,r),r.lineEnd(),r.polygonEnd()}};function y(Y,X){n(Y,X)&&r.point(Y,X)}function w(Y,X){a.point(Y,X)}function M(){p.point=w,a.lineStart()}function P(){p.point=y,a.lineEnd()}function D(Y,X){f.push([Y,X]),o.point(Y,X)}function B(){o.lineStart(),f=[]}function V(){D(f[0][0],f[0][1]),o.lineEnd();var Y=o.clean(),X=s.result(),P2,z2=X.length,G2,N2,V2;if(f.pop(),c.push(f),f=null,!!z2){if(Y&1){if(N2=X[0],(G2=N2.length-1)>0){for(l||(r.polygonStart(),l=!0),r.lineStart(),P2=0;P2<G2;++P2)r.point((V2=N2[P2])[0],V2[1]);r.lineEnd()}return}z2>1&&Y&2&&X.push(X.pop().concat(X.shift())),d.push(X.filter(BI))}}return p}}function BI(n){return n.length>1}function GI(n,e){return((n=n.x)[0]<0?n[1]-An-Ee:An-n[1])-((e=e.x)[0]<0?e[1]-An-Ee:An-e[1])}const Kp=Sb(function(){return!0},jI,UI,[-L0,-An]);function jI(n){var e=NaN,t=NaN,i=NaN,r;return{lineStart:function(){n.lineStart(),r=1},point:function(a,s){var o=a>0?L0:-L0,l=He(a-e);He(l-L0)<Ee?(n.point(e,t=(t+s)/2>0?An:-An),n.point(i,t),n.lineEnd(),n.lineStart(),n.point(o,t),n.point(a,t),r=0):i!==o&&l>=L0&&(He(e-i)<Ee&&(e-=i*Ee),He(a-o)<Ee&&(a-=o*Ee),t=zI(e,t,a,s),n.point(i,t),n.lineEnd(),n.lineStart(),n.point(o,t),r=0),n.point(e=a,t=s),i=o},lineEnd:function(){n.lineEnd(),e=t=NaN},clean:function(){return 2-r}}}function zI(n,e,t,i){var r,a,s=Je(n-t);return He(s)>Ee?yb((Je(e)*(a=Ze(i))*Je(t)-Je(i)*(r=Ze(e))*Je(n))/(r*a*s)):(e+i)/2}function UI(n,e,t,i){var r;if(n==null)r=t*An,i.point(-L0,r),i.point(0,r),i.point(L0,r),i.point(L0,0),i.point(L0,-r),i.point(0,-r),i.point(-L0,-r),i.point(-L0,0),i.point(-L0,r);else if(He(n[0]-e[0])>Ee){var a=n[0]<e[0]?L0:-L0;r=t*a/2,i.point(-a,r),i.point(0,r),i.point(a,r)}else i.point(e[0],e[1])}function $I(n){var e=Ze(n),t=2*ot,i=e>0,r=He(e)>Ee;function a(d,f,p,y){DI(y,n,t,p,d,f)}function s(d,f){return Ze(d)*Ze(f)>e}function o(d){var f,p,y,w,M;return{lineStart:function(){w=y=!1,M=1},point:function(P,D){var B=[P,D],V,Y=s(P,D),X=i?Y?0:c(P,D):Y?c(P+(P<0?L0:-L0),D):0;if(!f&&(w=y=Y)&&d.lineStart(),Y!==y&&(V=l(f,B),(!V||ro(f,V)||ro(B,V))&&(B[2]=1)),Y!==y)M=0,Y?(d.lineStart(),V=l(B,f),d.point(V[0],V[1])):(V=l(f,B),d.point(V[0],V[1],2),d.lineEnd()),f=V;else if(r&&f&&i^Y){var P2;!(X&p)&&(P2=l(B,f,!0))&&(M=0,i?(d.lineStart(),d.point(P2[0][0],P2[0][1]),d.point(P2[1][0],P2[1][1]),d.lineEnd()):(d.point(P2[1][0],P2[1][1]),d.lineEnd(),d.lineStart(),d.point(P2[0][0],P2[0][1],3)))}Y&&(!f||!ro(f,B))&&d.point(B[0],B[1]),f=B,y=Y,p=X},lineEnd:function(){y&&d.lineEnd(),f=null},clean:function(){return M|(w&&y)<<1}}}function l(d,f,p){var y=l4(d),w=l4(f),M=[1,0,0],P=To(y,w),D=_s(P,P),B=P[0],V=D-B*B;if(!V)return!p&&d;var Y=e*D/V,X=-e*B/V,P2=To(M,P),z2=bs(M,Y),G2=bs(P,X);Ac(z2,G2);var N2=P2,V2=_s(z2,N2),Y2=_s(N2,N2),o3=V2*V2-Y2*(_s(z2,z2)-1);if(!(o3<0)){var r3=yl(o3),y3=bs(N2,(-V2-r3)/Y2);if(Ac(y3,z2),y3=Bd(y3),!p)return y3;var K2=d[0],C3=f[0],m3=d[1],M3=f[1],N3;C3<K2&&(N3=K2,K2=C3,C3=N3);var q2=C3-K2,u3=He(q2-L0)<Ee,_3=u3||q2<Ee;if(!u3&&M3<m3&&(N3=m3,m3=M3,M3=N3),_3?u3?m3+M3>0^y3[1]<(He(y3[0]-K2)<Ee?m3:M3):m3<=y3[1]&&y3[1]<=M3:q2>L0^(K2<=y3[0]&&y3[0]<=C3)){var L3=bs(N2,(-V2+r3)/Y2);return Ac(L3,z2),[y3,Bd(L3)]}}}function c(d,f){var p=i?n:L0-n,y=0;return d<-p?y|=1:d>p&&(y|=2),f<-p?y|=4:f>p&&(y|=8),y}return Sb(s,o,a,i?[0,-n]:[-L0,n-L0])}function WI(n,e,t,i,r,a){var s=n[0],o=n[1],l=e[0],c=e[1],d=0,f=1,p=l-s,y=c-o,w;if(w=t-s,!(!p&&w>0)){if(w/=p,p<0){if(w<d)return;w<f&&(f=w)}else if(p>0){if(w>f)return;w>d&&(d=w)}if(w=r-s,!(!p&&w<0)){if(w/=p,p<0){if(w>f)return;w>d&&(d=w)}else if(p>0){if(w<d)return;w<f&&(f=w)}if(w=i-o,!(!y&&w>0)){if(w/=y,y<0){if(w<d)return;w<f&&(f=w)}else if(y>0){if(w>f)return;w>d&&(d=w)}if(w=a-o,!(!y&&w<0)){if(w/=y,y<0){if(w>f)return;w>d&&(d=w)}else if(y>0){if(w<d)return;w<f&&(f=w)}return d>0&&(n[0]=s+d*p,n[1]=o+d*y),f<1&&(e[0]=s+f*p,e[1]=o+f*y),!0}}}}}var D7=1e9,ws=-D7;function VI(n,e,t,i){function r(c,d){return n<=c&&c<=t&&e<=d&&d<=i}function a(c,d,f,p){var y=0,w=0;if(c==null||(y=s(c,f))!==(w=s(d,f))||l(c,d)<0^f>0)do p.point(y===0||y===3?n:t,y>1?i:e);while((y=(y+f+4)%4)!==w);else p.point(d[0],d[1])}function s(c,d){return He(c[0]-n)<Ee?d>0?0:3:He(c[0]-t)<Ee?d>0?2:1:He(c[1]-e)<Ee?d>0?1:0:d>0?3:2}function o(c,d){return l(c.x,d.x)}function l(c,d){var f=s(c,1),p=s(d,1);return f!==p?f-p:f===0?d[1]-c[1]:f===1?c[0]-d[0]:f===2?c[1]-d[1]:d[0]-c[0]}return function(c){var d=c,f=_b(),p,y,w,M,P,D,B,V,Y,X,P2,z2={point:G2,lineStart:o3,lineEnd:r3,polygonStart:V2,polygonEnd:Y2};function G2(K2,C3){r(K2,C3)&&d.point(K2,C3)}function N2(){for(var K2=0,C3=0,m3=y.length;C3<m3;++C3)for(var M3=y[C3],N3=1,q2=M3.length,u3=M3[0],_3,L3,F3=u3[0],K3=u3[1];N3<q2;++N3)_3=F3,L3=K3,u3=M3[N3],F3=u3[0],K3=u3[1],L3<=i?K3>i&&(F3-_3)*(i-L3)>(K3-L3)*(n-_3)&&++K2:K3<=i&&(F3-_3)*(i-L3)<(K3-L3)*(n-_3)&&--K2;return K2}function V2(){d=f,p=[],y=[],P2=!0}function Y2(){var K2=N2(),C3=P2&&K2,m3=(p=pb(p)).length;(C3||m3)&&(c.polygonStart(),C3&&(c.lineStart(),a(null,null,1,c),c.lineEnd()),m3&&bb(p,o,K2,a,c),c.polygonEnd()),d=c,p=y=w=null}function o3(){z2.point=y3,y&&y.push(w=[]),X=!0,Y=!1,B=V=NaN}function r3(){p&&(y3(M,P),D&&Y&&f.rejoin(),p.push(f.result())),z2.point=G2,Y&&d.lineEnd()}function y3(K2,C3){var m3=r(K2,C3);if(y&&w.push([K2,C3]),X)M=K2,P=C3,D=m3,X=!1,m3&&(d.lineStart(),d.point(K2,C3));else if(m3&&Y)d.point(K2,C3);else{var M3=[B=Math.max(ws,Math.min(D7,B)),V=Math.max(ws,Math.min(D7,V))],N3=[K2=Math.max(ws,Math.min(D7,K2)),C3=Math.max(ws,Math.min(D7,C3))];WI(M3,N3,n,e,t,i)?(Y||(d.lineStart(),d.point(M3[0],M3[1])),d.point(N3[0],N3[1]),m3||d.lineEnd(),P2=!1):m3&&(d.lineStart(),d.point(K2,C3),P2=!1)}B=K2,V=C3,Y=m3}return z2}}const qp=n=>n;var u4=1/0,Ao=u4,hr=-u4,xo=hr,HI={point:YI,lineStart:F7,lineEnd:F7,polygonStart:F7,polygonEnd:F7,result:function(){var n=[[u4,Ao],[hr,xo]];return hr=xo=-(Ao=u4=1/0),n}};function YI(n,e){n<u4&&(u4=n),n>hr&&(hr=n),e<Ao&&(Ao=e),e>xo&&(xo=e)}const Xp=HI;function Bh(n){return function(e){var t=new Ud;for(var i in n)t[i]=n[i];return t.stream=e,t}}function Ud(){}Ud.prototype={constructor:Ud,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 Gh(n,e,t){var i=n.clipExtent&&n.clipExtent();return n.scale(150).translate([0,0]),i!=null&&n.clipExtent(null),LI(t,n.stream(Xp)),e(Xp.result()),i!=null&&n.clipExtent(i),n}function wb(n,e,t){return Gh(n,function(i){var r=e[1][0]-e[0][0],a=e[1][1]-e[0][1],s=Math.min(r/(i[1][0]-i[0][0]),a/(i[1][1]-i[0][1])),o=+e[0][0]+(r-s*(i[1][0]+i[0][0]))/2,l=+e[0][1]+(a-s*(i[1][1]+i[0][1]))/2;n.scale(150*s).translate([o,l])},t)}function KI(n,e,t){return wb(n,[[0,0],e],t)}function qI(n,e,t){return Gh(n,function(i){var r=+e,a=r/(i[1][0]-i[0][0]),s=(r-a*(i[1][0]+i[0][0]))/2,o=-a*i[0][1];n.scale(150*a).translate([s,o])},t)}function XI(n,e,t){return Gh(n,function(i){var r=+e,a=r/(i[1][1]-i[0][1]),s=-a*i[0][0],o=(r-a*(i[1][1]+i[0][1]))/2;n.scale(150*a).translate([s,o])},t)}var Zp=16,ZI=Ze(30*ot);function Jp(n,e){return+e?QI(n,e):JI(n)}function JI(n){return Bh({point:function(e,t){e=n(e,t),this.stream.point(e[0],e[1])}})}function QI(n,e){function t(i,r,a,s,o,l,c,d,f,p,y,w,M,P){var D=c-i,B=d-r,V=D*D+B*B;if(V>4*e&&M--){var Y=s+p,X=o+y,P2=l+w,z2=yl(Y*Y+X*X+P2*P2),G2=dr(P2/=z2),N2=He(He(P2)-1)<Ee||He(a-f)<Ee?(a+f)/2:cr(X,Y),V2=n(N2,G2),Y2=V2[0],o3=V2[1],r3=Y2-i,y3=o3-r,K2=B*r3-D*y3;(K2*K2/V>e||He((D*r3+B*y3)/V-.5)>.3||s*p+o*y+l*w<ZI)&&(t(i,r,a,s,o,l,Y2,o3,N2,Y/=z2,X/=z2,P2,M,P),P.point(Y2,o3),t(Y2,o3,N2,Y,X,P2,c,d,f,p,y,w,M,P))}}return function(i){var r,a,s,o,l,c,d,f,p,y,w,M,P={point:D,lineStart:B,lineEnd:Y,polygonStart:function(){i.polygonStart(),P.lineStart=X},polygonEnd:function(){i.polygonEnd(),P.lineStart=B}};function D(G2,N2){G2=n(G2,N2),i.point(G2[0],G2[1])}function B(){f=NaN,P.point=V,i.lineStart()}function V(G2,N2){var V2=l4([G2,N2]),Y2=n(G2,N2);t(f,p,d,y,w,M,f=Y2[0],p=Y2[1],d=G2,y=V2[0],w=V2[1],M=V2[2],Zp,i),i.point(f,p)}function Y(){P.point=D,i.lineEnd()}function X(){B(),P.point=P2,P.lineEnd=z2}function P2(G2,N2){V(r=G2,N2),a=f,s=p,o=y,l=w,c=M,P.point=V}function z2(){t(f,p,d,y,w,M,a,s,r,o,l,c,Zp,i),P.lineEnd=Y,Y()}return P}}var eN=Bh({point:function(n,e){this.stream.point(n*ot,e*ot)}});function tN(n){return Bh({point:function(e,t){var i=n(e,t);return this.stream.point(i[0],i[1])}})}function nN(n,e,t,i,r){function a(s,o){return s*=i,o*=r,[e+n*s,t-n*o]}return a.invert=function(s,o){return[(s-e)/n*i,(t-o)/n*r]},a}function Qp(n,e,t,i,r,a){if(!a)return nN(n,e,t,i,r);var s=Ze(a),o=Je(a),l=s*n,c=o*n,d=s/n,f=o/n,p=(o*t-s*e)/n,y=(o*e+s*t)/n;function w(M,P){return M*=i,P*=r,[l*M-c*P+e,t-c*M-l*P]}return w.invert=function(M,P){return[i*(d*M-f*P+p),r*(y-f*M-d*P)]},w}function iN(n){return rN(function(){return n})()}function rN(n){var e,t=150,i=480,r=250,a=0,s=0,o=0,l=0,c=0,d,f=0,p=1,y=1,w=null,M=Kp,P=null,D,B,V,Y=qp,X=.5,P2,z2,G2,N2,V2;function Y2(K2){return G2(K2[0]*ot,K2[1]*ot)}function o3(K2){return K2=G2.invert(K2[0],K2[1]),K2&&[K2[0]*Dn,K2[1]*Dn]}Y2.stream=function(K2){return N2&&V2===K2?N2:N2=eN(tN(d)(M(P2(Y(V2=K2)))))},Y2.preclip=function(K2){return arguments.length?(M=K2,w=void 0,y3()):M},Y2.postclip=function(K2){return arguments.length?(Y=K2,P=D=B=V=null,y3()):Y},Y2.clipAngle=function(K2){return arguments.length?(M=+K2?$I(w=K2*ot):(w=null,Kp),y3()):w*Dn},Y2.clipExtent=function(K2){return arguments.length?(Y=K2==null?(P=D=B=V=null,qp):VI(P=+K2[0][0],D=+K2[0][1],B=+K2[1][0],V=+K2[1][1]),y3()):P==null?null:[[P,D],[B,V]]},Y2.scale=function(K2){return arguments.length?(t=+K2,r3()):t},Y2.translate=function(K2){return arguments.length?(i=+K2[0],r=+K2[1],r3()):[i,r]},Y2.center=function(K2){return arguments.length?(a=K2[0]%360*ot,s=K2[1]%360*ot,r3()):[a*Dn,s*Dn]},Y2.rotate=function(K2){return arguments.length?(o=K2[0]%360*ot,l=K2[1]%360*ot,c=K2.length>2?K2[2]%360*ot:0,r3()):[o*Dn,l*Dn,c*Dn]},Y2.angle=function(K2){return arguments.length?(f=K2%360*ot,r3()):f*Dn},Y2.reflectX=function(K2){return arguments.length?(p=K2?-1:1,r3()):p<0},Y2.reflectY=function(K2){return arguments.length?(y=K2?-1:1,r3()):y<0},Y2.precision=function(K2){return arguments.length?(P2=Jp(z2,X=K2*K2),y3()):yl(X)},Y2.fitExtent=function(K2,C3){return wb(Y2,K2,C3)},Y2.fitSize=function(K2,C3){return KI(Y2,K2,C3)},Y2.fitWidth=function(K2,C3){return qI(Y2,K2,C3)},Y2.fitHeight=function(K2,C3){return XI(Y2,K2,C3)};function r3(){var K2=Qp(t,0,0,p,y,f).apply(null,e(a,s)),C3=Qp(t,i-K2[0],r-K2[1],p,y,f);return d=vb(o,l,c),z2=jd(e,C3),G2=jd(d,z2),P2=Jp(z2,X),y3()}function y3(){return N2=V2=null,Y2}return function(){return e=n.apply(this,arguments),Y2.invert=e.invert&&o3,r3()}}function jh(n,e){return[n,kI(II((An+e)/2))]}jh.invert=function(n,e){return[n,2*yb(MI(e))-An]};function H6(){return aN(jh).scale(961/h6)}function aN(n){var e=iN(n),t=e.center,i=e.scale,r=e.translate,a=e.clipExtent,s=null,o,l,c;e.scale=function(f){return arguments.length?(i(f),d()):i()},e.translate=function(f){return arguments.length?(r(f),d()):r()},e.center=function(f){return arguments.length?(t(f),d()):t()},e.clipExtent=function(f){return arguments.length?(f==null?s=o=l=c=null:(s=+f[0][0],o=+f[0][1],l=+f[1][0],c=+f[1][1]),d()):s==null?null:[[s,o],[l,c]]};function d(){var f=L0*i(),p=e(FI(e.rotate()).invert([0,0]));return a(s==null?[[p[0]-f,p[1]-f],[p[0]+f,p[1]+f]]:n===jh?[[Math.max(p[0]-f,s),o],[Math.min(p[0]+f,l),c]]:[[s,Math.max(p[1]-f,o)],[l,Math.min(p[1]+f,c)]])}return d()}class sN extends pl{constructor(e,t={}){super();let i={isOrthographic:!1};this.config=Object.assign({},i,t),this.canvas=e,this.scene=new Bk,this.sizes=new DR(this),this.time=new OR(this),this.camera=new AI(this,{isOrthographic:this.config.isOrthographic}),this.renderer=new TI(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 Gk(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 $e){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 oN{constructor({material:e,time:t,size:i,diffuseColor:r,diffuseSpeed:a,diffuseWidth:s,callback:o=()=>{}}){this.time=t,this.pointShader=null,this.callback=o;let l={size:100,diffuseSpeed:15,diffuseColor:9345950,diffuseWidth:10};this.options=Object.assign({},l,{material:e,size:i,diffuseColor:r,diffuseSpeed:a,diffuseWidth:s}),this.init()}init(){let{material:e,size:t,diffuseColor:i,diffuseSpeed:r,diffuseWidth:a}=this.options,s=t/r;e.onBeforeCompile=o=>{this.pointShader=o,this.callback(o,s),o.uniforms=s3(W2({},o.uniforms),{uTime:{value:0},uSpeed:{value:r},uWidth:{value:a},uColor:{value:new pt(i)}}),o.vertexShader=o.vertexShader.replace("void main() {",`
varying vec3 vPosition;
void main(){
vPosition = position;
`),o.fragmentShader=o.fragmentShader.replace("void main() {",`
uniform float uTime;
uniform float uSpeed;
uniform float uWidth;
uniform vec3 uColor;
varying vec3 vPosition;
void main(){
`),o.fragmentShader=o.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 lN{constructor({scene:e,time:t},i){this.scene=e,this.time=t,this.instance=null;let r={position:new U1(0,0,0),gridSize:100,gridDivision:20,gridColor:2635578,shapeSize:1,shapeColor:9345950,pointSize:.2,pointColor:2635578,pointLayout:{row:200,col:200},pointBlending:jk};this.options=Object.assign({},r,i),this.init()}init(){let e=new ye;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,s=e/2,o=new Z0({color:r,side:Rt}),l=[];for(let f=0;f<t+1;f++)for(let p=0;p<t+1;p++){let y=this.createPlus(i);y.translate(-s+f*a,-s+p*a,0),l.push(y)}let c=fb(l),d=new $e(c,o);return d.renderOrder=-1,d.rotateX(-Math.PI/2),d.position.y+=.01,d}createGridHelp(){let{gridSize:e,gridDivision:t,gridColor:i}=this.options;return new zk(e,t,i,i)}createPoint(){let{gridSize:e,pointSize:t,pointColor:i,pointBlending:r,pointLayout:a}=this.options;const s=a.row,o=a.col,l=new Float32Array(s*o*3);for(let p=0;p<s;p++)for(let y=0;y<o;y++){let w=p/(s-1)*e-e/2,M=0,P=y/(o-1)*e-e/2,D=(p*o+y)*3;l[D]=w,l[D+1]=M,l[D+2]=P}var c=new C6;c.setAttribute("position",new A6(l,3));let d=new hl({size:t,sizeAttenuation:!0,color:i,blending:r});return new Nh(c,d)}setPointMode(){}createPlus(e=50){let t=e/6/3,i=e/3,r=[new st(-i,-t),new st(-t,-t),new st(-t,-i),new st(t,-i),new st(t,-i),new st(t,-t),new st(i,-t),new st(i,t),new st(t,t),new st(t,i),new st(-t,i),new st(-t,t),new st(-i,t)],a=new lr(r);return new Dh(a,24)}}const ey=new U1,uN=new Lh,ty=new U1;class Cb extends Or{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 cN extends Cb{constructor(e){super(e),this.isCSS3DSprite=!0,this.rotation2D=0}copy(e,t){return super.copy(e,t),this.rotation2D=e.rotation2D,this}}const j6=new P8,dN=new P8;class hN{constructor(e={}){const t=this;let i,r,a,s;const o={camera:{style:""},objects:new WeakMap},l=e.element!==void 0?e.element:document.createElement("div");l.style.overflow="hidden",this.domElement=l;const c=document.createElement("div");c.style.transformOrigin="0 0",c.style.pointerEvents="none",l.appendChild(c);const d=document.createElement("div");d.style.transformStyle="preserve-3d",c.appendChild(d),this.getSize=function(){return{width:i,height:r}},this.render=function(M,P){const D=P.projectionMatrix.elements[5]*s;P.view&&P.view.enabled?(c.style.transform=`translate( ${-P.view.offsetX*(i/P.view.width)}px, ${-P.view.offsetY*(r/P.view.height)}px )`,c.style.transform+=`scale( ${P.view.fullWidth/P.view.width}, ${P.view.fullHeight/P.view.height} )`):c.style.transform="",M.matrixWorldAutoUpdate===!0&&M.updateMatrixWorld(),P.parent===null&&P.matrixWorldAutoUpdate===!0&&P.updateMatrixWorld();let B,V;P.isOrthographicCamera&&(B=-(P.right+P.left)/2,V=(P.top+P.bottom)/2);const Y=P.view&&P.view.enabled?P.view.height/P.view.fullHeight:1,X=P.isOrthographicCamera?`scale( ${Y} )scale(`+D+")translate("+f(B)+"px,"+f(V)+"px)"+p(P.matrixWorldInverse):`scale( ${Y} )translateZ(`+D+"px)"+p(P.matrixWorldInverse),z2=(P.isPerspectiveCamera?"perspective("+D+"px) ":"")+X+"translate("+a+"px,"+s+"px)";o.camera.style!==z2&&(d.style.transform=z2,o.camera.style=z2),w(M,M,P)},this.setSize=function(M,P){i=M,r=P,a=i/2,s=r/2,l.style.width=M+"px",l.style.height=P+"px",c.style.width=M+"px",c.style.height=P+"px",d.style.width=M+"px",d.style.height=P+"px"};function f(M){return Math.abs(M)<1e-10?0:M}function p(M){const P=M.elements;return"matrix3d("+f(P[0])+","+f(-P[1])+","+f(P[2])+","+f(P[3])+","+f(P[4])+","+f(-P[5])+","+f(P[6])+","+f(P[7])+","+f(P[8])+","+f(-P[9])+","+f(P[10])+","+f(P[11])+","+f(P[12])+","+f(-P[13])+","+f(P[14])+","+f(P[15])+")"}function y(M){const P=M.elements;return"translate(-50%,-50%)"+("matrix3d("+f(P[0])+","+f(P[1])+","+f(P[2])+","+f(P[3])+","+f(-P[4])+","+f(-P[5])+","+f(-P[6])+","+f(-P[7])+","+f(P[8])+","+f(P[9])+","+f(P[10])+","+f(P[11])+","+f(P[12])+","+f(P[13])+","+f(P[14])+","+f(P[15])+")")}function w(M,P,D,B){if(M.isCSS3DObject){const V=M.visible===!0&&M.layers.test(D.layers)===!0;if(M.element.style.display=V===!0?"":"none",V===!0){M.onBeforeRender(t,P,D);let Y;M.isCSS3DSprite?(j6.copy(D.matrixWorldInverse),j6.transpose(),M.rotation2D!==0&&j6.multiply(dN.makeRotationZ(M.rotation2D)),M.matrixWorld.decompose(ey,uN,ty),j6.setPosition(ey),j6.scale(ty),j6.elements[3]=0,j6.elements[7]=0,j6.elements[11]=0,j6.elements[15]=1,Y=y(j6)):Y=y(M.matrixWorld);const X=M.element,P2=o.objects.get(M);if(P2===void 0||P2.style!==Y){X.style.transform=Y;const z2={style:Y};o.objects.set(M,z2)}X.parentNode!==d&&d.appendChild(X),M.onAfterRender(t,P,D)}}for(let V=0,Y=M.children.length;V<Y;V++)w(M.children[V],P,D)}}}class fN{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:s,height:o}=this.sizes,l=new hN;this.css3dRender=l,l.setSize(s,o),l.domElement.style.position="absolute",l.domElement.style.left="0px",l.domElement.style.top="0px",l.domElement.style.pointerEvents="none",l.domElement.className="label3d-"+wI(),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 cN(r):a=new Cb(r),a.init=(s,o)=>{a.element.innerHTML=s,a.element.style.visibility="visible",a.position.copy(o)},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=s=>{this.parent=s,s.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 ny{constructor({time:e},t){this.time=e,this.options=Object.assign({},{width:10,scale:1,position:new U1(0,0,0),needRotate:!1,rotateSpeed:.001,material:new Z0({transparent:!0,opacity:1,depthTest:!0})},t);let i=new I5(this.options.width,this.options.width),r=new $e(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 Eo{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 hl({map:Eo.createTexture(),size:20,color:16777215,transparent:!0,opacity:1,depthTest:!1,vertexColors:!0,blending:kt,sizeAttenuation:!0})},t),this.create()}create(){const{range:e,speed:t,dir:i,material:r,num:a,renderOrder:s}=this.config,o=[],l=[],c=[];for(let f=0;f<a;f++){o.push(Math.random()*e-e/2,Math.random()*e-e/2,Math.random()*e-e/2);let p=i==="up"?1:-1;c.push(Math.random()*p,(.1+Math.random())*p,.1+Math.random()*p);const y=r.color.clone();let w={};y.getHSL(w),y.setHSL(w.h,w.s,w.l*Math.random()),l.push(y.r,y.g,y.b)}const d=new C6;d.setAttribute("position",new A6(new Float32Array(o),3)),d.setAttribute("velocities",new A6(new Float32Array(c),3)),d.setAttribute("color",new A6(new Float32Array(l),3)),this.instance=new Nh(d,r),this.instance.renderOrder=s}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 vo(e)}update(e,t){if(!this.instance)return!1;const{range:i,speed:r,dir:a}=this.config;let s=a==="up"?1:-1,o=this.instance.geometry.getAttribute("position"),l=this.instance.geometry.getAttribute("velocities");const c=o.count;for(let d=0;d<c;d++){let f=o.getX(d);o.getY(d);let p=o.getZ(d),y=l.getX(d),w=l.getY(d);l.getZ(d),f+=Math.sin(y*t)*e,p+=r*s,p>i/2&&s===1&&(p=-i/2),p<-i/2&&s==-1&&(p=i/2),o.setX(d,f),o.setZ(d,p),l.setX(d,y),l.setY(d,w)}o.needsUpdate=!0,l.needsUpdate=!0}setParent(e){e.add(this.instance),this.time.on("tick",(t,i)=>{this.enable&&this.update(t,i)})}}class Cs{constructor({},e={}){this.mapGroup=new ye,this.coordinates=[],this.config=Object.assign({position:new U1(0,0,0),geoProjectionCenter:new st(0,0),geoProjectionScale:120,data:"",renderOrder:1,merge:!1,material:new Z0({color:1582651,transparent:!0,opacity:1})},e),this.mapGroup.position.copy(this.config.position);let t=Oh(this.config.data);this.create(t)}geoProjection(e){return H6().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 Or;let{name:s,center:o=[],centroid:l=[]}=r.properties;this.coordinates.push({name:s,center:o,centroid:l}),a.userData.name=s,r.geometry.coordinates.forEach(c=>{c.forEach(d=>{const f=new lr;for(let y=0;y<d.length;y++){if(!d[y][0]||!d[y][1])return!1;const[w,M]=this.geoProjection(d[y]);y===0&&f.moveTo(w,-M),f.lineTo(w,-M)}const p=new Dh(f);if(t)i.push(p);else{const y=new $e(p,this.config.material);y.renderOrder=this.config.renderOrder,y.userData.name=s,a.add(y)}})}),t||this.mapGroup.add(a)}),t){let r=fb(i);const a=new $e(r,this.config.material);a.renderOrder=this.config.renderOrder,this.mapGroup.add(a)}}getCoordinates(){return this.coordinates}setParent(e){e.add(this.mapGroup)}}class iy{constructor({assets:e,time:t},i={}){this.mapGroup=new ye,this.assets=e,this.time=t,this.coordinates=[],this.config=Object.assign({position:new U1(0,0,0),geoProjectionCenter:new st(0,0),geoProjectionScale:120,data:"",renderOrder:1,topFaceMaterial:new Z0({color:1582651,transparent:!0,opacity:1}),sideMaterial:new Z0({color:464171,transparent:!0,opacity:1}),depth:.1},i),this.mapGroup.position.copy(this.config.position);let r=Oh(this.config.data);this.create(r)}geoProjection(e){return H6().center(this.config.geoProjectionCenter).scale(this.config.geoProjectionScale).translate([0,0])(e)}create(e){e.features.forEach(t=>{var c,d,f;const i=new Or;let{name:r,center:a=[],centroid:s=[]}=t.properties;this.coordinates.push({name:r,center:a,centroid:s});const o={depth:this.config.depth,bevelEnabled:(c=this.config.bevelEnabled)!=null?c:!0,bevelSegments:(d=this.config.bevelSegments)!=null?d:1,bevelThickness:(f=this.config.bevelThickness)!=null?f:.1};let l=[this.config.topFaceMaterial,this.config.sideMaterial];t.geometry.coordinates.forEach(p=>{p.forEach((y,w)=>{const M=new lr;for(let B=0;B<y.length;B++){if(!y[B][0]||!y[B][1])return!1;const[V,Y]=this.geoProjection(y[B]);B===0&&M.moveTo(V,-Y),M.lineTo(V,-Y)}const P=new Uk(M,o),D=new $e(P,l);i.add(D)})}),this.mapGroup.add(i)})}getCoordinates(){return this.coordinates}setParent(e){e.add(this.mapGroup)}}const ry=new fl,Ts=new U1;class Tb extends $k{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 kd(e,3)),this.setAttribute("uv",new kd(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 Rd(t,6,1);return this.setAttribute("instanceStart",new v8(i,3,0)),this.setAttribute("instanceEnd",new v8(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 Rd(t,6,1);return this.setAttribute("instanceColorStart",new v8(i,3,0)),this.setAttribute("instanceColorEnd",new v8(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 Wk(e.geometry)),this}fromLineSegments(e){const t=e.geometry;return this.setPositions(t.attributes.position.array),this}computeBoundingBox(){this.boundingBox===null&&(this.boundingBox=new fl);const e=this.attributes.instanceStart,t=this.attributes.instanceEnd;e!==void 0&&t!==void 0&&(this.boundingBox.setFromBufferAttribute(e),ry.setFromBufferAttribute(t),this.boundingBox.union(ry))}computeBoundingSphere(){this.boundingSphere===null&&(this.boundingSphere=new Fh),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,s=e.count;a<s;a++)Ts.fromBufferAttribute(e,a),r=Math.max(r,i.distanceToSquared(Ts)),Ts.fromBufferAttribute(t,a),r=Math.max(r,i.distanceToSquared(Ts));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)}}no.line={worldUnits:{value:1},linewidth:{value:1},resolution:{value:new st(1,1)},dashOffset:{value:0},dashScale:{value:1},dashSize:{value:1},gapSize:{value:1}};to.line={uniforms:sb.merge([no.common,no.fog,no.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 Ab extends Vk{constructor(e){super({type:"LineMaterial",uniforms:sb.clone(to.line.uniforms),vertexShader:to.line.vertexShader,fragmentShader:to.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 ay=new U1,sy=new U1,Pt=new ml,Mt=new ml,z6=new ml,Ec=new U1,Pc=new P8,Nt=new Hk,oy=new U1,As=new fl,xs=new Fh,U6=new ml;let q6,T8;function ly(n,e,t){return U6.set(0,0,-e,1).applyMatrix4(n.projectionMatrix),U6.multiplyScalar(1/U6.w),U6.x=T8/t.width,U6.y=T8/t.height,U6.applyMatrix4(n.projectionMatrixInverse),U6.multiplyScalar(1/U6.w),Math.abs(Math.max(U6.x,U6.y))}function mN(n,e){const t=n.matrixWorld,i=n.geometry,r=i.attributes.instanceStart,a=i.attributes.instanceEnd,s=Math.min(i.instanceCount,r.count);for(let o=0,l=s;o<l;o++){Nt.start.fromBufferAttribute(r,o),Nt.end.fromBufferAttribute(a,o),Nt.applyMatrix4(t);const c=new U1,d=new U1;q6.distanceSqToSegment(Nt.start,Nt.end,d,c),d.distanceTo(c)<T8*.5&&e.push({point:d,pointOnLine:c,distance:q6.origin.distanceTo(d),object:n,face:null,faceIndex:o,uv:null,uv1:null})}}function gN(n,e,t){const i=e.projectionMatrix,a=n.material.resolution,s=n.matrixWorld,o=n.geometry,l=o.attributes.instanceStart,c=o.attributes.instanceEnd,d=Math.min(o.instanceCount,l.count),f=-e.near;q6.at(1,z6),z6.w=1,z6.applyMatrix4(e.matrixWorldInverse),z6.applyMatrix4(i),z6.multiplyScalar(1/z6.w),z6.x*=a.x/2,z6.y*=a.y/2,z6.z=0,Ec.copy(z6),Pc.multiplyMatrices(e.matrixWorldInverse,s);for(let p=0,y=d;p<y;p++){if(Pt.fromBufferAttribute(l,p),Mt.fromBufferAttribute(c,p),Pt.w=1,Mt.w=1,Pt.applyMatrix4(Pc),Mt.applyMatrix4(Pc),Pt.z>f&&Mt.z>f)continue;if(Pt.z>f){const V=Pt.z-Mt.z,Y=(Pt.z-f)/V;Pt.lerp(Mt,Y)}else if(Mt.z>f){const V=Mt.z-Pt.z,Y=(Mt.z-f)/V;Mt.lerp(Pt,Y)}Pt.applyMatrix4(i),Mt.applyMatrix4(i),Pt.multiplyScalar(1/Pt.w),Mt.multiplyScalar(1/Mt.w),Pt.x*=a.x/2,Pt.y*=a.y/2,Mt.x*=a.x/2,Mt.y*=a.y/2,Nt.start.copy(Pt),Nt.start.z=0,Nt.end.copy(Mt),Nt.end.z=0;const M=Nt.closestPointToPointParameter(Ec,!0);Nt.at(M,oy);const P=nb.lerp(Pt.z,Mt.z,M),D=P>=-1&&P<=1,B=Ec.distanceTo(oy)<T8*.5;if(D&&B){Nt.start.fromBufferAttribute(l,p),Nt.end.fromBufferAttribute(c,p),Nt.start.applyMatrix4(s),Nt.end.applyMatrix4(s);const V=new U1,Y=new U1;q6.distanceSqToSegment(Nt.start,Nt.end,Y,V),t.push({point:Y,pointOnLine:V,distance:q6.origin.distanceTo(Y),object:n,face:null,faceIndex:p,uv:null,uv1:null})}}}class pN extends $e{constructor(e=new Tb,t=new Ab({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 s=0,o=0,l=t.count;s<l;s++,o+=2)ay.fromBufferAttribute(t,s),sy.fromBufferAttribute(i,s),r[o]=o===0?0:r[o-1],r[o+1]=r[o]+ay.distanceTo(sy);const a=new Rd(r,2,1);return e.setAttribute("instanceDistanceStart",new v8(a,1,0)),e.setAttribute("instanceDistanceEnd",new v8(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;q6=e.ray;const s=this.matrixWorld,o=this.geometry,l=this.material;T8=l.linewidth+a,o.boundingSphere===null&&o.computeBoundingSphere(),xs.copy(o.boundingSphere).applyMatrix4(s);let c;if(i)c=T8*.5;else{const f=Math.max(r.near,xs.distanceToPoint(q6.origin));c=ly(r,f,l.resolution)}if(xs.radius+=c,q6.intersectsSphere(xs)===!1)return;o.boundingBox===null&&o.computeBoundingBox(),As.copy(o.boundingBox).applyMatrix4(s);let d;if(i)d=T8*.5;else{const f=Math.max(r.near,As.distanceToPoint(q6.origin));d=ly(r,f,l.resolution)}As.expandByScalar(d),q6.intersectsBox(As)!==!1&&(i?mN(this,t):gN(this,r,t))}}class xb extends Tb{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 yN extends pN{constructor(e=new xb,t=new Ab({color:Math.random()*16777215})){super(e,t),this.isLine2=!0,this.type="Line2"}}class T7{constructor({},e={}){this.config=Object.assign({visibelProvince:"",geoProjectionCenter:[0,0],geoProjectionScale:120,position:new U1(0,0,0),data:"",material:new f8({color:16777215}),type:"LineLoop",renderOrder:1,tubeRadius:.2},e);let t=Oh(this.config.data),i=this.create(t);this.lineGroup=i,this.lineGroup.position.copy(this.config.position)}geoProjection(e){return H6().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 ye;for(let s=0;s<r.length;s++){const o=r[s];let l=new ye;l.name="meshLineGroup"+s,o.properties.name!==i&&(o.geometry.coordinates.forEach(c=>{const d=[];let f=null;t==="Line2"?(c[0].forEach(p=>{const[y,w]=this.geoProjection(p);d.push(y,-w,0)}),f=this.createLine2(d)):t==="Line3"?(c[0].forEach(p=>{const[y,w]=this.geoProjection(p);d.push(new U1(y,-w,0))}),f=this.createLine3(d)):c[0].forEach(p=>{const[y,w]=this.geoProjection(p);d.push(new U1(y,-w,0)),f=this.createLine(d)}),l.add(f)}),a.add(l))}return a}createLine3(e){const t=this.config.tubeRadius,i=256*10,r=4,a=!1,{material:s,renderOrder:o}=this.config,l=new ob(e),c=new lb(l,i,t,r,a),d=new $e(c,s);return d.name="mapLine3",d.renderOrder=o,d}createLine2(e){const{material:t,renderOrder:i}=this.config,r=new xb;r.setPositions(e);let a=new yN(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 C6;a.setFromPoints(e);let s=new yo(a,t);return s.renderOrder=i,s.name="mapLine",s}setParent(e){e.add(this.lineGroup)}}class Es{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,s={x:1,y:2,z:3};e.onBeforeCompile=o=>{this.shader=o,o.uniforms=s3(W2({},o.uniforms),{uColor1:{value:new pt(t)},uColor2:{value:new pt(i)},uDir:{value:s[r]},uSize:{value:a}}),o.vertexShader=o.vertexShader.replace("void main() {",`
attribute float alpha;
varying vec3 vPosition;
varying float vAlpha;
void main() {
vAlpha = alpha;
vPosition = position;
`),o.fragmentShader=o.fragmentShader.replace("void main() {",`
varying vec3 vPosition;
varying float vAlpha;
uniform vec3 uColor1;
uniform vec3 uColor2;
uniform float uDir;
uniform float uSize;
void main() {
`),o.fragmentShader=o.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 vN="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=",Eb=`{"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]}}]}
`,_N="datas/geojsons/hongyuan-townships-screen.geojson",uy="assets/json/红原县-轮廓.json",bN="assets/json/中华人民共和国.json";function Ps(n){return`./${n}`}const SN={邛溪镇:"qiongxi",刷经寺镇:"shuajingsi",安曲镇:"anqu",龙日镇:"longri",江茸乡:"jiangrong",查尔玛乡:"chaerma",瓦切镇:"waqie",阿木乡:"amu",麦洼乡:"maiwa",色地镇:"sedi"},wN={色地镇:1199,瓦切镇:991,刷经寺镇:986,邛溪镇:896,阿木乡:892,安曲镇:885,查尔玛乡:729,龙日镇:645,麦洼乡:559,江茸乡:514},CN={龙日镇:[102.5608,32.5099]};function TN(n){try{return JSON.parse(n)}catch(e){return{type:"FeatureCollection",features:[]}}}function AN(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 xN=Eb,Pb=TN(Eb),zh=Pb.features||[],Mc=zh.reduce((n,e)=>{const t=e.properties||{},i=vl(t.name);return[t.code,t.fullCode].forEach(r=>{const a=String(r||"").replace(/\D/g,"");a&&i&&(n[a]=i)}),n},{});zh.reduce((n,e)=>{const t=e.properties||{},i=vl(t.name),r=String(t.code||"").replace(/\D/g,"");return i&&r&&(n[i]=r),n},{});const w4=zh.map(n=>{const e=n.properties||{},t=vl(e.name),i=CN[t]||AN(n);return{name:t,code:e.code,fullCode:e.fullCode,center:i,centroid:i,acreageMu:Number(e.acreageMu)||0}}),Mb=w4.map(n=>s3(W2({},n),{enName:SN[n.name]||"",value:wN[n.name]||0})).sort((n,e)=>e.value-n.value),i6=w4.map(n=>n.name);function vl(n){const e=String(n||"").trim();return!e||e==="--"?"":e}function _l(n){const e=String(n||"").replace(/\D/g,"");return e&&(Mc[e]||Mc[e.slice(0,12)]||Mc[e.slice(0,9)])||""}function EN(n){const e=vl(n);return!!(e&&w4.some(t=>t.name===e))}const PN=w4.map(n=>W2({},n)),cy=Mb.map(n=>W2({},n)),MN=Mb.map(n=>{var e,t;return{name:n.name,value:n.value,lng:(e=n.center)==null?void 0:e[0],lat:(t=n.center)==null?void 0:t[1]}}),kN=[{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 dy=class{constructor(e,t){e0(this,"target");e0(this,"name");e0(this,"intersected");e0(this,"wasIntersected",!1);e0(this,"wasIntersectedOnMouseDown",!1);e0(this,"distance");this.target=e,this.name=t,this.intersected=!1,this.distance=0}},mn=class{constructor(n,e=null){e0(this,"type");e0(this,"cancelBubble");e0(this,"originalEvent");e0(this,"coords",new st(0,0));e0(this,"distance",0);e0(this,"intersected",!1);e0(this,"wasIntersected",!1);e0(this,"wasIntersectedOnMouseDown",!1);this.cancelBubble=!1,this.type=n,this.originalEvent=e}stopPropagation(){this.cancelBubble=!0}},RN=class{constructor(n,e,t,i){e0(this,"renderer");e0(this,"camera");e0(this,"domElement");e0(this,"bindEventsOnBodyElement");e0(this,"autoAdd");e0(this,"scene");e0(this,"mouse");e0(this,"supportsPointerEvents");e0(this,"interactiveObjects");e0(this,"closestObject");e0(this,"raycaster");e0(this,"treatTouchEventsAsMouseEvents");e0(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)});e0(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 dy(i,t);this.interactiveObjects.push(r)}});else{let t=new dy(n,n.name);this.interactiveObjects.push(t)}});e0(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))});e0(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 mn("mouseout");this.dispatch(this.closestObject,r)}if(n){let r=new mn("mouseover");this.dispatch(n,r)}this.closestObject=n}let e;this.interactiveObjects.forEach(r=>{!r.intersected&&r.wasIntersected&&(e||(e=new mn("mouseleave")),this.dispatch(r,e))});let t;this.interactiveObjects.forEach(r=>{r.intersected&&!r.wasIntersected&&(t||(t=new mn("mouseenter")),this.dispatch(r,t))})});e0(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});e0(this,"onDocumentMouseMove",n=>{this.mapPositionToPoint(this.mouse,n.clientX,n.clientY);let e=new mn("mousemove",n);this.interactiveObjects.forEach(t=>{this.dispatch(t,e)})});e0(this,"onDocumentPointerMove",n=>{this.mapPositionToPoint(this.mouse,n.clientX,n.clientY);let e=new mn("pointermove",n);this.interactiveObjects.forEach(t=>{this.dispatch(t,e)})});e0(this,"onTouchMove",n=>{n.touches.length>0&&this.mapPositionToPoint(this.mouse,n.touches[0].clientX,n.touches[0].clientY);let e=new mn(this.treatTouchEventsAsMouseEvents?"mousemove":"touchmove",n);this.interactiveObjects.forEach(t=>{this.dispatch(t,e)})});e0(this,"onMouseClick",n=>{this.update();let e=new mn("click",n);this.interactiveObjects.forEach(t=>{t.intersected&&this.dispatch(t,e)})});e0(this,"onMouseDown",n=>{this.mapPositionToPoint(this.mouse,n.clientX,n.clientY),this.update();let e=new mn("mousedown",n);this.interactiveObjects.forEach(t=>{t.intersected?(t.wasIntersectedOnMouseDown=!0,this.dispatch(t,e)):t.wasIntersectedOnMouseDown=!1})});e0(this,"onPointerDown",n=>{this.mapPositionToPoint(this.mouse,n.clientX,n.clientY),this.update();let e=new mn("pointerdown",n);this.interactiveObjects.forEach(t=>{t.intersected&&this.dispatch(t,e)})});e0(this,"onTouchStart",n=>{n.touches.length>0&&this.mapPositionToPoint(this.mouse,n.touches[0].clientX,n.touches[0].clientY),this.update();let e=new mn(this.treatTouchEventsAsMouseEvents?"mousedown":"touchstart",n);this.interactiveObjects.forEach(t=>{t.intersected&&this.dispatch(t,e)})});e0(this,"onMouseUp",n=>{let e=new mn("mouseup",n);this.interactiveObjects.forEach(t=>{this.dispatch(t,e)})});e0(this,"onPointerUp",n=>{let e=new mn("pointerup",n);this.interactiveObjects.forEach(t=>{this.dispatch(t,e)})});e0(this,"onTouchEnd",n=>{n.touches.length>0&&this.mapPositionToPoint(this.mouse,n.touches[0].clientX,n.touches[0].clientY),this.update();let e=new mn(this.treatTouchEventsAsMouseEvents?"mouseup":"touchend",n);this.interactiveObjects.forEach(t=>{this.dispatch(t,e)})});e0(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))});e0(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 st(-1,1),this.supportsPointerEvents=!!window.PointerEvent,this.interactiveObjects=[],this.closestObject=null,this.raycaster=new Yk,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 Ui=256,$d="https://map.shuxitech.com/vt/lyrs=s&hl=zh-CN&x={x}&y={y}&z={z}",IN=900,NN=10,m8=new Map,$i={west:101.852492,south:31.851389,east:103.347518,north:33.319796};function kc(n,e,t){const i=v6(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 hy(n,e,t){const i=v6(2,t),r=n/i*360-180,a=Math.PI-2*Math.PI*e/i,s=180/Math.PI*Math.atan(.5*(Math.exp(a)-Math.exp(-a)));return[r,s]}function Ms(n,e,t){return Math.max(e,Math.min(t,n))}function kb(n,e,{centerLngLat:t,maxCols:i,maxRows:r}={}){const a=kc(n.west,n.north,e),s=kc(n.east,n.south,e),o=Math.floor(a.x),l=Math.floor(s.x),c=Math.floor(a.y),d=Math.floor(s.y);let f=o,p=l,y=c,w=d,M=Math.floor((o+l)/2),P=Math.floor((c+d)/2);if(t&&Number.isFinite(i)&&Number.isFinite(r)){const D=Ms(Number(t[0]),n.west,n.east),B=Ms(Number(t[1]),n.south,n.north),V=kc(D,B,e);M=Math.floor(V.x),P=Math.floor(V.y);const Y=Math.max(1,Math.min(Math.floor(i),l-o+1)),X=Math.max(1,Math.min(Math.floor(r),d-c+1));f=Ms(M-Math.floor(Y/2),o,l-Y+1),y=Ms(P-Math.floor(X/2),c,d-X+1),p=f+Y-1,w=y+X-1}return{zoom:e,minX:f,maxX:p,minY:y,maxY:w,centerX:M,centerY:P,cols:p-f+1,rows:w-y+1}}function LN({zoom:n=11,centerLngLat:e,maxCols:t,maxRows:i,bounds:r=$i}={}){return kb(r,n,{centerLngLat:e,maxCols:t,maxRows:i})}function FN(n,e){const[t,i]=hy(n.minX,n.minY,n.zoom),[r,a]=hy(n.maxX+1,n.maxY+1,n.zoom),[s]=e([t,$i.south]),[o]=e([r,$i.south]),[,l]=e([$i.west,i]),[,c]=e([$i.west,a]);return{left:s,right:o,bottom:-c,top:-l}}function DN(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 ON(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 BN(n){const e=m8.get(n);return e||new Promise(t=>{const i=new Image;i.crossOrigin="anonymous",i.onload=()=>t(i),i.onerror=()=>{m8.delete(n),t(null)},i.src=n})}function GN(n){const e=m8.get(n);if(e)return e;const t=BN(n);for(m8.set(n,t);m8.size>IN;){const i=m8.keys().next().value;if(!i)break;m8.delete(i)}return t}function jN(n,e,t,i=$d){return String(i||$d).replace(/\{x\}/g,n).replace(/\{y\}/g,e).replace(/\{z\}/g,t)}function zN(o,l,c,d){return I3(this,arguments,function*(n,e,t,i,{tileUrlTemplate:r,onTileStatus:a,applyTone:s=!0}={}){const f=[],p=i.cols*i.rows;let y=0,w=0;a==null||a({type:"loading",text:`正在加载${i.zoom}级影像底图`,loaded:y,failed:w,total:p,zoom:i.zoom,tileRange:i,tileUrlTemplate:r}),n.save(),n.filter="brightness(0.92) contrast(1.22) saturate(1.06)";for(let Y=i.minX;Y<=i.maxX;Y+=1)for(let X=i.minY;X<=i.maxY;X+=1)f.push({x:Y,y:X});f.sort((Y,X)=>Math.abs(Y.x-i.centerX)+Math.abs(Y.y-i.centerY)-(Math.abs(X.x-i.centerX)+Math.abs(X.y-i.centerY)));let M=0;function P(){return I3(this,null,function*(){for(;M<f.length;){const Y=f[M];M+=1;const X=yield GN(jN(Y.x,Y.y,i.zoom,r));X?(y+=1,n.drawImage(X,(Y.x-i.minX)*Ui,(Y.y-i.minY)*Ui,Ui,Ui),t.needsUpdate=!0):w+=1,a==null||a({type:"loading",text:`正在加载${i.zoom}级影像底图`,loaded:y,failed:w,total:p,zoom:i.zoom,tileRange:i,tileUrlTemplate:r})}})}yield Promise.all(Array.from({length:Math.min(NN,f.length)},P)),n.restore(),s&&DN(n,e),t.needsUpdate=!0;const D=p>0?y/p:0,B=y===0?"error":D>=.75?"success":"warning",V=y===p?`${i.zoom}级影像底图已加载`:y>0?`${i.zoom}级影像底图已加载(${y}/${p}张有效瓦片)`:`${i.zoom}级影像底图加载失败`;a==null||a({type:B,text:V,loaded:y,failed:w,total:p,zoom:i.zoom,tileRange:i,tileUrlTemplate:r})})}function fy({geoProjectionCenter:n,geoProjectionScale:e,zoom:t=11,tileUrlTemplate:i=$d,onTileStatus:r,centerLngLat:a,maxCols:s,maxRows:o,transparentBackground:l=!1,applyTone:c=!0}={}){const d=kb($i,t,{centerLngLat:a,maxCols:s,maxRows:o}),f=document.createElement("canvas");f.width=d.cols*Ui,f.height=d.rows*Ui;const p=f.getContext("2d");l?p.clearRect(0,0,f.width,f.height):ON(p,f);const y=new vo(f);y.colorSpace=Gn,y.wrapS=or,y.wrapT=or,y.minFilter=o4,y.magFilter=o4,y.needsUpdate=!0;const w=H6().center(n).scale(e).translate([0,0]),M=FN(d,w);return zN(p,f,y,d,{tileUrlTemplate:i,onTileStatus:r,applyTone:c}).catch(P=>{console.warn("load satellite tiles failed:",P),r==null||r({type:"error",text:`${d.zoom}级影像底图加载失败`,loaded:0,failed:d.cols*d.rows,total:d.cols*d.rows,zoom:d.zoom,tileRange:d,tileUrlTemplate:i})}),{texture:y,uvBounds:M,tileRange:d}}function my(n,e){const t=e.right-e.left,i=e.top-e.bottom;n.mapGroup.traverse(r=>{var o,l;const a=(l=(o=r.geometry)==null?void 0:o.attributes)==null?void 0:l.position;if(!r.isMesh||!a)return;const s=new Float32Array(a.count*2);for(let c=0;c<a.count;c+=1){const d=a.getX(c),f=a.getY(c);s[c*2]=(d-e.left)/t,s[c*2+1]=(f-e.bottom)/i}r.geometry.setAttribute("uv",new A6(s,2)),r.geometry.attributes.uv.needsUpdate=!0})}const i0={west:101.852492,south:31.851389,east:103.347518,north:33.319796},p9={width:2400,height:2400},ks=9,Wi={core:{fillColor:"#24F6C4",strokeColor:"#B7FFF2"},general:{fillColor:"#FFE06B",strokeColor:"#FFF2A0"}};function UN(n){return String(n).replace(/'/g,"''")}function nn(n,e){return`${n} = '${UN(e)}'`}const gy=[{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)=>s3(W2({},n),{key:`grassland-type-${e+1}`,cqlFilter:nn("grass_min_type",n.name),rankingPropertyName:["area_code","acreage"],rankingTownCodeKeys:["area_code"],rankingAreaKeys:["acreage"]})),py=[{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=>s3(W2({},n),{selectable:!1})),K7={1:"一级",2:"二级",3:"三级",4:"四级",5:"五级",6:"六级",7:"七级",8:"八级"},Rb=[{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=>s3(W2({},n),{key:`grassland-level-${n.level}`,cqlFilter:`grassland_level IN ('${n.level}','${n.name}','${K7[n.level]}草原','${K7[n.level]}草地')`,rankingPropertyName:["area_code","acreage"],rankingTownCodeKeys:["area_code"],rankingAreaKeys:["acreage"],level:void 0})),$N=Rb.map(n=>{const e=n.key.replace("grassland-level-",""),t=n.name.replace("草原","湿地");return s3(W2({},n),{key:`wetland-level-${e}`,name:t,cqlFilter:`grassland_level IN ('${e}','${t}','${n.name}','${K7[e]}湿地','${K7[e]}草原','${K7[e]}草地')`})}),WN=[{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"}],c4=[{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"]}],ao=[{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"}],Ib=[{key:"yak-industry-chain",name:"牦牛产业链",color:"#24F6C4",defaultLayerKey:"yak-industry-points"}],so={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:nn("gjgyl_bhdj","1")},{key:"woodland-protection-level-2",name:"国家二级公益林",fillColor:"#2BD17E",strokeColor:"#2BD17E",cqlFilter:nn("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:nn("dlmc","灌木林地")},{key:"woodland-type-arbor",name:"乔木林地",fillColor:"#0DA368",strokeColor:"#0DA368",cqlFilter:nn("dlmc","乔木林地")},{key:"woodland-type-swamp",name:"灌丛沼泽",fillColor:"#23C7B7",strokeColor:"#23C7B7",cqlFilter:nn("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:nn("zl_dj","2")},{key:"woodland-quality-3",name:"三级质量",fillColor:"#2BD17E",strokeColor:"#2BD17E",cqlFilter:nn("zl_dj","3")},{key:"woodland-quality-4",name:"四级质量",fillColor:"#23C7B7",strokeColor:"#23C7B7",cqlFilter:nn("zl_dj","4")},{key:"woodland-quality-5",name:"五级质量",fillColor:"#B7D96B",strokeColor:"#B7D96B",cqlFilter:nn("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:nn("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:WN},{key:"grassland-level",name:"草原级",layerName:"ne:t_grassland_result_level_caodi",opacity:.82,legends:Rb},{key:"grassland-type",name:"草原类型",layerName:"ne:t_grassland_result_grass_min_type_caodi",opacity:.82,legends:gy},{key:"grassland-yield",name:"草地产草量/生产力",layerName:"ne:t_grassland_result_yield_caodi",opacity:.82,legends:py},{key:"grassland-health",name:"草地健康/退化",layerName:"ne:2023_08_ndvi",opacity:.78,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:$N},{key:"wetland-type",name:"湿地类型",layerName:"ne:t_grassland_result_grass_min_type_shidi",opacity:.82,legends:gy},{key:"wetland-yield",name:"湿地产草量/生产力",layerName:"ne:t_grassland_result_yield_shidi",opacity:.82,legends:py}]},Nb={"national-park":[{key:"national-park-zoning",name:"国家公园分区",sourceType:"wkt-api",apiUrl:"/openApi/gjgy/gjgy_area",fallbackPath:"datas/ecological-protection/national_park_wkt.json",clipToHongyuanBoundary:!0,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:Wi.core.fillColor,strokeColor:Wi.core.strokeColor,match:{field:"type",value:"核心保护区"},selectable:!1},{key:"national-park-general",name:"一般控制区",fillColor:Wi.general.fillColor,strokeColor:Wi.general.strokeColor,match:{field:"type",value:"一般控制区"},selectable:!1}]}],restoration:[{key:"restoration-projects",name:"生态修复工程",sourceType:"geojson",dataPath:"datas/ecological-protection/ecological_restoration_projects.geojson",opacity:.72,legends:[{key:"restoration-grassland",name:"草地修复",fillColor:"#75AD49",strokeColor:"#D2EA78",cqlFilter:nn("project_category","草地修复"),match:{field:"project_category",value:"草地修复"}},{key:"restoration-wetland",name:"湿地修复",fillColor:"#4FB4C3",strokeColor:"#A9EEF2",cqlFilter:nn("project_category","湿地修复"),match:{field:"project_category",value:"湿地修复"}},{key:"restoration-woodland",name:"林地修复",fillColor:"#43A97A",strokeColor:"#95E2B7",cqlFilter:nn("project_category","林地修复"),match:{field:"project_category",value:"林地修复"}},{key:"restoration-linear",name:"线性设施",fillColor:"#D2B24D",strokeColor:"#FFE28A",cqlFilter:nn("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:.76,mapView:{targetLngLat:[102.58,32.72],distanceScale:.78,targetLocalZ:.72,duration:.85},legends:[{key:"analysis-project-grassland",name:"草地修复",fillColor:"#75AD49",strokeColor:"#D2EA78",match:{field:"project_category",value:"草地修复"},selectable:!1},{key:"analysis-project-wetland",name:"湿地修复",fillColor:"#4FB4C3",strokeColor:"#A9EEF2",match:{field:"project_category",value:"湿地修复"},selectable:!1},{key:"analysis-project-woodland",name:"林地修复",fillColor:"#43A97A",strokeColor:"#95E2B7",match:{field:"project_category",value:"林地修复"},selectable:!1},{key:"analysis-project-linear",name:"线性设施",fillColor:"#D2B24D",strokeColor:"#FFE28A",match:{field:"feature_role",value:"线性设施"},selectable:!1}]}]},VN={"yak-industry-chain":[{key:"yak-recognition-layer",name:"牦牛识别",layerName:"ne:daping_yak_marks",styles:"yak_marks",cqlFilter:"gov_show = true",opacity:.96,queryBuffer:10,mapView:{targetLngLat:[102.58,32.72],distanceScale:.82,targetLocalZ:.76,duration:.85},legends:[{key:"yak-recognition-all",name:"牦牛识别",fillColor:"#FFFF00",strokeColor:"#FFFF00",selectable:!1}]},{key:"yak-industry-points",name:"牦牛产业点位",sourceType:"geojson",dataPath:"datas/yak-industry-chain/yak_industry_points.geojson",opacity:.96,pointLabelLimit:12,showPointLabels:!1,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-farm-equipment",name:"农机装备",fillColor:"#30DCFF",strokeColor:"#B8F7FF",match:{field:"stageKey",value:"farm-equipment"}},{key:"yak-industry-social-service",name:"社会化服务",fillColor:"#9EA7FF",strokeColor:"#DFE3FF",match:{field:"stageKey",value:"social-service"}}]}]},HN=W2(W2(W2({},so),Nb),VN),YN=[...c4,...ao,...Ib];function yy(n){return YN.find(e=>e.key===n)||c4[0]}function bl(n){return HN[n]||[]}function Sl(n,e){const t=bl(n);return t.find(i=>i.key===e)||t[0]}const KN=12e3;function qN(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 M6(t){return I3(this,arguments,function*(n,e={}){const c=e,{params:i,timeout:r=KN}=c,a=S7(c,["params","timeout"]),s=new AbortController;let o=!1;const l=window.setTimeout(()=>{o=!0,s.abort()},r);try{const d=yield fetch(qN(n,i),s3(W2({credentials:"include"},a),{signal:s.signal,headers:W2({Accept:"application/json"},a.headers||{})}));if(!d.ok){const p=new Error(d.status===401?"用户未登录或授权已过期。":`HTTP ${d.status}`);throw p.code=`HTTP_${d.status}`,p.status=d.status,d.status===401&&Cp(),p}const f=yield d.json();if((f==null?void 0:f.code)===401||(f==null?void 0:f.code)==="401"){const p=new Error((f==null?void 0:f.msg)||"用户未登录或授权已过期。");throw p.code="HTTP_401",p.status=401,Cp(),p}return f}catch(d){if(s.signal.aborted||(d==null?void 0:d.name)==="AbortError"||/aborted/i.test((d==null?void 0:d.message)||"")){const p=new Error(o?"服务响应超时,请稍后再试。":"请求已取消,请重新发送。");throw p.code=o?"REQUEST_TIMEOUT":"REQUEST_ABORTED",p}throw d}finally{window.clearTimeout(l)}})}function r0(n){return(n==null?void 0:n.data)!==void 0?n.data:(n==null?void 0:n.result)!==void 0?n.result:n}const Uh="/geoserver/ne/wms",XN={}.VITE_GEOSERVER_WFS_URL||Uh.replace(/\/wms$/i,"/wfs");function $h(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 vy(n,e={}){const t=e.bounds||i0,i=e.size||p9;return $h(e.url||Uh,{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 ZN(n,e,t={}){var a,s;const i=t.bounds||i0,r=t.size||p9;return $h(t.url||Uh,{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:(s=(a=t.buffer)!=null?a:n.queryBuffer)!=null?s:8,CQL_FILTER:t.cqlFilter||n.cqlFilter})}function _y(i,r){return I3(this,arguments,function*(n,e,t={}){const a=ZN(n,e,t);return M6(a,{credentials:"include"})})}function JN(n,e={}){return $h(e.url||XN,{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 Po(t){return I3(this,arguments,function*(n,e={}){const i=JN(n,e);return M6(i,{credentials:"include",timeout:e.timeout||2e4})})}function by(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 QN=new U1(-.17427287762525134,13.678992786206543,20.688611202093714),eL=new U1(0,0,0),tL=new U1(-13.767695123014105,12.990152163077308,39.28228164159694),nL=21,iL=9,rL=260,Sy="#FF2D2D",aL="#FFECEC",sL="#FF4A3D",wy=16723245,oL=16772332,Cy=16730685,Ty={"family-pasture":"pasture","artificial-grassland":"grass","scale-breeding":"breeding","forage-storage":"storage","slaughter-processing":"processing","farm-equipment":"equipment","social-service":"service"};function Ay(n){return n.sort((e,t)=>t.value-e.value),n}function a8(n){return String(n||"").replace(/\s+/g,"").trim()}function ce(n,e=0){const t=Number(n);return Number.isFinite(t)?t:e}function mt(n){return String(n!=null?n:"").replace(/[&<>"']/g,e=>({"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"})[e])}function xy(n){return(n==null?void 0:n.scope)==="village"||(n==null?void 0:n.labelMode)==="village"}function Ey(n){return(n==null?void 0:n.scope)==="trade-flow"||(n==null?void 0:n.labelMode)==="trade-flow"}function lL(n){return(n==null?void 0:n.showFlowLines)!==!1}function Py(n){return!!(n!=null&&n.hideTownNames||(n==null?void 0:n.showTownNames)===!1)}function A7(n){return!!(n!=null&&n.hideMapLabels||(n==null?void 0:n.showMapLabels)===!1)}function uL(n){return(n==null?void 0:n.displayMode)==="callout"||(n==null?void 0:n.labelMode)==="callout"}function Rs(n){return["wkt-api","geojson","wfs"].includes(n==null?void 0:n.sourceType)}function cL(n){return(n==null?void 0:n.key)==="yak-recognition-layer"}function My(n){return n?/^https?:\/\//.test(n)||n.startsWith("/")?n:`./${n}`:""}function dL(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 Is(n){const e=dL(n);return e!=null&&e.features&&e.features.forEach(t=>{var i;((i=t.geometry)==null?void 0:i.type)==="Polygon"&&(t.geometry.coordinates=[t.geometry.coordinates])}),e}function ky(n){var e,t,i;return n!=null&&n.coordinates?n.type==="Polygon"?Array.isArray((i=(t=(e=n.coordinates)==null?void 0:e[0])==null?void 0:t[0])==null?void 0:i[0])?n.coordinates:[n.coordinates]:n.type==="MultiPolygon"?n.coordinates:[]:[]}class hL extends sN{constructor(e,t,i={}){var r,a,s,o;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.clicked=!1,this.scene.fog=new Kk(466735,1,50),this.scene.background=new pt(466735),this.camera.instance.position.copy(tL),this.camera.instance.near=1,this.camera.instance.far=1e4,this.camera.instance.updateProjectionMatrix(),this.defaultMapCameraPosition=QN.clone(),this.defaultMapTarget=eL.clone(),this.camera.controls.target.copy(this.defaultMapTarget),this.camera.controls.update(),this.activeMapViewTweens=[],this.sceneTweens=[],this.sceneTimers=[],this.interactionManager=new RN(this.renderer.instance,this.camera.instance,this.canvas),this.assets=t,this.callbacks=i,this.tileUrlTemplate=i.tileUrlTemplate||"",this.usesCustomSatelliteTiles=!!this.tileUrlTemplate,this.adminBoundaryLineScale=this.normalizeAdminBoundaryLineScale(i.adminBoundaryLineScale),this.mapBoundaryEmphasisMaterial=null,this.dynamicSatelliteMaxZoom=nL,this.dynamicSatelliteTileWindow=iL,this.dynamicSatelliteOverlay=null,this.dynamicSatelliteMaterial=null,this.dynamicSatelliteTexture=null,this.dynamicSatelliteCurrentKey="",this.dynamicSatelliteLoadingKey="",this.dynamicSatelliteRequestId=0,this.dynamicSatelliteLastCheck=0,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.yakIndustryPointLabelGroup=null,this.yakIndustryPointLabels=[],this.yakIndustryPointMarkerGroup=null,this.yakIndustryPointMarkers=[],this.yakIndustryMarkerMaterialCache=new Map,this.hongyuanBoundaryPolygons=[],this.townMetaByName=new Map(cy.map(l=>[a8(l.name),l])),this.staticMapData={china:Is(this.assets.instance.getResource("china")),mapJson:Is(this.assets.instance.getResource("mapJson")),mapStroke:Is(this.assets.instance.getResource("mapStroke"))},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),(o=(s=this.canvas)==null?void 0:s.addEventListener)==null||o.call(s,"dblclick",this.handleCanvasBoundaryDoubleClick,!0),this.initEnvironment(),this.init()}init(){this.labelGroup=new ye,this.label3d=new fN(this),this.labelGroup.rotation.x=-Math.PI/2,this.scene.add(this.labelGroup),this.flyLineFocusGroup=new ye,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=_n.timeline({onComplete:()=>{if(this.mapAnimationComplete=!0,this.applyLayerMapView(this.currentTopicLayer,{force:!0}),this.setTradeNationalMapVisible(!1),this.updateYakIndustryPointMarkers(this.currentTopicLayer,this.currentVectorFeatures),this.updateYakIndustryPointLabels(this.currentTopicLayer,this.currentVectorFeatures),A7(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=!A7(this.currentTownRanking)&&this.showTownRankingPointMarkers&&this.hasTownRankingRows(),this.setTradeNationalMapVisible(!1),this.updateYakIndustryPointMarkers(this.currentTopicLayer,this.currentVectorFeatures),this.updateYakIndustryPointLabels(this.currentTopicLayer,this.currentVectorFeatures),A7(this.currentTownRanking)){this.hideAllMapStatisticLabels();return}this.updateVillageRankingLabels(this.currentTownRanking),this.updateTradeFlowLayer(this.currentTownRanking),this.updateInfoPointStats()}},"focusMap"),e.to(this.focusMapTopMaterial,{duration:1,opacity:this.getFocusMapTopOpacity(),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"),this.mapBoundaryEmphasisMaterial&&e.to(this.mapBoundaryEmphasisMaterial,{duration:.5,delay:.3,opacity:this.getAdminBoundaryEmphasisOpacity()},"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"),s=i.element.querySelector(".number .value"),o={progress:0};e.to(a,{duration:1,delay:.2*r,translateY:0,opacity:1,ease:"circ.out"},"bar"),e.to(o,{duration:1,delay:.2*r,progress:1,onStart:()=>{o.progress=0},onUpdate:l},"bar");function l(){var d,f;const c=ce((f=(d=i.userData)==null?void 0:d.targetValue)!=null?f:s.dataset.targetValue);s.innerText=t.formatMapRankingValue(c*o.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 qk(13171711,4.2);this.scene.add(e);let t=new J_(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 Z_(1924702,e.intensity,e.distance);t.position.set(e.x,e.y,e.z),this.scene.add(t)}createMap(){let e=new ye,t=new ye;this.mapGroup=e,this.focusMapGroup=t;let{china:i,chinaTopLine:r}=this.createChina(),{map:a,mapTop:s,mapLine:o,mapBoundaryEmphasis:l}=this.createProvince();i.setParent(e),r.setParent(e),this.createDiffuse(),a.setParent(t),s.setParent(t),o.setParent(t),l==null||l.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.staticMapData.china,i=new Mp({color:new pt(e.chinaBgMaterialColor),transparent:!0,opacity:.72}),r=new Cs(this,{data:t,geoProjectionCenter:this.geoProjectionCenter,geoProjectionScale:this.geoProjectionScale,merge:!0,material:i,renderOrder:2}),a=new f8({color:e.lineColor,transparent:!0,opacity:.58}),s=new T7(this,{data:t,geoProjectionCenter:this.geoProjectionCenter,geoProjectionScale:this.geoProjectionScale,material:a,renderOrder:3});return s.lineGroup.position.z+=.01,{china:r,chinaTopLine:s}}createTradeNationalMap(){var f;if(this.tradeNationalMapGroup)return!0;let e=null;try{e=Is(this.assets.instance.getResource("chinaMap"))}catch(p){return console.warn("牦牛交易全国地图资源未加载",p),!1}const t=e;if(!e||!((f=t==null?void 0:t.features)!=null&&f.length))return!1;const i=new ye;i.name="trade-national-map",i.visible=!1,i.rotation.x=-Math.PI/2,i.position.set(0,.04,0);const r=new Z0({color:403001,transparent:!0,opacity:.14,side:Rt,depthWrite:!1,fog:!1});new Cs(this,{data:e,geoProjectionCenter:this.tradeGeoProjectionCenter,geoProjectionScale:this.tradeGeoProjectionScale,position:new U1(.05,-.05,-.03),material:r,renderOrder:17}).setParent(i);const{topMaterial:s,sideMaterial:o}=this.createTradeNationalMaterials(),l=new iy(this,{data:e,geoProjectionCenter:this.tradeGeoProjectionCenter,geoProjectionScale:this.tradeGeoProjectionScale,position:new U1(0,0,0),depth:this.tradeNationalDepth,topFaceMaterial:s,sideMaterial:o,renderOrder:20,bevelThickness:.024,bevelSegments:1});l.mapGroup.traverse(p=>{p.isMesh&&(p.renderOrder=20)}),l.setParent(i);const c=new f8({color:4777983,transparent:!0,opacity:.52,fog:!1,depthTest:!1}),d=new T7(this,{data:e,geoProjectionCenter:this.tradeGeoProjectionCenter,geoProjectionScale:this.tradeGeoProjectionScale,material:c,renderOrder:21});return d.lineGroup.position.z+=this.tradeNationalDepth+.055,d.setParent(i),this.scene.add(i),this.tradeNationalMapGroup=i,this.createTradeNationalLabels(t),!0}createTradeNationalMaterials(){const e=new zi({color:16777215,transparent:!0,opacity:.54,roughness:.84,metalness:.08,side:Rt,fog:!1});new Es(e,{uColor1:827317,uColor2:403515,size:6.8,dir:"x"});const t=this.assets.instance.getResource("side").clone();t.wrapS=pn,t.wrapT=pn,t.repeat.set(1,1.2),t.needsUpdate=!0;const i=new zi({color:1485501,map:t,transparent:!0,opacity:.58,roughness:.78,metalness:.04,side:Rt,fog:!1});return new Es(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 ye,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 s=this.getFeatureCenterLngLat(i);if(!s)return;const o=this.label3d.create("","trade-national-label",!0);o.init(`<div class="trade-national-name">${mt(a)}</div>`,this.getTradeLocalPoint(s.lng,s.lat,.82)),this.label3d.setLabelStyle(o,.012,"x"),o.setParent(this.tradeNationalLabelGroup),o.visible=!0,this.tradeNationalLabels.push(o)})}normalizeTradeProvinceName(e=""){return String(e).replace(/省|市|自治区|壮族|回族|维吾尔|特别行政区/g,"").trim()}getFeatureCenterLngLat(e){var a,s,o;const t=((a=e==null?void 0:e.properties)==null?void 0:a.cp)||((s=e==null?void 0:e.properties)==null?void 0:s.centroid)||((o=e==null?void 0:e.properties)==null?void 0:o.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,c)=>({minLng:Math.min(l.minLng,Number(c[0])),maxLng:Math.max(l.maxLng,Number(c[0])),minLat:Math.min(l.minLat,Number(c[1])),maxLat:Math.max(l.maxLat,Number(c[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.staticMapData.mapJson;this.mapJsonData=e;const t=fy({geoProjectionCenter:this.geoProjectionCenter,geoProjectionScale:this.geoProjectionScale,zoom:ks,tileUrlTemplate:this.tileUrlTemplate,onTileStatus:f=>{var p,y;return(y=(p=this.callbacks).onTileStatus)==null?void 0:y.call(p,f)}});this.enhanceTexture(t.texture);let[i,r]=this.createProvinceMaterial();this.focusMapTopMaterial=i,this.focusMapSideMaterial=r;let a=new iy(this,{geoProjectionCenter:this.geoProjectionCenter,geoProjectionScale:this.geoProjectionScale,position:new U1(0,0,.11),data:e,depth:this.depth,topFaceMaterial:i,sideMaterial:r,renderOrder:9}),s=new zi({color:16777215,map:t.texture,transparent:!0,opacity:this.usesCustomSatelliteTiles?1:.94,roughness:this.usesCustomSatelliteTiles?.7:.82});this.usesCustomSatelliteTiles||new Es(s,{uColor1:1629410,uColor2:757673}),this.defaultMaterial=s,this.defaultLightMaterial=this.defaultMaterial.clone(),this.defaultLightMaterial.color=new pt("rgba(128,244,255,1)"),this.defaultLightMaterial.opacity=.9;let o=new Cs(this,{geoProjectionCenter:this.geoProjectionCenter,geoProjectionScale:this.geoProjectionScale,position:new U1(0,0,this.depth+.22),data:e,material:s,renderOrder:this.usesCustomSatelliteTiles?14:8});this.satelliteMapTop=o,this.satelliteMaterial=s,my(o,t.uvBounds),o.mapGroup.children.map(f=>{f.children.map(p=>{p.type==="Mesh"&&this.eventElement.push(p)})}),this.mapLineMaterial=new f8({color:12254463,opacity:0,transparent:!0,linewidth:this.adminBoundaryLineScale,fog:!1});let l=new T7(this,{geoProjectionCenter:this.geoProjectionCenter,geoProjectionScale:this.geoProjectionScale,data:e,material:this.mapLineMaterial,renderOrder:3});l.lineGroup.position.z+=this.depth+.23;let c=null;const d=this.getAdminBoundaryEmphasisRadius();return d>0&&(this.mapBoundaryEmphasisMaterial=new Z0({color:9632767,transparent:!0,opacity:0,depthTest:!1,depthWrite:!1,fog:!1,blending:kt}),c=new T7(this,{geoProjectionCenter:this.geoProjectionCenter,geoProjectionScale:this.geoProjectionScale,data:e,material:this.mapBoundaryEmphasisMaterial,renderOrder:this.usesCustomSatelliteTiles?24:18,type:"Line3",tubeRadius:d}),c.lineGroup.position.z+=this.depth+.255),{map:a,mapTop:o,mapLine:l,mapBoundaryEmphasis:c}}normalizeAdminBoundaryLineScale(e){const t=Number(e);return Number.isFinite(t)?Math.min(4,Math.max(1,t)):1}getAdminBoundaryEmphasisRadius(){return this.adminBoundaryLineScale<=1?0:Math.min(.04,.011*this.adminBoundaryLineScale)}getAdminBoundaryEmphasisOpacity(){return this.adminBoundaryLineScale<=1?0:Math.min(.5,.2+this.adminBoundaryLineScale*.08)}createTopicLayer(){if(!this.mapJsonData)return;this.initHongyuanBoundaryPolygons();const e=document.createElement("canvas");e.width=p9.width,e.height=p9.height;const t=e.getContext("2d");t.clearRect(0,0,e.width,e.height);const i=new vo(e);i.colorSpace=Gn,i.wrapS=or,i.wrapT=or,i.minFilter=o4,i.magFilter=o4,this.enhanceTexture(i),i.needsUpdate=!0;const r=new Z0({map:i,transparent:!0,opacity:0,depthWrite:!1,side:Rt,fog:!1}),a=this.createLayerUvBounds(),s=new Cs(this,{geoProjectionCenter:this.geoProjectionCenter,geoProjectionScale:this.geoProjectionScale,position:new U1(0,0,this.depth+.255),data:this.mapJsonData,material:r,renderOrder:18});my(s,a),s.setParent(this.focusMapGroup),this.topicLayerUvBounds=a,this.topicLayerCanvas=e,this.topicLayerContext=t,this.topicLayerTexture=i,this.topicLayerMaterial=r,this.topicLayerMap=s}initHongyuanBoundaryPolygons(){var t,i,r;if((t=this.hongyuanBoundaryPolygons)!=null&&t.length)return;const e=this.staticMapData.mapStroke;this.hongyuanBoundaryPolygons=ky((r=(i=e==null?void 0:e.features)==null?void 0:i[0])==null?void 0:r.geometry)}createSelectedFeatureGroup(){var e;this.selectedFeatureGroup||(this.selectedFeatureGroup=new ye,this.selectedFeatureGroup.name="selected-feature-highlight",this.selectedFeatureGroup.position.z=this.depth+.31,(e=this.focusMapGroup)==null||e.add(this.selectedFeatureGroup))}createLayerUvBounds(){const e=H6().center(this.geoProjectionCenter).scale(this.geoProjectionScale).translate([0,0]),[t]=e([i0.west,i0.south]),[i]=e([i0.east,i0.south]),[,r]=e([i0.west,i0.north]),[,a]=e([i0.west,i0.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.clearYakIndustryPointMarkers(),this.clearYakIndustryPointLabels(),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}`}),Rs(e)){this.loadVectorTopicLayer(e,t);return}const i=new Image;i.crossOrigin="anonymous",i.onload=()=>{var s,o,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=(s=e.opacity)!=null?s:.84,(l=(o=this.callbacks).onLayerStatus)==null||l.call(o,{type:"success",text:"GeoServer 图层已加载"}))},i.onerror=()=>{var s,o;t===this.topicLayerLoadId&&(this.topicLayerContext.clearRect(0,0,this.topicLayerCanvas.width,this.topicLayerCanvas.height),this.topicLayerTexture.needsUpdate=!0,this.topicLayerMaterial.opacity=0,(o=(s=this.callbacks).onLayerStatus)==null||o.call(s,{type:"error",text:"GeoServer 图层加载失败"}))},i.src=vy(e)}setTopicLayers(e=[],t=e[0]){var a,s,o,l;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.clearYakIndustryPointMarkers(),this.clearYakIndustryPointLabels(),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=(a=this.callbacks).onLayerStatus)==null||s.call(a,{type:"success",text:"图层已关闭"});return}if(i.length===1){this.setTopicLayer(W2(W2({},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.clearYakIndustryPointMarkers(),this.clearYakIndustryPointLabels(),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,(l=(o=this.callbacks).onLayerStatus)==null||l.call(o,{type:"loading",text:`正在加载 ${i.length} 个林地图层`}),Promise.all(i.map(c=>this.loadCompositeTopicLayerItem(c))).then(c=>{var p,y,w;if(r!==this.topicLayerLoadId)return;const d=c.filter(Boolean),f=d.find(M=>{var P,D;return M.type==="vector"&&((P=M.layer)==null?void 0:P.key)===((D=this.currentTopicLayer)==null?void 0:D.key)});this.currentVectorFeatures=((p=f==null?void 0:f.geojson)==null?void 0:p.features)||[],this.topicLayerContext.clearRect(0,0,this.topicLayerCanvas.width,this.topicLayerCanvas.height),d.forEach((M,P)=>{var D,B;if(M.type==="image"){this.topicLayerContext.save();const V=P===d.length-1?Math.max(.78,(D=M.layer.opacity)!=null?D:.9):Math.min(.52,(B=M.layer.opacity)!=null?B:.52);this.topicLayerContext.globalAlpha=Math.min(1,Math.max(.28,V)),this.topicLayerContext.drawImage(M.image,0,0,this.topicLayerCanvas.width,this.topicLayerCanvas.height),this.topicLayerContext.restore();return}this.drawVectorTopicLayer(M.layer,M.geojson.features||[],{clear:!1})}),this.updateYakIndustryPointMarkers(this.currentTopicLayer,this.currentVectorFeatures),this.updateYakIndustryPointLabels(this.currentTopicLayer,this.currentVectorFeatures),this.topicLayerTexture.needsUpdate=!0,this.topicLayerMaterial.opacity=d.length?1:0,(w=(y=this.callbacks).onLayerStatus)==null||w.call(y,{type:d.length?"success":"error",text:d.length?`已加载 ${d.length} 个林地图层`:"林地图层加载失败"})})}loadCompositeTopicLayerItem(e){return I3(this,null,function*(){if(Rs(e))try{const t=yield this.fetchVectorLayerGeojson(e);return{type:"vector",layer:e,geojson:t}}catch(t){return null}return this.loadTopicLayerImage(e).then(t=>t?W2({type:"image"},t):null)})}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=vy(e)})}applyLayerMapView(e,t={}){var l,c;if(!((l=this.camera)!=null&&l.instance)||!((c=this.camera)!=null&&c.controls)||!this.mapAnimationComplete&&!t.force)return;const i=e?null:this.currentTownRanking,r=(e==null?void 0:e.mapView)||(e!=null&&e.cameraPosition?{cameraPosition:e.cameraPosition}:null)||(i==null?void 0:i.mapView)||(i!=null&&i.cameraPosition?{cameraPosition:i.cameraPosition}:null),a=r?this.getLayerMapViewTarget(r):this.defaultMapTarget.clone(),s=r?this.getLayerMapViewCameraPosition(r,a):this.defaultMapCameraPosition.clone(),o=r&&Number.isFinite(r.duration)?r.duration:.75;this.animateMapCamera(s,a,o)}getFocusMapTopOpacity(){return this.usesCustomSatelliteTiles?.16:1}getDynamicSatelliteZoom(e){return this.usesCustomSatelliteTiles?e<=4.2?Math.min(this.dynamicSatelliteMaxZoom,21):e<=6.4?Math.min(this.dynamicSatelliteMaxZoom,19):e<=8.4?Math.min(this.dynamicSatelliteMaxZoom,17):e<=11?Math.min(this.dynamicSatelliteMaxZoom,15):e<=14.5?Math.min(this.dynamicSatelliteMaxZoom,13):e<=18?Math.min(this.dynamicSatelliteMaxZoom,11):ks:ks}getCameraTargetLngLat(){var a,s,o,l,c,d,f;const e=(l=(o=(s=(a=this.camera)==null?void 0:a.controls)==null?void 0:s.target)==null?void 0:o.clone)==null?void 0:l.call(o);if(!e)return[102.58,32.72];(d=(c=this.focusMapGroup)==null?void 0:c.updateWorldMatrix)==null||d.call(c,!0,!1);const t=this.focusMapGroup?this.focusMapGroup.worldToLocal(e):e,i=H6().center(this.geoProjectionCenter).scale(this.geoProjectionScale).translate([0,0]),r=((f=i.invert)==null?void 0:f.call(i,[t.x,-t.y]))||[102.58,32.72];return[Math.max(i0.west,Math.min(i0.east,Number(r[0])||102.58)),Math.max(i0.south,Math.min(i0.north,Number(r[1])||32.72))]}getDynamicSatelliteTileWindow(e){return e>=21?3:e>=19?5:e>=17?7:e>=15?this.dynamicSatelliteTileWindow:e>=13?Math.min(11,this.dynamicSatelliteTileWindow+2):Math.min(11,this.dynamicSatelliteTileWindow+2)}getDynamicSatelliteKey(e,t){return t?`${e}:${t.minX}-${t.maxX}:${t.minY}-${t.maxY}`:""}updateDynamicSatelliteTiles(e=!1){if(!this.usesCustomSatelliteTiles||!this.mapAnimationComplete)return;const t=Date.now();if(!e&&t-this.dynamicSatelliteLastCheck<rL)return;this.dynamicSatelliteLastCheck=t;const i=this.camera.instance.position.distanceTo(this.camera.controls.target),r=this.getDynamicSatelliteZoom(i);if(r<=ks){this.hideDynamicSatelliteOverlay();return}const a=this.getCameraTargetLngLat(),s=this.getDynamicSatelliteTileWindow(r),o=LN({zoom:r,centerLngLat:a,maxCols:s,maxRows:s}),l=this.getDynamicSatelliteKey(r,o);!l||l===this.dynamicSatelliteCurrentKey||l===this.dynamicSatelliteLoadingKey||this.loadDynamicSatelliteOverlay({zoom:r,centerLngLat:a,maxTiles:s,key:l})}loadDynamicSatelliteOverlay({zoom:e,centerLngLat:t,maxTiles:i,key:r}){const a=++this.dynamicSatelliteRequestId;this.dynamicSatelliteLoadingKey=r;let s;s=fy({geoProjectionCenter:this.geoProjectionCenter,geoProjectionScale:this.geoProjectionScale,zoom:e,centerLngLat:t,maxCols:i,maxRows:i,tileUrlTemplate:this.tileUrlTemplate,transparentBackground:!0,applyTone:!1,onTileStatus:o=>{var l,c,d,f,p;if((d=(c=this.callbacks).onTileStatus)==null||d.call(c,s3(W2({},o),{text:((l=o.text)==null?void 0:l.replace("影像底图","高清影像底图"))||o.text})),o.type!=="loading"){if(a!==this.dynamicSatelliteRequestId){(p=(f=s==null?void 0:s.texture)==null?void 0:f.dispose)==null||p.call(f);return}if(this.dynamicSatelliteLoadingKey="",Number(o.loaded||0)<=0){this.dynamicSatelliteCurrentKey===r&&this.hideDynamicSatelliteOverlay();return}this.applyDynamicSatelliteOverlay(s,r)}}}),this.applyDynamicSatelliteOverlay(s,r)}ensureDynamicSatelliteOverlay(){var i;if(this.dynamicSatelliteOverlay)return;const e=new Z0({transparent:!0,opacity:0,depthWrite:!1,depthTest:!0,side:Rt,fog:!1}),t=new $e(new I5(1,1),e);t.name="dynamic-satellite-overlay",t.renderOrder=15,t.visible=!1,t.position.z=this.depth+.248,(i=this.focusMapGroup)==null||i.add(t),this.dynamicSatelliteOverlay=t,this.dynamicSatelliteMaterial=e}applyDynamicSatelliteOverlay(e,t){var s,o;if(!(e!=null&&e.texture)||!(e!=null&&e.uvBounds))return;this.ensureDynamicSatelliteOverlay();const i=e.uvBounds,r=Math.max(1e-4,i.right-i.left),a=Math.max(1e-4,i.top-i.bottom);this.dynamicSatelliteOverlay.position.set((i.left+i.right)/2,(i.bottom+i.top)/2,this.depth+.248),this.dynamicSatelliteOverlay.scale.set(r,a,1),this.dynamicSatelliteOverlay.visible=!0,this.dynamicSatelliteTexture&&this.dynamicSatelliteTexture!==e.texture&&((o=(s=this.dynamicSatelliteTexture).dispose)==null||o.call(s)),this.dynamicSatelliteTexture=e.texture,this.dynamicSatelliteMaterial.map=e.texture,this.dynamicSatelliteMaterial.opacity=1,this.dynamicSatelliteMaterial.needsUpdate=!0,this.dynamicSatelliteCurrentKey=t}hideDynamicSatelliteOverlay(){this.dynamicSatelliteOverlay&&(this.dynamicSatelliteOverlay.visible=!1),this.dynamicSatelliteLoadingKey&&(this.dynamicSatelliteRequestId+=1,this.dynamicSatelliteLoadingKey=""),this.dynamicSatelliteCurrentKey=""}ensureMapRevealed(){var e,t,i,r;if(!this.mapAnimationComplete){if((t=(e=this.animateTl)==null?void 0:e.progress)==null||t.call(e,1,!1),(r=(i=this.animateTl)==null?void 0:i.pause)==null||r.call(i),this.mapAnimationComplete=!0,this.focusMapGroup&&(this.focusMapGroup.position.set(0,0,0),this.focusMapGroup.scale.set(1,1,1)),this.focusMapTopMaterial&&(this.focusMapTopMaterial.opacity=this.getFocusMapTopOpacity()),this.focusMapSideMaterial&&(this.focusMapSideMaterial.opacity=1,this.focusMapSideMaterial.transparent=!1),this.mapGroup&&(this.mapGroup.visible=!0),this.labelGroup&&(this.labelGroup.visible=!0),this.flyLineGroup&&(this.flyLineGroup.visible=!0),this.flyLineFocusGroup&&(this.flyLineFocusGroup.visible=!0),this.scatterGroup&&(this.scatterGroup.visible=!0),this.InfoPointGroup&&(this.InfoPointGroup.visible=this.showTownRankingPointMarkers&&this.hasTownRankingRows()),this.applyLayerMapView(this.currentTopicLayer,{force:!0}),this.updateDynamicSatelliteTiles(!0),this.updateYakIndustryPointMarkers(this.currentTopicLayer,this.currentVectorFeatures),this.updateYakIndustryPointLabels(this.currentTopicLayer,this.currentVectorFeatures),A7(this.currentTownRanking)){this.hideAllMapStatisticLabels();return}this.updateVillageRankingLabels(this.currentTownRanking),this.updateTradeFlowLayer(this.currentTownRanking),this.updateInfoPointStats()}}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 U1(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[s,o]=this.geoProjection([r,a]),l=new U1(s,-o,Number(t)||0);return this.focusMapGroup?this.focusMapGroup.localToWorld(l):l}toVector3(e,t){if(Array.isArray(e)){const[s,o,l]=e.map(Number);return[s,o,l].every(Number.isFinite)?new U1(s,o,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 U1(i,r,a):t.clone()}animateMapCamera(e,t,i=.75){this.activeMapViewTweens.forEach(s=>{var o;return(o=s==null?void 0:s.kill)==null?void 0:o.call(s)}),this.activeMapViewTweens=[];const r=this.camera.controls,a=()=>r.update();this.activeMapViewTweens.push(_n.to(this.camera.instance.position,{duration:i,x:e.x,y:e.y,z:e.z,ease:"power2.out",onUpdate:a}),_n.to(r.target,{duration:i,x:t.x,y:t.y,z:t.z,ease:"power2.out",onUpdate:a}))}addSceneTween(e){var t;return e&&(this.sceneTweens.push(e),this.scenePaused&&((t=e.pause)==null||t.call(e)),e)}addSceneTimer(e){return e&&this.sceneTimers.push(e),e}focusTownByName(e,t={}){var s,o,l;const i=this.townMetaByName.get(a8(e));if(!(i!=null&&i.center))return!1;const r=this.lngLatToWorldPoint(i.center,(s=t.targetLocalZ)!=null?s:.82),a=this.getLayerMapViewCameraPosition({distanceScale:(o=t.distanceScale)!=null?o:.82,cameraOffset:t.cameraOffset||{x:0,y:1.2,z:0}},r);return this.animateMapCamera(a,r,(l=t.duration)!=null?l:.75),!0}focusYakIndustryPoint(e={}){var a,s;const t=this.getYakIndustryPayloadCoordinate(e);if(!t)return(s=(a=this.callbacks).onLayerStatus)==null||s.call(a,{type:"warning",text:"当前主体暂无可定位坐标"}),{focused:!1,screen:null};const i=this.findYakIndustryPointFeature(e,t);return i?this.setSelectedVectorFeatures([i]):this.clearSelectedFeature(),{focused:this.flyToLngLat(t,{span:.035,duration:.72,statusText:"已定位产业主体"}),screen:this.getYakIndustryPointScreen(e),feature:i}}getYakIndustryPointScreen(e={}){const t=this.getYakIndustryPayloadCoordinate(e);return t?this.lngLatToLayerScreenPoint(t,this.depth+.36)||this.lngLatToScreenPoint(t,this.depth+.32):null}getYakIndustryPayloadCoordinate(e={}){var a,s,o,l,c;const t=((a=e.geometry)==null?void 0:a.coordinates)||e.coordinates,i=Number((o=(s=e.longitude)!=null?s:e.lng)!=null?o:t==null?void 0:t[0]),r=Number((c=(l=e.latitude)!=null?l:e.lat)!=null?c:t==null?void 0:t[1]);return!Number.isFinite(i)||!Number.isFinite(r)?null:[i,r]}findYakIndustryPointFeature(e={},t=this.getYakIndustryPayloadCoordinate(e)){const i=this.getVisibleVectorFeatures(this.currentTopicLayer,this.currentVectorFeatures||[]),r=String(e.id||e.key||""),a=String(e.fullName||e.name||"").trim(),s=String(e.stageKey||""),o=i.find(l=>{const c=(l==null?void 0:l.properties)||{};return!!(r&&String(c.id||"")===r||a&&String(c.name||c.fullName||"").trim()===a)});return o||t&&i.find(l=>{var d;if(((d=l==null?void 0:l.geometry)==null?void 0:d.type)!=="Point")return!1;const c=l.properties||{};return s&&String(c.stageKey||"")!==s?!1:this.getCoordinateDistance(l.geometry.coordinates,t)<=8e-4})||null}loadVectorTopicLayer(e,t){return I3(this,null,function*(){var i,r,a,s,o;try{const l=yield this.fetchVectorLayerGeojson(e);if(t!==this.topicLayerLoadId)return;this.currentVectorFeatures=l.features||[],this.drawVectorTopicLayer(e,this.currentVectorFeatures),this.updateYakIndustryPointMarkers(e,this.currentVectorFeatures),this.updateYakIndustryPointLabels(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.clearYakIndustryPointMarkers(),this.clearYakIndustryPointLabels(),this.topicLayerContext.clearRect(0,0,this.topicLayerCanvas.width,this.topicLayerCanvas.height),this.topicLayerTexture.needsUpdate=!0,this.topicLayerMaterial.opacity=0,(o=(s=this.callbacks).onLayerStatus)==null||o.call(s,{type:"error",text:"真实矢量图层加载失败"})}})}fetchVectorLayerGeojson(e){return I3(this,null,function*(){var a,s;if(e.sourceType==="geojson"){if(((a=e.geojsonData)==null?void 0:a.type)==="FeatureCollection")return e.geojsonData;const o=yield fetch(My(e.dataPath),{credentials:"include"});if(!o.ok)throw new Error(`HTTP ${o.status}`);return yield o.json()}if(e.sourceType==="wfs"){const o=yield Po(e.layerName,{cqlFilter:e.cqlFilter,maxFeatures:e.maxFeatures||1200,timeout:e.timeout||18e3});return(o==null?void 0:o.type)==="FeatureCollection"?o:{type:"FeatureCollection",features:(o==null?void 0:o.features)||[]}}let t=[],i=null;try{const o=yield fetch(e.apiUrl,{credentials:"include"});if(!o.ok)throw new Error(`HTTP ${o.status}`);const l=yield o.json();t=Array.isArray(l==null?void 0:l.data)?l.data:Array.isArray((s=l==null?void 0:l.data)==null?void 0:s.rows)?l.data.rows:[]}catch(o){i=o}let r=this.buildWktLayerFeatures(t);if((!t.length||!r.length)&&e.fallbackPath){const o=yield fetch(My(e.fallbackPath),{credentials:"include"});if(!o.ok)throw i||new Error(`HTTP ${o.status}`);const l=yield o.json();t=Array.isArray(l==null?void 0:l.rows)?l.rows:[],r=this.buildWktLayerFeatures(t)}return{type:"FeatureCollection",features:r}})}buildWktLayerFeatures(e=[]){return(e||[]).map(t=>({type:"Feature",properties:{id:t.id,type:t.type,totalAcreage:t.totalAcreage,cdAcreage:t.cdAcreage,sdAcreage:t.sdAcreage,cdScl:t.cdScl,sdScl:t.sdScl},geometry:this.parseWktGeometry(this.pickWktValue(t))})).filter(t=>t.geometry)}pickWktValue(e={}){return e.wkt||e.WKT||e.geom||e.geometry||e.the_geom||e.theGeom||e.shape||e.Shape}drawVectorTopicLayer(e,t,i={}){const r=this.topicLayerContext;i.clear!==!1&&r.clearRect(0,0,this.topicLayerCanvas.width,this.topicLayerCanvas.height),r.save(),r.lineJoin="round",r.lineCap="round",this.clipVectorLayerContext(r,e);const s=this.getVisibleVectorFeatures(e,t).sort((o,l)=>{var f,p;const c=this.getGeometryDrawRank((f=o.geometry)==null?void 0:f.type),d=this.getGeometryDrawRank((p=l.geometry)==null?void 0:p.type);return c-d});s.forEach(o=>{const l=this.getVectorFeatureStyle(e,o);this.drawVectorFeature(r,o.geometry,l)}),this.drawNationalParkBoundaryOverlay(r,e,s),this.drawSelectedVectorOverlay(r),r.restore()}drawNationalParkBoundaryOverlay(e,t,i=[]){(t==null?void 0:t.key)!=="national-park-zoning"||!i.length||i.forEach(r=>{const a=this.getVectorFeatureStyle(t,r);this.drawVectorFeature(e,r.geometry,s3(W2({},a),{fill:"#001D2C",stroke:"#001D2C",polygonAlpha:0,lineAlpha:.58,lineWidth:12,glow:!0})),this.drawVectorFeature(e,r.geometry,s3(W2({},a),{fill:"#F8FFFF",stroke:"#F8FFFF",polygonAlpha:0,lineAlpha:.96,lineWidth:3.2,glow:!1}))})}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 s=this.isEcologicalProjectLayer(this.currentTopicLayer),o={fill:Sy,stroke:sL,polygonAlpha:s?.2:.28,lineAlpha:s?.78:.98,lineWidth:s?6:12,pointRadius:11,glow:!s,halo:!s},l={fill:Sy,stroke:aL,polygonAlpha:s?.34:.52,lineAlpha:s?.94:1,lineWidth:s?3.2:5,pointRadius:6.5,glow:!1,halo:!1};if(e.save(),t.forEach(c=>{var f;const d=(c==null?void 0:c.geometry)||((f=c==null?void 0:c.feature)==null?void 0:f.geometry);this.drawVectorFeature(e,d,o),this.drawVectorFeature(e,d,l)}),i.forEach(c=>{var f;const d=(c==null?void 0:c.geometry)||((f=c==null?void 0:c.feature)==null?void 0:f.geometry);this.drawVectorFeature(e,d,{fill:"#FF8A3D",stroke:"#FFE15A",polygonAlpha:s?.22:.28,lineAlpha:s?.88:.98,lineWidth:s?2.8:5,pointRadius:6,glow:!s})}),r!=null&&r.geometry&&this.drawVectorFeature(e,r.geometry,{fill:"#24F6C4",stroke:"#FFFFFF",polygonAlpha:s?.12:.18,lineAlpha:s?.92:1,lineWidth:s?3:4,pointRadius:6,glow:!s}),a.length){const c=a.map(f=>[f.lng,f.lat]),d={type:"LineString",coordinates:this.boundaryDrawingEnabled?c:[...c,c[0]].filter(Boolean)};this.drawVectorFeature(e,d,{fill:"#24F6C4",stroke:"#24F6C4",polygonAlpha:s?.08:.12,lineAlpha:1,lineWidth:s?3:4,pointRadius:6,glow:!s}),c.forEach(f=>{this.drawVectorFeature(e,{type:"Point",coordinates:f},{fill:"#FFFFFF",stroke:"#24F6C4",polygonAlpha:.2,lineAlpha:1,lineWidth:s?2.4:3,pointRadius:5.5,glow:!s})})}e.restore()}redrawVectorTopicLayer(){!this.topicLayerContext||!this.topicLayerTexture||!this.currentTopicLayer||!Rs(this.currentTopicLayer)||(this.drawVectorTopicLayer(this.currentTopicLayer,this.currentVectorFeatures||[]),this.updateYakIndustryPointMarkers(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(o=>{var l,c;return String((c=(l=o==null?void 0:o.properties)==null?void 0:l[r.field])!=null?c:"")===String(r.value)});const s=String((e==null?void 0:e.cqlFilter)||"").trim().match(/^([a-zA-Z0-9_]+)\s*=\s*'((?:''|[^'])*)'$/);if(s){const[,o,l]=s,c=l.replace(/''/g,"'");return(t||[]).filter(d=>{var f,p;return String((p=(f=d==null?void 0:d.properties)==null?void 0:f[o])!=null?p:"")===c})}return[...t||[]]}updateYakIndustryPointLabels(e=this.currentTopicLayer,t=this.currentVectorFeatures){if(this.clearYakIndustryPointLabels(),(e==null?void 0:e.showPointLabels)===!1||(e==null?void 0:e.key)!=="yak-industry-points"||!this.label3d)return;const i=this.getYakIndustryLabelFeatures(e,t);i.length&&(this.ensureYakIndustryPointLabelGroup(),i.forEach((r,a)=>{var o;let s=this.yakIndustryPointLabels[a];s||(s=this.label3d.create("","yak-industry-point-label",!0),this.label3d.setLabelStyle(s,.012,"x"),s.setParent(this.yakIndustryPointLabelGroup),this.yakIndustryPointLabels.push(s)),s.element.className="yak-industry-point-label",s.init(this.getYakIndustryPointLabelHtml(r),this.getYakIndustryPointLabelPosition(r,a)),s.visible=!0,(o=s.show)==null||o.call(s),s.userData={feature:r}}),this.yakIndustryPointLabels.slice(i.length).forEach(r=>{var a;r.visible=!1,(a=r.hide)==null||a.call(r),r.userData=null}),this.yakIndustryPointLabelGroup.visible=!!this.mapAnimationComplete)}updateYakIndustryPointMarkers(e=this.currentTopicLayer,t=this.currentVectorFeatures){if(this.clearYakIndustryPointMarkers(),(e==null?void 0:e.key)!=="yak-industry-points")return;const i=this.getVisibleVectorFeatures(e,t).filter(r=>{var a;return((a=r==null?void 0:r.geometry)==null?void 0:a.type)==="Point"});i.length&&(this.ensureYakIndustryPointMarkerGroup(),i.forEach((r,a)=>{let s=this.yakIndustryPointMarkers[a];const o=this.getVectorFeatureStyle(e,r),l=this.getYakIndustryMarkerMaterial(o,r),c=this.lngLatToLayerLocalPoint(r.geometry.coordinates,this.depth+.36),d=Number(e==null?void 0:e.pointSpriteScale)||.34,f=this.getYakIndustryMarkerType(r);s||(s=new wi(l),s.name="yak-industry-point-marker",s.renderOrder=42,this.bindYakIndustryPointMarkerEvents(s),this.interactionManager.add(s),this.yakIndustryPointMarkerGroup.add(s),this.yakIndustryPointMarkers.push(s)),s.material=l,s.center.set(.5,.5),s.position.copy(c),s.scale.set(d*.88,d*.88,1),s.visible=!0,s.userData={feature:r,layer:e,index:a,markerType:f}}),this.yakIndustryPointMarkers.slice(i.length).forEach(r=>{r.visible=!1,r.userData=null}),this.yakIndustryPointMarkerGroup.visible=!!this.mapAnimationComplete)}ensureYakIndustryPointMarkerGroup(){var e;this.yakIndustryPointMarkerGroup||(this.yakIndustryPointMarkerGroup=new ye,this.yakIndustryPointMarkerGroup.name="yak-industry-point-markers",this.yakIndustryPointMarkerGroup.visible=!1,(e=this.focusMapGroup)==null||e.add(this.yakIndustryPointMarkerGroup))}clearYakIndustryPointMarkers(){var e;this.yakIndustryPointMarkerGroup&&(this.yakIndustryPointMarkerGroup.visible=!1),(e=this.yakIndustryPointMarkers)==null||e.forEach(t=>{t.visible=!1})}bindYakIndustryPointMarkerEvents(e){e.addEventListener("mousedown",t=>{var a,s,o,l,c,d,f,p,y;if(this.clicked||!((a=this.yakIndustryPointMarkerGroup)!=null&&a.visible))return!1;const i=(o=(s=t.target)==null?void 0:s.userData)==null?void 0:o.feature;if(!i)return!1;this.clicked=!0;const r=((l=i.geometry)==null?void 0:l.coordinates)||[];this.setSelectedVectorFeatures([i]),(y=(p=this.callbacks).onFeatureInfo)==null||y.call(p,{feature:{id:((c=i.properties)==null?void 0:c.id)||((d=i.properties)==null?void 0:d.feature_id)||((f=i.properties)==null?void 0:f.project_name),properties:i.properties||{},feature:i,layer:this.currentTopicLayer,lngLat:{lng:Number(r[0]),lat:Number(r[1])}},screen:this.getPointFeatureScreenPoint(i)})}),e.addEventListener("mouseup",()=>{this.clicked=!1}),e.addEventListener("mouseover",()=>{e.visible&&(document.body.style.cursor="pointer")}),e.addEventListener("mouseout",()=>{document.body.style.cursor="default"})}getYakIndustryMarkerMaterial(e,t){const i=e.markerType||this.getYakIndustryMarkerType(t),r=`${e.fill||"#24F6C4"}-${e.stroke||"#B7FFF2"}-${i}`,a=this.yakIndustryMarkerMaterialCache.get(r);if(a)return a;const s=this.createYakIndustryMarkerTexture(e.fill,e.stroke,i),o=new Ci({map:s,transparent:!0,depthTest:!1,depthWrite:!1,fog:!1});return this.yakIndustryMarkerMaterialCache.set(r,o),o}getYakIndustryMarkerType(e={}){var i;const t=String(((i=e==null?void 0:e.properties)==null?void 0:i.stageKey)||"");return Ty[t]||"point"}createYakIndustryMarkerTexture(e="#24F6C4",t="#B7FFF2",i="point"){const r=document.createElement("canvas");r.width=112,r.height=112;const a=r.getContext("2d"),s=56,o=56;a.clearRect(0,0,r.width,r.height),a.beginPath(),a.arc(s,o,42,0,Math.PI*2),a.fillStyle=this.hexToRgba(e,.18),a.shadowColor=e,a.shadowBlur=20,a.fill(),this.drawYakIndustryMarkerFrame(a,i,s,o,e,t||e),a.save(),a.shadowBlur=0,a.beginPath(),a.arc(s,o,19,0,Math.PI*2),a.fillStyle="rgba(3, 23, 34, 0.64)",a.fill(),a.strokeStyle=this.hexToRgba("#FFFFFF",.32),a.lineWidth=2,a.stroke(),a.restore(),this.drawYakIndustryMarkerGlyph(a,i,s,o,"#FFFFFF");const l=new vo(r);return l.colorSpace=Gn,l.needsUpdate=!0,l}drawYakIndustryMarkerFrame(e,t,i,r,a="#24F6C4",s="#B7FFF2"){if(e.save(),e.translate(i,r),e.fillStyle=this.hexToRgba(a,.92),e.strokeStyle=this.hexToRgba(s||a,.98),e.lineWidth=4,e.shadowColor=s||a,e.shadowBlur=14,t==="pasture")e.beginPath(),e.moveTo(-34,-9),e.lineTo(0,-38),e.lineTo(34,-9),e.lineTo(28,-9),e.lineTo(28,24),e.quadraticCurveTo(28,31,21,31),e.lineTo(-21,31),e.quadraticCurveTo(-28,31,-28,24),e.lineTo(-28,-9),e.closePath();else if(t==="grass")e.beginPath(),e.moveTo(0,-38),e.bezierCurveTo(31,-22,34,18,0,38),e.bezierCurveTo(-34,18,-31,-22,0,-38),e.closePath();else if(t==="breeding"){e.beginPath();for(let o=0;o<6;o+=1){const l=-Math.PI/2+Math.PI*2*o/6,c=Math.cos(l)*35,d=Math.sin(l)*35;o===0?e.moveTo(c,d):e.lineTo(c,d)}e.closePath()}else if(t==="storage")e.beginPath(),e.moveTo(-34,-25),e.lineTo(25,-25),e.lineTo(35,-13),e.lineTo(35,27),e.lineTo(-25,27),e.lineTo(-35,15),e.lineTo(-35,-25),e.closePath();else if(t==="processing"){e.beginPath();for(let o=0;o<10;o+=1){const l=-Math.PI/2+Math.PI*2*o/10,c=o%2===0?38:30,d=Math.cos(l)*c,f=Math.sin(l)*c;o===0?e.moveTo(d,f):e.lineTo(d,f)}e.closePath()}else if(t==="equipment"){e.beginPath();for(let o=0;o<16;o+=1){const l=-Math.PI/2+Math.PI*2*o/16,c=o%2===0?38:30,d=Math.cos(l)*c,f=Math.sin(l)*c;o===0?e.moveTo(d,f):e.lineTo(d,f)}e.closePath()}else t==="service"?(e.beginPath(),e.moveTo(0,-39),e.lineTo(31,-24),e.lineTo(25,14),e.quadraticCurveTo(0,39,-25,14),e.lineTo(-31,-24),e.closePath()):(e.beginPath(),e.arc(0,0,34,0,Math.PI*2));e.fill(),e.stroke(),e.restore()}drawYakIndustryMarkerGlyph(e,t,i,r,a="#24F6C4"){if(e.save(),e.translate(i,r),e.lineCap="round",e.lineJoin="round",e.shadowBlur=0,e.fillStyle=this.hexToRgba(a,.98),e.strokeStyle=this.hexToRgba(a,.98),e.lineWidth=3,t==="pasture")e.beginPath(),e.moveTo(-12,-2),e.lineTo(0,-11),e.lineTo(12,-2),e.stroke(),e.fillRect(-9,-2,18,12),e.clearRect(-3,2,6,8);else if(t==="grass")e.beginPath(),e.moveTo(0,10),e.quadraticCurveTo(-10,1,-7,-10),e.moveTo(0,10),e.quadraticCurveTo(10,1,7,-10),e.moveTo(0,10),e.quadraticCurveTo(0,0,1,-12),e.stroke();else if(t==="breeding")e.beginPath(),e.moveTo(-8,-5),e.quadraticCurveTo(-15,-12,-18,-4),e.moveTo(8,-5),e.quadraticCurveTo(15,-12,18,-4),e.stroke(),e.beginPath(),e.ellipse(0,1,11,12,0,0,Math.PI*2),e.fill(),e.fillStyle=this.hexToRgba("#08202D",.85),e.fillRect(-5,-2,3,3),e.fillRect(2,-2,3,3);else if(t==="storage")e.beginPath(),e.moveTo(-13,-3),e.lineTo(0,-11),e.lineTo(13,-3),e.lineTo(13,9),e.lineTo(-13,9),e.closePath(),e.fill(),e.strokeStyle=this.hexToRgba("#08202D",.72),e.lineWidth=2,e.beginPath(),e.moveTo(-8,0),e.lineTo(8,0),e.moveTo(-8,5),e.lineTo(8,5),e.stroke();else if(t==="processing")e.beginPath(),e.moveTo(-13,8),e.lineTo(-13,-1),e.lineTo(-5,-6),e.lineTo(-5,-1),e.lineTo(3,-6),e.lineTo(3,-1),e.lineTo(12,-6),e.lineTo(12,8),e.closePath(),e.fill(),e.fillRect(-13,-11,5,7),e.fillStyle=this.hexToRgba("#08202D",.72),e.fillRect(-8,2,4,3),e.fillRect(0,2,4,3),e.fillRect(7,2,4,3);else if(t==="equipment"){for(let s=0;s<8;s+=1)e.save(),e.rotate(Math.PI*2*s/8),e.fillRect(8,-2,5,4),e.restore();e.beginPath(),e.arc(0,0,9,0,Math.PI*2),e.fill(),e.fillStyle=this.hexToRgba("#FFFFFF",.98),e.beginPath(),e.arc(0,0,4,0,Math.PI*2),e.fill()}else t==="service"?(e.beginPath(),e.moveTo(0,-13),e.lineTo(12,-7),e.lineTo(9,6),e.quadraticCurveTo(0,14,-9,6),e.lineTo(-12,-7),e.closePath(),e.fill(),e.strokeStyle=this.hexToRgba("#FFFFFF",.94),e.lineWidth=2.4,e.beginPath(),e.moveTo(0,-7),e.lineTo(0,6),e.moveTo(-6,-1),e.lineTo(6,-1),e.stroke()):(e.beginPath(),e.arc(0,0,7,0,Math.PI*2),e.fill());e.restore()}ensureYakIndustryPointLabelGroup(){this.yakIndustryPointLabelGroup||(this.yakIndustryPointLabelGroup=new ye,this.yakIndustryPointLabelGroup.name="yak-industry-point-labels",this.yakIndustryPointLabelGroup.rotation.x=-Math.PI/2,this.yakIndustryPointLabelGroup.visible=!1,this.scene.add(this.yakIndustryPointLabelGroup))}clearYakIndustryPointLabels(){var e;this.yakIndustryPointLabelGroup&&(this.yakIndustryPointLabelGroup.visible=!1),(e=this.yakIndustryPointLabels)==null||e.forEach(t=>{var i;t.visible=!1,(i=t.hide)==null||i.call(t)})}getYakIndustryLabelFeatures(e,t){const i=this.getVisibleVectorFeatures(e,t).filter(l=>{var c;return((c=l==null?void 0:l.geometry)==null?void 0:c.type)==="Point"}),r=Number(e==null?void 0:e.pointLabelLimit)||(i.length>36?12:Math.min(i.length,16)),a=i.map(l=>{var c;return{feature:l,score:this.getYakIndustryFeatureScore(l),town:a8((c=l.properties)==null?void 0:c.town)}}).sort((l,c)=>{var d,f;return c.score-l.score||String(((d=l.feature.properties)==null?void 0:d.name)||"").localeCompare(String(((f=c.feature.properties)==null?void 0:f.name)||""),"zh-CN")}),s=[],o=new Set;return a.forEach(l=>{s.length>=r||!l.town||o.has(l.town)||(s.push(l.feature),o.add(l.town))}),a.forEach(l=>{s.length>=r||s.includes(l.feature)||s.push(l.feature)}),s}getYakIndustryFeatureScore(e){const t=(e==null?void 0:e.properties)||{},i=[t.outputValue,t.capacity,t.value,t.count,t["年产值 (万元)"],t["年总产值 (万元)"],t["设计存栏量 (头)"],t["总库容 (吨)"]].map(r=>this.parseMapMetricNumber(r));return Math.max(...i,0)}parseMapMetricNumber(e){if(typeof e=="number")return Number.isFinite(e)?e:0;const t=String(e!=null?e:"").replace(/,/g,"").match(/-?\d+(?:\.\d+)?/);return t&&Number(t[0])||0}getYakIndustryPointLabelPosition(e,t=0){var r;const i=this.lngLatToLayerLocalPoint((r=e==null?void 0:e.geometry)==null?void 0:r.coordinates,this.depth+.42+Math.min(t,5)*.01);return i.x+=(t%3-1)*.08,i.y+=t%2===0?.07:-.06,i}getYakIndustryPointLabelHtml(e){const t=(e==null?void 0:e.properties)||{},i=this.compactYakIndustryLabelName(t.name||t.fullName||"产业主体"),r=this.formatYakIndustryLabelText(t.categoryName||t.stageName||"产业主体"),a=t.town||t.village||"红原县",s=this.getYakIndustryPointMetricText(t),o=this.getYakIndustryLabelColor(t);return`<div class="yak-industry-point-label-wrap" style="--yak-point-color:${mt(o)}">
<div class="yak-industry-point-label-head"><i></i><span>${mt(r)}</span></div>
<div class="yak-industry-point-label-name">${mt(i)}</div>
<div class="yak-industry-point-label-meta">
<span>${mt(a)}</span>
${s?`<strong>${mt(s)}</strong>`:""}
</div>
</div>`}compactYakIndustryLabelName(e=""){const t=String(e).replace(/^四川红原/,"").replace(/^红原县/,"").replace(/有限责任公司$/,"").replace(/农民专业合作社$/,"合作社").replace(/\s+/g," ").trim();return t.length>16?`${t.slice(0,15)}…`:t}formatYakIndustryLabelText(e=""){return String(e).replace(/\bcxpt[-_./\s]*/gi,"").replace(/^cxpt/i,"").replace(/\s+/g," ").trim()}getYakIndustryPointMetricText(e={}){return e.capacity!==void 0&&e.capacity!==null&&e.capacity!==""&&this.parseMapMetricNumber(e.capacity)>0?this.formatYakIndustryMetricText(e.capacity,e.capacityUnit):this.parseMapMetricNumber(e.outputValue)>0?`${this.formatMapRankingValue(e.outputValue)}万元`:this.isMeaningfulMapText(e.locationType)?e.locationType:this.isMeaningfulMapText(e.status)?e.status:""}isMeaningfulMapText(e){const t=String(e!=null?e:"").trim();return!!(t&&t!=="0"&&t!=="无"&&t!=="待完善")}formatYakIndustryMetricText(e,t=""){const i=String(e!=null?e:"").trim();return!i||i==="0"?"":typeof e=="string"&&/[^\d.,\s-]/.test(i)?i:`${this.formatMapRankingValue(e)}${t||""}`}getYakIndustryLabelColor(e={}){var r,a,s,o,l,c;const t=String(e.stageKey||""),i=(((r=this.currentTopicLayer)==null?void 0:r.legends)||[]).find(d=>{var f;return String(((f=d.match)==null?void 0:f.value)||"")===t})||(String(((o=(s=(a=this.currentTopicLayer)==null?void 0:a.activeLegend)==null?void 0:s.match)==null?void 0:o.value)||"")===t?this.currentTopicLayer.activeLegend:null);return(i==null?void 0:i.fillColor)||((c=(l=this.currentTopicLayer)==null?void 0:l.activeLegend)==null?void 0:c.fillColor)||"#24F6C4"}clipVectorLayerContext(e,t){if(this.shouldClipLayerToHongyuanBoundary(t)&&this.clipContextToHongyuanBoundary(e),!this.shouldClipLayerToLayerBounds(t))return;const i=this.getLayerClipBounds(t);if(!i)return;const r=this.lngLatToLayerCanvasPoint([i.west,i.north]),a=this.lngLatToLayerCanvasPoint([i.east,i.south]),s=Math.min(r.x,a.x),o=Math.min(r.y,a.y),l=Math.abs(a.x-r.x),c=Math.abs(a.y-r.y);!l||!c||(e.beginPath(),e.rect(s,o,l,c),e.clip())}clipContextToHongyuanBoundary(e){const t=this.hongyuanBoundaryPolygons||[];t.length&&(e.beginPath(),t.forEach(i=>{i.forEach(r=>{r.forEach((a,s)=>{const o=this.lngLatToLayerCanvasPoint(a);s===0?e.moveTo(o.x,o.y):e.lineTo(o.x,o.y)}),e.closePath()})}),e.clip("evenodd"))}shouldClipLayerToHongyuanBoundary(e=this.currentTopicLayer){if(!e||e.clipToHongyuanBoundary===!1)return!1;if(e.clipToHongyuanBoundary===!0)return!0;const t=String((e==null?void 0:e.key)||"");return!!(t==="national-park-zoning"||t.startsWith("yak-"))}shouldClipLayerToLayerBounds(e=this.currentTopicLayer){return!!(e!=null&&e.clipBounds&&(e==null?void 0:e.clipToLayerBounds)!==!1)}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),i0.west),r=Math.max(Number(t.south),i0.south),a=Math.min(Number(t.east),i0.east),s=Math.min(Number(t.north),i0.north);return![i,r,a,s].every(Number.isFinite)||i>=a||r>=s?null:{west:i,south:r,east:a,north:s}}getGeometryDrawRank(e){return String(e).includes("Polygon")?1:String(e).includes("LineString")?2:3}isEcologicalProjectLayer(e=this.currentTopicLayer){return["restoration-projects","engineering-analysis-projects"].includes(e==null?void 0:e.key)}getVectorFeatureStyle(e,t){var l,c,d;const i=t.properties||{},a=(e.legends||[]).find(f=>{var y;const p=f.match;return p?String((y=i[p.field])!=null?y:"")===String(p.value):!1})||e.activeLegend||((l=e.legends)==null?void 0:l[0])||{},s=String(((c=t.geometry)==null?void 0:c.type)||"").includes("LineString"),o=((d=t.geometry)==null?void 0:d.type)==="Point";if(this.isEcologicalProjectLayer(e)){const f=s||String(i.feature_role||"")==="线性设施";return{fill:f||o?a.strokeColor||a.fillColor||"#D2EA78":a.fillColor||"#75AD49",stroke:a.strokeColor||a.fillColor||"#D2EA78",polygonAlpha:f?.08:.22,lineAlpha:f?.9:.82,lineWidth:f?3:1.85,pointRadius:o?3.8:4,glow:!1}}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,marker:!0,markerType:Ty[String(i.stageKey||"")]||"point"}:(e==null?void 0:e.key)==="national-park-zoning"?{fill:a.fillColor||"#30DCFF",stroke:a.strokeColor||"#F2FFFF",polygonAlpha:.36,lineAlpha:1,lineWidth:5.8,pointRadius:4.5,glow:!0}:e!=null&&e.boundaryOnly?{fill:a.fillColor||"#24F6C4",stroke:a.strokeColor||a.fillColor||"#18F8FF",polygonAlpha:.04,lineAlpha:.96,lineWidth:10,pointRadius:4.5,glow:!0}:{fill:s||o?a.strokeColor||a.fillColor||"#30DCFF":a.fillColor||"#30DCFF",stroke:a.strokeColor||a.fillColor||"#30DCFF",polygonAlpha:.36,lineAlpha:s?.92:.9,lineWidth:s?5:2.4,pointRadius:o?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"?10.4: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,s)=>{const o=this.lngLatToLayerCanvasPoint(a);s===0?e.moveTo(o.x,o.y):e.lineTo(o.x,o.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 s=this.lngLatToLayerCanvasPoint(r);a===0?e.moveTo(s.x,s.y):e.lineTo(s.x,s.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;if(i.marker){this.drawMarkerPointPath(e,t,i);return}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()}drawMarkerPointPath(e,t,i){const r=this.lngLatToLayerCanvasPoint(t),a=i.pointRadius||6;e.save(),e.beginPath(),e.arc(r.x,r.y+a*.22,a*2.55,0,Math.PI*2),e.fillStyle=this.hexToRgba(i.fill,.16),e.shadowColor=i.fill,e.shadowBlur=24,e.fill(),e.beginPath(),e.moveTo(r.x,r.y+a*2.05),e.bezierCurveTo(r.x+a*1.46,r.y+a*.62,r.x+a*1.34,r.y-a*1.34,r.x,r.y-a*1.62),e.bezierCurveTo(r.x-a*1.34,r.y-a*1.34,r.x-a*1.46,r.y+a*.62,r.x,r.y+a*2.05),e.closePath(),e.fillStyle=this.hexToRgba(i.fill,.94),e.strokeStyle=this.hexToRgba(i.stroke,.98),e.lineWidth=Math.max(2,i.lineWidth||2),e.shadowColor=i.stroke,e.shadowBlur=14,e.fill(),e.stroke(),e.beginPath(),e.arc(r.x,r.y-a*.34,a*.52,0,Math.PI*2),e.fillStyle=this.hexToRgba("#FFFFFF",.96),e.shadowBlur=0,e.fill(),e.beginPath(),e.arc(r.x,r.y-a*.34,a*.82,0,Math.PI*2),e.lineWidth=Math.max(1.2,a*.14),e.strokeStyle=this.hexToRgba("#FFFFFF",.42),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-i0.west)/(i0.east-i0.west)*this.topicLayerCanvas.width,y:(i0.north-i)/(i0.north-i0.south)*this.topicLayerCanvas.height}}hexToRgba(e,t=1){const i=String(e||"#30DCFF").replace("#",""),r=i.length===3?i.split("").map(c=>c+c).join(""):i,a=Number.parseInt(r,16);if(!Number.isFinite(a))return`rgba(48, 220, 255, ${t})`;const s=a>>16&255,o=a>>8&255,l=a&255;return`rgba(${s}, ${o}, ${l}, ${t})`}parseWktGeometry(e){var s;const t=String(e||"").trim();if(!t)return null;const i=t.match(/^([A-Z]+)(?:\s+[A-Z]+)?\s*\(/i),r=(s=i==null?void 0:i[1])==null?void 0:s.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(o=>this.parseWktPoint(o)).filter(Boolean)}:r==="LINESTRING"?{type:"LineString",coordinates:this.parseWktRing(a)}:r==="MULTILINESTRING"?{type:"MultiLineString",coordinates:this.getWktChildGroups(a).map(o=>this.parseWktRing(o)).filter(o=>o.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,s=-1;for(let o=0;o<i.length;o+=1){const l=i[o];l==="("?(a===0&&(s=o),a+=1):l===")"&&(a-=1,a===0&&s>=0&&(r.push(i.slice(s,o+1)),s=-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 Mp({color:16777215,transparent:!0,opacity:0,depthWrite:!this.usesCustomSatelliteTiles,fog:!1,side:Rt});e.onBeforeCompile=r=>{r.uniforms=s3(W2({},r.uniforms),{uColor1:{value:new pt(2152676)},uColor2:{value:new pt(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=pn,t.wrapT=pn,t.repeat.set(1,1.8),t.offset.y+=.065;let i=new zi({color:2148829,map:t,fog:!1,opacity:0,side:Rt,roughness:.58,metalness:.08});return this.time.on("tick",()=>{t.offset.y+=.005}),i.onBeforeCompile=r=>{r.uniforms=s3(W2({},r.uniforms),{uColor1:{value:new pt(1629410)},uColor2:{value:new pt(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:cy.map(e=>({name:e.name,value:0,unit:""}))}}getTownRankingMeta(e=this.currentTownRanking){var r,a,s;const t=this.getDefaultTownRanking(),i=uL(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:Py(e),hideMapLabels:A7(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,onlyRankedTownLabels:(s=e==null?void 0:e.onlyRankedTownLabels)!=null?s:!1,showMissingTownStats:(e==null?void 0:e.showMissingTownStats)===!0}}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:[],s=this.getTownRankingMeta(e),o=a.map(c=>{const d=this.townMetaByName.get(a8(c.name));return d?s3(W2(W2({},d),c),{name:d.name,enName:d.enName,center:d.center,centroid:d.centroid,value:ce(c.value),unit:c.unit||s.unit,metricTitle:s.title}):null}).filter(Boolean).sort((c,d)=>d.value-c.value).map((c,d)=>s3(W2({},c),{rank:d+1}));return Number.isFinite(t)?o.slice(0,t):o}getVillageRankingRows(e=this.currentTownRanking){const t=this.getTownRankingMeta(e);return((e==null?void 0:e.rows)||[]).map((i,r)=>{var c,d,f,p,y,w,M,P;const a=ce((c=i.lng)!=null?c:i.longitude,NaN),s=ce((d=i.lat)!=null?d:i.latitude,NaN);if(!Number.isFinite(a)||!Number.isFinite(s))return null;const o=ce((f=i.displayValue)!=null?f:i.value),l=ce((w=(y=(p=i.rawValue)!=null?p:i.earTagCount)!=null?y:i.ear_tag_count)!=null?w:i.value);return s3(W2({},i),{key:i.key||`${i.town||""}-${i.village||i.name||r}`,name:i.name||i.village||`村${r+1}`,town:i.town||"",lng:a,lat:s,value:o,rawValue:l,recordCount:ce((M=i.recordCount)!=null?M:i.record_count,0),imageRate:ce((P=i.imageRate)!=null?P: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)=>s3(W2({},i),{rank:r+1}))}getVillageRankingHtml(e,t){const i=t.hideTownNames?"":`<span>${mt(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>${mt(e.name)}</strong>
${i}
</div>
<div class="village-card-body">
<span class="metric">${mt(e.metricLabel||t.metricLabel||"")}</span>
<span class="number">${this.formatMapRankingValue(e.value)}</span>
<span class="unit">${mt(e.unit||t.unit||"")}</span>
</div>
</div>`:`<div class="epidemic-village-card ${e.rank>8?"is-small":""}">
<div class="village-card-head">
<strong>${mt(e.name)}</strong>
${i}
</div>
<div class="village-card-body">
<span class="metric">${mt(e.metricLabel||"防疫")}</span>
<span class="number">${this.formatMapRankingValue(e.value)}</span>
<span class="unit">${mt(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 ye,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(),!xy(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 s=this.villageRankingLabels[a];s||(s=this.label3d.create("","epidemic-village-label",!0),this.label3d.setLabelStyle(s,.0135,"x"),s.setParent(this.villageRankingGroup),this.villageRankingLabels.push(s));const[o,l]=this.geoProjection([r.lng,r.lat]),c=(a%3-1)*.06,d=Math.floor(a/3)%2*.04;s.init(this.getVillageRankingHtml(r,i),new U1(o+c,-l+d,this.depth+1.55+Math.min(a,6)*.015)),s.visible=!0,s.userData=W2({},r)}),this.villageRankingLabels.slice(t.length).forEach(r=>{r.visible=!1})}ensureTradeFlowGroup(){this.tradeFlowGroup||(this.tradeFlowGroup=new ye,this.tradeFlowGroup.name="yak-trade-flow",this.tradeFlowGroup.visible=!1,this.tradeFlowMeshGroup=new ye,this.tradeFlowMeshGroup.name="yak-trade-flow-mesh",this.tradeFlowMeshGroup.rotation.x=-Math.PI/2,this.tradeFlowLabelGroup=new ye,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,s,o,l;const t=(e==null?void 0:e.source)||{},i=ce((a=t.lng)!=null?a:t.longitude,NaN),r=ce((s=t.lat)!=null?s:t.latitude,NaN);return!Number.isFinite(i)||!Number.isFinite(r)?null:{name:t.name||"红原牦牛交易市场",lng:i,lat:r,total:ce((l=(o=t.total)!=null?o: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 p,y,w,M,P,D;const a=ce((p=i.lng)!=null?p:i.longitude,NaN),s=ce((y=i.lat)!=null?y:i.latitude,NaN),o=ce((P=(M=(w=i.headCount)!=null?w:i.head_count)!=null?M:i.rawValue)!=null?P:i.value),l=i.displayName||i.display_name||i.name,c=i.mapTownName||i.map_town_name||i.town||i.startTown||i.start_town||l,d=this.townMetaByName.get(a8(c)),f=Number.isFinite(a)&&Number.isFinite(s)?{lng:a,lat:s}:d!=null&&d.center?{lng:d.center[0],lat:d.center[1]}:null;return!f||!Number.isFinite(o)?null:s3(W2(W2({},i),d),{key:i.key||`${(d==null?void 0:d.name)||l||c||"trade-source"}-${r}`,name:l||c||(d==null?void 0:d.name)||`来源${r+1}`,townName:(d==null?void 0:d.name)||c,lng:f.lng,lat:f.lat,labelSide:i.labelSide||i.label_side||this.getTradeSourceLabelSide(d,r),value:o,headCount:o,recordCount:ce((D=i.recordCount)!=null?D:i.record_count,0),unit:i.unit||t.unit||"头"})}).filter(Boolean).sort((i,r)=>r.value-i.value).map((i,r)=>s3(W2({},i),{rank:r+1}))}getTradeMarketHtml(e,t){const i=Number.isFinite(e.total)?e.total:t.reduce((r,a)=>r+ce(a.value),0);return`<div class="trade-market-card">
<div class="market-title">${mt(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>${mt(this.getTradeFlowDisplayName(e.name))}</strong></div>
<div class="flow-body"><em>${this.formatMapIntegerValue(e.value)}</em><b>${mt(e.unit||"头")}</b></div>
</div>`}getTradeFlowLabelOffset(e,t){return new U1(0,0,0)}getTradeSourceLabelSide(e,t=0){var a,s;const i=Number((a=e==null?void 0:e.center)==null?void 0:a[0]),r=Number((s=e==null?void 0:e.center)==null?void 0:s[1]);return Number.isFinite(i)&&i<this.geoProjectionCenter[0]-.18?"left":Number.isFinite(i)&&i>this.geoProjectionCenter[0]+.2?"right":Number.isFinite(r)&&r>this.geoProjectionCenter[1]+.22?"top":Number.isFinite(r)&&r<this.geoProjectionCenter[1]-.26?"bottom":["right","left","top","bottom"][t%4]}getTradeLocalPoint(e,t,i=0){const[r,a]=this.geoProjection([e,t]);return new U1(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),s=r.clone().lerp(a,.5),o=r.distanceTo(a);s.z+=Math.max(.32,Math.min(.82,o*.22+i*.012));const l=new U1(-(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+o*.02)),s.add(l)),new ob([r,s,a])}tradeGeoProjection(e){return H6().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 U1(0,11.4,16.2),new U1(0,-.05,0),.65):!t&&this.mapAnimationComplete&&this.applyLayerMapView(this.currentTopicLayer,{force:!0})}}createTradeSourceMarker(e,t,i,r,a=!0){const s=new pt(t%3===1?16766828:t%3===2?2617536:3202303),o=this.getTradeFlowPoint(e,.72);if(r&&a){const M=this.getLocalTradeFlowCurve(e,r,t),P=new Z0({color:s,transparent:!0,opacity:.42,depthWrite:!1,depthTest:!1,fog:!1,blending:kt}),D=.012+Math.min(.012,ce(e.value)/Math.max(i,1)*.01),B=new $e(new lb(M,48,D,8,!1),P);B.renderOrder=31,this.tradeFlowMeshGroup.add(B),this.tradeFlowMaterials.push(P);const V=new Ci({map:this.assets.instance.getResource("point"),color:s,transparent:!0,opacity:.92,depthWrite:!1,depthTest:!1,fog:!1,blending:kt}),Y=new wi(V),X=.12+Math.min(.08,ce(e.value)/Math.max(i,1)*.06);Y.renderOrder=36,Y.scale.set(X,X,X),Y.userData={curve:M,phase:t*.13%1,speed:.16+Math.min(.16,ce(e.value)/Math.max(i,1)*.12)},Y.position.copy(M.getPointAt(Y.userData.phase)),this.tradeFlowPulseSprites.push(Y),this.tradeFlowMeshGroup.add(Y)}const l=new Ci({map:this.assets.instance.getResource("point"),color:s,transparent:!0,opacity:.95,depthWrite:!1,depthTest:!1,fog:!1,blending:kt}),c=new wi(l),d=.22+Math.min(.34,ce(e.value)/Math.max(i,1)*.28);c.renderOrder=34,c.scale.set(d,d,d),c.position.copy(o),this.tradeFlowMeshGroup.add(c);const f=this.assets.instance.getResource("guangquan1"),p=new Z0({map:f,alphaMap:f,color:s,transparent:!0,opacity:.52,depthWrite:!1,depthTest:!1,fog:!1,blending:kt,side:Rt}),y=.38+Math.min(.36,ce(e.value)/Math.max(i,1)*.28),w=new $e(new I5(y,y),p);w.renderOrder=29,w.position.copy(this.getTradeFlowPoint(e,.5)),this.tradeFlowMeshGroup.add(w)}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 Ci({map:t,color:16773997,transparent:!0,opacity:1,depthWrite:!1,depthTest:!1,fog:!1,blending:kt}),s=new wi(a);s.renderOrder=35,s.scale.set(.34,.34,.34),s.position.copy(r),this.tradeFlowMeshGroup.add(s);const o=new Z0({map:i,alphaMap:i,color:16773997,transparent:!0,opacity:.72,depthWrite:!1,depthTest:!1,fog:!1,blending:kt,side:Rt}),l=new $e(new I5(.58,.58),o);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(s=>{var o;return(o=s==null?void 0:s.dispose)==null?void 0:o.call(s)}):(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 o;const a=(o=r.userData)==null?void 0:o.curve;if(!a)return;const s=(ce(r.userData.phase)+ce(r.userData.speed,.16)*e)%1;r.userData.phase=s,r.position.copy(a.getPointAt(s))})}updateTradeFlowLayer(e=this.currentTownRanking){if(!Ey(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;const r=lL(e);this.createTradeMarketMarker(t);const a=Math.max(...i.map(l=>l.value),1);i.forEach((l,c)=>{this.createTradeSourceMarker(l,c,a,t,r)});const s=i.length+1;for(let l=this.tradeFlowLabels.length;l<s;l+=1){const c=this.label3d.create("",l===0?"trade-market-label":"trade-flow-label",!0);this.label3d.setLabelStyle(c,l===0?.014:.0125,"x"),c.setParent(this.tradeFlowLabelGroup),this.tradeFlowLabels.push(c)}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)),o.visible=!0,o.userData=s3(W2({},t),{rows:i.length}),i.forEach((l,c)=>{const d=this.tradeFlowLabels[c+1];d.element.className="trade-flow-label",d.init(this.getTradeFlowLabelHtml(l),this.getTradeFlowPoint(l,.92+Math.min(c,5)*.035).add(this.getTradeFlowLabelOffset(l,c))),d.visible=!0,d.userData=W2({},l)}),this.tradeFlowLabels.slice(s).forEach(l=>{l.visible=!1})}hasTownRankingRows(e=this.currentTownRanking){return this.getTownRankingRows(e,Number.POSITIVE_INFINITY,!1).length>0}formatMapRankingValue(e){const t=ce(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=ce(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=ce(e);return Math.round(t).toLocaleString("zh-CN")}getBarHeight(e,t){return t?Math.max(2.8*.12,2.8*(ce(e)/t)):2.8*.25}createBarGeometry(e){const i=new Xk(.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 c,d;const s=this.getBarHeight(t.value,r),[o,l]=this.geoProjection(t.centroid);return e.visible=!0,(d=(c=e.geometry)==null?void 0:c.dispose)==null||d.call(c),e.geometry=this.createBarGeometry(s),e.position.set(o,-l,this.depth+.45),e.userData=s3(W2({},t),{targetValue:t.value,geoHeight:s}),e.children.forEach(f=>{var p,y,w,M;(y=(p=f.geometry)==null?void 0:p.dispose)==null||y.call(p),Array.isArray(f.material)?f.material.forEach(P=>{var D;return(D=P==null?void 0:P.dispose)==null?void 0:D.call(P)}):(M=(w=f.material)==null?void 0:w.dispose)==null||M.call(w)}),e.clear(),e.add(...this.createHUIGUANG(s,i>3?16776948:7863285)),a?_n.to(e.scale,{duration:.45,x:1,y:1,z:1,ease:"power2.out"}):this.mapAnimationComplete&&e.scale.set(1,1,1),{x:o,y:l,geoHeight:s}}updateProvinceLabel(e,t,i,r,a,s=!0){var w;const o=ce((w=e.userData)==null?void 0:w.targetValue,t.value);e.visible=!0,e.userData=s3(W2({},t),{targetValue:t.value}),e.position.copy(r);const l=e.element.querySelector(".label-title"),c=e.element.querySelector(".number .value"),d=e.element.querySelector(".number .unit"),f=e.element.querySelector(".name"),p=e.element.querySelector(".no");!l||!c||!d||!f||!p?e.element.innerHTML=this.getProvinceLabelHtml(t,i,a):(l.innerText=a.title,c.dataset.targetValue=String(t.value),c.innerText=this.formatMapRankingValue(t.value),d.innerText=t.unit||a.unit,f.innerText=t.name,p.innerText=i+1);const y=e.element.querySelector(".provinces-label-wrap");if(this.mapAnimationComplete&&(y.style.opacity="1",y.style.transform="translate(50%, 0)"),s&&this.mapAnimationComplete){const M=e.element.querySelector(".number .value"),D={value:o};_n.to(D,{value:t.value,duration:.45,ease:"power2.out",onUpdate:()=>{M.innerText=this.formatMapRankingValue(D.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"),s=e.element.querySelector(".town-stat-metric");t==null||t.classList.remove("has-stat"),i&&(i.innerText=""),r&&(r.innerText=""),a&&(a.innerText=""),s&&(s.innerText="")}updateTownNameLabelStats(e=this.currentTownRanking){var s;if(!((s=this.townNameLabels)!=null&&s.length))return;const t=this.getTownRankingRows(e,Number.POSITIVE_INFINITY,!1),i=this.getTownRankingMeta(e),r=new Map(t.map(o=>[a8(o.name),o])),a=!!(i.showMissingTownStats&&e&&t.length&&(i.metricLabel||i.unit||i.title));this.townNameLabels.forEach(o=>{var D,B;const l=((D=o.userData)==null?void 0:D.townName)||((B=o.userData)==null?void 0:B.name),c=r.get(a8(l));if(i.onlyRankedTownLabels&&!c){this.clearTownNameLabelStat(o),o.visible=!1;return}const d=c||(a?{name:l,value:0,unit:i.unit,metricLabel:i.metricLabel,rank:null}:null);if(!d){this.clearTownNameLabelStat(o);return}const f=o.element.querySelector(".town-stat-label"),p=o.element.querySelector(".town-name"),y=o.element.querySelector(".town-stat-value"),w=o.element.querySelector(".town-stat-unit"),M=o.element.querySelector(".town-rank"),P=o.element.querySelector(".town-stat-metric");f==null||f.classList.add("has-stat"),p&&(p.innerText=l),P&&(P.innerText=d.metricLabel||i.metricLabel||""),y&&(y.innerText=this.formatMapRankingValue(d.value)),w&&(w.innerText=d.unit||i.unit||""),M&&(M.innerText=d.rank?`第${d.rank}名`:""),o.userData=s3(W2(W2({},o.userData),d),{townName:l,targetValue:d.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>${mt(e.name||"红原县")}</strong>
</div>
<div class="info-point-metric">${mt(i)}</div>
<div class="info-point-value">
<span>${this.formatMapRankingValue(e.value)}</span>
<em>${mt(e.unit||t.unit||"")}</em>
</div>
</div>
</div>`}updateInfoPointStats(){var s,o;if(!((s=this.infoPointSprites)!=null&&s.length)||!((o=this.infoLabelElement)!=null&&o.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,c)=>{const d=i[c],f=this.infoLabelElement[c];if(!d){l.visible=!1,l.scale.set(0,0,0),f&&(f.visible=!1);return}const[p,y]=this.geoProjection(d.centroid||d.center),w=[p,-y,this.depth+.72];l.userData=s3(W2(W2({},l.userData),d),{position:w,value:d.value,unit:d.unit||t.unit,rank:d.rank,metricTitle:t.title,index:c}),l.position.set(...w),l.visible=this.showTownRankingPointMarkers;const M=.78+d.value/r*.44;if(l.scale.set(M,M,M),f){const P=(c%2===0?.22:-.18)+(c===0?.12:0),D=c%3===0?.08:-.04;f.position.set(p+P,-y+D,this.depth+1.88+Math.min(c,4)*.03),f.userData=s3(W2({},d),{index:c}),f.element.innerHTML=this.getInfoPointHtml(d,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 ye;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 s=this.getBarHeight(r.value,i),o=new Z0({color:16777215,transparent:!0,opacity:0,depthTest:!1,fog:!1});new Es(o,{uColor1:a>3?16506760:5291006,uColor2:a>3?16776948:7863285,size:s,dir:"y"});const l=new $e(this.createBarGeometry(s),o);l.renderOrder=5;const[c,d]=this.geoProjection(r.centroid);l.position.set(c,-d,this.depth+.45),l.scale.set(1,1,0),l.userData=s3(W2({},r),{targetValue:r.value,geoHeight:s});const f=this.createQuan(new U1(c,this.depth+.44,d),a);l.add(...this.createHUIGUANG(s,a>3?16776948:7863285)),t.add(l),t.rotation.x=-Math.PI/2,this.allBar.push(l),this.allBarMaterial.push(o),this.allGuangquan.push(f)}),this.scene.add(t),this.updateTownNameLabelStats(this.currentTownRanking)}setTownRanking(e){var a,s,o,l,c,d,f,p,y,w,M,P,D,B,V,Y;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(Ey(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(X=>{X.visible=!1,X.scale.set(1,1,0)}),(s=this.allBarMaterial)==null||s.forEach(X=>{X.opacity=0}),(o=this.allProvinceLabel)==null||o.forEach(X=>{X.visible=!1}),(l=this.allGuangquan)==null||l.forEach(X=>{X.visible=!1})),this.updateTradeFlowLayer(e),(e!=null&&e.mapView||e!=null&&e.cameraPosition)&&this.applyLayerMapView(null);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),xy(e)){this.updateTownNameLabelStats(null),this.setTownNameLabelsVisible(!Py(e)),this.clearInfoPointStats(),this.updateVillageRankingLabels(e),(c=this.allBar)!=null&&c.length&&(this.allBar.forEach(X=>{X.visible=!1,X.scale.set(1,1,0)}),(d=this.allBarMaterial)==null||d.forEach(X=>{X.opacity=0}),(f=this.allProvinceLabel)==null||f.forEach(X=>{X.visible=!1}),(p=this.allGuangquan)==null||p.forEach(X=>{X.visible=!1}));return}if(this.setTownNameLabelsVisible(!t.calloutMode&&!t.hideTownNames),this.hideVillageRankingLabels(),t.calloutMode?this.updateTownNameLabelStats(null):this.updateTownNameLabelStats(e),!((y=this.allBar)!=null&&y.length))return;if(!this.showTownRankingBars){this.allBar.forEach(X=>{X.visible=!1,X.scale.set(1,1,0)}),(w=this.allBarMaterial)==null||w.forEach(X=>{X.opacity=0}),(M=this.allProvinceLabel)==null||M.forEach(X=>{X.visible=!1}),(P=this.allGuangquan)==null||P.forEach(X=>{X.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(X=>{X.visible=!1,X.scale.set(1,1,0)}),(D=this.allProvinceLabel)==null||D.forEach(X=>{X.visible=!1}),(B=this.allGuangquan)==null||B.forEach(X=>{X.visible=!1}),this.clearInfoPointStats();return}this.InfoPointGroup&&(this.InfoPointGroup.visible=this.showTownRankingPointMarkers&&this.mapAnimationComplete),(V=this.infoPointSprites)==null||V.forEach(X=>{X.visible=this.showTownRankingPointMarkers});const r=Math.max(...i.map(X=>X.value),1);this.allBar.forEach((X,P2)=>{const z2=P2<i.length;X.visible=z2,z2||X.scale.set(1,1,0)}),(Y=this.allProvinceLabel)==null||Y.forEach(X=>{X.visible=!1}),this.allGuangquan.forEach((X,P2)=>{X.visible=P2<i.length}),i.forEach((X,P2)=>{const z2=this.allBar[P2],G2=this.allGuangquan[P2];if(!z2)return;const{x:N2,y:V2}=this.updateBarItem(z2,X,P2,r,this.mapAnimationComplete);G2&&(G2.visible=!0,G2.position.set(0,0,0),G2.children.forEach(Y2=>{Y2.position.set(N2,this.depth+.44,V2),this.mapAnimationComplete&&Y2.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(s=>s.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 I5(.35,e);i.translate(0,e/2,0);const r=this.assets.instance.getResource("huiguang");r.colorSpace=Gn,r.wrapS=pn,r.wrapT=pn;let a=new Z0({color:t,map:r,transparent:!0,opacity:.4,depthWrite:!1,side:Rt,blending:kt}),s=new $e(i,a);s.renderOrder=10,s.rotateX(Math.PI/2);let o=s.clone(),l=s.clone();return o.rotateY(Math.PI/180*60),l.rotateY(Math.PI/180*120),[s,o,l]}createQuan(e,t){const i=this.assets.instance.getResource("guangquan1"),r=this.assets.instance.getResource("guangquan2");let a=new I5(.5,.5),s=new Z0({color:16777215,map:i,alphaMap:i,opacity:1,transparent:!0,depthTest:!1,fog:!1,blending:kt}),o=new Z0({color:16777215,map:r,alphaMap:r,opacity:1,transparent:!0,depthTest:!1,fog:!1,blending:kt}),l=new $e(a,s),c=new $e(a,o);return l.renderOrder=6,c.renderOrder=6,l.rotateX(-Math.PI/2),c.rotateX(-Math.PI/2),l.position.copy(e),c.position.copy(e),c.position.y-=.001,l.scale.set(0,0,0),c.scale.set(0,0,0),this.quanGroup=new ye,this.quanGroup.add(l,c),this.scene.add(this.quanGroup),this.time.on("tick",()=>{l.rotation.z+=.05}),this.quanGroup}createDiffuse(){let e=new I5(200,200),t=new Z0({color:0,depthWrite:!1,transparent:!0,blending:Zk});t.blendEquation=Jk,t.blendSrc=Qk,t.blendDst=eR,new oN({material:t,time:this.time,size:60,diffuseSpeed:8,diffuseColor:7442830,diffuseWidth:2,callback:r=>{const a=setTimeout(()=>{this.addSceneTween(_n.to(r.uniforms.uTime,{value:4,repeat:-1,duration:6,ease:"power1.easeIn"}))},3);this.addSceneTimer(a)}});let i=new $e(e,t);i.renderOrder=3,i.rotation.x=-Math.PI/2,i.position.set(0,.21,0),this.scene.add(i)}createGrid(){new lN(this,{gridSize:54,gridDivision:24,gridColor:1990543,shapeSize:.55,shapeColor:3309487,pointSize:.085,pointColor:1993891,pointBlending:kt})}createBottomBg(){let e=new I5(24,24);const t=this.assets.instance.getResource("ocean");t.colorSpace=Gn,t.wrapS=pn,t.wrapT=pn,t.repeat.set(1,1);let i=new Z0({map:t,opacity:.92,fog:!1}),r=new $e(e,i);r.rotation.x=-Math.PI/2,r.position.set(0,-.7,0),this.scene.add(r)}createChinaBlurLine(){let e=new I5(154,154);const t=this.assets.instance.getResource("chinaBlurLine");t.colorSpace=Gn,t.wrapS=pn,t.wrapT=pn,t.generateMipmaps=!1,t.minFilter=ab,t.repeat.set(1,1);let i=new Z0({color:4162253,alphaMap:t,transparent:!0,opacity:.62}),r=new $e(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=[];PN.map(o=>{if(o.hide==!0)return!1;let l=s(o,i,t);r.push(l),a.push(l)}),this.otherLabel=r,this.townNameLabels=a;function s(o,l,c){let d=l.create("",`china-label ${o.blur?" blur":""}`,!0);const[f,p]=e.geoProjection(o.center);return d.init(`<div class="other-label town-stat-label">
<div class="town-name-row"><img class="label-icon" src="${vN}"><span class="town-name">${o.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 U1(f,-p,e.depth+.85)),l.setLabelStyle(d,.018,"x"),d.setParent(c),d.userData=s3(W2({},o),{townName:o.name}),d}}createRotateBorder(){let e=13.2,t=this.assets.instance.getResource("rotationBorder1"),i=this.assets.instance.getResource("rotationBorder2"),r=new ny(this,{width:e*1.178,needRotate:!0,rotateSpeed:.001,material:new Z0({map:t,color:4763647,transparent:!0,opacity:.26,side:Rt,depthWrite:!1,blending:kt}),position:new U1(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 ny(this,{width:e*1.116,needRotate:!0,rotateSpeed:-.004,material:new Z0({map:i,color:4763647,transparent:!0,opacity:.5,side:Rt,depthWrite:!1,blending:kt}),position:new U1(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 ye,this.flyLineGroup.visible=!1,this.scene.add(this.flyLineGroup)}createFocus(){this.flyLineFocusGroup.clear()}createParticles(){this.particles=new Eo(this,{num:10,range:30,dir:"up",speed:.05,material:new hl({map:Eo.createTexture(),size:1,color:61166,transparent:!0,opacity:1,depthTest:!1,depthWrite:!1,vertexColors:!0,blending:kt,sizeAttenuation:!0})}),this.particleGroup=new ye,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 ye,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 Ci({map:e,color:16776948,fog:!1,transparent:!0,depthTest:!1});let i=Ay(MN),r=i[0].value;i.map(a=>{const s=new wi(t);s.renderOrder=23;let o=.1+a.value/r*.2;s.scale.set(o,o,o);let[l,c]=this.geoProjection([a.lng,a.lat]);s.position.set(l,-c,this.depth+.45),s.userData.position=[l,-c,this.depth+.45],this.scatterGroup.add(s)})}createInfoPoint(){let e=this;this.InfoPointGroup=new ye,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=Ay(kN),s=a[0].value;a.map((l,c)=>{const d=new Ci({map:i,color:r[c%r.length],fog:!1,transparent:!0,depthTest:!1}),f=new wi(d);f.renderOrder=23;let p=.7+l.value/s*.4;f.scale.set(p,p,p);let[y,w]=this.geoProjection([l.lng,l.lat]),M=[y,-w,this.depth+.7];f.position.set(...M),f.userData.position=[...M],f.userData={position:[y,-w,this.depth+.7],name:l.name,value:l.value,level:l.level,index:c},this.InfoPointGroup.add(f);let P=o(l,t,this.InfoPointGroup,c);this.infoLabelElement.push(P),this.infoPointSprites.push(f),this.interactionManager.add(f),f.addEventListener("mousedown",D=>{if(this.clicked||!this.InfoPointGroup.visible)return!1;this.clicked=!0,this.infoPointIndex=D.target.userData.index,this.infoLabelElement.map(B=>{B.visible=!1}),P.visible=!0,this.createInfoPointLabelLoop()}),f.addEventListener("mouseup",D=>{this.clicked=!1}),f.addEventListener("mouseover",D=>{document.body.style.cursor="pointer"}),f.addEventListener("mouseout",D=>{document.body.style.cursor="default"})});function o(l,c,d,f){let p=c.create("","info-point",!0);const[y,w]=e.geoProjection([l.lng,l.lat]);return p.init(e.getInfoPointHtml(s3(W2({},l),{value:0,rank:f+1,unit:""}),e.getTownRankingMeta()),new U1(y,-w,e.depth+1.9)),c.setLabelStyle(p,.015,"x"),p.setParent(d),p.visible=!1,p}}createInfoPointLabelLoop(){var e;this.scenePaused||!((e=this.infoLabelElement)!=null&&e.length)||(clearInterval(this.infoPointLabelTime),this.infoPointLabelTime=setInterval(()=>{this.infoPointIndex++,this.infoPointIndex>=this.infoLabelElement.length&&(this.infoPointIndex=0),this.infoLabelElement.map((t,i)=>{this.infoPointIndex===i?t.visible=!0:t.visible=!1})},3e3))}createStorke(){const e=this.staticMapData.mapStroke,t=this.assets.instance.getResource("pathLine3");t.wrapS=t.wrapT=pn,t.repeat.set(2,1);let i=new T7(this,{geoProjectionCenter:this.geoProjectionCenter,geoProjectionScale:this.geoProjectionScale,position:new U1(0,0,this.depth+.24),data:e,material:new Z0({color:2868444,map:t,alphaMap:t,fog:!1,transparent:!0,opacity:1,blending:kt}),type:"Line3",renderOrder:22,tubeRadius:.03});this.focusMapGroup.add(i.lineGroup),this.time.on("tick",()=>{t.offset.x+=.005})}handleMapClick(e){return I3(this,null,function*(){var a,s,o,l,c,d,f,p,y,w,M,P,D,B,V,Y,X,P2,z2,G2,N2,V2,Y2,o3,r3,y3,K2,C3,m3,M3,N3,q2,u3,_3,L3,F3,K3,w2,a3,k3,J3;if(!this.currentTopicLayer)return;const t=this.getScreenPointFromEvent(e),i=this.getLngLatFromEvent(e);if(!i){this.clearSelectedFeature(),(s=(a=this.callbacks).onFeatureInfo)==null||s.call(a,{feature:null});return}if(this.boundaryDrawingEnabled){const Q3=((o=e==null?void 0:e.data)==null?void 0:o.originalEvent)||(e==null?void 0:e.originalEvent)||e;if(Q3!=null&&Q3.__analysisBoundaryHandled)return;this.addBoundaryDrawPoint(i);return}if(this.shouldClipLayerToHongyuanBoundary(this.currentTopicLayer)&&!this.isLngLatInHongyuanBoundary(i)){this.clearSelectedFeature(),(c=(l=this.callbacks).onFeatureInfo)==null||c.call(l,{feature:null}),(f=(d=this.callbacks).onLayerStatus)==null||f.call(d,{type:"success",text:"当前点击位置不在红原县边界内"});return}if(this.shouldClipLayerToLayerBounds(this.currentTopicLayer)&&!this.isLngLatInLayerClipBounds(i,this.currentTopicLayer)){this.clearSelectedFeature(),(y=(p=this.callbacks).onFeatureInfo)==null||y.call(p,{feature:null}),(M=(w=this.callbacks).onLayerStatus)==null||M.call(w,{type:"success",text:"当前点击位置不在图层显示范围内"});return}if(cL(this.currentTopicLayer)){this.clearSelectedFeature(),(D=(P=this.callbacks).onFeatureInfo)==null||D.call(P,{feature:null});return}if(Rs(this.currentTopicLayer)){const Q3=this.pickVectorFeatureAtPoint(i,t),l1=(Q3==null?void 0:Q3.feature)||Q3;let c1=(Q3==null?void 0:Q3.screen)||t;l1?(this.shouldClipLayerToHongyuanBoundary(this.currentTopicLayer)?(this.clearSelectedGeometryGroup(),this.setSelectedVectorFeatures([l1])):this.showSelectedFeature(l1),((B=this.currentTopicLayer)==null?void 0:B.key)==="yak-industry-points"&&(this.setSelectedVectorFeatures([l1]),c1=this.getPointFeatureScreenPoint(l1)||c1),(z2=(P2=this.callbacks).onFeatureInfo)==null||z2.call(P2,{feature:{id:((V=l1.properties)==null?void 0:V.id)||((Y=l1.properties)==null?void 0:Y.feature_id)||((X=l1.properties)==null?void 0:X.project_name),properties:l1.properties||{},feature:l1,layer:this.currentTopicLayer,lngLat:i},screen:c1}),(N2=(G2=this.callbacks).onLayerStatus)==null||N2.call(G2,{type:"success",text:"真实矢量要素已选中"})):(this.clearSelectedFeature(),(Y2=(V2=this.callbacks).onFeatureInfo)==null||Y2.call(V2,{feature:null}),(r3=(o3=this.callbacks).onLayerStatus)==null||r3.call(o3,{type:"success",text:"当前点击位置无生态保护要素"}));return}const r=this.lngLatToWmsPixel(i);(K2=(y3=this.callbacks).onFeatureInfo)==null||K2.call(y3,{feature:null}),(m3=(C3=this.callbacks).onFeatureLoading)==null||m3.call(C3,!0);try{const Q3=yield _y(this.currentTopicLayer,r,{size:p9,buffer:10}),l1=by(Q3),c1=l1?null:yield this.queryFallbackFeatureInfo(i),B1=l1||(c1==null?void 0:c1.feature);if(B1){const y1=yield this.enrichFeatureInfo(B1,r,i);this.showSelectedFeature(y1.feature||y1),(N3=(M3=this.callbacks).onFeatureInfo)==null||N3.call(M3,{feature:s3(W2({},y1),{layer:(c1==null?void 0:c1.layer)||this.currentTopicLayer,lngLat:i}),screen:t})}else this.clearSelectedFeature(),(u3=(q2=this.callbacks).onFeatureInfo)==null||u3.call(q2,{feature:null});B1||(L3=(_3=this.callbacks).onLayerStatus)==null||L3.call(_3,{type:"success",text:"当前点击位置无图斑"})}catch(Q3){this.clearSelectedFeature(),(K3=(F3=this.callbacks).onFeatureInfo)==null||K3.call(F3,{feature:null}),(a3=(w2=this.callbacks).onLayerStatus)==null||a3.call(w2,{type:"error",text:"图斑信息查询失败"})}finally{(J3=(k3=this.callbacks).onFeatureLoading)==null||J3.call(k3,!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 p,y,w;if(!((p=this.camera)!=null&&p.instance)||!this.focusMapGroup||!this.canvas)return null;const t=this.canvas.getBoundingClientRect();if(!t.width||!t.height)return null;const i=(y=this.interactionManager)==null?void 0:y.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 s=((w=i.intersectObjects(this.eventElement||[],!0)[0])==null?void 0:w.point)||this.getRayMapPlaneIntersection(i.ray);if(!s)return null;const o=this.focusMapGroup.worldToLocal(s.clone()),c=H6().center(this.geoProjectionCenter).scale(this.geoProjectionScale).translate([0,0]).invert([o.x,-o.y]);if(!c)return null;const d=Number(c[0]),f=Number(c[1]);return!Number.isFinite(d)||!Number.isFinite(f)?null:d<i0.west-.03||d>i0.east+.03||f<i0.south-.03||f>i0.north+.03?this.getFallbackLngLatFromPointer(e,t):{lng:d,lat:f}}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)),s=Math.min(1,Math.max(0,(e.clientY-t.top)/t.height)),o=i0.west+(i0.east-i0.west)*a,l=i0.north-(i0.north-i0.south)*s;return{lng:o,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 s=(a-t.z)/r.z;if(!Number.isFinite(s)||s<0)return null;const o=t.add(r.multiplyScalar(s));return this.focusMapGroup.localToWorld(o)}enrichFeatureInfo(e,t,i){return I3(this,null,function*(){const r=this.getLayerTopicKey(this.currentTopicLayer);if(!["grassland","woodland"].includes(r))return e;const s=(so[r]||[]).find(f=>f.key===`${r}-distribution`),o=(this.visibleTopicLayers||[]).filter(f=>this.getLayerTopicKey(f)===r).slice(0,5),l=[s,this.currentTopicLayer,...o].filter(f=>f==null?void 0:f.layerName).filter((f,p,y)=>y.findIndex(w=>this.getLayerQueryKey(w)===this.getLayerQueryKey(f))===p);if(!l.length)return e;const c=yield Promise.allSettled([...l.filter(f=>this.getLayerQueryKey(f)!==this.getLayerQueryKey(this.currentTopicLayer)).map(f=>I3(this,null,function*(){const p=yield _y(f,t,{size:p9,buffer:10}),y=by(p);return y?{layer:f,feature:y,source:"wms"}:null})),...l.map(f=>I3(this,null,function*(){const p=yield this.queryLayerFeatureByPoint(f,i);return p?{layer:f,feature:p,source:"wfs"}:null}))]),d=W2({},e.properties||{});return c.forEach(f=>{var p,y;f.status!=="fulfilled"||!((y=(p=f.value)==null?void 0:p.feature)!=null&&y.properties)||this.mergeBusinessProperties(d,f.value.feature.properties,f.value.layer)}),s3(W2({},e),{properties:d,relatedFeatures:c.filter(f=>{var p;return f.status==="fulfilled"&&((p=f.value)==null?void 0:p.feature)}).map(f=>f.value),feature:s3(W2({},e.feature||{}),{properties:d})})})}queryFallbackFeatureInfo(e){return I3(this,null,function*(){const t=this.getLayerTopicKey(this.currentTopicLayer);if(!["grassland","woodland"].includes(t))return null;const r=[(so[t]||[]).find(a=>a.key===`${t}-distribution`),this.currentTopicLayer,...(this.visibleTopicLayers||[]).filter(a=>this.getLayerTopicKey(a)===t)].filter((a,s,o)=>(a==null?void 0:a.layerName)&&o.findIndex(l=>this.getLayerQueryKey(l)===this.getLayerQueryKey(a))===s);for(const a of r){const s=yield this.queryLayerFeatureByPoint(a,e,{requireContainment:!0});if(s)return{layer:a,feature:s}}return null})}queryLayerFeatureByPoint(r,a){return I3(this,arguments,function*(e,t,i={}){var w,M,P;if(!(e!=null&&e.layerName)||!Number.isFinite(t==null?void 0:t.lng)||!Number.isFinite(t==null?void 0:t.lat))return null;const s=e.pointQueryTolerance||.0015,o=e.geometryField||"geom",l=t.lng-s,c=t.lat-s,d=t.lng+s,f=t.lat+s,p=yield Po(e.layerName,{cqlFilter:`BBOX(${o},${l},${c},${d},${f})`,maxFeatures:8,timeout:12e3}),y=this.pickFeatureAtPoint((p==null?void 0:p.features)||[],t,i);return y?{id:y.id||((w=y.properties)==null?void 0:w.gid)||((M=y.properties)==null?void 0:M.objectid)||((P=y.properties)==null?void 0:P.OBJECTID),properties:y.properties||{},feature:y}:null})}pickFeatureAtPoint(e,t,i={}){var a;if(!Array.isArray(e)||!e.length)return null;const r=e.filter(s=>this.isLngLatInGeometry(t,s.geometry)).sort((s,o)=>this.getGeometryAreaScore(s.geometry)-this.getGeometryAreaScore(o.geometry));return r.length?r[0]:i.requireContainment?null:((a=e.map(s=>({feature:s,distance:this.getGeometryDistanceScore(s.geometry,t)})).sort((s,o)=>s.distance-o.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 s=0,o=t.length-1;s<t.length;o=s++){const l=t[s],c=t[o],d=Number(l==null?void 0:l[0]),f=Number(l==null?void 0:l[1]),p=Number(c==null?void 0:c[0]),y=Number(c==null?void 0:c[1]);if(this.isPointOnSegment(r,a,d,f,p,y))return!0;f>a!=y>a&&r<(p-d)*(a-f)/(y-f)+d&&(i=!i)}return i}isPointOnSegment(e,t,i,r,a,s){const o=(e-i)*(s-r)-(t-r)*(a-i);return Math.abs(o)>1e-10?!1:(e-i)*(e-a)+(t-r)*(t-s)<=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],s=t[(r+1)%t.length];i+=Number((a==null?void 0:a[0])||0)*Number((s==null?void 0:s[1])||0)-Number((s==null?void 0:s[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 s;const i=this.getVisibleVectorFeatures(this.currentTopicLayer,this.currentVectorFeatures||[]);if(((s=this.currentTopicLayer)==null?void 0:s.key)==="yak-industry-points"){const o=this.pickPointFeatureAtScreenPoint(i,t);if(o)return o}const r=i.filter(o=>this.isLngLatInGeometry(e,o.geometry)).sort((o,l)=>this.getGeometryAreaScore(o.geometry)-this.getGeometryAreaScore(l.geometry));if(r.length)return r[0];const a=i.find(o=>this.isPointOrLineNearLngLat(o.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(s=>{var o;return((o=s==null?void 0:s.geometry)==null?void 0:o.type)==="Point"}).map(s=>{const o=this.getPointFeatureScreenPoint(s);return o?{feature:s,screen:o,distance:Math.hypot(o.x-t.x,o.y-t.y)}:null}).filter(Boolean).sort((s,o)=>s.distance-o.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+.36):this.lngLatToScreenPoint(t.coordinates,this.depth+.32)}lngLatToLayerLocalPoint(e,t=0){const i=()=>{const c=Number(e==null?void 0:e[0]),d=Number(e==null?void 0:e[1]);if(!Number.isFinite(c)||!Number.isFinite(d))return new U1(0,0,Number(t)||0);const[f,p]=this.geoProjection([c,d]);return new U1(f,-p,Number(t)||0)},r=this.topicLayerUvBounds;if(!r)return i();const a=this.lngLatToLayerCanvasPoint(e),s=this.topicLayerCanvas;if(!(s!=null&&s.width)||!(s!=null&&s.height))return i();const o=r.left+a.x/s.width*(r.right-r.left),l=r.bottom+(s.height-a.y)/s.height*(r.top-r.bottom);return new U1(o,l,Number(t)||0)}lngLatToLayerScreenPoint(e,t=0){return this.localMapPointToScreenPoint(this.lngLatToLayerLocalPoint(e,t))}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 p,y,w,M;const t=String(e||"").trim();if(!t)return!1;const i=(this.currentVectorFeatures||[]).filter(P=>{var D;return String(((D=P==null?void 0:P.properties)==null?void 0:D.project_name)||"").trim()===t});if(!i.length)return(y=(p=this.callbacks).onLayerStatus)==null||y.call(p,{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 s=[(r.minLng+r.maxLng)/2,(r.minLat+r.maxLat)/2],o=Math.max(r.maxLng-r.minLng,r.maxLat-r.minLat),l=Math.max(.22,Math.min(.55,o*1.25)),c=this.lngLatToWorldPoint(s,.72),d=this.defaultMapCameraPosition.clone().sub(this.defaultMapTarget).multiplyScalar(l),f=c.clone().add(d);return this.animateMapCamera(f,c,.75),(M=(w=this.callbacks).onLayerStatus)==null||M.call(w,{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,s,o,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}],(s=(a=this.callbacks).onDrawBoundary)==null||s.call(a,{status:"drawing",points:this.boundaryDrawPoints,pointCount:this.boundaryDrawPoints.length}),(l=(o=this.callbacks).onLayerStatus)==null||l.call(o,{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 s,o,l,c,d,f;const e=this.boundaryDrawPoints||[];if(e.length<3)return(o=(s=this.callbacks).onLayerStatus)==null||o.call(s,{type:"error",text:"至少需要 3 个点才能形成分析边界"}),null;const t=e.map(p=>[p.lng,p.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,(c=(l=this.callbacks).onDrawBoundary)==null||c.call(l,{status:"complete",feature:a,points:e,pointCount:e.length}),(f=(d=this.callbacks).onLayerStatus)==null||f.call(d,{type:"success",text:"分析边界已生成"}),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(s=>(s==null?void 0:s.feature)||s).filter(s=>s==null?void 0:s.geometry),e.preserveView||(!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((s,o)=>{const l=this.normalizePastureGrasslandGeometry(s);if(!l)return null;const c=this.normalizePastureGrasslandProperties(s);return{type:"Feature",properties:s3(W2({},c),{id:c.id||c.gid||`${(e==null?void 0:e.name)||"pasture"}-${o}`,pasture_name:(e==null?void 0:e.name)||c.pastureName||c.name}),geometry:l}}).filter(Boolean);if(i.length){const s=this.getFeatureListLngLatBounds(i);if(!s)return!1;this.showSelectedFeatures(i,{mode:"pasture"}),this.setSelectedVectorFeatures(i);const o=[(s.minLng+s.maxLng)/2,(s.minLat+s.maxLat)/2];return this.flyToLngLat(o,{span:Math.max(s.maxLng-s.minLng,s.maxLat-s.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 f,p;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 s=Number(t.span),o=Number.isFinite(s)?Math.max(.2,Math.min(.55,s*1.25)):.32,l=this.lngLatToWorldPoint([r,a],.72),c=this.defaultMapCameraPosition.clone().sub(this.defaultMapTarget).multiplyScalar(o),d=l.clone().add(c);return this.animateMapCamera(d,l,t.duration||.75),(p=(f=this.callbacks).onLayerStatus)==null||p.call(f,{type:"success",text:t.statusText||"已定位"}),!0}getProjectHighlightFeatures(e){const t=e.filter(r=>{var s;const a=String(((s=r==null?void 0:r.geometry)==null?void 0:s.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)}:W2({},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]),s=Number(i==null?void 0:i[0])-r,o=Number(i==null?void 0:i[1])-a;if(!Number.isFinite(s)||!Number.isFinite(o))return Number.POSITIVE_INFINITY;if(!s&&!o)return this.getCoordinateDistance(e,t);const l=Math.max(0,Math.min(1,((e[0]-r)*s+(e[1]-a)*o)/(s*s+o*o)));return this.getCoordinateDistance(e,[r+l*s,a+l*o])}getLayerTopicKey(e){const t=e==null?void 0:e.layerName,i=e==null?void 0:e.key,r=Object.entries(W2(W2({},so),Nb)).find(([,a])=>a.some(s=>s.key===i||s.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,s])=>{s==null||s===""||(e[a]===void 0||e[a]===null||e[a]==="")&&(e[a]=s)}),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),s=(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),s!=null&&s!==""&&(e.mu_yield=s)}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),s=(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),s!=null&&s!==""&&(e.ndvi=s);const o=(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);o!=null&&o!==""&&(e.degradation_level=o)}}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 o,l,c;const i=(c=(((l=(o=this.interactionManager)==null?void 0:o.raycaster)==null?void 0:l.intersectObject(e.target,!1))||[])[0])==null?void 0:c.point;if(!i)return null;const r=this.focusMapGroup.worldToLocal(i.clone()),s=H6().center(this.geoProjectionCenter).scale(this.geoProjectionScale).translate([0,0]).invert([r.x,-r.y]);return s?{lng:s[0],lat:s[1]}:null}lngLatToWmsPixel({lng:e,lat:t}){const i=(e-i0.west)/(i0.east-i0.west)*p9.width,r=(i0.north-t)/(i0.north-i0.south)*p9.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:wy,fillOpacity:t?.46:.54,lineColor:oL,lineOpacity:.98,glowColor:Cy,glowOpacity:t?.92:.96,renderOrderBase:t?42:35,boundary:t,boundaryColor:wy,boundaryGlowColor:Cy,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 Z0({color:i.fillColor,transparent:!0,opacity:i.fillOpacity,side:Rt,depthWrite:!1,fog:!1}),s=new f8({color:i.lineColor,transparent:!0,opacity:i.lineOpacity,linewidth:2,depthTest:!1,depthWrite:!1,fog:!1}),o=new f8({color:i.glowColor,transparent:!0,opacity:i.glowOpacity,linewidth:3,depthTest:!1,depthWrite:!1,fog:!1}),l=i.boundary?new Z0({color:i.boundaryColor,transparent:!0,opacity:i.boundaryOpacity,side:Rt,depthTest:!1,depthWrite:!1,fog:!1}):null,c=i.boundary?new Z0({color:i.boundaryGlowColor,transparent:!0,opacity:i.boundaryGlowOpacity,side:Rt,depthTest:!1,depthWrite:!1,fog:!1,blending:kt}):null;r.length&&r.forEach(f=>{const p=this.createProjectedShape(f);if(!p)return;const y=new Dh(p),w=new $e(y,a);w.renderOrder=i.renderOrderBase,this.selectedFeatureGroup.add(w),f.forEach(M=>{const P=this.createProjectedRingPoints(M);if(P.length<3)return;i.boundary&&(this.addSelectedBoundaryBand(P,c,i.boundaryGlowWidth,i.renderOrderBase+1,!0),this.addSelectedBoundaryBand(P,l,i.boundaryWidth,i.renderOrderBase+4,!0));const D=new C6().setFromPoints(P),B=new yo(D,s);B.renderOrder=i.renderOrderBase+5,this.selectedFeatureGroup.add(B);const V=new C6().setFromPoints(P),Y=new yo(V,o);Y.renderOrder=i.renderOrderBase+3,Y.scale.set(1.004,1.004,1),this.selectedFeatureGroup.add(Y)})});const d=this.normalizeFeatureLineStrings(e);d.length&&d.forEach(f=>{const p=this.createProjectedRingPoints(f);if(p.length<2)return;i.boundary&&(this.addSelectedBoundaryBand(p,c,i.boundaryGlowWidth,i.renderOrderBase+1,!1),this.addSelectedBoundaryBand(p,l,i.boundaryWidth,i.renderOrderBase+4,!1));const y=new C6().setFromPoints(p),w=new Md(y,o);w.renderOrder=i.renderOrderBase+3,w.scale.set(1.004,1.004,1),this.selectedFeatureGroup.add(w);const M=new C6().setFromPoints(p),P=new Md(M,s);P.renderOrder=i.renderOrderBase+5,this.selectedFeatureGroup.add(P)})}addSelectedBoundaryBand(e,t,i,r,a=!0){if(!t||!this.selectedFeatureGroup)return;const s=this.createPathBandGeometry(e,i,a);if(!s)return;const o=new $e(s,t);o.renderOrder=r,this.selectedFeatureGroup.add(o)}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 s=[],o=i?r.length:r.length-1;for(let c=0;c<o;c+=1){const d=r[c],f=r[(c+1)%r.length],p=f.x-d.x,y=f.y-d.y,w=Math.hypot(p,y);if(!w)continue;const M=-y/w*a,P=p/w*a,D=[d.x+M,d.y+P,.006],B=[d.x-M,d.y-P,.006],V=[f.x+M,f.y+P,.006],Y=[f.x-M,f.y-P,.006];s.push(...D,...B,...V,...V,...B,...Y)}if(!s.length)return null;const l=new C6;return l.setAttribute("position",new kd(s,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 ky(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 s=r.slice(1).map(o=>this.clipRingToBounds(o,i)).filter(o=>o.length>=3);return[a,...s]}).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,s])=>Number.isFinite(a)&&Number.isFinite(s));return[{inside:([a])=>a>=t.west,intersect:(a,s)=>this.getLngLatLineIntersection(a,s,"lng",t.west)},{inside:([a])=>a<=t.east,intersect:(a,s)=>this.getLngLatLineIntersection(a,s,"lng",t.east)},{inside:([,a])=>a>=t.south,intersect:(a,s)=>this.getLngLatLineIntersection(a,s,"lat",t.south)},{inside:([,a])=>a<=t.north,intersect:(a,s)=>this.getLngLatLineIntersection(a,s,"lat",t.north)}].forEach(a=>{const s=i;i=[],s.length&&s.forEach((o,l)=>{const c=s[(l+s.length-1)%s.length],d=a.inside(o),f=a.inside(c);d?(f||i.push(a.intersect(c,o)),i.push(o)):f&&i.push(a.intersect(c,o))})}),i}getLngLatLineIntersection(e,t,i,r){const a=i==="lng"?0:1,s=i==="lng"?1:0,o=t[a]-e[a];if(!o)return[...e];const l=(r-e[a])/o,c=[...e];return c[a]=r,c[s]=e[s]+(t[s]-e[s])*l,c}createProjectedShape(e){const t=e==null?void 0:e[0];if(!Array.isArray(t)||t.length<3)return null;const i=new lr;return this.createProjectedRingPoints(t).forEach((a,s)=>{s===0?i.moveTo(a.x,a.y):i.lineTo(a.x,a.y)}),e.slice(1).forEach(a=>{const s=this.createProjectedRingPoints(a);if(s.length<3)return;const o=new lr;s.forEach((l,c)=>{c===0?o.moveTo(l.x,l.y):o.lineTo(l.x,l.y)}),i.holes.push(o)}),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[s,o]=this.geoProjection([r,a]);t.push(new U1(s,-o,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 H6().center(this.geoProjectionCenter).scale(this.geoProjectionScale).translate([0,0])(e)}update(e){super.update(e),this.updateDynamicSatelliteTiles(),this.updateTradeFlowPulses(e),this.interactionManager&&this.interactionManager.update()}pauseScene(){var e,t;this.scenePaused=!0,(t=(e=this.time)==null?void 0:e.pause)==null||t.call(e),this.sceneTweens.forEach(i=>{var r;return(r=i==null?void 0:i.pause)==null?void 0:r.call(i)}),clearInterval(this.infoPointLabelTime),this.infoPointLabelTime=null}resumeScene(){var e,t;this.scenePaused=!1,(t=(e=this.time)==null?void 0:e.resume)==null||t.call(e),this.sceneTweens.forEach(i=>{var r;return(r=i==null?void 0:i.resume)==null?void 0:r.call(i)}),this.showTownRankingPointMarkers&&this.mapAnimationComplete&&!this.infoPointLabelTime&&this.createInfoPointLabelLoop()}destroy(){var e,t,i,r;this.pauseScene(),this.sceneTimers.forEach(a=>clearTimeout(a)),this.sceneTimers=[],this.sceneTweens.forEach(a=>{var s;return(s=a==null?void 0:a.kill)==null?void 0:s.call(a)}),this.sceneTweens=[],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 fL={class:"map"},Br={__name:"map",props:{activeLayer:{type:Object,default:null},mapRanking:{type:Object,default:null},tileUrlTemplate:{type:String,default:""},adminBoundaryLineScale:{type:Number,default:1}},emits:["feature-loading","feature-info","layer-status","tile-status","draw-boundary","scene-mounted"],setup(n,{expose:e,emit:t}){const i=n,r=t,a=i3(null),s=lk(null);let o=null,l=null,c=null,d=null,f=null,p="",y="",w=!1;$n(()=>{r("scene-mounted")}),Un(()=>{K2()});function M(w2){return s.value?!0:a.value?(s.value=new hL(a.value,w2,{onFeatureLoading:a3=>r("feature-loading",a3),onFeatureInfo:a3=>r("feature-info",a3),onLayerStatus:a3=>r("layer-status",a3),onTileStatus:a3=>r("tile-status",a3),onDrawBoundary:a3=>r("draw-boundary",a3),tileUrlTemplate:i.tileUrlTemplate,adminBoundaryLineScale:i.adminBoundaryLineScale}),s.value.time.pause(),p=L3(i.activeLayer),y=K3(i.mapRanking),s.value.setTopicLayers(F3(i.activeLayer),i.activeLayer),s.value.setTownRanking(i.mapRanking),N3(),M3(),!0):!1}function P(){return!!s.value}function D(){return I3(this,null,function*(){var w2,a3,k3,J3,Q3,l1;if(s.value&&(B(),!s.value.mapAnimationComplete)){if(w){(a3=(w2=s.value.animateTl)==null?void 0:w2.play)==null||a3.call(w2),C3();return}w=!0,(J3=(k3=s.value.animateTl)==null?void 0:k3.timeScale)==null||J3.call(k3,1),(l1=(Q3=s.value.animateTl)==null?void 0:Q3.play)==null||l1.call(Q3),C3()}})}function B(){var w2,a3;s.value&&(N3(),M3(),window.requestAnimationFrame(()=>{var k3,J3,Q3,l1,c1,B1;(Q3=(J3=(k3=s.value)==null?void 0:k3.label3d)==null?void 0:J3.resize)==null||Q3.call(J3),(B1=(c1=(l1=s.value)==null?void 0:l1.label3d)==null?void 0:c1.update)==null||B1.call(c1)}),(a3=(w2=s.value).resumeScene)==null||a3.call(w2),s.value.resumeScene||s.value.time.resume())}function V(){var w2,a3,k3,J3,Q3,l1;s.value&&(m3(),(a3=(w2=s.value.animateTl)==null?void 0:w2.pause)==null||a3.call(w2),(J3=(k3=s.value).pauseScene)==null||J3.call(k3),s.value.pauseScene||(l1=(Q3=s.value.time)==null?void 0:Q3.pause)==null||l1.call(Q3),u3())}function Y(){var w2,a3;(a3=(w2=s.value)==null?void 0:w2.clearSelectedFeature)==null||a3.call(w2)}function X(w2){var a3,k3;(k3=(a3=s.value)==null?void 0:a3.focusProject)==null||k3.call(a3,w2)}function P2(w2){var a3,k3;(k3=(a3=s.value)==null?void 0:a3.focusPasture)==null||k3.call(a3,w2)}function z2(w2,a3){var k3,J3;return(J3=(k3=s.value)==null?void 0:k3.focusTownByName)==null?void 0:J3.call(k3,w2,a3)}function G2(w2){var a3,k3;return(k3=(a3=s.value)==null?void 0:a3.focusYakIndustryPoint)==null?void 0:k3.call(a3,w2)}function N2(w2){var a3,k3;return(k3=(a3=s.value)==null?void 0:a3.getYakIndustryPointScreen)==null?void 0:k3.call(a3,w2)}function V2(w2){var a3,k3;(k3=(a3=s.value)==null?void 0:a3.setBoundaryDrawing)==null||k3.call(a3,w2)}function Y2(){var w2,a3;return(a3=(w2=s.value)==null?void 0:w2.finishBoundaryDrawing)==null?void 0:a3.call(w2)}function o3(){var w2,a3;(a3=(w2=s.value)==null?void 0:w2.undoBoundaryPoint)==null||a3.call(w2)}function r3(){var w2,a3;(a3=(w2=s.value)==null?void 0:w2.clearAnalysisBoundary)==null||a3.call(w2)}function y3(w2){var a3,k3;(k3=(a3=s.value)==null?void 0:a3.showAnalysisResult)==null||k3.call(a3,w2)}function K2(){var w2,a3;m3(),u3(),(a3=(w2=s.value)==null?void 0:w2.destroy)==null||a3.call(w2),s.value=null}function C3(){m3(),f=window.setTimeout(()=>{var w2,a3;f=null,(a3=(w2=s.value)==null?void 0:w2.ensureMapRevealed)==null||a3.call(w2)},5200)}function m3(){f&&(window.clearTimeout(f),f=null)}function M3(){l&&window.cancelAnimationFrame(l),l=window.requestAnimationFrame(()=>{var w2,a3,k3,J3,Q3;l=null,(k3=(a3=(w2=s.value)==null?void 0:w2.sizes)==null?void 0:a3.init)==null||k3.call(a3),(Q3=(J3=s.value)==null?void 0:J3.resize)==null||Q3.call(J3)}),c&&window.clearTimeout(c),c=window.setTimeout(()=>{var w2,a3,k3,J3,Q3;c=null,(k3=(a3=(w2=s.value)==null?void 0:w2.sizes)==null?void 0:a3.init)==null||k3.call(a3),(Q3=(J3=s.value)==null?void 0:J3.resize)==null||Q3.call(J3)},180)}function N3(){var a3;u3();const w2=(a3=a.value)==null?void 0:a3.parentNode;w2&&window.ResizeObserver&&(o=new ResizeObserver(()=>M3()),o.observe(w2)),d=window.setInterval(q2,1e3),_e(M3)}function q2(){var c1;if(!s.value||!a.value)return;const w2=a.value.parentNode,a3=(w2==null?void 0:w2.offsetWidth)||window.innerWidth||1,k3=(w2==null?void 0:w2.offsetHeight)||window.innerHeight||1,J3=((c1=s.value.sizes)==null?void 0:c1.pixelRatio)||1,Q3=Math.floor(a3*J3),l1=Math.floor(k3*J3);(a.value.width!==Q3||a.value.height!==l1)&&M3()}function u3(){o&&(o.disconnect(),o=null),l&&(window.cancelAnimationFrame(l),l=null),c&&(window.clearTimeout(c),c=null),d&&(window.clearInterval(d),d=null)}function _3(){if(!s.value)return;N3();const w2=()=>{var a3,k3,J3,Q3,l1,c1,B1,y1,b1,O,A1,I1,F1,S1,H2,c2,a2,i2,A2,n2,M2;s.value&&((k3=(a3=s.value)==null?void 0:a3.resumeScene)==null||k3.call(a3),s.value.resumeScene||(Q3=(J3=s.value.time)==null?void 0:J3.resume)==null||Q3.call(J3),(B1=(c1=(l1=s.value)==null?void 0:l1.sizes)==null?void 0:c1.init)==null||B1.call(c1),(b1=(y1=s.value)==null?void 0:y1.resize)==null||b1.call(y1),(I1=(A1=(O=s.value)==null?void 0:O.label3d)==null?void 0:A1.resize)==null||I1.call(A1),(H2=(S1=(F1=s.value)==null?void 0:F1.label3d)==null?void 0:S1.update)==null||H2.call(S1),(a2=(c2=s.value)==null?void 0:c2.setTopicLayers)==null||a2.call(c2,F3(i.activeLayer),i.activeLayer),(A2=(i2=s.value)==null?void 0:i2.setTownRanking)==null||A2.call(i2,i.mapRanking),(M2=(n2=s.value)==null?void 0:n2.ensureMapRevealed)==null||M2.call(n2))};M3(),window.requestAnimationFrame(w2),window.setTimeout(()=>{w2()},80),window.setTimeout(()=>{w2()},220)}I0(()=>i.activeLayer,w2=>{const a3=L3(w2);a3!==p&&(p=a3,s.value&&s.value.setTopicLayers(F3(w2),w2))},{deep:!0}),I0(()=>i.mapRanking,w2=>{const a3=K3(w2);a3!==y&&(y=a3,s.value&&s.value.setTownRanking(w2))},{deep:!0}),e({loadMap:M,hasMap:P,play:D,resume:B,pause:V,clearSelectedFeature:Y,focusProject:X,focusPasture:P2,focusTown:z2,focusYakIndustryPoint:G2,getYakIndustryPointScreen:N2,setBoundaryDrawing:V2,finishBoundaryDrawing:Y2,undoBoundaryPoint:o3,clearAnalysisBoundary:r3,showAnalysisResult:y3,refreshView:_3,destroyMap:K2,canvasMap:s});function L3(w2){return w2?F3(w2).map(a3=>{var k3,J3;return[a3.key||"",a3.layerName||"",a3.styles||"",a3.cqlFilter||"",((k3=a3.activeLegend)==null?void 0:k3.key)||"",a3.timelineDate||"",((J3=a3.timelineItem)==null?void 0:J3.key)||"",a3.sourceType||"",a3.dataPath||"",a3.fallbackPath||""].join("|")}).join("||"):""}function F3(w2){if(!w2)return[];const a3=Array.isArray(w2.overlayLayers)?w2.overlayLayers.filter(Boolean):[];return[w2,...a3]}function K3(w2){var a3,k3,J3,Q3,l1,c1,B1,y1,b1;return w2?[w2.status||"",w2.topicKey||"",w2.layerKey||"",w2.title||"",w2.metricLabel||"",w2.scope||"",w2.displayMode||"",(a3=w2.showPointMarkers)!=null?a3:"",(k3=w2.showBars)!=null?k3:"",(J3=w2.showTownNames)!=null?J3:"",(Q3=w2.showMapLabels)!=null?Q3:"",(l1=w2.showFlowLines)!=null?l1:"",(c1=w2.onlyRankedTownLabels)!=null?c1:"",(B1=w2.showMissingTownStats)!=null?B1:"",((y1=w2.rows)==null?void 0:y1.length)||0,((b1=w2.rows)==null?void 0:b1.map(O=>{var A1;return`${O.key||O.name||""}:${(A1=O.value)!=null?A1:""}`}).join(","))||""].join("|"):""}return(w2,a3)=>(K(),e2("div",fL,[C("canvas",{ref_key:"canvasRef",ref:a},null,512)]))}};const mL={key:0,class:"business-stat-empty"},gL=["data-chart-tooltip"],pL={class:"business-stat-rank"},yL={class:"business-stat-main"},vL={class:"business-stat-name"},_L={class:"business-stat-bar"},bL={class:"business-stat-value"},SL={key:0},Ry={__name:"BusinessStatList",props:{rows:{type:Array,default:()=>[]},compact:{type:Boolean,default:!1}},setup(n){const e=n,t=b2(()=>{const a=e.rows.map(s=>Number(s.value)).filter(s=>!Number.isNaN(s));return Math.max(...a,1)});function i(a){const s=Number(a.value);return Number.isNaN(s)?36:Math.max(8,Math.round(s/t.value*100))}function r(a){const s=(a==null?void 0:a.value)===void 0||(a==null?void 0:a.value)===null||(a==null?void 0:a.value)===""?"--":a.value,o=(a==null?void 0:a.unit)||"",l=[`数值:${s}${o}`];return a!=null&&a.extra&&l.push(String(a.extra)),[(a==null?void 0:a.name)||"数据",...l].join(`
`)}return(a,s)=>(K(),e2("div",{class:t1(["business-stat-list",{"is-compact":n.compact,"is-dense":n.rows.length>10}])},[n.rows.length?G3("",!0):(K(),e2("div",mL,"暂无业务统计数据")),(K(!0),e2(B3,null,q3(n.rows,(o,l)=>(K(),e2("div",{key:o.key||o.name,class:"business-stat-row","data-chart-tooltip":r(o)},[C("div",pL,S2(l+1),1),C("div",yL,[C("div",vL,S2(o.name),1),C("div",_L,[C("span",{style:R1({width:`${i(o)}%`})},null,4)])]),C("div",bL,[C("strong",null,S2(o.value),1),C("em",null,S2(o.unit),1),o.extra?(K(),e2("span",SL,S2(o.extra),1)):G3("",!0)])],8,gL))),128))],2))}};const wL={key:0,class:"business-panel-empty"},CL={key:2,class:"business-metrics"},TL=["data-chart-tooltip"],AL={key:3,class:"business-icon-metrics"},xL=["data-chart-tooltip"],EL={class:"business-icon-metric-copy"},PL={key:0},ML={key:4,class:"business-spotlight"},kL=["data-chart-tooltip"],RL={class:"business-spotlight-side"},IL=["data-chart-tooltip"],NL={key:0},LL={key:1,class:"business-panel-empty"},FL={key:0,class:"business-ring-visual"},DL={class:"business-ring-chart",viewBox:"0 0 160 160",preserveAspectRatio:"xMidYMid meet","aria-hidden":"true"},OL=["stroke","stroke-dasharray","stroke-dashoffset","data-chart-tooltip"],BL={class:"business-ring-inner"},GL={key:1,class:"business-donut-visual"},jL={class:"business-three-pie-center"},zL={class:"business-donut-legend"},UL=["data-chart-tooltip"],$L={key:1,class:"business-panel-empty"},WL={class:"business-rose-visual"},VL={viewBox:"0 0 150 150",preserveAspectRatio:"xMidYMid meet","aria-hidden":"true"},HL={class:"business-rose-guides"},YL=["x1","y1","x2","y2","stroke"],KL={class:"business-rose-segments"},qL=["d","fill","stroke","data-chart-tooltip"],XL={class:"business-rose-labels"},ZL=["x","y","text-anchor"],JL={class:"business-donut-legend business-rose-legend"},QL=["data-chart-tooltip"],eF={key:1,class:"business-panel-empty"},tF={key:7,class:"business-structure"},nF={class:"business-structure-overview"},iF={class:"business-structure-band"},rF=["title","data-chart-tooltip"],aF={class:"business-structure-list"},sF=["data-chart-tooltip"],oF={key:1,class:"business-panel-empty"},lF={key:8,class:"business-capacity"},uF=["data-chart-tooltip"],cF={class:"business-capacity-band"},dF=["title","data-chart-tooltip"],hF={class:"business-capacity-list"},fF=["data-chart-tooltip"],mF=["data-chart-tooltip"],gF={key:1,class:"business-panel-empty"},pF=["data-chart-tooltip"],yF={key:0,class:"business-bar-rank"},vF={class:"business-bar-name"},_F={class:"business-bar-track"},bF={key:0},SF={key:1},wF={key:0,class:"business-column-unit"},CF=["data-hover-value","title","data-chart-tooltip"],TF={key:0},AF={key:0},xF={class:"business-column-track"},EF={key:11,class:"business-project-table"},PF={class:"business-project-search"},MF=["placeholder"],kF={class:"business-project-frame"},RF=["onClick","onKeydown"],IF=["title"],NF={key:0},LF={key:0},FF=["aria-label"],DF={key:2},OF={key:0,class:"business-project-empty"},BF={class:"business-table-head"},GF={class:"business-table-body"},jF=["data-chart-tooltip"],zF={class:"business-table-name"},UF={class:"business-table-value"},$F={key:0},WF={class:"business-stack-legend"},VF={class:"business-stack-chart"},HF=["data-hover-value","title","data-chart-tooltip"],YF={key:0,class:"business-stack-total"},KF={key:0},qF={class:"business-stack-track"},XF=["data-chart-tooltip"],ZF={key:0,class:"business-column-unit business-peak-unit"},JF=["data-hover-value","title","data-chart-tooltip"],QF={key:0},eD={key:0},tD={key:15,class:"business-line"},nD={viewBox:"0 0 320 86",preserveAspectRatio:"none","aria-hidden":"true"},iD=["points"],rD=["points"],aD=["cx","cy"],sD=["cx","cy","onMouseenter"],oD=["onMouseenter"],lD={key:0},uD=["data-chart-tooltip"],cD={class:"business-balance-gauge-head"},dD={class:"business-balance-gauge-ring"},hD={class:"business-balance-gauge-value"},fD={key:0},mD={class:"business-balance-gauge-name"},gD={key:0,class:"business-balance-gauge-extra"},pD=["data-chart-tooltip"],yD={class:"business-gauge-visual"},vD={viewBox:"0 0 152 96",preserveAspectRatio:"xMidYMid meet","aria-hidden":"true"},_D=["stroke-dasharray"],bD={class:"business-gauge-value"},SD={key:0},wD={class:"business-gauge-name"},CD={key:0,class:"business-gauge-extra"},TD=["data-chart-tooltip"],AD={key:0},xD={class:"business-split-band"},ED=["data-chart-tooltip"],PD={class:"business-split-list"},MD=["data-chart-tooltip"],Iy=3e3,bn={__name:"BusinessPanelRenderer",props:{panel:{type:Object,default:()=>({rows:[]})},compact:{type:Boolean,default:!1},columnLabelStandard:{type:Boolean,default:!1}},emits:["row-select"],setup(n,{emit:e}){const t=n,i=e,r=["#24f6c4","#32dcff","#ffe06b","#7ee269","#ff9a62","#9ea7ff"],a=b2(()=>{var b;return((b=t.panel)==null?void 0:b.type)||"rank"}),s=b2(()=>{var b;return(((b=t.panel)==null?void 0:b.rows)||[]).filter(R=>R==null?void 0:R.name)}),o=b2(()=>s.value.map(b=>s3(W2({},b),{value:n2(b)})).filter(b=>b.value>0)),l=b2(()=>s.value.map(b=>n2(b)).filter(b=>b>0)),c=b2(()=>Math.max(...l.value,1)),d=b2(()=>l.value.reduce((b,R)=>b+R,0)),f=b2(()=>s.value.filter(b=>n2(b)>0)),p=b2(()=>{var b;return["raceBar","raceBarNoWrap","raceBarRelaxed","degradation"].includes((b=t.panel)==null?void 0:b.variant)}),y=b2(()=>a.value==="line"?s.value.filter(b=>(b==null?void 0:b.value)!==void 0&&(b==null?void 0:b.value)!==null&&(b==null?void 0:b.value)!==""):s.value.filter(b=>n2(b)>0)),w=b2(()=>y.value),M=b2(()=>a.value!=="column"?"":E3()),P=b2(()=>a.value!=="peak"?"":E3()),D=b2(()=>s.value.filter(b=>n2(b)>0)),B=b2(()=>{var b;return y.value.slice(0,((b=t.panel)==null?void 0:b.limit)||8)}),V=b2(()=>{var b;return s.value.filter(R=>(R==null?void 0:R.value)!==void 0&&(R==null?void 0:R.value)!==null&&(R==null?void 0:R.value)!=="").slice(0,((b=t.panel)==null?void 0:b.limit)||6)}),Y=b2(()=>{var b;return s.value.filter(R=>(R==null?void 0:R.value)!==void 0&&(R==null?void 0:R.value)!==null&&(R==null?void 0:R.value)!=="").slice(0,((b=t.panel)==null?void 0:b.limit)||3)}),X=b2(()=>{var b;return((b=t.panel)==null?void 0:b.segments)||[]}),P2=b2(()=>s.value.filter(b=>M2(b)>0)),z2=b2(()=>Math.max(...P2.value.map(b=>M2(b)),1)),G2=i3(""),N2=i3(null),V2=[{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"}],Y2=b2(()=>{var R;return(Array.isArray((R=t.panel)==null?void 0:R.columns)&&t.panel.columns.length?t.panel.columns:V2).map((h2,B2)=>({key:h2.key||h2.field||`column-${B2}`,label:h2.label||h2.title||h2.name||"",field:h2.field||h2.dataIndex||h2.key,fields:h2.fields||[],width:h2.width,align:h2.align,strong:!!h2.strong,unit:h2.unit,unitField:h2.unitField,fallback:h2.fallback,format:h2.format,icon:h2.icon,className:h2.className}))}),o3=b2(()=>{var b;return((b=t.panel)==null?void 0:b.searchPlaceholder)||"搜索项目"}),r3=b2(()=>{var b;return((b=t.panel)==null?void 0:b.emptyText)||"无匹配项目"}),y3=b2(()=>{var R;const b=Array.isArray((R=t.panel)==null?void 0:R.searchKeys)?t.panel.searchKeys:[];return b.length?b:[...Y2.value.flatMap(h2=>[h2.field,...h2.fields||[]]),"projectName","category","year","measure","townships","metric"].filter(Boolean)}),K2=b2(()=>{const b=et(G2.value);return b?s.value.filter(R=>et($0(R)).includes(b)):we(s.value)}),C3=b2(()=>s.value.find(b=>["forage-total","wetland-yield-total"].includes(b.key))||s.value[0]),m3=b2(()=>s.value.filter(b=>["forage-edible","forage-unavailable","wetland-yield-edible","wetland-yield-unavailable"].includes(b.key))),M3=b2(()=>s.value.find(b=>["forage-top-town","wetland-yield-top-town"].includes(b.key))),N3=i3(0),q2=i3(null),u3=i3(null),_3=i3(!0),L3=i3({visible:!1,x:0,y:0,title:"",lines:[]});let F3=null,K3=null;const w2=b2(()=>{var b,R;return`${((b=t.panel)==null?void 0:b.key)||((R=t.panel)==null?void 0:R.title)||"pie"}-${o.value.map(h2=>`${h2.name}:${h2.value}`).join("|")}`}),a3=b2(()=>{const B2=typeof window=="undefined"?1920:window.innerWidth,U2=typeof window=="undefined"?1080:window.innerHeight,g3=Math.min(B2-190-8,L3.value.x+14),P3=Math.min(U2-82-8,L3.value.y+14);return{left:`${Math.max(8,g3)}px`,top:`${Math.max(8,P3)}px`}}),k3=b2(()=>{const b=J3.value;return b?N3.value%b:0}),J3=b2(()=>{var b;return a.value==="structure"?D.value.length:a.value==="donut"||a.value==="rose"?o.value.length:a.value==="bar"&&((b=t.panel)==null?void 0:b.variant)==="capacity"?m3.value.length:a.value==="bar"||a.value==="column"?y.value.length:a.value==="table"?w.value.length:a.value==="line"?y.value.length:a.value==="balanceGaugeGrid"?Y.value.length:a.value==="gauge"?V.value.length:a.value==="stackColumn"?P2.value.length:a.value==="split"?f.value.length:0}),Q3=b2(()=>o.value[k3.value]||o.value[0]);b2(()=>D.value[k3.value]||D.value[0]);const l1=b2(()=>s.value[0]),c1=b2(()=>s.value.slice(0,4).map((b,R)=>s3(W2({},b),{icon:p2(b,R)}))),B1=b2(()=>D.value.map((b,R)=>s3(W2({},b),{displayIndex:R}))),y1=b2(()=>{var b;return a.value!=="donut"?"standard":((b=t.panel)==null?void 0:b.variant)==="ring"?"ring":"three"}),b1=b2(()=>{const b=o.value,R=b.length;if(!R)return[];const h2=52,B2=2*Math.PI*h2,U2=b.reduce((W3,V3)=>W3+n2(V3),0)||1,g3=R>1?Math.min(12,Math.max(7,B2*.028)):0;let P3=0;return b.map((W3,V3)=>{const o1=n2(W3)/U2*B2,T1=R>1?Math.max(5,o1-g3):B2,E2=P3+(R>1?g3/2:0);return P3+=o1,{key:W3.key||W3.name||V3,index:V3,item:W3,color:y2(V3),dasharray:`${T1.toFixed(2)} ${B2.toFixed(2)}`,dashoffset:`${(-E2).toFixed(2)}`}})}),O=b2(()=>{const b=o.value,R=b.length;if(!R)return[];const h2=Math.max(...b.map(g3=>n2(g3)),1),B2=360/R,U2=Math.min(8,B2*.16);return b.map((g3,P3)=>{const W3=n2(g3),V3=P3===k3.value,z3=36+Math.sqrt(W3/h2)*31+(V3?5:0),o1=17,T1=-90+P3*B2+U2/2,E2=-90+(P3+1)*B2-U2/2,c3=(T1+E2)/2,S3=W(75,75,z3+3,c3),s2=W(75,75,z3+15,c3),v3=W(75,75,z3+20,c3);return{key:g3.key||g3.name||P3,index:P3,item:g3,color:y2(P3),path:L2(75,75,o1,z3,T1,E2),lineStart:S3,lineEnd:s2,label:v3,anchor:Math.cos(c3*Math.PI/180)>=0?"start":"end"}})});$n(()=>{A(),O2()}),Un(()=>{j(),r2()}),I0(()=>{var b;return[(b=t.panel)==null?void 0:b.key,s.value.length]},()=>{N3.value=0,q2.value=null,G2.value="",N2.value=null,re(),O2()}),I0(_3,()=>{O2()});const A1=b2(()=>{const b=y.value,R=320,h2=66,B2=10,U2=b.length>1?R/(b.length-1):R,g3=b.map(z3=>n2(z3)).filter(z3=>Number.isFinite(z3)&&z3>=0),P3=g3.length?Math.min(...g3):0,W3=g3.length?Math.max(...g3):1,V3=Math.max(W3-P3,W3*.08,1);return b.map((z3,o1)=>{const T1=n2(z3);return{x:Math.round(o1*U2),y:Math.round(B2+h2-(T1-P3)/V3*h2),item:z3}})}),I1=b2(()=>A1.value.map(b=>`${b.x},${b.y}`).join(" ")),F1=b2(()=>A1.value.length?`0,86 ${I1.value} 320,86`:""),S1=b2(()=>y.value),H2=b2(()=>({gridTemplateColumns:`repeat(${Math.max(S1.value.length,1)}, minmax(0, 1fr))`})),c2=b2(()=>Number.isInteger(q2.value)?A1.value[q2.value]:null),a2=b2(()=>A1.value.length?Number.isInteger(q2.value)?q2.value:k3.value:0),i2=b2(()=>c2.value?c2.value:A1.value[a2.value]||A1.value[0]),A2=b2(()=>{const b=i2.value;if(!b)return{};const R=b.x/320*100;return{left:`${Math.min(84,Math.max(16,R))}%`,top:"6px",transform:"translateX(-50%)"}});function n2(b){const R=Number(b==null?void 0:b.value);if(!Number.isNaN(R)&&R>0)return R;const h2=Number(b==null?void 0:b.percent);return Number.isNaN(h2)?0:h2}function M2(b){const R=(b==null?void 0:b.segments)||(b==null?void 0:b.values)||{};return X.value.reduce((h2,B2)=>h2+(Number(R[B2.key])||0),0)}function t3(b){const R=M2(b),h2=(b==null?void 0:b.segments)||(b==null?void 0:b.values)||{};return R?X.value.map((B2,U2)=>{var W3;const g3=Number(h2[B2.key])||0,P3=((W3=t.panel)==null?void 0:W3.variant)==="dual"?z2.value:R;return s3(W2({},B2),{value:g3,percent:Math.max(g3>0?3:0,g3/Math.max(P3,1)*100),color:A3(B2,U2)})}):[]}function A3(b,R){return(b==null?void 0:b.color)||(b==null?void 0:b.fillColor)||y2(R)}function J2(b){const R=Number(b);return Number.isNaN(R)?"--":Number.isInteger(R)?`${R}`:`${Number(R.toFixed(2))}`}function T2(b){return(b==null?void 0:b.displayValue)!==void 0&&(b==null?void 0:b.displayValue)!==null&&(b==null?void 0:b.displayValue)!==""?b.displayValue:(b==null?void 0:b.value)===void 0||(b==null?void 0:b.value)===null||(b==null?void 0:b.value)===""?"--":J2(b.value)}function D2(b){var B2;const R=(b==null?void 0:b.displayUnit)||(b==null?void 0:b.unit)||"";if(!R)return"";const h2=String((B2=T2(b))!=null?B2:"");return h2&&h2.endsWith(String(R))?"":R}function E3(){const b=[...new Set(y.value.map(R=>(R==null?void 0:R.displayUnit)||(R==null?void 0:R.unit)).filter(Boolean))];return b.length===1?b[0]:""}function b3(b){const R=D2(b);return R?M.value===R?"":R:""}function n1(b){const R=D2(b);return R?P.value===R?"":R:""}function w1(b){return String(b||"").trim().replace(/\s+/g,"")}function O1(b){return Array.from(w1(b)).slice(0,3).join("")}function z0(b){const R=w1(b==null?void 0:b.name)||"数据",h2=D2(b);return`${R}:${T2(b)}${h2}`}function ie(b,R=[]){return[w1(b)||"数据",...R.filter(h2=>h2!=null&&String(h2).trim()!=="").map(h2=>String(h2))].join(`
`)}function d3(b,R=[]){if(!b)return"";const h2=D2(b),B2=T2(b),U2=[];return B2!=="--"&&U2.push(`数值:${B2}${h2}`),b.extra&&U2.push(String(b.extra)),ie(b.name,[...U2,...R])}function Y3(b){return d3(b,[`占比:${d2(b)}`])}function r1(b){return d3(b,[`占比:${S(b)}`])}function g1(b){return d3(b,[`占比:${m2(b)}`])}function J1(b){const R=Ne(b),h2=t3(b).filter(B2=>B2.value>0).map(B2=>`${B2.name}:${J2(B2.value)}${R}`);return ie(b==null?void 0:b.name,[`合计:${J2(M2(b))}${R}`,...h2])}function a0(b,R){const h2=Ne(b);return ie(`${w1(b==null?void 0:b.name)} ${(R==null?void 0:R.name)||""}`,[`数值:${J2((R==null?void 0:R.value)||0)}${h2}`])}function f1(b){return d3(b,[`状态:${U(b)}`])}function Pe(b){const R=d.value?`${J2(n2(b)/d.value*100)}%`:"--";return d3(b,[`占比:${R}`])}function vt(b){var U2,g3,P3;const R=(g3=(U2=b.target)==null?void 0:U2.closest)==null?void 0:g3.call(U2,"[data-chart-tooltip], [data-hover-value]");if(!R||!((P3=u3.value)!=null&&P3.contains(R))){re();return}const h2=R.getAttribute("data-chart-tooltip")||R.getAttribute("data-hover-value")||"",B2=String(h2).split(/\n+/).map(W3=>W3.trim()).filter(Boolean);if(!B2.length){re();return}L3.value={visible:!0,x:b.clientX,y:b.clientY,title:B2[0],lines:B2.slice(1)}}function re(){L3.value.visible&&(L3.value={visible:!1,x:0,y:0,title:"",lines:[]})}function A0(b){const R=w1(b==null?void 0:b.name)||"数据",h2=Ne(b);return`${R}:${J2(M2(b))}${h2}`}function Ne(b){var R;return(b==null?void 0:b.displayUnit)||(b==null?void 0:b.unit)||((R=t.panel)==null?void 0:R.unit)||""}function B0(){var b,R;return((b=t.panel)==null?void 0:b.showValue)===!0||((R=t.panel)==null?void 0:R.variant)==="dual"}function et(b){return String(b||"").trim().toLowerCase()}function $0(b){const R=y3.value.map(h2=>W0(b,{field:h2})).filter(h2=>h2!=null);return[b==null?void 0:b.searchText,...R].filter(Boolean).join(" ")}function we(b=[]){var h2;const R=Number((h2=t.panel)==null?void 0:h2.maxRows);return!Number.isFinite(R)||R<=0?b:b.slice(0,R)}function W0(b,R){const h2=[R==null?void 0:R.field,...(R==null?void 0:R.fields)||[]].filter(Boolean);for(const B2 of h2){const U2=String(B2).split(".").reduce((g3,P3)=>g3==null?void 0:g3[P3],b);if(U2!=null&&U2!=="")return U2}}function V0(b,R){const h2=W0(b,R);return h2==null||h2===""?(R==null?void 0:R.fallback)||"--":(R==null?void 0:R.format)==="number"?J2(h2):(R==null?void 0:R.format)==="displayValue"?T2({value:h2}):String(h2)}function fe(b,R){return R!=null&&R.unitField&&(b!=null&&b[R.unitField])?b[R.unitField]:(R==null?void 0:R.unit)||""}function v0(b){return{"business-project-name":(b==null?void 0:b.key)==="name","business-project-locate":(b==null?void 0:b.key)==="locate","is-right":(b==null?void 0:b.align)==="right","is-center":(b==null?void 0:b.align)==="center","is-strong":b==null?void 0:b.strong}}function G0(b){(b==null?void 0:b.canLocate)!==!1&&(N2.value=(b==null?void 0:b.key)||(b==null?void 0:b.name)||null,i("row-select",b))}function Le(b){const R=b==null?void 0:b.currentTarget;if(!R||R.scrollWidth<=R.clientWidth)return;b.preventDefault();const h2=Math.abs(b.deltaX)>Math.abs(b.deltaY)?b.deltaX:b.deltaY;R.scrollLeft+=h2}function s0(b){var g3,P3;const R=Number(b==null?void 0:b.scaleValue);if(!(a.value==="column"&&((g3=t.panel)==null?void 0:g3.variant)==="plain")&&!Number.isNaN(R)&&R>0)return Math.max(8,Math.min(100,Math.round(R)));const B2=n2(b);if(!B2)return 8;const U2=a.value==="column"&&((P3=t.panel)==null?void 0:P3.variant)==="plain"?Math.max(...l.value,B2):c.value;return Math.max(8,Math.round(B2/U2*100))}function on(b,R){const h2=s0(b),B2=Math.max(.14,Math.min(.46,h2/180));return{"--heat-color":y2(R),"--heat-bg":N(y2(R),B2)}}function Q(b){const R=Number(b==null?void 0:b.value);return Number.isFinite(R)?R:0}function Z2(){var h2;const b=Number((h2=t.panel)==null?void 0:h2.max);if(Number.isFinite(b)&&b>0)return b;const R=Math.max(...V.value.map(B2=>Q(B2)),100);return Math.max(R,100)}function D3(b){const R=Q(b),h2=Z2();return!h2||R<=0?0:Number(Math.min(100,R/h2*100).toFixed(1))}function s1(b){return Number((-180+D3(b)*1.8).toFixed(1))}function v1(b,R){if(b!=null&&b.color||b!=null&&b.fillColor)return b.color||b.fillColor;const h2=Q(b);return h2<=0?"#24f6c4":h2>100?"#ffbf5a":y2(R)}function C1(b){const R=Math.max(0,Q(b)),h2=Math.max(5,...Y.value.map(B2=>Math.max(0,Q(B2))));return Math.max(6,Math.min(100,Number((R/h2*100).toFixed(1))))}function u0(b){const R=Q(b),h2=String((b==null?void 0:b.status)||(b==null?void 0:b.level)||"");return R>20||/严重|重度|高超载/.test(h2)?"#ff5a64":R>10||/中度|预警/.test(h2)?"#ff9a5c":R>5||/轻度/.test(h2)?"#ffe06b":R<=0||/总体可控|合理|正常|达标|无超载/.test(h2)?"#24f6c4":"#30dcff"}function H0(b){return{"--balance-color":u0(b),"--balance-progress":`${C1(b)}%`}}function U(b){if(b!=null&&b.status||b!=null&&b.level)return b.status||b.level;const R=Q(b);return R<0?"合理":R<=5?"基本实现草畜平衡":R<=10?"轻度超载":R>100?"高超载":"超载预警"}function N(b,R=.2){const h2=String(b||"").replace("#","");if(h2.length!==6)return`rgba(48, 220, 255, ${R})`;const B2=parseInt(h2,16),U2=B2>>16&255,g3=B2>>8&255,P3=B2&255;return`rgba(${U2}, ${g3}, ${P3}, ${R})`}function m(b){const R=A1.value.length;if(!R)return;const h2=b.currentTarget.getBoundingClientRect(),B2=h2.width?(b.clientX-h2.left)/h2.width:0,U2=Math.min(R-1,Math.max(0,Math.round(B2*(R-1))));q2.value=U2}function g(b){const R=n2(b);return!d.value||!R?0:Math.max(6,R/d.value*100)}function v(b){const R=n2(b);return!d.value||!R?0:Math.max(2,R/d.value*100)}function S(b){if(!b)return"--";if(b.extra)return b.extra;const R=n2(b);return!d.value||!R?"--":`${J2(R/d.value*100)}%`}function x(){const b=n2(C3.value);return b>0?b:m3.value.reduce((R,h2)=>R+n2(h2),0)}function k(b){const R=x(),h2=n2(b);return!R||!h2?0:Math.max(6,h2/R*100)}function m2(b){const R=x(),h2=n2(b);return!R||!h2?"--":`${J2(h2/R*100)}%`}function t2(b,R){return["forage-edible","wetland-yield-edible"].includes(b==null?void 0:b.key)?"#24f6c4":["forage-unavailable","wetland-yield-unavailable"].includes(b==null?void 0:b.key)?"#ffe06b":y2(R)}function d2(b){const R=n2(b),h2=Number(b==null?void 0:b.count)||d.value;return!R||!h2?"0%":`${J2(R/h2*100)}%`}function Z(b){const R=n2(b),h2=Number(b==null?void 0:b.count)||d.value;return!R||!h2?0:R/h2*100}function W(b,R,h2,B2){const U2=B2*Math.PI/180;return{x:Number((b+h2*Math.cos(U2)).toFixed(2)),y:Number((R+h2*Math.sin(U2)).toFixed(2))}}function L2(b,R,h2,B2,U2,g3){const P3=W(b,R,B2,U2),W3=W(b,R,B2,g3),V3=W(b,R,h2,g3),z3=W(b,R,h2,U2),o1=g3-U2>180?1:0;return[`M ${P3.x} ${P3.y}`,`A ${B2} ${B2} 0 ${o1} 1 ${W3.x} ${W3.y}`,`L ${V3.x} ${V3.y}`,`A ${h2} ${h2} 0 ${o1} 0 ${z3.x} ${z3.y}`,"Z"].join(" ")}function y2(b){return r[b%r.length]}function p2(b,R){if(b!=null&&b.icon)return String(b.icon).replace(/[^a-z0-9-]/gi,"");const h2=String((b==null?void 0:b.name)||"");return h2.includes("利用率")||h2.includes("占比")?"rate":h2.includes("重度")||h2.includes("退化")?"risk":h2.includes("可食")||h2.includes("供给")?"leaf":h2.includes("不可")?"stack":h2.includes("产量")||h2.includes("鲜草")?"yield":h2.includes("乡镇")?"town":h2.includes("面积")?"area":["yield","leaf","rate","risk"][R%4]}function g2(){r2();const b=J3.value;_3.value&&(b<2||(F3=window.setInterval(()=>{N3.value=(N3.value+1)%b},Iy)))}function O2(){_3.value?g2():r2()}function r2(){F3&&(window.clearInterval(F3),F3=null)}function A(){H(),!(!u3.value||typeof window.IntersectionObserver!="function")&&(K3=new IntersectionObserver(b=>{const R=b[0];_3.value=!!(R!=null&&R.isIntersecting)&&x2()}),K3.observe(u3.value),window.requestAnimationFrame(H))}function j(){var b;(b=K3==null?void 0:K3.disconnect)==null||b.call(K3),K3=null}function H(){_3.value=x2()}function x2(){const b=u3.value;return b?!!(b.offsetParent||b.getClientRects().length):!0}function R2(b,R={}){const h2=R.color||R.fillColor||y2(b);return`linear-gradient(90deg, ${N(h2,.16)} 0%, ${N(h2,.72)} 42%, ${h2} 78%, rgba(255,255,255,0.94) 100%)`}function G(b,R={}){var B2;if(((B2=t.panel)==null?void 0:B2.variant)==="plain"){const U2=R.color||R.fillColor;if(U2)return`linear-gradient(180deg, rgba(255,255,255,0.96) 0%, ${N(U2,.96)} 16%, ${N(U2,.72)} 74%, ${N(U2,.18)} 100%)`;const g3=[["#9BEA55","#29DFA7"],["#7FEA6A","#24D5C0"],["#B6E84C","#47D982"]],[P3,W3]=g3[b%g3.length];return`linear-gradient(180deg, rgba(255,255,255,0.96) 0%, ${P3} 16%, ${W3} 76%, rgba(36,246,196,0.18) 100%)`}const h2=R.color||R.fillColor||y2(b);return`linear-gradient(180deg, rgba(255,255,255,0.96) 0%, ${h2} 18%, ${N(h2,.7)} 72%, rgba(50, 220, 255, 0.12) 100%)`}return(b,R)=>{var h2,B2,U2,g3,P3,W3,V3,z3,o1,T1,E2,c3,S3;return K(),e2("div",{ref_key:"panelRef",ref:u3,class:t1(["business-panel",[`is-${a.value}`,`is-${y1.value}`,{"is-compact":n.compact,"is-column-label-standard":n.columnLabelStandard}]]),onMousemove:vt,onMouseleave:re},[s.value.length?a.value==="rank"?(K(),te(Ry,{key:1,rows:s.value,compact:""},null,8,["rows"])):a.value==="metric"?(K(),e2("div",CL,[(K(!0),e2(B3,null,q3(s.value.slice(0,4),s2=>(K(),e2("div",{key:s2.key||s2.name,class:"business-metric-item","data-chart-tooltip":d3(s2)},[C("span",null,S2(s2.name),1),C("strong",null,S2(T2(s2)),1),C("em",null,S2(s2.unit),1)],8,TL))),128))])):a.value==="iconMetric"?(K(),e2("div",AL,[(K(!0),e2(B3,null,q3(c1.value,(s2,v3)=>(K(),e2("div",{key:s2.key||s2.name,class:t1(["business-icon-metric-item",`is-tone-${v3%r.length}`]),"data-chart-tooltip":d3(s2)},[C("i",{class:t1(["business-icon-metric-mark",`is-${s2.icon}`])},[...R[3]||(R[3]=[C("span",null,null,-1)])],2),C("div",EL,[C("span",null,S2(s2.name),1),C("strong",null,[he(S2(T2(s2)),1),s2.unit?(K(),e2("em",PL,S2(s2.unit),1)):G3("",!0)])])],10,xL))),128))])):a.value==="spotlight"?(K(),e2("div",ML,[l1.value?(K(),e2(B3,{key:0},[C("div",{class:"business-spotlight-main","data-chart-tooltip":d3(l1.value)},[C("span",null,S2(l1.value.name),1),C("strong",null,[he(S2(T2(l1.value)),1),C("em",null,S2(l1.value.unit),1)]),C("small",null,S2(l1.value.extra||((h2=n.panel)==null?void 0:h2.note)||"核心业务指标"),1)],8,kL),C("div",RL,[(K(!0),e2(B3,null,q3(s.value.slice(1,4),(s2,v3)=>(K(),e2("div",{key:s2.key||s2.name,class:"business-spotlight-chip","data-chart-tooltip":d3(s2)},[C("i",{style:R1({borderColor:y2(v3+1)})},null,4),C("span",null,S2(s2.name),1),C("strong",null,[he(S2(T2(s2)),1),C("em",null,S2(s2.unit),1)]),s2.extra?(K(),e2("small",NL,S2(s2.extra),1)):G3("",!0)],8,IL))),128))])],64)):(K(),e2("div",LL,"暂无业务统计数据"))])):a.value==="donut"?(K(),e2("div",{key:5,class:t1(["business-donut",[`is-variant-${y1.value}`,{"is-dense":o.value.length>5}]])},[o.value.length?(K(),e2(B3,{key:0},[y1.value==="ring"?(K(),e2("div",FL,[(K(),e2("svg",DL,[R[4]||(R[4]=C("circle",{class:"business-ring-halo",cx:"80",cy:"80",r:"39"},null,-1)),R[5]||(R[5]=C("circle",{class:"business-ring-track",cx:"80",cy:"80",r:"52"},null,-1)),(K(!0),e2(B3,null,q3(b1.value,s2=>(K(),e2("circle",{key:s2.key,class:t1(["business-ring-segment",{"is-active":s2.index===k3.value}]),cx:"80",cy:"80",r:"52",stroke:s2.color,"stroke-dasharray":s2.dasharray,"stroke-dashoffset":s2.dashoffset,style:R1({color:s2.color}),"data-chart-tooltip":Y3(s2.item)},null,14,OL))),128))])),C("div",BL,[C("strong",null,S2(d2(Q3.value)),1),C("span",null,S2(((B2=Q3.value)==null?void 0:B2.name)||"结构占比"),1)])])):(K(),e2("div",GL,[(K(),te(ub,{key:w2.value,data:o.value,delay:Iy,colors:r,opacity:.62,class:"business-three-pie"},{default:j1(({data:s2})=>[C("div",jL,[C("strong",null,S2(d2(s2)),1),C("span",null,S2((s2==null?void 0:s2.name)||"结构占比"),1)])]),_:1},8,["data"]))])),C("div",zL,[(K(!0),e2(B3,null,q3(o.value,(s2,v3)=>(K(),e2("div",{key:s2.key||s2.name,class:t1(["business-donut-row",{"is-active":v3===k3.value}]),style:R1({"--row-color":y2(v3),"--row-percent":`${Math.max(4,Z(s2))}%`}),"data-chart-tooltip":Y3(s2)},[C("i",{style:R1({borderColor:y2(v3)})},null,4),C("span",null,S2(s2.name),1),C("strong",null,S2(T2(s2)),1),C("em",null,S2(s2.unit),1)],14,UL))),128))])],64)):(K(),e2("div",$L,"暂无业务统计数据"))],2)):a.value==="rose"?(K(),e2("div",{key:6,class:t1(["business-rose",{"is-dense":o.value.length>5}])},[o.value.length?(K(),e2(B3,{key:0},[C("div",WL,[(K(),e2("svg",VL,[C("g",HL,[(K(!0),e2(B3,null,q3(O.value,s2=>(K(),e2("line",{key:`guide-${s2.key}`,x1:s2.lineStart.x,y1:s2.lineStart.y,x2:s2.lineEnd.x,y2:s2.lineEnd.y,stroke:s2.color},null,8,YL))),128))]),C("g",KL,[(K(!0),e2(B3,null,q3(O.value,s2=>(K(),e2("path",{key:s2.key,class:t1(["business-rose-segment",{"is-active":s2.index===k3.value}]),d:s2.path,fill:s2.color,stroke:s2.color,"data-chart-tooltip":Y3(s2.item)},null,10,qL))),128))]),R[6]||(R[6]=C("circle",{class:"business-rose-glow",cx:"75",cy:"75",r:"24"},null,-1)),R[7]||(R[7]=C("circle",{class:"business-rose-hole",cx:"75",cy:"75",r:"16"},null,-1)),C("g",XL,[(K(!0),e2(B3,null,q3(O.value,s2=>(K(),e2("text",{key:`label-${s2.key}`,x:s2.label.x,y:s2.label.y,"text-anchor":s2.anchor},S2(s2.item.name),9,ZL))),128))])]))]),C("div",JL,[(K(!0),e2(B3,null,q3(o.value,(s2,v3)=>(K(),e2("div",{key:s2.key||s2.name,class:t1(["business-donut-row business-rose-row",{"is-active":v3===k3.value}]),"data-chart-tooltip":Y3(s2)},[C("i",{style:R1({borderColor:y2(v3),background:y2(v3),color:y2(v3)})},null,4),C("span",null,S2(s2.name),1),C("strong",null,S2(T2(s2)),1),C("em",null,S2(s2.unit),1)],10,QL))),128))])],64)):(K(),e2("div",eF,"暂无业务统计数据"))],2)):a.value==="structure"?(K(),e2("div",tF,[D.value.length?(K(),e2(B3,{key:0},[C("div",nF,[C("div",iF,[(K(!0),e2(B3,null,q3(D.value,(s2,v3)=>(K(),e2("i",{key:s2.key||s2.name,class:t1({"is-active":v3===k3.value}),style:R1({width:`${v(s2)}%`,background:y2(v3),color:y2(v3)}),title:`${s2.name}:${T2(s2)}${s2.unit||""} ${S(s2)}`,"data-chart-tooltip":r1(s2)},null,14,rF))),128))])]),C("div",aF,[(K(!0),e2(B3,null,q3(B1.value,s2=>(K(),e2("div",{key:s2.key||s2.name,class:t1(["business-structure-row",{"is-active":s2.displayIndex===k3.value}]),style:R1({"--row-color":y2(s2.displayIndex),"--row-percent":`${Math.max(4,v(s2))}%`}),"data-chart-tooltip":r1(s2)},[C("i",{style:R1({background:y2(s2.displayIndex),color:y2(s2.displayIndex)})},null,4),C("span",null,S2(s2.name),1),C("strong",null,[he(S2(T2(s2)),1),C("em",null,S2(s2.unit),1)]),C("small",null,S2(S(s2)),1)],14,sF))),128))])],64)):(K(),e2("div",oF,"暂无业务统计数据"))])):a.value==="bar"&&((U2=n.panel)==null?void 0:U2.variant)==="capacity"?(K(),e2("div",lF,[C3.value?(K(),e2(B3,{key:0},[C("div",{class:"business-capacity-head","data-chart-tooltip":d3(C3.value)},[C("span",null,S2(C3.value.name),1),C("strong",null,[he(S2(T2(C3.value)),1),C("em",null,S2(C3.value.unit),1)])],8,uF),C("div",cF,[(K(!0),e2(B3,null,q3(m3.value,(s2,v3)=>(K(),e2("i",{key:s2.key||s2.name,class:t1({"is-active":v3===k3.value}),style:R1({width:`${k(s2)}%`,background:t2(s2,v3),color:t2(s2,v3)}),title:`${s2.name}:${T2(s2)}${s2.unit||""} ${m2(s2)}`,"data-chart-tooltip":g1(s2)},null,14,dF))),128))]),C("div",hF,[(K(!0),e2(B3,null,q3(m3.value,(s2,v3)=>(K(),e2("div",{key:s2.key||s2.name,class:t1(["business-capacity-row",{"is-active":v3===k3.value}]),"data-chart-tooltip":g1(s2)},[C("i",{style:R1({background:t2(s2,v3),color:t2(s2,v3)})},null,4),C("span",null,S2(s2.name),1),C("strong",null,[he(S2(T2(s2)),1),C("em",null,S2(s2.unit),1)]),C("small",null,S2(m2(s2)),1)],10,fF))),128))]),M3.value?(K(),e2("div",{key:0,class:"business-capacity-town","data-chart-tooltip":d3(M3.value)},[C("span",null,S2(M3.value.name),1),C("strong",null,[he(S2(T2(M3.value)),1),C("em",null,S2(M3.value.unit),1)])],8,mF)):G3("",!0)],64)):(K(),e2("div",gF,"暂无业务统计数据"))])):a.value==="bar"?(K(),e2("div",{key:9,class:t1(["business-bars",{"is-dense":y.value.length>=5,"is-long":y.value.length>10,"is-scrollable":y.value.length>5,"is-single":((g3=n.panel)==null?void 0:g3.span)===1,"is-distribution":((P3=n.panel)==null?void 0:P3.variant)==="distribution","is-capacity":((W3=n.panel)==null?void 0:W3.variant)==="capacity","is-rank-bar":((V3=n.panel)==null?void 0:V3.variant)==="rankBar","is-race-bar":p.value,"is-few-rows":p.value&&y.value.length<=3,"is-degradation":((z3=n.panel)==null?void 0:z3.variant)==="degradation","is-race-nowrap":((o1=n.panel)==null?void 0:o1.variant)==="raceBarNoWrap","is-race-relaxed":((T1=n.panel)==null?void 0:T1.variant)==="raceBarRelaxed"}]),onWheel:R[0]||(R[0]=lt(()=>{},["stop"]))},[(K(!0),e2(B3,null,q3(y.value,(s2,v3)=>{var _1;return K(),e2("div",{key:s2.key||s2.name,class:t1(["business-bar-row",{"is-active":v3===k3.value}]),style:R1({"--bar-color":s2.color||s2.fillColor||y2(v3)}),"data-chart-tooltip":d3(s2)},[((_1=n.panel)==null?void 0:_1.variant)==="rankBar"?(K(),e2("span",yF,S2(v3+1),1)):G3("",!0),C("span",vF,S2(s2.name),1),C("div",_F,[C("i",{style:R1({width:`${s0(s2)}%`,background:R2(v3,s2)})},null,4)]),C("strong",null,[he(S2(T2(s2))+" ",1),s2.unit?(K(),e2("em",bF,S2(s2.unit),1)):G3("",!0),s2.extra?(K(),e2("small",SF,S2(s2.extra),1)):G3("",!0)])],14,pF)}),128))],34)):a.value==="column"?(K(),e2("div",{key:10,class:t1(["business-columns",[`is-variant-${((E2=n.panel)==null?void 0:E2.variant)||"solid"}`,{"is-dense":y.value.length>6,"is-scrollable":y.value.length>6&&((c3=n.panel)==null?void 0:c3.scrollable)!==!1,"has-unit-label":!!M.value}]]),onWheel:lt(Le,["stop"])},[M.value?(K(),e2("small",wF,"单位:"+S2(M.value),1)):G3("",!0),(K(!0),e2(B3,null,q3(y.value,(s2,v3)=>(K(),e2("div",{key:s2.key||s2.name,class:t1(["business-column-item",{"is-active":v3===k3.value,"is-zero":(s2==null?void 0:s2.zero)===!0||(s2==null?void 0:s2.isZero)===!0}]),"data-hover-value":z0(s2),title:z0(s2),"data-chart-tooltip":d3(s2)},[n.columnLabelStandard?G3("",!0):(K(),e2("strong",TF,[he(S2(T2(s2)),1),b3(s2)?(K(),e2("em",AF,S2(b3(s2)),1)):G3("",!0)])),C("div",xF,[C("i",{style:R1({height:`${s0(s2)}%`,background:G(v3,s2),"--column-load-delay":`${v3*.075}s`})},null,4)]),C("span",null,S2(n.columnLabelStandard?O1(s2.name):w1(s2.name)),1)],10,CF))),128))],34)):a.value==="projectTable"?(K(),e2("div",EF,[C("div",PF,[We(C("input",{"onUpdate:modelValue":R[1]||(R[1]=s2=>G2.value=s2),type:"search",placeholder:o3.value},null,8,MF),[[m9,G2.value]])]),C("div",kF,[C("table",null,[C("colgroup",null,[(K(!0),e2(B3,null,q3(Y2.value,s2=>(K(),e2("col",{key:s2.key,class:t1(s2.className),style:R1({width:s2.width||void 0})},null,6))),128))]),C("thead",null,[C("tr",null,[(K(!0),e2(B3,null,q3(Y2.value,s2=>(K(),e2("th",{key:s2.key,class:t1(v0(s2))},S2(s2.label),3))),128))])]),C("tbody",null,[(K(!0),e2(B3,null,q3(K2.value,s2=>(K(),e2("tr",{key:s2.key||s2.name,class:t1({"is-active":N2.value===(s2.key||s2.name)}),tabindex:"0",onClick:v3=>G0(s2),onKeydown:[y8(lt(v3=>G0(s2),["prevent"]),["enter"]),y8(lt(v3=>G0(s2),["prevent"]),["space"])]},[(K(!0),e2(B3,null,q3(Y2.value,v3=>(K(),e2("td",{key:v3.key,class:t1(v0(v3)),title:V0(s2,v3)},[v3.strong?(K(),e2("strong",NF,[he(S2(V0(s2,v3)),1),fe(s2,v3)?(K(),e2("em",LF,S2(fe(s2,v3)),1)):G3("",!0)])):v3.icon&&V0(s2,v3)!=="--"?(K(),e2("span",{key:1,class:t1(["business-project-cell-icon",`business-project-cell-icon--${v3.icon}`]),role:"img","aria-label":V0(s2,v3)},null,10,FF)):(K(),e2("span",DF,S2(V0(s2,v3)),1))],10,IF))),128))],42,RF))),128))])]),K2.value.length?G3("",!0):(K(),e2("div",OF,S2(r3.value),1))])])):a.value==="table"?(K(),e2("div",{key:12,class:t1(["business-table",{"is-dense":w.value.length>8}])},[C("div",BF,[(K(),e2(B3,null,q3(2,s2=>C("div",{key:s2,class:"business-table-head-group"},[...R[8]||(R[8]=[C("span",null,"乡镇",-1),C("span",null,"亩产",-1)])])),64))]),C("div",GF,[(K(!0),e2(B3,null,q3(w.value,(s2,v3)=>(K(),e2("div",{key:s2.key||s2.name,class:t1(["business-table-row",{"is-active":v3===k3.value}]),"data-chart-tooltip":d3(s2)},[C("span",zF,S2(s2.name),1),C("div",UF,[C("strong",null,[he(S2(T2(s2)),1),s2.unit?(K(),e2("em",$F,S2(s2.unit),1)):G3("",!0)]),C("i",null,[C("b",{style:R1({width:`${s0(s2)}%`,background:R2(v3)})},null,4)])])],10,jF))),128))])],2)):a.value==="stackColumn"?(K(),e2("div",{key:13,class:t1(["business-stack-columns",[`is-variant-${((S3=n.panel)==null?void 0:S3.variant)||"standard"}`,{"is-dense":P2.value.length>6}]])},[C("div",WF,[(K(!0),e2(B3,null,q3(X.value,(s2,v3)=>(K(),e2("span",{key:s2.key||s2.name},[C("i",{style:R1({background:A3(s2,v3)})},null,4),he(S2(s2.name),1)]))),128))]),C("div",VF,[(K(!0),e2(B3,null,q3(P2.value,(s2,v3)=>(K(),e2("div",{key:s2.key||s2.name,class:t1(["business-stack-item",{"is-active":v3===k3.value}]),"data-hover-value":A0(s2),title:A0(s2),"data-chart-tooltip":J1(s2)},[B0()?(K(),e2("strong",YF,[he(S2(J2(M2(s2))),1),Ne(s2)?(K(),e2("em",KF,S2(Ne(s2)),1)):G3("",!0)])):G3("",!0),C("div",qF,[(K(!0),e2(B3,null,q3(t3(s2),(_1,E1)=>(K(),e2("i",{key:_1.key||_1.name,style:R1({height:`${_1.percent}%`,background:_1.color,color:_1.color}),"data-chart-tooltip":a0(s2,_1)},null,12,XF))),128))]),C("span",null,S2(n.columnLabelStandard?O1(s2.name):w1(s2.name)),1)],10,HF))),128))])],2)):a.value==="peak"?(K(),e2("div",{key:14,class:t1(["business-peaks",{"is-dense":y.value.length>5}])},[P.value?(K(),e2("small",ZF,"单位:"+S2(P.value),1)):G3("",!0),(K(!0),e2(B3,null,q3(y.value,(s2,v3)=>(K(),e2("div",{key:s2.key||s2.name,class:"business-peak-item",style:R1({"--peak-height":`${s0(s2)}%`,"--peak-color":y2(v3)}),"data-hover-value":z0(s2),title:z0(s2),"data-chart-tooltip":d3(s2)},[n.columnLabelStandard?G3("",!0):(K(),e2("strong",QF,[he(S2(T2(s2)),1),n1(s2)?(K(),e2("em",eD,S2(n1(s2)),1)):G3("",!0)])),R[9]||(R[9]=C("div",{class:"business-peak-stage"},[C("i")],-1)),C("span",null,S2(n.columnLabelStandard?O1(s2.name):w1(s2.name)),1)],12,JF))),128))],2)):a.value==="line"?(K(),e2("div",tD,[C("div",{class:"business-line-chart",onMousemove:m,onMouseleave:R[2]||(R[2]=s2=>q2.value=null)},[(K(),e2("svg",nD,[R[10]||(R[10]=C("path",{class:"business-line-grid",d:"M0 18H320M0 44H320M0 70H320"},null,-1)),C("polyline",{class:"business-line-area",points:F1.value},null,8,iD),C("polyline",{class:"business-line-stroke",points:I1.value},null,8,rD),(K(!0),e2(B3,null,q3(A1.value,(s2,v3)=>(K(),e2("circle",{key:v3,cx:s2.x,cy:s2.y,r:"3",class:t1(["business-line-dot",{"is-active":v3===a2.value}])},null,10,aD))),128)),(K(!0),e2(B3,null,q3(A1.value,(s2,v3)=>(K(),e2("circle",{key:`hit-${v3}`,cx:s2.x,cy:s2.y,r:"13",class:"business-line-hit",onMouseenter:_1=>q2.value=v3},null,40,sD))),128))])),C("div",{class:"business-line-hover-zones",style:R1(H2.value)},[(K(!0),e2(B3,null,q3(A1.value,(s2,v3)=>(K(),e2("i",{key:`zone-${v3}`,onMouseenter:_1=>q2.value=v3},null,40,oD))),128))],4),i2.value?(K(),e2("div",{key:0,class:"business-line-tooltip",style:R1(A2.value)},[C("span",null,S2(i2.value.item.name),1),C("strong",null,[he(S2(T2(i2.value.item)),1),i2.value.item.unit?(K(),e2("em",lD,S2(i2.value.item.unit),1)):G3("",!0)])],4)):G3("",!0)],32),C("div",{class:"business-line-labels",style:R1(H2.value)},[(K(!0),e2(B3,null,q3(S1.value,s2=>(K(),e2("span",{key:s2.key||s2.name},S2(n.columnLabelStandard?O1(s2.name):w1(s2.name)),1))),128))],4)])):a.value==="balanceGaugeGrid"?(K(),e2("div",{key:16,class:t1(["business-balance-gauge-grid",{"is-single":Y.value.length===1}])},[(K(!0),e2(B3,null,q3(Y.value,(s2,v3)=>(K(),e2("div",{key:s2.key||s2.name,class:t1(["business-balance-gauge-card",{"is-active":v3===k3.value}]),style:R1(H0(s2)),"data-chart-tooltip":f1(s2)},[C("div",cD,[C("strong",null,S2(U(s2)),1)]),C("div",dD,[C("div",hD,[C("strong",null,S2(T2(s2)),1),D2(s2)?(K(),e2("em",fD,S2(D2(s2)),1)):G3("",!0)])]),C("div",mD,S2(s2.name),1),s2.extra?(K(),e2("div",gD,S2(s2.extra),1)):G3("",!0)],14,uD))),128))],2)):a.value==="gauge"?(K(),e2("div",{key:17,class:t1(["business-gauges",{"is-dense":V.value.length>3}])},[(K(!0),e2(B3,null,q3(V.value,(s2,v3)=>(K(),e2("div",{key:s2.key||s2.name,class:t1(["business-gauge-item",{"is-active":v3===k3.value,"is-safe":Q(s2)<=0,"is-low-rate":Q(s2)>0&&Q(s2)<5,"is-alert":Q(s2)>100}]),style:R1({"--gauge-color":v1(s2,v3),"--needle-rotate":`${s1(s2)}deg`}),"data-chart-tooltip":f1(s2)},[C("div",yD,[(K(),e2("svg",vD,[R[11]||(R[11]=C("path",{class:"business-gauge-track",d:"M24 76 A52 52 0 0 1 128 76",pathLength:"100"},null,-1)),C("path",{class:"business-gauge-progress",d:"M24 76 A52 52 0 0 1 128 76",pathLength:"100","stroke-dasharray":`${D3(s2)} 100`},null,8,_D),R[12]||(R[12]=C("path",{class:"business-gauge-glow",d:"M38 76 A38 38 0 0 1 114 76"},null,-1))])),R[13]||(R[13]=C("i",{class:"business-gauge-needle"},null,-1)),R[14]||(R[14]=C("b",{class:"business-gauge-pivot"},null,-1)),C("div",bD,[C("strong",null,[he(S2(T2(s2)),1),D2(s2)?(K(),e2("em",SD,S2(D2(s2)),1)):G3("",!0)]),C("small",null,S2(U(s2)),1)])]),C("span",wD,S2(s2.name),1),s2.extra?(K(),e2("small",CD,S2(s2.extra),1)):G3("",!0)],14,pD))),128))],2)):a.value==="heat"?(K(),e2("div",{key:18,class:t1(["business-heat",{"is-dense":B.value.length>6}])},[(K(!0),e2(B3,null,q3(B.value,(s2,v3)=>(K(),e2("div",{key:s2.key||s2.name,class:"business-heat-cell",style:R1(on(s2,v3)),"data-chart-tooltip":d3(s2)},[R[15]||(R[15]=C("i",null,null,-1)),C("span",null,S2(s2.name),1),C("strong",null,[he(S2(T2(s2)),1),s2.unit?(K(),e2("em",AD,S2(s2.unit),1)):G3("",!0)])],12,TD))),128))],2)):a.value==="split"?(K(),e2("div",{key:19,class:t1(["business-split",{"is-dense":f.value.length>10}])},[C("div",xD,[(K(!0),e2(B3,null,q3(f.value,(s2,v3)=>(K(),e2("i",{key:s2.key||s2.name,style:R1({width:`${g(s2)}%`,background:y2(v3)}),"data-chart-tooltip":Pe(s2)},null,12,ED))),128))]),C("div",PD,[(K(!0),e2(B3,null,q3(f.value,(s2,v3)=>(K(),e2("div",{key:s2.key||s2.name,class:"business-split-row","data-chart-tooltip":Pe(s2)},[C("span",null,[C("i",{style:R1({background:y2(v3)})},null,4),he(S2(s2.name),1)]),C("strong",null,S2(T2(s2))+S2(s2.unit),1)],8,MD))),128))])],2)):(K(),te(Ry,{key:20,rows:s.value,compact:""},null,8,["rows"])):(K(),e2("div",wL,"暂无业务统计数据")),(K(),te(uk,{to:"body"},[L3.value.visible?(K(),e2("div",{key:0,class:"business-chart-tooltip",style:R1(a3.value)},[C("strong",null,S2(L3.value.title),1),(K(!0),e2(B3,null,q3(L3.value.lines,s2=>(K(),e2("span",{key:s2},S2(s2),1))),128))],4)):G3("",!0)]))],34)}}};const kD={class:"feature-info"},RD={key:0,class:"feature-info-state"},ID={key:1,class:"feature-info-state"},ND={key:2,class:"feature-info-state"},LD={key:0,class:"feature-table"},FD=["title"],DD={key:1,class:"feature-info-state is-inline"},wl={__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},compactGrassland:{type:Boolean,default:!1}},setup(n){const e=n,t=[[["townName","town_name","xiangName","xiang_name","xiang","xzqmc","xzqdm","town_code","areaCode","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=[[["pastureName","pasture_name"],"所属牧场"],[["yakCount","yak_count"],"牦牛数量"],[["acreage","area_mu","mj","xbmj","tbdlmj","tbmj","geomj","shape_area","areaWanMu","area_wan_mu"],"草场面积"],[["full_name","townName","town_name","xiangName","xiang_name","xiang","xzqmc","xzqdm","town_code","areaCode","area_code"],"所在区域"],[["grassTypeName","grass_type_name","grassland_type_name","grassType","grass_type"],"草原类"],[["grasslandLevelName","grassland_level_name","grasslandLevel","grassland_level","level_name","level"],"草原级别"],[["vegetationCover","vegetation_cover"],"植被盖度"],[["xcMuYield","xc_mu_yield","xbXcMuYield","xb_xc_mu_yield","mu_yield"],"鲜草亩产"],[["gcMuYield","gc_mu_yield","xbGcMuYield","xb_gc_mu_yield"],"干草亩产"]],a={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:[...r,[["pastureName","pasture_name"],"所属牧场"],...t,[["land_class_name","landUseName","land_use_name","landUse","land_use"],"地类名称"],[["landType","land_type"],"资源大类"],[["resourceType","resource_type"],"资源类别"],[["grasslandCategory","grassland_category_name","grassland category","base_grass"],"草原类别"],[["basic_type_name"],"基本草原类型"],[["grassTypeName","grass_type_name","grassland_type_name","grassType","grass_type"],"草原类"],[["grassMinType","grass_min_type"],"草原型"],[["grasslandLevelName","grassland_level_name","grasslandLevel","grassland_level","level_name","level"],"草原级别"],[["degradationLevelName","degradation_level_name","degradationLevel","degradation_level"],"退化等级"],[["vegetationStructureName","vegetation_structure_name","vegetationStructure","vegetation_structure"],"植被结构"],[["vegetationCover","vegetation_cover"],"植被盖度"],[["lbmjbl"],"裸斑面积比例"],[["dominanceLevel","dominance_level"],"优势度"],[["dominantGrassSpecies","dominant_grass_species"],"优势草种"],[["functionalCategory","functional_category"],"功能类别"],[["xcYield","xc_yield"],"鲜草产量"],[["xcMuYield","xc_mu_yield","xbXcMuYield","xb_xc_mu_yield","mu_yield"],"鲜草亩产"],[["xbXcYield","xb_xc_yield"],"小班鲜草产量"],[["xbXcMuYield","xb_xc_mu_yield"],"小班鲜草亩产"],[["gcYield","gc_yield"],"干草产量"],[["gcMuYield","gc_mu_yield","xbGcMuYield","xb_gc_mu_yield"],"干草亩产"],[["xbGcYield","xb_gc_yield"],"小班干草产量"],[["xbGcMuYield","xb_gc_mu_yield"],"小班干草亩产"],[["elevation"],"海拔"],[["landformName","landform_name","landform"],"地貌"],[["slope"],"坡度"],[["aspect"],"坡向"],[["soilDepth","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"],"几何类型"]]},s={land_type:{1:"草地",2:"湿地",caodi:"草地",shidi:"湿地",woodland:"林地",grassland:"草地",wetland:"湿地"},landType:{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:"平地"}},o=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:"所在乡镇",areaCode:"所在乡镇",cun:"所在村",cmc:"所在村",c_name:"所在村",acreage:"图斑面积",mj:"图斑面积",xbmj:"小班面积",tbdlmj:"图斑地类面积",geomj:"图斑面积",tbmj:"图斑面积",shape_area:"图斑面积",area_mu:"图斑面积",pastureName:"所属牧场",pasture_name:"所属牧场",pastureAcreage:"牧场面积",pasture_acreage:"牧场面积",relationAcreage:"关系面积",relation_acreage:"关系面积",pastureOverlapAcreage:"重叠面积",pasture_overlap_acreage:"重叠面积",relatedPastureCount:"关联牧场数",related_pasture_count:"关联牧场数",relatedPastureNames:"关联牧场",related_pasture_names:"关联牧场",yakCount:"牦牛数量",yak_count:"牦牛数量",grass_min_type:"草原型",grassMinType:"草原型",grass_type:"草原类",grassType:"草原类",grass_type_name:"草原类",grassTypeName:"草原类",grassland_type_name:"草原类",patch_no:"图斑编号",land_number:"图斑编号",grassland_level:"草原级别",grasslandLevel:"草原级别",grassland_level_name:"草原级别",grasslandLevelName:"草原级别",level:"等级",level_name:"等级",land_class_name:"地类名称",land_use_name:"地类名称",landUseName:"地类名称",landUse:"地类名称",basic_type_name:"草原类型",grassland_category_name:"草原类别",grasslandCategory:"草原类别",degradation_level:"退化等级",degradationLevel:"退化等级",degradation_level_name:"退化等级",degradationLevelName:"退化等级",vegetation_structure:"植被结构",vegetationStructure:"植被结构",vegetation_structure_name:"植被结构",vegetationStructureName:"植被结构",xc_yield:"鲜草产量",xcYield:"鲜草产量",gc_yield:"干草产量",gcYield:"干草产量",xc_mu_yield:"鲜草亩产",xcMuYield:"鲜草亩产",gc_mu_yield:"干草亩产",gcMuYield:"干草亩产",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:"功能类别",functionalCategory:"功能类别",vegetation_cover:"植被盖度",vegetationCover:"植被盖度",xb_xc_yield:"小班鲜草产量",xbXcYield:"小班鲜草产量",xb_gc_yield:"小班干草产量",xbGcYield:"小班干草产量",base_grass:"基本草原",hqlm:"划区轮牧",elevation:"海拔",soil_depth:"土层厚度","soil texture":"土壤质地",aspect:"坡向",slope:"坡度",landform:"地貌",landform_name:"地貌",sddl:"三调地类",dominance_level:"优势度",investigator:"调查人",survey_time:"调查时间",land_type:"土地类型",landType:"土地类型",status:"状态",type:"类型",xb_gc_mu_yield:"干草亩产",xbGcMuYield:"干草亩产",xb_xc_mu_yield:"鲜草亩产",xbXcMuYield:"鲜草亩产",grass_yield:"草地产量",grassYield:"草地产量",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:"湿地生产力"},c=new Set(Object.keys(l)),d=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"]),f=new Set(["xb_xc_yield","xb_gc_yield","grass_yield","gc_yield","xc_yield","yield","output","remark1","remark2","remark3","remark4","remark5","remarks"]),p=b2(()=>{var q2;return((q2=e.feature)==null?void 0:q2.properties)||{}}),y=b2(()=>{var q2,u3,_3;return((u3=(q2=e.feature)==null?void 0:q2.feature)==null?void 0:u3.geometry)||((_3=e.feature)==null?void 0:_3.geometry)||null}),w=b2(()=>{var K3,w2,a3,k3,J3;const q2=String(((K3=e.feature)==null?void 0:K3.id)||"").toLowerCase(),u3=String(((a3=(w2=e.feature)==null?void 0:w2.layer)==null?void 0:a3.key)||"").toLowerCase(),_3=String(((J3=(k3=e.feature)==null?void 0:k3.layer)==null?void 0:J3.layerName)||"").toLowerCase(),L3=`${u3} ${_3}`,F3=p.value;return L3.includes("national-park")||L3.includes("restoration")||F3.project_name||F3.project_category||F3.totalAcreage?"ecological":F3.dlmc||q2.includes("woodland")||q2.includes("t_woodland")||L3.includes("woodland")?"woodland":L3.includes("wetland")||L3.includes("shidi")||q2.includes("shidi")||F3.land_type==="shidi"||F3.landType==="shidi"||F3.land_type==="湿地"||F3.landType==="湿地"||F3.land_type===2||F3.landType===2||F3.landType==="2"?"wetland":L3.includes("grassland")||L3.includes("caodi")||F3.grassland_category_name||F3.grasslandCategory||F3.basic_type_name||q2.includes("caodi")||F3.land_type==="caodi"||F3.landType==="caodi"||F3.land_type===1||F3.landType===1||F3.landType==="1"?"grassland":"woodland"}),M=b2(()=>{const q2=[],u3=new Set,_3=w.value==="grassland",L3=_3&&e.compactGrassland;(L3?r:a[w.value]||a.woodland).forEach(([w2,a3])=>{const k3=V(p.value,w2,a3,u3);k3&&!q2.some(J3=>J3.label===k3.label)&&(q2.push(k3),u3.add(k3.sourceKey))});const K3=_3?"草场面积":"图斑面积";return q2.some(w2=>w2.label===K3||w2.label==="图斑面积")||B(q2,u3,K3,K2(y.value),"geometry-area"),L3?q2.slice(0,10):(Object.entries(p.value).forEach(([w2,a3])=>{if(u3.has(w2)||r3(w2,a3))return;const k3=X(w2,a3);Y(k3)&&(q2.some(J3=>J3.value===k3||J3.label===(l[w2]||N3(w2)))||(q2.push({key:`fallback-${w2}`,sourceKey:w2,label:l[w2]||N3(w2),value:k3}),u3.add(w2)))}),q2)}),P=b2(()=>M.value.map((q2,u3)=>s3(W2({},q2),{displayOrder:D(q2,u3)})).sort((q2,u3)=>q2.displayOrder-u3.displayOrder));function D(q2,u3){const _3=(q2==null?void 0:q2.label)||"",L3=String((q2==null?void 0:q2.sourceKey)||"").toLowerCase();return["所属牧场","牦牛数量","草场面积","牧场面积","关系面积","重叠面积","关联牧场数","关联牧场"].includes(_3)||["所在乡镇","所在村","所在区域","图斑编号","图斑面积","小班面积","图斑地类面积","地类名称","湿地类型"].includes(_3)?u3:["基本草原类型","草原类型","草原类","草原型","湿地草地型","草原级别","湿地级别","退化等级","功能类别","保护等级","森林类别","林种","质量等级","优势树种","起源","龄组"].includes(_3)?100+u3:_3.includes("产量")||_3.includes("亩产")||_3.includes("植被")||_3.includes("优势草种")||_3.includes("优势度")||_3.includes("海拔")||_3.includes("地貌")||_3.includes("坡")||_3.includes("土壤")||_3.includes("郁闭度")||_3.includes("树高")||_3.includes("蓄积")||_3.includes("生物量")||_3.includes("碳储量")?200+u3:_3.includes("权属")||_3.includes("所有权")||_3.includes("使用权")||_3.includes("经营权")||_3.includes("调查")||_3.includes("调整")||_3.includes("划区")||_3.includes("单位")||L3.includes("owner")||L3.includes("qsdw")||L3.includes("zldw")?300+u3:150+u3}function B(q2,u3,_3,L3,F3){!Y(L3)||q2.some(K3=>K3.label===_3||K3.value===L3)||(q2.push({key:`static-${F3}`,sourceKey:F3,label:_3,value:L3}),u3.add(F3))}function V(q2,u3,_3,L3=new Set){for(const F3 of u3)if(!(L3.has(F3)||o3(F3))&&Y(q2==null?void 0:q2[F3])){const K3=X(F3,q2[F3]);if(!Y(K3))continue;return{key:`${_3}-${F3}`,sourceKey:F3,label:_3,value:K3}}return null}function Y(q2){return q2!=null&&q2!==""&&q2!==" "&&q2!=="null"&&q2!=="undefined"}function X(q2,u3){var F3;if(!Y(u3))return"";if((F3=s[q2])!=null&&F3[String(u3)])return s[q2][String(u3)];if(["xiang","xzqdm","town_code","area_code","areaCode"].includes(q2))return P2(u3);if(["cun","village_code"].includes(q2)&&z2(u3))return"";if(["grassland_level","grasslandLevel","level"].includes(q2)&&G2(u3))return w.value==="wetland"?`${Number(u3)}级湿地`:`${Number(u3)}级草原`;if(o.has(q2)&&z2(u3)||y3(q2,u3))return"";if(V2(q2))return Y2(u3);if(typeof u3=="number"||/^-?\d+(\.\d+)?$/.test(String(u3))){const K3=Number(u3);if(K3===0&&d.has(q2))return"";const w2=Number.isInteger(K3)?`${K3}`:`${Number(K3.toFixed(2))}`;return["xbmj","tbdlmj","geomj","area_square_meter"].includes(q2)?`${N2(K3/666.6667)} 亩`:["acreage","mj","area_mu","pastureAcreage","pasture_acreage","relationAcreage","relation_acreage","pastureOverlapAcreage","pasture_overlap_acreage"].includes(q2)?`${w2} 亩`:["yakCount","yak_count"].includes(q2)?`${w2} 头`:["relatedPastureCount","related_pasture_count"].includes(q2)?`${w2} 个`:["length_meter"].includes(q2)?`${w2} 米`:["totalAcreage","cdAcreage","sdAcreage"].includes(q2)?`${w2} 万亩`:["cdScl","sdScl"].includes(q2)?`${w2} 万吨`:["areaWanMu","area_wan_mu"].includes(q2)?`${w2} 万亩`:["xc_yield","xcYield","xb_xc_yield","xbXcYield","gc_yield","gcYield","xb_gc_yield","xbGcYield","edible_xc_yield","grass_yield","grassYield"].includes(q2)?`${w2} 斤`:["mu_yield","xc_mu_yield","xcMuYield","gc_mu_yield","gcMuYield","xb_xc_mu_yield","xbXcMuYield","xb_gc_mu_yield","xbGcMuYield","edible_xc_mu_yield"].includes(q2)?`${w2} 斤`:["vegetation_cover","vegetationCover","lbmjbl","yu_bi_du"].includes(q2)?`${w2}%`:["elevation","tu_ceng_hd","soilDepth","soil_depth","pingjun_sg"].includes(q2)?`${w2} 米`:["po_du","slope"].includes(q2)?`${w2}°`:w2}const L3=String(u3);return w.value==="wetland"&&["grassland_level","grasslandLevel","level"].includes(q2)?L3.replace(/草原/g,"湿地"):L3}function P2(q2){const u3=String(q2||"").trim();if(!u3)return"";const _3=u3.replace(/\D/g,""),L3=_l(_3||u3);return L3||(z2(u3)?"":u3)}function z2(q2){return/^[0-9A-Za-z_-]{1,12}$/.test(String(q2).trim())}function G2(q2){return/^-?\d+(\.\d+)?$/.test(String(q2).trim())}function N2(q2){return Number.isInteger(q2)?`${q2}`:`${Number(q2.toFixed(2))}`}function V2(q2){return["survey_time","dc_rq","create_time","update_time"].includes(String(q2))}function Y2(q2){const u3=String(q2);return/^\d{4}-\d{2}-\d{2}/.test(u3)?u3.slice(0,10):u3}function o3(q2){const u3=String(q2).toLowerCase();return["geom","wkt","geometry","the_geom","raw_properties"].includes(u3)||["bsm","ysdm","gid","id","objectid","object_id","fid","key_uid"].includes(u3)||["shape_leng","shape_length","length","perimeter"].includes(u3)?!0:["xzqdm","area_code","town_code","patch_no","land_number"].includes(u3)?!1:["di_lei","qykz","stqw","lyfq","tbybh","patch_code"].includes(u3)||u3.endsWith("_code")||u3.endsWith("dm")||u3.endsWith("_id")||["create_by","create_time","update_by","update_time"].includes(u3)?!0:u3.includes("geom")||u3.includes("boundary")||u3.includes("wkb")}function r3(q2,u3){var L3;if(o3(q2)||!Y(u3))return!0;const _3=String(q2).toLowerCase();return!!(f.has(_3)||_3.includes("number")||_3.includes("patch_no")||!c.has(q2)||z2(u3)&&!((L3=s[q2])!=null&&L3[String(u3)])&&!["xiang","xzqdm","town_code","area_code","cun","land_type","grassland_level","level","gjgyl_bhdj","bh_dj","ld_qs","qsxz","tdsyqs","zl_dj"].includes(q2))}function y3(q2,u3){var _3;return!z2(u3)||(_3=s[q2])!=null&&_3[String(u3)]?!1:["resource_type","grassland category","functional_category","aspect","soil_depth","soil texture","cdsyq","cdsyq2","cdjjq"].includes(q2)}function K2(q2){const u3=C3(q2);if(!u3)return"";const _3=u3/666.6667;return _3>=1e4?`${N2(_3/1e4)} 万亩`:`${N2(_3)} 亩`}function C3(q2){return q2!=null&&q2.coordinates?q2.type==="Polygon"?m3(q2.coordinates):q2.type==="MultiPolygon"?q2.coordinates.reduce((u3,_3)=>u3+m3(_3),0):0:0}function m3(q2=[]){if(!q2.length)return 0;const[u3,..._3]=q2,L3=Math.abs(M3(u3)),F3=_3.reduce((K3,w2)=>K3+Math.abs(M3(w2)),0);return Math.max(0,L3-F3)}function M3(q2=[]){if(q2.length<3)return 0;const u3=q2.reduce((K3,w2)=>K3+Number((w2==null?void 0:w2[1])||0),0)/q2.length,_3=111320,L3=_3*Math.cos(u3*Math.PI/180);let F3=0;for(let K3=0;K3<q2.length;K3++){const w2=q2[K3],a3=q2[(K3+1)%q2.length],k3=Number((w2==null?void 0:w2[0])||0)*L3,J3=Number((w2==null?void 0:w2[1])||0)*_3,Q3=Number((a3==null?void 0:a3[0])||0)*L3,l1=Number((a3==null?void 0:a3[1])||0)*_3;F3+=k3*l1-Q3*J3}return F3/2}function N3(q2){return String(q2).replace(/_/g," ").replace(/\b\w/g,u3=>u3.toUpperCase())}return(q2,u3)=>(K(),te(K1,{title:"图斑详情",width:n.width,height:n.height},{default:j1(()=>[C("div",kD,[n.loading?(K(),e2("div",RD,"正在查询图斑信息")):n.empty?(K(),e2("div",ID,"当前点击位置未查询到图斑")):n.feature?(K(),e2(B3,{key:3},[P.value.length?(K(),e2("div",LD,[(K(!0),e2(B3,null,q3(P.value,_3=>(K(),e2("div",{key:_3.key,class:"feature-row"},[C("span",null,S2(_3.label),1),C("strong",{title:_3.value},S2(_3.value),9,FD)]))),128))])):(K(),e2("div",DD,"当前图斑暂无可展示的业务字段"))],64)):(K(),e2("div",ND,"点击地图图层查看图斑/要素信息"))])]),_:1},8,["width","height"]))}},Ny="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAD0SURBVHgB7dEBDcAgEACxZ/5NTgkg40JaC137mgesf57wDSlCYoTECIkREiMkRkiMkBghMUJihMQIiRESIyRGSIyQGCExQmKExAiJERIjJEZIjJAYITFCYoTECIkREiMkRkiMkBghMUJihMQIiRESIyRGSIyQGCExQmKExAiJERIjJEZIjJAYITFCYoTECIkREiMkRkiMkBghMUJihMQIiRESIyRGSIyQGCExQmKExAiJERIjJEZIjJAYITFCYoTECIkREiMkRkiMkBghMUJihMQIiRESIyRGSIyQGCExQmKExAiJERIjJEZIjJAYITFCYoTEHKbcBaYZyb5dAAAAAElFTkSuQmCC",OD=""+new URL("pathLine2-d4134d4b-balabala-1783400325510.png",import.meta.url).href,BD="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAADzSURBVHgB7dEBDcAwDMCw9vw5f4MRTTYF73/NC3bnBd+QIiRGSIyQGCExQmKExAiJERIjJEZIjJAYITFCYoTECIkREiMkRkiMkBghMUJihMQIiRESIyRGSIyQGCExQmKExAiJERIjJEZIjJAYITFCYoTECIkREiMkRkiMkBghMUJihMQIiRESIyRGSIyQGCExQmKExAiJERIjJEZIjJAYITFCYoTECIkREiMkRkiMkBghMUJihMQIiRESIyRGSIyQGCExQmKExAiJERIjJEZIjJAYITFCYoTECIkREiMkRkiMkBghMUJihMQIiRESIyRGSMwBQCIExogIrTYAAAAASUVORK5CYII=",GD="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAYAAABccqhmAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAMxSURBVHgB7dZBDcJQFADBB/kCuHAgAQckHAA3Tf27aIXsjIjNXv7bfgyQdB0gSwAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgbN2erwGaHACECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCErfv7M0CTA4AwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYCw9fj+BmhyABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABB2Amb1BS2MWc5zAAAAAElFTkSuQmCC",jD=""+new URL("ocean-bg-8c848b8f-balabala-1783400325510.png",import.meta.url).href,zD=""+new URL("rotationBorder1-2ce8e0ef-balabala-1783400325510.png",import.meta.url).href,UD=""+new URL("rotationBorder2-7496b968-balabala-1783400325510.png",import.meta.url).href,$D=""+new URL("chinaBlurLine-1a2cbc0f-balabala-1783400325510.png",import.meta.url).href,WD="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==",VD="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==",HD=""+new URL("huiguang-3c5dfda5-balabala-1783400325510.png",import.meta.url).href,YD="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAFPSURBVHgB7ddhbcMwEAXglyEoBEPoGARCIYTBymBhMAgrhDFoIZTBIATC21lxtGhdYieOW7u6T7L6x5HvfPXJBpRSSj0jko2MGqWTJL7tQMkkgSN/tSiRBG5cNQadjB1KI0GfeOsDJXHVmFKjFBLseSaRM0rg2q3PAbn7c8Cn2Dn5HnwJ7p3hWuSI/QHvFiRi5xrkhv+3W59P5ITz7danRi4YdsCn5NGOGdZufRo8kgSwi6zGIPoe9oI4bzIM4tkkjngExh3wqaoYrBRTkRbbslW5bzuWnTswnRorVFiB/dPVII1rVVWvWGjxX4t9qzRIZy9rpD34vH2+zrnIaN03dtj3+zXw27TPYvrvUxcXsMH8ZjRu7pw0z2JOt9sh+MU7GJCUwdZG1ejcwg03LP8oqa9RItvew9i325P7Tf6yY3/1GdbcQymllFJKKaUy9gO4eI9ILG1riwAAAABJRU5ErkJggg==",KD="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",qD="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==",XD="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=",ZD=""+new URL("focus_bg-b6803e2d-balabala-1783400325510.png",import.meta.url).href,JD="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=",QD=""+new URL("focus_move_bg-cf41417a-balabala-1783400325510.png",import.meta.url).href,Rc=new Map;class Gr{constructor(e={}){this.options=W2({includeChinaMap:!1},e),this.ready=null,this.init()}init(){const e=this.getSharedKey(),t=eO(e,()=>this.createAssetList());this.instance=t.instance,this.ready=t.ready}getSharedKey(){return this.options.includeChinaMap?"hongyuan-map-with-china":"hongyuan-map"}createAssetList(){let e=[{type:"Texture",name:"flyline",path:Ny},{type:"Texture",name:"pathLine",path:Ny},{type:"Texture",name:"pathLine2",path:BD},{type:"Texture",name:"pathLine3",path:OD},{type:"File",name:"china",path:Ps(uy)},{type:"File",name:"mapJson",path:Ps(_N)},{type:"File",name:"mapStroke",path:Ps(uy)},{type:"Texture",name:"huiguang",path:HD},{type:"Texture",name:"rotationBorder1",path:zD},{type:"Texture",name:"rotationBorder2",path:UD},{type:"Texture",name:"guangquan1",path:WD},{type:"Texture",name:"guangquan2",path:VD},{type:"Texture",name:"chinaBlurLine",path:$D},{type:"Texture",name:"ocean",path:jD},{type:"Texture",name:"side",path:GD},{type:"Texture",name:"arrow",path:YD},{type:"Texture",name:"point",path:KD},{type:"Texture",name:"focusArrows",path:qD},{type:"Texture",name:"focusBar",path:XD},{type:"Texture",name:"focusBg",path:ZD},{type:"Texture",name:"focusMidQuan",path:JD},{type:"Texture",name:"focusMoveBg",path:QD}];return this.options.includeChinaMap&&e.push({type:"File",name:"chinaMap",path:Ps(bN)}),e}}function eO(n,e){if(Rc.has(n))return Rc.get(n);const t=new SI({cloneTextures:!0});t.addLoader(sr,"FileLoader");const i=t.loadAll(e()),r={instance:t,ready:i};return Rc.set(n,r),r}const tO="/jsyApi",nO="at.6znxkywzdyqesp6td2lj4a28cp3adh19-2dpdtet5o3-0dq69nb-rtvf586ba".trim(),iO=["邛溪镇","刷经寺镇","安曲镇","龙日镇","江茸乡","查尔玛乡","瓦切镇","阿木乡","麦洼乡","色地镇"];function rO(n){return/^https?:\/\//.test(n)?n:`${tO}${n.startsWith("/")?n:`/${n}`}`}function aO(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 r0(n)}function Y6(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 Lb(n){return nO||Y6(n,["token","accessToken","access_token"])}function sO(n){return Y6(n,["hdPlayUrl","hd_play_url","playUrl","play_url","url"])}function oO(n){const e=Y6(n,["isOnline","online","status","deviceStatus","statusName","state","onlineStatus","deviceState"]);if(e==="")return!0;if(typeof e=="boolean")return e;if(typeof e=="number")return e!==0;const t=String(e).trim().toLowerCase();return!t||["1","true","online","on"].includes(t)?!0:["0","false","offline","off"].includes(t)||/(离线|不在线|未在线|断线|断开|异常|故障|停用|不可用|offline|disabled|closed|stop)/i.test(t)?!1:(/(在线|直播中|正常|可用|online|enabled|open|running|active)/i.test(t),!0)}function Fb(n){return!!(Lb(n)&&sO(n)&&oO(n))}function lO(n=""){const e=String(n);return iO.find(i=>e.includes(i.replace(/[镇乡]$/,"")))||"红原县"}function uO(n=""){const e=String(n);return e.includes("养殖")?"养殖基地":e.includes("饲草")?"饲草基地":e.includes("种草")||e.includes("牧草")?"牧草基地":e.includes("虫情")?"虫情监测":e.includes("机场")?"机场周边":"重点点位"}function cO(n,e){const t=Y6(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 dO(){return new Date().toLocaleTimeString("zh-CN",{hour:"2-digit",minute:"2-digit",hour12:!1})}function hO(n,e,t,i){const r=Y6(n,["name","title","deviceName"],`视频监控${e+1}`),a=Y6(n,["hdPlayUrl","hd_play_url","url"]),s=Y6(n,["playUrl","play_url"],a),o=Lb(n),l=Fb(n),c=t?Math.round(i/t*100):0;return{key:Y6(n,["id","number","deviceSerial"],`${r}-${e}`),title:r,town:lO(r),scene:uO(r),device:Y6(n,["number","deviceSerial","serialNumber"],`CAM-${String(e+1).padStart(3,"0")}`),channel:cO(n,e),cameraCount:t,status:l?"直播中":"离线",onlineRate:c,updateTime:dO(),operator:l?"萤石云 · 在线预览":"监控参数待同步",progress:l?100:0,image:Y6(n,["img","image","cover","snapshot"]),playUrl:s,hdPlayUrl:a,token:o,source:n}}function Db(){return I3(this,arguments,function*(n={}){const e=yield M6(rO("/api/home/monitorings"),{params:n,timeout:18e3}).then(aO),t=Array.isArray(e)?e:(e==null?void 0:e.rows)||(e==null?void 0:e.list)||[],i=t.filter(Fb);return i.map((r,a)=>hO(r,a,t.length,i.length))})}const fO="/openApi",d4=756.37,Wd=297.29,On=291.82,mO=16.47,gO=[{key:"none",name:"未退化",value:481.8,unit:"万亩"},{key:"light",name:"轻度退化",value:231.25,unit:"万亩"},{key:"middle",name:"中度退化",value:23.7,unit:"万亩"},{key:"heavy",name:"重度退化",value:20.21,unit:"万亩"}],pO=i6.map(h4),Ns=["#32DCFF","#24F6C4","#6EA8FF","#FFE06B","#7EE269","#9EA7FF"],s8=["#2BD17E","#8AE611","#24F6C4","#FFE06B","#32DCFF","#9EA7FF"];function Ob(n){return/^https?:\/\//.test(n)?n:`${fO}${n.startsWith("/")?n:`/${n}`}`}function S9(n,e){return M6(Ob(n),{method:"POST",body:e?JSON.stringify(e):void 0,headers:{"Content-Type":"application/json"}})}function X0(n,e){return M6(Ob(n),{params:e})}function N1(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 ct(n){if(n==null||n==="")return;const e=Number(n);return Number.isNaN(e)?void 0:e}function q1(n){const e=ct(n);if(e!==void 0)return Number.isInteger(e)?e:Number(e.toFixed(2))}function Bb(n,e,t){const i=ct(n),r=ct(e),a=ct(t);if(i===void 0||r===void 0||a===void 0)return[q1(e),q1(t)];const s=r+a;if(!s)return[0,0];const o=q1(r/s*i);return[o,q1(Math.max(i-o,0))]}function l6(n,e){const t=ct(n),i=ct(e);if(!(t===void 0||i===void 0||i===0))return t/i*100}function Ls(n,e,t="占比"){var r;const i=q1((r=N1(n,["areaPercent","area_percent","percent"]))!=null?r:l6(N1(n,["areaWanMu","value"]),e));return i===void 0?"":`${t} ${i}%`}function $6(n,e=""){const t=q1(N1(n,["areaPercent","area_percent","percent"]));return t===void 0?"":`${e}${t}%`}function yO(n,e=0){const t=N1(n,["name","title","label","zh","itemName","item_name"])||`指标${e+1}`,i=q1(N1(n,["value","num","count","area","acreage","total"])),r=N1(n,["unit","unitName","unit_name"])||"";return{key:N1(n,["id","key","code"])||`${t}-${e}`,name:t,value:i,unit:r,source:n}}function vO(n){return(Array.isArray(n)?n:(n==null?void 0:n.rows)||(n==null?void 0:n.list)||[]).map(yO).filter(t=>t.name)}function _O(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:q1(N1(e,["totalAreaWanMu","total_area_wan_mu","areaWanMu","area_wan_mu"])),unit:"万亩"},{key:"woodland-main-type-rate",name:`${N1(t,["name"])||"主导类型"}占比`,value:q1(N1(t,["areaPercent","area_percent","percent"])),unit:"%"},{key:"woodland-ecology-area",name:"生态重点区面积",value:q1(N1(i,["areaWanMu","value"])),unit:"万亩"}]}function bO(n){const e=(n==null?void 0:n.overview)||(n==null?void 0:n.summary)||n||{},t=N1(e,["areaUnit","area_unit"])||"万亩",[i,r]=Bb(d4,N1(e,["basicAreaWanMu","basic_area_wan_mu","basicArea","basic_area"]),N1(e,["generalAreaWanMu","general_area_wan_mu","generalArea","general_area"]));return[{key:"grassland-total-area",name:"草地面积",value:d4,unit:t},{key:"basic-grassland-area",name:"基本草原",value:i,unit:t},{key:"general-grassland-area",name:"一般草原",value:r,unit:t}]}function _8(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,s)=>{var o,l;return s3(W2(W2({},a),n[s]||{}),{name:((o=n[s])==null?void 0:o.name)||a.name,unit:((l=n[s])==null?void 0:l.unit)||a.unit})});return e==="wetland"&&r[0]&&(r[0]=s3(W2({},r[0]),{key:r[0].key||"wetland-area",name:"湿地面积",value:On,unit:r[0].unit||"万亩"})),r.length?r:n}function SO(n){return I3(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 ve(n=[],e={}){const{nameKeys:t=["name","townName","typeName"],valueKeys:i=["areaWanMu","value","totalAreaWanMu","basicAreaWanMu"],unit:r="万亩",max:a=Number.POSITIVE_INFINITY,extra:s}=e,o=n.map((l,c)=>{const d=q1(N1(l,i)),f={key:N1(l,["key","code","townCode"])||`${N1(l,t)||c}-${c}`,name:N1(l,t)||`第${c+1}项`,value:d,unit:r,percent:q1(N1(l,["percent","areaPercent","basicRatio","generalRatio"])),source:l};return s?s3(W2({},f),{extra:s(l)}):f}).sort((l,c)=>(Number(c.value)||0)-(Number(l.value)||0));return Number.isFinite(a)?o.slice(0,a):o}function Fs(n=[],e={}){const{nameKeys:t=["name"],valueKeys:i=["value"],unit:r,max:a=Number.POSITIVE_INFINITY,extra:s}=e;return ve(n,{nameKeys:t,valueKeys:i,unit:r,max:a,extra:s})}function wO(n=[],e={}){const{nameKeys:t=["grassMinType","name"],valueKeys:i=["acreage"],unit:r="万亩",max:a=Number.POSITIVE_INFINITY}=e,s=n.map((o,l)=>{const c=N1(o,i),d=q1(r==="万亩"?ct(c)/1e4:c),f=N1(o,t)||`第${l+1}项`;return{key:N1(o,["key","code"])||`${f}-${l}`,name:f,value:d,unit:r,source:o}}).filter(o=>Number(o.value)>0).sort((o,l)=>(Number(l.value)||0)-(Number(o.value)||0));return Number.isFinite(a)?s.slice(0,a):s}function b0(n,e,t,i="rank",r={}){return W2({key:n,title:e,type:i,rows:t||[]},r)}function Mo(n=[],e=[],t={}){const{unit:i="万吨",max:r=Number.POSITIVE_INFINITY,showMuYieldExtra:a=!0}=t,s=new Map(e.map(o=>[o.areaName,o]));return ve(n,{nameKeys:["areaName","name"],valueKeys:["yield","value"],unit:i,max:r,extra:o=>{const l=s.get(o.areaName),c=q1(N1(l,["yield","value"])),d=N1(l,["unit"])||"斤";return a&&c!==void 0?`亩产 ${c} ${d}`:""}})}function h4(n){return String(n||"").replace(/\s+/g,"").trim()}function fr(n=[]){const e=new Map(pO.map((t,i)=>[t,i]));return[...n].sort((t,i)=>{const r=e.get(h4(t==null?void 0:t.name)),a=e.get(h4(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 Gb(n){const e=String(n||"");return{用于畜牧业生产的人工草地:"人工草地","对调节气候、涵养水源、保持水土、防风固沙具有特殊作用的草原":"生态调节草原",国家重点保护野生动植物生存环境的草原:"野生动植物栖息草原","草原科研、教学实验基地":"科研教学草原"}[e]||e}function ko(n){return Gb(n).replace(/\s+/g,"").replace(/类$/,"")}function Ro(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(([s])=>e.includes(`${s}级`));return(a==null?void 0:a[1])||""}function jb(n){return Ro(n==null?void 0:n.key)||Ro(n==null?void 0:n.name)}function Cl(n=[],e={}){const{nameKeys:t=["name","townName","areaName"],valueKeys:i=["areaWanMu","value","totalAreaWanMu","yield"],unit:r="万亩"}=e;return n.map((a,s)=>{const o=h4(N1(a,t)),l=q1(N1(a,i));return!o||l===void 0?null:{key:N1(a,["key","code","townCode"])||`${o}-${s}`,name:o,value:l,unit:N1(a,["unit"])||r,source:a}}).filter(Boolean).sort((a,s)=>(Number(s.value)||0)-(Number(a.value)||0))}function Vd(n=[],e={}){const{nameKeys:t=["townName","name","areaName"],valueKeys:i=["areaWanMu","value","totalAreaWanMu","yield"],unit:r="万亩"}=e,a=new Map;return n.forEach(s=>{const o=h4(N1(s,t)),l=ct(N1(s,i));if(!o||l===void 0)return;const c=a.get(o)||{key:N1(s,["townCode","code"])||o,name:o,value:0,unit:N1(s,["unit"])||r,source:[]};c.value+=l,c.source.push(s),a.set(o,c)}),Array.from(a.values()).map(s=>s3(W2({},s),{value:q1(s.value)})).sort((s,o)=>(Number(o.value)||0)-(Number(s.value)||0))}function i5({topicKey:n,layerKey:e,title:t,unit:i="万亩",rows:r=[],note:a="",metricLabel:s=""}){const o=r.filter(l=>(l==null?void 0:l.name)&&l.value!==void 0).sort((l,c)=>(Number(c.value)||0)-(Number(l.value)||0)).map((l,c)=>s3(W2({},l),{unit:l.unit||i,rank:c+1}));return{status:o.length?"success":"empty",topicKey:n,layerKey:e,title:t,unit:i,metricLabel:s,note:a,rows:o}}function Ds(s){return I3(this,arguments,function*({topicKey:n,layerKey:e,layerName:t,title:i,cqlFilter:r="",unit:a="万亩"}){const o=yield Po(t,{propertyName:["xiang","acreage"],cqlFilter:r,maxFeatures:2e5}),l=new Map;return((o==null?void 0:o.features)||[]).forEach(c=>{const d=c.properties||{},f=String(d.xiang||""),p=_l(f),y=ct(d.acreage);if(!p||y===void 0)return;const w=l.get(p)||{key:f,name:p,value:0,unit:a};w.value+=y/1e4,l.set(p,w)}),i5({topicKey:n,layerKey:e,title:i,unit:a,rows:Array.from(l.values()).map(c=>s3(W2({},c),{value:q1(c.value)})),note:"按 GeoServer 图斑属性汇总到乡镇"})})}function CO(n,e,t="林地面积排行"){return I3(this,null,function*(){const i=r0(yield S9("/woodland/distribution"));return i5({topicKey:n,layerKey:e,title:t,unit:"万亩",rows:Cl((i==null?void 0:i.areaDistribution)||[],{nameKeys:["name"],valueKeys:["areaWanMu","value"],unit:"万亩"})})})}function Ly(n,e,t,i){return I3(this,null,function*(){const r=r0(yield X0("/basic_grassland/overview"));return i5({topicKey:n,layerKey:e,title:i,unit:"万亩",rows:Cl((r==null?void 0:r.townStats)||[],{nameKeys:["name"],valueKeys:[t],unit:"万亩"})})})}function TO(n={},e=[],t=[]){const i=N1(n,t);if(i)return h4(i);const r=e.map(s=>N1(n,[s])).find(s=>s!==void 0),a=String(r||"").slice(0,9);return _l(a)}function AO(n,e,t,i){return I3(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"],s=(i==null?void 0:i.rankingAreaKeys)||(t==null?void 0:t.rankingAreaKeys)||["acreage","area_mu","area"],o=(i==null?void 0:i.rankingPropertyName)||[...r,...a,...s],l=yield Po(t.layerName,{propertyName:o,cqlFilter:i.cqlFilter,maxFeatures:2e5,timeout:25e3}),c=new Map;return((l==null?void 0:l.features)||[]).forEach(d=>{const f=d.properties||{},p=TO(f,r,a),y=ct(N1(f,s));if(!p||y===void 0)return;const w=c.get(p)||{key:p,name:p,value:0,unit:"万亩"};w.value+=y/1e4,c.set(p,w)}),i5({topicKey:n,layerKey:e,title:`${i.name}面积排行`,unit:"万亩",metricLabel:i.name,rows:Array.from(c.values()).map(d=>s3(W2({},d),{value:q1(d.value),metricLabel:i.name})),note:"按选中图例过滤 GeoServer 图斑并汇总到乡镇"})})}function xO(n,e,t){return I3(this,null,function*(){const i=r0(yield X0("/basic_grassland/overview"));return i5({topicKey:n,layerKey:e,title:`${t.name}面积排行`,unit:"万亩",metricLabel:t.name,rows:Cl((i==null?void 0:i.townStats)||[],{nameKeys:["name"],valueKeys:[t.rankingValueKey],unit:"万亩"}).map(r=>s3(W2({},r),{metricLabel:t.name}))})})}function Tl(n,e,t,i,r={}){const a=Fi(i||[],r).map(s=>s3(W2({},s),{metricLabel:t.name}));return i5({topicKey:n,layerKey:e,title:`${t.name}面积排行`,unit:"万亩",metricLabel:t.name,rows:a})}function EO(n,e,t){return I3(this,null,function*(){const i=jb(t);if(!i)return null;const r=r0(yield X0("/grassland_grassland_level/distribution"));return Tl(n,e,t,r,{nameKeys:["areaName","area_name","name"],valueKeys:["acreage","areaWanMu","value"],filter:a=>Ro(N1(a,["level","name"]))===i})})}function PO(n,e,t){return I3(this,null,function*(){const i=ko(t.name);if(!i)return null;const[r,a]=yield Promise.all([pe(()=>I3(this,null,function*(){return r0(yield X0("/grassland_grass_type/distribution"))})),pe(()=>I3(this,null,function*(){return r0(yield X0("/grassland_grass_type/minTypeAreaDistribution"))}))]);return Tl(n,e,t,[...r||[],...a||[]],{nameKeys:["areaName","area_name","name"],valueKeys:["acreage","areaWanMu","value"],filter:s=>{const o=N1(s,["grassMinType","grass_min_type","grassType","grass_type","name"]);return ko(o)===i}})})}function MO(n,e,t){return I3(this,null,function*(){const i=jb(t);if(!i)return null;const r=r0(yield X0("/wetland_grassland_level/distribution"));return Tl(n,e,t,r,{nameKeys:["areaName","area_name","name"],valueKeys:["acreage","areaWanMu","value"],filter:a=>Ro(N1(a,["level","name"]))===i})})}function kO(n,e,t){return I3(this,null,function*(){const i=ko(t.name);if(!i)return null;const[r,a]=yield Promise.all([pe(()=>I3(this,null,function*(){return r0(yield X0("/wetland_grass_type_copy/distribution"))})),pe(()=>I3(this,null,function*(){return r0(yield X0("/wetland_grass_type_copy/minTypeAreaDistribution"))}))]);return Tl(n,e,t,[...r||[],...a||[]],{nameKeys:["areaName","area_name","name"],valueKeys:["acreage","areaWanMu","value"],filter:s=>{const o=N1(s,["grassMinType","grass_min_type","grassType","grass_type","name"]);return ko(o)===i}})})}function RO(n,e,t){return I3(this,null,function*(){if(!(t!=null&&t.key))return null;const i=Sl(n,e);return i?n==="grassland"&&e==="basic-grassland"&&t.rankingValueKey?xO(n,e,t):n==="grassland"&&e==="grassland-level"?EO(n,e,t):n==="grassland"&&e==="grassland-type"?PO(n,e,t):n==="wetland"&&e==="wetland-level"?MO(n,e,t):n==="wetland"&&e==="wetland-type"?kO(n,e,t):t.cqlFilter&&i.layerName?AO(n,e,i,t):null:null})}function Os(n,e,t,i,r="万吨"){return I3(this,null,function*(){const a=r0(yield X0(t)),s=N1(a==null?void 0:a[0],["unit"])||r;return i5({topicKey:n,layerKey:e,title:i,unit:s,rows:Cl(a||[],{nameKeys:["areaName","name"],valueKeys:["yield","value"],unit:s})})})}function Wt(n=[],e=5){return n.slice(0,e)}function Qi(n=[],e={}){var d,f;const{limit:t=5,minPercent:i=1,otherName:r="其他类型"}=e,a=n.filter(p=>(p==null?void 0:p.name)&&Number(p.value)>0).sort((p,y)=>(Number(y.value)||0)-(Number(p.value)||0)),s=a.reduce((p,y)=>p+(Number(y.value)||0),0);if(!s||a.length<=t)return a;const o=[],l=[];if(a.forEach((p,y)=>{const w=l6(p.value,s);y<t-1&&(w===void 0||w>=i)?o.push(p):l.push(p)}),!l.length)return o;const c=l.reduce((p,y)=>p+(Number(y.value)||0),0);return[...o,{key:`${r}-${l.length}`,name:r,value:q1(c),unit:((d=l[0])==null?void 0:d.unit)||((f=a[0])==null?void 0:f.unit)||"万亩",extra:`${q1(l6(c,s))}%`}]}function l5(n=[]){return n.reduce((e,t)=>e+(Number(t.value)||0),0)}function w6(n=[],e=l5(n),t=""){return n.map(i=>{const r=q1(l6(i.value,e));return s3(W2({},i),{extra:r===void 0?i.extra:`${t}${r}%`})})}function e4(n=[],e,t={}){const{key:i="unclassified",name:r="未分类",unit:a="万亩",sort:s=!0}=t,o=ct(e);if(o===void 0)return n;const l=l5(n),c=q1(o-l);if(c===void 0||c<=.01)return n;const d=[...n,{key:i,name:r,value:c,unit:a}];return s?d.sort((f,p)=>(Number(p.value)||0)-(Number(f.value)||0)):d}function O7(n=[],e){const t=ct(e),i=l5(n);if(t===void 0||!i)return n;let r=0;return n.map((a,s)=>{const o=s===n.length-1,l=q1(o?Math.max(t-r,0):(Number(a.value)||0)/i*t);return r+=Number(l)||0,s3(W2({},a),{value:l})})}function S6(n=[],e=[]){return e.length?n.map((t,i)=>s3(W2({},t),{color:(t==null?void 0:t.color)||(t==null?void 0:t.fillColor)||e[i%e.length]})):n}function Fy(n){return Array.isArray(n==null?void 0:n.rows)&&n.rows.length>0}function Zn(n=[],e=[],t=4){const i=[],r=new Set,a=o=>{!o||r.has(o.key)||(r.add(o.key),i.push(o))},s=[...n,...e];return s.filter(Fy).forEach(a),s.filter(o=>o&&!Fy(o)).forEach(a),i.slice(0,t)}function IO(n,e,t={}){return n&&W2(s3(W2({},n),{type:e}),t)}function xe(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;const a=r.type==="donut"&&r.variant==="ring"?"donut-ring":r.type;if(r.fixedType||!i.has(a))return i.add(a),r;const s=(t[r.type]||e).find(o=>!i.has(o))||r.type;return i.add(s),IO(r,s,{variant:s===r.type?r.variant:void 0})})}function Dy(n=[],e={}){const{headCount:t=4,headName:i="重点区域",tailName:r="其他区域"}=e,a=n.filter(c=>(c==null?void 0:c.name)&&Number(c.value)>0);if(!a.length)return[];const s=a.slice(0,t),o=a.slice(t),l=(c,d)=>{var f,p;return{key:c,name:c,value:q1(d.reduce((y,w)=>y+(Number(w.value)||0),0)),unit:((f=d[0])==null?void 0:f.unit)||((p=a[0])==null?void 0:p.unit)||"万亩",extra:`${d.length}项`}};return[l(i,s),o.length?l(r,o):null].filter(c=>c&&Number(c.value)>0)}function t4(n,e,t){var o,l,c,d;if(!t)return n;const i={grassland:"grassland-distribution",wetland:"wetland-distribution",woodland:"woodland-distribution"}[e],r=((o=n==null?void 0:n.layerPanels)==null?void 0:o[t])||((l=n==null?void 0:n.layerPanels)==null?void 0:l[i]);if(!r)return n;const a=(c=r.leftPanels)!=null&&c.length?r.leftPanels:n.leftPanels,s=(d=r.rightPanels)!=null&&d.length?r.rightPanels:n.rightPanels;return s3(W2({},n),{activeLayerKey:t||i,leftPanels:a,rightPanels:s,left:(a==null?void 0:a[0])||n.left,right:(s==null?void 0:s[0])||n.right})}function zb(n,e=["areaWanMu","value","acreage","areaMu"]){for(const t of e){const i=N1(n,[t]),r=ct(i);if(r===void 0)continue;const a=String(t).toLowerCase(),s=String(N1(n,["unit","areaUnit","area_unit"])||"");return a.includes("wanmu")||s==="万亩"?r:a.includes("mu")||s==="亩"?r/1e4:r}}function Fi(n=[],e={}){const{nameKeys:t=["name","areaName","townName"],valueKeys:i=["areaWanMu","value","acreage","areaMu"],nameTransform:r=l=>l,filter:a,extra:s}=e,o=new Map;return n.forEach(l=>{if(a&&!a(l))return;const c=N1(l,t),d=r(c,l),f=zb(l,i);if(!d||f===void 0)return;const p=o.get(d)||{key:N1(l,["key","code","townCode"])||d,name:d,value:0,unit:"万亩",source:[]};p.value+=f,p.source.push(l),o.set(d,p)}),Array.from(o.values()).map(l=>{const c=s3(W2({},l),{value:q1(l.value)});return s?s3(W2({},c),{extra:s(c)}):c}).filter(l=>Number(l.value)>0).sort((l,c)=>(Number(c.value)||0)-(Number(l.value)||0))}function Oy(n){return String(n||"").replace(/草原/g,"湿地")}function NO(n={},e=[]){var s;const t=(n==null?void 0:n.unit)||N1(e==null?void 0:e[0],["unit"])||"万吨",i=(s=ct(n==null?void 0:n.xc))!=null?s:l5(e),r=ct(n==null?void 0:n.edibleXc),a=i!==void 0&&r!==void 0?Math.max(i-r,0):void 0;return[{key:"wetland-yield-edible",name:"可食鲜草",value:q1(r),unit:t,extra:`${q1(l6(r,i))}%`},{key:"wetland-yield-unavailable",name:"不可食鲜草",value:q1(a),unit:t,extra:`${q1(l6(a,i))}%`}].filter(o=>o.value!==void 0)}function LO(n={},e=[],t=[]){var l;const i=(n==null?void 0:n.unit)||N1(e==null?void 0:e[0],["unit"])||N1(t==null?void 0:t[0],["unit"])||"万吨",r=(l=ct(n==null?void 0:n.xc))!=null?l:l5(t),a=ct(n==null?void 0:n.edibleXc),s=l5(e),o=a!==void 0||s>0?Math.max(a||0,s||0):void 0;return s3(W2({},n),{xc:q1(r),edibleXc:q1(o),unit:i})}function Ub({yieldSummary:n,townAreaRows:e,typeRows:t,levelRows:i,yieldRows:r,minTypeRows:a,muYieldRows:s,edibleYieldRows:o,edibleMuRows:l,typeTownRows:c,levelTownRows:d,minTownRows:f}){const p=b0("wetland-town-area","湿地面积分布",S6(fr(e),Ns),"column",{span:1,variant:"plain"}),y=b0("wetland-type","湿地类型结构",S6(t,Ns),"donut",{span:1}),w=b0("wetland-level-proportion","湿地级占比",S6(w6(i),Ns),"donut",{span:1,variant:"ring"}),M=b0("wetland-min-type","湿地优势小类",S6(Wt(a,6),Ns),"bar",{span:1,variant:"raceBarNoWrap"}),P=b0("wetland-yield-capacity","湿地产能结构",NO(n,r),"structure",{span:1}),D=b0("wetland-yield","湿地生产力分布",fr(r),"line",{span:1,fixedType:!0}),B=b0("wetland-edible-yield","可食鲜草产量",Wt(o,i6.length),"column",{span:1,variant:"slim"}),V=b0("wetland-mu-yield","湿地亩产效率",Wt(s,i6.length),"heat",{span:1,limit:i6.length}),Y=b0("wetland-level","湿地级别面积",i,"column",{span:1}),X=b0("wetland-level-town","1级湿地分布",Wt(d,i6.length),"bar",{span:1,variant:"distribution"}),P2=b0("wetland-type-town","湿地类型乡镇分布",Wt(c,i6.length),"bar",{span:1,variant:"distribution"}),z2=b0("wetland-edible-mu","可食鲜草亩产",Wt(l,i6.length),"bar",{span:1}),G2=b0("wetland-min-town","优势小类乡镇分布",Wt(f,i6.length),"bar",{span:1,variant:"distribution"}),N2=xe([p,y,w,M]),V2=xe([B,D,V,P]);return{leftPanels:N2,rightPanels:V2,left:N2[0],right:V2[0],layerPanels:FO({townAreaPanel:p,typePanel:y,yieldCapacityPanel:P,yieldPanel:D,levelPanel:Y,levelTownPanel:X,muYieldPanel:V,levelStructurePanel:w,typeTownPanel:P2,minTypePanel:M,edibleYieldPanel:B,edibleMuPanel:z2,minTownPanel:G2})}}function FO(n={}){const{townAreaPanel:e,typePanel:t,yieldCapacityPanel:i,yieldPanel:r,levelPanel:a,levelTownPanel:s,muYieldPanel:o,levelStructurePanel:l,typeTownPanel:c,minTypePanel:d,edibleYieldPanel:f,edibleMuPanel:p,minTownPanel:y}=n;return{"wetland-distribution":{leftPanels:xe([e,t,l,d].filter(Boolean)),rightPanels:xe([f,r,o,i].filter(Boolean))},"wetland-level":{leftPanels:xe([l,a,s,t].filter(Boolean)),rightPanels:xe([f,r,o,i].filter(Boolean))},"wetland-type":{leftPanels:xe([t,c,d,y].filter(Boolean)),rightPanels:xe([f,r,p,i].filter(Boolean))},"wetland-yield":{leftPanels:xe([e,t,l,d].filter(Boolean)),rightPanels:xe([f,r,o,i].filter(Boolean))}}}function DO(n={}){const{leftPanels:e=[],rightPanels:t=[]}=n,i={leftPanels:xe(e.filter(Boolean)),rightPanels:xe(t.filter(Boolean))};return{"grassland-distribution":i,"basic-grassland":i,"grassland-level":i,"grassland-type":i,"grassland-yield":i,"grassland-health":i}}function $b({townRows:n=[],typeRows:e=[],scaleRows:t=[],protectionRows:i=[],ownershipRows:r=[],qualityRows:a=[],originRows:s=[],ageRows:o=[],canopyRows:l=[],forestTypeRows:c=[],manageLevelRows:d=[],regionRows:f=[],ownerRows:p=[],typeTownRows:y=[],qualityLevelRows:w=[],townConcentrationRows:M=Dy(n,{headCount:4,headName:"前四乡镇",tailName:"其他乡镇"}),typeConcentrationRows:P=Dy(e,{headCount:2,headName:"主要类型",tailName:"其他类型"})}){const D=b0("woodland-town","林地面积分布",S6(fr(n),s8),"column",{span:1,variant:"plain"}),B=b0("woodland-type","林地类型结构",S6(e,s8),"donut",{span:1,variant:"ring"}),V=b0("woodland-protection","公益林保护等级",S6(w6(i),s8),"bar",{span:1,variant:"raceBarRelaxed"}),Y=b0("woodland-ownership","林地权属结构",S6(w6(r),s8),"structure",{span:1}),X=b0("woodland-quality","优势树种面积",Wt(a,6),"bar",{span:1}),P2=b0("woodland-origin","林地起源结构",w6(s),"structure",{span:1}),z2=b0("woodland-age","林龄组结构",Wt(o,6),"column",{span:1}),G2=b0("woodland-canopy","郁闭度结构",S6(Wt(l,6),s8),"donut",{span:1,fixedType:!0}),N2=b0("woodland-area-scale","林地图斑规模",t,"column",{span:1}),V2=b0("woodland-forest-type","森林类别结构",Wt(c,6),"bar",{span:1}),Y2=b0("woodland-manage-level","管护等级分布",Wt(d,6),"bar",{span:1}),o3=b0("woodland-public-rank","公益林面积排行",Wt(f,6),"bar",{span:1,variant:"distribution"}),r3=b0("woodland-owner-rank","权属单位排行",Wt(p,6),"bar",{span:1}),y3=b0("woodland-type-town","乡镇类型构成",Wt(y,6),"bar",{span:1,variant:"distribution"}),K2=b0("woodland-quality-level","林地质量等级",w6(w),"donut",{span:1}),C3=b0("woodland-town-concentration","林地集中度",S6(w6(M),s8),"structure",{span:1}),m3=b0("woodland-type-concentration","类型集中度",S6(w6(P),s8),"rose",{span:1}),M3=xe(Zn([D,B,V,Y],[N2,r3,V2,X])),N3=xe(Zn([X,P2,z2,G2],[N2,r3,V2,o3,C3,m3]));return{leftPanels:M3,rightPanels:N3,left:M3[0],right:N3[0],layerPanels:OO({townPanel:D,typePanel:B,scalePanel:N2,protectionPanel:V,ownershipPanel:Y,qualityPanel:X,originPanel:P2,agePanel:z2,canopyPanel:G2,forestTypePanel:V2,manageLevelPanel:Y2,regionPanel:o3,ownerPanel:r3,typeTownPanel:y3,qualityLevelPanel:K2,townConcentrationPanel:C3,typeConcentrationPanel:m3})}}function OO(n={}){const{townPanel:e,typePanel:t,scalePanel:i,protectionPanel:r,ownershipPanel:a,qualityPanel:s,originPanel:o,agePanel:l,canopyPanel:c,forestTypePanel:d,manageLevelPanel:f,regionPanel:p,ownerPanel:y,typeTownPanel:w,qualityLevelPanel:M,townConcentrationPanel:P,typeConcentrationPanel:D}=n;return{"woodland-distribution":{leftPanels:xe(Zn([e,t,r,a],[i,d,y])),rightPanels:xe(Zn([s,o,l,c],[i,y,p,P,D,M]))},"woodland-protection":{leftPanels:xe(Zn([r,d,f,e],[t,a,i])),rightPanels:xe(Zn([p,s,o,a],[y,t,i]))},"woodland-type":{leftPanels:xe(Zn([t,e,w,i],[r,a,d])),rightPanels:xe(Zn([s,o,r,a],[l,c,y,D]))},"woodland-quality":{leftPanels:xe(Zn([s,o,l,c],[M,i,t])),rightPanels:xe(Zn([e,t,r,a],[d,y,i]))},"woodland-ownership":{leftPanels:xe(Zn([a,y,e,t],[i,r,s])),rightPanels:xe(Zn([r,s,o,i],[d,l,c]))}}}function BO(n=gO){const e=n.map(a=>s3(W2({},a),{value:q1(a.value),unit:a.unit||"万亩"})),t=q1(d4-l5(e)),i=e.find(a=>a.name==="未退化");i&&t!==void 0&&Math.abs(t)>.01&&(i.value=q1(Math.max((Number(i.value)||0)+t,0)));const r=["未退化","轻度退化","中度退化","重度退化"];return w6(e.sort((a,s)=>{const o=r.indexOf(a.name),l=r.indexOf(s.name);return(o===-1?99:o)-(l===-1?99:l)}),d4)}function GO(){return I3(this,null,function*(){return Wh()})}function Wb(n=[],e={},t=[]){var r;const i=(r=ct(e==null?void 0:e.xc))!=null?r:l5(t);return[n[0],n[1],n[2],{key:"grassland-yield-total",name:"鲜草产量",value:q1(i),unit:(e==null?void 0:e.unit)||"万吨"}].filter(a=>(a==null?void 0:a.value)!==void 0)}function jO(n={},e=[]){return s3(W2({},n),{xc:Wd,unit:(n==null?void 0:n.unit)||N1(e==null?void 0:e[0],["unit"])||"万吨"})}function zO(n=[]){const e=l5(n);return n.filter(t=>t.name&&Number(t.value)>0).map(t=>s3(W2({},t),{color:UO(t.name),extra:q1(l6(t.value,e))?`${q1(l6(t.value,e))}%`:""})).sort((t,i)=>Number(i.value)-Number(t.value))}function UO(n=""){const e=String(n);return e.includes("未退化")?"#32DCFF":e.includes("重度")?"#FFE06B":e.includes("中度")?"#6EA8FF":"#24F6C4"}function Vb(n={},e=[]){var o;const t=(n==null?void 0:n.unit)||N1(e==null?void 0:e[0],["unit"])||"万吨",i=(o=ct(n==null?void 0:n.xc))!=null?o:l5(e),r=ct(n==null?void 0:n.edibleXc),a=i!==void 0&&r!==void 0?Math.max(i-r,0):void 0,s=e.find(l=>Number(l.value)>0);return[{key:"forage-total",name:"鲜草总产",value:q1(i),unit:t,scaleValue:100},{key:"forage-edible",name:"可食鲜草",value:q1(r),unit:t,scaleValue:q1(l6(r,i))},{key:"forage-unavailable",name:"不可食鲜草",value:q1(a),unit:t,scaleValue:q1(l6(a,i))},{key:"forage-top-town",name:s!=null&&s.name?`最高乡镇:${s.name}`:"最高乡镇产量",value:s==null?void 0:s.value,unit:(s==null?void 0:s.unit)||t,scaleValue:q1(l6(s==null?void 0:s.value,i))}].filter(l=>l.value!==void 0)}function Wh(){return{levelRows:BO(),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 By(n,e){if(n==="grassland"){const[t,i]=Bb(d4,637.13,119.31),r=_8([{key:"grassland-area",name:"草地面积",value:d4,unit:"万亩"},{key:"basic-grassland",name:"基本草原",value:t,unit:"万亩"},{key:"general-grassland",name:"一般草原",value:i,unit:"万亩"}],n),a=ve([{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"]}),s=ve([{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:"万吨"}),o=Qi([{key:"grazing",name:"重要放牧场",value:516.41,unit:"万亩"},{key:"general",name:"一般草原",value:i,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:"其他草原类型"}),l=ve([{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:"斤"}),d=Wh().levelRows,f=w6([{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:"万亩"}]),p=w6([{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:"万亩"}]),y=Vb({xc:Wd,edibleXc:192.26,unit:"万吨"},s),w=ve([{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:"万吨"}),M=Yb({core:r,townRows:a,grassTypeRows:o,grassLevelRows:f,healthRows:p,productivityRows:l,edibleYieldRows:w,forageRows:y,degradationRows:d}),P=s3(W2({status:"fallback"},M),{top:Wb(r,{xc:Wd,unit:"万吨"},s)});return t4(P,n,e)}if(n==="wetland"){const t=_8([{key:"wetland-area",name:"湿地面积",value:On,unit:"万亩"},{key:"wetland-yield",name:"湿地生产力(鲜草)",value:108.84,unit:"万吨"},{key:"wetland-level-1-area",name:"1级湿地面积",value:213.22,unit:"万亩"}],n),i=e4(Qi([{name:"高寒草甸类",value:190.32,unit:"万亩"},{name:"山地草甸类",value:49.48,unit:"万亩"},{name:"低地草甸类",value:3.21,unit:"万亩"}],{limit:4,minPercent:1,otherName:"其他湿地类型"}),On,{key:"wetland-type-unclassified",name:"未分类湿地"}),r=e4([{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:"万亩"}],On,{key:"wetland-level-unclassified",name:"未分级湿地"}),a=ve([{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:"万吨"}),s=[{name:"瓦切镇",value:944.22,unit:"斤"},{name:"安曲镇",value:913.28,unit:"斤"},{name:"麦洼乡",value:911.14,unit:"斤"},{name:"查尔玛乡",value:873.31,unit:"斤"},{name:"阿木乡",value:872,unit:"斤"},{name:"邛溪镇",value:870.48,unit:"斤"},{name:"色地镇",value:865.92,unit:"斤"},{name:"刷经寺镇",value:863.48,unit:"斤"},{name:"江茸乡",value:827.92,unit:"斤"},{name:"龙日镇",value:825.59,unit:"斤"}],o=O7([{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((y,w)=>w.value-y.value),On),l=e4([{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:"万亩"}],On,{key:"wetland-min-type-unclassified",name:"未分类湿地"}),c=ve([{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:"万吨"}),d=ve([{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:"斤"}),f=Ub({core:t,yieldSummary:{xc:108.84,edibleXc:mO,unit:"万吨"},townAreaRows:o,typeRows:i,levelRows:r,yieldRows:a,minTypeRows:l,muYieldRows:s,edibleYieldRows:c,edibleMuRows:d,typeTownRows:o,levelTownRows:o,minTownRows:o}),p=W2({status:"fallback",core:t,top:[t[0],t[1],t[2]]},f);return t4(p,n,e)}if(n==="woodland"){const t=_8([{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=ve([{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:f=>`占比 ${q1(f.percent)}%`}),r=Qi([{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:"其他林地"}),c=$b({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%"}]}),d=W2({status:"fallback",core:t,top:[t[0],t[1],t[2]]},c);return t4(d,n,e)}return{status:"empty",core:_8([],n),leftPanels:[],rightPanels:[],left:{title:"业务统计",rows:[]},right:{title:"业务统计",rows:[]}}}function Hb(n=[],e=["name"]){const t=new Map;return n.forEach(i=>{const r=N1(i,e);!r||t.has(r)||t.set(r,i)}),Array.from(t.values())}function pe(n,e=[]){return n().catch(()=>e)}function Ic(n=[],e={}){const{nameKeys:t=["name","health","level"],valueKeys:i=["value","acreage","areaWanMu"],unit:r="万亩",nameTransform:a=l=>l,max:s=Number.POSITIVE_INFINITY}=e,o=ve(n||[],{nameKeys:t,valueKeys:i,unit:r}).map(l=>s3(W2({},l),{name:a(l.name)}));return w6(o).filter(l=>Number(l.value)>0).slice(0,s)}function $O(n){const e=String(n||"");return/^\d+$/.test(e)?`${e}级草原`:e.includes("级")?e.replace(/草地/g,"草原"):e}function WO(n){const e=String(n||"");return{healthy:"健康",subhealthy:"亚健康",unhealthy:"不健康"}[e]||e}function Yb({core:n,townRows:e,grassTypeRows:t,grassLevelRows:i,healthRows:r,productivityRows:a,edibleYieldRows:s,forageRows:o,degradationRows:l}){const c=b0("grassland-town","草地面积分布",fr(e),"column",{span:1,variant:"plain"}),d=b0("grassland-productivity-town","草地生产力分布",fr(a),"line",{span:1,fixedType:!0}),f=b0("grassland-type-proportion","草原类占比",t,"donut",{span:1}),p=b0("grassland-edible-yield","可食鲜草产量分布",Wt(s,10),"column",{span:1,variant:"slim"}),y=b0("grassland-degradation","草地退化统计",zO(l),"bar",{span:1,variant:"degradation"}),w=b0("grassland-health-proportion","草地健康占比",r,"rose",{span:1}),M=b0("grassland-level-proportion","草原级占比",i,"donut",{span:1,variant:"ring"}),P=b0("grassland-forage-capacity","饲草供给",o,"bar",{span:1,variant:"capacity"}),D=xe([c,f,y,M]),B=xe([p,d,w,P]);return{core:n,leftPanels:D,rightPanels:B,left:D[0],right:B[0],layerPanels:DO({leftPanels:D,rightPanels:B})}}function VO(n,e={}){const t=vO(n),i=Hb(e.typeRows||[],["name"]),r=e.yieldRows||[],a=e.levelRows||[],s=e.minTypeRows||[],o=e.edibleRows||[],l=e.edibleMuRows||[],c=e.typeDistributionRows||[],d=e.levelDistributionRows||[],f=e.minTypeDistributionRows||[],p=e.yieldSummary||{},y=e4(Qi(Fs(i,{nameKeys:["name"],valueKeys:["value"],unit:"万亩"}),{limit:4,minPercent:1,otherName:"其他湿地类型"}),On,{key:"wetland-type-unclassified",name:"未分类湿地"}),w=Mo(r,e.muYieldRows||[],{showMuYieldExtra:!1}),M=Fs(e.muYieldRows||[],{nameKeys:["areaName","name"],valueKeys:["yield","value"],unit:"斤",max:i6.length}),P=e4(Fs(a,{nameKeys:["name"],valueKeys:["value"],unit:"万亩"}).map(r3=>s3(W2({},r3),{name:Oy(r3.name)})),On,{key:"wetland-level-unclassified",name:"未分级湿地"}),D=Qi(e4(wO(s),On,{key:"wetland-min-type-unclassified",name:"未分类湿地"}),{limit:6,minPercent:1,otherName:"其他小类"}),B=Mo(o,l,{showMuYieldExtra:!1}),V=Fs(l,{nameKeys:["areaName","name"],valueKeys:["yield","value"],unit:N1(l==null?void 0:l[0],["unit"])||"斤",max:i6.length}),Y=O7(Fi(c,{nameKeys:["areaName","name"],valueKeys:["acreage","areaWanMu","value"]}),On),X=O7(Fi(c,{nameKeys:["areaName","name"],valueKeys:["acreage","areaWanMu","value"],extra:r3=>{var y3;return`${((y3=r3.source)==null?void 0:y3.length)||0}类`}}),On),P2=O7(Fi(d,{nameKeys:["areaName","name"],valueKeys:["acreage","areaWanMu","value"]}),On),z2=Fi(d,{nameKeys:["areaName","name"],valueKeys:["acreage","areaWanMu","value"],filter:r3=>Oy(N1(r3,["level","name"])).startsWith("1级")}),G2=O7(Fi(f,{nameKeys:["areaName","name"],valueKeys:["acreage","areaWanMu","value"],extra:r3=>{var y3;return`${((y3=r3.source)==null?void 0:y3.filter(K2=>zb(K2,["acreage","areaWanMu","value"])>0).length)||0}型`}}),On),N2=LO(p,B,w),V2=_8(t,"wetland"),Y2=P.find(r3=>/^1级/.test(r3.name))||P[0],o3=Ub({yieldSummary:N2,townAreaRows:Y,typeRows:y,levelRows:P,yieldRows:w,minTypeRows:D,muYieldRows:M,edibleYieldRows:B,edibleMuRows:V,typeTownRows:X,levelTownRows:z2.length?z2:P2,minTownRows:G2});return W2({core:V2,top:[V2[0],V2[1],{key:"wetland-level-1-area",name:"1级湿地面积",value:Y2==null?void 0:Y2.value,unit:(Y2==null?void 0:Y2.unit)||"万亩"}].filter(Boolean)},o3)}function oo(n,e){return I3(this,null,function*(){var t;try{if(n==="woodland"){const[i,r,a,s,o]=yield Promise.all([S9("/woodland/distribution").then(r0),pe(()=>I3(this,null,function*(){return r0(yield S9("/woodland/types"))}),{}),pe(()=>I3(this,null,function*(){return r0(yield S9("/woodland/protection"))}),{}),pe(()=>I3(this,null,function*(){return r0(yield S9("/woodland/quality"))}),{}),pe(()=>I3(this,null,function*(){return r0(yield S9("/woodland/ownership"))}),{})]),l=_8(_O(i),n),c=N1((i==null?void 0:i.core)||(i==null?void 0:i.summary)||{},["totalAreaWanMu","total_area_wan_mu","areaWanMu","area_wan_mu"]),d=N1((a==null?void 0:a.summary)||{},["publicAreaWanMu","public_area_wan_mu"]),f=[l[0],{key:"woodland-public-area",name:"公益林面积",value:q1(d),unit:"万亩"},{key:"woodland-public-rate",name:"公益林占比",value:q1((t=N1((a==null?void 0:a.summary)||{},["publicAreaPercent","public_area_percent"]))!=null?t:l6(d,c)),unit:"%"}].filter(Boolean),p=ve((i==null?void 0:i.areaDistribution)||[],{nameKeys:["name"],valueKeys:["areaWanMu","value"],extra:r3=>Ls(r3,c)}),y=Qi(ve((r==null?void 0:r.typeStats)||(i==null?void 0:i.typeDistribution)||[],{nameKeys:["name"],valueKeys:["areaWanMu","value"],extra:$6}),{limit:4,minPercent:1,otherName:"其他林地"}),w=ve((i==null?void 0:i.patchScale)||[],{nameKeys:["name"],valueKeys:["areaWanMu","value"],extra:r3=>Ls(r3,c)}),M=ve((a==null?void 0:a.protectionLevels)||[],{nameKeys:["name"],valueKeys:["areaWanMu","value"],extra:$6}),P=ve((s==null?void 0:s.speciesRanks)||[],{nameKeys:["name"],valueKeys:["areaWanMu","value"],max:6,extra:$6}),D=ve((o==null?void 0:o.ownerRanks)||[],{nameKeys:["name"],valueKeys:["areaWanMu","value"],max:6,extra:r3=>Ls(r3,c)}),B=ve((o==null?void 0:o.landOwnerships)||[],{nameKeys:["name"],valueKeys:["areaWanMu","value"],extra:$6}),V=ve((a==null?void 0:a.forestTypes)||[],{nameKeys:["name"],valueKeys:["areaWanMu","value"],max:6,extra:$6}),Y=ve((a==null?void 0:a.manageLevels)||[],{nameKeys:["name"],valueKeys:["areaWanMu","value"],max:6,extra:$6}),X=ve((a==null?void 0:a.regionRanks)||[],{nameKeys:["regionName","name","townName"],valueKeys:["areaWanMu","value"],max:6,extra:r3=>Ls(r3,d)}),P2=ve((s==null?void 0:s.origins)||[],{nameKeys:["name"],valueKeys:["areaWanMu","value"],extra:$6}),z2=ve((s==null?void 0:s.ageGroups)||[],{nameKeys:["name"],valueKeys:["areaWanMu","value"],extra:$6}),G2=ve((s==null?void 0:s.canopyLevels)||[],{nameKeys:["name"],valueKeys:["areaWanMu","value"],extra:r3=>{const y3=q1(N1(r3,["avgCanopy","avg_canopy"]));return y3!==void 0?`均值 ${y3}`:$6(r3)}}),N2=ve((s==null?void 0:s.qualityLevels)||[],{nameKeys:["name"],valueKeys:["areaWanMu","value"],extra:$6}),V2=Vd((r==null?void 0:r.townComposition)||[],{nameKeys:["townName","name"],valueKeys:["areaWanMu","value"]}).slice(0,6),Y2=$b({townRows:p,typeRows:y,scaleRows:w,protectionRows:M,ownershipRows:B,qualityRows:P,originRows:P2,ageRows:z2,canopyRows:G2,forestTypeRows:V,manageLevelRows:Y,regionRows:X,ownerRows:D,typeTownRows:V2,qualityLevelRows:N2}),o3=W2({status:"success",core:l,top:f},Y2);return t4(o3,n,e)}if(n==="grassland"){const[i,r,a,s,o,l,c,d,f]=yield Promise.all([X0("/basic_grassland/overview").then(r0),pe(()=>I3(this,null,function*(){return r0(yield X0("/grassland_yield/yieldProportion"))}),{}),pe(()=>I3(this,null,function*(){return r0(yield X0("/grassland_yield/distribution"))})),pe(()=>I3(this,null,function*(){return r0(yield X0("/grassland_yield/muYieldDistribution"))})),pe(()=>I3(this,null,function*(){return GO()}),Wh()),pe(()=>I3(this,null,function*(){return r0(yield X0("/grassland_grass_type/areaProportion"))})),pe(()=>I3(this,null,function*(){return r0(yield X0("/grassland_grassland_level/areaProportion"))})),pe(()=>I3(this,null,function*(){return r0(yield X0("/grassland_health/proportion"))})),pe(()=>I3(this,null,function*(){return r0(yield X0("/grassland_yield/edibleXcDistribution"))}))]),p=o.levelRows||[],y=_8(bO(i),n),w=Mo(a||[],s||[],{showMuYieldExtra:!1}),M=jO(r,w),P=ve(s||[],{nameKeys:["areaName","name"],valueKeys:["yield","value"],unit:N1(s==null?void 0:s[0],["unit"])||"斤"}),D=ve((i==null?void 0:i.townStats)||[],{nameKeys:["name"],valueKeys:["totalAreaWanMu"]}),B=Ic(Hb(l||[],["name"]),{nameKeys:["name"],valueKeys:["value","areaWanMu","acreage"],unit:"万亩",nameTransform:Gb}),V=Ic(c||[],{nameKeys:["name","level"],valueKeys:["value","areaWanMu","acreage"],unit:"万亩",nameTransform:$O}),Y=Ic(d||[],{nameKeys:["health","name"],valueKeys:["acreage","value","areaWanMu"],unit:"万亩",nameTransform:WO}),X=Mo(f||[],[],{showMuYieldExtra:!1}),P2=Yb({core:y,townRows:D,grassTypeRows:B,grassLevelRows:V,healthRows:Y,productivityRows:P,edibleYieldRows:X,forageRows:Vb(M,w),degradationRows:p}),z2=s3(W2({status:"success"},P2),{top:Wb(y,M,w)});return t4(z2,n,e)}if(n==="wetland"){const[i,r,a,s,o,l,c,d,f,p,y,w]=yield Promise.all([SO([()=>I3(this,null,function*(){return r0(yield X0("/index/dataItem",{group:"wetland"}))}),()=>I3(this,null,function*(){return r0(yield X0("/index/dataItem",{group:"wetland_grassland_level"}))})]),pe(()=>I3(this,null,function*(){return r0(yield X0("/wetland_grass_type_copy/areaProportion"))})),pe(()=>I3(this,null,function*(){return r0(yield X0("/wetland_yield/distribution"))})),pe(()=>I3(this,null,function*(){return r0(yield X0("/wetland_yield/muYieldDistribution"))})),pe(()=>I3(this,null,function*(){return r0(yield X0("/wetland_grassland_level/areaProportion"))})),pe(()=>I3(this,null,function*(){return r0(yield X0("/wetland_grass_type_copy/minTypeAreaProportion"))})),pe(()=>I3(this,null,function*(){return r0(yield X0("/wetland_yield/edibleXcDistribution"))})),pe(()=>I3(this,null,function*(){return r0(yield X0("/wetland_yield/edibleXcMuDistribution"))})),pe(()=>I3(this,null,function*(){return r0(yield X0("/wetland_grass_type_copy/distribution"))})),pe(()=>I3(this,null,function*(){return r0(yield X0("/wetland_grassland_level/distribution"))})),pe(()=>I3(this,null,function*(){return r0(yield X0("/wetland_grass_type_copy/minTypeAreaDistribution"))})),pe(()=>I3(this,null,function*(){return r0(yield X0("/wetland_yield/yieldProportion"))}),{})]),M=VO(i,{typeRows:r,yieldRows:a,muYieldRows:s,levelRows:o,minTypeRows:l,edibleRows:c,edibleMuRows:d,typeDistributionRows:f,levelDistributionRows:p,minTypeDistributionRows:y,yieldSummary:w}),P=s3(W2({status:"success"},M),{left:M.leftPanels[0],right:M.rightPanels[0]});return t4(P,n,e)}return By(n,e)}catch(i){return s3(W2({},By(n,e)),{status:"error",error:i})}})}function HO(n,e,t=null){return I3(this,null,function*(){try{const i=yield RO(n,e,t);return i||(n==="woodland"?e==="woodland-protection"?yield Ds({topicKey:n,layerKey:e,layerName:"ne:t_woodland_2023",title:"公益林面积排行",cqlFilter:"gjgyl_bhdj IN ('1','2')"}).catch(()=>I3(this,null,function*(){const r=r0(yield S9("/woodland/protection")),a=Vd((r==null?void 0:r.regionRanks)||[],{nameKeys:["townName"],valueKeys:["areaWanMu"],unit:"万亩"});return i5({topicKey:n,layerKey:e,title:"公益林面积排行",unit:"万亩",rows:a,note:"按公益林村级榜单汇总到乡镇"})})):e==="woodland-type"?yield Ds({topicKey:n,layerKey:e,layerName:"ne:t_woodland_2023",title:"林地类型面积排行"}).catch(()=>I3(this,null,function*(){const r=r0(yield S9("/woodland/types")),a=Vd((r==null?void 0:r.townComposition)||[],{nameKeys:["townName"],valueKeys:["areaWanMu"],unit:"万亩"});return i5({topicKey:n,layerKey:e,title:"林地类型面积排行",unit:"万亩",rows:a,note:"按林地类型组成汇总到乡镇"})})):e==="woodland-quality"?yield Ds({topicKey:n,layerKey:e,layerName:"ne:t_woodland_2023",title:"林地质量面积排行",cqlFilter:"zl_dj IS NOT NULL"}):e==="woodland-ownership"?yield Ds({topicKey:n,layerKey:e,layerName:"ne:t_woodland_2023",title:"林地权属面积排行",cqlFilter:"ld_qs IS NOT NULL"}):yield CO(n,e,"林地面积排行"):n==="grassland"?e==="basic-grassland"?yield Ly(n,e,"basicAreaWanMu","基本草原面积排行"):e==="grassland-level"?yield Os(n,e,"/grassland_yield/muYieldDistribution","草地亩产排行","斤"):yield Ly(n,e,"totalAreaWanMu","草地面积排行"):n==="wetland"?e==="wetland-level"?yield Os(n,e,"/wetland_yield/muYieldDistribution","湿地亩产排行","斤"):e==="wetland-type"?yield Os(n,e,"/wetland_yield/edibleXcDistribution","可食鲜草产量排行","万吨"):yield Os(n,e,"/wetland_yield/distribution","湿地生产力排行","万吨"):i5({topicKey:n,layerKey:e,title:"乡镇统计排行",rows:[]}))}catch(i){return{status:"error",topicKey:n,layerKey:e,title:"乡镇统计排行",unit:"",rows:[],error:i}}})}const C4=458230,Vh=450817,YO=C4-Vh;function Kb(n,e,t="count"){const i=n.reduce((s,o)=>s+(Number(o[t])||0),0);if(!i||!e)return n.map(s=>s3(W2({},s),{[t]:0}));const r=n.map(s=>s3(W2({},s),{[t]:Math.round((Number(s[t])||0)/i*e)})),a=e-r.reduce((s,o)=>s+(Number(o[t])||0),0);return a&&r[0]&&(r[0][t]+=a),r}const L9={herdsmanCount:129,grasslandArea:7563700,wetArea:2918200,yakCount:C4,projectCount:17,baseCount:12},KO=[{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}],qO=[{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}],XO=[{month:"1月",count:458230,speed:0},{month:"2月",count:458860,speed:630},{month:"3月",count:459520,speed:660},{month:"4月",count:460180,speed:660},{month:"5月",count:461260,speed:1080},{month:"6月",count:462050,speed:790},{month:"7月",count:462850,speed:800},{month:"8月",count:463160,speed:310},{month:"9月",count:463520,speed:360},{month:"10月",count:463940,speed:420},{month:"11月",count:464350,speed:410},{month:"12月",count:464760,speed:410}],qb=[{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}],F9=Kb(qb,Vh),ZO=new Map(Kb(qb,C4).map(n=>[n.name,n.count])),G8=KO.map(n=>s3(W2({},n),{yakCount:ZO.get(n.zoneName)||n.yakCount}));F9.reduce((n,e)=>n+e.count,0);const mr=C4;L9.yakCount=mr;function JO(n,e){const t=n.map((r,a)=>{const s=e*r.ratio/100;return s3(W2({},r),{index:a,exact:s,count:Math.floor(s),remainder:s-Math.floor(s)})});let i=e-t.reduce((r,a)=>r+a.count,0);return t.slice().sort((r,a)=>a.remainder-r.remainder||r.index-a.index).forEach(r=>{i<=0||(r.count+=1,i-=1)}),t.map(l=>{var c=l,{index:r,exact:a,remainder:s}=c,o=S7(c,["index","exact","remainder"]);return s3(W2({},o),{count:Math.round(o.count)})})}JO([{key:"fertileCow",name:"适龄能繁母牛",ratio:44.8},{key:"meatBull",name:"麦洼公牦牛",ratio:15.2},{key:"breedingBull",name:"种公牛",ratio:3.1},{key:"femaleCalf",name:"母犊牛",ratio:14.9},{key:"maleCalf",name:"公犊牛",ratio:15.1},{key:"overageCow",name:"过龄能繁母牛",ratio:6.9}],mr);const Hh=[{label:"屠宰出栏",value:1706,yoy:6},{label:"活畜交易",value:1043,yoy:-3},{label:"外运销售",value:624,yoy:12},{label:"其他出栏",value:299,yoy:-9}],Xb=[{name:"饲草储备库",value:7,capacity:10500,unit:"座"},{name:"加工企业",value:7,capacity:13e3,unit:"家"},{name:"工程数量",value:L9.projectCount,capacity:17,unit:"个"},{name:"基地数量",value:L9.baseCount,capacity:12,unit:"个"}],QO=Vh,eB=YO,tB=0,Ct=C4;function Zb(n=[],e=C4){const t=n.map(s=>{var o,l,c;return s3(W2({},s),{name:s.name||s.label||s.town||"",count:Number((c=(l=(o=s.count)!=null?o:s.value)!=null?l:s.total)!=null?c:0)})}).filter(s=>s.name&&Number.isFinite(s.count)&&s.count>=0),i=t.reduce((s,o)=>s+o.count,0);if(!i||!e)return t.map(s=>s3(W2({},s),{count:0}));const r=t.map(s=>s3(W2({},s),{count:Math.round(s.count/i*e)})),a=e-r.reduce((s,o)=>s+o.count,0);return a&&r[0]&&(r[0].count+=a),r}const Hd=Zb(F9,Ct).sort((n,e)=>e.count-n.count),nB=[{key:"fertileCow",name:"适龄能繁母牛",ratio:45,source:"畜群结构比例表"},{key:"meatBull",name:"麦洼公牦牛",ratio:15,source:"畜群结构比例表"},{key:"breedingBull",name:"种公牛",ratio:3,source:"畜群结构比例表"},{key:"femaleCalf",name:"母犊牛",ratio:15,source:"畜群结构比例表"},{key:"maleCalf",name:"公犊牛",ratio:15,source:"畜群结构比例表"},{key:"overageCow",name:"过龄能繁母牛",ratio:7,source:"畜群结构比例表"}],iB=[{key:"fertileCow",name:"适龄能繁母牛",ratio:44.8,source:"畜群结构比例表"},{key:"meatBull",name:"麦洼公牦牛",ratio:15.2,source:"畜群结构比例表"},{key:"breedingBull",name:"种公牛",ratio:3.1,source:"畜群结构比例表"},{key:"femaleCalf",name:"母犊牛",ratio:14.9,source:"畜群结构比例表"},{key:"maleCalf",name:"公犊牛",ratio:15.1,source:"畜群结构比例表"},{key:"overageCow",name:"过龄能繁母牛",ratio:6.9,source:"畜群结构比例表"}],w9=eS(iB,Ct),Gy=Hh.map((n,e)=>s3(W2({},n),{color:["#ff8f6b","#30dcff","#ffd76c","#7aa7ff"][e%4]})),Nc=[{age:"≤1岁",cow:38586,bull:40861},{age:"1-2岁",cow:27124,bull:27549},{age:"2-4岁",cow:93355,bull:49265},{age:"4-8岁",cow:106679,bull:32655},{age:"8岁以上",cow:28671,bull:13485}],vn=[{key:"2026",label:"2026年底",shortLabel:"2026",months:7,stock:462850,births:24680,outflow:19020,correction:-1040,structure:{fertileCow:45.1,meatBull:15,breedingBull:3,femaleCalf:15.2,maleCalf:14.9,overageCow:6.8}},{key:"2027",label:"2027年底",shortLabel:"2027",months:19,stock:468920,births:67420,outflow:55180,correction:-1550,structure:{fertileCow:45.5,meatBull:14.8,breedingBull:3.1,femaleCalf:15.1,maleCalf:14.8,overageCow:6.7}},{key:"2028",label:"2028年底",shortLabel:"2028",months:31,stock:475360,births:109680,outflow:90140,correction:-2410,structure:{fertileCow:45.9,meatBull:14.5,breedingBull:3.1,femaleCalf:15.3,maleCalf:14.7,overageCow:6.5}}],jy=[{name:"新生牛犊",value:86},{name:"出栏周转",value:62},{name:"死亡淘汰",value:48},{name:"母牛基础",value:91},{name:"幼畜存活",value:73}];function Jb(n){return vn.find(e=>e.key===n)||vn[1]}function rB(n){const e=(n==null?void 0:n.structure)||{};return eS(nB.map(t=>{var i;return s3(W2({},t),{ratio:(i=e[t.key])!=null?i:t.ratio,source:"预测模型"})}),n.stock)}function aB(n){const e=n.stock/Ct,t=Hd.map((r,a)=>s3(W2({},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,s)=>s.count>a.count?s:a,t[0]);r.forecast+=i}return t.map(r=>s3(W2({},r),{change:r.forecast-r.count})).sort((r,a)=>a.forecast-r.forecast)}function Qb(n){const e=n.months+1,t=Array.from({length:e},(s,o)=>o===0?"2026-06":o===n.months?n.label:`+${o}月`),i=t.map((s,o)=>{const l=o/n.months,c=Math.sin(o/2.6)*Math.sin(Math.PI*l)*Math.min(360,n.months*18);return Math.round(Ct+(n.stock-Ct)*l+c)}),r=t.map((s,o)=>Math.round(n.births/n.months*o)),a=t.map((s,o)=>Math.round(n.outflow/n.months*o));return{labels:t,stock:i,births:r,outflow:a}}function eS(n,e){const t=n.map((r,a)=>{const s=e*r.ratio/100;return s3(W2({},r),{index:a,exact:s,count:Math.floor(s),remainder:s-Math.floor(s)})});let i=e-t.reduce((r,a)=>r+a.count,0);return t.slice().sort((r,a)=>a.remainder-r.remainder||r.index-a.index).forEach(r=>{i<=0||(r.count+=1,i-=1)}),t.map(l=>{var c=l,{index:r,exact:a,remainder:s}=c,o=S7(c,["index","exact","remainder"]);return s3(W2({},o),{count:Math.round(o.count)})})}function sB(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 Yh={grasslandCapacityPerMu:.06229833103624831,muPerYak:16.051794379822947,yakToSheepUnit:1},oB={key:"county-513233",type:"county",name:"红原县",areaCode:"513233"},x7=[{key:"healthy",label:"合理",shortLabel:"合理",range:"< 0%",description:"承载力覆盖实际载畜量,当前放牧压力处于合理区间。",actions:["保持当前载畜水平与轮牧节奏","定期复测草地生产力和载畜量","关注极端天气对牧草生长的影响"]},{key:"watch",label:"基本实现草畜平衡",shortLabel:"基本平衡",range:"0% - 5%",description:"实际载畜量与草地承载力基本匹配,草畜平衡总体实现。",actions:["保持当前载畜规模基本稳定","持续核查草地生产力和牲畜存栏","结合季节变化做好补饲和轮牧安排"]},{key:"light",label:"轻度超载",shortLabel:"关注",range:"5% - 10%",description:"已出现轻度超载迹象,建议提前介入调控。",actions:["适度压减超载畜群规模","延长冬春舍饲补饲周期","增加人工草场补饲供应"]},{key:"warning",label:"中度超载",shortLabel:"预警",range:"10% - 20%",description:"超载较明显,草地退化风险上升,应启动主动调控。",actions:["压减载畜量至理论承载力以内","推行划区轮牧与阶段性休牧","扩大优质人工饲草供给"]},{key:"danger",label:"严重超载",shortLabel:"高压",range:"> 20%",description:"超载压力较高,建议纳入重点管控和生态修复范围。",actions:["强制压减载畜量并实施禁牧休牧","对退化草地实施生态修复","建立重点区域长效监测与考核机制"]}],P5={areaRange:["areaRange","area_range","arearange","acreage","grasslandArea","grasslandarea","area"],yakNumber:["yakNumber","yak_number","yaknumber","number","yakCount","yakcount","livestockCount","livestockcount"],bearingCapacity:["bearingCapacity","bearing_capacity","bearingcapacity","capacity","theoryCapacity","theorycapacity"],livestockCapacity:["livestockCapacity","livestock_capacity","livestockcapacity","carryingCapacity","carryingcapacity","actualCapacity","actualcapacity"],overloadRate:["overloadRate","overload_rate","overloadrate","rate"],level:["level","conclusion"],advice:["advice","balanceAdvice","balance_advice","balanceadvice","balanceAdivce","balance_adivce","balanceadivce"],year:["year"],areaName:["areaName","area_name","areaname","name"]},y9=(n,e=2)=>{const t=v6(10,e);return Math.round((Number(n)||0)*t)/t},b6="加强人工饲草饲料基地建设;购买饲草饲料,增加饲草饲料供应量;实行舍饲圈养,减轻草原放牧压力;加快牲畜出栏,优化畜群结构。";function Be(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 Jn(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 lo(n,e={}){var i;const t=Be(n);return t===null?"--":t.toLocaleString("zh-CN",{maximumFractionDigits:(i=e.maximumFractionDigits)!=null?i:Number.isInteger(t)?0:2})}function Lc(n){const e=Be(n);return e===null?"--":`${lo(e)}%`}function M8(n){const e=Be(n);return e===null||e<0?x7[0]:e<=5?x7[1]:e<=10?x7[2]:e<=20?x7[3]:x7[4]}function zy(n){return Math.round(Number(n)||0)}function Uy(n){return Math.round((Number(n)||0)*Yh.grasslandCapacityPerMu)}const lB=s3(W2({},oB),{areaRange:756851506e-2,yakNumber:458230,bearingCapacity:454864,livestockCapacity:458230,overloadRate:.74,level:"基本实现草畜平衡",advice:b6,year:"2026"}),tS=[{key:"town-邛溪镇",type:"town",name:"邛溪镇",areaCode:"513233100",areaRange:930604.2,yakNumber:49140,bearingCapacity:47723,livestockCapacity:49140,overloadRate:2.97,level:"基本实现草畜平衡",advice:b6,year:"2026"},{key:"town-刷经寺镇",type:"town",name:"刷经寺镇",areaCode:"513233101",areaRange:743557.5,yakNumber:18283,bearingCapacity:18002,livestockCapacity:18283,overloadRate:1.56,level:"基本实现草畜平衡",advice:b6,year:"2026"},{key:"town-安曲镇",type:"town",name:"安曲镇",areaCode:"513233103",areaRange:900696.75,yakNumber:59725,bearingCapacity:58479,livestockCapacity:59725,overloadRate:2.13,level:"基本实现草畜平衡",advice:b6,year:"2026"},{key:"town-龙日镇",type:"town",name:"龙日镇",areaCode:"513233105",areaRange:628303.8,yakNumber:40192,bearingCapacity:39462,livestockCapacity:40192,overloadRate:1.85,level:"基本实现草畜平衡",advice:b6,year:"2026"},{key:"town-江茸乡",type:"town",name:"江茸乡",areaCode:"513233202",areaRange:496888.95,yakNumber:20789,bearingCapacity:20563,livestockCapacity:20789,overloadRate:1.1,level:"基本实现草畜平衡",advice:b6,year:"2026"},{key:"town-查尔玛乡",type:"town",name:"查尔玛乡",areaCode:"513233203",areaRange:808628.4,yakNumber:28836,bearingCapacity:28312,livestockCapacity:28836,overloadRate:1.85,level:"基本实现草畜平衡",advice:b6,year:"2026"},{key:"town-瓦切镇",type:"town",name:"瓦切镇",areaCode:"513233204",areaRange:747837.6,yakNumber:76127,bearingCapacity:74598,livestockCapacity:76127,overloadRate:2.05,level:"基本实现草畜平衡",advice:b6,year:"2026"},{key:"town-阿木乡",type:"town",name:"阿木乡",areaCode:"513233205",areaRange:863346,yakNumber:38587,bearingCapacity:37554,livestockCapacity:38587,overloadRate:2.75,level:"基本实现草畜平衡",advice:b6,year:"2026"},{key:"town-麦洼乡",type:"town",name:"麦洼乡",areaCode:"513233207",areaRange:458338.35,yakNumber:47193,bearingCapacity:46643,livestockCapacity:47193,overloadRate:1.18,level:"基本实现草畜平衡",advice:b6,year:"2026"},{key:"town-色地镇",type:"town",name:"色地镇",areaCode:"513233208",areaRange:991265.25,yakNumber:79358,bearingCapacity:77695,livestockCapacity:79358,overloadRate:2.14,level:"基本实现草畜平衡",advice:b6,year:"2026"}],uB=[lB,...tS];function cB(n={},e={}){var G2,N2,V2,Y2,o3,r3,y3,K2,C3,m3;const t=n&&typeof n=="object"&&Object.keys(n).length>0,i=Jn(n,P5.areaRange,e.areaRange),r=Jn(n,P5.yakNumber,e.yakNumber),a=Jn(n,P5.bearingCapacity,e.bearingCapacity),s=Jn(n,P5.livestockCapacity,e.livestockCapacity),o=Be(Jn(n,P5.overloadRate,e.overloadRate)),l=Be(e.yakNumber),c=dB(n,s,l),d=Be(i,(G2=e.areaRange)!=null?G2:0),f=c!==null&&r===(n==null?void 0:n.yak_number)?Be(Jn(n,["number","yakCount","yak_count","livestockCount","livestock_count"]),l!=null?l:Math.round(c/Yh.yakToSheepUnit)):Be(r,(N2=e.yakNumber)!=null?N2:0),p=Be(e.bearingCapacity),y=Be(e.livestockCapacity),w=i!=null&&i!=="",M=r!=null&&r!=="",P=(V2=Be(s))!=null?V2:c,D=Be(a),B=Fc(P,o),V=hB(D,B),Y=t?(r3=(o3=(Y2=P!=null?P:Dc(V,o))!=null?Y2:y)!=null?o3:Dc(p,o))!=null?r3:M?zy(f):null:(y3=y!=null?y:Dc(p,o))!=null?y3:M?zy(f):null,X=t?(C3=(K2=V!=null?V:Fc(Y,o))!=null?K2:p)!=null?C3:w?Uy(d):null:(m3=p!=null?p:Fc(Y,o))!=null?m3:w?Uy(d):null,P2=o!==null?y9(o,2):X&&Y!==null?y9((Y-X)/X*100,1):null,z2=M8(P2);return s3(W2(W2({},e),n),{key:e.key||n.key||n.id||n.areaCode||e.name,type:e.type||n.type||"town",name:Jn(n,P5.areaName,e.name||"核算对象"),areaCode:n.areaCode||n.area_code||n.areacode||e.areaCode,areaRange:d,yakNumber:f,bearingCapacity:X,livestockCapacity:Y,overloadRate:P2,level:P2===null?Jn(n,P5.level,z2.label):z2.label,advice:Jn(n,P5.advice,e.advice||z2.actions.join(";")),year:Jn(n,P5.year,e.year||"当前年度"),source:n.raw||n.source||e.source})}function dB(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","overloadrate","advice","balanceAdvice","balanceadvice","level","conclusion"].some(o=>n[o]!==void 0&&n[o]!==null&&n[o]!==""),a=Be(n.yak_number);if(!i||!r||a===null)return null;const s=Be(t);return s!==null&&s>0?a>s*1.5?a:null:a}function Fc(n,e){const t=Be(n),i=Be(e);return t===null||i===null||i<=-100?null:Math.round(t/(1+i/100))}function hB(n,e){return n===null?e:e===null?n:Math.abs(n-e)/Math.max(Math.abs(e),1)>.25?e:n}function Dc(n,e){const t=Be(n),i=Be(e);return t===null||i===null||i<=-100?null:Math.round(t*(1+i/100))}function fB(n={}){const e=Be(n.bearingCapacity),t=Be(n.livestockCapacity),i=Be(n.areaRange,0),r=Be(n.yakNumber,0),a=Be(n.overloadRate,e&&t!==null?(t-e)/e*100:null),s=e!==null&&t!==null?t-e:null,o=e&&t!==null?y9(t/e*100,1):null,l=M8(a),c=Math.round(r*Yh.yakToSheepUnit),d=c&&t!==null?y9(t/c,2):null,f=i&&e!==null?y9(e/i,4):null,p=Math.max(e||0,t||0,1);return{bearing:e,livestock:t,areaRange:i,yakNumber:r,yakSheepUnit:c,pressureFactor:d,bearingCoefficient:f,overloadRate:a===null?null:y9(a,2),delta:s,usageRate:o,risk:l,bearingPercent:e===null?4:Math.max(4,Math.min(100,y9(e/p*100,1))),livestockPercent:t===null?4:Math.max(4,Math.min(100,y9(t/p*100,1)))}}function mB(n={},e=M8(n.overloadRate)){const t=String(n.advice||"").trim(),i=t?t.split(/[。;;\n]/).map(l=>l.trim()).filter(Boolean):[],r=["提高放牧畜禽的密度","增加草地的利用率","密度不能过高"],a=["轻度超载","已出现超载","超载迹象","压减超载畜群规模"],s=["healthy","watch"].includes(e.key),o=i.filter(l=>r.some(c=>l.includes(c))||s&&a.some(c=>l.includes(c))?!1:s?!0:!r.some(c=>l.includes(c)));return[...e.actions||[],...o].filter((l,c,d)=>d.indexOf(l)===c).slice(0,4)}const z5=(n,e=2)=>{const t=v6(10,e);return Math.round((Number(n)||0)*t)/t},nS=(n,e)=>n.reduce((t,i)=>t+(Number(i[e])||0),0),$y=n=>z5((Number(n)||0)/1e4,2),gB=nS(Hh,"value"),pB=nS(G8,"yakCount"),Kh=mr,qh=z5(L9.grasslandArea/1e4,2),yB=z5(L9.wetArea/1e4,2),vB=177.92,_B=z5(Kh/Math.max(qh,1),1),bB=108.84,SB=159.33,wB=[{key:"yak-count",zh:"牦牛数量",name:"牦牛数量",value:Kh,unit:"头",decimals:0},{key:"grassland-area",zh:"草地面积",name:"草地面积",value:qh,unit:"万亩",decimals:2},{key:"wetland-area",zh:"湿地面积",name:"湿地面积",value:yB,unit:"万亩",decimals:2},{key:"woodland-area",zh:"林地面积",name:"林地面积",value:vB,unit:"万亩",decimals:2}];qO.map(n=>{const e=G8.find(r=>r.zoneName===n.zoneName)||{},t=$y(n.grasslandArea),i=$y(n.wetArea);return{key:n.zoneName,name:n.zoneName,grasslandArea:t,wetlandArea:i,yakCount:e.yakCount||0,resourceTotal:z5(t+i,2),density:z5((e.yakCount||0)/Math.max(t+i,1),1)}}).sort((n,e)=>e.yakCount-n.yakCount);G8.map(n=>({key:n.zoneName,name:n.zoneName,value:n.yakCount,unit:"头",percent:z5(n.yakCount/Math.max(pB,1)*100,1)})).sort((n,e)=>e.value-n.value);const Wy=Hh.map(n=>({key:n.label,name:n.label,value:n.value,unit:"头",yoy:n.yoy,percent:z5(n.value/Math.max(gB,1)*100,1)})),CB=Math.max(...Xb.map(n=>Number(n.value)||0),1);Xb.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:z5((Number(n.value)||0)/CB*100,1)}});var V_,H_;(V_=Wy[0])!=null&&V_.value,(H_=Wy[1])!=null&&H_.value,L9.baseCount+L9.projectCount;const Io=""+new URL("live-scene-1-786cdd0a-balabala-1783400325510.png",import.meta.url).href;const TB={class:"home-dashboard"},AB={class:"home-layer-tools"},xB={class:"home-layer-tree-panel"},EB={class:"home-layer-tree-list"},PB=["onClick"],MB={key:0,class:"home-layer-tree-children"},kB=["onClick"],RB={class:"home-layer-tree-legend"},IB=["disabled","title","onClick"],NB={class:"home-layer-legend-name"},LB={key:0,class:"home-layer-legend-check"},FB={key:1,class:"home-layer-tree-empty"},DB={class:"home-left"},OB={class:"home-side-stack is-left"},BB={class:"home-right"},GB={class:"home-side-stack is-right"},jB={key:0,class:"home-video-monitor"},zB=["disabled"],UB={key:0,class:"home-video-scan"},$B={key:1,class:"home-video-play"},WB={key:2,class:"home-video-loading"},VB={key:3,class:"home-video-error"},HB={class:"home-video-point-name"},YB=["disabled"],KB={key:1,class:"home-forecast-trend-card"},qB={class:"home-forecast-density-switcher","aria-label":"预测粒度切换"},XB=["onClick"],ZB={key:3,class:"home-balance-gauge-grid"},JB={class:"home-balance-gauge-head"},QB={class:"home-balance-gauge-ring"},eG={class:"home-balance-gauge-value"},tG={class:"home-balance-gauge-name"},nG={class:"home-balance-gauge-extra"},Vy=398,iG=128,rG=12,aG=8,sG=227,oG=12e3,lG={__name:"index",props:{active:{type:Boolean,default:!0}},emits:["module-stats","loading-progress","map-ready"],setup(n,{expose:e,emit:t}){const i=n,r=t,a=i3(null),s=i3(null),o=i3({}),l=new Map;let c=null,d=!1,f=null,p=null,y=null,w=!1,M=0,P=null,D=null,B="",V=!1;const Y=i3(0),X=i3([]),P2=i3(0),z2=i3("month"),G2=i3(!1),N2=i3(!1),V2=i3(""),Y2=`home-video-player-${Math.random().toString(36).slice(2)}`,o3=["#30dcff","#27f0c0","#ffd76c","#7aa7ff","#ff8f6b","#a6f06d"],r3=i3(typeof window=="undefined"?1080:window.innerHeight),y3=b2(()=>{const G=Math.max(1080,Number(r3.value)||1080),b=Math.floor((G-iG-aG-rG*3)/4);return Math.max(sG,b)}),K2=b2(()=>y3.value),C3=K2,m3=Jb("2028"),M3=[{key:"day",label:"日",unit:"日"},{key:"week",label:"周",unit:"周"},{key:"month",label:"月",unit:"月"}],N3=[...c4.map(({key:G,name:b,color:R})=>({key:G,name:b.replace("资源",""),color:R})),...Ib.map(({key:G,name:b,color:R})=>({key:G,name:"牦牛",color:R}))],q2=i3(""),u3=i3(""),_3=i3(""),L3=i3(""),F3=i3(null),K3=i3(!1),w2=i3(!1),a3=i3(null),k3=b2(()=>L2(q2.value)),J3=b2(()=>N3.map(G=>s3(W2({},G),{layers:L2(G.key)}))),Q3=b2(()=>_3.value&&k3.value.find(G=>G.key===_3.value)||null),l1=b2(()=>{var G;return((G=Q3.value)==null?void 0:G.legends)||[]}),c1=b2(()=>l1.value.filter(g2).length>1),B1=b2(()=>l1.value.length===1),y1=b2(()=>{var G;return(((G=Q3.value)==null?void 0:G.legends)||[]).find(b=>b.key===L3.value)||null}),b1=b2(()=>{var b;const G=Q3.value;return G?(b=y1.value)!=null&&b.cqlFilter?s3(W2({},G),{cqlFilter:y1.value.cqlFilter,activeLegend:y1.value,name:y1.value.name||G.name}):G:null}),O=b2(()=>!!a3.value),A1=b2(()=>{if(w2.value||K3.value||!F3.value)return 186;const G=j(F3.value);return Math.min(480,Math.max(300,86+Math.min(G,12)*34))}),I1=b2(()=>{if(!a3.value)return{};const G=460,b=A1.value,R=430,h2=430,B2=A(a3.value),U2=Math.min(Math.max(B2.x-G/2,R),1920-G-h2),g3=Math.min(Math.max(B2.y-b-36,188),1080-b-132);return{left:`${U2}px`,top:`${g3}px`,right:"auto",bottom:"auto"}}),F1=b2(()=>Q(w9.length)),S1=b2(()=>Q(vn.length)),H2=b2(()=>U(z2.value)),c2=b2(()=>N(m3,H2.value.key)),a2=b2(()=>Q(c2.value.labels.length)),i2=b2(()=>tS.filter(b=>b==null?void 0:b.name).map((b,R)=>({key:`home-balance-${b.areaCode||b.key||b.name}`,sourceIndex:R,name:b.name,value:b.overloadRate,unit:"%",status:b.level||"总体可控",extra:`载畜 ${S(b.livestockCapacity)}头`}))),A2=b2(()=>{const G=i2.value,b=3,R=G.length?Math.floor(Y.value/2)*b%G.length:0;return Array.from({length:Math.min(b,G.length)},(h2,B2)=>G[(R+B2)%G.length])}),n2=b2(()=>{const G=A2.value.length;return G?Y.value%G:0}),M2={key:"home-empty-video",title:"暂无在线可播放摄像头",town:"红原县",scene:"牧场监控",device:"",channel:"",cameraCount:0,status:"待接入",onlineRate:0,updateTime:"",operator:"等待在线摄像头",progress:0,image:Io,playUrl:"",hdPlayUrl:"",token:""},t3=b2(()=>{const G=X.value.length;return G?G2.value?P2.value%G:(Y.value+P2.value)%G:0}),A3=b2(()=>X.value[t3.value]||M2),J2=b2(()=>[D3("grassland","grassland-town"),D3("grassland","grassland-type-proportion"),D3("wetland","wetland-yield"),D3("woodland","woodland-type")].filter(Boolean).map((G,b)=>s1(G,`forest-grass-wet-${b}`))),T2=b2(()=>[{key:"home-video-monitor",title:"牧场实时监控",type:"video",height:C3.value,live:A3.value},{key:"yak-structure",title:"畜群结构占比",height:K2.value,option:D2.value},{key:"home-town-balance-gauge",title:"草畜平衡超载率",type:"gauge",height:K2.value,max:100,rows:A2.value},{key:"yak-forecast-trend",title:"未来存栏趋势",height:K2.value,option:E3.value}]),D2=b2(()=>gs({animation:!0,animationDuration:900,animationDurationUpdate:700,animationEasing:"cubicOut",color:o3,tooltip:ps(G=>`${G.name}<br/>占比:${G.percent}%<br/>估算数量:${S(G.value)}头`),legend:{orient:"vertical",right:0,top:"middle",itemWidth:8,itemHeight:8,itemGap:5,formatter(G){const b=w9.find(R=>R.name===G);return b?`${G} ${k(b.count)}头`:G},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:w9.map((G,b)=>({name:G.name,value:G.count,selected:b===F1.value}))}]}));b2(()=>gs({animation:!0,animationDuration:1100,animationDurationUpdate:900,animationEasing:"cubicOut",color:["#30dcff"],tooltip:s3(W2({},ps()),{trigger:"axis",axisPointer:{type:"shadow"},formatter(G){const b=vn[G[0].dataIndex];return`${b.label}<br/>预测存栏:${S(b.stock)}头`}}),grid:{left:50,right:18,top:16,bottom:24},xAxis:{type:"category",data:vn.map(G=>G.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(G){return Math.max(0,Math.floor(G.min/1e4)*1e4)},axisLabel:{color:"rgba(223, 250, 255, 0.58)",fontSize:10,margin:4,formatter:G=>m2(G,1)},splitLine:{lineStyle:{color:"rgba(48, 220, 255, 0.1)",type:"dashed"}}},series:[{name:"预测存栏",type:"bar",barWidth:24,data:vn.map((G,b)=>({value:G.stock,itemStyle:{borderRadius:[9,9,1,1],color:new at(0,0,0,1,[{offset:0,color:b===S1.value?"#ffd76c":"#30dcff"},{offset:.72,color:b===S1.value?"rgba(255, 215, 108, 0.7)":"rgba(48, 220, 255, 0.62)"},{offset:1,color:b===S1.value?"rgba(255, 215, 108, 0.1)":"rgba(48, 220, 255, 0.08)"}]),shadowBlur:b===S1.value?16:8,shadowColor:b===S1.value?"rgba(255, 215, 108, 0.56)":"rgba(48, 220, 255, 0.28)"}})),itemStyle:{borderRadius:[9,9,1,1],color:new at(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:G})=>m2(G)}}]}));const E3=b2(()=>{const G=H2.value,b=c2.value,R=v(b),h2=m(R.length,G.key);return gs({animation:!0,animationDuration:1200,animationDurationUpdate:900,animationEasing:"cubicOut",color:["#30dcff","#ffd76c","#ff8f6b"],tooltip:s3(W2({},ps()),{trigger:"axis",triggerOn:"mousemove|click",axisPointer:{type:"cross",crossStyle:{color:"rgba(126, 251, 246, 0.42)"},label:{color:"#eaffff",backgroundColor:"rgba(5, 31, 51, 0.96)"}},formatter(B2){var V3,z3,o1;const U2=Array.isArray(B2)?B2:[B2],g3=U2.find(T1=>T1.seriesType==="candlestick"),P3=(g3==null?void 0:g3.data)||R[(o1=(z3=g3==null?void 0:g3.dataIndex)!=null?z3:(V3=U2[0])==null?void 0:V3.dataIndex)!=null?o1:0];if(!P3)return"";const W3=P3.close-P3.open;return[`${P3.label}|${G.unit}度预测`,`预测存栏:${S(P3.close)}头`,`较上期:${x(W3)}头`,`繁殖补充:${S(P3.birth)}头`,`出栏扣减:${S(P3.outflow)}头`].join("<br/>")}}),legend:{top:2,right:2,data:["预测存栏","繁殖补充","出栏扣减"],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:!0,data:b.labels,axisLabel:{color:"rgba(223, 250, 255, 0.62)",fontSize:10,interval:h2},axisLine:{lineStyle:{color:"rgba(48, 220, 255, 0.28)"}},axisTick:{show:!1}},yAxis:[{type:"value",scale:!0,axisLabel:{color:"rgba(223, 250, 255, 0.58)",fontSize:10,formatter:k},splitLine:{lineStyle:{color:"rgba(48, 220, 255, 0.1)",type:"dashed"}}},{type:"value",axisLabel:{color:"rgba(223, 250, 255, 0.48)",fontSize:10,formatter:k},splitLine:{show:!1}}],series:[{name:"预测存栏",type:"candlestick",yAxisIndex:0,barWidth:g(R.length,G.key),data:R,itemStyle:{color:"rgba(48, 220, 255, 0.82)",color0:"rgba(255, 143, 107, 0.82)",borderColor:"#30dcff",borderColor0:"#ff8f6b",borderWidth:1.2}},{name:"预测存栏线",type:"line",yAxisIndex:0,smooth:!0,symbol:"circle",symbolSize:3,data:R.map((B2,U2)=>({value:B2.close,symbolSize:U2===a2.value?7:3,itemStyle:{color:U2===a2.value?"#ffffff":"#30dcff"}})),lineStyle:{width:1.6,color:"rgba(48, 220, 255, 0.86)"},itemStyle:{color:"#30dcff"},tooltip:{show:!1}},H0("繁殖补充",b.births,"#ffd76c",1,!1,a2.value),H0("出栏扣减",b.outflow,"#ff8f6b",1,!1,a2.value)]})});$n(()=>{r2(),window.addEventListener("resize",r2),document.addEventListener("pointerdown",R2,!0),r("module-stats",{moduleKey:"home",items:wB}),b3()}),Un(()=>{var G,b;d=!0,window.removeEventListener("resize",r2),document.removeEventListener("pointerdown",R2,!0),$0(),ie(),g1(),l.clear(),(b=(G=a.value)==null?void 0:G.destroyMap)==null||b.call(G)}),I0(t3,()=>{if(!G2.value&&!N2.value&&!y){V2.value="";return}$0({resetError:!0})}),I0(_3,()=>{L3.value="",x2()}),I0(L3,()=>{x2()}),I0(()=>i.active,G=>{var b,R,h2,B2;G?((R=(b=a.value)==null?void 0:b.resume)==null||R.call(b),r1(),V||z0()):((B2=(h2=a.value)==null?void 0:h2.pause)==null||B2.call(h2),ie(),g1(),$0({resetError:!0}))});function b3(){var G,b,R;c=new Gr,r("loading-progress",{progress:0}),(b=(G=c.instance)==null?void 0:G.on)==null||b.call(G,"onProgress",(h2,B2,U2)=>{r("loading-progress",{progress:Math.floor(B2/(U2||1)*100),path:h2,itemsLoaded:B2,itemsTotal:U2})}),(R=c.ready)==null||R.then(()=>n1()).catch(()=>{r("map-ready"),z0()})}function n1(G=0){return I3(this,null,function*(){var h2,B2,U2;if(d)return;yield _e();const b=a.value;if(!!((h2=b==null?void 0:b.loadMap)!=null&&h2.call(b,c)||(B2=b==null?void 0:b.hasMap)!=null&&B2.call(b))){r("loading-progress",{progress:100}),r("map-ready"),z0(),i.active&&((U2=b.play)==null||U2.call(b));return}if(G<24){window.setTimeout(()=>n1(G+1),120);return}r("map-ready"),z0()})}function w1(){var G,b,R,h2;(b=(G=a.value)==null?void 0:G.resume)==null||b.call(G),(h2=(R=a.value)==null?void 0:R.refreshView)==null||h2.call(R)}function O1(){var G,b;if(x2(),(b=(G=a.value)==null?void 0:G.hasMap)!=null&&b.call(G)){w1();return}_e(()=>{n1()})}e({refreshMapView:w1,resetMap:O1});function z0(){ie();const G=()=>{D=null,B="",!(d||!i.active)&&(V=!0,Z2(),a0(),i.active&&r1())};if(typeof window.requestIdleCallback=="function"){B="idle",D=window.requestIdleCallback(G,{timeout:1800});return}B="timeout",D=window.setTimeout(G,650)}function ie(){D&&(B==="idle"&&typeof window.cancelIdleCallback=="function"?window.cancelIdleCallback(D):window.clearTimeout(D),D=null,B="")}function d3(G,b){G&&(b?l.set(G,b):l.delete(G))}function Y3(G){s.value=G||null}function r1(){!i.active||d||(g1(),f=window.setInterval(J1,2600),p=window.setTimeout(J1,800))}function g1(){f&&(window.clearInterval(f),f=null),p&&(window.clearTimeout(p),p=null)}function J1(){d||!i.active||(p=null,Y.value+=1,G0(),Le(),s0())}function a0(){return I3(this,null,function*(){try{const G=yield Db();if(d)return;X.value=G,P2.value=0,V2.value=G.length?"":"暂无在线可播放摄像头"}catch(G){if(d)return;X.value=[],V2.value="监控接口暂不可用",window.setTimeout(()=>{V2.value==="监控接口暂不可用"&&(V2.value="")},2400)}})}function f1(G){const b=(G==null?void 0:G.image)||Io;return G2.value?void 0:{backgroundImage:`linear-gradient(180deg, rgba(0, 16, 26, 0.08), rgba(0, 16, 26, 0.32)), url(${b})`}}function Pe(){re(-1)}function vt(){re(1)}function re(G){const b=X.value.length;if(!b)return;$0({resetError:!0});const R=t3.value;P2.value=(R+G+b)%b,Y.value=0}function A0(G){const b=Math.max(0,Number((G==null?void 0:G.value)||0)),R=Math.max(5,...i2.value.map(h2=>Math.max(0,Number(h2.value||0))));return Math.max(6,Math.min(100,b/R*100))}function Ne(G){const b=Number(G==null?void 0:G.value),R=String((G==null?void 0:G.status)||(G==null?void 0:G.level)||"");return Number.isFinite(b)?b>20||/严重|重度|高超载/.test(R)?"#ff5a64":b>10||/中度|预警/.test(R)?"#ff9a5c":b>5||/轻度/.test(R)?"#ffe06b":b<=0||/总体可控|合理|正常|达标|无超载/.test(R)?"#24f6c4":"#30dcff":"#30dcff"}function B0(G){return{"--balance-color":Ne(G),"--balance-progress":`${A0(G)}%`}}function et(){return I3(this,null,function*(){var h2,B2;const G=A3.value;if(!(G!=null&&G.hdPlayUrl)||!(G!=null&&G.token)){V2.value="暂无在线可播放摄像头";return}if(G2.value||N2.value)return;P2.value=t3.value,Y.value=0,y&&$0({resetError:!0}),V2.value="",N2.value=!0,yield _e();const b=++M;let R=null;we(b);try{const U2=(B2=(h2=s.value)==null?void 0:h2.getBoundingClientRect)==null?void 0:B2.call(h2),g3=Math.max(300,Math.floor((U2==null?void 0:U2.width)||340)),P3=Math.max(80,Math.floor((U2==null?void 0:U2.height)||92));if(R=new hb.EZUIKitPlayer({id:Y2,accessToken:G.token,url:G.hdPlayUrl,audio:0,width:g3,height:P3,themeData:v0(),handleError(W3){b===M&&(W0(),console.warn("EZUIKit player error",W3),V2.value="视频加载失败",N2.value=!1,G2.value=!1,M+=1,y=null,w=!1,fe())},handleSuccess(){b===M&&(W0(),V2.value="",w=!0,N2.value=!1)},fullScreenChangeCallBack(){}}),b!==M){V0(R),fe();return}y=R,G2.value=!0}catch(U2){W0(),console.warn("EZUIKit init error",U2),V2.value="视频加载失败",$0()}})}function $0(G={}){const{clearElement:b=!0,resetError:R=!1}=G;W0();const h2=y,B2=w;y=null,w=!1,M+=1,B2&&V0(h2),b&&fe(),G2.value=!1,N2.value=!1,R&&(V2.value="")}function we(G){W0(),P=window.setTimeout(()=>{G!==M||!N2.value||(V2.value="视频加载超时",$0({resetError:!1}))},oG)}function W0(){P&&(window.clearTimeout(P),P=null)}function V0(G){if(!(!G||typeof G.stop!="function"))try{const b=G.stop();b&&typeof b.catch=="function"&&b.catch(()=>{})}catch(b){console.warn("EZUIKit stop error",b)}}function fe(){if(typeof document=="undefined")return;const G=document.getElementById(Y2);G&&G.replaceChildren()}function v0(){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 G0(){const G=l.get("yak-structure");on(G,"畜群结构",F1.value)}function Le(){const G=l.get("yak-three-year-forecast");on(G,"预测存栏",S1.value)}function s0(){const G=l.get("yak-forecast-trend");on(G,"预测存栏",a2.value)}function on(G,b,R){const h2=typeof(G==null?void 0:G.dispatchAction)=="function"?G:G==null?void 0:G.chart;!h2||R<0||(h2.dispatchAction({type:"downplay",seriesName:b}),h2.dispatchAction({type:"hideTip"}),h2.dispatchAction({type:"highlight",seriesName:b,dataIndex:R}),h2.dispatchAction({type:"showTip",seriesName:b,dataIndex:R}))}function Q(G){return G?Y.value%G:0}function Z2(){return I3(this,null,function*(){const[G,b,R]=yield Promise.all([oo("grassland","grassland-distribution"),oo("wetland","wetland-distribution"),oo("woodland","woodland-distribution")]);d||(o.value={grassland:G,wetland:b,woodland:R})})}function D3(G,b){const R=o.value[G];return[...(R==null?void 0:R.leftPanels)||[],...(R==null?void 0:R.rightPanels)||[]].find(B2=>(B2==null?void 0:B2.key)===b)}function s1(G,b){const R={"wetland-yield":"湿地生产力"};if(R[G.key])return s3(W2({},G),{key:`home-${b}-${G.key}`,height:y3.value,option:v1(G,R[G.key])});const B2={"woodland-type":{type:"structure",variant:void 0}}[G.key]||{};return s3(W2(W2({},G),B2),{key:`home-${b}-${G.key}`,height:y3.value})}function v1(G,b){var W3;const R=(G.rows||[]).filter(V3=>Number.isFinite(Number(V3.value))).slice(0,10),h2=((W3=R.find(V3=>V3.unit))==null?void 0:W3.unit)||"万亩",B2=R.map(V3=>Number(V3.value)||0),U2=Math.max(...B2,1),g3=Math.ceil(U2*1.08),P3=C1(G.key);return gs({animation:!0,animationDuration:1e3,animationDurationUpdate:800,animationEasing:"cubicOut",tooltip:s3(W2({},ps()),{trigger:"axis",axisPointer:{type:"shadow",shadowStyle:{color:"rgba(48, 220, 255, 0.08)"}},formatter(V3){var E2;const z3=Array.isArray(V3)?V3:[V3],o1=z3.find(c3=>c3.seriesName===b)||z3[0],T1=R[(E2=o1==null?void 0:o1.dataIndex)!=null?E2:0];return T1?`${T1.name}<br/>${b}:${S(T1.value)}${T1.unit||h2}`:""}}),grid:{left:24,right:14,top:26,bottom:58,containLabel:!1},graphic:[{type:"text",right:8,top:3,style:{text:`单位:${h2}`,fill:"rgba(224, 246, 255, 0.72)",fontSize:11,fontWeight:600}}],xAxis:{type:"category",data:R.map(V3=>V3.name),axisLabel:{interval:0,hideOverlap:!1,color:"rgba(226, 250, 255, 0.82)",fontSize:11,lineHeight:13,margin:8,formatter:d2},axisLine:{show:!1},axisTick:{show:!1}},yAxis:{type:"value",min:0,max:g3,axisLabel:{show:!1},axisLine:{show:!1},axisTick:{show:!1},splitLine:{lineStyle:{color:"rgba(48, 220, 255, 0.1)"}}},series:[{name:"上限",type:"bar",silent:!0,barWidth:13,barGap:"-100%",data:R.map(()=>g3),itemStyle:{borderRadius:[8,8,3,3],color:new at(0,0,0,1,[{offset:0,color:"rgba(48, 220, 255, 0.18)"},{offset:1,color:"rgba(48, 220, 255, 0.03)"}])},tooltip:{show:!1},z:1},{name:b,type:"bar",barWidth:13,data:R.map((V3,z3)=>({value:Number(V3.value)||0,itemStyle:{borderRadius:[8,8,3,3],color:new at(0,0,0,1,[{offset:0,color:P3[z3%P3.length].top},{offset:.72,color:P3[z3%P3.length].bottom},{offset:1,color:"rgba(24, 114, 185, 0.22)"}]),shadowBlur:10,shadowColor:P3[z3%P3.length].shadow}})),label:{show:!1},emphasis:{itemStyle:{shadowBlur:18}},z:3},{name:"柱顶",type:"pictorialBar",symbol:"circle",symbolSize:[15,6],symbolOffset:[0,-2],symbolPosition:"end",data:R.map((V3,z3)=>({value:Number(V3.value)||0,itemStyle:{color:P3[z3%P3.length].cap,opacity:.9,shadowBlur:8,shadowColor:P3[z3%P3.length].capShadow}})),tooltip:{show:!1},z:4}]})}function C1(G){return G==="grassland-town"?[{top:"#9BEA55",bottom:"#29DFA7",shadow:"rgba(41, 223, 167, 0.4)",cap:"#9BEA55",capShadow:"rgba(155, 234, 85, 0.52)"},{top:"#7FEA6A",bottom:"#24D5C0",shadow:"rgba(36, 213, 192, 0.4)",cap:"#7FEA6A",capShadow:"rgba(127, 234, 106, 0.52)"},{top:"#B6E84C",bottom:"#47D982",shadow:"rgba(71, 217, 130, 0.4)",cap:"#B6E84C",capShadow:"rgba(182, 232, 76, 0.52)"}]:["#24f6c4","#32dcff","#ffe06b","#7ee269","#ff9a62","#9ea7ff"].map(b=>({top:b,bottom:"rgba(50, 220, 255, 0.12)",shadow:`${b}66`,cap:b,capShadow:`${b}88`}))}function u0(G){return String((G==null?void 0:G.key)||"").includes("grassland-town")}function H0(G,b,R,h2=0,B2=!1,U2=-1){return{name:G,type:"line",yAxisIndex:h2,smooth:!0,symbolSize:5,data:b.map((g3,P3)=>({value:g3,symbolSize:P3===U2?10:5,itemStyle:{color:P3===U2?"#ffffff":R},label:{show:P3===U2,position:"top",color:R,fontSize:10,formatter:({value:W3})=>k(W3)}})),lineStyle:{width:2.4,color:R},itemStyle:{color:R},areaStyle:B2?{color:new at(0,0,0,1,[{offset:0,color:`${R}44`},{offset:1,color:`${R}05`}])}:void 0}}function U(G){return M3.find(b=>b.key===G)||M3[2]}function N(G,b="month"){if(b==="month")return Qb(G);const R=Math.max(1,Math.round(Number(G.months||0)*30)),h2=b==="week"?7:1,B2=Math.ceil(R/h2)+1,U2=Array.from({length:B2},(V3,z3)=>{const o1=Math.min(R,z3*h2);return z3===0?"2026-06":o1>=R?G.label:b==="week"?`第${z3}周`:`第${o1}日`}),g3=U2.map((V3,z3)=>{const T1=Math.min(R,z3*h2)/R,E2=Math.sin(z3/(b==="week"?1.8:8.5))*Math.sin(Math.PI*T1)*Math.min(360,G.months*18);return Math.round(Ct+(G.stock-Ct)*T1+E2)}),P3=U2.map((V3,z3)=>Math.round(G.births*(Math.min(R,z3*h2)/R))),W3=U2.map((V3,z3)=>Math.round(G.outflow*(Math.min(R,z3*h2)/R)));return{labels:U2,stock:g3,births:P3,outflow:W3}}function m(G,b){return b==="day"?Math.max(10,Math.ceil(G/6)):b==="week"?Math.max(2,Math.ceil(G/7)):G>24?4:G>14?2:1}function g(G,b){return b==="day"?G>700?2:G>360?3:4:b==="week"?G>110?4:6:G>24?7:10}function v(G){return(G.labels||[]).map((b,R)=>{var z3,o1,T1,E2,c3,S3;const h2=Number(((z3=G.stock)==null?void 0:z3[Math.max(R-1,0)])||0),B2=Number(((o1=G.stock)==null?void 0:o1[R])||h2),U2=Math.max(0,Number(((T1=G.births)==null?void 0:T1[R])||0)-Number(((E2=G.births)==null?void 0:E2[Math.max(R-1,0)])||0)),g3=Math.max(0,Number(((c3=G.outflow)==null?void 0:c3[R])||0)-Number(((S3=G.outflow)==null?void 0:S3[Math.max(R-1,0)])||0)),P3=Math.max(120,Math.round((U2+g3)*.18)),W3=Math.max(h2,B2)+Math.max(P3,Math.round(U2*.32)),V3=Math.max(0,Math.min(h2,B2)-Math.max(P3,Math.round(g3*.32)));return{label:b,open:h2,close:B2,low:V3,high:W3,birth:U2,outflow:g3,value:[h2,B2,V3,W3]}})}function S(G){const b=Number(G);return Number.isFinite(b)?b.toLocaleString("zh-CN",{maximumFractionDigits:Number.isInteger(b)?0:2}):"--"}function x(G){const b=Number(G);return Number.isFinite(b)?`${b>0?"+":""}${S(b)}`:"--"}function k(G){const b=Number(G);return Number.isFinite(b)?Math.abs(b)>=1e4?`${(b/1e4).toFixed(Math.abs(b)>=1e5?0:1)}万`:Math.round(b).toLocaleString("zh-CN"):"--"}function m2(G,b=2){const R=Number(G);return Number.isFinite(R)?Math.abs(R)>=1e4?`${(R/1e4).toFixed(b)}万`:Math.round(R).toLocaleString("zh-CN"):"--"}function t2(G){return String(G||"").split("").join(`
`)}function d2(G){const b=String(G||"").replace(/\s+/g,"").slice(0,3);return t2(b)}function Z(G){q2.value=G,_3.value="",L3.value=""}function W(G){if(u3.value===G){u3.value="";return}u3.value=G,q2.value!==G&&Z(G)}function L2(G){const b=bl(G);return G!=="yak-industry-chain"?b:b.filter(R=>R.key==="yak-recognition-layer")}function y2(G){_3.value=_3.value===G?"":G}function p2(G){O2(G)&&(L3.value=L3.value===G.key?"":G.key)}function g2(G){return(G==null?void 0:G.selectable)===!1?!1:!!(G!=null&&G.key&&(G.cqlFilter||G.rankingValueKey))}function O2(G){return c1.value&&g2(G)}function r2(){r3.value=typeof window=="undefined"?1080:window.innerHeight}function A(G){const b=document.querySelector(".home-dashboard"),R=b==null?void 0:b.getBoundingClientRect();return!(R!=null&&R.width)||!(R!=null&&R.height)?G:{x:(G.x-R.left)/R.width*1920,y:(G.y-R.top)/R.height*1080}}function j(G){var B2;const b=(G==null?void 0:G.properties)||{},R=Object.keys(b).filter(U2=>{const g3=b[U2];if(g3==null||g3==="")return!1;const P3=U2.toLowerCase();return!(["geom","wkt","geometry","the_geom","shape_leng","shape_length","length","perimeter"].includes(P3)||["gid","id","objectid","object_id","fid","key_uid","bsm","ysdm"].includes(P3))}),h2=!!((B2=G==null?void 0:G.feature)!=null&&B2.geometry||G!=null&&G.geometry);return R.length+(h2?1:0)}function H(G){var R,h2;const b=(h2=(R=G==null?void 0:G.feature)!=null?R:G)!=null?h2:null;if(!b){x2();return}F3.value=b,K3.value=!1,G!=null&&G.screen&&(a3.value=G.screen)}function x2(){var G,b;F3.value=null,K3.value=!1,a3.value=null,(b=(G=a.value)==null?void 0:G.clearSelectedFeature)==null||b.call(G)}function R2(G){if(!O.value)return;const b=document.querySelector(".home-map-feature-info"),R=G.target;b&&R instanceof Node&&b.contains(R)||x2()}return(G,b)=>(K(),e2("div",TB,[e1(Br,{ref_key:"mapSceneRef",ref:a,class:"home-map-scene","active-layer":b1.value,"admin-boundary-line-scale":2.4,onFeatureLoading:b[0]||(b[0]=R=>w2.value=R),onFeatureInfo:H},null,8,["active-layer"]),b[5]||(b[5]=C("div",{class:"home-map-scrim"},null,-1)),C("div",AB,[e1(K1,{title:"图层控制",width:248,height:430},{default:j1(()=>[C("div",xB,[C("div",EB,[(K(!0),e2(B3,null,q3(J3.value,R=>(K(),e2("div",{key:R.key,class:t1(["home-layer-tree-group",{"is-open":R.key===u3.value}])},[C("button",{class:t1(["home-layer-tree-parent",{"is-active":R.key===q2.value}]),type:"button",onClick:h2=>W(R.key)},[C("span",null,S2(R.name),1),b[1]||(b[1]=C("i",null,null,-1))],10,PB),R.key===u3.value?(K(),e2("div",MB,[(K(!0),e2(B3,null,q3(R.layers,h2=>(K(),e2("button",{key:h2.key,class:t1(["home-layer-tree-child",{"is-active":h2.key===_3.value}]),type:"button",onClick:B2=>y2(h2.key)},[C("span",null,S2(h2.name),1),b[2]||(b[2]=C("i",null,null,-1))],10,kB))),128))])):G3("",!0)],2))),128))]),C("div",RB,[b[3]||(b[3]=C("div",{class:"home-layer-tree-title"},"图例",-1)),l1.value.length?(K(),e2("div",{key:0,class:t1(["home-layer-legend-grid",{"is-single":B1.value}])},[(K(!0),e2(B3,null,q3(l1.value,R=>(K(),e2("button",{key:R.key||R.name,class:t1(["home-layer-legend-row",{"is-selected":O2(R)&&R.key===L3.value,"is-checkable":O2(R),"is-disabled":!O2(R)}]),type:"button",disabled:!O2(R),title:R.name,onClick:h2=>p2(R)},[C("span",{class:"home-layer-legend-swatch",style:R1({backgroundColor:R.fillColor,borderColor:R.strokeColor||R.fillColor})},null,4),C("span",NB,S2(R.name),1),O2(R)?(K(),e2("i",LB)):G3("",!0)],10,IB))),128))],2)):(K(),e2("div",FB,"选择图层后显示图例"))])])]),_:1})]),O.value?(K(),e2("div",{key:0,class:"home-map-feature-info",style:R1(I1.value)},[e1(wl,{feature:F3.value,empty:K3.value,loading:w2.value,width:460,height:A1.value},null,8,["feature","empty","loading","height"])],4)):G3("",!0),C("div",DB,[C("div",OB,[(K(!0),e2(B3,null,q3(J2.value,R=>(K(),te(K1,{key:R.key,class:"home-card left-card",title:R.title,width:Vy,height:R.height},{default:j1(()=>[R.option?(K(),te(O0(Oe),{key:0,ref_for:!0,ref:h2=>d3(R.key,h2),class:"home-chart home-town-column-chart",option:R.option,autoresize:!0},null,8,["option"])):(K(),te(bn,{key:1,panel:R,compact:"","column-label-standard":u0(R)},null,8,["panel","column-label-standard"]))]),_:2},1032,["title","height"]))),128))])]),C("div",BB,[C("div",GB,[(K(!0),e2(B3,null,q3(T2.value,R=>(K(),te(K1,{key:R.key,class:t1(["home-card","right-card",{"home-video-card":R.type==="video"}]),title:R.title,width:Vy,height:R.height},{default:j1(()=>[R.type==="video"?(K(),e2("div",jB,[C("button",{class:"home-video-nav home-video-prev",type:"button","aria-label":"上一路监控",disabled:X.value.length<=1,onClick:Pe},"‹",8,zB),(K(),e2("div",{key:R.live.key,ref_for:!0,ref:Y3,class:t1(["home-video-screen",{"is-playing":G2.value,"is-loading":N2.value}]),style:R1(f1(R.live)),onClick:et},[C("div",{id:Y2,class:"home-video-player"}),G2.value?G3("",!0):(K(),e2("div",UB)),!G2.value&&R.live.hdPlayUrl?(K(),e2("div",$B)):G3("",!0),N2.value?(K(),e2("div",WB,"加载中")):G3("",!0),V2.value?(K(),e2("div",VB,S2(V2.value),1)):G3("",!0),C("div",HB,S2(R.live.title),1)],6)),C("button",{class:"home-video-nav home-video-next",type:"button","aria-label":"下一路监控",disabled:X.value.length<=1,onClick:vt},"›",8,YB)])):R.key==="yak-forecast-trend"?(K(),e2("div",KB,[C("div",qB,[(K(),e2(B3,null,q3(M3,h2=>C("button",{key:h2.key,type:"button",class:t1({active:h2.key===z2.value}),onClick:B2=>z2.value=h2.key},S2(h2.label),11,XB)),64))]),e1(O0(Oe),{ref_for:!0,ref:h2=>d3(R.key,h2),class:"home-chart home-forecast-kline-chart",option:R.option,autoresize:!0},null,8,["option"])])):R.option?(K(),te(O0(Oe),{key:2,ref_for:!0,ref:h2=>d3(R.key,h2),class:"home-chart",option:R.option,autoresize:!0},null,8,["option"])):R.key==="home-town-balance-gauge"?(K(),e2("div",ZB,[(K(!0),e2(B3,null,q3(A2.value,(h2,B2)=>(K(),e2("div",{key:h2.key,class:t1(["home-balance-gauge-card",{"is-active":B2===n2.value}]),style:R1(B0(h2))},[C("div",JB,[C("strong",null,S2(h2.status),1)]),C("div",QB,[C("div",eG,[C("strong",null,S2(S(h2.value)),1),b[4]||(b[4]=C("em",null,"%",-1))])]),C("div",tG,S2(h2.name),1),C("div",nG,S2(h2.extra),1)],6))),128))])):(K(),te(bn,{key:4,panel:R,compact:"","column-label-standard":u0(R)},null,8,["panel","column-label-standard"]))]),_:2},1032,["class","title","height"]))),128))])])]))}},uG="/jsyApi/api/map/ndvi_timeline";function cG(){return I3(this,null,function*(){const n=yield fetch(uG,{credentials:"include",headers:{Accept:"application/json"}});if(!n.ok){const i=new Error(`HTTP ${n.status}`);throw i.status=n.status,i}const e=yield n.json().catch(()=>({}));if((e==null?void 0:e.code)===401||(e==null?void 0:e.code)==="401"){const i=new Error((e==null?void 0:e.msg)||(e==null?void 0:e.message)||"NDVI 时间轴未授权");throw i.status=401,i}const t=Array.isArray(e==null?void 0:e.data)?e.data:Array.isArray(e)?e:[];return dG(t)})}function dG(n=[]){const e=new Set;return n.map((t,i)=>{const r=hG(Hy(t,["url","layerName","layer_name","layer","name"]));if(!r)return null;const a=Hy(t,["date","month","time","label"])||r,s=fG(a);return{key:`${r}-${a||i}`,label:s,date:String(a),layerName:r,source:t}}).filter(Boolean).filter(t=>e.has(t.key)?!1:(e.add(t.key),!0))}function Hy(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 hG(n){const e=String(n||"").trim();return e?e.includes(":")||/^https?:\/\//i.test(e)?e:`ne:${e}`:""}function fG(n){const e=String(n||"").trim();if(!e)return"";const t=e.match(/(\d{4})[-_/年. ]?(0?[1-9]|1[0-2])(?:月)?/);return t?`${t[1]}.${String(Number(t[2])).padStart(2,"0")}`:e}const mG={class:"topic-switcher"},gG={class:"topic-switcher-menu"},pG=["onPointerup","onClick"],yG={class:"topic-title"},vG={key:0},Al={__name:"TopicSwitcher",props:{modelValue:{type:String,required:!0},topics:{type:Array,default:()=>c4}},emits:["update:modelValue"],setup(n,{emit:e}){const t=n,i=e;let r="",a=0;const s=b2(()=>{var l;return(l=t.topics)!=null&&l.length?t.topics:c4});function o(l,c){var f,p;if((p=(f=l.currentTarget)==null?void 0:f.blur)==null||p.call(f),c===t.modelValue)return;const d=Date.now();l.type==="click"&&r===c&&d-a<450||(l.type==="pointerup"&&(r=c,a=d),i("update:modelValue",c))}return(l,c)=>(K(),e2("div",mG,[c[0]||(c[0]=C("div",{class:"topic-switcher-arrow"},[C("img",{src:_o,alt:""}),C("img",{src:bo,alt:""})],-1)),C("div",gG,[(K(!0),e2(B3,null,q3(s.value,d=>(K(),e2("button",{key:d.key,class:t1(["topic-switcher-item",{"is-active":d.key===n.modelValue}]),style:R1({"--topic-color":d.color,"--topic-item-width":d.width?`${d.width}px`:void 0}),type:"button",onPointerup:f=>o(f,d.key),onClick:f=>o(f,d.key)},[C("span",{class:t1(["topic-name",{"has-sub-name":d.subName}])},[C("span",yG,S2(d.name),1),d.subName?(K(),e2("small",vG,S2(d.subName),1)):G3("",!0)],2)],46,pG))),128))]),c[1]||(c[1]=C("div",{class:"topic-switcher-arrow is-reverse"},[C("img",{src:_o,alt:""}),C("img",{src:bo,alt:""})],-1))]))}};const _G={key:0,class:"layer-panel-list"},bG=["onClick"],SG={key:0,class:"layer-panel-empty"},wG={class:"layer-panel-legend"},CG=["disabled","title","onClick"],TG={class:"legend-name"},AG={key:0,class:"legend-check"},xG={key:1,class:"layer-panel-empty is-legend"},Xh={__name:"LayerPanel",props:{topicKey:{type:String,required:!0},modelValue:{type:[String,Array],default:""},legends:{type:Array,default:()=>[]},selectedLegendKey:{type:String,default:""},height:{type:Number,default:0},width:{type:Number,default:232},layers:{type:Array,default:null},legendOnly:{type:Boolean,default:!1},multiple:{type:Boolean,default:!1}},emits:["update:modelValue","update:selectedLegendKey"],setup(n,{emit:e}){const t=n,i=e,r=b2(()=>Array.isArray(t.layers)?t.layers:bl(t.topicKey)),a=b2(()=>Array.isArray(t.legends)?t.legends:[]),s=b2(()=>Array.isArray(t.modelValue)?t.modelValue.map(String).filter(Boolean):t.modelValue?[String(t.modelValue)]:[]),o=b2(()=>a.value.filter(y).length>1),l=b2(()=>a.value.length===1),c=b2(()=>t.height?t.height:430);function d(M,P){var D,B;if((B=(D=M.currentTarget)==null?void 0:D.blur)==null||B.call(D),t.multiple){const V=new Set(s.value);V.has(P)?V.delete(P):V.add(P),i("update:modelValue",Array.from(V));return}i("update:modelValue",t.modelValue===P?"":P)}function f(M){return s.value.includes(String(M))}function p(M,P){var D,B;(B=(D=M.currentTarget)==null?void 0:D.blur)==null||B.call(D),w(P)&&i("update:selectedLegendKey",t.selectedLegendKey===P.key?"":P.key)}function y(M){return(M==null?void 0:M.selectable)===!1?!1:!!(M!=null&&M.key&&(M.cqlFilter||M.rankingValueKey))}function w(M){return o.value&&y(M)}return(M,P)=>(K(),te(K1,{title:n.legendOnly?"图例":"图层控制",width:n.width,height:c.value},{default:j1(()=>[C("div",{class:t1(["layer-panel",{"is-legend-only":n.legendOnly}])},[n.legendOnly?G3("",!0):(K(),e2("div",_G,[(K(!0),e2(B3,null,q3(r.value,D=>(K(),e2("button",{key:D.key,class:t1(["layer-panel-item",{"is-active":f(D.key),"is-checked":f(D.key)}]),type:"button",onMousedown:P[0]||(P[0]=lt(()=>{},["prevent"])),onClick:B=>d(B,D.key)},[C("span",null,S2(D.name),1),P[2]||(P[2]=C("i",null,null,-1))],42,bG))),128)),r.value.length?G3("",!0):(K(),e2("div",SG,"暂无图层配置"))])),C("div",wG,[P[3]||(P[3]=C("div",{class:"layer-panel-section-title"},"图例",-1)),a.value.length?(K(),e2("div",{key:0,class:t1(["layer-panel-legend-grid",{"is-single":l.value}])},[(K(!0),e2(B3,null,q3(a.value,D=>(K(),e2("button",{key:D.key||D.name,class:t1(["layer-panel-legend-row",{"is-selected":w(D)&&D.key===n.selectedLegendKey,"is-checkable":w(D),"is-disabled":!w(D)}]),type:"button",disabled:!w(D),title:D.name,onMousedown:P[1]||(P[1]=lt(()=>{},["prevent"])),onClick:B=>p(B,D)},[C("span",{class:"legend-swatch",style:R1({backgroundColor:D.fillColor,borderColor:D.strokeColor||D.fillColor})},null,4),C("span",TG,S2(D.name),1),w(D)?(K(),e2("i",AG)):G3("",!0)],42,CG))),128))],2)):(K(),e2("div",xG,"暂无图例"))])],2)]),_:1},8,["title","width","height"]))}};const EG={class:"grassland-ndvi-timeline-head"},PG={key:0,class:"grassland-ndvi-timeline-state"},MG={key:1,class:"grassland-ndvi-timeline-state"},kG={key:2,class:"grassland-ndvi-timeline-body"},RG=["aria-checked","title","onClick"],IG={class:"grassland-ndvi-timeline-label"},NG=42,LG=28,FG={__name:"GrasslandNdviTimeline",props:{items:{type:Array,default:()=>[]},modelValue:{type:String,default:""},loading:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(n,{emit:e}){const t=n,i=e,r=b2(()=>t.items.findIndex(B=>B.key===t.modelValue)),a=b2(()=>r.value===-1?Math.max(0,t.items.length-1):r.value),s=b2(()=>t.items[a.value]||null),o=b2(()=>t.loading?"加载中":"未选择"),l=b2(()=>t.items.length>7),c=b2(()=>l.value?LG:NG),d=b2(()=>M(a.value)),f=b2(()=>P(a.value));function p(B){if(!t.items.length)return;const V=Math.min(t.items.length-1,Math.max(0,a.value+B));i("update:modelValue",t.items[V].key)}function y(B){!B||B.key===t.modelValue||i("update:modelValue",B.key)}function w(B){return!t.items.length||B<0?0:t.items.length===1?.5:B/(t.items.length-1)}function M(B){const V=w(B),Y=D(V*100),X=c.value*(1-V*2);return`calc(${Y}% ${X<0?"-":"+"} ${D(Math.abs(X))}px)`}function P(B){const V=w(B);return V<=0?"0px":`calc(${D(V*100)}% - ${D(c.value*2*V)}px)`}function D(B){return Number(B.toFixed(4)).toString()}return(B,V)=>{var Y;return K(),e2("div",{class:t1(["grassland-ndvi-timeline",{"is-dense":l.value}])},[C("div",EG,[V[2]||(V[2]=C("span",null,"草地健康/退化",-1)),C("strong",null,S2(((Y=s.value)==null?void 0:Y.label)||o.value),1)]),n.loading?(K(),e2("div",PG,"加载月份数据")):n.items.length?(K(),e2("div",kG,[C("button",{class:"grassland-ndvi-timeline-nav",type:"button",title:"上一期",onClick:V[0]||(V[0]=X=>p(-1))},"‹"),C("div",{class:"grassland-ndvi-timeline-track",style:R1({"--timeline-active-left":d.value,"--timeline-fill-width":f.value,"--timeline-edge-offset":`${c.value}px`}),role:"radiogroup","aria-label":"草地健康退化月份"},[V[4]||(V[4]=C("div",{class:"grassland-ndvi-timeline-line"},null,-1)),V[5]||(V[5]=C("div",{class:"grassland-ndvi-timeline-fill"},null,-1)),V[6]||(V[6]=C("div",{class:"grassland-ndvi-timeline-thumb"},[C("i")],-1)),(K(!0),e2(B3,null,q3(n.items,(X,P2)=>{var z2,G2;return K(),e2("button",{key:X.key,class:t1(["grassland-ndvi-timeline-mark",{"is-active":X.key===((z2=s.value)==null?void 0:z2.key),"is-past":P2<=a.value,"is-staggered":l.value&&P2%2===1}]),type:"button",role:"radio","aria-checked":X.key===((G2=s.value)==null?void 0:G2.key),style:R1({left:M(P2)}),title:X.date,onClick:N2=>y(X)},[V[3]||(V[3]=C("span",{class:"grassland-ndvi-timeline-tick"},null,-1)),C("span",IG,S2(X.label),1)],14,RG)}),128))],4),C("button",{class:"grassland-ndvi-timeline-nav",type:"button",title:"下一期",onClick:V[1]||(V[1]=X=>p(1))},"›")])):(K(),e2("div",MG,"暂无月份数据"))],2)}}},DG=Dr(FG,[["__scopeId","data-v-866f7016"]]);const OG={class:"forest-grass-wet"},BG={class:"forest-grass-wet-ui",id:"forest-grass-wet-ui"},GG={class:"fgw-left"},jG={class:"fgw-side-stack is-left"},zG={class:"fgw-right"},UG={class:"fgw-side-stack is-right"},$G={class:"fgw-map-layer-tools"},WG={key:0,class:"fgw-ndvi-timeline"},VG={class:"fgw-bottom-topic"},HG={key:0,class:"loading"},YG={class:"loading-progress"},KG={class:"value"},qG=128,XG=12,ZG=8,JG=227,QG={__name:"index",props:{showLoading:{type:Boolean,default:!0},active:{type:Boolean,default:!0}},emits:["topic-stats"],setup(n,{expose:e,emit:t}){const i=n,r=t,a=i3(null),s=i3(c4[0].key),o=i3(""),l=i3([]),c=i3("idle"),d=i3(!1),f=i3({title:"业务统计",rows:[]}),p=i3({title:"业务统计",rows:[]}),y=i3([]),w=i3([]),M=i3(null),P=i3(""),D=i3(null),B=i3(!1),V=i3(!1),Y=i3(null),X=i3(0),P2=i3(i.showLoading),z2=i3([]),G2=i3("idle"),N2=i3(""),V2=i3({type:"idle",text:"等待 GeoServer 图层加载"});let Y2=null,o3=!1,r3=!1,y3=!1,K2=null,C3=0,m3=0,M3=0,N3=!1,q2=!1;const u3=new Set(["grassland-distribution","wetland-distribution","woodland-distribution","woodland-protection","woodland-type","woodland-quality","woodland-ownership"]);b2(()=>yy(s.value));const _3=b2(()=>o.value?Sl(s.value,o.value):null),L3=b2(()=>s.value==="grassland"&&o.value==="grassland-health"),F3=b2(()=>L3.value),K3=b2(()=>z2.value.find(d3=>d3.key===N2.value)||null),w2=b2(()=>{var d3;return(((d3=_3.value)==null?void 0:d3.legends)||[]).find(Y3=>Y3.key===P.value)||null}),a3=b2(()=>{var g1;const d3=_3.value;if(!d3)return d3;const Y3=(g1=w2.value)!=null&&g1.cqlFilter?s3(W2({},d3),{cqlFilter:w2.value.cqlFilter,activeLegend:w2.value,name:w2.value.name||d3.name}):d3,r1=K3.value;return!L3.value||!(r1!=null&&r1.layerName)?Y3:s3(W2({},Y3),{layerName:r1.layerName,name:`${d3.name} ${r1.label}`,timelineDate:r1.label,timelineItem:r1})}),k3=i3(typeof window=="undefined"?1080:window.innerHeight),J3=b2(()=>{const d3=Math.max(1080,Number(k3.value)||1080),Y3=Math.floor((d3-qG-ZG-XG*3)/4);return Math.max(JG,Y3)}),Q3=b2(()=>12),l1=b2(()=>J3.value*2+Q3.value),c1=b2(()=>!!Y.value),B1=b2(()=>{if(V.value||B.value||!D.value)return 186;const d3=T2(D.value);return Math.min(480,Math.max(300,86+Math.min(d3,12)*34))}),y1=b2(()=>{if(!Y.value)return{};const d3=460,Y3=B1.value,r1=24,g1=b1(Y.value),J1=g1.x>1420?-d3-28:28,a0=Math.min(Math.max(g1.x+J1,r1),1920-d3-r1),f1=Math.min(Math.max(g1.y-Y3-72,188),1080-Y3-132);return{left:`${a0}px`,top:`${f1}px`,right:"auto",bottom:"auto"}});function b1(d3){const Y3=document.querySelector(".forest-grass-wet"),r1=Y3==null?void 0:Y3.getBoundingClientRect();return!(r1!=null&&r1.width)||!(r1!=null&&r1.height)?d3:{x:(d3.x-r1.left)/r1.width*1920,y:(d3.y-r1.top)/r1.height*1080}}function O(){k3.value=typeof window=="undefined"?1080:window.innerHeight}$n(()=>{O(),window.addEventListener("resize",O),document.addEventListener("pointerdown",z0,!0),A1(),a2(s.value,""),D2(s.value,"")}),Un(()=>{o3=!0,K2&&window.clearTimeout(K2),window.removeEventListener("resize",O),document.removeEventListener("pointerdown",z0,!0)}),I0(s,d3=>{N3=!0,P.value="",o.value="",O1(),V2.value={type:"idle",text:"等待 GeoServer 图层加载"},a2(d3,""),D2(d3,"",null),_e(()=>{N3=!1})}),I0(o,()=>{N3||(q2=!0,P.value="",O1(),V2.value={type:o.value?"loading":"idle",text:o.value?"正在加载 GeoServer 图层":"等待 GeoServer 图层加载"},a2(s.value,o.value),D2(s.value,o.value,null),_e(()=>{q2=!1}))}),I0(P,()=>{N3||q2||(O1(),D2(s.value,o.value,w2.value))}),I0(L3,d3=>{if(d3){i2();return}N2.value=""}),I0(N2,()=>{L3.value&&O1()}),I0(()=>i.active,d3=>{var Y3,r1,g1,J1;a.value&&(d3?(I1(),(r1=(Y3=a.value).resume)==null||r1.call(Y3)):(J1=(g1=a.value).pause)==null||J1.call(g1))});function A1(){var r1;Y2=new Gr;const d3={progress:0};Y2.instance.on("onProgress",(g1,J1,a0)=>{const f1=Math.floor(J1/a0*100);_n.to(d3,{progress:f1,onUpdate:()=>{X.value=Math.floor(d3.progress)}})});const Y3=()=>{o3||r3||(r3=!0,I1())};Y2.instance.on("onLoad",Y3),(r1=Y2.ready)==null||r1.then(Y3).catch(()=>{o3||(V2.value={type:"error",text:"地图资源加载失败"})})}function I1(){o3||!i.active||!r3||y3||(y3=!0,K2&&window.clearTimeout(K2),K2=window.setTimeout(()=>{K2=null,F1()},600))}function F1(d3=0){return I3(this,null,function*(){var r1,g1,J1,a0,f1;if(o3)return;if(!i.active){y3=!1;return}if(yield _e(),!i.active){y3=!1;return}if(!!((g1=(r1=a.value)==null?void 0:r1.loadMap)!=null&&g1.call(r1,Y2)||(a0=(J1=a.value)==null?void 0:J1.hasMap)!=null&&a0.call(J1))){yield ie(),yield _e(),(f1=a.value)==null||f1.play();return}if(d3<24){window.setTimeout(()=>F1(d3+1),120);return}y3=!1})}function S1(){K2&&(window.clearTimeout(K2),K2=null)}function H2(){var d3,Y3,r1,g1;(Y3=(d3=a.value)==null?void 0:d3.resume)==null||Y3.call(d3),(g1=(r1=a.value)==null?void 0:r1.refreshView)==null||g1.call(r1)}function c2(){var d3,Y3;if(O1(),V2.value={type:"loading",text:"地图正在复位"},(Y3=(d3=a.value)==null?void 0:d3.hasMap)!=null&&Y3.call(d3)){H2(),V2.value={type:"success",text:"地图已复位"};return}S1(),y3=!1,_e(()=>{I1()})}e({refreshMapView:H2,resetMap:c2});function a2(r1){return I3(this,arguments,function*(d3,Y3=o.value){const g1=++m3;d.value=!0,c.value="loading";const J1=yield oo(d3,Y3);o3||g1!==m3||d3===s.value&&(Y3||"")===(o.value||"")&&n2(J1,d3)})}function i2(d3=!1){return I3(this,null,function*(){if(!L3.value)return;if(!d3&&z2.value.length){A2();return}const Y3=++M3;G2.value="loading";try{const r1=yield cG();if(o3||Y3!==M3)return;z2.value=r1,G2.value=r1.length?"success":"empty",A2()}catch(r1){if(o3||Y3!==M3)return;z2.value=[],N2.value="",G2.value="error"}})}function A2(){if(!z2.value.length){N2.value="";return}z2.value.some(Y3=>Y3.key===N2.value)||(N2.value=z2.value[z2.value.length-1].key)}function n2(d3,Y3){var g1,J1,a0;const r1=M2(d3);l.value=r1.core||[],f.value=r1.left||{title:"业务统计",rows:[]},p.value=r1.right||{title:"业务统计",rows:[]},y.value=(g1=r1.leftPanels)!=null&&g1.length?r1.leftPanels:[f.value],w.value=(J1=r1.rightPanels)!=null&&J1.length?r1.rightPanels:[p.value],c.value=r1.status,d.value=!1,r("topic-stats",{topicKey:Y3,topicName:yy(Y3).name,items:((a0=r1.top)!=null&&a0.length?r1.top:r1.core||[]).slice(0,4)})}function M2(d3){return d3||{}}function t3(d3,Y3){return`${s.value}-${Y3}-${(d3==null?void 0:d3.key)||(d3==null?void 0:d3.title)||"panel"}`}function A3(d3){var r1;const Y3=((r1=d3==null?void 0:d3.rows)==null?void 0:r1.length)||0;return(d3==null?void 0:d3.span)===1?!1:(d3==null?void 0:d3.span)===2?!0:(d3==null?void 0:d3.type)==="spotlight"||(d3==null?void 0:d3.type)==="metric"||(d3==null?void 0:d3.type)==="column"&&Y3<=5?!1:(d3==null?void 0:d3.type)==="rank"&&Y3>4||(d3==null?void 0:d3.type)==="split"&&Y3>4||(d3==null?void 0:d3.type)==="donut"&&Y3>5||(d3==null?void 0:d3.type)==="structure"&&Y3>4||(d3==null?void 0:d3.type)==="bar"&&Y3>4||(d3==null?void 0:d3.type)==="line"&&Y3>6}function J2(d3){return A3(d3)?l1.value:J3.value}function T2(d3){var J1;const Y3=(d3==null?void 0:d3.properties)||{},r1=Object.keys(Y3).filter(a0=>{const f1=Y3[a0];if(f1==null||f1==="")return!1;const Pe=a0.toLowerCase();return!(["geom","wkt","geometry","the_geom","shape_leng","shape_length","length","perimeter"].includes(Pe)||["gid","id","objectid","object_id","fid","key_uid","bsm","ysdm"].includes(Pe))}),g1=!!((J1=d3==null?void 0:d3.feature)!=null&&J1.geometry||d3!=null&&d3.geometry);return r1.length+(g1?1:0)}function D2(g1,J1){return I3(this,arguments,function*(d3,Y3,r1=w2.value){const a0=++C3;if(!Y3||!E3(Y3,r1)){M.value=b3(d3,Y3);return}const f1=yield HO(d3,Y3,r1);o3||a0!==C3||d3!==s.value||Y3!==o.value||((r1==null?void 0:r1.key)||"")===P.value&&(M.value=f1)})}function E3(d3,Y3=null){return!!(Y3!=null&&Y3.key)||u3.has(d3)}function b3(d3,Y3){return{status:"disabled",topicKey:d3,layerKey:Y3,title:"",unit:"",rows:[]}}function n1(d3){var r1,g1;const Y3=(g1=(r1=d3==null?void 0:d3.feature)!=null?r1:d3)!=null?g1:null;if(!Y3){O1();return}D.value=Y3,B.value=!1,d3!=null&&d3.screen&&(Y.value=d3.screen)}function w1(d3){V2.value=d3}function O1(){var d3,Y3;D.value=null,B.value=!1,Y.value=null,(Y3=(d3=a.value)==null?void 0:d3.clearSelectedFeature)==null||Y3.call(d3)}function z0(d3){if(!c1.value)return;const Y3=document.querySelector(".fgw-map-feature-info"),r1=d3.target;Y3&&r1 instanceof Node&&Y3.contains(r1)||O1()}function ie(){return P2.value?new Promise(d3=>{_n.to(".forest-grass-wet .loading",{opacity:0,duration:.8,delay:.2,onComplete:()=>{P2.value=!1,d3()}})}):Promise.resolve()}return(d3,Y3)=>{var r1;return K(),e2("div",OG,[e1(Br,{ref_key:"mapSceneRef",ref:a,"active-layer":a3.value,"map-ranking":M.value,"admin-boundary-line-scale":2.4,onFeatureLoading:Y3[0]||(Y3[0]=g1=>V.value=g1),onFeatureInfo:n1,onLayerStatus:w1},null,8,["active-layer","map-ranking"]),C("div",BG,[C("div",GG,[C("div",jG,[(K(!0),e2(B3,null,q3(y.value,g1=>(K(),te(K1,{key:t3(g1,"left"),class:t1(["fgw-side-card left-card",{"is-double":A3(g1)}]),title:g1.title,width:398,height:J2(g1)},{default:j1(()=>[e1(bn,{panel:g1,compact:"","column-label-standard":""},null,8,["panel"])]),_:2},1032,["class","title","height"]))),128))])]),C("div",zG,[C("div",UG,[(K(!0),e2(B3,null,q3(w.value,g1=>(K(),te(K1,{key:t3(g1,"right"),class:t1(["fgw-side-card right-card",{"is-double":A3(g1)}]),title:g1.title,width:398,height:J2(g1)},{default:j1(()=>[e1(bn,{panel:g1,compact:"","column-label-standard":""},null,8,["panel"])]),_:2},1032,["class","title","height"]))),128))])]),C("div",$G,[e1(Xh,{modelValue:o.value,"onUpdate:modelValue":Y3[1]||(Y3[1]=g1=>o.value=g1),"selected-legend-key":P.value,"onUpdate:selectedLegendKey":Y3[2]||(Y3[2]=g1=>P.value=g1),"topic-key":s.value,legends:((r1=a3.value)==null?void 0:r1.legends)||[],width:248,height:430},null,8,["modelValue","selected-legend-key","topic-key","legends"])]),F3.value?(K(),e2("div",WG,[e1(DG,{modelValue:N2.value,"onUpdate:modelValue":Y3[3]||(Y3[3]=g1=>N2.value=g1),items:z2.value,loading:G2.value==="loading"},null,8,["modelValue","items","loading"])])):G3("",!0),c1.value?(K(),e2("div",{key:1,class:"fgw-map-feature-info",style:R1(y1.value)},[e1(wl,{feature:D.value,empty:B.value,loading:V.value,width:460,height:B1.value},null,8,["feature","empty","loading","height"])],4)):G3("",!0),C("div",VG,[e1(Al,{modelValue:s.value,"onUpdate:modelValue":Y3[4]||(Y3[4]=g1=>s.value=g1)},null,8,["modelValue"])])]),P2.value?(K(),e2("div",HG,[Y3[6]||(Y3[6]=dl('<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)),C("div",YG,[C("span",KG,S2(X.value),1),Y3[5]||(Y3[5]=C("span",{class:"unit"},"%",-1))])])):G3("",!0)])}}};function ej(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 k8=1,R8=2,n4=3,tj=4,Yd=5,Yy=6378137,nj=6356752314e-3,Ky=.0066943799901413165,q7=484813681109536e-20,Z3=Math.PI/2,ij=.16666666666666666,rj=.04722222222222222,aj=.022156084656084655,u1=1e-10,Ve=.017453292519943295,xn=57.29577951308232,J0=Math.PI/4,gr=Math.PI*2,Xe=3.14159265359,Mn={};Mn.greenwich=0;Mn.lisbon=-9.131906111111;Mn.paris=2.337229166667;Mn.bogota=-74.080916666667;Mn.madrid=-3.687938888889;Mn.rome=12.452333333333;Mn.bern=7.439583333333;Mn.jakarta=106.807719444444;Mn.ferro=-17.666666666667;Mn.brussels=4.367975;Mn.stockholm=18.058277777778;Mn.athens=23.7163375;Mn.oslo=10.722916666667;const sj={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 qy=/[\s_\-\/\(\)]/g;function D9(n,e){if(n[e])return n[e];for(var t=Object.keys(n),i=e.toLowerCase().replace(qy,""),r=-1,a,s;++r<t.length;)if(a=t[r],s=a.toLowerCase().replace(qy,""),s===i)return n[a]}function Kd(n){var e={},t=n.split("+").map(function(o){return o.trim()}).filter(function(o){return o}).reduce(function(o,l){var c=l.split("=");return c.push(!0),o[c[0].toLowerCase()]=c[1],o},{}),i,r,a,s={proj:"projName",datum:"datumCode",rf:function(o){e.rf=parseFloat(o)},lat_0:function(o){e.lat0=o*Ve},lat_1:function(o){e.lat1=o*Ve},lat_2:function(o){e.lat2=o*Ve},lat_ts:function(o){e.lat_ts=o*Ve},lon_0:function(o){e.long0=o*Ve},lon_1:function(o){e.long1=o*Ve},lon_2:function(o){e.long2=o*Ve},alpha:function(o){e.alpha=parseFloat(o)*Ve},gamma:function(o){e.rectified_grid_angle=parseFloat(o)*Ve},lonc:function(o){e.longc=o*Ve},x_0:function(o){e.x0=parseFloat(o)},y_0:function(o){e.y0=parseFloat(o)},k_0:function(o){e.k0=parseFloat(o)},k:function(o){e.k0=parseFloat(o)},a:function(o){e.a=parseFloat(o)},b:function(o){e.b=parseFloat(o)},r:function(o){e.a=e.b=parseFloat(o)},r_a:function(){e.R_A=!0},zone:function(o){e.zone=parseInt(o,10)},south:function(){e.utmSouth=!0},towgs84:function(o){e.datum_params=o.split(",").map(function(l){return parseFloat(l)})},to_meter:function(o){e.to_meter=parseFloat(o)},units:function(o){e.units=o;var l=D9(sj,o);l&&(e.to_meter=l.to_meter)},from_greenwich:function(o){e.from_greenwich=o*Ve},pm:function(o){var l=D9(Mn,o);e.from_greenwich=(l||parseFloat(o))*Ve},nadgrids:function(o){o==="@null"?e.datumCode="none":e.nadgrids=o},axis:function(o){var l="ewnsud";o.length===3&&l.indexOf(o.substr(0,1))!==-1&&l.indexOf(o.substr(1,1))!==-1&&l.indexOf(o.substr(2,1))!==-1&&(e.axis=o)},approx:function(){e.approx=!0},over:function(){e.over=!0}};for(i in t)r=t[i],i in s?(a=s[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 iS{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(o=>Array.isArray(o)&&o[0]==="ID"),s=a?{authority:a[1],code:parseInt(a[2],10)}:null;return{type:t,name:i,conversion_factor:r,id:s}}static convertAxis(e){const t=e[1]||"Unknown";let i;const r=t.match(/^\((.)\)$/);if(r){const c=r[1].toUpperCase();if(c==="E")i="east";else if(c==="N")i="north";else if(c==="U")i="up";else if(e[2])i=e[2];else throw new Error(`Unknown axis abbreviation: ${c}`)}else i=e[2]||"unknown";const a=e.find(c=>Array.isArray(c)&&c[0]==="ORDER"),s=a?parseInt(a[1],10):null,o=e.find(c=>Array.isArray(c)&&(c[0]==="LENGTHUNIT"||c[0]==="ANGLEUNIT"||c[0]==="SCALEUNIT")),l=this.convertUnit(o);return{name:t,direction:i,unit:l,order:s}}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(p=>Array.isArray(p)&&p[0]==="BASEGEOGCRS")?this.convert(e.find(p=>Array.isArray(p)&&p[0]==="BASEGEOGCRS")):null,t.conversion=e.find(p=>Array.isArray(p)&&p[0]==="CONVERSION")?this.convert(e.find(p=>Array.isArray(p)&&p[0]==="CONVERSION")):null;const i=e.find(p=>Array.isArray(p)&&p[0]==="CS");i&&(t.coordinate_system={type:i[1],axis:this.extractAxes(e)});const r=e.find(p=>Array.isArray(p)&&p[0]==="LENGTHUNIT");if(r){const p=this.convertUnit(r);t.coordinate_system.unit=p}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(p=>Array.isArray(p)&&(p[0]==="DATUM"||p[0]==="ENSEMBLE"));if(a){const p=this.convert(a);a[0]==="ENSEMBLE"?t.datum_ensemble=p:t.datum=p;const y=e.find(w=>Array.isArray(w)&&w[0]==="PRIMEM");y&&y[1]!=="Greenwich"&&(p.prime_meridian={name:y[1],longitude:parseFloat(y[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(p=>Array.isArray(p)&&p[0]==="ELLIPSOID")?this.convert(e.find(p=>Array.isArray(p)&&p[0]==="ELLIPSOID")):null;break;case"ENSEMBLE":t.type="DatumEnsemble",t.name=e[1],t.members=e.filter(p=>Array.isArray(p)&&p[0]==="MEMBER").map(p=>({type:"DatumEnsembleMember",name:p[1],id:this.getId(p)}));const s=e.find(p=>Array.isArray(p)&&p[0]==="ENSEMBLEACCURACY");s&&(t.accuracy=parseFloat(s[1]));const o=e.find(p=>Array.isArray(p)&&p[0]==="ELLIPSOID");o&&(t.ellipsoid=this.convert(o)),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(p=>Array.isArray(p)&&p[0]==="LENGTHUNIT")&&this.convert(e.find(p=>Array.isArray(p)&&p[0]==="LENGTHUNIT"),t);break;case"CONVERSION":t.type="Conversion",t.name=e[1],t.method=e.find(p=>Array.isArray(p)&&p[0]==="METHOD")?this.convert(e.find(p=>Array.isArray(p)&&p[0]==="METHOD")):null,t.parameters=e.filter(p=>Array.isArray(p)&&p[0]==="PARAMETER").map(p=>this.convert(p));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(p=>Array.isArray(p)&&(p[0]==="LENGTHUNIT"||p[0]==="ANGLEUNIT"||p[0]==="SCALEUNIT"))),t.id=this.getId(e);break;case"BOUNDCRS":t.type="BoundCRS";const l=e.find(p=>Array.isArray(p)&&p[0]==="SOURCECRS");if(l){const p=l.find(y=>Array.isArray(y));t.source_crs=p?this.convert(p):null}const c=e.find(p=>Array.isArray(p)&&p[0]==="TARGETCRS");if(c){const p=c.find(y=>Array.isArray(y));t.target_crs=p?this.convert(p):null}const d=e.find(p=>Array.isArray(p)&&p[0]==="ABRIDGEDTRANSFORMATION");d?t.transformation=this.convert(d):t.transformation=null;break;case"ABRIDGEDTRANSFORMATION":if(t.type="Transformation",t.name=e[1],t.method=e.find(p=>Array.isArray(p)&&p[0]==="METHOD")?this.convert(e.find(p=>Array.isArray(p)&&p[0]==="METHOD")):null,t.parameters=e.filter(p=>Array.isArray(p)&&(p[0]==="PARAMETER"||p[0]==="PARAMETERFILE")).map(p=>{if(p[0]==="PARAMETER")return this.convert(p);if(p[0]==="PARAMETERFILE")return{name:p[1],value:p[2],id:{authority:"EPSG",code:8656}}}),t.parameters.length===7){const p=t.parameters[6];p.name==="Scale difference"&&(p.value=Math.round((p.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 f=this.convertUnit(e,"LinearUnit");t.coordinate_system&&t.coordinate_system.axis&&t.coordinate_system.axis.forEach(p=>{p.unit||(p.unit=f)}),f.conversion_factor&&f.conversion_factor!==1&&t.semi_major_axis&&(t.semi_major_axis={value:t.semi_major_axis,unit:f});break;default:t.keyword=e[0];break}return t}}class oj extends iS{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 lj extends iS{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"),s=r.find(l=>Array.isArray(l)&&l[0]==="AREA"),o=r.find(l=>Array.isArray(l)&&l[0]==="BBOX");t.usage={},a&&(t.usage.scope=a[1]),s&&(t.usage.area=s[1]),o&&(t.usage.bbox=o.slice(1))}return t}}function uj(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 cj(n){return(uj(n)==="2019"?lj:oj).convert(n)}function dj(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 pr=1,rS=2,aS=3,No=4,sS=5,Zh=-1,hj=/\s/,fj=/[A-Za-z]/,mj=/[A-Za-z84_]/,xl=/[,\]]/,oS=/[\d\.E\-\+]/;function V5(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=pr}V5.prototype.readCharicter=function(){var n=this.text[this.place++];if(this.state!==No)for(;hj.test(n);){if(this.place>=this.text.length)return;n=this.text[this.place++]}switch(this.state){case pr:return this.neutral(n);case rS:return this.keyword(n);case No:return this.quoted(n);case sS:return this.afterquote(n);case aS:return this.number(n);case Zh:return}};V5.prototype.afterquote=function(n){if(n==='"'){this.word+='"',this.state=No;return}if(xl.test(n)){this.word=this.word.trim(),this.afterItem(n);return}throw new Error(`havn't handled "`+n+'" in afterquote yet, index '+this.place)};V5.prototype.afterItem=function(n){if(n===","){this.word!==null&&this.currentObject.push(this.word),this.word=null,this.state=pr;return}if(n==="]"){this.level--,this.word!==null&&(this.currentObject.push(this.word),this.word=null),this.state=pr,this.currentObject=this.stack.pop(),this.currentObject||(this.state=Zh);return}};V5.prototype.number=function(n){if(oS.test(n)){this.word+=n;return}if(xl.test(n)){this.word=parseFloat(this.word),this.afterItem(n);return}throw new Error(`havn't handled "`+n+'" in number yet, index '+this.place)};V5.prototype.quoted=function(n){if(n==='"'){this.state=sS;return}this.word+=n};V5.prototype.keyword=function(n){if(mj.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=pr;return}if(xl.test(n)){this.afterItem(n);return}throw new Error(`havn't handled "`+n+'" in keyword yet, index '+this.place)};V5.prototype.neutral=function(n){if(fj.test(n)){this.word=n,this.state=rS;return}if(n==='"'){this.word="",this.state=No;return}if(oS.test(n)){this.word=n,this.state=aS;return}if(xl.test(n)){this.afterItem(n);return}throw new Error(`havn't handled "`+n+'" in neutral yet, index '+this.place)};V5.prototype.output=function(){for(;this.place<this.text.length;)this.readCharicter();if(this.state===Zh)return this.root;throw new Error('unable to parse string "'+this.text+'". State is '+this.state)};function gj(n){var e=new V5(n);return e.output()}function Oc(n,e,t){Array.isArray(e)&&(t.unshift(e),e=null);var i=e?{}:n,r=t.reduce(function(a,s){return Vi(s,a),a},i);e&&(n[e]=r)}function Vi(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]={},Vi(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&&Vi(n[2],e[t]);return;case"SPHEROID":case"ELLIPSOID":e[t]={name:n[0],a:n[1],rf:n[2]},n.length===4&&Vi(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]],Oc(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]],Oc(e,t,n),e[t].type=t;return;default:for(i=-1;++i<n.length;)if(!Array.isArray(n[i]))return Vi(n,e[t]);return Oc(e,t,n)}}var pj=.017453292519943295;function Qn(n){return n*pj}function lS(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=Qn(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=Qn(n.lat0>0?90:-90),delete n.lat1)}function Xy(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 Zy(n){return typeof n=="object"?n.value*n.unit.conversion_factor:n}function Jy(n,e){n.ellipsoid.radius?(e.a=n.ellipsoid.radius,e.rf=0):(e.a=Zy(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-Zy(n.ellipsoid.semi_minor_axis))))}function Lo(n,e={}){return!n||typeof n!="object"?n:n.type==="BoundCRS"?(Lo(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,Jy(i,e)),i.prime_meridian&&(e.from_greenwich=i.prime_meridian.longitude*Math.PI/180);break;case"ellipsoid":e.ellps=i.name,Jy(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(s=>r[s.direction.toLowerCase()]);if(a.every(Boolean)&&(e.axis=a.join(""),e.axis.length===2&&(e.axis+="u")),i.unit){const{units:s,to_meter:o}=Xy(i.unit);e.units=s,e.to_meter=o}else if(i.axis[0]&&i.axis[0].unit){const{units:s,to_meter:o}=Xy(i.axis[0].unit);e.units=s,e.to_meter=o}}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,"_"),s=r.value;r.unit&&r.unit.conversion_factor?e[a]=s*r.unit.conversion_factor:r.unit==="degree"?e[a]=s*Math.PI/180:e[a]=s});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":Lo(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),lS(e),e)}var yj=["PROJECTEDCRS","PROJCRS","GEOGCS","GEOCCS","PROJCS","LOCAL_CS","GEODCRS","GEODETICCRS","GEODETICDATUM","ENGCRS","ENGINEERINGCRS"];function vj(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 uS(n){for(var e=Object.keys(n),t=0,i=e.length;t<i;++t){var r=e[t];yj.indexOf(r)!==-1&&_j(n[r]),typeof n[r]=="object"&&uS(n[r])}}function _j(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 s=n.GEOGCS;n.type==="GEOGCS"&&(s=n),s&&(s.PRIMEM&&s.PRIMEM.convert&&(n.from_greenwich=Qn(s.PRIMEM.convert)),s.DATUM?n.datumCode=s.DATUM.name.toLowerCase():n.datumCode=s.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"),s.DATUM&&s.DATUM.SPHEROID&&(n.ellps=s.DATUM.SPHEROID.name.replace("_19","").replace(/[Cc]larke\_18/,"clrk"),n.ellps.toLowerCase().slice(0,13)==="international"&&(n.ellps="intl"),n.a=s.DATUM.SPHEROID.a,n.rf=parseFloat(s.DATUM.SPHEROID.rf)),s.DATUM&&s.DATUM.TOWGS84&&(n.datum_params=s.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=Qn(n.rectified_grid_angle));function o(d){var f=n.to_meter||1;return d*f}var l=function(d){return vj(n,d)},c=[["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",Qn],["longitude_of_center","Longitude_Of_Center"],["longitude_of_center","Longitude_of_center"],["longc","longitude_of_center",Qn],["x0","false_easting",o],["y0","false_northing",o],["long0","central_meridian",Qn],["lat0","latitude_of_origin",Qn],["lat0","standard_parallel_1",Qn],["lat1","standard_parallel_1",Qn],["lat2","standard_parallel_2",Qn],["azimuth","Azimuth"],["alpha","azimuth",Qn],["srsCode","name"]];c.forEach(l),lS(n)}function Fo(n){if(typeof n=="object")return Lo(n);const e=dj(n);var t=gj(n);if(e==="WKT2"){const a=cj(t);return Lo(a)}var i=t[0],r={};return Vi(t,r),uS(r),r[i]}function Lt(n){var e=this;if(arguments.length===2){var t=arguments[1];typeof t=="string"?t.charAt(0)==="+"?Lt[n]=Kd(arguments[1]):Lt[n]=Fo(arguments[1]):t&&typeof t=="object"&&!("projName"in t)?Lt[n]=Fo(arguments[1]):(Lt[n]=t,t||delete Lt[n])}else if(arguments.length===1){if(Array.isArray(n))return n.map(function(i){return Array.isArray(i)?Lt.apply(e,i):Lt(i)});if(typeof n=="string"){if(n in Lt)return Lt[n]}else"EPSG"in n?Lt["EPSG:"+n.EPSG]=n:"ESRI"in n?Lt["ESRI:"+n.ESRI]=n:"IAU2000"in n?Lt["IAU2000:"+n.IAU2000]=n:console.log(n);return}}ej(Lt);function bj(n){return typeof n=="string"}function Sj(n){return n in Lt}function wj(n){return n.indexOf("+")!==0&&n.indexOf("[")!==-1||typeof n=="object"&&!("srsCode"in n)}var Qy=["3857","900913","3785","102113"];function Cj(n){if(n.title)return n.title.toLowerCase().indexOf("epsg:")===0&&Qy.indexOf(n.title.substr(5))>-1;var e=D9(n,"authority");if(e){var t=D9(e,"epsg");return t&&Qy.indexOf(t)>-1}}function Tj(n){var e=D9(n,"extension");if(e)return D9(e,"proj4")}function Aj(n){return n[0]==="+"}function xj(n){let e;if(bj(n))if(Sj(n))e=Lt[n];else if(wj(n)){e=Fo(n);var t=Tj(e);t&&(e=Kd(t))}else Aj(n)&&(e=Kd(n));else"projName"in n?e=n:e=Fo(n);return e&&Cj(e)?Lt["EPSG:3857"]:e}function ev(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 u5(n,e,t){var i=n*e;return t/Math.sqrt(1-i*i)}function jr(n){return n<0?-1:1}function m1(n,e){return e||Math.abs(n)<=Xe?n:n-jr(n)*gr}function x6(n,e,t){var i=n*t,r=.5*n;return i=Math.pow((1-i)/(1+i),r),Math.tan(.5*(Z3-e))/i}function yr(n,e){for(var t=.5*n,i,r,a=Z3-2*Math.atan(e),s=0;s<=15;s++)if(i=n*Math.sin(a),r=Z3-2*Math.atan(e*Math.pow((1-i)/(1+i),t))-a,a+=r,Math.abs(r)<=1e-10)return a;return-9999}function Ej(){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=u5(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts)):this.k0||(this.k?this.k0=this.k:this.k0=1)}function Pj(n){var e=n.x,t=n.y;if(t*xn>90&&t*xn<-90&&e*xn>180&&e*xn<-180)return null;var i,r;if(Math.abs(Math.abs(t)-Z3)<=u1)return null;if(this.sphere)i=this.x0+this.a*this.k0*m1(e-this.long0,this.over),r=this.y0+this.a*this.k0*Math.log(Math.tan(J0+.5*t));else{var a=Math.sin(t),s=x6(this.e,t,a);i=this.x0+this.a*this.k0*m1(e-this.long0,this.over),r=this.y0-this.a*this.k0*Math.log(s)}return n.x=i,n.y=r,n}function Mj(n){var e=n.x-this.x0,t=n.y-this.y0,i,r;if(this.sphere)r=Z3-2*Math.atan(Math.exp(-t/(this.a*this.k0)));else{var a=Math.exp(-t/(this.a*this.k0));if(r=yr(this.e,a),r===-9999)return null}return i=m1(this.long0+e/(this.a*this.k0),this.over),n.x=i,n.y=r,n}var kj=["Mercator","Popular Visualisation Pseudo Mercator","Mercator_1SP","Mercator_Auxiliary_Sphere","Mercator_Variant_A","merc"];const Rj={init:Ej,forward:Pj,inverse:Mj,names:kj};function Ij(){}function tv(n){return n}var cS=["longlat","identity"];const Nj={init:Ij,forward:tv,inverse:tv,names:cS};var Lj=[Rj,Nj],c8={},Hi=[];function dS(n,e){var t=Hi.length;return n.names?(Hi[t]=n,n.names.forEach(function(i){c8[i.toLowerCase()]=t}),this):(console.log(e),!0)}function hS(n){return n.replace(/[-\(\)\s]+/g," ").trim().replace(/ /g,"_")}function Fj(n){if(!n)return!1;var e=n.toLowerCase();if(typeof c8[e]!="undefined"&&Hi[c8[e]]||(e=hS(e),e in c8&&Hi[c8[e]]))return Hi[c8[e]]}function Dj(){Lj.forEach(dS)}const Oj={start:Dj,add:dS,get:Fj};var fS={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 Bj=fS.WGS84;function Gj(n,e,t,i){var r=n*n,a=e*e,s=(r-a)/r,o=0;i?(n*=1-s*(ij+s*(rj+s*aj)),r=n*n,s=0):o=Math.sqrt(s);var l=(r-a)/a;return{es:s,e:o,ep2:l}}function jj(n,e,t,i,r){if(!n){var a=D9(fS,i);a||(a=Bj),n=a.a,e=a.b,t=a.rf}return t&&!e&&(e=(1-1/t)*n),(t===0||Math.abs(n-e)<u1)&&(r=!0,e=n),{a:n,b:e,rf:t,sphere:r}}var uo={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 zj in uo){var Bc=uo[zj];Bc.datumName&&(uo[Bc.datumName]=Bc)}function Uj(n,e,t,i,r,a,s){var o={};return o.datum_type=Yd,e&&(o.datum_type=tj,o.datum_params=e.map(parseFloat),(o.datum_params[0]!==0||o.datum_params[1]!==0||o.datum_params[2]!==0)&&(o.datum_type=k8),o.datum_params.length>3&&(o.datum_params[3]!==0||o.datum_params[4]!==0||o.datum_params[5]!==0||o.datum_params[6]!==0)&&(o.datum_type=R8,o.datum_params[3]*=q7,o.datum_params[4]*=q7,o.datum_params[5]*=q7,o.datum_params[6]=o.datum_params[6]/1e6+1)),s&&(o.datum_type=n4,o.grids=s),o.a=t,o.b=i,o.es=r,o.ep2=a,o}var Jh={};function $j(n,e,t){return e instanceof ArrayBuffer?Wj(n,e,t):{ready:Vj(n,e)}}function Wj(n,e,t){var i=!0;t!==void 0&&t.includeErrorFields===!1&&(i=!1);var r=new DataView(e),a=Kj(r),s=qj(r,a),o=Xj(r,s,a,i),l={header:s,subgrids:o};return Jh[n]=l,l}function Vj(n,e){return I3(this,null,function*(){for(var t=[],i=yield e.getImageCount(),r=i-1;r>=0;r--){var a=yield e.getImage(r),s=yield a.readRasters(),o=s,l=[a.getWidth(),a.getHeight()],c=a.getBoundingBox().map(nv),d=typeof a.fileDirectory.getValue=="function"?a.fileDirectory.getValue("ModelPixelScale"):a.fileDirectory.ModelPixelScale,f=[d[0],d[1]].map(nv),p=c[0]+(l[0]-1)*f[0],y=c[3]-(l[1]-1)*f[1],w=o[0],M=o[1],P=[];for(let V=l[1]-1;V>=0;V--)for(let Y=l[0]-1;Y>=0;Y--){var D=V*l[0]+Y;P.push([-C9(M[D]),C9(w[D])])}t.push({del:f,lim:l,ll:[-p,y],cvs:P})}var B={header:{nSubgrids:i},subgrids:t};return Jh[n]=B,B})}function Hj(n){if(n===void 0)return null;var e=n.split(",");return e.map(Yj)}function Yj(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:Jh[n]||null,isNull:!1}}function nv(n){return n*Math.PI/180}function C9(n){return n/3600*Math.PI/180}function Kj(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 qj(n,e){return{nFields:n.getInt32(8,e),nSubgridFields:n.getInt32(24,e),nSubgrids:n.getInt32(40,e),shiftType:qd(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 qd(n,e,t){return String.fromCharCode.apply(null,new Uint8Array(n.buffer.slice(e,t)))}function Xj(n,e,t,i){for(var r=176,a=[],s=0;s<e.nSubgrids;s++){var o=Jj(n,r,t),l=Qj(n,r,o,t,i),c=Math.round(1+(o.upperLongitude-o.lowerLongitude)/o.longitudeInterval),d=Math.round(1+(o.upperLatitude-o.lowerLatitude)/o.latitudeInterval);a.push({ll:[C9(o.lowerLongitude),C9(o.lowerLatitude)],del:[C9(o.longitudeInterval),C9(o.latitudeInterval)],lim:[c,d],count:o.gridNodeCount,cvs:Zj(l)});var f=16;i===!1&&(f=8),r+=176+o.gridNodeCount*f}return a}function Zj(n){return n.map(function(e){return[C9(e.longitudeShift),C9(e.latitudeShift)]})}function Jj(n,e,t){return{name:qd(n,e+8,e+16).trim(),parent:qd(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 Qj(n,e,t,i,r){var a=e+176,s=16;r===!1&&(s=8);for(var o=[],l=0;l<t.gridNodeCount;l++){var c={latitudeShift:n.getFloat32(a+l*s,i),longitudeShift:n.getFloat32(a+l*s+4,i)};r!==!1&&(c.latitudeAccuracy=n.getFloat32(a+l*s+8,i),c.longitudeAccuracy=n.getFloat32(a+l*s+12,i)),o.push(c)}return o}function u6(n,e){if(!(this instanceof u6))return new u6(n);this.forward=null,this.inverse=null,this.init=null,this.name,this.axis,this.names=null,this.title,e=e||function(c){if(c)throw c};var t=xj(n);if(typeof t!="object"){e("Could not parse to valid json: "+n);return}var i=u6.projections.get(t.projName);if(!i){e("Could not get projection name from: "+n);return}if(t.datumCode&&t.datumCode!=="none"){var r=D9(uo,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=jj(t.a,t.b,t.rf,t.ellps,t.sphere),s=Gj(a.a,a.b,a.rf,t.R_A),o=Hj(t.nadgrids),l=t.datum||Uj(t.datumCode,t.datum_params,a.a,a.b,s.es,s.ep2,o);ev(this,t),ev(this,i),this.a=a.a,this.b=a.b,this.rf=a.rf,this.sphere=a.sphere,this.es=s.es,this.e=s.e,this.ep2=s.ep2,this.datum=l,"init"in this&&typeof this.init=="function"&&this.init(),e(null,this)}u6.projections=Oj;u6.projections.start();function ez(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===k8?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===R8?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 mS(n,e,t){var i=n.x,r=n.y,a=n.z?n.z:0,s,o,l,c;if(r<-Z3&&r>-1.001*Z3)r=-Z3;else if(r>Z3&&r<1.001*Z3)r=Z3;else{if(r<-Z3)return{x:-1/0,y:-1/0,z:n.z};if(r>Z3)return{x:1/0,y:1/0,z:n.z}}return i>Math.PI&&(i-=2*Math.PI),o=Math.sin(r),c=Math.cos(r),l=o*o,s=t/Math.sqrt(1-e*l),{x:(s+a)*c*Math.cos(i),y:(s+a)*c*Math.sin(i),z:(s*(1-e)+a)*o}}function gS(n,e,t,i){var r=1e-12,a=r*r,s=30,o,l,c,d,f,p,y,w,M,P,D,B,V,Y=n.x,X=n.y,P2=n.z?n.z:0,z2,G2,N2;if(o=Math.sqrt(Y*Y+X*X),l=Math.sqrt(Y*Y+X*X+P2*P2),o/t<r){if(z2=0,l/t<r)return G2=Z3,N2=-i,{x:n.x,y:n.y,z:n.z}}else z2=Math.atan2(X,Y);c=P2/l,d=o/l,f=1/Math.sqrt(1-e*(2-e)*d*d),w=d*(1-e)*f,M=c*f,V=0;do V++,y=t/Math.sqrt(1-e*M*M),N2=o*w+P2*M-y*(1-e*M*M),p=e*y/(y+N2),f=1/Math.sqrt(1-p*(2-p)*d*d),P=d*(1-p)*f,D=c*f,B=D*w-P*M,w=P,M=D;while(B*B>a&&V<s);return G2=Math.atan(D/Math.abs(P)),{x:z2,y:G2,z:N2}}function tz(n,e,t){if(e===k8)return{x:n.x+t[0],y:n.y+t[1],z:n.z+t[2]};if(e===R8){var i=t[0],r=t[1],a=t[2],s=t[3],o=t[4],l=t[5],c=t[6];return{x:c*(n.x-l*n.y+o*n.z)+i,y:c*(l*n.x+n.y-s*n.z)+r,z:c*(-o*n.x+s*n.y+n.z)+a}}}function nz(n,e,t){if(e===k8)return{x:n.x-t[0],y:n.y-t[1],z:n.z-t[2]};if(e===R8){var i=t[0],r=t[1],a=t[2],s=t[3],o=t[4],l=t[5],c=t[6],d=(n.x-i)/c,f=(n.y-r)/c,p=(n.z-a)/c;return{x:d+l*f-o*p,y:-l*d+f+s*p,z:o*d-s*f+p}}}function Bs(n){return n===k8||n===R8}function iz(n,e,t){if(ez(n,e)||n.datum_type===Yd||e.datum_type===Yd)return t;var i=n.a,r=n.es;if(n.datum_type===n4){var a=iv(n,!1,t);if(a!==0)return;i=Yy,r=Ky}var s=e.a,o=e.b,l=e.es;if(e.datum_type===n4&&(s=Yy,o=nj,l=Ky),r===l&&i===s&&!Bs(n.datum_type)&&!Bs(e.datum_type))return t;if(t=mS(t,r,i),Bs(n.datum_type)&&(t=tz(t,n.datum_type,n.datum_params)),Bs(e.datum_type)&&(t=nz(t,e.datum_type,e.datum_params)),t=gS(t,l,s,o),e.datum_type===n4){var c=iv(e,!0,t);if(c!==0)return}return t}function iv(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 s=0;s<n.grids.length;s++){var o=n.grids[s];if(a.push(o.name),o.isNull){r=i;break}if(o.grid===null){if(o.mandatory)return console.log("Unable to find mandatory grid '"+o.name+"'"),-1;continue}for(var l=o.grid.subgrids,c=0,d=l.length;c<d;c++){var f=l[c],p=(Math.abs(f.del[1])+Math.abs(f.del[0]))/1e4,y=f.ll[0]-p,w=f.ll[1]-p,M=f.ll[0]+(f.lim[0]-1)*f.del[0]+p,P=f.ll[1]+(f.lim[1]-1)*f.del[1]+p;if(!(w>i.y||y>i.x||P<i.y||M<i.x)&&(r=rz(i,e,f),!isNaN(r.x)))break e}}return isNaN(r.x)?(console.log("Failed to find a grid shift table for location '"+-i.x*xn+" "+i.y*xn+" tried: '"+a+"'"),-1):(t.x=-r.x,t.y=r.y,0)}function rz(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=m1(r.x-Math.PI)+Math.PI;var a=rv(r,t);if(e){if(isNaN(a.x))return i;a.x=r.x-a.x,a.y=r.y-a.y;var s=9,o=1e-12,l,c;do{if(c=rv(a,t),isNaN(c.x)){console.log("Inverse grid shift iteration failed, presumably at grid edge. Using first approximation.");break}l={x:r.x-(c.x+a.x),y:r.y-(c.y+a.y)},a.x+=l.x,a.y+=l.y}while(s--&&Math.abs(l.x)>o&&Math.abs(l.y)>o);if(s<0)return console.log("Inverse grid shift iterator failed to converge."),i;i.x=m1(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 rv(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},s;if(i.x<0||i.x>=e.lim[0]||i.y<0||i.y>=e.lim[1])return a;s=i.y*e.lim[0]+i.x;var o={x:e.cvs[s][0],y:e.cvs[s][1]};s++;var l={x:e.cvs[s][0],y:e.cvs[s][1]};s+=e.lim[0];var c={x:e.cvs[s][0],y:e.cvs[s][1]};s--;var d={x:e.cvs[s][0],y:e.cvs[s][1]},f=r.x*r.y,p=r.x*(1-r.y),y=(1-r.x)*(1-r.y),w=(1-r.x)*r.y;return a.x=y*o.x+p*l.x+w*d.x+f*c.x,a.y=y*o.y+p*l.y+w*d.y+f*c.y,a}var d8=["x","y","z"];function az(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[d8[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 sz(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[d8[i]]=e.x;break;case"w":t[d8[i]]=-e.x;break;case"n":t[d8[i]]=e.y;break;case"s":t[d8[i]]=-e.y;break;case"u":t[d8[i]]=e.z;break;case"d":t[d8[i]]=-e.z;break;default:return null}return t}function Qh(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 oz(n){av(n.x),av(n.y)}function av(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 lz(n,e){return(n.datum.datum_type===k8||n.datum.datum_type===R8||n.datum.datum_type===n4)&&e.datumCode!=="WGS84"||(e.datum.datum_type===k8||e.datum.datum_type===R8||e.datum.datum_type===n4)&&n.datumCode!=="WGS84"}function Do(n,e,t,i){var r,a=t.z!==void 0;if(oz(t),n.datum&&e.datum&&lz(n,e)&&(r=new u6("WGS84"),t=Do(n,r,t,i),n=r),i&&n.axis!=="enu"&&(t=az(n,t)),n.projName==="longlat")t={x:t.x*Ve,y:t.y*Ve,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=iz(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*xn,y:t.y*xn,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"?sz(e,t):(t&&!a&&e.projName!=="geocent"&&delete t.z,t)}function uz(n,e,t,i){var r;return Array.isArray(t)?r=Qh(t):r={x:t.x,y:t.y,z:t.z,m:t.m},Do(n,e,r,i)}var sv=u6("WGS84");function Gc(n,e,t,i){var r,a,s;return Array.isArray(t)?(r=Do(n,e,Qh(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=Do(n,e,{x:t.x,y:t.y,z:t.z,m:t.m},i)||{x:NaN,y:NaN},s=Object.keys(t),s.length===2||(a=typeof n.name!="undefined"&&n.name==="geocent"||typeof e.name!="undefined"&&e.name==="geocent",s.forEach(function(o){o==="x"||o==="y"||o==="z"&&(a||i)||(r[o]=t[o])})),r)}function Gs(n){return n instanceof u6?n:typeof n=="object"&&"oProj"in n?n.oProj:u6(n)}function cz(n,e,t){var i,r,a=!1,s;return typeof e=="undefined"?(r=Gs(n),i=sv,a=!0):(typeof e.x!="undefined"||Array.isArray(e))&&(t=e,r=Gs(n),i=sv,a=!0),i||(i=Gs(n)),r||(r=Gs(e)),t?Gc(i,r,t):(s={forward:function(o,l){return Gc(i,r,o,l)},inverse:function(o,l){return Gc(r,i,o,l)}},a&&(s.oProj=r),s)}var ov=6,pS="AJSAJS",yS="AFAFAF",Yi=65,gn=73,e6=79,B7=86,G7=90;const dz={forward:vS,inverse:hz,toPoint:_S};function vS(n,e){return e=e||5,gz(fz({lat:n[1],lon:n[0]}),e)}function hz(n){var e=ef(SS(n.toUpperCase()));return e.lat&&e.lon?[e.lon,e.lat,e.lon,e.lat]:[e.left,e.bottom,e.right,e.top]}function _S(n){var e=ef(SS(n.toUpperCase()));return e.lat&&e.lon?[e.lon,e.lat]:[(e.left+e.right)/2,(e.top+e.bottom)/2]}function jc(n){return n*(Math.PI/180)}function lv(n){return 180*(n/Math.PI)}function fz(n){var e=n.lat,t=n.lon,i=6378137,r=.00669438,a=.9996,s,o,l,c,d,f,p,y=jc(e),w=jc(t),M,P;P=Math.floor((t+180)/6)+1,t===180&&(P=60),e>=56&&e<64&&t>=3&&t<12&&(P=32),e>=72&&e<84&&(t>=0&&t<9?P=31:t>=9&&t<21?P=33:t>=21&&t<33?P=35:t>=33&&t<42&&(P=37)),s=(P-1)*6-180+3,M=jc(s),o=r/(1-r),l=i/Math.sqrt(1-r*Math.sin(y)*Math.sin(y)),c=Math.tan(y)*Math.tan(y),d=o*Math.cos(y)*Math.cos(y),f=Math.cos(y)*(w-M),p=i*((1-r/4-3*r*r/64-5*r*r*r/256)*y-(3*r/8+3*r*r/32+45*r*r*r/1024)*Math.sin(2*y)+(15*r*r/256+45*r*r*r/1024)*Math.sin(4*y)-35*r*r*r/3072*Math.sin(6*y));var D=a*l*(f+(1-c+d)*f*f*f/6+(5-18*c+c*c+72*d-58*o)*f*f*f*f*f/120)+5e5,B=a*(p+l*Math.tan(y)*(f*f/2+(5-c+9*d+4*d*d)*f*f*f*f/24+(61-58*c+c*c+600*d-330*o)*f*f*f*f*f*f/720));return e<0&&(B+=1e7),{northing:Math.round(B),easting:Math.round(D),zoneNumber:P,zoneLetter:mz(e)}}function ef(n){var e=n.northing,t=n.easting,i=n.zoneLetter,r=n.zoneNumber;if(r<0||r>60)return null;var a=.9996,s=6378137,o=.00669438,l,c=(1-Math.sqrt(1-o))/(1+Math.sqrt(1-o)),d,f,p,y,w,M,P,D,B,V=t-5e5,Y=e;i<"N"&&(Y-=1e7),P=(r-1)*6-180+3,l=o/(1-o),M=Y/a,D=M/(s*(1-o/4-3*o*o/64-5*o*o*o/256)),B=D+(3*c/2-27*c*c*c/32)*Math.sin(2*D)+(21*c*c/16-55*c*c*c*c/32)*Math.sin(4*D)+151*c*c*c/96*Math.sin(6*D),d=s/Math.sqrt(1-o*Math.sin(B)*Math.sin(B)),f=Math.tan(B)*Math.tan(B),p=l*Math.cos(B)*Math.cos(B),y=s*(1-o)/Math.pow(1-o*Math.sin(B)*Math.sin(B),1.5),w=V/(d*a);var X=B-d*Math.tan(B)/y*(w*w/2-(5+3*f+10*p-4*p*p-9*l)*w*w*w*w/24+(61+90*f+298*p+45*f*f-252*l-3*p*p)*w*w*w*w*w*w/720);X=lv(X);var P2=(w-(1+2*f+p)*w*w*w/6+(5-2*p+28*f-3*p*p+8*l+24*f*f)*w*w*w*w*w/120)/Math.cos(B);P2=P+lv(P2);var z2;if(n.accuracy){var G2=ef({northing:n.northing+n.accuracy,easting:n.easting+n.accuracy,zoneLetter:n.zoneLetter,zoneNumber:n.zoneNumber});z2={top:G2.lat,right:G2.lon,bottom:X,left:P2}}else z2={lat:X,lon:P2};return z2}function mz(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 gz(n,e){var t="00000"+n.easting,i="00000"+n.northing;return n.zoneNumber+n.zoneLetter+pz(n.easting,n.northing,n.zoneNumber)+t.substr(t.length-5,e)+i.substr(i.length-5,e)}function pz(n,e,t){var i=bS(t),r=Math.floor(n/1e5),a=Math.floor(e/1e5)%20;return yz(r,a,i)}function bS(n){var e=n%ov;return e===0&&(e=ov),e}function yz(n,e,t){var i=t-1,r=pS.charCodeAt(i),a=yS.charCodeAt(i),s=r+n-1,o=a+e,l=!1;s>G7&&(s=s-G7+Yi-1,l=!0),(s===gn||r<gn&&s>gn||(s>gn||r<gn)&&l)&&s++,(s===e6||r<e6&&s>e6||(s>e6||r<e6)&&l)&&(s++,s===gn&&s++),s>G7&&(s=s-G7+Yi-1),o>B7?(o=o-B7+Yi-1,l=!0):l=!1,(o===gn||a<gn&&o>gn||(o>gn||a<gn)&&l)&&o++,(o===e6||a<e6&&o>e6||(o>e6||a<e6)&&l)&&(o++,o===gn&&o++),o>B7&&(o=o-B7+Yi-1);var c=String.fromCharCode(s)+String.fromCharCode(o);return c}function SS(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 s=parseInt(i,10);if(a===0||a+3>e)throw"MGRSPoint bad conversion from: "+n;var o=n.charAt(a++);if(o<="A"||o==="B"||o==="Y"||o>="Z"||o==="I"||o==="O")throw"MGRSPoint zone letter "+o+" not handled: "+n;t=n.substring(a,a+=2);for(var l=bS(s),c=vz(t.charAt(0),l),d=_z(t.charAt(1),l);d<bz(o);)d+=2e6;var f=e-a;if(f%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 p=f/2,y=0,w=0,M,P,D,B,V;return p>0&&(M=1e5/Math.pow(10,p),P=n.substring(a,a+p),y=parseFloat(P)*M,D=n.substring(a+p),w=parseFloat(D)*M),B=y+c,V=w+d,{easting:B,northing:V,zoneLetter:o,zoneNumber:s,accuracy:M}}function vz(n,e){for(var t=pS.charCodeAt(e-1),i=1e5,r=!1;t!==n.charCodeAt(0);){if(t++,t===gn&&t++,t===e6&&t++,t>G7){if(r)throw"Bad character: "+n;t=Yi,r=!0}i+=1e5}return i}function _z(n,e){if(n>"V")throw"MGRSPoint given invalid Northing "+n;for(var t=yS.charCodeAt(e-1),i=0,r=!1;t!==n.charCodeAt(0);){if(t++,t===gn&&t++,t===e6&&t++,t>B7){if(r)throw"Bad character: "+n;t=Yi,r=!0}i+=1e5}return i}function bz(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 f4(n,e,t){if(!(this instanceof f4))return new f4(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")}f4.fromMGRS=function(n){return new f4(_S(n))};f4.prototype.toMGRS=function(n){return vS([this.x,this.y],n)};var Sz=1,wz=.25,uv=.046875,cv=.01953125,dv=.01068115234375,Cz=.75,Tz=.46875,Az=.013020833333333334,xz=.007120768229166667,Ez=.3645833333333333,Pz=.005696614583333333,Mz=.3076171875;function tf(n){var e=[];e[0]=Sz-n*(wz+n*(uv+n*(cv+n*dv))),e[1]=n*(Cz-n*(uv+n*(cv+n*dv)));var t=n*n;return e[2]=t*(Tz-n*(Az+n*xz)),t*=n,e[3]=t*(Ez-n*Pz),e[4]=t*n*Mz,e}function T4(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 kz=20;function nf(n,e,t){for(var i=1/(1-e),r=n,a=kz;a;--a){var s=Math.sin(r),o=1-e*s*s;if(o=(T4(r,s,Math.cos(r),t)-n)*(o*Math.sqrt(o))*i,r-=o,Math.abs(o)<u1)return r}return r}function Rz(){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=tf(this.es),this.ml0=T4(this.lat0,Math.sin(this.lat0),Math.cos(this.lat0),this.en))}function Iz(n){var e=n.x,t=n.y,i=m1(e-this.long0,this.over),r,a,s,o=Math.sin(t),l=Math.cos(t);if(this.es){var d=l*i,f=Math.pow(d,2),p=this.ep2*Math.pow(l,2),y=Math.pow(p,2),w=Math.abs(l)>u1?Math.tan(t):0,M=Math.pow(w,2),P=Math.pow(M,2);r=1-this.es*Math.pow(o,2),d=d/Math.sqrt(r);var D=T4(t,o,l,this.en);a=this.a*(this.k0*d*(1+f/6*(1-M+p+f/20*(5-18*M+P+14*p-58*M*p+f/42*(61+179*P-P*M-479*M)))))+this.x0,s=this.a*(this.k0*(D-this.ml0+o*i*d/2*(1+f/12*(5-M+9*p+4*y+f/30*(61+P-58*M+270*p-330*M*p+f/56*(1385+543*P-P*M-3111*M))))))+this.y0}else{var c=l*Math.sin(i);if(Math.abs(Math.abs(c)-1)<u1)return 93;if(a=.5*this.a*this.k0*Math.log((1+c)/(1-c))+this.x0,s=l*Math.cos(i)/Math.sqrt(1-Math.pow(c,2)),c=Math.abs(s),c>=1){if(c-1>u1)return 93;s=0}else s=Math.acos(s);t<0&&(s=-s),s=this.a*this.k0*(s-this.lat0)+this.y0}return n.x=a,n.y=s,n}function Nz(n){var e,t,i,r,a=(n.x-this.x0)*(1/this.a),s=(n.y-this.y0)*(1/this.a);if(this.es)if(e=this.ml0+s/this.k0,t=nf(e,this.es,this.en),Math.abs(t)<Z3){var f=Math.sin(t),p=Math.cos(t),y=Math.abs(p)>u1?Math.tan(t):0,w=this.ep2*Math.pow(p,2),M=Math.pow(w,2),P=Math.pow(y,2),D=Math.pow(P,2);e=1-this.es*Math.pow(f,2);var B=a*Math.sqrt(e)/this.k0,V=Math.pow(B,2);e=e*y,i=t-e*V/(1-this.es)*.5*(1-V/12*(5+3*P-9*w*P+w-4*M-V/30*(61+90*P-252*w*P+45*D+46*w-V/56*(1385+3633*P+4095*D+1574*D*P)))),r=m1(this.long0+B*(1-V/6*(1+2*P+w-V/20*(5+28*P+24*D+8*w*P+6*w-V/42*(61+662*P+1320*D+720*D*P))))/p,this.over)}else i=Z3*jr(s),r=0;else{var o=Math.exp(a/this.k0),l=.5*(o-1/o),c=this.lat0+s/this.k0,d=Math.cos(c);e=Math.sqrt((1-Math.pow(d,2))/(1+Math.pow(l,2))),i=Math.asin(e),s<0&&(i=-i),l===0&&d===0?r=0:r=m1(Math.atan2(l,d)+this.long0,this.over)}return n.x=r,n.y=i,n}var Lz=["Fast_Transverse_Mercator","Fast Transverse Mercator"];const co={init:Rz,forward:Iz,inverse:Nz,names:Lz};function wS(n){var e=Math.exp(n);return e=(e-1/e)/2,e}function Tn(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 Fz(n){var e=1+n,t=e-1;return t===0?n:n*Math.log(e)/t}function Dz(n){var e=Math.abs(n);return e=Fz(e*(1+e/(Tn(1,e)+1))),n<0?-e:e}function rf(n,e){for(var t=2*Math.cos(2*e),i=n.length-1,r=n[i],a=0,s;--i>=0;)s=-a+t*r+n[i],a=r,r=s;return e+s*Math.sin(2*e)}function Oz(n,e){for(var t=2*Math.cos(e),i=n.length-1,r=n[i],a=0,s;--i>=0;)s=-a+t*r+n[i],a=r,r=s;return Math.sin(e)*s}function Bz(n){var e=Math.exp(n);return e=(e+1/e)/2,e}function CS(n,e,t){for(var i=Math.sin(e),r=Math.cos(e),a=wS(t),s=Bz(t),o=2*r*s,l=-2*i*a,c=n.length-1,d=n[c],f=0,p=0,y=0,w,M;--c>=0;)w=p,M=f,p=d,f=y,d=-w+o*p-l*f+n[c],y=-M+l*p+o*f;return o=i*s,l=r*a,[o*d-l*y,o*y+l*d]}function Gz(){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&&(co.init.apply(this),this.forward=co.forward,this.inverse=co.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=rf(this.cbg,this.lat0);this.Zb=-this.Qn*(i+Oz(this.gtu,2*i))}function jz(n){var e=m1(n.x-this.long0,this.over),t=n.y;t=rf(this.cbg,t);var i=Math.sin(t),r=Math.cos(t),a=Math.sin(e),s=Math.cos(e);t=Math.atan2(i,s*r),e=Math.atan2(a*r,Tn(i,r*s)),e=Dz(Math.tan(e));var o=CS(this.gtu,2*t,2*e);t=t+o[0],e=e+o[1];var l,c;return Math.abs(e)<=2.623395162778?(l=this.a*(this.Qn*e)+this.x0,c=this.a*(this.Qn*t+this.Zb)+this.y0):(l=1/0,c=1/0),n.x=l,n.y=c,n}function zz(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=CS(this.utg,2*t,2*e);t=t+a[0],e=e+a[1],e=Math.atan(wS(e));var s=Math.sin(t),o=Math.cos(t),l=Math.sin(e),c=Math.cos(e);t=Math.atan2(s*c,Tn(l,c*o)),e=Math.atan2(l,c*o),i=m1(e+this.long0,this.over),r=rf(this.cgb,t)}else i=1/0,r=1/0;return n.x=i,n.y=r,n}var Uz=["Extended_Transverse_Mercator","Extended Transverse Mercator","etmerc","Transverse_Mercator","Transverse Mercator","Gauss Kruger","Gauss_Kruger","tmerc"];const ho={init:Gz,forward:jz,inverse:zz,names:Uz};function $z(n,e){if(n===void 0){if(n=Math.floor((m1(e)+Math.PI)*30/Math.PI)+1,n<0)return 0;if(n>60)return 60}return n}var Wz="etmerc";function Vz(){var n=$z(this.zone,this.long0);if(n===void 0)throw new Error("unknown utm zone");this.lat0=0,this.long0=(6*Math.abs(n)-183)*Ve,this.x0=5e5,this.y0=this.utmSouth?1e7:0,this.k0=.9996,ho.init.apply(this),this.forward=ho.forward,this.inverse=ho.inverse}var Hz=["Universal Transverse Mercator System","utm"];const Yz={init:Vz,names:Hz,dependsOn:Wz};function af(n,e){return Math.pow((1-n)/(1+n),e)}var Kz=20;function qz(){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+J0)/(Math.pow(Math.tan(.5*this.lat0+J0),this.C)*af(this.e*n,this.ratexp))}function Xz(n){var e=n.x,t=n.y;return n.y=2*Math.atan(this.K*Math.pow(Math.tan(.5*t+J0),this.C)*af(this.e*Math.sin(t),this.ratexp))-Z3,n.x=this.C*e,n}function Zz(n){for(var e=1e-14,t=n.x/this.C,i=n.y,r=Math.pow(Math.tan(.5*i+J0)/this.K,1/this.C),a=Kz;a>0&&(i=2*Math.atan(r*af(this.e*Math.sin(n.y),-.5*this.e))-Z3,!(Math.abs(i-n.y)<e));--a)n.y=i;return a?(n.x=t,n.y=i,n):null}var Jz=["gauss"];const sf={init:qz,forward:Xz,inverse:Zz,names:Jz};function Qz(){sf.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 eU(n){var e,t,i,r;return n.x=m1(n.x-this.long0,this.over),sf.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 tU(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=Tn(n.x,n.y)){var s=2*Math.atan2(a,this.R2);e=Math.sin(s),t=Math.cos(s),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,sf.inverse.apply(this,[n]),n.x=m1(n.x+this.long0,this.over),n}var nU=["Stereographic_North_Pole","Oblique_Stereographic","sterea","Oblique Stereographic Alternative","Double_Stereographic"];const iU={init:Qz,forward:eU,inverse:tU,names:nU};function of(n,e,t){return e*=t,Math.tan(.5*(Z3+n))*Math.pow((1-e)/(1+e),.5*t)}function rU(){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)<=u1&&(this.k0=.5*(1+jr(this.lat0)*Math.sin(this.lat_ts))):(Math.abs(this.coslat0)<=u1&&(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)<=u1&&Math.abs(Math.cos(this.lat_ts))>u1&&(this.k0=.5*this.cons*u5(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts))/x6(this.e,this.con*this.lat_ts,this.con*Math.sin(this.lat_ts))),this.ms1=u5(this.e,this.sinlat0,this.coslat0),this.X0=2*Math.atan(of(this.lat0,this.sinlat0,this.e))-Z3,this.cosX0=Math.cos(this.X0),this.sinX0=Math.sin(this.X0))}function aU(n){var e=n.x,t=n.y,i=Math.sin(t),r=Math.cos(t),a,s,o,l,c,d,f=m1(e-this.long0,this.over);return Math.abs(Math.abs(e-this.long0)-Math.PI)<=u1&&Math.abs(t+this.lat0)<=u1?(n.x=NaN,n.y=NaN,n):this.sphere?(a=2*this.k0/(1+this.sinlat0*i+this.coslat0*r*Math.cos(f)),n.x=this.a*a*r*Math.sin(f)+this.x0,n.y=this.a*a*(this.coslat0*i-this.sinlat0*r*Math.cos(f))+this.y0,n):(s=2*Math.atan(of(t,i,this.e))-Z3,l=Math.cos(s),o=Math.sin(s),Math.abs(this.coslat0)<=u1?(c=x6(this.e,t*this.con,this.con*i),d=2*this.a*this.k0*c/this.cons,n.x=this.x0+d*Math.sin(e-this.long0),n.y=this.y0-this.con*d*Math.cos(e-this.long0),n):(Math.abs(this.sinlat0)<u1?(a=2*this.a*this.k0/(1+l*Math.cos(f)),n.y=a*o):(a=2*this.a*this.k0*this.ms1/(this.cosX0*(1+this.sinX0*o+this.cosX0*l*Math.cos(f))),n.y=a*(this.cosX0*o-this.sinX0*l*Math.cos(f))+this.y0),n.x=a*l*Math.sin(f)+this.x0,n))}function sU(n){n.x-=this.x0,n.y-=this.y0;var e,t,i,r,a,s=Math.sqrt(n.x*n.x+n.y*n.y);if(this.sphere){var o=2*Math.atan(s/(2*this.a*this.k0));return e=this.long0,t=this.lat0,s<=u1?(n.x=e,n.y=t,n):(t=Math.asin(Math.cos(o)*this.sinlat0+n.y*Math.sin(o)*this.coslat0/s),Math.abs(this.coslat0)<u1?this.lat0>0?e=m1(this.long0+Math.atan2(n.x,-1*n.y),this.over):e=m1(this.long0+Math.atan2(n.x,n.y),this.over):e=m1(this.long0+Math.atan2(n.x*Math.sin(o),s*this.coslat0*Math.cos(o)-n.y*this.sinlat0*Math.sin(o)),this.over),n.x=e,n.y=t,n)}else if(Math.abs(this.coslat0)<=u1){if(s<=u1)return t=this.lat0,e=this.long0,n.x=e,n.y=t,n;n.x*=this.con,n.y*=this.con,i=s*this.cons/(2*this.a*this.k0),t=this.con*yr(this.e,i),e=this.con*m1(this.con*this.long0+Math.atan2(n.x,-1*n.y),this.over)}else r=2*Math.atan(s*this.cosX0/(2*this.a*this.k0*this.ms1)),e=this.long0,s<=u1?a=this.X0:(a=Math.asin(Math.cos(r)*this.sinX0+n.y*Math.sin(r)*this.cosX0/s),e=m1(this.long0+Math.atan2(n.x*Math.sin(r),s*this.cosX0*Math.cos(r)-n.y*this.sinX0*Math.sin(r)),this.over)),t=-1*yr(this.e,Math.tan(.5*(Z3+a)));return n.x=e,n.y=t,n}var oU=["stere","Stereographic_South_Pole","Polar_Stereographic_variant_A","Polar_Stereographic_variant_B","Polar_Stereographic"];const lU={init:rU,forward:aU,inverse:sU,names:oU,ssfn_:of};function uU(){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),s=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 o=Math.log(Math.tan(Math.PI/4+this.b0/2)),l=Math.log(Math.tan(Math.PI/4+n/2)),c=Math.log((1+s*e)/(1-s*e));this.K=o-this.alpha*l+this.alpha*s/2*c}function cU(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),s=Math.atan(Math.sin(a)/(Math.sin(this.b0)*Math.tan(r)+Math.cos(this.b0)*Math.cos(a))),o=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(o))/(1-Math.sin(o)))+this.y0,n.x=this.R*s+this.x0,n}function dU(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)),s=Math.atan(Math.sin(i)/(Math.cos(this.b0)*Math.cos(i)-Math.sin(this.b0)*Math.tan(r))),o=this.lambda0+s/this.alpha,l=0,c=a,d=-1e3,f=0;Math.abs(c-d)>1e-7;){if(++f>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(c))/2)),d=c,c=2*Math.atan(Math.exp(l))-Math.PI/2}return n.x=o,n.y=c,n}var hU=["somerc"];const fU={init:uU,forward:cU,inverse:dU,names:hU};var Di=1e-7;function mU(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(hS(t))!==-1}function gU(){var n,e,t,i,r,a,s,o,l,c,d=0,f,p=0,y=0,w=0,M=0,P=0,D=0;this.no_off=mU(this),this.no_rot="no_rot"in this;var B=!1;"alpha"in this&&(B=!0);var V=!1;if("rectified_grid_angle"in this&&(V=!0),B&&(D=this.alpha),V&&(d=this.rectified_grid_angle,B||(D=0,B=!0)),B||V)p=this.longc;else if(y=this.long1,M=this.lat1,w=this.long2,P=this.lat2,Math.abs(M-P)<=Di||(n=Math.abs(M))<=Di||Math.abs(n-Z3)<=Di||Math.abs(Math.abs(this.lat0)-Z3)<=Di||Math.abs(Math.abs(P)-Z3)<=Di)throw new Error;var Y=1-this.es;e=Math.sqrt(Y),Math.abs(this.lat0)>u1?(o=Math.sin(this.lat0),t=Math.cos(this.lat0),n=1-this.es*o*o,this.B=t*t,this.B=Math.sqrt(1+this.es*this.B*this.B/Y),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(x6(this.e,this.lat0,o),this.B)):(this.B=1/e,this.A=this.k0,this.E=i=r=1),B||V?(B?(f=Math.asin(Math.sin(D)/i),V||(d=D)):(f=d,D=Math.asin(i*Math.sin(f))),this.lam0=p-Math.asin(.5*(r-1/r)*Math.tan(f))/this.B):(a=Math.pow(x6(this.e,M,Math.sin(M)),this.B),s=Math.pow(x6(this.e,P,Math.sin(P)),this.B),r=this.E/a,l=(s-a)/(s+a),c=this.E*this.E,c=(c-s*a)/(c+s*a),n=y-w,n<-Math.PI?w-=gr:n>Math.PI&&(w+=gr),this.lam0=m1(.5*(y+w)-Math.atan(c*Math.tan(.5*this.B*(y-w))/l)/this.B,this.over),f=Math.atan(2*Math.sin(this.B*m1(y-this.lam0,this.over))/(r-1/r)),d=D=Math.asin(i*Math.sin(f))),this.singam=Math.sin(f),this.cosgam=Math.cos(f),this.sinrot=Math.sin(d),this.cosrot=Math.cos(d),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(D))),this.lat0<0&&(this.u_0=-this.u_0)),r=.5*f,this.v_pole_n=this.ArB*Math.log(Math.tan(J0-r)),this.v_pole_s=this.ArB*Math.log(Math.tan(J0+r))}function pU(n){var e={},t,i,r,a,s,o,l,c;if(n.x=n.x-this.lam0,Math.abs(Math.abs(n.y)-Z3)>u1){if(s=this.E/Math.pow(x6(this.e,n.y,Math.sin(n.y)),this.B),o=1/s,t=.5*(s-o),i=.5*(s+o),a=Math.sin(this.B*n.x),r=(t*this.singam-a*this.cosgam)/i,Math.abs(Math.abs(r)-1)<u1)throw new Error;c=.5*this.ArB*Math.log((1-r)/(1+r)),o=Math.cos(this.B*n.x),Math.abs(o)<Di?l=this.A*n.x:l=this.ArB*Math.atan2(t*this.cosgam+a*this.singam,o)}else c=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=c):(l-=this.u_0,e.x=c*this.cosrot+l*this.sinrot,e.y=l*this.cosrot-c*this.sinrot),e.x=this.a*e.x+this.x0,e.y=this.a*e.y+this.y0,e}function yU(n){var e,t,i,r,a,s,o,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),s=Math.sin(this.BrA*e),o=(s*this.cosgam+r*this.singam)/a,Math.abs(Math.abs(o)-1)<u1)l.x=0,l.y=o<0?-Z3:Z3;else{if(l.y=this.E/Math.sqrt((1+o)/(1-o)),l.y=yr(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-s*this.singam,Math.cos(this.BrA*e))}return l.x+=this.lam0,l}var vU=["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 _U={init:gU,forward:pU,inverse:yU,names:vU};function bU(){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)<u1)){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=u5(this.e,e,t),r=x6(this.e,this.lat1,e),a=Math.sin(this.lat2),s=Math.cos(this.lat2),o=u5(this.e,a,s),l=x6(this.e,this.lat2,a),c=Math.abs(Math.abs(this.lat0)-Z3)<u1?0:x6(this.e,this.lat0,Math.sin(this.lat0));Math.abs(this.lat1-this.lat2)>u1?this.ns=Math.log(i/o)/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(c,this.ns),this.title||(this.title="Lambert Conformal Conic")}}function SU(n){var e=n.x,t=n.y;Math.abs(2*Math.abs(t)-Math.PI)<=u1&&(t=jr(t)*(Z3-2*u1));var i=Math.abs(Math.abs(t)-Z3),r,a;if(i>u1)r=x6(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 s=this.ns*m1(e-this.long0,this.over);return n.x=this.k0*(a*Math.sin(s))+this.x0,n.y=this.k0*(this.rh-a*Math.cos(s))+this.y0,n}function wU(n){var e,t,i,r,a,s=(n.x-this.x0)/this.k0,o=this.rh-(n.y-this.y0)/this.k0;this.ns>0?(e=Math.sqrt(s*s+o*o),t=1):(e=-Math.sqrt(s*s+o*o),t=-1);var l=0;if(e!==0&&(l=Math.atan2(t*s,t*o)),e!==0||this.ns>0){if(t=1/this.ns,i=Math.pow(e/(this.a*this.f0),t),r=yr(this.e,i),r===-9999)return null}else r=-Z3;return a=m1(l/this.ns+this.long0,this.over),n.x=a,n.y=r,n}var CU=["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 TU={init:bU,forward:SU,inverse:wU,names:CU};function AU(){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 xU(n){var e,t,i,r,a,s,o,l=n.x,c=n.y,d=m1(l-this.long0,this.over);return e=Math.pow((1+this.e*Math.sin(c))/(1-this.e*Math.sin(c)),this.alfa*this.e/2),t=2*(Math.atan(this.k*Math.pow(Math.tan(c/2+this.s45),this.alfa)/e)-this.s45),i=-d*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)),s=this.n*a,o=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=o*Math.cos(s)/1,n.x=o*Math.sin(s)/1,this.czech||(n.y*=-1,n.x*=-1),n}function EU(n){var e,t,i,r,a,s,o,l,c=n.x;n.x=n.y,n.y=c,this.czech||(n.y*=-1,n.x*=-1),s=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/s,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,o=e,l=0;var d=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(o))/(1-this.e*Math.sin(o)),this.e/2))-this.s45),Math.abs(o-n.y)<1e-10&&(l=1),o=n.y,d+=1;while(l===0&&d<15);return d>=15?null:n}var PU=["Krovak","Krovak Modified","Krovak (North Orientated)","Krovak Modified (North Orientated)","krovak"];const MU={init:AU,forward:xU,inverse:EU,names:PU};function sn(n,e,t,i,r){return n*r-e*Math.sin(2*r)+t*Math.sin(4*r)-i*Math.sin(6*r)}function zr(n){return 1-.25*n*(1+n/16*(3+1.25*n))}function Ur(n){return .375*n*(1+.25*n*(1+.46875*n))}function $r(n){return .05859375*n*n*(1+.75*n)}function Wr(n){return n*n*n*(35/3072)}function lf(n,e,t){var i=e*t;return n/Math.sqrt(1-i*i)}function j9(n){return Math.abs(n)<Z3?n:n-jr(n)*Math.PI}function Oo(n,e,t,i,r){var a,s;a=n/e;for(var o=0;o<15;o++)if(s=(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+=s,Math.abs(s)<=1e-10)return a;return NaN}function kU(){this.sphere||(this.e0=zr(this.es),this.e1=Ur(this.es),this.e2=$r(this.es),this.e3=Wr(this.es),this.ml0=this.a*sn(this.e0,this.e1,this.e2,this.e3,this.lat0))}function RU(n){var e,t,i=n.x,r=n.y;if(i=m1(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),s=Math.cos(r),o=lf(this.a,this.e,a),l=Math.tan(r)*Math.tan(r),c=i*Math.cos(r),d=c*c,f=this.es*s*s/(1-this.es),p=this.a*sn(this.e0,this.e1,this.e2,this.e3,r);e=o*c*(1-d*l*(1/6-(8-l+8*f)*d/120)),t=p-this.ml0+o*a/s*d*(.5+(5-l+6*f)*d/24)}return n.x=e+this.x0,n.y=t+this.y0,n}function IU(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 s=this.ml0/this.a+t,o=Oo(s,this.e0,this.e1,this.e2,this.e3);if(Math.abs(Math.abs(o)-Z3)<=u1)return n.x=this.long0,n.y=Z3,t<0&&(n.y*=-1),n;var l=lf(this.a,this.e,Math.sin(o)),c=l*l*l/this.a/this.a*(1-this.es),d=Math.pow(Math.tan(o),2),f=e*this.a/l,p=f*f;i=o-l*Math.tan(o)/c*f*f*(.5-(1+3*d)*f*f/24),r=f*(1-p*(d/3+(1+3*d)*d*p/15))/Math.cos(o)}return n.x=m1(r+this.long0,this.over),n.y=j9(i),n}var NU=["Cassini","Cassini_Soldner","cass"];const LU={init:kU,forward:RU,inverse:IU,names:NU};function r5(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 FU=.3333333333333333,DU=.17222222222222222,OU=.10257936507936508,BU=.06388888888888888,GU=.0664021164021164,jU=.016415012942191543;function TS(n){var e,t=[];return t[0]=n*FU,e=n*n,t[0]+=e*DU,t[1]=e*BU,e*=n,t[0]+=e*OU,t[1]+=e*GU,t[2]=e*jU,t}function AS(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 Xd=1,Zd=2,Jd=3,fo=4;function zU(){var n=Math.abs(this.lat0);if(Math.abs(n-Z3)<u1?this.mode=this.lat0<0?Xd:Zd:Math.abs(n)<u1?this.mode=Jd:this.mode=fo,this.es>0){var e;switch(this.qp=r5(this.e,1),this.mmf=.5/(1-this.es),this.apa=TS(this.es),this.mode){case Zd:this.dd=1;break;case Xd:this.dd=1;break;case Jd:this.rq=Math.sqrt(.5*this.qp),this.dd=1/this.rq,this.xmf=1,this.ymf=.5*this.qp;break;case fo:this.rq=Math.sqrt(.5*this.qp),e=Math.sin(this.lat0),this.sinb1=r5(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===fo&&(this.sinph0=Math.sin(this.lat0),this.cosph0=Math.cos(this.lat0))}function UU(n){var e,t,i,r,a,s,o,l,c,d,f=n.x,p=n.y;if(f=m1(f-this.long0,this.over),this.sphere){if(a=Math.sin(p),d=Math.cos(p),i=Math.cos(f),this.mode===this.OBLIQ||this.mode===this.EQUIT){if(t=this.mode===this.EQUIT?1+d*i:1+this.sinph0*a+this.cosph0*d*i,t<=u1)return null;t=Math.sqrt(2/t),e=t*d*Math.sin(f),t*=this.mode===this.EQUIT?a:this.cosph0*a-this.sinph0*d*i}else if(this.mode===this.N_POLE||this.mode===this.S_POLE){if(this.mode===this.N_POLE&&(i=-i),Math.abs(p+this.lat0)<u1)return null;t=J0-p*.5,t=2*(this.mode===this.S_POLE?Math.cos(t):Math.sin(t)),e=t*Math.sin(f),t*=i}}else{switch(o=0,l=0,c=0,i=Math.cos(f),r=Math.sin(f),a=Math.sin(p),s=r5(this.e,a),(this.mode===this.OBLIQ||this.mode===this.EQUIT)&&(o=s/this.qp,l=Math.sqrt(1-o*o)),this.mode){case this.OBLIQ:c=1+this.sinb1*o+this.cosb1*l*i;break;case this.EQUIT:c=1+l*i;break;case this.N_POLE:c=Z3+p,s=this.qp-s;break;case this.S_POLE:c=p-Z3,s=this.qp+s;break}if(Math.abs(c)<u1)return null;switch(this.mode){case this.OBLIQ:case this.EQUIT:c=Math.sqrt(2/c),this.mode===this.OBLIQ?t=this.ymf*c*(this.cosb1*o-this.sinb1*l*i):t=(c=Math.sqrt(2/(1+l*i)))*o*this.ymf,e=this.xmf*c*l*r;break;case this.N_POLE:case this.S_POLE:s>=0?(e=(c=Math.sqrt(s))*r,t=i*(this.mode===this.S_POLE?c:-c)):e=t=0;break}}return n.x=this.a*e+this.x0,n.y=this.a*t+this.y0,n}function $U(n){n.x-=this.x0,n.y-=this.y0;var e=n.x/this.a,t=n.y/this.a,i,r,a,s,o,l,c;if(this.sphere){var d=0,f,p=0;if(f=Math.sqrt(e*e+t*t),r=f*.5,r>1)return null;switch(r=2*Math.asin(r),(this.mode===this.OBLIQ||this.mode===this.EQUIT)&&(p=Math.sin(r),d=Math.cos(r)),this.mode){case this.EQUIT:r=Math.abs(f)<=u1?0:Math.asin(t*p/f),e*=p,t=d*f;break;case this.OBLIQ:r=Math.abs(f)<=u1?this.lat0:Math.asin(d*this.sinph0+t*p*this.cosph0/f),e*=p*this.cosph0,t=(d-Math.sin(r)*this.sinph0)*f;break;case this.N_POLE:t=-t,r=Z3-r;break;case this.S_POLE:r-=Z3;break}i=t===0&&(this.mode===this.EQUIT||this.mode===this.OBLIQ)?0:Math.atan2(e,t)}else{if(c=0,this.mode===this.OBLIQ||this.mode===this.EQUIT){if(e/=this.dd,t*=this.dd,l=Math.sqrt(e*e+t*t),l<u1)return n.x=this.long0,n.y=this.lat0,n;s=2*Math.asin(.5*l/this.rq),a=Math.cos(s),e*=s=Math.sin(s),this.mode===this.OBLIQ?(c=a*this.sinb1+t*s*this.cosb1/l,o=this.qp*c,t=l*this.cosb1*a-t*this.sinb1*s):(c=t*s/l,o=this.qp*c,t=l*a)}else if(this.mode===this.N_POLE||this.mode===this.S_POLE){if(this.mode===this.N_POLE&&(t=-t),o=e*e+t*t,!o)return n.x=this.long0,n.y=this.lat0,n;c=1-o/this.qp,this.mode===this.S_POLE&&(c=-c)}i=Math.atan2(e,t),r=AS(Math.asin(c),this.apa)}return n.x=m1(this.long0+i,this.over),n.y=r,n}var WU=["Lambert Azimuthal Equal Area","Lambert_Azimuthal_Equal_Area","laea"];const VU={init:zU,forward:UU,inverse:$U,names:WU,S_POLE:Xd,N_POLE:Zd,EQUIT:Jd,OBLIQ:fo};function O9(n){return Math.abs(n)>1&&(n=n>1?1:-1),Math.asin(n)}function HU(){Math.abs(this.lat1+this.lat2)<u1||(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=u5(this.e3,this.sin_po,this.cos_po),this.qs1=r5(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=u5(this.e3,this.sin_po,this.cos_po),this.qs2=r5(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=r5(this.e3,this.sin_po),Math.abs(this.lat1-this.lat2)>u1?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 YU(n){var e=n.x,t=n.y;this.sin_phi=Math.sin(t),this.cos_phi=Math.cos(t);var i=r5(this.e3,this.sin_phi),r=this.a*Math.sqrt(this.c-this.ns0*i)/this.ns0,a=this.ns0*m1(e-this.long0,this.over),s=r*Math.sin(a)+this.x0,o=this.rh-r*Math.cos(a)+this.y0;return n.x=s,n.y=o,n}function KU(n){var e,t,i,r,a,s;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?s=Math.asin((this.c-i*i)/(2*this.ns0)):(t=(this.c-i*i)/this.ns0,s=this.phi1z(this.e3,t)),a=m1(r/this.ns0+this.long0,this.over),n.x=a,n.y=s,n}function qU(n,e){var t,i,r,a,s,o=O9(.5*e);if(n<u1)return o;for(var l=n*n,c=1;c<=25;c++)if(t=Math.sin(o),i=Math.cos(o),r=n*t,a=1-r*r,s=.5*a*a/i*(e/(1-l)-t/a+.5/n*Math.log((1-r)/(1+r))),o=o+s,Math.abs(s)<=1e-7)return o;return null}var XU=["Albers_Conic_Equal_Area","Albers_Equal_Area","Albers","aea"];const ZU={init:HU,forward:YU,inverse:KU,names:XU,phi1z:qU};function JU(){this.sin_p14=Math.sin(this.lat0),this.cos_p14=Math.cos(this.lat0),this.infinity_dist=1e3*this.a,this.rc=1}function QU(n){var e,t,i,r,a,s,o,l,c=n.x,d=n.y;return i=m1(c-this.long0,this.over),e=Math.sin(d),t=Math.cos(d),r=Math.cos(i),s=this.sin_p14*e+this.cos_p14*t*r,a=1,s>0||Math.abs(s)<=u1?(o=this.x0+this.a*a*t*Math.sin(i)/s,l=this.y0+this.a*a*(this.cos_p14*e-this.sin_p14*t*r)/s):(o=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=o,n.y=l,n}function e$(n){var e,t,i,r,a,s;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),s=O9(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=m1(this.long0+a,this.over)):(s=this.phic0,a=0),n.x=a,n.y=s,n}var t$=["gnom"];const n$={init:JU,forward:QU,inverse:e$,names:t$};function i$(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*Z3:Z3;for(var i=Math.asin(.5*e),r,a,s,o,l=0;l<30;l++)if(a=Math.sin(i),s=Math.cos(i),o=n*a,r=Math.pow(1-o*o,2)/(2*s)*(e/(1-n*n)-a/(1-o*o)+.5/n*Math.log((1-o)/(1+o))),i+=r,Math.abs(r)<=1e-10)return i;return NaN}function r$(){this.sphere||(this.k0=u5(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts)))}function a$(n){var e=n.x,t=n.y,i,r,a=m1(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 s=r5(this.e,Math.sin(t));i=this.x0+this.a*this.k0*a,r=this.y0+this.a*s*.5/this.k0}return n.x=i,n.y=r,n}function s$(n){n.x-=this.x0,n.y-=this.y0;var e,t;return this.sphere?(e=m1(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=i$(this.e,2*n.y*this.k0/this.a),e=m1(this.long0+n.x/(this.a*this.k0),this.over)),n.x=e,n.y=t,n}var o$=["cea"];const l$={init:r$,forward:a$,inverse:s$,names:o$};function u$(){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 c$(n){var e=n.x,t=n.y,i=m1(e-this.long0,this.over),r=j9(t-this.lat0);return n.x=this.x0+this.a*i*this.rc,n.y=this.y0+this.a*r,n}function d$(n){var e=n.x,t=n.y;return n.x=m1(this.long0+(e-this.x0)/(this.a*this.rc),this.over),n.y=j9(this.lat0+(t-this.y0)/this.a),n}var h$=["Equirectangular","Equidistant_Cylindrical","Equidistant_Cylindrical_Spherical","eqc"];const f$={init:u$,forward:c$,inverse:d$,names:h$};var hv=20;function m$(){this.temp=this.b/this.a,this.es=1-Math.pow(this.temp,2),this.e=Math.sqrt(this.es),this.e0=zr(this.es),this.e1=Ur(this.es),this.e2=$r(this.es),this.e3=Wr(this.es),this.ml0=this.a*sn(this.e0,this.e1,this.e2,this.e3,this.lat0)}function g$(n){var e=n.x,t=n.y,i,r,a,s=m1(e-this.long0,this.over);if(a=s*Math.sin(t),this.sphere)Math.abs(t)<=u1?(i=this.a*s,r=-1*this.a*this.lat0):(i=this.a*Math.sin(a)/Math.tan(t),r=this.a*(j9(t-this.lat0)+(1-Math.cos(a))/Math.tan(t)));else if(Math.abs(t)<=u1)i=this.a*s,r=-1*this.ml0;else{var o=lf(this.a,this.e,Math.sin(t))/Math.tan(t);i=o*Math.sin(a),r=this.a*sn(this.e0,this.e1,this.e2,this.e3,t)-this.ml0+o*(1-Math.cos(a))}return n.x=i+this.x0,n.y=r+this.y0,n}function p$(n){var e,t,i,r,a,s,o,l,c;if(i=n.x-this.x0,r=n.y-this.y0,this.sphere)if(Math.abs(r+this.a*this.lat0)<=u1)e=m1(i/this.a+this.long0,this.over),t=0;else{s=this.lat0+r/this.a,o=i*i/this.a/this.a+s*s,l=s;var d;for(a=hv;a;--a)if(d=Math.tan(l),c=-1*(s*(l*d+1)-l-.5*(l*l+o)*d)/((l-s)/d-1),l+=c,Math.abs(c)<=u1){t=l;break}e=m1(this.long0+Math.asin(i*Math.tan(l)/this.a)/Math.sin(t),this.over)}else if(Math.abs(r+this.ml0)<=u1)t=0,e=m1(this.long0+i/this.a,this.over);else{s=(this.ml0+r)/this.a,o=i*i/this.a/this.a+s*s,l=s;var f,p,y,w,M;for(a=hv;a;--a)if(M=this.e*Math.sin(l),f=Math.sqrt(1-M*M)*Math.tan(l),p=this.a*sn(this.e0,this.e1,this.e2,this.e3,l),y=this.e0-2*this.e1*Math.cos(2*l)+4*this.e2*Math.cos(4*l)-6*this.e3*Math.cos(6*l),w=p/this.a,c=(s*(f*w+1)-w-.5*f*(w*w+o))/(this.es*Math.sin(2*l)*(w*w+o-2*s*w)/(4*f)+(s-w)*(f*y-2/Math.sin(2*l))-y),l-=c,Math.abs(c)<=u1){t=l;break}f=Math.sqrt(1-this.es*Math.pow(Math.sin(t),2))*Math.tan(t),e=m1(this.long0+Math.asin(i*f/this.a)/Math.sin(t),this.over)}return n.x=e,n.y=t,n}var y$=["Polyconic","American_Polyconic","poly"];const v$={init:m$,forward:g$,inverse:p$,names:y$};function _$(){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 b$(n){var e,t=n.x,i=n.y,r=i-this.lat0,a=t-this.long0,s=r/q7*1e-5,o=a,l=1,c=0;for(e=1;e<=10;e++)l=l*s,c=c+this.A[e]*l;var d=c,f=o,p=1,y=0,w,M,P=0,D=0;for(e=1;e<=6;e++)w=p*d-y*f,M=y*d+p*f,p=w,y=M,P=P+this.B_re[e]*p-this.B_im[e]*y,D=D+this.B_im[e]*p+this.B_re[e]*y;return n.x=D*this.a+this.x0,n.y=P*this.a+this.y0,n}function S$(n){var e,t=n.x,i=n.y,r=t-this.x0,a=i-this.y0,s=a/this.a,o=r/this.a,l=1,c=0,d,f,p=0,y=0;for(e=1;e<=6;e++)d=l*s-c*o,f=c*s+l*o,l=d,c=f,p=p+this.C_re[e]*l-this.C_im[e]*c,y=y+this.C_im[e]*l+this.C_re[e]*c;for(var w=0;w<this.iterations;w++){var M=p,P=y,D,B,V=s,Y=o;for(e=2;e<=6;e++)D=M*p-P*y,B=P*p+M*y,M=D,P=B,V=V+(e-1)*(this.B_re[e]*M-this.B_im[e]*P),Y=Y+(e-1)*(this.B_im[e]*M+this.B_re[e]*P);M=1,P=0;var X=this.B_re[1],P2=this.B_im[1];for(e=2;e<=6;e++)D=M*p-P*y,B=P*p+M*y,M=D,P=B,X=X+e*(this.B_re[e]*M-this.B_im[e]*P),P2=P2+e*(this.B_im[e]*M+this.B_re[e]*P);var z2=X*X+P2*P2;p=(V*X+Y*P2)/z2,y=(Y*X-V*P2)/z2}var G2=p,N2=y,V2=1,Y2=0;for(e=1;e<=9;e++)V2=V2*G2,Y2=Y2+this.D[e]*V2;var o3=this.lat0+Y2*q7*1e5,r3=this.long0+N2;return n.x=r3,n.y=o3,n}var w$=["New_Zealand_Map_Grid","nzmg"];const C$={init:_$,forward:b$,inverse:S$,names:w$};function T$(){}function A$(n){var e=n.x,t=n.y,i=m1(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 x$(n){n.x-=this.x0,n.y-=this.y0;var e=m1(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 E$=["Miller_Cylindrical","mill"];const P$={init:T$,forward:A$,inverse:x$,names:E$};var M$=20;function k$(){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=tf(this.es)}function xS(n){var e,t,i=n.x,r=n.y;if(i=m1(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),s=M$;s;--s){var o=(this.m*r+Math.sin(r)-a)/(this.m+Math.cos(r));if(r-=o,Math.abs(o)<u1)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),c=Math.cos(r);t=this.a*T4(r,l,c,this.en),e=this.a*i*c/Math.sqrt(1-this.es*l*l)}return n.x=e,n.y=t,n}function ES(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=O9((this.m*e+Math.sin(e))/this.n):this.n!==1&&(e=O9(Math.sin(e)/this.n)),i=m1(i+this.long0,this.over),e=j9(e)):(e=nf(n.y/this.a,this.es,this.en),r=Math.abs(e),r<Z3?(r=Math.sin(e),t=this.long0+n.x*Math.sqrt(1-this.es*r*r)/(this.a*Math.cos(e)),i=m1(t,this.over)):r-u1<Z3&&(i=this.long0)),n.x=i,n.y=e,n}var R$=["Sinusoidal","sinu"];const I$={init:k$,forward:xS,inverse:ES,names:R$};function N$(){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 L$=xS,F$=ES,D$=["Eckert_VI","eck6"];const O$={init:N$,forward:L$,inverse:F$,names:D$};function B$(){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 G$(n){for(var e=n.x,t=n.y,i=m1(e-this.long0,this.over),r=t,a=Math.PI*Math.sin(t);;){var s=-(r+Math.sin(r)-a)/(1+Math.cos(r));if(r+=s,Math.abs(s)<u1)break}r/=2,Math.PI/2-Math.abs(t)<u1&&(i=0);var o=.900316316158*this.a*i*Math.cos(r)+this.x0,l=1.4142135623731*this.a*Math.sin(r)+this.y0;return n.x=o,n.y=l,n}function j$(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=m1(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 z$=["Mollweide","moll"];const U$={init:B$,forward:G$,inverse:j$,names:z$};function $$(){Math.abs(this.lat1+this.lat2)<u1||(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=zr(this.es),this.e1=Ur(this.es),this.e2=$r(this.es),this.e3=Wr(this.es),this.sin_phi=Math.sin(this.lat1),this.cos_phi=Math.cos(this.lat1),this.ms1=u5(this.e,this.sin_phi,this.cos_phi),this.ml1=sn(this.e0,this.e1,this.e2,this.e3,this.lat1),Math.abs(this.lat1-this.lat2)<u1?this.ns=this.sin_phi:(this.sin_phi=Math.sin(this.lat2),this.cos_phi=Math.cos(this.lat2),this.ms2=u5(this.e,this.sin_phi,this.cos_phi),this.ml2=sn(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=sn(this.e0,this.e1,this.e2,this.e3,this.lat0),this.rh=this.a*(this.g-this.ml0))}function W$(n){var e=n.x,t=n.y,i;if(this.sphere)i=this.a*(this.g-t);else{var r=sn(this.e0,this.e1,this.e2,this.e3,t);i=this.a*(this.g-r)}var a=this.ns*m1(e-this.long0,this.over),s=this.x0+i*Math.sin(a),o=this.y0+this.rh-i*Math.cos(a);return n.x=s,n.y=o,n}function V$(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=m1(this.long0+a/this.ns,this.over),i=j9(this.g-t/this.a),n.x=r,n.y=i,n;var s=this.g-t/this.a;return i=Oo(s,this.e0,this.e1,this.e2,this.e3),r=m1(this.long0+a/this.ns,this.over),n.x=r,n.y=i,n}var H$=["Equidistant_Conic","eqdc"];const Y$={init:$$,forward:W$,inverse:V$,names:H$};function K$(){this.R=this.a}function q$(n){var e=n.x,t=n.y,i=m1(e-this.long0,this.over),r,a;Math.abs(t)<=u1&&(r=this.x0+this.R*i,a=this.y0);var s=O9(2*Math.abs(t/Math.PI));(Math.abs(i)<=u1||Math.abs(Math.abs(t)-Z3)<=u1)&&(r=this.x0,t>=0?a=this.y0+Math.PI*this.R*Math.tan(.5*s):a=this.y0+Math.PI*this.R*-Math.tan(.5*s));var o=.5*Math.abs(Math.PI/i-i/Math.PI),l=o*o,c=Math.sin(s),d=Math.cos(s),f=d/(c+d-1),p=f*f,y=f*(2/c-1),w=y*y,M=Math.PI*this.R*(o*(f-w)+Math.sqrt(l*(f-w)*(f-w)-(w+l)*(p-w)))/(w+l);i<0&&(M=-M),r=this.x0+M;var P=l+f;return M=Math.PI*this.R*(y*P-o*Math.sqrt((w+l)*(l+1)-P*P))/(w+l),t>=0?a=this.y0+M:a=this.y0-M,n.x=r,n.y=a,n}function X$(n){var e,t,i,r,a,s,o,l,c,d,f,p,y;return n.x-=this.x0,n.y-=this.y0,f=Math.PI*this.R,i=n.x/f,r=n.y/f,a=i*i+r*r,s=-Math.abs(r)*(1+a),o=s-2*r*r+i*i,l=-2*s+1+2*r*r+a*a,y=r*r/l+(2*o*o*o/l/l/l-9*s*o/l/l)/27,c=(s-o*o/3/l)/l,d=2*Math.sqrt(-c/3),f=3*y/c/d,Math.abs(f)>1&&(f>=0?f=1:f=-1),p=Math.acos(f)/3,n.y>=0?t=(-d*Math.cos(p+Math.PI/3)-o/3/l)*Math.PI:t=-(-d*Math.cos(p+Math.PI/3)-o/3/l)*Math.PI,Math.abs(i)<u1?e=this.long0:e=m1(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 Z$=["Van_der_Grinten_I","VanDerGrinten","Van_der_Grinten","vandg"];const J$={init:K$,forward:q$,inverse:X$,names:Z$};function Q$(n,e,t,i,r,a){const s=i-e,o=Math.atan((1-a)*Math.tan(n)),l=Math.atan((1-a)*Math.tan(t)),c=Math.sin(o),d=Math.cos(o),f=Math.sin(l),p=Math.cos(l);let y=s,w,M=100,P,D,B,V,Y,X,P2,z2,G2,N2,V2,Y2,o3,r3;do{if(P=Math.sin(y),D=Math.cos(y),B=Math.sqrt(p*P*(p*P)+(d*f-c*p*D)*(d*f-c*p*D)),B===0)return{azi1:0,s12:0};V=c*f+d*p*D,Y=Math.atan2(B,V),X=d*p*P/B,P2=1-X*X,z2=P2!==0?V-2*c*f/P2:0,G2=a/16*P2*(4+a*(4-3*P2)),w=y,y=s+(1-G2)*a*X*(Y+G2*B*(z2+G2*V*(-1+2*z2*z2)))}while(Math.abs(y-w)>1e-12&&--M>0);return M===0?{azi1:NaN,s12:NaN}:(N2=P2*(r*r-r*(1-a)*(r*(1-a)))/(r*(1-a)*(r*(1-a))),V2=1+N2/16384*(4096+N2*(-768+N2*(320-175*N2))),Y2=N2/1024*(256+N2*(-128+N2*(74-47*N2))),o3=Y2*B*(z2+Y2/4*(V*(-1+2*z2*z2)-Y2/6*z2*(-3+4*B*B)*(-3+4*z2*z2))),r3=r*(1-a)*V2*(Y-o3),{azi1:Math.atan2(p*P,d*f-c*p*D),s12:r3})}function eW(n,e,t,i,r,a){const s=Math.atan((1-a)*Math.tan(n)),o=Math.sin(s),l=Math.cos(s),c=Math.sin(t),d=Math.cos(t),f=Math.atan2(o,l*d),p=l*c,y=1-p*p,w=y*(r*r-r*(1-a)*(r*(1-a)))/(r*(1-a)*(r*(1-a))),M=1+w/16384*(4096+w*(-768+w*(320-175*w))),P=w/1024*(256+w*(-128+w*(74-47*w)));let D=i/(r*(1-a)*M),B,V=100,Y,X,P2,z2;do Y=Math.cos(2*f+D),X=Math.sin(D),P2=Math.cos(D),z2=P*X*(Y+P/4*(P2*(-1+2*Y*Y)-P/6*Y*(-3+4*X*X)*(-3+4*Y*Y))),B=D,D=i/(r*(1-a)*M)+z2;while(Math.abs(D-B)>1e-12&&--V>0);if(V===0)return{lat2:NaN,lon2:NaN};const G2=o*X-l*P2*d,N2=Math.atan2(o*P2+l*X*d,(1-a)*Math.sqrt(p*p+G2*G2)),V2=Math.atan2(X*c,l*P2-o*X*d),Y2=a/16*y*(4+a*(4-3*y)),o3=V2-(1-Y2)*a*p*(D+Y2*X*(Y+Y2*P2*(-1+2*Y*Y))),r3=e+o3;return{lat2:N2,lon2:r3}}function tW(){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 nW(n){var e=n.x,t=n.y,i=Math.sin(n.y),r=Math.cos(n.y),a=m1(e-this.long0,this.over),s,o,l,c,d,f,p,y,w,M,P;return this.sphere?Math.abs(this.sin_p12-1)<=u1?(n.x=this.x0+this.a*(Z3-t)*Math.sin(a),n.y=this.y0-this.a*(Z3-t)*Math.cos(a),n):Math.abs(this.sin_p12+1)<=u1?(n.x=this.x0+this.a*(Z3+t)*Math.sin(a),n.y=this.y0+this.a*(Z3+t)*Math.cos(a),n):(w=this.sin_p12*i+this.cos_p12*r*Math.cos(a),p=Math.acos(w),y=p?p/Math.sin(p):1,n.x=this.x0+this.a*y*r*Math.sin(a),n.y=this.y0+this.a*y*(this.cos_p12*i-this.sin_p12*r*Math.cos(a)),n):(s=zr(this.es),o=Ur(this.es),l=$r(this.es),c=Wr(this.es),Math.abs(this.sin_p12-1)<=u1?(d=this.a*sn(s,o,l,c,Z3),f=this.a*sn(s,o,l,c,t),n.x=this.x0+(d-f)*Math.sin(a),n.y=this.y0-(d-f)*Math.cos(a),n):Math.abs(this.sin_p12+1)<=u1?(d=this.a*sn(s,o,l,c,Z3),f=this.a*sn(s,o,l,c,t),n.x=this.x0+(d+f)*Math.sin(a),n.y=this.y0+(d+f)*Math.cos(a),n):Math.abs(e)<u1&&Math.abs(t-this.lat0)<u1?(n.x=n.y=0,n):(M=Q$(this.lat0,this.long0,t,e,this.a,this.f),P=M.azi1,n.x=M.s12*Math.sin(P),n.y=M.s12*Math.cos(P),n))}function iW(n){n.x-=this.x0,n.y-=this.y0;var e,t,i,r,a,s,o,l,c,d,f,p,y,w,M,P;return this.sphere?(e=Math.sqrt(n.x*n.x+n.y*n.y),e>2*Z3*this.a?void 0:(t=e/this.a,i=Math.sin(t),r=Math.cos(t),a=this.long0,Math.abs(e)<=u1?s=this.lat0:(s=O9(r*this.sin_p12+n.y*i*this.cos_p12/e),o=Math.abs(this.lat0)-Z3,Math.abs(o)<=u1?this.lat0>=0?a=m1(this.long0+Math.atan2(n.x,-n.y),this.over):a=m1(this.long0-Math.atan2(-n.x,n.y),this.over):a=m1(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=s,n)):(l=zr(this.es),c=Ur(this.es),d=$r(this.es),f=Wr(this.es),Math.abs(this.sin_p12-1)<=u1?(p=this.a*sn(l,c,d,f,Z3),e=Math.sqrt(n.x*n.x+n.y*n.y),y=p-e,s=Oo(y/this.a,l,c,d,f),a=m1(this.long0+Math.atan2(n.x,-1*n.y),this.over),n.x=a,n.y=s,n):Math.abs(this.sin_p12+1)<=u1?(p=this.a*sn(l,c,d,f,Z3),e=Math.sqrt(n.x*n.x+n.y*n.y),y=e-p,s=Oo(y/this.a,l,c,d,f),a=m1(this.long0+Math.atan2(n.x,n.y),this.over),n.x=a,n.y=s,n):(w=Math.atan2(n.x,n.y),M=Math.sqrt(n.x*n.x+n.y*n.y),P=eW(this.lat0,this.long0,w,M,this.a,this.f),n.x=P.lon2,n.y=P.lat2,n))}var rW=["Azimuthal_Equidistant","aeqd"];const aW={init:tW,forward:nW,inverse:iW,names:rW};function sW(){this.sin_p14=Math.sin(this.lat0||0),this.cos_p14=Math.cos(this.lat0||0)}function oW(n){var e,t,i,r,a,s,o,l,c=n.x,d=n.y;return i=m1(c-(this.long0||0),this.over),e=Math.sin(d),t=Math.cos(d),r=Math.cos(i),s=this.sin_p14*e+this.cos_p14*t*r,a=1,(s>0||Math.abs(s)<=u1)&&(o=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=o,n.y=l,n}function lW(n){var e,t,i,r,a,s,o,l,c;return n.x-=this.x0||0,n.y-=this.y0||0,e=Math.sqrt(n.x*n.x+n.y*n.y),t=O9(e/this.a),i=Math.sin(t),r=Math.cos(t),l=this.long0||0,c=this.lat0||0,s=l,Math.abs(e)<=u1?(o=c,n.x=s,n.y=o,n):(o=O9(r*this.sin_p14+n.y*i*this.cos_p14/e),a=Math.abs(c)-Z3,Math.abs(a)<=u1?(c>=0?s=m1(l+Math.atan2(n.x,-n.y),this.over):s=m1(l-Math.atan2(-n.x,n.y),this.over),n.x=s,n.y=o,n):(s=m1(l+Math.atan2(n.x*i,e*this.cos_p14*r-n.y*this.sin_p14*i),this.over),n.x=s,n.y=o,n))}var uW=["ortho"];const cW={init:sW,forward:oW,inverse:lW,names:uW};var Ge={FRONT:1,RIGHT:2,BACK:3,LEFT:4,TOP:5,BOTTOM:6},Q0={AREA_0:1,AREA_1:2,AREA_2:3,AREA_3:4};function dW(){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>=Z3-J0/2?this.face=Ge.TOP:this.lat0<=-(Z3-J0/2)?this.face=Ge.BOTTOM:Math.abs(this.long0)<=J0?this.face=Ge.FRONT:Math.abs(this.long0)<=Z3+J0?this.face=this.long0>0?Ge.RIGHT:Ge.LEFT:this.face=Ge.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 hW(n){var e={x:0,y:0},t,i,r,a,s,o,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===Ge.TOP)a=Z3-t,i>=J0&&i<=Z3+J0?(l.value=Q0.AREA_0,r=i-Z3):i>Z3+J0||i<=-(Z3+J0)?(l.value=Q0.AREA_1,r=i>0?i-Xe:i+Xe):i>-(Z3+J0)&&i<=-J0?(l.value=Q0.AREA_2,r=i+Z3):(l.value=Q0.AREA_3,r=i);else if(this.face===Ge.BOTTOM)a=Z3+t,i>=J0&&i<=Z3+J0?(l.value=Q0.AREA_0,r=-i+Z3):i<J0&&i>=-J0?(l.value=Q0.AREA_1,r=-i):i<-J0&&i>=-(Z3+J0)?(l.value=Q0.AREA_2,r=-i-Z3):(l.value=Q0.AREA_3,r=i>0?-i+Xe:-i-Xe);else{var c,d,f,p,y,w,M;this.face===Ge.RIGHT?i=i4(i,+Z3):this.face===Ge.BACK?i=i4(i,+Xe):this.face===Ge.LEFT&&(i=i4(i,-Z3)),p=Math.sin(t),y=Math.cos(t),w=Math.sin(i),M=Math.cos(i),c=y*M,d=y*w,f=p,this.face===Ge.FRONT?(a=Math.acos(c),r=js(a,f,d,l)):this.face===Ge.RIGHT?(a=Math.acos(d),r=js(a,f,-c,l)):this.face===Ge.BACK?(a=Math.acos(-c),r=js(a,f,-d,l)):this.face===Ge.LEFT?(a=Math.acos(-d),r=js(a,f,c,l)):(a=r=0,l.value=Q0.AREA_0)}return o=Math.atan(12/Xe*(r+Math.acos(Math.sin(r)*Math.cos(J0))-Z3)),s=Math.sqrt((1-Math.cos(a))/(Math.cos(o)*Math.cos(o))/(1-Math.cos(Math.atan(1/Math.cos(r))))),l.value===Q0.AREA_1?o+=Z3:l.value===Q0.AREA_2?o+=Xe:l.value===Q0.AREA_3&&(o+=1.5*Xe),e.x=s*Math.cos(o),e.y=s*Math.sin(o),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 fW(n){var e={lam:0,phi:0},t,i,r,a,s,o,l,c,d,f={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)?f.value=Q0.AREA_0:n.y>=0&&n.y>=Math.abs(n.x)?(f.value=Q0.AREA_1,t-=Z3):n.x<0&&-n.x>=Math.abs(n.y)?(f.value=Q0.AREA_2,t=t<0?t+Xe:t-Xe):(f.value=Q0.AREA_3,t+=Z3),d=Xe/12*Math.tan(t),s=Math.sin(d)/(Math.cos(d)-1/Math.sqrt(2)),o=Math.atan(s),r=Math.cos(t),a=Math.tan(i),l=1-r*r*a*a*(1-Math.cos(Math.atan(1/Math.cos(o)))),l<-1?l=-1:l>1&&(l=1),this.face===Ge.TOP)c=Math.acos(l),e.phi=Z3-c,f.value===Q0.AREA_0?e.lam=o+Z3:f.value===Q0.AREA_1?e.lam=o<0?o+Xe:o-Xe:f.value===Q0.AREA_2?e.lam=o-Z3:e.lam=o;else if(this.face===Ge.BOTTOM)c=Math.acos(l),e.phi=c-Z3,f.value===Q0.AREA_0?e.lam=-o+Z3:f.value===Q0.AREA_1?e.lam=-o:f.value===Q0.AREA_2?e.lam=-o-Z3:e.lam=o<0?-o-Xe:-o+Xe;else{var p,y,w;p=l,d=p*p,d>=1?w=0:w=Math.sqrt(1-d)*Math.sin(o),d+=w*w,d>=1?y=0:y=Math.sqrt(1-d),f.value===Q0.AREA_1?(d=y,y=-w,w=d):f.value===Q0.AREA_2?(y=-y,w=-w):f.value===Q0.AREA_3&&(d=y,y=w,w=-d),this.face===Ge.RIGHT?(d=p,p=-y,y=d):this.face===Ge.BACK?(p=-p,y=-y):this.face===Ge.LEFT&&(d=p,p=y,y=-d),e.phi=Math.acos(-w)-Z3,e.lam=Math.atan2(y,p),this.face===Ge.RIGHT?e.lam=i4(e.lam,-Z3):this.face===Ge.BACK?e.lam=i4(e.lam,-Xe):this.face===Ge.LEFT&&(e.lam=i4(e.lam,+Z3))}if(this.es!==0){var M,P,D;M=e.phi<0?1:0,P=Math.tan(e.phi),D=this.b/Math.sqrt(P*P+this.one_minus_f_squared),e.phi=Math.atan(Math.sqrt(this.a*this.a-D*D)/(this.one_minus_f*D)),M&&(e.phi=-e.phi)}return e.lam+=this.long0,n.x=e.lam,n.y=e.phi,n}function js(n,e,t,i){var r;return n<u1?(i.value=Q0.AREA_0,r=0):(r=Math.atan2(e,t),Math.abs(r)<=J0?i.value=Q0.AREA_0:r>J0&&r<=Z3+J0?(i.value=Q0.AREA_1,r-=Z3):r>Z3+J0||r<=-(Z3+J0)?(i.value=Q0.AREA_2,r=r>=0?r-Xe:r+Xe):(i.value=Q0.AREA_3,r+=Z3)),r}function i4(n,e){var t=n+e;return t<-Xe?t+=gr:t>+Xe&&(t-=gr),t}var mW=["Quadrilateralized Spherical Cube","Quadrilateralized_Spherical_Cube","qsc"];const gW={init:dW,forward:hW,inverse:fW,names:mW};var Qd=[[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]],j7=[[-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]],PS=.8487,MS=1.3523,kS=xn/5,pW=1/kS,Ki=18,Bo=function(n,e){return n[0]+e*(n[1]+e*(n[2]+e*n[3]))},yW=function(n,e){return n[1]+e*(2*n[2]+e*3*n[3])};function vW(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 _W(){this.x0=this.x0||0,this.y0=this.y0||0,this.long0=this.long0||0,this.es=0,this.title=this.title||"Robinson"}function bW(n){var e=m1(n.x-this.long0,this.over),t=Math.abs(n.y),i=Math.floor(t*kS);i<0?i=0:i>=Ki&&(i=Ki-1),t=xn*(t-pW*i);var r={x:Bo(Qd[i],t)*e,y:Bo(j7[i],t)};return n.y<0&&(r.y=-r.y),r.x=r.x*this.a*PS+this.x0,r.y=r.y*this.a*MS+this.y0,r}function SW(n){var e={x:(n.x-this.x0)/(this.a*PS),y:Math.abs(n.y-this.y0)/(this.a*MS)};if(e.y>=1)e.x/=Qd[Ki][0],e.y=n.y<0?-Z3:Z3;else{var t=Math.floor(e.y*Ki);for(t<0?t=0:t>=Ki&&(t=Ki-1);;)if(j7[t][0]>e.y)--t;else if(j7[t+1][0]<=e.y)++t;else break;var i=j7[t],r=5*(e.y-i[0])/(j7[t+1][0]-i[0]);r=vW(function(a){return(Bo(i,a)-e.y)/yW(i,a)},r,u1,100),e.x/=Bo(Qd[t],r),e.y=(5*t+r)*Ve,n.y<0&&(e.y=-e.y)}return e.x=m1(e.x+this.long0,this.over),e}var wW=["Robinson","robin"];const CW={init:_W,forward:bW,inverse:SW,names:wW};function TW(){this.name="geocent"}function AW(n){var e=mS(n,this.es,this.a);return e}function xW(n){var e=gS(n,this.es,this.a,this.b);return e}var EW=["Geocentric","geocentric","geocent","Geocent"];const PW={init:TW,forward:AW,inverse:xW,names:EW};var Vt={N_POLE:0,S_POLE:1,EQUIT:2,OBLIQ:3},E7={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 MW(){if(Object.keys(E7).forEach(function(t){if(typeof this[t]=="undefined")this[t]=E7[t].def;else{if(E7[t].num&&isNaN(this[t]))throw new Error("Invalid parameter value, must be numeric "+t+" = "+this[t]);E7[t].num&&(this[t]=parseFloat(this[t]))}E7[t].degrees&&(this[t]=this[t]*Ve)}.bind(this)),Math.abs(Math.abs(this.lat0)-Z3)<u1?this.mode=this.lat0<0?Vt.S_POLE:Vt.N_POLE:Math.abs(this.lat0)<u1?this.mode=Vt.EQUIT:(this.mode=Vt.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 kW(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 Vt.OBLIQ:a=this.sinph0*e+this.cosph0*t*i;break;case Vt.EQUIT:a=t*i;break;case Vt.S_POLE:a=-e;break;case Vt.N_POLE:a=e;break}switch(a=this.pn1/(this.p-a),r=a*t*Math.sin(n.x),this.mode){case Vt.OBLIQ:a*=this.cosph0*e-this.sinph0*t*i;break;case Vt.EQUIT:a*=e;break;case Vt.N_POLE:a*=-(t*i);break;case Vt.S_POLE:a*=t*i;break}var s,o;return s=a*this.cg+r*this.sg,o=1/(s*this.sw*this.h1+this.cw),r=(r*this.cg-a*this.sg)*this.cw*o,a=s*o,n.x=r*this.a,n.y=a*this.a,n}function RW(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=Tn(n.x,n.y);if(Math.abs(a)<u1)e.x=0,e.y=n.y;else{var s,o;switch(o=1-a*a*this.pfact,o=(this.p-Math.sqrt(o))/(this.pn1/a+a/this.pn1),s=Math.sqrt(1-o*o),this.mode){case Vt.OBLIQ:e.y=Math.asin(s*this.sinph0+n.y*o*this.cosph0/a),n.y=(s-this.sinph0*Math.sin(e.y))*a,n.x*=o*this.cosph0;break;case Vt.EQUIT:e.y=Math.asin(n.y*o/a),n.y=s*a,n.x*=o;break;case Vt.N_POLE:e.y=Math.asin(s),n.y=-n.y;break;case Vt.S_POLE:e.y=-Math.asin(s);break}e.x=Math.atan2(n.x,n.y)}return n.x=e.x+this.long0,n.y=e.y,n}var IW=["Tilted_Perspective","tpers"];const NW={init:MW,forward:kW,inverse:RW,names:IW};function LW(){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 FW(n){var e=n.x,t=n.y,i,r,a,s;if(e=e-this.long0,this.shape==="ellipse"){t=Math.atan(this.radius_p2*Math.tan(t));var o=this.radius_p/Tn(this.radius_p*Math.cos(t),Math.sin(t));if(r=o*Math.cos(e)*Math.cos(t),a=o*Math.sin(e)*Math.cos(t),s=o*Math.sin(t),(this.radius_g-r)*r-a*a-s*s*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/Tn(s,i)),n.y=this.radius_g_1*Math.atan(s/i)):(n.x=this.radius_g_1*Math.atan(a/i),n.y=this.radius_g_1*Math.atan(s/Tn(a,i)))}else this.shape==="sphere"&&(i=Math.cos(t),r=Math.cos(e)*i,a=Math.sin(e)*i,s=Math.sin(t),i=this.radius_g-r,this.flip_axis?(n.x=this.radius_g_1*Math.atan(a/Tn(s,i)),n.y=this.radius_g_1*Math.atan(s/i)):(n.x=this.radius_g_1*Math.atan(a/i),n.y=this.radius_g_1*Math.atan(s/Tn(a,i))));return n.x=n.x*this.a,n.y=n.y*this.a,n}function DW(n){var e=-1,t=0,i=0,r,a,s,o;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)*Tn(1,i)):(t=Math.tan(n.x/this.radius_g_1),i=Math.tan(n.y/this.radius_g_1)*Tn(1,t));var l=i/this.radius_p;if(r=t*t+l*l+e*e,a=2*this.radius_g*e,s=a*a-4*r*this.C,s<0)return n.x=Number.NaN,n.y=Number.NaN,n;o=(-a-Math.sqrt(s))/(2*r),e=this.radius_g+o*e,t*=o,i*=o,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,s=a*a-4*r*this.C,s<0)return n.x=Number.NaN,n.y=Number.NaN,n;o=(-a-Math.sqrt(s))/(2*r),e=this.radius_g+o*e,t*=o,i*=o,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 OW=["Geostationary Satellite View","Geostationary_Satellite","geos"];const BW={init:LW,forward:FW,inverse:DW,names:OW};var X7=1.340264,Z7=-.081106,J7=893e-6,Q7=.003796,Go=Math.sqrt(3)/2;function GW(){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=TS(this.es),this.qp=r5(this.e,1),this.rqda=Math.sqrt(.5*this.qp))}function jW(n){var e=m1(n.x-this.long0,this.over),t=n.y,i=Math.sin(t);this.es!==0&&(i=r5(this.e,i)/this.qp);var r=Math.asin(Go*i),a=r*r,s=a*a*a;return n.x=e*Math.cos(r)/(Go*(X7+3*Z7*a+s*(7*J7+9*Q7*a))),n.y=r*(X7+Z7*a+s*(J7+Q7*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 zW(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,s,o,l,c;for(c=0;c<t&&(r=i*i,a=r*r*r,s=i*(X7+Z7*r+a*(J7+Q7*r))-n.y,o=X7+3*Z7*r+a*(7*J7+9*Q7*r),i-=l=s/o,!(Math.abs(l)<e));++c);return r=i*i,a=r*r*r,n.x=Go*n.x*(X7+3*Z7*r+a*(7*J7+9*Q7*r))/Math.cos(i),n.y=Math.asin(Math.sin(i)/Go),this.es!==0&&(n.y=AS(n.y,this.apa)),n.x=m1(n.x+this.long0,this.over),n}var UW=["eqearth","Equal Earth","Equal_Earth"];const $W={init:GW,forward:jW,inverse:zW,names:UW};var vr=1e-10;function WW(){var n;if(this.phi1=this.lat1,Math.abs(this.phi1)<vr)throw new Error;this.es?(this.en=tf(this.es),this.m1=T4(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=HW,this.forward=VW):(Math.abs(this.phi1)+vr>=Z3?this.cphi1=0:this.cphi1=1/Math.tan(this.phi1),this.inverse=KW,this.forward=YW)}function VW(n){var e=m1(n.x-(this.long0||0),this.over),t=n.y,i,r,a;return i=this.am1+this.m1-T4(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 HW(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=Tn(n.x,n.y=this.am1-n.y),r=nf(this.am1+this.m1-t,this.es,this.en),(e=Math.abs(r))<Z3)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-Z3)<=vr)i=0;else throw new Error;return n.x=m1(i+(this.long0||0),this.over),n.y=j9(r),n}function YW(n){var e=m1(n.x-(this.long0||0),this.over),t=n.y,i,r;return r=this.cphi1+this.phi1-t,Math.abs(r)>vr?(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 KW(n){n.x=(n.x-(this.x0||0))/this.a,n.y=(n.y-(this.y0||0))/this.a;var e,t,i=Tn(n.x,n.y=this.cphi1-n.y);if(t=this.cphi1+this.phi1-i,Math.abs(t)>Z3)throw new Error;return Math.abs(Math.abs(t)-Z3)<=vr?e=0:e=i*Math.atan2(n.x,n.y)/Math.cos(t),n.x=m1(e+(this.long0||0),this.over),n.y=j9(t),n}var qW=["bonne","Bonne (Werner lat_1=90)"];const XW={init:WW,names:qW},fv={OBLIQUE:{forward:tV,inverse:iV},TRANSVERSE:{forward:nV,inverse:rV}},jo={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 ZW(){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=cS.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=u6(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(jo),r=o=>{if(typeof this[o]=="undefined")return;const l=parseFloat(this[o])*Ve;if(isNaN(l))throw new Error("Invalid value for "+o+": "+this[o]);return l};for(let o=0;o<i.length;o++){const l=i[o],c=jo[l],d=Object.entries(c);if(d.some(([p])=>typeof this[p]!="undefined")){t=c;for(let p=0;p<d.length;p++){const[y,w]=d[p],M=r(y);if(typeof M=="undefined")throw new Error("Missing parameter: "+y+".");this[w]=M}break}}if(!t)throw new Error("No valid parameters provided for ob_tran projection.");const{lamp:a,phip:s}=eV(this,t);this.lamp=a,Math.abs(s)>u1?(this.cphip=Math.cos(s),this.sphip=Math.sin(s),this.projectionType=fv.OBLIQUE):this.projectionType=fv.TRANSVERSE}function JW(n){return this.projectionType.forward(this,n)}function QW(n){return this.projectionType.inverse(this,n)}function eV(n,e){let t,i;if(e===jo.ROTATE){let r=n.oLongC,a=n.oLatC,s=n.oAlpha;if(Math.abs(Math.abs(a)-Z3)<=u1)throw new Error("Invalid value for o_lat_c: "+n.o_lat_c+" should be < 90°");i=r+Math.atan2(-1*Math.cos(s),-1*Math.sin(s)*Math.sin(a)),t=Math.asin(Math.cos(a)*Math.sin(s))}else if(e===jo.NEW_POLE)i=n.oLongP,t=n.oLatP;else{let r=n.oLong1,a=n.oLat1,s=n.oLong2,o=n.oLat2,l=Math.abs(a);if(Math.abs(a)>Z3-u1)throw new Error("Invalid value for o_lat_1: "+n.o_lat_1+" should be < 90°");if(Math.abs(o)>Z3-u1)throw new Error("Invalid value for o_lat_2: "+n.o_lat_2+" should be < 90°");if(Math.abs(a-o)<u1)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<u1)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(o)*Math.cos(r)-Math.sin(a)*Math.cos(o)*Math.cos(s),Math.sin(a)*Math.cos(o)*Math.sin(s)-Math.cos(a)*Math.sin(o)*Math.sin(r)),t=Math.atan(-1*Math.cos(i-r)/Math.tan(a))}return{lamp:i,phip:t}}function tV(n,e){let{x:t,y:i}=e;t=m1(t-n.long0,n.over);const r=Math.cos(t),a=Math.sin(i),s=Math.cos(i);e.x=m1(Math.atan2(s*Math.sin(t),n.sphip*s*r+n.cphip*a)+n.lamp),e.y=Math.asin(n.sphip*a-n.cphip*s*r);const o=n.obliqueProjection.forward(e);return n.isIdentity&&(o.x*=xn,o.y*=xn),o}function nV(n,e){let{x:t,y:i}=e;t=m1(t-n.long0,n.over);const r=Math.cos(i),a=Math.cos(t);e.x=m1(Math.atan2(r*Math.sin(t),Math.sin(i))+n.lamp),e.y=Math.asin(-1*r*a);const s=n.obliqueProjection.forward(e);return n.isIdentity&&(s.x*=xn,s.y*=xn),s}function iV(n,e){n.isIdentity&&(e.x*=Ve,e.y*=Ve);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),s=Math.sin(r),o=Math.cos(r);e.x=Math.atan2(o*Math.sin(i),n.sphip*o*a-n.cphip*s),e.y=Math.asin(n.sphip*s+n.cphip*o*a)}return e.x=m1(e.x+n.long0),e}function rV(n,e){n.isIdentity&&(e.x*=Ve,e.y*=Ve);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=m1(e.x+n.long0),e}var aV=["General Oblique Transformation","General_Oblique_Transformation","ob_tran"];const sV={init:ZW,forward:JW,inverse:QW,names:aV};function oV(n){n.Proj.projections.add(co),n.Proj.projections.add(ho),n.Proj.projections.add(Yz),n.Proj.projections.add(iU),n.Proj.projections.add(lU),n.Proj.projections.add(fU),n.Proj.projections.add(_U),n.Proj.projections.add(TU),n.Proj.projections.add(MU),n.Proj.projections.add(LU),n.Proj.projections.add(VU),n.Proj.projections.add(ZU),n.Proj.projections.add(n$),n.Proj.projections.add(l$),n.Proj.projections.add(f$),n.Proj.projections.add(v$),n.Proj.projections.add(C$),n.Proj.projections.add(P$),n.Proj.projections.add(I$),n.Proj.projections.add(O$),n.Proj.projections.add(U$),n.Proj.projections.add(Y$),n.Proj.projections.add(J$),n.Proj.projections.add(aW),n.Proj.projections.add(cW),n.Proj.projections.add(gW),n.Proj.projections.add(CW),n.Proj.projections.add(PW),n.Proj.projections.add(NW),n.Proj.projections.add(BW),n.Proj.projections.add($W),n.Proj.projections.add(XW),n.Proj.projections.add(sV)}const El=Object.assign(cz,{defaultDatum:"WGS84",Proj:u6,WGS84:new u6("WGS84"),Point:f4,toPoint:Qh,defs:Lt,nadgrid:$j,transform:uz,mgrs:dz,version:"__VERSION__"});oV(El);try{let n=()=>new DecompressionStream("deflate-raw"),e=t=>new Response(t);n(),RS=t=>e(e(t).body.pipeThrough(n())).arrayBuffer().then(i=>new Uint8Array(i))}catch(n){}var RS,mv=new TextDecoder,zc=n=>{throw Error("but-unzip~"+n)};function*lV(n,e=RS){let t=n.length-21,i=t-65536,r=new DataView(n.buffer,n.byteOffset),a=l=>r.getUint16(l+t,1),s=l=>r.getUint32(l+t,1),o=(l,c)=>n.subarray(t+=l,t+=c);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&&zc(2),i=a(10),i-a(8)&&zc(3),t=s(16);i--;){let l=a(10),c=a(28),d=a(30),f=a(32),p=s(20),y=s(42),w=mv.decode(o(46,c)),M=mv.decode(o(d,f)),P=t,D;t=y,D=o(30+a(26)+a(28),p),yield{filename:w,comment:M,read:()=>l-8?l?zc(1):D:e(D)},t=P}}const uV=/.+\.(shp|dbf|json|prj|cpg)$/i,cV=n=>I3(void 0,null,function*(){const e={},t=[];for(const a of lV(n))uV.test(a.filename)&&t.push(Promise.resolve(a.read()).then(s=>e[a.filename]=s));yield Promise.all(t);const i={},r=new TextDecoder;for(const[a,s]of Object.entries(e))a.slice(-3).toLowerCase()==="shp"||a.slice(-3).toLowerCase()==="dbf"?i[a]=new DataView(s.buffer,s.byteOffset,s.byteLength):i[a]=r.decode(s);return i}),dV=globalThis.URL,hV=(n,e)=>{if(!e)return n;const t=new dV(n);return t.pathname=`${t.pathname}.${e}`,t.href};function _r(n,e){return I3(this,null,function*(){const t=hV(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 fV(n){let e=0,t=1;const i=n.length;let r,a;const s=[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]<s[0]&&(s[0]=a[0]),a[1]<s[1]&&(s[1]=a[1]),a[0]>s[2]&&(s[2]=a[0]),a[1]>s[3]&&(s[3]=a[1]);return{ring:n,clockWise:e>0,bbox:s,children:[]}}function gv(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 IS(n,e=!1){const t=[],i=[];for(const s of n){const o=fV(s);o.clockWise!==e?t.push(o):i.push(o)}const r=[];for(const s of i){let o;for(const l of t)gv(l,s)&&(o?gv(o,l)&&(o=l):o=l);o?o.children.push(s.ring):r.push(s)}if(e)return{outers:t,orphens:r};if(r.length&&!e){const s=IS(n,!0);if(s.orphens.length===0){const o=[];for(const l of s.outers)o.push([l.ring.toReversed()].concat(l.children.map(c=>c.toReversed())));return o}}const a=[];for(const s of t)a.push([s.ring].concat(s.children));return a}Qe.prototype.parsePoint=function(n){return{type:"Point",coordinates:this.parseCoord(n,0)}};Qe.prototype.parseZPoint=function(n){const e=this.parsePoint(n);return e.coordinates.push(n.getFloat64(16,!0)),e};Qe.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};Qe.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};Qe.prototype.parseArrayGroup=function(n,e,t,i,r){const a=[];let s=0,o,l=0,c;for(;s<i;)s++,t+=4,o=l,s===i?l=r:l=n.getInt32(t,!0),c=l-o,c&&(a.push(this.parsePointArray(n,e,c)),e+=c<<4);return a};Qe.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};Qe.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};Qe.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};Qe.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 s,o;return t===1?(e.type="LineString",s=44,e.coordinates=this.parsePointArray(n,s,a)):(e.type="MultiLineString",s=40+(t<<2),o=40,e.coordinates=this.parseArrayGroup(n,s,o,t,a)),e};Qe.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,s){return a+s.length},0)<<4)+(t<<2),e.coordinates=this.parseZArrayGroup(n,i,t,e.coordinates),e)};Qe.prototype.polyFuncs=function(n){return n&&(n.type==="LineString"?(n.type="Polygon",n.coordinates=[n.coordinates],n):(n.coordinates=IS(n.coordinates),n.coordinates.length===1?(n.type="Polygon",n.coordinates=n.coordinates[0],n):(n.type="MultiPolygon",n)))};Qe.prototype.parsePolygon=function(n){return this.polyFuncs(this.parsePolyline(n))};Qe.prototype.parseZPolygon=function(n){return this.polyFuncs(this.parseZPolyline(n))};const pv={1:"parsePoint",3:"parsePolyline",5:"parsePolygon",8:"parseMultiPoint",11:"parseZPoint",13:"parseZPolyline",15:"parseZPolygon",18:"parseZMultiPoint"};function mV(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 Qe(n,e){if(!(this instanceof Qe))return new Qe(n,e);this.buffer=n,this.headers=this.parseHeader(),this.shpFuncs(e),this.rows=this.getRows()}Qe.prototype.shpFuncs=function(n){let e=this.headers.shpCode;if(e>20&&(e-=20),!(e in pv))throw new Error(`I don't know shp type "${e}"`);this.parseFunc=this[pv[e]],this.parseCoord=mV(n)};Qe.prototype.getShpCode=function(){return this.parseHeader().shpCode};Qe.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)]}};Qe.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};Qe.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 uf(n,e){return new Qe(n,e).rows}var gV=/^(?:ANSI\s)?(\d+)$/m;function NS(n,e){if(!n)return i;try{new TextDecoder(n.trim())}catch(r){var t=gV.exec(n);return t&&!e?NS("windows-"+t[1],!0):(n=void 0,i)}return i;function i(r){var a=new TextDecoder(n||void 0),s=a.decode(r,{stream:!0})+a.decode();return s.replace(/\0/g,"").trim()}}function pV(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 yV(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 vV(n,e,t,i,r){const a=new Uint8Array(n.buffer.slice(n.byteOffset+e,n.byteOffset+e+t));var s=r(a);switch(i){case"N":case"F":case"O":return parseFloat(s,10);case"D":return new Date(s.slice(0,4),parseInt(s.slice(4,6),10)-1,s.slice(6,8));case"L":return s.toLowerCase()==="y"||s.toLowerCase()==="t";default:return s}}function _V(n,e,t,i){for(var r={},a=0,s=t.length,o,l;a<s;)l=t[a],o=vV(n,e,l.len,l.dataType,i),e+=l.len,typeof o!="undefined"&&(r[l.name]=o),a++;return r}function cf(n,e){for(var t=NS(e),i=pV(n),r=yV(n,i.headerLen-1,t),a=(r.length+1<<5)+2,s=i.recLen,o=i.records,l=[];o;)l.push(_V(n,a,r,t)),a+=s,o--;return l}const bV=globalThis.URL,SV=n=>{if(!n)throw new Error("forgot to pass buffer");if(m4(n))return new Uint8Array(n);if(m4(n.buffer))return n.BYTES_PER_ELEMENT===1?n:new Uint8Array(n.buffer,n.byteOffset,n.byteLength);throw new Error("invalid buffer like object")},wV=new TextDecoder,LS=n=>{if(n){if(typeof n=="string")return n;if(m4(n)||ArrayBuffer.isView(n)||df(n))return wV.decode(n)}},FS=n=>{if(!n)throw new Error("forgot to pass buffer");if(df(n))return n;if(m4(n))return new DataView(n);if(m4(n.buffer))return new DataView(n.buffer,n.byteOffset,n.byteLength);throw new Error("invalid buffer like object")};function m4(n){return n instanceof globalThis.ArrayBuffer||Object.prototype.toString.call(n)==="[object ArrayBuffer]"}function df(n){return n instanceof globalThis.DataView||Object.prototype.toString.call(n)==="[object DataView]"}const hf=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},DS=function(n,e){return I3(this,null,function*(){let t;n=SV(n);const i=yield cV(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()]=El(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(s){let o,l;const c=s.lastIndexOf(".");return c>-1&&s.slice(c).indexOf("json")>-1?(o=JSON.parse(i[s]),o.fileName=s.slice(0,c)):e.indexOf(s.slice(c+1))>-1?(o=i[s],o.fileName=s):(i[s+".dbf"]&&(l=cf(i[s+".dbf"],i[s+".cpg"])),o=hf([uf(i[s+".shp"],i[s+".prj"]),l]),o.fileName=s),o});return a.length===1?a[0]:a})};function CV(n,e){return I3(this,null,function*(){const t=yield _r(n);return DS(t,e)})}const TV=n=>I3(void 0,null,function*(){const e=yield Promise.all([_r(n,"shp"),_r(n,"prj")]);let t=!1;try{e[1]&&(t=El(e[1]))}catch(i){t=!1}return uf(e[0],t)}),AV=n=>I3(void 0,null,function*(){const[e,t]=yield Promise.all([_r(n,"dbf"),_r(n,"cpg")]);if(e)return cf(e,t)}),yv=(n,e)=>{var i;return new bV(n,(i=globalThis==null?void 0:globalThis.document)==null?void 0:i.location).pathname.slice(-4).toLowerCase()===e},xV=({shp:n,dbf:e,cpg:t,prj:i})=>{const r=[PV(n,i)];return e&&r.push(MV(e,t)),hf(r)},EV=function(n,e){return I3(this,null,function*(){if(typeof n!="string"){if(m4(n)||ArrayBuffer.isView(n)||df(n))return DS(n);if(n.shp)return xV(n);throw new TypeError("must be a string, some sort of Buffer, or an object with at least a .shp property")}if(yv(n,".zip"))return CV(n,e);yv(n,".shp")&&(n=n.slice(0,-4));const t=yield Promise.all([TV(n),AV(n)]);return hf(t)})},PV=function(n,e){if(n=FS(n),e=LS(e),typeof e=="string")try{e=El(e)}catch(t){e=!1}return uf(n,e)},MV=function(n,e){return n=FS(n),e=LS(e),cf(n,e)};const kV={class:"engineering-analysis-panel"},RV={class:"analysis-card analysis-workbench"},IV={class:"analysis-card-head"},NV={key:0},LV=["disabled"],FV=["disabled"],DV={key:1,class:"analysis-drawing-stage"},OV={class:"analysis-point-count"},BV=["disabled"],GV=["disabled"],jV={key:2,class:"analysis-boundary-bar"},zV={key:0,class:"analysis-card analysis-result"},UV={class:"analysis-card-head"},$V={class:"analysis-conclusion-head"},WV={class:"analysis-conclusion-tags"},VV={key:0,class:"analysis-empty is-success"},HV={key:1,class:"analysis-project-list"},YV=["onPointerup"],KV={class:"analysis-project-name"},qV={class:"analysis-project-meta"},XV={__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=i3(!1),s=i3(null),o=i3([]),l=i3([]),c=i3(""),d=i3("idle"),f=i3([]);let p=null;const y=b2(()=>{var M2;const i2=l.value.length,A2=o.value.length,n2=o.value.reduce((t3,A3)=>t3+Number(A3.overlapAreaWanMu||0),0);return{boundaryAreaWanMu:b1((M2=s.value)==null?void 0:M2.geometry),featureCount:i2,projectCount:A2,overlapAreaWanMu:n2}}),w=b2(()=>c.value?c.value:d.value==="loading"?"项目库加载中":d.value==="error"?"项目库加载失败":""),M=b2(()=>s.value?o.value.length?"已发现建设记录":"未发现建设记录":"未分析"),P=b2(()=>a.value&&i.drawingPointCount>=3),D=b2(()=>{if(!s.value)return{levelClass:"",verdict:"",summary:"",tags:[],advice:""};if(!o.value.length)return{levelClass:"is-clear",verdict:"未发现建设记录",summary:"该边界范围暂未与项目库中的已建设工程形成空间叠加。",tags:[`分析范围 ${F1(y.value.boundaryAreaWanMu)} 万亩`,"项目库未命中"],advice:"可进入新增工程选址论证,仍需结合保护红线、审批台账和现场踏勘复核。"};const i2=H2(o.value),A2=c2(o.value),n2=[...o.value].sort((A3,J2)=>Number(J2.overlapAreaWanMu||0)-Number(A3.overlapAreaWanMu||0))[0],M2=S1(y.value.overlapAreaWanMu),t3=o.value.length>=6||y.value.overlapAreaWanMu>=1?"存在建设叠加":"存在局部叠加";return{levelClass:o.value.length>=6?"is-heavy":"is-hit",verdict:t3,summary:`该边界命中 ${o.value.length} 个历史项目,叠加约 ${M2} 亩,项目类型以${i2.name}为主,年份集中在 ${A2}。`,tags:[`主类型 ${i2.name}`,`年份 ${A2}`,`最大叠加 ${S1(n2==null?void 0:n2.overlapAreaWanMu)} 亩`],advice:`重点复核“${a2(n2==null?void 0:n2.projectName)}”(${(n2==null?void 0:n2.year)||"未知"},${(n2==null?void 0:n2.category)||"未知类型"})与拟建范围的重合边界。`}});$n(()=>{o3().catch(()=>{})});function B(i2){return I3(this,null,function*(){var n2;const A2=(n2=i2.target.files)==null?void 0:n2[0];if(i2.target.value="",!!A2){c.value="";try{const M2=yield V(A2);a.value&&(a.value=!1,r("drawing-change",!1)),r("clear-boundary"),yield Y2(M2)}catch(M2){c.value="边界文件解析失败"}}})}function V(i2){return I3(this,null,function*(){const A2=String(i2.name||"").toLowerCase();if(A2.endsWith(".json")||A2.endsWith(".geojson"))return Y(JSON.parse(yield i2.text()));if(A2.endsWith(".zip")){const n2=yield EV(yield i2.arrayBuffer());return Y(n2)}throw new Error("unsupported file")})}function Y(i2){const A2=y3(i2).filter(n2=>F3(n2==null?void 0:n2.geometry));if(A2.length)return K2(A2);throw new Error("no polygon")}function X(){a.value||(c.value="",a.value=!0,s.value=null,o.value=[],l.value=[],r("analysis-result",{boundary:null,matches:[],rows:[],summary:y.value}),r("drawing-change",!0))}function P2(){a.value&&(a.value=!1,r("clear-boundary"),r("analysis-result",{boundary:null,matches:[],rows:[],summary:y.value}))}function z2(){P.value&&r("finish-drawing")}function G2(){r("undo-point")}function N2(){a.value=!1,s.value=null,o.value=[],l.value=[],c.value="",r("clear-boundary"),r("analysis-result",{boundary:null,matches:[],rows:[],summary:y.value})}function V2(i2){i2!=null&&i2.geometry&&(a.value=!1,Y2(i2))}function Y2(i2){return I3(this,null,function*(){s.value=i2,l.value=[],o.value=[];let A2=[];try{const n2=yield o3();A2=C3(i2,n2),l.value=A2,o.value=m3(A2)}catch(n2){c.value="项目库加载失败"}r("analysis-result",{boundary:i2,matches:A2,rows:o.value,summary:y.value})})}function o3(){return I3(this,null,function*(){return f.value.length?f.value:p||(d.value="loading",p=fetch(r3("datas/ecological-protection/ecological_restoration_projects.geojson"),{credentials:"include"}).then(A2=>{if(!A2.ok)throw new Error(`HTTP ${A2.status}`);return A2.json()}).then(A2=>{const n2=y3(A2).filter(M2=>{var t3;return(t3=M2==null?void 0:M2.geometry)==null?void 0:t3.coordinates}).map((M2,t3)=>s3(W2({},M2),{properties:s3(W2({},M2.properties||{}),{source_index:t3})}));return f.value=n2,d.value="success",n2}).catch(A2=>{throw d.value="error",p=null,A2}),p)})}function r3(i2){return i2?/^https?:\/\//.test(i2)||i2.startsWith("/")?i2:`./${i2}`:""}function y3(i2){return i2?Array.isArray(i2)?i2.flatMap(A2=>y3(A2)):i2.type==="FeatureCollection"?(i2.features||[]).filter(Boolean):i2.type==="Feature"?i2.geometry?[i2]:[]:K3(i2)?[{type:"Feature",properties:{},geometry:i2}]:typeof i2=="object"?Object.values(i2).flatMap(A2=>y3(A2)):[]:[]}function K2(i2){const A2=i2.flatMap(n2=>n2.geometry.type==="Polygon"?[n2.geometry.coordinates]:n2.geometry.coordinates);return A2.length===1?{type:"Feature",properties:i2[0].properties||{},geometry:{type:"Polygon",coordinates:A2[0]}}:{type:"Feature",properties:{sourceFeatureCount:i2.length},geometry:{type:"MultiPolygon",coordinates:A2}}}function C3(i2,A2=f.value){const n2=c1(i2.geometry);return A2.filter(M2=>M3(M2.geometry,i2.geometry,n2)).map(M2=>({feature:M2,properties:M2.properties||{},overlapAreaWanMu:_3(M2,i2.geometry)}))}function m3(i2){const A2=new Map;return i2.forEach(n2=>{const M2=n2.properties||{},t3=M2.project_name||M2.projectName||"未命名项目",A3=A2.get(t3)||{key:t3,projectName:t3,category:M2.project_category||"未知类型",year:M2.year||"未知",featureCount:0,overlapAreaWanMu:0,features:[],sourceIndex:Number(M2.source_index||0)};A3.featureCount+=1,A3.overlapAreaWanMu+=Number(n2.overlapAreaWanMu||0),A3.features.push(n2.feature),A2.set(t3,A3)}),[...A2.values()].map(n2=>s3(W2({},n2),{overlapAreaWanMu:Number(n2.overlapAreaWanMu.toFixed(4))}))}function M3(i2,A2,n2){if(!B1(c1(i2),n2))return!1;const M2=L3(A2);return M2.length?F3(i2)?N3(i2,M2):(i2==null?void 0:i2.type)==="Point"?w2(i2.coordinates,M2):(i2==null?void 0:i2.type)==="MultiPoint"?i2.coordinates.some(t3=>w2(t3,M2)):(i2==null?void 0:i2.type)==="LineString"?q2(i2.coordinates,M2):(i2==null?void 0:i2.type)==="MultiLineString"?i2.coordinates.some(t3=>q2(t3,M2)):!1:!1}function N3(i2,A2){const n2=L3(i2);return n2.length?n2.some(M2=>M2.some(t3=>w2(t3,A2)))||A2.some(M2=>M2.some(t3=>w2(t3,n2)))||n2.some(M2=>A2.some(t3=>k3(M2,t3))):!1}function q2(i2=[],A2){return!Array.isArray(i2)||!i2.length?!1:i2.some(n2=>w2(n2,A2))?!0:A2.some(n2=>u3(i2,n2))}function u3(i2,A2){for(let n2=1;n2<i2.length;n2+=1)for(let M2=1;M2<A2.length;M2+=1)if(J3(i2[n2-1],i2[n2],A2[M2-1],A2[M2]))return!0;return!1}function _3(i2,A2){const n2=i2==null?void 0:i2.geometry,M2=L3(n2),t3=L3(A2),A3=y1(i2),J2=b1(A2);if(!M2.length||!t3.length)return 0;const T2=M2.reduce((b3,n1)=>b3+n1.filter(w1=>w2(w1,t3)).length,0),D2=M2.reduce((b3,n1)=>b3+n1.length,0);return T2?Number((A3*Math.max(.08,Math.min(1,T2/Math.max(D2,1)))).toFixed(4)):t3.reduce((b3,n1)=>b3+n1.filter(w1=>w2(w1,M2)).length,0)?Number(Math.min(A3,J2).toFixed(4)):M2.some(b3=>t3.some(n1=>k3(b3,n1)))?Number((Math.min(A3,J2)*.12).toFixed(4)):0}function L3(i2){var A2;return(i2==null?void 0:i2.type)==="Polygon"?[((A2=i2.coordinates)==null?void 0:A2[0])||[]]:(i2==null?void 0:i2.type)==="MultiPolygon"?i2.coordinates.map(n2=>(n2==null?void 0:n2[0])||[]).filter(n2=>n2.length):[]}function F3(i2){return(i2==null?void 0:i2.type)==="Polygon"||(i2==null?void 0:i2.type)==="MultiPolygon"}function K3(i2){return["Polygon","MultiPolygon","LineString","MultiLineString","Point","MultiPoint"].includes(i2==null?void 0:i2.type)}function w2(i2,A2){return A2.some(n2=>a3(i2,n2))}function a3(i2,A2){var A3,J2,T2,D2;let n2=!1;const M2=Number(i2==null?void 0:i2[0]),t3=Number(i2==null?void 0:i2[1]);for(let E3=0,b3=A2.length-1;E3<A2.length;b3=E3++){const n1=Number((A3=A2[E3])==null?void 0:A3[0]),w1=Number((J2=A2[E3])==null?void 0:J2[1]),O1=Number((T2=A2[b3])==null?void 0:T2[0]),z0=Number((D2=A2[b3])==null?void 0:D2[1]);w1>t3!=z0>t3&&M2<(O1-n1)*(t3-w1)/(z0-w1)+n1&&(n2=!n2)}return n2}function k3(i2,A2){for(let n2=1;n2<i2.length;n2+=1)for(let M2=1;M2<A2.length;M2+=1)if(J3(i2[n2-1],i2[n2],A2[M2-1],A2[M2]))return!0;return!1}function J3(i2,A2,n2,M2){if(!Q3(i2,A2,n2,M2))return!1;const t3=(E3,b3,n1)=>(Number(b3[0])-Number(E3[0]))*(Number(n1[1])-Number(E3[1]))-(Number(b3[1])-Number(E3[1]))*(Number(n1[0])-Number(E3[0])),A3=t3(i2,A2,n2),J2=t3(i2,A2,M2),T2=t3(n2,M2,i2),D2=t3(n2,M2,A2);return A3===0&&l1(n2,i2,A2)||J2===0&&l1(M2,i2,A2)||T2===0&&l1(i2,n2,M2)||D2===0&&l1(A2,n2,M2)?!0:(A3>0&&J2<0||A3<0&&J2>0)&&(T2>0&&D2<0||T2<0&&D2>0)}function Q3(i2,A2,n2,M2){const t3=I1([i2,A2]),A3=I1([n2,M2]);return B1(t3,A3)}function l1(i2,A2,n2){const M2=Number(i2==null?void 0:i2[0]),t3=Number(i2==null?void 0:i2[1]),A3=Number(A2==null?void 0:A2[0]),J2=Number(A2==null?void 0:A2[1]),T2=Number(n2==null?void 0:n2[0]),D2=Number(n2==null?void 0:n2[1]),E3=(M2-A3)*(D2-J2)-(t3-J2)*(T2-A3);return Math.abs(E3)>1e-10?!1:M2>=Math.min(A3,T2)-1e-10&&M2<=Math.max(A3,T2)+1e-10&&t3>=Math.min(J2,D2)-1e-10&&t3<=Math.max(J2,D2)+1e-10}function c1(i2){const A2=[];return A1(i2==null?void 0:i2.coordinates,A2),A2.length?A2.reduce((n2,M2)=>({minLng:Math.min(n2.minLng,Number(M2[0])),minLat:Math.min(n2.minLat,Number(M2[1])),maxLng:Math.max(n2.maxLng,Number(M2[0])),maxLat:Math.max(n2.maxLat,Number(M2[1]))}),{minLng:Number.POSITIVE_INFINITY,minLat:Number.POSITIVE_INFINITY,maxLng:Number.NEGATIVE_INFINITY,maxLat:Number.NEGATIVE_INFINITY}):null}function B1(i2,A2){return!i2||!A2?!1:!(i2.maxLng<A2.minLng||i2.minLng>A2.maxLng||i2.maxLat<A2.minLat||i2.minLat>A2.maxLat)}function y1(i2){return b1(i2==null?void 0:i2.geometry)}function b1(i2){return(i2==null?void 0:i2.type)==="Polygon"?O(i2.coordinates):(i2==null?void 0:i2.type)==="MultiPolygon"?i2.coordinates.reduce((A2,n2)=>A2+O(n2),0):0}function O(i2=[]){const A2=i2[0]||[];if(A2.length<3)return 0;const n2=A2.reduce((J2,T2)=>J2+Number(T2[1]||0),0)/A2.length,M2=111320*Math.cos(n2*Math.PI/180),t3=110540;let A3=0;for(let J2=0;J2<A2.length;J2+=1){const T2=A2[J2],D2=A2[(J2+1)%A2.length],E3=Number(T2[0]||0)*M2,b3=Number(T2[1]||0)*t3,n1=Number(D2[0]||0)*M2,w1=Number(D2[1]||0)*t3;A3+=E3*w1-n1*b3}return Math.abs(A3)/2/666.6666667/1e4}function A1(i2,A2){if(Array.isArray(i2)){if(typeof i2[0]=="number"&&typeof i2[1]=="number"){A2.push(i2);return}i2.forEach(n2=>A1(n2,A2))}}function I1(i2){return i2.reduce((A2,n2)=>({minLng:Math.min(A2.minLng,Number(n2==null?void 0:n2[0])),minLat:Math.min(A2.minLat,Number(n2==null?void 0:n2[1])),maxLng:Math.max(A2.maxLng,Number(n2==null?void 0:n2[0])),maxLat:Math.max(A2.maxLat,Number(n2==null?void 0:n2[1]))}),{minLng:Number.POSITIVE_INFINITY,minLat:Number.POSITIVE_INFINITY,maxLng:Number.NEGATIVE_INFINITY,maxLat:Number.NEGATIVE_INFINITY})}function F1(i2){const A2=Number(i2||0);return Number.isFinite(A2)?Number(A2.toFixed(A2>=10?2:4)).toString():"0"}function S1(i2){const A2=Number(i2||0)*1e4;return Number.isFinite(A2)?A2>=1e3?Number(A2.toFixed(0)).toLocaleString("zh-CN"):A2>=10?Number(A2.toFixed(1)).toLocaleString("zh-CN"):Number(A2.toFixed(2)).toString():"0"}function H2(i2=[]){const A2=new Map;return i2.forEach(n2=>{const M2=n2.category||"未知类型",t3=A2.get(M2)||{name:M2,count:0,area:0};t3.count+=1,t3.area+=Number(n2.overlapAreaWanMu||0),A2.set(M2,t3)}),[...A2.values()].sort((n2,M2)=>M2.area-n2.area||M2.count-n2.count)[0]||{name:"未知类型",count:0,area:0}}function c2(i2=[]){const A2=i2.map(t3=>Number(t3.year)).filter(t3=>Number.isFinite(t3));if(!A2.length)return"未知年份";const n2=Math.min(...A2),M2=Math.max(...A2);return n2===M2?`${n2} 年`:`${n2}-${M2} 年`}function a2(i2,A2=18){const n2=String(i2||"未命名项目");return n2.length>A2?`${n2.slice(0,A2)}...`:n2}return e({applyDrawnBoundary:V2}),(i2,A2)=>(K(),e2("div",kV,[C("div",RV,[C("div",IV,[A2[0]||(A2[0]=C("span",null,"工程分析",-1)),w.value?(K(),e2("strong",NV,S2(w.value),1)):G3("",!0)]),a.value?G3("",!0):(K(),e2("div",{key:0,class:t1(["analysis-operation",{"has-boundary":s.value}])},[C("label",{class:t1(["analysis-entry is-upload",{"is-disabled":a.value}])},[C("input",{type:"file",accept:".zip,.json,.geojson",disabled:a.value,onChange:B},null,40,LV),C("span",null,S2(s.value?"更换边界":"上传边界"),1),A2[1]||(A2[1]=C("strong",null,"SHP / GeoJSON",-1))],2),C("button",{type:"button",class:"analysis-entry is-draw",disabled:a.value,onPointerup:lt(X,["stop","prevent"])},[C("span",null,S2(s.value?"重新绘制":"在线绘制"),1),A2[2]||(A2[2]=C("strong",null,"地图圈定",-1))],40,FV)],2)),a.value?(K(),e2("div",DV,[C("div",OV,[A2[3]||(A2[3]=C("span",null,"已落点",-1)),C("strong",null,S2(n.drawingPointCount),1),A2[4]||(A2[4]=C("em",null,"点",-1)),A2[5]||(A2[5]=C("small",null,"至少 3 点",-1))]),C("button",{type:"button",class:"analysis-control is-primary",disabled:!P.value,onPointerup:lt(z2,["stop","prevent"])}," 完成分析 ",40,BV),C("button",{type:"button",class:"analysis-control",disabled:!n.drawingPointCount,onPointerup:lt(G2,["stop","prevent"])},"撤销",40,GV),C("button",{type:"button",class:"analysis-control is-danger",onPointerup:lt(P2,["stop","prevent"])},"删除图形",32)])):s.value?(K(),e2("div",jV,[A2[6]||(A2[6]=C("span",null,"边界已加载",-1)),C("strong",null,S2(o.value.length?`命中 ${o.value.length} 项`:M.value),1),C("button",{type:"button",onPointerup:lt(N2,["stop","prevent"])},"删除图形",32)])):G3("",!0)]),s.value?(K(),e2("div",zV,[C("div",UV,[A2[7]||(A2[7]=C("span",null,"建设记录核查",-1)),C("strong",null,S2(M.value),1)]),C("div",{class:t1(["analysis-conclusion",D.value.levelClass])},[C("div",$V,[A2[8]||(A2[8]=C("span",null,"分析结论",-1)),C("strong",null,S2(D.value.verdict),1)]),C("p",null,S2(D.value.summary),1),C("div",WV,[(K(!0),e2(B3,null,q3(D.value.tags,n2=>(K(),e2("span",{key:n2},S2(n2),1))),128))]),C("small",null,S2(D.value.advice),1)],2),o.value.length?(K(),e2("div",HV,[(K(!0),e2(B3,null,q3(o.value,n2=>(K(),e2("button",{key:n2.key,type:"button",class:"analysis-project-row",onPointerup:lt(M2=>i2.$emit("focus-project",n2),["stop","prevent"])},[C("span",KV,S2(n2.projectName),1),C("div",qV,[C("strong",null,S2(n2.year),1),C("em",null,S2(n2.category),1),C("small",null,"叠加 "+S2(S1(n2.overlapAreaWanMu))+" 亩",1)]),C("b",null,S2(n2.featureCount)+" 个要素",1)],40,YV))),128))])):(K(),e2("div",VV,"该边界范围内暂未匹配到已建设项目"))])):G3("",!0)]))}},ZV=Dr(XV,[["__scopeId","data-v-79b3e36f"]]),K6=(n,e)=>n.reduce((t,i)=>t+Number(i[e]||0),0),ee=(n,e=2)=>Number(Number(n||0).toFixed(e)),X6={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}]},vv=[{key:"national-park",label:"若尔盖国家公园",bottomLabel:"若尔盖国家公园"},{key:"restoration",label:"生态修复工程",bottomLabel:"生态修复工程"},{key:"engineering-analysis",label:"工程分析",bottomLabel:"工程分析"}],n6=[{name:"瓦切镇",protectedAreaWanMu:75.01,coreProtectionAreaWanMu:31.65,generalControlAreaWanMu:43.36,grasslandAreaWanMu:32.07,wetlandAreaWanMu:11.73,ecologyJobs:160,householdCount:1400,peopleCount:6375,yakCount:43459,livestockCount:45260,cover:85,villages:"唐日村、德香村、日干村、色永村、曲登塘社区"},{name:"麦洼乡",protectedAreaWanMu:66.61,coreProtectionAreaWanMu:28.1,generalControlAreaWanMu:38.51,grasslandAreaWanMu:19.66,wetlandAreaWanMu:6.52,ecologyJobs:179,householdCount:1049,peopleCount:4857,yakCount:35773,livestockCount:36776,cover:85,villages:"洞拉村、滚塘村"},{name:"色地镇",protectedAreaWanMu:20.98,coreProtectionAreaWanMu:8.85,generalControlAreaWanMu:12.13,grasslandAreaWanMu:42.52,wetlandAreaWanMu:15.22,ecologyJobs:39,householdCount:405,peopleCount:1692,yakCount:25947,livestockCount:26731,cover:86,villages:"让里村、茸塔玛村"}],Re={name:"若尔盖国家公园红原区域",nationalParkTotalAreaWanMu:1250.4,hongyuanDelimitedAreaWanMu:162.55,totalAreaWanMu:162.55,grasslandAreaWanMu:94.25,wetlandAreaWanMu:33.47,woodlandAreaWanMu:null,woodlandDataStatus:"待接入",vegetationCoverage:ee(K6(n6,"cover")/n6.length,1),townCount:n6.length,villageCount:n6.reduce((n,e)=>n+String(e.villages||"").split("、").filter(Boolean).length,0),householdCount:K6(n6,"householdCount"),peopleCount:K6(n6,"peopleCount"),ecologyJobCount:K6(n6,"ecologyJobs"),yakCount:K6(n6,"yakCount"),livestockCount:K6(n6,"livestockCount")};Re.otherProtectedAreaWanMu=ee(Re.totalAreaWanMu-Re.grasslandAreaWanMu-Re.wetlandAreaWanMu,2);n6.map(n=>({key:n.name,name:n.name,value:ee(n.grasslandAreaWanMu+n.wetlandAreaWanMu,2),unit:"万亩",extra:`草地 ${n.grasslandAreaWanMu} / 湿地 ${n.wetlandAreaWanMu}`}));n6.map(n=>({key:`${n.name}-town`,name:n.name,value:ee(n.grasslandAreaWanMu+n.wetlandAreaWanMu,2),unit:"万亩",extra:n.villages}));const JV=[{key:"core-protection",name:"核心保护区",value:68.6,unit:"万亩",color:Wi.core.fillColor},{key:"general-control",name:"一般控制区",value:94,unit:"万亩",color:Wi.general.fillColor}],eh=43.66,_v=12.48,QV=ee(eh*(192.26/297.29),2),eH=.06229833103624831,tH=new Map([["瓦切镇",{areaRange:750120,yakNumber:43459,bearingCapacity:44927.54,livestockCapacity:45260,overloadRate:.74,year:"2026"}],["麦洼乡",{areaRange:666075,yakNumber:35773,bearingCapacity:36505.86,livestockCapacity:36776,overloadRate:.74,year:"2026"}],["色地镇",{areaRange:209805,yakNumber:25947,bearingCapacity:26534.58,livestockCapacity:26731,overloadRate:.74,year:"2026"}]]),nH={麦洼乡:[{name:"洞拉村",grassland:.632,wetland:.632,household:.5643,yak:.545,edible:.632,woodland:.632},{name:"滚塘村",grassland:.368,wetland:.368,household:.4357,yak:.455,edible:.368,woodland:.368}],瓦切镇:[{name:"唐日村",grassland:.3059,wetland:.3059,household:.1957,yak:.2843,edible:.3059,woodland:.3059},{name:"德香村",grassland:.2369,wetland:.2369,household:.2679,yak:.2848,edible:.2369,woodland:.2369},{name:"日干村",grassland:.1603,wetland:.1603,household:.2071,yak:.2107,edible:.1603,woodland:.1603},{name:"色永村",grassland:.2969,wetland:.2969,household:.2607,yak:.2202,edible:.2969,woodland:.2969},{name:"曲登塘社区",grassland:0,wetland:0,household:.0679,yak:0,edible:0,woodland:0}],色地镇:[{name:"让里村",grassland:.4623,wetland:.4623,household:.7309,yak:.6411,edible:.4623,woodland:.4623},{name:"茸塔玛村",grassland:.5377,wetland:.5377,household:.2691,yak:.3589,edible:.5377,woodland:.5377}]},dt=n6.map(n=>s3(W2({},n),{value:n.protectedAreaWanMu,unit:"万亩",segments:{core:n.coreProtectionAreaWanMu,general:n.generalControlAreaWanMu},householdCount:Number(n.householdCount||0),edibleGrasslandWanTon:ee(Number(n.grasslandAreaWanMu||0)/Math.max(Re.grasslandAreaWanMu,1)*QV,2)})),bv=Re.householdCount-K6(dt,"householdCount");bv&&dt[0]&&(dt[0].householdCount+=bv);dt.forEach(n=>{const e=tH.get(n.name),t=Number(e==null?void 0:e.bearingCapacity)||ee(Number(n.grasslandAreaWanMu||0)*1e4*eH,0),i=Number(e==null?void 0:e.livestockCapacity)||Number(n.livestockCount||n.yakCount||0),r=Number.isFinite(Number(e==null?void 0:e.overloadRate))?Number(e.overloadRate):t?ee((i-t)/t*100,1):0,a=M8(r);n.bearingCapacity=t,n.livestockCapacity=i,n.overloadRate=ee(r,2),n.balanceLevel=a.label,n.searchText=[n.name,`划定面积${n.protectedAreaWanMu}万亩`,`牦牛${n.yakCount}头`,`牧户${n.householdCount}户`,`超载率${n.overloadRate}%`].join(" ")});const Uc=K6(dt,"bearingCapacity"),iH=K6(dt,"livestockCapacity"),$c=dt.map(n=>Number(n.overloadRate)).filter(n=>Number.isFinite(n));Re.balanceOverloadRate=$c.length?ee($c.reduce((n,e)=>n+e,0)/$c.length,2):Uc?ee((iH-Uc)/Uc*100,2):0;const ff=(n,e=K6(n,"value"))=>n.map(t=>s3(W2({},t),{extra:t.extra||`占比 ${ee(Number(t.value||0)/Math.max(e,1)*100,1)}%`}));ff([{key:"park-scope-grassland",name:"草地",value:Re.grasslandAreaWanMu,unit:"万亩"},{key:"park-scope-wetland",name:"湿地",value:Re.wetlandAreaWanMu,unit:"万亩"},{key:"park-scope-other",name:"其他保护范围",value:Re.otherProtectedAreaWanMu,unit:"万亩"}]);const A4=({sourceKey:n,weightKey:e,unit:t="万亩",decimals:i=2,sortByValue:r=!0})=>{const a=dt.flatMap(o=>(nH[o.name]||[]).map(c=>({key:`${o.name}-${c.name}-${n}`,name:c.name,town:o.name,value:ee(Number(o[n]||0)*Number(c[e]||0),i),unit:t}))).filter(o=>Number(o.value)>0),s=r?a.sort((o,l)=>Number(l.value||0)-Number(o.value||0)):a;return ff(s)};A4({sourceKey:"wetlandAreaWanMu",weightKey:"wetland",sortByValue:!1});A4({sourceKey:"grasslandAreaWanMu",weightKey:"grassland"});A4({sourceKey:"householdCount",weightKey:"household",unit:"户",decimals:0});A4({sourceKey:"yakCount",weightKey:"yak",unit:"头",decimals:0});A4({sourceKey:"edibleGrasslandWanTon",weightKey:"edible",unit:"万吨"});A4({sourceKey:"wetlandAreaWanMu",weightKey:"woodland"});const rH=["瓦切镇","麦洼乡","色地镇"],H5=n=>rH.map(e=>n.find(t=>t.name===e)).filter(Boolean),aH=H5(dt).map(n=>({key:`${n.name}-area`,name:n.name,value:n.protectedAreaWanMu,unit:"万亩",extra:`核心 ${n.coreProtectionAreaWanMu} / 一般 ${n.generalControlAreaWanMu}`}));H5(dt).map(n=>({key:`${n.name}-zoning`,name:n.name,value:n.protectedAreaWanMu,unit:"万亩",segments:{core:n.coreProtectionAreaWanMu,general:n.generalControlAreaWanMu}}));const sH=H5(dt).map(n=>({key:`${n.name}-grass-wet-area`,name:n.name,value:ee(n.grasslandAreaWanMu+n.wetlandAreaWanMu,2),unit:"万亩",segments:{grassland:n.grasslandAreaWanMu,wetland:n.wetlandAreaWanMu}})),oH=H5(dt).map(n=>({key:`${n.name}-grass-wet-productivity`,name:n.name,value:ee(n.grasslandAreaWanMu/Math.max(Re.grasslandAreaWanMu,1)*eh+n.wetlandAreaWanMu/Math.max(Re.wetlandAreaWanMu,1)*_v,2),unit:"万吨",segments:{grassland:ee(n.grasslandAreaWanMu/Math.max(Re.grasslandAreaWanMu,1)*eh,2),wetland:ee(n.wetlandAreaWanMu/Math.max(Re.wetlandAreaWanMu,1)*_v,2)}})),lH=H5(dt).map(n=>({key:`${n.name}-yak`,name:n.name,value:n.yakCount,unit:"头",extra:`${ee(n.yakCount/Math.max(Re.yakCount,1)*100,1)}%`})),uH=H5(dt).map(n=>({key:`${n.name}-household`,name:n.name,value:n.householdCount,unit:"户",metricLabel:"牧户",ecologyJobs:n.ecologyJobs,peopleCount:n.peopleCount,extra:`公益岗位 ${n.ecologyJobs}户`}));H5(dt).map(n=>({key:`${n.name}-balance`,name:n.name,value:n.overloadRate,unit:"%",status:n.balanceLevel,extra:`载畜 ${n.livestockCapacity}头`}));const cH=[{key:"park-balance-overload-rate",name:"超载率",value:Re.balanceOverloadRate,unit:"%",status:M8(Re.balanceOverloadRate).label,color:"#24f6c4"}],dH=H5(dt).map(n=>({key:`${n.name}-job`,name:n.name,value:n.ecologyJobs,unit:"户",color:n.name==="麦洼乡"?"#24f6c4":n.name==="瓦切镇"?"#32dcff":"#ffe06b",extra:`牧户 ${n.householdCount}户`}));H5(dt).map(n=>s3(W2({},n),{key:`${n.name}-ledger`,name:n.name,value:n.protectedAreaWanMu,unit:"万亩",canLocate:!0}));var Y_,K_,q_;const hH=[{zh:"四川片区面积",value:Re.nationalParkTotalAreaWanMu,unit:"万亩",decimals:2},{zh:"红原县划定面积",value:Re.hongyuanDelimitedAreaWanMu,unit:"万亩",decimals:2},{zh:"牦牛数量",value:Re.yakCount,unit:"头",decimals:0},{zh:"牧户数量",value:Re.householdCount,unit:"户",decimals:0},{zh:"公益岗位",value:Re.ecologyJobCount,unit:"户",decimals:0},{zh:"瓦切镇面积",value:((Y_=dt.find(n=>n.name==="瓦切镇"))==null?void 0:Y_.protectedAreaWanMu)||0,unit:"万亩",decimals:2},{zh:"麦洼乡面积",value:((K_=dt.find(n=>n.name==="麦洼乡"))==null?void 0:K_.protectedAreaWanMu)||0,unit:"万亩",decimals:2},{zh:"色地镇面积",value:((q_=dt.find(n=>n.name==="色地镇"))==null?void 0:q_.protectedAreaWanMu)||0,unit:"万亩",decimals:2},{zh:"草地面积",value:Re.grasslandAreaWanMu,unit:"万亩",decimals:2},{zh:"湿地面积",value:Re.wetlandAreaWanMu,unit:"万亩",decimals:2}],fH=[{zh:"修复项目",value:X6.kpi.projectCount,unit:"个",decimals:0},{zh:"治理面积",value:X6.kpi.areaWanMu,unit:"万亩",decimals:2},{zh:"工程长度",value:X6.kpi.lengthKm,unit:"公里",decimals:2}];function mH(n){return n==="engineering-analysis"?[]:(n==="restoration"?fH:hH).map((t,i)=>W2({icon:i%2===0?"xiaoshoujine":"zongxiaoliang",en:""},t))}const gH={left:[{key:"park-town-grass-wet-area",title:"草地湿地面积分布",type:"stackColumn",variant:"dual",unit:"万亩",segments:[{key:"grassland",name:"草地面积",color:"#24f6c4"},{key:"wetland",name:"湿地面积",color:"#ffe06b"}],rows:sH},{key:"park-town-productivity",title:"草地湿地生产力",type:"stackColumn",variant:"dual",unit:"万吨",segments:[{key:"grassland",name:"草地生产力",color:"#32dcff"},{key:"wetland",name:"湿地生产力",color:"#ffe06b"}],rows:oH},{key:"park-town-yak",title:"乡镇牦牛数量",type:"bar",variant:"raceBar",rows:lH},{key:"park-town-balance",title:"草畜平衡超载率",type:"balanceGaugeGrid",limit:1,rows:cH}],right:[{key:"park-zoning-structure",title:"红原管控区结构",type:"donut",rows:ff(JV)},{key:"park-town-household",title:"牧户分布",type:"split",rows:uH},{key:"park-town-ecology-job",title:"公益岗位分布",type:"column",variant:"slim",rows:dH}]},Wc=new Map((X6.townships||[]).filter(n=>/[乡镇]$/.test(String(n.name||""))).map(n=>[n.name,n])),OS=i6.map(n=>{var e,t,i;return{name:n,areaWanMu:((e=Wc.get(n))==null?void 0:e.areaWanMu)||0,lengthKm:((t=Wc.get(n))==null?void 0:t.lengthKm)||0,projectCount:((i=Wc.get(n))==null?void 0:i.projectCount)||0}}),BS=(X6.projects||[]).map((n,e)=>{const t=Number(n.areaWanMu)>0,i=Number(n.lengthKm)>0,r=t?{value:ee(n.areaWanMu,2),unit:"万亩",metric:"治理面积"}:i?{value:ee(n.lengthKm,2),unit:"公里",metric:"工程长度"}:{value:n.subjectFeatureCount||0,unit:"个",metric:"主体要素"},a=(n.measureTypes||[]).join("、"),s=(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:ee(n.areaWanMu,4),lengthKm:ee(n.lengthKm,2),measure:a,townships:s,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,s].filter(Boolean).join(" ")}});BS.map((n,e)=>{const t=e%6,i=Math.floor(e/6),r=102.42+t*.045,a=32.55+i*.035,s=.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+s,a+s*.22],[r+s*.82,a+s],[r-s*.16,a+s*.72],[r,a]]]}}});const pH={left:[{key:"restoration-year-area",title:"治理面积分布",type:"line",rows:(X6.years||[]).map(n=>({key:n.name,name:`${n.name}`,value:ee(n.areaWanMu,2),unit:"万亩",extra:`${n.projectCount||0}个项目`}))},{key:"restoration-town-area",title:"乡镇治理面积分布",type:"bar",variant:"distribution",rows:OS.map(n=>({key:n.name,name:n.name,value:ee(n.areaWanMu,2),unit:"万亩",extra:`${ee(n.lengthKm,2)}公里`}))},{key:"restoration-category",title:"修复类型占比",type:"donut",rows:(X6.categories||[]).map(n=>({key:n.name,name:n.name,value:ee(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:(X6.years||[]).filter(n=>Number(n.lengthKm)>0).map(n=>({key:n.name,name:`${n.name}`,value:ee(n.lengthKm,2),unit:"公里",extra:`${n.projectCount||0}个项目`}))}],right:[{key:"restoration-measure-area",title:"修复措施统计",type:"structure",rows:(X6.measures||[]).slice(0,8).map(n=>({key:n.name,name:n.name,value:ee(n.areaWanMu||n.lengthKm||n.subjectFeatureCount,2),unit:n.areaWanMu?"万亩":n.lengthKm?"公里":"个",extra:`${n.projectCount}个项目`}))},{key:"restoration-year-project",title:"年度项目数量",type:"column",variant:"projectYear",rows:(X6.years||[]).filter(n=>n.name!=="未知").map(n=>({key:n.name,name:`${n.name}`,value:n.projectCount,unit:"个",extra:`${ee(n.areaWanMu,2)}万亩`}))},{key:"restoration-projects",title:"重点项目库",type:"projectTable",span:2,rows:BS}]},yH={left:[],right:[]};function vH(n){return n==="restoration"?{status:"success",title:"乡镇治理排行",metricLabel:"治理面积",unit:"万亩",rows:OS.map(e=>({name:e.name,value:ee(e.areaWanMu,2),unit:"万亩"}))}:n==="engineering-analysis"?{status:"success",title:"工程分析",metricLabel:"",unit:"",rows:[]}:{status:"success",title:"国家公园乡镇划定面积",scope:"town",hideTownNames:!1,onlyRankedTownLabels:!0,metricLabel:"划定面积",unit:"万亩",rows:aH.map(e=>({name:e.name,value:e.value,unit:e.unit,metricLabel:"划定面积"}))}}const _H={class:"forest-grass-wet ecological-protection"},bH={class:"forest-grass-wet-ui ecological-protection-ui"},SH={key:0,class:"fgw-left"},wH={class:"fgw-side-stack is-left"},CH={key:1,class:"fgw-right"},TH={class:"fgw-side-stack is-right"},AH={class:"fgw-bottom-topic ecological-bottom-topic"},xH={key:0,class:"loading"},EH={class:"loading-progress"},PH={class:"value"},MH=128,kH=12,RH=8,IH=227,NH=12,LH={__name:"index",props:{activeView:{type:String,default:"national-park"},showLoading:{type:Boolean,default:!0},active:{type:Boolean,default:!0}},emits:["module-stats","view-change"],setup(n,{expose:e,emit:t}){const i=n,r=t,a=i3(null),s=i3(null),o=i3(""),l=i3(""),c=i3(null),d=i3(!1),f=i3(!1),p=i3(null),y=i3(0),w=i3(i.showLoading),M=i3(null),P=i3(0),D=i3({type:"idle",text:"等待生态保护图层加载"});let B=null,V=!1,Y=!1,X=!1,P2=null;const z2=b2(()=>["national-park","restoration","engineering-analysis"].includes(i.activeView)?i.activeView:"national-park"),G2=b2(()=>z2.value==="national-park"),N2=b2(()=>z2.value==="engineering-analysis"),V2=b2(()=>o.value?Sl(z2.value,o.value):null),Y2=b2(()=>{var T2;return(((T2=V2.value)==null?void 0:T2.legends)||[]).find(D2=>D2.key===l.value)||null}),o3=b2(()=>{const T2=V2.value;return!T2||!Y2.value?T2:s3(W2({},T2),{cqlFilter:Y2.value.cqlFilter||T2.cqlFilter,activeLegend:Y2.value,name:Y2.value.name||T2.name})}),r3=b2(()=>z2.value==="restoration"?pH:z2.value==="engineering-analysis"?yH:gH),y3=b2(()=>r3.value.left||[]),K2=b2(()=>r3.value.right||[]),C3=i3(typeof window=="undefined"?1080:window.innerHeight),m3=b2(()=>{const T2=Math.max(1080,Number(C3.value)||1080),D2=Math.floor((T2-MH-RH-kH*3)/4);return Math.max(IH,D2)}),M3=b2(()=>m3.value*2+NH),N3=b2(()=>G2.value?178:248),q2=b2(()=>G2.value?118:430),u3=b2(()=>!!p.value),_3=b2(()=>{if(f.value||d.value||!c.value)return 186;const T2=A1(c.value);return Math.min(480,Math.max(300,86+Math.min(T2,12)*34))}),L3=b2(()=>{if(!p.value)return{};const T2=460,D2=_3.value,E3=24,b3=c1(p.value),n1=b3.x>1420?-T2-28:28,w1=Math.min(Math.max(b3.x+n1,E3),1920-T2-E3),O1=Math.min(Math.max(b3.y-D2-72,188),1080-D2-132);return{left:`${w1}px`,top:`${O1}px`,right:"auto",bottom:"auto"}});$n(()=>{B1(),window.addEventListener("resize",B1),document.addEventListener("pointerdown",A3,!0),w2(),F3(z2.value)}),Un(()=>{V=!0,P2&&window.clearTimeout(P2),window.removeEventListener("resize",B1),document.removeEventListener("pointerdown",A3,!0)}),I0(z2,T2=>{F3(T2)}),I0(o,()=>{l.value="",t3()}),I0(l,()=>{t3()}),I0(()=>i.active,T2=>{var D2,E3,b3,n1;a.value&&(T2?(a3(),(E3=(D2=a.value).resume)==null||E3.call(D2)):(n1=(b3=a.value).pause)==null||n1.call(b3))});function F3(T2){var b3,n1,w1,O1,z0;const D2=ao.find(ie=>ie.key===T2)||ao[0],E3=bl(T2);l.value="",o.value=D2.defaultLayerKey||((b3=E3[0])==null?void 0:b3.key)||"",M.value=vH(T2),P.value=0,(w1=(n1=a.value)==null?void 0:n1.setBoundaryDrawing)==null||w1.call(n1,!1),T2!=="engineering-analysis"&&((z0=(O1=a.value)==null?void 0:O1.clearAnalysisBoundary)==null||z0.call(O1)),t3(),r("module-stats",{moduleKey:"ecological-protection",viewKey:T2,items:mH(T2)})}function K3(T2){const D2=["national-park","restoration","engineering-analysis"].includes(T2)?T2:"national-park";D2!==z2.value&&r("view-change",D2)}function w2(){var E3;B=new Gr;const T2={progress:0};B.instance.on("onProgress",(b3,n1,w1)=>{const O1=Math.floor(n1/w1*100);_n.to(T2,{progress:O1,onUpdate:()=>{y.value=Math.floor(T2.progress)}})});const D2=()=>{V||Y||(Y=!0,a3())};B.instance.on("onLoad",D2),(E3=B.ready)==null||E3.then(D2).catch(()=>{V||(D.value={type:"error",text:"地图资源加载失败"})})}function a3(){V||!i.active||!Y||X||(X=!0,P2&&window.clearTimeout(P2),P2=window.setTimeout(()=>{P2=null,k3()},600))}function k3(T2=0){return I3(this,null,function*(){var E3,b3,n1,w1,O1;if(V)return;if(!i.active){X=!1;return}if(yield _e(),!i.active){X=!1;return}if(!!((b3=(E3=a.value)==null?void 0:E3.loadMap)!=null&&b3.call(E3,B)||(w1=(n1=a.value)==null?void 0:n1.hasMap)!=null&&w1.call(n1))){yield J2(),yield _e(),(O1=a.value)==null||O1.play();return}if(T2<24){window.setTimeout(()=>k3(T2+1),120);return}X=!1})}function J3(){P2&&(window.clearTimeout(P2),P2=null)}function Q3(){var T2,D2,E3,b3;(D2=(T2=a.value)==null?void 0:T2.resume)==null||D2.call(T2),(b3=(E3=a.value)==null?void 0:E3.refreshView)==null||b3.call(E3)}function l1(){var T2,D2,E3,b3,n1,w1;if(t3(),(D2=(T2=a.value)==null?void 0:T2.setBoundaryDrawing)==null||D2.call(T2,!1),(b3=(E3=a.value)==null?void 0:E3.clearAnalysisBoundary)==null||b3.call(E3),(w1=(n1=a.value)==null?void 0:n1.hasMap)!=null&&w1.call(n1)){Q3();return}J3(),X=!1,_e(()=>{a3()})}e({refreshMapView:Q3,resetMap:l1});function c1(T2){const D2=document.querySelector(".ecological-protection"),E3=D2==null?void 0:D2.getBoundingClientRect();return!(E3!=null&&E3.width)||!(E3!=null&&E3.height)?T2:{x:(T2.x-E3.left)/E3.width*1920,y:(T2.y-E3.top)/E3.height*1080}}function B1(){C3.value=typeof window=="undefined"?1080:window.innerHeight}function y1(T2,D2){return`${z2.value}-${D2}-${(T2==null?void 0:T2.key)||(T2==null?void 0:T2.title)||"panel"}`}function b1(T2){return(T2==null?void 0:T2.span)===2}function O(T2){return b1(T2)?M3.value:m3.value}function A1(T2){const D2=(T2==null?void 0:T2.properties)||{};return Object.keys(D2).filter(E3=>{const b3=D2[E3];return b3==null||b3===""?!1:!["geom","wkt","geometry","the_geom","raw_properties"].includes(String(E3).toLowerCase())}).length}function I1(T2){var E3,b3;const D2=(b3=(E3=T2==null?void 0:T2.feature)!=null?E3:T2)!=null?b3:null;if(!D2){t3();return}c.value=D2,d.value=!1,T2!=null&&T2.screen&&(p.value=T2.screen)}function F1(T2){D.value=T2}function S1(T2,D2){var b3,n1,w1,O1;if(z2.value==="national-park"&&(D2!=null&&D2.name)){t3(),(n1=(b3=a.value)==null?void 0:b3.focusTown)==null||n1.call(b3,D2.name,{distanceScale:.66,targetLocalZ:.84,cameraOffset:{x:0,y:1.05,z:0}});return}if(z2.value!=="restoration"||(T2==null?void 0:T2.key)!=="restoration-projects")return;const E3=(D2==null?void 0:D2.projectName)||(D2==null?void 0:D2.name);E3&&(t3(),(O1=(w1=a.value)==null?void 0:w1.focusProject)==null||O1.call(w1,E3))}function H2(T2){var D2,E3;t3(),P.value=0,(E3=(D2=a.value)==null?void 0:D2.setBoundaryDrawing)==null||E3.call(D2,T2)}function c2(){var T2,D2;(D2=(T2=a.value)==null?void 0:T2.finishBoundaryDrawing)==null||D2.call(T2)}function a2(){var T2,D2;(D2=(T2=a.value)==null?void 0:T2.undoBoundaryPoint)==null||D2.call(T2)}function i2(){var T2,D2;P.value=0,(D2=(T2=a.value)==null?void 0:T2.clearAnalysisBoundary)==null||D2.call(T2)}function A2(T2={}){var D2,E3,b3;P.value=T2.pointCount||((D2=T2.points)==null?void 0:D2.length)||0,T2.status==="complete"&&T2.feature&&(P.value=0,(b3=(E3=s.value)==null?void 0:E3.applyDrawnBoundary)==null||b3.call(E3,T2.feature)),T2.status==="clear"&&(P.value=0)}function n2(T2={}){var D2,E3;(E3=(D2=a.value)==null?void 0:D2.showAnalysisResult)==null||E3.call(D2,{boundary:T2.boundary,matches:T2.matches,preserveView:z2.value==="engineering-analysis"}),z2.value}function M2(T2){var E3,b3;const D2=((T2==null?void 0:T2.features)||[]).filter(Boolean);(b3=(E3=a.value)==null?void 0:E3.showAnalysisResult)==null||b3.call(E3,{matches:D2})}function t3(){var T2,D2;c.value=null,d.value=!1,p.value=null,(D2=(T2=a.value)==null?void 0:T2.clearSelectedFeature)==null||D2.call(T2)}function A3(T2){if(!u3.value)return;const D2=document.querySelector(".fgw-map-feature-info"),E3=T2.target;D2&&E3 instanceof Node&&D2.contains(E3)||t3()}function J2(){return w.value?new Promise(T2=>{_n.to(".ecological-protection .loading",{opacity:0,duration:.8,delay:.2,onComplete:()=>{w.value=!1,T2()}})}):Promise.resolve()}return(T2,D2)=>{var E3;return K(),e2("div",_H,[e1(Br,{ref_key:"mapSceneRef",ref:a,"active-layer":o3.value,"map-ranking":M.value,"admin-boundary-line-scale":2.4,onFeatureLoading:D2[0]||(D2[0]=b3=>f.value=b3),onFeatureInfo:I1,onLayerStatus:F1,onDrawBoundary:A2},null,8,["active-layer","map-ranking"]),C("div",bH,[N2.value?G3("",!0):(K(),e2("div",SH,[C("div",wH,[(K(!0),e2(B3,null,q3(y3.value,b3=>(K(),te(K1,{key:y1(b3,"left"),class:t1(["fgw-side-card left-card",{"is-double":b1(b3)}]),title:b3.title,width:398,height:O(b3)},{default:j1(()=>[e1(bn,{panel:b3,compact:"",onRowSelect:n1=>S1(b3,n1)},null,8,["panel","onRowSelect"])]),_:2},1032,["class","title","height"]))),128))])])),N2.value?G3("",!0):(K(),e2("div",CH,[C("div",TH,[(K(!0),e2(B3,null,q3(K2.value,b3=>(K(),te(K1,{key:y1(b3,"right"),class:t1(["fgw-side-card right-card",{"is-double":b1(b3)}]),title:b3.title,width:398,height:O(b3)},{default:j1(()=>[e1(bn,{panel:b3,compact:"",onRowSelect:n1=>S1(b3,n1)},null,8,["panel","onRowSelect"])]),_:2},1032,["class","title","height"]))),128))])])),N2.value?(K(),te(ZV,{key:2,ref_key:"engineeringAnalysisRef",ref:s,"drawing-point-count":P.value,onDrawingChange:H2,onFinishDrawing:c2,onUndoPoint:a2,onClearBoundary:i2,onAnalysisResult:n2,onFocusProject:M2},null,8,["drawing-point-count"])):G3("",!0),C("div",{class:t1(["fgw-map-layer-tools",{"is-analysis":N2.value,"is-national-park":G2.value}])},[e1(Xh,{modelValue:o.value,"onUpdate:modelValue":D2[1]||(D2[1]=b3=>o.value=b3),"selected-legend-key":l.value,"onUpdate:selectedLegendKey":D2[2]||(D2[2]=b3=>l.value=b3),"topic-key":z2.value,legends:((E3=o3.value)==null?void 0:E3.legends)||[],width:N3.value,height:q2.value,"legend-only":G2.value},null,8,["modelValue","selected-legend-key","topic-key","legends","width","height","legend-only"])],2),u3.value?(K(),e2("div",{key:3,class:"fgw-map-feature-info",style:R1(L3.value)},[e1(wl,{feature:c.value,empty:d.value,loading:f.value,width:460,height:_3.value},null,8,["feature","empty","loading","height"])],4)):G3("",!0),C("div",AH,[e1(Al,{"model-value":z2.value,topics:O0(ao),"onUpdate:modelValue":K3},null,8,["model-value","topics"])])]),w.value?(K(),e2("div",xH,[D2[4]||(D2[4]=dl('<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)),C("div",EH,[C("span",PH,S2(y.value),1),D2[3]||(D2[3]=C("span",{class:"unit"},"%",-1))])])):G3("",!0)])}}},th=OH("/jsyApi"),FH="/openApi";function DH(n,e){return/^https?:\/\//.test(e)?e:`${n}${e.startsWith("/")?e:`/${e}`}`}function OH(n){const e=String(n||"/jsyApi").replace(/\/+$/,"");return e.endsWith("/api")?e:`${e}/api`}function BH(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 r0(n)}function zo(n,e,t,i={}){return M6(DH(n,e),{params:t,timeout:i.timeout||16e3}).then(BH)}function GH(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 jH(n){return Array.isArray(n)?n.length>0:!n||typeof n!="object"?n!=null&&n!=="":["areaRange","area_range","acreage","grasslandArea","grassland_area","arearange","area","yakNumber","yak_number","yaknumber","number","yakCount","yak_count","livestockCount","livestock_count","bearingCapacity","bearing_capacity","bearingcapacity","capacity","theoryCapacity","livestockCapacity","livestock_capacity","livestockcapacity","carryingCapacity","actualCapacity","overloadRate","overload_rate","overloadrate","rate","level","conclusion","advice","balanceAdvice","balance_advice"].some(t=>n[t]!==void 0&&n[t]!==null&&n[t]!=="")}function zH(){return I3(this,arguments,function*({areaCode:n}={}){const e={areaCode:n},t=[()=>zo(th,"/ai/livestockBalance",e,{timeout:18e3}),()=>zo(FH,"/ai/balance/advice",e,{timeout:18e3})];let i;for(const r of t)try{const a=yield r();if(jH(a))return a}catch(a){i=a}throw i||new Error("草畜平衡接口不可用")})}function UH(n){return I3(this,null,function*(){const e=[()=>zo(th,"/area/children",{areaCode:n},{timeout:12e3}),()=>zo(th,"/map/areaCode",{areaCode:n},{timeout:12e3})];let t,i=!1;for(const r of e)try{const a=GH(yield r());if(a.length)return a;i=!0}catch(a){t=a}if(i)return[];throw t||new Error("区划接口不可用")})}const $H={class:"grass-livestock-balance"},WH={class:"balance-selector"},VH={class:"balance-scope-tabs"},HH=["onClick"],YH={class:"balance-target-list"},KH=["title","onClick"],qH={class:"balance-action-box"},XH=["disabled"],ZH={key:0,class:"balance-running"},JH={class:"balance-running-head"},QH={class:"balance-core-inner"},eY={class:"balance-running-title"},tY={class:"balance-progress-line"},nY={class:"balance-live-process"},iY={key:1,class:"balance-waiting"},rY={class:"balance-wait-core"},aY={class:"balance-core-ring is-empty"},sY={class:"balance-core-inner"},oY={class:"balance-preflight"},lY={key:2,class:"balance-analysis"},uY={class:"balance-dashboard"},cY={class:"balance-object-block"},dY={class:"balance-core"},hY={class:"balance-core-inner"},fY={class:"balance-compare"},mY={class:"balance-bar-row"},gY={class:"balance-bar-row is-livestock"},pY={class:"balance-detail"},yY={class:"balance-process"},vY={class:"balance-section-title"},_Y={class:"balance-process-track"},bY={class:"balance-decision"},SY={class:"balance-section-title"},wY={class:"balance-conclusion"},CY={class:"balance-advice-list"},TY=326,AY=1310,xY=128,EY=8,PY=6200,MY={__name:"index",props:{active:{type:Boolean,default:!0}},emits:["loading-progress","map-ready"],setup(n,{emit:e}){const t=n,i=e,r=i3(typeof window=="undefined"?1080:window.innerHeight),a=b2(()=>{const n2=Math.max(1080,Number(r.value)||1080);return Math.max(944,n2-xY-EY)}),s=b2(()=>a.value),o=i3("county"),l=i3(""),c=i3("idle"),d=i3(0),f=i3(0),p=i3(""),y=i3({}),w=i3([]);let M=!1,P=0,D=null,B=0,V=null;const Y=b2(()=>[...uB,...w.value].map(n2=>cB(y.value[n2.key],n2))),X=b2(()=>Y.value.filter(n2=>n2.type==="county")),P2=b2(()=>Y.value.filter(n2=>n2.type==="town")),z2=b2(()=>Y.value.filter(n2=>n2.type==="village")),G2=b2(()=>o.value==="town"?P2.value:o.value==="village"?z2.value:X.value),N2=b2(()=>Y.value.find(n2=>n2.key===l.value)||null),V2=b2(()=>!!N2.value),Y2=b2(()=>c.value==="running"),o3=b2(()=>V2.value&&c.value==="done"),r3=b2(()=>fB(N2.value||{})),y3=b2(()=>[{key:"county",name:"县"},{key:"town",name:"镇"},{key:"village",name:"村"}]),K2=b2(()=>{var n2;return((n2=y3.value.find(M2=>M2.key===o.value))==null?void 0:n2.name)||"县"}),C3=b2(()=>N2.value?N2.value.areaCode?`行政区划 ${N2.value.areaCode}`:N2.value.township||"核算对象":"等待选择核算对象"),m3=b2(()=>p.value?p.value:V2.value?o3.value?"分析已完成":Y2.value?"正在执行核算":"已选择,待开始分析":"请先选择具体对象"),M3=b2(()=>o3.value?"草畜平衡分析舱":"草畜平衡分析"),N3=b2(()=>V2.value?Y2.value?"分析中":"待开始":"待选择"),q2=b2(()=>V2.value?Y2.value?`${N2.value.name} 正在分析`:`${N2.value.name} 待开始分析`:"先选择一个核算对象"),u3=b2(()=>p.value?p.value:V2.value?Y2.value?"正在读取草畜平衡结果,核对承载力、载畜量和超载率。":"点击左侧开始分析后,再展示结果、分析过程、结论和建议。":"选择县、镇或村后,系统才会进入草地承载力核算。"),_3=b2(()=>{const n2=r3.value;return n2.delta===null?"根据草畜平衡结果表返回的承载力、载畜量和超载率生成判定。":`${n2.delta>0?"超载量":"承载余量"} ${lo(Math.abs(n2.delta))},承载利用率 ${Lc(n2.usageRate)}。`}),L3=b2(()=>r3.value.risk.key==="healthy"?"保持监测":r3.value.risk.key==="watch"?"基本平衡":r3.value.risk.key==="light"?"关注调控":r3.value.delta===null?"按结果表判定":r3.value.delta>0?"需调控载畜量":"承载能力可覆盖"),F3=b2(()=>r3.value.risk.key==="healthy"||r3.value.risk.key==="watch"?"保持监测":r3.value.risk.key==="light"?"关注调控":r3.value.delta===null?"结果表口径":r3.value.delta>0?"需要调控":"保持监测"),K3=b2(()=>{const n2=Math.max(0,Math.min(130,Number(r3.value.usageRate)||0));return`${Math.round(n2/130*360)}deg`}),w2=b2(()=>[{key:"productivity",index:"01",name:"草地生产力核算",desc:"核定草地范围、面积和产草量等级,形成生产力基础口径。"},{key:"forage",index:"02",name:"可利用草量折算",desc:"扣除不可食草量、生态保留量和利用限制,折算可供放牧利用草量。"},{key:"livestock",index:"03",name:"载畜量折算",desc:"依据实际存栏和草畜平衡标准,统一形成载畜压力口径。"},{key:"balance",index:"04",name:"平衡判定",desc:"对比草地承载能力与载畜压力,输出平衡状态和调控方案。"}]),a3=b2(()=>{const n2=r3.value;return[{key:"productivity",index:"01",name:"草地生产力核算",desc:"核算草地面积与产草能力",pending:"等待草地参数",plan:"核定草地范围、面积和产草量等级"},{key:"forage",index:"02",name:"可利用草量折算",desc:"折算可供放牧利用草量",pending:"等待草量折算",plan:"扣除不可食草量、生态保留量和利用限制"},{key:"livestock",index:"03",name:"载畜量折算",desc:"形成实际载畜压力口径",pending:"等待载畜折算",plan:"依据实际存栏和草畜平衡标准进行折算"},{key:"balance",index:"04",name:"平衡判定",desc:"生成结论与调控方向",pending:"等待平衡判定",plan:["healthy","watch"].includes(n2.risk.key)?"判定平衡状态并生成监测方案":"判定超载风险并生成调控方案"}]}),k3=b2(()=>a3.value[Math.min(f.value,a3.value.length-1)]||a3.value[0]),J3=b2(()=>[{key:"productivity",index:"01",name:"生产力核算",desc:o3.value?"草地生产力核算":V2.value?"等待核算":"等待选择",state:V2.value?"done":"active"},{key:"forage",index:"02",name:"草量折算",desc:o3.value?"可利用草量折算":"分析后折算",state:Y2.value?"active":o3.value?"done":V2.value?"pending":"disabled"},{key:"livestock",index:"03",name:"载畜折算",desc:o3.value?"载畜压力折算":"等待折算",state:Y2.value?"active":o3.value?"done":"disabled"},{key:"balance",index:"04",name:"平衡判定",desc:o3.value?r3.value.risk.label:"等待判定",state:o3.value?"done":"disabled"}]),Q3=b2(()=>o3.value?mB(N2.value,r3.value.risk):[]);function l1(){r.value=typeof window=="undefined"?1080:window.innerHeight}$n(()=>{l1(),window.addEventListener("resize",l1),i("loading-progress",{progress:100}),i("map-ready"),O()}),Un(()=>{M=!0,window.removeEventListener("resize",l1),P+=1,B+=1,a2()}),I0(()=>{var n2;return(n2=N2.value)==null?void 0:n2.key},()=>{c.value="idle",d.value=0,f.value=0,p.value="",V=null,a2()}),I0(()=>t.active,n2=>{n2||!Y2.value||(c.value="idle",d.value=0,f.value=0,p.value="",V=null,a2())});function c1(n2){o.value=n2,l.value="",c.value="idle",p.value=""}function B1(n2){n2&&(o.value=["county","town","village"].includes(n2.type)?n2.type:"county",l.value=n2.key,c.value="idle",p.value="")}function y1(){if(!t.active||!N2.value||Y2.value)return;c.value="running",d.value=0,f.value=0,p.value="",a2();const n2=Date.now();let M2=!1;const t3=b1().catch(A3=>(M2=!0,p.value=(A3==null?void 0:A3.message)||"未查询到该对象的草畜平衡结果",null));V=t3,D=window.setInterval(()=>{if(M)return;const A3=V===t3?92:100;d.value=Math.min(A3,d.value+2),f.value=Math.min(a3.value.length-1,Math.floor(d.value/25))},140),t3.finally(()=>I3(this,null,function*(){var J2;const A3=PY-(Date.now()-n2);if(A3>0&&(yield new Promise(T2=>window.setTimeout(T2,A3))),!(M||c.value!=="running"||V!==t3)){if(V=null,a2(),M2||!y.value[(J2=N2.value)==null?void 0:J2.key]){d.value=0,f.value=0,c.value="idle";return}d.value=100,f.value=a3.value.length-1,c.value="done"}}))}function b1(){return I3(this,null,function*(){const n2=N2.value;if(!n2)throw new Error("请先选择具体核算对象");if(y.value[n2.key])return y.value[n2.key];const M2=++P,t3=yield zH({areaCode:n2.areaCode});if(M||M2!==P)return null;if(!t3||typeof t3!="object"||!Object.keys(t3).length)throw new Error("未查询到该对象的草畜平衡结果");return y.value=s3(W2({},y.value),{[n2.key]:t3}),t3})}function O(){return I3(this,null,function*(){const n2=++B,M2=P2.value.filter(t3=>t3==null?void 0:t3.areaCode).map(t3=>W2({},t3));if(M2.length)try{const t3=yield Promise.all(M2.map(A3=>I3(this,null,function*(){try{const J2=yield UH(A3.areaCode);return M||n2!==B?[]:A1(J2,A3)}catch(J2){return[]}})));if(M||n2!==B)return;w.value=t3.flat()}catch(t3){if(M||n2!==B)return;w.value=[]}})}function A1(n2=[],M2={}){const A3=(Array.isArray(n2)?n2:[]).filter(J2=>{const T2=H2(J2),D2=c2(J2);return!!(T2||D2)}).map((J2,T2)=>S1(J2,T2,M2)).filter(Boolean);return I1(A3,M2)}function I1(n2=[],M2={}){const t3=new Map;return n2.forEach(A3=>{const J2=F1(A3,M2),T2=t3.get(J2);if(!T2){t3.set(J2,s3(W2({},A3),{duplicateSources:[A3.source].filter(Boolean)}));return}const E3=!T2.areaCode&&A3.areaCode?W2(W2({},T2),A3):T2;t3.set(J2,s3(W2({},E3),{duplicateSources:[...T2.duplicateSources||[],A3.source].filter(Boolean)}))}),[...t3.values()]}function F1(n2={},M2={}){const t3=String(n2.name||"").replace(/\s+/g,"").trim();return`${String(n2.township||M2.name||"").replace(/\s+/g,"").trim()||"unknown-town"}-${t3||n2.areaCode||"unknown-village"}`}function S1(n2={},M2=0,t3={}){const A3=H2(n2),J2=c2(n2)||(A3?`村级区划${A3}`:"");return!A3&&!J2?null:{key:`village-${A3||`${t3.key||t3.name}-${J2}-${M2}`}`,type:"village",name:J2,areaCode:A3,township:t3.name,source:n2,year:"2026"}}function H2(n2={}){return String(Jn(n2,["areaCode","area_code","areacode","code","value","id","areaId","area_id"],"")||"").trim()}function c2(n2={}){return String(Jn(n2,["areaName","area_name","areaname","name","label","zoneName","villageName","village_name"],"")||"").trim()}function a2(){D&&(window.clearInterval(D),D=null)}function i2(n2){return o3.value||Y2.value&&n2<=f.value}function A2(n2){return n2<f.value||o3.value?"done":n2===f.value&&Y2.value?"active":"pending"}return(n2,M2)=>(K(),e2("div",$H,[M2[13]||(M2[13]=C("div",{class:"balance-backdrop","aria-hidden":"true"},[C("div",{class:"balance-orbit is-left"}),C("div",{class:"balance-orbit is-right"}),C("div",{class:"balance-energy-band"})],-1)),C("div",{class:"balance-screen",style:R1({"--balance-card-height":`${a.value}px`})},[e1(K1,{class:"balance-card balance-target-card",title:"核算对象",width:TY,height:s.value},{default:j1(()=>{var t3;return[C("div",WH,[C("div",VH,[(K(!0),e2(B3,null,q3(y3.value,A3=>(K(),e2("button",{key:A3.key,type:"button",class:t1({active:o.value===A3.key}),onClick:J2=>c1(A3.key)},S2(A3.name),11,HH))),128))]),C("div",YH,[(K(!0),e2(B3,null,q3(G2.value,A3=>{var J2;return K(),e2("button",{key:A3.key,type:"button",class:t1({active:A3.key===((J2=N2.value)==null?void 0:J2.key)}),title:A3.name,onClick:T2=>B1(A3)},[C("span",null,S2(A3.name),1)],10,KH)}),128))]),C("div",qH,[M2[0]||(M2[0]=C("span",null,"当前对象",-1)),C("strong",null,S2(((t3=N2.value)==null?void 0:t3.name)||"未选择"),1),C("small",null,S2(m3.value),1),C("button",{type:"button",disabled:!V2.value||Y2.value,onClick:y1},S2(Y2.value?"分析中...":o3.value?"重新分析":"开始分析"),9,XH)])])]}),_:1},8,["height"]),e1(K1,{class:"balance-card balance-sheet-card",title:M3.value,width:AY,height:a.value},{default:j1(()=>[C("div",{class:t1(["balance-sheet",{"is-ready":o3.value,"is-running":Y2.value}])},[M2[12]||(M2[12]=C("div",{class:"balance-field-lines","aria-hidden":"true"},[C("i"),C("i"),C("i")],-1)),Y2.value?(K(),e2("section",ZH,[C("div",JH,[C("div",{class:"balance-core-ring is-running",style:R1({"--usage-angle":`${d.value*3.6}deg`})},[C("div",QH,[M2[1]||(M2[1]=C("span",null,"分析进度",-1)),C("strong",null,S2(d.value)+"%",1),C("small",null,S2(k3.value.name),1)])],4),C("div",eY,[C("span",null,S2(N2.value.name),1),C("strong",null,S2(k3.value.desc),1),C("small",null,S2(k3.value.plan),1),C("div",tY,[C("i",{style:R1({width:`${d.value}%`})},null,4)])])]),C("div",nY,[(K(!0),e2(B3,null,q3(a3.value,(t3,A3)=>(K(),e2("div",{key:t3.key,class:t1(["balance-live-step",`is-${A2(A3)}`])},[C("span",null,S2(t3.index),1),C("div",null,[C("strong",null,S2(t3.name),1),C("p",null,S2(i2(A3)?t3.plan:t3.pending),1)])],2))),128))])])):o3.value?(K(),e2("section",lY,[C("div",uY,[C("div",cY,[C("span",null,S2(K2.value)+"核算对象",1),C("strong",null,S2(N2.value.name),1),C("small",null,S2(C3.value),1)]),C("div",dY,[C("div",{class:"balance-core-ring",style:R1({"--usage-angle":K3.value})},[C("div",hY,[M2[5]||(M2[5]=C("span",null,"承载利用率",-1)),C("strong",null,S2(O0(Lc)(r3.value.usageRate)),1),C("small",null,"超载率 "+S2(O0(Lc)(r3.value.overloadRate)),1)])],4),M2[6]||(M2[6]=C("div",{class:"balance-core-caption"},"草地承载力模型",-1))]),C("div",{class:t1(["balance-verdict-card",`is-${r3.value.risk.key}`])},[M2[7]||(M2[7]=C("span",null,"分析结论",-1)),C("strong",null,S2(r3.value.risk.label),1),C("small",null,S2(L3.value),1)],2)]),C("div",fY,[C("div",mY,[M2[8]||(M2[8]=C("span",null,"理论承载力",-1)),C("div",null,[C("i",{style:R1({width:`${r3.value.bearingPercent}%`})},null,4)]),C("strong",null,S2(O0(lo)(r3.value.bearing)),1)]),C("div",gY,[M2[9]||(M2[9]=C("span",null,"实际载畜量",-1)),C("div",null,[C("i",{style:R1({width:`${r3.value.livestockPercent}%`})},null,4)]),C("strong",null,S2(O0(lo)(r3.value.livestock)),1)])]),C("div",pY,[C("div",yY,[C("div",vY,[M2[10]||(M2[10]=C("span",null,"分析过程",-1)),C("small",null,S2(N2.value.year||"当前年度"),1)]),C("div",_Y,[(K(!0),e2(B3,null,q3(J3.value,t3=>(K(),e2("span",{key:`track-${t3.key}`,class:t1(`is-${t3.state}`)},S2(t3.name),3))),128))]),(K(!0),e2(B3,null,q3(w2.value,t3=>(K(),e2("div",{key:t3.key,class:"balance-formula-row"},[C("span",null,S2(t3.index),1),C("div",null,[C("strong",null,S2(t3.name),1),C("p",null,S2(t3.desc),1)])]))),128))]),C("div",bY,[C("div",SY,[M2[11]||(M2[11]=C("span",null,"结论与建议",-1)),C("small",null,S2(F3.value),1)]),C("div",wY,[C("strong",null,S2(r3.value.risk.description),1),C("p",null,S2(_3.value),1)]),C("div",CY,[(K(!0),e2(B3,null,q3(Q3.value,(t3,A3)=>(K(),e2("div",{key:`${t3}-${A3}`,class:"balance-advice-item"},[C("span",null,S2(A3+1),1),C("p",null,S2(t3),1)]))),128))])])])])):(K(),e2("section",iY,[C("div",rY,[C("div",aY,[C("div",sY,[C("span",null,S2(N3.value),1),C("strong",null,S2(V2.value?N2.value.name:"草畜平衡"),1),C("small",null,S2(V2.value?"待执行模型分析":"等待核算对象"),1)])]),C("h2",null,S2(q2.value),1),C("p",null,S2(u3.value),1)]),C("div",oY,[C("span",{class:t1({active:V2.value})},"对象锁定",2),M2[2]||(M2[2]=C("i",null,null,-1)),C("span",{class:t1({active:V2.value})},"等待启动分析",2),M2[3]||(M2[3]=C("i",null,null,-1)),M2[4]||(M2[4]=C("span",null,"生成过程与结论",-1))])]))],2)]),_:1},8,["title","height"])],4)]))}};const Sn={ADD:"add",REMOVE:"remove"},g4={PROPERTYCHANGE:"propertychange"};function Vr(n){for(const e in n)delete n[e]}function I8(n){let e;for(e in n)return!1;return!e}function M0(n,e,t,i,r){if(r){const s=t;t=function(o){return n.removeEventListener(e,t),s.call(i!=null?i:this,o)}}else i&&i!==n&&(t=t.bind(i));const a={target:n,type:e,listener:t};return n.addEventListener(e,t),a}function Uo(n,e,t,i){return M0(n,e,t,i,!0)}function be(n){n&&n.target&&(n.target.removeEventListener(n.type,n.listener),Vr(n))}const t0={CHANGE:"change",ERROR:"error",BLUR:"blur",CLEAR:"clear",CONTEXTMENU:"contextmenu",CLICK:"click",DBLCLICK:"dblclick",DRAGENTER:"dragenter",DRAGOVER:"dragover",DROP:"drop",FOCUS:"focus",KEYDOWN:"keydown",KEYPRESS:"keypress",LOAD:"load",RESIZE:"resize",TOUCHMOVE:"touchmove",WHEEL:"wheel"};class kY{constructor(){this.disposed=!1}dispose(){this.disposed||(this.disposed=!0,this.disposeInternal())}disposeInternal(){}}const Pl=kY;function RY(n,e,t){let i,r;t=t||D5;let a=0,s=n.length,o=!1;for(;a<s;)i=a+(s-a>>1),r=+t(n[i],e),r<0?a=i+1:(s=i,o=!r);return o?a:~a}function D5(n,e){return n>e?1:n<e?-1:0}function IY(n,e){return n<e?1:n>e?-1:0}function Ml(n,e,t){if(n[0]<=e)return 0;const i=n.length;if(e<=n[i-1])return i-1;if(typeof t=="function"){for(let r=1;r<i;++r){const a=n[r];if(a===e)return r;if(a<e)return t(e,n[r-1],a)>0?r-1:r}return i-1}if(t>0){for(let r=1;r<i;++r)if(n[r]<e)return r-1;return i-1}if(t<0){for(let r=1;r<i;++r)if(n[r]<=e)return r;return i-1}for(let r=1;r<i;++r){if(n[r]==e)return r;if(n[r]<e)return n[r-1]-e<e-n[r]?r-1:r}return i-1}function NY(n,e,t){for(;e<t;){const i=n[e];n[e]=n[t],n[t]=i,++e,--t}}function a5(n,e){const t=Array.isArray(e)?e:[e],i=t.length;for(let r=0;r<i;r++)n[n.length]=t[r]}function z9(n,e){const t=n.length;if(t!==e.length)return!1;for(let i=0;i<t;i++)if(n[i]!==e[i])return!1;return!0}function LY(n,e,t){const i=e||D5;return n.every(function(r,a){if(a===0)return!0;const s=i(n[a-1],r);return!(s>0||t&&s===0)})}function br(){return!0}function kl(){return!1}function Sr(){}function GS(n){let e,t,i;return function(){const r=Array.prototype.slice.call(arguments);return(!t||this!==i||!z9(r,t))&&(i=this,t=r,e=n.apply(this,arguments)),e}}function jS(n){function e(){let t;try{t=n()}catch(i){return Promise.reject(i)}return t instanceof Promise?t:Promise.resolve(t)}return e()}class FY{constructor(e){this.propagationStopped,this.defaultPrevented,this.type=e,this.target=null}preventDefault(){this.defaultPrevented=!0}stopPropagation(){this.propagationStopped=!0}}const g5=FY;class DY extends Pl{constructor(e){super(),this.eventTarget_=e,this.pendingRemovals_=null,this.dispatching_=null,this.listeners_=null}addEventListener(e,t){if(!e||!t)return;const i=this.listeners_||(this.listeners_={}),r=i[e]||(i[e]=[]);r.includes(t)||r.push(t)}dispatchEvent(e){const t=typeof e=="string",i=t?e:e.type,r=this.listeners_&&this.listeners_[i];if(!r)return;const a=t?new g5(e):e;a.target||(a.target=this.eventTarget_||this);const s=this.dispatching_||(this.dispatching_={}),o=this.pendingRemovals_||(this.pendingRemovals_={});i in s||(s[i]=0,o[i]=0),++s[i];let l;for(let c=0,d=r.length;c<d;++c)if("handleEvent"in r[c]?l=r[c].handleEvent(a):l=r[c].call(this,a),l===!1||a.propagationStopped){l=!1;break}if(--s[i]===0){let c=o[i];for(delete o[i];c--;)this.removeEventListener(i,Sr);delete s[i]}return l}disposeInternal(){this.listeners_&&Vr(this.listeners_)}getListeners(e){return this.listeners_&&this.listeners_[e]||void 0}hasListener(e){return this.listeners_?e?e in this.listeners_:Object.keys(this.listeners_).length>0:!1}removeEventListener(e,t){if(!this.listeners_)return;const i=this.listeners_[e];if(!i)return;const r=i.indexOf(t);r!==-1&&(this.pendingRemovals_&&e in this.pendingRemovals_?(i[r]=Sr,++this.pendingRemovals_[e]):(i.splice(r,1),i.length===0&&delete this.listeners_[e]))}}const Hr=DY;class Yr extends Hr{constructor(){super(),this.on=this.onInternal,this.once=this.onceInternal,this.un=this.unInternal,this.revision_=0}changed(){++this.revision_,this.dispatchEvent(t0.CHANGE)}getRevision(){return this.revision_}onInternal(e,t){if(Array.isArray(e)){const i=e.length,r=new Array(i);for(let a=0;a<i;++a)r[a]=M0(this,e[a],t);return r}return M0(this,e,t)}onceInternal(e,t){let i;if(Array.isArray(e)){const r=e.length;i=new Array(r);for(let a=0;a<r;++a)i[a]=Uo(this,e[a],t)}else i=Uo(this,e,t);return t.ol_key=i,i}unInternal(e,t){const i=t.ol_key;if(i)mo(i);else if(Array.isArray(e))for(let r=0,a=e.length;r<a;++r)this.removeEventListener(e[r],t);else this.removeEventListener(e,t)}}Yr.prototype.on;Yr.prototype.once;Yr.prototype.un;function mo(n){if(Array.isArray(n))for(let e=0,t=n.length;e<t;++e)be(n[e]);else be(n)}function Z1(){throw new Error("Unimplemented abstract method.")}let OY=0;function j0(n){return n.ol_uid||(n.ol_uid=String(++OY))}class Sv extends g5{constructor(e,t,i){super(e),this.key=t,this.oldValue=i}}class BY extends Yr{constructor(e){super(),this.on,this.once,this.un,j0(this),this.values_=null,e!==void 0&&this.setProperties(e)}get(e){let t;return this.values_&&this.values_.hasOwnProperty(e)&&(t=this.values_[e]),t}getKeys(){return this.values_&&Object.keys(this.values_)||[]}getProperties(){return this.values_&&Object.assign({},this.values_)||{}}getPropertiesInternal(){return this.values_}hasProperties(){return!!this.values_}notify(e,t){let i;i=`change:${e}`,this.hasListener(i)&&this.dispatchEvent(new Sv(i,e,t)),i=g4.PROPERTYCHANGE,this.hasListener(i)&&this.dispatchEvent(new Sv(i,e,t))}addChangeListener(e,t){this.addEventListener(`change:${e}`,t)}removeChangeListener(e,t){this.removeEventListener(`change:${e}`,t)}set(e,t,i){const r=this.values_||(this.values_={});if(i)r[e]=t;else{const a=r[e];r[e]=t,a!==t&&this.notify(e,a)}}setProperties(e,t){for(const i in e)this.set(i,e[i],t)}applyProperties(e){e.values_&&Object.assign(this.values_||(this.values_={}),e.values_)}unset(e,t){if(this.values_&&e in this.values_){const i=this.values_[e];delete this.values_[e],I8(this.values_)&&(this.values_=null),t||this.notify(e,i)}}}const p5=BY,wv={LENGTH:"length"};class zs extends g5{constructor(e,t,i){super(e),this.element=t,this.index=i}}class GY extends p5{constructor(e,t){if(super(),this.on,this.once,this.un,t=t||{},this.unique_=!!t.unique,this.array_=e!=null?e:[],this.unique_)for(let i=1,r=this.array_.length;i<r;++i)this.assertUnique_(this.array_[i],i);this.updateLength_()}clear(){for(;this.getLength()>0;)this.pop()}extend(e){for(let t=0,i=e.length;t<i;++t)this.push(e[t]);return this}forEach(e){const t=this.array_;for(let i=0,r=t.length;i<r;++i)e(t[i],i,t)}getArray(){return this.array_}item(e){return this.array_[e]}getLength(){return this.get(wv.LENGTH)}insertAt(e,t){if(e<0||e>this.getLength())throw new Error("Index out of bounds: "+e);this.unique_&&this.assertUnique_(t),this.array_.splice(e,0,t),this.updateLength_(),this.dispatchEvent(new zs(Sn.ADD,t,e))}pop(){return this.removeAt(this.getLength()-1)}push(e){const t=this.getLength();return this.insertAt(t,e),this.getLength()}remove(e){const t=this.array_;for(let i=0,r=t.length;i<r;++i)if(t[i]===e)return this.removeAt(i)}removeAt(e){if(e<0||e>=this.getLength())return;const t=this.array_[e];return this.array_.splice(e,1),this.updateLength_(),this.dispatchEvent(new zs(Sn.REMOVE,t,e)),t}setAt(e,t){const i=this.getLength();if(e>=i){this.insertAt(e,t);return}if(e<0)throw new Error("Index out of bounds: "+e);this.unique_&&this.assertUnique_(t,e);const r=this.array_[e];this.array_[e]=t,this.dispatchEvent(new zs(Sn.REMOVE,r,e)),this.dispatchEvent(new zs(Sn.ADD,t,e))}updateLength_(){this.set(wv.LENGTH,this.array_.length)}assertUnique_(e,t){const i=this.array_;for(let r=0,a=i.length;r<a;++r)if(i[r]===e&&r!==t)throw new Error("Duplicate item added to a unique collection")}}const r6=GY;class jY extends g5{constructor(e,t,i){super(e),this.map=t,this.frameState=i!==void 0?i:null}}const Oi=jY;class zY extends Oi{constructor(e,t,i,r,a,s){super(e,t,a),this.originalEvent=i,this.pixel_=null,this.coordinate_=null,this.dragging=r!==void 0?r:!1,this.activePointers=s}get pixel(){return this.pixel_||(this.pixel_=this.map.getEventPixel(this.originalEvent)),this.pixel_}set pixel(e){this.pixel_=e}get coordinate(){return this.coordinate_||(this.coordinate_=this.map.getCoordinateFromPixel(this.pixel)),this.coordinate_}set coordinate(e){this.coordinate_=e}preventDefault(){super.preventDefault(),"preventDefault"in this.originalEvent&&this.originalEvent.preventDefault()}stopPropagation(){super.stopPropagation(),"stopPropagation"in this.originalEvent&&this.originalEvent.stopPropagation()}}const h9=zY,Ue={SINGLECLICK:"singleclick",CLICK:t0.CLICK,DBLCLICK:t0.DBLCLICK,POINTERDRAG:"pointerdrag",POINTERMOVE:"pointermove",POINTERDOWN:"pointerdown",POINTERUP:"pointerup",POINTEROVER:"pointerover",POINTEROUT:"pointerout",POINTERENTER:"pointerenter",POINTERLEAVE:"pointerleave",POINTERCANCEL:"pointercancel"},N8=typeof navigator!="undefined"&&typeof navigator.userAgent!="undefined"?navigator.userAgent.toLowerCase():"",UY=N8.includes("safari")&&!N8.includes("chrom");UY&&(N8.includes("version/15.4")||/cpu (os|iphone os) 15_4 like mac os x/.test(N8));const $Y=N8.includes("webkit")&&!N8.includes("edge"),zS=N8.includes("macintosh"),WY=typeof devicePixelRatio!="undefined"?devicePixelRatio:1,a6=typeof WorkerGlobalScope!="undefined"&&typeof OffscreenCanvas!="undefined"&&self instanceof WorkerGlobalScope,mf=typeof Image!="undefined"&&Image.prototype.decode,US=typeof createImageBitmap=="function",$S=function(){let n=!1;try{const e=Object.defineProperty({},"passive",{get:function(){n=!0}});window.addEventListener("_",null,e),window.removeEventListener("_",null,e)}catch(e){}return n}(),nh={POINTERMOVE:"pointermove",POINTERDOWN:"pointerdown",POINTERUP:"pointerup",POINTEROVER:"pointerover",POINTEROUT:"pointerout",POINTERENTER:"pointerenter",POINTERLEAVE:"pointerleave",POINTERCANCEL:"pointercancel"};class VY extends Hr{constructor(e,t){super(e),this.map_=e,this.clickTimeoutId_,this.emulateClicks_=!1,this.dragging_=!1,this.dragListenerKeys_=[],this.moveTolerance_=t===void 0?1:t,this.down_=null;const i=this.map_.getViewport();this.activePointers_=[],this.trackedTouches_={},this.element_=i,this.pointerdownListenerKey_=M0(i,nh.POINTERDOWN,this.handlePointerDown_,this),this.originalPointerMoveEvent_,this.relayedListenerKey_=M0(i,nh.POINTERMOVE,this.relayMoveEvent_,this),this.boundHandleTouchMove_=this.handleTouchMove_.bind(this),this.element_.addEventListener(t0.TOUCHMOVE,this.boundHandleTouchMove_,$S?{passive:!1}:!1)}emulateClick_(e){let t=new h9(Ue.CLICK,this.map_,e);this.dispatchEvent(t),this.clickTimeoutId_!==void 0?(clearTimeout(this.clickTimeoutId_),this.clickTimeoutId_=void 0,t=new h9(Ue.DBLCLICK,this.map_,e),this.dispatchEvent(t)):this.clickTimeoutId_=setTimeout(()=>{this.clickTimeoutId_=void 0;const i=new h9(Ue.SINGLECLICK,this.map_,e);this.dispatchEvent(i)},250)}updateActivePointers_(e){const t=e,i=t.pointerId;if(t.type==Ue.POINTERUP||t.type==Ue.POINTERCANCEL){delete this.trackedTouches_[i];for(const r in this.trackedTouches_)if(this.trackedTouches_[r].target!==t.target){delete this.trackedTouches_[r];break}}else(t.type==Ue.POINTERDOWN||t.type==Ue.POINTERMOVE)&&(this.trackedTouches_[i]=t);this.activePointers_=Object.values(this.trackedTouches_)}handlePointerUp_(e){this.updateActivePointers_(e);const t=new h9(Ue.POINTERUP,this.map_,e,void 0,void 0,this.activePointers_);this.dispatchEvent(t),this.emulateClicks_&&!t.defaultPrevented&&!this.dragging_&&this.isMouseActionButton_(e)&&this.emulateClick_(this.down_),this.activePointers_.length===0&&(this.dragListenerKeys_.forEach(be),this.dragListenerKeys_.length=0,this.dragging_=!1,this.down_=null)}isMouseActionButton_(e){return e.button===0}handlePointerDown_(e){this.emulateClicks_=this.activePointers_.length===0,this.updateActivePointers_(e);const t=new h9(Ue.POINTERDOWN,this.map_,e,void 0,void 0,this.activePointers_);if(this.dispatchEvent(t),this.down_=new PointerEvent(e.type,e),Object.defineProperty(this.down_,"target",{writable:!1,value:e.target}),this.dragListenerKeys_.length===0){const i=this.map_.getOwnerDocument();this.dragListenerKeys_.push(M0(i,Ue.POINTERMOVE,this.handlePointerMove_,this),M0(i,Ue.POINTERUP,this.handlePointerUp_,this),M0(this.element_,Ue.POINTERCANCEL,this.handlePointerUp_,this)),this.element_.getRootNode&&this.element_.getRootNode()!==i&&this.dragListenerKeys_.push(M0(this.element_.getRootNode(),Ue.POINTERUP,this.handlePointerUp_,this))}}handlePointerMove_(e){if(this.isMoving_(e)){this.updateActivePointers_(e),this.dragging_=!0;const t=new h9(Ue.POINTERDRAG,this.map_,e,this.dragging_,void 0,this.activePointers_);this.dispatchEvent(t)}}relayMoveEvent_(e){this.originalPointerMoveEvent_=e;const t=!!(this.down_&&this.isMoving_(e));this.dispatchEvent(new h9(Ue.POINTERMOVE,this.map_,e,t))}handleTouchMove_(e){const t=this.originalPointerMoveEvent_;(!t||t.defaultPrevented)&&(typeof e.cancelable!="boolean"||e.cancelable===!0)&&e.preventDefault()}isMoving_(e){return this.dragging_||Math.abs(e.clientX-this.down_.clientX)>this.moveTolerance_||Math.abs(e.clientY-this.down_.clientY)>this.moveTolerance_}disposeInternal(){this.relayedListenerKey_&&(be(this.relayedListenerKey_),this.relayedListenerKey_=null),this.element_.removeEventListener(t0.TOUCHMOVE,this.boundHandleTouchMove_),this.pointerdownListenerKey_&&(be(this.pointerdownListenerKey_),this.pointerdownListenerKey_=null),this.dragListenerKeys_.forEach(be),this.dragListenerKeys_.length=0,this.element_=null,super.disposeInternal()}}const HY=VY,f9={POSTRENDER:"postrender",MOVESTART:"movestart",MOVEEND:"moveend",LOADSTART:"loadstart",LOADEND:"loadend"},Ut={LAYERGROUP:"layergroup",SIZE:"size",TARGET:"target",VIEW:"view"},z1={IDLE:0,LOADING:1,LOADED:2,ERROR:3,EMPTY:4};function ne(n,e){if(!n)throw new Error(e)}const $o=1/0;class YY{constructor(e,t){this.priorityFunction_=e,this.keyFunction_=t,this.elements_=[],this.priorities_=[],this.queuedElements_={}}clear(){this.elements_.length=0,this.priorities_.length=0,Vr(this.queuedElements_)}dequeue(){const e=this.elements_,t=this.priorities_,i=e[0];e.length==1?(e.length=0,t.length=0):(e[0]=e.pop(),t[0]=t.pop(),this.siftUp_(0));const r=this.keyFunction_(i);return delete this.queuedElements_[r],i}enqueue(e){ne(!(this.keyFunction_(e)in this.queuedElements_),"Tried to enqueue an `element` that was already added to the queue");const t=this.priorityFunction_(e);return t!=$o?(this.elements_.push(e),this.priorities_.push(t),this.queuedElements_[this.keyFunction_(e)]=!0,this.siftDown_(0,this.elements_.length-1),!0):!1}getCount(){return this.elements_.length}getLeftChildIndex_(e){return e*2+1}getRightChildIndex_(e){return e*2+2}getParentIndex_(e){return e-1>>1}heapify_(){let e;for(e=(this.elements_.length>>1)-1;e>=0;e--)this.siftUp_(e)}isEmpty(){return this.elements_.length===0}isKeyQueued(e){return e in this.queuedElements_}isQueued(e){return this.isKeyQueued(this.keyFunction_(e))}siftUp_(e){const t=this.elements_,i=this.priorities_,r=t.length,a=t[e],s=i[e],o=e;for(;e<r>>1;){const l=this.getLeftChildIndex_(e),c=this.getRightChildIndex_(e),d=c<r&&i[c]<i[l]?c:l;t[e]=t[d],i[e]=i[d],e=d}t[e]=a,i[e]=s,this.siftDown_(o,e)}siftDown_(e,t){const i=this.elements_,r=this.priorities_,a=i[t],s=r[t];for(;t>e;){const o=this.getParentIndex_(t);if(r[o]>s)i[t]=i[o],r[t]=r[o],t=o;else break}i[t]=a,r[t]=s}reprioritize(){const e=this.priorityFunction_,t=this.elements_,i=this.priorities_;let r=0;const a=t.length;let s,o,l;for(o=0;o<a;++o)s=t[o],l=e(s),l==$o?delete this.queuedElements_[this.keyFunction_(s)]:(i[r]=l,t[r++]=s);t.length=r,i.length=r,this.heapify_()}}const KY=YY;class qY extends KY{constructor(e,t){super(i=>e.apply(null,i),i=>i[0].getKey()),this.boundHandleTileChange_=this.handleTileChange.bind(this),this.tileChangeCallback_=t,this.tilesLoading_=0,this.tilesLoadingKeys_={}}enqueue(e){const t=super.enqueue(e);return t&&e[0].addEventListener(t0.CHANGE,this.boundHandleTileChange_),t}getTilesLoading(){return this.tilesLoading_}handleTileChange(e){const t=e.target,i=t.getState();if(i===z1.LOADED||i===z1.ERROR||i===z1.EMPTY){i!==z1.ERROR&&t.removeEventListener(t0.CHANGE,this.boundHandleTileChange_);const r=t.getKey();r in this.tilesLoadingKeys_&&(delete this.tilesLoadingKeys_[r],--this.tilesLoading_),this.tileChangeCallback_()}}loadMoreTiles(e,t){let i=0;for(;this.tilesLoading_<e&&i<t&&this.getCount()>0;){const r=this.dequeue()[0],a=r.getKey();r.getState()===z1.IDLE&&!(a in this.tilesLoadingKeys_)&&(this.tilesLoadingKeys_[a]=!0,++this.tilesLoading_,++i,r.load())}}}const XY=qY;function ZY(n,e,t,i,r){if(!n||!(t in n.wantedTiles)||!n.wantedTiles[t][e.getKey()])return $o;const a=n.viewState.center,s=i[0]-a[0],o=i[1]-a[1];return 65536*Math.log(r)+Math.sqrt(s*s+o*o)/r}const At={ANIMATING:0,INTERACTING:1},_6={CENTER:"center",RESOLUTION:"resolution",ROTATION:"rotation"};function Ie(n,e,t){return Math.min(Math.max(n,e),t)}function JY(n,e,t,i,r,a){const s=r-t,o=a-i;if(s!==0||o!==0){const l=((n-t)*s+(e-i)*o)/(s*s+o*o);l>1?(t=r,i=a):l>0&&(t+=s*l,i+=o*l)}return A8(n,e,t,i)}function A8(n,e,t,i){const r=t-n,a=i-e;return r*r+a*a}function QY(n){const e=n.length;for(let i=0;i<e;i++){let r=i,a=Math.abs(n[i][i]);for(let o=i+1;o<e;o++){const l=Math.abs(n[o][i]);l>a&&(a=l,r=o)}if(a===0)return null;const s=n[r];n[r]=n[i],n[i]=s;for(let o=i+1;o<e;o++){const l=-n[o][i]/n[i][i];for(let c=i;c<e+1;c++)i==c?n[o][c]=0:n[o][c]+=l*n[i][c]}}const t=new Array(e);for(let i=e-1;i>=0;i--){t[i]=n[i][e]/n[i][i];for(let r=i-1;r>=0;r--)n[r][e]-=n[r][i]*t[i]}return t}function Cv(n){return n*180/Math.PI}function k9(n){return n*Math.PI/180}function R9(n,e){const t=n%e;return t*e<0?t+e:t}function Bn(n,e,t){return n+t*(e-n)}function Kr(n,e){const t=Math.pow(10,e);return Math.round(n*t)/t}function Tv(n,e){return Math.round(Kr(n,e))}function qi(n,e){return Math.floor(Kr(n,e))}function T9(n,e){return Math.ceil(Kr(n,e))}function ih(n,e,t){if(n>=e&&n<t)return n;const i=t-e;return((n-e)%i+i)%i+e}function Av(n,e,t){return function(i,r,a,s,o){if(!i)return;if(!r&&!e)return i;const l=e?0:a[0]*r,c=e?0:a[1]*r,d=o?o[0]:0,f=o?o[1]:0;let p=n[0]+l/2+d,y=n[2]-l/2+d,w=n[1]+c/2+f,M=n[3]-c/2+f;p>y&&(p=(y+p)/2,y=p),w>M&&(w=(M+w)/2,M=w);let P=Ie(i[0],p,y),D=Ie(i[1],w,M);if(s&&t&&r){const B=30*r;P+=-B*Math.log(1+Math.max(0,p-i[0])/B)+B*Math.log(1+Math.max(0,i[0]-y)/B),D+=-B*Math.log(1+Math.max(0,w-i[1])/B)+B*Math.log(1+Math.max(0,i[1]-M)/B)}return[P,D]}}function eK(n){return n}const Tt={UNKNOWN:0,INTERSECTING:1,ABOVE:2,RIGHT:4,BELOW:8,LEFT:16};function xv(n){const e=zn();for(let t=0,i=n.length;t<i;++t)er(e,n[t]);return e}function wr(n,e,t){return t?(t[0]=n[0]-e,t[1]=n[1]-e,t[2]=n[2]+e,t[3]=n[3]+e,t):[n[0]-e,n[1]-e,n[2]+e,n[3]+e]}function WS(n,e){return e?(e[0]=n[0],e[1]=n[1],e[2]=n[2],e[3]=n[3],e):n.slice()}function j8(n,e,t){let i,r;return e<n[0]?i=n[0]-e:n[2]<e?i=e-n[2]:i=0,t<n[1]?r=n[1]-t:n[3]<t?r=t-n[3]:r=0,i*i+r*r}function L8(n,e){return gf(n,e[0],e[1])}function A9(n,e){return n[0]<=e[0]&&e[2]<=n[2]&&n[1]<=e[1]&&e[3]<=n[3]}function gf(n,e,t){return n[0]<=e&&e<=n[2]&&n[1]<=t&&t<=n[3]}function rh(n,e){const t=n[0],i=n[1],r=n[2],a=n[3],s=e[0],o=e[1];let l=Tt.UNKNOWN;return s<t?l=l|Tt.LEFT:s>r&&(l=l|Tt.RIGHT),o<i?l=l|Tt.BELOW:o>a&&(l=l|Tt.ABOVE),l===Tt.UNKNOWN&&(l=Tt.INTERSECTING),l}function zn(){return[1/0,1/0,-1/0,-1/0]}function B9(n,e,t,i,r){return r?(r[0]=n,r[1]=e,r[2]=t,r[3]=i,r):[n,e,t,i]}function qr(n){return B9(1/0,1/0,-1/0,-1/0,n)}function VS(n,e){const t=n[0],i=n[1];return B9(t,i,t,i,e)}function pf(n,e,t,i,r){const a=qr(r);return YS(a,n,e,t,i)}function p4(n,e){return n[0]==e[0]&&n[2]==e[2]&&n[1]==e[1]&&n[3]==e[3]}function HS(n,e){return e[0]<n[0]&&(n[0]=e[0]),e[2]>n[2]&&(n[2]=e[2]),e[1]<n[1]&&(n[1]=e[1]),e[3]>n[3]&&(n[3]=e[3]),n}function er(n,e){e[0]<n[0]&&(n[0]=e[0]),e[0]>n[2]&&(n[2]=e[0]),e[1]<n[1]&&(n[1]=e[1]),e[1]>n[3]&&(n[3]=e[1])}function YS(n,e,t,i,r){for(;t<i;t+=r)tK(n,e[t],e[t+1]);return n}function tK(n,e,t){n[0]=Math.min(n[0],e),n[1]=Math.min(n[1],t),n[2]=Math.max(n[2],e),n[3]=Math.max(n[3],t)}function KS(n,e){let t;return t=e(Rl(n)),t||(t=e(Il(n)),t)||(t=e(Nl(n)),t)||(t=e(z8(n)),t)?t:!1}function ah(n){let e=0;return U8(n)||(e=F0(n)*ut(n)),e}function Rl(n){return[n[0],n[1]]}function Il(n){return[n[2],n[1]]}function c5(n){return[(n[0]+n[2])/2,(n[1]+n[3])/2]}function nK(n,e){let t;if(e==="bottom-left")t=Rl(n);else if(e==="bottom-right")t=Il(n);else if(e==="top-left")t=z8(n);else if(e==="top-right")t=Nl(n);else throw new Error("Invalid corner");return t}function Cr(n,e,t,i,r){const[a,s,o,l,c,d,f,p]=qS(n,e,t,i);return B9(Math.min(a,o,c,f),Math.min(s,l,d,p),Math.max(a,o,c,f),Math.max(s,l,d,p),r)}function qS(n,e,t,i){const r=e*i[0]/2,a=e*i[1]/2,s=Math.cos(t),o=Math.sin(t),l=r*s,c=r*o,d=a*s,f=a*o,p=n[0],y=n[1];return[p-l+f,y-c-d,p-l-f,y-c+d,p+l-f,y+c+d,p+l+f,y+c-d,p-l+f,y-c-d]}function ut(n){return n[3]-n[1]}function O5(n,e,t){const i=t||zn();return an(n,e)?(n[0]>e[0]?i[0]=n[0]:i[0]=e[0],n[1]>e[1]?i[1]=n[1]:i[1]=e[1],n[2]<e[2]?i[2]=n[2]:i[2]=e[2],n[3]<e[3]?i[3]=n[3]:i[3]=e[3]):qr(i),i}function z8(n){return[n[0],n[3]]}function Nl(n){return[n[2],n[3]]}function F0(n){return n[2]-n[0]}function an(n,e){return n[0]<=e[2]&&n[2]>=e[0]&&n[1]<=e[3]&&n[3]>=e[1]}function U8(n){return n[2]<n[0]||n[3]<n[1]}function iK(n,e){return e?(e[0]=n[0],e[1]=n[1],e[2]=n[2],e[3]=n[3],e):n}function rK(n,e,t){let i=!1;const r=rh(n,e),a=rh(n,t);if(r===Tt.INTERSECTING||a===Tt.INTERSECTING)i=!0;else{const s=n[0],o=n[1],l=n[2],c=n[3],d=e[0],f=e[1],p=t[0],y=t[1],w=(y-f)/(p-d);let M,P;a&Tt.ABOVE&&!(r&Tt.ABOVE)&&(M=p-(y-c)/w,i=M>=s&&M<=l),!i&&a&Tt.RIGHT&&!(r&Tt.RIGHT)&&(P=y-(p-l)*w,i=P>=o&&P<=c),!i&&a&Tt.BELOW&&!(r&Tt.BELOW)&&(M=p-(y-o)/w,i=M>=s&&M<=l),!i&&a&Tt.LEFT&&!(r&Tt.LEFT)&&(P=y-(p-s)*w,i=P>=o&&P<=c)}return i}function XS(n,e){const t=e.getExtent(),i=c5(n);if(e.canWrapX()&&(i[0]<t[0]||i[0]>=t[2])){const r=F0(t),s=Math.floor((i[0]-t[0])/r)*r;n[0]-=s,n[2]-=s}return n}function ZS(n,e,t){if(e.canWrapX()){const i=e.getExtent();if(!isFinite(n[0])||!isFinite(n[2]))return[[i[0],n[1],i[2],n[3]]];XS(n,e);const r=F0(i);if(F0(n)>r&&!t)return[[i[0],n[1],i[2],n[3]]];if(n[0]<i[0])return[[n[0]+r,n[1],i[2],n[3]],[i[0],n[1],n[2],n[3]]];if(n[2]>i[2])return[[n[0],n[1],i[2],n[3]],[i[0],n[1],n[2]-r,n[3]]]}return[n]}function yf(n,e){const t=(""+n).split("."),i=(""+e).split(".");for(let r=0;r<Math.max(t.length,i.length);r++){const a=parseInt(t[r]||"0",10),s=parseInt(i[r]||"0",10);if(a>s)return 1;if(s>a)return-1}return 0}function aK(n,e){return n[0]+=+e[0],n[1]+=+e[1],n}function Wo(n,e){let t=!0;for(let i=n.length-1;i>=0;--i)if(n[i]!=e[i]){t=!1;break}return t}function vf(n,e){const t=Math.cos(e),i=Math.sin(e),r=n[0]*t-n[1]*i,a=n[1]*t+n[0]*i;return n[0]=r,n[1]=a,n}function sK(n,e){return n[0]*=e,n[1]*=e,n}function JS(n,e){if(e.canWrapX()){const t=F0(e.getExtent()),i=oK(n,e,t);i&&(n[0]-=i*t)}return n}function oK(n,e,t){const i=e.getExtent();let r=0;return e.canWrapX()&&(n[0]<i[0]||n[0]>i[2])&&(t=t||F0(i),r=Math.floor((n[0]-i[0])/t)),r}function lK(n,e,t){const i=Math.sqrt((e[0]-n[0])*(e[0]-n[0])+(e[1]-n[1])*(e[1]-n[1])),r=[(e[0]-n[0])/i,(e[1]-n[1])/i],a=[-r[1],r[0]],s=Math.sqrt((t[0]-n[0])*(t[0]-n[0])+(t[1]-n[1])*(t[1]-n[1])),o=[(t[0]-n[0])/s,(t[1]-n[1])/s];let l=i===0||s===0?0:Math.acos(Ie(o[0]*r[0]+o[1]*r[1],-1,1));return l=Math.max(l,1e-5),o[0]*a[0]+o[1]*a[1]>0?l:Math.PI*2-l}function QS(n){return Math.pow(n,3)}function x4(n){return 1-QS(1-n)}function uK(n){return 3*n*n-2*n*n*n}function cK(n){return n}const dK=63710088e-1;function Ev(n,e,t){t=t||dK;const i=k9(n[1]),r=k9(e[1]),a=(r-i)/2,s=k9(e[0]-n[0])/2,o=Math.sin(a)*Math.sin(a)+Math.sin(s)*Math.sin(s)*Math.cos(i)*Math.cos(r);return 2*t*Math.atan2(Math.sqrt(o),Math.sqrt(1-o))}const ew={info:1,warn:2,error:3,none:4};let hK=ew.info;function tw(...n){hK>ew.warn||console.warn(...n)}const Tr={radians:6370997/(2*Math.PI),degrees:2*Math.PI*6370997/360,ft:.3048,m:1,"us-ft":1200/3937};class fK{constructor(e){this.code_=e.code,this.units_=e.units,this.extent_=e.extent!==void 0?e.extent:null,this.worldExtent_=e.worldExtent!==void 0?e.worldExtent:null,this.axisOrientation_=e.axisOrientation!==void 0?e.axisOrientation:"enu",this.global_=e.global!==void 0?e.global:!1,this.canWrapX_=!!(this.global_&&this.extent_),this.getPointResolutionFunc_=e.getPointResolution,this.defaultTileGrid_=null,this.metersPerUnit_=e.metersPerUnit}canWrapX(){return this.canWrapX_}getCode(){return this.code_}getExtent(){return this.extent_}getUnits(){return this.units_}getMetersPerUnit(){return this.metersPerUnit_||Tr[this.units_]}getWorldExtent(){return this.worldExtent_}getAxisOrientation(){return this.axisOrientation_}isGlobal(){return this.global_}setGlobal(e){this.global_=e,this.canWrapX_=!!(e&&this.extent_)}getDefaultTileGrid(){return this.defaultTileGrid_}setDefaultTileGrid(e){this.defaultTileGrid_=e}setExtent(e){this.extent_=e,this.canWrapX_=!!(this.global_&&e)}setWorldExtent(e){this.worldExtent_=e}setGetPointResolution(e){this.getPointResolutionFunc_=e}getPointResolutionFunc(){return this.getPointResolutionFunc_}}const _f=fK,Xr=6378137,Xi=Math.PI*Xr,mK=[-Xi,-Xi,Xi,Xi],gK=[-180,-85,180,85],Us=Xr*Math.log(Math.tan(Math.PI/2));class Ti extends _f{constructor(e){super({code:e,units:"m",extent:mK,global:!0,worldExtent:gK,getPointResolution:function(t,i){return t/Math.cosh(i[1]/Xr)}})}}const Pv=[new Ti("EPSG:3857"),new Ti("EPSG:102100"),new Ti("EPSG:102113"),new Ti("EPSG:900913"),new Ti("http://www.opengis.net/def/crs/EPSG/0/3857"),new Ti("http://www.opengis.net/gml/srs/epsg.xml#3857")];function pK(n,e,t,i){const r=n.length;t=t>1?t:2,i=i!=null?i:t,e===void 0&&(t>2?e=n.slice():e=new Array(r));for(let a=0;a<r;a+=i){e[a]=Xi*n[a]/180;let s=Xr*Math.log(Math.tan(Math.PI*(+n[a+1]+90)/360));s>Us?s=Us:s<-Us&&(s=-Us),e[a+1]=s}return e}function yK(n,e,t,i){const r=n.length;t=t>1?t:2,i=i!=null?i:t,e===void 0&&(t>2?e=n.slice():e=new Array(r));for(let a=0;a<r;a+=i)e[a]=180*n[a]/Xi,e[a+1]=360*Math.atan(Math.exp(n[a+1]/Xr))/Math.PI-90;return e}const vK=6378137,Mv=[-180,-90,180,90],_K=Math.PI*vK/180;class o8 extends _f{constructor(e,t){super({code:e,units:"degrees",extent:Mv,axisOrientation:t,global:!0,metersPerUnit:_K,worldExtent:Mv})}}const kv=[new o8("CRS:84"),new o8("EPSG:4326","neu"),new o8("urn:ogc:def:crs:OGC:1.3:CRS84"),new o8("urn:ogc:def:crs:OGC:2:84"),new o8("http://www.opengis.net/def/crs/OGC/1.3/CRS84"),new o8("http://www.opengis.net/gml/srs/epsg.xml#4326","neu"),new o8("http://www.opengis.net/def/crs/EPSG/0/4326","neu")];let sh={};function bK(n){return sh[n]||sh[n.replace(/urn:(x-)?ogc:def:crs:EPSG:(.*:)?(\w+)$/,"EPSG:$3")]||null}function SK(n,e){sh[n]=e}let r4={};function Ar(n,e,t){const i=n.getCode(),r=e.getCode();i in r4||(r4[i]={}),r4[i][r]=t}function Vc(n,e){return n in r4&&e in r4[n]?r4[n][e]:null}const Vo=.9996,c6=.00669438,Ll=c6*c6,Fl=Ll*c6,b8=c6/(1-c6),Rv=Math.sqrt(1-c6),y4=(1-Rv)/(1+Rv),nw=y4*y4,bf=nw*y4,Sf=bf*y4,iw=Sf*y4,rw=1-c6/4-3*Ll/64-5*Fl/256,wK=3*c6/8+3*Ll/32+45*Fl/1024,CK=15*Ll/256+45*Fl/1024,TK=35*Fl/3072,AK=3/2*y4-27/32*bf+269/512*iw,xK=21/16*nw-55/32*Sf,EK=151/96*bf-417/128*iw,PK=1097/512*Sf,Ho=6378137;function MK(n,e,t){const i=n-5e5,s=(t.north?e:e-1e7)/Vo/(Ho*rw),o=s+AK*Math.sin(2*s)+xK*Math.sin(4*s)+EK*Math.sin(6*s)+PK*Math.sin(8*s),l=Math.sin(o),c=l*l,d=Math.cos(o),f=l/d,p=f*f,y=p*p,w=1-c6*c,M=Math.sqrt(1-c6*c),P=Ho/M,D=(1-c6)/w,B=b8*v6(d,2),V=B*B,Y=i/(P*Vo),X=Y*Y,P2=X*Y,z2=P2*Y,G2=z2*Y,N2=G2*Y,V2=o-f/D*(X/2-z2/24*(5+3*p+10*B-4*V-9*b8))+N2/720*(61+90*p+298*B+45*y-252*b8-3*V);let Y2=(Y-P2/6*(1+2*p+B)+G2/120*(5-2*B+28*p-3*V+8*b8+24*y))/d;return Y2=ih(Y2+k9(aw(t.number)),-Math.PI,Math.PI),[Cv(Y2),Cv(V2)]}const Iv=-80,Nv=84,kK=-180,RK=180;function IK(n,e,t){n=ih(n,kK,RK),e<Iv?e=Iv:e>Nv&&(e=Nv);const i=k9(e),r=Math.sin(i),a=Math.cos(i),s=r/a,o=s*s,l=o*o,c=k9(n),d=aw(t.number),f=k9(d),p=Ho/Math.sqrt(1-c6*v6(r,2)),y=b8*v6(a,2),w=a*ih(c-f,-Math.PI,Math.PI),M=w*w,P=M*w,D=P*w,B=D*w,V=B*w,Y=Ho*(rw*i-wK*Math.sin(2*i)+CK*Math.sin(4*i)-TK*Math.sin(6*i)),X=Vo*p*(w+P/6*(1-o+y)+B/120*(5-18*o+l+72*y-58*b8))+5e5;let P2=Vo*(Y+p*s*(M/2+D/24*(5-o+9*y+4*v6(y,2))+V/720*(61-58*o+l+600*y-330*b8)));return t.north||(P2+=1e7),[X,P2]}function aw(n){return(n-1)*6-180+3}const NK=[/^EPSG:(\d+)$/,/^urn:ogc:def:crs:EPSG::(\d+)$/,/^http:\/\/www\.opengis\.net\/def\/crs\/EPSG\/0\/(\d+)$/];function sw(n){let e=0;for(const r of NK){const a=n.match(r);if(a){e=parseInt(a[1]);break}}if(!e)return null;let t=0,i=!1;return e>32700&&e<32761?t=e-32700:e>32600&&e<32661&&(i=!0,t=e-32600),t?{number:t,north:i}:null}function Lv(n,e){return function(t,i,r,a){const s=t.length;r=r>1?r:2,a=a!=null?a:r,i||(r>2?i=t.slice():i=new Array(s));for(let o=0;o<s;o+=a){const l=t[o],c=t[o+1],d=n(l,c,e);i[o]=d[0],i[o+1]=d[1]}return i}}function LK(n){return sw(n)?new _f({code:n,units:"m"}):null}function FK(n){const e=sw(n.getCode());return e?{forward:Lv(IK,e),inverse:Lv(MK,e)}:null}const DK=[FK],OK=[LK];let oh=!0;function ow(n){oh=!(n===void 0?!0:n)}function wf(n,e){if(e!==void 0){for(let t=0,i=n.length;t<i;++t)e[t]=n[t];e=e}else e=n.slice();return e}function lh(n){SK(n.getCode(),n),Ar(n,n,wf)}function BK(n){n.forEach(lh)}function Se(n){if(typeof n!="string")return n;const e=bK(n);if(e)return e;for(const t of OK){const i=t(n);if(i)return i}return null}function Fv(n,e,t,i){n=Se(n);let r;const a=n.getPointResolutionFunc();if(a){if(r=a(e,t),i&&i!==n.getUnits()){const s=n.getMetersPerUnit();s&&(r=r*s/Tr[i])}}else{const s=n.getUnits();if(s=="degrees"&&!i||i=="degrees")r=e;else{const o=Dl(n,Se("EPSG:4326"));if(!o&&s!=="degrees")r=e*n.getMetersPerUnit();else{let c=[t[0]-e/2,t[1],t[0]+e/2,t[1],t[0],t[1]-e/2,t[0],t[1]+e/2];c=o(c,c,2);const d=Ev(c.slice(0,2),c.slice(2,4)),f=Ev(c.slice(4,6),c.slice(6,8));r=(d+f)/2}const l=i?Tr[i]:n.getMetersPerUnit();l!==void 0&&(r/=l)}}return r}function Dv(n){BK(n),n.forEach(function(e){n.forEach(function(t){e!==t&&Ar(e,t,wf)})})}function GK(n,e,t,i){n.forEach(function(r){e.forEach(function(a){Ar(r,a,t),Ar(a,r,i)})})}function Cf(n,e){return n?typeof n=="string"?Se(n):n:Se(e)}function jK(n){return function(e,t,i,r){const a=e.length;i=i!==void 0?i:2,r=r!=null?r:i,t=t!==void 0?t:new Array(a);for(let s=0;s<a;s+=r){const o=n(e.slice(s,s+i)),l=o.length;for(let c=0,d=r;c<d;++c)t[s+c]=c>=l?e[s+c]:o[c]}return t}}function Hc(n,e){return ow(),E4(n,"EPSG:4326",e!==void 0?e:"EPSG:3857")}function $s(n,e){const t=E4(n,e!==void 0?e:"EPSG:3857","EPSG:4326"),i=t[0];return(i<-180||i>180)&&(t[0]=R9(i+180,360)-180),t}function x8(n,e){if(n===e)return!0;const t=n.getUnits()===e.getUnits();return(n.getCode()===e.getCode()||Dl(n,e)===wf)&&t}function Dl(n,e){const t=n.getCode(),i=e.getCode();let r=Vc(t,i);if(r)return r;let a=null,s=null;for(const l of DK)a||(a=l(n)),s||(s=l(e));if(!a&&!s)return null;const o="EPSG:4326";if(s)if(a)r=Yc(a.inverse,s.forward);else{const l=Vc(t,o);l&&(r=Yc(l,s.forward))}else{const l=Vc(o,i);l&&(r=Yc(a.inverse,l))}return r&&(lh(n),lh(e),Ar(n,e,r)),r}function Yc(n,e){return function(t,i,r,a){return i=n(t,i,r,a),e(i,i,r,a)}}function xr(n,e){const t=Se(n),i=Se(e);return Dl(t,i)}function E4(n,e,t){const i=xr(e,t);if(!i){const r=Se(e).getCode(),a=Se(t).getCode();throw new Error(`No transform available between ${r} and ${a}`)}return i(n,void 0,n.length)}let zK=null;function UK(){return zK}function uh(n,e){return n}function N5(n,e){return oh&&!Wo(n,[0,0])&&n[0]>=-180&&n[0]<=180&&n[1]>=-90&&n[1]<=90&&(oh=!1,tw("Call useGeographic() from ol/proj once to work with [longitude, latitude] coordinates.")),n}function Tf(n,e){return n}function F5(n,e){return n}function $K(){Dv(Pv),Dv(kv),GK(kv,Pv,pK,yK)}$K();new Array(6);function E6(){return[1,0,0,1,0,0]}function WK(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 yt(n,e){const t=e[0],i=e[1];return e[0]=n[0]*t+n[2]*i+n[4],e[1]=n[1]*t+n[3]*i+n[5],e}function d5(n,e,t,i,r,a,s,o){const l=Math.sin(a),c=Math.cos(a);return n[0]=i*c,n[1]=r*l,n[2]=-i*l,n[3]=r*c,n[4]=s*i*c-o*i*l+e,n[5]=s*r*l+o*r*c+t,n}function lw(n,e){const t=VK(e);ne(t!==0,"Transformation matrix cannot be inverted");const i=e[0],r=e[1],a=e[2],s=e[3],o=e[4],l=e[5];return n[0]=s/t,n[1]=-r/t,n[2]=-a/t,n[3]=i/t,n[4]=(a*l-s*o)/t,n[5]=-(i*l-r*o)/t,n}function VK(n){return n[0]*n[3]-n[1]*n[2]}const HK=[1e5,1e5,1e5,1e5,2,2];function YK(n){return"matrix("+n.join(", ")+")"}function ch(n){return n.substring(7,n.length-1).split(",").map(parseFloat)}function KK(n,e){const t=ch(n),i=ch(e);for(let r=0;r<6;++r)if(Math.round((t[r]-i[r])*HK[r])!==0)return!1;return!0}function I9(n,e,t,i,r,a,s){a=a||[],s=s||2;let o=0;for(let l=e;l<t;l+=i){const c=n[l],d=n[l+1];a[o++]=r[0]*c+r[2]*d+r[4],a[o++]=r[1]*c+r[3]*d+r[5];for(let f=2;f<s;f++)a[o++]=n[l+f]}return a&&a.length!=o&&(a.length=o),a}function uw(n,e,t,i,r,a,s){s=s||[];const o=Math.cos(r),l=Math.sin(r),c=a[0],d=a[1];let f=0;for(let p=e;p<t;p+=i){const y=n[p]-c,w=n[p+1]-d;s[f++]=c+y*o-w*l,s[f++]=d+y*l+w*o;for(let M=p+2;M<p+i;++M)s[f++]=n[M]}return s&&s.length!=f&&(s.length=f),s}function qK(n,e,t,i,r,a,s,o){o=o||[];const l=s[0],c=s[1];let d=0;for(let f=e;f<t;f+=i){const p=n[f]-l,y=n[f+1]-c;o[d++]=l+r*p,o[d++]=c+a*y;for(let w=f+2;w<f+i;++w)o[d++]=n[w]}return o&&o.length!=d&&(o.length=d),o}function XK(n,e,t,i,r,a,s){s=s||[];let o=0;for(let l=e;l<t;l+=i){s[o++]=n[l]+r,s[o++]=n[l+1]+a;for(let c=l+2;c<l+i;++c)s[o++]=n[c]}return s&&s.length!=o&&(s.length=o),s}const Ov=E6(),ZK=[NaN,NaN];class JK extends p5{constructor(){super(),this.extent_=zn(),this.extentRevision_=-1,this.simplifiedGeometryMaxMinSquaredTolerance=0,this.simplifiedGeometryRevision=0,this.simplifyTransformedInternal=GS((e,t,i)=>{if(!i)return this.getSimplifiedGeometry(t);const r=this.clone();return r.applyTransform(i),r.getSimplifiedGeometry(t)})}simplifyTransformed(e,t){return this.simplifyTransformedInternal(this.getRevision(),e,t)}clone(){return Z1()}closestPointXY(e,t,i,r){return Z1()}containsXY(e,t){return this.closestPointXY(e,t,ZK,Number.MIN_VALUE)===0}getClosestPoint(e,t){return t=t||[NaN,NaN],this.closestPointXY(e[0],e[1],t,1/0),t}intersectsCoordinate(e){return this.containsXY(e[0],e[1])}computeExtent(e){return Z1()}getExtent(e){if(this.extentRevision_!=this.getRevision()){const t=this.computeExtent(this.extent_);(isNaN(t[0])||isNaN(t[1]))&&qr(t),this.extentRevision_=this.getRevision()}return iK(this.extent_,e)}rotate(e,t){Z1()}scale(e,t,i){Z1()}simplify(e){return this.getSimplifiedGeometry(e*e)}getSimplifiedGeometry(e){return Z1()}getType(){return Z1()}applyTransform(e){Z1()}intersectsExtent(e){return Z1()}translate(e,t){Z1()}transform(e,t){const i=Se(e),r=i.getUnits()=="tile-pixels"?function(a,s,o){const l=i.getExtent(),c=i.getWorldExtent(),d=ut(c)/ut(l);d5(Ov,c[0],c[3],d,-d,0,0,0);const f=I9(a,0,a.length,o,Ov,s),p=xr(i,t);return p?p(f,f,o):f}:xr(i,t);return this.applyTransform(r),this}}const cw=JK;class $8 extends cw{constructor(){super(),this.layout="XY",this.stride=2,this.flatCoordinates}computeExtent(e){return pf(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,e)}getCoordinates(){return Z1()}getFirstCoordinate(){return this.flatCoordinates.slice(0,this.stride)}getFlatCoordinates(){return this.flatCoordinates}getLastCoordinate(){return this.flatCoordinates.slice(this.flatCoordinates.length-this.stride)}getLayout(){return this.layout}getSimplifiedGeometry(e){if(this.simplifiedGeometryRevision!==this.getRevision()&&(this.simplifiedGeometryMaxMinSquaredTolerance=0,this.simplifiedGeometryRevision=this.getRevision()),e<0||this.simplifiedGeometryMaxMinSquaredTolerance!==0&&e<=this.simplifiedGeometryMaxMinSquaredTolerance)return this;const t=this.getSimplifiedGeometryInternal(e);return t.getFlatCoordinates().length<this.flatCoordinates.length?t:(this.simplifiedGeometryMaxMinSquaredTolerance=e,this)}getSimplifiedGeometryInternal(e){return this}getStride(){return this.stride}setFlatCoordinates(e,t){this.stride=Bv(e),this.layout=e,this.flatCoordinates=t}setCoordinates(e,t){Z1()}setLayout(e,t,i){let r;if(e)r=Bv(e);else{for(let a=0;a<i;++a){if(t.length===0){this.layout="XY",this.stride=2;return}t=t[0]}r=t.length,e=W8(r)}this.layout=e,this.stride=r}applyTransform(e){this.flatCoordinates&&(e(this.flatCoordinates,this.flatCoordinates,this.layout.startsWith("XYZ")?3:2,this.stride),this.changed())}rotate(e,t){const i=this.getFlatCoordinates();if(i){const r=this.getStride();uw(i,0,i.length,r,e,t,i),this.changed()}}scale(e,t,i){t===void 0&&(t=e),i||(i=c5(this.getExtent()));const r=this.getFlatCoordinates();if(r){const a=this.getStride();qK(r,0,r.length,a,e,t,i,r),this.changed()}}translate(e,t){const i=this.getFlatCoordinates();if(i){const r=this.getStride();XK(i,0,i.length,r,e,t,i),this.changed()}}}function W8(n){let e;return n==2?e="XY":n==3?e="XYZ":n==4&&(e="XYZM"),e}function Bv(n){let e;return n=="XY"?e=2:n=="XYZ"||n=="XYM"?e=3:n=="XYZM"&&(e=4),e}function QK(n,e,t){const i=n.getFlatCoordinates();if(!i)return null;const r=n.getStride();return I9(i,0,i.length,r,e,t)}function dw(n,e,t,i){let r=0;const a=n[t-i],s=n[t-i+1];let o=0,l=0;for(;e<t;e+=i){const c=n[e]-a,d=n[e+1]-s;r+=l*c-o*d,o=c,l=d}return r/2}function hw(n,e,t,i){let r=0;for(let a=0,s=t.length;a<s;++a){const o=t[a];r+=dw(n,e,o,i),e=o}return r}function eq(n,e,t,i){let r=0;for(let a=0,s=t.length;a<s;++a){const o=t[a];r+=hw(n,e,o,i),e=o[o.length-1]}return r}function Gv(n,e,t,i,r,a,s){const o=n[e],l=n[e+1],c=n[t]-o,d=n[t+1]-l;let f;if(c===0&&d===0)f=e;else{const p=((r-o)*c+(a-l)*d)/(c*c+d*d);if(p>1)f=t;else if(p>0){for(let y=0;y<i;++y)s[y]=Bn(n[e+y],n[t+y],p);s.length=i;return}else f=e}for(let p=0;p<i;++p)s[p]=n[f+p];s.length=i}function Af(n,e,t,i,r){let a=n[e],s=n[e+1];for(e+=i;e<t;e+=i){const o=n[e],l=n[e+1],c=A8(a,s,o,l);c>r&&(r=c),a=o,s=l}return r}function xf(n,e,t,i,r){for(let a=0,s=t.length;a<s;++a){const o=t[a];r=Af(n,e,o,i,r),e=o}return r}function tq(n,e,t,i,r){for(let a=0,s=t.length;a<s;++a){const o=t[a];r=xf(n,e,o,i,r),e=o[o.length-1]}return r}function Ef(n,e,t,i,r,a,s,o,l,c,d){if(e==t)return c;let f,p;if(r===0){if(p=A8(s,o,n[e],n[e+1]),p<c){for(f=0;f<i;++f)l[f]=n[e+f];return l.length=i,p}return c}d=d||[NaN,NaN];let y=e+i;for(;y<t;)if(Gv(n,y-i,y,i,s,o,d),p=A8(s,o,d[0],d[1]),p<c){for(c=p,f=0;f<i;++f)l[f]=d[f];l.length=i,y+=i}else y+=i*Math.max((Math.sqrt(p)-Math.sqrt(c))/r|0,1);if(a&&(Gv(n,t-i,e,i,s,o,d),p=A8(s,o,d[0],d[1]),p<c)){for(c=p,f=0;f<i;++f)l[f]=d[f];l.length=i}return c}function Pf(n,e,t,i,r,a,s,o,l,c,d){d=d||[NaN,NaN];for(let f=0,p=t.length;f<p;++f){const y=t[f];c=Ef(n,e,y,i,r,a,s,o,l,c,d),e=y}return c}function nq(n,e,t,i,r,a,s,o,l,c,d){d=d||[NaN,NaN];for(let f=0,p=t.length;f<p;++f){const y=t[f];c=Pf(n,e,y,i,r,a,s,o,l,c,d),e=y[y.length-1]}return c}function iq(n,e,t,i){for(let r=0,a=t.length;r<a;++r)n[e++]=t[r];return e}function Ol(n,e,t,i){for(let r=0,a=t.length;r<a;++r){const s=t[r];for(let o=0;o<i;++o)n[e++]=s[o]}return e}function Zr(n,e,t,i,r){r=r||[];let a=0;for(let s=0,o=t.length;s<o;++s){const l=Ol(n,e,t[s],i);r[a++]=l,e=l}return r.length=a,r}function fw(n,e,t,i,r){r=r||[];let a=0;for(let s=0,o=t.length;s<o;++s){const l=Zr(n,e,t[s],i,r[a]);l.length===0&&(l[0]=e),r[a++]=l,e=l[l.length-1]}return r.length=a,r}function x9(n,e,t,i,r){r=r!==void 0?r:[];let a=0;for(let s=e;s<t;s+=i)r[a++]=n.slice(s,s+i);return r.length=a,r}function Er(n,e,t,i,r){r=r!==void 0?r:[];let a=0;for(let s=0,o=t.length;s<o;++s){const l=t[s];r[a++]=x9(n,e,l,i,r[a]),e=l}return r.length=a,r}function dh(n,e,t,i,r){r=r!==void 0?r:[];let a=0;for(let s=0,o=t.length;s<o;++s){const l=t[s];r[a++]=l.length===1&&l[0]===e?[]:Er(n,e,l,i,r[a]),e=l[l.length-1]}return r.length=a,r}function Bl(n,e,t,i,r,a,s){const o=(t-e)/i;if(o<3){for(;e<t;e+=i)a[s++]=n[e],a[s++]=n[e+1];return s}const l=new Array(o);l[0]=1,l[o-1]=1;const c=[e,t-i];let d=0;for(;c.length>0;){const f=c.pop(),p=c.pop();let y=0;const w=n[p],M=n[p+1],P=n[f],D=n[f+1];for(let B=p+i;B<f;B+=i){const V=n[B],Y=n[B+1],X=JY(V,Y,w,M,P,D);X>y&&(d=B,y=X)}y>r&&(l[(d-e)/i]=1,p+i<d&&c.push(p,d),d+i<f&&c.push(d,f))}for(let f=0;f<o;++f)l[f]&&(a[s++]=n[e+f*i],a[s++]=n[e+f*i+1]);return s}function mw(n,e,t,i,r,a,s,o){for(let l=0,c=t.length;l<c;++l){const d=t[l];s=Bl(n,e,d,i,r,a,s),o.push(s),e=d}return s}function h8(n,e){return e*Math.round(n/e)}function rq(n,e,t,i,r,a,s){if(e==t)return s;let o=h8(n[e],r),l=h8(n[e+1],r);e+=i,a[s++]=o,a[s++]=l;let c,d;do if(c=h8(n[e],r),d=h8(n[e+1],r),e+=i,e==t)return a[s++]=c,a[s++]=d,s;while(c==o&&d==l);for(;e<t;){const f=h8(n[e],r),p=h8(n[e+1],r);if(e+=i,f==c&&p==d)continue;const y=c-o,w=d-l,M=f-o,P=p-l;if(y*P==w*M&&(y<0&&M<y||y==M||y>0&&M>y)&&(w<0&&P<w||w==P||w>0&&P>w)){c=f,d=p;continue}a[s++]=c,a[s++]=d,o=c,l=d,c=f,d=p}return a[s++]=c,a[s++]=d,s}function Mf(n,e,t,i,r,a,s,o){for(let l=0,c=t.length;l<c;++l){const d=t[l];s=rq(n,e,d,i,r,a,s),o.push(s),e=d}return s}function aq(n,e,t,i,r,a,s,o){for(let l=0,c=t.length;l<c;++l){const d=t[l],f=[];s=Mf(n,e,d,i,r,a,s,f),o.push(f),e=d[d.length-1]}return s}class Yo extends $8{constructor(e,t){super(),this.maxDelta_=-1,this.maxDeltaRevision_=-1,t!==void 0&&!Array.isArray(e[0])?this.setFlatCoordinates(t,e):this.setCoordinates(e,t)}clone(){return new Yo(this.flatCoordinates.slice(),this.layout)}closestPointXY(e,t,i,r){return r<j8(this.getExtent(),e,t)?r:(this.maxDeltaRevision_!=this.getRevision()&&(this.maxDelta_=Math.sqrt(Af(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,0)),this.maxDeltaRevision_=this.getRevision()),Ef(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,this.maxDelta_,!0,e,t,i,r))}getArea(){return dw(this.flatCoordinates,0,this.flatCoordinates.length,this.stride)}getCoordinates(){return x9(this.flatCoordinates,0,this.flatCoordinates.length,this.stride)}getSimplifiedGeometryInternal(e){const t=[];return t.length=Bl(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,e,t,0),new Yo(t,"XY")}getType(){return"LinearRing"}intersectsExtent(e){return!1}setCoordinates(e,t){this.setLayout(t,e,1),this.flatCoordinates||(this.flatCoordinates=[]),this.flatCoordinates.length=Ol(this.flatCoordinates,0,e,this.stride),this.changed()}}const jv=Yo;class kf extends $8{constructor(e,t){super(),this.setCoordinates(e,t)}clone(){const e=new kf(this.flatCoordinates.slice(),this.layout);return e.applyProperties(this),e}closestPointXY(e,t,i,r){const a=this.flatCoordinates,s=A8(e,t,a[0],a[1]);if(s<r){const o=this.stride;for(let l=0;l<o;++l)i[l]=a[l];return i.length=o,s}return r}getCoordinates(){return this.flatCoordinates.slice()}computeExtent(e){return VS(this.flatCoordinates,e)}getType(){return"Point"}intersectsExtent(e){return gf(e,this.flatCoordinates[0],this.flatCoordinates[1])}setCoordinates(e,t){this.setLayout(t,e,0),this.flatCoordinates||(this.flatCoordinates=[]),this.flatCoordinates.length=iq(this.flatCoordinates,0,e,this.stride),this.changed()}}const Pr=kf;function sq(n,e,t,i,r){return!KS(r,function(s){return!S8(n,e,t,i,s[0],s[1])})}function S8(n,e,t,i,r,a){let s=0,o=n[t-i],l=n[t-i+1];for(;e<t;e+=i){const c=n[e],d=n[e+1];l<=a?d>a&&(c-o)*(a-l)-(r-o)*(d-l)>0&&s++:d<=a&&(c-o)*(a-l)-(r-o)*(d-l)<0&&s--,o=c,l=d}return s!==0}function Rf(n,e,t,i,r,a){if(t.length===0||!S8(n,e,t[0],i,r,a))return!1;for(let s=1,o=t.length;s<o;++s)if(S8(n,t[s-1],t[s],i,r,a))return!1;return!0}function oq(n,e,t,i,r,a){if(t.length===0)return!1;for(let s=0,o=t.length;s<o;++s){const l=t[s];if(Rf(n,e,l,i,r,a))return!0;e=l[l.length-1]}return!1}function If(n,e,t,i,r,a,s){let o,l,c,d,f,p,y;const w=r[a+1],M=[];for(let B=0,V=t.length;B<V;++B){const Y=t[B];for(d=n[Y-i],p=n[Y-i+1],o=e;o<Y;o+=i)f=n[o],y=n[o+1],(w<=p&&y<=w||p<=w&&w<=y)&&(c=(w-p)/(y-p)*(f-d)+d,M.push(c)),d=f,p=y}let P=NaN,D=-1/0;for(M.sort(D5),d=M[0],o=1,l=M.length;o<l;++o){f=M[o];const B=Math.abs(f-d);B>D&&(c=(d+f)/2,Rf(n,e,t,i,c,w)&&(P=c,D=B)),d=f}return isNaN(P)&&(P=r[a]),s?(s.push(P,w,D),s):[P,w,D]}function gw(n,e,t,i,r){let a=[];for(let s=0,o=t.length;s<o;++s){const l=t[s];a=If(n,e,l,i,r,2*s,a),e=l[l.length-1]}return a}function pw(n,e,t,i,r){let a;for(e+=i;e<t;e+=i)if(a=r(n.slice(e-i,e),n.slice(e,e+i)),a)return a;return!1}function Gl(n,e,t,i,r,a){return a=a!=null?a:YS(zn(),n,e,t,i),an(r,a)?a[0]>=r[0]&&a[2]<=r[2]||a[1]>=r[1]&&a[3]<=r[3]?!0:pw(n,e,t,i,function(s,o){return rK(r,s,o)}):!1}function lq(n,e,t,i,r){for(let a=0,s=t.length;a<s;++a){if(Gl(n,e,t[a],i,r))return!0;e=t[a]}return!1}function yw(n,e,t,i,r){return!!(Gl(n,e,t,i,r)||S8(n,e,t,i,r[0],r[1])||S8(n,e,t,i,r[0],r[3])||S8(n,e,t,i,r[2],r[1])||S8(n,e,t,i,r[2],r[3]))}function vw(n,e,t,i,r){if(!yw(n,e,t[0],i,r))return!1;if(t.length===1)return!0;for(let a=1,s=t.length;a<s;++a)if(sq(n,t[a-1],t[a],i,r)&&!Gl(n,t[a-1],t[a],i,r))return!1;return!0}function uq(n,e,t,i,r){for(let a=0,s=t.length;a<s;++a){const o=t[a];if(vw(n,e,o,i,r))return!0;e=o[o.length-1]}return!1}function cq(n,e,t,i){for(;e<t-i;){for(let r=0;r<i;++r){const a=n[e+r];n[e+r]=n[t-i+r],n[t-i+r]=a}e+=i,t-=i}}function Nf(n,e,t,i){let r=0,a=n[t-i],s=n[t-i+1];for(;e<t;e+=i){const o=n[e],l=n[e+1];r+=(o-a)*(l+s),a=o,s=l}return r===0?void 0:r>0}function Lf(n,e,t,i,r){r=r!==void 0?r:!1;for(let a=0,s=t.length;a<s;++a){const o=t[a],l=Nf(n,e,o,i);if(a===0){if(r&&l||!r&&!l)return!1}else if(r&&!l||!r&&l)return!1;e=o}return!0}function _w(n,e,t,i,r){for(let a=0,s=t.length;a<s;++a){const o=t[a];if(!Lf(n,e,o,i,r))return!1;o.length&&(e=o[o.length-1])}return!0}function Ko(n,e,t,i,r){r=r!==void 0?r:!1;for(let a=0,s=t.length;a<s;++a){const o=t[a],l=Nf(n,e,o,i);(a===0?r&&l||!r&&!l:r&&!l||!r&&l)&&cq(n,e,o,i),e=o}return e}function hh(n,e,t,i,r){for(let a=0,s=t.length;a<s;++a)e=Ko(n,e,t[a],i,r);return e}function dq(n,e){const t=[];let i=0,r=0,a;for(let s=0,o=e.length;s<o;++s){const l=e[s],c=Nf(n,i,l,2);if(a===void 0&&(a=c),c===a)t.push(e.slice(r,s+1));else{if(t.length===0)continue;t[t.length-1].push(e[r])}r=s+1,i=l}return t}class G9 extends $8{constructor(e,t,i){super(),this.ends_=[],this.flatInteriorPointRevision_=-1,this.flatInteriorPoint_=null,this.maxDelta_=-1,this.maxDeltaRevision_=-1,this.orientedRevision_=-1,this.orientedFlatCoordinates_=null,t!==void 0&&i?(this.setFlatCoordinates(t,e),this.ends_=i):this.setCoordinates(e,t)}appendLinearRing(e){this.flatCoordinates?a5(this.flatCoordinates,e.getFlatCoordinates()):this.flatCoordinates=e.getFlatCoordinates().slice(),this.ends_.push(this.flatCoordinates.length),this.changed()}clone(){const e=new G9(this.flatCoordinates.slice(),this.layout,this.ends_.slice());return e.applyProperties(this),e}closestPointXY(e,t,i,r){return r<j8(this.getExtent(),e,t)?r:(this.maxDeltaRevision_!=this.getRevision()&&(this.maxDelta_=Math.sqrt(xf(this.flatCoordinates,0,this.ends_,this.stride,0)),this.maxDeltaRevision_=this.getRevision()),Pf(this.flatCoordinates,0,this.ends_,this.stride,this.maxDelta_,!0,e,t,i,r))}containsXY(e,t){return Rf(this.getOrientedFlatCoordinates(),0,this.ends_,this.stride,e,t)}getArea(){return hw(this.getOrientedFlatCoordinates(),0,this.ends_,this.stride)}getCoordinates(e){let t;return e!==void 0?(t=this.getOrientedFlatCoordinates().slice(),Ko(t,0,this.ends_,this.stride,e)):t=this.flatCoordinates,Er(t,0,this.ends_,this.stride)}getEnds(){return this.ends_}getFlatInteriorPoint(){if(this.flatInteriorPointRevision_!=this.getRevision()){const e=c5(this.getExtent());this.flatInteriorPoint_=If(this.getOrientedFlatCoordinates(),0,this.ends_,this.stride,e,0),this.flatInteriorPointRevision_=this.getRevision()}return this.flatInteriorPoint_}getInteriorPoint(){return new Pr(this.getFlatInteriorPoint(),"XYM")}getLinearRingCount(){return this.ends_.length}getLinearRing(e){return e<0||this.ends_.length<=e?null:new jv(this.flatCoordinates.slice(e===0?0:this.ends_[e-1],this.ends_[e]),this.layout)}getLinearRings(){const e=this.layout,t=this.flatCoordinates,i=this.ends_,r=[];let a=0;for(let s=0,o=i.length;s<o;++s){const l=i[s],c=new jv(t.slice(a,l),e);r.push(c),a=l}return r}getOrientedFlatCoordinates(){if(this.orientedRevision_!=this.getRevision()){const e=this.flatCoordinates;Lf(e,0,this.ends_,this.stride)?this.orientedFlatCoordinates_=e:(this.orientedFlatCoordinates_=e.slice(),this.orientedFlatCoordinates_.length=Ko(this.orientedFlatCoordinates_,0,this.ends_,this.stride)),this.orientedRevision_=this.getRevision()}return this.orientedFlatCoordinates_}getSimplifiedGeometryInternal(e){const t=[],i=[];return t.length=Mf(this.flatCoordinates,0,this.ends_,this.stride,Math.sqrt(e),t,0,i),new G9(t,"XY",i)}getType(){return"Polygon"}intersectsExtent(e){return vw(this.getOrientedFlatCoordinates(),0,this.ends_,this.stride,e)}setCoordinates(e,t){this.setLayout(t,e,2),this.flatCoordinates||(this.flatCoordinates=[]);const i=Zr(this.flatCoordinates,0,e,this.stride,this.ends_);this.flatCoordinates.length=i.length===0?0:i[i.length-1],this.changed()}}function zv(n){if(U8(n))throw new Error("Cannot create polygon from empty extent");const e=n[0],t=n[1],i=n[2],r=n[3],a=[e,t,e,r,i,r,i,t,e,t];return new G9(a,"XY",[a.length])}function Ff(n,e,t,i){const r=F0(e)/t[0],a=ut(e)/t[1];return i?Math.min(n,Math.max(r,a)):Math.min(n,Math.min(r,a))}function Df(n,e,t){let i=Math.min(n,e);const r=50;return i*=Math.log(1+r*Math.max(0,n/e-1))/r+1,t&&(i=Math.max(i,t),i/=Math.log(1+r*Math.max(0,t/n-1))/r+1),Ie(i,t/2,e*2)}function hq(n,e,t,i){return e=e!==void 0?e:!0,function(r,a,s,o){if(r!==void 0){const l=n[0],c=n[n.length-1],d=t?Ff(l,t,s,i):l;if(o)return e?Df(r,d,c):Ie(r,c,d);const f=Math.min(d,r),p=Math.floor(Ml(n,f,a));return n[p]>d&&p<n.length-1?n[p+1]:n[p]}}}function fq(n,e,t,i,r,a){return i=i!==void 0?i:!0,t=t!==void 0?t:0,function(s,o,l,c){if(s!==void 0){const d=r?Ff(e,r,l,a):e;if(c)return i?Df(s,d,t):Ie(s,t,d);const f=1e-9,p=Math.ceil(Math.log(e/d)/Math.log(n)-f),y=-o*(.5-f)+.5,w=Math.min(d,s),M=Math.floor(Math.log(e/w)/Math.log(n)+y),P=Math.max(p,M),D=e/Math.pow(n,P);return Ie(D,t,d)}}}function Uv(n,e,t,i,r){return t=t!==void 0?t:!0,function(a,s,o,l){if(a!==void 0){const c=i?Ff(n,i,o,r):n;return!t||!l?Ie(a,e,c):Df(a,c,e)}}}function Of(n){if(n!==void 0)return 0}function $v(n){if(n!==void 0)return n}function mq(n){const e=2*Math.PI/n;return function(t,i){if(i)return t;if(t!==void 0)return t=Math.floor(t/e+.5)*e,t}}function gq(n){const e=n===void 0?k9(5):n;return function(t,i){return i||t===void 0?t:Math.abs(t)<=e?0:t}}const pq=42,Bf=256,Kc=0;class yq extends p5{constructor(e){super(),this.on,this.once,this.un,e=Object.assign({},e),this.hints_=[0,0],this.animations_=[],this.updateAnimationKey_,this.projection_=Cf(e.projection,"EPSG:3857"),this.viewportSize_=[100,100],this.targetCenter_=null,this.targetResolution_,this.targetRotation_,this.nextCenter_=null,this.nextResolution_,this.nextRotation_,this.cancelAnchor_=void 0,e.projection&&ow(),e.center&&(e.center=N5(e.center,this.projection_)),e.extent&&(e.extent=F5(e.extent,this.projection_)),this.applyOptions_(e)}applyOptions_(e){const t=Object.assign({},e);for(const o in _6)delete t[o];this.setProperties(t,!0);const i=_q(e);this.maxResolution_=i.maxResolution,this.minResolution_=i.minResolution,this.zoomFactor_=i.zoomFactor,this.resolutions_=e.resolutions,this.padding_=e.padding,this.minZoom_=i.minZoom;const r=vq(e),a=i.constraint,s=bq(e);this.constraints_={center:r,resolution:a,rotation:s},this.setRotation(e.rotation!==void 0?e.rotation:0),this.setCenterInternal(e.center!==void 0?e.center:null),e.resolution!==void 0?this.setResolution(e.resolution):e.zoom!==void 0&&this.setZoom(e.zoom)}get padding(){return this.padding_}set padding(e){let t=this.padding_;this.padding_=e;const i=this.getCenterInternal();if(i){const r=e||[0,0,0,0];t=t||[0,0,0,0];const a=this.getResolution(),s=a/2*(r[3]-t[3]+t[1]-r[1]),o=a/2*(r[0]-t[0]+t[2]-r[2]);this.setCenterInternal([i[0]+s,i[1]-o])}}getUpdatedOptions_(e){const t=this.getProperties();return t.resolution!==void 0?t.resolution=this.getResolution():t.zoom=this.getZoom(),t.center=this.getCenterInternal(),t.rotation=this.getRotation(),Object.assign({},t,e)}animate(e){this.isDef()&&!this.getAnimating()&&this.resolveConstraints(0);const t=new Array(arguments.length);for(let i=0;i<t.length;++i){let r=arguments[i];r.center&&(r=Object.assign({},r),r.center=N5(r.center,this.getProjection())),r.anchor&&(r=Object.assign({},r),r.anchor=N5(r.anchor,this.getProjection())),t[i]=r}this.animateInternal.apply(this,t)}animateInternal(e){let t=arguments.length,i;t>1&&typeof arguments[t-1]=="function"&&(i=arguments[t-1],--t);let r=0;for(;r<t&&!this.isDef();++r){const d=arguments[r];d.center&&this.setCenterInternal(d.center),d.zoom!==void 0?this.setZoom(d.zoom):d.resolution&&this.setResolution(d.resolution),d.rotation!==void 0&&this.setRotation(d.rotation)}if(r===t){i&&Ws(i,!0);return}let a=Date.now(),s=this.targetCenter_.slice(),o=this.targetResolution_,l=this.targetRotation_;const c=[];for(;r<t;++r){const d=arguments[r],f={start:a,complete:!1,anchor:d.anchor,duration:d.duration!==void 0?d.duration:1e3,easing:d.easing||uK,callback:i};if(d.center&&(f.sourceCenter=s,f.targetCenter=d.center.slice(),s=f.targetCenter),d.zoom!==void 0?(f.sourceResolution=o,f.targetResolution=this.getResolutionForZoom(d.zoom),o=f.targetResolution):d.resolution&&(f.sourceResolution=o,f.targetResolution=d.resolution,o=f.targetResolution),d.rotation!==void 0){f.sourceRotation=l;const p=R9(d.rotation-l+Math.PI,2*Math.PI)-Math.PI;f.targetRotation=l+p,l=f.targetRotation}Sq(f)?f.complete=!0:a+=f.duration,c.push(f)}this.animations_.push(c),this.setHint(At.ANIMATING,1),this.updateAnimations_()}getAnimating(){return this.hints_[At.ANIMATING]>0}getInteracting(){return this.hints_[At.INTERACTING]>0}cancelAnimations(){this.setHint(At.ANIMATING,-this.hints_[At.ANIMATING]);let e;for(let t=0,i=this.animations_.length;t<i;++t){const r=this.animations_[t];if(r[0].callback&&Ws(r[0].callback,!1),!e)for(let a=0,s=r.length;a<s;++a){const o=r[a];if(!o.complete){e=o.anchor;break}}}this.animations_.length=0,this.cancelAnchor_=e,this.nextCenter_=null,this.nextResolution_=NaN,this.nextRotation_=NaN}updateAnimations_(){if(this.updateAnimationKey_!==void 0&&(cancelAnimationFrame(this.updateAnimationKey_),this.updateAnimationKey_=void 0),!this.getAnimating())return;const e=Date.now();let t=!1;for(let i=this.animations_.length-1;i>=0;--i){const r=this.animations_[i];let a=!0;for(let s=0,o=r.length;s<o;++s){const l=r[s];if(l.complete)continue;const c=e-l.start;let d=l.duration>0?c/l.duration:1;d>=1?(l.complete=!0,d=1):a=!1;const f=l.easing(d);if(l.sourceCenter){const p=l.sourceCenter[0],y=l.sourceCenter[1],w=l.targetCenter[0],M=l.targetCenter[1];this.nextCenter_=l.targetCenter;const P=p+f*(w-p),D=y+f*(M-y);this.targetCenter_=[P,D]}if(l.sourceResolution&&l.targetResolution){const p=f===1?l.targetResolution:l.sourceResolution+f*(l.targetResolution-l.sourceResolution);if(l.anchor){const y=this.getViewportSize_(this.getRotation()),w=this.constraints_.resolution(p,0,y,!0);this.targetCenter_=this.calculateCenterZoom(w,l.anchor)}this.nextResolution_=l.targetResolution,this.targetResolution_=p,this.applyTargetState_(!0)}if(l.sourceRotation!==void 0&&l.targetRotation!==void 0){const p=f===1?R9(l.targetRotation+Math.PI,2*Math.PI)-Math.PI:l.sourceRotation+f*(l.targetRotation-l.sourceRotation);if(l.anchor){const y=this.constraints_.rotation(p,!0);this.targetCenter_=this.calculateCenterRotate(y,l.anchor)}this.nextRotation_=l.targetRotation,this.targetRotation_=p}if(this.applyTargetState_(!0),t=!0,!l.complete)break}if(a){this.animations_[i]=null,this.setHint(At.ANIMATING,-1),this.nextCenter_=null,this.nextResolution_=NaN,this.nextRotation_=NaN;const s=r[0].callback;s&&Ws(s,!0)}}this.animations_=this.animations_.filter(Boolean),t&&this.updateAnimationKey_===void 0&&(this.updateAnimationKey_=requestAnimationFrame(this.updateAnimations_.bind(this)))}calculateCenterRotate(e,t){let i;const r=this.getCenterInternal();return r!==void 0&&(i=[r[0]-t[0],r[1]-t[1]],vf(i,e-this.getRotation()),aK(i,t)),i}calculateCenterZoom(e,t){let i;const r=this.getCenterInternal(),a=this.getResolution();if(r!==void 0&&a!==void 0){const s=t[0]-e*(t[0]-r[0])/a,o=t[1]-e*(t[1]-r[1])/a;i=[s,o]}return i}getViewportSize_(e){const t=this.viewportSize_;if(e){const i=t[0],r=t[1];return[Math.abs(i*Math.cos(e))+Math.abs(r*Math.sin(e)),Math.abs(i*Math.sin(e))+Math.abs(r*Math.cos(e))]}return t}setViewportSize(e){this.viewportSize_=Array.isArray(e)?e.slice():[100,100],this.getAnimating()||this.resolveConstraints(0)}getCenter(){const e=this.getCenterInternal();return e&&uh(e,this.getProjection())}getCenterInternal(){return this.get(_6.CENTER)}getConstraints(){return this.constraints_}getConstrainResolution(){return this.get("constrainResolution")}getHints(e){return e!==void 0?(e[0]=this.hints_[0],e[1]=this.hints_[1],e):this.hints_.slice()}calculateExtent(e){const t=this.calculateExtentInternal(e);return Tf(t,this.getProjection())}calculateExtentInternal(e){e=e||this.getViewportSizeMinusPadding_();const t=this.getCenterInternal();ne(t,"The view center is not defined");const i=this.getResolution();ne(i!==void 0,"The view resolution is not defined");const r=this.getRotation();return ne(r!==void 0,"The view rotation is not defined"),Cr(t,i,r,e)}getMaxResolution(){return this.maxResolution_}getMinResolution(){return this.minResolution_}getMaxZoom(){return this.getZoomForResolution(this.minResolution_)}setMaxZoom(e){this.applyOptions_(this.getUpdatedOptions_({maxZoom:e}))}getMinZoom(){return this.getZoomForResolution(this.maxResolution_)}setMinZoom(e){this.applyOptions_(this.getUpdatedOptions_({minZoom:e}))}setConstrainResolution(e){this.applyOptions_(this.getUpdatedOptions_({constrainResolution:e}))}getProjection(){return this.projection_}getResolution(){return this.get(_6.RESOLUTION)}getResolutions(){return this.resolutions_}getResolutionForExtent(e,t){return this.getResolutionForExtentInternal(F5(e,this.getProjection()),t)}getResolutionForExtentInternal(e,t){t=t||this.getViewportSizeMinusPadding_();const i=F0(e)/t[0],r=ut(e)/t[1];return Math.max(i,r)}getResolutionForValueFunction(e){e=e||2;const t=this.getConstrainedResolution(this.maxResolution_),i=this.minResolution_,r=Math.log(t/i)/Math.log(e);return function(a){return t/Math.pow(e,a*r)}}getRotation(){return this.get(_6.ROTATION)}getValueForResolutionFunction(e){const t=Math.log(e||2),i=this.getConstrainedResolution(this.maxResolution_),r=this.minResolution_,a=Math.log(i/r)/t;return function(s){return Math.log(i/s)/t/a}}getViewportSizeMinusPadding_(e){let t=this.getViewportSize_(e);const i=this.padding_;return i&&(t=[t[0]-i[1]-i[3],t[1]-i[0]-i[2]]),t}getState(){const e=this.getProjection(),t=this.getResolution(),i=this.getRotation();let r=this.getCenterInternal();const a=this.padding_;if(a){const s=this.getViewportSizeMinusPadding_();r=qc(r,this.getViewportSize_(),[s[0]/2+a[3],s[1]/2+a[0]],t,i)}return{center:r.slice(0),projection:e!==void 0?e:null,resolution:t,nextCenter:this.nextCenter_,nextResolution:this.nextResolution_,nextRotation:this.nextRotation_,rotation:i,zoom:this.getZoom()}}getViewStateAndExtent(){return{viewState:this.getState(),extent:this.calculateExtent()}}getZoom(){let e;const t=this.getResolution();return t!==void 0&&(e=this.getZoomForResolution(t)),e}getZoomForResolution(e){let t=this.minZoom_||0,i,r;if(this.resolutions_){const a=Ml(this.resolutions_,e,1);t=a,i=this.resolutions_[a],a==this.resolutions_.length-1?r=2:r=i/this.resolutions_[a+1]}else i=this.maxResolution_,r=this.zoomFactor_;return t+Math.log(i/e)/Math.log(r)}getResolutionForZoom(e){var t;if((t=this.resolutions_)!=null&&t.length){if(this.resolutions_.length===1)return this.resolutions_[0];const i=Ie(Math.floor(e),0,this.resolutions_.length-2),r=this.resolutions_[i]/this.resolutions_[i+1];return this.resolutions_[i]/Math.pow(r,Ie(e-i,0,1))}return this.maxResolution_/Math.pow(this.zoomFactor_,e-this.minZoom_)}fit(e,t){let i;if(ne(Array.isArray(e)||typeof e.getSimplifiedGeometry=="function","Invalid extent or geometry provided as `geometry`"),Array.isArray(e)){ne(!U8(e),"Cannot fit empty extent provided as `geometry`");const r=F5(e,this.getProjection());i=zv(r)}else if(e.getType()==="Circle"){const r=F5(e.getExtent(),this.getProjection());i=zv(r),i.rotate(this.getRotation(),c5(r))}else i=e;this.fitInternal(i,t)}rotatedExtentForGeometry(e){const t=this.getRotation(),i=Math.cos(t),r=Math.sin(-t),a=e.getFlatCoordinates(),s=e.getStride();let o=1/0,l=1/0,c=-1/0,d=-1/0;for(let f=0,p=a.length;f<p;f+=s){const y=a[f]*i-a[f+1]*r,w=a[f]*r+a[f+1]*i;o=Math.min(o,y),l=Math.min(l,w),c=Math.max(c,y),d=Math.max(d,w)}return[o,l,c,d]}fitInternal(e,t){t=t||{};let i=t.size;i||(i=this.getViewportSizeMinusPadding_());const r=t.padding!==void 0?t.padding:[0,0,0,0],a=t.nearest!==void 0?t.nearest:!1;let s;t.minResolution!==void 0?s=t.minResolution:t.maxZoom!==void 0?s=this.getResolutionForZoom(t.maxZoom):s=0;const o=this.rotatedExtentForGeometry(e);let l=this.getResolutionForExtentInternal(o,[i[0]-r[1]-r[3],i[1]-r[0]-r[2]]);l=isNaN(l)?s:Math.max(l,s),l=this.getConstrainedResolution(l,a?0:1);const c=this.getRotation(),d=Math.sin(c),f=Math.cos(c),p=c5(o);p[0]+=(r[1]-r[3])/2*l,p[1]+=(r[0]-r[2])/2*l;const y=p[0]*f-p[1]*d,w=p[1]*f+p[0]*d,M=this.getConstrainedCenter([y,w],l),P=t.callback?t.callback:Sr;t.duration!==void 0?this.animateInternal({resolution:l,center:M,duration:t.duration,easing:t.easing},P):(this.targetResolution_=l,this.targetCenter_=M,this.applyTargetState_(!1,!0),Ws(P,!0))}centerOn(e,t,i){this.centerOnInternal(N5(e,this.getProjection()),t,i)}centerOnInternal(e,t,i){this.setCenterInternal(qc(e,t,i,this.getResolution(),this.getRotation()))}calculateCenterShift(e,t,i,r){let a;const s=this.padding_;if(s&&e){const o=this.getViewportSizeMinusPadding_(-i),l=qc(e,r,[o[0]/2+s[3],o[1]/2+s[0]],t,i);a=[e[0]-l[0],e[1]-l[1]]}return a}isDef(){return!!this.getCenterInternal()&&this.getResolution()!==void 0}adjustCenter(e){const t=uh(this.targetCenter_,this.getProjection());this.setCenter([t[0]+e[0],t[1]+e[1]])}adjustCenterInternal(e){const t=this.targetCenter_;this.setCenterInternal([t[0]+e[0],t[1]+e[1]])}adjustResolution(e,t){t=t&&N5(t,this.getProjection()),this.adjustResolutionInternal(e,t)}adjustResolutionInternal(e,t){const i=this.getAnimating()||this.getInteracting(),r=this.getViewportSize_(this.getRotation()),a=this.constraints_.resolution(this.targetResolution_*e,0,r,i);t&&(this.targetCenter_=this.calculateCenterZoom(a,t)),this.targetResolution_*=e,this.applyTargetState_()}adjustZoom(e,t){this.adjustResolution(Math.pow(this.zoomFactor_,-e),t)}adjustRotation(e,t){t&&(t=N5(t,this.getProjection())),this.adjustRotationInternal(e,t)}adjustRotationInternal(e,t){const i=this.getAnimating()||this.getInteracting(),r=this.constraints_.rotation(this.targetRotation_+e,i);t&&(this.targetCenter_=this.calculateCenterRotate(r,t)),this.targetRotation_+=e,this.applyTargetState_()}setCenter(e){this.setCenterInternal(e&&N5(e,this.getProjection()))}setCenterInternal(e){this.targetCenter_=e,this.applyTargetState_()}setHint(e,t){return this.hints_[e]+=t,this.changed(),this.hints_[e]}setResolution(e){this.targetResolution_=e,this.applyTargetState_()}setRotation(e){this.targetRotation_=e,this.applyTargetState_()}setZoom(e){this.setResolution(this.getResolutionForZoom(e))}applyTargetState_(e,t){const i=this.getAnimating()||this.getInteracting()||t,r=this.constraints_.rotation(this.targetRotation_,i),a=this.getViewportSize_(r),s=this.constraints_.resolution(this.targetResolution_,0,a,i),o=this.constraints_.center(this.targetCenter_,s,a,i,this.calculateCenterShift(this.targetCenter_,s,r,a));this.get(_6.ROTATION)!==r&&this.set(_6.ROTATION,r),this.get(_6.RESOLUTION)!==s&&(this.set(_6.RESOLUTION,s),this.set("zoom",this.getZoom(),!0)),(!o||!this.get(_6.CENTER)||!Wo(this.get(_6.CENTER),o))&&this.set(_6.CENTER,o),this.getAnimating()&&!e&&this.cancelAnimations(),this.cancelAnchor_=void 0}resolveConstraints(e,t,i){e=e!==void 0?e:200;const r=t||0,a=this.constraints_.rotation(this.targetRotation_),s=this.getViewportSize_(a),o=this.constraints_.resolution(this.targetResolution_,r,s),l=this.constraints_.center(this.targetCenter_,o,s,!1,this.calculateCenterShift(this.targetCenter_,o,a,s));if(e===0&&!this.cancelAnchor_){this.targetResolution_=o,this.targetRotation_=a,this.targetCenter_=l,this.applyTargetState_();return}i=i||(e===0?this.cancelAnchor_:void 0),this.cancelAnchor_=void 0,(this.getResolution()!==o||this.getRotation()!==a||!this.getCenterInternal()||!Wo(this.getCenterInternal(),l))&&(this.getAnimating()&&this.cancelAnimations(),this.animateInternal({rotation:a,center:l,resolution:o,duration:e,easing:x4,anchor:i}))}beginInteraction(){this.resolveConstraints(0),this.setHint(At.INTERACTING,1)}endInteraction(e,t,i){i=i&&N5(i,this.getProjection()),this.endInteractionInternal(e,t,i)}endInteractionInternal(e,t,i){this.getInteracting()&&(this.setHint(At.INTERACTING,-1),this.resolveConstraints(e,t,i))}getConstrainedCenter(e,t){const i=this.getViewportSize_(this.getRotation());return this.constraints_.center(e,t||this.getResolution(),i)}getConstrainedZoom(e,t){const i=this.getResolutionForZoom(e);return this.getZoomForResolution(this.getConstrainedResolution(i,t))}getConstrainedResolution(e,t){t=t||0;const i=this.getViewportSize_(this.getRotation());return this.constraints_.resolution(e,t,i)}}function Ws(n,e){setTimeout(function(){n(e)},0)}function vq(n){if(n.extent!==void 0){const t=n.smoothExtentConstraint!==void 0?n.smoothExtentConstraint:!0;return Av(n.extent,n.constrainOnlyCenter,t)}const e=Cf(n.projection,"EPSG:3857");if(n.multiWorld!==!0&&e.isGlobal()){const t=e.getExtent().slice();return t[0]=-1/0,t[2]=1/0,Av(t,!1,!1)}return eK}function _q(n){let e,t,i,s=n.minZoom!==void 0?n.minZoom:Kc,o=n.maxZoom!==void 0?n.maxZoom:28;const l=n.zoomFactor!==void 0?n.zoomFactor:2,c=n.multiWorld!==void 0?n.multiWorld:!1,d=n.smoothResolutionConstraint!==void 0?n.smoothResolutionConstraint:!0,f=n.showFullExtent!==void 0?n.showFullExtent:!1,p=Cf(n.projection,"EPSG:3857"),y=p.getExtent();let w=n.constrainOnlyCenter,M=n.extent;if(!c&&!M&&p.isGlobal()&&(w=!1,M=y),n.resolutions!==void 0){const P=n.resolutions;t=P[s],i=P[o]!==void 0?P[o]:P[P.length-1],n.constrainResolution?e=hq(P,d,!w&&M,f):e=Uv(t,i,d,!w&&M,f)}else{const D=(y?Math.max(F0(y),ut(y)):360*Tr.degrees/p.getMetersPerUnit())/Bf/Math.pow(2,Kc),B=D/Math.pow(2,28-Kc);t=n.maxResolution,t!==void 0?s=0:t=D/Math.pow(l,s),i=n.minResolution,i===void 0&&(n.maxZoom!==void 0?n.maxResolution!==void 0?i=t/Math.pow(l,o):i=D/Math.pow(l,o):i=B),o=s+Math.floor(Math.log(t/i)/Math.log(l)),i=t/Math.pow(l,o-s),n.constrainResolution?e=fq(l,t,i,d,!w&&M,f):e=Uv(t,i,d,!w&&M,f)}return{constraint:e,maxResolution:t,minResolution:i,minZoom:s,zoomFactor:l}}function bq(n){if(n.enableRotation!==void 0?n.enableRotation:!0){const t=n.constrainRotation;return t===void 0||t===!0?gq():t===!1?$v:typeof t=="number"?mq(t):$v}return Of}function Sq(n){return!(n.sourceCenter&&n.targetCenter&&!Wo(n.sourceCenter,n.targetCenter)||n.sourceResolution!==n.targetResolution||n.sourceRotation!==n.targetRotation)}function qc(n,e,t,i,r){const a=Math.cos(-r);let s=Math.sin(-r),o=n[0]*a-n[1]*s,l=n[1]*a+n[0]*s;o+=(e[0]/2-t[0])*i,l+=(t[1]-e[1]/2)*i,s=-s;const c=o*a-l*s,d=l*a+o*s;return[c,d]}const Z6=yq,Vs="ol-hidden",jl="ol-unselectable",Gf="ol-control",Wv="ol-collapsed",wq=new RegExp(["^\\s*(?=(?:(?:[-a-z]+\\s*){0,2}(italic|oblique))?)","(?=(?:(?:[-a-z]+\\s*){0,2}(small-caps))?)","(?=(?:(?:[-a-z]+\\s*){0,2}(bold(?:er)?|lighter|[1-9]00 ))?)","(?:(?:normal|\\1|\\2|\\3)\\s*){0,3}((?:xx?-)?","(?:small|large)|medium|smaller|larger|[\\.\\d]+(?:\\%|in|[cem]m|ex|p[ctx]))","(?:\\s*\\/\\s*(normal|[\\.\\d]+(?:\\%|in|[cem]m|ex|p[ctx])?))",`?\\s*([-,\\"\\'\\sa-z0-9]+?)\\s*$`].join(""),"i"),Vv=["style","variant","weight","size","lineHeight","family"],fh={normal:400,bold:700},mh=function(n){const e=n.match(wq);if(!e)return null;const t={lineHeight:"normal",size:"1.2em",style:"normal",weight:"400",variant:"normal"};for(let i=0,r=Vv.length;i<r;++i){const a=e[i+1];a!==void 0&&(t[Vv[i]]=typeof a=="string"?a.trim():a)}return isNaN(Number(t.weight))&&t.weight in fh&&(t.weight=fh[t.weight]),t.families=t.family.split(/,\s?/).map(i=>i.trim().replace(/^['"]|['"]$/g,"")),t};function ht(n,e,t,i){let r;return t&&t.length?r=t.shift():a6?r=new class extends OffscreenCanvas{constructor(){super(...arguments);e0(this,"style",{})}}(n!=null?n:300,e!=null?e:150):r=document.createElement("canvas"),n&&(r.width=n),e&&(r.height=e),r.getContext("2d",i)}let Xc;function qo(){return Xc||(Xc=ht(1,1)),Xc}function zl(n){const e=n.canvas;e.width=1,e.height=1,n.clearRect(0,0,1,1)}function Hv(n,e){const t=e.parentNode;t&&t.replaceChild(n,e)}function Cq(n){for(;n.lastChild;)n.lastChild.remove()}function Tq(n,e){const t=n.childNodes;for(let i=0;;++i){const r=t[i],a=e[i];if(!r&&!a)break;if(r!==a){if(!r){n.appendChild(a);continue}if(!a){n.removeChild(r),--i;continue}n.insertBefore(a,r)}}}function bw(){return new Proxy({childNodes:[],appendChild:function(e){return this.childNodes.push(e),e},remove:function(){},removeChild:function(e){const t=this.childNodes.indexOf(e);if(t===-1)throw new Error("Node to remove was not found");return this.childNodes.splice(t,1),e},insertBefore:function(e,t){const i=this.childNodes.indexOf(t);if(i===-1)throw new Error("Reference node not found");return this.childNodes.splice(i,0,e),e},style:{}},{get(e,t,i){return t==="firstElementChild"?e.childNodes.length>0?e.childNodes[0]:null:Reflect.get(e,t,i)}})}function E9(n){return typeof HTMLCanvasElement!="undefined"&&n instanceof HTMLCanvasElement||typeof OffscreenCanvas!="undefined"&&n instanceof OffscreenCanvas}class Aq extends p5{constructor(e){super();const t=e.element;t&&!e.target&&!t.style.pointerEvents&&(t.style.pointerEvents="auto"),this.element=t||null,this.target_=null,this.map_=null,this.listenerKeys=[],e.render&&(this.render=e.render),e.target&&this.setTarget(e.target)}disposeInternal(){var e;(e=this.element)==null||e.remove(),super.disposeInternal()}getMap(){return this.map_}setMap(e){var t,i;this.map_&&((t=this.element)==null||t.remove());for(let r=0,a=this.listenerKeys.length;r<a;++r)be(this.listenerKeys[r]);if(this.listenerKeys.length=0,this.map_=e,e){const r=(i=this.target_)!=null?i:e.getOverlayContainerStopEvent();this.element&&r.appendChild(this.element),this.render!==Sr&&this.listenerKeys.push(M0(e,f9.POSTRENDER,this.render,this)),e.render()}}render(e){}setTarget(e){this.target_=typeof e=="string"?document.getElementById(e):e}}const jf=Aq;class xq extends jf{constructor(e){e=e||{},super({element:document.createElement("div"),render:e.render,target:e.target}),this.ulElement_=document.createElement("ul"),this.collapsed_=e.collapsed!==void 0?e.collapsed:!0,this.userCollapsed_=this.collapsed_,this.overrideCollapsible_=e.collapsible!==void 0,this.collapsible_=e.collapsible!==void 0?e.collapsible:!0,this.collapsible_||(this.collapsed_=!1),this.attributions_=e.attributions;const t=e.className!==void 0?e.className:"ol-attribution",i=e.tipLabel!==void 0?e.tipLabel:"Attributions",r=e.expandClassName!==void 0?e.expandClassName:t+"-expand",a=e.collapseLabel!==void 0?e.collapseLabel:"›",s=e.collapseClassName!==void 0?e.collapseClassName:t+"-collapse";typeof a=="string"?(this.collapseLabel_=document.createElement("span"),this.collapseLabel_.textContent=a,this.collapseLabel_.className=s):this.collapseLabel_=a;const o=e.label!==void 0?e.label:"i";typeof o=="string"?(this.label_=document.createElement("span"),this.label_.textContent=o,this.label_.className=r):this.label_=o;const l=this.collapsible_&&!this.collapsed_?this.collapseLabel_:this.label_;this.toggleButton_=document.createElement("button"),this.toggleButton_.setAttribute("type","button"),this.toggleButton_.setAttribute("aria-expanded",String(!this.collapsed_)),this.toggleButton_.title=i,this.toggleButton_.appendChild(l),this.toggleButton_.addEventListener(t0.CLICK,this.handleClick_.bind(this),!1);const c=t+" "+jl+" "+Gf+(this.collapsed_&&this.collapsible_?" "+Wv:"")+(this.collapsible_?"":" ol-uncollapsible"),d=this.element;d.className=c,d.appendChild(this.toggleButton_),d.appendChild(this.ulElement_),this.renderedAttributions_=[],this.renderedVisible_=!0}collectSourceAttributions_(e){const t=this.getMap().getAllLayers(),i=new Set(t.flatMap(r=>r.getAttributions(e)));if(this.attributions_!==void 0&&(Array.isArray(this.attributions_)?this.attributions_.forEach(r=>i.add(r)):i.add(this.attributions_)),!this.overrideCollapsible_){const r=!t.some(a=>{var s;return((s=a.getSource())==null?void 0:s.getAttributionsCollapsible())===!1});this.setCollapsible(r)}return Array.from(i)}updateElement_(e){return I3(this,null,function*(){if(!e){this.renderedVisible_&&(this.element.style.display="none",this.renderedVisible_=!1);return}const t=yield Promise.all(this.collectSourceAttributions_(e).map(r=>jS(()=>r))),i=t.length>0;if(this.renderedVisible_!=i&&(this.element.style.display=i?"":"none",this.renderedVisible_=i),!z9(t,this.renderedAttributions_)){Cq(this.ulElement_);for(let r=0,a=t.length;r<a;++r){const s=document.createElement("li");s.innerHTML=t[r],this.ulElement_.appendChild(s)}this.renderedAttributions_=t}})}handleClick_(e){e.preventDefault(),this.handleToggle_(),this.userCollapsed_=this.collapsed_}handleToggle_(){this.element.classList.toggle(Wv),this.collapsed_?Hv(this.collapseLabel_,this.label_):Hv(this.label_,this.collapseLabel_),this.collapsed_=!this.collapsed_,this.toggleButton_.setAttribute("aria-expanded",String(!this.collapsed_))}getCollapsible(){return this.collapsible_}setCollapsible(e){this.collapsible_!==e&&(this.collapsible_=e,this.element.classList.toggle("ol-uncollapsible"),this.userCollapsed_&&this.handleToggle_())}setCollapsed(e){this.userCollapsed_=e,!(!this.collapsible_||this.collapsed_===e)&&this.handleToggle_()}getCollapsed(){return this.collapsed_}render(e){this.updateElement_(e.frameState)}}const Eq=xq;class Pq extends jf{constructor(e){e=e||{},super({element:document.createElement("div"),render:e.render,target:e.target});const t=e.className!==void 0?e.className:"ol-rotate",i=e.label!==void 0?e.label:"⇧",r=e.compassClassName!==void 0?e.compassClassName:"ol-compass";this.label_=null,typeof i=="string"?(this.label_=document.createElement("span"),this.label_.className=r,this.label_.textContent=i):(this.label_=i,this.label_.classList.add(r));const a=e.tipLabel?e.tipLabel:"Reset rotation",s=document.createElement("button");s.className=t+"-reset",s.setAttribute("type","button"),s.title=a,s.appendChild(this.label_),s.addEventListener(t0.CLICK,this.handleClick_.bind(this),!1);const o=t+" "+jl+" "+Gf,l=this.element;l.className=o,l.appendChild(s),this.callResetNorth_=e.resetNorth?e.resetNorth:void 0,this.duration_=e.duration!==void 0?e.duration:250,this.autoHide_=e.autoHide!==void 0?e.autoHide:!0,this.rotation_=void 0,this.autoHide_&&this.element.classList.add(Vs)}handleClick_(e){e.preventDefault(),this.callResetNorth_!==void 0?this.callResetNorth_():this.resetNorth_()}resetNorth_(){const t=this.getMap().getView();if(!t)return;const i=t.getRotation();i!==void 0&&(this.duration_>0&&i%(2*Math.PI)!==0?t.animate({rotation:0,duration:this.duration_,easing:x4}):t.setRotation(0))}render(e){const t=e.frameState;if(!t)return;const i=t.viewState.rotation;if(i!=this.rotation_){const r="rotate("+i+"rad)";if(this.autoHide_){const a=this.element.classList.contains(Vs);!a&&i===0?this.element.classList.add(Vs):a&&i!==0&&this.element.classList.remove(Vs)}this.label_.style.transform=r}this.rotation_=i}}const Mq=Pq;class kq extends jf{constructor(e){e=e||{},super({element:document.createElement("div"),target:e.target});const t=e.className!==void 0?e.className:"ol-zoom",i=e.delta!==void 0?e.delta:1,r=e.zoomInClassName!==void 0?e.zoomInClassName:t+"-in",a=e.zoomOutClassName!==void 0?e.zoomOutClassName:t+"-out",s=e.zoomInLabel!==void 0?e.zoomInLabel:"+",o=e.zoomOutLabel!==void 0?e.zoomOutLabel:"–",l=e.zoomInTipLabel!==void 0?e.zoomInTipLabel:"Zoom in",c=e.zoomOutTipLabel!==void 0?e.zoomOutTipLabel:"Zoom out",d=document.createElement("button");d.className=r,d.setAttribute("type","button"),d.title=l,d.appendChild(typeof s=="string"?document.createTextNode(s):s),d.addEventListener(t0.CLICK,this.handleClick_.bind(this,i),!1);const f=document.createElement("button");f.className=a,f.setAttribute("type","button"),f.title=c,f.appendChild(typeof o=="string"?document.createTextNode(o):o),f.addEventListener(t0.CLICK,this.handleClick_.bind(this,-i),!1);const p=t+" "+jl+" "+Gf,y=this.element;y.className=p,y.appendChild(d),y.appendChild(f),this.duration_=e.duration!==void 0?e.duration:250}handleClick_(e,t){t.preventDefault(),this.zoomByDelta_(e)}zoomByDelta_(e){const i=this.getMap().getView();if(!i)return;const r=i.getZoom();if(r!==void 0){const a=i.getConstrainedZoom(r+e);this.duration_>0?(i.getAnimating()&&i.cancelAnimations(),i.animate({zoom:a,duration:this.duration_,easing:x4})):i.setZoom(a)}}}const Rq=kq;function Sw(n){n=n||{};const e=new r6;return(n.zoom!==void 0?n.zoom:!0)&&e.push(new Rq(n.zoomOptions)),(n.rotate!==void 0?n.rotate:!0)&&e.push(new Mq(n.rotateOptions)),(n.attribution!==void 0?n.attribution:!0)&&e.push(new Eq(n.attributionOptions)),e}class Iq{constructor(e,t,i){this.decay_=e,this.minVelocity_=t,this.delay_=i,this.points_=[],this.angle_=0,this.initialVelocity_=0}begin(){this.points_.length=0,this.angle_=0,this.initialVelocity_=0}update(e,t){this.points_.push(e,t,Date.now())}end(){if(this.points_.length<6)return!1;const e=Date.now()-this.delay_,t=this.points_.length-3;if(this.points_[t+2]<e)return!1;let i=t-3;for(;i>0&&this.points_[i+2]>e;)i-=3;const r=this.points_[t+2]-this.points_[i+2];if(r<1e3/60)return!1;const a=this.points_[t]-this.points_[i],s=this.points_[t+1]-this.points_[i+1];return this.angle_=Math.atan2(s,a),this.initialVelocity_=Math.sqrt(a*a+s*s)/r,this.initialVelocity_>this.minVelocity_}getDistance(){return(this.minVelocity_-this.initialVelocity_)/this.decay_}getAngle(){return this.angle_}}const Nq=Iq,Yv={ACTIVE:"active"};class Lq extends p5{constructor(e){super(),this.on,this.once,this.un,e&&e.handleEvent&&(this.handleEvent=e.handleEvent),this.map_=null,this.setActive(!0)}getActive(){return this.get(Yv.ACTIVE)}getMap(){return this.map_}handleEvent(e){return!0}setActive(e){this.set(Yv.ACTIVE,e)}setMap(e){this.map_=e}}function Fq(n,e,t){const i=n.getCenterInternal();if(i){const r=[i[0]+e[0],i[1]+e[1]];n.animateInternal({duration:t!==void 0?t:250,easing:cK,center:n.getConstrainedCenter(r)})}}function zf(n,e,t,i){const r=n.getZoom();if(r===void 0)return;const a=n.getConstrainedZoom(r+e),s=n.getResolutionForZoom(a);n.getAnimating()&&n.cancelAnimations(),n.animate({resolution:s,anchor:t,duration:i!==void 0?i:250,easing:x4})}const Jr=Lq;class Dq extends Jr{constructor(e){super(),e=e||{},this.delta_=e.delta?e.delta:1,this.duration_=e.duration!==void 0?e.duration:250}handleEvent(e){let t=!1;if(e.type==Ue.DBLCLICK){const i=e.originalEvent,r=e.map,a=e.coordinate,s=i.shiftKey?-this.delta_:this.delta_,o=r.getView();zf(o,s,a,this.duration_),i.preventDefault(),t=!0}return!t}}const Oq=Dq;function gh(n){const e=arguments;return function(t){let i=!0;for(let r=0,a=e.length;r<a&&(i=i&&e[r](t),!!i);++r);return i}}const Bq=function(n){const e=n.originalEvent;return e.altKey&&!(e.metaKey||e.ctrlKey)&&e.shiftKey},Gq=function(n){const e=n.map.getTargetElement(),t=e.getRootNode(),i=n.map.getOwnerDocument().activeElement;return t instanceof ShadowRoot?t.host.contains(i):e.contains(i)},ww=function(n){const e=n.map.getTargetElement(),t=e.getRootNode();return(t instanceof ShadowRoot?t.host:e).hasAttribute("tabindex")?Gq(n):!0},jq=br,Cw=function(n){const e=n.originalEvent;return"pointerId"in e&&e.button==0&&!($Y&&zS&&e.ctrlKey)},Tw=function(n){const e=n.originalEvent;return!e.altKey&&!(e.metaKey||e.ctrlKey)&&!e.shiftKey},zq=function(n){const e=n.originalEvent;return zS?e.metaKey:e.ctrlKey},Uq=function(n){const e=n.originalEvent;return!e.altKey&&!(e.metaKey||e.ctrlKey)&&e.shiftKey},Aw=function(n){const e=n.originalEvent,t=e.target.tagName;return t!=="INPUT"&&t!=="SELECT"&&t!=="TEXTAREA"&&!e.target.isContentEditable},Zc=function(n){const e=n.originalEvent;return"pointerId"in e&&e.pointerType=="mouse"},$q=function(n){const e=n.originalEvent;return"pointerId"in e&&e.isPrimary&&e.button===0};class Wq extends Jr{constructor(e){e=e||{},super(e),e.handleDownEvent&&(this.handleDownEvent=e.handleDownEvent),e.handleDragEvent&&(this.handleDragEvent=e.handleDragEvent),e.handleMoveEvent&&(this.handleMoveEvent=e.handleMoveEvent),e.handleUpEvent&&(this.handleUpEvent=e.handleUpEvent),e.stopDown&&(this.stopDown=e.stopDown),this.handlingDownUpSequence=!1,this.targetPointers=[]}getPointerCount(){return this.targetPointers.length}handleDownEvent(e){return!1}handleDragEvent(e){}handleEvent(e){if(!e.originalEvent)return!0;let t=!1;if(this.updateTrackedPointers_(e),this.handlingDownUpSequence){if(e.type==Ue.POINTERDRAG)this.handleDragEvent(e),e.originalEvent.preventDefault();else if(e.type==Ue.POINTERUP){const i=this.handleUpEvent(e);this.handlingDownUpSequence=i&&this.targetPointers.length>0}}else if(e.type==Ue.POINTERDOWN){const i=this.handleDownEvent(e);this.handlingDownUpSequence=i,t=this.stopDown(i)}else e.type==Ue.POINTERMOVE&&this.handleMoveEvent(e);return!t}handleMoveEvent(e){}handleUpEvent(e){return!1}stopDown(e){return e}updateTrackedPointers_(e){e.activePointers&&(this.targetPointers=e.activePointers)}}function Uf(n){const e=n.length;let t=0,i=0;for(let r=0;r<e;r++)t+=n[r].clientX,i+=n[r].clientY;return{clientX:t/e,clientY:i/e}}const Qr=Wq;class Vq extends Qr{constructor(e){super({stopDown:kl}),e=e||{},this.kinetic_=e.kinetic,this.lastCentroid=null,this.lastPointersCount_,this.panning_=!1;const t=e.condition?e.condition:gh(Tw,$q);this.condition_=e.onFocusOnly?gh(ww,t):t,this.noKinetic_=!1}handleDragEvent(e){const t=e.map;this.panning_||(this.panning_=!0,t.getView().beginInteraction());const i=this.targetPointers,r=t.getEventPixel(Uf(i));if(i.length==this.lastPointersCount_){if(this.kinetic_&&this.kinetic_.update(r[0],r[1]),this.lastCentroid){const a=[this.lastCentroid[0]-r[0],r[1]-this.lastCentroid[1]],o=e.map.getView();sK(a,o.getResolution()),vf(a,o.getRotation()),o.adjustCenterInternal(a)}}else this.kinetic_&&this.kinetic_.begin();this.lastCentroid=r,this.lastPointersCount_=i.length,e.originalEvent.preventDefault()}handleUpEvent(e){const t=e.map,i=t.getView();if(this.targetPointers.length===0){if(!this.noKinetic_&&this.kinetic_&&this.kinetic_.end()){const r=this.kinetic_.getDistance(),a=this.kinetic_.getAngle(),s=i.getCenterInternal(),o=t.getPixelFromCoordinateInternal(s),l=t.getCoordinateFromPixelInternal([o[0]-r*Math.cos(a),o[1]-r*Math.sin(a)]);i.animateInternal({center:i.getConstrainedCenter(l),duration:500,easing:x4})}return this.panning_&&(this.panning_=!1,i.endInteraction()),!1}return this.kinetic_&&this.kinetic_.begin(),this.lastCentroid=null,!0}handleDownEvent(e){if(this.targetPointers.length>0&&this.condition_(e)){const i=e.map.getView();return this.lastCentroid=null,i.getAnimating()&&i.cancelAnimations(),this.kinetic_&&this.kinetic_.begin(),this.noKinetic_=this.targetPointers.length>1,!0}return!1}}const Hq=Vq;class Yq extends Qr{constructor(e){e=e||{},super({stopDown:kl}),this.condition_=e.condition?e.condition:Bq,this.lastAngle_=void 0,this.duration_=e.duration!==void 0?e.duration:250}handleDragEvent(e){if(!Zc(e))return;const t=e.map,i=t.getView();if(i.getConstraints().rotation===Of)return;const r=t.getSize(),a=e.pixel,s=Math.atan2(r[1]/2-a[1],a[0]-r[0]/2);if(this.lastAngle_!==void 0){const o=s-this.lastAngle_;i.adjustRotationInternal(-o)}this.lastAngle_=s}handleUpEvent(e){return Zc(e)?(e.map.getView().endInteraction(this.duration_),!1):!0}handleDownEvent(e){return Zc(e)&&Cw(e)&&this.condition_(e)?(e.map.getView().beginInteraction(),this.lastAngle_=void 0,!0):!1}}const Kq=Yq;class qq extends Pl{constructor(e){super(),this.geometry_=null,this.element_=document.createElement("div"),this.element_.style.position="absolute",this.element_.style.pointerEvents="auto",this.element_.className="ol-box "+e,this.map_=null,this.startPixel_=null,this.endPixel_=null}disposeInternal(){this.setMap(null)}render_(){const e=this.startPixel_,t=this.endPixel_,i="px",r=this.element_.style;r.left=Math.min(e[0],t[0])+i,r.top=Math.min(e[1],t[1])+i,r.width=Math.abs(t[0]-e[0])+i,r.height=Math.abs(t[1]-e[1])+i}setMap(e){if(this.map_){this.map_.getOverlayContainer().removeChild(this.element_);const t=this.element_.style;t.left="inherit",t.top="inherit",t.width="inherit",t.height="inherit"}this.map_=e,this.map_&&this.map_.getOverlayContainer().appendChild(this.element_)}setPixels(e,t){this.startPixel_=e,this.endPixel_=t,this.createOrUpdateGeometry(),this.render_()}createOrUpdateGeometry(){if(!this.map_)return;const e=this.startPixel_,t=this.endPixel_,r=[e,[e[0],t[1]],t,[t[0],e[1]]].map(this.map_.getCoordinateFromPixelInternal,this.map_);r[4]=r[0].slice(),this.geometry_?this.geometry_.setCoordinates([r]):this.geometry_=new G9([r])}getGeometry(){return this.geometry_}}const Xq=qq,Ai={BOXSTART:"boxstart",BOXDRAG:"boxdrag",BOXEND:"boxend",BOXCANCEL:"boxcancel"};class P7 extends g5{constructor(e,t,i){super(e),this.coordinate=t,this.mapBrowserEvent=i}}class Zq extends Qr{constructor(e){var t,i,r;super(),this.on,this.once,this.un,e=e!=null?e:{},this.box_=new Xq(e.className||"ol-dragbox"),this.minArea_=(t=e.minArea)!=null?t:64,e.onBoxEnd&&(this.onBoxEnd=e.onBoxEnd),this.startPixel_=null,this.condition_=(i=e.condition)!=null?i:Cw,this.boxEndCondition_=(r=e.boxEndCondition)!=null?r:this.defaultBoxEndCondition}defaultBoxEndCondition(e,t,i){const r=i[0]-t[0],a=i[1]-t[1];return r*r+a*a>=this.minArea_}getGeometry(){return this.box_.getGeometry()}handleDragEvent(e){this.startPixel_&&(this.box_.setPixels(this.startPixel_,e.pixel),this.dispatchEvent(new P7(Ai.BOXDRAG,e.coordinate,e)))}handleUpEvent(e){if(!this.startPixel_)return!1;const t=this.boxEndCondition_(e,this.startPixel_,e.pixel);return t&&this.onBoxEnd(e),this.dispatchEvent(new P7(t?Ai.BOXEND:Ai.BOXCANCEL,e.coordinate,e)),this.box_.setMap(null),this.startPixel_=null,!1}handleDownEvent(e){return this.condition_(e)?(this.startPixel_=e.pixel,this.box_.setMap(e.map),this.box_.setPixels(this.startPixel_,this.startPixel_),this.dispatchEvent(new P7(Ai.BOXSTART,e.coordinate,e)),!0):!1}onBoxEnd(e){}setActive(e){e||(this.box_.setMap(null),this.startPixel_&&(this.dispatchEvent(new P7(Ai.BOXCANCEL,this.startPixel_,null)),this.startPixel_=null)),super.setActive(e)}setMap(e){this.getMap()&&(this.box_.setMap(null),this.startPixel_&&(this.dispatchEvent(new P7(Ai.BOXCANCEL,this.startPixel_,null)),this.startPixel_=null)),super.setMap(e)}}const Jq=Zq;class Qq extends Jq{constructor(e){e=e||{};const t=e.condition?e.condition:Uq;super({condition:t,className:e.className||"ol-dragzoom",minArea:e.minArea}),this.duration_=e.duration!==void 0?e.duration:200,this.out_=e.out!==void 0?e.out:!1}onBoxEnd(e){const i=this.getMap().getView();let r=this.getGeometry();if(this.out_){const a=i.rotatedExtentForGeometry(r),s=i.getResolutionForExtentInternal(a),o=i.getResolution()/s;r=r.clone(),r.scale(o*o)}i.fitInternal(r,{duration:this.duration_,easing:x4})}}const eX=Qq,l8={LEFT:"ArrowLeft",UP:"ArrowUp",RIGHT:"ArrowRight",DOWN:"ArrowDown"};class tX extends Jr{constructor(e){super(),e=e||{},this.defaultCondition_=function(t){return Tw(t)&&Aw(t)},this.condition_=e.condition!==void 0?e.condition:this.defaultCondition_,this.duration_=e.duration!==void 0?e.duration:100,this.pixelDelta_=e.pixelDelta!==void 0?e.pixelDelta:128}handleEvent(e){let t=!1;if(e.type==t0.KEYDOWN){const i=e.originalEvent,r=i.key;if(this.condition_(e)&&(r==l8.DOWN||r==l8.LEFT||r==l8.RIGHT||r==l8.UP)){const s=e.map.getView(),o=s.getResolution()*this.pixelDelta_;let l=0,c=0;r==l8.DOWN?c=-o:r==l8.LEFT?l=-o:r==l8.RIGHT?l=o:c=o;const d=[l,c];vf(d,s.getRotation()),Fq(s,d,this.duration_),i.preventDefault(),t=!0}}return!t}}const nX=tX;class iX extends Jr{constructor(e){super(),e=e||{},this.condition_=e.condition?e.condition:function(t){return!zq(t)&&Aw(t)},this.delta_=e.delta?e.delta:1,this.duration_=e.duration!==void 0?e.duration:100}handleEvent(e){let t=!1;if(e.type==t0.KEYDOWN||e.type==t0.KEYPRESS){const i=e.originalEvent,r=i.key;if(this.condition_(e)&&(r==="+"||r==="-")){const a=e.map,s=r==="+"?this.delta_:-this.delta_,o=a.getView();zf(o,s,void 0,this.duration_),i.preventDefault(),t=!0}}return!t}}const rX=iX,aX=40,sX=300,oX=3;class lX extends Jr{constructor(e){e=e||{},super(e),this.totalDelta_=0,this.lastDelta_=0,this.maxDelta_=e.maxDelta!==void 0?e.maxDelta:1,this.duration_=e.duration!==void 0?e.duration:250,this.timeout_=e.timeout!==void 0?e.timeout:80,this.useAnchor_=e.useAnchor!==void 0?e.useAnchor:!0,this.constrainResolution_=e.constrainResolution!==void 0?e.constrainResolution:!1;const t=e.condition?e.condition:jq;this.condition_=e.onFocusOnly?gh(ww,t):t,this.lastAnchor_=null,this.startTime_=void 0,this.timeoutId_,this.mode_=void 0,this.trackpadEventGap_=400,this.trackpadTimeoutId_,this.deltaPerZoom_=300,this.ctrlKeyPressed_=!1,this.ctrlKeyListenerKeys_=[]}setMap(e){if(this.ctrlKeyListenerKeys_.forEach(be),this.ctrlKeyListenerKeys_.length=0,this.ctrlKeyPressed_=!1,super.setMap(e),e){const t=e.getOwnerDocument();this.ctrlKeyListenerKeys_.push(M0(t,"keydown",i=>{i.key==="Control"&&(this.ctrlKeyPressed_=!0)}),M0(t,"keyup",i=>{i.key==="Control"&&(this.ctrlKeyPressed_=!1)}))}}endInteraction_(){this.trackpadTimeoutId_=void 0;const e=this.getMap();if(!e)return;const t=e.getView(),i=this.lastDelta_?this.lastDelta_>0?1:-1:0;t.endInteraction(this.constrainResolution_||t.getConstrainResolution()?100:void 0,i,this.lastAnchor_?e.getCoordinateFromPixel(this.lastAnchor_):null)}handleEvent(e){if(!this.condition_(e)||e.type!==t0.WHEEL)return!0;const i=e.map,r=e.originalEvent;r.preventDefault();const a=r.ctrlKey&&!this.ctrlKeyPressed_;r.ctrlKey||(this.ctrlKeyPressed_=!1),this.useAnchor_&&(this.lastAnchor_=e.pixel);let s=r.deltaY;switch(r.deltaMode){case WheelEvent.DOM_DELTA_LINE:s*=aX;break;case WheelEvent.DOM_DELTA_PAGE:s*=sX;break}if(s===0)return!1;this.lastDelta_=s;const o=Date.now();this.startTime_===void 0&&(this.startTime_=o),(!this.mode_||o-this.startTime_>this.trackpadEventGap_)&&(this.mode_=Math.abs(s)<4?"trackpad":"wheel");const l=i.getView();if(this.mode_==="trackpad")return this.trackpadTimeoutId_?clearTimeout(this.trackpadTimeoutId_):(l.getAnimating()&&l.cancelAnimations(),l.beginInteraction()),this.trackpadTimeoutId_=setTimeout(this.endInteraction_.bind(this),this.timeout_),a&&(s=s*oX),l.adjustZoom(-s/this.deltaPerZoom_,this.lastAnchor_?i.getCoordinateFromPixel(this.lastAnchor_):null),this.startTime_=o,!1;this.totalDelta_+=s;const c=Math.max(this.timeout_-(o-this.startTime_),0);return clearTimeout(this.timeoutId_),this.timeoutId_=setTimeout(this.handleWheelZoom_.bind(this,i),c),!1}handleWheelZoom_(e){const t=e.getView();t.getAnimating()&&t.cancelAnimations();let i=-Ie(this.totalDelta_,-this.maxDelta_*this.deltaPerZoom_,this.maxDelta_*this.deltaPerZoom_)/this.deltaPerZoom_;(t.getConstrainResolution()||this.constrainResolution_)&&(i=i?i>0?1:-1:0),zf(t,i,this.lastAnchor_?e.getCoordinateFromPixel(this.lastAnchor_):null,this.duration_),this.mode_=void 0,this.totalDelta_=0,this.lastAnchor_=null,this.startTime_=void 0,this.timeoutId_=void 0}setMouseAnchor(e){this.useAnchor_=e,e||(this.lastAnchor_=null)}}const uX=lX;class cX extends Qr{constructor(e){e=e||{};const t=e;t.stopDown||(t.stopDown=kl),super(t),this.anchor_=null,this.lastAngle_=void 0,this.rotating_=!1,this.rotationDelta_=0,this.threshold_=e.threshold!==void 0?e.threshold:.3,this.duration_=e.duration!==void 0?e.duration:250}handleDragEvent(e){let t=0;const i=this.targetPointers[0],r=this.targetPointers[1],a=Math.atan2(r.clientY-i.clientY,r.clientX-i.clientX);if(this.lastAngle_!==void 0){const l=a-this.lastAngle_;this.rotationDelta_+=l,!this.rotating_&&Math.abs(this.rotationDelta_)>this.threshold_&&(this.rotating_=!0),t=l}this.lastAngle_=a;const s=e.map,o=s.getView();o.getConstraints().rotation!==Of&&(this.anchor_=s.getCoordinateFromPixelInternal(s.getEventPixel(Uf(this.targetPointers))),this.rotating_&&(s.render(),o.adjustRotationInternal(t,this.anchor_)))}handleUpEvent(e){return this.targetPointers.length<2?(e.map.getView().endInteraction(this.duration_),!1):!0}handleDownEvent(e){if(this.targetPointers.length>=2){const t=e.map;return this.anchor_=null,this.lastAngle_=void 0,this.rotating_=!1,this.rotationDelta_=0,this.handlingDownUpSequence||t.getView().beginInteraction(),!0}return!1}}const dX=cX;class hX extends Qr{constructor(e){e=e||{};const t=e;t.stopDown||(t.stopDown=kl),super(t),this.anchor_=null,this.duration_=e.duration!==void 0?e.duration:400,this.lastDistance_=void 0,this.lastScaleDelta_=1}handleDragEvent(e){let t=1;const i=this.targetPointers[0],r=this.targetPointers[1],a=i.clientX-r.clientX,s=i.clientY-r.clientY,o=Math.sqrt(a*a+s*s);this.lastDistance_!==void 0&&(t=this.lastDistance_/o),this.lastDistance_=o;const l=e.map,c=l.getView();t!=1&&(this.lastScaleDelta_=t),this.anchor_=l.getCoordinateFromPixelInternal(l.getEventPixel(Uf(this.targetPointers))),l.render(),c.adjustResolutionInternal(t,this.anchor_)}handleUpEvent(e){if(this.targetPointers.length<2){const i=e.map.getView(),r=this.lastScaleDelta_>1?1:-1;return i.endInteraction(this.duration_,r),!1}return!0}handleDownEvent(e){if(this.targetPointers.length>=2){const t=e.map;return this.anchor_=null,this.lastDistance_=void 0,this.lastScaleDelta_=1,this.handlingDownUpSequence||t.getView().beginInteraction(),!0}return!1}}const fX=hX;function mX(n){n=n||{};const e=new r6,t=new Nq(-.005,.05,100);return(n.altShiftDragRotate!==void 0?n.altShiftDragRotate:!0)&&e.push(new Kq),(n.doubleClickZoom!==void 0?n.doubleClickZoom:!0)&&e.push(new Oq({delta:n.zoomDelta,duration:n.zoomDuration})),(n.dragPan!==void 0?n.dragPan:!0)&&e.push(new Hq({onFocusOnly:n.onFocusOnly,kinetic:t})),(n.pinchRotate!==void 0?n.pinchRotate:!0)&&e.push(new dX),(n.pinchZoom!==void 0?n.pinchZoom:!0)&&e.push(new fX({duration:n.zoomDuration})),(n.keyboard!==void 0?n.keyboard:!0)&&(e.push(new nX),e.push(new rX({delta:n.zoomDelta,duration:n.zoomDuration}))),(n.mouseWheelZoom!==void 0?n.mouseWheelZoom:!0)&&e.push(new uX({onFocusOnly:n.onFocusOnly,duration:n.zoomDuration})),(n.shiftDragZoom!==void 0?n.shiftDragZoom:!0)&&e.push(new eX({duration:n.zoomDuration})),e}const se={OPACITY:"opacity",VISIBLE:"visible",EXTENT:"extent",Z_INDEX:"zIndex",MAX_RESOLUTION:"maxResolution",MIN_RESOLUTION:"minResolution",MAX_ZOOM:"maxZoom",MIN_ZOOM:"minZoom",SOURCE:"source",MAP:"map"};class gX extends p5{constructor(e){super(),this.on,this.once,this.un,this.background_=e.background;const t=Object.assign({},e);typeof e.properties=="object"&&(delete t.properties,Object.assign(t,e.properties)),t[se.OPACITY]=e.opacity!==void 0?e.opacity:1,ne(typeof t[se.OPACITY]=="number","Layer opacity must be a number"),t[se.VISIBLE]=e.visible!==void 0?e.visible:!0,t[se.Z_INDEX]=e.zIndex,t[se.MAX_RESOLUTION]=e.maxResolution!==void 0?e.maxResolution:1/0,t[se.MIN_RESOLUTION]=e.minResolution!==void 0?e.minResolution:0,t[se.MIN_ZOOM]=e.minZoom!==void 0?e.minZoom:-1/0,t[se.MAX_ZOOM]=e.maxZoom!==void 0?e.maxZoom:1/0,this.className_=t.className!==void 0?t.className:"ol-layer",delete t.className,this.setProperties(t),this.state_=null}getBackground(){return this.background_}getClassName(){return this.className_}getLayerState(e){const t=this.state_||{layer:this,managed:e===void 0?!0:e},i=this.getZIndex();return t.opacity=Ie(Math.round(this.getOpacity()*100)/100,0,1),t.visible=this.getVisible(),t.extent=this.getExtent(),t.zIndex=i===void 0&&!t.managed?1/0:i,t.maxResolution=this.getMaxResolution(),t.minResolution=Math.max(this.getMinResolution(),0),t.minZoom=this.getMinZoom(),t.maxZoom=this.getMaxZoom(),this.state_=t,t}getLayersArray(e){return Z1()}getLayerStatesArray(e){return Z1()}getExtent(){return this.get(se.EXTENT)}getMaxResolution(){return this.get(se.MAX_RESOLUTION)}getMinResolution(){return this.get(se.MIN_RESOLUTION)}getMinZoom(){return this.get(se.MIN_ZOOM)}getMaxZoom(){return this.get(se.MAX_ZOOM)}getOpacity(){return this.get(se.OPACITY)}getSourceState(){return Z1()}getVisible(){return this.get(se.VISIBLE)}getZIndex(){return this.get(se.Z_INDEX)}setBackground(e){this.background_=e,this.changed()}setExtent(e){this.set(se.EXTENT,e)}setMaxResolution(e){this.set(se.MAX_RESOLUTION,e)}setMinResolution(e){this.set(se.MIN_RESOLUTION,e)}setMaxZoom(e){this.set(se.MAX_ZOOM,e)}setMinZoom(e){this.set(se.MIN_ZOOM,e)}setOpacity(e){ne(typeof e=="number","Layer opacity must be a number"),this.set(se.OPACITY,e)}setVisible(e){this.set(se.VISIBLE,e)}setZIndex(e){this.set(se.Z_INDEX,e)}disposeInternal(){this.state_&&(this.state_.layer=null,this.state_=null),super.disposeInternal()}}const xw=gX,a9={ADDLAYER:"addlayer",REMOVELAYER:"removelayer"};class v9 extends g5{constructor(e,t){super(e),this.layer=t}}const Jc={LAYERS:"layers"};class $f extends xw{constructor(e){e=e||{};const t=Object.assign({},e);delete t.layers;let i=e.layers;super(t),this.on,this.once,this.un,this.layersListenerKeys_=[],this.listenerKeys_={},this.addChangeListener(Jc.LAYERS,this.handleLayersChanged_),i?Array.isArray(i)?i=new r6(i.slice(),{unique:!0}):ne(typeof i.getArray=="function","Expected `layers` to be an array or a `Collection`"):i=new r6(void 0,{unique:!0}),this.setLayers(i)}handleLayerChange_(){this.changed()}handleLayersChanged_(){this.layersListenerKeys_.forEach(be),this.layersListenerKeys_.length=0;const e=this.getLayers();this.layersListenerKeys_.push(M0(e,Sn.ADD,this.handleLayersAdd_,this),M0(e,Sn.REMOVE,this.handleLayersRemove_,this));for(const i in this.listenerKeys_)this.listenerKeys_[i].forEach(be);Vr(this.listenerKeys_);const t=e.getArray();for(let i=0,r=t.length;i<r;i++){const a=t[i];this.registerLayerListeners_(a),this.dispatchEvent(new v9(a9.ADDLAYER,a))}this.changed()}registerLayerListeners_(e){const t=[M0(e,g4.PROPERTYCHANGE,this.handleLayerChange_,this),M0(e,t0.CHANGE,this.handleLayerChange_,this)];e instanceof $f&&t.push(M0(e,a9.ADDLAYER,this.handleLayerGroupAdd_,this),M0(e,a9.REMOVELAYER,this.handleLayerGroupRemove_,this)),this.listenerKeys_[j0(e)]=t}handleLayerGroupAdd_(e){this.dispatchEvent(new v9(a9.ADDLAYER,e.layer))}handleLayerGroupRemove_(e){this.dispatchEvent(new v9(a9.REMOVELAYER,e.layer))}handleLayersAdd_(e){const t=e.element;this.registerLayerListeners_(t),this.dispatchEvent(new v9(a9.ADDLAYER,t)),this.changed()}handleLayersRemove_(e){const t=e.element,i=j0(t);this.listenerKeys_[i].forEach(be),delete this.listenerKeys_[i],this.dispatchEvent(new v9(a9.REMOVELAYER,t)),this.changed()}getLayers(){return this.get(Jc.LAYERS)}setLayers(e){const t=this.getLayers();if(t){const i=t.getArray();for(let r=0,a=i.length;r<a;++r)this.dispatchEvent(new v9(a9.REMOVELAYER,i[r]))}this.set(Jc.LAYERS,e)}getLayersArray(e){return e=e!==void 0?e:[],this.getLayers().forEach(function(t){t.getLayersArray(e)}),e}getLayerStatesArray(e){const t=e!==void 0?e:[],i=t.length;this.getLayers().forEach(function(s){s.getLayerStatesArray(t)});const r=this.getLayerState();let a=r.zIndex;!e&&r.zIndex===void 0&&(a=0);for(let s=i,o=t.length;s<o;s++){const l=t[s];l.opacity*=r.opacity,l.visible=l.visible&&r.visible,l.maxResolution=Math.min(l.maxResolution,r.maxResolution),l.minResolution=Math.max(l.minResolution,r.minResolution),l.minZoom=Math.max(l.minZoom,r.minZoom),l.maxZoom=Math.min(l.maxZoom,r.maxZoom),r.extent!==void 0&&(l.extent!==void 0?l.extent=O5(l.extent,r.extent):l.extent=r.extent),l.zIndex===void 0&&(l.zIndex=a)}return t}getSourceState(){return"ready"}}const Ul=$f,s6={PRERENDER:"prerender",POSTRENDER:"postrender",PRECOMPOSE:"precompose",POSTCOMPOSE:"postcompose",RENDERCOMPLETE:"rendercomplete"};class pX extends xw{constructor(e){const t=Object.assign({},e);delete t.source,super(t),this.on,this.once,this.un,this.mapPrecomposeKey_=null,this.mapRenderKey_=null,this.sourceChangeKey_=null,this.renderer_=null,this.sourceReady_=!1,this.rendered=!1,e.render&&(this.render=e.render),e.map&&this.setMap(e.map),this.addChangeListener(se.SOURCE,this.handleSourcePropertyChange_);const i=e.source?e.source:null;this.setSource(i)}getLayersArray(e){return e=e||[],e.push(this),e}getLayerStatesArray(e){return e=e||[],e.push(this.getLayerState()),e}getSource(){return this.get(se.SOURCE)||null}getRenderSource(){return this.getSource()}getSourceState(){const e=this.getSource();return e?e.getState():"undefined"}handleSourceChange_(){this.changed(),!(this.sourceReady_||this.getSource().getState()!=="ready")&&(this.sourceReady_=!0,this.dispatchEvent("sourceready"))}handleSourcePropertyChange_(){this.sourceChangeKey_&&(be(this.sourceChangeKey_),this.sourceChangeKey_=null),this.sourceReady_=!1;const e=this.getSource();e&&(this.sourceChangeKey_=M0(e,t0.CHANGE,this.handleSourceChange_,this),e.getState()==="ready"&&(this.sourceReady_=!0,setTimeout(()=>{this.dispatchEvent("sourceready")},0))),this.changed()}getFeatures(e){return this.renderer_?this.renderer_.getFeatures(e):Promise.resolve([])}getData(e){return!this.renderer_||!this.rendered?null:this.renderer_.getData(e)}isVisible(e){let t;const i=this.getMapInternal();!e&&i&&(e=i.getView()),e instanceof Z6?t={viewState:e.getState(),extent:e.calculateExtent()}:t=e,!t.layerStatesArray&&i&&(t.layerStatesArray=i.getLayerGroup().getLayerStatesArray());let r;if(t.layerStatesArray){if(r=t.layerStatesArray.find(s=>s.layer===this),!r)return!1}else r=this.getLayerState();const a=this.getExtent();return Wf(r,t.viewState)&&(!a||an(a,t.extent))}getAttributions(e){var a;if(!this.isVisible(e))return[];const t=(a=this.getSource())==null?void 0:a.getAttributions();if(!t)return[];const i=e instanceof Z6?e.getViewStateAndExtent():e;let r=t(i);return Array.isArray(r)||(r=[r]),r}render(e,t){const i=this.getRenderer();return i.prepareFrame(e)?(this.rendered=!0,i.renderFrame(e,t)):null}unrender(){this.rendered=!1}getDeclutter(){}renderDeclutter(e,t){}renderDeferred(e){const t=this.getRenderer();t&&t.renderDeferred(e)}setMapInternal(e){e||this.unrender(),this.set(se.MAP,e)}getMapInternal(){return this.get(se.MAP)}setMap(e){this.mapPrecomposeKey_&&(be(this.mapPrecomposeKey_),this.mapPrecomposeKey_=null),e||this.changed(),this.mapRenderKey_&&(be(this.mapRenderKey_),this.mapRenderKey_=null),e&&(this.mapPrecomposeKey_=M0(e,s6.PRECOMPOSE,this.handlePrecompose_,this),this.mapRenderKey_=M0(this,t0.CHANGE,e.render,e),this.changed())}handlePrecompose_(e){const t=e.frameState.layerStatesArray,i=this.getLayerState(!1);ne(!t.some(r=>r.layer===i.layer),"A layer can only be added to the map once. Use either `layer.setMap()` or `map.addLayer()`, not both."),t.push(i)}setSource(e){this.set(se.SOURCE,e)}getRenderer(){return this.renderer_||(this.renderer_=this.createRenderer()),this.renderer_}hasRenderer(){return!!this.renderer_}createRenderer(){return null}clearRenderer(){this.renderer_&&(this.renderer_.dispose(),delete this.renderer_)}disposeInternal(){this.clearRenderer(),this.setSource(null),super.disposeInternal()}}function Wf(n,e){if(!n.visible)return!1;const t=e.resolution;if(t<n.minResolution||t>=n.maxResolution)return!1;const i=e.zoom;return i>n.minZoom&&i<=n.maxZoom}const ea=pX;function Ew(n,e,t=0,i=n.length-1,r=yX){for(;i>t;){if(i-t>600){const l=i-t+1,c=e-t+1,d=Math.log(l),f=.5*Math.exp(2*d/3),p=.5*Math.sqrt(d*f*(l-f)/l)*(c-l/2<0?-1:1),y=Math.max(t,Math.floor(e-c*f/l+p)),w=Math.min(i,Math.floor(e+(l-c)*f/l+p));Ew(n,e,y,w,r)}const a=n[e];let s=t,o=i;for(M7(n,t,e),r(n[i],a)>0&&M7(n,t,i);s<o;){for(M7(n,s,o),s++,o--;r(n[s],a)<0;)s++;for(;r(n[o],a)>0;)o--}r(n[t],a)===0?M7(n,t,o):(o++,M7(n,o,i)),o<=e&&(t=o+1),e<=o&&(i=o-1)}}function M7(n,e,t){const i=n[e];n[e]=n[t],n[t]=i}function yX(n,e){return n<e?-1:n>e?1:0}let Pw=class{constructor(e=9){this._maxEntries=Math.max(4,e),this._minEntries=Math.max(2,Math.ceil(this._maxEntries*.4)),this.clear()}all(){return this._all(this.data,[])}search(e){let t=this.data;const i=[];if(!Ys(e,t))return i;const r=this.toBBox,a=[];for(;t;){for(let s=0;s<t.children.length;s++){const o=t.children[s],l=t.leaf?r(o):o;Ys(e,l)&&(t.leaf?i.push(o):ed(e,l)?this._all(o,i):a.push(o))}t=a.pop()}return i}collides(e){let t=this.data;if(!Ys(e,t))return!1;const i=[];for(;t;){for(let r=0;r<t.children.length;r++){const a=t.children[r],s=t.leaf?this.toBBox(a):a;if(Ys(e,s)){if(t.leaf||ed(e,s))return!0;i.push(a)}}t=i.pop()}return!1}load(e){if(!(e&&e.length))return this;if(e.length<this._minEntries){for(let i=0;i<e.length;i++)this.insert(e[i]);return this}let t=this._build(e.slice(),0,e.length-1,0);if(!this.data.children.length)this.data=t;else if(this.data.height===t.height)this._splitRoot(this.data,t);else{if(this.data.height<t.height){const i=this.data;this.data=t,t=i}this._insert(t,this.data.height-t.height-1,!0)}return this}insert(e){return e&&this._insert(e,this.data.height-1),this}clear(){return this.data=Bi([]),this}remove(e,t){if(!e)return this;let i=this.data;const r=this.toBBox(e),a=[],s=[];let o,l,c;for(;i||a.length;){if(i||(i=a.pop(),l=a[a.length-1],o=s.pop(),c=!0),i.leaf){const d=vX(e,i.children,t);if(d!==-1)return i.children.splice(d,1),a.push(i),this._condense(a),this}!c&&!i.leaf&&ed(i,r)?(a.push(i),s.push(o),o=0,l=i,i=i.children[0]):l?(o++,i=l.children[o],c=!1):i=null}return this}toBBox(e){return e}compareMinX(e,t){return e.minX-t.minX}compareMinY(e,t){return e.minY-t.minY}toJSON(){return this.data}fromJSON(e){return this.data=e,this}_all(e,t){const i=[];for(;e;)e.leaf?t.push(...e.children):i.push(...e.children),e=i.pop();return t}_build(e,t,i,r){const a=i-t+1;let s=this._maxEntries,o;if(a<=s)return o=Bi(e.slice(t,i+1)),xi(o,this.toBBox),o;r||(r=Math.ceil(Math.log(a)/Math.log(s)),s=Math.ceil(a/Math.pow(s,r-1))),o=Bi([]),o.leaf=!1,o.height=r;const l=Math.ceil(a/s),c=l*Math.ceil(Math.sqrt(s));Kv(e,t,i,c,this.compareMinX);for(let d=t;d<=i;d+=c){const f=Math.min(d+c-1,i);Kv(e,d,f,l,this.compareMinY);for(let p=d;p<=f;p+=l){const y=Math.min(p+l-1,f);o.children.push(this._build(e,p,y,r-1))}}return xi(o,this.toBBox),o}_chooseSubtree(e,t,i,r){for(;r.push(t),!(t.leaf||r.length-1===i);){let a=1/0,s=1/0,o;for(let l=0;l<t.children.length;l++){const c=t.children[l],d=Qc(c),f=SX(e,c)-d;f<s?(s=f,a=d<a?d:a,o=c):f===s&&d<a&&(a=d,o=c)}t=o||t.children[0]}return t}_insert(e,t,i){const r=i?e:this.toBBox(e),a=[],s=this._chooseSubtree(r,this.data,t,a);for(s.children.push(e),U7(s,r);t>=0&&a[t].children.length>this._maxEntries;)this._split(a,t),t--;this._adjustParentBBoxes(r,a,t)}_split(e,t){const i=e[t],r=i.children.length,a=this._minEntries;this._chooseSplitAxis(i,a,r);const s=this._chooseSplitIndex(i,a,r),o=Bi(i.children.splice(s,i.children.length-s));o.height=i.height,o.leaf=i.leaf,xi(i,this.toBBox),xi(o,this.toBBox),t?e[t-1].children.push(o):this._splitRoot(i,o)}_splitRoot(e,t){this.data=Bi([e,t]),this.data.height=e.height+1,this.data.leaf=!1,xi(this.data,this.toBBox)}_chooseSplitIndex(e,t,i){let r,a=1/0,s=1/0;for(let o=t;o<=i-t;o++){const l=z7(e,0,o,this.toBBox),c=z7(e,o,i,this.toBBox),d=wX(l,c),f=Qc(l)+Qc(c);d<a?(a=d,r=o,s=f<s?f:s):d===a&&f<s&&(s=f,r=o)}return r||i-t}_chooseSplitAxis(e,t,i){const r=e.leaf?this.compareMinX:_X,a=e.leaf?this.compareMinY:bX,s=this._allDistMargin(e,t,i,r),o=this._allDistMargin(e,t,i,a);s<o&&e.children.sort(r)}_allDistMargin(e,t,i,r){e.children.sort(r);const a=this.toBBox,s=z7(e,0,t,a),o=z7(e,i-t,i,a);let l=Hs(s)+Hs(o);for(let c=t;c<i-t;c++){const d=e.children[c];U7(s,e.leaf?a(d):d),l+=Hs(s)}for(let c=i-t-1;c>=t;c--){const d=e.children[c];U7(o,e.leaf?a(d):d),l+=Hs(o)}return l}_adjustParentBBoxes(e,t,i){for(let r=i;r>=0;r--)U7(t[r],e)}_condense(e){for(let t=e.length-1,i;t>=0;t--)e[t].children.length===0?t>0?(i=e[t-1].children,i.splice(i.indexOf(e[t]),1)):this.clear():xi(e[t],this.toBBox)}};function vX(n,e,t){if(!t)return e.indexOf(n);for(let i=0;i<e.length;i++)if(t(n,e[i]))return i;return-1}function xi(n,e){z7(n,0,n.children.length,e,n)}function z7(n,e,t,i,r){r||(r=Bi(null)),r.minX=1/0,r.minY=1/0,r.maxX=-1/0,r.maxY=-1/0;for(let a=e;a<t;a++){const s=n.children[a];U7(r,n.leaf?i(s):s)}return r}function U7(n,e){return n.minX=Math.min(n.minX,e.minX),n.minY=Math.min(n.minY,e.minY),n.maxX=Math.max(n.maxX,e.maxX),n.maxY=Math.max(n.maxY,e.maxY),n}function _X(n,e){return n.minX-e.minX}function bX(n,e){return n.minY-e.minY}function Qc(n){return(n.maxX-n.minX)*(n.maxY-n.minY)}function Hs(n){return n.maxX-n.minX+(n.maxY-n.minY)}function SX(n,e){return(Math.max(e.maxX,n.maxX)-Math.min(e.minX,n.minX))*(Math.max(e.maxY,n.maxY)-Math.min(e.minY,n.minY))}function wX(n,e){const t=Math.max(n.minX,e.minX),i=Math.max(n.minY,e.minY),r=Math.min(n.maxX,e.maxX),a=Math.min(n.maxY,e.maxY);return Math.max(0,r-t)*Math.max(0,a-i)}function ed(n,e){return n.minX<=e.minX&&n.minY<=e.minY&&e.maxX<=n.maxX&&e.maxY<=n.maxY}function Ys(n,e){return e.minX<=n.maxX&&e.minY<=n.maxY&&e.maxX>=n.minX&&e.maxY>=n.minY}function Bi(n){return{children:n,height:1,leaf:!0,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}}function Kv(n,e,t,i,r){const a=[e,t];for(;a.length;){if(t=a.pop(),e=a.pop(),t-e<=i)continue;const s=e+Math.ceil((t-e)/i/2)*i;Ew(n,s,e,t,r),a.push(e,s,s,t)}}const Vf=[NaN,NaN,NaN,0];let td;function CX(){return td||(td=ht(1,1,void 0,{willReadFrequently:!0,desynchronized:!0})),td}const TX=/^rgba?\(\s*(\d+%?)\s+(\d+%?)\s+(\d+%?)(?:\s*\/\s*(\d+%|\d*\.\d+|[01]))?\s*\)$/i,AX=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)(?:\s*,\s*(\d+%|\d*\.\d+|[01]))?\s*\)$/i,xX=/^rgba?\(\s*(\d+%)\s*,\s*(\d+%)\s*,\s*(\d+%)(?:\s*,\s*(\d+%|\d*\.\d+|[01]))?\s*\)$/i,EX=/^#([\da-f]{3,4}|[\da-f]{6}|[\da-f]{8})$/i;function Ks(n,e){return n.endsWith("%")?Number(n.substring(0,n.length-1))/e:Number(n)}function tr(n){throw new Error('failed to parse "'+n+'" as color')}function Mw(n){if(n.toLowerCase().startsWith("rgb")){const a=n.match(AX)||n.match(TX)||n.match(xX);if(a){const s=a[4],o=100/255;return[Ie(Ks(a[1],o)+.5|0,0,255),Ie(Ks(a[2],o)+.5|0,0,255),Ie(Ks(a[3],o)+.5|0,0,255),s!==void 0?Ie(Ks(s,100),0,1):1]}tr(n)}if(n.startsWith("#")){if(EX.test(n)){const a=n.substring(1),s=a.length<=4?1:2,o=[0,0,0,255];for(let l=0,c=a.length;l<c;l+=s){let d=parseInt(a.substring(l,l+s),16);s===1&&(d+=d<<4),o[l/s]=d}return o[3]=o[3]/255,o}tr(n)}const e=CX();e.fillStyle="#abcdef";let t=e.fillStyle;e.fillStyle=n,e.fillStyle===t&&(e.fillStyle="#fedcba",t=e.fillStyle,e.fillStyle=n,e.fillStyle===t&&tr(n));const i=e.fillStyle;if(i.startsWith("#")||i.startsWith("rgba"))return Mw(i);e.clearRect(0,0,1,1),e.fillRect(0,0,1,1);const r=Array.from(e.getImageData(0,0,1,1).data);return r[3]=Kr(r[3]/255,3),r}function PX(n){return typeof n=="string"?n:Yf(n)}const MX=1024,k7={};let nd=0;function kX(n){if(n.length===4)return n;const e=n.slice();return e[3]=1,e}function id(n){return n>.0031308?Math.pow(n,1/2.4)*269.025-14.025:n*3294.6}function rd(n){return n>.2068965?Math.pow(n,3):(n-4/29)*(108/841)}function ad(n){return n>10.314724?Math.pow((n+14.025)/269.025,2.4):n/3294.6}function sd(n){return n>.0088564?Math.pow(n,1/3):n/(108/841)+4/29}function qv(n){const e=ad(n[0]),t=ad(n[1]),i=ad(n[2]),r=sd(e*.222488403+t*.716873169+i*.06060791),a=500*(sd(e*.452247074+t*.399439023+i*.148375274)-r),s=200*(r-sd(e*.016863605+t*.117638439+i*.865350722)),o=Math.atan2(s,a)*(180/Math.PI);return[116*r-16,Math.sqrt(a*a+s*s),o<0?o+360:o,n[3]]}function RX(n){const e=(n[0]+16)/116,t=n[1],i=n[2]*Math.PI/180,r=rd(e),a=rd(e+t/500*Math.cos(i)),s=rd(e-t/200*Math.sin(i)),o=id(a*3.021973625-r*1.617392459-s*.404875592),l=id(a*-.943766287+r*1.916279586+s*.027607165),c=id(a*.069407491-r*.22898585+s*1.159737864);return[Ie(o+.5|0,0,255),Ie(l+.5|0,0,255),Ie(c+.5|0,0,255),n[3]]}function Hf(n){if(n==="none")return Vf;if(k7.hasOwnProperty(n))return k7[n];if(nd>=MX){let t=0;for(const i in k7)t++&3||(delete k7[i],--nd)}const e=Mw(n);e.length!==4&&tr(n);for(const t of e)isNaN(t)&&tr(n);return k7[n]=e,++nd,e}function F8(n){return Array.isArray(n)?n:Hf(n)}function Yf(n){let e=n[0];e!=(e|0)&&(e=e+.5|0);let t=n[1];t!=(t|0)&&(t=t+.5|0);let i=n[2];i!=(i|0)&&(i=i+.5|0);const r=n[3]===void 0?1:Math.round(n[3]*1e3)/1e3;return"rgba("+e+","+t+","+i+","+r+")"}function Xv(n){return n[0]>0&&n[1]>0}function IX(n,e,t){return t===void 0&&(t=[0,0]),t[0]=n[0]*e+.5|0,t[1]=n[1]*e+.5|0,t}function En(n,e){return Array.isArray(n)?n:(e===void 0?e=[n,n]:(e[0]=n,e[1]=n),e)}let V8=0;const rn=1<<V8++,E0=1<<V8++,wn=1<<V8++,T6=1<<V8++,D8=1<<V8++,$7=1<<V8++,qs=Math.pow(2,V8)-1,Kf={[rn]:"boolean",[E0]:"number",[wn]:"string",[T6]:"color",[D8]:"number[]",[$7]:"size"},NX=Object.keys(Kf).map(Number).sort(D5);function LX(n){return n in Kf}function W7(n){const e=[];for(const t of NX)V7(n,t)&&e.push(Kf[t]);return e.length===0?"untyped":e.length<3?e.join(" or "):e.slice(0,-1).join(", ")+", or "+e[e.length-1]}function V7(n,e){return(n&e)===e}function s9(n,e){return n===e}class gt{constructor(e,t){if(!LX(e))throw new Error(`literal expressions must have a specific type, got ${W7(e)}`);this.type=e,this.value=t}}class FX{constructor(e,t,...i){this.type=e,this.operator=t,this.args=i}}function kw(){return{variables:new Set,properties:new Set,featureId:!1,geometryType:!1,mCoordinate:!1,mapState:!1}}function Dt(n,e,t){switch(typeof n){case"boolean":{if(s9(e,wn))return new gt(wn,n?"true":"false");if(!V7(e,rn))throw new Error(`got a boolean, but expected ${W7(e)}`);return new gt(rn,n)}case"number":{if(s9(e,$7))return new gt($7,En(n));if(s9(e,rn))return new gt(rn,!!n);if(s9(e,wn))return new gt(wn,n.toString());if(!V7(e,E0))throw new Error(`got a number, but expected ${W7(e)}`);return new gt(E0,n)}case"string":{if(s9(e,T6))return new gt(T6,Hf(n));if(s9(e,rn))return new gt(rn,!!n);if(!V7(e,wn))throw new Error(`got a string, but expected ${W7(e)}`);return new gt(wn,n)}}if(!Array.isArray(n))throw new Error("expression must be an array or a primitive value");if(n.length===0)throw new Error("empty expression");if(typeof n[0]=="string")return YX(n,e,t);for(const i of n)if(typeof i!="number")throw new Error("expected an array of numbers");if(s9(e,$7)){if(n.length!==2)throw new Error(`expected an array of two values for a size, got ${n.length}`);return new gt($7,n)}if(s9(e,T6)){if(n.length===3)return new gt(T6,[...n,1]);if(n.length===4)return new gt(T6,n);throw new Error(`expected an array of 3 or 4 values for a color, got ${n.length}`)}if(!V7(e,D8))throw new Error(`got an array of numbers, but expected ${W7(e)}`);return new gt(D8,n)}const j3={Get:"get",Var:"var",Concat:"concat",GeometryType:"geometry-type",LineMetric:"line-metric",Any:"any",All:"all",Not:"!",Resolution:"resolution",Zoom:"zoom",Time:"time",Equal:"==",NotEqual:"!=",GreaterThan:">",GreaterThanOrEqualTo:">=",LessThan:"<",LessThanOrEqualTo:"<=",Multiply:"*",Divide:"/",Add:"+",Subtract:"-",Clamp:"clamp",Mod:"%",Pow:"^",Abs:"abs",Floor:"floor",Ceil:"ceil",Round:"round",Sin:"sin",Cos:"cos",Atan:"atan",Sqrt:"sqrt",Match:"match",Between:"between",Interpolate:"interpolate",Coalesce:"coalesce",Case:"case",In:"in",Number:"number",String:"string",Array:"array",Color:"color",Id:"id",Band:"band",Palette:"palette",ToString:"to-string",Has:"has"},DX={[j3.Get]:X1(h0(1,1/0),Zv),[j3.Var]:X1(h0(1,1),OX),[j3.Has]:X1(h0(1,1/0),Zv),[j3.Id]:X1(BX,Ei),[j3.Concat]:X1(h0(2,1/0),U0(wn)),[j3.GeometryType]:X1(GX,Ei),[j3.LineMetric]:X1(jX,Ei),[j3.Resolution]:X1(od,Ei),[j3.Zoom]:X1(od,Ei),[j3.Time]:X1(od,Ei),[j3.Any]:X1(h0(2,1/0),U0(rn)),[j3.All]:X1(h0(2,1/0),U0(rn)),[j3.Not]:X1(h0(1,1),U0(rn)),[j3.Equal]:X1(h0(2,2),U0(qs)),[j3.NotEqual]:X1(h0(2,2),U0(qs)),[j3.GreaterThan]:X1(h0(2,2),U0(E0)),[j3.GreaterThanOrEqualTo]:X1(h0(2,2),U0(E0)),[j3.LessThan]:X1(h0(2,2),U0(E0)),[j3.LessThanOrEqualTo]:X1(h0(2,2),U0(E0)),[j3.Multiply]:X1(h0(2,1/0),Jv),[j3.Coalesce]:X1(h0(2,1/0),Jv),[j3.Divide]:X1(h0(2,2),U0(E0)),[j3.Add]:X1(h0(2,1/0),U0(E0)),[j3.Subtract]:X1(h0(2,2),U0(E0)),[j3.Clamp]:X1(h0(3,3),U0(E0)),[j3.Mod]:X1(h0(2,2),U0(E0)),[j3.Pow]:X1(h0(2,2),U0(E0)),[j3.Abs]:X1(h0(1,1),U0(E0)),[j3.Floor]:X1(h0(1,1),U0(E0)),[j3.Ceil]:X1(h0(1,1),U0(E0)),[j3.Round]:X1(h0(1,1),U0(E0)),[j3.Sin]:X1(h0(1,1),U0(E0)),[j3.Cos]:X1(h0(1,1),U0(E0)),[j3.Atan]:X1(h0(1,2),U0(E0)),[j3.Sqrt]:X1(h0(1,1),U0(E0)),[j3.Match]:X1(h0(4,1/0),Qv,UX),[j3.Between]:X1(h0(3,3),U0(E0)),[j3.Interpolate]:X1(h0(6,1/0),Qv,$X),[j3.Case]:X1(h0(3,1/0),zX,WX),[j3.In]:X1(h0(2,2),VX),[j3.Number]:X1(h0(1,1/0),U0(qs)),[j3.String]:X1(h0(1,1/0),U0(qs)),[j3.Array]:X1(h0(1,1/0),U0(E0)),[j3.Color]:X1(h0(1,4),U0(E0)),[j3.Band]:X1(h0(1,3),U0(E0)),[j3.Palette]:X1(h0(2,2),HX),[j3.ToString]:X1(h0(1,1),U0(rn|E0|wn|T6))};function Zv(n,e,t){const i=n.length-1,r=new Array(i);for(let a=0;a<i;++a){const s=n[a+1];switch(typeof s){case"number":{r[a]=new gt(E0,s);break}case"string":{r[a]=new gt(wn,s);break}default:throw new Error(`expected a string key or numeric array index for a get operation, got ${s}`)}a===0&&t.properties.add(String(s))}return r}function OX(n,e,t){const i=n[1];if(typeof i!="string")throw new Error("expected a string argument for var operation");return t.variables.add(i),[new gt(wn,i)]}function BX(n,e,t){t.featureId=!0}function GX(n,e,t){t.geometryType=!0}function jX(n,e,t){t.mCoordinate=!0}function od(n,e,t){t.mapState=!0}function Ei(n,e,t){const i=n[0];if(n.length!==1)throw new Error(`expected no arguments for ${i} operation`);return[]}function h0(n,e){return function(t,i,r){const a=t[0],s=t.length-1;if(n===e){if(s!==n){const o=n===1?"":"s";throw new Error(`expected ${n} argument${o} for ${a}, got ${s}`)}}else if(s<n||s>e){const o=e===1/0?`${n} or more`:`${n} to ${e}`;throw new Error(`expected ${o} arguments for ${a}, got ${s}`)}}}function Jv(n,e,t){const i=n.length-1,r=new Array(i);for(let a=0;a<i;++a){const s=Dt(n[a+1],e,t);r[a]=s}return r}function U0(n){return function(e,t,i){const r=e.length-1,a=new Array(r);for(let s=0;s<r;++s){const o=Dt(e[s+1],n,i);a[s]=o}return a}}function zX(n,e,t){const i=n[0],r=n.length-1;if(r%2===0)throw new Error(`expected an odd number of arguments for ${i}, got ${r} instead`)}function Qv(n,e,t){const i=n[0],r=n.length-1;if(r%2===1)throw new Error(`expected an even number of arguments for operation ${i}, got ${r} instead`)}function UX(n,e,t){const i=n.length-1,r=wn|E0|rn,a=Dt(n[1],r,t),s=Dt(n[n.length-1],e,t),o=new Array(i-2);for(let l=0;l<i-2;l+=2){try{const c=Dt(n[l+2],a.type,t);o[l]=c}catch(c){throw new Error(`failed to parse argument ${l+1} of match expression: ${c.message}`)}try{const c=Dt(n[l+3],s.type,t);o[l+1]=c}catch(c){throw new Error(`failed to parse argument ${l+2} of match expression: ${c.message}`)}}return[a,...o,s]}function $X(n,e,t){const i=n[1];let r;switch(i[0]){case"linear":r=1;break;case"exponential":const l=i[1];if(typeof l!="number"||l<=0)throw new Error(`expected a number base for exponential interpolation, got ${JSON.stringify(l)} instead`);r=l;break;default:throw new Error(`invalid interpolation type: ${JSON.stringify(i)}`)}const a=new gt(E0,r);let s;try{s=Dt(n[2],E0,t)}catch(l){throw new Error(`failed to parse argument 1 in interpolate expression: ${l.message}`)}const o=new Array(n.length-3);for(let l=0;l<o.length;l+=2){try{const c=Dt(n[l+3],E0,t);o[l]=c}catch(c){throw new Error(`failed to parse argument ${l+2} for interpolate expression: ${c.message}`)}try{const c=Dt(n[l+4],e,t);o[l+1]=c}catch(c){throw new Error(`failed to parse argument ${l+3} for interpolate expression: ${c.message}`)}}return[a,s,...o]}function WX(n,e,t){const i=Dt(n[n.length-1],e,t),r=new Array(n.length-1);for(let a=0;a<r.length-1;a+=2){try{const s=Dt(n[a+1],rn,t);r[a]=s}catch(s){throw new Error(`failed to parse argument ${a} of case expression: ${s.message}`)}try{const s=Dt(n[a+2],i.type,t);r[a+1]=s}catch(s){throw new Error(`failed to parse argument ${a+1} of case expression: ${s.message}`)}}return r[r.length-1]=i,r}function VX(n,e,t){let i=n[2];if(!Array.isArray(i))throw new Error('the second argument for the "in" operator must be an array');let r;if(i[0]==="literal"){if(i=i[1],!Array.isArray(i))throw new Error('failed to parse "in" expression: the literal operator must be followed by an array')}else if(typeof i[0]=="string")throw new Error('for the "in" operator, a string array should be wrapped in a "literal" operator to disambiguate from expressions');typeof i[0]=="string"?r=wn:r=E0;const a=new Array(i.length);for(let o=0;o<a.length;o++)try{const l=Dt(i[o],r,t);a[o]=l}catch(l){throw new Error(`failed to parse haystack item ${o} for "in" expression: ${l.message}`)}return[Dt(n[1],r,t),...a]}function HX(n,e,t){let i;try{i=Dt(n[1],E0,t)}catch(s){throw new Error(`failed to parse first argument in palette expression: ${s.message}`)}const r=n[2];if(!Array.isArray(r))throw new Error("the second argument of palette must be an array");const a=new Array(r.length);for(let s=0;s<a.length;s++){let o;try{o=Dt(r[s],T6,t)}catch(l){throw new Error(`failed to parse color at index ${s} in palette expression: ${l.message}`)}if(!(o instanceof gt))throw new Error(`the palette color at index ${s} must be a literal value`);a[s]=o}return[i,...a]}function X1(...n){return function(e,t,i){const r=e[0];let a;for(let s=0;s<n.length;s++){const o=n[s](e,t,i);if(s==n.length-1){if(!o)throw new Error("expected last argument validator to return the parsed args");a=o}}return new FX(t,r,...a)}}function YX(n,e,t){const i=n[0],r=DX[i];if(!r)throw new Error(`unknown operator: ${i}`);return r(n,e,t)}function Rw(n){if(!n)return"";const e=n.getType();switch(e){case"Point":case"LineString":case"Polygon":return e;case"MultiPoint":case"MultiLineString":case"MultiPolygon":return e.substring(5);case"Circle":return"Polygon";case"GeometryCollection":return Rw(n.getGeometries()[0]);default:return""}}function Iw(){return{variables:{},properties:{},resolution:NaN,featureId:null,geometryType:""}}function h5(n,e,t){const i=Dt(n,e,t);return P6(i)}function P6(n,e){if(n instanceof gt){if(n.type===T6&&typeof n.value=="string"){const i=Hf(n.value);return function(){return i}}return function(){return n.value}}const t=n.operator;switch(t){case j3.Number:case j3.String:case j3.Coalesce:return KX(n);case j3.Get:case j3.Var:case j3.Has:return qX(n);case j3.Id:return i=>i.featureId;case j3.GeometryType:return i=>i.geometryType;case j3.Concat:{const i=n.args.map(r=>P6(r));return r=>"".concat(...i.map(a=>a(r).toString()))}case j3.Resolution:return i=>i.resolution;case j3.Any:case j3.All:case j3.Between:case j3.In:case j3.Not:return ZX(n);case j3.Equal:case j3.NotEqual:case j3.LessThan:case j3.LessThanOrEqualTo:case j3.GreaterThan:case j3.GreaterThanOrEqualTo:return XX(n);case j3.Multiply:case j3.Divide:case j3.Add:case j3.Subtract:case j3.Clamp:case j3.Mod:case j3.Pow:case j3.Abs:case j3.Floor:case j3.Ceil:case j3.Round:case j3.Sin:case j3.Cos:case j3.Atan:case j3.Sqrt:return JX(n);case j3.Case:return QX(n);case j3.Match:return eZ(n);case j3.Interpolate:return tZ(n);case j3.ToString:return nZ(n);default:throw new Error(`Unsupported operator ${t}`)}}function KX(n,e){const t=n.operator,i=n.args.length,r=new Array(i);for(let a=0;a<i;++a)r[a]=P6(n.args[a]);switch(t){case j3.Coalesce:return a=>{for(let s=0;s<i;++s){const o=r[s](a);if(typeof o!="undefined"&&o!==null)return o}throw new Error("Expected one of the values to be non-null")};case j3.Number:case j3.String:return a=>{for(let s=0;s<i;++s){const o=r[s](a);if(typeof o===t)return o}throw new Error(`Expected one of the values to be a ${t}`)};default:throw new Error(`Unsupported assertion operator ${t}`)}}function qX(n,e){const i=n.args[0].value;switch(n.operator){case j3.Get:return r=>{const a=n.args;let s=r.properties[i];for(let o=1,l=a.length;o<l;++o){const d=a[o].value;s=s[d]}return s};case j3.Var:return r=>r.variables[i];case j3.Has:return r=>{const a=n.args;if(!(i in r.properties))return!1;let s=r.properties[i];for(let o=1,l=a.length;o<l;++o){const d=a[o].value;if(!s||!Object.hasOwn(s,d))return!1;s=s[d]}return!0};default:throw new Error(`Unsupported accessor operator ${n.operator}`)}}function XX(n,e){const t=n.operator,i=P6(n.args[0]),r=P6(n.args[1]);switch(t){case j3.Equal:return a=>i(a)===r(a);case j3.NotEqual:return a=>i(a)!==r(a);case j3.LessThan:return a=>i(a)<r(a);case j3.LessThanOrEqualTo:return a=>i(a)<=r(a);case j3.GreaterThan:return a=>i(a)>r(a);case j3.GreaterThanOrEqualTo:return a=>i(a)>=r(a);default:throw new Error(`Unsupported comparison operator ${t}`)}}function ZX(n,e){const t=n.operator,i=n.args.length,r=new Array(i);for(let a=0;a<i;++a)r[a]=P6(n.args[a]);switch(t){case j3.Any:return a=>{for(let s=0;s<i;++s)if(r[s](a))return!0;return!1};case j3.All:return a=>{for(let s=0;s<i;++s)if(!r[s](a))return!1;return!0};case j3.Between:return a=>{const s=r[0](a),o=r[1](a),l=r[2](a);return s>=o&&s<=l};case j3.In:return a=>{const s=r[0](a);for(let o=1;o<i;++o)if(s===r[o](a))return!0;return!1};case j3.Not:return a=>!r[0](a);default:throw new Error(`Unsupported logical operator ${t}`)}}function JX(n,e){const t=n.operator,i=n.args.length,r=new Array(i);for(let a=0;a<i;++a)r[a]=P6(n.args[a]);switch(t){case j3.Multiply:return a=>{let s=1;for(let o=0;o<i;++o)s*=r[o](a);return s};case j3.Divide:return a=>r[0](a)/r[1](a);case j3.Add:return a=>{let s=0;for(let o=0;o<i;++o)s+=r[o](a);return s};case j3.Subtract:return a=>r[0](a)-r[1](a);case j3.Clamp:return a=>{const s=r[0](a),o=r[1](a);if(s<o)return o;const l=r[2](a);return s>l?l:s};case j3.Mod:return a=>r[0](a)%r[1](a);case j3.Pow:return a=>Math.pow(r[0](a),r[1](a));case j3.Abs:return a=>Math.abs(r[0](a));case j3.Floor:return a=>Math.floor(r[0](a));case j3.Ceil:return a=>Math.ceil(r[0](a));case j3.Round:return a=>Math.round(r[0](a));case j3.Sin:return a=>Math.sin(r[0](a));case j3.Cos:return a=>Math.cos(r[0](a));case j3.Atan:return i===2?a=>Math.atan2(r[0](a),r[1](a)):a=>Math.atan(r[0](a));case j3.Sqrt:return a=>Math.sqrt(r[0](a));default:throw new Error(`Unsupported numeric operator ${t}`)}}function QX(n,e){const t=n.args.length,i=new Array(t);for(let r=0;r<t;++r)i[r]=P6(n.args[r]);return r=>{for(let a=0;a<t-1;a+=2)if(i[a](r))return i[a+1](r);return i[t-1](r)}}function eZ(n,e){const t=n.args.length,i=new Array(t);for(let r=0;r<t;++r)i[r]=P6(n.args[r]);return r=>{const a=i[0](r);for(let s=1;s<t-1;s+=2)if(a===i[s](r))return i[s+1](r);return i[t-1](r)}}function tZ(n,e){const t=n.args.length,i=new Array(t);for(let r=0;r<t;++r)i[r]=P6(n.args[r]);return r=>{const a=i[0](r),s=i[1](r);let o,l;for(let c=2;c<t;c+=2){const d=i[c](r);let f=i[c+1](r);const p=Array.isArray(f);if(p&&(f=kX(f)),d>=s)return c===2?f:p?iZ(a,s,o,l,d,f):H7(a,s,o,l,d,f);o=d,l=f}return l}}function nZ(n,e){const t=n.operator,i=n.args.length,r=new Array(i);for(let a=0;a<i;++a)r[a]=P6(n.args[a]);switch(t){case j3.ToString:return a=>{const s=r[0](a);return n.args[0].type===T6?Yf(s):s.toString()};default:throw new Error(`Unsupported convert operator ${t}`)}}function H7(n,e,t,i,r,a){const s=r-t;if(s===0)return i;const o=e-t,l=n===1?o/s:(Math.pow(n,o)-1)/(Math.pow(n,s)-1);return i+l*(a-i)}function iZ(n,e,t,i,r,a){if(r-t===0)return i;const o=qv(i),l=qv(a);let c=l[2]-o[2];c>180?c-=360:c<-180&&(c+=360);const d=[H7(n,e,t,o[0],r,l[0]),H7(n,e,t,o[1],r,l[1]),o[2]+H7(n,e,t,0,r,c),H7(n,e,t,i[3],r,a[3])];return RX(d)}const x1={IDLE:0,LOADING:1,LOADED:2,ERROR:3,EMPTY:4};class Nw extends Hr{constructor(e,t,i,r){super(),this.extent=e,this.pixelRatio_=i,this.resolution=t,this.state=typeof r=="function"?x1.IDLE:r,this.image_=null,this.loader=typeof r=="function"?r:null}changed(){this.dispatchEvent(t0.CHANGE)}getExtent(){return this.extent}getImage(){return this.image_}getPixelRatio(){return this.pixelRatio_}getResolution(){return this.resolution}getState(){return this.state}load(){if(this.state==x1.IDLE&&this.loader){this.state=x1.LOADING,this.changed();const e=this.getResolution(),t=Array.isArray(e)?e[0]:e;jS(()=>this.loader(this.getExtent(),t,this.getPixelRatio())).then(i=>{"image"in i&&(this.image_=i.image),"extent"in i&&(this.extent=i.extent),"resolution"in i&&(this.resolution=i.resolution),"pixelRatio"in i&&(this.pixelRatio_=i.pixelRatio),(i instanceof HTMLImageElement||US&&i instanceof ImageBitmap||i instanceof HTMLCanvasElement||i instanceof HTMLVideoElement)&&(this.image_=i),this.state=x1.LOADED}).catch(i=>{this.state=x1.ERROR,console.error(i)}).finally(()=>this.changed())}}setImage(e){this.image_=e}setResolution(e){this.resolution=e}}function rZ(n,e,t){const i=n;let r=!0,a=!1,s=!1;const o=[Uo(i,t0.LOAD,function(){s=!0,a||e()})];return i.src&&mf?(a=!0,i.decode().then(function(){r&&e()}).catch(function(l){r&&(s?e():t())})):o.push(Uo(i,t0.ERROR,t)),function(){r=!1,o.forEach(be)}}function aZ(n,e){return new Promise((t,i)=>{function r(){s(),t(n)}function a(){s(),i(new Error("Image load error"))}function s(){n.removeEventListener("load",r),n.removeEventListener("error",a)}n.addEventListener("load",r),n.addEventListener("error",a),e&&(n.src=e)})}function Lw(n,e){return e&&(n.src=e),n.src&&mf?new Promise((t,i)=>n.decode().then(()=>t(n)).catch(r=>n.complete&&n.width?t(n):i(r))):aZ(n)}function Fw(n,e){return e&&(n.src=e),n.src&&mf&&US?n.decode().then(()=>createImageBitmap(n)).catch(t=>{if(n.complete&&n.width)return n;throw t}):Lw(n)}class sZ{constructor(){this.cache_={},this.patternCache_={},this.cacheSize_=0,this.maxCacheSize_=1024}clear(){this.cache_={},this.patternCache_={},this.cacheSize_=0}canExpireCache(){return this.cacheSize_>this.maxCacheSize_}expire(){if(this.canExpireCache()){let e=0;for(const t in this.cache_){const i=this.cache_[t];!(e++&3)&&!i.hasListener()&&(delete this.cache_[t],delete this.patternCache_[t],--this.cacheSize_)}}}get(e,t){const i=ld(e,t);return i in this.cache_?this.cache_[i]:null}getPattern(e,t){const i=ld(e,t);return i in this.patternCache_?this.patternCache_[i]:null}set(e,t,i,r){const a=ld(e,t),s=a in this.cache_;this.cache_[a]=i,r&&(i.getImageState()===x1.IDLE&&i.load(),i.getImageState()===x1.LOADING?i.ready().then(()=>{this.patternCache_[a]=qo().createPattern(i.getImage(1),"repeat")}):this.patternCache_[a]=qo().createPattern(i.getImage(1),"repeat")),s||++this.cacheSize_}setSize(e){this.maxCacheSize_=e,this.expire()}}function ld(n,e){const t=e?F8(e):"null";return n+":"+t}const o6=new sZ;let R7=null;class Dw extends Hr{constructor(e,t,i,r,a){super(),this.hitDetectionImage_=null,this.image_=e,this.crossOrigin_=i==null?void 0:i.crossOrigin,this.referrerPolicy_=i==null?void 0:i.referrerPolicy,this.canvas_={},this.color_=a,this.imageState_=r===void 0?x1.IDLE:r,this.size_=e&&e.width&&e.height?[e.width,e.height]:null,this.src_=t,this.tainted_,this.ready_=null}initializeImage_(){this.image_=new Image,this.crossOrigin_!==null&&(this.image_.crossOrigin=this.crossOrigin_),this.referrerPolicy_!==void 0&&(this.image_.referrerPolicy=this.referrerPolicy_)}isTainted_(){if(this.tainted_===void 0&&this.imageState_===x1.LOADED){R7||(R7=ht(1,1,void 0,{willReadFrequently:!0})),R7.drawImage(this.image_,0,0);try{R7.getImageData(0,0,1,1),this.tainted_=!1}catch(e){R7=null,this.tainted_=!0}}return this.tainted_===!0}dispatchChangeEvent_(){this.dispatchEvent(t0.CHANGE)}handleImageError_(){this.imageState_=x1.ERROR,this.dispatchChangeEvent_()}handleImageLoad_(){this.imageState_=x1.LOADED,this.size_=[this.image_.width,this.image_.height],this.dispatchChangeEvent_()}getImage(e){return this.image_||this.initializeImage_(),this.replaceColor_(e),this.canvas_[e]?this.canvas_[e]:this.image_}setImage(e){this.image_=e}getPixelRatio(e){return this.replaceColor_(e),this.canvas_[e]?e:1}getImageState(){return this.imageState_}getHitDetectionImage(){if(this.image_||this.initializeImage_(),!this.hitDetectionImage_)if(this.isTainted_()){const e=this.size_[0],t=this.size_[1],i=ht(e,t);i.fillRect(0,0,e,t),this.hitDetectionImage_=i.canvas}else this.hitDetectionImage_=this.image_;return this.hitDetectionImage_}getSize(){return this.size_}getSrc(){return this.src_}load(){if(this.imageState_===x1.IDLE){this.image_||this.initializeImage_(),this.imageState_=x1.LOADING;try{this.src_!==void 0&&(this.image_.src=this.src_)}catch(e){this.handleImageError_()}this.image_ instanceof HTMLImageElement&&Lw(this.image_,this.src_).then(e=>{this.image_=e,this.handleImageLoad_()}).catch(this.handleImageError_.bind(this))}}replaceColor_(e){if(!this.color_||this.canvas_[e]||this.imageState_!==x1.LOADED)return;const t=this.image_,i=ht(Math.ceil(t.width*e),Math.ceil(t.height*e)),r=i.canvas;i.scale(e,e),i.drawImage(t,0,0),i.globalCompositeOperation="multiply",i.fillStyle=PX(this.color_),i.fillRect(0,0,r.width/e,r.height/e),i.globalCompositeOperation="destination-in",i.drawImage(t,0,0),this.canvas_[e]=r}ready(){return this.ready_||(this.ready_=new Promise(e=>{if(this.imageState_===x1.LOADED||this.imageState_===x1.ERROR)e();else{const t=()=>{(this.imageState_===x1.LOADED||this.imageState_===x1.ERROR)&&(this.removeEventListener(t0.CHANGE,t),e())};this.addEventListener(t0.CHANGE,t)}})),this.ready_}}function nr(n,e,t,i,r,a){let s=e===void 0?void 0:o6.get(e,r);return s||(s=new Dw(n,n&&"src"in n?n.src||void 0:e,t,i,r),o6.set(e,r,s,a)),a&&s&&!o6.getPattern(e,r)&&o6.set(e,r,s,a),s}function e5(n){return n?Array.isArray(n)?Yf(n):typeof n=="object"&&"src"in n?oZ(n):n:null}function oZ(n){if(!n.offset||!n.size)return o6.getPattern(n.src,n.color);const e=n.src+":"+n.offset,t=o6.getPattern(e,n.color);if(t)return t;const i=o6.get(n.src,null);if(i.getImageState()!==x1.LOADED)return null;const r=ht(n.size[0],n.size[1]);return r.drawImage(i.getImage(1),n.offset[0],n.offset[1],n.size[0],n.size[1],0,0,n.size[0],n.size[1]),nr(r.canvas,e,void 0,x1.LOADED,n.color,!0),o6.getPattern(e,n.color)}const Ow="10px sans-serif",Cn="#000",v4="round",B5=[],G5=0,_4="round",Mr=10,lZ=0,s5="#000",kr="center",Xo="middle",w8=[0,0,0,0],Rr=1,Gi=new p5;let I7=null,e_;const ph={},uZ=new Set(["serif","sans-serif","monospace","cursive","fantasy","system-ui","ui-serif","ui-sans-serif","ui-monospace","ui-rounded","emoji","math","fangsong"]);function cZ(n,e,t){return`${n} ${e} 16px "${t}"`}const dZ=function(){let e,t;function i(a){return I3(this,null,function*(){yield t.ready;const s=yield t.load(a);if(s.length===0)return!1;const o=mh(a),l=o.families[0].toLowerCase(),c=o.weight;return s.some(d=>{const f=d.family.replace(/^['"]|['"]$/g,"").toLowerCase(),p=fh[d.weight]||d.weight;return f===l&&d.style===o.style&&p==c})})}function r(){return I3(this,null,function*(){yield t.ready;let a=!0;const s=Gi.getProperties(),o=Object.keys(s).filter(l=>s[l]<100);for(let l=o.length-1;l>=0;--l){const c=o[l];let d=s[c];d<100&&((yield i(c))?(Vr(ph),Gi.set(c,100)):(d+=10,Gi.set(c,d,!0),d<100&&(a=!1)))}e=void 0,a||(e=setTimeout(r,100))})}return function(a){return I3(this,null,function*(){t||(t=a6?self.fonts:document.fonts);const s=mh(a);if(!s)return;const o=s.families;let l=!1;for(const c of o){if(uZ.has(c))continue;const d=cZ(s.style,s.weight,c);Gi.get(d)===void 0&&(Gi.set(d,0,!0),l=!0)}l&&(clearTimeout(e),e=setTimeout(r,100))})}}(),hZ=function(){let n;return function(e){let t=ph[e];if(t==null){if(a6){const i=mh(e),r=Bw(e,"Žg");t=(isNaN(Number(i.lineHeight))?1.2:Number(i.lineHeight))*(r.actualBoundingBoxAscent+r.actualBoundingBoxDescent)}else n||(n=document.createElement("div"),n.innerHTML="M",n.style.minHeight="0",n.style.maxHeight="none",n.style.height="auto",n.style.padding="0",n.style.border="none",n.style.position="absolute",n.style.display="block",n.style.left="-99999px"),n.style.font=e,document.body.appendChild(n),t=n.offsetHeight,document.body.removeChild(n);ph[e]=t}return t}}();function Bw(n,e){return I7||(I7=ht(1,1)),n!=e_&&(I7.font=n,e_=I7.font),I7.measureText(e)}function Gw(n,e){return Bw(n,e).width}function t_(n,e,t){if(e in t)return t[e];const i=e.split(`
`).reduce((r,a)=>Math.max(r,Gw(n,a)),0);return t[e]=i,i}function fZ(n,e){const t=[],i=[],r=[];let a=0,s=0,o=0,l=0;for(let c=0,d=e.length;c<=d;c+=2){const f=e[c];if(f===`
`||c===d){a=Math.max(a,s),r.push(s),s=0,o+=l,l=0;continue}const p=e[c+1]||n.font,y=Gw(p,f);t.push(y),s+=y;const w=hZ(p);i.push(w),l=Math.max(l,w)}return{width:a,height:o,widths:t,heights:i,lineWidths:r}}function mZ(n,e,t,i,r,a,s,o,l,c,d){n.save(),t!==1&&(n.globalAlpha===void 0?n.globalAlpha=f=>f.globalAlpha*=t:n.globalAlpha*=t),e&&n.transform.apply(n,e),i.contextInstructions?(n.translate(l,c),n.scale(d[0],d[1]),gZ(i,n)):d[0]<0||d[1]<0?(n.translate(l,c),n.scale(d[0],d[1]),n.drawImage(i,r,a,s,o,0,0,s,o)):n.drawImage(i,r,a,s,o,l,c,s*d[0],o*d[1]),n.restore()}function gZ(n,e){const t=n.contextInstructions;for(let i=0,r=t.length;i<r;i+=2)Array.isArray(t[i+1])?e[t[i]].apply(e,t[i+1]):e[t[i]]=t[i+1]}class qf{constructor(e){this.opacity_=e.opacity,this.rotateWithView_=e.rotateWithView,this.rotation_=e.rotation,this.scale_=e.scale,this.scaleArray_=En(e.scale),this.displacement_=e.displacement,this.declutterMode_=e.declutterMode}clone(){const e=this.getScale();return new qf({opacity:this.getOpacity(),scale:Array.isArray(e)?e.slice():e,rotation:this.getRotation(),rotateWithView:this.getRotateWithView(),displacement:this.getDisplacement().slice(),declutterMode:this.getDeclutterMode()})}getOpacity(){return this.opacity_}getRotateWithView(){return this.rotateWithView_}getRotation(){return this.rotation_}getScale(){return this.scale_}getScaleArray(){return this.scaleArray_}getDisplacement(){return this.displacement_}getDeclutterMode(){return this.declutterMode_}getAnchor(){return Z1()}getImage(e){return Z1()}getHitDetectionImage(){return Z1()}getPixelRatio(e){return 1}getImageState(){return Z1()}getImageSize(){return Z1()}getOrigin(){return Z1()}getSize(){return Z1()}setDisplacement(e){this.displacement_=e}setOpacity(e){this.opacity_=e}setRotateWithView(e){this.rotateWithView_=e}setRotation(e){this.rotation_=e}setScale(e){this.scale_=e,this.scaleArray_=En(e)}listenImageChange(e){Z1()}load(){Z1()}unlistenImageChange(e){Z1()}ready(){return Promise.resolve()}}const jw=qf;class Xf extends jw{constructor(e){super({opacity:1,rotateWithView:e.rotateWithView!==void 0?e.rotateWithView:!1,rotation:e.rotation!==void 0?e.rotation:0,scale:e.scale!==void 0?e.scale:1,displacement:e.displacement!==void 0?e.displacement:[0,0],declutterMode:e.declutterMode}),this.hitDetectionCanvas_=null,this.fill_=e.fill!==void 0?e.fill:null,this.origin_=[0,0],this.points_=e.points,this.radius=e.radius,this.radius2_=e.radius2,this.angle_=e.angle!==void 0?e.angle:0,this.stroke_=e.stroke!==void 0?e.stroke:null,this.size_,this.renderOptions_,this.imageState_=this.fill_&&this.fill_.loading()?x1.LOADING:x1.LOADED,this.imageState_===x1.LOADING&&this.ready().then(()=>this.imageState_=x1.LOADED),this.render()}clone(){const e=this.getScale(),t=new Xf({fill:this.getFill()?this.getFill().clone():void 0,points:this.getPoints(),radius:this.getRadius(),radius2:this.getRadius2(),angle:this.getAngle(),stroke:this.getStroke()?this.getStroke().clone():void 0,rotation:this.getRotation(),rotateWithView:this.getRotateWithView(),scale:Array.isArray(e)?e.slice():e,displacement:this.getDisplacement().slice(),declutterMode:this.getDeclutterMode()});return t.setOpacity(this.getOpacity()),t}getAnchor(){const e=this.size_,t=this.getDisplacement(),i=this.getScaleArray();return[e[0]/2-t[0]/i[0],e[1]/2+t[1]/i[1]]}getAngle(){return this.angle_}getFill(){return this.fill_}setFill(e){this.fill_=e,this.render()}getHitDetectionImage(){return this.hitDetectionCanvas_||(this.hitDetectionCanvas_=this.createHitDetectionCanvas_(this.renderOptions_)),this.hitDetectionCanvas_}getImage(e){var a,s;const t=(a=this.fill_)==null?void 0:a.getKey(),i=`${e},${this.angle_},${this.radius},${this.radius2_},${this.points_},${t}`+Object.values(this.renderOptions_).join(",");let r=(s=o6.get(i,null))==null?void 0:s.getImage(1);if(!r){const o=this.renderOptions_,l=Math.ceil(o.size*e),c=ht(l,l);this.draw_(o,c,e),r=c.canvas;const d=new Dw(r,void 0,null,x1.LOADED,null);o6.set(i,null,d),createImageBitmap(r).then(f=>{d.setImage(f)})}return r}getPixelRatio(e){return e}getImageSize(){return this.size_}getImageState(){return this.imageState_}getOrigin(){return this.origin_}getPoints(){return this.points_}getRadius(){return this.radius}setRadius(e){this.radius!==e&&(this.radius=e,this.render())}getRadius2(){return this.radius2_}setRadius2(e){this.radius2_!==e&&(this.radius2_=e,this.render())}getSize(){return this.size_}getStroke(){return this.stroke_}setStroke(e){this.stroke_=e,this.render()}listenImageChange(e){}load(){}unlistenImageChange(e){}calculateLineJoinSize_(e,t,i){if(t===0||this.points_===1/0||e!=="bevel"&&e!=="miter")return t;let r=this.radius,a=this.radius2_===void 0?r:this.radius2_;if(r<a){const P2=r;r=a,a=P2}const s=this.radius2_===void 0?this.points_:this.points_*2,o=2*Math.PI/s,l=a*Math.sin(o),c=Math.sqrt(a*a-l*l),d=r-c,f=Math.sqrt(l*l+d*d),p=f/l;if(e==="miter"&&p<=i)return p*t;const y=t/2/p,w=t/2*(d/f),P=Math.sqrt((r+y)*(r+y)+w*w)-r;if(this.radius2_===void 0||e==="bevel")return P*2;const D=r*Math.sin(o),B=Math.sqrt(r*r-D*D),V=a-B,X=Math.sqrt(D*D+V*V)/D;if(X<=i){const P2=X*t/2-a-r;return 2*Math.max(P,P2)}return P*2}createRenderOptions(){var f,p,y,w,M,P;let e=v4,t=_4,i=0,r=null,a=0,s,o=0;this.stroke_&&(s=e5((f=this.stroke_.getColor())!=null?f:s5),o=(p=this.stroke_.getWidth())!=null?p:Rr,r=this.stroke_.getLineDash(),a=(y=this.stroke_.getLineDashOffset())!=null?y:0,t=(w=this.stroke_.getLineJoin())!=null?w:_4,e=(M=this.stroke_.getLineCap())!=null?M:v4,i=(P=this.stroke_.getMiterLimit())!=null?P:Mr);const l=this.calculateLineJoinSize_(t,o,i),c=Math.max(this.radius,this.radius2_||0),d=Math.ceil(2*c+l);return{strokeStyle:s,strokeWidth:o,size:d,lineCap:e,lineDash:r,lineDashOffset:a,lineJoin:t,miterLimit:i}}render(){this.renderOptions_=this.createRenderOptions();const e=this.renderOptions_.size;this.hitDetectionCanvas_=null,this.size_=[e,e]}draw_(e,t,i){if(t.scale(i,i),t.translate(e.size/2,e.size/2),this.createPath_(t),this.fill_){let r=this.fill_.getColor();r===null&&(r=Cn),t.fillStyle=e5(r),t.fill()}e.strokeStyle&&(t.strokeStyle=e.strokeStyle,t.lineWidth=e.strokeWidth,e.lineDash&&(t.setLineDash(e.lineDash),t.lineDashOffset=e.lineDashOffset),t.lineCap=e.lineCap,t.lineJoin=e.lineJoin,t.miterLimit=e.miterLimit,t.stroke())}createHitDetectionCanvas_(e){let t;if(this.fill_){let i=this.fill_.getColor(),r=0;typeof i=="string"&&(i=F8(i)),i===null?r=1:Array.isArray(i)&&(r=i.length===4?i[3]:1),r===0&&(t=ht(e.size,e.size),this.drawHitDetectionCanvas_(e,t))}return t?t.canvas:this.getImage(1)}createPath_(e){let t=this.points_;const i=this.radius;if(t===1/0)e.arc(0,0,i,0,2*Math.PI);else{const r=this.radius2_===void 0?i:this.radius2_;this.radius2_!==void 0&&(t*=2);const a=this.angle_-Math.PI/2,s=2*Math.PI/t;for(let o=0;o<t;o++){const l=a+o*s,c=o%2===0?i:r;e.lineTo(c*Math.cos(l),c*Math.sin(l))}e.closePath()}}drawHitDetectionCanvas_(e,t){t.translate(e.size/2,e.size/2),this.createPath_(t),t.fillStyle=Cn,t.fill(),e.strokeStyle&&(t.strokeStyle=e.strokeStyle,t.lineWidth=e.strokeWidth,e.lineDash&&(t.setLineDash(e.lineDash),t.lineDashOffset=e.lineDashOffset),t.lineJoin=e.lineJoin,t.miterLimit=e.miterLimit,t.stroke())}ready(){return this.fill_?this.fill_.ready():Promise.resolve()}}const Zf=Xf;class Jf extends Zf{constructor(e){e=e||{radius:5},super({points:1/0,fill:e.fill,radius:e.radius,stroke:e.stroke,scale:e.scale!==void 0?e.scale:1,rotation:e.rotation!==void 0?e.rotation:0,rotateWithView:e.rotateWithView!==void 0?e.rotateWithView:!1,displacement:e.displacement!==void 0?e.displacement:[0,0],declutterMode:e.declutterMode})}clone(){const e=this.getScale(),t=new Jf({fill:this.getFill()?this.getFill().clone():void 0,stroke:this.getStroke()?this.getStroke().clone():void 0,radius:this.getRadius(),scale:Array.isArray(e)?e.slice():e,rotation:this.getRotation(),rotateWithView:this.getRotateWithView(),displacement:this.getDisplacement().slice(),declutterMode:this.getDeclutterMode()});return t.setOpacity(this.getOpacity()),t}}const Zo=Jf;class Qf{constructor(e){e=e||{},this.patternImage_=null,this.color_=null,e.color!==void 0&&this.setColor(e.color)}clone(){const e=this.getColor();return new Qf({color:Array.isArray(e)?e.slice():e||void 0})}getColor(){return this.color_}setColor(e){if(e!==null&&typeof e=="object"&&"src"in e){const t=nr(null,e.src,{crossOrigin:"anonymous"},void 0,e.offset?null:e.color?e.color:null,!(e.offset&&e.size));t.ready().then(()=>{this.patternImage_=null}),t.getImageState()===x1.IDLE&&t.load(),t.getImageState()===x1.LOADING&&(this.patternImage_=t)}this.color_=e}getKey(){const e=this.getColor();return e?e instanceof CanvasPattern||e instanceof CanvasGradient?j0(e):typeof e=="object"&&"src"in e?e.src+":"+e.offset:F8(e).toString():""}loading(){return!!this.patternImage_}ready(){return this.patternImage_?this.patternImage_.ready():Promise.resolve()}}const yn=Qf;function n_(n,e,t,i){return t!==void 0&&i!==void 0?[t/n,i/e]:t!==void 0?t/n:i!==void 0?i/e:1}class em extends jw{constructor(e){e=e||{};const t=e.opacity!==void 0?e.opacity:1,i=e.rotation!==void 0?e.rotation:0,r=e.scale!==void 0?e.scale:1,a=e.rotateWithView!==void 0?e.rotateWithView:!1;super({opacity:t,rotation:i,scale:r,displacement:e.displacement!==void 0?e.displacement:[0,0],rotateWithView:a,declutterMode:e.declutterMode}),this.anchor_=e.anchor!==void 0?e.anchor:[.5,.5],this.normalizedAnchor_=null,this.anchorOrigin_=e.anchorOrigin!==void 0?e.anchorOrigin:"top-left",this.anchorXUnits_=e.anchorXUnits!==void 0?e.anchorXUnits:"fraction",this.anchorYUnits_=e.anchorYUnits!==void 0?e.anchorYUnits:"fraction",this.crossOrigin_=e.crossOrigin!==void 0?e.crossOrigin:null,this.referrerPolicy_=e.referrerPolicy;const s=e.img!==void 0?e.img:null;let o=e.src;ne(!(o!==void 0&&s),"`image` and `src` cannot be provided at the same time"),(o===void 0||o.length===0)&&s&&(o=s.src||j0(s)),ne(o!==void 0&&o.length>0,"A defined and non-empty `src` or `image` must be provided"),ne(!((e.width!==void 0||e.height!==void 0)&&e.scale!==void 0),"`width` or `height` cannot be provided together with `scale`");let l;if(e.src!==void 0?l=x1.IDLE:s!==void 0&&("complete"in s?s.complete?l=s.src?x1.LOADED:x1.IDLE:l=x1.LOADING:l=x1.LOADED),this.color_=e.color!==void 0?F8(e.color):null,this.iconImage_=nr(s,o,{crossOrigin:this.crossOrigin_,referrerPolicy:this.referrerPolicy_},l,this.color_),this.offset_=e.offset!==void 0?e.offset:[0,0],this.offsetOrigin_=e.offsetOrigin!==void 0?e.offsetOrigin:"top-left",this.origin_=null,this.size_=e.size!==void 0?e.size:null,this.initialOptions_,e.width!==void 0||e.height!==void 0){let c,d;if(e.size)[c,d]=e.size;else{const f=this.getImage(1);if(f.width&&f.height)c=f.width,d=f.height;else if(f instanceof HTMLImageElement){this.initialOptions_=e;const p=()=>{if(this.unlistenImageChange(p),!this.initialOptions_)return;const y=this.iconImage_.getSize();this.setScale(n_(y[0],y[1],e.width,e.height))};this.listenImageChange(p);return}}c!==void 0&&this.setScale(n_(c,d,e.width,e.height))}}clone(){let e,t,i;return this.initialOptions_?(t=this.initialOptions_.width,i=this.initialOptions_.height):(e=this.getScale(),e=Array.isArray(e)?e.slice():e),new em({anchor:this.anchor_.slice(),anchorOrigin:this.anchorOrigin_,anchorXUnits:this.anchorXUnits_,anchorYUnits:this.anchorYUnits_,color:this.color_&&this.color_.slice?this.color_.slice():this.color_||void 0,crossOrigin:this.crossOrigin_,referrerPolicy:this.referrerPolicy_,offset:this.offset_.slice(),offsetOrigin:this.offsetOrigin_,opacity:this.getOpacity(),rotateWithView:this.getRotateWithView(),rotation:this.getRotation(),scale:e,width:t,height:i,size:this.size_!==null?this.size_.slice():void 0,src:this.getSrc(),displacement:this.getDisplacement().slice(),declutterMode:this.getDeclutterMode()})}getAnchor(){let e=this.normalizedAnchor_;if(!e){e=this.anchor_;const r=this.getSize();if(this.anchorXUnits_=="fraction"||this.anchorYUnits_=="fraction"){if(!r)return null;e=this.anchor_.slice(),this.anchorXUnits_=="fraction"&&(e[0]*=r[0]),this.anchorYUnits_=="fraction"&&(e[1]*=r[1])}if(this.anchorOrigin_!="top-left"){if(!r)return null;e===this.anchor_&&(e=this.anchor_.slice()),(this.anchorOrigin_=="top-right"||this.anchorOrigin_=="bottom-right")&&(e[0]=-e[0]+r[0]),(this.anchorOrigin_=="bottom-left"||this.anchorOrigin_=="bottom-right")&&(e[1]=-e[1]+r[1])}this.normalizedAnchor_=e}const t=this.getDisplacement(),i=this.getScaleArray();return[e[0]-t[0]/i[0],e[1]+t[1]/i[1]]}setAnchor(e){this.anchor_=e,this.normalizedAnchor_=null}getColor(){return this.color_}setColor(e){const t=e?F8(e):null;if(this.color_===t||this.color_&&t&&this.color_.length===t.length&&this.color_.every((s,o)=>s===t[o]))return;this.color_=t;const i=this.getSrc(),r=i!==void 0?null:this.getHitDetectionImage(),a=i!==void 0?x1.IDLE:this.iconImage_.getImageState();this.iconImage_=nr(r,i,{crossOrigin:this.crossOrigin_,referrerPolicy:this.referrerPolicy_},a,this.color_)}getImage(e){return this.iconImage_.getImage(e)}getPixelRatio(e){return this.iconImage_.getPixelRatio(e)}getImageSize(){return this.iconImage_.getSize()}getImageState(){return this.iconImage_.getImageState()}getHitDetectionImage(){return this.iconImage_.getHitDetectionImage()}getOrigin(){if(this.origin_)return this.origin_;let e=this.offset_;if(this.offsetOrigin_!="top-left"){const t=this.getSize(),i=this.iconImage_.getSize();if(!t||!i)return null;e=e.slice(),(this.offsetOrigin_=="top-right"||this.offsetOrigin_=="bottom-right")&&(e[0]=i[0]-t[0]-e[0]),(this.offsetOrigin_=="bottom-left"||this.offsetOrigin_=="bottom-right")&&(e[1]=i[1]-t[1]-e[1])}return this.origin_=e,this.origin_}getSrc(){return this.iconImage_.getSrc()}setSrc(e){this.iconImage_=nr(null,e,{crossOrigin:this.crossOrigin_,referrerPolicy:this.referrerPolicy_},x1.IDLE,this.color_)}getSize(){return this.size_?this.size_:this.iconImage_.getSize()}getWidth(){const e=this.getScaleArray();if(this.size_)return this.size_[0]*e[0];if(this.iconImage_.getImageState()==x1.LOADED)return this.iconImage_.getSize()[0]*e[0]}getHeight(){const e=this.getScaleArray();if(this.size_)return this.size_[1]*e[1];if(this.iconImage_.getImageState()==x1.LOADED)return this.iconImage_.getSize()[1]*e[1]}setScale(e){delete this.initialOptions_,super.setScale(e)}listenImageChange(e){this.iconImage_.addEventListener(t0.CHANGE,e)}load(){this.iconImage_.load()}unlistenImageChange(e){this.iconImage_.removeEventListener(t0.CHANGE,e)}ready(){return this.iconImage_.ready()}}const zw=em;class tm{constructor(e){e=e||{},this.color_=e.color!==void 0?e.color:null,this.lineCap_=e.lineCap,this.lineDash_=e.lineDash!==void 0?e.lineDash:null,this.lineDashOffset_=e.lineDashOffset,this.lineJoin_=e.lineJoin,this.miterLimit_=e.miterLimit,this.offset_=e.offset,this.width_=e.width}clone(){const e=this.getColor();return new tm({color:Array.isArray(e)?e.slice():e||void 0,lineCap:this.getLineCap(),lineDash:this.getLineDash()?this.getLineDash().slice():void 0,lineDashOffset:this.getLineDashOffset(),lineJoin:this.getLineJoin(),miterLimit:this.getMiterLimit(),offset:this.getOffset(),width:this.getWidth()})}getColor(){return this.color_}getLineCap(){return this.lineCap_}getLineDash(){return this.lineDash_}getLineDashOffset(){return this.lineDashOffset_}getLineJoin(){return this.lineJoin_}getMiterLimit(){return this.miterLimit_}getOffset(){return this.offset_}getWidth(){return this.width_}setColor(e){this.color_=e}setLineCap(e){this.lineCap_=e}setLineDash(e){this.lineDash_=e}setLineDashOffset(e){this.lineDashOffset_=e}setLineJoin(e){this.lineJoin_=e}setMiterLimit(e){this.miterLimit_=e}setOffset(e){this.offset_=e}setWidth(e){this.width_=e}}const tn=tm;class $l{constructor(e){e=e||{},this.geometry_=null,this.geometryFunction_=i_,e.geometry!==void 0&&this.setGeometry(e.geometry),this.fill_=e.fill!==void 0?e.fill:null,this.image_=e.image!==void 0?e.image:null,this.renderer_=e.renderer!==void 0?e.renderer:null,this.hitDetectionRenderer_=e.hitDetectionRenderer!==void 0?e.hitDetectionRenderer:null,this.stroke_=e.stroke!==void 0?e.stroke:null,this.text_=e.text!==void 0?e.text:null,this.zIndex_=e.zIndex}clone(){var t;let e=this.getGeometry();return e&&typeof e=="object"&&(e=e.clone()),new $l({geometry:e!=null?e:void 0,fill:this.getFill()?this.getFill().clone():void 0,image:this.getImage()?this.getImage().clone():void 0,renderer:(t=this.getRenderer())!=null?t:void 0,stroke:this.getStroke()?this.getStroke().clone():void 0,text:this.getText()?this.getText().clone():void 0,zIndex:this.getZIndex()})}getRenderer(){return this.renderer_}setRenderer(e){this.renderer_=e}setHitDetectionRenderer(e){this.hitDetectionRenderer_=e}getHitDetectionRenderer(){return this.hitDetectionRenderer_}getGeometry(){return this.geometry_}getGeometryFunction(){return this.geometryFunction_}getFill(){return this.fill_}setFill(e){this.fill_=e}getImage(){return this.image_}setImage(e){this.image_=e}getStroke(){return this.stroke_}setStroke(e){this.stroke_=e}getText(){return this.text_}setText(e){this.text_=e}getZIndex(){return this.zIndex_}setGeometry(e){typeof e=="function"?this.geometryFunction_=e:typeof e=="string"?this.geometryFunction_=function(t){return t.get(e)}:e?e!==void 0&&(this.geometryFunction_=function(){return e}):this.geometryFunction_=i_,this.geometry_=e}setZIndex(e){this.zIndex_=e}}function pZ(n){let e;if(typeof n=="function")e=n;else{let t;Array.isArray(n)?t=n:(ne(typeof n.getZIndex=="function","Expected an `Style` or an array of `Style`"),t=[n]),e=function(){return t}}return e}let ud=null;function Uw(n,e){if(!ud){const t=new yn({color:"rgba(255,255,255,0.4)"}),i=new tn({color:"#3399CC",width:1.25});ud=[new $l({image:new Zo({fill:t,stroke:i,radius:5}),fill:t,stroke:i})]}return ud}function i_(n){return n.getGeometry()}const $t=$l,yZ="#333";class nm{constructor(e){e=e||{},this.font_=e.font,this.rotation_=e.rotation,this.rotateWithView_=e.rotateWithView,this.keepUpright_=e.keepUpright,this.scale_=e.scale,this.scaleArray_=En(e.scale!==void 0?e.scale:1),this.text_=e.text,this.textAlign_=e.textAlign,this.justify_=e.justify,this.repeat_=e.repeat,this.textBaseline_=e.textBaseline,this.fill_=e.fill!==void 0?e.fill:new yn({color:yZ}),this.maxAngle_=e.maxAngle!==void 0?e.maxAngle:Math.PI/4,this.placement_=e.placement!==void 0?e.placement:"point",this.overflow_=!!e.overflow,this.stroke_=e.stroke!==void 0?e.stroke:null,this.offsetX_=e.offsetX!==void 0?e.offsetX:0,this.offsetY_=e.offsetY!==void 0?e.offsetY:0,this.backgroundFill_=e.backgroundFill?e.backgroundFill:null,this.backgroundStroke_=e.backgroundStroke?e.backgroundStroke:null,this.padding_=e.padding===void 0?null:e.padding,this.declutterMode_=e.declutterMode}clone(){const e=this.getScale();return new nm({font:this.getFont(),placement:this.getPlacement(),repeat:this.getRepeat(),maxAngle:this.getMaxAngle(),overflow:this.getOverflow(),rotation:this.getRotation(),rotateWithView:this.getRotateWithView(),keepUpright:this.getKeepUpright(),scale:Array.isArray(e)?e.slice():e,text:this.getText(),textAlign:this.getTextAlign(),justify:this.getJustify(),textBaseline:this.getTextBaseline(),fill:this.getFill()instanceof yn?this.getFill().clone():this.getFill(),stroke:this.getStroke()?this.getStroke().clone():void 0,offsetX:this.getOffsetX(),offsetY:this.getOffsetY(),backgroundFill:this.getBackgroundFill()?this.getBackgroundFill().clone():void 0,backgroundStroke:this.getBackgroundStroke()?this.getBackgroundStroke().clone():void 0,padding:this.getPadding()||void 0,declutterMode:this.getDeclutterMode()})}getOverflow(){return this.overflow_}getFont(){return this.font_}getMaxAngle(){return this.maxAngle_}getPlacement(){return this.placement_}getRepeat(){return this.repeat_}getOffsetX(){return this.offsetX_}getOffsetY(){return this.offsetY_}getFill(){return this.fill_}getRotateWithView(){return this.rotateWithView_}getKeepUpright(){return this.keepUpright_}getRotation(){return this.rotation_}getScale(){return this.scale_}getScaleArray(){return this.scaleArray_}getStroke(){return this.stroke_}getText(){return this.text_}getTextAlign(){return this.textAlign_}getJustify(){return this.justify_}getTextBaseline(){return this.textBaseline_}getBackgroundFill(){return this.backgroundFill_}getBackgroundStroke(){return this.backgroundStroke_}getPadding(){return this.padding_}getDeclutterMode(){return this.declutterMode_}setOverflow(e){this.overflow_=e}setFont(e){this.font_=e}setMaxAngle(e){this.maxAngle_=e}setOffsetX(e){this.offsetX_=e}setOffsetY(e){this.offsetY_=e}setPlacement(e){this.placement_=e}setRepeat(e){this.repeat_=e}setRotateWithView(e){this.rotateWithView_=e}setKeepUpright(e){this.keepUpright_=e}setFill(e){this.fill_=e}setRotation(e){this.rotation_=e}setScale(e){this.scale_=e,this.scaleArray_=En(e!==void 0?e:1)}setStroke(e){this.stroke_=e}setText(e){this.text_=e}setTextAlign(e){this.textAlign_=e}setJustify(e){this.justify_=e}setTextBaseline(e){this.textBaseline_=e}setBackgroundFill(e){this.backgroundFill_=e}setBackgroundStroke(e){this.backgroundStroke_=e}setPadding(e){this.padding_=e}}const $w=nm;function vZ(n){return!0}function _Z(n){const e=kw(),t=bZ(n,e),i=Iw();return function(r,a){if(i.properties=r.getPropertiesInternal(),i.resolution=a,e.featureId){const s=r.getId();s!==void 0?i.featureId=s:i.featureId=null}return e.geometryType&&(i.geometryType=Rw(r.getGeometry())),t(i)}}function r_(n){const e=kw(),t=n.length,i=new Array(t);for(let s=0;s<t;++s)i[s]=yh(n[s],e);const r=Iw(),a=new Array(t);return function(s,o){if(r.properties=s.getPropertiesInternal(),r.resolution=o,e.featureId){const c=s.getId();c!==void 0?r.featureId=c:r.featureId=null}let l=0;for(let c=0;c<t;++c){const d=i[c](r);d&&(a[l]=d,l+=1)}return a.length=l,a}}function bZ(n,e){const t=n.length,i=new Array(t);for(let r=0;r<t;++r){const a=n[r],s="filter"in a?h5(a.filter,rn,e):vZ;let o;if(Array.isArray(a.style)){const l=a.style.length;o=new Array(l);for(let c=0;c<l;++c)o[c]=yh(a.style[c],e)}else o=[yh(a.style,e)];i[r]={filter:s,styles:o}}return function(r){const a=[];let s=!1;for(let o=0;o<t;++o){const l=i[o].filter;if(l(r)&&!(n[o].else&&s)){s=!0;for(const c of i[o].styles){const d=c(r);d&&a.push(d)}}}return a}}function yh(n,e){const t=Ir(n,"",e),i=Nr(n,"",e),r=SZ(n,e),a=wZ(n,e),s=Ft(n,"z-index",e);if(!t&&!i&&!r&&!a&&!I8(n))throw new Error("No fill, stroke, point, or text symbolizer properties in style: "+JSON.stringify(n));const o=new $t;return function(l){let c=!0;if(t){const d=t(l);d&&(c=!1),o.setFill(d)}if(i){const d=i(l);d&&(c=!1),o.setStroke(d)}if(r){const d=r(l);d&&(c=!1),o.setText(d)}if(a){const d=a(l);d&&(c=!1),o.setImage(d)}return s&&o.setZIndex(s(l)),c?null:o}}function Ir(n,e,t){let i;if(e+"fill-pattern-src"in n)i=xZ(n,e+"fill-",t);else{if(n[e+"fill-color"]==="none")return a=>null;i=Wl(n,e+"fill-color",t)}if(!i)return null;const r=new yn;return function(a){const s=i(a);return s===Vf?null:(r.setColor(s),r)}}function Nr(n,e,t){const i=Ft(n,e+"stroke-width",t),r=Wl(n,e+"stroke-color",t);if(!i&&!r)return null;const a=L5(n,e+"stroke-line-cap",t),s=L5(n,e+"stroke-line-join",t),o=Ww(n,e+"stroke-line-dash",t),l=Ft(n,e+"stroke-line-dash-offset",t),c=Ft(n,e+"stroke-miter-limit",t),d=Ft(n,e+"stroke-offset",t),f=new tn;return function(p){if(r){const y=r(p);if(y===Vf)return null;f.setColor(y)}if(i&&f.setWidth(i(p)),a){const y=a(p);if(y!=="butt"&&y!=="round"&&y!=="square")throw new Error("Expected butt, round, or square line cap");f.setLineCap(y)}if(s){const y=s(p);if(y!=="bevel"&&y!=="round"&&y!=="miter")throw new Error("Expected bevel, round, or miter line join");f.setLineJoin(y)}return o&&f.setLineDash(o(p)),l&&f.setLineDashOffset(l(p)),c&&f.setMiterLimit(c(p)),d&&f.setOffset(d(p)),f}}function SZ(n,e){const t="text-",i=L5(n,t+"value",e);if(!i)return null;const r=Ir(n,t,e),a=Ir(n,t+"background-",e),s=Nr(n,t,e),o=Nr(n,t+"background-",e),l=L5(n,t+"font",e),c=Ft(n,t+"max-angle",e),d=Ft(n,t+"offset-x",e),f=Ft(n,t+"offset-y",e),p=a4(n,t+"overflow",e),y=L5(n,t+"placement",e),w=Ft(n,t+"repeat",e),M=Vl(n,t+"scale",e),P=a4(n,t+"rotate-with-view",e),D=Ft(n,t+"rotation",e),B=L5(n,t+"align",e),V=L5(n,t+"justify",e),Y=L5(n,t+"baseline",e),X=a4(n,t+"keep-upright",e),P2=Ww(n,t+"padding",e),z2=Hl(n,t+"declutter-mode"),G2=new $w({declutterMode:z2});return function(N2){if(G2.setText(i(N2)),r&&G2.setFill(r(N2)),a&&G2.setBackgroundFill(a(N2)),s&&G2.setStroke(s(N2)),o&&G2.setBackgroundStroke(o(N2)),l&&G2.setFont(l(N2)),c&&G2.setMaxAngle(c(N2)),d&&G2.setOffsetX(d(N2)),f&&G2.setOffsetY(f(N2)),p&&G2.setOverflow(p(N2)),y){const V2=y(N2);if(V2!=="point"&&V2!=="line")throw new Error("Expected point or line for text-placement");G2.setPlacement(V2)}if(w&&G2.setRepeat(w(N2)),M&&G2.setScale(M(N2)),P&&G2.setRotateWithView(P(N2)),D&&G2.setRotation(D(N2)),B){const V2=B(N2);if(V2!=="left"&&V2!=="center"&&V2!=="right"&&V2!=="end"&&V2!=="start")throw new Error("Expected left, right, center, start, or end for text-align");G2.setTextAlign(V2)}if(V){const V2=V(N2);if(V2!=="left"&&V2!=="right"&&V2!=="center")throw new Error("Expected left, right, or center for text-justify");G2.setJustify(V2)}if(Y){const V2=Y(N2);if(V2!=="bottom"&&V2!=="top"&&V2!=="middle"&&V2!=="alphabetic"&&V2!=="hanging")throw new Error("Expected bottom, top, middle, alphabetic, or hanging for text-baseline");G2.setTextBaseline(V2)}return P2&&G2.setPadding(P2(N2)),X&&G2.setKeepUpright(X(N2)),G2}}function wZ(n,e){return"icon-src"in n?CZ(n,e):"shape-points"in n?TZ(n,e):"circle-radius"in n?AZ(n,e):null}function CZ(n,e){const t="icon-",i=t+"src",r=Vw(n[i],i),a=Jo(n,t+"anchor",e),s=Vl(n,t+"scale",e),o=Ft(n,t+"opacity",e),l=Jo(n,t+"displacement",e),c=Ft(n,t+"rotation",e),d=a4(n,t+"rotate-with-view",e),f=s_(n,t+"anchor-origin"),p=o_(n,t+"anchor-x-units"),y=o_(n,t+"anchor-y-units"),w=Y5(n,t+"color");let M,P=null;w!==void 0&&(Array.isArray(w)&&w.length>0&&typeof w[0]=="string"?P=Wl(n,t+"color",e):M=Hw(w,t+"color"));const D=PZ(n,t+"cross-origin"),B=MZ(n,t+"offset"),V=s_(n,t+"offset-origin"),Y=vh(n,t+"width"),X=vh(n,t+"height"),P2=EZ(n,t+"size"),z2=Hl(n,t+"declutter-mode"),G2={src:r,anchorOrigin:f,anchorXUnits:p,anchorYUnits:y,crossOrigin:D,offset:B,offsetOrigin:V,height:X,width:Y,size:P2,declutterMode:z2};let N2=null;return function(V2){if(N2)P&&N2.setColor(P(V2));else{const Y2=P?P(V2):M;N2=new zw(Y2!==void 0?Object.assign({},G2,{color:Y2}):Object.assign({},G2))}return o&&N2.setOpacity(o(V2)),l&&N2.setDisplacement(l(V2)),c&&N2.setRotation(c(V2)),d&&N2.setRotateWithView(d(V2)),s&&N2.setScale(s(V2)),a&&N2.setAnchor(a(V2)),N2}}function TZ(n,e){const t="shape-",i=t+"points",r=t+"radius",a=im(n[i],i);if(!(r in n))throw new Error(`Expected a number for ${r}`);const s=Ft(n,r,e),o=typeof n[r]=="number"?n[r]:5,l=t+"radius2",c=Ft(n,l,e),d=typeof n[l]=="number"?n[l]:void 0,f=Ir(n,t,e),p=Nr(n,t,e),y=Vl(n,t+"scale",e),w=Jo(n,t+"displacement",e),M=Ft(n,t+"rotation",e),P=a4(n,t+"rotate-with-view",e),D=vh(n,t+"angle"),B=Hl(n,t+"declutter-mode"),V=new Zf({points:a,radius:o,radius2:d,angle:D,declutterMode:B});return function(Y){return s&&V.setRadius(s(Y)),c&&V.setRadius2(c(Y)),f&&V.setFill(f(Y)),p&&V.setStroke(p(Y)),w&&V.setDisplacement(w(Y)),M&&V.setRotation(M(Y)),P&&V.setRotateWithView(P(Y)),y&&V.setScale(y(Y)),V}}function AZ(n,e){const t="circle-",i=Ir(n,t,e),r=Nr(n,t,e),a=Ft(n,t+"radius",e),s=Vl(n,t+"scale",e),o=Jo(n,t+"displacement",e),l=Ft(n,t+"rotation",e),c=a4(n,t+"rotate-with-view",e),d=Hl(n,t+"declutter-mode"),f=new Zo({radius:5,declutterMode:d});return function(p){return a&&f.setRadius(a(p)),i&&f.setFill(i(p)),r&&f.setStroke(r(p)),o&&f.setDisplacement(o(p)),l&&f.setRotation(l(p)),c&&f.setRotateWithView(c(p)),s&&f.setScale(s(p)),f}}function Y5(n,e){if(!(e in n))return;const t=n[e];return t===void 0?void 0:t}function Ft(n,e,t){const i=Y5(n,e);if(i===void 0)return;const r=h5(i,E0,t);return function(a){return im(r(a),e)}}function L5(n,e,t){const i=Y5(n,e);if(i===void 0)return null;const r=h5(i,wn,t);return function(a){return Vw(r(a),e)}}function xZ(n,e,t){const i=L5(n,e+"pattern-src",t),r=a_(n,e+"pattern-offset",t),a=a_(n,e+"pattern-size",t),s=Wl(n,e+"color",t);return function(o){return{src:i(o),offset:r&&r(o),size:a&&a(o),color:s&&s(o)}}}function a4(n,e,t){const i=Y5(n,e);if(i===void 0)return null;const r=h5(i,rn,t);return function(a){const s=r(a);if(typeof s!="boolean")throw new Error(`Expected a boolean for ${e}`);return s}}function Wl(n,e,t){const i=Y5(n,e);if(i===void 0)return null;const r=h5(i,T6,t);return function(a){return Hw(r(a),e)}}function Ww(n,e,t){const i=Y5(n,e);if(i===void 0)return null;if(Array.isArray(i)&&(i.length===0||typeof i[0]!="string")){const a=i.map((s,o)=>{if(typeof s=="number")return()=>s;const l=h5(s,E0,t);return function(c){return im(l(c),`${e}[${o}]`)}});return function(s){const o=new Array(a.length);for(let l=0;l<a.length;++l)o[l]=a[l](s);return o}}const r=h5(i,D8,t);return function(a){return ta(r(a),e)}}function Jo(n,e,t){const i=Y5(n,e);if(i===void 0)return null;const r=h5(i,D8,t);return function(a){const s=ta(r(a),e);if(s.length!==2)throw new Error(`Expected two numbers for ${e}`);return s}}function a_(n,e,t){const i=Y5(n,e);if(i===void 0)return null;const r=h5(i,D8,t);return function(a){return Yw(r(a),e)}}function Vl(n,e,t){const i=Y5(n,e);if(i===void 0)return null;const r=h5(i,D8|E0,t);return function(a){return kZ(r(a),e)}}function vh(n,e){const t=n[e];if(t!==void 0){if(typeof t!="number")throw new Error(`Expected a number for ${e}`);return t}}function EZ(n,e){const t=n[e];if(t!==void 0){if(typeof t=="number")return En(t);if(!Array.isArray(t))throw new Error(`Expected a number or size array for ${e}`);if(t.length!==2||typeof t[0]!="number"||typeof t[1]!="number")throw new Error(`Expected a number or size array for ${e}`);return t}}function PZ(n,e){const t=n[e];if(t!==void 0){if(typeof t!="string")throw new Error(`Expected a string for ${e}`);return t}}function s_(n,e){const t=n[e];if(t!==void 0){if(t!=="bottom-left"&&t!=="bottom-right"&&t!=="top-left"&&t!=="top-right")throw new Error(`Expected bottom-left, bottom-right, top-left, or top-right for ${e}`);return t}}function o_(n,e){const t=n[e];if(t!==void 0){if(t!=="pixels"&&t!=="fraction")throw new Error(`Expected pixels or fraction for ${e}`);return t}}function MZ(n,e){const t=n[e];if(t!==void 0)return ta(t,e)}function Hl(n,e){const t=n[e];if(t!==void 0){if(typeof t!="string")throw new Error(`Expected a string for ${e}`);if(t!=="declutter"&&t!=="obstacle"&&t!=="none")throw new Error(`Expected declutter, obstacle, or none for ${e}`);return t}}function ta(n,e){if(!Array.isArray(n))throw new Error(`Expected an array for ${e}`);const t=n.length;for(let i=0;i<t;++i)if(typeof n[i]!="number")throw new Error(`Expected an array of numbers for ${e}`);return n}function Vw(n,e){if(typeof n!="string")throw new Error(`Expected a string for ${e}`);return n}function im(n,e){if(typeof n!="number")throw new Error(`Expected a number for ${e}`);return n}function Hw(n,e){if(typeof n=="string")return n;const t=ta(n,e),i=t.length;if(i<3||i>4)throw new Error(`Expected a color with 3 or 4 values for ${e}`);return t}function Yw(n,e){const t=ta(n,e);if(t.length!==2)throw new Error(`Expected an array of two numbers for ${e}`);return t}function kZ(n,e){return typeof n=="number"?n:Yw(n,e)}const l_={RENDER_ORDER:"renderOrder"};class RZ extends ea{constructor(e){e=e||{};const t=Object.assign({},e);delete t.style,delete t.renderBuffer,delete t.updateWhileAnimating,delete t.updateWhileInteracting,super(t),this.declutter_=e.declutter?String(e.declutter):void 0,this.renderBuffer_=e.renderBuffer!==void 0?e.renderBuffer:100,this.style_=null,this.styleFunction_=void 0,this.setStyle(e.style),this.updateWhileAnimating_=e.updateWhileAnimating!==void 0?e.updateWhileAnimating:!1,this.updateWhileInteracting_=e.updateWhileInteracting!==void 0?e.updateWhileInteracting:!1}getDeclutter(){return this.declutter_}getFeatures(e){return super.getFeatures(e)}getRenderBuffer(){return this.renderBuffer_}getRenderOrder(){return this.get(l_.RENDER_ORDER)}getStyle(){return this.style_}getStyleFunction(){return this.styleFunction_}getUpdateWhileAnimating(){return this.updateWhileAnimating_}getUpdateWhileInteracting(){return this.updateWhileInteracting_}renderDeclutter(e,t){const i=this.getDeclutter();i in e.declutter||(e.declutter[i]=new Pw(9)),this.getRenderer().renderDeclutter(e,t)}setRenderOrder(e){this.set(l_.RENDER_ORDER,e)}setStyle(e){this.style_=e===void 0?Uw:e;const t=IZ(e);this.styleFunction_=e===null?void 0:pZ(t),this.changed()}setDeclutter(e){this.declutter_=e?String(e):void 0,this.changed()}}function IZ(n){if(n===void 0)return Uw;if(!n)return null;if(typeof n=="function"||n instanceof $t)return n;if(!Array.isArray(n))return r_([n]);if(n.length===0)return[];const e=n.length,t=n[0];if(t instanceof $t){const r=new Array(e);for(let a=0;a<e;++a){const s=n[a];if(!(s instanceof $t))throw new Error("Expected a list of style instances");r[a]=s}return r}if("style"in t){const r=new Array(e);for(let a=0;a<e;++a){const s=n[a];if(!("style"in s))throw new Error("Expected a list of rules with a style property");r[a]=s}return _Z(r)}return r_(n)}const Kw=RZ;class NZ extends g5{constructor(e,t,i,r){super(e),this.inversePixelTransform=t,this.frameState=i,this.context=r}}const qw=NZ;class LZ extends Pl{constructor(e){super(),this.map_=e}dispatchRenderEvent(e,t){Z1()}calculateMatrices2D(e){const t=e.viewState,i=e.coordinateToPixelTransform,r=e.pixelToCoordinateTransform;d5(i,e.size[0]/2,e.size[1]/2,1/t.resolution,-1/t.resolution,-t.rotation,-t.center[0],-t.center[1]),lw(r,i)}forEachFeatureAtCoordinate(e,t,i,r,a,s,o,l){let c;const d=t.viewState;function f(Y,X,P2,z2){return a.call(s,X,Y?P2:null,z2)}const p=d.projection,y=JS(e.slice(),p),w=[[0,0]];if(p.canWrapX()&&r){const Y=p.getExtent(),X=F0(Y);w.push([-X,0],[X,0])}const M=t.layerStatesArray,P=M.length,D=[],B=[];for(let Y=0;Y<w.length;Y++)for(let X=P-1;X>=0;--X){const P2=M[X],z2=P2.layer;if(z2.hasRenderer()&&Wf(P2,d)&&o.call(l,z2)){const G2=z2.getRenderer(),N2=z2.getSource();if(G2&&N2){const V2=N2.getWrapX()?y:e,Y2=f.bind(null,P2.managed);B[0]=V2[0]+w[Y][0],B[1]=V2[1]+w[Y][1],c=G2.forEachFeatureAtCoordinate(B,t,i,Y2,D)}if(c)return c}}if(D.length===0)return;const V=1/D.length;return D.forEach((Y,X)=>Y.distanceSq+=X*V),D.sort((Y,X)=>Y.distanceSq-X.distanceSq),D.some(Y=>c=Y.callback(Y.feature,Y.layer,Y.geometry)),c}hasFeatureAtCoordinate(e,t,i,r,a,s){return this.forEachFeatureAtCoordinate(e,t,i,r,br,this,a,s)!==void 0}getMap(){return this.map_}renderFrame(e){Z1()}scheduleExpireIconCache(e){o6.canExpireCache()&&e.postRenderFunctions.push(FZ)}}function FZ(n,e){o6.expire()}const DZ=LZ;class OZ extends DZ{constructor(e){super(e),this.fontChangeListenerKey_=M0(Gi,g4.PROPERTYCHANGE,e.redrawText,e),this.element_=a6?bw():document.createElement("div");const t=this.element_.style;t.position="absolute",t.width="100%",t.height="100%",t.zIndex="0",this.element_.className=jl+" ol-layers";const i=e.getViewport();i&&i.insertBefore(this.element_,i.firstChild||null),this.children_=[],this.renderedVisible_=!0}dispatchRenderEvent(e,t){const i=this.getMap();if(i.hasListener(e)){const r=new qw(e,void 0,t);i.dispatchEvent(r)}}disposeInternal(){be(this.fontChangeListenerKey_),this.element_.remove(),super.disposeInternal()}renderFrame(e){if(!e){this.renderedVisible_&&(this.element_.style.display="none",this.renderedVisible_=!1);return}this.calculateMatrices2D(e),this.dispatchRenderEvent(s6.PRECOMPOSE,e);const t=e.layerStatesArray.sort((c,d)=>c.zIndex-d.zIndex);t.some(c=>c.layer instanceof Kw&&c.layer.getDeclutter())&&(e.declutter={});const r=e.viewState;this.children_.length=0;const a=[];let s=null;for(let c=0,d=t.length;c<d;++c){const f=t[c];e.layerIndex=c;const p=f.layer,y=p.getSourceState();if(!Wf(f,r)||y!="ready"&&y!="undefined"){p.unrender();continue}const w=p.render(e,s);w&&(w!==s&&(this.children_.push(w),s=w),a.push(f))}this.declutter(e,a),Tq(this.element_,this.children_);const l=this.getMap().getTargetElement();if(E9(l)){const c=l.getContext("2d");for(const d of this.children_){const f=d.firstElementChild||d,p=d.style.backgroundColor;if(p&&(!E9(f)||f.width>0)&&(c.fillStyle=p,c.fillRect(0,0,l.width,l.height)),E9(f)&&f.width>0){c.save();const y=d.style.opacity||f.style.opacity;c.globalAlpha=y===""?1:Number(y);const w=f.style.transform;if(w)c.transform(...ch(w));else{const M=parseFloat(f.style.width)/f.width,P=parseFloat(f.style.height)/f.height;c.transform(M,0,0,P,0,0)}c.drawImage(f,0,0),c.restore()}}}this.dispatchRenderEvent(s6.POSTCOMPOSE,e),this.renderedVisible_||(this.element_.style.display="",this.renderedVisible_=!0),this.scheduleExpireIconCache(e)}declutter(e,t){if(e.declutter){for(let i=t.length-1;i>=0;--i){const r=t[i],a=r.layer;a.getDeclutter()&&a.renderDeclutter(e,r)}t.forEach(i=>i.layer.renderDeferred(e))}}}const BZ=OZ;function Xw(n){if(n instanceof ea){n.setMapInternal(null);return}n instanceof Ul&&n.getLayers().forEach(Xw)}function Zw(n,e){if(n instanceof ea){n.setMapInternal(e);return}if(n instanceof Ul){const t=n.getLayers().getArray();for(let i=0,r=t.length;i<r;++i)Zw(t[i],e)}}let GZ=class extends p5{constructor(e){super(),e=e||{},this.on,this.once,this.un;const t=jZ(e);this.renderComplete_=!1,this.loaded_=!0,this.boundHandleBrowserEvent_=this.handleBrowserEvent.bind(this),this.maxTilesLoading_=e.maxTilesLoading!==void 0?e.maxTilesLoading:16,this.pixelRatio_=e.pixelRatio!==void 0?e.pixelRatio:WY,this.postRenderTimeoutHandle_,this.animationDelayKey_,this.animationDelay_=this.animationDelay_.bind(this),this.coordinateToPixelTransform_=E6(),this.pixelToCoordinateTransform_=E6(),this.frameIndex_=0,this.frameState_=null,this.previousExtent_=null,this.viewPropertyListenerKey_=null,this.viewChangeListenerKey_=null,this.layerGroupPropertyListenerKeys_=null,a6||(this.viewport_=document.createElement("div"),this.viewport_.className="ol-viewport"+("ontouchstart"in window?" ol-touch":""),this.viewport_.style.position="relative",this.viewport_.style.overflow="hidden",this.viewport_.style.width="100%",this.viewport_.style.height="100%",this.overlayContainer_=document.createElement("div"),this.overlayContainer_.style.position="absolute",this.overlayContainer_.style.zIndex="0",this.overlayContainer_.style.width="100%",this.overlayContainer_.style.height="100%",this.overlayContainer_.style.pointerEvents="none",this.overlayContainer_.className="ol-overlaycontainer",this.viewport_.appendChild(this.overlayContainer_),this.overlayContainerStopEvent_=document.createElement("div"),this.overlayContainerStopEvent_.style.position="absolute",this.overlayContainerStopEvent_.style.zIndex="0",this.overlayContainerStopEvent_.style.width="100%",this.overlayContainerStopEvent_.style.height="100%",this.overlayContainerStopEvent_.style.pointerEvents="none",this.overlayContainerStopEvent_.className="ol-overlaycontainer-stopevent",this.viewport_.appendChild(this.overlayContainerStopEvent_)),this.mapBrowserEventHandler_=null,this.moveTolerance_=e.moveTolerance,this.keyboardEventTarget_=t.keyboardEventTarget,this.targetChangeHandlerKeys_=null,this.targetElement_=null,a6||(this.resizeObserver_=new ResizeObserver(()=>this.updateSize())),this.controls=t.controls||(a6?new r6:Sw()),this.interactions=t.interactions||(a6?new r6:mX({onFocusOnly:!0})),this.overlays_=t.overlays,this.overlayIdIndex_={},this.renderer_=null,this.postRenderFunctions_=[],this.tileQueue_=new XY(this.getTilePriority.bind(this),this.handleTileChange_.bind(this)),this.addChangeListener(Ut.LAYERGROUP,this.handleLayerGroupChanged_),this.addChangeListener(Ut.VIEW,this.handleViewChanged_),this.addChangeListener(Ut.SIZE,this.handleSizeChanged_),this.addChangeListener(Ut.TARGET,this.handleTargetChanged_),this.setProperties(t.values);const i=this;e.view&&!(e.view instanceof Z6)&&e.view.then(function(r){i.setView(new Z6(r))}),this.controls.addEventListener(Sn.ADD,r=>{r.element.setMap(this)}),this.controls.addEventListener(Sn.REMOVE,r=>{r.element.setMap(null)}),this.interactions.addEventListener(Sn.ADD,r=>{r.element.setMap(this)}),this.interactions.addEventListener(Sn.REMOVE,r=>{r.element.setMap(null)}),this.overlays_.addEventListener(Sn.ADD,r=>{this.addOverlayInternal_(r.element)}),this.overlays_.addEventListener(Sn.REMOVE,r=>{const a=r.element.getId();a!==void 0&&delete this.overlayIdIndex_[a.toString()],r.element.setMap(null)}),this.controls.forEach(r=>{r.setMap(this)}),this.interactions.forEach(r=>{r.setMap(this)}),this.overlays_.forEach(this.addOverlayInternal_.bind(this))}addControl(e){this.getControls().push(e)}addInteraction(e){this.getInteractions().push(e)}addLayer(e){this.getLayerGroup().getLayers().push(e)}handleLayerAdd_(e){Zw(e.layer,this)}addOverlay(e){this.getOverlays().push(e)}addOverlayInternal_(e){const t=e.getId();t!==void 0&&(this.overlayIdIndex_[t.toString()]=e),e.setMap(this)}disposeInternal(){var e;this.controls.clear(),this.interactions.clear(),this.overlays_.clear(),(e=this.resizeObserver_)==null||e.disconnect(),this.setTarget(null),super.disposeInternal()}forEachFeatureAtPixel(e,t,i){if(!this.frameState_||!this.renderer_)return;const r=this.getCoordinateFromPixelInternal(e);i=i!==void 0?i:{};const a=i.hitTolerance!==void 0?i.hitTolerance:0,s=i.layerFilter!==void 0?i.layerFilter:br,o=i.checkWrapped!==!1;return this.renderer_.forEachFeatureAtCoordinate(r,this.frameState_,a,o,t,null,s,null)}getFeaturesAtPixel(e,t){const i=[];return this.forEachFeatureAtPixel(e,function(r){i.push(r)},t),i}getAllLayers(){const e=[];function t(i){i.forEach(function(r){r instanceof Ul?t(r.getLayers()):e.push(r)})}return t(this.getLayers()),e}hasFeatureAtPixel(e,t){if(!this.frameState_||!this.renderer_)return!1;const i=this.getCoordinateFromPixelInternal(e);t=t!==void 0?t:{};const r=t.layerFilter!==void 0?t.layerFilter:br,a=t.hitTolerance!==void 0?t.hitTolerance:0,s=t.checkWrapped!==!1;return this.renderer_.hasFeatureAtCoordinate(i,this.frameState_,a,s,r,null)}getEventCoordinate(e){return this.getCoordinateFromPixel(this.getEventPixel(e))}getEventCoordinateInternal(e){return this.getCoordinateFromPixelInternal(this.getEventPixel(e))}getEventPixel(e){const i=this.viewport_.getBoundingClientRect(),r=this.getSize(),a=i.width/r[0],s=i.height/r[1],o="changedTouches"in e?e.changedTouches[0]:e;return[(o.clientX-i.left)/a,(o.clientY-i.top)/s]}getTarget(){return this.get(Ut.TARGET)}getTargetElement(){return this.targetElement_}getCoordinateFromPixel(e){return uh(this.getCoordinateFromPixelInternal(e),this.getView().getProjection())}getCoordinateFromPixelInternal(e){const t=this.frameState_;return t?yt(t.pixelToCoordinateTransform,e.slice()):null}getControls(){return this.controls}getOverlays(){return this.overlays_}getOverlayById(e){const t=this.overlayIdIndex_[e.toString()];return t!==void 0?t:null}getInteractions(){return this.interactions}getLayerGroup(){return this.get(Ut.LAYERGROUP)}setLayers(e){const t=this.getLayerGroup();if(e instanceof r6){t.setLayers(e);return}const i=t.getLayers();i.clear(),i.extend(e)}getLayers(){return this.getLayerGroup().getLayers()}getLoadingOrNotReady(){const e=this.getLayerGroup().getLayerStatesArray();for(let t=0,i=e.length;t<i;++t){const r=e[t];if(!r.visible)continue;const a=r.layer.getRenderer();if(a&&!a.ready)return!0;const s=r.layer.getSource();if(s&&s.loading)return!0}return!1}getPixelFromCoordinate(e){const t=N5(e,this.getView().getProjection());return this.getPixelFromCoordinateInternal(t)}getPixelFromCoordinateInternal(e){const t=this.frameState_;return t?yt(t.coordinateToPixelTransform,e.slice(0,2)):null}getPixelRatio(){return this.pixelRatio_}setPixelRatio(e){this.pixelRatio_!==e&&(this.pixelRatio_=e,this.render())}getRenderer(){return this.renderer_}getSize(){return this.get(Ut.SIZE)}getView(){return this.get(Ut.VIEW)}getViewport(){return this.viewport_}getOverlayContainer(){return this.overlayContainer_}getOverlayContainerStopEvent(){return this.overlayContainerStopEvent_}getOwnerDocument(){const e=this.getTargetElement();return e?e.ownerDocument:document}getTilePriority(e,t,i,r){return ZY(this.frameState_,e,t,i,r)}handleBrowserEvent(e,t){t=t||e.type;const i=new h9(t,this,e);this.handleMapBrowserEvent(i)}handleMapBrowserEvent(e){if(!this.frameState_)return;const t=e.originalEvent,i=t.type;if(i===nh.POINTERDOWN||i===t0.WHEEL||i===t0.KEYDOWN){const r=this.getOwnerDocument(),a=this.viewport_.getRootNode?this.viewport_.getRootNode():r,s=t.target,o=a instanceof ShadowRoot?a.host===s?a.host.ownerDocument:a:a===r?r.documentElement:a;if(this.overlayContainerStopEvent_.contains(s)||!o.contains(s))return}if(e.frameState=this.frameState_,this.dispatchEvent(e)!==!1){const r=this.getInteractions().getArray().slice();for(let a=r.length-1;a>=0;a--){const s=r[a];if(s.getMap()!==this||!s.getActive()||!this.getTargetElement())continue;if(!s.handleEvent(e)||e.propagationStopped)break}}}handlePostRender(){const e=this.frameState_,t=this.tileQueue_;if(!t.isEmpty()){let r=this.maxTilesLoading_,a=r;const s=e?e.viewHints:void 0,o=s?s[At.ANIMATING]||s[At.INTERACTING]:!1;if(o){const l=Date.now()-e.time>8;r=l?0:8,a=l?0:2}t.getTilesLoading()<r&&(o&&t.reprioritize(),t.loadMoreTiles(r,a))}e&&this.renderer_&&!e.animate&&(this.renderComplete_?(this.hasListener(s6.RENDERCOMPLETE)&&this.renderer_.dispatchRenderEvent(s6.RENDERCOMPLETE,e),this.loaded_===!1&&(this.loaded_=!0,this.dispatchEvent(new Oi(f9.LOADEND,this,e)))):this.loaded_===!0&&(this.loaded_=!1,this.dispatchEvent(new Oi(f9.LOADSTART,this,e))));const i=this.postRenderFunctions_;if(e)for(let r=0,a=i.length;r<a;++r)i[r](this,e);i.length=0}handleSizeChanged_(){this.getView()&&!this.getView().getAnimating()&&this.getView().resolveConstraints(0),this.render()}handleTargetChanged_(){var i,r;if(this.mapBrowserEventHandler_){for(let a=0,s=this.targetChangeHandlerKeys_.length;a<s;++a)be(this.targetChangeHandlerKeys_[a]);this.targetChangeHandlerKeys_=null,this.viewport_.removeEventListener(t0.CONTEXTMENU,this.boundHandleBrowserEvent_),this.viewport_.removeEventListener(t0.WHEEL,this.boundHandleBrowserEvent_),this.mapBrowserEventHandler_.dispose(),this.mapBrowserEventHandler_=null,this.viewport_.remove()}if(this.targetElement_&&!E9(this.targetElement_)){(i=this.resizeObserver_)==null||i.unobserve(this.targetElement_);const a=this.targetElement_.getRootNode();a instanceof ShadowRoot&&this.resizeObserver_.unobserve(a.host),this.setSize(void 0)}const e=this.getTarget(),t=typeof e=="string"?document.getElementById(e):e;if(this.targetElement_=t,!t)this.renderer_&&(clearTimeout(this.postRenderTimeoutHandle_),this.postRenderTimeoutHandle_=void 0,this.postRenderFunctions_.length=0,this.renderer_.dispose(),this.renderer_=null),this.animationDelayKey_&&(cancelAnimationFrame(this.animationDelayKey_),this.animationDelayKey_=void 0);else{if(E9(t)||t.appendChild(this.viewport_),this.renderer_||(this.renderer_=new BZ(this)),!E9(t)){this.mapBrowserEventHandler_=new HY(this,this.moveTolerance_);for(const s in Ue)this.mapBrowserEventHandler_.addEventListener(Ue[s],this.handleMapBrowserEvent.bind(this));this.viewport_.addEventListener(t0.CONTEXTMENU,this.boundHandleBrowserEvent_,!1),this.viewport_.addEventListener(t0.WHEEL,this.boundHandleBrowserEvent_,$S?{passive:!1}:!1);let a;if(this.keyboardEventTarget_)a=this.keyboardEventTarget_;else{const s=t.getRootNode();a=s instanceof ShadowRoot?s.host:t}if(this.targetChangeHandlerKeys_=[M0(a,t0.KEYDOWN,this.handleBrowserEvent,this),M0(a,t0.KEYPRESS,this.handleBrowserEvent,this)],t instanceof HTMLElement){const s=t.getRootNode();s instanceof ShadowRoot&&this.resizeObserver_.observe(s.host),(r=this.resizeObserver_)==null||r.observe(t)}}this.updateSize()}}handleTileChange_(){this.render()}handleViewPropertyChanged_(){this.render()}handleViewChanged_(){this.viewPropertyListenerKey_&&(be(this.viewPropertyListenerKey_),this.viewPropertyListenerKey_=null),this.viewChangeListenerKey_&&(be(this.viewChangeListenerKey_),this.viewChangeListenerKey_=null);const e=this.getView();e&&(this.updateViewportSize_(this.getSize()),this.viewPropertyListenerKey_=M0(e,g4.PROPERTYCHANGE,this.handleViewPropertyChanged_,this),this.viewChangeListenerKey_=M0(e,t0.CHANGE,this.handleViewPropertyChanged_,this),e.resolveConstraints(0)),this.render()}handleLayerGroupChanged_(){this.layerGroupPropertyListenerKeys_&&(this.layerGroupPropertyListenerKeys_.forEach(be),this.layerGroupPropertyListenerKeys_=null);const e=this.getLayerGroup();e&&(this.handleLayerAdd_(new v9("addlayer",e)),this.layerGroupPropertyListenerKeys_=[M0(e,g4.PROPERTYCHANGE,this.render,this),M0(e,t0.CHANGE,this.render,this),M0(e,"addlayer",this.handleLayerAdd_,this),M0(e,"removelayer",this.handleLayerRemove_,this)]),this.render()}isRendered(){return!!this.frameState_}animationDelay_(){this.animationDelayKey_=void 0,this.renderFrame_(Date.now())}renderSync(){this.animationDelayKey_&&cancelAnimationFrame(this.animationDelayKey_),this.animationDelay_()}redrawText(){if(!this.frameState_)return;const e=this.frameState_.layerStatesArray;for(let t=0,i=e.length;t<i;++t){const r=e[t].layer;r.hasRenderer()&&r.getRenderer().handleFontsChanged()}}render(){this.renderer_&&this.animationDelayKey_===void 0&&(this.animationDelayKey_=requestAnimationFrame(this.animationDelay_))}removeControl(e){return this.getControls().remove(e)}removeInteraction(e){return this.getInteractions().remove(e)}removeLayer(e){return this.getLayerGroup().getLayers().remove(e)}handleLayerRemove_(e){Xw(e.layer)}removeOverlay(e){return this.getOverlays().remove(e)}renderFrame_(e){const t=this.getSize(),i=this.getView(),r=this.frameState_;let a=null;if(t!==void 0&&Xv(t)&&i&&i.isDef()){const s=i.getHints(this.frameState_?this.frameState_.viewHints:void 0),o=i.getState();if(a={animate:!1,coordinateToPixelTransform:this.coordinateToPixelTransform_,declutter:null,extent:Cr(o.center,o.resolution,o.rotation,t),index:this.frameIndex_++,layerIndex:0,layerStatesArray:this.getLayerGroup().getLayerStatesArray(),pixelRatio:this.pixelRatio_,pixelToCoordinateTransform:this.pixelToCoordinateTransform_,postRenderFunctions:[],size:t,tileQueue:this.tileQueue_,time:e,usedTiles:{},viewState:o,viewHints:s,wantedTiles:{},mapId:j0(this),renderTargets:{}},o.nextCenter&&o.nextResolution){const l=isNaN(o.nextRotation)?o.rotation:o.nextRotation;a.nextExtent=Cr(o.nextCenter,o.nextResolution,l,t)}}this.frameState_=a,this.renderer_.renderFrame(a),a&&(a.animate&&this.render(),Array.prototype.push.apply(this.postRenderFunctions_,a.postRenderFunctions),r&&(!this.previousExtent_||!U8(this.previousExtent_)&&!p4(a.extent,this.previousExtent_))&&(this.dispatchEvent(new Oi(f9.MOVESTART,this,r)),this.previousExtent_=qr(this.previousExtent_)),this.previousExtent_&&!a.viewHints[At.ANIMATING]&&!a.viewHints[At.INTERACTING]&&!p4(a.extent,this.previousExtent_)&&(this.dispatchEvent(new Oi(f9.MOVEEND,this,a)),WS(a.extent,this.previousExtent_))),this.dispatchEvent(new Oi(f9.POSTRENDER,this,a)),this.renderComplete_=(this.hasListener(f9.LOADSTART)||this.hasListener(f9.LOADEND)||this.hasListener(s6.RENDERCOMPLETE))&&!this.tileQueue_.getTilesLoading()&&!this.tileQueue_.getCount()&&!this.getLoadingOrNotReady(),this.postRenderTimeoutHandle_||(this.postRenderTimeoutHandle_=setTimeout(()=>{this.postRenderTimeoutHandle_=void 0,this.handlePostRender()},0))}setLayerGroup(e){const t=this.getLayerGroup();t&&this.handleLayerRemove_(new v9("removelayer",t)),this.set(Ut.LAYERGROUP,e)}setSize(e){this.set(Ut.SIZE,e)}setTarget(e){this.set(Ut.TARGET,e)}setView(e){if(!e||e instanceof Z6){this.set(Ut.VIEW,e);return}this.set(Ut.VIEW,new Z6);const t=this;e.then(function(i){t.setView(new Z6(i))})}updateSize(){const e=this.getTargetElement();let t;if(e){let r,a;if(E9(e)){const s=e.getContext("2d").getTransform();r=e.width/s.a,a=e.height/s.d}else{const s=getComputedStyle(e);r=e.offsetWidth-parseFloat(s.borderLeftWidth)-parseFloat(s.paddingLeft)-parseFloat(s.paddingRight)-parseFloat(s.borderRightWidth),a=e.offsetHeight-parseFloat(s.borderTopWidth)-parseFloat(s.paddingTop)-parseFloat(s.paddingBottom)-parseFloat(s.borderBottomWidth)}!isNaN(r)&&!isNaN(a)&&(t=[Math.max(0,r),Math.max(0,a)],!Xv(t)&&(e.offsetWidth||e.offsetHeight||e.getClientRects().length)&&tw("No map visible because the map container's width or height are 0."))}const i=this.getSize();t&&(!i||!z9(t,i))&&(this.updateViewportSize_(t),this.setSize(t))}updateViewportSize_(e){const t=this.getView();t&&t.setViewportSize(e)}};function jZ(n){let e=null;n.keyboardEventTarget!==void 0&&(e=typeof n.keyboardEventTarget=="string"?document.getElementById(n.keyboardEventTarget):n.keyboardEventTarget);const t={},i=n.layers&&typeof n.layers.getLayers=="function"?n.layers:new Ul({layers:n.layers});t[Ut.LAYERGROUP]=i,t[Ut.TARGET]=n.target,t[Ut.VIEW]=n.view instanceof Z6?n.view:new Z6;let r;n.controls!==void 0&&(Array.isArray(n.controls)?r=new r6(n.controls.slice()):(ne(typeof n.controls.getArray=="function","Expected `controls` to be an array or an `ol/Collection.js`"),r=n.controls));let a;n.interactions!==void 0&&(Array.isArray(n.interactions)?a=new r6(n.interactions.slice()):(ne(typeof n.interactions.getArray=="function","Expected `interactions` to be an array or an `ol/Collection.js`"),a=n.interactions));let s;return n.overlays!==void 0?Array.isArray(n.overlays)?s=new r6(n.overlays.slice()):(ne(typeof n.overlays.getArray=="function","Expected `overlays` to be an array or an `ol/Collection.js`"),s=n.overlays):s=new r6,{controls:r,interactions:a,keyboardEventTarget:e,overlays:s,values:t}}const zZ=GZ;class rm extends p5{constructor(e){if(super(),this.on,this.once,this.un,this.id_=void 0,this.geometryName_="geometry",this.style_=null,this.styleFunction_=void 0,this.geometryChangeKey_=null,this.addChangeListener(this.geometryName_,this.handleGeometryChanged_),e)if(typeof e.getSimplifiedGeometry=="function"){const t=e;this.setGeometry(t)}else{const t=e;this.setProperties(t)}}clone(){const e=new rm,t=this.geometryName_;e.setGeometryName(t);const i=this.getPropertiesInternal();if(i){const a=this.getGeometry();for(const s in i)s===t&&a?e.set(s,a.clone()):e.set(s,i[s],!0)}const r=this.getStyle();return r&&e.setStyle(r),e}getGeometry(){return this.get(this.geometryName_)}getId(){return this.id_}getGeometryName(){return this.geometryName_}getStyle(){return this.style_}getStyleFunction(){return this.styleFunction_}handleGeometryChange_(){this.changed()}handleGeometryChanged_(){this.geometryChangeKey_&&(be(this.geometryChangeKey_),this.geometryChangeKey_=null);const e=this.getGeometry();e&&(this.geometryChangeKey_=M0(e,t0.CHANGE,this.handleGeometryChange_,this)),this.changed()}setGeometry(e){this.set(this.geometryName_,e)}setStyle(e){this.style_=e,this.styleFunction_=e?UZ(e):void 0,this.changed()}setId(e){this.id_=e,this.changed()}setGeometryName(e){e!==this.geometryName_&&(this.removeChangeListener(this.geometryName_,this.handleGeometryChanged_),this.geometryName_=e,this.addChangeListener(this.geometryName_,this.handleGeometryChanged_),this.handleGeometryChanged_())}}function UZ(n){if(typeof n=="function")return n;let e;return Array.isArray(n)?e=n:(ne(typeof n.getZIndex=="function","Expected an `ol/style/Style` or an array of `ol/style/Style.js`"),e=[n]),function(){return e}}const am=rm;function Qo(n,e,t,i,r,a,s){let o,l;const c=(t-e)/i;if(c===1)o=e;else if(c===2)o=e,l=r;else if(c!==0){let d=n[e],f=n[e+1],p=0;const y=[0];for(let P=e+i;P<t;P+=i){const D=n[P],B=n[P+1];p+=Math.sqrt((D-d)*(D-d)+(B-f)*(B-f)),y.push(p),d=D,f=B}const w=r*p,M=RY(y,w);M<0?(l=(w-y[-M-2])/(y[-M-1]-y[-M-2]),o=e+(-M-2)*i):o=e+M*i}s=s>1?s:2,a=a||new Array(s);for(let d=0;d<s;++d)a[d]=o===void 0?NaN:l===void 0?n[o+d]:Bn(n[o+d],n[o+i+d],l);return a}function _h(n,e,t,i,r,a){if(t==e)return null;let s;if(r<n[e+i-1])return a?(s=n.slice(e,e+i),s[i-1]=r,s):null;if(n[t-1]<r)return a?(s=n.slice(t-i,t),s[i-1]=r,s):null;if(r==n[e+i-1])return n.slice(e,e+i);let o=e/i,l=t/i;for(;o<l;){const p=o+l>>1;r<n[(p+1)*i-1]?l=p:o=p+1}const c=n[o*i-1];if(r==c)return n.slice((o-1)*i,(o-1)*i+i);const d=n[(o+1)*i-1],f=(r-c)/(d-c);s=[];for(let p=0;p<i-1;++p)s.push(Bn(n[(o-1)*i+p],n[o*i+p],f));return s.push(r),s}function $Z(n,e,t,i,r,a,s){if(s)return _h(n,e,t[t.length-1],i,r,a);let o;if(r<n[i-1])return a?(o=n.slice(0,i),o[i-1]=r,o):null;if(n[n.length-1]<r)return a?(o=n.slice(n.length-i),o[i-1]=r,o):null;for(let l=0,c=t.length;l<c;++l){const d=t[l];if(e!=d){if(r<n[e+i-1])return null;if(r<=n[d-1])return _h(n,e,d,i,r,!1);e=d}}return null}function sm(n,e,t,i){let r=n[e],a=n[e+1],s=0;for(let o=e+i;o<t;o+=i){const l=n[o],c=n[o+1];s+=Math.sqrt((l-r)*(l-r)+(c-a)*(c-a)),r=l,a=c}return s}class el extends $8{constructor(e,t){super(),this.flatMidpoint_=null,this.flatMidpointRevision_=-1,this.maxDelta_=-1,this.maxDeltaRevision_=-1,t!==void 0&&!Array.isArray(e[0])?this.setFlatCoordinates(t,e):this.setCoordinates(e,t)}appendCoordinate(e){a5(this.flatCoordinates,e),this.changed()}clone(){const e=new el(this.flatCoordinates.slice(),this.layout);return e.applyProperties(this),e}closestPointXY(e,t,i,r){return r<j8(this.getExtent(),e,t)?r:(this.maxDeltaRevision_!=this.getRevision()&&(this.maxDelta_=Math.sqrt(Af(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,0)),this.maxDeltaRevision_=this.getRevision()),Ef(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,this.maxDelta_,!1,e,t,i,r))}forEachSegment(e){return pw(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,e)}getCoordinateAtM(e,t){return this.layout!="XYM"&&this.layout!="XYZM"?null:(t=t!==void 0?t:!1,_h(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,e,t))}getCoordinates(){return x9(this.flatCoordinates,0,this.flatCoordinates.length,this.stride)}getCoordinateAt(e,t){return Qo(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,e,t,this.stride)}getLength(){return sm(this.flatCoordinates,0,this.flatCoordinates.length,this.stride)}getFlatMidpoint(){var e;return this.flatMidpointRevision_!=this.getRevision()&&(this.flatMidpoint_=this.getCoordinateAt(.5,(e=this.flatMidpoint_)!=null?e:void 0),this.flatMidpointRevision_=this.getRevision()),this.flatMidpoint_}getSimplifiedGeometryInternal(e){const t=[];return t.length=Bl(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,e,t,0),new el(t,"XY")}getType(){return"LineString"}intersectsExtent(e){return Gl(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,e,this.getExtent())}setCoordinates(e,t){this.setLayout(t,e,1),this.flatCoordinates||(this.flatCoordinates=[]),this.flatCoordinates.length=Ol(this.flatCoordinates,0,e,this.stride),this.changed()}}const bh=el;class tl extends $8{constructor(e,t,i){if(super(),this.ends_=[],this.maxDelta_=-1,this.maxDeltaRevision_=-1,Array.isArray(e[0]))this.setCoordinates(e,t);else if(t!==void 0&&i)this.setFlatCoordinates(t,e),this.ends_=i;else{const r=e,a=[],s=[];for(let l=0,c=r.length;l<c;++l){const d=r[l];a5(a,d.getFlatCoordinates()),s.push(a.length)}const o=r.length===0?this.getLayout():r[0].getLayout();this.setFlatCoordinates(o,a),this.ends_=s}}appendLineString(e){a5(this.flatCoordinates,e.getFlatCoordinates().slice()),this.ends_.push(this.flatCoordinates.length),this.changed()}clone(){const e=new tl(this.flatCoordinates.slice(),this.layout,this.ends_.slice());return e.applyProperties(this),e}closestPointXY(e,t,i,r){return r<j8(this.getExtent(),e,t)?r:(this.maxDeltaRevision_!=this.getRevision()&&(this.maxDelta_=Math.sqrt(xf(this.flatCoordinates,0,this.ends_,this.stride,0)),this.maxDeltaRevision_=this.getRevision()),Pf(this.flatCoordinates,0,this.ends_,this.stride,this.maxDelta_,!1,e,t,i,r))}getCoordinateAtM(e,t,i){return this.layout!="XYM"&&this.layout!="XYZM"||this.flatCoordinates.length===0?null:(t=t!==void 0?t:!1,i=i!==void 0?i:!1,$Z(this.flatCoordinates,0,this.ends_,this.stride,e,t,i))}getCoordinates(){return Er(this.flatCoordinates,0,this.ends_,this.stride)}getEnds(){return this.ends_}getLineString(e){return e<0||this.ends_.length<=e?null:new bh(this.flatCoordinates.slice(e===0?0:this.ends_[e-1],this.ends_[e]),this.layout)}getLineStrings(){const e=this.flatCoordinates,t=this.ends_,i=this.layout,r=[];let a=0;for(let s=0,o=t.length;s<o;++s){const l=t[s],c=new bh(e.slice(a,l),i);r.push(c),a=l}return r}getLength(){const e=this.ends_;let t=0,i=0;for(let r=0,a=e.length;r<a;++r)i+=sm(this.flatCoordinates,t,e[r],this.stride),t=e[r];return i}getFlatMidpoints(){const e=[],t=this.flatCoordinates;let i=0;const r=this.ends_,a=this.stride;for(let s=0,o=r.length;s<o;++s){const l=r[s],c=Qo(t,i,l,a,.5);a5(e,c),i=l}return e}getSimplifiedGeometryInternal(e){const t=[],i=[];return t.length=mw(this.flatCoordinates,0,this.ends_,this.stride,e,t,0,i),new tl(t,"XY",i)}getType(){return"MultiLineString"}intersectsExtent(e){return lq(this.flatCoordinates,0,this.ends_,this.stride,e)}setCoordinates(e,t){this.setLayout(t,e,2),this.flatCoordinates||(this.flatCoordinates=[]);const i=Zr(this.flatCoordinates,0,e,this.stride,this.ends_);this.flatCoordinates.length=i.length===0?0:i[i.length-1],this.changed()}}const WZ=tl;class om extends $8{constructor(e,t){super(),t&&!Array.isArray(e[0])?this.setFlatCoordinates(t,e):this.setCoordinates(e,t)}appendPoint(e){a5(this.flatCoordinates,e.getFlatCoordinates()),this.changed()}clone(){const e=new om(this.flatCoordinates.slice(),this.layout);return e.applyProperties(this),e}closestPointXY(e,t,i,r){if(r<j8(this.getExtent(),e,t))return r;const a=this.flatCoordinates,s=this.stride;for(let o=0,l=a.length;o<l;o+=s){const c=A8(e,t,a[o],a[o+1]);if(c<r){r=c;for(let d=0;d<s;++d)i[d]=a[o+d];i.length=s}}return r}getCoordinates(){return x9(this.flatCoordinates,0,this.flatCoordinates.length,this.stride)}getPoint(e){const t=this.flatCoordinates.length/this.stride;return e<0||t<=e?null:new Pr(this.flatCoordinates.slice(e*this.stride,(e+1)*this.stride),this.layout)}getPoints(){const e=this.flatCoordinates,t=this.layout,i=this.stride,r=[];for(let a=0,s=e.length;a<s;a+=i){const o=new Pr(e.slice(a,a+i),t);r.push(o)}return r}getType(){return"MultiPoint"}intersectsExtent(e){const t=this.flatCoordinates,i=this.stride;for(let r=0,a=t.length;r<a;r+=i){const s=t[r],o=t[r+1];if(gf(e,s,o))return!0}return!1}setCoordinates(e,t){this.setLayout(t,e,1),this.flatCoordinates||(this.flatCoordinates=[]),this.flatCoordinates.length=Ol(this.flatCoordinates,0,e,this.stride),this.changed()}}const Jw=om;function Qw(n,e,t,i){const r=[];let a=zn();for(let s=0,o=t.length;s<o;++s){const l=t[s];a=pf(n,e,l[0],i),r.push((a[0]+a[2])/2,(a[1]+a[3])/2),e=l[l.length-1]}return r}class nl extends $8{constructor(e,t,i){if(super(),this.endss_=[],this.flatInteriorPointsRevision_=-1,this.flatInteriorPoints_=null,this.maxDelta_=-1,this.maxDeltaRevision_=-1,this.orientedRevision_=-1,this.orientedFlatCoordinates_=null,!i&&!Array.isArray(e[0])){const r=e,a=[],s=[];for(let o=0,l=r.length;o<l;++o){const c=r[o],d=a.length,f=c.getEnds();for(let p=0,y=f.length;p<y;++p)f[p]+=d;a5(a,c.getFlatCoordinates()),s.push(f)}t=r.length===0?this.getLayout():r[0].getLayout(),e=a,i=s}t!==void 0&&i?(this.setFlatCoordinates(t,e),this.endss_=i):this.setCoordinates(e,t)}appendPolygon(e){let t;if(!this.flatCoordinates)this.flatCoordinates=e.getFlatCoordinates().slice(),t=e.getEnds().slice(),this.endss_.push();else{const i=this.flatCoordinates.length;a5(this.flatCoordinates,e.getFlatCoordinates()),t=e.getEnds().slice();for(let r=0,a=t.length;r<a;++r)t[r]+=i}this.endss_.push(t),this.changed()}clone(){const e=this.endss_.length,t=new Array(e);for(let r=0;r<e;++r)t[r]=this.endss_[r].slice();const i=new nl(this.flatCoordinates.slice(),this.layout,t);return i.applyProperties(this),i}closestPointXY(e,t,i,r){return r<j8(this.getExtent(),e,t)?r:(this.maxDeltaRevision_!=this.getRevision()&&(this.maxDelta_=Math.sqrt(tq(this.flatCoordinates,0,this.endss_,this.stride,0)),this.maxDeltaRevision_=this.getRevision()),nq(this.getOrientedFlatCoordinates(),0,this.endss_,this.stride,this.maxDelta_,!0,e,t,i,r))}containsXY(e,t){return oq(this.getOrientedFlatCoordinates(),0,this.endss_,this.stride,e,t)}getArea(){return eq(this.getOrientedFlatCoordinates(),0,this.endss_,this.stride)}getCoordinates(e){let t;return e!==void 0?(t=this.getOrientedFlatCoordinates().slice(),hh(t,0,this.endss_,this.stride,e)):t=this.flatCoordinates,dh(t,0,this.endss_,this.stride)}getEndss(){return this.endss_}getFlatInteriorPoints(){if(this.flatInteriorPointsRevision_!=this.getRevision()){const e=Qw(this.flatCoordinates,0,this.endss_,this.stride);this.flatInteriorPoints_=gw(this.getOrientedFlatCoordinates(),0,this.endss_,this.stride,e),this.flatInteriorPointsRevision_=this.getRevision()}return this.flatInteriorPoints_}getInteriorPoints(){return new Jw(this.getFlatInteriorPoints().slice(),"XYM")}getOrientedFlatCoordinates(){if(this.orientedRevision_!=this.getRevision()){const e=this.flatCoordinates;_w(e,0,this.endss_,this.stride)?this.orientedFlatCoordinates_=e:(this.orientedFlatCoordinates_=e.slice(),this.orientedFlatCoordinates_.length=hh(this.orientedFlatCoordinates_,0,this.endss_,this.stride)),this.orientedRevision_=this.getRevision()}return this.orientedFlatCoordinates_}getSimplifiedGeometryInternal(e){const t=[],i=[];return t.length=aq(this.flatCoordinates,0,this.endss_,this.stride,Math.sqrt(e),t,0,i),new nl(t,"XY",i)}getPolygon(e){if(e<0||this.endss_.length<=e)return null;let t;if(e===0)t=0;else{const a=this.endss_[e-1];t=a[a.length-1]}const i=this.endss_[e].slice(),r=i[i.length-1];if(t!==0)for(let a=0,s=i.length;a<s;++a)i[a]-=t;return new G9(this.flatCoordinates.slice(t,r),this.layout,i)}getPolygons(){const e=this.layout,t=this.flatCoordinates,i=this.endss_,r=[];let a=0;for(let s=0,o=i.length;s<o;++s){const l=i[s].slice(),c=l[l.length-1];if(a!==0)for(let f=0,p=l.length;f<p;++f)l[f]-=a;const d=new G9(t.slice(a,c),e,l);r.push(d),a=c}return r}getType(){return"MultiPolygon"}intersectsExtent(e){return uq(this.getOrientedFlatCoordinates(),0,this.endss_,this.stride,e)}setCoordinates(e,t){this.setLayout(t,e,3),this.flatCoordinates||(this.flatCoordinates=[]);const i=fw(this.flatCoordinates,0,e,this.stride,this.endss_);if(i.length===0)this.flatCoordinates.length=0;else{const r=i[i.length-1];this.flatCoordinates.length=r.length===0?0:r[r.length-1]}this.changed()}}const VZ=nl,u_=E6();class b4{constructor(e,t,i,r,a,s){this.styleFunction,this.extent_,this.id_=s,this.type_=e,this.flatCoordinates_=t,this.flatInteriorPoints_=null,this.flatMidpoints_=null,this.ends_=i||null,this.properties_=a,this.squaredTolerance_,this.stride_=r,this.simplifiedGeometry_}get(e){return this.properties_[e]}getExtent(){return this.extent_||(this.extent_=this.type_==="Point"?VS(this.flatCoordinates_):pf(this.flatCoordinates_,0,this.flatCoordinates_.length,this.stride_)),this.extent_}getFlatInteriorPoint(){if(!this.flatInteriorPoints_){const e=c5(this.getExtent());this.flatInteriorPoints_=If(this.flatCoordinates_,0,this.ends_,this.stride_,e,0)}return this.flatInteriorPoints_}getFlatInteriorPoints(){if(!this.flatInteriorPoints_){const e=dq(this.flatCoordinates_,this.ends_),t=Qw(this.flatCoordinates_,0,e,this.stride_);this.flatInteriorPoints_=gw(this.flatCoordinates_,0,e,this.stride_,t)}return this.flatInteriorPoints_}getFlatMidpoint(){return this.flatMidpoints_||(this.flatMidpoints_=Qo(this.flatCoordinates_,0,this.flatCoordinates_.length,this.stride_,.5)),this.flatMidpoints_}getFlatMidpoints(){if(!this.flatMidpoints_){this.flatMidpoints_=[];const e=this.flatCoordinates_;let t=0;const i=this.ends_;for(let r=0,a=i.length;r<a;++r){const s=i[r],o=Qo(e,t,s,this.stride_,.5);a5(this.flatMidpoints_,o),t=s}}return this.flatMidpoints_}getId(){return this.id_}getOrientedFlatCoordinates(){return this.flatCoordinates_}getGeometry(){return this}getSimplifiedGeometry(e){return this}simplifyTransformed(e,t){return this}getProperties(){return this.properties_}getPropertiesInternal(){return this.properties_}getStride(){return this.stride_}getStyleFunction(){return this.styleFunction}getType(){return this.type_}transform(e){e=Se(e);const t=e.getExtent(),i=e.getWorldExtent();if(t&&i){const r=ut(i)/ut(t);d5(u_,i[0],i[3],r,-r,0,0,0),I9(this.flatCoordinates_,0,this.flatCoordinates_.length,this.stride_,u_,this.flatCoordinates_)}}applyTransform(e){e(this.flatCoordinates_,this.flatCoordinates_,this.stride_)}clone(){var e;return new b4(this.type_,this.flatCoordinates_.slice(),(e=this.ends_)==null?void 0:e.slice(),this.stride_,Object.assign({},this.properties_),this.id_)}getEnds(){return this.ends_}enableSimplifyTransformed(){return this.simplifyTransformed=GS((e,t)=>{if(e===this.squaredTolerance_)return this.simplifiedGeometry_;this.simplifiedGeometry_=this.clone(),t&&this.simplifiedGeometry_.applyTransform(t);const i=this.simplifiedGeometry_.getFlatCoordinates();let r;switch(this.type_){case"LineString":i.length=Bl(i,0,this.simplifiedGeometry_.flatCoordinates_.length,this.simplifiedGeometry_.stride_,e,i,0),r=[i.length];break;case"MultiLineString":r=[],i.length=mw(i,0,this.simplifiedGeometry_.ends_,this.simplifiedGeometry_.stride_,e,i,0,r);break;case"Polygon":r=[],i.length=Mf(i,0,this.simplifiedGeometry_.ends_,this.simplifiedGeometry_.stride_,Math.sqrt(e),i,0,r);break}return r&&(this.simplifiedGeometry_=new b4(this.type_,i,r,this.stride_,this.properties_,this.id_)),this.squaredTolerance_=e,this.simplifiedGeometry_}),this}}b4.prototype.getFlatCoordinates=b4.prototype.getOrientedFlatCoordinates;const _9=b4;class il extends cw{constructor(e){super(),this.geometries_=e,this.changeEventsKeys_=[],this.listenGeometriesChange_()}unlistenGeometriesChange_(){this.changeEventsKeys_.forEach(be),this.changeEventsKeys_.length=0}listenGeometriesChange_(){const e=this.geometries_;for(let t=0,i=e.length;t<i;++t)this.changeEventsKeys_.push(M0(e[t],t0.CHANGE,this.changed,this))}clone(){const e=new il(cd(this.geometries_));return e.applyProperties(this),e}closestPointXY(e,t,i,r){if(r<j8(this.getExtent(),e,t))return r;const a=this.geometries_;for(let s=0,o=a.length;s<o;++s)r=a[s].closestPointXY(e,t,i,r);return r}containsXY(e,t){const i=this.geometries_;for(let r=0,a=i.length;r<a;++r)if(i[r].containsXY(e,t))return!0;return!1}computeExtent(e){qr(e);const t=this.geometries_;for(let i=0,r=t.length;i<r;++i)HS(e,t[i].getExtent());return e}getGeometries(){return cd(this.geometries_)}getGeometriesArray(){return this.geometries_}getGeometriesArrayRecursive(){let e=[];const t=this.geometries_;for(let i=0,r=t.length;i<r;++i)t[i].getType()===this.getType()?e=e.concat(t[i].getGeometriesArrayRecursive()):e.push(t[i]);return e}getSimplifiedGeometry(e){if(this.simplifiedGeometryRevision!==this.getRevision()&&(this.simplifiedGeometryMaxMinSquaredTolerance=0,this.simplifiedGeometryRevision=this.getRevision()),e<0||this.simplifiedGeometryMaxMinSquaredTolerance!==0&&e<this.simplifiedGeometryMaxMinSquaredTolerance)return this;const t=[],i=this.geometries_;let r=!1;for(let a=0,s=i.length;a<s;++a){const o=i[a],l=o.getSimplifiedGeometry(e);t.push(l),l!==o&&(r=!0)}return r?new il(t):(this.simplifiedGeometryMaxMinSquaredTolerance=e,this)}getType(){return"GeometryCollection"}intersectsExtent(e){const t=this.geometries_;for(let i=0,r=t.length;i<r;++i)if(t[i].intersectsExtent(e))return!0;return!1}isEmpty(){return this.geometries_.length===0}rotate(e,t){const i=this.geometries_;for(let r=0,a=i.length;r<a;++r)i[r].rotate(e,t);this.changed()}scale(e,t,i){i||(i=c5(this.getExtent()));const r=this.geometries_;for(let a=0,s=r.length;a<s;++a)r[a].scale(e,t,i);this.changed()}setGeometries(e){this.setGeometriesArray(cd(e))}setGeometriesArray(e){this.unlistenGeometriesChange_(),this.geometries_=e,this.listenGeometriesChange_(),this.changed()}applyTransform(e){const t=this.geometries_;for(let i=0,r=t.length;i<r;++i)t[i].applyTransform(e);this.changed()}translate(e,t){const i=this.geometries_;for(let r=0,a=i.length;r<a;++r)i[r].translate(e,t);this.changed()}disposeInternal(){this.unlistenGeometriesChange_(),super.disposeInternal()}}function cd(n){return n.map(e=>e.clone())}const HZ=il;class YZ{constructor(){this.dataProjection=void 0,this.defaultFeatureProjection=void 0,this.featureClass=am,this.supportedMediaTypes=null}getReadOptions(e,t){if(t){let i=t.dataProjection?Se(t.dataProjection):this.readProjection(e);t.extent&&i&&i.getUnits()==="tile-pixels"&&(i=Se(i),i.setWorldExtent(t.extent)),t={dataProjection:i,featureProjection:t.featureProjection}}return this.adaptOptions(t)}adaptOptions(e){return Object.assign({dataProjection:this.dataProjection,featureProjection:this.defaultFeatureProjection,featureClass:this.featureClass},e)}getType(){return Z1()}readFeature(e,t){return Z1()}readFeatures(e,t){return Z1()}readGeometry(e,t){return Z1()}readProjection(e){return Z1()}writeFeature(e,t){return Z1()}writeFeatures(e,t){return Z1()}writeGeometry(e,t){return Z1()}}function lm(n,e,t){const i=t?Se(t.featureProjection):null,r=t?Se(t.dataProjection):null;let a=n;if(i&&r&&!x8(i,r)){e&&(a=n.clone());const s=e?i:r,o=e?r:i;s.getUnits()==="tile-pixels"?a.transform(s,o):a.applyTransform(xr(s,o))}if(e&&t&&t.decimals!==void 0){const s=Math.pow(10,t.decimals),o=function(l){for(let c=0,d=l.length;c<d;++c)l[c]=Math.round(l[c]*s)/s;return l};a===n&&(a=n.clone()),a.applyTransform(o)}return a}const KZ={Point:Pr,LineString:bh,Polygon:G9,MultiPoint:Jw,MultiLineString:WZ,MultiPolygon:VZ};function qZ(n,e,t){return Array.isArray(e[0])?(_w(n,0,e,t)||(n=n.slice(),hh(n,0,e,t)),n):(Lf(n,0,e,t)||(n=n.slice(),Ko(n,0,e,t)),n)}function eC(n,e){var a;const t=n.geometry;if(!t)return[];if(Array.isArray(t))return t.map(s=>eC(s3(W2({},n),{geometry:s}))).flat();const i=t.type==="MultiPolygon"?"Polygon":t.type;if(i==="GeometryCollection"||i==="Circle")throw new Error("Unsupported geometry type: "+i);const r=t.layout.length;return lm(new _9(i,i==="Polygon"?qZ(t.flatCoordinates,t.ends,r):t.flatCoordinates,(a=t.ends)==null?void 0:a.flat(),r,n.properties||{},n.id).enableSimplifyTransformed(),!1,e)}function um(n,e){if(!n)return null;if(Array.isArray(n)){const i=n.map(r=>um(r,e));return new HZ(i)}const t=KZ[n.type];return lm(new t(n.flatCoordinates,n.layout||"XY",n.ends),!1,e)}class XZ extends YZ{constructor(){super()}getType(){return"json"}readFeature(e,t){return this.readFeatureFromObject(Xs(e),this.getReadOptions(e,t))}readFeatures(e,t){return this.readFeaturesFromObject(Xs(e),this.getReadOptions(e,t))}readFeatureFromObject(e,t){return Z1()}readFeaturesFromObject(e,t){return Z1()}readGeometry(e,t){return this.readGeometryFromObject(Xs(e),this.getReadOptions(e,t))}readGeometryFromObject(e,t){return Z1()}readProjection(e){return this.readProjectionFromObject(Xs(e))}readProjectionFromObject(e){return Z1()}writeFeature(e,t){return JSON.stringify(this.writeFeatureObject(e,t))}writeFeatureObject(e,t){return Z1()}writeFeatures(e,t){return JSON.stringify(this.writeFeaturesObject(e,t))}writeFeaturesObject(e,t){return Z1()}writeGeometry(e,t){return JSON.stringify(this.writeGeometryObject(e,t))}writeGeometryObject(e,t){return Z1()}}function Xs(n){if(typeof n=="string"){const e=JSON.parse(n);return e||null}return n!==null?n:null}const ZZ=XZ;class JZ extends ZZ{constructor(e){e=e||{},super(),this.dataProjection=Se(e.dataProjection?e.dataProjection:"EPSG:4326"),e.featureProjection&&(this.defaultFeatureProjection=Se(e.featureProjection)),e.featureClass&&(this.featureClass=e.featureClass),this.geometryName_=e.geometryName,this.extractGeometryName_=e.extractGeometryName,this.supportedMediaTypes=["application/geo+json","application/vnd.geo+json"]}readFeatureFromObject(e,t){let i=null;e.type==="Feature"?i=e:i={type:"Feature",geometry:e,properties:null};const r=cm(i.geometry);if(this.featureClass===_9)return eC({geometry:r,id:i.id,properties:i.properties},t);const a=new am;return this.geometryName_?a.setGeometryName(this.geometryName_):this.extractGeometryName_&&i.geometry_name&&a.setGeometryName(i.geometry_name),a.setGeometry(um(r,t)),"id"in i&&a.setId(i.id),i.properties&&a.setProperties(i.properties,!0),a}readFeaturesFromObject(e,t){const i=e;let r=null;if(i.type==="FeatureCollection"){const a=e;r=[];const s=a.features;for(let o=0,l=s.length;o<l;++o){const c=this.readFeatureFromObject(s[o],t);c&&r.push(c)}}else r=[this.readFeatureFromObject(e,t)];return r.flat()}readGeometryFromObject(e,t){return QZ(e,t)}readProjectionFromObject(e){const t=e.crs;let i;if(t)if(t.type=="name")i=Se(t.properties.name);else if(t.type==="EPSG")i=Se("EPSG:"+t.properties.code);else throw new Error("Unknown SRS type");else i=this.dataProjection;return i}writeFeatureObject(e,t){t=this.adaptOptions(t);const i={type:"Feature",geometry:null,properties:null},r=e.getId();if(r!==void 0&&(i.id=r),!e.hasProperties())return i;const a=e.getProperties(),s=e.getGeometry();return s&&(i.geometry=Sh(s,t),delete a[e.getGeometryName()]),I8(a)||(i.properties=a),i}writeFeaturesObject(e,t){t=this.adaptOptions(t);const i=[];for(let r=0,a=e.length;r<a;++r)i.push(this.writeFeatureObject(e[r],t));return{type:"FeatureCollection",features:i}}writeGeometryObject(e,t){return Sh(e,this.adaptOptions(t))}}function cm(n,e){if(!n)return null;let t;switch(n.type){case"Point":{t=tJ(n);break}case"LineString":{t=nJ(n);break}case"Polygon":{t=sJ(n);break}case"MultiPoint":{t=rJ(n);break}case"MultiLineString":{t=iJ(n);break}case"MultiPolygon":{t=aJ(n);break}case"GeometryCollection":{t=eJ(n);break}default:throw new Error("Unsupported GeoJSON type: "+n.type)}return t}function QZ(n,e){const t=cm(n);return um(t,e)}function eJ(n,e){return n.geometries.map(function(i){return cm(i)})}function tJ(n){const e=n.coordinates;return{type:"Point",flatCoordinates:e,layout:W8(e.length)}}function nJ(n){var i;const e=n.coordinates,t=e.flat();return{type:"LineString",flatCoordinates:t,ends:[t.length],layout:W8(((i=e[0])==null?void 0:i.length)||2)}}function iJ(n){var a,s;const e=n.coordinates,t=((s=(a=e[0])==null?void 0:a[0])==null?void 0:s.length)||2,i=[],r=Zr(i,0,e,t);return{type:"MultiLineString",flatCoordinates:i,ends:r,layout:W8(t)}}function rJ(n){var t;const e=n.coordinates;return{type:"MultiPoint",flatCoordinates:e.flat(),layout:W8(((t=e[0])==null?void 0:t.length)||2)}}function aJ(n){var a,s;const e=n.coordinates,t=[],i=((s=(a=e[0])==null?void 0:a[0])==null?void 0:s[0].length)||2,r=fw(t,0,e,i);return{type:"MultiPolygon",flatCoordinates:t,ends:r,layout:W8(i)}}function sJ(n){var a,s;const e=n.coordinates,t=[],i=(s=(a=e[0])==null?void 0:a[0])==null?void 0:s.length,r=Zr(t,0,e,i);return{type:"Polygon",flatCoordinates:t,ends:r,layout:W8(i)}}function Sh(n,e){n=lm(n,!0,e);const t=n.getType();let i;switch(t){case"Point":{i=hJ(n);break}case"LineString":{i=lJ(n);break}case"Polygon":{i=fJ(n,e);break}case"MultiPoint":{i=cJ(n);break}case"MultiLineString":{i=uJ(n);break}case"MultiPolygon":{i=dJ(n,e);break}case"GeometryCollection":{i=oJ(n,e);break}case"Circle":{i={type:"GeometryCollection",geometries:[]};break}default:throw new Error("Unsupported geometry type: "+t)}return i}function oJ(n,e){return e=Object.assign({},e),delete e.featureProjection,{type:"GeometryCollection",geometries:n.getGeometriesArray().map(function(i){return Sh(i,e)})}}function lJ(n,e){return{type:"LineString",coordinates:n.getCoordinates()}}function uJ(n,e){return{type:"MultiLineString",coordinates:n.getCoordinates()}}function cJ(n,e){return{type:"MultiPoint",coordinates:n.getCoordinates()}}function dJ(n,e){let t;return e&&(t=e.rightHanded),{type:"MultiPolygon",coordinates:n.getCoordinates(t)}}function hJ(n,e){return{type:"Point",coordinates:n.getCoordinates()}}function fJ(n,e){let t;return e&&(t=e.rightHanded),{type:"Polygon",coordinates:n.getCoordinates(t)}}const N7=JZ;class mJ{constructor(){e0(this,"pushMethodArgs_",(...e)=>(this.push_(e),this));this.instructions_=[],this.zIndex=0,this.offset_=0,this.context_=new Proxy(qo(),{get:(e,t)=>{if(typeof qo()[t]=="function")return this.push_(t),this.pushMethodArgs_},set:(e,t,i)=>(this.push_(t,i),!0)})}push_(...e){const t=this.instructions_,i=this.zIndex+this.offset_;t[i]||(t[i]=[]),t[i].push(...e)}pushFunction(e){this.push_(e)}getContext(){return this.context_}draw(e){this.instructions_.forEach(t=>{for(let i=0,r=t.length;i<r;++i){const a=t[i];if(typeof a=="function"){a(e);continue}const s=t[++i];if(typeof e[a]=="function")e[a](...s);else{if(typeof s=="function"){e[a]=s(e);continue}e[a]=s}}})}clear(){this.instructions_.length=0,this.zIndex=0,this.offset_=0}offset(){this.offset_=this.instructions_.length,this.zIndex=0}}const tC=mJ,gJ=5;class pJ extends Yr{constructor(e){super(),this.ready=!0,this.boundHandleImageChange_=this.handleImageChange_.bind(this),this.layer_=e,this.staleKeys_=new Array,this.maxStaleKeys=gJ}getStaleKeys(){return this.staleKeys_}prependStaleKey(e){this.staleKeys_.unshift(e),this.staleKeys_.length>this.maxStaleKeys&&(this.staleKeys_.length=this.maxStaleKeys)}getFeatures(e){return Z1()}getData(e){return null}prepareFrame(e){return Z1()}renderFrame(e,t){return Z1()}forEachFeatureAtCoordinate(e,t,i,r,a){}getLayer(){return this.layer_}handleFontsChanged(){}handleImageChange_(e){const t=e.target;(t.getState()===x1.LOADED||t.getState()===x1.ERROR)&&this.renderIfReadyAndVisible()}loadImage(e){let t=e.getState();return t!=x1.LOADED&&t!=x1.ERROR&&e.addEventListener(t0.CHANGE,this.boundHandleImageChange_),t==x1.IDLE&&(e.load(),t=e.getState()),t==x1.LOADED}renderIfReadyAndVisible(){const e=this.getLayer();e&&e.getVisible()&&e.getSourceState()==="ready"&&e.changed()}renderDeferred(e){}disposeInternal(){delete this.layer_,super.disposeInternal()}}const yJ=pJ,c_=[];let ji=null;function vJ(){ji=ht(1,1,void 0,{willReadFrequently:!0})}class _J extends yJ{constructor(e){super(e),this.container=null,this.renderedResolution,this.tempTransform=E6(),this.pixelTransform=E6(),this.inversePixelTransform=E6(),this.context=null,this.deferredContext_=null,this.containerReused=!1,this.frameState=null}getImageData(e,t,i){ji||vJ(),ji.clearRect(0,0,1,1);let r;try{ji.drawImage(e,t,i,1,1,0,0,1,1),r=ji.getImageData(0,0,1,1).data}catch(a){return ji=null,null}return r}getBackground(e){let i=this.getLayer().getBackground();return typeof i=="function"&&(i=i(e.viewState.resolution)),i||void 0}useContainer(e,t,i){const r=this.getLayer().getClassName();let a,s;if(e&&e.className===r&&(!i||e&&e.style.backgroundColor&&z9(F8(e.style.backgroundColor),F8(i)))){const o=e.firstElementChild;E9(o)&&(s=o.getContext("2d"))}if(s&&KK(s.canvas.style.transform,t)?(this.container=e,this.context=s,this.containerReused=!0):this.containerReused?(this.container=null,this.context=null,this.containerReused=!1):this.container&&(this.container.style.backgroundColor=null),!this.container){a=a6?bw():document.createElement("div"),a.className=r;let o=a.style;o.position="absolute",o.width="100%",o.height="100%",s=ht();const l=s.canvas;a.appendChild(l),o=l.style,o.position="absolute",o.left="0",o.transformOrigin="top left",this.container=a,this.context=s}!this.containerReused&&i&&!this.container.style.backgroundColor&&(this.container.style.backgroundColor=i)}clipUnrotated(e,t,i){const r=z8(i),a=Nl(i),s=Il(i),o=Rl(i);yt(t.coordinateToPixelTransform,r),yt(t.coordinateToPixelTransform,a),yt(t.coordinateToPixelTransform,s),yt(t.coordinateToPixelTransform,o);const l=this.inversePixelTransform;yt(l,r),yt(l,a),yt(l,s),yt(l,o),e.save(),e.beginPath(),e.moveTo(Math.round(r[0]),Math.round(r[1])),e.lineTo(Math.round(a[0]),Math.round(a[1])),e.lineTo(Math.round(s[0]),Math.round(s[1])),e.lineTo(Math.round(o[0]),Math.round(o[1])),e.clip()}prepareContainer(e,t){const i=e.extent,r=e.viewState.resolution,a=e.viewState.rotation,s=e.pixelRatio,o=Math.round(F0(i)/r*s),l=Math.round(ut(i)/r*s);d5(this.pixelTransform,e.size[0]/2,e.size[1]/2,1/s,1/s,a,-o/2,-l/2),lw(this.inversePixelTransform,this.pixelTransform);const c=YK(this.pixelTransform);if(this.useContainer(t,c,this.getBackground(e)),!this.containerReused){const d=this.context.canvas;d.width!=o||d.height!=l?(d.width=o,d.height=l):this.context.clearRect(0,0,o,l),c!==d.style.transform&&(d.style.transform=c)}}dispatchRenderEvent_(e,t,i){const r=this.getLayer();if(r.hasListener(e)){const a=new qw(e,this.inversePixelTransform,i,t);r.dispatchEvent(a)}}preRender(e,t){this.frameState=t,!t.declutter&&this.dispatchRenderEvent_(s6.PRERENDER,e,t)}postRender(e,t){t.declutter||this.dispatchRenderEvent_(s6.POSTRENDER,e,t)}renderDeferredInternal(e){}getRenderContext(e){return e.declutter&&!this.deferredContext_&&(this.deferredContext_=new tC),e.declutter?this.deferredContext_.getContext():this.context}renderDeferred(e){e.declutter&&(this.dispatchRenderEvent_(s6.PRERENDER,this.context,e),e.declutter&&this.deferredContext_&&(this.deferredContext_.draw(this.context),this.deferredContext_.clear()),this.renderDeferredInternal(e),this.dispatchRenderEvent_(s6.POSTRENDER,this.context,e))}getRenderTransform(e,t,i,r,a,s,o){const l=a/2,c=s/2,d=r/t,f=-d,p=-e[0]+o,y=-e[1];return d5(this.tempTransform,l,c,d,f,-i,p,y)}disposeInternal(){delete this.frameState,super.disposeInternal()}}const dm=_J;class bJ extends dm{constructor(e){super(e),this.image=null,this.renderedSourceRevision_=0}getImage(){return this.image?this.image.getImage():null}prepareFrame(e){const t=e.layerStatesArray[e.layerIndex],i=e.pixelRatio,r=e.viewState,a=r.resolution,s=this.getLayer().getSource(),o=e.viewHints;let l=e.extent;if(t.extent!==void 0&&(l=O5(l,F5(t.extent,r.projection))),!o[At.ANIMATING]&&!o[At.INTERACTING]&&!U8(l))if(s){!this.getLayer().rendered&&this.renderedSourceRevision_!==s.getRevision()&&(this.image=null),this.renderedSourceRevision_=s.getRevision();const c=r.projection,d=s.getImage(l,a,i,c);d&&(this.loadImage(d)?this.image=d:d.getState()===x1.EMPTY&&(this.image=null))}else this.image=null;return!!this.image}getData(e){const t=this.frameState;if(!t)return null;const i=this.getLayer(),r=yt(t.pixelToCoordinateTransform,e.slice()),a=i.getExtent();if(a&&!L8(a,r))return null;const s=this.image.getExtent(),o=this.image.getImage(),l=F0(s),c=Math.floor(o.width*((r[0]-s[0])/l));if(c<0||c>=o.width)return null;const d=ut(s),f=Math.floor(o.height*((s[3]-r[1])/d));return f<0||f>=o.height?null:this.getImageData(o,c,f)}renderFrame(e,t){const i=this.image,r=i.getExtent(),a=i.getResolution(),[s,o]=Array.isArray(a)?a:[a,a],l=i.getPixelRatio(),c=e.layerStatesArray[e.layerIndex],d=e.pixelRatio,f=e.viewState,p=f.center,y=f.resolution,w=d*s/(y*l),M=d*o/(y*l);this.prepareContainer(e,t);const P=this.context.canvas.width,D=this.context.canvas.height,B=this.getRenderContext(e);let V=!1,Y=!0;if(c.extent){const N2=F5(c.extent,f.projection);Y=an(N2,e.extent),V=Y&&!A9(N2,e.extent),V&&this.clipUnrotated(B,e,N2)}const X=i.getImage(),P2=d5(this.tempTransform,P/2,D/2,w,M,0,l*(r[0]-p[0])/s,l*(p[1]-r[3])/o);this.renderedResolution=o*d/l;const z2=X.width*P2[0],G2=X.height*P2[3];if(this.getLayer().getSource().getInterpolate()||(B.imageSmoothingEnabled=!1),this.preRender(B,e),Y&&z2>=.5&&G2>=.5){const N2=P2[4],V2=P2[5],Y2=c.opacity;Y2!==1&&(B.save(),B.globalAlpha=Y2),B.drawImage(X,0,0,+X.width,+X.height,N2,V2,z2,G2),Y2!==1&&B.restore()}return this.postRender(this.context,e),V&&B.restore(),B.imageSmoothingEnabled=!0,this.container}}const SJ=bJ;class wJ extends ea{constructor(e){e=e||{},super(e)}}const CJ=wJ;class TJ extends CJ{constructor(e){super(e)}createRenderer(){return new SJ(this)}getData(e){return super.getData(e)}}const AJ=TJ;class xJ extends Hr{constructor(e,t,i){super(),i=i||{},this.tileCoord=e,this.state=t,this.key="",this.transition_=i.transition===void 0?250:i.transition,this.transitionStarts_={},this.interpolate=!!i.interpolate}changed(){this.dispatchEvent(t0.CHANGE)}release(){this.setState(z1.EMPTY)}getKey(){return this.key+"/"+this.tileCoord}getTileCoord(){return this.tileCoord}getState(){return this.state}setState(e){if(this.state!==z1.EMPTY){if(this.state!==z1.ERROR&&this.state>e)throw new Error("Tile load sequence violation");this.state=e,this.changed()}}load(){Z1()}getAlpha(e,t){if(!this.transition_)return 1;let i=this.transitionStarts_[e];if(!i)i=t,this.transitionStarts_[e]=i;else if(i===-1)return 1;const r=t-i+1e3/60;return r>=this.transition_?1:QS(r/this.transition_)}inTransition(e){return this.transition_?this.transitionStarts_[e]!==-1:!1}endTransition(e){this.transition_&&(this.transitionStarts_[e]=-1)}disposeInternal(){this.release(),super.disposeInternal()}}const hm=xJ;function wh(n){return n instanceof Image||n instanceof HTMLCanvasElement||n instanceof HTMLVideoElement||n instanceof ImageBitmap?n:null}const EJ=new Error("disposed"),PJ=[256,256];class MJ extends hm{constructor(e){const t=z1.IDLE;super(e.tileCoord,t,{transition:e.transition,interpolate:e.interpolate}),this.loader_=e.loader,this.data_=null,this.error_=null,this.size_=e.size||null,this.controller_=e.controller||null}getSize(){if(this.size_)return this.size_;const e=wh(this.data_);return e?[e.width,e.height]:PJ}getData(){return this.data_}getError(){return this.error_}load(){if(this.state!==z1.IDLE&&this.state!==z1.ERROR)return;this.state=z1.LOADING,this.changed();const e=this;this.loader_().then(function(t){e.data_=t,e.state=z1.LOADED,e.changed()}).catch(function(t){e.error_=t,e.state=z1.ERROR,e.changed()})}disposeInternal(){this.controller_&&(this.controller_.abort(EJ),this.controller_=null),super.disposeInternal()}}const d_=MJ;class kJ extends hm{constructor(e,t,i,r,a,s){super(e,t,s),this.crossOrigin_=r==null?void 0:r.crossOrigin,this.referrerPolicy_=r==null?void 0:r.referrerPolicy,this.src_=i,this.key=i,this.image_,a6?this.image_=new OffscreenCanvas(1,1):(this.image_=new Image,this.crossOrigin_!==null&&(this.image_.crossOrigin=this.crossOrigin_),this.referrerPolicy_!==void 0&&(this.image_.referrerPolicy=this.referrerPolicy_)),this.unlisten_=null,this.tileLoadFunction_=a}getImage(){return this.image_}setImage(e){this.image_=e,this.state=z1.LOADED,this.unlistenImage_(),this.changed()}getCrossOrigin(){return this.crossOrigin_}getReferrerPolicy(){return this.referrerPolicy_}handleImageError_(){this.state=z1.ERROR,this.unlistenImage_(),this.image_=RJ(),this.changed()}handleImageLoad_(){if(a6)this.state=z1.LOADED;else{const e=this.image_;e.naturalWidth&&e.naturalHeight?this.state=z1.LOADED:this.state=z1.EMPTY}this.unlistenImage_(),this.changed()}load(){this.state==z1.ERROR&&(this.state=z1.IDLE,this.image_=new Image,this.crossOrigin_!==null&&(this.image_.crossOrigin=this.crossOrigin_),this.referrerPolicy_!==void 0&&(this.image_.referrerPolicy=this.referrerPolicy_)),this.state==z1.IDLE&&(this.state=z1.LOADING,this.changed(),this.tileLoadFunction_(this,this.src_),this.unlisten_=rZ(this.image_,this.handleImageLoad_.bind(this),this.handleImageError_.bind(this)))}unlistenImage_(){this.unlisten_&&(this.unlisten_(),this.unlisten_=null)}disposeInternal(){this.unlistenImage_(),this.image_=null,super.disposeInternal()}}function RJ(){const n=ht(1,1);return n.fillStyle="rgba(0,0,0,0)",n.fillRect(0,0,1,1),n.canvas}const nC=kJ;class iC{constructor(e,t,i,r){this.minX=e,this.maxX=t,this.minY=i,this.maxY=r}contains(e){return this.containsXY(e[1],e[2])}containsTileRange(e){return this.minX<=e.minX&&e.maxX<=this.maxX&&this.minY<=e.minY&&e.maxY<=this.maxY}containsXY(e,t){return this.minX<=e&&e<=this.maxX&&this.minY<=t&&t<=this.maxY}equals(e){return this.minX==e.minX&&this.minY==e.minY&&this.maxX==e.maxX&&this.maxY==e.maxY}extend(e){e.minX<this.minX&&(this.minX=e.minX),e.maxX>this.maxX&&(this.maxX=e.maxX),e.minY<this.minY&&(this.minY=e.minY),e.maxY>this.maxY&&(this.maxY=e.maxY)}getHeight(){return this.maxY-this.minY+1}getSize(){return[this.getWidth(),this.getHeight()]}getWidth(){return this.maxX-this.minX+1}intersects(e){return this.minX<=e.maxX&&this.maxX>=e.minX&&this.minY<=e.maxY&&this.maxY>=e.minY}}function Pi(n,e,t,i,r){return r!==void 0?(r.minX=n,r.maxX=e,r.minY=t,r.maxY=i,r):new iC(n,e,t,i)}const rC=iC;let dd;const s4=[];function h_(n,e,t,i,r){n.beginPath(),n.moveTo(0,0),n.lineTo(e,t),n.lineTo(i,r),n.closePath(),n.save(),n.clip(),n.fillRect(0,0,Math.max(e,i)+1,Math.max(t,r)),n.restore()}function hd(n,e){return Math.abs(n[e*4]-210)>2||Math.abs(n[e*4+3]-.75*255)>2}function IJ(){if(dd===void 0){const n=ht(6,6,s4);n.globalCompositeOperation="lighter",n.fillStyle="rgba(210, 0, 0, 0.75)",h_(n,4,5,4,0),h_(n,4,5,0,5);const e=n.getImageData(0,0,3,3).data;dd=hd(e,0)||hd(e,4)||hd(e,8),zl(n),s4.push(n.canvas)}return dd}function Lr(n,e,t,i){const r=E4(t,e,n);let a=Fv(e,i,t);const s=e.getMetersPerUnit();s!==void 0&&(a*=s);const o=n.getMetersPerUnit();o!==void 0&&(a/=o);const l=n.getExtent();if(!l||L8(l,r)){const c=Fv(n,a,r)/a;isFinite(c)&&c>0&&(a/=c)}return a}function NJ(n,e,t,i){const r=c5(t);let a=Lr(n,e,r,i);return(!isFinite(a)||a<=0)&&KS(t,function(s){return a=Lr(n,e,s,i),isFinite(a)&&a>0}),a}function aC(n,e,t,i,r,a,s,o,l,c,d,f,p,y){const w=ht(Math.round(t*n),Math.round(t*e),s4);if(f||(w.imageSmoothingEnabled=!1),l.length===0)return w.canvas;w.scale(t,t);function M(X){return Math.round(X*t)/t}w.globalCompositeOperation="lighter";const P=zn();l.forEach(function(X,P2,z2){HS(P,X.extent)});let D;const B=t/i,V=(f?1:1+Math.pow(2,-24))/B;if(!p||l.length!==1||c!==0){if(D=ht(Math.round(F0(P)*B),Math.round(ut(P)*B),s4),f||(D.imageSmoothingEnabled=!1),r&&y){const X=(r[0]-P[0])*B,P2=-(r[3]-P[3])*B,z2=F0(r)*B,G2=ut(r)*B;D.rect(X,P2,z2,G2),D.clip()}l.forEach(function(X,P2,z2){if(X.image.width>0&&X.image.height>0){if(X.clipExtent){D.save();const o3=(X.clipExtent[0]-P[0])*B,r3=-(X.clipExtent[3]-P[3])*B,y3=F0(X.clipExtent)*B,K2=ut(X.clipExtent)*B;D.rect(f?o3:Math.round(o3),f?r3:Math.round(r3),f?y3:Math.round(o3+y3)-Math.round(o3),f?K2:Math.round(r3+K2)-Math.round(r3)),D.clip()}const G2=(X.extent[0]-P[0])*B,N2=-(X.extent[3]-P[3])*B,V2=F0(X.extent)*B,Y2=ut(X.extent)*B;D.drawImage(X.image,c,c,X.image.width-2*c,X.image.height-2*c,f?G2:Math.round(G2),f?N2:Math.round(N2),f?V2:Math.round(G2+V2)-Math.round(G2),f?Y2:Math.round(N2+Y2)-Math.round(N2)),X.clipExtent&&D.restore()}})}const Y=z8(s);return o.getTriangles().forEach(function(X,P2,z2){const G2=X.source,N2=X.target;let V2=G2[0][0],Y2=G2[0][1],o3=G2[1][0],r3=G2[1][1],y3=G2[2][0],K2=G2[2][1];const C3=M((N2[0][0]-Y[0])/a),m3=M(-(N2[0][1]-Y[1])/a),M3=M((N2[1][0]-Y[0])/a),N3=M(-(N2[1][1]-Y[1])/a),q2=M((N2[2][0]-Y[0])/a),u3=M(-(N2[2][1]-Y[1])/a),_3=V2,L3=Y2;V2=0,Y2=0,o3-=_3,r3-=L3,y3-=_3,K2-=L3;const F3=[[o3,r3,0,0,M3-C3],[y3,K2,0,0,q2-C3],[0,0,o3,r3,N3-m3],[0,0,y3,K2,u3-m3]],K3=QY(F3);if(!K3)return;if(w.save(),w.beginPath(),IJ()||!f){w.moveTo(M3,N3);const a3=4,k3=C3-M3,J3=m3-N3;for(let Q3=0;Q3<a3;Q3++)w.lineTo(M3+M((Q3+1)*k3/a3),N3+M(Q3*J3/(a3-1))),Q3!=a3-1&&w.lineTo(M3+M((Q3+1)*k3/a3),N3+M((Q3+1)*J3/(a3-1)));w.lineTo(q2,u3)}else w.moveTo(M3,N3),w.lineTo(C3,m3),w.lineTo(q2,u3);w.clip(),w.transform(K3[0],K3[2],K3[1],K3[3],C3,m3),w.translate(P[0]-_3,P[3]-L3);let w2;if(D)w2=D.canvas,w.scale(V,-V);else{const a3=l[0],k3=a3.extent;w2=a3.image,w.scale(F0(k3)/w2.width,-ut(k3)/w2.height)}w.drawImage(w2,0,0),w.restore()}),D&&(zl(D),s4.push(D.canvas)),d&&(w.save(),w.globalCompositeOperation="source-over",w.strokeStyle="black",w.lineWidth=1,o.getTriangles().forEach(function(X,P2,z2){const G2=X.target,N2=(G2[0][0]-Y[0])/a,V2=-(G2[0][1]-Y[1])/a,Y2=(G2[1][0]-Y[0])/a,o3=-(G2[1][1]-Y[1])/a,r3=(G2[2][0]-Y[0])/a,y3=-(G2[2][1]-Y[1])/a;w.beginPath(),w.moveTo(Y2,o3),w.lineTo(N2,V2),w.lineTo(r3,y3),w.closePath(),w.stroke()}),w.restore()),w.canvas}const LJ=10,f_=.25;class FJ{constructor(e,t,i,r,a,s,o){this.sourceProj_=e,this.targetProj_=t;let l={};const c=o?jK(V=>yt(o,E4(V,this.targetProj_,this.sourceProj_))):xr(this.targetProj_,this.sourceProj_);this.transformInv_=function(V){const Y=V[0]+"/"+V[1];return l[Y]||(l[Y]=c(V)),l[Y]},this.maxSourceExtent_=r,this.errorThresholdSquared_=a*a,this.triangles_=[],this.wrapsXInSource_=!1,this.canWrapXInSource_=this.sourceProj_.canWrapX()&&!!r&&!!this.sourceProj_.getExtent()&&F0(r)>=F0(this.sourceProj_.getExtent()),this.sourceWorldWidth_=this.sourceProj_.getExtent()?F0(this.sourceProj_.getExtent()):null,this.targetWorldWidth_=this.targetProj_.getExtent()?F0(this.targetProj_.getExtent()):null;const d=z8(i),f=Nl(i),p=Il(i),y=Rl(i),w=this.transformInv_(d),M=this.transformInv_(f),P=this.transformInv_(p),D=this.transformInv_(y),B=LJ+(s?Math.max(0,Math.ceil(Math.log2(ah(i)/(s*s*256*256)))):0);if(this.addQuad_(d,f,p,y,w,M,P,D,B),this.wrapsXInSource_){let V=1/0;this.triangles_.forEach(function(Y,X,P2){V=Math.min(V,Y.source[0][0],Y.source[1][0],Y.source[2][0])}),this.triangles_.forEach(Y=>{if(Math.max(Y.source[0][0],Y.source[1][0],Y.source[2][0])-V>this.sourceWorldWidth_/2){const X=[[Y.source[0][0],Y.source[0][1]],[Y.source[1][0],Y.source[1][1]],[Y.source[2][0],Y.source[2][1]]];X[0][0]-V>this.sourceWorldWidth_/2&&(X[0][0]-=this.sourceWorldWidth_),X[1][0]-V>this.sourceWorldWidth_/2&&(X[1][0]-=this.sourceWorldWidth_),X[2][0]-V>this.sourceWorldWidth_/2&&(X[2][0]-=this.sourceWorldWidth_);const P2=Math.min(X[0][0],X[1][0],X[2][0]);Math.max(X[0][0],X[1][0],X[2][0])-P2<this.sourceWorldWidth_/2&&(Y.source=X)}})}l={}}addTriangle_(e,t,i,r,a,s){this.triangles_.push({source:[r,a,s],target:[e,t,i]})}addQuad_(e,t,i,r,a,s,o,l,c){const d=xv([a,s,o,l]),f=this.sourceWorldWidth_?F0(d)/this.sourceWorldWidth_:null,p=this.sourceWorldWidth_,y=this.sourceProj_.canWrapX()&&f>.5&&f<1;let w=!1;if(c>0){if(this.targetProj_.isGlobal()&&this.targetWorldWidth_){const P=xv([e,t,i,r]);w=F0(P)/this.targetWorldWidth_>f_||w}!y&&this.sourceProj_.isGlobal()&&f&&(w=f>f_||w)}if(!w&&this.maxSourceExtent_&&isFinite(d[0])&&isFinite(d[1])&&isFinite(d[2])&&isFinite(d[3])&&!an(d,this.maxSourceExtent_))return;let M=0;if(!w&&(!isFinite(a[0])||!isFinite(a[1])||!isFinite(s[0])||!isFinite(s[1])||!isFinite(o[0])||!isFinite(o[1])||!isFinite(l[0])||!isFinite(l[1]))){if(c>0)w=!0;else if(M=(!isFinite(a[0])||!isFinite(a[1])?8:0)+(!isFinite(s[0])||!isFinite(s[1])?4:0)+(!isFinite(o[0])||!isFinite(o[1])?2:0)+(!isFinite(l[0])||!isFinite(l[1])?1:0),M!=1&&M!=2&&M!=4&&M!=8)return}if(c>0){if(!w){const P=[(e[0]+i[0])/2,(e[1]+i[1])/2],D=this.transformInv_(P);let B;y?B=(R9(a[0],p)+R9(o[0],p))/2-R9(D[0],p):B=(a[0]+o[0])/2-D[0];const V=(a[1]+o[1])/2-D[1];w=B*B+V*V>this.errorThresholdSquared_}if(w){if(Math.abs(e[0]-i[0])<=Math.abs(e[1]-i[1])){const P=[(t[0]+i[0])/2,(t[1]+i[1])/2],D=this.transformInv_(P),B=[(r[0]+e[0])/2,(r[1]+e[1])/2],V=this.transformInv_(B);this.addQuad_(e,t,P,B,a,s,D,V,c-1),this.addQuad_(B,P,i,r,V,D,o,l,c-1)}else{const P=[(e[0]+t[0])/2,(e[1]+t[1])/2],D=this.transformInv_(P),B=[(i[0]+r[0])/2,(i[1]+r[1])/2],V=this.transformInv_(B);this.addQuad_(e,P,B,r,a,D,V,l,c-1),this.addQuad_(P,t,i,B,D,s,o,V,c-1)}return}}if(y){if(!this.canWrapXInSource_)return;this.wrapsXInSource_=!0}M&11||this.addTriangle_(e,i,r,a,o,l),M&14||this.addTriangle_(e,i,t,a,o,s),M&&(M&13||this.addTriangle_(t,r,e,s,l,a),M&7||this.addTriangle_(t,r,i,s,l,o))}calculateSourceExtent(){const e=zn();return this.triangles_.forEach(function(t,i,r){const a=t.source;er(e,a[0]),er(e,a[1]),er(e,a[2])}),e}getTriangles(){return this.triangles_}}const sC=FJ,oC=.5;class DJ extends hm{constructor(e,t,i,r,a,s,o,l,c,d,f,p){super(a,z1.IDLE,p),this.renderEdges_=f!==void 0?f:!1,this.pixelRatio_=o,this.gutter_=l,this.canvas_=null,this.sourceTileGrid_=t,this.targetTileGrid_=r,this.wrappedTileCoord_=s||a,this.sourceTiles_=[],this.sourcesListenerKeys_=null,this.sourceZ_=0,this.clipExtent_=e.canWrapX()?e.getExtent():void 0;const y=r.getTileCoordExtent(this.wrappedTileCoord_),w=this.targetTileGrid_.getExtent();let M=this.sourceTileGrid_.getExtent();const P=w?O5(y,w):y;if(ah(P)===0){this.state=z1.EMPTY;return}const D=e.getExtent();D&&(M?M=O5(M,D):M=D);const B=r.getResolution(this.wrappedTileCoord_[0]),V=NJ(e,i,P,B);if(!isFinite(V)||V<=0){this.state=z1.EMPTY;return}const Y=d!==void 0?d:oC;if(this.triangulation_=new sC(e,i,P,M,V*Y,B),this.triangulation_.getTriangles().length===0){this.state=z1.EMPTY;return}this.sourceZ_=t.getZForResolution(V);let X=this.triangulation_.calculateSourceExtent();if(M&&(e.canWrapX()?(X[1]=Ie(X[1],M[1],M[3]),X[3]=Ie(X[3],M[1],M[3])):X=O5(X,M)),!ah(X))this.state=z1.EMPTY;else{let P2=0,z2=0;e.canWrapX()&&(P2=F0(D),z2=Math.floor((X[0]-D[0])/P2)),ZS(X.slice(),e,!0).forEach(N2=>{const V2=t.getTileRangeForExtentAndZ(N2,this.sourceZ_);for(let Y2=V2.minX;Y2<=V2.maxX;Y2++)for(let o3=V2.minY;o3<=V2.maxY;o3++){const r3=z2*P2;this.sourceTiles_.push({getTile:()=>c(this.sourceZ_,Y2,o3,o),offset:r3})}++z2}),this.sourceTiles_.length===0&&(this.state=z1.EMPTY)}}getImage(){return this.canvas_}reproject_(){const e=[];if(this.sourceTiles_.forEach(t=>{var r;const i=t.tile;if(i&&i.getState()==z1.LOADED){const a=this.sourceTileGrid_.getTileCoordExtent(i.tileCoord);a[0]+=t.offset,a[2]+=t.offset;const s=(r=this.clipExtent_)==null?void 0:r.slice();s&&(s[0]+=t.offset,s[2]+=t.offset),e.push({extent:a,clipExtent:s,image:i.getImage()})}}),this.sourceTiles_.length=0,e.length===0)this.state=z1.ERROR;else{const t=this.wrappedTileCoord_[0],i=this.targetTileGrid_.getTileSize(t),r=typeof i=="number"?i:i[0],a=typeof i=="number"?i:i[1],s=this.targetTileGrid_.getResolution(t),o=this.sourceTileGrid_.getResolution(this.sourceZ_),l=this.targetTileGrid_.getTileCoordExtent(this.wrappedTileCoord_);this.canvas_=aC(r,a,this.pixelRatio_,o,this.sourceTileGrid_.getExtent(),s,l,this.triangulation_,e,this.gutter_,this.renderEdges_,this.interpolate),this.state=z1.LOADED}this.changed()}load(){for(const e of this.sourceTiles_)e.tile=e.getTile();if(this.state==z1.IDLE){this.state=z1.LOADING,this.changed();let e=0;this.sourcesListenerKeys_=[],this.sourceTiles_.forEach(({tile:t})=>{const i=t.getState();if(i==z1.IDLE||i==z1.LOADING){e++;const r=M0(t,t0.CHANGE,a=>{const s=t.getState();(s==z1.LOADED||s==z1.ERROR||s==z1.EMPTY)&&(be(r),e--,e===0&&(this.unlistenSources_(),this.reproject_()))});this.sourcesListenerKeys_.push(r)}}),e===0?setTimeout(this.reproject_.bind(this),0):this.sourceTiles_.forEach(function({tile:t},i,r){t.getState()==z1.IDLE&&t.load()})}}unlistenSources_(){this.sourcesListenerKeys_.forEach(be),this.sourcesListenerKeys_=null}release(){this.canvas_&&(zl(this.canvas_.getContext("2d")),s4.push(this.canvas_),this.canvas_=null),this.sourceTiles_.length=0,super.release()}}const lC=DJ;class OJ{constructor(e){this.highWaterMark=e!==void 0?e:2048,this.count_=0,this.entries_={},this.oldest_=null,this.newest_=null}deleteOldest(){const e=this.pop();e instanceof Pl&&e.dispose()}canExpireCache(){return this.highWaterMark>0&&this.getCount()>this.highWaterMark}expireCache(e){for(;this.canExpireCache();)this.deleteOldest()}clear(){for(;this.oldest_;)this.deleteOldest()}containsKey(e){return this.entries_.hasOwnProperty(e)}forEach(e){let t=this.oldest_;for(;t;)e(t.value_,t.key_,this),t=t.newer}get(e,t){const i=this.entries_[e];return ne(i!==void 0,"Tried to get a value for a key that does not exist in the cache"),i===this.newest_||(i===this.oldest_?(this.oldest_=this.oldest_.newer,this.oldest_.older=null):(i.newer.older=i.older,i.older.newer=i.newer),i.newer=null,i.older=this.newest_,this.newest_.newer=i,this.newest_=i),i.value_}remove(e){const t=this.entries_[e];return ne(t!==void 0,"Tried to get a value for a key that does not exist in the cache"),t===this.newest_?(this.newest_=t.older,this.newest_&&(this.newest_.newer=null)):t===this.oldest_?(this.oldest_=t.newer,this.oldest_&&(this.oldest_.older=null)):(t.newer.older=t.older,t.older.newer=t.newer),delete this.entries_[e],--this.count_,t.value_}getCount(){return this.count_}getKeys(){const e=new Array(this.count_);let t=0,i;for(i=this.newest_;i;i=i.older)e[t++]=i.key_;return e}getValues(){const e=new Array(this.count_);let t=0,i;for(i=this.newest_;i;i=i.older)e[t++]=i.value_;return e}peekLast(){return this.oldest_.value_}peekLastKey(){return this.oldest_.key_}peekFirstKey(){return this.newest_.key_}peek(e){var t;return(t=this.entries_[e])==null?void 0:t.value_}pop(){const e=this.oldest_;return delete this.entries_[e.key_],e.newer&&(e.newer.older=null),this.oldest_=e.newer,this.oldest_||(this.newest_=null),--this.count_,e.value_}replace(e,t){this.get(e),this.entries_[e].value_=t}set(e,t){ne(!(e in this.entries_),"Tried to set a value for a key that is used already");const i={key_:e,newer:null,older:this.newest_,value_:t};this.newest_?this.newest_.newer=i:this.oldest_=i,this.newest_=i,this.entries_[e]=i,++this.count_}setSize(e){this.highWaterMark=e}}const m_=OJ;function rl(n,e,t,i){return i!==void 0?(i[0]=n,i[1]=e,i[2]=t,i):[n,e,t]}function BJ(n,e,t){return n+"/"+e+"/"+t}function go(n,e,t,i,r){return`${j0(n)},${e},${BJ(t,i,r)}`}function uC(n){return GJ(n[0],n[1],n[2])}function GJ(n,e,t){return(e<<n)+t}function jJ(n,e){const t=n[0],i=n[1],r=n[2];if(e.getMinZoom()>t||t>e.getMaxZoom())return!1;const a=e.getFullTileRange(t);return a?a.containsXY(i,r):!0}function fd(n,e,t){if(!(t in n))return n[t]=new Set([e]),!0;const i=n[t],r=i.has(e);return r||i.add(e),!r}function zJ(n,e,t){const i=n[t];return i?i.delete(e):!1}function g_(n,e){const t=n.layerStatesArray[n.layerIndex];t.extent&&(e=O5(e,F5(t.extent,n.viewState.projection)));const i=t.layer.getRenderSource();if(!i.getWrapX()){const r=i.getTileGridForProjection(n.viewState.projection).getExtent();r&&(e=O5(e,r))}return e}class UJ extends dm{constructor(e,t){super(e),t=t||{},this.extentChanged=!0,this.renderComplete=!1,this.renderedExtent_=null,this.renderedPixelRatio,this.renderedProjection=null,this.renderedTiles=[],this.renderedSourceKey_,this.renderedSourceRevision_,this.tempExtent=zn(),this.tempTileRange_=new rC(0,0,0,0),this.tempTileCoord_=rl(0,0,0);const i=t.cacheSize!==void 0?t.cacheSize:512;this.tileCache_=new m_(i),this.sourceTileCache_=null,this.layerExtent=null,this.maxStaleKeys=i*.5}getTileCache(){return this.tileCache_}getSourceTileCache(){return this.sourceTileCache_||(this.sourceTileCache_=new m_(512)),this.sourceTileCache_}getOrCreateTile(e,t,i,r){const a=this.tileCache_,o=this.getLayer().getSource(),l=go(o,o.getKey(),e,t,i);let c;if(a.containsKey(l))c=a.get(l);else{const d=r.viewState.projection,f=o.getProjection();if(c=o.getTile(e,t,i,r.pixelRatio,d,!f||x8(f,d)?void 0:this.getSourceTileCache()),!c)return null;a.set(l,c)}return c}getTile(e,t,i,r){const a=this.getOrCreateTile(e,t,i,r);return a||null}getData(e){const t=this.frameState;if(!t)return null;const i=this.getLayer(),r=yt(t.pixelToCoordinateTransform,e.slice()),a=i.getExtent();if(a&&!L8(a,r))return null;const s=t.viewState,o=i.getRenderSource(),l=o.getTileGridForProjection(s.projection),c=o.getTilePixelRatio(t.pixelRatio);for(let d=l.getZForResolution(s.resolution);d>=l.getMinZoom();--d){const f=l.getTileCoordForCoordAndZ(r,d),p=this.getTile(d,f[1],f[2],t);if(!p||p.getState()!==z1.LOADED)continue;const y=l.getOrigin(d),w=En(l.getTileSize(d)),M=l.getResolution(d);let P;if(p instanceof nC||p instanceof lC)P=p.getImage();else if(p instanceof d_){if(P=wh(p.getData()),!P)continue}else continue;const D=Math.floor(c*((r[0]-y[0])/M-f[1]*w[0])),B=Math.floor(c*((y[1]-r[1])/M-f[2]*w[1])),V=Math.round(c*o.getGutterForProjection(s.projection));return this.getImageData(P,D+V,B+V)}return null}prepareFrame(e){var r;this.renderedProjection?e.viewState.projection!==this.renderedProjection&&(this.tileCache_.clear(),this.renderedProjection=e.viewState.projection):this.renderedProjection=e.viewState.projection;const t=this.getLayer().getSource();if(!t)return!1;const i=t.getRevision();return this.renderedSourceRevision_?this.renderedSourceRevision_!==i&&(this.renderedSourceRevision_=i,this.renderedSourceKey_===t.getKey()&&(this.tileCache_.clear(),(r=this.sourceTileCache_)==null||r.clear())):this.renderedSourceRevision_=i,!0}enqueueTilesForNextExtent(){return!0}enqueueTiles(e,t,i,r,a){const s=e.viewState,o=this.getLayer(),l=o.getRenderSource(),c=l.getTileGridForProjection(s.projection),d=j0(l);d in e.wantedTiles||(e.wantedTiles[d]={});const f=e.wantedTiles[d],p=o.getMapInternal(),y=Math.max(i-a,c.getMinZoom(),c.getZForResolution(Math.min(o.getMaxResolution(),p?p.getView().getResolutionForZoom(Math.max(o.getMinZoom(),0)):c.getResolution(0)),l.zDirection)),w=s.rotation,M=w?qS(s.center,s.resolution,w,e.size):void 0;for(let P=i;P>=y;--P){const D=c.getTileRangeForExtentAndZ(t,P,this.tempTileRange_),B=c.getResolution(P);for(let V=D.minX;V<=D.maxX;++V)for(let Y=D.minY;Y<=D.maxY;++Y){if(w&&!c.tileCoordIntersectsViewport([P,V,Y],M))continue;const X=this.getTile(P,V,Y,e);if(!X||!fd(r,X,P))continue;const z2=X.getKey();if(f[z2]=!0,X.getState()===z1.IDLE&&!e.tileQueue.isKeyQueued(z2)){const G2=rl(P,V,Y,this.tempTileCoord_);e.tileQueue.enqueue([X,d,c.getTileCoordCenter(G2),B])}}}}findStaleTile_(e,t){const i=this.tileCache_,r=e[0],a=e[1],s=e[2],o=this.getStaleKeys();for(let l=0;l<o.length;++l){const c=go(this.getLayer().getSource(),o[l],r,a,s);if(i.containsKey(c)){const d=i.peek(c);if(d.getState()===z1.LOADED)return d.endTransition(j0(this)),fd(t,d,r),!0}}return!1}findAltTiles_(e,t,i,r){const a=e.getTileRangeForTileCoordAndZ(t,i,this.tempTileRange_);if(!a)return!1;let s=!0;const o=this.tileCache_,l=this.getLayer().getRenderSource(),c=l.getKey();for(let d=a.minX;d<=a.maxX;++d)for(let f=a.minY;f<=a.maxY;++f){const p=go(l,c,i,d,f);let y=!1;if(o.containsKey(p)){const w=o.peek(p);w.getState()===z1.LOADED&&(fd(r,w,i),y=!0)}y||(s=!1)}return s}renderFrame(e,t){this.renderComplete=!0;const i=e.layerStatesArray[e.layerIndex],r=e.viewState,a=r.projection,s=r.resolution,o=r.center,l=e.pixelRatio,c=this.getLayer(),d=c.getSource(),f=d.getTileGridForProjection(a),p=f.getZForResolution(s,d.zDirection),y=f.getResolution(p),w=d.getKey();this.renderedSourceKey_?this.renderedSourceKey_!==w&&(this.prependStaleKey(this.renderedSourceKey_),this.renderedSourceKey_=w):this.renderedSourceKey_=w;let M=e.extent;const P=d.getTilePixelRatio(l);this.prepareContainer(e,t);const D=this.context.canvas.width,B=this.context.canvas.height;this.layerExtent=i.extent?F5(i.extent):null,this.layerExtent&&(M=O5(M,this.layerExtent));const V=y*D/2/P,Y=y*B/2/P,X=[o[0]-V,o[1]-Y,o[0]+V,o[1]+Y],P2={};this.renderedTiles.length=0;const z2=c.getPreload();if(e.nextExtent&&this.enqueueTilesForNextExtent()){const m3=f.getZForResolution(r.nextResolution,d.zDirection),M3=g_(e,e.nextExtent);this.enqueueTiles(e,M3,m3,P2,z2)}const G2=g_(e,M);if(this.enqueueTiles(e,G2,p,P2,0),z2>0&&setTimeout(()=>{this.enqueueTiles(e,G2,p-1,P2,z2-1)},0),!(p in P2))return this.container;const N2=j0(this),V2=e.time;for(const m3 of P2[p]){const M3=m3.getState();if(M3===z1.EMPTY)continue;const N3=m3.tileCoord;if(M3===z1.LOADED&&m3.getAlpha(N2,V2)===1){m3.endTransition(N2);continue}if(M3!==z1.ERROR&&(this.renderComplete=!1),this.findStaleTile_(N3,P2)){zJ(P2,m3,p),e.animate=!0;continue}if(this.findAltTiles_(f,N3,p+1,P2))continue;const _3=f.getMinZoom();for(let L3=p-1;L3>=_3&&!this.findAltTiles_(f,N3,L3,P2);--L3);}const Y2=y/s*l/P,o3=this.getRenderContext(e);d5(this.tempTransform,D/2,B/2,Y2,Y2,0,-D/2,-B/2),this.layerExtent&&this.clipUnrotated(o3,e,this.layerExtent),d.getInterpolate()||(o3.imageSmoothingEnabled=!1),this.preRender(o3,e);const r3=Object.keys(P2).map(Number);r3.sort(D5);let y3;const K2=[],C3=[];for(let m3=r3.length-1;m3>=0;--m3){const M3=r3[m3],N3=d.getTilePixelSize(M3,l,a),u3=f.getResolution(M3)/y,_3=N3[0]*u3*Y2,L3=N3[1]*u3*Y2,F3=f.getTileCoordForCoordAndZ(z8(X),M3),K3=f.getTileCoordExtent(F3),w2=yt(this.tempTransform,[P*(K3[0]-X[0])/y,P*(X[3]-K3[3])/y]),a3=P*d.getGutterForProjection(a);for(const k3 of P2[M3]){if(k3.getState()!==z1.LOADED)continue;const J3=k3.tileCoord,Q3=F3[1]-J3[1],l1=Math.round(w2[0]-(Q3-1)*_3),c1=F3[2]-J3[2],B1=Math.round(w2[1]-(c1-1)*L3),y1=Math.round(w2[0]-Q3*_3),b1=Math.round(w2[1]-c1*L3),O=l1-y1,A1=B1-b1,I1=r3.length===1;let F1=!1;y3=[y1,b1,y1+O,b1,y1+O,b1+A1,y1,b1+A1];for(let S1=0,H2=K2.length;S1<H2;++S1)if(!I1&&M3<C3[S1]){const c2=K2[S1];an([y1,b1,y1+O,b1+A1],[c2[0],c2[3],c2[4],c2[7]])&&(F1||(o3.save(),F1=!0),o3.beginPath(),o3.moveTo(y3[0],y3[1]),o3.lineTo(y3[2],y3[3]),o3.lineTo(y3[4],y3[5]),o3.lineTo(y3[6],y3[7]),o3.moveTo(c2[6],c2[7]),o3.lineTo(c2[4],c2[5]),o3.lineTo(c2[2],c2[3]),o3.lineTo(c2[0],c2[1]),o3.clip())}K2.push(y3),C3.push(M3),this.drawTile(k3,e,y1,b1,O,A1,a3,I1),F1&&o3.restore(),this.renderedTiles.unshift(k3),this.updateUsedTiles(e.usedTiles,d,k3)}}if(this.renderedResolution=y,this.extentChanged=!this.renderedExtent_||!p4(this.renderedExtent_,X),this.renderedExtent_=X,this.renderedPixelRatio=l,this.postRender(this.context,e),this.layerExtent&&o3.restore(),o3.imageSmoothingEnabled=!0,this.renderComplete){const m3=(M3,N3)=>{var L3;const q2=j0(d),u3=N3.wantedTiles[q2],_3=u3?Object.keys(u3).length:0;this.updateCacheSize(_3),this.tileCache_.expireCache(),(L3=this.sourceTileCache_)==null||L3.expireCache()};e.postRenderFunctions.push(m3)}return this.container}updateCacheSize(e){this.tileCache_.highWaterMark=Math.max(this.tileCache_.highWaterMark,e*2)}drawTile(e,t,i,r,a,s,o,l){let c;if(e instanceof d_){if(c=wh(e.getData()),!c)throw new Error("Rendering array data is not yet supported")}else c=this.getTileImage(e);if(!c)return;const d=this.getRenderContext(t),f=j0(this),p=t.layerStatesArray[t.layerIndex],y=p.opacity*(l?e.getAlpha(f,t.time):1),w=y!==d.globalAlpha;w&&(d.save(),d.globalAlpha=y),d.drawImage(c,o,o,c.width-2*o,c.height-2*o,i,r,a,s),w&&d.restore(),y!==p.opacity?t.animate=!0:l&&e.endTransition(f)}getImage(){const e=this.context;return e?e.canvas:null}getTileImage(e){return e.getImage()}updateUsedTiles(e,t,i){const r=j0(t);r in e||(e[r]={}),e[r][i.getKey()]=!0}}const $J=UJ,Zs={PRELOAD:"preload",USE_INTERIM_TILES_ON_ERROR:"useInterimTilesOnError"};class WJ extends ea{constructor(e){e=e||{};const t=Object.assign({},e),i=e.cacheSize;delete e.cacheSize,delete t.preload,delete t.useInterimTilesOnError,super(t),this.on,this.once,this.un,this.cacheSize_=i,this.setPreload(e.preload!==void 0?e.preload:0),this.setUseInterimTilesOnError(e.useInterimTilesOnError!==void 0?e.useInterimTilesOnError:!0)}getCacheSize(){return this.cacheSize_}getPreload(){return this.get(Zs.PRELOAD)}setPreload(e){this.set(Zs.PRELOAD,e)}getUseInterimTilesOnError(){return this.get(Zs.USE_INTERIM_TILES_ON_ERROR)}setUseInterimTilesOnError(e){this.set(Zs.USE_INTERIM_TILES_ON_ERROR,e)}getData(e){return super.getData(e)}}const VJ=WJ;class HJ extends VJ{constructor(e){super(e)}createRenderer(){return new $J(this,{cacheSize:this.getCacheSize()})}}const p_=HJ;class YJ{drawCustom(e,t,i,r,a){}drawGeometry(e){}setStyle(e){}drawCircle(e,t,i){}drawFeature(e,t,i){}drawGeometryCollection(e,t,i){}drawLineString(e,t,i){}drawMultiLineString(e,t,i){}drawMultiPoint(e,t,i){}drawMultiPolygon(e,t,i){}drawPoint(e,t,i){}drawPolygon(e,t,i){}drawText(e,t,i){}setFillStrokeStyle(e,t){}setImageStyle(e,t){}setTextStyle(e,t){}}const cC=YJ,na={BEGIN_GEOMETRY:0,BEGIN_PATH:1,CIRCLE:2,CLOSE_PATH:3,CUSTOM:4,DRAW_CHARS:5,DRAW_IMAGE:6,END_GEOMETRY:7,FILL:8,MOVE_TO_LINE_TO:9,SET_FILL_STYLE:10,SET_STROKE_STYLE:11,STROKE:12},Js=[na.FILL],P9=[na.STROKE],C8=[na.BEGIN_PATH],y_=[na.CLOSE_PATH],W1=na;class KJ extends cC{constructor(e,t,i,r){super(),this.tolerance=e,this.maxExtent=t,this.pixelRatio=r,this.maxLineWidth=0,this.resolution=i,this.beginGeometryInstruction1_=null,this.beginGeometryInstruction2_=null,this.bufferedMaxExtent_=null,this.instructions=[],this.coordinates=[],this.tmpCoordinate_=[],this.hitDetectionInstructions=[],this.state={}}applyPixelRatio(e){const t=this.pixelRatio;return t==1?e:e.map(function(i){return i*t})}appendFlatPointCoordinates(e,t){const i=this.getBufferedMaxExtent(),r=this.tmpCoordinate_,a=this.coordinates;let s=a.length;for(let o=0,l=e.length;o<l;o+=t)r[0]=e[o],r[1]=e[o+1],L8(i,r)&&(a[s++]=r[0],a[s++]=r[1]);return s}appendFlatLineCoordinates(e,t,i,r,a,s){const o=this.coordinates;let l=o.length;const c=this.getBufferedMaxExtent();s&&(t+=r);let d=e[t],f=e[t+1];const p=this.tmpCoordinate_;let y=!0,w,M,P;for(w=t+r;w<i;w+=r)p[0]=e[w],p[1]=e[w+1],P=rh(c,p),P!==M?(y&&(o[l++]=d,o[l++]=f,y=!1),o[l++]=p[0],o[l++]=p[1]):P===Tt.INTERSECTING?(o[l++]=p[0],o[l++]=p[1],y=!1):y=!0,d=p[0],f=p[1],M=P;return(a&&y||w===t+r)&&(o[l++]=d,o[l++]=f),l}drawCustomCoordinates_(e,t,i,r,a){for(let s=0,o=i.length;s<o;++s){const l=i[s],c=this.appendFlatLineCoordinates(e,t,l,r,!1,!1);a.push(c),t=l}return t}drawCustom(e,t,i,r,a){this.beginGeometry(e,t,a);const s=e.getType(),o=e.getStride(),l=this.coordinates.length;let c,d,f,p,y;switch(s){case"MultiPolygon":c=e.getOrientedFlatCoordinates(),p=[];const w=e.getEndss();y=0;for(let M=0,P=w.length;M<P;++M){const D=[];y=this.drawCustomCoordinates_(c,y,w[M],o,D),p.push(D)}this.instructions.push([W1.CUSTOM,l,p,e,i,dh,a]),this.hitDetectionInstructions.push([W1.CUSTOM,l,p,e,r||i,dh,a]);break;case"Polygon":case"MultiLineString":f=[],c=s=="Polygon"?e.getOrientedFlatCoordinates():e.getFlatCoordinates(),y=this.drawCustomCoordinates_(c,0,e.getEnds(),o,f),this.instructions.push([W1.CUSTOM,l,f,e,i,Er,a]),this.hitDetectionInstructions.push([W1.CUSTOM,l,f,e,r||i,Er,a]);break;case"LineString":case"Circle":c=e.getFlatCoordinates(),d=this.appendFlatLineCoordinates(c,0,c.length,o,!1,!1),this.instructions.push([W1.CUSTOM,l,d,e,i,x9,a]),this.hitDetectionInstructions.push([W1.CUSTOM,l,d,e,r||i,x9,a]);break;case"MultiPoint":c=e.getFlatCoordinates(),d=this.appendFlatPointCoordinates(c,o),d>l&&(this.instructions.push([W1.CUSTOM,l,d,e,i,x9,a]),this.hitDetectionInstructions.push([W1.CUSTOM,l,d,e,r||i,x9,a]));break;case"Point":c=e.getFlatCoordinates(),this.coordinates.push(c[0],c[1]),d=this.coordinates.length,this.instructions.push([W1.CUSTOM,l,d,e,i,void 0,a]),this.hitDetectionInstructions.push([W1.CUSTOM,l,d,e,r||i,void 0,a]);break}this.endGeometry(t)}beginGeometry(e,t,i){this.beginGeometryInstruction1_=[W1.BEGIN_GEOMETRY,t,0,e,i],this.instructions.push(this.beginGeometryInstruction1_),this.beginGeometryInstruction2_=[W1.BEGIN_GEOMETRY,t,0,e,i],this.hitDetectionInstructions.push(this.beginGeometryInstruction2_)}finish(){return{instructions:this.instructions,hitDetectionInstructions:this.hitDetectionInstructions,coordinates:this.coordinates}}reverseHitDetectionInstructions(){const e=this.hitDetectionInstructions;e.reverse();let t;const i=e.length;let r,a,s=-1;for(t=0;t<i;++t)r=e[t],a=r[0],a==W1.END_GEOMETRY?s=t:a==W1.BEGIN_GEOMETRY&&(r[2]=t,NY(this.hitDetectionInstructions,s,t),s=-1)}fillStyleToState(e,t={}){var i;if(e){const r=e.getColor();t.fillPatternScale=r&&typeof r=="object"&&"src"in r?this.pixelRatio:1,t.fillStyle=(i=e5(r||Cn))!=null?i:void 0}else t.fillStyle=void 0;return t}strokeStyleToState(e,t={}){if(e){const i=e.getColor();t.strokeStyle=e5(i||s5);const r=e.getLineCap();t.lineCap=r!==void 0?r:v4;const a=e.getLineDash();t.lineDash=a?a.slice():B5;const s=e.getLineDashOffset();t.lineDashOffset=s||G5;const o=e.getLineJoin();t.lineJoin=o!==void 0?o:_4;const l=e.getWidth();t.lineWidth=l!==void 0?l:Rr;const c=e.getMiterLimit();t.miterLimit=c!==void 0?c:Mr;const d=e.getOffset();t.strokeOffset=d!=null?d:lZ,t.lineWidth>this.maxLineWidth&&(this.maxLineWidth=t.lineWidth,this.bufferedMaxExtent_=null)}else t.strokeStyle=void 0,t.lineCap=void 0,t.lineDash=null,t.lineDashOffset=void 0,t.lineJoin=void 0,t.lineWidth=void 0,t.miterLimit=void 0,t.strokeOffset=void 0;return t}setFillStrokeStyle(e,t){const i=this.state;this.fillStyleToState(e,i),this.strokeStyleToState(t,i)}createFill(e){const t=e.fillStyle,i=[W1.SET_FILL_STYLE,t];return typeof t!="string"&&i.push(e.fillPatternScale),i}applyStroke(e){this.instructions.push(this.createStroke(e))}createStroke(e){return[W1.SET_STROKE_STYLE,e.strokeStyle,e.lineWidth*this.pixelRatio,e.lineCap,e.lineJoin,e.miterLimit,e.lineDash?this.applyPixelRatio(e.lineDash):null,e.lineDashOffset*this.pixelRatio]}updateFillStyle(e,t){const i=e.fillStyle;(i!==void 0&&typeof i!="string"||e.currentFillStyle!=i)&&(this.instructions.push(t.call(this,e)),e.currentFillStyle=i)}updateStrokeStyle(e,t){const i=e.strokeStyle,r=e.lineCap,a=e.lineDash,s=e.lineDashOffset,o=e.lineJoin,l=e.lineWidth,c=e.miterLimit,d=e.strokeOffset;(e.currentStrokeStyle!=i||e.currentLineCap!=r||a!=e.currentLineDash&&!z9(e.currentLineDash,a)||e.currentLineDashOffset!=s||e.currentLineJoin!=o||e.currentLineWidth!=l||e.currentMiterLimit!=c||e.currentStrokeOffset!=d)&&(t.call(this,e),e.currentStrokeStyle=i,e.currentLineCap=r,e.currentLineDash=a,e.currentLineDashOffset=s,e.currentLineJoin=o,e.currentLineWidth=l,e.currentMiterLimit=c,e.currentStrokeOffset=d)}endGeometry(e){this.beginGeometryInstruction1_[2]=this.instructions.length,this.beginGeometryInstruction1_=null,this.beginGeometryInstruction2_[2]=this.hitDetectionInstructions.length,this.beginGeometryInstruction2_=null;const t=[W1.END_GEOMETRY,e];this.instructions.push(t),this.hitDetectionInstructions.push(t)}getBufferedMaxExtent(){if(!this.bufferedMaxExtent_&&(this.bufferedMaxExtent_=WS(this.maxExtent),this.maxLineWidth>0)){const e=this.resolution*(this.maxLineWidth+1)/2;wr(this.bufferedMaxExtent_,e,this.bufferedMaxExtent_)}return this.bufferedMaxExtent_}}const ia=KJ;class qJ extends ia{constructor(e,t,i,r){super(e,t,i,r),this.hitDetectionImage_=null,this.image_=null,this.imagePixelRatio_=void 0,this.anchorX_=void 0,this.anchorY_=void 0,this.height_=void 0,this.opacity_=void 0,this.originX_=void 0,this.originY_=void 0,this.rotateWithView_=void 0,this.rotation_=void 0,this.scale_=void 0,this.width_=void 0,this.declutterMode_=void 0,this.declutterImageWithText_=void 0}drawPoint(e,t,i){if(!this.image_||this.maxExtent&&!L8(this.maxExtent,e.getFlatCoordinates()))return;this.beginGeometry(e,t,i);const r=e.getFlatCoordinates(),a=e.getStride(),s=this.coordinates.length,o=this.appendFlatPointCoordinates(r,a);this.instructions.push([W1.DRAW_IMAGE,s,o,this.image_,this.anchorX_*this.imagePixelRatio_,this.anchorY_*this.imagePixelRatio_,Math.ceil(this.height_*this.imagePixelRatio_),this.opacity_,this.originX_*this.imagePixelRatio_,this.originY_*this.imagePixelRatio_,this.rotateWithView_,this.rotation_,[this.scale_[0]*this.pixelRatio/this.imagePixelRatio_,this.scale_[1]*this.pixelRatio/this.imagePixelRatio_],Math.ceil(this.width_*this.imagePixelRatio_),this.declutterMode_,this.declutterImageWithText_]),this.hitDetectionInstructions.push([W1.DRAW_IMAGE,s,o,this.hitDetectionImage_,this.anchorX_,this.anchorY_,this.height_,1,this.originX_,this.originY_,this.rotateWithView_,this.rotation_,this.scale_,this.width_,this.declutterMode_,this.declutterImageWithText_]),this.endGeometry(t)}drawMultiPoint(e,t,i){if(!this.image_)return;this.beginGeometry(e,t,i);const r=e.getFlatCoordinates(),a=[];for(let l=0,c=r.length;l<c;l+=e.getStride())(!this.maxExtent||L8(this.maxExtent,r.slice(l,l+2)))&&a.push(r[l],r[l+1]);const s=this.coordinates.length,o=this.appendFlatPointCoordinates(a,2);this.instructions.push([W1.DRAW_IMAGE,s,o,this.image_,this.anchorX_*this.imagePixelRatio_,this.anchorY_*this.imagePixelRatio_,Math.ceil(this.height_*this.imagePixelRatio_),this.opacity_,this.originX_*this.imagePixelRatio_,this.originY_*this.imagePixelRatio_,this.rotateWithView_,this.rotation_,[this.scale_[0]*this.pixelRatio/this.imagePixelRatio_,this.scale_[1]*this.pixelRatio/this.imagePixelRatio_],Math.ceil(this.width_*this.imagePixelRatio_),this.declutterMode_,this.declutterImageWithText_]),this.hitDetectionInstructions.push([W1.DRAW_IMAGE,s,o,this.hitDetectionImage_,this.anchorX_,this.anchorY_,this.height_,1,this.originX_,this.originY_,this.rotateWithView_,this.rotation_,this.scale_,this.width_,this.declutterMode_,this.declutterImageWithText_]),this.endGeometry(t)}finish(){return this.reverseHitDetectionInstructions(),this.anchorX_=void 0,this.anchorY_=void 0,this.hitDetectionImage_=null,this.image_=null,this.imagePixelRatio_=void 0,this.height_=void 0,this.scale_=void 0,this.opacity_=void 0,this.originX_=void 0,this.originY_=void 0,this.rotateWithView_=void 0,this.rotation_=void 0,this.width_=void 0,super.finish()}setImageStyle(e,t){const i=e.getAnchor(),r=e.getSize(),a=e.getOrigin();this.imagePixelRatio_=e.getPixelRatio(this.pixelRatio),this.anchorX_=i[0],this.anchorY_=i[1],this.hitDetectionImage_=e.getHitDetectionImage(),this.image_=e.getImage(this.pixelRatio),this.height_=r[1],this.opacity_=e.getOpacity(),this.originX_=a[0],this.originY_=a[1],this.rotateWithView_=e.getRotateWithView(),this.rotation_=e.getRotation(),this.scale_=e.getScaleArray(),this.width_=r[0],this.declutterMode_=e.getDeclutterMode(),this.declutterImageWithText_=t}}const XJ=qJ;class ZJ extends ia{constructor(e,t,i,r){super(e,t,i,r)}drawFlatCoordinates_(e,t,i,r,a){const s=this.coordinates.length,o=this.appendFlatLineCoordinates(e,t,i,r,!1,!1);return this.instructions.push([W1.MOVE_TO_LINE_TO,s,o,a*this.pixelRatio]),this.hitDetectionInstructions.push([W1.MOVE_TO_LINE_TO,s,o,a]),i}drawLineString(e,t,i){const r=this.state,a=r.strokeStyle,s=r.lineWidth,o=r.strokeOffset;if(a===void 0||s===void 0)return;this.updateStrokeStyle(r,this.applyStroke),this.beginGeometry(e,t,i),this.hitDetectionInstructions.push([W1.SET_STROKE_STYLE,s5,r.lineWidth,r.lineCap,r.lineJoin,r.miterLimit,B5,G5],C8);const l=e.getFlatCoordinates(),c=e.getStride();this.drawFlatCoordinates_(l,0,l.length,c,o),this.hitDetectionInstructions.push(P9),this.endGeometry(t)}drawMultiLineString(e,t,i){const r=this.state,a=r.strokeStyle,s=r.lineWidth,o=r.strokeOffset;if(a===void 0||s===void 0)return;this.updateStrokeStyle(r,this.applyStroke),this.beginGeometry(e,t,i),this.hitDetectionInstructions.push([W1.SET_STROKE_STYLE,s5,r.lineWidth,r.lineCap,r.lineJoin,r.miterLimit,B5,G5],C8);const l=e.getEnds(),c=e.getFlatCoordinates(),d=e.getStride();let f=0;for(let p=0,y=l.length;p<y;++p)f=this.drawFlatCoordinates_(c,f,l[p],d,o);this.hitDetectionInstructions.push(P9),this.endGeometry(t)}finish(){const e=this.state;return e.lastStroke!=null&&e.lastStroke!=this.coordinates.length&&this.instructions.push(P9),this.reverseHitDetectionInstructions(),this.state=null,super.finish()}applyStroke(e){e.lastStroke!=null&&e.lastStroke!=this.coordinates.length&&(this.instructions.push(P9),e.lastStroke=this.coordinates.length),e.lastStroke=0,super.applyStroke(e),this.instructions.push(C8)}}const JJ=ZJ;class QJ extends ia{constructor(e,t,i,r){super(e,t,i,r)}drawFlatCoordinatess_(e,t,i,r,a){const s=this.state,o=s.fillStyle!==void 0,l=s.strokeStyle!==void 0,c=i.length;this.instructions.push(C8),this.hitDetectionInstructions.push(C8);for(let d=0;d<c;++d){const f=i[d],p=this.coordinates.length,y=this.appendFlatLineCoordinates(e,t,f,r,!0,!l);this.instructions.push([W1.MOVE_TO_LINE_TO,p,y,a*this.pixelRatio,!0]),this.hitDetectionInstructions.push([W1.MOVE_TO_LINE_TO,p,y,a,!0]),l&&(this.instructions.push(y_),this.hitDetectionInstructions.push(y_)),t=f}return o&&(this.instructions.push(Js),this.hitDetectionInstructions.push(Js)),l&&(this.instructions.push(P9),this.hitDetectionInstructions.push(P9)),t}drawCircle(e,t,i){const r=this.state,a=r.fillStyle,s=r.strokeStyle,o=r.strokeOffset;if(a===void 0&&s===void 0||this.handleStrokeOffset_(()=>this.drawCircle(e,t,i)))return;this.setFillStrokeStyles_(),this.beginGeometry(e,t,i),r.fillStyle!==void 0&&this.hitDetectionInstructions.push([W1.SET_FILL_STYLE,Cn]),r.strokeStyle!==void 0&&this.hitDetectionInstructions.push([W1.SET_STROKE_STYLE,s5,r.lineWidth,r.lineCap,r.lineJoin,r.miterLimit,B5,G5]);const l=e.getFlatCoordinates(),c=e.getStride(),d=this.coordinates.length;this.appendFlatLineCoordinates(l,0,l.length,c,!1,!1);const f=[W1.CIRCLE,d,o];this.instructions.push(C8,f),this.hitDetectionInstructions.push(C8,f),r.fillStyle!==void 0&&(this.instructions.push(Js),this.hitDetectionInstructions.push(Js)),r.strokeStyle!==void 0&&(this.instructions.push(P9),this.hitDetectionInstructions.push(P9)),this.endGeometry(t)}drawPolygon(e,t,i){const r=this.state,a=r.fillStyle,s=r.strokeStyle,o=r.strokeOffset;if(a===void 0&&s===void 0||this.handleStrokeOffset_(()=>this.drawPolygon(e,t,i)))return;this.setFillStrokeStyles_(),this.beginGeometry(e,t,i),r.fillStyle!==void 0&&this.hitDetectionInstructions.push([W1.SET_FILL_STYLE,Cn]),r.strokeStyle!==void 0&&this.hitDetectionInstructions.push([W1.SET_STROKE_STYLE,s5,r.lineWidth,r.lineCap,r.lineJoin,r.miterLimit,B5,G5]);const l=e.getEnds(),c=e.getOrientedFlatCoordinates(),d=e.getStride();this.drawFlatCoordinatess_(c,0,l,d,o),this.endGeometry(t)}drawMultiPolygon(e,t,i){const r=this.state,a=r.fillStyle,s=r.strokeStyle,o=r.strokeOffset;if(a===void 0&&s===void 0||this.handleStrokeOffset_(()=>this.drawMultiPolygon(e,t,i)))return;this.setFillStrokeStyles_(),this.beginGeometry(e,t,i),r.fillStyle!==void 0&&this.hitDetectionInstructions.push([W1.SET_FILL_STYLE,Cn]),r.strokeStyle!==void 0&&this.hitDetectionInstructions.push([W1.SET_STROKE_STYLE,s5,r.lineWidth,r.lineCap,r.lineJoin,r.miterLimit,B5,G5]);const l=e.getEndss(),c=e.getOrientedFlatCoordinates(),d=e.getStride();let f=0;for(let p=0,y=l.length;p<y;++p)f=this.drawFlatCoordinatess_(c,f,l[p],d,o);this.endGeometry(t)}finish(){this.reverseHitDetectionInstructions(),this.state=null;const e=this.tolerance;if(e!==0){const t=this.coordinates;for(let i=0,r=t.length;i<r;++i)t[i]=h8(t[i],e)}return super.finish()}setFillStrokeStyles_(){const e=this.state;this.updateFillStyle(e,this.createFill),this.updateStrokeStyle(e,this.applyStroke)}handleStrokeOffset_(e){const t=this.state,i=t.fillStyle,r=t.strokeStyle,a=t.strokeOffset;return Math.abs(a)>0&&i!==void 0&&r!==void 0?(t.strokeStyle=void 0,t.strokeOffset=0,e(),t.fillStyle=void 0,t.strokeStyle=r,t.strokeOffset=a,e(),t.fillStyle=i,!0):!1}}const v_=QJ;function eQ(n,e,t,i,r){const a=[];let s=t,o=0,l=e.slice(t,2);for(;o<n&&s+r<i;){const[c,d]=l.slice(-2),f=e[s+r],p=e[s+r+1],y=Math.sqrt((f-c)*(f-c)+(p-d)*(p-d));if(o+=y,o>=n){const w=(n-o+y)/y,M=Bn(c,f,w),P=Bn(d,p,w);l.push(M,P),a.push(l),l=[M,P],o==n&&(s+=r),o=0}else if(o<n)l.push(e[s+r],e[s+r+1]),s+=r;else{const w=y-o,M=Bn(c,f,w/y),P=Bn(d,p,w/y);l.push(M,P),a.push(l),l=[M,P],o=0,s+=r}}return o>0&&a.push(l),a}function tQ(n,e,t,i,r){let a=t,s=t,o=0,l=0,c=t,d,f,p,y,w,M,P,D,B,V;for(f=t;f<i;f+=r){const Y=e[f],X=e[f+1];w!==void 0&&(B=Y-w,V=X-M,y=Math.sqrt(B*B+V*V),P!==void 0&&(l+=p,d=Math.acos((P*B+D*V)/(p*y)),d>n&&(l>o&&(o=l,a=c,s=f),l=0,c=f-r)),p=y,P=B,D=V),w=Y,M=X}return l+=y,l>o?[c,f]:[a,s]}const al={left:0,center:.5,right:1,top:0,middle:.5,hanging:.2,alphabetic:.8,ideographic:.8,bottom:1};class nQ extends ia{constructor(e,t,i,r){super(e,t,i,r),this.labels_=null,this.text_="",this.textOffsetX_=0,this.textOffsetY_=0,this.textRotateWithView_=void 0,this.textKeepUpright_=void 0,this.textRotation_=0,this.textFillState_=null,this.fillStates={},this.fillStates[Cn]={fillStyle:Cn},this.textStrokeState_=null,this.strokeStates={},this.textState_={},this.textStates={},this.textKey_="",this.fillKey_="",this.strokeKey_="",this.declutterMode_=void 0,this.declutterImageWithText_=void 0}finish(){const e=super.finish();return e.textStates=this.textStates,e.fillStates=this.fillStates,e.strokeStates=this.strokeStates,e}drawText(e,t,i){const r=this.textFillState_,a=this.textStrokeState_,s=this.textState_;if(this.text_===""||!s||!r&&!a)return;const o=this.coordinates;let l=o.length;const c=e.getType();let d=null,f=e.getStride();if(s.placement==="line"&&(c=="LineString"||c=="MultiLineString"||c=="Polygon"||c=="MultiPolygon")){if(!an(this.maxExtent,e.getExtent()))return;let p;if(d=e.getFlatCoordinates(),c=="LineString")p=[d.length];else if(c=="MultiLineString")p=e.getEnds();else if(c=="Polygon")p=e.getEnds().slice(0,1);else if(c=="MultiPolygon"){const P=e.getEndss();p=[];for(let D=0,B=P.length;D<B;++D)p.push(P[D][0])}this.beginGeometry(e,t,i);const y=s.repeat,w=y?void 0:s.textAlign;let M=0;for(let P=0,D=p.length;P<D;++P){let B;y?B=eQ(y*this.resolution,d,M,p[P],f):B=[d.slice(M,p[P])];for(let V=0,Y=B.length;V<Y;++V){const X=B[V];let P2=0,z2=X.length;if(w==null){const N2=tQ(s.maxAngle,X,0,X.length,2);P2=N2[0],z2=N2[1]}for(let N2=P2;N2<z2;N2+=f)o.push(X[N2],X[N2+1]);const G2=o.length;M=p[P],this.drawChars_(l,G2),l=G2}}this.endGeometry(t)}else{let p=s.overflow?null:[];switch(c){case"Point":case"MultiPoint":d=e.getFlatCoordinates();break;case"LineString":d=e.getFlatMidpoint();break;case"Circle":d=e.getCenter();break;case"MultiLineString":d=e.getFlatMidpoints(),f=2;break;case"Polygon":d=e.getFlatInteriorPoint(),s.overflow||p.push(d[2]/this.resolution),f=3;break;case"MultiPolygon":const Y=e.getFlatInteriorPoints();d=[];for(let X=0,P2=Y.length;X<P2;X+=3)s.overflow||p.push(Y[X+2]/this.resolution),d.push(Y[X],Y[X+1]);if(d.length===0)return;f=2;break}const y=this.appendFlatPointCoordinates(d,f);if(y===l)return;if(p&&(y-l)/2!==d.length/f){let Y=l/2;p=p.filter((X,P2)=>{const z2=o[(Y+P2)*2]===d[P2*f]&&o[(Y+P2)*2+1]===d[P2*f+1];return z2||--Y,z2})}this.saveTextStates_();const w=s.backgroundFill?this.createFill(this.fillStyleToState(s.backgroundFill)):null,M=s.backgroundStroke?this.createStroke(this.strokeStyleToState(s.backgroundStroke)):null;this.beginGeometry(e,t,i);let P=s.padding;if(P!=w8&&(s.scale[0]<0||s.scale[1]<0)){let Y=s.padding[0],X=s.padding[1],P2=s.padding[2],z2=s.padding[3];s.scale[0]<0&&(X=-X,z2=-z2),s.scale[1]<0&&(Y=-Y,P2=-P2),P=[Y,X,P2,z2]}const D=this.pixelRatio;this.instructions.push([W1.DRAW_IMAGE,l,y,null,NaN,NaN,NaN,1,0,0,this.textRotateWithView_,this.textRotation_,[1,1],NaN,this.declutterMode_,this.declutterImageWithText_,P==w8?w8:P.map(function(Y){return Y*D}),w,M,this.text_,this.textKey_,this.strokeKey_,this.fillKey_,this.textOffsetX_,this.textOffsetY_,p]);const B=1/D,V=w?w.slice(0):null;V&&(V[1]=Cn),this.hitDetectionInstructions.push([W1.DRAW_IMAGE,l,y,null,NaN,NaN,NaN,1,0,0,this.textRotateWithView_,this.textRotation_,[B,B],NaN,this.declutterMode_,this.declutterImageWithText_,P,V,M,this.text_,this.textKey_,this.strokeKey_,this.fillKey_?Cn:this.fillKey_,this.textOffsetX_,this.textOffsetY_,p]),this.endGeometry(t)}}saveTextStates_(){const e=this.textStrokeState_,t=this.textState_,i=this.textFillState_,r=this.strokeKey_;e&&(r in this.strokeStates||(this.strokeStates[r]={strokeStyle:e.strokeStyle,lineCap:e.lineCap,lineDashOffset:e.lineDashOffset,lineWidth:e.lineWidth,lineJoin:e.lineJoin,miterLimit:e.miterLimit,lineDash:e.lineDash}));const a=this.textKey_;a in this.textStates||(this.textStates[a]={font:t.font,textAlign:t.textAlign||kr,justify:t.justify,textBaseline:t.textBaseline||Xo,scale:t.scale});const s=this.fillKey_;i&&(s in this.fillStates||(this.fillStates[s]={fillStyle:i.fillStyle}))}drawChars_(e,t){const i=this.textStrokeState_,r=this.textState_,a=this.strokeKey_,s=this.textKey_,o=this.fillKey_;this.saveTextStates_();const l=this.pixelRatio,c=al[r.textBaseline],d=this.textOffsetY_*l,f=this.text_,p=i?i.lineWidth*Math.abs(r.scale[0])/2:0;this.instructions.push([W1.DRAW_CHARS,e,t,c,r.overflow,o,r.maxAngle,l,d,a,p*l,f,s,1,this.declutterMode_,this.textKeepUpright_]),this.hitDetectionInstructions.push([W1.DRAW_CHARS,e,t,c,r.overflow,o&&Cn,r.maxAngle,l,d,a,p*l,f,s,1/l,this.declutterMode_,this.textKeepUpright_])}setTextStyle(e,t){let i,r,a;if(!e)this.text_="";else{const s=e.getFill();s?(r=this.textFillState_,r||(r={},this.textFillState_=r),r.fillStyle=e5(s.getColor()||Cn)):(r=null,this.textFillState_=r);const o=e.getStroke();if(!o)a=null,this.textStrokeState_=a;else{a=this.textStrokeState_,a||(a={},this.textStrokeState_=a);const M=o.getLineDash(),P=o.getLineDashOffset(),D=o.getWidth(),B=o.getMiterLimit();a.lineCap=o.getLineCap()||v4,a.lineDash=M?M.slice():B5,a.lineDashOffset=P===void 0?G5:P,a.lineJoin=o.getLineJoin()||_4,a.lineWidth=D===void 0?Rr:D,a.miterLimit=B===void 0?Mr:B,a.strokeStyle=e5(o.getColor()||s5)}i=this.textState_;const l=e.getFont()||Ow;dZ(l);const c=e.getScaleArray();i.overflow=e.getOverflow(),i.font=l,i.maxAngle=e.getMaxAngle(),i.placement=e.getPlacement(),i.textAlign=e.getTextAlign(),i.repeat=e.getRepeat(),i.justify=e.getJustify(),i.textBaseline=e.getTextBaseline()||Xo,i.backgroundFill=e.getBackgroundFill(),i.backgroundStroke=e.getBackgroundStroke(),i.padding=e.getPadding()||w8,i.scale=c===void 0?[1,1]:c;const d=e.getOffsetX(),f=e.getOffsetY(),p=e.getRotateWithView(),y=e.getKeepUpright(),w=e.getRotation();this.text_=e.getText()||"",this.textOffsetX_=d===void 0?0:d,this.textOffsetY_=f===void 0?0:f,this.textRotateWithView_=p===void 0?!1:p,this.textKeepUpright_=y===void 0?!0:y,this.textRotation_=w===void 0?0:w,this.strokeKey_=a?(typeof a.strokeStyle=="string"?a.strokeStyle:j0(a.strokeStyle))+a.lineCap+a.lineDashOffset+"|"+a.lineWidth+a.lineJoin+a.miterLimit+"["+a.lineDash.join()+"]":"",this.textKey_=i.font+i.scale+(i.textAlign||"?")+(i.repeat||"?")+(i.justify||"?")+(i.textBaseline||"?"),this.fillKey_=r&&r.fillStyle?typeof r.fillStyle=="string"?r.fillStyle:"|"+j0(r.fillStyle):""}this.declutterMode_=e.getDeclutterMode(),this.declutterImageWithText_=t}}const iQ={Circle:v_,Default:ia,Image:XJ,LineString:JJ,Polygon:v_,Text:nQ};class rQ{constructor(e,t,i,r){this.tolerance_=e,this.maxExtent_=t,this.pixelRatio_=r,this.resolution_=i,this.buildersByZIndex_={}}finish(){const e={};for(const t in this.buildersByZIndex_){e[t]=e[t]||{};const i=this.buildersByZIndex_[t];for(const r in i){const a=i[r].finish();e[t][r]=a}}return e}getBuilder(e,t){const i=e!==void 0?e.toString():"0";let r=this.buildersByZIndex_[i];r===void 0&&(r={},this.buildersByZIndex_[i]=r);let a=r[t];if(a===void 0){const s=iQ[t];a=new s(this.tolerance_,this.maxExtent_,this.resolution_,this.pixelRatio_),r[t]=a}return a}}const aQ=rQ;function dC(n,e,t,i,r,a,s,o){s=s!=null?s:[],o=o!=null?o:i;const l=n[e+i],c=n[e+i+1],d=n[t-2*i],f=n[t-2*i+1];let p,y,w,M,P,D,B,V,Y=0;for(let X=e;X<t;X+=i){w=p,M=y,P=void 0,D=void 0,X+i<t&&(P=n[X+i],D=n[X+i+1]),a&&X===e&&(w=d,M=f),a&&X===t-i&&(P=l,D=c),p=n[X],y=n[X+1],[B,V]=sQ(p,y,w,M,P,D,r),s[Y++]=B,s[Y++]=V;for(let P2=2;P2<o;P2++)s[Y++]=n[X+P2]}return s.length!=Y&&(s.length=Y),s}function sQ(n,e,t,i,r,a,s){let o,l;t!==void 0&&i!==void 0?(o=n-t,l=e-i):r!==void 0&&a!==void 0?(o=r-n,l=a-e):(o=1,l=0);const c=Math.hypot(o,l),d=o/c,f=l/c;if(o=-f,l=d,t===void 0||i===void 0)return[n+o*s,e+l*s];if(r===void 0||a===void 0)return[n+o*s,e+l*s];const p=lK([n,e],[t,i],[r,a]);if(Math.cos(p)>.998)return[n+d*s,e+f*s];const y=Math.cos(p/2),w=Math.sin(p/2),M=w*o+y*l,P=-y*o+w*l,D=M*(1/w),B=P*(1/w);return[n+D*s,e+B*s]}function hC(n,e){for(let t=0,i=n.length-2;t<i;t+=e)for(let r=n.length-2*e;r>t+e;r-=e){const a=n[t],s=n[t+1],o=n[t+e],l=n[t+e+1],c=n[r],d=n[r+1],f=n[r+e],p=n[r+e+1],y=(p-d)*(o-a)-(f-c)*(l-s);if(y===0)continue;const w=((f-c)*(s-d)-(p-d)*(a-c))/y,M=((o-a)*(s-d)-(l-s)*(a-c))/y;if(w>0&&w<1&&M>0&&M<1){const P=a+w*(o-a),D=s+w*(l-s);n[t+e]=P,n[t+e+1]=D,n.splice(t+2*e,r-t-e);break}}return n}function oQ(n,e,t,i,r,a,s,o,l,c,d,f,p=!0){let y=n[e],w=n[e+1],M=0,P=0,D=0,B=0;function V(){M=y,P=w,e+=i,y=n[e],w=n[e+1],B+=D,D=Math.sqrt((y-M)*(y-M)+(w-P)*(w-P))}do V();while(e<t-i&&B+D<a);let Y=D===0?0:(a-B)/D;const X=Bn(M,y,Y),P2=Bn(P,w,Y),z2=e-i,G2=B,N2=a+o*l(c,r,d);for(;e<t-i&&B+D<N2;)V();Y=D===0?0:(N2-B)/D;const V2=Bn(M,y,Y),Y2=Bn(P,w,Y);let o3=!1;if(p)if(f){const m3=[X,P2,V2,Y2];uw(m3,0,4,2,f,m3,m3),o3=m3[0]>m3[2]}else o3=X>V2;const r3=Math.PI,y3=[],K2=z2+i===e;e=z2,D=0,B=G2,y=n[e],w=n[e+1];let C3;if(K2){V(),C3=Math.atan2(w-P,y-M),o3&&(C3+=C3>0?-r3:r3);const m3=(V2+X)/2,M3=(Y2+P2)/2;return y3[0]=[m3,M3,(N2-a)/2,C3,r],y3}r=r.replace(/\n/g," ");for(let m3=0,M3=r.length;m3<M3;){V();let N3=Math.atan2(w-P,y-M);if(o3&&(N3+=N3>0?-r3:r3),C3!==void 0){let K3=N3-C3;if(K3+=K3>r3?-2*r3:K3<-r3?2*r3:0,Math.abs(K3)>s)return null}C3=N3;const q2=m3;let u3=0;for(;m3<M3;++m3){const K3=o3?M3-m3-1:m3,w2=o*l(c,r[K3],d);if(e+i<t&&B+D<a+u3+w2/2)break;u3+=w2}if(m3===q2)continue;const _3=o3?r.substring(M3-q2,M3-m3):r.substring(q2,m3);Y=D===0?0:(a+u3/2-B)/D;const L3=Bn(M,y,Y),F3=Bn(P,w,Y);y3.push([L3,F3,u3/2,N3,_3]),a+=u3}return y3}const Mi=zn(),o9=[],M5=[],k5=[],l9=[];function __(n){return n[3].declutterBox}const b_=new RegExp("["+String.fromCharCode(1425)+"-"+String.fromCharCode(2303)+String.fromCharCode(64285)+"-"+String.fromCharCode(65023)+String.fromCharCode(65136)+"-"+String.fromCharCode(65276)+String.fromCharCode(67584)+"-"+String.fromCharCode(69631)+String.fromCharCode(124928)+"-"+String.fromCharCode(126975)+"]");function md(n,e){return e==="start"?e=b_.test(n)?"right":"left":e==="end"&&(e=b_.test(n)?"left":"right"),al[e]}function lQ(n,e,t){return t>0&&n.push(`
`,""),n.push(e,""),n}function uQ(n,e,t){return t%2===0&&(n+=e),n}class cQ{constructor(e,t,i,r,a){this.overlaps=i,this.pixelRatio=t,this.resolution=e,this.alignAndScaleFill_,this.instructions=r.instructions,this.coordinates=r.coordinates,this.coordinateCache_={},this.renderedTransform_=E6(),this.hitDetectionInstructions=r.hitDetectionInstructions,this.pixelCoordinates_=null,this.viewRotation_=0,this.fillStates=r.fillStates||{},this.strokeStates=r.strokeStates||{},this.textStates=r.textStates||{},this.widths_={},this.labels_={},this.zIndexContext_=a?new tC:null}getZIndexContext(){return this.zIndexContext_}createLabel(e,t,i,r){const a=e+t+i+r;if(this.labels_[a])return this.labels_[a];const s=r?this.strokeStates[r]:null,o=i?this.fillStates[i]:null,l=this.textStates[t],c=this.pixelRatio,d=[l.scale[0]*c,l.scale[1]*c],f=l.justify?al[l.justify]:md(Array.isArray(e)?e[0]:e,l.textAlign||kr),p=r&&s.lineWidth?s.lineWidth:0,y=Array.isArray(e)?e:String(e).split(`
`).reduce(lQ,[]),{width:w,height:M,widths:P,heights:D,lineWidths:B}=fZ(l,y),V=w+p,Y=[],X=(V+2)*d[0],P2=(M+p)*d[1],z2={width:X<0?Math.floor(X):Math.ceil(X),height:P2<0?Math.floor(P2):Math.ceil(P2),contextInstructions:Y};(d[0]!=1||d[1]!=1)&&Y.push("scale",d),r&&(Y.push("strokeStyle",s.strokeStyle),Y.push("lineWidth",p),Y.push("lineCap",s.lineCap),Y.push("lineJoin",s.lineJoin),Y.push("miterLimit",s.miterLimit),Y.push("setLineDash",[s.lineDash]),Y.push("lineDashOffset",s.lineDashOffset)),i&&Y.push("fillStyle",o.fillStyle),Y.push("textBaseline","middle"),Y.push("textAlign","center");const G2=.5-f;let N2=f*V+G2*p;const V2=[],Y2=[];let o3=0,r3=0,y3=0,K2=0,C3;for(let m3=0,M3=y.length;m3<M3;m3+=2){const N3=y[m3];if(N3===`
`){r3+=o3,o3=0,N2=f*V+G2*p,++K2;continue}const q2=y[m3+1]||l.font;q2!==C3&&(r&&V2.push("font",q2),i&&Y2.push("font",q2),C3=q2),o3=Math.max(o3,D[y3]);const u3=[N3,N2+G2*P[y3]+f*(P[y3]-B[K2]),.5*(p+o3)+r3];N2+=P[y3],r&&V2.push("strokeText",u3),i&&Y2.push("fillText",u3),++y3}return Array.prototype.push.apply(Y,V2),Array.prototype.push.apply(Y,Y2),this.labels_[a]=z2,z2}replayTextBackground_(e,t,i,r,a,s,o){e.beginPath(),e.moveTo.apply(e,t),e.lineTo.apply(e,i),e.lineTo.apply(e,r),e.lineTo.apply(e,a),e.lineTo.apply(e,t),s&&(this.alignAndScaleFill_=s[2],e.fillStyle=s[1],this.fill_(e)),o&&(this.setStrokeStyle_(e,o),e.stroke())}calculateImageOrLabelDimensions_(e,t,i,r,a,s,o,l,c,d,f,p,y,w,M,P){o*=p[0],l*=p[1];let D=i-o,B=r-l;const V=a+c>e?e-c:a,Y=s+d>t?t-d:s,X=w[3]+V*p[0]+w[1],P2=w[0]+Y*p[1]+w[2],z2=D-w[3],G2=B-w[0];(M||f!==0)&&(o9[0]=z2,l9[0]=z2,o9[1]=G2,M5[1]=G2,M5[0]=z2+X,k5[0]=M5[0],k5[1]=G2+P2,l9[1]=k5[1]);let N2;return f!==0?(N2=d5(E6(),i,r,1,1,f,-i,-r),yt(N2,o9),yt(N2,M5),yt(N2,k5),yt(N2,l9),B9(Math.min(o9[0],M5[0],k5[0],l9[0]),Math.min(o9[1],M5[1],k5[1],l9[1]),Math.max(o9[0],M5[0],k5[0],l9[0]),Math.max(o9[1],M5[1],k5[1],l9[1]),Mi)):B9(Math.min(z2,z2+X),Math.min(G2,G2+P2),Math.max(z2,z2+X),Math.max(G2,G2+P2),Mi),y&&(D=Math.round(D),B=Math.round(B)),{drawImageX:D,drawImageY:B,drawImageW:V,drawImageH:Y,originX:c,originY:d,declutterBox:{minX:Mi[0],minY:Mi[1],maxX:Mi[2],maxY:Mi[3],value:P},canvasTransform:N2,scale:p}}replayImageOrLabel_(e,t,i,r,a,s,o){const l=!!(s||o),c=r.declutterBox,d=o?o[2]*r.scale[0]/2:0;return c.minX-d<=t[0]&&c.maxX+d>=0&&c.minY-d<=t[1]&&c.maxY+d>=0&&(l&&this.replayTextBackground_(e,o9,M5,k5,l9,s,o),mZ(e,r.canvasTransform,a,i,r.originX,r.originY,r.drawImageW,r.drawImageH,r.drawImageX,r.drawImageY,r.scale)),!0}fill_(e){const t=this.alignAndScaleFill_;if(t){const i=yt(this.renderedTransform_,[0,0]),r=512*this.pixelRatio;e.save(),e.translate(i[0]%r,i[1]%r),t!==1&&e.scale(t,t)}e.fill(),t&&e.restore()}setStrokeStyle_(e,t){e.strokeStyle=t[1],t[1]&&(e.lineWidth=t[2],e.lineCap=t[3],e.lineJoin=t[4],e.miterLimit=t[5],e.lineDashOffset=t[7],e.setLineDash(t[6]))}drawLabelWithPointPlacement_(e,t,i,r){const a=this.textStates[t],s=this.createLabel(e,t,r,i),o=this.strokeStates[i],l=this.pixelRatio,c=md(Array.isArray(e)?e[0]:e,a.textAlign||kr),d=al[a.textBaseline||Xo],f=o&&o.lineWidth?o.lineWidth:0,p=s.width/l-2*a.scale[0],y=c*p+2*(.5-c)*f,w=d*s.height/l+2*(.5-d)*f;return{label:s,anchorX:y,anchorY:w}}execute_(e,t,i,r,a,s,o,l){var F3,K3;const c=this.zIndexContext_;let d;this.pixelCoordinates_&&z9(i,this.renderedTransform_)?d=this.pixelCoordinates_:(this.pixelCoordinates_||(this.pixelCoordinates_=[]),d=I9(this.coordinates,0,this.coordinates.length,2,i,this.pixelCoordinates_),WK(this.renderedTransform_,i));let f=0;const p=r.length;let y=0,w;const M=[];let P,D,B,V,Y,X,P2,z2,G2,N2,V2,Y2,o3,r3=0,y3=0;const K2=this.coordinateCache_,C3=this.viewRotation_,m3=Math.round(Math.atan2(-i[1],i[0])*1e12)/1e12,M3={context:e,pixelRatio:this.pixelRatio,resolution:this.resolution,rotation:C3},N3=this.instructions!=r||this.overlaps?0:200;let q2,u3,_3,L3;for(;f<p;){const w2=r[f];switch(w2[0]){case W1.BEGIN_GEOMETRY:q2=w2[1],L3=w2[3],q2.getGeometry()?o!==void 0&&!an(o,L3.getExtent())?f=w2[2]+1:++f:f=w2[2],c&&(c.zIndex=w2[4]);break;case W1.BEGIN_PATH:r3>N3&&(this.fill_(e),r3=0),y3>N3&&(e.stroke(),y3=0),!r3&&!y3&&(e.beginPath(),Y=NaN,X=NaN),++f;break;case W1.CIRCLE:y=w2[1],B=(F3=w2[2])!=null?F3:0;const k3=d[y],J3=d[y+1],Q3=d[y+2]-B,l1=d[y+3]-B,c1=Q3-k3,B1=l1-J3,y1=Math.sqrt(c1*c1+B1*B1);e.moveTo(k3+y1,J3),e.arc(k3,J3,y1,0,2*Math.PI,!0),++f;break;case W1.CLOSE_PATH:e.closePath(),++f;break;case W1.CUSTOM:y=w2[1],w=w2[2];const b1=w2[3],O=w2[4],A1=w2[5];M3.geometry=b1,M3.feature=q2,f in K2||(K2[f]=[]);const I1=K2[f];A1?A1(d,y,w,2,I1):(I1[0]=d[y],I1[1]=d[y+1],I1.length=2),c&&(c.zIndex=w2[6]),O(I1,M3),++f;break;case W1.DRAW_IMAGE:y=w2[1],w=w2[2],G2=w2[3],P=w2[4],D=w2[5];let F1=w2[6];const S1=w2[7],H2=w2[8],c2=w2[9],a2=w2[10];let i2=w2[11];const A2=w2[12];let n2=w2[13];V=w2[14]||"declutter";const M2=w2[15];if(!G2&&w2.length>=20){N2=w2[19],V2=w2[20],Y2=w2[21],o3=w2[22];const B0=this.drawLabelWithPointPlacement_(N2,V2,Y2,o3);G2=B0.label,w2[3]=G2;const et=w2[23];P=(B0.anchorX-et)*this.pixelRatio,w2[4]=P;const $0=w2[24];D=(B0.anchorY-$0)*this.pixelRatio,w2[5]=D,F1=G2.height,w2[6]=F1,n2=G2.width,w2[13]=n2}let t3;w2.length>25&&(t3=w2[25]);let A3,J2,T2;w2.length>17?(A3=w2[16],J2=w2[17],T2=w2[18]):(A3=w8,J2=null,T2=null),a2&&m3?i2+=C3:!a2&&!m3&&(i2-=C3);let D2=0;for(;y<w;y+=2){if(t3&&t3[D2++]<n2/this.pixelRatio)continue;const B0=this.calculateImageOrLabelDimensions_(G2.width,G2.height,d[y],d[y+1],n2,F1,P,D,H2,c2,i2,A2,a,A3,!!J2||!!T2,q2),et=[e,t,G2,B0,S1,J2,T2];if(l){let $0,we,W0;if(M2){const v0=w-y;if(!M2[v0]){M2[v0]={args:et,declutterMode:V};continue}const G0=M2[v0];$0=G0.args,we=G0.declutterMode,delete M2[v0],W0=__($0)}let V0,fe;if($0&&(we!=="declutter"||!l.collides(W0))&&(V0=!0),(V!=="declutter"||!l.collides(B0.declutterBox))&&(fe=!0),we==="declutter"&&V==="declutter"){const v0=V0&&fe;V0=v0,fe=v0}V0&&(we!=="none"&&l.insert(W0),this.replayImageOrLabel_.apply(this,$0)),fe&&(V!=="none"&&l.insert(B0.declutterBox),this.replayImageOrLabel_.apply(this,et))}else this.replayImageOrLabel_.apply(this,et)}++f;break;case W1.DRAW_CHARS:const E3=w2[1],b3=w2[2],n1=w2[3],w1=w2[4];o3=w2[5];const O1=w2[6],z0=w2[7],ie=w2[8];Y2=w2[9];const d3=w2[10];N2=w2[11],Array.isArray(N2)&&(N2=N2.reduce(uQ,"")),V2=w2[12];const Y3=[w2[13],w2[13]];V=w2[14]||"declutter";const r1=w2[15],g1=this.textStates[V2],J1=g1.font,a0=[g1.scale[0]*z0,g1.scale[1]*z0];let f1;J1 in this.widths_?f1=this.widths_[J1]:(f1={},this.widths_[J1]=f1);const Pe=sm(d,E3,b3,2),vt=Math.abs(a0[0])*t_(J1,N2,f1);if(w1||vt<=Pe){const B0=this.textStates[V2].textAlign,et=(Pe-vt)*md(N2,B0),$0=oQ(d,E3,b3,2,N2,et,O1,Math.abs(a0[0]),t_,J1,f1,m3?0:this.viewRotation_,r1);e:if($0){const we=[];let W0,V0,fe,v0,G0;if(Y2)for(W0=0,V0=$0.length;W0<V0;++W0){G0=$0[W0],fe=G0[4],v0=this.createLabel(fe,V2,"",Y2),P=G0[2]+(a0[0]<0?-d3:d3),D=n1*v0.height+(.5-n1)*2*d3*a0[1]/a0[0]-ie;const Le=this.calculateImageOrLabelDimensions_(v0.width,v0.height,G0[0],G0[1],v0.width,v0.height,P,D,0,0,G0[3],Y3,!1,w8,!1,q2);if(l&&V==="declutter"&&l.collides(Le.declutterBox))break e;we.push([e,t,v0,Le,1,null,null])}if(o3)for(W0=0,V0=$0.length;W0<V0;++W0){G0=$0[W0],fe=G0[4],v0=this.createLabel(fe,V2,o3,""),P=G0[2],D=n1*v0.height-ie;const Le=this.calculateImageOrLabelDimensions_(v0.width,v0.height,G0[0],G0[1],v0.width,v0.height,P,D,0,0,G0[3],Y3,!1,w8,!1,q2);if(l&&V==="declutter"&&l.collides(Le.declutterBox))break e;we.push([e,t,v0,Le,1,null,null])}l&&V!=="none"&&l.load(we.map(__));for(let Le=0,s0=we.length;Le<s0;++Le)this.replayImageOrLabel_.apply(this,we[Le])}}++f;break;case W1.END_GEOMETRY:if(s!==void 0){q2=w2[1];const B0=s(q2,L3,V);if(B0)return B0}++f;break;case W1.FILL:N3?r3++:this.fill_(e),++f;break;case W1.MOVE_TO_LINE_TO:y=w2[1],w=w2[2],B=w2[3];let re,A0,Ne;if(B){const B0=(K3=w2[4])!=null?K3:!1;dC(d,y,w,2,B,B0,M),hC(M,2),re=M,A0=0,Ne=re.length}else re=d,A0=y,Ne=w;u3=re[A0],_3=re[A0+1],e.moveTo(u3,_3),Y=u3+.5|0,X=_3+.5|0;for(let B0=A0+2;B0<Ne;B0+=2)u3=re[B0],_3=re[B0+1],P2=u3+.5|0,z2=_3+.5|0,(B0==Ne-2||P2!==Y||z2!==X)&&(e.lineTo(u3,_3),Y=P2,X=z2);++f;break;case W1.SET_FILL_STYLE:this.alignAndScaleFill_=w2[2],r3?(this.fill_(e),r3=0,y3&&(e.stroke(),y3=0)):y3&&w2[1]&&(e.stroke(),y3=0),e.fillStyle=w2[1],++f;break;case W1.SET_STROKE_STYLE:r3&&w2[1]&&(this.fill_(e),r3=0),y3&&(e.stroke(),y3=0),this.setStrokeStyle_(e,w2),++f;break;case W1.STROKE:N3?y3++:e.stroke(),++f;break;default:++f;break}}r3&&this.fill_(e),y3&&e.stroke()}execute(e,t,i,r,a,s){this.viewRotation_=r,this.execute_(e,t,i,this.instructions,a,void 0,void 0,s)}executeHitDetection(e,t,i,r,a){return this.viewRotation_=i,this.execute_(e,[e.canvas.width,e.canvas.height],t,this.hitDetectionInstructions,!0,r,a)}}const dQ=cQ,g8=["Polygon","Circle","LineString","Image","Text","Default"],fC=["Image","Text"],hQ=g8.filter(n=>!fC.includes(n));let mC=!1,gC=!1;function fQ(){let n=0;const e=i=>{const r=ht(1,1,null,{willReadFrequently:i});let a=0;const s=performance.now();for(;performance.now()-s<50;++a)r.fillStyle=`rgba(255,0,${a%256},1)`,r.fillRect(0,0,1,1),r.getImageData(0,0,1,1);return n=a>n?a:n,a};mC={[e(!0)]:!0,[e(!1)]:!1,[e(void 0)]:void 0}[n],gC=!0}class mQ{constructor(e,t,i,r,a,s,o){this.maxExtent_=e,this.overlaps_=r,this.pixelRatio_=i,this.resolution_=t,this.renderBuffer_=s,this.executorsByZIndex_={},this.hitDetectionContext_=null,this.hitDetectionTransform_=E6(),this.renderedContext_=null,this.deferredZIndexContexts_={},this.createExecutors_(a,o)}clip(e,t){const i=this.getClipCoords(t);e.beginPath(),e.moveTo(i[0],i[1]),e.lineTo(i[2],i[3]),e.lineTo(i[4],i[5]),e.lineTo(i[6],i[7]),e.clip()}createExecutors_(e,t){for(const i in e){let r=this.executorsByZIndex_[i];r===void 0&&(r={},this.executorsByZIndex_[i]=r);const a=e[i];for(const s in a){const o=a[s];r[s]=new dQ(this.resolution_,this.pixelRatio_,this.overlaps_,o,t)}}}hasExecutors(e){for(const t in this.executorsByZIndex_){const i=this.executorsByZIndex_[t];for(let r=0,a=e.length;r<a;++r)if(e[r]in i)return!0}return!1}forEachFeatureAtCoordinate(e,t,i,r,a,s){gC===!1&&fQ(),r=Math.round(r);const o=r*2+1,l=d5(this.hitDetectionTransform_,r+.5,r+.5,1/t,-1/t,-i,-e[0],-e[1]),c=!this.hitDetectionContext_;c&&(this.hitDetectionContext_=ht(o,o,null,{willReadFrequently:mC}));const d=this.hitDetectionContext_;d.canvas.width!==o||d.canvas.height!==o?(d.canvas.width=o,d.canvas.height=o):c||d.clearRect(0,0,o,o);let f;this.renderBuffer_!==void 0&&(f=zn(),er(f,e),wr(f,t*(this.renderBuffer_+r),f));const p=gQ(r);let y;function w(X,P2,z2){const G2=d.getImageData(0,0,o,o).data;for(let N2=0,V2=p.length;N2<V2;N2++)if(G2[p[N2]]>0){if(!s||z2==="none"||y!=="Image"&&y!=="Text"||s.includes(X)){const Y2=(p[N2]-3)/4,o3=r-Y2%o,r3=r-(Y2/o|0),y3=a(X,P2,o3*o3+r3*r3);if(y3)return y3}d.clearRect(0,0,o,o);break}}const M=Object.keys(this.executorsByZIndex_).map(Number);M.sort(D5);let P,D,B,V,Y;for(P=M.length-1;P>=0;--P){const X=M[P].toString();for(B=this.executorsByZIndex_[X],D=g8.length-1;D>=0;--D)if(y=g8[D],V=B[y],V!==void 0&&(Y=V.executeHitDetection(d,l,i,w,f),Y))return Y}}getClipCoords(e){const t=this.maxExtent_;if(!t)return null;const i=t[0],r=t[1],a=t[2],s=t[3],o=[i,r,i,s,a,s,a,r];return I9(o,0,8,2,e,o),o}isEmpty(){return I8(this.executorsByZIndex_)}execute(e,t,i,r,a,s,o){const l=Object.keys(this.executorsByZIndex_).map(Number);l.sort(o?IY:D5),s=s||g8;const c=g8.length;for(let d=0,f=l.length;d<f;++d){const p=l[d].toString(),y=this.executorsByZIndex_[p];for(let w=0,M=s.length;w<M;++w){const P=s[w],D=y[P];if(D!==void 0){const B=o===null?void 0:D.getZIndexContext(),V=B?B.getContext():e,Y=this.maxExtent_&&P!=="Image"&&P!=="Text";if(Y&&(V.save(),this.clip(V,i)),!B||P==="Text"||P==="Image"?D.execute(V,t,i,r,a,o):B.pushFunction(X=>D.execute(X,t,i,r,a,o)),Y&&V.restore(),B){B.offset();const X=l[d]*c+g8.indexOf(P);this.deferredZIndexContexts_[X]||(this.deferredZIndexContexts_[X]=[]),this.deferredZIndexContexts_[X].push(B)}}}}this.renderedContext_=e}getDeferredZIndexContexts(){return this.deferredZIndexContexts_}getRenderedContext(){return this.renderedContext_}renderDeferred(){const e=this.deferredZIndexContexts_,t=Object.keys(e).map(Number).sort(D5);for(let i=0,r=t.length;i<r;++i)e[t[i]].forEach(a=>{a.draw(this.renderedContext_),a.clear()}),e[t[i]].length=0}}const gd={};function gQ(n){if(gd[n]!==void 0)return gd[n];const e=n*2+1,t=n*n,i=new Array(t+1);for(let a=0;a<=n;++a)for(let s=0;s<=n;++s){const o=a*a+s*s;if(o>t)break;let l=i[o];l||(l=[],i[o]=l),l.push(((n+a)*e+(n+s))*4+3),a>0&&l.push(((n-a)*e+(n+s))*4+3),s>0&&(l.push(((n+a)*e+(n-s))*4+3),a>0&&l.push(((n-a)*e+(n-s))*4+3))}const r=[];for(let a=0,s=i.length;a<s;++a)i[a]&&r.push(...i[a]);return gd[n]=r,r}const pQ=mQ;class yQ extends cC{constructor(e,t,i,r,a,s,o){super(),this.context_=e,this.pixelRatio_=t,this.extent_=i,this.transform_=r,this.transformRotation_=r?Kr(Math.atan2(r[1],r[0]),10):0,this.viewRotation_=a,this.squaredTolerance_=s,this.userTransform_=o,this.contextFillState_=null,this.contextStrokeState_=null,this.contextTextState_=null,this.fillState_=null,this.strokeState_=null,this.image_=null,this.imageAnchorX_=0,this.imageAnchorY_=0,this.imageHeight_=0,this.imageOpacity_=0,this.imageOriginX_=0,this.imageOriginY_=0,this.imageRotateWithView_=!1,this.imageRotation_=0,this.imageScale_=[0,0],this.imageWidth_=0,this.text_="",this.textOffsetX_=0,this.textOffsetY_=0,this.textRotateWithView_=!1,this.textRotation_=0,this.textScale_=[0,0],this.textFillState_=null,this.textStrokeState_=null,this.textState_=null,this.pixelCoordinates_=[],this.tmpLocalTransform_=E6()}drawImages_(e,t,i,r){if(!this.image_)return;const a=I9(e,t,i,r,this.transform_,this.pixelCoordinates_),s=this.context_,o=this.tmpLocalTransform_,l=s.globalAlpha;this.imageOpacity_!=1&&(s.globalAlpha=l*this.imageOpacity_);let c=this.imageRotation_;this.transformRotation_===0&&(c-=this.viewRotation_),this.imageRotateWithView_&&(c+=this.viewRotation_);for(let d=0,f=a.length;d<f;d+=2){const p=a[d]-this.imageAnchorX_,y=a[d+1]-this.imageAnchorY_;if(c!==0||this.imageScale_[0]!=1||this.imageScale_[1]!=1){const w=p+this.imageAnchorX_,M=y+this.imageAnchorY_;d5(o,w,M,1,1,c,-w,-M),s.save(),s.transform.apply(s,o),s.translate(w,M),s.scale(this.imageScale_[0],this.imageScale_[1]),s.drawImage(this.image_,this.imageOriginX_,this.imageOriginY_,this.imageWidth_,this.imageHeight_,-this.imageAnchorX_,-this.imageAnchorY_,this.imageWidth_,this.imageHeight_),s.restore()}else s.drawImage(this.image_,this.imageOriginX_,this.imageOriginY_,this.imageWidth_,this.imageHeight_,p,y,this.imageWidth_,this.imageHeight_)}this.imageOpacity_!=1&&(s.globalAlpha=l)}drawText_(e,t,i,r){if(!this.textState_||this.text_==="")return;this.textFillState_&&this.setContextFillState_(this.textFillState_),this.textStrokeState_&&this.setContextStrokeState_(this.textStrokeState_),this.setContextTextState_(this.textState_);const a=I9(e,t,i,r,this.transform_,this.pixelCoordinates_),s=this.context_;let o=this.textRotation_;for(this.transformRotation_===0&&(o-=this.viewRotation_),this.textRotateWithView_&&(o+=this.viewRotation_);t<i;t+=r){const l=a[t]+this.textOffsetX_,c=a[t+1]+this.textOffsetY_;o!==0||this.textScale_[0]!=1||this.textScale_[1]!=1?(s.save(),s.translate(l-this.textOffsetX_,c-this.textOffsetY_),s.rotate(o),s.translate(this.textOffsetX_,this.textOffsetY_),s.scale(this.textScale_[0],this.textScale_[1]),this.textStrokeState_&&s.strokeText(this.text_,0,0),this.textFillState_&&s.fillText(this.text_,0,0),s.restore()):(this.textStrokeState_&&s.strokeText(this.text_,l,c),this.textFillState_&&s.fillText(this.text_,l,c))}}moveToLineTo_(e,t,i,r,a,s){const o=this.context_;let l=I9(e,t,i,r,this.transform_,this.pixelCoordinates_);Math.abs(s)>0&&(l=dC(l,0,l.length,2,s,a,l),hC(l,2)),o.moveTo(l[0],l[1]);let c=l.length;a&&(c-=2);for(let d=2;d<c;d+=2)o.lineTo(l[d],l[d+1]);return a&&o.closePath(),i}drawRings_(e,t,i,r,a){for(let s=0,o=i.length;s<o;++s)t=this.moveToLineTo_(e,t,i[s],r,!0,a);return t}drawCircle(e){if(this.squaredTolerance_&&(e=e.simplifyTransformed(this.squaredTolerance_,this.userTransform_)),!!an(this.extent_,e.getExtent())){if(this.fillState_||this.strokeState_){this.fillState_&&this.setContextFillState_(this.fillState_),this.strokeState_&&this.setContextStrokeState_(this.strokeState_);const t=QK(e,this.transform_,this.pixelCoordinates_),i=t[2]-t[0],r=t[3]-t[1],a=Math.sqrt(i*i+r*r),s=this.context_;s.beginPath(),s.arc(t[0],t[1],a,0,2*Math.PI),this.fillState_&&s.fill(),this.strokeState_&&s.stroke()}this.text_!==""&&this.drawText_(e.getCenter(),0,2,2)}}setStyle(e){this.setFillStrokeStyle(e.getFill(),e.getStroke()),this.setImageStyle(e.getImage()),this.setTextStyle(e.getText())}setTransform(e){this.transform_=e}drawGeometry(e){switch(e.getType()){case"Point":this.drawPoint(e);break;case"LineString":this.drawLineString(e);break;case"Polygon":this.drawPolygon(e);break;case"MultiPoint":this.drawMultiPoint(e);break;case"MultiLineString":this.drawMultiLineString(e);break;case"MultiPolygon":this.drawMultiPolygon(e);break;case"GeometryCollection":this.drawGeometryCollection(e);break;case"Circle":this.drawCircle(e);break}}drawFeature(e,t){const i=t.getGeometryFunction()(e);i&&(this.setStyle(t),this.drawGeometry(i))}drawGeometryCollection(e){const t=e.getGeometriesArray();for(let i=0,r=t.length;i<r;++i)this.drawGeometry(t[i])}drawPoint(e){this.squaredTolerance_&&(e=e.simplifyTransformed(this.squaredTolerance_,this.userTransform_));const t=e.getFlatCoordinates(),i=e.getStride();this.image_&&this.drawImages_(t,0,t.length,i),this.text_!==""&&this.drawText_(t,0,t.length,i)}drawMultiPoint(e){this.squaredTolerance_&&(e=e.simplifyTransformed(this.squaredTolerance_,this.userTransform_));const t=e.getFlatCoordinates(),i=e.getStride();this.image_&&this.drawImages_(t,0,t.length,i),this.text_!==""&&this.drawText_(t,0,t.length,i)}drawLineString(e){if(this.squaredTolerance_&&(e=e.simplifyTransformed(this.squaredTolerance_,this.userTransform_)),!!an(this.extent_,e.getExtent())){if(this.strokeState_){this.setContextStrokeState_(this.strokeState_);const t=this.context_,i=e.getFlatCoordinates();t.beginPath(),this.moveToLineTo_(i,0,i.length,e.getStride(),!1,this.strokeState_.strokeOffset),t.stroke()}if(this.text_!==""){const t=e.getFlatMidpoint();this.drawText_(t,0,2,2)}}}drawMultiLineString(e){this.squaredTolerance_&&(e=e.simplifyTransformed(this.squaredTolerance_,this.userTransform_));const t=e.getExtent();if(an(this.extent_,t)){if(this.strokeState_){this.setContextStrokeState_(this.strokeState_);const i=this.context_,r=e.getFlatCoordinates();let a=0;const s=e.getEnds(),o=e.getStride();i.beginPath();for(let l=0,c=s.length;l<c;++l)a=this.moveToLineTo_(r,a,s[l],o,!1,this.strokeState_.strokeOffset);i.stroke()}if(this.text_!==""){const i=e.getFlatMidpoints();this.drawText_(i,0,i.length,2)}}}drawPolygon(e){var t;if(this.squaredTolerance_&&(e=e.simplifyTransformed(this.squaredTolerance_,this.userTransform_)),!!an(this.extent_,e.getExtent())){if(this.strokeState_||this.fillState_){this.fillState_&&this.setContextFillState_(this.fillState_),this.strokeState_&&this.setContextStrokeState_(this.strokeState_);const i=this.context_;i.beginPath(),this.drawRings_(e.getOrientedFlatCoordinates(),0,e.getEnds(),e.getStride(),(t=this.strokeState_)==null?void 0:t.strokeOffset),this.fillState_&&i.fill(),this.strokeState_&&i.stroke()}if(this.text_!==""){const i=e.getFlatInteriorPoint();this.drawText_(i,0,2,2)}}}drawMultiPolygon(e){var t;if(this.squaredTolerance_&&(e=e.simplifyTransformed(this.squaredTolerance_,this.userTransform_)),!!an(this.extent_,e.getExtent())){if(this.strokeState_||this.fillState_){this.fillState_&&this.setContextFillState_(this.fillState_),this.strokeState_&&this.setContextStrokeState_(this.strokeState_);const i=this.context_,r=e.getOrientedFlatCoordinates();let a=0;const s=e.getEndss(),o=e.getStride();i.beginPath();for(let l=0,c=s.length;l<c;++l){const d=s[l];a=this.drawRings_(r,a,d,o,(t=this.strokeState_)==null?void 0:t.strokeOffset)}this.fillState_&&i.fill(),this.strokeState_&&i.stroke()}if(this.text_!==""){const i=e.getFlatInteriorPoints();this.drawText_(i,0,i.length,2)}}}setContextFillState_(e){const t=this.context_,i=this.contextFillState_;i?i.fillStyle!=e.fillStyle&&(i.fillStyle=e.fillStyle,t.fillStyle=e.fillStyle):(t.fillStyle=e.fillStyle,this.contextFillState_={fillStyle:e.fillStyle})}setContextStrokeState_(e){const t=this.context_,i=this.contextStrokeState_;i?(i.lineCap!=e.lineCap&&(i.lineCap=e.lineCap,t.lineCap=e.lineCap),z9(i.lineDash,e.lineDash)||t.setLineDash(i.lineDash=e.lineDash),i.lineDashOffset!=e.lineDashOffset&&(i.lineDashOffset=e.lineDashOffset,t.lineDashOffset=e.lineDashOffset),i.lineJoin!=e.lineJoin&&(i.lineJoin=e.lineJoin,t.lineJoin=e.lineJoin),i.lineWidth!=e.lineWidth&&(i.lineWidth=e.lineWidth,t.lineWidth=e.lineWidth),i.miterLimit!=e.miterLimit&&(i.miterLimit=e.miterLimit,t.miterLimit=e.miterLimit),i.strokeStyle!=e.strokeStyle&&(i.strokeStyle=e.strokeStyle,t.strokeStyle=e.strokeStyle)):(t.lineCap=e.lineCap,t.setLineDash(e.lineDash),t.lineDashOffset=e.lineDashOffset,t.lineJoin=e.lineJoin,t.lineWidth=e.lineWidth,t.miterLimit=e.miterLimit,t.strokeStyle=e.strokeStyle,this.contextStrokeState_={lineCap:e.lineCap,lineDash:e.lineDash,lineDashOffset:e.lineDashOffset,lineJoin:e.lineJoin,lineWidth:e.lineWidth,miterLimit:e.miterLimit,strokeStyle:e.strokeStyle})}setContextTextState_(e){const t=this.context_,i=this.contextTextState_,r=e.textAlign?e.textAlign:kr;i?(i.font!=e.font&&(i.font=e.font,t.font=e.font),i.textAlign!=r&&(i.textAlign=r,t.textAlign=r),i.textBaseline!=e.textBaseline&&(i.textBaseline=e.textBaseline,t.textBaseline=e.textBaseline)):(t.font=e.font,t.textAlign=r,t.textBaseline=e.textBaseline,this.contextTextState_={font:e.font,textAlign:r,textBaseline:e.textBaseline})}setFillStrokeStyle(e,t){if(!e)this.fillState_=null;else{const i=e.getColor();this.fillState_={fillStyle:e5(i||Cn)}}if(!t)this.strokeState_=null;else{const i=t.getColor(),r=t.getLineCap(),a=t.getLineDash(),s=t.getLineDashOffset(),o=t.getLineJoin(),l=t.getWidth(),c=t.getMiterLimit(),d=a||B5,f=t.getOffset();this.strokeState_={lineCap:r!==void 0?r:v4,lineDash:this.pixelRatio_===1?d:d.map(p=>p*this.pixelRatio_),lineDashOffset:(s||G5)*this.pixelRatio_,lineJoin:o!==void 0?o:_4,lineWidth:(l!==void 0?l:Rr)*this.pixelRatio_,miterLimit:c!==void 0?c:Mr,strokeStyle:e5(i||s5),strokeOffset:(f!=null?f:0)*this.pixelRatio_}}}setImageStyle(e){let t;if(!e||!(t=e.getSize())){this.image_=null;return}const i=e.getPixelRatio(this.pixelRatio_),r=e.getAnchor(),a=e.getOrigin();this.image_=e.getImage(this.pixelRatio_),this.imageAnchorX_=r[0]*i,this.imageAnchorY_=r[1]*i,this.imageHeight_=t[1]*i,this.imageOpacity_=e.getOpacity(),this.imageOriginX_=a[0],this.imageOriginY_=a[1],this.imageRotateWithView_=e.getRotateWithView(),this.imageRotation_=e.getRotation();const s=e.getScaleArray();this.imageScale_=[s[0]*this.pixelRatio_/i,s[1]*this.pixelRatio_/i],this.imageWidth_=t[0]*i}setTextStyle(e){if(!e)this.text_="";else{const t=e.getFill();if(!t)this.textFillState_=null;else{const y=t.getColor();this.textFillState_={fillStyle:e5(y||Cn)}}const i=e.getStroke();if(!i)this.textStrokeState_=null;else{const y=i.getColor(),w=i.getLineCap(),M=i.getLineDash(),P=i.getLineDashOffset(),D=i.getLineJoin(),B=i.getWidth(),V=i.getMiterLimit();this.textStrokeState_={lineCap:w!==void 0?w:v4,lineDash:M||B5,lineDashOffset:P||G5,lineJoin:D!==void 0?D:_4,lineWidth:B!==void 0?B:Rr,miterLimit:V!==void 0?V:Mr,strokeStyle:e5(y||s5)}}const r=e.getFont(),a=e.getOffsetX(),s=e.getOffsetY(),o=e.getRotateWithView(),l=e.getRotation(),c=e.getScaleArray(),d=e.getText(),f=e.getTextAlign(),p=e.getTextBaseline();this.textState_={font:r!==void 0?r:Ow,textAlign:f!==void 0?f:kr,textBaseline:p!==void 0?p:Xo},this.text_=d!==void 0?Array.isArray(d)?d.reduce((y,w,M)=>y+=M%2?" ":w,""):d:"",this.textOffsetX_=a!==void 0?this.pixelRatio_*a:0,this.textOffsetY_=s!==void 0?this.pixelRatio_*s:0,this.textRotateWithView_=o!==void 0?o:!1,this.textRotation_=l!==void 0?l:0,this.textScale_=[this.pixelRatio_*c[0],this.pixelRatio_*c[1]]}}}const vQ=yQ,J6=.5;function _Q(n,e,t,i,r,a,s,o,l){const c=l?Tf(r):r,d=n[0]*J6,f=n[1]*J6,p=ht(d,f);p.imageSmoothingEnabled=!1;const y=p.canvas,w=new vQ(p,J6,r,null,s,o,l?Dl(UK(),l):null),M=t.length,P=Math.floor((256*256*256-1)/M),D={};for(let V=1;V<=M;++V){const Y=t[V-1],X=Y.getStyleFunction()||i;if(!X)continue;let P2=X(Y,a);if(!P2)continue;Array.isArray(P2)||(P2=[P2]);const G2=(V*P).toString(16).padStart(7,"#00000");for(let N2=0,V2=P2.length;N2<V2;++N2){const Y2=P2[N2],o3=Y2.getGeometryFunction()(Y);if(!o3||!an(c,o3.getExtent()))continue;const r3=Y2.clone(),y3=r3.getFill();y3&&y3.setColor(G2);const K2=r3.getStroke();K2&&(K2.setColor(G2),K2.setLineDash(null)),r3.setText(void 0);const C3=Y2.getImage();if(C3){const q2=C3.getImageSize();if(!q2)continue;const u3=ht(q2[0],q2[1],void 0,{alpha:!1}),_3=u3.canvas;u3.fillStyle=G2,u3.fillRect(0,0,_3.width,_3.height),r3.setImage(new zw({img:_3,anchor:C3.getAnchor(),anchorXUnits:"pixels",anchorYUnits:"pixels",offset:C3.getOrigin(),opacity:1,size:C3.getSize(),scale:C3.getScale(),rotation:C3.getRotation(),rotateWithView:C3.getRotateWithView()}))}const m3=r3.getZIndex()||0;let M3=D[m3];M3||(M3={},D[m3]=M3,M3.Polygon=[],M3.Circle=[],M3.LineString=[],M3.Point=[]);const N3=o3.getType();if(N3==="GeometryCollection"){const q2=o3.getGeometriesArrayRecursive();for(let u3=0,_3=q2.length;u3<_3;++u3){const L3=q2[u3];M3[L3.getType().replace("Multi","")].push(L3,r3)}}else M3[N3.replace("Multi","")].push(o3,r3)}}const B=Object.keys(D).map(Number).sort(D5);for(let V=0,Y=B.length;V<Y;++V){const X=D[B[V]];for(const P2 in X){const z2=X[P2];for(let G2=0,N2=z2.length;G2<N2;G2+=2){w.setStyle(z2[G2+1]);for(let V2=0,Y2=e.length;V2<Y2;++V2)w.setTransform(e[V2]),w.drawGeometry(z2[G2])}}}return p.getImageData(0,0,y.width,y.height)}function bQ(n,e,t){const i=[];if(t){const r=Math.floor(Math.round(n[0])*J6),a=Math.floor(Math.round(n[1])*J6),s=(Ie(r,0,t.width-1)+Ie(a,0,t.height-1)*t.width)*4,o=t.data[s],l=t.data[s+1],d=t.data[s+2]+256*(l+256*o),f=Math.floor((256*256*256-1)/e.length);d&&d%f===0&&i.push(e[d/f-1])}return i}const SQ=.5,pC={Point:MQ,LineString:xQ,Polygon:RQ,MultiPoint:kQ,MultiLineString:EQ,MultiPolygon:PQ,GeometryCollection:AQ,Circle:CQ};function wQ(n,e){return parseInt(j0(n),10)-parseInt(j0(e),10)}function S_(n,e){const t=yC(n,e);return t*t}function yC(n,e){return SQ*n/e}function CQ(n,e,t,i,r){const a=t.getFill(),s=t.getStroke();if(a||s){const l=n.getBuilder(t.getZIndex(),"Circle");l.setFillStrokeStyle(a,s),l.drawCircle(e,i,r)}const o=t.getText();if(o&&o.getText()){const l=n.getBuilder(t.getZIndex(),"Text");l.setTextStyle(o),l.drawText(e,i,r)}}function w_(n,e,t,i,r,a,s,o){const l=[],c=t.getImage();if(c){let p=!0;const y=c.getImageState();y==x1.LOADED||y==x1.ERROR?p=!1:y==x1.IDLE&&c.load(),p&&l.push(c.ready())}const d=t.getFill();d&&d.loading()&&l.push(d.ready());const f=l.length>0;return f&&Promise.all(l).then(()=>r(null)),TQ(n,e,t,i,a,s,o),f}function TQ(n,e,t,i,r,a,s){const o=t.getGeometryFunction()(e);if(!o)return;const l=o.simplifyTransformed(i,r);if(t.getRenderer())vC(n,l,t,e,s);else{const d=pC[l.getType()];d(n,l,t,e,s,a)}}function vC(n,e,t,i,r){if(e.getType()=="GeometryCollection"){const s=e.getGeometries();for(let o=0,l=s.length;o<l;++o)vC(n,s[o],t,i,r);return}n.getBuilder(t.getZIndex(),"Default").drawCustom(e,i,t.getRenderer(),t.getHitDetectionRenderer(),r)}function AQ(n,e,t,i,r,a){const s=e.getGeometriesArray();let o,l;for(o=0,l=s.length;o<l;++o){const c=pC[s[o].getType()];c(n,s[o],t,i,r,a)}}function xQ(n,e,t,i,r){const a=t.getStroke();if(a){const o=n.getBuilder(t.getZIndex(),"LineString");o.setFillStrokeStyle(null,a),o.drawLineString(e,i,r)}const s=t.getText();if(s&&s.getText()){const o=n.getBuilder(t.getZIndex(),"Text");o.setTextStyle(s),o.drawText(e,i,r)}}function EQ(n,e,t,i,r){const a=t.getStroke();if(a){const o=n.getBuilder(t.getZIndex(),"LineString");o.setFillStrokeStyle(null,a),o.drawMultiLineString(e,i,r)}const s=t.getText();if(s&&s.getText()){const o=n.getBuilder(t.getZIndex(),"Text");o.setTextStyle(s),o.drawText(e,i,r)}}function PQ(n,e,t,i,r){const a=t.getFill(),s=t.getStroke();if(s||a){const l=n.getBuilder(t.getZIndex(),"Polygon");l.setFillStrokeStyle(a,s),l.drawMultiPolygon(e,i,r)}const o=t.getText();if(o&&o.getText()){const l=n.getBuilder(t.getZIndex(),"Text");l.setTextStyle(o),l.drawText(e,i,r)}}function MQ(n,e,t,i,r,a){const s=t.getImage(),o=t.getText(),l=o&&o.getText(),c=a&&s&&l?{}:void 0;if(s){if(s.getImageState()!=x1.LOADED)return;const d=n.getBuilder(t.getZIndex(),"Image");d.setImageStyle(s,c),d.drawPoint(e,i,r)}if(l){const d=n.getBuilder(t.getZIndex(),"Text");d.setTextStyle(o,c),d.drawText(e,i,r)}}function kQ(n,e,t,i,r,a){const s=t.getImage(),o=s&&s.getOpacity()!==0,l=t.getText(),c=l&&l.getText(),d=a&&o&&c?{}:void 0;if(o){if(s.getImageState()!=x1.LOADED)return;const f=n.getBuilder(t.getZIndex(),"Image");f.setImageStyle(s,d),f.drawMultiPoint(e,i,r)}if(c){const f=n.getBuilder(t.getZIndex(),"Text");f.setTextStyle(l,d),f.drawText(e,i,r)}}function RQ(n,e,t,i,r){const a=t.getFill(),s=t.getStroke();if(a||s){const l=n.getBuilder(t.getZIndex(),"Polygon");l.setFillStrokeStyle(a,s),l.drawPolygon(e,i,r)}const o=t.getText();if(o&&o.getText()){const l=n.getBuilder(t.getZIndex(),"Text");l.setTextStyle(o),l.drawText(e,i,r)}}class IQ extends dm{constructor(e){super(e),this.boundHandleStyleImageChange_=this.handleStyleImageChange_.bind(this),this.animatingOrInteracting_,this.hitDetectionImageData_=null,this.clipExtent_=null,this.extendX_=!1,this.renderedFeatures_=null,this.renderedRevision_=-1,this.renderedResolution_=NaN,this.renderedExtent_=zn(),this.wrappedRenderedExtent_=zn(),this.renderedRotation_,this.renderedCenter_=null,this.renderedProjection_=null,this.renderedPixelRatio_=1,this.renderedRenderOrder_=null,this.renderedFrameDeclutter_,this.replayGroup_=null,this.replayGroupChanged=!0,this.clipping=!0,this.targetContext_=null,this.opacity_=1}renderWorlds(e,t,i){const r=t.extent,a=t.viewState,s=a.center,o=a.resolution,l=a.projection,c=a.rotation,d=l.getExtent(),f=this.getLayer().getSource(),p=this.getLayer().getDeclutter(),y=t.pixelRatio,w=t.viewHints,M=!(w[At.ANIMATING]||w[At.INTERACTING]),P=this.context,D=Math.round(F0(r)/o*y),B=Math.round(ut(r)/o*y),V=f.getWrapX()&&l.canWrapX(),Y=V?F0(d):null,X=V?Math.ceil((r[2]-d[2])/Y)+(this.extendX_?2:1):1;let P2=V?Math.floor((r[0]-d[0])/Y)-(this.extendX_?1:0):0;do{let z2=this.getRenderTransform(s,o,0,y,D,B,P2*Y);t.declutter&&(z2=z2.slice(0)),e.execute(P,[P.canvas.width,P.canvas.height],z2,c,M,i===void 0?g8:i?fC:hQ,i?p&&t.declutter[p]:void 0)}while(++P2<X)}setDrawContext_(){this.opacity_!==1&&(this.targetContext_=this.context,this.context=ht(this.context.canvas.width,this.context.canvas.height,c_))}resetDrawContext_(){if(this.opacity_!==1&&this.targetContext_){const e=this.targetContext_.globalAlpha;this.targetContext_.globalAlpha=this.opacity_,this.targetContext_.drawImage(this.context.canvas,0,0),this.targetContext_.globalAlpha=e,zl(this.context),c_.push(this.context.canvas),this.context=this.targetContext_,this.targetContext_=null}}renderDeclutter(e){!this.replayGroup_||!this.getLayer().getDeclutter()||this.renderWorlds(this.replayGroup_,e,!0)}renderDeferredInternal(e){this.replayGroup_&&(this.clipExtent_&&this.clipUnrotated(this.context,e,this.clipExtent_),this.replayGroup_.renderDeferred(),this.clipExtent_&&(this.context.restore(),this.clipExtent_=null),this.resetDrawContext_())}renderFrame(e,t){const i=e.layerStatesArray[e.layerIndex];this.opacity_=i.opacity;const r=e.viewState;this.prepareContainer(e,t);const a=this.context,s=this.replayGroup_;let o=s&&!s.isEmpty();if(!o&&!(this.getLayer().hasListener(s6.PRERENDER)||this.getLayer().hasListener(s6.POSTRENDER)))return this.container;this.setDrawContext_(),this.preRender(a,e),r.projection,this.clipExtent_=null;let l=!1;if(o&&i.extent&&this.clipping){const c=F5(i.extent);o=an(c,e.extent),o&&!A9(c,e.extent)&&(e.declutter?this.clipExtent_=c:(this.clipUnrotated(a,e,c),l=!0))}return o&&this.renderWorlds(s,e,this.getLayer().getDeclutter()?!1:void 0),l&&a.restore(),this.postRender(a,e),this.renderedRotation_!==r.rotation&&(this.renderedRotation_=r.rotation,this.hitDetectionImageData_=null),e.declutter||this.resetDrawContext_(),this.container}getFeatures(e){return new Promise(t=>{if(this.frameState&&!this.hitDetectionImageData_&&!this.animatingOrInteracting_){const i=this.frameState.size.slice(),r=this.renderedCenter_,a=this.renderedResolution_,s=this.renderedRotation_,o=this.renderedProjection_,l=this.wrappedRenderedExtent_,c=this.getLayer(),d=[],f=i[0]*J6,p=i[1]*J6;d.push(this.getRenderTransform(r,a,s,J6,f,p,0).slice());const y=c.getSource(),w=o.getExtent();if(y.getWrapX()&&o.canWrapX()&&!A9(w,l)){let M=l[0];const P=F0(w);let D=0,B;for(;M<w[0];)--D,B=P*D,d.push(this.getRenderTransform(r,a,s,J6,f,p,B).slice()),M+=P;for(D=0,M=l[2];M>w[2];)++D,B=P*D,d.push(this.getRenderTransform(r,a,s,J6,f,p,B).slice()),M-=P}this.hitDetectionImageData_=_Q(i,d,this.renderedFeatures_,c.getStyleFunction(),l,a,s,S_(a,this.renderedPixelRatio_),null)}t(bQ(e,this.renderedFeatures_,this.hitDetectionImageData_))})}forEachFeatureAtCoordinate(e,t,i,r,a){var p,y;if(!this.replayGroup_)return;const s=t.viewState.resolution,o=t.viewState.rotation,l=this.getLayer(),c={},d=function(w,M,P){const D=j0(w),B=c[D];if(B){if(B!==!0&&P<B.distanceSq){if(P===0)return c[D]=!0,a.splice(a.lastIndexOf(B),1),r(w,l,M);B.geometry=M,B.distanceSq=P}}else{if(P===0)return c[D]=!0,r(w,l,M);a.push(c[D]={feature:w,layer:l,geometry:M,distanceSq:P,callback:r})}},f=this.getLayer().getDeclutter();return this.replayGroup_.forEachFeatureAtCoordinate(e,s,o,i,d,f?(y=(p=t.declutter)==null?void 0:p[f])==null?void 0:y.all().map(w=>w.value):null)}handleFontsChanged(){const e=this.getLayer();e.getVisible()&&this.replayGroup_&&e.changed()}handleStyleImageChange_(e){this.renderIfReadyAndVisible()}prepareFrame(e){const t=this.getLayer(),i=t.getSource();if(!i)return!1;const r=e.viewHints[At.ANIMATING],a=e.viewHints[At.INTERACTING],s=t.getUpdateWhileAnimating(),o=t.getUpdateWhileInteracting();if(this.ready&&!s&&r||!o&&a)return this.animatingOrInteracting_=!0,!0;this.animatingOrInteracting_=!1;const l=e.extent,c=e.viewState,d=c.projection,f=c.resolution,p=e.pixelRatio,y=t.getRevision(),w=t.getRenderBuffer();let M=t.getRenderOrder();M===void 0&&(M=wQ);const P=c.center.slice(),D=wr(l,w*f),B=D.slice(),V=[D.slice()],Y=d.getExtent(),X=i.getWrapX()&&d.canWrapX();if(this.extendX_=!1,X){const K2=i.getExtent();K2&&!U8(K2)&&(this.extendX_=K2[0]<Y[0]||K2[2]>Y[2])}if(X&&(!A9(Y,e.extent)||this.extendX_)){const K2=F0(Y),C3=Math.max(F0(D)/2,K2);let m3=Y[0],M3=Y[2];this.extendX_&&(m3-=K2,M3+=K2),D[0]=m3-C3,D[2]=M3+C3,JS(P,d);const N3=XS(V[0],d);N3[0]<Y[0]&&N3[2]<Y[2]?V.push([N3[0]+K2,N3[1],N3[2]+K2,N3[3]]):N3[0]>Y[0]&&N3[2]>Y[2]&&V.push([N3[0]-K2,N3[1],N3[2]-K2,N3[3]])}if(this.ready&&this.renderedResolution_==f&&this.renderedPixelRatio_===p&&this.renderedRevision_==y&&this.renderedRenderOrder_==M&&this.renderedFrameDeclutter_===!!e.declutter&&A9(this.wrappedRenderedExtent_,D))return z9(this.renderedExtent_,B)||(this.hitDetectionImageData_=null,this.renderedExtent_=B),this.renderedCenter_=P,this.replayGroupChanged=!1,!0;this.replayGroup_=null;const P2=new aQ(yC(f,p),D,f,p);let z2;for(let K2=0,C3=V.length;K2<C3;++K2)i.loadFeatures(V[K2],f,d);const G2=S_(f,p);let N2=!0;const V2=(K2,C3)=>{let m3;const M3=K2.getStyleFunction()||t.getStyleFunction();if(M3&&(m3=M3(K2,f)),m3){const N3=this.renderFeature(K2,G2,m3,P2,z2,this.getLayer().getDeclutter(),C3);N2=N2&&!N3}},Y2=Tf(D),o3=i.getFeaturesInExtent(Y2);M&&o3.sort(M);for(let K2=0,C3=o3.length;K2<C3;++K2)V2(o3[K2],K2);this.renderedFeatures_=o3,this.ready=N2;const r3=P2.finish(),y3=new pQ(D,f,p,i.getOverlaps(),r3,t.getRenderBuffer(),!!e.declutter);return this.renderedResolution_=f,this.renderedRevision_=y,this.renderedRenderOrder_=M,this.renderedFrameDeclutter_=!!e.declutter,this.renderedExtent_=B,this.wrappedRenderedExtent_=D,this.renderedCenter_=P,this.renderedProjection_=d,this.renderedPixelRatio_=p,this.replayGroup_=y3,this.hitDetectionImageData_=null,this.replayGroupChanged=!0,!0}renderFeature(e,t,i,r,a,s,o){if(!i)return!1;let l=!1;if(Array.isArray(i))for(let c=0,d=i.length;c<d;++c)l=w_(r,e,i[c],t,this.boundHandleStyleImageChange_,a,s,o)||l;else l=w_(r,e,i,t,this.boundHandleStyleImageChange_,a,s,o);return l}}const NQ=IQ;class LQ extends Kw{constructor(e){super(e)}createRenderer(){return new NQ(this)}}const ki=LQ;function Ch(n){return Array.isArray(n)?Math.min(...n):n}class FQ extends Nw{constructor(e,t,i,r,a,s,o){let l=e.getExtent();l&&e.canWrapX()&&(l=l.slice(),l[0]=-1/0,l[2]=1/0);let c=t.getExtent();c&&t.canWrapX()&&(c=c.slice(),c[0]=-1/0,c[2]=1/0);const d=c?O5(i,c):i,f=c5(d),p=Lr(e,t,f,r),y=oC,w=new sC(e,t,d,l,p*y,r),M=w.calculateSourceExtent(),P=U8(M)?null:s(M,p,a),D=P?x1.IDLE:x1.EMPTY,B=P?P.getPixelRatio():1;super(i,r,B,D),this.targetProj_=t,this.maxSourceExtent_=l,this.triangulation_=w,this.targetResolution_=r,this.targetExtent_=i,this.sourceImage_=P,this.sourcePixelRatio_=B,this.interpolate_=o,this.canvas_=null,this.sourceListenerKey_=null}disposeInternal(){this.state==x1.LOADING&&this.unlistenSource_(),super.disposeInternal()}getImage(){return this.canvas_}getProjection(){return this.targetProj_}reproject_(){const e=this.sourceImage_.getState();if(e==x1.LOADED){const t=F0(this.targetExtent_)/this.targetResolution_,i=ut(this.targetExtent_)/this.targetResolution_;this.canvas_=aC(t,i,this.sourcePixelRatio_,Ch(this.sourceImage_.getResolution()),this.maxSourceExtent_,this.targetResolution_,this.targetExtent_,this.triangulation_,[{extent:this.sourceImage_.getExtent(),image:this.sourceImage_.getImage()}],0,void 0,this.interpolate_,!0)}this.state=e,this.changed()}load(){if(this.state==x1.IDLE){this.state=x1.LOADING,this.changed();const e=this.sourceImage_.getState();e==x1.LOADED||e==x1.ERROR?this.reproject_():(this.sourceListenerKey_=M0(this.sourceImage_,t0.CHANGE,t=>{const i=this.sourceImage_.getState();(i==x1.LOADED||i==x1.ERROR)&&(this.unlistenSource_(),this.reproject_())}),this.sourceImage_.load())}}unlistenSource_(){be(this.sourceListenerKey_),this.sourceListenerKey_=null}}const DQ=FQ;class OQ extends p5{constructor(e){var i;super(),this.projection=Se(e.projection),this.attributions_=C_(e.attributions),this.attributionsCollapsible_=(i=e.attributionsCollapsible)!=null?i:!0,this.loading=!1,this.state_=e.state!==void 0?e.state:"ready",this.wrapX_=e.wrapX!==void 0?e.wrapX:!1,this.interpolate_=!!e.interpolate,this.viewResolver=null,this.viewRejector=null;const t=this;this.viewPromise_=new Promise(function(r,a){t.viewResolver=r,t.viewRejector=a})}getAttributions(){return this.attributions_}getAttributionsCollapsible(){return this.attributionsCollapsible_}getProjection(){return this.projection}getResolutions(e){return null}getView(){return this.viewPromise_}getState(){return this.state_}getWrapX(){return this.wrapX_}getInterpolate(){return this.interpolate_}refresh(){this.changed()}setAttributions(e){this.attributions_=C_(e),this.changed()}setState(e){this.state_=e,this.changed()}}function C_(n){return n?typeof n=="function"?n:(Array.isArray(n)||(n=[n]),e=>n):null}const fm=OQ,M9=4,pd={IMAGELOADSTART:"imageloadstart",IMAGELOADEND:"imageloadend",IMAGELOADERROR:"imageloaderror"};class BQ extends g5{constructor(e,t){super(e),this.image=t}}class GQ extends fm{constructor(e){super({attributions:e.attributions,projection:e.projection,state:e.state,interpolate:e.interpolate!==void 0?e.interpolate:!0}),this.on,this.once,this.un,this.loader=e.loader||null,this.resolutions_=e.resolutions!==void 0?e.resolutions:null,this.reprojectedImage_=null,this.reprojectedRevision_=0,this.image=null,this.wantedExtent_,this.wantedResolution_,this.static_=e.loader?e.loader.length===0:!1,this.wantedProjection_=null}getResolutions(){return this.resolutions_}setResolutions(e){this.resolutions_=e}findNearestResolution(e){const t=this.getResolutions();if(t){const i=Ml(t,e,0);e=t[i]}return e}getImage(e,t,i,r){const a=this.getProjection();if(!a||!r||x8(a,r))return a&&(r=a),this.getImageInternal(e,t,i,r);if(this.reprojectedImage_){if(this.reprojectedRevision_==this.getRevision()&&x8(this.reprojectedImage_.getProjection(),r)&&this.reprojectedImage_.getResolution()==t&&p4(this.reprojectedImage_.getExtent(),e))return this.reprojectedImage_;this.reprojectedImage_.dispose(),this.reprojectedImage_=null}return this.reprojectedImage_=new DQ(a,r,e,t,i,(s,o,l)=>this.getImageInternal(s,o,l,a),this.getInterpolate()),this.reprojectedRevision_=this.getRevision(),this.reprojectedImage_}getImageInternal(e,t,i,r){if(this.loader){const a=_C(e,t,i,1),s=this.findNearestResolution(t);if(this.image&&(this.static_||this.wantedProjection_===r&&(this.wantedExtent_&&A9(this.wantedExtent_,a)||A9(this.image.getExtent(),a))&&(this.wantedResolution_&&Ch(this.wantedResolution_)===s||Ch(this.image.getResolution())===s)))return this.image;this.wantedProjection_=r,this.wantedExtent_=a,this.wantedResolution_=s,this.image=new Nw(a,s,i,this.loader),this.image.addEventListener(t0.CHANGE,this.handleImageChange.bind(this))}return this.image}handleImageChange(e){const t=e.target;let i;switch(t.getState()){case x1.LOADING:this.loading=!0,i=pd.IMAGELOADSTART;break;case x1.LOADED:this.loading=!1,i=pd.IMAGELOADEND;break;case x1.ERROR:this.loading=!1,i=pd.IMAGELOADERROR;break;default:return}this.hasListener(i)&&this.dispatchEvent(new BQ(i,t))}}function jQ(n,e){n.getImage().src=e}function _C(n,e,t,i){const r=e/t,a=c5(n),s=T9(F0(n)/r,M9),o=T9(ut(n)/r,M9),l=T9((i-1)*s/2,M9),c=s+2*l,d=T9((i-1)*o/2,M9),f=o+2*d;return Cr(a,r,0,[c,f])}const zQ=GQ;function mm(n,e){const t=[];Object.keys(e).forEach(function(r){e[r]!==null&&e[r]!==void 0&&t.push(r+"="+encodeURIComponent(e[r]))});const i=t.join("&");return n=n.replace(/[?&]$/,""),n+=n.includes("?")?"&":"?",n+i}const UQ=/\{z\}/g,$Q=/\{x\}/g,WQ=/\{y\}/g,VQ=/\{-y\}/g;function HQ(n,e,t,i,r){return n.replace(UQ,e.toString()).replace($Q,t.toString()).replace(WQ,i.toString()).replace(VQ,function(){if(r===void 0)throw new Error("If the URL template has a {-y} placeholder, the grid extent must be known");return(r-i).toString()})}function YQ(n){const e=[];let t=/\{([a-z])-([a-z])\}/.exec(n);if(t){const i=t[1].charCodeAt(0),r=t[2].charCodeAt(0);let a;for(a=i;a<=r;++a)e.push(n.replace(t[0],String.fromCharCode(a)));return e}if(t=/\{(\d+)-(\d+)\}/.exec(n),t){const i=parseInt(t[2],10);for(let r=parseInt(t[1],10);r<=i;r++)e.push(n.replace(t[0],r.toString()));return e}return e.push(n),e}const sl="1.3.0",T_=[101,101];function bC(n,e,t,i,r){r.WIDTH=t[0],r.HEIGHT=t[1];const a=i.getAxisOrientation(),s=yf(r.VERSION,"1.3")>=0;r[s?"CRS":"SRS"]=i.getCode();const o=s&&a.startsWith("ne")?[e[1],e[0],e[3],e[2]]:e;return r.BBOX=o.join(","),mm(n,r)}function SC(n,e,t,i,r,a,s){a=Object.assign({REQUEST:"GetMap"},a);const o=e/t,l=[Tv(F0(n)/o,M9),Tv(ut(n)/o,M9)];if(t!=1)switch(s){case"geoserver":const d=90*t+.5|0;"FORMAT_OPTIONS"in a?a.FORMAT_OPTIONS+=";dpi:"+d:a.FORMAT_OPTIONS="dpi:"+d;break;case"mapserver":a.MAP_RESOLUTION=90*t;break;case"carmentaserver":case"qgis":a.DPI=90*t;break;default:throw new Error("Unknown `serverType` configured")}return bC(r,n,l,i,a)}function ol(n,e){return Object.assign({REQUEST:e,SERVICE:"WMS",VERSION:sl,FORMAT:"image/png",STYLES:"",TRANSPARENT:"TRUE"},n)}function KQ(n){var o;const e=n.hidpi===void 0?!0:n.hidpi,t=Se(n.projection||"EPSG:3857"),i=n.ratio||1.5,r=n.load||Fw,a=(o=n.crossOrigin)!=null?o:null,s=n.referrerPolicy;return(l,c,d)=>{l=_C(l,c,d,i),d!=1&&(!e||n.serverType===void 0)&&(d=1);const f=SC(l,c,d,t,n.url,ol(n.params,"GetMap"),n.serverType),p=new Image;return p.crossOrigin=a,s!==void 0&&(p.referrerPolicy=s),r(p,f).then(y=>({image:y,extent:l,pixelRatio:d}))}}function qQ(n,e,t){if(n.url===void 0)return;const i=Se(n.projection||"EPSG:3857"),r=Cr(e,t,0,T_),a={QUERY_LAYERS:n.params.LAYERS,INFO_FORMAT:"application/json"};Object.assign(a,ol(n.params,"GetFeatureInfo"),n.params);const s=qi((e[0]-r[0])/t,M9),o=qi((r[3]-e[1])/t,M9),l=yf(a.VERSION,"1.3")>=0;return a[l?"I":"X"]=s,a[l?"J":"Y"]=o,bC(n.url,r,T_,i,a)}function XQ(n,e){if(n.url===void 0)return;const t={SERVICE:"WMS",VERSION:sl,REQUEST:"GetLegendGraphic",FORMAT:"image/png"};if(e!==void 0){const i=Se(n.projection||"EPSG:3857").getMetersPerUnit()||1,r=28e-5;t.SCALE=e*i/r}if(Object.assign(t,n.params),n.params!==void 0&&t.LAYER===void 0){const i=t.LAYERS;if(!(!Array.isArray(i)||i.length!==1))return;t.LAYER=i}return mm(n.url,t)}class ZQ extends zQ{constructor(e){e=e||{},super({attributions:e.attributions,interpolate:e.interpolate,projection:e.projection,resolutions:e.resolutions}),this.crossOrigin_=e.crossOrigin!==void 0?e.crossOrigin:null,this.referrerPolicy_=e.referrerPolicy,this.url_=e.url,this.imageLoadFunction_=e.imageLoadFunction!==void 0?e.imageLoadFunction:jQ,this.params_=Object.assign({},e.params),this.serverType_=e.serverType,this.hidpi_=e.hidpi!==void 0?e.hidpi:!0,this.renderedRevision_=0,this.ratio_=e.ratio!==void 0?e.ratio:1.5,this.loaderProjection_=null}getFeatureInfoUrl(e,t,i,r){const a=Se(i),s=this.getProjection();s&&s!==a&&(t=Lr(s,a,e,t),e=E4(e,a,s));const o={url:this.url_,params:W2(W2({},this.params_),r),projection:s||a};return qQ(o,e,t)}getLegendUrl(e,t){return XQ({url:this.url_,params:W2(W2({},this.params_),t)},e)}getParams(){return this.params_}getImageInternal(e,t,i,r){return this.url_===void 0?null:((!this.loader||this.loaderProjection_!==r)&&(this.loaderProjection_=r,this.loader=KQ({crossOrigin:this.crossOrigin_,referrerPolicy:this.referrerPolicy_,params:this.params_,projection:r,serverType:this.serverType_,hidpi:this.hidpi_,url:this.url_,ratio:this.ratio_,load:(a,s)=>(this.image.setImage(a),this.imageLoadFunction_(this.image,s),Fw(a))})),super.getImageInternal(e,t,i,r))}getImageLoadFunction(){return this.imageLoadFunction_}getUrl(){return this.url_}setImageLoadFunction(e){this.imageLoadFunction_=e,this.changed()}setUrl(e){e!=this.url_&&(this.url_=e,this.loader=null,this.changed())}setParams(e){this.params_=Object.assign({},e),this.loader=null,this.changed()}updateParams(e){Object.assign(this.params_,e),this.changed()}changed(){this.image=null,super.changed()}}const JQ=ZQ,Ri=[0,0,0],u9=5;class QQ{constructor(e){this.minZoom=e.minZoom!==void 0?e.minZoom:0,this.resolutions_=e.resolutions,ne(LY(this.resolutions_,(r,a)=>a-r,!0),"`resolutions` must be sorted in descending order");let t;if(!e.origins){for(let r=0,a=this.resolutions_.length-1;r<a;++r)if(!t)t=this.resolutions_[r]/this.resolutions_[r+1];else if(this.resolutions_[r]/this.resolutions_[r+1]!==t){t=void 0;break}}this.zoomFactor_=t,this.maxZoom=this.resolutions_.length-1,this.origin_=e.origin!==void 0?e.origin:null,this.origins_=null,e.origins!==void 0&&(this.origins_=e.origins,ne(this.origins_.length==this.resolutions_.length,"Number of `origins` and `resolutions` must be equal"));const i=e.extent;i!==void 0&&!this.origin_&&!this.origins_&&(this.origin_=z8(i)),ne(!this.origin_&&this.origins_||this.origin_&&!this.origins_,"Either `origin` or `origins` must be configured, never both"),this.tileSizes_=null,e.tileSizes!==void 0&&(this.tileSizes_=e.tileSizes,ne(this.tileSizes_.length==this.resolutions_.length,"Number of `tileSizes` and `resolutions` must be equal")),this.tileSize_=e.tileSize!==void 0?e.tileSize:this.tileSizes_?null:Bf,ne(!this.tileSize_&&this.tileSizes_||this.tileSize_&&!this.tileSizes_,"Either `tileSize` or `tileSizes` must be configured, never both"),this.extent_=i!==void 0?i:null,this.fullTileRanges_=null,this.tmpSize_=[0,0],this.tmpExtent_=[0,0,0,0],e.sizes!==void 0?this.fullTileRanges_=e.sizes.map((r,a)=>{const s=new rC(Math.min(0,r[0]),Math.max(r[0]-1,-1),Math.min(0,r[1]),Math.max(r[1]-1,-1));if(i){const o=this.getTileRangeForExtentAndZ(i,a);s.minX=Math.max(o.minX,s.minX),s.maxX=Math.min(o.maxX,s.maxX),s.minY=Math.max(o.minY,s.minY),s.maxY=Math.min(o.maxY,s.maxY)}return s}):i&&this.calculateTileRanges_(i)}forEachTileCoord(e,t,i){const r=this.getTileRangeForExtentAndZ(e,t);for(let a=r.minX,s=r.maxX;a<=s;++a)for(let o=r.minY,l=r.maxY;o<=l;++o)i([t,a,o])}forEachTileCoordParentTileRange(e,t,i,r){let a,s,o,l=null,c=e[0]-1;for(this.zoomFactor_===2?(s=e[1],o=e[2]):l=this.getTileCoordExtent(e,r);c>=this.minZoom;){if(s!==void 0&&o!==void 0?(s=Math.floor(s/2),o=Math.floor(o/2),a=Pi(s,s,o,o,i)):a=this.getTileRangeForExtentAndZ(l,c,i),t(c,a))return!0;--c}return!1}getExtent(){return this.extent_}getMaxZoom(){return this.maxZoom}getMinZoom(){return this.minZoom}getOrigin(e){return this.origin_?this.origin_:this.origins_[e]}getOrigins(){return this.origins_}getResolution(e){return this.resolutions_[e]}getResolutions(){return this.resolutions_}getTileCoordChildTileRange(e,t,i){if(e[0]<this.maxZoom){if(this.zoomFactor_===2){const a=e[1]*2,s=e[2]*2;return Pi(a,a+1,s,s+1,t)}const r=this.getTileCoordExtent(e,i||this.tmpExtent_);return this.getTileRangeForExtentAndZ(r,e[0]+1,t)}return null}getTileRangeForTileCoordAndZ(e,t,i){if(t>this.maxZoom||t<this.minZoom)return null;const r=e[0],a=e[1],s=e[2];if(t===r)return Pi(a,s,a,s,i);if(this.zoomFactor_){const l=Math.pow(this.zoomFactor_,t-r),c=Math.floor(a*l),d=Math.floor(s*l);if(t<r)return Pi(c,c,d,d,i);const f=Math.floor(l*(a+1))-1,p=Math.floor(l*(s+1))-1;return Pi(c,f,d,p,i)}const o=this.getTileCoordExtent(e,this.tmpExtent_);return this.getTileRangeForExtentAndZ(o,t,i)}getTileRangeForExtentAndZ(e,t,i){this.getTileCoordForXYAndZ_(e[0],e[3],t,!1,Ri);const r=Ri[1],a=Ri[2];this.getTileCoordForXYAndZ_(e[2],e[1],t,!0,Ri);const s=Ri[1],o=Ri[2];return Pi(r,s,a,o,i)}getTileCoordCenter(e){const t=this.getOrigin(e[0]),i=this.getResolution(e[0]),r=En(this.getTileSize(e[0]),this.tmpSize_);return[t[0]+(e[1]+.5)*r[0]*i,t[1]-(e[2]+.5)*r[1]*i]}getTileCoordExtent(e,t){const i=this.getOrigin(e[0]),r=this.getResolution(e[0]),a=En(this.getTileSize(e[0]),this.tmpSize_),s=i[0]+e[1]*a[0]*r,o=i[1]-(e[2]+1)*a[1]*r,l=s+a[0]*r,c=o+a[1]*r;return B9(s,o,l,c,t)}getTileCoordForCoordAndResolution(e,t,i){return this.getTileCoordForXYAndResolution_(e[0],e[1],t,!1,i)}getTileCoordForXYAndResolution_(e,t,i,r,a){const s=this.getZForResolution(i),o=i/this.getResolution(s),l=this.getOrigin(s),c=En(this.getTileSize(s),this.tmpSize_);let d=o*(e-l[0])/i/c[0],f=o*(l[1]-t)/i/c[1];return r?(d=T9(d,u9)-1,f=T9(f,u9)-1):(d=qi(d,u9),f=qi(f,u9)),rl(s,d,f,a)}getTileCoordForXYAndZ_(e,t,i,r,a){const s=this.getOrigin(i),o=this.getResolution(i),l=En(this.getTileSize(i),this.tmpSize_);let c=(e-s[0])/o/l[0],d=(s[1]-t)/o/l[1];return r?(c=T9(c,u9)-1,d=T9(d,u9)-1):(c=qi(c,u9),d=qi(d,u9)),rl(i,c,d,a)}getTileCoordForCoordAndZ(e,t,i){return this.getTileCoordForXYAndZ_(e[0],e[1],t,!1,i)}getTileCoordResolution(e){return this.resolutions_[e[0]]}getTileSize(e){return this.tileSize_?this.tileSize_:this.tileSizes_[e]}getFullTileRange(e){return this.fullTileRanges_?this.fullTileRanges_[e]:this.extent_?this.getTileRangeForExtentAndZ(this.extent_,e):null}getZForResolution(e,t){const i=Ml(this.resolutions_,e,t||0);return Ie(i,this.minZoom,this.maxZoom)}tileCoordIntersectsViewport(e,t){return yw(t,0,t.length,2,this.getTileCoordExtent(e))}calculateTileRanges_(e){const t=this.resolutions_.length,i=new Array(t);for(let r=this.minZoom;r<t;++r)i[r]=this.getTileRangeForExtentAndZ(e,r);this.fullTileRanges_=i}}const wC=QQ;function CC(n){let e=n.getDefaultTileGrid();return e||(e=i22(n),n.setDefaultTileGrid(e)),e}function e22(n,e,t){const i=e[0],r=n.getTileCoordCenter(e),a=gm(t);if(!L8(a,r)){const s=F0(a),o=Math.ceil((a[0]-r[0])/s);return r[0]+=s*o,n.getTileCoordForCoordAndZ(r,i)}return e}function t22(n,e,t,i){i=i!==void 0?i:"top-left";const r=TC(n,e,t);return new wC({extent:n,origin:nK(n,i),resolutions:r,tileSize:t})}function n22(n){const e=n||{},t=e.extent||Se("EPSG:3857").getExtent(),i={extent:t,minZoom:e.minZoom,tileSize:e.tileSize,resolutions:TC(t,e.maxZoom,e.tileSize,e.maxResolution)};return new wC(i)}function TC(n,e,t,i){e=e!==void 0?e:pq,t=En(t!==void 0?t:Bf);const r=ut(n),a=F0(n);i=i>0?i:Math.max(a/t[0],r/t[1]);const s=e+1,o=new Array(s);for(let l=0;l<s;++l)o[l]=i/Math.pow(2,l);return o}function i22(n,e,t,i){const r=gm(n);return t22(r,e,t,i)}function gm(n){n=Se(n);let e=n.getExtent();if(!e){const t=180*Tr.degrees/n.getMetersPerUnit();e=B9(-t,-t,t,t)}return e}function r22(n,e){return function(t,i,r){if(!t)return;let a;const s=t[0];if(e){const o=e.getFullTileRange(s);o&&(a=o.getHeight()-1)}return HQ(n,s,t[1],t[2],a)}}function a22(n,e){const t=n.length,i=new Array(t);for(let r=0;r<t;++r)i[r]=r22(n[r],e);return s22(i)}function s22(n){return n.length===1?n[0]:function(e,t,i){if(!e)return;const r=uC(e),a=R9(r,n.length);return n[a](e,t,i)}}class o22 extends fm{constructor(e){super({attributions:e.attributions,attributionsCollapsible:e.attributionsCollapsible,projection:e.projection,state:e.state,wrapX:e.wrapX,interpolate:e.interpolate}),this.on,this.once,this.un,this.tilePixelRatio_=e.tilePixelRatio!==void 0?e.tilePixelRatio:1,this.tileGrid=e.tileGrid!==void 0?e.tileGrid:null;const t=[256,256];this.tileGrid&&En(this.tileGrid.getTileSize(this.tileGrid.getMinZoom()),t),this.tmpSize=[0,0],this.key_=e.key||j0(this),this.tileOptions={transition:e.transition,interpolate:e.interpolate},this.zDirection=e.zDirection?e.zDirection:0}getGutterForProjection(e){return 0}getKey(){return this.key_}setKey(e){this.key_!==e&&(this.key_=e,this.changed())}getResolutions(e){const t=e?this.getTileGridForProjection(e):this.tileGrid;return t?t.getResolutions():null}getTile(e,t,i,r,a,s){return Z1()}getTileGrid(){return this.tileGrid}getTileGridForProjection(e){return this.tileGrid?this.tileGrid:CC(e)}getTilePixelRatio(e){return this.tilePixelRatio_}getTilePixelSize(e,t,i){const r=this.getTileGridForProjection(i),a=this.getTilePixelRatio(t),s=En(r.getTileSize(e),this.tmpSize);return a==1?s:IX(s,a,this.tmpSize)}getTileCoordForTileUrlFunction(e,t){const i=t!==void 0?t:this.getProjection(),r=t!==void 0?this.getTileGridForProjection(i):this.tileGrid||this.getTileGridForProjection(i);return this.getWrapX()&&i.isGlobal()&&(e=e22(r,e,i)),jJ(e,r)?e:null}clear(){}refresh(){this.clear(),super.refresh()}}class l22 extends g5{constructor(e,t){super(e),this.tile=t}}const u22=o22,yd={TILELOADSTART:"tileloadstart",TILELOADEND:"tileloadend",TILELOADERROR:"tileloaderror"};class pm extends u22{constructor(e){super({attributions:e.attributions,cacheSize:e.cacheSize,projection:e.projection,state:e.state,tileGrid:e.tileGrid,tilePixelRatio:e.tilePixelRatio,wrapX:e.wrapX,transition:e.transition,interpolate:e.interpolate,key:e.key,attributionsCollapsible:e.attributionsCollapsible,zDirection:e.zDirection}),this.generateTileUrlFunction_=this.tileUrlFunction===pm.prototype.tileUrlFunction,this.tileLoadFunction=e.tileLoadFunction,e.tileUrlFunction&&(this.tileUrlFunction=e.tileUrlFunction),this.urls=null,e.urls?this.setUrls(e.urls):e.url&&this.setUrl(e.url),this.tileLoadingKeys_={}}getTileLoadFunction(){return this.tileLoadFunction}getTileUrlFunction(){return Object.getPrototypeOf(this).tileUrlFunction===this.tileUrlFunction?this.tileUrlFunction.bind(this):this.tileUrlFunction}getUrls(){return this.urls}handleTileChange(e){const t=e.target,i=j0(t),r=t.getState();let a;r==z1.LOADING?(this.tileLoadingKeys_[i]=!0,a=yd.TILELOADSTART):i in this.tileLoadingKeys_&&(delete this.tileLoadingKeys_[i],a=r==z1.ERROR?yd.TILELOADERROR:r==z1.LOADED?yd.TILELOADEND:void 0),a!=null&&this.dispatchEvent(new l22(a,t))}setTileLoadFunction(e){this.tileLoadFunction=e,this.changed()}setTileUrlFunction(e,t){this.tileUrlFunction=e,typeof t!="undefined"?this.setKey(t):this.changed()}setUrl(e){const t=YQ(e);this.urls=t,this.setUrls(t)}setUrls(e){this.urls=e;const t=e.join(`
`);this.generateTileUrlFunction_?this.setTileUrlFunction(a22(e,this.tileGrid),t):this.setKey(t)}tileUrlFunction(e,t,i){}}const c22=pm;class d22 extends c22{constructor(e){super({attributions:e.attributions,cacheSize:e.cacheSize,projection:e.projection,state:e.state,tileGrid:e.tileGrid,tileLoadFunction:e.tileLoadFunction?e.tileLoadFunction:h22,tilePixelRatio:e.tilePixelRatio,tileUrlFunction:e.tileUrlFunction,url:e.url,urls:e.urls,wrapX:e.wrapX,transition:e.transition,interpolate:e.interpolate!==void 0?e.interpolate:!0,key:e.key,attributionsCollapsible:e.attributionsCollapsible,zDirection:e.zDirection}),this.crossOrigin=e.crossOrigin!==void 0?e.crossOrigin:null,this.referrerPolicy=e.referrerPolicy,this.tileClass=e.tileClass!==void 0?e.tileClass:nC,this.tileGridForProjection={},this.reprojectionErrorThreshold_=e.reprojectionErrorThreshold,this.renderReprojectionEdges_=!1}getGutterForProjection(e){return this.getProjection()&&e&&!x8(this.getProjection(),e)?0:this.getGutter()}getGutter(){return 0}getKey(){let e=super.getKey();return this.getInterpolate()||(e+=":disable-interpolation"),e}getTileGridForProjection(e){const t=this.getProjection();if(this.tileGrid&&(!t||x8(t,e)))return this.tileGrid;const i=j0(e);return i in this.tileGridForProjection||(this.tileGridForProjection[i]=CC(e)),this.tileGridForProjection[i]}createTile_(e,t,i,r,a,s){const o=[e,t,i],l=this.getTileCoordForTileUrlFunction(o,a),c=l?this.tileUrlFunction(l,r,a):void 0,d=new this.tileClass(o,c!==void 0?z1.IDLE:z1.EMPTY,c!==void 0?c:"",{crossOrigin:this.crossOrigin,referrerPolicy:this.referrerPolicy},this.tileLoadFunction,this.tileOptions);return d.key=s,d.addEventListener(t0.CHANGE,this.handleTileChange.bind(this)),d}getTile(e,t,i,r,a,s){const o=this.getProjection();if(!o||!a||x8(o,a))return this.getTileInternal(e,t,i,r,o||a);const l=[e,t,i],c=this.getKey(),d=this.getTileGridForProjection(o),f=this.getTileGridForProjection(a),p=this.getTileCoordForTileUrlFunction(l,a),y=new lC(o,d,a,f,l,p,this.getTilePixelRatio(r),this.getGutter(),(w,M,P,D)=>this.getTileInternal(w,M,P,D,o,s),this.reprojectionErrorThreshold_,this.renderReprojectionEdges_,this.tileOptions);return y.key=c,y}getTileInternal(e,t,i,r,a,s){const o=this.getKey(),l=go(this,o,e,t,i);if(s&&s.containsKey(l))return s.get(l);const c=this.createTile_(e,t,i,r,a,o);return s==null||s.set(l,c),c}setRenderReprojectionEdges(e){this.renderReprojectionEdges_!=e&&(this.renderReprojectionEdges_=e,this.changed())}setTileGridForProjection(e,t){const i=Se(e);if(i){const r=j0(i);r in this.tileGridForProjection||(this.tileGridForProjection[r]=t)}}}function h22(n,e){if(a6){const t=n.getCrossOrigin();let i="same-origin",r="same-origin";t==="anonymous"||t===""?(i="cors",r="omit"):t==="use-credentials"&&(i="cors",r="include");const a={mode:i,credentials:r,referrerPolicy:n.getReferrerPolicy()};fetch(e,a).then(s=>{if(!s.ok)throw new Error(`HTTP ${s.status}`);return s.blob()}).then(s=>createImageBitmap(s)).then(s=>{var c;const o=n.getImage();o.width=s.width,o.height=s.height,o.getContext("2d").drawImage(s,0,0),(c=s.close)==null||c.call(s),o.dispatchEvent(new Event("load"))}).catch(()=>{n.getImage().dispatchEvent(new Event("error"))});return}n.getImage().src=e}const AC=d22;class f22 extends AC{constructor(e){e=e||{};const t=Object.assign({},e.params);super({attributions:e.attributions,attributionsCollapsible:e.attributionsCollapsible,cacheSize:e.cacheSize,crossOrigin:e.crossOrigin,interpolate:e.interpolate,projection:e.projection,reprojectionErrorThreshold:e.reprojectionErrorThreshold,tileClass:e.tileClass,tileGrid:e.tileGrid,tileLoadFunction:e.tileLoadFunction,url:e.url,urls:e.urls,wrapX:e.wrapX!==void 0?e.wrapX:!0,transition:e.transition,zDirection:e.zDirection}),this.gutter_=e.gutter!==void 0?e.gutter:0,this.params_=t,this.v13_=!0,this.serverType_=e.serverType,this.hidpi_=e.hidpi!==void 0?e.hidpi:!0,this.tmpExtent_=zn(),this.updateV13_(),this.setKey(this.getKeyForParams_())}getFeatureInfoUrl(e,t,i,r){const a=Se(i),s=this.getProjection()||a;let o=this.getTileGrid();o||(o=this.getTileGridForProjection(s));const l=E4(e,a,s),c=Lr(s,a,e,t),d=o.getZForResolution(c,this.zDirection),f=o.getResolution(d),p=o.getTileCoordForCoordAndZ(l,d);if(o.getResolutions().length<=p[0])return;let y=o.getTileCoordExtent(p,this.tmpExtent_);const w=this.gutter_;w!==0&&(y=wr(y,f*w,y));const M={QUERY_LAYERS:this.params_.LAYERS};Object.assign(M,ol(this.params_,"GetFeatureInfo"),r);const P=Math.floor((l[0]-y[0])/f),D=Math.floor((y[3]-l[1])/f);return M[this.v13_?"I":"X"]=P,M[this.v13_?"J":"Y"]=D,this.getRequestUrl_(p,y,1,s||a,M)}getLegendUrl(e,t){if(this.urls[0]===void 0)return;const i={SERVICE:"WMS",VERSION:sl,REQUEST:"GetLegendGraphic",FORMAT:"image/png"};if(t===void 0||t.LAYER===void 0){const r=this.params_.LAYERS;if(!(!Array.isArray(r)||r.length===1))return;i.LAYER=r}if(e!==void 0){const r=this.getProjection()?this.getProjection().getMetersPerUnit():1,a=28e-5;i.SCALE=e*r/a}return Object.assign(i,t),mm(this.urls[0],i)}getGutter(){return this.gutter_}getParams(){return this.params_}getRequestUrl_(e,t,i,r,a){const s=this.urls;if(!s)return;let o;if(s.length==1)o=s[0];else{const l=R9(uC(e),s.length);o=s[l]}return SC(t,(this.tileGrid||this.getTileGridForProjection(r)).getResolution(e[0]),i,r,o,a,this.serverType_)}getTilePixelRatio(e){return!this.hidpi_||this.serverType_===void 0?1:e}getKeyForParams_(){let e=0;const t=[];for(const i in this.params_)t[e++]=i+"-"+this.params_[i];return t.join("/")}setParams_(e){this.params_=e,this.updateV13_(),this.setKey(this.getKeyForParams_())}setParams(e){this.setParams_(Object.assign({},e))}updateParams(e){this.setParams_(Object.assign(this.params_,e))}updateV13_(){const e=this.params_.VERSION||sl;this.v13_=yf(e,"1.3")>=0}tileUrlFunction(e,t,i){let r=this.getTileGrid();if(r||(r=this.getTileGridForProjection(i)),r.getResolutions().length<=e[0])return;t!=1&&(!this.hidpi_||this.serverType_===void 0)&&(t=1);const a=r.getResolution(e[0]);let s=r.getTileCoordExtent(e,this.tmpExtent_);const o=this.gutter_;o!==0&&(s=wr(s,a*o,s));const l=Object.assign({},ol(this.params_,"GetMap"));return this.getRequestUrl_(e,s,t,i,l)}}const m22=f22;class g22 extends AC{constructor(e){e=e||{};const t=e.projection!==void 0?e.projection:"EPSG:3857",i=e.tileGrid!==void 0?e.tileGrid:n22({extent:gm(t),maxResolution:e.maxResolution,maxZoom:e.maxZoom,minZoom:e.minZoom,tileSize:e.tileSize});super({attributions:e.attributions,cacheSize:e.cacheSize,crossOrigin:e.crossOrigin,referrerPolicy:e.referrerPolicy,interpolate:e.interpolate,projection:t,reprojectionErrorThreshold:e.reprojectionErrorThreshold,tileGrid:i,tileLoadFunction:e.tileLoadFunction,tilePixelRatio:e.tilePixelRatio,tileUrlFunction:e.tileUrlFunction,url:e.url,urls:e.urls,wrapX:e.wrapX!==void 0?e.wrapX:!0,transition:e.transition,attributionsCollapsible:e.attributionsCollapsible,zDirection:e.zDirection}),this.gutter_=e.gutter!==void 0?e.gutter:0}getGutter(){return this.gutter_}}const p22=g22;let y22=!1;function v22(n,e,t,i,r,a,s){const o=new XMLHttpRequest;o.open("GET",typeof n=="function"?n(t,i,r):n,!0),e.getType()=="arraybuffer"&&(o.responseType="arraybuffer"),o.withCredentials=y22,o.onload=function(l){if(!o.status||o.status>=200&&o.status<300){const c=e.getType();try{let d;c=="text"||c=="json"?d=o.responseText:c=="xml"?d=o.responseXML||o.responseText:c=="arraybuffer"&&(d=o.response),d?a(e.readFeatures(d,{extent:t,featureProjection:r}),e.readProjection(d)):s()}catch(d){s()}}else s()},o.onerror=s,o.send()}function A_(n,e){return function(t,i,r,a,s){v22(n,e,t,i,r,(o,l)=>{this.addFeatures(o),a!==void 0&&a(o)},()=>{this.changed(),s!==void 0&&s()})}}function _22(n,e){return[[-1/0,-1/0,1/0,1/0]]}function b22(n,e){return[n]}class S22{constructor(e){this.rbush_=new Pw(e),this.items_={}}insert(e,t){const i={minX:e[0],minY:e[1],maxX:e[2],maxY:e[3],value:t};this.rbush_.insert(i),this.items_[j0(t)]=i}load(e,t){const i=new Array(t.length);for(let r=0,a=t.length;r<a;r++){const s=e[r],o=t[r],l={minX:s[0],minY:s[1],maxX:s[2],maxY:s[3],value:o};i[r]=l,this.items_[j0(o)]=l}this.rbush_.load(i)}remove(e){const t=j0(e),i=this.items_[t];return delete this.items_[t],this.rbush_.remove(i)!==null}update(e,t){const i=this.items_[j0(t)],r=[i.minX,i.minY,i.maxX,i.maxY];p4(r,e)||(this.remove(t),this.insert(e,t))}getAll(){return this.rbush_.all().map(function(t){return t.value})}getInExtent(e){const t={minX:e[0],minY:e[1],maxX:e[2],maxY:e[3]};return this.rbush_.search(t).map(function(r){return r.value})}forEach(e){return this.forEach_(this.getAll(),e)}forEachInExtent(e,t){return this.forEach_(this.getInExtent(e),t)}forEach_(e,t){let i;for(let r=0,a=e.length;r<a;r++)if(i=t(e[r]),i)return i;return i}isEmpty(){return I8(this.items_)}clear(){this.rbush_.clear(),this.items_={}}getExtent(e){const t=this.rbush_.toJSON();return B9(t.minX,t.minY,t.maxX,t.maxY,e)}concat(e){this.rbush_.load(e.rbush_.all());for(const t in e.items_)this.items_[t]=e.items_[t]}}const x_=S22,Xn={ADDFEATURE:"addfeature",CHANGEFEATURE:"changefeature",CLEAR:"clear",REMOVEFEATURE:"removefeature",FEATURESLOADSTART:"featuresloadstart",FEATURESLOADEND:"featuresloadend",FEATURESLOADERROR:"featuresloaderror"};class c9 extends g5{constructor(e,t,i){super(e),this.feature=t,this.features=i}}class w22 extends fm{constructor(e){e=e||{},super({attributions:e.attributions,interpolate:!0,projection:void 0,state:"ready",wrapX:e.wrapX!==void 0?e.wrapX:!0}),this.on,this.once,this.un,this.loader_=Sr,this.format_=e.format||null,this.overlaps_=e.overlaps===void 0?!0:e.overlaps,this.url_=e.url,e.loader!==void 0?this.loader_=e.loader:this.url_!==void 0&&(ne(this.format_,"`format` must be set when `url` is set"),this.loader_=A_(this.url_,this.format_)),this.strategy_=e.strategy!==void 0?e.strategy:_22;const t=e.useSpatialIndex!==void 0?e.useSpatialIndex:!0;this.featuresRtree_=t?new x_:null,this.loadedExtentsRtree_=new x_,this.nullGeometryFeatures_={},this.idIndex_={},this.uidIndex_={},this.featureChangeKeys_={},this.featuresCollection_=null;let i,r;Array.isArray(e.features)?r=e.features:e.features&&(i=e.features,r=i.getArray()),!t&&i===void 0&&(i=new r6(r)),r!==void 0&&this.addFeaturesInternal(r),i!==void 0&&this.bindFeaturesCollection_(i)}addFeature(e){this.addFeatureInternal(e),this.changed()}addFeatureInternal(e){const t=j0(e);if(!this.addToIndex_(t,e)){this.featuresCollection_&&this.featuresCollection_.remove(e);return}this.setupChangeEvents_(t,e);const i=e.getGeometry();if(i){const r=i.getExtent();this.featuresRtree_&&this.featuresRtree_.insert(r,e)}else this.nullGeometryFeatures_[t]=e;this.dispatchEvent(new c9(Xn.ADDFEATURE,e))}setupChangeEvents_(e,t){t instanceof _9||(this.featureChangeKeys_[e]=[M0(t,t0.CHANGE,this.handleFeatureChange_,this),M0(t,g4.PROPERTYCHANGE,this.handleFeatureChange_,this)])}addToIndex_(e,t){let i=!0;if(t.getId()!==void 0){const r=String(t.getId());if(!(r in this.idIndex_))this.idIndex_[r]=t;else if(t instanceof _9){const a=this.idIndex_[r];a instanceof _9?Array.isArray(a)?a.push(t):this.idIndex_[r]=[a,t]:i=!1}else i=!1}return i&&(ne(!(e in this.uidIndex_),"The passed `feature` was already added to the source"),this.uidIndex_[e]=t),i}addFeatures(e){this.addFeaturesInternal(e),this.changed()}addFeaturesInternal(e){const t=[],i=[],r=[];for(let a=0,s=e.length;a<s;a++){const o=e[a],l=j0(o);this.addToIndex_(l,o)&&i.push(o)}for(let a=0,s=i.length;a<s;a++){const o=i[a],l=j0(o);this.setupChangeEvents_(l,o);const c=o.getGeometry();if(c){const d=c.getExtent();t.push(d),r.push(o)}else this.nullGeometryFeatures_[l]=o}if(this.featuresRtree_&&this.featuresRtree_.load(t,r),this.hasListener(Xn.ADDFEATURE))for(let a=0,s=i.length;a<s;a++)this.dispatchEvent(new c9(Xn.ADDFEATURE,i[a]))}bindFeaturesCollection_(e){let t=!1;this.addEventListener(Xn.ADDFEATURE,function(i){t||(t=!0,e.push(i.feature),t=!1)}),this.addEventListener(Xn.REMOVEFEATURE,function(i){t||(t=!0,e.remove(i.feature),t=!1)}),e.addEventListener(Sn.ADD,i=>{t||(t=!0,this.addFeature(i.element),t=!1)}),e.addEventListener(Sn.REMOVE,i=>{t||(t=!0,this.removeFeature(i.element),t=!1)}),this.featuresCollection_=e}clear(e){if(e){for(const i in this.featureChangeKeys_)this.featureChangeKeys_[i].forEach(be);this.featuresCollection_||(this.featureChangeKeys_={},this.idIndex_={},this.uidIndex_={})}else if(this.featuresRtree_){this.featuresRtree_.forEach(i=>{this.removeFeatureInternal(i)});for(const i in this.nullGeometryFeatures_)this.removeFeatureInternal(this.nullGeometryFeatures_[i])}this.featuresCollection_&&this.featuresCollection_.clear(),this.featuresRtree_&&this.featuresRtree_.clear(),this.nullGeometryFeatures_={};const t=new c9(Xn.CLEAR);this.dispatchEvent(t),this.changed()}forEachFeature(e){if(this.featuresRtree_)return this.featuresRtree_.forEach(e);this.featuresCollection_&&this.featuresCollection_.forEach(e)}forEachFeatureAtCoordinateDirect(e,t){const i=[e[0],e[1],e[0],e[1]];return this.forEachFeatureInExtent(i,function(r){const a=r.getGeometry();if(a instanceof _9||a.intersectsCoordinate(e))return t(r)})}forEachFeatureInExtent(e,t){if(this.featuresRtree_)return this.featuresRtree_.forEachInExtent(e,t);this.featuresCollection_&&this.featuresCollection_.forEach(t)}forEachFeatureIntersectingExtent(e,t){return this.forEachFeatureInExtent(e,function(i){const r=i.getGeometry();if(r instanceof _9||r.intersectsExtent(e)){const a=t(i);if(a)return a}})}getFeaturesCollection(){return this.featuresCollection_}getFeatures(){let e;return this.featuresCollection_?e=this.featuresCollection_.getArray().slice(0):this.featuresRtree_&&(e=this.featuresRtree_.getAll(),I8(this.nullGeometryFeatures_)||a5(e,Object.values(this.nullGeometryFeatures_))),e}getFeaturesAtCoordinate(e){const t=[];return this.forEachFeatureAtCoordinateDirect(e,function(i){t.push(i)}),t}getFeaturesInExtent(e,t){if(this.featuresRtree_){if(!(t&&t.canWrapX()&&this.getWrapX()))return this.featuresRtree_.getInExtent(e);const r=ZS(e,t);return[].concat(...r.map(a=>this.featuresRtree_.getInExtent(a)))}return this.featuresCollection_?this.featuresCollection_.getArray().slice(0):[]}getClosestFeatureToCoordinate(e,t){const i=e[0],r=e[1];let a=null;const s=[NaN,NaN];let o=1/0;const l=[-1/0,-1/0,1/0,1/0];return t=t||br,this.featuresRtree_.forEachInExtent(l,function(c){if(t(c)){const d=c.getGeometry(),f=o;if(o=d instanceof _9?0:d.closestPointXY(i,r,s,o),o<f){a=c;const p=Math.sqrt(o);l[0]=i-p,l[1]=r-p,l[2]=i+p,l[3]=r+p}}}),a}getExtent(e){var t,i;return(i=(t=this.featuresRtree_)==null?void 0:t.getExtent(e))!=null?i:null}getFeatureById(e){const t=this.idIndex_[e.toString()];return t!==void 0?t:null}getFeatureByUid(e){const t=this.uidIndex_[e];return t!==void 0?t:null}getFormat(){return this.format_}getOverlaps(){return this.overlaps_}getUrl(){return this.url_}handleFeatureChange_(e){const t=e.target,i=j0(t),r=t.getGeometry();if(!r)i in this.nullGeometryFeatures_||(this.featuresRtree_&&this.featuresRtree_.remove(t),this.nullGeometryFeatures_[i]=t);else{const s=r.getExtent();i in this.nullGeometryFeatures_?(delete this.nullGeometryFeatures_[i],this.featuresRtree_&&this.featuresRtree_.insert(s,t)):this.featuresRtree_&&this.featuresRtree_.update(s,t)}const a=t.getId();if(a!==void 0){const s=a.toString();this.idIndex_[s]!==t&&(this.removeFromIdIndex_(t),this.idIndex_[s]=t)}else this.removeFromIdIndex_(t),this.uidIndex_[i]=t;this.changed(),this.dispatchEvent(new c9(Xn.CHANGEFEATURE,t))}hasFeature(e){const t=e.getId();return t!==void 0?t in this.idIndex_:j0(e)in this.uidIndex_}isEmpty(){return this.featuresRtree_?this.featuresRtree_.isEmpty()&&I8(this.nullGeometryFeatures_):this.featuresCollection_?this.featuresCollection_.getLength()===0:!0}loadFeatures(e,t,i){const r=this.loadedExtentsRtree_,a=this.strategy_(e,t,i);for(let s=0,o=a.length;s<o;++s){const l=a[s];if(!r.forEachInExtent(l,function(d){return A9(d.extent,l)})){this.loading=Number(this.loading)+1,this.dispatchEvent(new c9(Xn.FEATURESLOADSTART));const d=w=>{this.loading=Number(this.loading)-1,this.dispatchEvent(new c9(Xn.FEATURESLOADEND,void 0,w))},f=()=>{this.changed(),this.loading=Number(this.loading)-1,this.dispatchEvent(new c9(Xn.FEATURESLOADERROR))};let p=!1;const y=this.loader_.call(this,l,t,i,w=>p||d(w),()=>p||f());y instanceof Promise?(p=!0,y.then(w=>{this.addFeatures(w),d(w)}).catch(f)):this.loader_.length<4&&(this.loading=!1),r.insert(l,{extent:l.slice()})}}}refresh(){this.clear(!0),this.loadedExtentsRtree_.clear(),super.refresh()}removeLoadedExtent(e){const t=this.loadedExtentsRtree_,i=t.forEachInExtent(e,function(r){if(p4(r.extent,e))return r});i&&t.remove(i)}removeFeatures(e){let t=!1;for(let i=0,r=e.length;i<r;++i)t=this.removeFeatureInternal(e[i])||t;t&&this.changed()}removeFeature(e){if(!e)return;this.removeFeatureInternal(e)&&this.changed()}removeFeatureInternal(e){const t=j0(e);if(!(t in this.uidIndex_))return!1;t in this.nullGeometryFeatures_?delete this.nullGeometryFeatures_[t]:this.featuresRtree_&&this.featuresRtree_.remove(e);const i=this.featureChangeKeys_[t];i==null||i.forEach(be),delete this.featureChangeKeys_[t];const r=e.getId();if(r!==void 0){const a=r.toString(),s=this.idIndex_[a];s===e?delete this.idIndex_[a]:Array.isArray(s)&&(s.splice(s.indexOf(e),1),s.length===1&&(this.idIndex_[a]=s[0]))}return delete this.uidIndex_[t],this.hasListener(Xn.REMOVEFEATURE)&&this.dispatchEvent(new c9(Xn.REMOVEFEATURE,e)),!0}removeFromIdIndex_(e){for(const t in this.idIndex_)if(this.idIndex_[t]===e){delete this.idIndex_[t];break}}setLoader(e){this.loader_=e}setUrl(e){ne(this.format_,"`format` must be set when `url` is set"),this.url_=e,this.setLoader(A_(e,this.format_))}setOverlaps(e){this.overlaps_=e,this.changed()}}const Ii=w22;const C22={class:"yak-ol-map"},vd=21,T22=232,A22=233,x22=240,E22={__name:"YakOlMap",props:{active:{type:Boolean,default:!0},tileUrlTemplate:{type:String,default:"https://qkl-map.oss-cn-chengdu.aliyuncs.com/hy-result/{z}/{x}/{y}.png"},center:{type:Array,default:()=>[103.07984,33.029058]},minZoom:{type:Number,default:3},maxZoom:{type:Number,default:21},initialZoom:{type:Number,default:21},overlayLayer:{type:Object,default:()=>({sourceType:"wms",layerName:"ne:daping_yak_marks",styles:"yak_marks",cqlFilter:"gov_show = true",name:"牦牛识别标记",color:"#FFFF00",opacity:.96})},overlayLayers:{type:Array,default:()=>[]}},emits:["ready","tile-status","layer-status","map-click"],setup(n,{expose:e,emit:t}){const i=n,r=t,a=[103.07984,33.029058],s=new N7,o=new $t({stroke:new tn({color:"rgba(1, 18, 27, 0.72)",width:3.4})}),l=new $t({fill:new yn({color:"rgba(3, 18, 31, 0)"}),stroke:new tn({color:"rgba(126, 251, 246, 0.9)",width:1.15})}),c=[new $t({fill:new yn({color:"rgba(255, 76, 96, 0)"}),stroke:new tn({color:"rgba(255, 76, 96, 0.4)",width:8})}),new $t({stroke:new tn({color:"rgba(255, 48, 68, 0.98)",width:2.8})})],d=[new $t({fill:new yn({color:"rgba(255, 255, 0, 0)"}),stroke:new tn({color:"rgba(38, 50, 0, 0.9)",width:3})}),new $t({fill:new yn({color:"rgba(255, 255, 0, 0)"}),stroke:new tn({color:"rgba(255, 255, 0, 1)",width:1.4})}),new $t({image:new Zo({radius:3,fill:new yn({color:"rgba(255, 255, 0, 0)"}),stroke:new tn({color:"rgba(255, 255, 0, 1)",width:1.4})})})],f=new $t({image:new Zo({radius:2.4,fill:new yn({color:"rgba(234, 255, 255, 0.92)"}),stroke:new tn({color:"rgba(48, 220, 255, 0.9)",width:1})})}),p=i3(null);let y=null,w=null,M=null,P=[],D=null,B=[],V=null,Y=null,X=null,P2=null,z2=0,G2=null,N2=null,V2=null,Y2=0,o3=[],r3=[];const y3=i3({visible:!1,text:"",x:0,y:0,error:!1}),K2=i3({visible:!1,text:"",x:0,y:0,error:!1}),C3=new Set,m3={requested:0,loaded:0,failed:0,zoom:vd};function M3(Q){p.value=Q||null,Q&&fe()}function N3(Q){var D3,s1;const Z2=(s1=(D3=Q==null?void 0:Q.tile)==null?void 0:D3.getTileCoord)==null?void 0:s1.call(D3);return Array.isArray(Z2)?Z2.join("/"):""}function q2(){var Z2,D3,s1;const Q=Number((s1=(D3=(Z2=y==null?void 0:y.getView)==null?void 0:Z2.call(y))==null?void 0:D3.getZoom)==null?void 0:s1.call(D3));return Number.isFinite(Q)?Math.round(Q):L3()}function u3(Q=i.center){const[Z2,D3]=Array.isArray(Q)?Q:[],s1=Number(Z2),v1=Number(D3);return Number.isFinite(s1)&&Number.isFinite(v1)?[s1,v1]:a}function _3(Q=i.center){var s1;const Z2=(s1=y==null?void 0:y.getView)==null?void 0:s1.call(y);if(!Z2)return;const D3=L3();F3(D3),Z2.setCenter(Hc(u3(Q))),Z2.setZoom(D3),window.setTimeout(()=>{var v1;return(v1=y==null?void 0:y.updateSize)==null?void 0:v1.call(y)},0)}function L3(){const Q=Number(i.initialZoom),Z2=Number(i.minZoom),D3=Number(i.maxZoom),s1=Number.isFinite(Q)?Q:vd;return Math.min(Number.isFinite(D3)?D3:vd,Math.max(Number.isFinite(Z2)?Z2:0,s1))}function F3(Q=q2()){C3.clear(),m3.requested=0,m3.loaded=0,m3.failed=0,m3.zoom=Q}function K3(Q,Z2){r("tile-status",{type:Q,text:Z2,loaded:m3.loaded,failed:m3.failed,total:m3.requested,zoom:m3.zoom,tileUrlTemplate:i.tileUrlTemplate})}function w2(Q,Z2){r("layer-status",{type:Q,text:Z2})}function a3(){return w=new p22({url:i.tileUrlTemplate,minZoom:i.minZoom,maxZoom:i.maxZoom,crossOrigin:"anonymous",interpolate:!0,transition:0,wrapX:!1}),o3.push(w.on("tileloadstart",Q=>{const Z2=N3(Q);Z2&&C3.has(Z2)||(Z2&&C3.add(Z2),m3.requested+=1,m3.zoom=q2(),K3("loading",`正在加载 hy-result ${m3.zoom}级影像底图`))})),o3.push(w.on("tileloadend",Q=>{const Z2=N3(Q);if(Z2&&!C3.has(Z2))return;Z2&&C3.delete(Z2),m3.loaded+=1,m3.zoom=q2();const D3=C3.size===0;K3(D3?"success":"loading",D3?"hy-result 影像底图已加载":`正在加载 hy-result ${m3.zoom}级影像底图`)})),o3.push(w.on("tileloaderror",Q=>{const Z2=N3(Q);if(Z2&&!C3.has(Z2))return;Z2&&C3.delete(Z2),m3.failed+=1,m3.zoom=q2();const D3=m3.loaded>0?"warning":"error";K3(D3,D3==="warning"?"hy-result 影像底图覆盖不足":"hy-result 影像底图加载失败")})),w}function k3(Q=i.overlayLayer){if(!Q||Q.visible===!1||!Q.layerName)return null;const Z2=Q.sourceType||"wms";return{sourceType:Z2,url:Q.url||(Z2==="wfs"?"/geoserver/ne/wfs":"/geoserver/ne/wms"),renderMode:Q.renderMode||"tile",layerName:Q.layerName,styles:Q.styles||"",sldBody:Q.sldBody||"",cqlFilter:Q.cqlFilter||"",name:Q.name||"业务图层",color:Q.color||Q.strokeColor||Q.fillColor||"#FFFF00",fillColor:Q.fillColor||Q.color||"rgba(255, 227, 90, 0.05)",strokeColor:Q.strokeColor||Q.color||"#FFFF00",glowColor:Q.glowColor||"rgba(255, 227, 90, 0.3)",opacity:Number.isFinite(Number(Q.opacity))?Number(Q.opacity):.96,lineWidth:Number.isFinite(Number(Q.lineWidth))?Number(Q.lineWidth):2.6,zIndex:Number.isFinite(Number(Q.zIndex))?Number(Q.zIndex):20,maxFeatures:Q.maxFeatures||12e3,geometryField:Q.geometryField||"geom",loadingStrategy:Q.loadingStrategy||"",propertyName:Q.propertyName||(Q.boundaryOnly?[Q.geometryField||"geom"]:void 0),bboxPadding:Number.isFinite(Number(Q.bboxPadding))?Number(Q.bboxPadding):.003}}function J3(){const Q=Array.isArray(i.overlayLayers)?i.overlayLayers.filter(Boolean):[];return(Q.length?Q:[i.overlayLayer].filter(Boolean)).map(D3=>k3(D3)).filter(Boolean)}function Q3(Q){return Q&&(M=Q,P.push(Q),Q)}function l1(Q){return!!(Q&&P.includes(Q))}function c1(Q){const Z2={SERVICE:"WMS",VERSION:"1.1.1",LAYERS:Q.layerName,FORMAT:"image/png",TRANSPARENT:!0,TILED:!0};return Q.styles&&(Z2.STYLES=Q.styles),Q.cqlFilter&&(Z2.CQL_FILTER=Q.cqlFilter),Q.sldBody&&(Z2.SLD_BODY=Q.sldBody),Z2}function B1(Q,Z2){r3.push(Q.on("imageloadstart",()=>w2("loading",`正在加载${Z2.name}`))),r3.push(Q.on("imageloadend",()=>w2("success",`${Z2.name}已加载`))),r3.push(Q.on("imageloaderror",()=>w2("error",`${Z2.name}加载失败`)))}function y1(Q,Z2){r3.push(Q.on("tileloadstart",()=>w2("loading",`正在加载${Z2.name}`))),r3.push(Q.on("tileloadend",()=>w2("success",`${Z2.name}已加载`))),r3.push(Q.on("tileloaderror",()=>w2("error",`${Z2.name}加载失败`)))}function b1(Q){const Z2=new JQ({url:Q.url,params:c1(Q),serverType:"geoserver",crossOrigin:"anonymous",ratio:1});return B1(Z2,Q),Z2}function O(Q){const Z2=new m22({url:Q.url,params:c1(Q),serverType:"geoserver",crossOrigin:"anonymous",transition:0});return y1(Z2,Q),Z2}function A1(...Q){const Z2=Q.map(D3=>String(D3||"").trim()).filter(Boolean);return Z2.length?Z2.length===1?Z2[0]:Z2.map(D3=>`(${D3})`).join(" AND "):""}function I1(Q,Z2={}){var C1;const D3=new URLSearchParams({service:"WFS",version:"1.0.0",request:"GetFeature",typeName:Q.layerName,outputFormat:"json",maxFeatures:String(Q.maxFeatures)}),s1=(C1=Z2.propertyName)!=null?C1:Q.propertyName;Array.isArray(s1)&&s1.length?D3.set("propertyName",s1.join(",")):s1&&D3.set("propertyName",s1);const v1=A1(Q.cqlFilter,Z2.cqlFilter);return v1&&D3.set("CQL_FILTER",v1),`${Q.url}?${D3.toString()}`}function F1(Q,Z2){const D3=$s([Z2[0],Z2[1]]),s1=$s([Z2[2],Z2[3]]),v1=Q.bboxPadding,C1=Math.min(D3[0],s1[0])-v1,u0=Math.min(D3[1],s1[1])-v1,H0=Math.max(D3[0],s1[0])+v1,U=Math.max(D3[1],s1[1])+v1;return`BBOX(${Q.geometryField},${C1},${u0},${H0},${U})`}function S1(Q){const Z2=new Ii({wrapX:!1,strategy:b22}),D3=new N7,s1=new Set;return Z2.setLoader((v1,C1,u0,H0,U)=>{w2("loading",`正在加载${Q.name}`),fetch(I1(Q,{cqlFilter:F1(Q,v1)}),{credentials:"include"}).then(N=>{if(!N.ok)throw new Error(`HTTP ${N.status}`);return N.json()}).then(N=>{if(!l1(Z2))return;const m=D3.readFeatures(N,{dataProjection:"EPSG:4326",featureProjection:u0}),g=m.filter(v=>{var x;const S=(x=v.getId)==null?void 0:x.call(v);return!S||s1.has(S)?!1:(s1.add(S),!0)});Z2.addFeatures(g),H0==null||H0(g),w2(m.length?"success":"warning",m.length?`${Q.name}已加载`:`${Q.name}暂无数据`)}).catch(()=>{var N;l1(Z2)&&((N=Z2.removeLoadedExtent)==null||N.call(Z2,v1),U==null||U(),w2("error",`${Q.name}加载失败`))})}),Z2}function H2(Q){if(Q.loadingStrategy==="bbox")return S1(Q);const Z2=new Ii({wrapX:!1}),D3=new N7;return w2("loading",`正在加载${Q.name}`),fetch(I1(Q),{credentials:"include"}).then(s1=>{if(!s1.ok)throw new Error(`HTTP ${s1.status}`);return s1.json()}).then(s1=>{if(!l1(Z2))return;const v1=D3.readFeatures(s1,{dataProjection:"EPSG:4326",featureProjection:"EPSG:3857"});Z2.clear(!0),Z2.addFeatures(v1),w2(v1.length?"success":"warning",v1.length?`${Q.name}已加载`:`${Q.name}暂无数据`)}).catch(()=>{l1(Z2)&&w2("error",`${Q.name}加载失败`)}),Z2}function c2(Q){const Z2=Q.lineWidth;return[new $t({fill:new yn({color:Q.fillColor}),stroke:new tn({color:Q.glowColor,width:Z2+5})}),new $t({stroke:new tn({color:Q.strokeColor,width:Z2})})]}function a2(Q=i.overlayLayer){const Z2=k3(Q);if(!Z2)return null;if(Z2.sourceType==="wfs"){const s1=Q3(H2(Z2)),v1=c2(Z2);return new ki({source:s1,style:()=>v1,zIndex:Z2.zIndex,renderBuffer:160,updateWhileAnimating:!0,updateWhileInteracting:!0})}if(Z2.renderMode==="image"){const s1=Q3(b1(Z2));return new AJ({source:s1,opacity:Z2.opacity,zIndex:Z2.zIndex})}const D3=Q3(O(Z2));return new p_({source:D3,opacity:Z2.opacity,zIndex:Z2.zIndex})}function i2(){if(!y)return;new Set([...B,D].filter(Boolean)).forEach(Z2=>y.removeLayer(Z2)),B=[],D=null,r3.length&&(mo(r3),r3=[]),M=null,P=[],B=J3().map(Z2=>a2(Z2)).filter(Boolean),D=B[0]||null,B.forEach(Z2=>y.addLayer(Z2))}function A2(){const Q=s.readFeatures(Pb,{dataProjection:"EPSG:4326",featureProjection:"EPSG:3857"}),Z2=new Ii({features:Q}),D3=w4.filter(v1=>v1.name&&Array.isArray(v1.center)).map(v1=>{const C1=new am({geometry:new Pr(Hc(v1.center)),name:v1.name});return C1.setId(`yak-town-label-${v1.name}`),C1}),s1=new Ii({features:D3});return[new ki({source:Z2,style:()=>o,zIndex:T22,renderBuffer:80,updateWhileAnimating:!0,updateWhileInteracting:!0}),new ki({source:Z2,style:()=>l,zIndex:A22,renderBuffer:80,updateWhileAnimating:!0,updateWhileInteracting:!0}),new ki({source:s1,declutter:!0,zIndex:x22,renderBuffer:120,updateWhileAnimating:!0,updateWhileInteracting:!0,style:J1})]}function n2(){return V=new Ii({wrapX:!1}),Y=new ki({source:V,style:()=>c,zIndex:180,renderBuffer:160,updateWhileAnimating:!0,updateWhileInteracting:!0}),Y}function M2(){return X=new Ii({wrapX:!1}),P2=new ki({source:X,style:()=>d,zIndex:190,renderBuffer:160,updateWhileAnimating:!0,updateWhileInteracting:!0}),P2}function t3(Q){return Q?typeof Q=="string"?[Q]:Array.isArray(Q)?Q:(Q==null?void 0:Q.type)==="FeatureCollection"&&Array.isArray(Q.features)?Q.features:(Q==null?void 0:Q.type)==="Feature"||D2(Q)?[Q]:Array.isArray(Q==null?void 0:Q.rows)?Q.rows:Array.isArray(Q==null?void 0:Q.data)?Q.data:Q!=null&&Q.data?t3(Q.data):Array.isArray(Q==null?void 0:Q.list)?Q.list:Array.isArray(Q==null?void 0:Q.features)?Q.features:Q!=null&&Q.wkt||Q!=null&&Q.geo||Q!=null&&Q.geom||Q!=null&&Q.geometryWkt||Q!=null&&Q.geometry_wkt||Q!=null&&Q.shape||Q!=null&&Q.location||Q!=null&&Q.geometry?[Q]:[]:[]}function A3(Q){var Z2;return typeof Q=="string"?T2(Q):(Q==null?void 0:Q.type)==="Feature"?A3(Q.geometry):D2(Q)?Q:typeof(Q==null?void 0:Q.geometry)=="string"?T2(Q.geometry):((Z2=Q==null?void 0:Q.geometry)==null?void 0:Z2.type)==="Feature"?A3(Q.geometry.geometry):D2(Q==null?void 0:Q.geometry)?Q.geometry:T2((Q==null?void 0:Q.wkt)||(Q==null?void 0:Q.geo)||(Q==null?void 0:Q.geom)||(Q==null?void 0:Q.geometryWkt)||(Q==null?void 0:Q.geometry_wkt)||(Q==null?void 0:Q.shape)||(Q==null?void 0:Q.location))}function J2(Q){return!Q||typeof Q!="object"||Array.isArray(Q)?{wkt:Q}:Q.type==="Feature"?Q.properties||{}:Q}function T2(Q){const Z2=String(Q||"").trim();if(!Z2)return null;if(Z2.startsWith("{")||Z2.startsWith("["))try{const D3=JSON.parse(Z2);if((D3==null?void 0:D3.type)==="Feature")return A3(D3);if(D2(D3))return D3}catch(D3){return null}return E3(Z2)}function D2(Q){return!!(Q&&["Polygon","MultiPolygon","LineString","MultiLineString","Point","MultiPoint"].includes(Q.type)&&Q.coordinates)}function E3(Q){var C1;const Z2=String(Q||"").trim();if(!Z2)return null;const D3=Z2.match(/^([A-Z]+)(?:\s+[A-Z]+)?\s*\(/i),s1=(C1=D3==null?void 0:D3[1])==null?void 0:C1.toUpperCase();if(!s1)return null;const v1=Z2.slice(Z2.indexOf("("));return s1==="POLYGON"?{type:"Polygon",coordinates:b3(v1)}:s1==="MULTIPOLYGON"?{type:"MultiPolygon",coordinates:O1(v1).map(b3).filter(u0=>u0.length)}:s1==="POINT"?{type:"Point",coordinates:w1(v1)}:s1==="MULTIPOINT"?{type:"MultiPoint",coordinates:O1(v1).map(w1).filter(Boolean)}:s1==="LINESTRING"?{type:"LineString",coordinates:n1(v1)}:s1==="MULTILINESTRING"?{type:"MultiLineString",coordinates:O1(v1).map(n1).filter(u0=>u0.length)}:null}function b3(Q){return O1(Q).map(n1).filter(Z2=>Z2.length>=3)}function n1(Q){return String(Q||"").replace(/^\(+|\)+$/g,"").split(",").map(w1).filter(Boolean)}function w1(Q){const Z2=String(Q||"").replace(/^\(+|\)+$/g,"").trim().split(/\s+/).slice(0,2).map(Number);return Z2.length>=2&&Number.isFinite(Z2[0])&&Number.isFinite(Z2[1])?[Z2[0],Z2[1]]:null}function O1(Q){const Z2=String(Q||"").trim(),D3=Z2.startsWith("(")&&Z2.endsWith(")")?Z2.slice(1,-1):Z2,s1=[];let v1=0,C1=-1;return Array.from(D3).forEach((u0,H0)=>{u0==="("?(v1===0&&(C1=H0),v1+=1):u0===")"&&(v1-=1,v1===0&&C1>=0&&(s1.push(D3.slice(C1,H0+1)),C1=-1))}),s1.length?s1:[D3]}function z0(Q={}){const Z2=new N7;return[...t3(Q==null?void 0:Q.grasslands),...t3(Q==null?void 0:Q.wkt)].map((D3,s1)=>{const v1=A3(D3);if(!v1)return null;const C1=J2(D3),u0=Z2.readFeature({type:"Feature",properties:s3(W2({},C1),{id:C1.id||C1.gid||`${(Q==null?void 0:Q.name)||"pasture"}-${s1}`,pasture_name:(Q==null?void 0:Q.name)||C1.pastureName||C1.name}),geometry:v1},{dataProjection:"EPSG:4326",featureProjection:"EPSG:3857"});return u0.setId(C1.id||C1.gid||`${(Q==null?void 0:Q.name)||"pasture"}-${s1}`),u0}).filter(Boolean)}function ie(){z2+=1,X==null||X.clear(!0)}function d3(Q=[]){const Z2=new N7;return t3(Q).map((D3,s1)=>{const v1=A3(D3);if(!v1)return null;const C1=J2(D3),u0=Z2.readFeature({type:"Feature",properties:s3(W2({},C1),{id:C1.id||C1.yak_id||C1.yakId||`focus-yak-${s1}`}),geometry:v1},{dataProjection:"EPSG:4326",featureProjection:"EPSG:3857"});return u0.setId(C1.id||C1.yak_id||C1.yakId||`focus-yak-${s1}`),u0}).filter(Boolean)}function Y3(Q=[]){if(!y)return 0;X||y.addLayer(M2());const Z2=++z2,D3=d3(Q);return Z2!==z2?0:(X.clear(!0),X.addFeatures(D3),w2(D3.length?"success":"warning",D3.length?`已加载选中草场牦牛识别${D3.length}处`:"选中草场暂无牦牛识别标记"),D3.length)}function r1(Q={}){var C1,u0;if(!y)return!1;A0();const Z2=z0(Q);if(!Z2.length)return w2("warning","当前牧户暂无可定位数据"),!1;V||y.addLayer(n2()),V.clear(!0),V.addFeatures(Z2);const D3=V.getExtent();if(!D3||D3.some(H0=>!Number.isFinite(H0)))return w2("warning","当前牧户暂无可定位数据"),!1;const s1=((C1=y.getSize)==null?void 0:C1.call(y))||[1280,720],v1=Math.min(360,Math.max(96,Number(s1[0]||0)*.24));return(u0=y.getView())==null||u0.fit(D3,{duration:700,maxZoom:17,padding:[96,v1,96,v1]}),Y3((Q==null?void 0:Q.yakMarks)||(Q==null?void 0:Q.yakMarksGeoJson)||(Q==null?void 0:Q.yaks)||[]),w2("success","已定位具体草场"),window.setTimeout(()=>{var H0;return(H0=y==null?void 0:y.updateSize)==null?void 0:H0.call(y)},0),!0}function g1(){A0(),V==null||V.clear(!0),ie()}function J1(Q,Z2){const D3=Q.get("name")||"",s1=Z2>150;if(Z2>420)return f;const C1=s1?12:13,u0=s1?[5,10,5,10]:[6,12,6,12];return[new $t({image:new Zf({points:3,radius:s1?4:5,rotation:Math.PI,displacement:[0,14],fill:new yn({color:"rgba(126, 251, 246, 0.98)"}),stroke:new tn({color:"rgba(4, 28, 40, 0.95)",width:1.2})})}),new $t({text:new $w({text:D3,font:`800 ${C1}px "Microsoft YaHei", "PingFang SC", sans-serif`,fill:new yn({color:"#ffffff"}),stroke:new tn({color:"rgba(2, 18, 28, 1)",width:5}),backgroundFill:new yn({color:"rgba(3, 21, 33, 0.9)"}),backgroundStroke:new tn({color:"rgba(126, 251, 246, 0.58)",width:1.2}),padding:u0,offsetY:-17})})]}function a0(Q){const Z2=Number(Q);return Number.isFinite(Z2)?Z2.toFixed(6):"0.000000"}function f1(Q){return I3(this,null,function*(){var D3;if(typeof navigator!="undefined"&&((D3=navigator.clipboard)!=null&&D3.writeText))try{yield navigator.clipboard.writeText(Q);return}catch(s1){}const Z2=document.createElement("textarea");Z2.value=Q,Z2.setAttribute("readonly","readonly"),Z2.style.position="fixed",Z2.style.left="-9999px",Z2.style.top="0",Z2.style.opacity="0";try{if(document.body.appendChild(Z2),Z2.focus({preventScroll:!0}),Z2.select(),Z2.setSelectionRange(0,Q.length),!document.execCommand("copy"))throw new Error("copy failed")}finally{document.body.removeChild(Z2)}})}function Pe(Q,Z2,D3=!1){V2&&window.clearTimeout(V2),K2.value=s3(W2({},K2.value),{visible:!1});const s1=270,v1=32,C1=window.innerWidth||1920,u0=window.innerHeight||1080;y3.value={visible:!0,text:Z2,x:Math.min(Math.max(12,Q.clientX+12),Math.max(12,C1-s1)),y:Math.min(Math.max(12,Q.clientY+12),Math.max(12,u0-v1)),error:D3},V2=window.setTimeout(()=>{y3.value=s3(W2({},y3.value),{visible:!1}),V2=null},1500)}function vt(Q,Z2,D3=!1){V2&&(window.clearTimeout(V2),V2=null);const s1=300,v1=38,C1=window.innerWidth||1920,u0=window.innerHeight||1080;y3.value=s3(W2({},y3.value),{visible:!1}),K2.value={visible:!0,text:Z2,x:Math.min(Math.max(12,Q.clientX+12),Math.max(12,C1-s1)),y:Math.min(Math.max(12,Q.clientY+12),Math.max(12,u0-v1)),error:D3}}function re(){K2.value=s3(W2({},K2.value),{visible:!1})}function A0(){V2&&(window.clearTimeout(V2),V2=null),y3.value=s3(W2({},y3.value),{visible:!1}),re()}function Ne(Q){return I3(this,null,function*(){if(!y)return;const Z2=y.getEventPixel(Q),D3=y.getCoordinateFromPixel(Z2);if(!D3)return;const[s1,v1]=$s(D3),C1=`${a0(s1)}, ${a0(v1)}`;try{yield f1(C1),Pe(Q,`已复制 ${C1}`)}catch(u0){vt(Q,C1,!0)}})}function B0(Q){if(Q.button!==2){re();return}Q.preventDefault(),Q.stopPropagation(),Y2=Date.now(),Ne(Q)}function et(){return I3(this,null,function*(){const Q=K2.value.text;if(Q)try{yield f1(Q),K2.value=s3(W2({},K2.value),{visible:!1,error:!1}),y3.value={visible:!0,text:`已复制 ${Q}`,x:K2.value.x,y:K2.value.y,error:!1},V2&&window.clearTimeout(V2),V2=window.setTimeout(()=>{y3.value=s3(W2({},y3.value),{visible:!1}),V2=null},1500)}catch(Z2){K2.value=s3(W2({},K2.value),{error:!0})}})}function $0(Q){Q.preventDefault(),Q.stopPropagation(),!(Date.now()-Y2<800)&&(Y2=Date.now(),Ne(Q))}function we(Q){if(!y||!(Q!=null&&Q.coordinate))return;re();const[Z2,D3]=$s(Q.coordinate);if(!Number.isFinite(Z2)||!Number.isFinite(D3))return;const s1=Q.originalEvent||{};r("map-click",{lngLat:{lng:Z2,lat:D3},coordinate:Q.coordinate,pixel:Q.pixel,screen:{x:Number(s1.clientX),y:Number(s1.clientY)},overlayLayer:i.overlayLayer,overlayLayers:J3()})}function W0(){var Z2;const Q=(Z2=y==null?void 0:y.getViewport)==null?void 0:Z2.call(y);!Q||G2||(N2=D3=>{B0(D3)},G2=D3=>{$0(D3)},Q.addEventListener("pointerdown",N2),Q.addEventListener("contextmenu",G2))}function V0(){var Z2;const Q=(Z2=y==null?void 0:y.getViewport)==null?void 0:Z2.call(y);Q&&N2&&Q.removeEventListener("pointerdown",N2),Q&&G2&&Q.removeEventListener("contextmenu",G2),N2=null,G2=null,A0()}function fe(){return I3(this,null,function*(){if(y||(yield _e(),!p.value||y))return;const Q=L3();F3(Q);const Z2=new Z6({center:Hc(u3()),zoom:Q,minZoom:i.minZoom,maxZoom:i.maxZoom,enableRotation:!1,constrainResolution:!1,smoothResolutionConstraint:!0});y=new zZ({target:p.value,controls:Sw({attribution:!1,rotate:!1,zoom:!1}),layers:[new p_({source:a3(),preload:1,zIndex:1}),...A2(),n2(),M2()],view:Z2}),i2(),W0(),o3.push(y.on("singleclick",we)),o3.push(Z2.on("change:resolution",()=>{const D3=q2();D3!==m3.zoom&&(F3(D3),K3("loading",`正在加载 hy-result ${D3}级影像底图`))})),window.setTimeout(()=>{var D3;(D3=y==null?void 0:y.updateSize)==null||D3.call(y),r("ready")},0)})}function v0(){var Q;V0(),o3.length&&(mo(o3),o3=[]),r3.length&&(mo(r3),r3=[]),C3.clear(),w=null,M=null,P=[],D=null,B=[],V=null,Y=null,X=null,P2=null,z2+=1,y&&(y.setTarget(null),(Q=y.dispose)==null||Q.call(y),y=null)}function G0(){var Q;A0(),V==null||V.clear(!0),ie(),_3(),(Q=y==null?void 0:y.updateSize)==null||Q.call(y),window.setTimeout(()=>{var Z2;return(Z2=y==null?void 0:y.updateSize)==null?void 0:Z2.call(y)},120)}function Le(){var Z2;w&&(F3(q2()),(Z2=w.refresh)==null||Z2.call(w),K3("loading",`正在刷新 hy-result ${m3.zoom}级影像底图`)),(P.length?P:[M].filter(Boolean)).forEach(D3=>{var s1;return(s1=D3==null?void 0:D3.refresh)==null?void 0:s1.call(D3)})}function s0(){var Q;A0(),V==null||V.clear(!0),ie(),_3(),Le(),(Q=y==null?void 0:y.updateSize)==null||Q.call(y),window.setTimeout(()=>{var Z2;return(Z2=y==null?void 0:y.updateSize)==null?void 0:Z2.call(y)},80),window.setTimeout(()=>{var Z2;return(Z2=y==null?void 0:y.updateSize)==null?void 0:Z2.call(y)},220)}function on(){return!!y}return e({refreshView:G0,resetView:s0,hasMap:on,focusPasture:r1,clearPastureFocus:g1,clearFloatingOverlays:A0}),$n(()=>{fe()}),Un(()=>{v0()}),I0(()=>i.active,Q=>{Q&&(fe(),window.setTimeout(()=>{var Z2;_3(),(Z2=y==null?void 0:y.updateSize)==null||Z2.call(y)},0))}),I0(()=>i.center,()=>{_3()},{deep:!0}),I0(()=>i.tileUrlTemplate,()=>{w&&(F3(q2()),w.setUrl(i.tileUrlTemplate),w.refresh(),K3("loading",`正在加载 hy-result ${m3.zoom}级影像底图`))}),I0(()=>[i.overlayLayer,i.overlayLayers],()=>{i2()},{deep:!0}),(Q,Z2)=>(K(),e2("div",C22,[C("div",{ref:M3,class:"yak-ol-map__canvas"}),y3.value.visible?(K(),e2("div",{key:0,class:t1(["yak-ol-map__copy-tip",{"is-error":y3.value.error}]),style:R1({left:`${y3.value.x}px`,top:`${y3.value.y}px`})},S2(y3.value.text),7)):G3("",!0),K2.value.visible?(K(),e2("div",{key:1,class:t1(["yak-ol-map__copy-menu",{"is-error":K2.value.error}]),style:R1({left:`${K2.value.x}px`,top:`${K2.value.y}px`}),onClick:Z2[0]||(Z2[0]=lt(()=>{},["stop"]))},[C("span",null,S2(K2.value.text),1),C("button",{type:"button",onClick:et},"复制")],6)):G3("",!0)]))}},xC=Dr(E22,[["__scopeId","data-v-4d334258"]]),ym="/jsyApi",U9="/openApi",P22=new Date().getFullYear();function M22(n,e){return/^https?:\/\//.test(e)?e:`${n}${e.startsWith("/")?e:`/${e}`}`}function k22(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 r0(n)}function k6(n,e,t,i={}){return M6(M22(n,e),{params:t,timeout:i.timeout||18e3}).then(k22)}function R22(){return k6(ym,"/api/yak/distribution").then(n=>vm(n))}function I22(){return k6(ym,"/api/yak/structure").then(n=>vm(n))}function N22(){return k6(ym,"/api/yak/forecast").then(n=>vm(n))}function E_(n=P22){return k6(U9,"/yak/trade/overview",typeof n=="object"?n:{year:n}).then(t=>t||{})}function L22(){return k6(U9,"/yak/trade/options").then(n=>n||{})}function P_(n={}){return k6(U9,"/yak/trade/records",n).then(e=>e||{})}function F22(n={}){return k6(U9,"/yak/epidemic/analysis",n).then(e=>e||{})}function _d(n={}){return k6(U9,"/yak/epidemic/records",n).then(e=>e||{})}function D22(n={}){return k6(U9,"/yak/epidemic/stats",n).then(e=>e||{})}function O22(n={}){return k6(U9,"/yak/epidemic/village-stats",n).then(e=>e||{})}function B22(n){return k6(U9,"/yak/epidemic/detail",{earTag:n}).then(e=>e||null)}function G22(){return I3(this,null,function*(){return(yield R22()).map((e,t)=>({key:t5(e,["areaCode","area_code","code","id"],`yak-town-${t}`),name:t5(e,["areaName","area_name","zoneName","townName","name"],`区域${t+1}`),value:Yl(t5(e,["number","yakCount","yak_count","count","value"])),unit:"头"})).filter(e=>e.name&&Number.isFinite(e.value)).sort((e,t)=>t.value-e.value)})}function j22(){return I3(this,null,function*(){const e=(yield I22()).map((t,i)=>{const r=t5(t,["sex","gender"],""),a=$22(r),s=t5(t,["ageRange","age_range","age","name","type"],""),o=[a,s].filter(Boolean).join(" ")||`结构${i+1}`;return{key:t5(t,["id","key"],`${o}-${i}`),name:o,value:Yl(t5(t,["number","count","value"])),unit:"头"}}).filter(t=>t.name&&Number.isFinite(t.value));return U22(e)})}function z22(){return I3(this,null,function*(){return(yield N22()).map((e,t)=>{const i=t5(e,["month","date","name","time"],`预测${t+1}`);return{key:`${i}-${t}`,name:W22(i),value:Yl(t5(e,["number","count","yakCount","value"])),unit:"头",extra:V22("增速",t5(e,["speed","growth","growthRate","rate"]))}}).filter(e=>e.name&&Number.isFinite(e.value))})}function vm(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 U22(n=[]){const e=new Map;return n.forEach(t=>{const i=e.get(t.name)||s3(W2({},t),{value:0});i.value+=t.value,e.set(t.name,i)}),[...e.values()].sort((t,i)=>i.value-t.value)}function t5(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 $22(n){return["boy","male","公","公牛"].includes(n)?"公牛":["girl","female","母","母牛"].includes(n)?"母牛":n||""}function W22(n){const e=String(n||""),t=e.match(/(?:^|\D)(1[0-2]|0?[1-9])(?:月|$|-)/);return t?`${Number(t[1])}月`:e}function V22(n,e){const t=Yl(e);return Number.isFinite(t)?`${n}:${t.toLocaleString("zh-CN",{maximumFractionDigits:2})}`:""}function Yl(n){if(n==null||n==="")return NaN;const e=Number(String(n).replace(/,/g,"").replace(/%/g,""));return Number.isFinite(e)?e:NaN}const H22={class:"yak-management"},Y22={key:1,class:"yak-map-loading"},K22={class:"yak-management-ui"},q22={key:0,class:"trade-year-switcher","aria-label":"交易年份切换"},X22=["onClick"],Z22={key:1,class:"epidemic-year-switcher","aria-label":"防疫年份切换"},J22=["onClick"],Q22={key:2,class:"forecast-year-switcher","aria-label":"预测年份切换"},e32=["onClick"],t32={class:"yak-left"},n32={class:"yak-side-stack is-left"},i32={class:"breeding-health-card"},r32={class:"breeding-health-head"},a32={class:"breeding-health-grid"},s32={class:"structure-chart-card"},o32={class:"structure-ratio-card"},l32={class:"structure-ratio-chart"},u32={viewBox:"0 0 150 150",preserveAspectRatio:"xMidYMid meet","aria-hidden":"true"},c32={class:"structure-rose-segments"},d32=["d","fill","stroke"],h32={class:"structure-ratio-list"},f32={key:0,class:"yak-data-status"},m32={key:1,class:"yak-data-status is-warning"},g32={class:"forecast-waterfall-card"},p32={class:"forecast-waterfall-head"},y32={class:"forecast-waterfall-list"},v32={class:"forecast-trend-card"},_32={class:"forecast-density-switcher","aria-label":"预测粒度切换"},b32=["onClick"],S32={key:0,class:"epidemic-three-pie-card"},w32={class:"epidemic-three-pie-visual"},C32={class:"epidemic-three-pie-center"},T32={class:"epidemic-three-pie-legend"},A32={key:1,class:"epidemic-empty"},x32={class:"trade-risk-card"},E32={class:"trade-risk-head"},P32={class:"trade-risk-list"},M32={class:"yak-right"},k32={class:"yak-side-stack is-right"},R32={class:"structure-chart-card"},I32={class:"structure-summary-card"},N32={key:0,class:"yak-data-status"},L32={key:1,class:"yak-data-status is-warning"},F32={class:"forecast-heat-list"},D32=["title"],O32={class:"epidemic-record-table is-full"},B32={class:"epidemic-record-toolbar"},G32={class:"epidemic-record-rows"},j32=["onClick"],z32={key:0,class:"epidemic-empty"},U32={class:"epidemic-record-pager"},$32=["disabled"],W32=["disabled"],V32={class:"trade-cert-card"},H32={class:"trade-cert-main"},Y32={class:"trade-dest-list"},K32={key:0,class:"epidemic-empty"},q32={class:"trade-ledger-table"},X32={class:"trade-ledger-toolbar"},Z32={class:"trade-ledger-rows"},J32=["onClick"],Q32={key:0,class:"epidemic-empty"},e12={class:"trade-ledger-pager"},t12=["disabled"],n12=["disabled"],i12={class:"yak-bottom-topic"},r12={class:"epidemic-ledger-dialog"},a12={class:"epidemic-ledger-dialog-head"},s12={class:"epidemic-ledger-filters"},o12=["value"],l12=["value"],u12={class:"epidemic-ledger-workspace"},c12={class:"epidemic-ledger-list"},d12=["onClick"],h12={key:0,class:"epidemic-empty"},f12={class:"epidemic-ledger-detail trade-ledger-detail epidemic-ledger-record-detail"},m12={class:"epidemic-detail-head trade-detail-head"},g12={class:"epidemic-detail-grid is-modal trade-detail-grid epidemic-detail-flat-grid"},p12={key:0,class:"epidemic-detail-photos"},y12={class:"epidemic-modal-photo-strip"},v12=["onClick"],_12=["src"],b12={class:"epidemic-ledger-pager"},S12=["disabled"],w12=["disabled"],C12={class:"epidemic-ledger-dialog trade-ledger-dialog"},T12={class:"epidemic-ledger-dialog-head"},A12={class:"epidemic-ledger-filters trade-ledger-filters"},x12=["value"],E12=["value"],P12=["value"],M12={class:"epidemic-ledger-workspace trade-ledger-workspace"},k12={class:"epidemic-ledger-list trade-ledger-modal-list"},R12=["onClick"],I12={key:0,class:"epidemic-empty"},N12={class:"epidemic-ledger-detail trade-ledger-detail"},L12={class:"epidemic-detail-head trade-detail-head"},F12={class:"epidemic-detail-grid is-modal trade-detail-grid"},D12={class:"is-wide"},O12={class:"is-wide"},B12={class:"is-wide"},G12={class:"is-wide"},j12=["disabled"],z12={class:"epidemic-ledger-pager"},U12=["disabled"],$12=["disabled"],W12={class:"epidemic-image-preview-dialog"},V12={class:"epidemic-image-preview-head"},H12={class:"epidemic-image-preview-body"},Y12={class:"epidemic-image-preview-frame"},K12=["src"],de=398,bd=12,q12=128,X12=8,Z12=227,J12="https://qkl-hy.oss-cn-chengdu.aliyuncs.com/yak-vaccine-images",Q12="https://qkl-map.oss-cn-chengdu.aliyuncs.com/hy-result/{z}/{x}/{y}.png",e02="hy-result-dynamic-zoom21-v4",Qs=18,M_=14,Sd=12,k_=14,t02=5e3,eo=6,n02=4200,i02={__name:"index",props:{active:{type:Boolean,default:!0},viewKey:{type:String,default:"structure"}},emits:["module-stats","view-change"],setup(n,{expose:e,emit:t}){const i=n,r=t,a=i3(typeof window=="undefined"?1080:window.innerHeight),s=b2(()=>{const T=Math.max(1080,Number(a.value)||1080),E=Math.floor((T-q12-X12-bd*3)/4);return Math.max(Z12,E)}),o=b2(()=>s.value*4+bd*3),l=b2(()=>s.value+24),c=b2(()=>s.value*2-bd),d=[103.07984,33.029058],f=[102.682809,33.131561],p={targetLngLat:[102.58,32.69],targetLocalZ:.72,distanceScale:1.12,duration:.75},y=["#30dcff","#27f0c0","#ffd76c","#7aa7ff","#ff8f6b","#a6f06d"],w=["#24f6c4","#32dcff","#ffe06b","#7ee269","#ff9a62","#9ea7ff"],M=["#30dcff","#ffd76c","#27f0c0","#7aa7ff","#ff8f6b","#a6f06d","#9ea7ff"],P={name:"红原牦牛交易市场",lng:102.562157,lat:32.820484},D=[{key:"structure",name:"畜群结构",color:"#30dcff"},{key:"forecast",name:"畜群预测",color:"#ffd76c"},{key:"epidemic",name:"牦牛防疫",color:"#27f0c0"},{key:"trade",name:"牦牛交易",color:"#ffcf62"}],B=i3(n7(i.viewKey)),V=i3("2027"),Y=i3("month"),X=i3(0),P2=i3([]),z2=i3([]),G2=i3([]),N2=i3(!1),V2=i3(""),Y2=[2025,2026],o3=i3(2026),r3=i3({metrics:{}}),y3=i3({rows:[],year:null}),K2=i3({rows:[]}),C3=i3([]),m3=i3(0),M3=i3(1),N3=i3(""),q2=i3(""),u3=i3(!1),_3=i3(""),L3=i3(!1),F3=i3([]),K3=i3(0),w2=i3(1),a3=i3(!1),k3=i3(""),J3=i3(null),Q3=i3(null),l1=i3(!1),c1=i3(!1),B1=i3(""),y1=i3(v5()),b1=i3({years:[],latestYear:null}),O=i3({metrics:{},hasData:!1}),A1=i3([]),I1=i3(0),F1=i3(null),S1=i3(!1),H2=i3(""),c2=i3(1),a2=i3(""),i2=i3(""),A2=i3(!1),n2=i3([]),M2=i3(0),t3=i3(1),A3=i3(!1),J2=i3(""),T2=i3(null),D2=i3({keyword:"",startTown:"",usageType:"",certType:""}),E3=i3(null),b3=i3(null),n1=i3(!1),w1=i3(!1),O1=i3(0),z0=i3(0),ie=i3({type:"idle",text:""}),d3=i3({type:"idle",text:""});let Y3=null,r1=!1,g1=!1,J1=null,a0=!1,f1=null,Pe=null,vt=0;const re=[{key:"day",label:"日",unit:"日",stepDays:1},{key:"week",label:"周",unit:"周",stepDays:7},{key:"month",label:"月",unit:"月",stepDays:30}],A0=b2(()=>Jb(V.value)),Ne=b2(()=>B.value==="trade"?"":Q12),B0=b2(()=>Ne.value?"hy-result":"no-hy-result"),et=b2(()=>`yak-management-map-${B0.value}-${e02}-${O1.value}`),$0=b2(()=>eB+tB),we=b2(()=>A0.value.stock-Ct),W0=b2(()=>bu(A0.value)),V0=b2(()=>Ea(G2.value,w9)),fe=b2(()=>V0.value.reduce((T,E)=>T+Number(E.count||0),0));b2(()=>{const T=fe.value||1;return V0.value.map((E,I)=>{const u2=Number(E.count||0),k2=Number(E.ratio);return s3(W2({},E),{count:u2,color:y[I%y.length],percent:Number.isFinite(k2)?k2:u2/T*100})})});const v0=b2(()=>ka(V0.value,w9)),G0=b2(()=>v0.value),Le=b2(()=>Ma(G0.value)),s0=b2(()=>yu(V0.value,w9)),on=b2(()=>_u(s0.value)),Q=b2(()=>Math.max(...Le.value.map(T=>Number(T.count||0)),1)),Z2=b2(()=>G0.value.length?0:-1),D3=b2(()=>{const T=G0.value,E=T.length;if(!E)return[];const I=Math.max(...T.map(X2=>Number(X2.count||0)),1),u2=360/E,k2=Math.min(8,u2*.16);return T.map((X2,h3)=>{const w3=Number(X2.count||0),a1=h3===Z2.value,h1=36+Math.sqrt(w3/I)*31+(a1?5:0),d1=17,Y1=-90+h3*u2+k2/2,_0=-90+(h3+1)*u2-k2/2,G1=(Y1+_0)/2,g0=Ye(75,75,h1+3,G1),n3=Ye(75,75,h1+15,G1),R3=Ye(75,75,h1+20,G1);return{key:X2.key||X2.name||h3,index:h3,item:X2,color:X2.color||y[h3%y.length],path:r7(75,75,d1,h1,Y1,_0),lineStart:g0,lineEnd:n3,label:R3,anchor:Math.cos(G1*Math.PI/180)>=0?"start":"end"}})}),s1=b2(()=>X5(["fertileCow","overageCow"])),v1=b2(()=>X5(["femaleCalf","maleCalf"])),C1=b2(()=>Zb(Jl(P2.value.length?P2.value:Hd,Hd),Ct)),u0=b2(()=>XO),H0=b2(()=>aB(A0.value)),U=b2(()=>rB(A0.value)),N=b2(()=>{var T;return((T=r3.value)==null?void 0:T.metrics)||{}}),m=b2(()=>{var T;return m6((T=r3.value)==null?void 0:T.dateTrend).sort(ti)}),g=b2(()=>{var T;return m6((T=r3.value)==null?void 0:T.medicineCounts)}),v=b2(()=>g.value.filter(T=>T.value>0).map((T,E)=>s3(W2({},T),{key:T.key||`${T.name}-${E}`,unit:"条"}))),S=b2(()=>v.value.map(T=>`${T.name}:${T.value}`).join("|")||"epidemic-medicine-empty"),x=b2(()=>{var T;return m6((T=r3.value)==null?void 0:T.ownerRanks).slice(0,8)}),k=b2(()=>Y9(r3.value)),m2=b2(()=>{var T;return((T=g.value.find(E=>E.name&&E.name!=="未填写"))==null?void 0:T.name)||"-"}),t2=b2(()=>ni(N.value,["total","vaccine"]));b2(()=>ni(N.value,["owners"]));const d2=b2(()=>Number(o3.value)===2026?10:ni(N.value,["villages"])),Z=b2(()=>O2.value.length),W=b2(()=>{var T;return((T=O2.value[0])==null?void 0:T.name)||"-"}),L2=b2(()=>{const T=C3.value.map(E=>E.operateTime).filter(Boolean).sort();return T.length?N6(T[T.length-1]):"-"}),y2=b2(()=>{const T=Math.max(...g.value.map(E=>Number(E.value||0)),0);return T>0?T:Math.round(t2.value/k.value)}),p2=b2(()=>{var E;const T=eu((E=y3.value)==null?void 0:E.rows);return T.length?T:O2.value.map(I=>({name:I.name,recordCount:Number(I.recordCount||0),earTagCount:Number(I.earTagCount||0),ratio:I.ratio,source:"ledger"}))}),g2=b2(()=>{var E;const T=new Set;return N4((E=K2.value)==null?void 0:E.rows).filter(I=>Number.isFinite(I.lng)&&Number.isFinite(I.lat)).map((I,u2)=>{const k2=`${I.lng.toFixed(4)},${I.lat.toFixed(4)}`,X2=T.has(k2)?(u2%3-1)*.012:0;return T.add(k2),s3(W2({},I),{name:I.village,value:I.earTagCount,unit:"万头",lng:I.lng+X2,lat:I.lat-X2*.65,displayValue:Number((I.earTagCount/1e4).toFixed(2)),displayUnit:"万头",rankLabel:`第${u2+1}名`})})}),O2=b2(()=>{var E;const T=new Map;return m6((E=r3.value)==null?void 0:E.townCounts).forEach(I=>{const u2=un(I.name);u2&&T.set(u2,Number(T.get(u2)||0)+Number(I.value||0))}),[...T.entries()].map(([I,u2])=>{const k2=Math.round(u2/k.value),X2=t2.value?u2/t2.value*100:0;return{name:I,recordCount:u2,earTagCount:k2,ratio:X2}}).sort((I,u2)=>Number(u2.recordCount||0)-Number(I.recordCount||0))}),r2=b2(()=>Math.max(C1.value.length,Z.value)),A=b2(()=>new Set(O2.value.map(T=>un(T.name)).filter(Boolean))),j=b2(()=>{const T=A.value;return C1.value.map(E=>un(E.name)).filter(E=>E&&!T.has(E))}),H=b2(()=>{const T=r2.value||Z.value||1;return Z.value/T*100});b2(()=>y2.value/Ct*100);const x2=b2(()=>U4());b2(()=>t2.value?j.value.length?j.value.length:x2.value.name&&x2.value.name!=="暂无"?1:0:0);const R2=b2(()=>q5()),G=b2(()=>da()),b=b2(()=>ha());b2(()=>ru());const R=b2(()=>fa());b2(()=>R.value.slice(0,3)),b2(()=>t2.value?j.value.length?"年度免疫进度需核查":x2.value.desc:"年度计划待核查");const h2=b2(()=>Math.max(Math.ceil(m3.value/Qs),1)),B2=b2(()=>C3.value.slice(0,Qs)),U2=b2(()=>Math.max(Math.ceil(K3.value/M_),1)),g3=b2(()=>Q3.value||J3.value||{}),P3=b2(()=>ri(g3.value)),W3=b2(()=>{const T=g3.value||{};return[it("台账编号",T.epidemicId,{wide:!0}),it("养殖户",T.owner,{wide:!0}),it("联系电话",pa(T.phone)),it("证件类型",T.idType),it("证件号码",su(T.idNo)),it("镇/乡",T.town),it("村",T.village),it("详细地址",T.location,{wide:!0}),it("畜种",T.livestockType),it("性别",T.sex),it("畜龄",T.age),it("体重",V4(T.weight)),it("疫苗/药品",T.medicine),it("防疫类型",T.preventionType),it("免疫方式",T.method),it("剂量",ou(T.dose)),it("免疫时间",N6(T.operateTime)),it("操作员",T.operator)].filter(Boolean)}),V3=b2(()=>{var T;return m6((T=r3.value)==null?void 0:T.townCounts).map(E=>E.name)}),z3=b2(()=>g.value.map(T=>T.name).filter(T=>T&&T!=="未填写")),o1=b2(()=>{var T;return((T=O.value)==null?void 0:T.metrics)||{}}),T1=b2(()=>{var T,E,I,u2,k2,X2,h3,w3;return la((T=b1.value)==null?void 0:T.years,(E=O.value)==null?void 0:E.availableYears,(I=O.value)==null?void 0:I.available_years,(u2=O.value)==null?void 0:u2.yearSummary,(k2=O.value)==null?void 0:k2.year_summary,(X2=O.value)==null?void 0:X2.latestYear,(h3=O.value)==null?void 0:h3.latest_year,(w3=O.value)==null?void 0:w3.year)}),E2=b2(()=>{var T,E;return J8(((T=O.value)==null?void 0:T.monthTrend)||((E=O.value)==null?void 0:E.month_trend),"name")});b2(()=>{var T,E;return Ql(((T=O.value)==null?void 0:T.yearSummary)||((E=O.value)==null?void 0:E.year_summary))});const c3=b2(()=>{var T,E;return J8(((T=O.value)==null?void 0:T.startTownCounts)||((E=O.value)==null?void 0:E.start_town_counts),"name")}),S3=b2(()=>{var T,E;return J8(((T=O.value)==null?void 0:T.usageCounts)||((E=O.value)==null?void 0:E.usage_counts),"name")}),s2=b2(()=>{var T,E,I,u2,k2,X2;return J8(((T=O.value)==null?void 0:T.transportNumberCounts)||((E=O.value)==null?void 0:E.transport_number_counts)||((I=O.value)==null?void 0:I.vehicleCounts)||((u2=O.value)==null?void 0:u2.vehicle_counts)||((k2=O.value)==null?void 0:k2.transportCounts)||((X2=O.value)==null?void 0:X2.transport_counts),"transportNumber")}),v3=b2(()=>{const T=c3.value.map(I=>{const u2=String(I.name||"").trim(),k2=un(u2),X2=k4(k2||u2);return s3(W2({},I),{rawName:u2,name:X2,displayName:X2,town:k2,mapTownName:k2})}).filter(I=>I.name&&I.name!=="未填写").slice(0,10),E=Math.max(...T.map(I=>I.headCount),1);return T.map((I,u2)=>s3(W2({},I),{key:I.key||`${I.mapTownName||I.name}-${u2}`,value:I.headCount,unit:"头",ratio:Math.max(8,Math.round(I.headCount/E*100))}))}),_1=b2(()=>A1.value.slice(0,Sd)),E1=b2(()=>Math.max(Math.ceil(I1.value/Sd),1)),L1=b2(()=>Math.max(Math.ceil(M2.value/k_),1)),M1=b2(()=>T2.value||{}),Bt=b2(()=>M1.value.certId||M1.value.factoryCode||""),_t=b2(()=>{var E,I;const T=Q8(((E=b1.value)==null?void 0:E.startTowns)||((I=b1.value)==null?void 0:I.start_towns));return T.length?T:ei(c3.value.map(u2=>u2.name))}),Fe=b2(()=>{var E,I;const T=Q8(((E=b1.value)==null?void 0:E.usageTypes)||((I=b1.value)==null?void 0:I.usage_types));return T.length?T:ei(S3.value.map(u2=>u2.name))}),tt=b2(()=>{var E,I,u2,k2;const T=ua(((E=b1.value)==null?void 0:E.certTypeOptions)||((I=b1.value)==null?void 0:I.cert_type_options));return T.length?T:Q8(((u2=b1.value)==null?void 0:u2.certTypes)||((k2=b1.value)==null?void 0:k2.cert_types)).map(X2=>({value:X2,label:X2}))}),f0=b2(()=>v3.value.map((T,E)=>({key:T.key||`${T.name}-${E}`,name:T.displayName||T.name,displayName:T.displayName||T.name,rawName:T.rawName,town:T.mapTownName||T.town||un(T.name),mapTownName:T.mapTownName||T.town||un(T.name),value:T.headCount,headCount:T.headCount,recordCount:T.recordCount,ratio:T.ratio,unit:"头"}))),Ce=b2(()=>ma()),nt=b2(()=>{const T=Ce.value.filter(E=>E.level==="high");return T.length>=2?`${T.length}项重点`:T.length===1?`重点:${T[0].name}`:"整体平稳"}),o0=b2(()=>C1.value.map(T=>s3(W2({},T),{breedingCowRatio:s1.value,calfRatio:v1.value,breedingCow:Math.round(T.count*s1.value/100),calf:Math.round(T.count*v1.value/100)}))),S0=b2(()=>{const T=o0.value,E=T.length,I=Math.max(Math.ceil(E/eo),1),u2=X.value%I,k2=u2*eo,X2=Math.min(k2+eo,E);return{page:u2,pageCount:I,start:k2,end:X2,total:E,rows:T.slice(k2,X2)}}),F=b2(()=>B.value==="forecast"?H0.value:C1.value),q=b2(()=>B.value==="forecast"?"forecast":"count"),o2=b2(()=>Aa(F.value,q.value)),$2=b2(()=>({key:"yak-marks-layer",layerName:"ne:daping_yak_marks",styles:"yak_marks",cqlFilter:"gov_show = true",name:"牦牛识别标记",opacity:.96,queryBuffer:10,mapView:{targetLngLat:[102.58,32.72],distanceScale:.82,targetLocalZ:.76,duration:.85},legends:[{key:"yak-marks",name:"牦牛",fillColor:"#FFFF00",strokeColor:"#FFFF00",selectable:!1}]})),z=b2(()=>{var I;const E=N4((I=K2.value)==null?void 0:I.rows).map(u2=>D4(u2.town,u2.village)).filter(Boolean);return{key:"yak-epidemic-village-boundary",sourceType:"wfs",layerName:"ne:t_pastures_map",styles:"牧场样式",name:"防疫村边界",opacity:.86,queryBuffer:8,cqlFilter:E.length?E.join(" OR "):"EXCLUDE",legends:[{key:"yak-epidemic-village-boundary",name:"防疫村边界",fillColor:"#24F6C4",strokeColor:"#FFF06A",selectable:!1}]}}),f2=b2(()=>B.value==="epidemic"?z.value:B.value==="trade"?null:$2.value),v2=b2(()=>B.value==="structure"||B.value==="forecast"),I2=b2(()=>B.value==="forecast"?f:d),l2=b2(()=>v2.value?null:f2.value),Q2=b2(()=>v2.value?null:p3.value),F2=b2(()=>v2.value?!w1.value:!n1.value),l3=b2(()=>v2.value?"影像地图加载中":"3D地图加载中"),p3=b2(()=>B.value==="trade"?{scope:"trade-flow",title:`${F1.value||""}出栏来源`,metricLabel:"来源",unit:"头",source:s3(W2({},P),{total:bt("headCount")}),rows:f0.value,showFlowLines:!1,mapView:p}:{scope:B.value==="epidemic"?"village":"town",hideTownNames:B.value==="epidemic",title:B.value==="forecast"?`${A0.value.shortLabel}预测存栏`:B.value==="epidemic"?`${o3.value}年村级防疫信息`:"乡镇估算存栏",metricLabel:B.value==="forecast"?"预测":B.value==="epidemic"?"防疫":"存栏",unit:"万头",rows:B.value==="epidemic"?g2.value:o2.value.map(T=>({name:T.name,value:Number((T.value/1e4).toFixed(2)),unit:"万头"}))}),O3=b2(()=>({color:["#ffd76c","#30dcff"],tooltip:s3(W2({},Ae()),{trigger:"axis",axisPointer:{type:"shadow"},formatter(T){const E=T.map(I=>`${I.marker}${I.seriesName}:${Q1(Math.abs(I.value))}头`);return`${T[0].name}<br/>${E.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:T=>k0(Math.abs(T))},splitLine:{lineStyle:{color:"rgba(48, 220, 255, 0.1)",type:"dashed"}},axisLine:{show:!1},axisTick:{show:!1}},yAxis:{type:"category",data:Nc.map(T=>T.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:Nc.map(T=>-T.cow),itemStyle:{borderRadius:[7,0,0,7]}},{name:"公牛",type:"bar",stack:"gender",barWidth:12,data:Nc.map(T=>T.bull),itemStyle:{borderRadius:[0,7,7,0]}}]})),T3=b2(()=>{const T=C1.value,E=T.map(I=>I.count);return{color:y,tooltip:s3(W2({},Ae()),{trigger:"axis",axisPointer:{type:"shadow"},formatter(I){const u2=I.map(k2=>`${k2.marker}${k2.seriesName}:${Q1(k2.value)}头`);return`${I[0].name}<br/>${u2.join("<br/>")}<br/>估算存栏:${Q1(E[I[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:k0},splitLine:{lineStyle:{color:"rgba(48, 220, 255, 0.1)",type:"dashed"}},axisLine:{show:!1},axisTick:{show:!1}},yAxis:{type:"category",inverse:!0,data:T.map(I=>I.name),axisLabel:{color:"rgba(223, 250, 255, 0.82)",fontSize:10,interval:0},axisLine:{show:!1},axisTick:{show:!1}},series:w9.map(I=>({name:I.name,type:"bar",stack:"town",barWidth:T.length>8?6:11,data:T.map(u2=>Math.round(u2.count*I.ratio/100))}))}}),H3=b2(()=>ue(C1.value,"count","头",{style:"ladder",tooltipFormatter(T){const E=C1.value[T.dataIndex];return`${E.name}<br/>估算存栏:${Q1(E.count)}头<br/>来源:无人机识别`}})),m0=b2(()=>{const T=S0.value,E=T.rows,I=Math.max(...E.map(u2=>u2.breedingCow+u2.calf),1);return{color:["#30dcff","#ffd76c"],animationDurationUpdate:700,animationEasingUpdate:"cubicOut",tooltip:s3(W2({},Ae()),{trigger:"axis",axisPointer:{type:"shadow"},formatter(u2){const k2=E[u2[0].dataIndex],X2=u2.filter(h3=>["能繁母牛","犊牛合计"].includes(h3.seriesName)).map(h3=>`${h3.marker}${h3.seriesName}:${Q1(h3.value)}头`);return`${k2.name}<br/>母犊合计:${Q1(k2.breedingCow+k2.calf)}头<br/>${X2.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:T.total>eo?{type:"text",right:4,top:3,silent:!0,style:{text:`${T.start+1}-${T.end} / ${T.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:E.map(u2=>u2.name),axisLabel:{color:"rgba(223, 250, 255, 0.78)",fontSize:10,lineHeight:12,interval:0,margin:8,formatter:ca},axisLine:{show:!1},axisTick:{show:!1}},yAxis:{type:"value",max:Math.ceil(I*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:E.map(u2=>u2.breedingCow+u2.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:E.map(u2=>u2.breedingCow),itemStyle:{borderRadius:[1,1,0,0],color:new at(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:E.map(u2=>u2.calf),itemStyle:{borderRadius:[8,8,1,1],color:new at(0,0,0,1,[{offset:0,color:"#ffd76c"},{offset:1,color:"rgba(255, 215, 108, 0.2)"}])},label:{show:!0,position:"top",formatter:({dataIndex:u2})=>k0(E[u2].breedingCow+E[u2].calf),color:"#ffffff",fontSize:10,fontWeight:700}}]}}),Y0=b2(()=>{const T=Gy.slice().sort((u2,k2)=>k2.value-u2.value),E=Gy.reduce((u2,k2)=>u2+k2.value,0),I=T.map(u2=>u2.yoy||0);return{color:T.map(u2=>u2.color),tooltip:s3(W2({},Ae()),{trigger:"axis",axisPointer:{type:"shadow"},formatter(u2){const k2=T[u2[0].dataIndex];return`${k2.label}<br/>数量:${Q1(k2.value)}头<br/>占比:${Zt(k2.value/E*100)}<br/>同比:${k2.yoy>0?"+":""}${k2.yoy}%`}}),grid:{left:36,right:30,top:20,bottom:34},xAxis:{type:"category",data:T.map(u2=>u2.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:k0},splitLine:{lineStyle:{color:"rgba(48, 220, 255, 0.09)",type:"dashed"}}},{type:"value",min:Math.min(-2,Math.floor(Math.min(...I)-1)),max:Math.max(8,Math.ceil(Math.max(...I)+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:T.map((u2,k2)=>({value:u2.value,itemStyle:{borderRadius:[8,8,2,2],color:new at(0,0,0,1,[{offset:0,color:u2.color},{offset:.72,color:`${u2.color}cc`},{offset:1,color:`${u2.color}18`}]),shadowBlur:k2===0?12:7,shadowColor:u2.color},label:{show:!0,position:"top",color:k2===0?"#ffd76c":"#ffffff",fontSize:10,formatter:({value:X2})=>k0(X2)}}))},{name:"同比",type:"line",yAxisIndex:1,smooth:!0,symbol:"circle",symbolSize:6,data:I,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:u2})=>`${u2>0?"+":""}${u2}%`}}]}}),D1=b2(()=>{const T=hu(Y.value),E=t7(A0.value,T.key),I=gu(E),u2=fu(I.length,T.key);return{color:["#30dcff","#ffd76c","#ff8f6b"],tooltip:s3(W2({},Ae()),{trigger:"axis",triggerOn:"mousemove|click",axisPointer:{type:"cross",crossStyle:{color:"rgba(126, 251, 246, 0.42)"},label:{color:"#eaffff",backgroundColor:"rgba(5, 31, 51, 0.96)"}},formatter(k2){var h1,d1,Y1;const X2=Array.isArray(k2)?k2:[k2],h3=X2.find(_0=>_0.seriesType==="candlestick"),w3=(h3==null?void 0:h3.data)||I[(Y1=(d1=h3==null?void 0:h3.dataIndex)!=null?d1:(h1=X2[0])==null?void 0:h1.dataIndex)!=null?Y1:0];if(!w3)return"";const a1=w3.close-w3.open;return[`${w3.label}|${T.unit}度预测`,`预测存栏:${Q1(w3.close)}头`,`较上期:${hi(a1)}头`,`新生牛犊:${Q1(w3.birth)}头`,`出栏扣减:${Q1(w3.outflow)}头`].join("<br/>")}}),legend:{top:4,right:8,data:["预测存栏","新生牛犊","出栏扣减"],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:!0,data:E.labels,axisLabel:{color:"rgba(223, 250, 255, 0.62)",fontSize:10,interval:u2},axisLine:{lineStyle:{color:"rgba(48, 220, 255, 0.28)"}},axisTick:{show:!1}},yAxis:[{type:"value",scale:!0,axisLabel:{color:"rgba(223, 250, 255, 0.58)",fontSize:10,formatter:k0},splitLine:{lineStyle:{color:"rgba(48, 220, 255, 0.1)",type:"dashed"}}},{type:"value",axisLabel:{color:"rgba(223, 250, 255, 0.48)",fontSize:10,formatter:k0},splitLine:{show:!1}}],series:[{name:"预测存栏",type:"candlestick",yAxisIndex:0,barWidth:mu(I.length,T.key),data:I,itemStyle:{color:"rgba(48, 220, 255, 0.82)",color0:"rgba(255, 143, 107, 0.82)",borderColor:"#30dcff",borderColor0:"#ff8f6b",borderWidth:1.4}},{name:"预测存栏线",type:"line",yAxisIndex:0,smooth:!0,symbol:"circle",symbolSize:4,data:I.map(k2=>k2.close),lineStyle:{width:1.8,color:"rgba(48, 220, 255, 0.86)"},itemStyle:{color:"#30dcff",borderColor:"rgba(3, 18, 28, 0.9)",borderWidth:1},tooltip:{show:!1}},li("新生牛犊",E.births,"#ffd76c",1),li("出栏扣减",E.outflow,"#ff8f6b",1)]}}),Te=b2(()=>({color:["#30dcff","#ffd76c"],tooltip:s3(W2({},Ae()),{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:u0.value.map(T=>T.month||T.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:u0.value.map(T=>T.count||T.value),itemStyle:{borderRadius:[8,8,0,0],color:new at(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:u0.value.map(T=>T.speed||T.growthRate||0),lineStyle:{width:2.4,color:"#ffd76c"},itemStyle:{color:"#ffd76c"}}]})),n0=b2(()=>({tooltip:Ae(),radar:{center:["50%","54%"],radius:"68%",splitNumber:4,indicator:jy.map(T=>({name:T.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:jy.map(T=>T.value),areaStyle:{color:"rgba(48, 220, 255, 0.22)"},lineStyle:{color:"#30dcff",width:2},itemStyle:{color:"#ffd76c"}}]}]})),D0=b2(()=>ue(H0.value,"forecast","头")),ln=b2(()=>{const T=U.value;return{color:y,tooltip:Ae(E=>{var u2;const I=T.find(k2=>k2.name===E.name);return`${E.name}<br/>预测占比:${Zt((u2=I==null?void 0:I.ratio)!=null?u2:E.percent)}<br/>预测数量:${Q1((I==null?void 0:I.count)||0)}头`}),legend:{orient:"vertical",right:4,top:"middle",itemWidth:8,itemHeight:8,itemGap:6,formatter(E){const I=T.find(u2=>u2.name===E);return I?`${E} ${Zt(I.ratio)}`:E},textStyle:{color:"rgba(222, 250, 255, 0.8)",fontSize:10}},series:[{name:"期末结构预测",type:"pie",radius:["38%","66%"],center:["32%","54%"],startAngle:118,avoidLabelOverlap:!1,label:{show:!1},labelLine:{show:!1},itemStyle:{borderColor:"rgba(3, 18, 31, 0.92)",borderWidth:3},data:T.map(E=>({name:E.name,value:E.count}))}]}}),Ht=b2(()=>({color:["#ffd76c","#ff8f6b","#7aa7ff"],tooltip:s3(W2({},Ae()),{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:vn.map(T=>T.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:T=>di(T,1)},splitLine:{lineStyle:{color:"rgba(48, 220, 255, 0.1)",type:"dashed"}}},series:[{name:"新生牛犊",type:"bar",barWidth:12,data:vn.map(T=>T.births),itemStyle:{borderRadius:[7,7,0,0]}},{name:"出栏流出",type:"bar",barWidth:12,data:vn.map(T=>-T.outflow),itemStyle:{borderRadius:[0,0,7,7]}},{name:"稳态校正",type:"line",smooth:!0,symbolSize:6,data:vn.map(T=>T.correction),lineStyle:{width:2.4}}]})),c0=b2(()=>{const T=H0.value,E=Math.max(...T.map(I=>Math.abs(I.change)),1);return T.map(I=>s3(W2({},I),{width:Math.max(8,Math.round(Math.abs(I.change)/E*100))}))});function oe(T){const E=Number((T==null?void 0:T.change)||0)>=0;return{"--heat-width":`${T.width}%`,"--heat-color":E?"#24f6c4":"#ff8f6b","--heat-color-soft":E?"rgba(36, 246, 196, 0.28)":"rgba(255, 143, 107, 0.26)","--heat-color-dim":E?"rgba(36, 246, 196, 0.08)":"rgba(255, 143, 107, 0.08)"}}function R6(T){return`${T.name}:${hi(T.change)}头`}const V9=b2(()=>{const T=m.value,E=T.map(u2=>u2.value),I=Math.max(...E,1);return{color:["#27f0c0","#ffd76c"],tooltip:s3(W2({},Ae()),{trigger:"axis",axisPointer:{type:"line",lineStyle:{color:"rgba(39, 240, 192, 0.34)"}},formatter(u2){const k2=u2[0];return`${k2.name}<br/>防疫记录:${Q1(k2.value)}条`}}),grid:{left:42,right:24,top:20,bottom:28},xAxis:{type:"category",data:T.map(u2=>u2.name),axisLabel:{color:"rgba(223, 250, 255, 0.62)",fontSize:10,interval:Math.max(Math.floor(T.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:k0},splitLine:{lineStyle:{color:"rgba(39, 240, 192, 0.1)",type:"dashed"}}},series:[{name:"防疫记录",type:"bar",barMaxWidth:12,data:E,itemStyle:{borderRadius:[7,7,0,0],color:new at(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:u2})=>u2>=I*.42?k0(u2):""}},{name:"作业趋势",type:"line",smooth:!0,showSymbol:!1,data:E,lineStyle:{width:2.4,color:"#ffd76c"}}]}});b2(()=>{const T=m.value.length?m.value.slice(-6):[{name:"待开展",value:0}],E=T.map(h3=>Number(h3.value||0)),I=R2.value,u2=I.map(h3=>Number(h3.value||0)),k2=Math.max(...E,1),X2=h3=>String(h3||"").replace(/(镇|乡|村)$/,"");return{color:["#27f0c0","#ffd76c"],title:[{text:"作业节奏",left:4,top:0,textStyle:{color:"rgba(226, 252, 255, 0.82)",fontSize:11,fontWeight:800}},{text:"补免关注",left:"55%",top:0,textStyle:{color:"rgba(226, 252, 255, 0.82)",fontSize:11,fontWeight:800}}],tooltip:s3(W2({},Ae()),{trigger:"axis",formatter(h3){const w3=Array.isArray(h3)?h3[0]:h3;if((w3==null?void 0:w3.axisIndex)===1){const h1=I[w3.dataIndex]||{};return`${h1.name}<br/>补免关注:${h1.label||w3.value}`}const a1=T[w3.dataIndex]||{};return`${a1.name}<br/>防疫记录:${Q1(a1.value)}条`}}),grid:[{left:6,right:"52%",top:26,bottom:15},{left:"56%",right:12,top:26,bottom:15}],xAxis:[{type:"category",gridIndex:0,data:T.map(h3=>h3.name),axisLabel:{color:"rgba(226, 252, 255, 0.56)",fontSize:9,interval:0,formatter:h3=>String(h3||"").replace(/^(\d{1,2})\D+(\d{1,2}).*$/,"$1/$2")},axisLine:{lineStyle:{color:"rgba(39, 240, 192, 0.22)"}},axisTick:{show:!1}},{type:"value",gridIndex:1,min:0,max:Math.max(...u2,100),show:!1}],yAxis:[{type:"value",gridIndex:0,show:!1},{type:"category",gridIndex:1,inverse:!0,data:I.map(h3=>h3.name),axisLabel:{color:"rgba(226, 252, 255, 0.68)",fontSize:9,formatter:h3=>X2(h3)},axisLine:{show:!1},axisTick:{show:!1}}],series:[{name:"防疫记录",type:"bar",xAxisIndex:0,yAxisIndex:0,barMaxWidth:9,data:E,itemStyle:{borderRadius:[6,6,0,0],color:new at(0,0,0,1,[{offset:0,color:"#27f0c0"},{offset:1,color:"rgba(39, 240, 192, 0.1)"}])},label:{show:!0,position:"top",color:"rgba(230, 255, 249, 0.86)",fontSize:8,formatter:({value:h3})=>h3>=k2*.55?k0(h3):""}},{name:"节奏线",type:"line",xAxisIndex:0,yAxisIndex:0,smooth:!0,showSymbol:!1,data:E,lineStyle:{width:1.8,color:"#ffd76c"},tooltip:{show:!1}},{name:"补免关注",type:"bar",xAxisIndex:1,yAxisIndex:1,barWidth:8,data:u2,itemStyle:{borderRadius:[0,7,7,0],color:new at(0,0,1,0,[{offset:0,color:"rgba(255, 215, 108, 0.24)"},{offset:1,color:"#ffd76c"}])},label:{show:!0,position:"right",color:"rgba(255, 235, 176, 0.9)",fontSize:8,formatter:({dataIndex:h3})=>{var w3;return((w3=I[h3])==null?void 0:w3.label)||""}}}]}}),b2(()=>{const T=G.value,E=T.map(X2=>Number(X2.value||0)),I=Math.max(...E,1),u2=E.filter(Boolean).reduce((X2,h3)=>X2+h3,0)/Math.max(E.filter(Boolean).length,1),k2=Math.ceil(I*1.18);return{color:["#27f0c0","#ffd76c"],tooltip:s3(W2({},Ae()),{trigger:"axis",axisPointer:{type:"shadow"},formatter(X2){var w3;const h3=T[(w3=X2[0])==null?void 0:w3.dataIndex]||{};return h3.isMissing?`${h3.name}<br/>年度防疫:待补强`:`${h3.name}<br/>覆盖量:${Q1(h3.value)}头<br/>防疫记录:${Q1(h3.recordCount)}条`}}),grid:{left:56,right:46,top:16,bottom:12},xAxis:{type:"value",min:0,max:k2,show:!1},yAxis:{type:"category",inverse:!0,data:T.map(X2=>X2.name),axisLabel:{color:"rgba(226, 252, 255, 0.82)",fontSize:11,interval:0,formatter:X2=>String(X2||"").replace(/(镇|乡)$/,"")},axisLine:{show:!1},axisTick:{show:!1}},series:[{name:"均衡参照",type:"bar",barWidth:11,silent:!0,barGap:"-100%",data:T.map(()=>k2),itemStyle:{borderRadius:[0,8,8,0],borderColor:"rgba(48, 220, 255, 0.12)",borderWidth:1,color:"rgba(48, 220, 255, 0.045)"}},{name:"覆盖量",type:"bar",barWidth:11,barGap:"-100%",z:3,data:T.map(X2=>{const h3=Number(X2.value||0);return{value:h3>0?h3:Math.max(k2*.035,1),rawValue:h3,itemStyle:{borderRadius:[0,8,8,0],color:new at(0,0,1,0,[{offset:0,color:X2.isMissing?"rgba(255, 143, 107, 0.24)":"rgba(39, 240, 192, 0.16)"},{offset:.72,color:X2.isMissing?"#ff8f6b":"#27f0c0"},{offset:1,color:X2.isMissing?"#ffd76c":"#8fffe9"}]),shadowBlur:X2.isMissing?8:10,shadowColor:X2.isMissing?"rgba(255, 143, 107, 0.36)":"rgba(39, 240, 192, 0.34)"}}}),label:{show:!0,position:"right",color:"rgba(239, 255, 255, 0.92)",fontSize:11,fontWeight:800,formatter:({dataIndex:X2})=>{const h3=T[X2]||{};return h3.isMissing?"待补强":`${k0(h3.value)}头`}},markLine:u2>0?{symbol:"none",silent:!0,lineStyle:{color:"rgba(255, 215, 108, 0.46)",type:"dashed",width:1},label:{color:"rgba(255, 232, 164, 0.8)",fontSize:10,formatter:"均衡线"},data:[{xAxis:u2}]}:void 0}]}}),b2(()=>{const T=b.value,E=["#27f0c0","#30dcff","#ffd76c","#7aa7ff","#86dc62","#ff8f6b","#67ffe4","#40b8ff","#c7e86b"],I=T.length?T.map((u2,k2)=>({name:String(u2.name||"").replace(/(村|社区|牧委会)$/,""),value:Math.max(Number(u2.value||0),1),rawValue:Number(u2.value||0),town:u2.town||"",itemStyle:{color:new at(0,0,1,1,[{offset:0,color:E[k2%E.length]},{offset:1,color:"rgba(17, 70, 92, 0.38)"}])}})):[{name:"待形成",value:1,rawValue:0,town:"",itemStyle:{color:"rgba(48, 220, 255, 0.14)"}}];return{tooltip:s3(W2({},Ae()),{formatter(u2){const k2=u2.data||{};return k2.rawValue?`${k2.town?`${k2.town} `:""}${k2.name}<br/>覆盖量:${Q1(k2.rawValue)}头`:`${k2.name}<br/>暂无村级覆盖量`}}),series:[{type:"treemap",roam:!1,nodeClick:!1,breadcrumb:{show:!1},left:6,right:6,top:7,bottom:5,visibleMin:1,data:I,label:{show:!0,color:"rgba(235, 254, 255, 0.9)",fontSize:10,fontWeight:800,lineHeight:14,formatter(u2){var X2;const k2=Number(((X2=u2.data)==null?void 0:X2.rawValue)||0);return k2?`${u2.name}
${k0(k2)}头`:u2.name}},upperLabel:{show:!1},itemStyle:{borderColor:"rgba(4, 24, 36, 0.88)",borderWidth:2,gapWidth:2},emphasis:{label:{color:"#ffffff"},itemStyle:{shadowBlur:14,shadowColor:"rgba(39, 240, 192, 0.4)"}},levels:[{itemStyle:{borderColor:"rgba(14, 75, 98, 0.72)",borderWidth:1,gapWidth:2}}]}]}});const H9=b2(()=>{const T=p2.value,E=T.length>8?10:12,I=E+8,u2=T.map(h1=>Number(h1.recordCount||0)),k2=T.map(h1=>Number(h1.earTagCount||0)),X2=Math.max(...u2,1),h3=T.map(()=>Math.ceil(X2*1.08)),w3=new at(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)"}]),a1=new at(0,0,0,1,[{offset:0,color:"#31f7ff"},{offset:.36,color:"#1cbcff"},{offset:1,color:"#266dff"}]);return{color:["#31f7ff","#ffe06b"],title:{text:`台账总量:{value|${k0(t2.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:s3(W2({},Ae()),{trigger:"axis",axisPointer:{type:"shadow"},formatter(h1){const d1=T[h1[0].dataIndex];return[`${d1.name}`,`防疫记录:${Q1(d1.recordCount)}条`,`耳标数量:${Q1(d1.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:42,right:12,top:46,bottom:68},xAxis:{type:"category",data:T.map(h1=>h1.name),axisLabel:{color:"#fff",fontSize:10,interval:0,lineHeight:11,margin:8,formatter:iu},axisLine:{show:!1},axisTick:{show:!1},splitLine:{show:!1}},yAxis:{type:"value",name:"数量/条",max:Math.ceil(X2*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:k0},axisLine:{show:!1},axisTick:{show:!1},splitLine:{lineStyle:{color:"rgba(51, 89, 113, 0.16)",type:"dashed"}}},series:[{name:"统计底柱",type:"bar",barWidth:I,barGap:"-100%",data:h3,tooltip:{show:!1},silent:!0,z:1,itemStyle:{borderRadius:[8,8,1,1],borderColor:"rgba(48, 220, 255, 0.22)",borderWidth:1,color:w3}},{name:"防疫记录",type:"bar",barGap:"-100%",barWidth:E,barMinHeight:2,z:3,data:u2.map(h1=>({value:h1,itemStyle:{borderRadius:[8,8,1,1],borderColor:"rgba(200, 252, 255, 0.22)",borderWidth:1,color:a1,shadowBlur:10,shadowColor:"rgba(49, 247, 255, 0.28)"}}))},{name:"顶部高光",type:"pictorialBar",symbol:"diamond",symbolSize:[E+7,5],symbolOffset:[0,-3],symbolPosition:"end",z:8,tooltip:{show:!1},data:u2.map(h1=>({value:h1,itemStyle:{color:"rgba(207, 252, 255, 0.88)",shadowBlur:8,shadowColor:"rgba(49, 247, 255, 0.72)"}}))},{name:"底座光影",type:"pictorialBar",symbol:"diamond",symbolSize:[I+3,5],symbolOffset:[0,3],z:2,tooltip:{show:!1},data:u2,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"}}]}}),Y8=b2(()=>{const T=x.value;return{tooltip:s3(W2({},Ae()),{trigger:"axis",axisPointer:{type:"shadow"},formatter(E){const I=T[E[0].dataIndex];return`${I.name}<br/>防疫记录:${Q1(I.value)}条`}}),grid:{left:74,right:42,top:12,bottom:8},xAxis:{type:"value",axisLabel:{color:"rgba(223, 250, 255, 0.52)",fontSize:10,formatter:k0},axisLine:{show:!1},axisTick:{show:!1},splitLine:{lineStyle:{color:"rgba(39, 240, 192, 0.08)",type:"dashed"}}},yAxis:{type:"category",inverse:!0,data:T.map(E=>E.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:T.map((E,I)=>({value:E.value,itemStyle:{borderRadius:[0,8,8,0],color:new at(0,0,1,0,[{offset:0,color:"rgba(48, 220, 255, 0.12)"},{offset:.62,color:["#27f0c0","#30dcff","#ffd76c"][I%3]},{offset:1,color:"#ffffff"}])}})),label:{show:!0,position:"right",color:"#eaffff",fontSize:10,formatter:({value:E})=>k0(E)}},{type:"scatter",symbolSize:7,data:T.map(E=>E.value),itemStyle:{color:"#ffd76c",shadowBlur:8,shadowColor:"#ffd76c"}}]}}),K8=b2(()=>{const T=E2.value;return{color:["#30dcff","#ffd76c"],tooltip:s3(W2({},Ae()),{trigger:"axis",axisPointer:{type:"shadow"},formatter(E){const I=E.find(k2=>k2.seriesName==="流通头数"),u2=E.find(k2=>k2.seriesName==="出证记录");return`${(I==null?void 0:I.axisValue)||""}<br/>流通头数:${Q1((I==null?void 0:I.value)||0)}头<br/>出证记录:${Q1((u2==null?void 0:u2.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:T.map(E=>E.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:k0},splitLine:{lineStyle:{color:"rgba(48, 220, 255, 0.09)",type:"dashed"}}},{type:"value",axisLabel:{color:"rgba(255, 255, 255, 0.74)",fontSize:10,formatter:k0},splitLine:{show:!1}}],series:[{name:"流通头数",type:"bar",barMaxWidth:13,data:T.map(E=>E.headCount),itemStyle:{borderRadius:[7,7,0,0],color:new at(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:T.map(E=>E.recordCount),lineStyle:{width:2.2,color:"#ffd76c"},itemStyle:{color:"#ffd76c",borderColor:"rgba(3, 18, 28, 0.9)",borderWidth:2}}]}}),ke=b2(()=>ue(c3.value.slice(0,10),"headCount","头",{colors:M,style:"ladder",axisTextColor:"rgba(255, 255, 255, 0.88)",dimAxisTextColor:"rgba(255, 255, 255, 0.74)",tooltipFormatter(T){const E=c3.value[T.dataIndex];return`${E.name}<br/>流通头数:${Q1(E.headCount)}头<br/>出证记录:${Q1(E.recordCount)}条`}})),me=b2(()=>{const T=S3.value;return{color:M,tooltip:Ae(E=>{const I=T.find(u2=>u2.name===E.name);return`${E.name}<br/>占比:${E.percent}%<br/>流通头数:${Q1(E.value)}头<br/>出证记录:${Q1((I==null?void 0:I.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(E){const I=T.find(u2=>u2.name===E);return I?`${E} ${k0(I.headCount)}头`:E}},series:[{name:"用途结构",type:"pie",radius:["38%","64%"],center:["32%","54%"],startAngle:110,label:{show:!1},labelLine:{show:!1},itemStyle:{borderColor:"rgba(3, 18, 31, 0.92)",borderWidth:3},data:T.map(E=>({name:E.name,value:E.headCount}))}]}}),Yt=b2(()=>{const T=[{name:"省外A证",value:bt("outProvinceHeads","aCertHeads")},{name:"省内B证",value:bt("inProvinceHeads","bCertHeads")}];return{color:["#ffd76c","#30dcff"],tooltip:Ae(E=>`${E.name}<br/>流通头数:${Q1(E.value)}头<br/>占比:${E.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:T}]}});function Kt(){a.value=typeof window=="undefined"?1080:window.innerHeight}function kn(){var T,E,I,u2,k2,X2;if(v2.value){(E=(T=b3.value)==null?void 0:T.refreshView)==null||E.call(T);return}(u2=(I=E3.value)==null?void 0:I.resume)==null||u2.call(I),(X2=(k2=E3.value)==null?void 0:k2.refreshView)==null||X2.call(k2)}function I6(){J1&&(window.clearTimeout(J1),J1=null)}function q8(){var T,E,I,u2,k2,X2;if(ie.value={type:"loading",text:"地图正在复位"},d3.value={type:"idle",text:""},v2.value){(E=(T=b3.value)==null?void 0:T.hasMap)!=null&&E.call(T)?(w1.value=!0,(u2=(I=b3.value)==null?void 0:I.resetView)==null||u2.call(I)):(w1.value=!1,z0.value+=1,_e(()=>{window.setTimeout(()=>{var h3,w3;return(w3=(h3=b3.value)==null?void 0:h3.refreshView)==null?void 0:w3.call(h3)},160)}));return}if((X2=(k2=E3.value)==null?void 0:k2.hasMap)!=null&&X2.call(k2)){n1.value=!0,kn();return}I6(),n1.value=!1,g1=!1,O1.value+=1,_e(()=>{St()})}e({refreshMapView:kn,resetMap:q8,setActiveView(T){B.value=n7(T)}}),$n(()=>{Kt(),window.addEventListener("resize",Kt),du(),lu(),L6(),va(),y5(),Z8()}),Un(()=>{var T,E;a0=!0,window.removeEventListener("resize",Kt),J1&&window.clearTimeout(J1),qt(),M4(),(E=(T=E3.value)==null?void 0:T.destroyMap)==null||E.call(T)}),I0([B,A0,C1,y2,t2,o3,F1,o1],()=>{e7()},{immediate:!0}),I0(B,(T,E)=>{r("view-change",T);const I=T==="structure"||T==="forecast",u2=E==="structure"||E==="forecast",k2=!I&&!u2&&(T==="trade"||E==="trade");I&&!u2&&(w1.value=!1,ie.value={type:"idle",text:""},d3.value={type:"idle",text:""}),!I&&u2&&(I6(),n1.value=!1,g1=!1,ie.value={type:"idle",text:""},d3.value={type:"idle",text:""},_e(()=>{var X2,h3,w3,a1;St(),(h3=(X2=E3.value)==null?void 0:X2.resume)==null||h3.call(X2),(a1=(w3=E3.value)==null?void 0:w3.refreshView)==null||a1.call(w3),window.setTimeout(()=>{var h1,d1;return(d1=(h1=E3.value)==null?void 0:h1.refreshView)==null?void 0:d1.call(h1)},180)})),k2&&(I6(),n1.value=!1,g1=!1,ie.value={type:"idle",text:""},d3.value={type:"idle",text:""},_e(()=>{St()})),y5(),Z8()}),I0(()=>i.viewKey,T=>{const E=n7(T);E!==B.value&&(B.value=E)}),I0(()=>i.active,T=>{var E,I,u2,k2;T?(St(),(I=(E=E3.value)==null?void 0:E.resume)==null||I.call(E),y5(),Z8()):((k2=(u2=E3.value)==null?void 0:u2.pause)==null||k2.call(u2),qt(),M4())}),I0(S0,T=>{X.value>=T.pageCount&&(X.value=0),Z8()});function X8(T){T!==V.value&&(V.value=T,y5())}function y5(){qt(),!(!i.active||B.value!=="forecast"||a0)&&(f1=window.setInterval(K5,t02))}function K5(){const T=vn.findIndex(I=>I.key===V.value),E=T>=0?(T+1)%vn.length:0;V.value=vn[E].key}function qt(){f1&&(window.clearInterval(f1),f1=null)}function Z8(){M4(),!(!i.active||B.value!=="structure"||a0||S0.value.pageCount<=1)&&(Pe=window.setInterval(oa,n02))}function oa(){const T=S0.value.pageCount;T<=1||(X.value=(X.value+1)%T)}function M4(){Pe&&(window.clearInterval(Pe),Pe=null)}function Jl(T=[],E=[]){const I=new Map;return E.forEach(u2=>{const k2=k4(u2.name);k2&&I.set(k2,s3(W2({},u2),{name:k2,count:Number(u2.count||0)}))}),T.forEach(u2=>{const k2=k4(u2.name);if(!k2)return;const X2=I.get(k2)||{};I.set(k2,s3(W2(W2({},X2),u2),{name:k2,count:Number.isFinite(Number(u2.count))?Number(u2.count):Number(X2.count||0)}))}),[...I.values()].sort((u2,k2)=>Number(k2.count||0)-Number(u2.count||0))}function k4(T){return T||""}function un(T){return String(T||"").trim()}function R4(T){const E=Number(T);return Number.isFinite(E)&&Y2.includes(E)?E:Y2[Y2.length-1]}function I4(T=o3.value){const E=R4(T);return{startDate:`${E}-01-01`,endDate:`${E}-12-31`}}function v5(){return{keyword:"",town:"",medicine:"",startDate:"",endDate:""}}function m6(T=[]){return Array.isArray(T)?T.map((E,I)=>{var u2,k2,X2;return{key:E.key||E.id||`${E.name||E.label||"item"}-${I}`,name:String(E.name||E.label||E.town||E.village||"未填写"),value:Number((X2=(k2=(u2=E.value)!=null?u2:E.count)!=null?k2:E.total)!=null?X2:0)}}).filter(E=>E.name&&Number.isFinite(E.value)):[]}function Y9(T={}){const E=m6(T==null?void 0:T.medicineCounts);return Math.max(E.filter(I=>I.name!=="未填写").length,1)}function la(...T){const E=T.flatMap(I=>Array.isArray(I)?I:[I]).map(I=>{var u2,k2,X2;return I&&typeof I=="object"?(X2=(k2=(u2=I.year)!=null?u2:I.value)!=null?k2:I.latestYear)!=null?X2:I.latest_year:I}).map(Number).filter(I=>Number.isFinite(I)&&I>0);return[...new Set(E)].sort((I,u2)=>I-u2)}function J8(T=[],E="name"){return Array.isArray(T)?T.map((I,u2)=>{var k2,X2,h3,w3,a1,h1,d1,Y1,_0,G1,g0,n3,R3,x3,i1,k1,w0;return{key:I.key||I.id||`${I[E]||I.name||I.label||"trade"}-${u2}`,name:String(I[E]||I.name||I.label||I.town||"未填写"),recordCount:Number((h3=(X2=(k2=I.recordCount)!=null?k2:I.record_count)!=null?X2:I.count)!=null?h3:0),headCount:Number((d1=(h1=(a1=(w3=I.headCount)!=null?w3:I.head_count)!=null?a1:I.amount)!=null?h1:I.value)!=null?d1:0),lng:Rn((n3=(g0=(G1=(_0=(Y1=I.lng)!=null?Y1:I.longitude)!=null?_0:I.destLng)!=null?G1:I.dest_lng)!=null?g0:I.destLongitude)!=null?n3:I.dest_longitude),lat:Rn((w0=(k1=(i1=(x3=(R3=I.lat)!=null?R3:I.latitude)!=null?x3:I.destLat)!=null?i1:I.dest_lat)!=null?k1:I.destLatitude)!=null?w0:I.dest_latitude)}}).filter(I=>I.name&&Number.isFinite(I.headCount)):[]}function Ql(T=[]){return Array.isArray(T)?T.map(E=>{var I,u2,k2,X2,h3,w3;return{year:Number(E.year),recordCount:Number((u2=(I=E.recordCount)!=null?I:E.record_count)!=null?u2:0),headCount:Number((w3=(h3=(X2=(k2=E.headCount)!=null?k2:E.head_count)!=null?X2:E.amount)!=null?h3:E.value)!=null?w3:0)}}).filter(E=>Number.isFinite(E.year)&&Number.isFinite(E.headCount)):[]}function Q8(T=[]){return Array.isArray(T)?ei(T.map(E=>{var I,u2,k2;return E&&typeof E=="object"?(k2=(u2=(I=E.value)!=null?I:E.label)!=null?u2:E.name)!=null?k2:"":E})):[]}function ua(T=[]){return Array.isArray(T)?T.map(E=>{var I,u2,k2,X2,h3,w3;if(E&&typeof E=="object"){const a1=(k2=(u2=(I=E.value)!=null?I:E.name)!=null?u2:E.label)!=null?k2:"",h1=(w3=(h3=(X2=E.label)!=null?X2:E.name)!=null?h3:E.value)!=null?w3:a1;return a1?{value:String(a1),label:String(h1||a1)}:null}return E?{value:String(E),label:String(E)}:null}).filter(Boolean):[]}function ei(T=[]){return[...new Set(T.map(E=>String(E||"").trim()).filter(Boolean))]}function eu(T=[]){if(!Array.isArray(T))return[];const E=new Map;T.forEach((u2,k2)=>{var h1,d1,Y1,_0,G1,g0;const X2=un(u2.name||u2.areaName||u2.area_name||u2.town||u2.label||"");if(!X2)return;const h3=Rn((Y1=(d1=(h1=u2.value)!=null?h1:u2.number)!=null?d1:u2.count)!=null?Y1:u2.total);if(!Number.isFinite(h3))return;const w3=E.get(X2)||{key:u2.areaCode||u2.area_code||`${X2}-${k2}`,name:X2,recordCount:0,earTagCount:0,source:"stats"};w3.recordCount+=h3;const a1=Rn((g0=(G1=(_0=u2.earTagCount)!=null?_0:u2.ear_tag_count)!=null?G1:u2.headCount)!=null?g0:u2.head_count);w3.earTagCount+=Number.isFinite(a1)?a1:0,E.set(X2,w3)});const I=[...E.values()].reduce((u2,k2)=>u2+Number(k2.recordCount||0),0);return[...E.values()].map(u2=>s3(W2({},u2),{earTagCount:u2.earTagCount||Math.round(Number(u2.recordCount||0)/k.value),ratio:I?Number(u2.recordCount||0)/I*100:0})).sort((u2,k2)=>Number(k2.recordCount||0)-Number(u2.recordCount||0))}function tu(T={}){var k2,X2;const E=Array.isArray(T)?{rows:T}:T||{},I=E.result||{};return{rows:E.rows||E.data||E.list||E.records||[],year:(X2=(k2=E.year)!=null?k2:I.year)!=null?X2:null}}function N4(T=[]){return Array.isArray(T)?T.map((E,I)=>{var Y1,_0,G1,g0,n3,R3,x3,i1,k1,w0,je,K0;const u2=un(E.town||E.townName||E.town_name||""),k2=String(E.village||E.villageName||E.village_name||E.name||"").trim(),X2=Rn((G1=(_0=(Y1=E.recordCount)!=null?Y1:E.record_count)!=null?_0:E.records)!=null?G1:E.total),h3=Rn((x3=(R3=(n3=(g0=E.earTagCount)!=null?g0:E.ear_tag_count)!=null?n3:E.headCount)!=null?R3:E.head_count)!=null?x3:E.value),w3=Rn((k1=(i1=E.imageCount)!=null?i1:E.image_count)!=null?k1:E.images),a1=Rn((w0=E.imageRate)!=null?w0:E.image_rate),h1=Rn((je=E.lng)!=null?je:E.longitude),d1=Rn((K0=E.lat)!=null?K0:E.latitude);return{key:E.key||E.id||`${u2}-${k2}-${I}`,town:u2,village:k2,recordCount:Number.isFinite(X2)?X2:0,earTagCount:Number.isFinite(h3)?h3:0,imageCount:Number.isFinite(w3)?w3:0,imageRate:Number.isFinite(a1)?a1:0,lng:h1,lat:d1}}).filter(E=>E.town&&E.village&&Number.isFinite(E.earTagCount)).sort((E,I)=>Number(I.earTagCount||0)-Number(E.earTagCount||0)):[]}function nu(T={},E={}){const I=Array.isArray(E)?{rows:E}:E||{},u2=I.result||{},k2=N4(I.rows||I.data||I.list||I.records||u2.rows||[]),X2=new Map;k2.forEach(d1=>{L4(d1.village).forEach(Y1=>{X2.has(Y1)||X2.set(Y1,d1)})});const h3=m6(T==null?void 0:T.townCounts),w3=h3.length===1?un(h3[0].name):"",a1=Y9(T),h1=m6(T==null?void 0:T.villageCounts).map((d1,Y1)=>{const _0=String(d1.name||"").trim(),G1=L4(_0).map(n3=>X2.get(n3)).find(Boolean)||{},g0=Number(d1.value||0);return{key:G1.key||`${G1.town||w3||"防疫"}-${_0}-${Y1}`,town:G1.town||w3,village:_0,recordCount:g0,earTagCount:Math.round(g0/a1),imageCount:G1.imageCount||0,imageRate:G1.imageRate||0,lng:G1.lng,lat:G1.lat}}).filter(d1=>d1.village&&d1.recordCount>0);return s3(W2({},I),{rows:h1})}function L4(T){const E=String(T||"").trim(),I=E.replace(/(村|社区|牧委会)$/,"");return[...new Set([E,I].filter(Boolean))]}function Rn(T){if(T==null||T==="")return NaN;const E=Number(String(T).replace(/,/g,"").replace(/%/g,""));return Number.isFinite(E)?E:NaN}function F4(T){return String(T||"").replace(/'/g,"''").replace(/%/g,"\\%").replace(/_/g,"\\_")}function D4(T,E){const I=un(T),u2=String(E||"").trim();if(!I||!u2)return"";const k2=`${I}${u2}`,X2=F4(k2),h3=F4(u2);return`(full_name LIKE '%${X2}%' OR name = '${X2}' OR name = '${h3}')`}function iu(T){const E=String(T||"").trim().replace(/\s+/g,"");return E?Array.from(E).join(`
`):""}function ca(T){const E=String(T||"").trim();if(!E)return"";const I=E.match(/^(.+)(镇|乡|村)$/);return I?`${I[1]}
${I[2]}`:E}function ti(T,E){return O4(T.name)-O4(E.name)}function O4(T){const E=String(T||"").match(/(\d{1,2})\D+(\d{1,2})/);return E?Number(E[1])*100+Number(E[2]):Number.MAX_SAFE_INTEGER}function B4(T=[]){return Array.isArray(T)?T.map(G4).filter(Boolean):[]}function G4(T){return T?{epidemicId:T.epidemicId||T.epidemic_id||T.id||"",earTag:T.earTag||T.ear_tag||"",owner:T.owner||"",idType:T.idType||T.id_type||"",idNo:T.idNo||T.id_no||"",phone:T.phone||"",town:T.town||"",village:T.village||"",location:T.location||"",livestockType:T.livestockType||T.livestock_type||"",age:T.age||"",sex:T.sex||"",weight:T.weight||T.weightKg||T.weight_kg||"",preventionType:T.preventionType||T.prevention_type||"",method:T.method||"",medicine:T.medicine||"",dose:T.dose||"",operator:T.operator||"",operateTime:T.operateTime||T.operate_time||"",imagePaths:T.imagePaths||T.image_paths||""}:null}function j4(T=[]){return Array.isArray(T)?T.map(z4).filter(Boolean):[]}function z4(T){var E,I,u2,k2;return T?{certId:T.certId||T.cert_id||T.id||"",certType:T.certType||T.cert_type||"",certScopeName:T.certScopeName||T.cert_scope_name||"",factoryCode:T.factoryCode||T.factory_code||"",ownerName:T.ownerName||T.owner_name||"",ownerPhone:T.ownerPhone||T.owner_phone||"",transportNumber:T.transportNumber||T.transport_number||"",amount:Number((k2=(u2=(I=(E=T.amount)!=null?E:T.headCount)!=null?I:T.head_count)!=null?u2:T.value)!=null?k2:0),unitName:T.unitName||T.unit_name||"头",animalTypeName:T.animalTypeName||T.animal_type_name||"",usageTypeName:T.usageTypeName||T.usage_type_name||"",startTown:T.startTown||T.start_town||"",startRegionFullName:T.startRegionFullName||T.start_region_full_name||"",destProvince:T.destProvince||T.dest_province||"",destRegionFullName:T.destRegionFullName||T.dest_region_full_name||"",quarantineOfficerName:T.quarantineOfficerName||T.quarantine_officer_name||"",issueTime:T.issueTime||T.issue_time||"",statusName:T.statusName||T.status_name||""}:null}function ni(T,E){for(const I of E){const u2=Number(T==null?void 0:T[I]);if(Number.isFinite(u2))return u2}return 0}function bt(...T){return ni(o1.value,T)}function ii(T=[],E=2){const I=[...new Set(T.map(u2=>String(u2||"").trim()).filter(Boolean))];return I.length?I.length<=E?I.join("、"):`${I.slice(0,E).join("、")}等${I.length}个乡镇`:"暂无"}function U4(){const T=j.value;if(T.length)return{name:ii(T,1),desc:"年度防疫覆盖需补强",level:"watch"};const E=O2.value.filter(u2=>Number(u2.earTagCount||u2.recordCount||0)>0).sort((u2,k2)=>Number(u2.earTagCount||u2.recordCount||0)-Number(k2.earTagCount||k2.recordCount||0)),I=E[0];return I?{name:I.name,desc:`${k0(I.earTagCount||I.recordCount)}头,建议补免回访`,level:E.length>=2?"watch":"normal"}:{name:"暂无",desc:"等待年度防疫记录形成",level:"normal"}}function q5(){const T=j.value;if(T.length)return T.slice(0,4).map((u2,k2)=>({key:`missing-${u2}`,name:u2,value:Math.max(25,100-k2*12),label:"待补免",level:"watch"}));const E=O2.value.filter(u2=>Number(u2.earTagCount||u2.recordCount||0)>0);if(!E.length)return[{key:"empty",name:"暂无",value:0,label:"待开展",level:"watch"}];const I=E.reduce((u2,k2)=>u2+Number(k2.earTagCount||0),0)/E.length||1;return[...E].sort((u2,k2)=>Number(u2.earTagCount||0)-Number(k2.earTagCount||0)).slice(0,4).map(u2=>{const k2=Number(u2.earTagCount||u2.recordCount||0),X2=Math.max(8,Math.round((I-k2)/I*100));return{key:`weak-${u2.name}`,name:u2.name,value:Math.min(100,X2),label:`${k0(k2)}头`,level:X2>=35?"watch":"normal"}})}function da(){const E=(p2.value.length?p2.value:O2.value).map((k2,X2)=>{const h3=un(k2.name),w3=Number(k2.earTagCount||0),a1=Number(k2.recordCount||k2.value||0),h1=w3||Math.round(a1/k.value);return{key:k2.key||`${h3}-${X2}`,name:h3,value:h1,recordCount:a1,isMissing:!1}}).filter(k2=>k2.name&&Number.isFinite(k2.value)),u2=[...j.value.map((k2,X2)=>({key:`missing-${k2}-${X2}`,name:k2,value:0,recordCount:0,isMissing:!0})),...E];return u2.length?u2.sort((k2,X2)=>k2.isMissing!==X2.isMissing?k2.isMissing?-1:1:Number(k2.value||0)-Number(X2.value||0)).slice(0,7):[{key:"empty",name:"待开展",value:0,recordCount:0,isMissing:!0}]}function ha(){var E;const T=g2.value.map((I,u2)=>({key:I.key||`${I.town}-${I.village}-${u2}`,name:I.village||I.name,town:I.town,value:Number(I.earTagCount||I.value||0)})).filter(I=>I.name&&Number.isFinite(I.value)&&I.value>0);return T.length?T.sort((I,u2)=>u2.value-I.value).slice(0,9):m6((E=r3.value)==null?void 0:E.villageCounts).map((I,u2)=>({key:I.key||`${I.name}-${u2}`,name:I.name,town:"",value:Math.round(Number(I.value||0)/k.value)})).filter(I=>I.name&&Number.isFinite(I.value)&&I.value>0).sort((I,u2)=>u2.value-I.value).slice(0,9)}function ru(){if(!t2.value)return{level:"watch",title:"年度待开展",desc:"年度免疫记录暂未形成",advice:"建议先核查年度免疫计划与乡镇推进节奏。"};const T=H.value,E=x2.value;return j.value.length?{level:"watch",title:"补免待核查",desc:`乡镇覆盖${Zt(T)},${E.name}需补强`,advice:`优先核查${ii(j.value,1)}免疫进度。`}:T>=90&&k.value>=4?{level:"stable",title:"运行平稳",desc:`乡镇覆盖${Zt(T)},疫苗谱较完整`,advice:"建议保持当前免疫节奏,持续跟踪补免回访。"}:{level:"normal",title:"均衡回访",desc:`${E.name}相对偏低,适合继续跟进`,advice:`关注${E.name}补免回访,保持覆盖均衡。`}}function fa(){return[{key:"latest",name:"最近免疫",value:L2.value,desc:"最后作业时间",level:L2.value==="-"?"watch":"stable",color:"#27f0c0"},{key:"top-town",name:"高频乡镇",value:W.value,desc:"年度作业集中区",level:"normal",color:"#30dcff"},{key:"vaccine",name:"主用疫苗",value:m2.value,desc:`${k.value}类疫苗`,level:"normal",color:"#ffd76c"}]}function ma(){const T=bt("headCount","totalHeads","total_heads"),E=v3.value,I=E.reduce((i1,k1)=>i1+Number(k1.headCount||0),0)||T||1,u2=E[0],k2=u2?Number(u2.headCount||0)/I*100:0,X2=S3.value.filter(i1=>i1.name&&i1.name!=="未填写").sort((i1,k1)=>Number(k1.headCount||0)-Number(i1.headCount||0)),h3=X2.reduce((i1,k1)=>i1+Number(k1.headCount||0),0)||T||1,w3=X2[0],a1=w3?Number(w3.headCount||0)/h3*100:0,d1=s2.value.filter(i1=>i1.name&&i1.name!=="未填写").sort((i1,k1)=>Number(k1.headCount||k1.recordCount||0)-Number(i1.headCount||i1.recordCount||0))[0],Y1=bt("vehicleCount","vehicle_count","transportVehicleCount","transport_vehicle_count"),_0=Y1>0?T/Y1:0,G1=bt("outProvinceHeads","out_province_heads","aCertHeads","a_cert_heads"),g0=bt("inProvinceHeads","in_province_heads","bCertHeads","b_cert_heads"),n3=G1+g0||T||1,R3=G1?G1/n3*100:0;return[{key:"town",name:"高频出栏乡镇",value:(u2==null?void 0:u2.displayName)||(u2==null?void 0:u2.name)||"暂无",desc:u2?`${k0(u2.headCount)}头,占${Zt(k2)}`:"等待来源乡镇数据",level:k2>=35?"high":k2>=24?"watch":"normal",color:"#ffcf62"},{key:"usage",name:"交易用途集中度",value:(w3==null?void 0:w3.name)||"暂无",desc:w3?`占${Zt(a1)}`:"等待用途结构数据",level:a1>=60?"high":a1>=45?"watch":"normal",color:"#30dcff"},{key:"vehicle",name:d1?"运输车辆高频":"车辆周转强度",value:d1?`${k0(d1.headCount||d1.recordCount)}${d1.headCount?"头":"条"}`:Y1?`车均${Q1(_0)}头`:"--",desc:d1?"已接入车辆聚合,明细在台账核查":Y1?`${Q1(Y1)}辆参与流通`:"等待车辆聚合数据",level:d1||_0>=260?"watch":"normal",color:"#7aa7ff"},{key:"cert-dest",name:"证照/去向线索",value:G1?Zt(R3):"--",desc:G1?`省外流通${k0(G1)}头`:"等待证照去向数据",level:R3>=55?"high":R3>=35?"watch":"normal",color:"#ff8f6b"}].map(i1=>s3(W2({},i1),{badge:i1.level==="high"?"重点":i1.level==="watch"?"关注":"平稳"}))}function ri(T={}){return String(T.imagePaths||"").split(";").map(E=>E.trim()).filter(Boolean)}function $4(T){const I=String(T||"").replace(/^images\//,"").split("/").map(encodeURIComponent).join("/");return`${J12}/${I}`}function au(T){B1.value=$4(T),c1.value=!0}function W4(){c1.value=!1,B1.value=""}function N0(T){return T==null||T===""?"-":T}function ga(T){const E=String(T!=null?T:"").trim();return!!(E&&E!=="-")}function it(T,E,I={}){return ga(E)?W2({label:T,value:E},I):null}function N6(T){return T?String(T).slice(0,10):"-"}function pa(T){const E=String(T||"").trim();return E?E.length<7?E:`${E.slice(0,3)}****${E.slice(-4)}`:"-"}function su(T){const E=String(T||"").trim();return E?E.length<=4?E:`****${E.slice(-4)}`:"-"}function V4(T){const E=String(T!=null?T:"").trim();if(!E)return"-";if(/kg|公斤|千克/i.test(E))return E;const I=Number(E);return Number.isFinite(I)?`${Q1(I)}kg`:E}function ou(T){return String(T!=null?T:"").trim()||"-"}function ya(T={}){return T.certScopeName||T.certType||"-"}function lu(){return I3(this,null,function*(){var u2,k2;N2.value=!0,V2.value="";const[T,E,I]=yield Promise.allSettled([G22(),z22(),j22()]);T.status==="fulfilled"&&((u2=T.value)!=null&&u2.length)&&(P2.value=sB(T.value.map(X2=>({name:X2.name,count:Number(X2.value)})).filter(X2=>X2.name&&Number.isFinite(X2.count)))),E.status==="fulfilled"&&((k2=E.value)!=null&&k2.length)&&(z2.value=E.value.map(X2=>({month:X2.name,count:Number(X2.value),speed:pu(X2.extra)})).filter(X2=>X2.month&&Number.isFinite(X2.count))),I.status==="fulfilled"?(G2.value=xa(I.value),G2.value.length||(V2.value="结构数据暂无数据")):(V2.value=Pa(I.reason,"结构数据异常"),G2.value=[]),N2.value=!1})}function va(){return I3(this,arguments,function*(T=F1.value){var E,I,u2,k2,X2,h3;S1.value=!0,H2.value="";try{(I=(E=b1.value)==null?void 0:E.years)!=null&&I.length||(b1.value=yield L22());const w3=la((u2=b1.value)==null?void 0:u2.years),a1=Number(((k2=b1.value)==null?void 0:k2.latestYear)||((X2=b1.value)==null?void 0:X2.latest_year)||w3[w3.length-1]),h1=Number(T||F1.value||a1||w3[w3.length-1]);F1.value=h1;let d1=yield E_({year:h1});const Y1=(h3=d1==null?void 0:d1.hasData)!=null?h3:d1==null?void 0:d1.has_data,_0=Number((d1==null?void 0:d1.latestYear)||(d1==null?void 0:d1.latest_year)||a1);Y1===!1&&_0&&_0!==h1&&(F1.value=_0,d1=yield E_({year:_0})),O.value=d1||{metrics:{},hasData:!1},yield H4(1)}catch(w3){H2.value="交易数据接口异常",O.value={metrics:{},hasData:!1},A1.value=[],I1.value=0}finally{S1.value=!1}})}function H4(){return I3(this,arguments,function*(T=c2.value){var I,u2;if(!F1.value)return;const E={year:F1.value,page:T,pageSize:Sd,keyword:i2.value};try{const k2=yield P_(E);A1.value=j4(k2.rows),I1.value=Number(((I=k2.page)==null?void 0:I.totalCount)||k2.totalCount||A1.value.length||0),c2.value=Number(((u2=k2.page)==null?void 0:u2.page)||T||1)}catch(k2){H2.value=H2.value||"交易台账接口异常",A1.value=[],I1.value=0}})}function ge(T){const E=Number(T);!Number.isFinite(E)||E===Number(F1.value)||(F1.value=E,c2.value=1,a2.value="",i2.value="",va(E))}function le(T){const E=R4(T);E!==Number(o3.value)&&(o3.value=E,M3.value=1,N3.value="",q2.value="",w2.value=1,y1.value=v5(),L6(E))}function _a(){i2.value=a2.value.trim(),H4(1)}function ba(T){const E=Math.min(Math.max(Number(T)||1,1),E1.value);H4(E)}function uu(T=null){A2.value=!0,T&&(T2.value=T),ai(1,T)}function Sa(){A2.value=!1}function wa(){ai(1)}function cu(){D2.value={keyword:"",startTown:"",usageType:"",certType:""},ai(1)}function Y4(T){const E=Math.min(Math.max(Number(T)||1,1),L1.value);ai(E)}function ai(){return I3(this,arguments,function*(T=t3.value,E=null){var k2,X2;if(!F1.value)return;A3.value=!0,J2.value="";const I=D2.value,u2={year:F1.value,page:T,pageSize:k_,keyword:I.keyword.trim(),startTown:I.startTown,usageType:I.usageType,certType:I.certType};try{const h3=yield P_(u2);n2.value=j4(h3.rows),M2.value=Number(((k2=h3.page)==null?void 0:k2.totalCount)||h3.totalCount||n2.value.length||0),t3.value=Number(((X2=h3.page)==null?void 0:X2.page)||T||1);const w3=E?E.certId||E.factoryCode:"",a1=w3?n2.value.find(h1=>(h1.certId||h1.factoryCode)===w3)||E:n2.value[0]||null;rt(a1)}catch(h3){J2.value="交易台账接口异常",n2.value=[],M2.value=0,T2.value=null}finally{A3.value=!1}})}function rt(T){T2.value=T||null}function si(T){var E,I;T!=null&&T.startTown&&(B.value="trade",(I=(E=E3.value)==null?void 0:E.focusTown)==null||I.call(E,un(T.startTown),{distanceScale:.78,duration:.8}))}function L6(){return I3(this,arguments,function*(T=o3.value){var w3;const E=R4(T),I=I4(E);o3.value=E,u3.value=!0,_3.value="";const[u2,k2,X2,h3]=yield Promise.allSettled([F22(I),_d(W2({page:M3.value,pageSize:Qs,keyword:q2.value},I)),D22({year:E}),O22()]);if(u2.status==="fulfilled"?r3.value=u2.value||{metrics:{}}:(_3.value="防疫统计接口异常",r3.value={metrics:{}}),k2.status==="fulfilled"){const a1=k2.value||{};C3.value=B4(a1.rows),m3.value=Number(((w3=a1.page)==null?void 0:w3.totalCount)||a1.totalCount||C3.value.length||0)}else _3.value=_3.value||"防疫台账接口异常",C3.value=[],m3.value=0;X2.status==="fulfilled"?y3.value=tu(X2.value):y3.value={rows:[],year:null},h3.status==="fulfilled"?K2.value=nu(r3.value,h3.value):K2.value={rows:[]},u3.value=!1})}function K4(){return I3(this,arguments,function*(T=M3.value){var u2,k2;u3.value=!0,_3.value="";const E=Math.min(Math.max(Number(T)||1,1),h2.value),I=I4(o3.value);try{const X2=yield _d(W2({page:E,pageSize:Qs,keyword:q2.value},I));C3.value=B4(X2.rows),m3.value=Number(((u2=X2.page)==null?void 0:u2.totalCount)||X2.totalCount||C3.value.length||0),M3.value=Number(((k2=X2.page)==null?void 0:k2.page)||E||1)}catch(X2){_3.value="防疫台账接口异常",C3.value=[],m3.value=0,M3.value=1}finally{u3.value=!1}})}function oi(){q2.value=N3.value.trim(),y1.value=s3(W2({},v5()),{keyword:q2.value}),K4(1)}function Xt(T){K4(T)}function q4(T=null){L3.value=!0,T&&(J3.value=T,Q3.value=null),K9(1,T)}function X4(){L3.value=!1,W4()}function Z4(){K9(1)}function Ca(){y1.value=v5(),K9(1)}function J4(T){K9(T)}function K9(){return I3(this,arguments,function*(T=w2.value,E=null){var X2,h3;a3.value=!0,k3.value="";const I=y1.value,u2=I4(o3.value),k2={keyword:I.keyword.trim(),town:I.town,medicine:I.medicine,startDate:I.startDate||u2.startDate,endDate:I.endDate||u2.endDate,page:T,pageSize:M_};try{const w3=yield _d(k2);F3.value=B4(w3.rows),K3.value=Number(((X2=w3.page)==null?void 0:X2.totalCount)||w3.totalCount||F3.value.length||0),w2.value=Number(((h3=w3.page)==null?void 0:h3.page)||T||1);const a1=E||F3.value[0]||null;a1?Gt(a1):(J3.value=null,Q3.value=null)}catch(w3){k3.value="台账接口异常",F3.value=[],K3.value=0}finally{a3.value=!1}})}function Gt(T){return I3(this,null,function*(){if(J3.value=T,Q3.value=null,!(T!=null&&T.earTag)&&!(T!=null&&T.epidemicId))return;const E=++vt;l1.value=!0;try{const I=yield B22(T.earTag||T.epidemicId);E===vt&&(Q3.value=G4(I)||T)}catch(I){E===vt&&(Q3.value=T)}finally{E===vt&&(l1.value=!1)}})}function du(){var T;Y3=new Gr,r1=!1,(T=Y3.ready)==null||T.then(()=>{r1=!0,St()}).catch(()=>{n1.value=!0})}function St(){a0||!i.active||!r1||g1||(g1=!0,J1&&window.clearTimeout(J1),J1=window.setTimeout(()=>{J1=null,Ta()},600))}function Ta(T=0){return I3(this,null,function*(){var I,u2;if(a0)return;if(!i.active){g1=!1;return}if(yield _e(),!i.active){g1=!1;return}const E=E3.value;if((I=E==null?void 0:E.loadMap)==null||I.call(E,Y3),E!=null&&E.canvasMap){g1=!1,n1.value=!0,(u2=E.play)==null||u2.call(E);return}if(T<24){window.setTimeout(()=>Ta(T+1),120);return}g1=!1})}function Q4(T={}){d3.value={type:T.type||"idle",text:T.text||""}}function F6(){w1.value=!0}function q9(T={}){ie.value={type:T.type||"idle",text:T.text||"",loaded:T.loaded,failed:T.failed,total:T.total,zoom:T.zoom,tileUrlTemplate:T.tileUrlTemplate}}function e7(){if(B.value==="epidemic"){r("module-stats",{moduleKey:"yak-management",items:[{zh:"防疫记录",value:t2.value,unit:"条"},{zh:"防疫耳标",value:y2.value,unit:"头"},{zh:"疫苗类型",value:k.value,unit:"类"},{zh:"涉及村数",value:d2.value,unit:"个"}]});return}if(B.value==="forecast"){const T=A0.value.stock-Ct;r("module-stats",{moduleKey:"yak-management",items:[{zh:"预测期末存栏",value:A0.value.stock,unit:"头"},{zh:"新生牛犊",value:A0.value.births,unit:"头"},{zh:"出栏流出",value:A0.value.outflow,unit:"头"},{zh:"预测净变化",value:T,unit:"头"}]});return}if(B.value==="trade"){r("module-stats",{moduleKey:"yak-management",items:[{zh:"流通总量",value:bt("headCount"),unit:"头"},{zh:"出证记录",value:bt("recordCount"),unit:"条"},{zh:"交易销售",value:bt("saleHeadCount"),unit:"头"},{zh:"运输车辆",value:bt("vehicleCount"),unit:"辆"}]});return}r("module-stats",{moduleKey:"yak-management",items:[{zh:"图像识别总数",value:QO,unit:"头"},{zh:"模型修正总数",value:$0.value,unit:"头"},{zh:"当前存栏数量",value:Ct,unit:"头"}]})}function ue(T,E,I,u2={}){const k2=u2.labelKey||"name",X2=u2.colors||y,h3=Math.max(...T.map(G1=>Number(G1[E]||0)),1),w3=T.length>8,a1=u2.style==="ladder",h1=w3?a1?7:6:T.length>6?11:13,d1=["#30dcff","#27f0c0","#ffd76c","#7aa7ff","#ff8f6b","#a6f06d"],Y1=u2.axisTextColor||"rgba(223, 250, 255, 0.82)",_0=u2.dimAxisTextColor||"rgba(223, 250, 255, 0.56)";return{tooltip:s3(W2({},Ae()),{trigger:"axis",axisPointer:{type:"shadow"},formatter(G1){if(u2.tooltipFormatter)return u2.tooltipFormatter(G1[0]);const g0=T[G1[0].dataIndex];return`${g0[k2]}<br/>数值:${Q1(g0[E])}${I}`}}),grid:{left:w3?58:74,right:w3?50:54,top:w3?3:14,bottom:w3?5:14},xAxis:{type:"value",axisLabel:{color:_0,fontSize:10,formatter:I==="%"?"{value}%":k0},axisLine:{show:!1},axisTick:{show:!1},splitLine:{show:!1}},yAxis:{type:"category",inverse:!0,data:T.map(G1=>G1[k2]),axisLabel:{color:Y1,fontSize:w3?9:11,interval:0},axisLine:{show:!1},axisTick:{show:!1}},series:[{type:"bar",barWidth:h1,barGap:"-100%",data:T.map((G1,g0)=>({value:G1[E],itemStyle:{borderRadius:a1?[1,10,10,1]:[0,7,7,0],color:D6(a1?d1[g0%d1.length]:X2[g0%X2.length],a1),shadowBlur:a1?10:0,shadowColor:a1?X2[g0%X2.length]:"transparent"}})),showBackground:!0,backgroundStyle:{color:a1?"rgba(48, 220, 255, 0.035)":"rgba(48, 220, 255, 0.055)",borderRadius:a1?[1,10,10,1]:[0,7,7,0]},label:{show:!0,position:"right",color:"#ffffff",fontSize:w3?9:10,formatter:({value:G1})=>`${I==="%"?Zt(G1):k0(G1)}`},markLine:u2.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(h3*.72)}]}},...a1?[{type:"pictorialBar",symbol:"rect",symbolSize:[2,h1+5],symbolOffset:[0,0],symbolPosition:"end",z:4,data:T.map((G1,g0)=>({value:G1[E],itemStyle:{color:"#ffffff",opacity:g0<3?.82:.5,shadowBlur:8,shadowColor:d1[g0%d1.length]}}))}]:[]]}}function D6(T,E=!1){return new at(0,0,1,0,[{offset:0,color:E?`${T}22`:"rgba(48, 220, 255, 0.12)"},{offset:.64,color:E?T:`${T}cc`},{offset:1,color:T}])}function li(T,E,I,u2=0,k2=!1){return{name:T,type:"line",yAxisIndex:u2,smooth:!0,symbolSize:5,data:E,lineStyle:{width:2.5,color:I},itemStyle:{color:I},areaStyle:k2?{color:new at(0,0,0,1,[{offset:0,color:`${I}44`},{offset:1,color:`${I}05`}])}:void 0}}function hu(T){return re.find(E=>E.key===T)||re[2]}function t7(T,E="month"){if(E==="month")return Qb(T);const I=Math.max(1,Math.round(Number(T.months||0)*30)),u2=E==="week"?7:1,k2=Math.ceil(I/u2)+1,X2=Array.from({length:k2},(h1,d1)=>{const Y1=Math.min(I,d1*u2);return d1===0?"2026-06":Y1>=I?T.label:E==="week"?`第${d1}周`:`第${Y1}日`}),h3=X2.map((h1,d1)=>{const _0=Math.min(I,d1*u2)/I,G1=Math.sin(d1/(E==="week"?1.8:8.5))*Math.sin(Math.PI*_0)*Math.min(360,T.months*18);return Math.round(Ct+(T.stock-Ct)*_0+G1)}),w3=X2.map((h1,d1)=>{const Y1=Math.min(I,d1*u2)/I;return Math.round(T.births*Y1)}),a1=X2.map((h1,d1)=>{const Y1=Math.min(I,d1*u2)/I;return Math.round(T.outflow*Y1)});return{labels:X2,stock:h3,births:w3,outflow:a1}}function fu(T,E){return E==="day"?Math.max(10,Math.ceil(T/6)):E==="week"?Math.max(2,Math.ceil(T/7)):T>24?4:T>14?2:1}function mu(T,E){return E==="day"?T>700?2:T>360?3:4:E==="week"?T>110?4:6:T>24?7:10}function gu(T){return(T.labels||[]).map((E,I)=>{var d1,Y1,_0,G1,g0,n3;const u2=Number(((d1=T.stock)==null?void 0:d1[Math.max(I-1,0)])||0),k2=Number(((Y1=T.stock)==null?void 0:Y1[I])||u2),X2=Math.max(0,Number(((_0=T.births)==null?void 0:_0[I])||0)-Number(((G1=T.births)==null?void 0:G1[Math.max(I-1,0)])||0)),h3=Math.max(0,Number(((g0=T.outflow)==null?void 0:g0[I])||0)-Number(((n3=T.outflow)==null?void 0:n3[Math.max(I-1,0)])||0)),w3=Math.max(120,Math.round((X2+h3)*.18)),a1=Math.max(u2,k2)+Math.max(w3,Math.round(X2*.32)),h1=Math.max(0,Math.min(u2,k2)-Math.max(w3,Math.round(h3*.32)));return{label:E,open:u2,close:k2,low:h1,high:a1,birth:X2,outflow:h3,value:[u2,k2,h1,a1]}})}function Aa(T,E){const I=new Map;return T.forEach(u2=>{const k2=ui(u2.name);if(!k2)return;const X2=I.get(k2)||{name:k2,value:0};X2.value+=Number(u2[E]||0),I.set(k2,X2)}),[...I.values()].sort((u2,k2)=>k2.value-u2.value)}function ui(T){return{色地镇:"色地镇",瓦切镇:"瓦切镇",安曲镇:"安曲镇",龙日镇:"龙日镇",邛溪镇:"邛溪镇",刷经寺镇:"刷经寺镇",阿木乡:"阿木乡",查尔玛乡:"查尔玛乡",江茸乡:"江茸乡",麦洼乡:"麦洼乡"}[T]||""}function Ae(T){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:T}}function n7(T){return D.some(E=>E.key===T)?T:"structure"}function xa(T=[]){return T.map((E,I)=>{var X2,h3,w3,a1;const u2=String(E.name||E.label||E.type||`结构${I+1}`).trim(),k2=ci((h3=(X2=E.value)!=null?X2:E.count)!=null?h3:E.number);return{key:E.key||E.id||`${u2}-${I}`,name:u2,count:k2,ratio:Number((a1=(w3=E.ratio)!=null?w3:E.percent)!=null?a1:0),source:E.source||"结构统计"}}).filter(E=>E.name&&E.count>0)}function Ea(T=[],E=[]){const I=T.some(k2=>Ra(k2))?T:E,u2=ka(I,E).map((k2,X2)=>{var a1,h1;const h3=String(k2.name||k2.label||`结构${X2+1}`).trim(),w3=ci((h1=(a1=k2.count)!=null?a1:k2.value)!=null?h1:k2.number);return s3(W2({},k2),{key:k2.key||`${h3}-${X2}`,name:h3,count:w3})}).filter(k2=>k2.name&&k2.count>0);return i7(u2,Ct)}function i7(T=[],E=Ct){const I=T.reduce((X2,h3)=>X2+Number(h3.count||0),0);if(!I||!E)return T;const u2=T.map((X2,h3)=>{const w3=Number.isFinite(Number(X2.ratio))&&Number(X2.ratio)>0?Number(X2.ratio):Number(X2.count||0)/I*100,a1=E*w3/100;return s3(W2({},X2),{index:h3,ratio:w3,count:Math.floor(a1),remainder:a1-Math.floor(a1)})});let k2=E-u2.reduce((X2,h3)=>X2+h3.count,0);return u2.slice().sort((X2,h3)=>h3.remainder-X2.remainder||X2.index-h3.index).forEach(X2=>{k2<=0||(X2.count+=1,k2-=1)}),u2.map(a1=>{var h1=a1,{index:X2,remainder:h3}=h1,w3=S7(h1,["index","remainder"]);return s3(W2({},w3),{ratio:Number(w3.ratio.toFixed(1))})})}function ci(T){const E=Number(String(T!=null?T:"").replace(/,/g,"").replace(/%/g,""));return Number.isFinite(E)&&E>0?Math.round(E):0}function Pa(T,E){const I=String((T==null?void 0:T.message)||T||"");return/未登录|401|HTTP_401/.test(I)?"结构数据未就绪":/超时|timeout/i.test(I)?"结构数据加载超时":E}function pu(T){const E=String(T||"").match(/-?\d+(?:\.\d+)?/);return E?Number(E[0]):0}function Q1(T){const E=Number(T);return Number.isFinite(E)?E.toLocaleString("zh-CN",{maximumFractionDigits:Number.isInteger(E)?0:2}):"--"}function k0(T){const E=Number(T);return Number.isFinite(E)?Math.abs(E)>=1e4?`${(E/1e4).toFixed(Math.abs(E)>=1e5?0:1)}万`:Math.round(E).toLocaleString("zh-CN"):"--"}function di(T,E=2){const I=Number(T);return Number.isFinite(I)?`${(I/1e4).toFixed(E)}万`:"--"}function Zt(T){const E=Number(T);return Number.isFinite(E)?`${Number.isInteger(E)?E:E.toFixed(1)}%`:"--"}function Ye(T,E,I,u2){const k2=u2*Math.PI/180;return{x:Number((T+I*Math.cos(k2)).toFixed(2)),y:Number((E+I*Math.sin(k2)).toFixed(2))}}function r7(T,E,I,u2,k2,X2){const h3=Ye(T,E,u2,k2),w3=Ye(T,E,u2,X2),a1=Ye(T,E,I,X2),h1=Ye(T,E,I,k2),d1=X2-k2>180?1:0;return[`M ${h3.x} ${h3.y}`,`A ${u2} ${u2} 0 ${d1} 1 ${w3.x} ${w3.y}`,`L ${a1.x} ${a1.y}`,`A ${I} ${I} 0 ${d1} 0 ${h1.x} ${h1.y}`,"Z"].join(" ")}function X5(T=[]){return T.reduce((E,I)=>{const u2=w9.find(k2=>k2.key===I);return E+Number((u2==null?void 0:u2.ratio)||0)},0)}function a7(){return[{key:"fertileCow",name:"适龄能繁母牛",color:"#27f0c0",matcher:(T,E)=>T==="fertileCow"||E.includes("适龄能繁母牛")},{key:"meatBull",name:"麦洼公牦牛",color:"#7aa7ff",matcher:(T,E)=>T==="meatBull"||E.includes("肉公牛")||E.includes("麦洼公牦牛")},{key:"breedingBull",name:"种公牛",color:"#a6f06d",matcher:(T,E)=>T==="breedingBull"||E.includes("种公牛")},{key:"femaleCalf",name:"母犊牛",color:"#30dcff",matcher:(T,E)=>T==="femaleCalf"||E.includes("母犊牛")},{key:"maleCalf",name:"公犊牛",color:"#ffd76c",matcher:(T,E)=>T==="maleCalf"||E.includes("公犊牛")},{key:"overageCow",name:"过龄能繁母牛",color:"#ff8f6b",matcher:(T,E)=>T==="overageCow"||E.includes("过龄能繁母牛")}]}function Ma(T=[]){const E=T.reduce((u2,k2)=>u2+Number(k2.count||0),0)||1;return[{key:"female",group:"性别",name:"母牛合计",color:"#27f0c0",matcher:(u2,k2)=>["fertileCow","femaleCalf","overageCow"].includes(u2)||k2.includes("母")},{key:"male",group:"性别",name:"公牛合计",color:"#30dcff",matcher:(u2,k2)=>["meatBull","breedingBull","maleCalf"].includes(u2)||k2.includes("公")||k2.includes("肉牛")},{key:"calf",group:"阶段",name:"犊牛合计",color:"#ffd76c",matcher:(u2,k2)=>["femaleCalf","maleCalf"].includes(u2)||k2.includes("犊牛")},{key:"breeding-cow",group:"阶段",name:"能繁母牛",color:"#ff8f6b",matcher:(u2,k2)=>["fertileCow","overageCow"].includes(u2)||k2.includes("能繁母牛")}].map(u2=>{const k2=T.filter(X2=>u2.matcher(String(X2.key||""),String(X2.name||""))).reduce((X2,h3)=>X2+Number(h3.count||0),0);return{key:u2.key,group:u2.group,name:u2.name,color:u2.color,count:k2,percent:k2/E*100}})}function ka(T=[],E=[]){const u2=T.some(h3=>Ra(h3))?T:E,k2=u2.reduce((h3,w3)=>h3+Number(w3.count||0),0)||Ct||1;return a7().map(h3=>{const w3=u2.filter(d1=>h3.matcher(String(d1.key||""),String(d1.name||""))),a1=w3.reduce((d1,Y1)=>d1+Number(Y1.count||0),0),h1=w3.length===1?Number(w3[0].ratio):Number.NaN;return{key:h3.key,name:h3.name,color:h3.color,count:a1,percent:Number.isFinite(h1)&&h1>0?h1:a1/k2*100}}).filter(h3=>h3.count>0||h3.percent>0)}function Ra(T={}){const E=String(T.key||""),I=String(T.name||"");return a7().some(u2=>u2.matcher(E,I))}function yu(T=[],E=[]){const u2=T.some(h3=>vu(h3))?T:E,k2=u2.reduce((h3,w3)=>h3+Number(w3.count||0),0)||1,X2=(h3,w3,a1,h1,d1)=>{const Y1=u2.filter(g0=>h1(String(g0.key||""),String(g0.name||""))),_0=Y1.reduce((g0,n3)=>g0+Number(n3.count||0),0),G1=Y1.length===1?Number(Y1[0].ratio):Number.NaN;return{key:h3,name:w3,color:a1,count:_0,percent:Number.isFinite(G1)&&G1>0?G1:_0/k2*100,desc:d1}};return[X2("fertile-cow","适龄能繁母牛","#27f0c0",(h3,w3)=>h3==="fertileCow"||w3.includes("适龄能繁母牛"),"繁殖基础"),X2("calf","犊牛合计","#ffd76c",(h3,w3)=>["femaleCalf","maleCalf"].includes(h3)||w3.includes("犊牛"),"新生补充"),X2("overage-cow","过龄能繁母牛","#30dcff",(h3,w3)=>h3==="overageCow"||w3.includes("过龄能繁母牛"),"更新压力"),X2("breeding-bull","种公牛配比","#7aa7ff",(h3,w3)=>h3==="breedingBull"||w3.includes("种公牛"),"配种支撑")]}function vu(T={}){const E=String(T.key||""),I=String(T.name||"");return["fertileCow","femaleCalf","maleCalf","overageCow","breedingBull"].includes(E)||I.includes("适龄能繁母牛")||I.includes("犊牛")||I.includes("过龄能繁母牛")||I.includes("种公牛")}function _u(T=[]){const E=h3=>{var w3;return Number(((w3=T.find(a1=>a1.key===h3))==null?void 0:w3.percent)||0)},I=E("fertile-cow"),u2=E("calf"),k2=E("overage-cow"),X2=E("breeding-bull");return I>=40&&u2>=25&&X2>=2&&X2<=5&&k2<=10?{label:"结构健康",title:"繁殖基础稳定",summary:"适龄母牛足,犊牛补充稳",note:"保持适龄能繁母牛、犊牛补充与种公牛配置稳定。"}:u2<25?{label:"结构健康",title:"犊牛补充需关注",summary:"繁殖基础稳定,补充端可优化",note:"关注犊牛成活和季节性补栏,保持生产连续性。"}:X2<2?{label:"结构健康",title:"繁殖基础总体稳定",summary:"适龄母牛基础较稳",note:"结合实际配种需求,平稳优化公牛配置。"}:{label:"结构健康",title:"生产阶段较均衡",summary:"繁殖群和犊牛补充连续支撑",note:"延续结构管理,优先保障适龄母牛与犊牛质量。"}}function Z5(T){const E=Number((T==null?void 0:T.count)||0);return Math.max(8,Math.min(100,E/Q.value*100))}function bu(T={}){const E=Ct,I=[{key:"births",name:"新生牛犊",delta:Number(T.births||0),color:"#27f0c0"},{key:"outflow",name:"出栏流出",delta:-Number(T.outflow||0),color:"#ff8f6b"},{key:"correction",name:"修正损耗",delta:Number(T.correction||0),color:"#ffd76c"}];let u2=E;const k2=[{key:"current",name:"当前存栏",type:"anchor",value:E,magnitude:E,from:E,to:E,color:"#30dcff",display:`${di(E,2)}头`}];I.forEach(w3=>{const a1=u2,h1=u2+w3.delta;u2=h1,k2.push(s3(W2({},w3),{name:`${w3.delta>=0?"+":"-"}${w3.name}`,type:"delta",from:a1,to:h1,value:w3.delta,magnitude:Math.abs(w3.delta),display:`${s7(w3.delta)}头`}))});const X2=Number(T.stock||u2);k2.push({key:"final",name:"=期末预测",type:"final",value:X2,magnitude:X2,from:X2,to:X2,color:"#7aa7ff",display:`${di(X2,2)}头`});const h3=Math.max(...k2.map(w3=>Number(w3.magnitude)||0),1);return k2.map(w3=>{const a1=(Number(w3.magnitude)||0)/h3*100;return s3(W2({},w3),{left:0,width:Math.max(w3.type==="delta"?5:10,Math.min(100,a1))})})}function hi(T){const E=Number(T);return Number.isFinite(E)?`${E>=0?"+":"-"}${Q1(Math.abs(E))}`:"--"}function s7(T){const E=Number(T);return Number.isFinite(E)?`${E>=0?"+":"-"}${di(Math.abs(E))}`:"--"}return(T,E)=>(K(),e2("div",H22,[We((K(),te(Br,{key:et.value,ref_key:"mapSceneRef",ref:E3,class:"yak-map-scene","active-layer":l2.value,"map-ranking":Q2.value,"tile-url-template":Ne.value,"admin-boundary-line-scale":1.35,onLayerStatus:Q4,onTileStatus:q9},null,8,["active-layer","map-ranking","tile-url-template"])),[[R5,!v2.value]]),v2.value?(K(),te(xC,{key:z0.value,ref_key:"yakOlMapRef",ref:b3,class:"yak-ol-map-layer",active:i.active&&v2.value,"tile-url-template":Ne.value,center:I2.value,"max-zoom":21,onReady:F6,onLayerStatus:Q4,onTileStatus:q9},null,8,["active","tile-url-template","center"])):G3("",!0),C("div",{class:t1(["yak-map-scrim",{"is-ol-map":v2.value}])},null,2),F2.value?(K(),e2("div",Y22,S2(l3.value),1)):G3("",!0),C("div",K22,[B.value==="trade"&&T1.value.length?(K(),e2("div",q22,[E[23]||(E[23]=C("span",null,"交易年份",-1)),(K(!0),e2(B3,null,q3(T1.value,I=>(K(),e2("button",{key:I,type:"button",class:t1({active:Number(I)===Number(F1.value)}),onClick:u2=>ge(I)},S2(I),11,X22))),128))])):G3("",!0),B.value==="epidemic"&&Y2.length?(K(),e2("div",Z22,[E[24]||(E[24]=C("span",null,"防疫年份",-1)),(K(),e2(B3,null,q3(Y2,I=>C("button",{key:I,type:"button",class:t1({active:Number(I)===Number(o3.value)}),onClick:u2=>le(I)},S2(I),11,J22)),64))])):G3("",!0),B.value==="forecast"?(K(),e2("div",Q22,[E[25]||(E[25]=C("span",null,"预测年份",-1)),(K(!0),e2(B3,null,q3(O0(vn),I=>(K(),e2("button",{key:I.key,type:"button",class:t1({active:I.key===V.value}),onClick:u2=>X8(I.key)},S2(I.shortLabel),11,e32))),128))])):G3("",!0),C("div",t32,[C("div",n32,[B.value==="structure"?(K(),e2(B3,{key:0},[e1(K1,{class:"yak-side-card left-card",title:"繁殖基础评估",width:de,height:s.value},{default:j1(()=>[C("div",i32,[C("div",r32,[C("strong",null,S2(on.value.title)+","+S2(on.value.summary),1)]),C("div",a32,[(K(!0),e2(B3,null,q3(s0.value,I=>(K(),e2("div",{key:I.key,class:"breeding-health-item",style:R1({"--health-color":I.color,"--health-width":`${Math.max(5,Math.min(100,I.percent))}%`})},[C("span",null,S2(I.name),1),C("strong",null,S2(Zt(I.percent)),1),E[26]||(E[26]=C("i",null,[C("b")],-1)),C("em",null,S2(I.desc),1)],4))),128))])])]),_:1},8,["height"]),e1(K1,{class:"yak-side-card left-card",title:"畜群结构占比",width:de,height:s.value},{default:j1(()=>[C("div",s32,[C("div",o32,[C("div",l32,[(K(),e2("svg",u32,[C("g",c32,[(K(!0),e2(B3,null,q3(D3.value,I=>(K(),e2("path",{key:I.key,class:t1(["structure-rose-segment",{"is-active":I.index===Z2.value}]),d:I.path,fill:I.color,stroke:I.color},null,10,d32))),128))]),E[27]||(E[27]=C("circle",{class:"structure-rose-glow",cx:"75",cy:"75",r:"24"},null,-1)),E[28]||(E[28]=C("circle",{class:"structure-rose-hole",cx:"75",cy:"75",r:"16"},null,-1)),E[29]||(E[29]=C("text",{class:"structure-rose-center",x:"75",y:"72","text-anchor":"middle"},"结构",-1)),E[30]||(E[30]=C("text",{class:"structure-rose-center is-sub",x:"75",y:"83","text-anchor":"middle"},"占比",-1))]))]),C("div",h32,[(K(!0),e2(B3,null,q3(G0.value,(I,u2)=>(K(),e2("div",{key:I.key||I.name,class:t1(["structure-ratio-row",{"is-active":u2===Z2.value}]),style:R1({"--row-color":I.color,"--row-percent":`${Math.max(4,I.percent)}%`})},[C("i",{style:R1({background:I.color,color:I.color})},null,4),C("span",null,[he(S2(I.name),1),C("small",null,S2(Zt(I.percent)),1)]),C("strong",null,S2(k0(I.count)),1),E[31]||(E[31]=C("em",null,"头",-1))],6))),128))])]),N2.value?(K(),e2("div",f32,"结构数据加载中")):V2.value?(K(),e2("div",m32,S2(V2.value),1)):G3("",!0)])]),_:1},8,["height"]),e1(K1,{class:"yak-side-card left-card",title:"母牛/公牛年龄结构",width:de,height:s.value},{default:j1(()=>[e1(O0(Oe),{class:"yak-chart",option:O3.value,autoresize:!0},null,8,["option"])]),_:1},8,["height"]),e1(K1,{class:"yak-side-card left-card",title:"牦牛乡镇分布",width:de,height:s.value},{default:j1(()=>[e1(O0(Oe),{class:"yak-chart",option:T3.value,autoresize:!0},null,8,["option"])]),_:1},8,["height"])],64)):B.value==="forecast"?(K(),e2(B3,{key:1},[e1(K1,{class:"yak-side-card left-card",title:"存栏变化拆解",width:de,height:s.value},{default:j1(()=>[C("div",g32,[C("div",p32,[C("span",null,S2(A0.value.label)+"变化路径",1),C("strong",{class:t1({positive:we.value>0,negative:we.value<0})},[he(" 净变化 "+S2(hi(we.value)),1),E[32]||(E[32]=C("em",null,"头",-1))],2)]),C("div",y32,[(K(!0),e2(B3,null,q3(W0.value,I=>(K(),e2("div",{key:I.key,class:t1(["forecast-waterfall-row",[`is-${I.type}`,{positive:I.delta>0,negative:I.delta<0}]]),style:R1({"--waterfall-left":`${I.left}%`,"--waterfall-width":`${I.width}%`,"--waterfall-color":I.color})},[C("span",null,S2(I.name),1),E[33]||(E[33]=C("i",null,[C("b")],-1)),C("strong",null,S2(I.display),1)],6))),128))])])]),_:1},8,["height"]),e1(K1,{class:"yak-side-card left-card",title:"未来存栏趋势",width:de,height:s.value},{default:j1(()=>[C("div",v32,[C("div",_32,[(K(),e2(B3,null,q3(re,I=>C("button",{key:I.key,type:"button",class:t1({active:I.key===Y.value}),onClick:u2=>Y.value=I.key},S2(I.label),11,b32)),64))]),e1(O0(Oe),{class:"yak-chart forecast-kline-chart",option:D1.value,autoresize:!0},null,8,["option"])])]),_:1},8,["height"]),e1(K1,{class:"yak-side-card left-card",title:"月度数量预测",width:de,height:s.value},{default:j1(()=>[e1(O0(Oe),{class:"yak-chart",option:Te.value,autoresize:!0},null,8,["option"])]),_:1},8,["height"]),e1(K1,{class:"yak-side-card left-card",title:"预测因子雷达",width:de,height:s.value},{default:j1(()=>[e1(O0(Oe),{class:"yak-chart",option:n0.value,autoresize:!0},null,8,["option"])]),_:1},8,["height"])],64)):B.value==="epidemic"?(K(),e2(B3,{key:2},[e1(K1,{class:"yak-side-card left-card",title:"防疫统计",width:de,height:s.value},{default:j1(()=>[e1(O0(Oe),{class:"yak-chart",option:H9.value,autoresize:!0},null,8,["option"])]),_:1},8,["height"]),e1(K1,{class:"yak-side-card left-card",title:"养殖户防疫排行",width:de,height:s.value},{default:j1(()=>[e1(O0(Oe),{class:"yak-chart",option:Y8.value,autoresize:!0},null,8,["option"])]),_:1},8,["height"]),e1(K1,{class:"yak-side-card left-card",title:"防疫作业趋势",width:de,height:s.value},{default:j1(()=>[e1(O0(Oe),{class:"yak-chart",option:V9.value,autoresize:!0},null,8,["option"])]),_:1},8,["height"]),e1(K1,{class:"yak-side-card left-card",title:"疫苗类型分布",width:de,height:s.value},{default:j1(()=>[v.value.length?(K(),e2("div",S32,[C("div",w32,[(K(),te(ub,{key:S.value,data:v.value,delay:3e3,colors:w,opacity:.62,class:"epidemic-three-pie"},{default:j1(({data:I})=>[C("div",C32,[C("strong",null,S2(k0((I==null?void 0:I.count)||t2.value)),1),C("span",null,S2((I==null?void 0:I.name)||"疫苗类型"),1)])]),_:1},8,["data"]))]),C("div",T32,[(K(!0),e2(B3,null,q3(v.value,(I,u2)=>(K(),e2("div",{key:I.key||I.name,class:"epidemic-three-pie-row"},[C("i",{style:R1({borderColor:w[u2%w.length]})},null,4),C("span",null,S2(I.name),1),C("strong",null,S2(k0(I.value)),1),C("em",null,S2(I.unit),1)]))),128))])])):(K(),e2("div",A32,"暂无疫苗类型数据"))]),_:1},8,["height"])],64)):B.value==="trade"?(K(),e2(B3,{key:3},[e1(K1,{class:"yak-side-card left-card",title:"交易异常关注",width:de,height:s.value},{default:j1(()=>[C("div",x32,[C("div",E32,[C("span",null,S2(F1.value)+"年流通监管线索",1),C("strong",null,S2(nt.value),1)]),C("div",P32,[(K(!0),e2(B3,null,q3(Ce.value,I=>(K(),e2("div",{key:I.key,class:t1(["trade-risk-row",`is-${I.level}`]),style:R1({"--risk-color":I.color})},[E[34]||(E[34]=C("i",null,null,-1)),C("span",null,[C("em",null,[C("b",null,S2(I.badge),1),he(S2(I.name),1)]),C("small",null,S2(I.value)+"|"+S2(I.desc),1)])],6))),128))])])]),_:1},8,["height"]),e1(K1,{class:"yak-side-card left-card",title:"交易流通趋势",width:de,height:s.value},{default:j1(()=>[e1(O0(Oe),{class:"yak-chart",option:K8.value,autoresize:!0},null,8,["option"])]),_:1},8,["height"]),e1(K1,{class:"yak-side-card left-card",title:"来源乡镇分布",width:de,height:s.value},{default:j1(()=>[e1(O0(Oe),{class:"yak-chart",option:ke.value,autoresize:!0},null,8,["option"])]),_:1},8,["height"]),e1(K1,{class:"yak-side-card left-card",title:"用途结构统计",width:de,height:s.value},{default:j1(()=>[e1(O0(Oe),{class:"yak-chart",option:me.value,autoresize:!0},null,8,["option"])]),_:1},8,["height"])],64)):G3("",!0)])]),C("div",M32,[C("div",k32,[B.value==="structure"?(K(),e2(B3,{key:0},[e1(K1,{class:"yak-side-card right-card",title:"乡镇存栏排行",width:de,height:s.value},{default:j1(()=>[e1(O0(Oe),{class:"yak-chart",option:H3.value,autoresize:!0},null,8,["option"])]),_:1},8,["height"]),e1(K1,{class:"yak-side-card right-card",title:"能繁母牛与犊牛分布",width:de,height:s.value},{default:j1(()=>[e1(O0(Oe),{class:"yak-chart",option:m0.value,autoresize:!0},null,8,["option"])]),_:1},8,["height"]),e1(K1,{class:"yak-side-card right-card",title:"出栏/交易影响",width:de,height:s.value},{default:j1(()=>[e1(O0(Oe),{class:"yak-chart",option:Y0.value,autoresize:!0},null,8,["option"])]),_:1},8,["height"]),e1(K1,{class:"yak-side-card right-card",title:"性别与生产阶段汇总",width:de,height:s.value},{default:j1(()=>[C("div",R32,[C("div",I32,[(K(!0),e2(B3,null,q3(Le.value,I=>(K(),e2("div",{key:I.key||I.name,class:"structure-summary-row",style:R1({"--structure-color":I.color,"--structure-width":`${Z5(I)}%`})},[C("span",null,[E[35]||(E[35]=C("i",null,null,-1)),he(S2(I.name),1)]),E[37]||(E[37]=C("b",null,[C("em")],-1)),C("strong",null,[he(S2(k0(I.count)),1),E[36]||(E[36]=C("em",null,"头",-1))]),C("small",null,S2(Zt(I.percent)),1)],4))),128))]),N2.value?(K(),e2("div",N32,"结构数据加载中")):V2.value?(K(),e2("div",L32,S2(V2.value),1)):G3("",!0)])]),_:1},8,["height"])],64)):B.value==="forecast"?(K(),e2(B3,{key:1},[e1(K1,{class:"yak-side-card right-card",title:"乡镇预测排行",width:de,height:s.value},{default:j1(()=>[e1(O0(Oe),{class:"yak-chart",option:D0.value,autoresize:!0},null,8,["option"])]),_:1},8,["height"]),e1(K1,{class:"yak-side-card right-card",title:"期末结构预测",width:de,height:s.value},{default:j1(()=>[e1(O0(Oe),{class:"yak-chart",option:ln.value,autoresize:!0},null,8,["option"])]),_:1},8,["height"]),e1(K1,{class:"yak-side-card right-card",title:"补充/流出对比",width:de,height:s.value},{default:j1(()=>[e1(O0(Oe),{class:"yak-chart",option:Ht.value,autoresize:!0},null,8,["option"])]),_:1},8,["height"]),e1(K1,{class:"yak-side-card right-card",title:"预测变化热力",width:de,height:s.value},{default:j1(()=>[C("div",F32,[(K(!0),e2(B3,null,q3(c0.value,I=>(K(),e2("div",{key:I.name,class:t1(["heat-row",{"is-negative":I.change<0}]),style:R1(oe(I)),title:R6(I)},[C("span",null,S2(I.name),1),E[38]||(E[38]=C("b",null,[C("i")],-1)),C("strong",null,S2(hi(I.change)),1)],14,D32))),128))])]),_:1},8,["height"])],64)):B.value==="epidemic"?(K(),te(K1,{key:2,class:"yak-side-card right-card epidemic-ledger-card",title:"防疫记录台账",width:de,height:o.value},{default:j1(()=>[C("div",O32,[C("div",B32,[C("span",null,S2(o3.value)+"年 共 "+S2(Q1(m3.value))+" 条",1),C("div",null,[We(C("input",{"onUpdate:modelValue":E[0]||(E[0]=I=>N3.value=I),type:"search",placeholder:"耳标/养殖户/疫苗",onKeyup:y8(oi,["enter"])},null,544),[[m9,N3.value]]),C("button",{type:"button",onClick:oi},"搜索"),C("button",{type:"button",class:"is-more",onClick:E[1]||(E[1]=I=>q4())},"查看更多")])]),E[39]||(E[39]=C("div",{class:"epidemic-record-header"},[C("span",null,"电子耳标"),C("span",null,"养殖户"),C("span",null,"镇/乡"),C("span",null,"疫苗"),C("span",null,"时间")],-1)),C("div",G32,[(K(!0),e2(B3,null,q3(B2.value,I=>(K(),e2("button",{key:I.epidemicId||I.earTag,type:"button",onClick:u2=>q4(I)},[C("span",null,S2(N0(I.earTag)),1),C("span",null,S2(N0(I.owner)),1),C("span",null,S2(N0(I.town)),1),C("strong",null,S2(N0(I.medicine)),1),C("span",null,S2(N6(I.operateTime)),1)],8,j32))),128)),C3.value.length?G3("",!0):(K(),e2("div",z32,S2(u3.value?"防疫台账读取中":_3.value||"暂无防疫记录"),1))]),C("div",U32,[C("span",null,"第 "+S2(M3.value)+" / "+S2(h2.value)+" 页",1),C("button",{type:"button",disabled:M3.value<=1,onClick:E[2]||(E[2]=I=>Xt(M3.value-1))},"上一页",8,$32),C("button",{type:"button",disabled:M3.value>=h2.value,onClick:E[3]||(E[3]=I=>Xt(M3.value+1))},"下一页",8,W32)])])]),_:1},8,["height"])):B.value==="trade"?(K(),e2(B3,{key:3},[e1(K1,{class:"yak-side-card right-card",title:"出证结构统计",width:de,height:s.value},{default:j1(()=>[C("div",V32,[C("div",H32,[C("span",null,[E[41]||(E[41]=C("em",null,"省外流通 A证",-1)),C("strong",null,[he(S2(Q1(bt("outProvinceHeads","aCertHeads"))),1),E[40]||(E[40]=C("b",null,"头",-1))]),C("small",null,S2(Q1(bt("outProvinceCount","aCertCount")))+"条记录",1)]),C("span",null,[E[43]||(E[43]=C("em",null,"省内流通 B证",-1)),C("strong",null,[he(S2(Q1(bt("inProvinceHeads","bCertHeads"))),1),E[42]||(E[42]=C("b",null,"头",-1))]),C("small",null,S2(Q1(bt("inProvinceCount","bCertCount")))+"条记录",1)])]),e1(O0(Oe),{class:"trade-cert-chart",option:Yt.value,autoresize:!0},null,8,["option"])])]),_:1},8,["height"]),e1(K1,{class:"yak-side-card right-card trade-source-card",title:"出栏来源排行",width:de,height:l.value},{default:j1(()=>[C("div",Y32,[(K(!0),e2(B3,null,q3(v3.value,(I,u2)=>(K(),e2("div",{key:I.name,class:"trade-dest-row",style:R1({"--trade-ratio":`${I.ratio}%`})},[C("span",null,S2(u2+1),1),C("strong",null,S2(I.name),1),C("em",null,S2(k0(I.headCount))+"头",1)],4))),128)),v3.value.length?G3("",!0):(K(),e2("div",K32,S2(S1.value?"交易数据读取中":H2.value||"暂无出栏来源数据"),1))])]),_:1},8,["height"]),e1(K1,{class:"yak-side-card right-card trade-ledger-card",title:"交易出证台账",width:de,height:c.value},{default:j1(()=>[C("div",q32,[C("div",X32,[C("span",null,"共 "+S2(Q1(I1.value))+" 条",1),C("div",null,[We(C("input",{"onUpdate:modelValue":E[4]||(E[4]=I=>a2.value=I),type:"search",placeholder:"货主/车辆/检疫号/地区",onKeyup:y8(_a,["enter"])},null,544),[[m9,a2.value]]),C("button",{type:"button",onClick:_a},"搜索"),C("button",{type:"button",class:"is-more",onClick:E[5]||(E[5]=I=>uu())},"查看更多")])]),E[44]||(E[44]=C("div",{class:"trade-ledger-header"},[C("span",null,"货主"),C("span",null,"车牌"),C("span",null,"数量"),C("span",null,"来源"),C("span",null,"用途"),C("span",null,"时间")],-1)),C("div",Z32,[(K(!0),e2(B3,null,q3(_1.value,I=>(K(),e2("button",{key:I.certId,type:"button",onClick:u2=>si(I)},[C("span",null,S2(N0(I.ownerName)),1),C("span",null,S2(N0(I.transportNumber)),1),C("strong",null,S2(Q1(I.amount))+"头",1),C("span",null,S2(N0(I.startTown)),1),C("span",null,S2(N0(I.usageTypeName)),1),C("span",null,S2(N6(I.issueTime)),1)],8,J32))),128)),_1.value.length?G3("",!0):(K(),e2("div",Q32,S2(S1.value?"交易台账读取中":H2.value||"暂无交易记录"),1))]),C("div",e12,[C("span",null,"第 "+S2(c2.value)+" / "+S2(E1.value)+" 页",1),C("button",{type:"button",disabled:c2.value<=1,onClick:E[6]||(E[6]=I=>ba(c2.value-1))},"上一页",8,t12),C("button",{type:"button",disabled:c2.value>=E1.value,onClick:E[7]||(E[7]=I=>ba(c2.value+1))},"下一页",8,n12)])])]),_:1},8,["height"])],64)):G3("",!0)])]),C("div",i12,[e1(Al,{"model-value":B.value,topics:D,"onUpdate:modelValue":E[8]||(E[8]=I=>B.value=I)},null,8,["model-value"])])]),L3.value?(K(),e2("div",{key:2,class:"epidemic-ledger-modal",onClick:lt(X4,["self"])},[C("div",r12,[C("div",a12,[C("div",null,[E[45]||(E[45]=C("span",null,"牦牛防疫台账",-1)),C("strong",null,S2(o3.value)+"年 "+S2(Q1(K3.value))+" 条记录",1)]),C("button",{type:"button",onClick:X4},"关闭")]),C("div",s12,[We(C("input",{"onUpdate:modelValue":E[9]||(E[9]=I=>y1.value.keyword=I),type:"search",placeholder:"耳标 / 养殖户 / 药品","aria-label":"耳标 / 养殖户 / 药品",onKeyup:y8(Z4,["enter"])},null,544),[[m9,y1.value.keyword]]),We(C("select",{"onUpdate:modelValue":E[10]||(E[10]=I=>y1.value.town=I)},[E[46]||(E[46]=C("option",{value:""},"全部镇/乡",-1)),(K(!0),e2(B3,null,q3(V3.value,I=>(K(),e2("option",{key:I,value:I},S2(I),9,o12))),128))],512),[[w7,y1.value.town]]),We(C("select",{"onUpdate:modelValue":E[11]||(E[11]=I=>y1.value.medicine=I)},[E[47]||(E[47]=C("option",{value:""},"全部疫苗",-1)),(K(!0),e2(B3,null,q3(z3.value,I=>(K(),e2("option",{key:I,value:I},S2(I),9,l12))),128))],512),[[w7,y1.value.medicine]]),We(C("input",{"onUpdate:modelValue":E[12]||(E[12]=I=>y1.value.startDate=I),type:"date"},null,512),[[m9,y1.value.startDate]]),We(C("input",{"onUpdate:modelValue":E[13]||(E[13]=I=>y1.value.endDate=I),type:"date"},null,512),[[m9,y1.value.endDate]]),C("button",{type:"button",onClick:Z4},"检索"),C("button",{type:"button",class:"is-ghost",onClick:Ca},"重置")]),C("div",u12,[C("div",c12,[E[48]||(E[48]=C("div",{class:"epidemic-ledger-table-head"},[C("span",null,"电子耳标"),C("span",null,"养殖户"),C("span",null,"镇/乡"),C("span",null,"村"),C("span",null,"疫苗"),C("span",null,"免疫时间"),C("span",null,"图片")],-1)),(K(!0),e2(B3,null,q3(F3.value,I=>{var u2,k2;return K(),e2("button",{key:I.epidemicId||I.earTag,type:"button",class:t1({active:(((u2=J3.value)==null?void 0:u2.epidemicId)||((k2=J3.value)==null?void 0:k2.earTag))===(I.epidemicId||I.earTag)}),onClick:X2=>Gt(I)},[C("span",null,S2(N0(I.earTag)),1),C("span",null,S2(N0(I.owner)),1),C("span",null,S2(N0(I.town)),1),C("span",null,S2(N0(I.village)),1),C("strong",null,S2(N0(I.medicine)),1),C("span",null,S2(N6(I.operateTime)),1),C("span",null,S2(ri(I).length?`${ri(I).length}张`:"无"),1)],10,d12)}),128)),F3.value.length?G3("",!0):(K(),e2("div",h12,S2(a3.value?"台账读取中":k3.value||"暂无匹配记录"),1))]),C("div",f12,[C("div",m12,[C("div",null,[C("span",null,S2(N0(g3.value.earTag)),1),C("em",null,S2(N0(g3.value.medicine||g3.value.preventionType)),1)]),C("strong",null,S2(l1.value?"加载中":N6(g3.value.operateTime)),1)]),C("div",g12,[(K(!0),e2(B3,null,q3(W3.value,I=>(K(),e2("span",{key:I.label,class:t1({"is-wide":I.wide})},[C("em",null,S2(I.label),1),C("strong",null,S2(I.value),1)],2))),128))]),P3.value.length?(K(),e2("div",p12,[E[49]||(E[49]=C("div",{class:"epidemic-detail-photo-title"},"现场照片",-1)),C("div",y12,[(K(!0),e2(B3,null,q3(P3.value.slice(0,6),I=>(K(),e2("button",{key:I,type:"button",class:"epidemic-modal-photo-thumb",onClick:lt(u2=>au(I),["stop"])},[C("img",{src:$4(I),alt:"防疫照片"},null,8,_12)],8,v12))),128))])])):G3("",!0)])]),C("div",b12,[C("span",null,"第 "+S2(w2.value)+" / "+S2(U2.value)+" 页",1),C("button",{type:"button",disabled:w2.value<=1,onClick:E[14]||(E[14]=I=>J4(w2.value-1))},"上一页",8,S12),C("button",{type:"button",disabled:w2.value>=U2.value,onClick:E[15]||(E[15]=I=>J4(w2.value+1))},"下一页",8,w12)])])])):G3("",!0),A2.value?(K(),e2("div",{key:3,class:"epidemic-ledger-modal trade-ledger-modal",onClick:lt(Sa,["self"])},[C("div",C12,[C("div",T12,[C("div",null,[E[50]||(E[50]=C("span",null,"牦牛交易出证台账",-1)),C("strong",null,S2(F1.value)+"年 "+S2(Q1(M2.value))+" 条记录",1)]),C("button",{type:"button",onClick:Sa},"关闭")]),C("div",A12,[We(C("input",{"onUpdate:modelValue":E[16]||(E[16]=I=>D2.value.keyword=I),type:"search",placeholder:"货主 / 车辆 / 检疫号 / 地区",onKeyup:y8(wa,["enter"])},null,544),[[m9,D2.value.keyword]]),We(C("select",{"onUpdate:modelValue":E[17]||(E[17]=I=>D2.value.startTown=I)},[E[51]||(E[51]=C("option",{value:""},"全部来源乡镇",-1)),(K(!0),e2(B3,null,q3(_t.value,I=>(K(),e2("option",{key:I,value:I},S2(I),9,x12))),128))],512),[[w7,D2.value.startTown]]),We(C("select",{"onUpdate:modelValue":E[18]||(E[18]=I=>D2.value.usageType=I)},[E[52]||(E[52]=C("option",{value:""},"全部用途",-1)),(K(!0),e2(B3,null,q3(Fe.value,I=>(K(),e2("option",{key:I,value:I},S2(I),9,E12))),128))],512),[[w7,D2.value.usageType]]),We(C("select",{"onUpdate:modelValue":E[19]||(E[19]=I=>D2.value.certType=I)},[E[53]||(E[53]=C("option",{value:""},"全部证书",-1)),(K(!0),e2(B3,null,q3(tt.value,I=>(K(),e2("option",{key:I.value,value:I.value},S2(I.label),9,P12))),128))],512),[[w7,D2.value.certType]]),C("button",{type:"button",onClick:wa},"检索"),C("button",{type:"button",class:"is-ghost",onClick:cu},"重置")]),C("div",M12,[C("div",k12,[E[54]||(E[54]=C("div",{class:"trade-ledger-modal-table-head"},[C("span",null,"货主"),C("span",null,"证书"),C("span",null,"车牌号"),C("span",null,"数量"),C("span",null,"来源"),C("span",null,"用途"),C("span",null,"出证时间"),C("span",null,"状态")],-1)),(K(!0),e2(B3,null,q3(n2.value,I=>(K(),e2("button",{key:I.certId||I.factoryCode,type:"button",class:t1({active:Bt.value===(I.certId||I.factoryCode)}),onClick:u2=>rt(I)},[C("span",null,S2(N0(I.ownerName)),1),C("span",null,S2(N0(I.certType||I.certScopeName)),1),C("span",null,S2(N0(I.transportNumber)),1),C("strong",null,S2(Q1(I.amount))+"头",1),C("span",null,S2(N0(I.startTown)),1),C("span",null,S2(N0(I.usageTypeName)),1),C("span",null,S2(N6(I.issueTime)),1),C("span",null,S2(N0(I.statusName)),1)],10,R12))),128)),n2.value.length?G3("",!0):(K(),e2("div",I12,S2(A3.value?"交易台账读取中":J2.value||"暂无匹配记录"),1))]),C("div",N12,[C("div",L12,[C("div",null,[C("span",null,S2(N0(M1.value.factoryCode||M1.value.certId)),1),C("em",null,S2(ya(M1.value)),1)]),C("strong",null,S2(N6(M1.value.issueTime)),1)]),C("div",F12,[C("span",D12,[E[55]||(E[55]=C("em",null,"货主",-1)),C("strong",null,S2(N0(M1.value.ownerName)),1)]),C("span",null,[E[56]||(E[56]=C("em",null,"联系方式",-1)),C("strong",null,S2(pa(M1.value.ownerPhone)),1)]),C("span",null,[E[57]||(E[57]=C("em",null,"证书类型",-1)),C("strong",null,S2(ya(M1.value)),1)]),C("span",null,[E[58]||(E[58]=C("em",null,"车牌号",-1)),C("strong",null,S2(N0(M1.value.transportNumber)),1)]),C("span",null,[E[59]||(E[59]=C("em",null,"牦牛数量",-1)),C("strong",null,S2(Q1(M1.value.amount))+"头",1)]),C("span",null,[E[60]||(E[60]=C("em",null,"用途",-1)),C("strong",null,S2(N0(M1.value.usageTypeName)),1)]),C("span",null,[E[61]||(E[61]=C("em",null,"来源乡镇",-1)),C("strong",null,S2(N0(M1.value.startTown)),1)]),C("span",null,[E[62]||(E[62]=C("em",null,"目的省份",-1)),C("strong",null,S2(N0(M1.value.destProvince)),1)]),C("span",null,[E[63]||(E[63]=C("em",null,"检疫员",-1)),C("strong",null,S2(N0(M1.value.quarantineOfficerName)),1)]),C("span",O12,[E[64]||(E[64]=C("em",null,"状态",-1)),C("strong",null,S2(N0(M1.value.statusName)),1)]),C("span",B12,[E[65]||(E[65]=C("em",null,"来源地区",-1)),C("strong",null,S2(N0(M1.value.startRegionFullName)),1)]),C("span",G12,[E[66]||(E[66]=C("em",null,"目的地",-1)),C("strong",null,S2(N0(M1.value.destRegionFullName)),1)])]),C("button",{type:"button",class:"trade-detail-locate",disabled:!M1.value.startTown,onClick:E[20]||(E[20]=I=>si(M1.value))}," 查看乡镇位置 ",8,j12)])]),C("div",z12,[C("span",null,"第 "+S2(t3.value)+" / "+S2(L1.value)+" 页",1),C("button",{type:"button",disabled:t3.value<=1,onClick:E[21]||(E[21]=I=>Y4(t3.value-1))},"上一页",8,U12),C("button",{type:"button",disabled:t3.value>=L1.value,onClick:E[22]||(E[22]=I=>Y4(t3.value+1))},"下一页",8,$12)])])])):G3("",!0),c1.value?(K(),e2("div",{key:4,class:"epidemic-image-preview-modal",onClick:lt(W4,["self"])},[C("div",W12,[C("div",V12,[C("div",null,[E[67]||(E[67]=C("span",null,"防疫照片",-1)),C("strong",null,S2(N0(g3.value.earTag)),1)]),C("button",{type:"button",onClick:W4},"关闭")]),C("div",H12,[C("div",Y12,[C("img",{src:B1.value,alt:"防疫照片预览"},null,8,K12)])])])])):G3("",!0)]))}},EC="/jsyApi";function PC(n,e){return/^https?:\/\//.test(e)?e:`${n}${e.startsWith("/")?e:`/${e}`}`}function MC(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 r0(n)}function Kl(n,e,t={}){return M6(PC(EC,n),{params:e,timeout:t.timeout||12e3}).then(MC)}function P4(n,e,t={}){return M6(PC(EC,n),{method:"POST",params:e,timeout:t.timeout||12e3}).then(MC)}function r02(){return P4("/api/dataItem?group=pastures").then(f5)}function a02(){return P4("/api/muhu/distribution").then(f5)}function s02(){return P4("/api/muhu/age").then(f5)}function o02(){return P4("/api/muhu/upline_rate").then(f5)}function f5(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?f5(n.data):n!=null&&n.result?f5(n.result):[]}function l02(n="",e=1,t=80){return Kl("/api/home/muhu_list",{query:n,page:e,pageSize:t}).then(f5)}function R_(n){return P4("/api/home/grasslandByPastureId",{id:n}).then(f5)}function u02(n={}){return Kl("/api/home/grasslandClickInfo",n,{timeout:2e4}).then(e=>(e==null?void 0:e.data)||e||null)}function c02(n=[]){const e=Array.from(new Set((Array.isArray(n)?n:[n]).map(t=>String(t||"").trim()).filter(Boolean)));return e.length?P4("/api/home/yakMarksByGrasslandIds",{ids:e.join(",")},{timeout:2e4}).then(f5):Promise.resolve([])}function d02(n){return Kl("/api/pasturesDetails",{id:n}).then(e=>(e==null?void 0:e.data)||e||{})}function h02(){return Kl("/api/pasturesList").then(f5)}function f02(){return I3(this,null,function*(){const[n,e,t,i,r,a]=yield Promise.allSettled([r02(),a02(),s02(),o02(),h02(),l02("",1,20)]),s=r.status==="fulfilled"?r.value:[],o=a.status==="fulfilled"?a.value:[],l=L_(o)?o:L_(s)?s:o.length?o:s,c=m02(l,s,o);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:c}})}function m02(n=[],...e){const t=new Map;return e.flat().forEach(i=>{N_(i).forEach(r=>{const a=t.get(r)||{};t.set(r,I_(a,i))})}),(Array.isArray(n)?n:[]).map(i=>{const r=N_(i).map(a=>t.get(a)).find(Boolean);return r?I_(i,r):i})}function I_(n={},e={}){const t=W2({},n);return Object.entries(e||{}).forEach(([i,r])=>{(t[i]===void 0||t[i]===null||t[i]==="")&&(t[i]=r)}),t}function N_(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 L_(n=[]){return(Array.isArray(n)?n:[]).some(e=>{var r,a,s,o,l,c;const t=(l=(o=(s=(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?s:e==null?void 0:e.area)!=null?o: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((c=String(t!=null?t:"").replace(/,/g,"").match(/-?\d+(?:\.\d+)?/))==null?void 0:c[0]);return Number.isFinite(i)&&i>0})}const g02=(n,e=2)=>{const t=v6(10,e);return Math.round((Number(n)||0)*t)/t},Th=n=>g02((Number(n)||0)/1e4,2),p8=9110,p02=(n,e,t="number")=>{const i=n.reduce((s,o)=>s+(Number(o[t])||0),0);if(!i||!e)return n.map(s=>s3(W2({},s),{[t]:0}));const r=n.map(s=>s3(W2({},s),{[t]:Math.round((Number(s[t])||0)/i*e)})),a=e-r.reduce((s,o)=>s+(Number(o[t])||0),0);if(a&&r.length){const s=r.reduce((o,l,c)=>{var d;return Number(l[t])>Number(((d=r[o])==null?void 0:d[t])||0)?c:o},0);r[s][t]+=a}return r},y02=p02([{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}],p8),kC=[{key:"pasture-total",name:"牧户数量",value:p8,unit:"户",icon:"town"},{key:"avg-yak-per-household",name:"户均牦牛头数",value:52,unit:"头",icon:"stack"},{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"}],RC=kC,Ah=kC.map(n=>s3(W2({},n),{zh:n.name,decimals:0})),ir=y02.map(n=>s3(W2({},n),{key:n.areaCode,name:n.areaName,value:n.number,unit:"户"})),IC=[{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:"513233203",areaName:"查尔玛乡",uplineRate:18,year:2024},{areaCode:"513233204",areaName:"瓦切镇",uplineRate:16,year:2024},{areaCode:"513233101",areaName:"刷经寺镇",uplineRate:9,year:2024}].map(n=>s3(W2({},n),{key:n.areaCode,name:n.areaName,value:n.uplineRate,unit:"%",extra:`${n.uplineRate}%`})),_m=[{areaName:"全县",ageRange:"0-20",sex:"男",number:311,value:311,year:2024},{areaName:"全县",ageRange:"0-20",sex:"女",number:319,value:319,year:2024},{areaName:"全县",ageRange:"21-40",sex:"男",number:1556,value:1556,year:2024},{areaName:"全县",ageRange:"21-40",sex:"女",number:1868,value:1868,year:2024},{areaName:"全县",ageRange:"41-60",sex:"男",number:1868,value:1868,year:2024},{areaName:"全县",ageRange:"41-60",sex:"女",number:1925,value:1925,year:2024},{areaName:"全县",ageRange:"61-80",sex:"男",number:622,value:622,year:2024},{areaName:"全县",ageRange:"61-80",sex:"女",number:531,value:531,year:2024},{areaName:"全县",ageRange:"81-100",sex:"男",number:55,value:55,year:2024},{areaName:"全县",ageRange:"81-100",sex:"女",number:55,value:55,year:2024}],NC=(n,e,t,i)=>Array.from(n.reduce((r,a)=>{const s=a[e]||"未标注",o=r.get(s)||{key:s,name:s,value:0,unit:i};return o.value+=Number(a[t])||0,r.set(s,o),r},new Map).values()),v02=NC(_m,"ageRange","value","人"),LC=NC(_m,"sex","value","人"),rr=[{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=>s3(W2({},n),{township:n.areaName,grasslandArea:n.acreage,value:n.acreage,unit:"亩",canLocate:!1,locateText:"--",searchText:`${n.name} ${n.areaName}`})),_02=G8.map(n=>({key:n.zoneName,name:n.zoneName,value:Th(n.grasslandArea),unit:"万亩",extra:"草场资源"}));Array.from(rr.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=>s3(W2({},n),{values:{summer:Th(n.values.summer),winter:Th(n.values.winter)},unit:"万亩"}));const b02=ir.map(n=>({name:n.name,value:n.value,unit:"户"})),wd={topStats:Ah,coreRows:RC,townRows:ir,ageRows:_m,genderRows:LC,onlineRows:IC,list:rr};const S02={class:"pasture-management"},w02={key:0,class:"pasture-map-loading"},C02={class:"pasture-management-ui"},T02={class:"pasture-left"},A02={class:"pasture-side-stack is-left"},x02={class:"pasture-video-monitor"},E02=["disabled"],P02={key:0,class:"pasture-video-scan"},M02={key:1,class:"pasture-video-play"},k02={key:2,class:"pasture-video-loading"},R02={key:3,class:"pasture-video-error"},I02={class:"pasture-video-point-name"},N02=["disabled"],L02={class:"pasture-right"},F02={class:"pasture-side-stack is-right"},D02={class:"pasture-map-layer-tools"},u8=398,F_=12,O02=128,B02=8,G02=227,Cd="pasture-grassland-boundary",D_="pasture-yak-marks-layer",j02=12e3,z02="https://qkl-map.oss-cn-chengdu.aliyuncs.com/hy-result/{z}/{x}/{y}.png",U02='<?xml version="1.0" encoding="UTF-8"?><StyledLayerDescriptor version="1.0.0" xmlns="http://www.opengis.net/sld" xmlns:ogc="http://www.opengis.net/ogc" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><NamedLayer><Name>t_grassland_result_caodi</Name><UserStyle><Title>pasture boundary</Title><FeatureTypeStyle><Rule><PolygonSymbolizer><Fill><CssParameter name="fill">#FFE35A</CssParameter><CssParameter name="fill-opacity">0</CssParameter></Fill><Stroke><CssParameter name="stroke">#FFE35A</CssParameter><CssParameter name="stroke-width">2.4</CssParameter><CssParameter name="stroke-opacity">0.98</CssParameter></Stroke></PolygonSymbolizer></Rule></FeatureTypeStyle></UserStyle></NamedLayer></StyledLayerDescriptor>',$02={__name:"index",props:{active:{type:Boolean,default:!0}},emits:["module-stats","loading-progress","map-ready"],setup(n,{expose:e,emit:t}){const i=n,r=t,a=i3(typeof window=="undefined"?1080:window.innerHeight),s=b2(()=>{const F=Math.max(1080,Number(a.value)||1080),q=Math.floor((F-O02-B02-F_*3)/4);return Math.max(G02,q)}),o=b2(()=>s.value*2+F_),l=i3(null),c=i3(!1),d=i3(0);let f=0;const p=i3(null),y=i3(!1),w=i3(!1),M=i3(null),P=i3(null),D=i3(wd),B=i3(rr),V=i3([]),Y=i3(""),X=["牧户数量","户均牦牛头数","户均草地面积","联户数量"],P2=["#23f6c8","#35d8ff","#f0d96a","#76e36b","#ff9a5c","#a59cff","#20e5c4"],z2=`pasture-video-player-${Math.random().toString(36).slice(2)}`,G2=[103.07984,33.029058],N2={key:D_,sourceType:"wms",layerName:"ne:daping_yak_marks",styles:"yak_marks",cqlFilter:"gov_show = true",name:"牦牛识别标记",color:"#FFFF00",fillColor:"#FFFF00",strokeColor:"#FFFF00",opacity:.96,zIndex:46,legends:[{key:"pasture-yak-marks",name:"牦牛识别",fillColor:"#FFFF00",strokeColor:"#FFFF00",selectable:!1}]},V2={key:"pasture-empty-video",title:"暂无在线可播放摄像头",town:"红原县",scene:"牧场监控",device:"",channel:"",cameraCount:0,status:"待接入",onlineRate:0,updateTime:"",operator:"等待在线摄像头",progress:0,image:Io,playUrl:"",hdPlayUrl:"",token:""},Y2=i3(null),o3=i3([]),r3=i3(0),y3=i3(!1),K2=i3(!1),C3=i3("");let m3=!1,M3=0,N3=null,q2=null,u3=!1,_3=0,L3=null,F3=0;const K3={"4028abc18eecd2af018eecdc44b7086b":"瓦切镇","402881828b486d54018b48741f590270":"查尔玛乡","402881828b486d54018b48740ed7024a":"麦洼乡","402881828b486d54018b48732e1c0044":"安曲镇","4028abc18eec9b97018eeca1538900db":"瓦切镇","402881828b486d54018b48740fb1024c":"安曲镇"},w2={尼尕尔让:"瓦切镇",更迫尕:"查尔玛乡",王西卓玛:"麦洼乡",扎花克周:"安曲镇",恰波:"瓦切镇",热布丹:"安曲镇",求甲:"阿木乡",罗尔旦:"阿木乡",扎尔江:"阿木乡",达尔基:"阿木乡",尼科:"瓦切镇",班洛:"阿木乡",拉木共:"阿木乡",尕尔玛:"瓦切镇",尕尔丹:"安曲镇",泽旺甲:"瓦切镇",阿尕:"安曲镇",陈理:"瓦切镇",贡秋卓玛:"阿木乡",更多:"瓦切镇",阿泽:"瓦切镇",达勒错:"色地镇",泽朗罗日:"安曲镇",仁青:"瓦切镇",贡多:"阿木乡",泽周:"刷经寺镇",泽科:"瓦切镇",扎巴:"阿木乡",泽真:"瓦切镇",索拉姐:"瓦切镇",尕让罗周:"瓦切镇",尕让拉姆:"瓦切镇",更让尼玛:"阿木乡",向秋卓玛:"瓦切镇",东科:"阿木乡",扑瓦甲:"阿木乡"},a3=f0(xN),k3=b2(()=>[{key:Cd,sourceType:"wms",renderMode:"image",layerName:"ne:t_grassland_result_caodi",name:"草场边界",styles:"",sldBody:U02,color:"#FFE35A",fillColor:"rgba(255, 227, 90, 0.04)",strokeColor:"#FFE35A",glowColor:"rgba(255, 227, 90, 0.34)",zIndex:35,opacity:.96,queryBuffer:8,mapView:{targetLngLat:[102.804028,33.250881],distanceScale:.66,targetLocalZ:.78,duration:.85},legends:[{key:"pasture-grassland-boundary",name:"草场边界",fillColor:"#FFE35A",strokeColor:"#FFE35A",selectable:!1}]},N2]),J3=b2(()=>Array.isArray(V.value)?V.value.map(String).filter(Boolean):V.value?[String(V.value)]:[]),Q3=b2(()=>{const F=new Set(J3.value);return k3.value.filter(q=>F.has(q.key))}),l1=b2(()=>Q3.value[0]||null),c1=b2(()=>Q3.value.flatMap(F=>F.legends||[]).find(F=>F.key===Y.value)||null),B1=b2(()=>Q3.value.flatMap(F=>F.legends||[]));function y1(F){var o2;return F?!(F.legends||[]).some($2=>{var z;return $2.key===((z=c1.value)==null?void 0:z.key)})||!((o2=c1.value)!=null&&o2.cqlFilter)?F:s3(W2({},F),{cqlFilter:c1.value.cqlFilter,activeLegend:c1.value,name:c1.value.name||F.name}):null}function b1(F){if(!F)return null;const q=P.value;if(!q)return F;if(F.key===Cd){const o2=S(q);return s3(W2({},F),{cqlFilter:m2(F.cqlFilter,o2||"EXCLUDE"),name:`${F.name||"草场边界"}(定位)`,zIndex:Math.max(Number(F.zIndex)||0,96)})}return F.key===D_?s3(W2({},F),{cqlFilter:"EXCLUDE",name:`${F.name||"牦牛识别标记"}(定位)`}):F}const O=b2(()=>Q3.value.map(y1).map(b1).filter(Boolean)),A1=b2(()=>O.value[0]||null),I1=b2(()=>!!M.value),F1=b2(()=>{if(w.value||y.value||!p.value)return 186;const F=D3(p.value);return Math.min(500,Math.max(320,86+Math.min(F,13)*34))}),S1=b2(()=>{if(!M.value)return{};const F=460,q=F1.value,o2=24,$2=Z2(M.value),z=$2.x>1420?-F-28:28,f2=Math.min(Math.max($2.x+z,o2),1920-F-o2),v2=Math.min(Math.max($2.y-q-72,188),1080-q-132);return{left:`${f2}px`,top:`${v2}px`,right:"auto",bottom:"auto"}}),H2=b2(()=>y2(D.value.core).length?y2(D.value.core):RC),c2=b2(()=>w1(r2(D.value.distribution).length?r2(D.value.distribution):ir,p8)),a2=b2(()=>{const F=A(D.value.online);return j(F.length?F:IC)}),i2=b2(()=>w1(x2(D.value.age).length?x2(D.value.age):v02,p8)),A2=b2(()=>w1(R2(D.value.age).length?R2(D.value.age):LC,p8)),n2=b2(()=>H(_02));b2(()=>({title:"牧户分布排行",metricLabel:"牧户",unit:"户",hideMapLabels:!1,hideTownNames:!1,showBars:!1,showPointMarkers:!1,showMissingTownStats:!1,rows:(c2.value.length?c2.value:b02).map(F=>{const q=Number(F.value);return!F.name||!Number.isFinite(q)||q<=0?null:{name:F.name,value:q,unit:F.unit||"户"}}).filter(Boolean)})),b2(()=>({key:"pasture-town",type:"bar",variant:"distribution",rows:c2.value})),b2(()=>({key:"pasture-grassland-area",type:"heat",rows:n2.value}));const M2=b2(()=>({key:"pasture-household-column",type:"column",scrollable:!1,rows:n1(c2.value).slice(0,10).map((F,q)=>s3(W2({},F),{unit:F.unit||"户",color:P2[q%P2.length]}))})),t3=b2(()=>({key:"pasture-grassland-column",type:"bar",variant:"raceBar",rows:n2.value.map((F,q)=>s3(W2({},F),{unit:F.unit||"万亩",color:P2[(q+1)%P2.length]}))})),A3=b2(()=>({key:"pasture-online",type:"line",rows:a2.value})),J2=b2(()=>({key:"pasture-age",type:"column",variant:"age",rows:i2.value})),T2=b2(()=>({key:"pasture-gender",type:"donut",rows:A2.value})),D2=b2(()=>({key:"pasture-herdsman-list",type:"projectTable",searchPlaceholder:"搜索牧户 / 乡镇",emptyText:"无匹配牧户",maxRows:300,searchKeys:["name","herdsmanName","herdsman_name","phone","phonenumber","idCard","id_card","township","id","grasslandArea","searchText"],columns:[{key:"name",label:"牧户名称",field:"name",width:"42%"},{key:"township",label:"区域",field:"township",width:"36%"},{key:"locate",label:"定位",field:"locateText",width:"22%",align:"center",fallback:"定位",icon:"locate"}],rows:B.value})),E3=b2(()=>{const F=o3.value.length;return F?r3.value%F:0}),b3=b2(()=>o3.value[E3.value]||V2);function n1(F=[]){return(Array.isArray(F)?F:[]).map((q,o2)=>{var $2,z,f2;return s3(W2({},q),{key:q.key||q.code||q.name||`${o2}`,name:q.name||q.areaName||q.area_name||q.townName||"未标注",value:Number((f2=(z=($2=q.value)!=null?$2:q.number)!=null?z:q.count)!=null?f2:q.num)||0,unit:q.unit||""})}).filter(q=>q.name&&Number.isFinite(q.value)&&q.value>=0)}function w1(F=[],q=p8){const o2=Array.isArray(F)?F:[],$2=o2.reduce((v2,I2)=>v2+(Number(I2.value)||0),0);if(!o2.length||!$2||!q||$2===q)return o2;const z=o2.map(v2=>s3(W2({},v2),{value:Math.round((Number(v2.value)||0)/$2*q)})),f2=q-z.reduce((v2,I2)=>v2+(Number(I2.value)||0),0);if(f2&&z.length){const v2=z.reduce((I2,l2,Q2)=>{var F2;return Number(l2.value)>Number(((F2=z[I2])==null?void 0:F2.value)||0)?Q2:I2},0);z[v2].value+=f2}return z}function O1(){a.value=typeof window=="undefined"?1080:window.innerHeight}$n(()=>{O1(),window.addEventListener("resize",O1),W(),s0(),Ne(),z0()}),Un(()=>{m3=!0,window.removeEventListener("resize",O1),a0(),N3&&window.clearTimeout(N3),M3+=1}),I0(()=>i.active,F=>{var q,o2;F||a0({resetError:!0}),l.value&&(F?(C1(),u0(),(o2=(q=l.value).refreshView)==null||o2.call(q)):(N3&&window.clearTimeout(N3),N3=null,M3+=1))});function z0(){return I3(this,null,function*(){try{const F=yield Db();if(m3)return;o3.value=F,r3.value=0,C3.value=F.length?"":"暂无在线可播放摄像头"}catch(F){if(m3)return;o3.value=[],C3.value="监控接口暂不可用",window.setTimeout(()=>{!m3&&C3.value==="监控接口暂不可用"&&(C3.value="")},2400)}})}function ie(F){Y2.value=F||null}function d3(F){const q=(F==null?void 0:F.image)||Io;return y3.value?void 0:{backgroundImage:`linear-gradient(180deg, rgba(0, 16, 26, 0.08), rgba(0, 16, 26, 0.32)), url(${q})`}}function Y3(){g1(-1)}function r1(){g1(1)}function g1(F){const q=o3.value.length;q&&(a0({resetError:!0}),r3.value=(E3.value+F+q)%q)}function J1(){return I3(this,null,function*(){var $2,z;const F=b3.value;if(!(F!=null&&F.hdPlayUrl)||!(F!=null&&F.token)){C3.value="暂无在线可播放摄像头";return}if(y3.value||K2.value)return;q2&&a0({resetError:!0}),C3.value="",K2.value=!0,yield _e();const q=++_3;let o2=null;f1(q);try{const f2=(z=($2=Y2.value)==null?void 0:$2.getBoundingClientRect)==null?void 0:z.call($2),v2=Math.max(300,Math.floor((f2==null?void 0:f2.width)||340)),I2=Math.max(80,Math.floor((f2==null?void 0:f2.height)||120));if(o2=new hb.EZUIKitPlayer({id:z2,accessToken:F.token,url:F.hdPlayUrl,audio:0,width:v2,height:I2,themeData:A0(),handleError(l2){q===_3&&(Pe(),console.warn("Pasture EZUIKit player error",l2),C3.value="视频加载失败",K2.value=!1,y3.value=!1,_3+=1,q2=null,u3=!1,re())},handleSuccess(){q===_3&&(Pe(),C3.value="",u3=!0,K2.value=!1)},fullScreenChangeCallBack(){}}),q!==_3){vt(o2),re();return}q2=o2,y3.value=!0}catch(f2){Pe(),console.warn("Pasture EZUIKit init error",f2),C3.value="视频加载失败",a0()}})}function a0(F={}){const{clearElement:q=!0,resetError:o2=!1}=F;Pe();const $2=q2;q2=null,u3=!1,_3+=1,$2&&vt($2),q&&re(),y3.value=!1,K2.value=!1,o2&&(C3.value="")}function f1(F){Pe(),L3=window.setTimeout(()=>{F!==_3||!K2.value||(C3.value="视频加载超时",a0({resetError:!1}))},j02)}function Pe(){L3&&(window.clearTimeout(L3),L3=null)}function vt(F){if(!(!F||typeof F.stop!="function"))try{const q=F.stop();q&&typeof q.catch=="function"&&q.catch(()=>{})}catch(q){console.warn("Pasture EZUIKit stop error",q)}}function re(){if(typeof document=="undefined")return;const F=document.getElementById(z2);F&&F.replaceChildren()}function A0(){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 Ne(){return I3(this,null,function*(){try{const F=yield f02();if(m3)return;D.value=W2(W2({},wd),F),W();const q=G(F.list);B.value=q.length?q:b(rr),B0(B.value)}catch(F){D.value=wd,B.value=b(rr)}})}function B0(F=B.value,q=600){m3||!i.active||(N3&&window.clearTimeout(N3),N3=window.setTimeout(()=>{N3=null,!(m3||!i.active)&&et(F)},q))}function et(){return I3(this,arguments,function*(F=[]){const q=++M3,o2=(Array.isArray(F)?F:[]).filter($0).slice(0,60);if(!o2.length)return;const $2=yield G0(o2,5,f2=>I3(this,null,function*(){const v2=o1(f2),I2=V3(f2);let l2=I2,Q2=null,F2=c3(f2,I2)||s2(f2,f2.name,v2);try{v2&&(!F2||!l2.length)&&(l2=V0(yield R_(v2)))}catch(O3){l2=I2}if(F2=F2||c3(f2,l2)||s2(f2,f2.name,v2),!F2){try{Q2=v2?yield d02(v2):null}catch(T3){Q2=null}const O3=V3(Q2);F2=fe(Q2)||c3(Q2,O3),O3.length&&!l2.length&&(l2=O3)}F2=F2||s2(f2,f2.name,v2);const l3=!!(v2||l2.some(z3)||z3(f2));if(!F2&&!l2.length&&l3===f2.canLocate)return null;const p3={key:f2.key,id:f2.id,realPastureId:v2,name:f2.name,township:F2||f2.township,grasslands:l2.length?l2:f2.grasslands,canLocate:l3,locateText:l3?"定位":"--"};return we(p3,q),p3}));if(m3||q!==M3)return;const z=new Map;$2.filter(Boolean).forEach(f2=>{[f2.key,f2.id,f2.realPastureId,f2.name].filter(Boolean).forEach(v2=>{z.set(String(v2),f2)})}),z.size&&W0(z)})}function $0(F={}){const q=String((F==null?void 0:F.township)||"").trim();return q&&q!=="--"?!1:g3(F)>0||T1(F)}function we(F,q=M3){if(!F||m3||q!==M3)return;const o2=new Map;[F.key,F.id,F.realPastureId,F.name].filter(Boolean).forEach($2=>{o2.set(String($2),F)}),W0(o2)}function W0(F){F!=null&&F.size&&(B.value=B.value.map(q=>{const o2=[q.key,q.id,q.realPastureId,q.name].filter(Boolean).map(z=>F.get(String(z))).find(Boolean);if(!o2)return q;const $2=o2.township&&o2.township!=="--"?o2.township:q.township;return s3(W2({},q),{township:$2,grasslands:o2.grasslands,canLocate:o2.canLocate,locateText:o2.locateText,searchText:[q.name,$2,q.id].filter(Boolean).join(" ")})}))}function V0(F=[]){const q=[];return(Array.isArray(F)?F:[]).forEach(o2=>{const $2=V3(o2);$2.length?q.push(...$2):o2&&typeof o2=="object"&&q.push(o2)}),q}function fe(F){const q=Array.isArray(F)?F:Array.isArray(F==null?void 0:F.rows)?F.rows:Array.isArray(F==null?void 0:F.list)?F.list:Array.isArray(F==null?void 0:F.data)?F.data:[F];for(const o2 of q.filter(Boolean)){const $2=Array.isArray(o2==null?void 0:o2.fields)?o2.fields:Array.isArray(o2==null?void 0:o2.children)?o2.children:[],z=E2(o2,["township","townName","town_name","areaName","area_name","fullName","full_name","address","牧场所在区域"]);if(z)return S3(v0(z));for(const v2 of $2){const I2=String((v2==null?void 0:v2.name)||(v2==null?void 0:v2.label)||(v2==null?void 0:v2.title)||"").trim(),l2=E2(v2,["value","text","content"]);if(l2&&/区域|地址|乡镇/.test(I2))return S3(v0(l2))}const f2=Object.entries(o2||{}).filter(([v2])=>/fullName|full_name|address|areaName|area_name|town/i.test(v2)).map(([,v2])=>v2);for(const v2 of f2)if(v2)return S3(v0(v2))}return""}function v0(F){const q=String(F||"").trim();if(!q||q==="--")return"";const o2=q.match(/([\u4e00-\u9fa5]{1,12}(?:镇|乡))/);return(o2==null?void 0:o2[1])||q}function G0(F,q,o2){return I3(this,null,function*(){const $2=new Array(F.length);let z=0;const f2=Array.from({length:Math.min(q,F.length)},()=>I3(this,null,function*(){for(;z<F.length;){const v2=z;z+=1,$2[v2]=yield o2(F[v2],v2)}}));return yield Promise.all(f2),$2})}function Le(F){return I3(this,null,function*(){var F2,l3,p3,O3,T3,H3,m0,Y0;const q=++f;if(C1(),(l3=(F2=l.value)==null?void 0:F2.clearFloatingOverlays)==null||l3.call(F2),!T1(F)){H0(),(O3=(p3=l.value)==null?void 0:p3.focusPasture)==null||O3.call(p3,{name:F==null?void 0:F.name});return}const o2=o1(F);let $2=[];if(o2)try{$2=yield R_(o2)}catch(D1){$2=[]}if(q!==f)return;const z=V3(F),f2=$2.filter(z3),v2=f2.length?f2:z;if(!v2.length){H0(),(H3=(T3=l.value)==null?void 0:T3.focusPasture)==null||H3.call(T3,{name:F==null?void 0:F.name});return}const I2=v(v2.map(g));let l2=[];if(I2.length)try{l2=yield c02(I2)}catch(D1){l2=[],console.warn("[pasture] load selected grassland yak marks failed",D1)}if(q!==f||(P.value=m(F,v2),yield _e(),q!==f))return;((Y0=(m0=l.value)==null?void 0:m0.focusPasture)==null?void 0:Y0.call(m0,{name:F==null?void 0:F.name,grasslands:v2,yakMarks:l2}))||H0()})}function s0(){c.value=!1,r("loading-progress",{progress:0})}function on(){c.value=!0,r("loading-progress",{progress:100}),r("map-ready")}function Q(F=A1.value){const q=String((F==null?void 0:F.key)||"").toLowerCase(),o2=String((F==null?void 0:F.layerName)||"").toLowerCase();return q===Cd||o2.includes("t_grassland_result_caodi")}function Z2(F={}){const q=document.querySelector(".pasture-management"),o2=q==null?void 0:q.getBoundingClientRect();return o2?{x:(Number(F.x)||o2.left+o2.width/2)-o2.left,y:(Number(F.y)||o2.top+o2.height/2)-o2.top}:{x:Number(F.x)||960,y:Number(F.y)||540}}function D3(F){const q=(F==null?void 0:F.properties)||{};return Math.min(10,Object.entries(q).filter(([,o2])=>o2!=null&&o2!=="").length)}function s1(F={},q={}){return{id:F.id,properties:F,feature:{type:"Feature",properties:F,geometry:null},layer:A1.value||l1.value,lngLat:q.lngLat}}function v1(){p.value=null,M.value=null,y.value=!1,w.value=!1}function C1(){F3+=1,v1()}function u0(){P.value=null}function H0(){var F,q;f+=1,u0(),(q=(F=l.value)==null?void 0:F.clearPastureFocus)==null||q.call(F)}function U(){return!!P.value}function N(F={}){var $2;const q=P.value;if(!(($2=q==null?void 0:q.grasslandIds)!=null&&$2.length))return!1;const o2=g(F);return!!(o2&&!q.grasslandIds.includes(o2))}function m(F={},q=[]){const o2=V0(q),$2=v([o1(F),E2(F,["realPastureId","pastureId","pasturesId","pastures_id","muhuId"]),...o2.map(f2=>E2(f2,["pastureId","pasturesId","pastures_id","muhuId"]))]),z=v(o2.map(g)).filter(f2=>!$2.includes(f2));return{pastureIds:$2,grasslandIds:z}}function g(F={}){const q=E2(F,["grasslandId","grassland_id","gid","id"]),o2=String(q||"").trim();return o2&&!o2.includes(".")?o2:""}function v(F=[]){return Array.from(new Set(F.map(q=>String(q!=null?q:"").trim()).filter(q=>q&&q!=="--"&&q!=="null"&&q!=="undefined")))}function S(F={}){var q;return(q=F.grasslandIds)!=null&&q.length?x("id",F.grasslandIds):""}function x(F,q=[]){const o2=v(q);if(!F||!o2.length)return"";const $2=o2.map(z=>`'${k(z)}'`);return o2.length===1?`${F} = ${$2[0]}`:`${F} IN (${$2.join(",")})`}function k(F){return String(F!=null?F:"").replace(/'/g,"''")}function m2(...F){const q=[];for(const o2 of F){const $2=String(o2||"").trim();if(!(!$2||$2.toUpperCase()==="INCLUDE")){if($2.toUpperCase()==="EXCLUDE")return"EXCLUDE";q.push($2)}}return q.length?q.length===1?q[0]:q.map(o2=>`(${o2})`).join(" AND "):""}function t2(){return I3(this,arguments,function*(F={}){var f2,v2;if(!Q(F.overlayLayer||A1.value))return;const q=Number((f2=F==null?void 0:F.lngLat)==null?void 0:f2.lng),o2=Number((v2=F==null?void 0:F.lngLat)==null?void 0:v2.lat);if(!Number.isFinite(q)||!Number.isFinite(o2))return;const $2=U(),z=++F3;M.value=F.screen||{x:960,y:540},p.value=null,y.value=!1,w.value=!0;try{const I2=yield u02({lng:q,lat:o2});if(z!==F3)return;if(!(I2!=null&&I2.id)){$2&&H0(),v1();return}$2&&N(I2)&&H0(),p.value=s1(I2,F),y.value=!1}catch(I2){if(z!==F3)return;v1()}finally{z===F3&&(w.value=!1)}})}function d2(){var F,q;C1(),u0(),(q=(F=l.value)==null?void 0:F.refreshView)==null||q.call(F)}function Z(){var F,q,o2,$2;if(C1(),u0(),(q=(F=l.value)==null?void 0:F.hasMap)!=null&&q.call(F)){c.value=!0,($2=(o2=l.value)==null?void 0:o2.resetView)==null||$2.call(o2);return}c.value=!1,d.value+=1,_e(()=>{window.setTimeout(()=>{var z,f2;(f2=(z=l.value)==null?void 0:z.refreshView)==null||f2.call(z)},160)})}e({refreshMapView:d2,resetMap:Z});function W(){r("module-stats",{moduleKey:"pasture-management",items:L2().map(F=>({zh:F.name,name:F.name,value:F.value,unit:F.unit,decimals:Number.isInteger(Number(F.value))?0:2}))})}function L2(){const F=new Map;(Array.isArray(H2.value)?H2.value:[]).forEach(o2=>{!(o2!=null&&o2.name)||O2(o2.name)||F.set(o2.name,o2)});const q=F.get("牧户数量")||Ah.find(o2=>o2.name==="牧户数量"||o2.zh==="牧户数量");return F.set("牧户数量",s3(W2({},q),{name:"牧户数量",value:p8,unit:(q==null?void 0:q.unit)||"户"})),X.map(o2=>F.get(o2)||Ah.find($2=>$2.name===o2||$2.zh===o2)).filter(Boolean).slice(0,4)}function y2(F=[]){return(Array.isArray(F)?F:[]).map((q,o2)=>{const $2=q.key||q.id||q.code||q.name||q.zh||`${o2}`,z=q.name||q.title||q.label||q.zh,f2=p2(z,$2),v2=E2(q,["value","num","count","dataValue"]);if(!f2||v2===void 0||v2===null||v2==="")return null;const I2=g2(f2,v2,q.unit||q.dw||"");return{key:$2,name:I2.name,value:I2.value,unit:I2.unit,icon:q.icon||["town","area","yield","rate"][o2%4]}}).filter(Boolean)}function p2(F,q){const o2=String(F||q||""),$2=String(q||"").toLowerCase();return/avg.*yak|yak.*avg|yak.*household|yak.*per|hjyak/.test($2)||/户均.*牦牛|牦牛.*户均/.test(o2)?"户均牦牛头数":/avg.*grass|grass.*avg|grass.*household|grass.*per/.test($2)||/户均.*草地|草地.*户均/.test(o2)?"户均草地面积":/income|revenue|人均收入/.test($2)||o2.includes("人均收入")?"人均收入":/poverty|monitor|防反贫|监测户/.test($2)||o2.includes("防反贫")||o2.includes("监测户")?"防反贫监测户":/joint|union|link|联户/.test($2)||o2.includes("联户")?"联户数量":/herdsman|muhu|pasture.*count|牧户数量/.test($2)||o2.includes("牧户数量")?"牧户数量":/yak/.test($2)||o2.includes("牦牛")?null:/grass/.test($2)||o2.includes("草地面积")?"草地面积":/wet/.test($2)||o2.includes("湿地")?"湿地面积":o2.includes("牧户")||o2.includes("牧场")?"牧户数量":/project/.test($2)||o2.includes("工程")||o2.includes("项目")?"工程数量":/base/.test($2)||o2.includes("基地")?"基地数量":o2}function g2(F,q,o2){const $2=Number(q)||0;return F==="户均牦牛头数"?{name:F,value:$2,unit:o2||"头"}:F==="户均草地面积"?{name:F,value:$2,unit:o2||"亩"}:F==="人均收入"?{name:F,value:$2,unit:o2||"元/年"}:F==="联户数量"||F==="防反贫监测户"?{name:F,value:$2,unit:o2||"户"}:(F.includes("草地")||F.includes("湿地"))&&!String(o2).includes("万")?{name:F,value:Math.round($2/1e4*100)/100,unit:"万亩"}:F.includes("牧户")?{name:F,value:$2,unit:o2||"户"}:F.includes("工程")||F.includes("项目")||F.includes("基地")?{name:F,value:$2,unit:o2||"个"}:{name:F,value:$2,unit:o2}}function O2(F){return F==="草地面积"||F==="湿地面积"||F==="区域数量"||F==="牦牛数量"}function r2(F=[]){return(Array.isArray(F)?F:[]).map(q=>{const o2=E2(q,["areaName","area_name","name","townName","zoneName"]),$2=E2(q,["number","value","count","num","pastureCount","muhuCount","muhu_count"]);return!o2||$2===void 0||$2===null||$2===""?null:{key:q.code||q.areaCode||q.area_code||o2,name:o2,value:Number($2)||0,unit:"户"}}).filter(Boolean).sort((q,o2)=>o2.value-q.value)}function A(F=[]){return(Array.isArray(F)?F:[]).map(q=>{const o2=E2(q,["areaName","area_name","name","townName","zoneName"]),$2=Number(E2(q,["registeredMuhuCount","registered_muhu_count","registeredCount"])),z=Number(E2(q,["muhuCount","muhu_count","onlineCount"])),f2=E2(q,["onlinePercent","uplineRate","upline_rate","onlineRate","value","percent","rate"]),v2=f2!=null&&f2!==""?f2:$2>0?z/$2*100:void 0;return!o2||v2===void 0||v2===null||v2===""?null:{key:q.code||q.areaCode||q.area_code||o2,name:o2,value:Number(String(v2).replace("%",""))||0,unit:"%",extra:Number.isFinite(z)&&Number.isFinite($2)&&$2>0?`${z}/${$2}户`:q.extra}}).filter(Boolean)}function j(F=[]){const q=new Map;return(Array.isArray(F)?F:[]).forEach(o2=>{const $2=String((o2==null?void 0:o2.key)||(o2==null?void 0:o2.code)||(o2==null?void 0:o2.areaCode)||(o2==null?void 0:o2.area_code)||"").trim(),z=S3((o2==null?void 0:o2.name)||(o2==null?void 0:o2.areaName)||(o2==null?void 0:o2.area_name)||(o2==null?void 0:o2.townName)||(o2==null?void 0:o2.zoneName));[$2,z].filter(Boolean).forEach(f2=>q.set(f2,o2))}),ir.map(o2=>{const $2=q.get(String(o2.key||""))||q.get(o2.name);return $2?s3(W2({},$2),{key:o2.key,name:o2.name,unit:$2.unit||"%"}):{key:o2.key,name:o2.name,value:0,unit:"%",extra:"--"}})}function H(F=[]){const q=new Map;return(Array.isArray(F)?F:[]).forEach(o2=>{const $2=String((o2==null?void 0:o2.key)||(o2==null?void 0:o2.code)||(o2==null?void 0:o2.areaCode)||(o2==null?void 0:o2.area_code)||"").trim(),z=S3((o2==null?void 0:o2.name)||(o2==null?void 0:o2.areaName)||(o2==null?void 0:o2.area_name)||(o2==null?void 0:o2.townName)||(o2==null?void 0:o2.zoneName)||(o2==null?void 0:o2.township));[$2,z].filter(Boolean).forEach(f2=>q.set(f2,o2))}),ir.map(o2=>{const $2=q.get(String(o2.key||""))||q.get(o2.name);return{key:o2.key,name:o2.name,value:Number($2==null?void 0:$2.value)||0,unit:($2==null?void 0:$2.unit)||"万亩"}}).sort((o2,$2)=>$2.value-o2.value)}function x2(F=[]){const q=new Map;return(Array.isArray(F)?F:[]).forEach(o2=>{const $2=E2(o2,["ageRange","age_range","age","name","label"]),z=E2(o2,["number","value","count","num"]);!$2||z===void 0||z===null||z===""||q.set($2,(q.get($2)||0)+(Number(z)||0))}),Array.from(q.entries()).map(([o2,$2])=>({key:o2,name:o2,value:$2,unit:"人"}))}function R2(F=[]){const q=new Map;return(Array.isArray(F)?F:[]).forEach(o2=>{const $2=E2(o2,["sex","gender","name"]),z=E2(o2,["number","value","count","num"]);if(!$2||z===void 0||z===null||z==="")return;const f2=String($2).includes("女")?"女":String($2).includes("男")?"男":$2;q.set(f2,(q.get(f2)||0)+(Number(z)||0))}),Array.from(q.entries()).map(([o2,$2])=>({key:o2,name:o2,value:$2,unit:"人"}))}function G(F=[]){return(Array.isArray(F)?F:[]).map((q,o2)=>{const $2=E2(q,["name","pasturesName","pastures_name","muhuName","muhu_name","pastureName","pasture_name","herdsmanName"]);if(!$2)return null;const z=V3(q),f2=g3(q)||P3(z),v2=U2(q,z),I2=o1(q),l2=c3(q,z)||s2(q,$2,I2),Q2=R(q),F2=s3(W2({},q),{key:q.key||q.id||q.pasturesId||q.pastures_id||`${$2}-${o2}`,id:I2||q.id||q.pastureId||q.pasturesId||q.pastures_id||q.muhuId||q.key,realPastureId:I2,name:$2,pastureSortOrder:Q2,township:l2||"--",grasslandArea:f2,acreage:f2,grasslandCount:v2,hasGrasslandBoundary:v2>0,grasslands:z});return F2.canLocate=!!(I2||z.some(z3)||z3(q)),F2.locateText=F2.canLocate?"定位":"--",F2.value=F2.grasslandArea,F2.unit="亩",F2.searchText=[F2.name,F2.herdsmanName,F2.herdsman_name,F2.phone,F2.phonenumber,F2.idCard,F2.id_card,F2.township,F2.id].filter(Boolean).join(" "),F2}).filter(Boolean).sort(h2)}function b(F=[]){return[...Array.isArray(F)?F:[]].map(q=>s3(W2({},q),{pastureSortOrder:R(q),grasslandArea:g3(q),acreage:g3(q)})).sort(h2)}function R(F={}){const q=E2(F,["pastureSortOrder","pasture_sort_order","pastureOrder","pasture_order","muhuSortOrder","muhu_sort_order","sortOrder","sort_order"]);if(q==null||q==="")return null;const o2=Number(String(q).replace(/,/g,"").trim());return Number.isFinite(o2)?o2:null}function h2(F,q){const o2=R(F),$2=R(q);if(o2!==null||$2!==null)return o2===null?1:$2===null?-1:o2!==$2?o2-$2:String((F==null?void 0:F.name)||"").localeCompare(String((q==null?void 0:q.name)||""),"zh-CN");const z=B2(F)?1:0,f2=B2(q)?1:0;if(z!==f2)return f2-z;const v2=U2(F),I2=U2(q);if(v2!==I2)return I2-v2;const l2=g3(F),Q2=g3(q),F2=l2>0?1:0,l3=Q2>0?1:0;if(F2!==l3)return l3-F2;const p3=T1(F)?1:0,O3=T1(q)?1:0;return p3!==O3?O3-p3:l2!==Q2?Q2-l2:String((F==null?void 0:F.name)||"").localeCompare(String((q==null?void 0:q.name)||""),"zh-CN")}function B2(F={}){const q=E2(F,["hasGrasslandBoundary","has_grassland_boundary","hasBoundary","has_boundary"]);return q===!0||q===1||q==="1"||typeof q=="string"&&["true","yes","y"].includes(q.trim().toLowerCase())?!0:U2(F)>0}function U2(F={},q=F==null?void 0:F.grasslands){const o2=["grasslandCount","grassland_count","grasslandsCount","grasslands_count","grasslandBoundaryCount","grassland_boundary_count","boundaryCount","boundary_count"];for(const $2 of o2){const z=Number(F==null?void 0:F[$2]);if(Number.isFinite(z)&&z>0)return z}return Array.isArray(q)?q.length:0}function g3(F={}){const o2=["acreage","grasslandArea","grassland_area","area","areaRange","area_range","cdAcreage","cd_acreage","totalAcreage","total_acreage","grasslandAcreage","grassland_acreage","pastureArea","pasture_area"].map(z=>W3(F==null?void 0:F[z]));return o2.find(z=>z>0)||o2.find(z=>z===0)||0}function P3(F=[]){return(Array.isArray(F)?F:[]).reduce((q,o2)=>q+g3(o2),0)}function W3(F){if(typeof F=="number")return Number.isFinite(F)?F:0;const q=String(F!=null?F:"").trim();if(!q||q==="--")return 0;const o2=q.replace(/,/g,"").match(/-?\d+(?:\.\d+)?/);if(!o2)return 0;const $2=Number(o2[0]);return Number.isFinite($2)?q.includes("万")?$2*1e4:$2:0}function V3(F={}){const q=[];["grasslands","grasslandList","grasslandRows","landList","plots","features"].forEach(z=>{const f2=F==null?void 0:F[z];Array.isArray(f2)?q.push(...f2):Array.isArray(f2==null?void 0:f2.rows)?q.push(...f2.rows):Array.isArray(f2==null?void 0:f2.list)?q.push(...f2.list):Array.isArray(f2==null?void 0:f2.data)&&q.push(...f2.data)});const $2=E2(F,["wkt","geo","geom","geometryWkt","geometry_wkt","shape","location"]);return($2||F!=null&&F.geometry)&&q.push(s3(W2({},F),{id:(F==null?void 0:F.grasslandId)||(F==null?void 0:F.gid)||(F==null?void 0:F.id),pastureId:(F==null?void 0:F.pastureId)||(F==null?void 0:F.pasturesId)||(F==null?void 0:F.pastures_id)||(F==null?void 0:F.muhuId)||(F==null?void 0:F.id),name:(F==null?void 0:F.grasslandName)||(F==null?void 0:F.name),wkt:$2,geometry:F==null?void 0:F.geometry})),q.filter(Boolean)}function z3(F={}){var q,o2;return typeof F=="string"?!!F.trim():(F==null?void 0:F.type)==="Feature"||F!=null&&F.type&&(F!=null&&F.coordinates)||(q=F==null?void 0:F.geometry)!=null&&q.type||(o2=F==null?void 0:F.geometry)!=null&&o2.coordinates||typeof(F==null?void 0:F.geometry)=="string"?!0:!!E2(F,["wkt","geo","geom","geometryWkt","geometry_wkt","shape","location"])}function o1(F={}){const q=(F==null?void 0:F.realPastureId)||(F==null?void 0:F.pastureId)||(F==null?void 0:F.pasturesId)||(F==null?void 0:F.pastures_id)||(F==null?void 0:F.muhuId)||(F==null?void 0:F.id);return q==null||q===""?null:q}function T1(F={}){return F!=null&&F.canLocate||o1(F)||z3(F)?!0:V3(F).some(z3)}function E2(F={},q=[]){for(const o2 of q){const $2=F==null?void 0:F[o2];if($2!=null&&$2!=="")return $2}}function c3(F={},q=[]){const o2=E2(F,["township","townName","town_name","areaName","area_name","zoneName","zone_name","fullName","full_name","address","牧场所在区域"]),$2=S3(o2);if($2)return $2;const z=_1(E2(F,["areaCode","area_code","townCode","town_code","code"]));if(z)return z;for(const v2 of q){const I2=E2(v2,["township","townName","town_name","areaName","area_name","zoneName","zone_name","fullName","full_name","address","牧场所在区域"]),l2=S3(I2);if(l2)return l2;const Q2=_1(E2(v2,["areaCode","area_code","townCode","town_code","code"]));if(Q2)return Q2}const f2=E1(F);if(f2)return f2;for(const v2 of q){const I2=E1(v2);if(I2)return I2}return""}function S3(F){const q=String(F||"").trim();if(!q||q==="--")return"";const o2=_1(q);if(o2)return o2;if(EN(q))return q;const $2=i6.find(f2=>q.includes(f2));if($2)return $2;const z=v0(q);return z&&z!==q?S3(z):""}function s2(F={},q="",o2=""){const $2=[o2,F.realPastureId,F.pastureId,F.pasturesId,F.pastures_id,F.muhuId,F.id];for(const f2 of $2){const v2=K3[String(f2||"").trim()];if(v2)return S3(v2)}const z=[q,F.name,F.pasturesName,F.pastures_name,F.muhuName,F.muhu_name,F.pastureName,F.pasture_name];for(const f2 of z){const v2=w2[v3(f2)];if(v2)return S3(v2)}return""}function v3(F){return String(F||"").replace(/[·•・..。`´’‘ʼʹ''"“”\s\-—_()()]/g,"").replace(/˙/g,"")}function _1(F){const q=String(F||"").trim();if(!q)return"";const o2=q.replace(/\D/g,"");return o2?_l(o2):""}function E1(F={}){const q=L1(F),o2=Ce(q);if(!o2)return"";const $2=a3.find(z=>o0(o2,z.geometry));return $2!=null&&$2.name?S3($2.name):""}function L1(F={}){var $2,z;if((F==null?void 0:F.type)==="Feature")return L1(F.geometry);if(F!=null&&F.type&&(F!=null&&F.coordinates))return F;if(($2=F==null?void 0:F.geometry)!=null&&$2.type||(z=F==null?void 0:F.geometry)!=null&&z.coordinates)return F.geometry;const q=E2(F,["geometry","location","wkt","geo","geom","geometryWkt","geometry_wkt","shape"]);if(!q||typeof q!="string")return null;const o2=q.trim();if(!o2)return null;if(o2.startsWith("{")||o2.startsWith("["))try{const f2=JSON.parse(o2);return L1(f2)}catch(f2){return null}return M1(o2)}function M1(F){var f2;const q=String(F||"").trim(),o2=q.match(/^([A-Z]+)(?:\s+[A-Z]+)?\s*\(/i),$2=(f2=o2==null?void 0:o2[1])==null?void 0:f2.toUpperCase();if(!$2)return null;const z=q.slice(q.indexOf("("));return $2==="POINT"?{type:"Point",coordinates:Bt(z)}:$2==="MULTIPOINT"?{type:"MultiPoint",coordinates:tt(z).map(Bt).filter(Boolean)}:$2==="LINESTRING"?{type:"LineString",coordinates:_t(z)}:$2==="MULTILINESTRING"?{type:"MultiLineString",coordinates:tt(z).map(_t).filter(v2=>v2.length)}:$2==="POLYGON"?{type:"Polygon",coordinates:Fe(z)}:$2==="MULTIPOLYGON"?{type:"MultiPolygon",coordinates:tt(z).map(Fe).filter(v2=>v2.length)}:null}function Bt(F){const q=String(F||"").replace(/^\(+|\)+$/g,"").trim().split(/\s+/).slice(0,2).map(Number);return q.length>=2&&Number.isFinite(q[0])&&Number.isFinite(q[1])?[q[0],q[1]]:null}function _t(F){return String(F||"").replace(/^\(+|\)+$/g,"").split(",").map(Bt).filter(Boolean)}function Fe(F){return tt(F).map(_t).filter(q=>q.length>=3)}function tt(F){const q=[];let o2=0,$2=-1;return Array.from(String(F||"")).forEach((z,f2)=>{z==="("?(o2===0&&($2=f2+1),o2+=1):z===")"&&(o2-=1,o2===0&&$2>=0&&(q.push(F.slice($2,f2)),$2=-1))}),q.length?q:[String(F||"")]}function f0(F){try{const q=typeof F=="string"?JSON.parse(F):F;return((q==null?void 0:q.features)||[]).map(o2=>{var $2,z,f2,v2;return{name:(($2=o2==null?void 0:o2.properties)==null?void 0:$2.name)||((z=o2==null?void 0:o2.properties)==null?void 0:z.areaName)||((f2=o2==null?void 0:o2.properties)==null?void 0:f2.townName),code:(v2=o2==null?void 0:o2.properties)==null?void 0:v2.code,geometry:o2==null?void 0:o2.geometry}}).filter(o2=>{var $2;return o2.name&&(($2=o2.geometry)==null?void 0:$2.coordinates)})}catch(q){return[]}}function Ce(F){const q=nt(F);if(!q.length)return null;const o2=q.reduce(($2,z)=>({lng:$2.lng+z[0],lat:$2.lat+z[1]}),{lng:0,lat:0});return[o2.lng/q.length,o2.lat/q.length]}function nt(F){const q=[],o2=$2=>{if(Array.isArray($2)){if($2.length>=2&&Number.isFinite(Number($2[0]))&&Number.isFinite(Number($2[1]))){q.push([Number($2[0]),Number($2[1])]);return}$2.forEach(o2)}};return o2(F==null?void 0:F.coordinates),q}function o0(F,q){return!F||!(q!=null&&q.coordinates)?!1:q.type==="Polygon"?S0(F,q.coordinates):q.type==="MultiPolygon"?q.coordinates.some(o2=>S0(F,o2)):!1}function S0(F,q){var v2,I2,l2,Q2;const o2=q==null?void 0:q[0];if(!Array.isArray(o2)||o2.length<3)return!1;let $2=!1;const z=F[0],f2=F[1];for(let F2=0,l3=o2.length-1;F2<o2.length;l3=F2++){const p3=Number((v2=o2[F2])==null?void 0:v2[0]),O3=Number((I2=o2[F2])==null?void 0:I2[1]),T3=Number((l2=o2[l3])==null?void 0:l2[0]),H3=Number((Q2=o2[l3])==null?void 0:Q2[1]);O3>f2!=H3>f2&&z<(T3-p3)*(f2-O3)/(H3-O3||1e-12)+p3&&($2=!$2)}return $2}return(F,q)=>(K(),e2("div",S02,[(K(),te(xC,{key:d.value,ref_key:"mapSceneRef",ref:l,class:"pasture-ol-map-layer",active:i.active,"tile-url-template":z02,center:G2,"initial-zoom":9,"max-zoom":21,"overlay-layer":A1.value,"overlay-layers":O.value,onReady:on,onMapClick:t2},null,8,["active","overlay-layer","overlay-layers"])),q[2]||(q[2]=C("div",{class:"pasture-map-scrim"},null,-1)),c.value?G3("",!0):(K(),e2("div",w02,"影像地图加载中")),C("div",C02,[C("div",T02,[C("div",A02,[e1(K1,{class:"pasture-side-card left-card",title:"牧户区域统计",width:u8,height:s.value},{default:j1(()=>[e1(bn,{panel:M2.value,compact:""},null,8,["panel"])]),_:1},8,["height"]),e1(K1,{class:"pasture-side-card left-card",title:"草场面积分布",width:u8,height:s.value},{default:j1(()=>[e1(bn,{panel:t3.value,compact:""},null,8,["panel"])]),_:1},8,["height"]),e1(K1,{class:"pasture-side-card left-card pasture-video-card",title:"牧场实时监控",width:u8,height:s.value},{default:j1(()=>[C("div",x02,[C("button",{class:"pasture-video-nav pasture-video-prev",type:"button",disabled:o3.value.length<=1,"aria-label":"上一个监控点",onClick:Y3}," ‹ ",8,E02),(K(),e2("div",{key:b3.value.key,ref:ie,class:t1(["pasture-video-screen",{"is-playing":y3.value,"is-loading":K2.value}]),style:R1(d3(b3.value)),onClick:J1},[C("div",{id:z2,class:"pasture-video-player"}),y3.value?G3("",!0):(K(),e2("div",P02)),!y3.value&&b3.value.hdPlayUrl?(K(),e2("div",M02)):G3("",!0),K2.value?(K(),e2("div",k02,"加载中")):G3("",!0),C3.value?(K(),e2("div",R02,S2(C3.value),1)):G3("",!0),C("div",I02,S2(b3.value.title),1)],6)),C("button",{class:"pasture-video-nav pasture-video-next",type:"button",disabled:o3.value.length<=1,"aria-label":"下一个监控点",onClick:r1}," › ",8,N02)])]),_:1},8,["height"]),e1(K1,{class:"pasture-side-card left-card",title:"牧户上线率",width:u8,height:s.value},{default:j1(()=>[e1(bn,{panel:A3.value,compact:""},null,8,["panel"])]),_:1},8,["height"])])]),C("div",L02,[C("div",F02,[e1(K1,{class:"pasture-side-card right-card",title:"牧户年龄统计",width:u8,height:s.value},{default:j1(()=>[e1(bn,{panel:J2.value,compact:""},null,8,["panel"])]),_:1},8,["height"]),e1(K1,{class:"pasture-side-card right-card",title:"牧户性别统计",width:u8,height:s.value},{default:j1(()=>[e1(bn,{panel:T2.value,compact:""},null,8,["panel"])]),_:1},8,["height"]),e1(K1,{class:"pasture-side-card right-card pasture-list-card",title:"牧户列表",width:u8,height:o.value},{default:j1(()=>[e1(bn,{panel:D2.value,compact:"",onRowSelect:Le},null,8,["panel"])]),_:1},8,["height"])])]),C("div",D02,[e1(Xh,{modelValue:V.value,"onUpdate:modelValue":q[0]||(q[0]=o2=>V.value=o2),"selected-legend-key":Y.value,"onUpdate:selectedLegendKey":q[1]||(q[1]=o2=>Y.value=o2),"topic-key":"grassland",layers:k3.value,legends:B1.value,multiple:"",width:232,height:430},null,8,["modelValue","selected-legend-key","layers","legends"])]),I1.value?(K(),e2("div",{key:0,class:"pasture-map-feature-info",style:R1(S1.value)},[C("button",{class:"pasture-map-feature-close",type:"button","aria-label":"关闭图斑详情",title:"关闭",onClick:lt(C1,["stop"])}," × "),e1(wl,{feature:p.value,empty:y.value,loading:w.value,width:460,height:F1.value,"compact-grassland":""},null,8,["feature","empty","loading","height"])],4)):G3("",!0)])]))}},W02=`{
"datasetName": "红原牦牛产业全链分类数据草稿",
"generatedAt": "2026-07-01T19:47:37",
"privacy": {
"includedContactFields": [
"户主",
"负责人",
"联系人",
"联系电话",
"服务热线",
"信贷联系电话",
"24小时理赔热线"
],
"excludedPersonalFields": [
"身份证",
"备注"
],
"note": "此 JSON 面向大屏展示,已保留可展示的联系人/电话字段;身份证和备注仍未写入。图片文件仅登记为视觉参考,不作为业务数据。"
},
"fileInventory": [
{
"path": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx",
"type": "xlsx",
"role": "data-source"
},
{
"path": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx",
"type": "xlsx",
"role": "data-source"
},
{
"path": "cxpt.qkl.public.t_base_land",
"type": "database-table",
"role": "data-source"
},
{
"path": "/Users/mocker/.codex/attachments/58283330-2b4f-4edc-8be4-3b517515ec54/image-1.png",
"type": "png",
"role": "visual-reference"
},
{
"path": "/Users/mocker/.codex/attachments/58283330-2b4f-4edc-8be4-3b517515ec54/image-2.png",
"type": "png",
"role": "visual-reference"
},
{
"path": "/Users/mocker/.codex/attachments/58283330-2b4f-4edc-8be4-3b517515ec54/image-3.png",
"type": "png",
"role": "visual-reference"
},
{
"path": "/Users/mocker/.codex/attachments/58283330-2b4f-4edc-8be4-3b517515ec54/image-4.png",
"type": "png",
"role": "visual-reference"
},
{
"path": "/Users/mocker/.codex/attachments/58283330-2b4f-4edc-8be4-3b517515ec54/image-5.png",
"type": "png",
"role": "visual-reference"
},
{
"path": "/Users/mocker/.codex/attachments/58283330-2b4f-4edc-8be4-3b517515ec54/image-6.png",
"type": "png",
"role": "visual-reference"
},
{
"path": "/Users/mocker/.codex/attachments/58283330-2b4f-4edc-8be4-3b517515ec54/image-7.png",
"type": "png",
"role": "visual-reference"
},
{
"path": "/Users/mocker/.codex/attachments/58283330-2b4f-4edc-8be4-3b517515ec54/image-8.png",
"type": "png",
"role": "visual-reference"
},
{
"path": "/Users/mocker/.codex/attachments/58283330-2b4f-4edc-8be4-3b517515ec54/image-9.png",
"type": "png",
"role": "visual-reference"
},
{
"path": "/Users/mocker/.codex/attachments/58283330-2b4f-4edc-8be4-3b517515ec54/image-10.png",
"type": "png",
"role": "visual-reference"
},
{
"path": "/Users/mocker/.codex/attachments/58283330-2b4f-4edc-8be4-3b517515ec54/image-11.png",
"type": "png",
"role": "visual-reference"
},
{
"path": "/Users/mocker/.codex/attachments/58283330-2b4f-4edc-8be4-3b517515ec54/image-12.png",
"type": "png",
"role": "visual-reference"
},
{
"path": "/var/folders/dh/pf6z830j3w3drsd1k4ncl7br0000gn/T/codex-clipboard-9ee4fd26-fb6f-46c2-81ea-f9925d24acf8.png",
"type": "png",
"role": "visual-reference"
},
{
"path": "/var/folders/dh/pf6z830j3w3drsd1k4ncl7br0000gn/T/codex-clipboard-acf2f529-2ce8-4d8b-96eb-6899d2beb524.png",
"type": "png",
"role": "visual-reference"
},
{
"path": "/var/folders/dh/pf6z830j3w3drsd1k4ncl7br0000gn/T/codex-clipboard-eded9fbe-e18f-4b2a-88ad-b207e8589cd3.png",
"type": "png",
"role": "visual-reference"
},
{
"path": "/var/folders/dh/pf6z830j3w3drsd1k4ncl7br0000gn/T/codex-clipboard-ae00ea0b-6e25-4a45-b182-2ab3cdae2abd.png",
"type": "png",
"role": "visual-reference"
},
{
"path": "/var/folders/dh/pf6z830j3w3drsd1k4ncl7br0000gn/T/codex-clipboard-d7084d17-25fa-43e5-b216-a1d62b49f862.png",
"type": "png",
"role": "visual-reference"
},
{
"path": "/var/folders/dh/pf6z830j3w3drsd1k4ncl7br0000gn/T/codex-clipboard-f3e1ccc7-5d38-4103-96eb-be214e5b67c0.png",
"type": "png",
"role": "visual-reference"
},
{
"path": "/var/folders/dh/pf6z830j3w3drsd1k4ncl7br0000gn/T/codex-clipboard-5ffbf4b9-ab8f-49a4-8577-705da4e7c157.png",
"type": "png",
"role": "visual-reference"
},
{
"path": "/var/folders/dh/pf6z830j3w3drsd1k4ncl7br0000gn/T/codex-clipboard-1548ca35-7fe9-4786-9cb4-41366b1b5b10.png",
"type": "png",
"role": "visual-reference"
}
],
"summary": {
"categoryCount": 18,
"itemCount": 206,
"categoryCounts": {
"YC-FAMILY-PASTURE": 82,
"YC-BREEDING-BASE": 19,
"YC-BREEDING-STOCK": 4,
"YC-FORAGE-BASE": 8,
"YC-DISASTER-FORAGE-STORAGE": 7,
"YC-PROCESSING-PLANT": 9,
"YC-SLAUGHTERHOUSE": 7,
"YC-FARM-EQUIPMENT": 2,
"YC-DISEASE-CONTROL": 3,
"YC-TECH-TRAINING": 8,
"YC-SERVICE-FINANCE": 4,
"YC-SERVICE-INSURANCE": 4,
"YC-GRASSLAND-RESOURCE": 3,
"YC-CXPT-BREEDING-BASE": 28,
"YC-CXPT-FORAGE-BASE": 5,
"YC-CXPT-BREEDING-STOCK-BASE": 1,
"YC-CXPT-GRASS-SEED-BASE": 1,
"YC-CXPT-OTHER-BASE": 11
}
},
"sourceSheets": [
{
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx",
"sheetName": "防灾减灾饲草储备库",
"categoryCode": "YC-DISASTER-FORAGE-STORAGE",
"rawRowCount": 7,
"keptFields": [
"主体全称",
"上级单位",
"所属乡镇",
"详细地址",
"经度",
"纬度",
"运营状态",
"总库容 (吨)",
"储备草种",
"发放次数"
],
"excludedFields": []
},
{
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx",
"sheetName": "标准化养殖基地",
"categoryCode": "YC-BREEDING-BASE",
"rawRowCount": 19,
"keptFields": [
"主体全称",
"运营单位",
"经纬度",
"建设 / 升级年份",
"详细地址",
"运营状态",
"设计存栏量 (头)",
"年出栏量 (头)",
"监控设备情况"
],
"excludedFields": [
"备注",
"Unnamed:10"
]
},
{
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx",
"sheetName": "育种场",
"categoryCode": "YC-BREEDING-STOCK",
"rawRowCount": 4,
"keptFields": [
"主体全称",
"简称",
"运营单位",
"建设 / 升级年份",
"详细地址",
"经纬度",
"运营状态",
"育种等级",
"核心基础母牛群 (头)",
"种公牛数量 (头)",
"年提供良种犊牛 (头)",
"主要育种方向",
"基本介绍",
"监控设备情况"
],
"excludedFields": []
},
{
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx",
"sheetName": "种草饲草基地",
"categoryCode": "YC-FORAGE-BASE",
"rawRowCount": 16,
"keptFields": [
"基地全称",
"所属乡镇",
"运营状态",
"种植面积 (亩)",
"主要草种",
"年产量 (吨)",
"经纬度"
],
"excludedFields": [
"Unnamed:7",
"Unnamed:8",
"Unnamed:9"
]
},
{
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx",
"sheetName": "加工厂",
"categoryCode": "YC-PROCESSING-PLANT",
"rawRowCount": 9,
"keptFields": [
"企业全称",
"详细地址",
"经度",
"纬度",
"运营状态",
"SC 许可证号",
"设计日处理鲜奶能力 (吨)",
"年加工鲜奶总量 (吨)",
"主要产品",
"奶源来源",
"年产值 (万元)",
"带动本地农户数",
"原料奶冷藏能力 (吨)",
"产品销售范围",
"负责人",
"联系电话"
],
"excludedFields": [
"备注"
]
},
{
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx",
"sheetName": "屠宰厂",
"categoryCode": "YC-SLAUGHTERHOUSE",
"rawRowCount": 7,
"keptFields": [
"企业全称",
"定点屠宰证号",
"详细地址",
"经度",
"纬度",
"运营状态",
"设计日屠宰能力 (头)",
"年屠宰总量 (头)",
"冷冻库容量 (吨)",
"环保达标情况",
"年总产值 (万元)",
"负责人",
"联系电话"
],
"excludedFields": [
"备注",
"Unnamed:14",
"Unnamed:15",
"Unnamed:16",
"Unnamed:17",
"Unnamed:18",
"Unnamed:19",
"Unnamed:20",
"Unnamed:21",
"Unnamed:22",
"Unnamed:23",
"Unnamed:24",
"Unnamed:25",
"Unnamed:26",
"Unnamed:27",
"Unnamed:28",
"Unnamed:29",
"Unnamed:30",
"Unnamed:31",
"Unnamed:32",
"Unnamed:33",
"Unnamed:34",
"Unnamed:35"
]
},
{
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx",
"sheetName": "农机装备",
"categoryCode": "YC-FARM-EQUIPMENT",
"rawRowCount": 2,
"keptFields": [
"主体全称",
"简称",
"所属乡镇",
"经度",
"纬度",
"运营状态",
"组织形式",
"主要服务项目",
"主要设备类型",
"设备总台数 (台)",
"可出租设备数 (台)",
"服务覆盖乡镇数",
"收费标准",
"服务热线",
"年产值 (万元)",
"负责人",
"联系电话"
],
"excludedFields": [
"备注"
]
},
{
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx",
"sheetName": "疫病防控",
"categoryCode": "YC-DISEASE-CONTROL",
"rawRowCount": 3,
"keptFields": [
"主体全称",
"详细地址",
"经度",
"纬度",
"运营状态",
"服务覆盖乡镇数",
"主要服务内容",
"持证兽医数",
"是否 24 小时应急",
"联系电话"
],
"excludedFields": [
"备注"
]
},
{
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx",
"sheetName": "技术培训",
"categoryCode": "YC-TECH-TRAINING",
"rawRowCount": 8,
"keptFields": [
"序号",
"机构全称",
"机构类型",
"所属乡镇",
"红原办公地址",
"培训等级",
"年培训场次",
"年培训人次",
"单次最大容纳人数",
"主要培训内容",
"核心专家团队",
"最近培训时间",
"下期培训计划(时间 + 内容)",
"联系人",
"联系电话"
],
"excludedFields": [
"备注"
]
},
{
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx",
"sheetName": "金融服务网点",
"categoryCode": "YC-SERVICE-FINANCE",
"rawRowCount": 4,
"keptFields": [
"序号",
"银行全称",
"简称",
"红原支行地址",
"经度",
"纬度",
"服务覆盖乡镇数",
"主要贷款产品(可多选)",
"最高单户贷款额度 (万元)",
"最长贷款期限 (年)",
"年利率范围",
"还款方式",
"联系人",
"信贷联系电话"
],
"excludedFields": [
"备注"
]
},
{
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx",
"sheetName": "保险服务网点",
"categoryCode": "YC-SERVICE-INSURANCE",
"rawRowCount": 4,
"keptFields": [
"序号",
"公司全称",
"简称",
"红原支公司地址",
"经度",
"纬度",
"服务覆盖乡镇数",
"主要承保险种(可多选)",
"24 小时理赔热线",
"2025 年承保牦牛数量 (头)",
"平均理赔时效 (天)",
"最高单头赔付金额 (元)",
"联系人",
"联系电话"
],
"excludedFields": [
"备注"
]
},
{
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx",
"sheetName": "林草局数据",
"categoryCode": "YC-GRASSLAND-RESOURCE",
"rawRowCount": 4,
"keptFields": [
"天然草原改良",
"人工种草",
"鼠虫害防治",
"全县草原面积",
"基本草原面积",
"一般草原面积",
"湿地面积",
"灌木林面积",
"围栏封育面积",
"生态奖补面积,到每个村"
],
"excludedFields": [
"Unnamed:0",
"Unnamed:11",
"备注"
]
},
{
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx",
"sheetName": "Sheet1",
"categoryCode": "YC-FAMILY-PASTURE",
"rawRowCount": 82,
"keptFields": [
"序号",
"乡镇",
"点位",
"户主",
"暖棚经纬度",
"管理用房经纬度",
"坐落"
],
"excludedFields": [
"身份证",
"备注"
]
},
{
"sourceFile": "cxpt PostgreSQL database",
"sheetName": "t_base_land",
"categoryCode": "YC-CXPT-*",
"rawRowCount": 46,
"keptFields": [
"id",
"name",
"type",
"area_code",
"address",
"scale",
"acreage",
"leader",
"tel",
"leader_phone",
"geom centroid"
],
"excludedFields": [
"description",
"imgs",
"remarks"
]
}
],
"categories": [
{
"categoryCode": "YC-FAMILY-PASTURE",
"categoryName": "家庭生态牧场",
"industryStage": "family-pasture",
"sources": [
"红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx:Sheet1"
],
"itemCount": 82,
"items": [
{
"id": "YC-FAMILY-PASTURE-001",
"name": "安曲镇夺龙村1号点家庭牧场",
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx",
"sourceSheet": "Sheet1",
"town": "安曲镇",
"village": "夺龙村",
"pointName": "1号点",
"locations": {
"greenhouse": {
"longitude": 102.45047712,
"latitude": 32.61360272
},
"managementHouse": {
"longitude": 102.45082378,
"latitude": 32.6136657
}
},
"contacts": {
"owner": "拿木甲"
},
"metrics": {},
"attributes": {
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目"
}
},
{
"id": "YC-FAMILY-PASTURE-002",
"name": "安曲镇夺龙村2号点家庭牧场",
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx",
"sourceSheet": "Sheet1",
"town": "安曲镇",
"village": "夺龙村",
"pointName": "2号点",
"locations": {
"greenhouse": {
"longitude": 102.34691526,
"latitude": 32.61425696
},
"managementHouse": {
"longitude": 102.34697849,
"latitude": 32.61455374
}
},
"contacts": {
"owner": "桑我甲"
},
"metrics": {},
"attributes": {
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目"
}
},
{
"id": "YC-FAMILY-PASTURE-003",
"name": "安曲镇夺龙村3号点家庭牧场",
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx",
"sourceSheet": "Sheet1",
"town": "安曲镇",
"village": "夺龙村",
"pointName": "3号点",
"locations": {
"greenhouse": {
"longitude": 102.37805264,
"latitude": 32.5692703
},
"managementHouse": {
"longitude": null,
"latitude": null
}
},
"contacts": {
"owner": "泽朗罗日"
},
"metrics": {},
"attributes": {
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目"
}
},
{
"id": "YC-FAMILY-PASTURE-004",
"name": "安曲镇哈拉玛村4号点家庭牧场",
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx",
"sourceSheet": "Sheet1",
"town": "安曲镇",
"village": "哈拉玛村",
"pointName": "4号点",
"locations": {
"greenhouse": {
"longitude": 102.31781652,
"latitude": 32.67023409
},
"managementHouse": {
"longitude": 102.318167,
"latitude": 32.67018808
}
},
"contacts": {
"owner": "德清旺姆"
},
"metrics": {},
"attributes": {
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目"
}
},
{
"id": "YC-FAMILY-PASTURE-005",
"name": "安曲镇下哈拉玛村5号点家庭牧场",
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx",
"sourceSheet": "Sheet1",
"town": "安曲镇",
"village": "下哈拉玛村",
"pointName": "5号点",
"locations": {
"greenhouse": {
"longitude": 102.43198641,
"latitude": 32.73093298
},
"managementHouse": {
"longitude": 102.43182146,
"latitude": 32.73162602
}
},
"contacts": {},
"metrics": {},
"attributes": {
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目"
}
},
{
"id": "YC-FAMILY-PASTURE-006",
"name": "安曲镇下哈拉玛村6号点家庭牧场",
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx",
"sourceSheet": "Sheet1",
"town": "安曲镇",
"village": "下哈拉玛村",
"pointName": "6号点",
"locations": {
"greenhouse": {
"longitude": 102.42615548,
"latitude": 32.80562386
},
"managementHouse": {
"longitude": null,
"latitude": null
}
},
"contacts": {},
"metrics": {},
"attributes": {
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目"
}
},
{
"id": "YC-FAMILY-PASTURE-007",
"name": "安曲镇下哈拉玛村7号点家庭牧场",
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx",
"sourceSheet": "Sheet1",
"town": "安曲镇",
"village": "下哈拉玛村",
"pointName": "7号点",
"locations": {
"greenhouse": {
"longitude": 102.43325488,
"latitude": 32.76769519
},
"managementHouse": {
"longitude": 102.43310351,
"latitude": 32.76736081
}
},
"contacts": {
"owner": "尺真"
},
"metrics": {},
"attributes": {
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目"
}
},
{
"id": "YC-FAMILY-PASTURE-008",
"name": "龙日镇龙日坝村8号点家庭牧场",
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx",
"sourceSheet": "Sheet1",
"town": "龙日镇",
"village": "龙日坝村",
"pointName": "8号点",
"locations": {
"greenhouse": {
"longitude": 102.34174988,
"latitude": 32.51793446
},
"managementHouse": {
"longitude": 102.34150772,
"latitude": 32.51809855
}
},
"contacts": {
"owner": "扎花甲初"
},
"metrics": {},
"attributes": {
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目"
}
},
{
"id": "YC-FAMILY-PASTURE-009",
"name": "龙日镇龙日坝村9号点家庭牧场",
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx",
"sourceSheet": "Sheet1",
"town": "龙日镇",
"village": "龙日坝村",
"pointName": "9号点",
"locations": {
"greenhouse": {
"longitude": 102.39106026,
"latitude": 32.41522425
},
"managementHouse": {
"longitude": 102.39163622,
"latitude": 32.41535563
}
},
"contacts": {
"owner": "刘永秀"
},
"metrics": {},
"attributes": {
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目"
}
},
{
"id": "YC-FAMILY-PASTURE-010",
"name": "龙日镇龙日坝村10号点家庭牧场",
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx",
"sourceSheet": "Sheet1",
"town": "龙日镇",
"village": "龙日坝村",
"pointName": "10号点",
"locations": {
"greenhouse": {
"longitude": 102.36445049,
"latitude": 32.46856208
},
"managementHouse": {
"longitude": 102.36479551,
"latitude": 32.4682826
}
},
"contacts": {
"owner": "尼西甲"
},
"metrics": {},
"attributes": {
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目"
}
},
{
"id": "YC-FAMILY-PASTURE-011",
"name": "龙日镇龙日坝村11号点家庭牧场",
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx",
"sourceSheet": "Sheet1",
"town": "龙日镇",
"village": "龙日坝村",
"pointName": "11号点",
"locations": {
"greenhouse": {
"longitude": 102.36543866,
"latitude": 32.46986063
},
"managementHouse": {
"longitude": 102.36574919,
"latitude": 32.46984022
}
},
"contacts": {
"owner": "尕尔穷"
},
"metrics": {},
"attributes": {
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目"
}
},
{
"id": "YC-FAMILY-PASTURE-012",
"name": "龙日镇壤噶夺玛村12号点家庭牧场",
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx",
"sourceSheet": "Sheet1",
"town": "龙日镇",
"village": "壤噶夺玛村",
"pointName": "12号点",
"locations": {
"greenhouse": {
"longitude": 102.47723794,
"latitude": 32.45980785
},
"managementHouse": {
"longitude": 102.47729207,
"latitude": 32.45943812
}
},
"contacts": {
"owner": "拉玛扎西"
},
"metrics": {},
"attributes": {
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目"
}
},
{
"id": "YC-FAMILY-PASTURE-013",
"name": "龙日镇龙日坝村12号点家庭牧场",
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx",
"sourceSheet": "Sheet1",
"town": "龙日镇",
"village": "龙日坝村",
"pointName": "12号点",
"locations": {
"greenhouse": {
"longitude": null,
"latitude": null
},
"managementHouse": {
"longitude": null,
"latitude": null
}
},
"contacts": {},
"metrics": {},
"attributes": {
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目"
}
},
{
"id": "YC-FAMILY-PASTURE-014",
"name": "龙日镇格玛村13号点家庭牧场",
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx",
"sourceSheet": "Sheet1",
"town": "龙日镇",
"village": "格玛村",
"pointName": "13号点",
"locations": {
"greenhouse": {
"longitude": 102.57181204,
"latitude": 32.57674824
},
"managementHouse": {
"longitude": 102.57153908,
"latitude": 32.57642249
}
},
"contacts": {
"owner": "索迫"
},
"metrics": {},
"attributes": {
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目"
}
},
{
"id": "YC-FAMILY-PASTURE-015",
"name": "龙日镇格玛村14号点家庭牧场",
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx",
"sourceSheet": "Sheet1",
"town": "龙日镇",
"village": "格玛村",
"pointName": "14号点",
"locations": {
"greenhouse": {
"longitude": 102.56396058,
"latitude": 32.5657272
},
"managementHouse": {
"longitude": 102.56368441,
"latitude": 32.56554011
}
},
"contacts": {
"owner": "让白"
},
"metrics": {},
"attributes": {
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目"
}
},
{
"id": "YC-FAMILY-PASTURE-016",
"name": "龙日镇格玛村15号点家庭牧场",
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx",
"sourceSheet": "Sheet1",
"town": "龙日镇",
"village": "格玛村",
"pointName": "15号点",
"locations": {
"greenhouse": {
"longitude": 102.47353743,
"latitude": 32.53889572
},
"managementHouse": {
"longitude": 102.47340175,
"latitude": 32.5391063
}
},
"contacts": {
"owner": "罗周"
},
"metrics": {},
"attributes": {
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目"
}
},
{
"id": "YC-FAMILY-PASTURE-017",
"name": "龙日镇格玛村16号点家庭牧场",
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx",
"sourceSheet": "Sheet1",
"town": "龙日镇",
"village": "格玛村",
"pointName": "16号点",
"locations": {
"greenhouse": {
"longitude": 102.55268505,
"latitude": 32.54389452
},
"managementHouse": {
"longitude": 102.55244875,
"latitude": 32.543925
}
},
"contacts": {
"owner": "贡波"
},
"metrics": {},
"attributes": {
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目"
}
},
{
"id": "YC-FAMILY-PASTURE-018",
"name": "龙日镇格玛村17号点家庭牧场",
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx",
"sourceSheet": "Sheet1",
"town": "龙日镇",
"village": "格玛村",
"pointName": "17号点",
"locations": {
"greenhouse": {
"longitude": 102.55699444,
"latitude": 32.51600578
},
"managementHouse": {
"longitude": 102.55661126,
"latitude": 32.51593726
}
},
"contacts": {
"owner": "阿新"
},
"metrics": {},
"attributes": {
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目"
}
},
{
"id": "YC-FAMILY-PASTURE-019",
"name": "龙日镇壤噶夺玛村18号点家庭牧场",
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx",
"sourceSheet": "Sheet1",
"town": "龙日镇",
"village": "壤噶夺玛村",
"pointName": "18号点",
"locations": {
"greenhouse": {
"longitude": 102.45743039,
"latitude": 32.50039193
},
"managementHouse": {
"longitude": 102.45747569,
"latitude": 32.4997112
}
},
"contacts": {
"owner": "南木青"
},
"metrics": {},
"attributes": {
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目"
}
},
{
"id": "YC-FAMILY-PASTURE-020",
"name": "龙日镇壤噶夺玛村19号点家庭牧场",
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx",
"sourceSheet": "Sheet1",
"town": "龙日镇",
"village": "壤噶夺玛村",
"pointName": "19号点",
"locations": {
"greenhouse": {
"longitude": 102.51569341,
"latitude": 32.46983718
},
"managementHouse": {
"longitude": 102.51611367,
"latitude": 32.46971999
}
},
"contacts": {
"owner": "桑白"
},
"metrics": {},
"attributes": {
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目"
}
},
{
"id": "YC-FAMILY-PASTURE-021",
"name": "龙日镇壤噶夺玛村20号点家庭牧场",
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx",
"sourceSheet": "Sheet1",
"town": "龙日镇",
"village": "壤噶夺玛村",
"pointName": "20号点",
"locations": {
"greenhouse": {
"longitude": 102.44978266,
"latitude": 32.53944862
},
"managementHouse": {
"longitude": 102.44969589,
"latitude": 32.53923831
}
},
"contacts": {
"owner": "尼玛"
},
"metrics": {},
"attributes": {
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目"
}
},
{
"id": "YC-FAMILY-PASTURE-022",
"name": "龙日镇壤噶夺玛村21号点家庭牧场",
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx",
"sourceSheet": "Sheet1",
"town": "龙日镇",
"village": "壤噶夺玛村",
"pointName": "21号点",
"locations": {
"greenhouse": {
"longitude": 102.47179278,
"latitude": 32.40707185
},
"managementHouse": {
"longitude": 102.47150078,
"latitude": 32.40722678
}
},
"contacts": {
"owner": "求扎"
},
"metrics": {},
"attributes": {
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目"
}
},
{
"id": "YC-FAMILY-PASTURE-023",
"name": "龙日镇壤噶夺玛村22号点家庭牧场",
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx",
"sourceSheet": "Sheet1",
"town": "龙日镇",
"village": "壤噶夺玛村",
"pointName": "22号点",
"locations": {
"greenhouse": {
"longitude": 102.49088427,
"latitude": 32.4950118
},
"managementHouse": {
"longitude": 102.49071333,
"latitude": 32.49521145
}
},
"contacts": {
"owner": "俄白"
},
"metrics": {},
"attributes": {
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目"
}
},
{
"id": "YC-FAMILY-PASTURE-024",
"name": "邛溪镇玛萨村23号点家庭牧场",
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx",
"sourceSheet": "Sheet1",
"town": "邛溪镇",
"village": "玛萨村",
"pointName": "23号点",
"locations": {
"greenhouse": {
"longitude": 102.63389415,
"latitude": 32.77017909
},
"managementHouse": {
"longitude": 102.6341466,
"latitude": 32.77015436
}
},
"contacts": {
"owner": "杨中泽仁"
},
"metrics": {},
"attributes": {
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目"
}
},
{
"id": "YC-FAMILY-PASTURE-025",
"name": "邛溪镇玛萨村24号点家庭牧场",
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx",
"sourceSheet": "Sheet1",
"town": "邛溪镇",
"village": "玛萨村",
"pointName": "24号点",
"locations": {
"greenhouse": {
"longitude": 102.55578247,
"latitude": 32.71974519
},
"managementHouse": {
"longitude": 102.55496732,
"latitude": 32.71987605
}
},
"contacts": {
"owner": "西泽"
},
"metrics": {},
"attributes": {
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目"
}
},
{
"id": "YC-FAMILY-PASTURE-026",
"name": "邛溪镇玛萨村25号点家庭牧场",
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx",
"sourceSheet": "Sheet1",
"town": "邛溪镇",
"village": "玛萨村",
"pointName": "25号点",
"locations": {
"greenhouse": {
"longitude": 102.5948059,
"latitude": 32.73476878
},
"managementHouse": {
"longitude": 102.59523521,
"latitude": 32.73509347
}
},
"contacts": {
"owner": "阿尔布基"
},
"metrics": {},
"attributes": {
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目"
}
},
{
"id": "YC-FAMILY-PASTURE-027",
"name": "邛溪镇玛萨村26号点家庭牧场",
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx",
"sourceSheet": "Sheet1",
"town": "邛溪镇",
"village": "玛萨村",
"pointName": "26号点",
"locations": {
"greenhouse": {
"longitude": 102.63704412,
"latitude": 32.8134533
},
"managementHouse": {
"longitude": 102.63713205,
"latitude": 32.81316056
}
},
"contacts": {
"owner": "兰卡"
},
"metrics": {},
"attributes": {
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目"
}
},
{
"id": "YC-FAMILY-PASTURE-028",
"name": "邛溪镇达格龙村27号点家庭牧场",
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx",
"sourceSheet": "Sheet1",
"town": "邛溪镇",
"village": "达格龙村",
"pointName": "27号点",
"locations": {
"greenhouse": {
"longitude": 102.50979432,
"latitude": 32.80879562
},
"managementHouse": {
"longitude": null,
"latitude": null
}
},
"contacts": {
"owner": "华扎"
},
"metrics": {},
"attributes": {
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目"
}
},
{
"id": "YC-FAMILY-PASTURE-029",
"name": "邛溪镇达格龙村28号点家庭牧场",
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx",
"sourceSheet": "Sheet1",
"town": "邛溪镇",
"village": "达格龙村",
"pointName": "28号点",
"locations": {
"greenhouse": {
"longitude": 102.46200958,
"latitude": 32.954686
},
"managementHouse": {
"longitude": 102.46173752,
"latitude": 32.95518424
}
},
"contacts": {
"owner": "勒西"
},
"metrics": {},
"attributes": {
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目"
}
},
{
"id": "YC-FAMILY-PASTURE-030",
"name": "邛溪镇达格龙村29号点家庭牧场",
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx",
"sourceSheet": "Sheet1",
"town": "邛溪镇",
"village": "达格龙村",
"pointName": "29号点",
"locations": {
"greenhouse": {
"longitude": 102.70045355,
"latitude": 32.72249951
},
"managementHouse": {
"longitude": 102.70020081,
"latitude": 32.72191648
}
},
"contacts": {
"owner": "夺基泽单"
},
"metrics": {},
"attributes": {
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目"
}
},
{
"id": "YC-FAMILY-PASTURE-031",
"name": "邛溪镇麻色阳德村30号点家庭牧场",
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx",
"sourceSheet": "Sheet1",
"town": "邛溪镇",
"village": "麻色阳德村",
"pointName": "30号点",
"locations": {
"greenhouse": {
"longitude": 102.5118488,
"latitude": 32.93352001
},
"managementHouse": {
"longitude": 102.51242484,
"latitude": 32.93367637
}
},
"contacts": {
"owner": "卡卓措"
},
"metrics": {},
"attributes": {
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目"
}
},
{
"id": "YC-FAMILY-PASTURE-032",
"name": "邛溪镇麻色阳德村31号点家庭牧场",
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx",
"sourceSheet": "Sheet1",
"town": "邛溪镇",
"village": "麻色阳德村",
"pointName": "31号点",
"locations": {
"greenhouse": {
"longitude": 102.52277514,
"latitude": 32.95178758
},
"managementHouse": {
"longitude": 102.52268299,
"latitude": 32.95119696
}
},
"contacts": {
"owner": "甲花若巴"
},
"metrics": {},
"attributes": {
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目"
}
},
{
"id": "YC-FAMILY-PASTURE-033",
"name": "邛溪镇麻色阳德村32号点家庭牧场",
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx",
"sourceSheet": "Sheet1",
"town": "邛溪镇",
"village": "麻色阳德村",
"pointName": "32号点",
"locations": {
"greenhouse": {
"longitude": 102.54154441,
"latitude": 32.97243338
},
"managementHouse": {
"longitude": 102.54114597,
"latitude": 32.97254854
}
},
"contacts": {
"owner": "布穷"
},
"metrics": {},
"attributes": {
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目"
}
},
{
"id": "YC-FAMILY-PASTURE-034",
"name": "邛溪镇热坤村33号点家庭牧场",
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx",
"sourceSheet": "Sheet1",
"town": "邛溪镇",
"village": "热坤村",
"pointName": "33号点",
"locations": {
"greenhouse": {
"longitude": 102.68837196,
"latitude": 32.90189172
},
"managementHouse": {
"longitude": 102.68834131,
"latitude": 32.90209342
}
},
"contacts": {
"owner": "丹姆初"
},
"metrics": {},
"attributes": {
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目"
}
},
{
"id": "YC-FAMILY-PASTURE-035",
"name": "邛溪镇热坤村34号点家庭牧场",
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx",
"sourceSheet": "Sheet1",
"town": "邛溪镇",
"village": "热坤村",
"pointName": "34号点",
"locations": {
"greenhouse": {
"longitude": 102.66431407,
"latitude": 32.89220187
},
"managementHouse": {
"longitude": 102.6640831,
"latitude": 32.89217135
}
},
"contacts": {
"owner": "塔尔洼"
},
"metrics": {},
"attributes": {
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目"
}
},
{
"id": "YC-FAMILY-PASTURE-036",
"name": "邛溪镇热坤村35号点家庭牧场",
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx",
"sourceSheet": "Sheet1",
"town": "邛溪镇",
"village": "热坤村",
"pointName": "35号点",
"locations": {
"greenhouse": {
"longitude": 102.57510429,
"latitude": 32.8117671
},
"managementHouse": {
"longitude": 102.57449573,
"latitude": 32.81193451
}
},
"contacts": {
"owner": "相木秋"
},
"metrics": {},
"attributes": {
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目"
}
},
{
"id": "YC-FAMILY-PASTURE-037",
"name": "邛溪镇热多村36号点家庭牧场",
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx",
"sourceSheet": "Sheet1",
"town": "邛溪镇",
"village": "热多村",
"pointName": "36号点",
"locations": {
"greenhouse": {
"longitude": 102.60036425,
"latitude": 32.96680279
},
"managementHouse": {
"longitude": 102.59972676,
"latitude": 32.96673649
}
},
"contacts": {
"owner": "索科"
},
"metrics": {},
"attributes": {
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目"
}
},
{
"id": "YC-FAMILY-PASTURE-038",
"name": "邛溪镇热多村37号点家庭牧场",
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx",
"sourceSheet": "Sheet1",
"town": "邛溪镇",
"village": "热多村",
"pointName": "37号点",
"locations": {
"greenhouse": {
"longitude": 102.5418407,
"latitude": 32.92737961
},
"managementHouse": {
"longitude": 102.54097207,
"latitude": 32.92694872
}
},
"contacts": {
"owner": "容中黑周"
},
"metrics": {},
"attributes": {
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目"
}
},
{
"id": "YC-FAMILY-PASTURE-039",
"name": "邛溪镇热多村38号点家庭牧场",
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx",
"sourceSheet": "Sheet1",
"town": "邛溪镇",
"village": "热多村",
"pointName": "38号点",
"locations": {
"greenhouse": {
"longitude": 102.58801957,
"latitude": 32.88408206
},
"managementHouse": {
"longitude": 102.58826677,
"latitude": 32.88476392
}
},
"contacts": {
"owner": "桑都"
},
"metrics": {},
"attributes": {
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目"
}
},
{
"id": "YC-FAMILY-PASTURE-040",
"name": "查尔玛乡什布龙村39号点家庭牧场",
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx",
"sourceSheet": "Sheet1",
"town": "查尔玛乡",
"village": "什布龙村",
"pointName": "39号点",
"locations": {
"greenhouse": {
"longitude": 102.07972827,
"latitude": 32.47333689
},
"managementHouse": {
"longitude": 102.07991934,
"latitude": 32.47311379
}
},
"contacts": {
"owner": "茫兴"
},
"metrics": {},
"attributes": {
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目"
}
},
{
"id": "YC-FAMILY-PASTURE-041",
"name": "查尔玛乡什布龙村40号点家庭牧场",
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx",
"sourceSheet": "Sheet1",
"town": "查尔玛乡",
"village": "什布龙村",
"pointName": "40号点",
"locations": {
"greenhouse": {
"longitude": 102.02905511,
"latitude": 32.43749287
},
"managementHouse": {
"longitude": 102.02913011,
"latitude": 32.43776256
}
},
"contacts": {
"owner": "得基卓玛"
},
"metrics": {},
"attributes": {
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目"
}
},
{
"id": "YC-FAMILY-PASTURE-042",
"name": "查尔玛乡什布龙村41号点家庭牧场",
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx",
"sourceSheet": "Sheet1",
"town": "查尔玛乡",
"village": "什布龙村",
"pointName": "41号点",
"locations": {
"greenhouse": {
"longitude": 102.02290624,
"latitude": 32.46043784
},
"managementHouse": {
"longitude": 102.02292951,
"latitude": 32.46024019
}
},
"contacts": {
"owner": "俄玛"
},
"metrics": {},
"attributes": {
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目"
}
},
{
"id": "YC-FAMILY-PASTURE-043",
"name": "查尔玛乡什布龙村42号点家庭牧场",
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx",
"sourceSheet": "Sheet1",
"town": "查尔玛乡",
"village": "什布龙村",
"pointName": "42号点",
"locations": {
"greenhouse": {
"longitude": null,
"latitude": null
},
"managementHouse": {
"longitude": null,
"latitude": null
}
},
"contacts": {
"owner": "能周"
},
"metrics": {},
"attributes": {
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目"
}
},
{
"id": "YC-FAMILY-PASTURE-044",
"name": "查尔玛乡查龙村43号点家庭牧场",
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx",
"sourceSheet": "Sheet1",
"town": "查尔玛乡",
"village": "查龙村",
"pointName": "43号点",
"locations": {
"greenhouse": {
"longitude": 101.9504197,
"latitude": 32.41285591
},
"managementHouse": {
"longitude": null,
"latitude": null
}
},
"contacts": {
"owner": "桑都措"
},
"metrics": {},
"attributes": {
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目"
}
},
{
"id": "YC-FAMILY-PASTURE-045",
"name": "查尔玛乡查龙村44号点家庭牧场",
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx",
"sourceSheet": "Sheet1",
"town": "查尔玛乡",
"village": "查龙村",
"pointName": "44号点",
"locations": {
"greenhouse": {
"longitude": 101.93515169,
"latitude": 32.42601524
},
"managementHouse": {
"longitude": 101.93533172,
"latitude": 32.42625182
}
},
"contacts": {
"owner": "求沙"
},
"metrics": {},
"attributes": {
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目"
}
},
{
"id": "YC-FAMILY-PASTURE-046",
"name": "查尔玛乡查龙村45号点家庭牧场",
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx",
"sourceSheet": "Sheet1",
"town": "查尔玛乡",
"village": "查龙村",
"pointName": "45号点",
"locations": {
"greenhouse": {
"longitude": 101.95330639,
"latitude": 32.50669919
},
"managementHouse": {
"longitude": 101.95319961,
"latitude": 32.50653773
}
},
"contacts": {
"owner": "旦渣"
},
"metrics": {},
"attributes": {
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目"
}
},
{
"id": "YC-FAMILY-PASTURE-047",
"name": "查尔玛乡达尔龙村46号点家庭牧场",
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx",
"sourceSheet": "Sheet1",
"town": "查尔玛乡",
"village": "达尔龙村",
"pointName": "46号点",
"locations": {
"greenhouse": {
"longitude": 102.13292789,
"latitude": 32.44464674
},
"managementHouse": {
"longitude": 102.13310816,
"latitude": 32.44495604
}
},
"contacts": {
"owner": "达玛王"
},
"metrics": {},
"attributes": {
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目"
}
},
{
"id": "YC-FAMILY-PASTURE-048",
"name": "查尔玛乡达尔龙村47号点家庭牧场",
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx",
"sourceSheet": "Sheet1",
"town": "查尔玛乡",
"village": "达尔龙村",
"pointName": "47号点",
"locations": {
"greenhouse": {
"longitude": 102.1000073,
"latitude": 32.52950127
},
"managementHouse": {
"longitude": 102.10031343,
"latitude": 32.52946984
}
},
"contacts": {
"owner": "吉措"
},
"metrics": {},
"attributes": {
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目"
}
},
{
"id": "YC-FAMILY-PASTURE-049",
"name": "查尔玛乡达尔龙村48号点家庭牧场",
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx",
"sourceSheet": "Sheet1",
"town": "查尔玛乡",
"village": "达尔龙村",
"pointName": "48号点",
"locations": {
"greenhouse": {
"longitude": 102.11832613,
"latitude": 32.54201141
},
"managementHouse": {
"longitude": 102.1186522,
"latitude": 32.54205879
}
},
"contacts": {
"owner": "然让"
},
"metrics": {},
"attributes": {
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目"
}
},
{
"id": "YC-FAMILY-PASTURE-050",
"name": "瓦切镇德香村49号点家庭牧场",
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx",
"sourceSheet": "Sheet1",
"town": "瓦切镇",
"village": "德香村",
"pointName": "49号点",
"locations": {
"greenhouse": {
"longitude": 102.59826937,
"latitude": 33.15242954
},
"managementHouse": {
"longitude": 102.59817262,
"latitude": 33.15279516
}
},
"contacts": {
"owner": "索郎益西"
},
"metrics": {},
"attributes": {
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目"
}
},
{
"id": "YC-FAMILY-PASTURE-051",
"name": "瓦切镇德香村50号点家庭牧场",
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx",
"sourceSheet": "Sheet1",
"town": "瓦切镇",
"village": "德香村",
"pointName": "50号点",
"locations": {
"greenhouse": {
"longitude": 102.58881798,
"latitude": 33.13491038
},
"managementHouse": {
"longitude": null,
"latitude": null
}
},
"contacts": {
"owner": "阿布洛"
},
"metrics": {},
"attributes": {
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目"
}
},
{
"id": "YC-FAMILY-PASTURE-052",
"name": "瓦切镇德香村51号点家庭牧场",
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx",
"sourceSheet": "Sheet1",
"town": "瓦切镇",
"village": "德香村",
"pointName": "51号点",
"locations": {
"greenhouse": {
"longitude": 102.62447024,
"latitude": 33.14756405
},
"managementHouse": {
"longitude": null,
"latitude": null
}
},
"contacts": {
"owner": "甲花扎巴"
},
"metrics": {},
"attributes": {
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目"
}
},
{
"id": "YC-FAMILY-PASTURE-053",
"name": "瓦切镇唐日村52号点家庭牧场",
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx",
"sourceSheet": "Sheet1",
"town": "瓦切镇",
"village": "唐日村",
"pointName": "52号点",
"locations": {
"greenhouse": {
"longitude": 102.60249352,
"latitude": 33.06252399
},
"managementHouse": {
"longitude": 102.60287876,
"latitude": 33.06269322
}
},
"contacts": {
"owner": "桑阿"
},
"metrics": {},
"attributes": {
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目"
}
},
{
"id": "YC-FAMILY-PASTURE-054",
"name": "瓦切镇唐日村53号点家庭牧场",
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx",
"sourceSheet": "Sheet1",
"town": "瓦切镇",
"village": "唐日村",
"pointName": "53号点",
"locations": {
"greenhouse": {
"longitude": 102.6195876,
"latitude": 33.07660844
},
"managementHouse": {
"longitude": 102.62023015,
"latitude": 33.07672504
}
},
"contacts": {
"owner": "泽旺卓玛"
},
"metrics": {},
"attributes": {
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目"
}
},
{
"id": "YC-FAMILY-PASTURE-055",
"name": "瓦切镇唐日村54号点家庭牧场",
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx",
"sourceSheet": "Sheet1",
"town": "瓦切镇",
"village": "唐日村",
"pointName": "54号点",
"locations": {
"greenhouse": {
"longitude": 102.65878993,
"latitude": 33.0443906
},
"managementHouse": {
"longitude": 102.65907881,
"latitude": 33.04426714
}
},
"contacts": {
"owner": "达多杰"
},
"metrics": {},
"attributes": {
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目"
}
},
{
"id": "YC-FAMILY-PASTURE-056",
"name": "瓦切镇曲登塘社区55号点家庭牧场",
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx",
"sourceSheet": "Sheet1",
"town": "瓦切镇",
"village": "曲登塘社区",
"pointName": "55号点",
"locations": {
"greenhouse": {
"longitude": 102.60968583,
"latitude": 33.05324231
},
"managementHouse": {
"longitude": 102.60900684,
"latitude": 33.05296943
}
},
"contacts": {
"owner": "甲花"
},
"metrics": {},
"attributes": {
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目"
}
},
{
"id": "YC-FAMILY-PASTURE-057",
"name": "瓦切镇达峨村56号点家庭牧场",
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx",
"sourceSheet": "Sheet1",
"town": "瓦切镇",
"village": "达峨村",
"pointName": "56号点",
"locations": {
"greenhouse": {
"longitude": 102.60365851,
"latitude": 33.08085512
},
"managementHouse": {
"longitude": 102.60388795,
"latitude": 33.080497
}
},
"contacts": {
"owner": "普尔娃他"
},
"metrics": {},
"attributes": {
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目"
}
},
{
"id": "YC-FAMILY-PASTURE-058",
"name": "瓦切镇达峨村57号点家庭牧场",
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx",
"sourceSheet": "Sheet1",
"town": "瓦切镇",
"village": "达峨村",
"pointName": "57号点",
"locations": {
"greenhouse": {
"longitude": 102.60526934,
"latitude": 33.03662516
},
"managementHouse": {
"longitude": 102.60558227,
"latitude": 33.03649561
}
},
"contacts": {
"owner": "腊夺"
},
"metrics": {},
"attributes": {
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目"
}
},
{
"id": "YC-FAMILY-PASTURE-059",
"name": "瓦切镇达峨村58号点家庭牧场",
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx",
"sourceSheet": "Sheet1",
"town": "瓦切镇",
"village": "达峨村",
"pointName": "58号点",
"locations": {
"greenhouse": {
"longitude": 102.68739311,
"latitude": 33.0149217
},
"managementHouse": {
"longitude": 102.68677242,
"latitude": 33.01494028
}
},
"contacts": {
"owner": "拉姆姐"
},
"metrics": {},
"attributes": {
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目"
}
},
{
"id": "YC-FAMILY-PASTURE-060",
"name": "瓦切镇日干村59号点家庭牧场",
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx",
"sourceSheet": "Sheet1",
"town": "瓦切镇",
"village": "日干村",
"pointName": "59号点",
"locations": {
"greenhouse": {
"longitude": 102.75821556,
"latitude": 33.05186118
},
"managementHouse": {
"longitude": 102.75797357,
"latitude": 33.05247976
}
},
"contacts": {
"owner": "尔金姐"
},
"metrics": {},
"attributes": {
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目"
}
},
{
"id": "YC-FAMILY-PASTURE-061",
"name": "瓦切镇日干村60号点家庭牧场",
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx",
"sourceSheet": "Sheet1",
"town": "瓦切镇",
"village": "日干村",
"pointName": "60号点",
"locations": {
"greenhouse": {
"longitude": 102.72188962,
"latitude": 33.09419876
},
"managementHouse": {
"longitude": 102.72144107,
"latitude": 33.09435508
}
},
"contacts": {
"owner": "果·尼科"
},
"metrics": {},
"attributes": {
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目"
}
},
{
"id": "YC-FAMILY-PASTURE-062",
"name": "瓦切镇日干村61号点家庭牧场",
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx",
"sourceSheet": "Sheet1",
"town": "瓦切镇",
"village": "日干村",
"pointName": "61号点",
"locations": {
"greenhouse": {
"longitude": 102.61834278,
"latitude": 33.16780533
},
"managementHouse": {
"longitude": null,
"latitude": null
}
},
"contacts": {
"owner": "苏拉王"
},
"metrics": {},
"attributes": {
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目"
}
},
{
"id": "YC-FAMILY-PASTURE-063",
"name": "瓦切镇色永村62号点家庭牧场",
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx",
"sourceSheet": "Sheet1",
"town": "瓦切镇",
"village": "色永村",
"pointName": "62号点",
"locations": {
"greenhouse": {
"longitude": 102.80909925,
"latitude": 33.03857555
},
"managementHouse": {
"longitude": 102.80956551,
"latitude": 33.03877017
}
},
"contacts": {
"owner": "桑阿"
},
"metrics": {},
"attributes": {
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目"
}
},
{
"id": "YC-FAMILY-PASTURE-064",
"name": "瓦切镇色永村63号点家庭牧场",
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx",
"sourceSheet": "Sheet1",
"town": "瓦切镇",
"village": "色永村",
"pointName": "63号点",
"locations": {
"greenhouse": {
"longitude": 102.82561727,
"latitude": 33.03236022
},
"managementHouse": {
"longitude": 102.82588257,
"latitude": 33.03170874
}
},
"contacts": {
"owner": "卓玛娜姆"
},
"metrics": {},
"attributes": {
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目"
}
},
{
"id": "YC-FAMILY-PASTURE-065",
"name": "瓦切镇色永村64号点家庭牧场",
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx",
"sourceSheet": "Sheet1",
"town": "瓦切镇",
"village": "色永村",
"pointName": "64号点",
"locations": {
"greenhouse": {
"longitude": 102.83285089,
"latitude": 33.02300106
},
"managementHouse": {
"longitude": 102.83282822,
"latitude": 33.02336202
}
},
"contacts": {
"owner": "麦朵拉姆"
},
"metrics": {},
"attributes": {
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目"
}
},
{
"id": "YC-FAMILY-PASTURE-066",
"name": "江茸乡江宫玛村65号点家庭牧场",
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx",
"sourceSheet": "Sheet1",
"town": "江茸乡",
"village": "江宫玛村",
"pointName": "65号点",
"locations": {
"greenhouse": {
"longitude": 102.20070669,
"latitude": 32.42224384
},
"managementHouse": {
"longitude": 102.19990732,
"latitude": 32.42229086
}
},
"contacts": {
"owner": "支多娜姆"
},
"metrics": {},
"attributes": {
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目"
}
},
{
"id": "YC-FAMILY-PASTURE-067",
"name": "江茸乡江宫玛村66号点家庭牧场",
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx",
"sourceSheet": "Sheet1",
"town": "江茸乡",
"village": "江宫玛村",
"pointName": "66号点",
"locations": {
"greenhouse": {
"longitude": 102.20320835,
"latitude": 32.43908196
},
"managementHouse": {
"longitude": 102.20292182,
"latitude": 32.43868925
}
},
"contacts": {
"owner": "俄波"
},
"metrics": {},
"attributes": {
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目"
}
},
{
"id": "YC-FAMILY-PASTURE-068",
"name": "江茸乡江宫玛村67号点家庭牧场",
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx",
"sourceSheet": "Sheet1",
"town": "江茸乡",
"village": "江宫玛村",
"pointName": "67号点",
"locations": {
"greenhouse": {
"longitude": 102.22170157,
"latitude": 32.47727277
},
"managementHouse": {
"longitude": 102.2217086,
"latitude": 32.4769641
}
},
"contacts": {
"owner": "格日"
},
"metrics": {},
"attributes": {
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目"
}
},
{
"id": "YC-FAMILY-PASTURE-069",
"name": "江茸乡茸日玛村68号点家庭牧场",
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx",
"sourceSheet": "Sheet1",
"town": "江茸乡",
"village": "茸日玛村",
"pointName": "68号点",
"locations": {
"greenhouse": {
"longitude": 102.22028091,
"latitude": 32.50928539
},
"managementHouse": {
"longitude": 102.21973813,
"latitude": 32.50918264
}
},
"contacts": {
"owner": "更让尼玛"
},
"metrics": {},
"attributes": {
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目"
}
},
{
"id": "YC-FAMILY-PASTURE-070",
"name": "江茸乡茸日玛村69号点家庭牧场",
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx",
"sourceSheet": "Sheet1",
"town": "江茸乡",
"village": "茸日玛村",
"pointName": "69号点",
"locations": {
"greenhouse": {
"longitude": 102.22815984,
"latitude": 32.51915025
},
"managementHouse": {
"longitude": 102.22810898,
"latitude": 32.51942
}
},
"contacts": {
"owner": "罗布让"
},
"metrics": {},
"attributes": {
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目"
}
},
{
"id": "YC-FAMILY-PASTURE-071",
"name": "江茸乡茸日玛村70号点家庭牧场",
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx",
"sourceSheet": "Sheet1",
"town": "江茸乡",
"village": "茸日玛村",
"pointName": "70号点",
"locations": {
"greenhouse": {
"longitude": 102.22913952,
"latitude": 32.50866903
},
"managementHouse": {
"longitude": 102.22938935,
"latitude": 32.50833256
}
},
"contacts": {
"owner": "王甲"
},
"metrics": {},
"attributes": {
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目"
}
},
{
"id": "YC-FAMILY-PASTURE-072",
"name": "江茸乡茸日玛村71号点家庭牧场",
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx",
"sourceSheet": "Sheet1",
"town": "江茸乡",
"village": "茸日玛村",
"pointName": "71号点",
"locations": {
"greenhouse": {
"longitude": 102.23962706,
"latitude": 32.48083944
},
"managementHouse": {
"longitude": 102.23990168,
"latitude": 32.48078901
}
},
"contacts": {
"owner": "占波"
},
"metrics": {},
"attributes": {
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目"
}
},
{
"id": "YC-FAMILY-PASTURE-073",
"name": "刷经寺镇壤口村72号点家庭牧场",
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx",
"sourceSheet": "Sheet1",
"town": "刷经寺镇",
"village": "壤口村",
"pointName": "72号点",
"locations": {
"greenhouse": {
"longitude": 102.61148498,
"latitude": 32.08914501
},
"managementHouse": {
"longitude": 102.61169021,
"latitude": 32.08932106
}
},
"contacts": {
"owner": "罗日"
},
"metrics": {},
"attributes": {
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目"
}
},
{
"id": "YC-FAMILY-PASTURE-074",
"name": "刷经寺镇壤口村73号点家庭牧场",
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx",
"sourceSheet": "Sheet1",
"town": "刷经寺镇",
"village": "壤口村",
"pointName": "73号点",
"locations": {
"greenhouse": {
"longitude": 102.5699463,
"latitude": 32.08635954
},
"managementHouse": {
"longitude": 102.56962246,
"latitude": 32.08623818
}
},
"contacts": {
"owner": "甲花夺基"
},
"metrics": {},
"attributes": {
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目"
}
},
{
"id": "YC-FAMILY-PASTURE-075",
"name": "刷经寺镇壤口村74号点家庭牧场",
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx",
"sourceSheet": "Sheet1",
"town": "刷经寺镇",
"village": "壤口村",
"pointName": "74号点",
"locations": {
"greenhouse": {
"longitude": 102.48249928,
"latitude": 32.20799391
},
"managementHouse": {
"longitude": 102.48240109,
"latitude": 32.20777413
}
},
"contacts": {
"owner": "供木丹"
},
"metrics": {},
"attributes": {
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目"
}
},
{
"id": "YC-FAMILY-PASTURE-076",
"name": "刷经寺镇壤口村75号点家庭牧场",
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx",
"sourceSheet": "Sheet1",
"town": "刷经寺镇",
"village": "壤口村",
"pointName": "75号点",
"locations": {
"greenhouse": {
"longitude": 102.55912658,
"latitude": 32.38683384
},
"managementHouse": {
"longitude": 102.5588633,
"latitude": 32.38692708
}
},
"contacts": {
"owner": "华尔白"
},
"metrics": {},
"attributes": {
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目"
}
},
{
"id": "YC-FAMILY-PASTURE-077",
"name": "阿木乡峨扎村76号点家庭牧场",
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx",
"sourceSheet": "Sheet1",
"town": "阿木乡",
"village": "峨扎村",
"pointName": "76号点",
"locations": {
"greenhouse": {
"longitude": 102.67883757,
"latitude": 32.93485478
},
"managementHouse": {
"longitude": 102.67850122,
"latitude": 32.93495695
}
},
"contacts": {
"owner": "谢尔拉姆"
},
"metrics": {},
"attributes": {
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目"
}
},
{
"id": "YC-FAMILY-PASTURE-078",
"name": "阿木乡峨扎村77号点家庭牧场",
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx",
"sourceSheet": "Sheet1",
"town": "阿木乡",
"village": "峨扎村",
"pointName": "77号点",
"locations": {
"greenhouse": {
"longitude": 102.8392576,
"latitude": 32.77165891
},
"managementHouse": {
"longitude": 102.83999152,
"latitude": 32.77133407
}
},
"contacts": {
"owner": "若巴"
},
"metrics": {},
"attributes": {
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目"
}
},
{
"id": "YC-FAMILY-PASTURE-079",
"name": "阿木乡峨扎村78号点家庭牧场",
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx",
"sourceSheet": "Sheet1",
"town": "阿木乡",
"village": "峨扎村",
"pointName": "78号点",
"locations": {
"greenhouse": {
"longitude": 102.78948161,
"latitude": 32.79853105
},
"managementHouse": {
"longitude": 102.79027109,
"latitude": 32.79883402
}
},
"contacts": {
"owner": "扑尔夺"
},
"metrics": {},
"attributes": {
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目"
}
},
{
"id": "YC-FAMILY-PASTURE-080",
"name": "阿木乡卡口村79号点家庭牧场",
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx",
"sourceSheet": "Sheet1",
"town": "阿木乡",
"village": "卡口村",
"pointName": "79号点",
"locations": {
"greenhouse": {
"longitude": 102.83426146,
"latitude": 32.86765306
},
"managementHouse": {
"longitude": 102.83380011,
"latitude": 32.86722605
}
},
"contacts": {
"owner": "甲基"
},
"metrics": {},
"attributes": {
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目"
}
},
{
"id": "YC-FAMILY-PASTURE-081",
"name": "阿木乡卡口村80号点家庭牧场",
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx",
"sourceSheet": "Sheet1",
"town": "阿木乡",
"village": "卡口村",
"pointName": "80号点",
"locations": {
"greenhouse": {
"longitude": 102.83237405,
"latitude": 32.82819561
},
"managementHouse": {
"longitude": 102.83189751,
"latitude": 32.82836028
}
},
"contacts": {
"owner": "尕得"
},
"metrics": {},
"attributes": {
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目"
}
},
{
"id": "YC-FAMILY-PASTURE-082",
"name": "阿木乡卡口村81号点家庭牧场",
"sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx",
"sourceSheet": "Sheet1",
"town": "阿木乡",
"village": "卡口村",
"pointName": "81号点",
"locations": {
"greenhouse": {
"longitude": 102.7785588,
"latitude": 32.72665098
},
"managementHouse": {
"longitude": 102.77903691,
"latitude": 32.72696452
}
},
"contacts": {
"owner": "西夏唐美"
},
"metrics": {},
"attributes": {
"project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目"
}
}
]
},
{
"categoryCode": "YC-BREEDING-BASE",
"categoryName": "标准化养殖基地",
"industryStage": "scale-breeding",
"sources": [
"详细数据清单-归档(1).xlsx:标准化养殖基地"
],
"itemCount": 19,
"items": [
{
"id": "YC-BREEDING-BASE-001",
"name": "阿木乡卡口村标准化养殖基地",
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx",
"sourceSheet": "标准化养殖基地",
"town": null,
"address": "阿木乡卡口乡",
"status": "正常运营",
"longitude": 102.63473007,
"latitude": 32.92227975,
"contacts": {},
"metrics": {
"设计存栏量 (头)": 429,
"年出栏量 (头)": 35
},
"attributes": {
"运营单位": "阿木乡卡口村村集体经济",
"建设 / 升级年份": "2022年",
"监控设备情况": "已接入"
}
},
{
"id": "YC-BREEDING-BASE-002",
"name": "瓦切唐日标准化养殖基地",
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx",
"sourceSheet": "标准化养殖基地",
"town": null,
"address": "唐日村",
"status": "正常运营",
"longitude": 102.6175964,
"latitude": 33.10971976,
"contacts": {},
"metrics": {
"设计存栏量 (头)": 250
},
"attributes": {
"运营单位": "瓦切镇唐日村村集体经济",
"建设 / 升级年份": "2023年",
"监控设备情况": "已接入"
}
},
{
"id": "YC-BREEDING-BASE-003",
"name": "瓦切镇标准化色永村养殖基地",
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx",
"sourceSheet": "标准化养殖基地",
"town": null,
"address": "瓦切镇色永村",
"status": "正常运营",
"longitude": 102.62460529,
"latitude": 33.13967122,
"contacts": {},
"metrics": {
"设计存栏量 (头)": 600,
"年出栏量 (头)": 1300
},
"attributes": {
"运营单位": "红原县高原犇犇农副产品有限公司",
"建设 / 升级年份": "2023年",
"监控设备情况": "2个在线,2个离线。电路在维修"
}
},
{
"id": "YC-BREEDING-BASE-004",
"name": "瓦切镇达俄村标准化养殖基地",
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx",
"sourceSheet": "标准化养殖基地",
"town": null,
"address": "瓦切镇达俄村",
"status": "正常运营",
"longitude": 102.61994774,
"latitude": 33.07151208,
"contacts": {},
"metrics": {
"设计存栏量 (头)": 500,
"年出栏量 (头)": 90
},
"attributes": {
"运营单位": "红原县雅卓阳养殖农民专业合作社",
"建设 / 升级年份": "2024年",
"监控设备情况": "3个设备离线,电线被施工方挖断了"
}
},
{
"id": "YC-BREEDING-BASE-005",
"name": "安曲牦牛扩繁基地",
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx",
"sourceSheet": "标准化养殖基地",
"town": null,
"address": "夺龙村",
"status": "正常运营",
"longitude": 102.32214229,
"latitude": 32.64253259,
"contacts": {},
"metrics": {
"设计存栏量 (头)": 200
},
"attributes": {
"运营单位": "红原县雅克农业开发有限责任公司",
"建设 / 升级年份": "2022年",
"监控设备情况": "已接入"
}
},
{
"id": "YC-BREEDING-BASE-006",
"name": "安曲标准化养殖基地",
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx",
"sourceSheet": "标准化养殖基地",
"town": null,
"address": "夺龙村",
"status": "正常运营",
"longitude": 102.32390544,
"latitude": 32.63888471,
"contacts": {},
"metrics": {
"设计存栏量 (头)": 600,
"年出栏量 (头)": 1300
},
"attributes": {
"运营单位": "红原县高原犇犇农副产品有限公司",
"建设 / 升级年份": "2022年",
"监控设备情况": "已接入"
}
},
{
"id": "YC-BREEDING-BASE-007",
"name": "安曲下哈拉玛标准化养殖基地",
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx",
"sourceSheet": "标准化养殖基地",
"town": null,
"address": "安曲下哈拉玛村",
"status": "正常运营",
"longitude": 102.42837241,
"latitude": 32.7425359,
"contacts": {},
"metrics": {
"设计存栏量 (头)": 100,
"年出栏量 (头)": 30
},
"attributes": {
"运营单位": "安曲下哈拉玛村村集体经济",
"建设 / 升级年份": "2023年",
"监控设备情况": "已接入"
}
},
{
"id": "YC-BREEDING-BASE-008",
"name": "龙日坝标准化养殖基地 (2023)",
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx",
"sourceSheet": "标准化养殖基地",
"town": null,
"address": "龙日坝村",
"status": "正常运营",
"longitude": 102.38394817,
"latitude": 32.44966887,
"contacts": {},
"metrics": {
"设计存栏量 (头)": 600,
"年出栏量 (头)": 1400
},
"attributes": {
"运营单位": "红原县雅克农业开发有限责任公司",
"建设 / 升级年份": 2023,
"监控设备情况": "等他们要到设备账号,然后再接入平台。"
}
},
{
"id": "YC-BREEDING-BASE-009",
"name": "龙日坝标准化养殖基地 (2025)",
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx",
"sourceSheet": "标准化养殖基地",
"town": null,
"address": "龙日坝村",
"status": "正常运营",
"longitude": 102.38126323,
"latitude": 32.44955785,
"contacts": {},
"metrics": {
"设计存栏量 (头)": 3000,
"年出栏量 (头)": 11000
},
"attributes": {
"运营单位": "红原县高原犇犇农副产品有限公司",
"建设 / 升级年份": 2025,
"监控设备情况": "预计月底完成设备安装,完成后再接入平台。"
}
},
{
"id": "YC-BREEDING-BASE-010",
"name": "刷经寺嚷口标准化养殖基地",
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx",
"sourceSheet": "标准化养殖基地",
"town": null,
"address": "嚷口村",
"status": "正常运营",
"longitude": 102.48723433,
"latitude": 32.20562585,
"contacts": {},
"metrics": {
"设计存栏量 (头)": 600
},
"attributes": {
"运营单位": "四川川数农牧科技有限公司",
"建设 / 升级年份": "2023年",
"监控设备情况": "已接入"
}
},
{
"id": "YC-BREEDING-BASE-011",
"name": "麦洼乡标准化养殖基地",
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx",
"sourceSheet": "标准化养殖基地",
"town": null,
"address": "洞拉村",
"status": "正常运营",
"longitude": 102.90867472,
"latitude": 33.07181647,
"contacts": {},
"metrics": {
"设计存栏量 (头)": 500,
"年出栏量 (头)": 1300
},
"attributes": {
"运营单位": "红原县高原犇犇农副产品有限公司",
"建设 / 升级年份": "2023年",
"监控设备情况": "断电导致设备离线"
}
},
{
"id": "YC-BREEDING-BASE-012",
"name": "江茸绵羊养殖基地",
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx",
"sourceSheet": "标准化养殖基地",
"town": null,
"address": "茸日村",
"status": "正常运营",
"longitude": 102.26005599,
"latitude": 32.50027984,
"contacts": {},
"metrics": {
"设计存栏量 (头)": 502,
"年出栏量 (头)": 151
},
"attributes": {
"运营单位": "江茸乡茸日玛村集体经济",
"建设 / 升级年份": "2023年",
"监控设备情况": "没有设备"
}
},
{
"id": "YC-BREEDING-BASE-013",
"name": "邛溪镇麻萨阳德村标准化养殖基地",
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx",
"sourceSheet": "标准化养殖基地",
"town": null,
"address": "麻色阳德村",
"status": "正常运营",
"longitude": 102.55803526,
"latitude": 32.83725412,
"contacts": {},
"metrics": {
"设计存栏量 (头)": 600,
"年出栏量 (头)": 400
},
"attributes": {
"运营单位": "红原县祥发牧业发展有限责任公司",
"建设 / 升级年份": 2024,
"监控设备情况": "等待联系具体情况"
}
},
{
"id": "YC-BREEDING-BASE-014",
"name": "阿木乡峨扎村养殖基地",
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx",
"sourceSheet": "标准化养殖基地",
"town": null,
"address": "峨扎村",
"status": "正常运营",
"longitude": 102.84054893,
"latitude": 32.81675104,
"contacts": {},
"metrics": {
"设计存栏量 (头)": 114,
"年出栏量 (头)": 16
},
"attributes": {
"运营单位": "阿木乡",
"建设 / 升级年份": "2022年",
"监控设备情况": "没有设备"
}
},
{
"id": "YC-BREEDING-BASE-015",
"name": "查尔玛查龙村养殖基地",
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx",
"sourceSheet": "标准化养殖基地",
"town": null,
"address": "红原县查尔玛乡查龙村",
"status": "正常运营",
"longitude": 101.95890418,
"latitude": 32.3869733,
"contacts": {},
"metrics": {
"设计存栏量 (头)": 83,
"年出栏量 (头)": 511
},
"attributes": {
"运营单位": "红原县查尔玛乡查龙村股份经济合作联合社",
"建设 / 升级年份": 2025,
"监控设备情况": "没有设备"
}
},
{
"id": "YC-BREEDING-BASE-016",
"name": "查尔玛什布龙养殖基地",
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx",
"sourceSheet": "标准化养殖基地",
"town": null,
"address": "红原县查尔玛乡什布龙村",
"status": "正常运营",
"longitude": 102.11433108,
"latitude": 32.42652249,
"contacts": {},
"metrics": {
"设计存栏量 (头)": 60,
"年出栏量 (头)": 286
},
"attributes": {
"运营单位": "红原县查尔玛乡什布龙村股份经济合作联合社",
"建设 / 升级年份": 2022,
"监控设备情况": "没有设备"
}
},
{
"id": "YC-BREEDING-BASE-017",
"name": "查尔玛达尔龙养殖基地",
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx",
"sourceSheet": "标准化养殖基地",
"town": null,
"address": "红原县查尔玛乡达尔龙村",
"status": "正常运营",
"longitude": 102.11709449,
"latitude": 32.4529061,
"contacts": {},
"metrics": {
"设计存栏量 (头)": 147,
"年出栏量 (头)": 283
},
"attributes": {
"运营单位": "红原县查尔玛乡达尔龙村村股份经济合作联合社",
"建设 / 升级年份": 2024,
"监控设备情况": "没有设备"
}
},
{
"id": "YC-BREEDING-BASE-018",
"name": "安曲下哈拉玛改良繁育基地",
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx",
"sourceSheet": "标准化养殖基地",
"town": null,
"address": "安曲下哈拉玛村",
"status": "正常运营",
"longitude": 102.47817887,
"latitude": 32.77041412,
"contacts": {},
"metrics": {
"设计存栏量 (头)": 100,
"年出栏量 (头)": 30
},
"attributes": {
"运营单位": "安曲下哈拉玛村村集体经济",
"监控设备情况": "没有设备"
}
},
{
"id": "YC-BREEDING-BASE-019",
"name": "麦洼利群合作社",
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx",
"sourceSheet": "标准化养殖基地",
"town": null,
"address": "麦洼乡滚塘村",
"status": "正常运营",
"longitude": 102.91754148,
"latitude": 33.05358447,
"contacts": {},
"metrics": {
"设计存栏量 (头)": 400,
"年出栏量 (头)": 351
},
"attributes": {
"运营单位": "红原县鑫陶一家农业发展专业合作社",
"建设 / 升级年份": "2022年",
"监控设备情况": "没有设备"
}
}
]
},
{
"categoryCode": "YC-BREEDING-STOCK",
"categoryName": "育种繁育场",
"industryStage": "scale-breeding",
"sources": [
"详细数据清单-归档(1).xlsx:育种场"
],
"itemCount": 4,
"items": [
{
"id": "YC-BREEDING-STOCK-001",
"name": "安曲牦牛扩繁基地",
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx",
"sourceSheet": "育种场",
"town": null,
"address": "安曲镇XX村",
"status": "正常运营",
"longitude": 102.32214229,
"latitude": 32.64253259,
"contacts": {},
"metrics": {},
"attributes": {
"简称": "安曲育种场",
"运营单位": "红原县雅克农业开发有限责任公司",
"育种等级": "县级",
"主要育种方向": "良种扩繁",
"基本介绍": "管理用房X间、厂房几间、占地多少、人员多少等。"
}
},
{
"id": "YC-BREEDING-STOCK-002",
"name": "龙日镇农科院扩繁基地",
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx",
"sourceSheet": "育种场",
"town": null,
"address": null,
"status": "正常运营",
"longitude": 102.2948457,
"latitude": 32.52975262,
"contacts": {},
"metrics": {},
"attributes": {
"简称": "龙日种畜场",
"运营单位": "阿坝州农科院",
"建设 / 升级年份": 2024,
"育种等级": "省级",
"主要育种方向": "原种保护与选育",
"监控设备情况": "设备不支持"
}
},
{
"id": "YC-BREEDING-STOCK-003",
"name": "龙日坝原种场",
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx",
"sourceSheet": "育种场",
"town": null,
"address": null,
"status": "正常运营",
"longitude": 102.29621044,
"latitude": 32.52968225,
"contacts": {},
"metrics": {},
"attributes": {
"简称": "龙日原种场",
"运营单位": "阿坝州农科院",
"育种等级": "省级",
"主要育种方向": "麦洼牦牛原种保护",
"监控设备情况": "设备不支持"
}
},
{
"id": "YC-BREEDING-STOCK-004",
"name": "麦洼洞拉村达坤玛选育场",
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx",
"sourceSheet": "育种场",
"town": null,
"address": null,
"status": null,
"longitude": 102.90220018,
"latitude": 33.07630283,
"contacts": {},
"metrics": {},
"attributes": {
"运营单位": "麦洼乡",
"监控设备情况": "没有设备"
}
}
]
},
{
"categoryCode": "YC-FORAGE-BASE",
"categoryName": "种草饲草基地",
"industryStage": "artificial-grassland",
"sources": [
"详细数据清单-归档(1).xlsx:种草饲草基地"
],
"itemCount": 8,
"items": [
{
"id": "YC-FORAGE-BASE-001",
"name": "红原机场种草基地",
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx",
"sourceSheet": "种草饲草基地",
"town": "龙日镇",
"address": null,
"status": "正常运营",
"longitude": 102.3421702,
"latitude": 32.56665418,
"contacts": {},
"metrics": {
"种植面积 (亩)": 1000
},
"attributes": {
"主要草种": "燕麦草1年生,披碱草、老芒麦多年生"
}
},
{
"id": "YC-FORAGE-BASE-002",
"name": "龙日镇饲草种植基地",
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx",
"sourceSheet": "种草饲草基地",
"town": "龙日镇",
"address": null,
"status": "正常运营",
"longitude": 102.41691162,
"latitude": 32.4065831,
"contacts": {},
"metrics": {
"种植面积 (亩)": 10000
},
"attributes": {
"主要草种": "燕麦草1年生,披碱草、老芒麦多年生"
}
},
{
"id": "YC-FORAGE-BASE-003",
"name": "安曲饲草基地",
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx",
"sourceSheet": "种草饲草基地",
"town": "安曲镇",
"address": null,
"status": "正常运营",
"longitude": 102.42757952,
"latitude": 32.74443722,
"contacts": {},
"metrics": {
"种植面积 (亩)": 2000
},
"attributes": {
"主要草种": "燕麦草1年生,披碱草、老芒麦多年生"
}
},
{
"id": "YC-FORAGE-BASE-004",
"name": "瓦切饲草基地",
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx",
"sourceSheet": "种草饲草基地",
"town": "瓦切镇",
"address": null,
"status": "正常运营",
"longitude": 102.59922971,
"latitude": 33.10319702,
"contacts": {},
"metrics": {
"种植面积 (亩)": 7000
},
"attributes": {
"主要草种": "燕麦草1年生,披碱草、老芒麦多年生"
}
},
{
"id": "YC-FORAGE-BASE-005",
"name": "江茸饲草基地",
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx",
"sourceSheet": "种草饲草基地",
"town": null,
"address": null,
"status": null,
"longitude": 102.26164962,
"latitude": 32.50057455,
"contacts": {},
"metrics": {
"种植面积 (亩)": 1000
},
"attributes": {}
},
{
"id": "YC-FORAGE-BASE-006",
"name": "畜牧工作站",
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx",
"sourceSheet": "种草饲草基地",
"town": null,
"address": null,
"status": null,
"longitude": null,
"latitude": null,
"contacts": {},
"metrics": {},
"attributes": {}
},
{
"id": "YC-FORAGE-BASE-007",
"name": "规划建设股",
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx",
"sourceSheet": "种草饲草基地",
"town": null,
"address": null,
"status": null,
"longitude": null,
"latitude": null,
"contacts": {},
"metrics": {},
"attributes": {}
},
{
"id": "YC-FORAGE-BASE-008",
"name": "数据欠缺,请两个股室核定饲草基地数据。",
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx",
"sourceSheet": "种草饲草基地",
"town": null,
"address": null,
"status": null,
"longitude": null,
"latitude": null,
"contacts": {},
"metrics": {},
"attributes": {}
}
]
},
{
"categoryCode": "YC-DISASTER-FORAGE-STORAGE",
"categoryName": "防灾减灾饲草储备库",
"industryStage": "forage-storage",
"sources": [
"详细数据清单-归档(1).xlsx:防灾减灾饲草储备库"
],
"itemCount": 7,
"items": [
{
"id": "YC-DISASTER-FORAGE-STORAGE-001",
"name": "嚷口防灾减灾饲草储备库",
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx",
"sourceSheet": "防灾减灾饲草储备库",
"town": "刷经寺镇",
"address": "壤口村",
"status": "正常运营",
"longitude": 102.489619,
"latitude": 32.20577086,
"contacts": {},
"metrics": {
"总库容 (吨)": 1500,
"发放次数": "3-4次"
},
"attributes": {
"上级单位": "红原县农业农村局",
"储备草种": "燕麦草、披碱草、老芒麦"
}
},
{
"id": "YC-DISASTER-FORAGE-STORAGE-002",
"name": "安曲防灾减灾饲草储备库",
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx",
"sourceSheet": "防灾减灾饲草储备库",
"town": "安曲镇",
"address": "夺龙村",
"status": "正常运营",
"longitude": 102.3283137,
"latitude": 32.63727531,
"contacts": {},
"metrics": {
"总库容 (吨)": 1500,
"发放次数": "3-4次"
},
"attributes": {
"上级单位": "红原县农业农村局",
"储备草种": "燕麦草、披碱草、老芒麦"
}
},
{
"id": "YC-DISASTER-FORAGE-STORAGE-003",
"name": "瓦切唐日合作社饲草储备库",
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx",
"sourceSheet": "防灾减灾饲草储备库",
"town": "瓦切镇",
"address": "唐日村",
"status": "正常运营",
"longitude": 102.6162349,
"latitude": 33.11047864,
"contacts": {},
"metrics": {
"总库容 (吨)": 1500,
"发放次数": "3-4次"
},
"attributes": {
"上级单位": "瓦切唐日合作社",
"储备草种": "燕麦草、披碱草、老芒麦"
}
},
{
"id": "YC-DISASTER-FORAGE-STORAGE-004",
"name": "瓦切牧草交易中心饲草储备库",
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx",
"sourceSheet": "防灾减灾饲草储备库",
"town": "瓦切镇",
"address": "达俄村",
"status": "正常运营",
"longitude": 102.6014834,
"latitude": 33.09604707,
"contacts": {},
"metrics": {
"总库容 (吨)": 1500,
"发放次数": "3-4次"
},
"attributes": {
"上级单位": "红原县农业农村局",
"储备草种": "燕麦草、披碱草、老芒麦"
}
},
{
"id": "YC-DISASTER-FORAGE-STORAGE-005",
"name": "龙日坝龙日坝村 1 饲草储备库",
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx",
"sourceSheet": "防灾减灾饲草储备库",
"town": "龙日镇",
"address": "龙日坝村",
"status": "正常运营",
"longitude": 102.383916,
"latitude": 32.44992916,
"contacts": {},
"metrics": {
"总库容 (吨)": 1500,
"发放次数": "3-4次"
},
"attributes": {
"上级单位": "红原县农业农村局",
"储备草种": "燕麦草、披碱草、老芒麦"
}
},
{
"id": "YC-DISASTER-FORAGE-STORAGE-006",
"name": "龙日坝龙日坝村 2 饲草储备库",
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx",
"sourceSheet": "防灾减灾饲草储备库",
"town": "龙日镇",
"address": "龙日坝村",
"status": "正常运营",
"longitude": 102.3834086,
"latitude": 32.45041994,
"contacts": {},
"metrics": {
"总库容 (吨)": 1500,
"发放次数": "3-4次"
},
"attributes": {
"上级单位": "红原县农业农村局",
"储备草种": "燕麦草、披碱草、老芒麦"
}
},
{
"id": "YC-DISASTER-FORAGE-STORAGE-007",
"name": "江茸乡饲草储备库",
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx",
"sourceSheet": "防灾减灾饲草储备库",
"town": "江茸乡",
"address": "茸日玛村",
"status": "正常运营",
"longitude": 102.256868,
"latitude": 32.46996565,
"contacts": {},
"metrics": {
"总库容 (吨)": 1500,
"发放次数": "3-4次"
},
"attributes": {
"上级单位": "江茸乡",
"储备草种": "燕麦草、披碱草、老芒麦"
}
}
]
},
{
"categoryCode": "YC-PROCESSING-PLANT",
"categoryName": "加工厂",
"industryStage": "slaughter-processing",
"sources": [
"详细数据清单-归档(1).xlsx:加工厂"
],
"itemCount": 9,
"items": [
{
"id": "YC-PROCESSING-PLANT-001",
"name": "西部牦牛产业集团有限责任公司",
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx",
"sourceSheet": "加工厂",
"town": null,
"address": "四川省阿坝藏族羌族自治州红原县邛溪镇瑞庆西路37号",
"status": "存续(在营)",
"longitude": 102.5292,
"latitude": 32.7917,
"contacts": {
"leader": "税晓燕",
"phone": 13348993961
},
"metrics": {
"设计日处理鲜奶能力 (吨)": "约 50吨/日",
"年加工鲜奶总量 (吨)": 3000,
"年产值 (万元)": 30000,
"带动本地农户数": 6000,
"原料奶冷藏能力 (吨)": 400
},
"attributes": {
"SC 许可证号": "SC10551323300016",
"主要产品": "牦牛奶粉",
"奶源来源": "红原县及周边",
"产品销售范围": "全国"
}
},
{
"id": "YC-PROCESSING-PLANT-002",
"name": "四川红原菊乐牦牛乳业有限公司",
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx",
"sourceSheet": "加工厂",
"town": null,
"address": "四川省阿坝藏族羌族自治州红原县邛溪镇瑞庆东路76号附6号",
"status": "存续(在营)",
"longitude": 102.5666,
"latitude": 32.8179,
"contacts": {
"leader": "刘鑫森",
"phone": 18581879298
},
"metrics": {
"设计日处理鲜奶能力 (吨)": "约240吨/日",
"年加工鲜奶总量 (吨)": 4000,
"年产值 (万元)": 7000,
"带动本地农户数": 600,
"原料奶冷藏能力 (吨)": 2000
},
"attributes": {
"SC 许可证号": "SC10551323300032",
"主要产品": "圣舟牦牛奶",
"奶源来源": "红原县及周边",
"产品销售范围": "全国、四川为主"
}
},
{
"id": "YC-PROCESSING-PLANT-003",
"name": "四川雅克乳业有限公司",
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx",
"sourceSheet": "加工厂",
"town": null,
"address": "四川省阿坝藏族羌族自治州红原县邛溪镇瑞庆西路",
"status": "存续(在营)",
"longitude": 102.5315,
"latitude": 32.7921,
"contacts": {
"leader": "徐瑞",
"phone": 18628189868
},
"metrics": {
"设计日处理鲜奶能力 (吨)": "约 2吨/日",
"年加工鲜奶总量 (吨)": 1000,
"年产值 (万元)": 3000,
"带动本地农户数": 200,
"原料奶冷藏能力 (吨)": "无(委托)"
},
"attributes": {
"SC 许可证号": "SC10551323300032(委托)",
"主要产品": "牦牛酸奶、牦牛奶粉、牦牛奶冰淇淋(",
"奶源来源": "红原县及周边",
"产品销售范围": "四川"
}
},
{
"id": "YC-PROCESSING-PLANT-004",
"name": "企业全称",
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx",
"sourceSheet": "加工厂",
"town": null,
"address": "详细地址",
"status": "运营状态",
"longitude": null,
"latitude": null,
"contacts": {
"leader": "负责人",
"phone": "联系电话"
},
"metrics": {
"设计日处理鲜奶能力 (吨)": "设计日加工能力 (吨)",
"年加工鲜奶总量 (吨)": "年加工原料肉总量 (吨)",
"年产值 (万元)": "年产值 (万元)",
"带动本地农户数": "带动本地农户数",
"原料奶冷藏能力 (吨)": "冷库容量 (吨)"
},
"attributes": {
"SC 许可证号": "SC 许可证号",
"主要产品": "主要产品",
"奶源来源": "原料来源",
"产品销售范围": "产品销售范围"
}
},
{
"id": "YC-PROCESSING-PLANT-005",
"name": "四川红原遛遛牛食品有限责任公司",
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx",
"sourceSheet": "加工厂",
"town": null,
"address": "四川省阿坝藏族羌族自治州红原县邛溪镇瑞庆东路72号",
"status": "存续(在营)",
"longitude": 102.5592,
"latitude": 32.8151,
"contacts": {
"leader": "王加立",
"phone": 13982065805
},
"metrics": {
"设计日处理鲜奶能力 (吨)": "约15吨/日",
"年加工鲜奶总量 (吨)": "约4500吨/年",
"年产值 (万元)": "约8000万元",
"带动本地农户数": 400,
"原料奶冷藏能力 (吨)": 1000
},
"attributes": {
"SC 许可证号": "SC10451323300028",
"主要产品": "风干牦牛肉、手撕牦牛肉、卤制牦牛肉、牦牛肉酱",
"奶源来源": "红原县及周边麦洼牦牛",
"产品销售范围": "全国、四川为主"
}
},
{
"id": "YC-PROCESSING-PLANT-006",
"name": "四川红原黑帐篷牦牛肉食品有限责任公司",
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx",
"sourceSheet": "加工厂",
"town": null,
"address": "四川省阿坝藏族羌族自治州红原县邛溪镇瑞庆中路",
"status": "存续(在营)",
"longitude": 102.551,
"latitude": 32.7987,
"contacts": {
"leader": "龙国胜",
"phone": "0837-8994333"
},
"metrics": {
"设计日处理鲜奶能力 (吨)": "约 1吨/日",
"年加工鲜奶总量 (吨)": "约300吨/年",
"年产值 (万元)": 1000,
"带动本地农户数": 200,
"原料奶冷藏能力 (吨)": 200
},
"attributes": {
"主要产品": "风干牦牛肉、手撕牦牛肉、卤牦牛肉、牦牛肉礼包",
"奶源来源": "红原本地麦洼牦牛",
"产品销售范围": "全国、四川为主"
}
},
{
"id": "YC-PROCESSING-PLANT-007",
"name": "红原御坊斋牦牛肉制品厂",
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx",
"sourceSheet": "加工厂",
"town": null,
"address": "四川省阿坝藏族羌族自治州红原县邛溪镇阳嘎北街",
"status": "存续(在营)",
"longitude": 102.5431,
"latitude": 32.7962,
"contacts": {
"leader": "陈远明",
"phone": "0837-2662837"
},
"metrics": {
"设计日处理鲜奶能力 (吨)": "约 0.5吨/日",
"年加工鲜奶总量 (吨)": "约200吨/年",
"年产值 (万元)": 600,
"带动本地农户数": 100,
"原料奶冷藏能力 (吨)": 100
},
"attributes": {
"SC 许可证号": "SC10451323300036",
"主要产品": "牛肉干、卤牦牛肉、手撕牦牛肉、牦牛肉粒",
"奶源来源": "红原本地麦洼牦牛",
"产品销售范围": "四川"
}
},
{
"id": "YC-PROCESSING-PLANT-008",
"name": "四川牦牛火了生态农业科技有限公司",
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx",
"sourceSheet": "加工厂",
"town": null,
"address": "四川省阿坝藏族羌族自治州红原县瑞庆中路13号附1号",
"status": "存续(在营)",
"longitude": 102.5402,
"latitude": 32.7958,
"contacts": {
"leader": "王忠波",
"phone": 18980978767
},
"metrics": {
"年产值 (万元)": 500
},
"attributes": {
"主要产品": "包装牦牛肉干",
"奶源来源": "红原及周边加工厂成品",
"产品销售范围": "四川"
}
},
{
"id": "YC-PROCESSING-PLANT-009",
"name": "农产品检测站",
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx",
"sourceSheet": "加工厂",
"town": null,
"address": null,
"status": null,
"longitude": null,
"latitude": null,
"contacts": {},
"metrics": {},
"attributes": {}
}
]
},
{
"categoryCode": "YC-SLAUGHTERHOUSE",
"categoryName": "屠宰厂",
"industryStage": "slaughter-processing",
"sources": [
"详细数据清单-归档(1).xlsx:屠宰厂"
],
"itemCount": 7,
"items": [
{
"id": "YC-SLAUGHTERHOUSE-001",
"name": "红原宏牦牛肉食品有限责任公司",
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx",
"sourceSheet": "屠宰厂",
"town": null,
"address": "四川省阿坝州红原县邛溪镇桑青路11号",
"status": "正常",
"longitude": 102.53333333,
"latitude": 32.78333333,
"contacts": {
"leader": "蒋悦南",
"phone": 13909047031
},
"metrics": {
"设计日屠宰能力 (头)": 200,
"年屠宰总量 (头)": 20000,
"冷冻库容量 (吨)": 800,
"年总产值 (万元)": "2000-5000"
},
"attributes": {
"环保达标情况": "已达标"
}
},
{
"id": "YC-SLAUGHTERHOUSE-002",
"name": "红原县永源牦牛肉业有限责任公司",
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx",
"sourceSheet": "屠宰厂",
"town": null,
"address": "红原县绿色产业园区",
"status": "正常",
"longitude": 102.56055556,
"latitude": 32.82,
"contacts": {
"leader": "张建",
"phone": 13541231860
},
"metrics": {
"设计日屠宰能力 (头)": 167,
"年屠宰总量 (头)": 20000,
"冷冻库容量 (吨)": 2400,
"年总产值 (万元)": 2046
},
"attributes": {
"定点屠宰证号": "A29191301",
"环保达标情况": "达标"
}
},
{
"id": "YC-SLAUGHTERHOUSE-003",
"name": "红原新希望牦牛产业有限公司",
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx",
"sourceSheet": "屠宰厂",
"town": null,
"address": "红原县邛溪镇绿色工业园区内",
"status": "正常",
"longitude": 9175.41666667,
"latitude": 13213.51666667,
"contacts": {
"leader": "柴建",
"phone": "17778545888"
},
"metrics": {
"设计日屠宰能力 (头)": 300,
"年屠宰总量 (头)": 10000,
"冷冻库容量 (吨)": 3000,
"年总产值 (万元)": 4048.63
},
"attributes": {
"环保达标情况": "达标"
}
},
{
"id": "YC-SLAUGHTERHOUSE-004",
"name": "红原县天交畜牧科技有限公司",
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx",
"sourceSheet": "屠宰厂",
"town": null,
"address": "红原县邛溪镇绿色产业园区瑞庆东路76号附5号",
"status": "正常",
"longitude": 102.90083333,
"latitude": 33.33083333,
"contacts": {
"leader": "余震",
"phone": 18080930003
},
"metrics": {
"设计日屠宰能力 (头)": 150,
"年屠宰总量 (头)": 18000,
"冷冻库容量 (吨)": 2000,
"年总产值 (万元)": 1200
},
"attributes": {
"环保达标情况": "达标"
}
},
{
"id": "YC-SLAUGHTERHOUSE-005",
"name": "红原县雪月天佑农牧科技有限公司",
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx",
"sourceSheet": "屠宰厂",
"town": null,
"address": null,
"status": null,
"longitude": null,
"latitude": null,
"contacts": {},
"metrics": {},
"attributes": {}
},
{
"id": "YC-SLAUGHTERHOUSE-006",
"name": "红原牦牛肉食品有限责任公司",
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx",
"sourceSheet": "屠宰厂",
"town": null,
"address": null,
"status": null,
"longitude": null,
"latitude": null,
"contacts": {},
"metrics": {},
"attributes": {}
},
{
"id": "YC-SLAUGHTERHOUSE-007",
"name": "执法大队",
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx",
"sourceSheet": "屠宰厂",
"town": null,
"address": null,
"status": null,
"longitude": null,
"latitude": null,
"contacts": {},
"metrics": {},
"attributes": {}
}
]
},
{
"categoryCode": "YC-FARM-EQUIPMENT",
"categoryName": "农机装备",
"industryStage": "farm-equipment",
"sources": [
"详细数据清单-归档(1).xlsx:农机装备"
],
"itemCount": 2,
"items": [
{
"id": "YC-FARM-EQUIPMENT-001",
"name": "红原县益众农业机械服务专业合作社",
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx",
"sourceSheet": "农机装备",
"town": null,
"address": null,
"status": null,
"longitude": null,
"latitude": null,
"contacts": {},
"metrics": {},
"attributes": {
"简称": "益众农机"
}
},
{
"id": "YC-FARM-EQUIPMENT-002",
"name": "农机监理站",
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx",
"sourceSheet": "农机装备",
"town": null,
"address": null,
"status": null,
"longitude": null,
"latitude": null,
"contacts": {},
"metrics": {},
"attributes": {}
}
]
},
{
"categoryCode": "YC-DISEASE-CONTROL",
"categoryName": "疫病防控",
"industryStage": "social-service",
"sources": [
"详细数据清单-归档(1).xlsx:疫病防控"
],
"itemCount": 3,
"items": [
{
"id": "YC-DISEASE-CONTROL-001",
"name": "红原县高原牧歌农业科技有限公司",
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx",
"sourceSheet": "疫病防控",
"town": null,
"address": "邛溪镇",
"status": null,
"longitude": 102.54861991,
"latitude": null,
"contacts": {},
"metrics": {},
"attributes": {}
},
{
"id": "YC-DISEASE-CONTROL-002",
"name": "红原县动物疫病预防控制中心",
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx",
"sourceSheet": "疫病防控",
"town": null,
"address": "邛溪镇",
"status": null,
"longitude": 102.54852894,
"latitude": null,
"contacts": {},
"metrics": {},
"attributes": {}
},
{
"id": "YC-DISEASE-CONTROL-003",
"name": "疫控中心",
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx",
"sourceSheet": "疫病防控",
"town": null,
"address": null,
"status": null,
"longitude": null,
"latitude": null,
"contacts": {},
"metrics": {},
"attributes": {}
}
]
},
{
"categoryCode": "YC-TECH-TRAINING",
"categoryName": "技术培训",
"industryStage": "social-service",
"sources": [
"详细数据清单-归档(1).xlsx:技术培训"
],
"itemCount": 8,
"items": [
{
"id": "YC-TECH-TRAINING-001",
"name": "四川省草科院",
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx",
"sourceSheet": "技术培训",
"town": "瓦切镇",
"address": "国家级牧草基地",
"status": null,
"longitude": null,
"latitude": null,
"contacts": {
"expertTeam": "游明鸿、季晓菲、官久强、安添午、赵文吉、贾国夫等",
"contactPerson": "游明鸿",
"phone": 13880288056
},
"metrics": {
"年培训场次": "‘2-3",
"年培训人次": "80-100",
"单次最大容纳人数": 40,
"下期培训计划(时间 + 内容)": "8月,草产品加工、放牧+补饲、中藏药材栽培管理等"
},
"attributes": {
"序号": 1,
"机构类型": "科研院所",
"主要培训内容": "栽培草种推荐、牧草栽培与草产品加工、牦牛疫病防治、放牧+补饲、道地和特色优势中藏药材栽培技术等",
"最近培训时间": "7月"
}
},
{
"id": "YC-TECH-TRAINING-002",
"name": "乡村振兴科技特派团",
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx",
"sourceSheet": "技术培训",
"town": "全县覆盖",
"address": "县农业农村局",
"status": null,
"longitude": null,
"latitude": null,
"contacts": {
"expertTeam": "游明鸿、季晓菲、刘琳、官久强、安添午、赵文吉等",
"contactPerson": "游明鸿",
"phone": 13880288056
},
"metrics": {
"年培训场次": "’3-4",
"年培训人次": "100-150",
"单次最大容纳人数": 40,
"下期培训计划(时间 + 内容)": "8月,草产品加工、放牧+补饲、中藏药材栽培管理等"
},
"attributes": {
"序号": 2,
"机构类型": "政府派出机构",
"主要培训内容": "栽培草种推荐、牧草栽培与草产品加工、牦牛疫病防治、放牧+补饲、道地和特色优势中藏药材栽培技术等",
"最近培训时间": "7月"
}
},
{
"id": "YC-TECH-TRAINING-003",
"name": "中国科学院",
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx",
"sourceSheet": "技术培训",
"town": "邛溪镇",
"address": null,
"status": null,
"longitude": null,
"latitude": null,
"contacts": {},
"metrics": {},
"attributes": {
"序号": 3,
"机构类型": "国家级科研机构"
}
},
{
"id": "YC-TECH-TRAINING-004",
"name": "红原县畜牧业高质量发展专家工作站",
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx",
"sourceSheet": "技术培训",
"town": "邛溪镇",
"address": "县畜牧兽医服务中心",
"status": null,
"longitude": null,
"latitude": null,
"contacts": {},
"metrics": {},
"attributes": {
"序号": 4,
"机构类型": "地方专家平台"
}
},
{
"id": "YC-TECH-TRAINING-005",
"name": "西南民族大学",
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx",
"sourceSheet": "技术培训",
"town": "邛溪镇",
"address": "红原牦牛研究基地",
"status": null,
"longitude": null,
"latitude": null,
"contacts": {},
"metrics": {},
"attributes": {
"序号": 5,
"机构类型": "高校"
}
},
{
"id": "YC-TECH-TRAINING-006",
"name": "阿坝州农科院",
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx",
"sourceSheet": "技术培训",
"town": "马尔康市 / 邛溪镇",
"address": null,
"status": null,
"longitude": null,
"latitude": null,
"contacts": {},
"metrics": {},
"attributes": {
"序号": 6,
"机构类型": "科研院所"
}
},
{
"id": "YC-TECH-TRAINING-007",
"name": "对接相关科研院校收集数据",
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx",
"sourceSheet": "技术培训",
"town": null,
"address": null,
"status": null,
"longitude": null,
"latitude": null,
"contacts": {},
"metrics": {},
"attributes": {
"序号": "科教股"
}
},
{
"id": "YC-TECH-TRAINING-008",
"name": "技术培训-8",
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx",
"sourceSheet": "技术培训",
"town": null,
"address": null,
"status": null,
"longitude": null,
"latitude": null,
"contacts": {},
"metrics": {},
"attributes": {
"序号": "科技股"
}
}
]
},
{
"categoryCode": "YC-SERVICE-FINANCE",
"categoryName": "金融服务网点",
"industryStage": "social-service",
"sources": [
"详细数据清单-归档(1).xlsx:金融服务网点"
],
"itemCount": 4,
"items": [
{
"id": "YC-SERVICE-FINANCE-001",
"name": "中国农业银行股份有限公司红原县支行",
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx",
"sourceSheet": "金融服务网点",
"town": null,
"address": "红原县邛溪镇阳嘎中街",
"status": null,
"longitude": 102.54,
"latitude": 32.79,
"contacts": {
"contactPerson": "泽旺吉松",
"creditPhone": 13096265881
},
"metrics": {
"服务覆盖乡镇数": 10,
"主要贷款产品(可多选)": "惠农e贷、专业大户贷、商户贷、乡旅贷、富民贷、帮扶小额信贷。",
"最高单户贷款额度 (万元)": 150,
"最长贷款期限 (年)": "5年"
},
"attributes": {
"序号": 1,
"简称": "农行红原支行",
"年利率范围": 0.03,
"还款方式": "等额本息还款、一次性还本按约还息、一次性利随本清、"
}
},
{
"id": "YC-SERVICE-FINANCE-002",
"name": "四川红原农村商业银行股份有限公司",
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx",
"sourceSheet": "金融服务网点",
"town": null,
"address": "红原县邛溪镇绛熙中街13号",
"status": null,
"longitude": 102.54,
"latitude": 32.79,
"contacts": {
"contactPerson": "索让东周",
"creditPhone": 18283790555
},
"metrics": {
"服务覆盖乡镇数": 9,
"主要贷款产品(可多选)": "小额农贷、生源地信用助学贷款、惠商贷、居民消费贷、消费易贷、个人生产经营贷款、个人综合消费贷款、个人一手住房贷款、一人二手住房贷款",
"最高单户贷款额度 (万元)": 770,
"最长贷款期限 (年)": "生源地信用助学贷款22年、个人一手住房贷款30年、个人贷款5年。"
},
"attributes": {
"序号": 2,
"简称": "红原农商行",
"年利率范围": "2.1%—5.0%",
"还款方式": "按月结息、按年还本;按月结息,到期一次性还本;等额本息。"
}
},
{
"id": "YC-SERVICE-FINANCE-003",
"name": "中国邮政储蓄银行股份有限公司红原县支行",
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx",
"sourceSheet": "金融服务网点",
"town": null,
"address": null,
"status": null,
"longitude": null,
"latitude": null,
"contacts": {},
"metrics": {
"服务覆盖乡镇数": 9
},
"attributes": {
"序号": 3,
"简称": "邮储银行红原支行"
}
},
{
"id": "YC-SERVICE-FINANCE-004",
"name": "金融服务网点-4",
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx",
"sourceSheet": "金融服务网点",
"town": null,
"address": null,
"status": null,
"longitude": null,
"latitude": null,
"contacts": {},
"metrics": {},
"attributes": {
"序号": "乡村振兴股"
}
}
]
},
{
"categoryCode": "YC-SERVICE-INSURANCE",
"categoryName": "保险服务网点",
"industryStage": "social-service",
"sources": [
"详细数据清单-归档(1).xlsx:保险服务网点"
],
"itemCount": 4,
"items": [
{
"id": "YC-SERVICE-INSURANCE-001",
"name": "中华安盟财产保险股份有限公司红原支公司",
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx",
"sourceSheet": "保险服务网点",
"town": null,
"address": null,
"status": null,
"longitude": null,
"latitude": null,
"contacts": {
"claimHotline": 95585
},
"metrics": {
"服务覆盖乡镇数": 9
},
"attributes": {
"序号": 1,
"简称": "中华安盟"
}
},
{
"id": "YC-SERVICE-INSURANCE-002",
"name": "中国人民财产保险股份有限公司红原支公司",
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx",
"sourceSheet": "保险服务网点",
"town": null,
"address": null,
"status": null,
"longitude": null,
"latitude": null,
"contacts": {
"claimHotline": 95518
},
"metrics": {
"服务覆盖乡镇数": 9
},
"attributes": {
"序号": 2,
"简称": "人保财险"
}
},
{
"id": "YC-SERVICE-INSURANCE-003",
"name": "中华联合财产保险股份有限公司红原支公司",
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx",
"sourceSheet": "保险服务网点",
"town": null,
"address": null,
"status": null,
"longitude": null,
"latitude": null,
"contacts": {
"claimHotline": 95585
},
"metrics": {
"服务覆盖乡镇数": 9
},
"attributes": {
"序号": 3,
"简称": "中华财险"
}
},
{
"id": "YC-SERVICE-INSURANCE-004",
"name": "保险服务网点-4",
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx",
"sourceSheet": "保险服务网点",
"town": null,
"address": null,
"status": null,
"longitude": null,
"latitude": null,
"contacts": {},
"metrics": {},
"attributes": {
"序号": "疫控中心"
}
}
]
},
{
"categoryCode": "YC-GRASSLAND-RESOURCE",
"categoryName": "林草资源数据",
"industryStage": "artificial-grassland",
"sources": [
"详细数据清单-归档(1).xlsx:林草局数据"
],
"itemCount": 3,
"items": [
{
"id": "YC-GRASSLAND-RESOURCE-001",
"name": "林草局数据-1",
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx",
"sourceSheet": "林草局数据",
"town": null,
"address": null,
"status": null,
"longitude": null,
"latitude": null,
"contacts": {},
"metrics": {
"灌木林面积": "调整优化意见",
"围栏封育面积": "ABC 是基本草原",
"生态奖补面积,到每个村": "DE一般草原"
},
"attributes": {}
},
{
"id": "YC-GRASSLAND-RESOURCE-002",
"name": "林草局数据-2",
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx",
"sourceSheet": "林草局数据",
"town": null,
"address": null,
"status": null,
"longitude": null,
"latitude": null,
"contacts": {},
"metrics": {
"灌木林面积": "基本草原面积:",
"围栏封育面积": 637.127369,
"生态奖补面积,到每个村": "万亩"
},
"attributes": {}
},
{
"id": "YC-GRASSLAND-RESOURCE-003",
"name": "林草局数据-3",
"sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx",
"sourceSheet": "林草局数据",
"town": null,
"address": null,
"status": null,
"longitude": null,
"latitude": null,
"contacts": {},
"metrics": {
"灌木林面积": "一般草原面积",
"围栏封育面积": 119.301972,
"生态奖补面积,到每个村": "万亩"
},
"attributes": {}
}
]
},
{
"categoryCode": "YC-CXPT-BREEDING-BASE",
"categoryName": "cxpt养殖基地",
"industryStage": "scale-breeding",
"sources": [
"cxpt.t_base_land"
],
"itemCount": 28,
"items": [
{
"id": "2c9380898a69780a018a69a6e4d30001",
"name": "下哈拉玛标准化养殖基地",
"sourceFile": "cxpt PostgreSQL database",
"sourceSheet": "t_base_land",
"categoryCodeRaw": "breeding_base",
"categoryNameRaw": "养殖基地",
"areaCode": "513233103202",
"areaName": "下哈拉玛村",
"areaFullName": "四川省阿坝藏族羌族自治州红原县安曲镇下哈拉玛村",
"address": null,
"scale": "1000亩",
"longitude": null,
"latitude": null,
"geometryType": null,
"contacts": {
"leader": "下哈拉玛标准化养殖基地",
"phone": "下哈拉玛标准化养殖基地"
},
"metrics": {
"acreage": null
},
"attributes": {}
},
{
"id": "4028c4f88704809e0187048125ab0001",
"name": "刷经寺镇国航专属农场",
"sourceFile": "cxpt PostgreSQL database",
"sourceSheet": "t_base_land",
"categoryCodeRaw": "breeding_base",
"categoryNameRaw": "养殖基地",
"areaCode": "513233101000",
"areaName": "刷经寺镇",
"areaFullName": "四川省阿坝藏族羌族自治州红原县刷经寺镇",
"address": "红原县刷经寺镇",
"scale": "200亩",
"longitude": 102.60753736,
"latitude": 32.01520185,
"geometryType": "Point",
"contacts": {
"leader": "文明智",
"phone": "18372667181"
},
"metrics": {
"acreage": null
},
"attributes": {}
},
{
"id": "4028816489fc57730189fc6a28c60001",
"name": "唐日标准化养殖基地",
"sourceFile": "cxpt PostgreSQL database",
"sourceSheet": "t_base_land",
"categoryCodeRaw": "breeding_base",
"categoryNameRaw": "养殖基地",
"areaCode": "513233",
"areaName": "红原县",
"areaFullName": "四川省阿坝藏族羌族自治州红原县",
"address": "红原",
"scale": "1000",
"longitude": 102.52418747,
"latitude": 32.7965246,
"geometryType": "Polygon",
"contacts": {
"leader": "唐日标准化养殖基地",
"phone": "18090242999"
},
"metrics": {
"acreage": null
},
"attributes": {}
},
{
"id": "4028c4f88704809e01870482432f000f",
"name": "国航专属农牧场",
"sourceFile": "cxpt PostgreSQL database",
"sourceSheet": "t_base_land",
"categoryCodeRaw": "breeding_base",
"categoryNameRaw": "养殖基地",
"areaCode": "513233100000",
"areaName": "邛溪镇",
"areaFullName": "四川省阿坝藏族羌族自治州红原县邛溪镇",
"address": null,
"scale": null,
"longitude": 102.611698,
"latitude": 32.928581,
"geometryType": "Point",
"contacts": {
"phone": "13888888888"
},
"metrics": {
"acreage": null
},
"attributes": {}
},
{
"id": "4028c4f88704809e01870483afc00027",
"name": "央诺尔畜牧专业合作社",
"sourceFile": "cxpt PostgreSQL database",
"sourceSheet": "t_base_land",
"categoryCodeRaw": "breeding_base",
"categoryNameRaw": "养殖基地",
"areaCode": "513233205000",
"areaName": "阿木乡",
"areaFullName": "四川省阿坝藏族羌族自治州红原县阿木乡",
"address": "四川省红原县阿木乡",
"scale": null,
"longitude": 102.64730957,
"latitude": 32.94532722,
"geometryType": "Point",
"contacts": {},
"metrics": {
"acreage": null
},
"attributes": {}
},
{
"id": "4028c4f88704809e018704828d450013",
"name": "安曲哈拉玛合作社",
"sourceFile": "cxpt PostgreSQL database",
"sourceSheet": "t_base_land",
"categoryCodeRaw": "breeding_base",
"categoryNameRaw": "养殖基地",
"areaCode": "513233103000",
"areaName": "安曲镇",
"areaFullName": "四川省阿坝藏族羌族自治州红原县安曲镇",
"address": null,
"scale": null,
"longitude": 102.32834969,
"latitude": 32.64290686,
"geometryType": "Point",
"contacts": {},
"metrics": {
"acreage": null
},
"attributes": {}
},
{
"id": "4028c4f88704809e01870483a0800026",
"name": "安曲家庭农场",
"sourceFile": "cxpt PostgreSQL database",
"sourceSheet": "t_base_land",
"categoryCodeRaw": "breeding_base",
"categoryNameRaw": "养殖基地",
"areaCode": "513233103000",
"areaName": "安曲镇",
"areaFullName": "四川省阿坝藏族羌族自治州红原县安曲镇",
"address": "红原县安曲牧场(近209省道)",
"scale": null,
"longitude": 102.38834969,
"latitude": 32.69290686,
"geometryType": "Point",
"contacts": {},
"metrics": {
"acreage": null
},
"attributes": {}
},
{
"id": "4028c4f88704809e0187048291f90014",
"name": "安曲抗灾保畜基地",
"sourceFile": "cxpt PostgreSQL database",
"sourceSheet": "t_base_land",
"categoryCodeRaw": "breeding_base",
"categoryNameRaw": "养殖基地",
"areaCode": "513233103000",
"areaName": "安曲镇",
"areaFullName": "四川省阿坝藏族羌族自治州红原县安曲镇",
"address": null,
"scale": null,
"longitude": 102.30834969,
"latitude": 32.67290686,
"geometryType": "Point",
"contacts": {},
"metrics": {
"acreage": null
},
"attributes": {}
},
{
"id": "4028c4f88704809e0187048318f2001b",
"name": "尚源牧业发展有限责任公司",
"sourceFile": "cxpt PostgreSQL database",
"sourceSheet": "t_base_land",
"categoryCodeRaw": "breeding_base",
"categoryNameRaw": "养殖基地",
"areaCode": "513233100000",
"areaName": "邛溪镇",
"areaFullName": "四川省阿坝藏族羌族自治州红原县邛溪镇",
"address": "红原县邛溪镇",
"scale": null,
"longitude": 102.53242152,
"latitude": 32.81168014,
"geometryType": "Point",
"contacts": {},
"metrics": {
"acreage": null
},
"attributes": {}
},
{
"id": "4028c4f88704809e018704814a8d0005",
"name": "更攀合作总社",
"sourceFile": "cxpt PostgreSQL database",
"sourceSheet": "t_base_land",
"categoryCodeRaw": "breeding_base",
"categoryNameRaw": "养殖基地",
"areaCode": "513233100000",
"areaName": "邛溪镇",
"areaFullName": "四川省阿坝藏族羌族自治州红原县邛溪镇",
"address": "红原县邛溪镇瑞庆西路",
"scale": "154244亩",
"longitude": 102.583582,
"latitude": 32.830854,
"geometryType": "Point",
"contacts": {
"phone": "18789497898"
},
"metrics": {
"acreage": null
},
"attributes": {}
},
{
"id": "4028c4f88704809e01870482e47c0015",
"name": "查尔玛乡查龙合作社",
"sourceFile": "cxpt PostgreSQL database",
"sourceSheet": "t_base_land",
"categoryCodeRaw": "breeding_base",
"categoryNameRaw": "养殖基地",
"areaCode": "513233203000",
"areaName": "查尔玛乡",
"areaFullName": "四川省阿坝藏族羌族自治州红原县查尔玛乡",
"address": null,
"scale": null,
"longitude": 101.96111079,
"latitude": 32.36851156,
"geometryType": "Point",
"contacts": {},
"metrics": {
"acreage": null
},
"attributes": {}
},
{
"id": "4028c4f88704809e018704812a950002",
"name": "查尔玛乡达尔龙合作社",
"sourceFile": "cxpt PostgreSQL database",
"sourceSheet": "t_base_land",
"categoryCodeRaw": "breeding_base",
"categoryNameRaw": "养殖基地",
"areaCode": "513233202000",
"areaName": "江茸乡",
"areaFullName": "四川省阿坝藏族羌族自治州红原县江茸乡",
"address": null,
"scale": "388680亩",
"longitude": 102.25164714,
"latitude": 32.34434154,
"geometryType": "Point",
"contacts": {
"phone": "13666666666"
},
"metrics": {
"acreage": null
},
"attributes": {}
},
{
"id": "4028c4f88704809e01870482ee200016",
"name": "查尔玛乡达智合作社",
"sourceFile": "cxpt PostgreSQL database",
"sourceSheet": "t_base_land",
"categoryCodeRaw": "breeding_base",
"categoryNameRaw": "养殖基地",
"areaCode": "513233203000",
"areaName": "查尔玛乡",
"areaFullName": "四川省阿坝藏族羌族自治州红原县查尔玛乡",
"address": null,
"scale": null,
"longitude": 102.10243332,
"latitude": 32.5533277,
"geometryType": "Point",
"contacts": {},
"metrics": {
"acreage": null
},
"attributes": {}
},
{
"id": "4028816489fc81de0189fc8dd5c90000",
"name": "查尔玛标准养殖基地",
"sourceFile": "cxpt PostgreSQL database",
"sourceSheet": "t_base_land",
"categoryCodeRaw": "breeding_base",
"categoryNameRaw": "养殖基地",
"areaCode": "513233203000",
"areaName": "查尔玛乡",
"areaFullName": "四川省阿坝藏族羌族自治州红原县查尔玛乡",
"address": "查尔玛乡",
"scale": "200",
"longitude": null,
"latitude": null,
"geometryType": null,
"contacts": {
"leader": "查尔玛标准养殖基地",
"phone": "13696856985"
},
"metrics": {
"acreage": null
},
"attributes": {}
},
{
"id": "2c9380898a69780a018a69a654f90000",
"name": "瓦切卡口乡标准化养殖基地",
"sourceFile": "cxpt PostgreSQL database",
"sourceSheet": "t_base_land",
"categoryCodeRaw": "breeding_base",
"categoryNameRaw": "养殖基地",
"areaCode": "513233204000",
"areaName": "瓦切镇",
"areaFullName": "四川省阿坝藏族羌族自治州红原县瓦切镇",
"address": null,
"scale": "2000",
"longitude": null,
"latitude": null,
"geometryType": null,
"contacts": {
"leader": "瓦切卡口乡标准化养殖基地",
"phone": "瓦切卡口乡标准化养殖基地"
},
"metrics": {
"acreage": null
},
"attributes": {}
},
{
"id": "2c9380898a69780a018a69a7484e0002",
"name": "瓦切唐日标准化养殖基地",
"sourceFile": "cxpt PostgreSQL database",
"sourceSheet": "t_base_land",
"categoryCodeRaw": "breeding_base",
"categoryNameRaw": "养殖基地",
"areaCode": "513233204201",
"areaName": "唐日村",
"areaFullName": "四川省阿坝藏族羌族自治州红原县瓦切镇唐日村",
"address": null,
"scale": "1000亩",
"longitude": null,
"latitude": null,
"geometryType": null,
"contacts": {
"leader": "瓦切唐日标准化养殖基地",
"phone": "瓦切唐日标准化养殖基地"
},
"metrics": {
"acreage": null
},
"attributes": {}
},
{
"id": "4028c4f88704809e01870483561f0020",
"name": "瓦切德香村合作社",
"sourceFile": "cxpt PostgreSQL database",
"sourceSheet": "t_base_land",
"categoryCodeRaw": "breeding_base",
"categoryNameRaw": "养殖基地",
"areaCode": "513233204000",
"areaName": "瓦切镇",
"areaFullName": "四川省阿坝藏族羌族自治州红原县瓦切镇",
"address": null,
"scale": "1800亩",
"longitude": 102.60756103,
"latitude": 33.16501517,
"geometryType": "Point",
"contacts": {},
"metrics": {
"acreage": null
},
"attributes": {}
},
{
"id": "4028c4f88704809e018704836a0f0022",
"name": "瓦切罗尔江合作社",
"sourceFile": "cxpt PostgreSQL database",
"sourceSheet": "t_base_land",
"categoryCodeRaw": "breeding_base",
"categoryNameRaw": "养殖基地",
"areaCode": "513233204000",
"areaName": "瓦切镇",
"areaFullName": "四川省阿坝藏族羌族自治州红原县瓦切镇",
"address": null,
"scale": "5000亩",
"longitude": 102.61692465,
"latitude": 33.07321484,
"geometryType": "Point",
"contacts": {},
"metrics": {
"acreage": null
},
"attributes": {}
},
{
"id": "4028c4f88704809e0187048271970011",
"name": "瓦切镇达峨村种草大户泽郎夺尔基",
"sourceFile": "cxpt PostgreSQL database",
"sourceSheet": "t_base_land",
"categoryCodeRaw": "breeding_base",
"categoryNameRaw": "养殖基地",
"areaCode": "513233204000",
"areaName": "瓦切镇",
"areaFullName": "四川省阿坝藏族羌族自治州红原县瓦切镇",
"address": "红原县瓦切镇达峨村",
"scale": "2000余平方千米",
"longitude": 102.768611,
"latitude": 33.218282,
"geometryType": "Point",
"contacts": {
"leader": "泽郎夺尔基",
"phone": "18728211722"
},
"metrics": {
"acreage": null
},
"attributes": {}
},
{
"id": "4028c4f88704809e0187048137b80004",
"name": "红原县邛溪镇热多村高产奶牦牛繁育基地",
"sourceFile": "cxpt PostgreSQL database",
"sourceSheet": "t_base_land",
"categoryCodeRaw": "breeding_base",
"categoryNameRaw": "养殖基地",
"areaCode": "513233100000",
"areaName": "邛溪镇",
"areaFullName": "四川省阿坝藏族羌族自治州红原县邛溪镇",
"address": "红原县邛溪镇热多村",
"scale": "1000头",
"longitude": 102.607635,
"latitude": 32.899228,
"geometryType": "Point",
"contacts": {
"leader": "桑键",
"phone": "13990407109"
},
"metrics": {
"acreage": null
},
"attributes": {}
},
{
"id": "4028c4f88704809e018704812f390003",
"name": "红原县麦洼牦牛现代农业园区",
"sourceFile": "cxpt PostgreSQL database",
"sourceSheet": "t_base_land",
"categoryCodeRaw": "breeding_base",
"categoryNameRaw": "养殖基地",
"areaCode": "513233105000",
"areaName": "龙日镇",
"areaFullName": "四川省阿坝藏族羌族自治州红原县龙日镇",
"address": null,
"scale": "664.2亩",
"longitude": 102.523105,
"latitude": 32.470534,
"geometryType": "Point",
"contacts": {
"leader": "李先生",
"phone": "13926576971"
},
"metrics": {
"acreage": null
},
"attributes": {}
},
{
"id": "4028c4f88704809e0187048339ee001e",
"name": "红原雪玛格牦牛养殖合作社",
"sourceFile": "cxpt PostgreSQL database",
"sourceSheet": "t_base_land",
"categoryCodeRaw": "breeding_base",
"categoryNameRaw": "养殖基地",
"areaCode": "513233101000",
"areaName": "刷经寺镇",
"areaFullName": "四川省阿坝藏族羌族自治州红原县刷经寺镇",
"address": null,
"scale": null,
"longitude": 102.48668882,
"latitude": 32.20779478,
"geometryType": "Point",
"contacts": {},
"metrics": {
"acreage": null
},
"attributes": {}
},
{
"id": "4028c4f88704809e0187048349d4001f",
"name": "色地让里村合作社",
"sourceFile": "cxpt PostgreSQL database",
"sourceSheet": "t_base_land",
"categoryCodeRaw": "breeding_base",
"categoryNameRaw": "养殖基地",
"areaCode": "513233208000",
"areaName": "色地镇",
"areaFullName": "四川省阿坝藏族羌族自治州红原县色地镇",
"address": null,
"scale": "2000平方米",
"longitude": 102.97944868,
"latitude": 32.99718428,
"geometryType": "Point",
"contacts": {},
"metrics": {
"acreage": null
},
"attributes": {}
},
{
"id": "4028c4f88704809e0187048300bb0019",
"name": "邛溪国航奶牛基地",
"sourceFile": "cxpt PostgreSQL database",
"sourceSheet": "t_base_land",
"categoryCodeRaw": "breeding_base",
"categoryNameRaw": "养殖基地",
"areaCode": "513233100000",
"areaName": "邛溪镇",
"areaFullName": "四川省阿坝藏族羌族自治州红原县邛溪镇",
"address": "红原县邛溪镇",
"scale": null,
"longitude": 102.60973364,
"latitude": 32.93442417,
"geometryType": "Point",
"contacts": {},
"metrics": {
"acreage": null
},
"attributes": {}
},
{
"id": "4028c4f88704809e018704830f93001a",
"name": "邛溪国航肉牛基地",
"sourceFile": "cxpt PostgreSQL database",
"sourceSheet": "t_base_land",
"categoryCodeRaw": "breeding_base",
"categoryNameRaw": "养殖基地",
"areaCode": "513233100000",
"areaName": "邛溪镇",
"areaFullName": "四川省阿坝藏族羌族自治州红原县邛溪镇",
"address": "红原县邛溪镇",
"scale": null,
"longitude": 102.5857137,
"latitude": 32.9178444,
"geometryType": "Point",
"contacts": {},
"metrics": {
"acreage": null
},
"attributes": {}
},
{
"id": "4028c4f88704809e018704832780001d",
"name": "邛溪镇奇杨益西合作社",
"sourceFile": "cxpt PostgreSQL database",
"sourceSheet": "t_base_land",
"categoryCodeRaw": "breeding_base",
"categoryNameRaw": "养殖基地",
"areaCode": "513233103000",
"areaName": "安曲镇",
"areaFullName": "四川省阿坝藏族羌族自治州红原县安曲镇",
"address": null,
"scale": "3355.4亩",
"longitude": 102.51815641,
"latitude": 32.7759152,
"geometryType": "Point",
"contacts": {},
"metrics": {
"acreage": null
},
"attributes": {}
},
{
"id": "4028c4f88704809e0187048288e30012",
"name": "阿木乡卡口养殖基地",
"sourceFile": "cxpt PostgreSQL database",
"sourceSheet": "t_base_land",
"categoryCodeRaw": "breeding_base",
"categoryNameRaw": "养殖基地",
"areaCode": "513233205000",
"areaName": "阿木乡",
"areaFullName": "四川省阿坝藏族羌族自治州红原县阿木乡",
"address": "四川省红原县阿木乡",
"scale": null,
"longitude": 102.66730957,
"latitude": 32.90532722,
"geometryType": "Point",
"contacts": {},
"metrics": {
"acreage": null
},
"attributes": {}
},
{
"id": "4028c4f88704809e01870482f79f0018",
"name": "麦洼乡利群合作社",
"sourceFile": "cxpt PostgreSQL database",
"sourceSheet": "t_base_land",
"categoryCodeRaw": "breeding_base",
"categoryNameRaw": "养殖基地",
"areaCode": "513233207000",
"areaName": "麦洼乡",
"areaFullName": "四川省阿坝藏族羌族自治州红原县麦洼乡",
"address": "四川省阿坝藏族羌族自治州红原县麦洼乡滚塘村",
"scale": "1万亩",
"longitude": 102.91804548,
"latitude": 33.05789166,
"geometryType": "Point",
"contacts": {},
"metrics": {
"acreage": null
},
"attributes": {}
}
]
},
{
"categoryCode": "YC-CXPT-FORAGE-BASE",
"categoryName": "cxpt饲草基地",
"industryStage": "artificial-grassland",
"sources": [
"cxpt.t_base_land"
],
"itemCount": 5,
"items": [
{
"id": "2c9380898a69780a018a69a7c9b10003",
"name": "安曲种草基地",
"sourceFile": "cxpt PostgreSQL database",
"sourceSheet": "t_base_land",
"categoryCodeRaw": "forage_base",
"categoryNameRaw": "饲草基地",
"areaCode": "513233103000",
"areaName": "安曲镇",
"areaFullName": "四川省阿坝藏族羌族自治州红原县安曲镇",
"address": null,
"scale": "5000亩",
"longitude": null,
"latitude": null,
"geometryType": null,
"contacts": {
"leader": "安曲种草基地",
"phone": "安曲种草基地"
},
"metrics": {
"acreage": null
},
"attributes": {}
},
{
"id": "4028c4f88704809e018704835aae0021",
"name": "瓦切抗灾保畜基地",
"sourceFile": "cxpt PostgreSQL database",
"sourceSheet": "t_base_land",
"categoryCodeRaw": "forage_base",
"categoryNameRaw": "饲草基地",
"areaCode": "513233204000",
"areaName": "瓦切镇",
"areaFullName": "四川省阿坝藏族羌族自治州红原县瓦切镇",
"address": null,
"scale": "3000亩",
"longitude": 102.58969571,
"latitude": 33.0961638,
"geometryType": "Point",
"contacts": {},
"metrics": {
"acreage": null
},
"attributes": {}
},
{
"id": "4028c4f88704809e0187048380420023",
"name": "瓦切色永村种草基地",
"sourceFile": "cxpt PostgreSQL database",
"sourceSheet": "t_base_land",
"categoryCodeRaw": "forage_base",
"categoryNameRaw": "饲草基地",
"areaCode": "513233204000",
"areaName": "瓦切镇",
"areaFullName": "四川省阿坝藏族羌族自治州红原县瓦切镇",
"address": null,
"scale": "2000亩",
"longitude": 102.63066554,
"latitude": 33.14234459,
"geometryType": "Point",
"contacts": {},
"metrics": {
"acreage": null
},
"attributes": {}
},
{
"id": "4028c4f88704809e01870483927c0025",
"name": "瓦切镇特色蔬菜种植园",
"sourceFile": "cxpt PostgreSQL database",
"sourceSheet": "t_base_land",
"categoryCodeRaw": "forage_base",
"categoryNameRaw": "饲草基地",
"areaCode": "513233204000",
"areaName": "瓦切镇",
"areaFullName": "四川省阿坝藏族羌族自治州红原县瓦切镇",
"address": null,
"scale": null,
"longitude": 102.5959684,
"latitude": 33.08257632,
"geometryType": "Point",
"contacts": {},
"metrics": {
"acreage": null
},
"attributes": {}
},
{
"id": "4028c4f88704809e01870481a0d10006",
"name": "红原县唐日牦牛养殖农民专业合作社",
"sourceFile": "cxpt PostgreSQL database",
"sourceSheet": "t_base_land",
"categoryCodeRaw": "forage_base",
"categoryNameRaw": "饲草基地",
"areaCode": "513233204000",
"areaName": "瓦切镇",
"areaFullName": "四川省阿坝藏族羌族自治州红原县瓦切镇",
"address": "红原县瓦切镇唐日村",
"scale": "2000亩",
"longitude": 102.690423,
"latitude": 33.134153,
"geometryType": "Point",
"contacts": {
"leader": "旦真贡",
"phone": "18090242999"
},
"metrics": {
"acreage": null
},
"attributes": {}
}
]
},
{
"categoryCode": "YC-CXPT-BREEDING-STOCK-BASE",
"categoryName": "cxpt种畜基地",
"industryStage": "scale-breeding",
"sources": [
"cxpt.t_base_land"
],
"itemCount": 1,
"items": [
{
"id": "4028c4f88704809e01870482f2de0017",
"name": "麦洼乡达坤玛选育场",
"sourceFile": "cxpt PostgreSQL database",
"sourceSheet": "t_base_land",
"categoryCodeRaw": "breeding_stock_base",
"categoryNameRaw": "种畜基地",
"areaCode": "513233207000",
"areaName": "麦洼乡",
"areaFullName": "四川省阿坝藏族羌族自治州红原县麦洼乡",
"address": null,
"scale": "1万亩",
"longitude": 102.90295791,
"latitude": 33.05466505,
"geometryType": "Point",
"contacts": {},
"metrics": {
"acreage": null
},
"attributes": {}
}
]
},
{
"categoryCode": "YC-CXPT-GRASS-SEED-BASE",
"categoryName": "cxpt草种基地",
"industryStage": "artificial-grassland",
"sources": [
"cxpt.t_base_land"
],
"itemCount": 1,
"items": [
{
"id": "4028c4f88704809e018704831d77001c",
"name": "红原县金针菇特色种植园区",
"sourceFile": "cxpt PostgreSQL database",
"sourceSheet": "t_base_land",
"categoryCodeRaw": "grass_seed_base",
"categoryNameRaw": "草种基地",
"areaCode": "513233100000",
"areaName": "邛溪镇",
"areaFullName": "四川省阿坝藏族羌族自治州红原县邛溪镇",
"address": "红原县邛溪镇",
"scale": null,
"longitude": 102.5421184,
"latitude": 32.79970142,
"geometryType": "Point",
"contacts": {},
"metrics": {
"acreage": null
},
"attributes": {}
}
]
},
{
"categoryCode": "YC-CXPT-OTHER-BASE",
"categoryName": "cxpt其他基地",
"industryStage": "social-service",
"sources": [
"cxpt.t_base_land"
],
"itemCount": 11,
"items": [
{
"id": "4028c4f88704809e0187048215ac000e",
"name": "刷经寺镇露地蔬菜种植基地",
"sourceFile": "cxpt PostgreSQL database",
"sourceSheet": "t_base_land",
"categoryCodeRaw": "other",
"categoryNameRaw": "其他基地",
"areaCode": "513233101000",
"areaName": "刷经寺镇",
"areaFullName": "四川省阿坝藏族羌族自治州红原县刷经寺镇",
"address": "红原县刷经寺镇",
"scale": null,
"longitude": 102.620282,
"latitude": 32.037843,
"geometryType": "Point",
"contacts": {
"leader": "文明智",
"phone": "0837-2667185"
},
"metrics": {
"acreage": null
},
"attributes": {}
},
{
"id": "4028c4f88704809e01870482023a000c",
"name": "四川红原遛遛牛食品有限责任公司",
"sourceFile": "cxpt PostgreSQL database",
"sourceSheet": "t_base_land",
"categoryCodeRaw": "other",
"categoryNameRaw": "其他基地",
"areaCode": "513233103000",
"areaName": "安曲镇",
"areaFullName": "四川省阿坝藏族羌族自治州红原县安曲镇",
"address": "四川省红原县绿色产业园区",
"scale": "25亩",
"longitude": 102.324776,
"latitude": 32.689929,
"geometryType": "Point",
"contacts": {
"leader": "张自龙",
"phone": "13909047233"
},
"metrics": {
"acreage": null
},
"attributes": {}
},
{
"id": "4028c4f88704809e018704826d4c0010",
"name": "植物园",
"sourceFile": "cxpt PostgreSQL database",
"sourceSheet": "t_base_land",
"categoryCodeRaw": "other",
"categoryNameRaw": "其他基地",
"areaCode": "513233100000",
"areaName": "邛溪镇",
"areaFullName": "四川省阿坝藏族羌族自治州红原县邛溪镇",
"address": null,
"scale": null,
"longitude": 102.551944,
"latitude": 32.780316,
"geometryType": "Point",
"contacts": {
"phone": "13888888888"
},
"metrics": {
"acreage": null
},
"attributes": {}
},
{
"id": "4028c4f88704809e01870481f0a0000a",
"name": "活畜交易市场",
"sourceFile": "cxpt PostgreSQL database",
"sourceSheet": "t_base_land",
"categoryCodeRaw": "other",
"categoryNameRaw": "其他基地",
"areaCode": "513233100000",
"areaName": "邛溪镇",
"areaFullName": "四川省阿坝藏族羌族自治州红原县邛溪镇",
"address": "红原县邛溪镇",
"scale": "3000亩",
"longitude": 102.57314,
"latitude": 32.82984,
"geometryType": "Point",
"contacts": {
"leader": "向白",
"phone": "18090223335"
},
"metrics": {
"acreage": null
},
"attributes": {}
},
{
"id": "4028c4f88704809e01870481f4e9000b",
"name": "物联网大数据监测系统",
"sourceFile": "cxpt PostgreSQL database",
"sourceSheet": "t_base_land",
"categoryCodeRaw": "other",
"categoryNameRaw": "其他基地",
"areaCode": "513233205000",
"areaName": "阿木乡",
"areaFullName": "四川省阿坝藏族羌族自治州红原县阿木乡",
"address": "红原县绿色工业园区",
"scale": "10000",
"longitude": 102.776153,
"latitude": 32.72242,
"geometryType": "Point",
"contacts": {
"leader": "熊先生",
"phone": "13845444444"
},
"metrics": {
"acreage": null
},
"attributes": {}
},
{
"id": "4028c4f88704809e0187048384dc0024",
"name": "瓦切阳诺合作社",
"sourceFile": "cxpt PostgreSQL database",
"sourceSheet": "t_base_land",
"categoryCodeRaw": "other",
"categoryNameRaw": "其他基地",
"areaCode": "513233204000",
"areaName": "瓦切镇",
"areaFullName": "四川省阿坝藏族羌族自治州红原县瓦切镇",
"address": null,
"scale": "3000亩",
"longitude": 102.63675654,
"latitude": 33.14253159,
"geometryType": "Point",
"contacts": {},
"metrics": {
"acreage": null
},
"attributes": {}
},
{
"id": "4028c4f88704809e018704811f290000",
"name": "红原县城市污水处理厂",
"sourceFile": "cxpt PostgreSQL database",
"sourceSheet": "t_base_land",
"categoryCodeRaw": "other",
"categoryNameRaw": "其他基地",
"areaCode": "513233100000",
"areaName": "邛溪镇",
"areaFullName": "四川省阿坝藏族羌族自治州红原县邛溪镇",
"address": null,
"scale": "2.5公顷",
"longitude": 102.559801,
"latitude": 32.816904,
"geometryType": "Point",
"contacts": {},
"metrics": {
"acreage": null
},
"attributes": {}
},
{
"id": "4028c4f88704809e01870481b7180008",
"name": "红原县永源牦牛肉业有限公司",
"sourceFile": "cxpt PostgreSQL database",
"sourceSheet": "t_base_land",
"categoryCodeRaw": "other",
"categoryNameRaw": "其他基地",
"areaCode": "513233205000",
"areaName": "阿木乡",
"areaFullName": "四川省阿坝藏族羌族自治州红原县阿木乡",
"address": "红原县邛溪镇绿色工业园区",
"scale": "30亩",
"longitude": 102.628332,
"latitude": 32.639351,
"geometryType": "Point",
"contacts": {
"leader": "张健",
"phone": "13566787888"
},
"metrics": {
"acreage": null
},
"attributes": {}
},
{
"id": "4028c4f88704809e01870482067d000d",
"name": "红原县茸日玛绵羊养殖专业合作社",
"sourceFile": "cxpt PostgreSQL database",
"sourceSheet": "t_base_land",
"categoryCodeRaw": "other",
"categoryNameRaw": "其他基地",
"areaCode": "513233202000",
"areaName": "江茸乡",
"areaFullName": "四川省阿坝藏族羌族自治州红原县江茸乡",
"address": "红原县江茸镇日玛村",
"scale": "5000亩",
"longitude": 102.23279,
"latitude": 32.402614,
"geometryType": "Point",
"contacts": {
"leader": "旦真则旺",
"phone": "13541576727"
},
"metrics": {
"acreage": null
},
"attributes": {}
},
{
"id": "4028c4f88704809e01870481aa840007",
"name": "红原牦牛乳业有限责任公司",
"sourceFile": "cxpt PostgreSQL database",
"sourceSheet": "t_base_land",
"categoryCodeRaw": "other",
"categoryNameRaw": "其他基地",
"areaCode": "513233100000",
"areaName": "邛溪镇",
"areaFullName": "四川省阿坝藏族羌族自治州红原县邛溪镇",
"address": "四川省红原县邛溪镇",
"scale": "92490平方米",
"longitude": 102.747914,
"latitude": 32.802653,
"geometryType": "Point",
"contacts": {
"leader": "杨勇",
"phone": "13551770158"
},
"metrics": {
"acreage": null
},
"attributes": {}
},
{
"id": "4028c4f88704809e01870481cc520009",
"name": "(无害化)红原县宜霖阳光环保科技有限公司",
"sourceFile": "cxpt PostgreSQL database",
"sourceSheet": "t_base_land",
"categoryCodeRaw": "other",
"categoryNameRaw": "其他基地",
"areaCode": "513233105000",
"areaName": "龙日镇",
"areaFullName": "四川省阿坝藏族羌族自治州红原县龙日镇",
"address": "红原县邛溪镇绛熙东街",
"scale": "占地20亩",
"longitude": 102.352372,
"latitude": 32.538109,
"geometryType": "Point",
"contacts": {
"leader": "谢光伍",
"phone": "13609975631"
},
"metrics": {
"acreage": null
},
"attributes": {}
}
]
}
]
}
`,U5=[{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}],N9=G8.map(n=>n.zoneName),V02=new Map(w4.map(n=>[n.name,n.center])),FC=JSON.parse(W02),ql=FC.categories||[],H02=new Map(ql.map(n=>[n.categoryCode,n])),O_=new Set(["企业全称","主体全称","畜牧工作站","规划建设股","执法大队","疫控中心","科教股","科技股","乡村振兴股","农产品检测站","数据欠缺,请两个股室核定饲草基地数据。","对接相关科研院校收集数据"]),Y02=new Set(["YC-GRASSLAND-RESOURCE","YC-CXPT-OTHER-BASE"]),K02=[/^林草局数据-\d+$/,/^(技术培训|金融服务网点|保险服务网点)-\d+$/],q02=[/蔬菜/,/金针菇/,/植物园/,/污水/,/物联网/,/绵羊/],bm=ql.flatMap(n=>(n.items||[]).map(e=>{var t;return s3(W2({},e),{categoryCode:n.categoryCode,categoryName:n.categoryName,stageKey:n.industryStage,stageName:((t=$5(n.industryStage))==null?void 0:t.name)||n.categoryName})})),ra=bm.filter(xt),B_=new Map(bm.map(n=>[String(n.id),n])),Sm=Ot("YC-FAMILY-PASTURE"),DC=Ot(["YC-BREEDING-STOCK","YC-CXPT-BREEDING-STOCK-BASE"]),aa=Ot(["YC-FORAGE-BASE","YC-CXPT-FORAGE-BASE","YC-CXPT-GRASS-SEED-BASE"]),H8=Ot("YC-DISASTER-FORAGE-STORAGE"),m5=Ot("YC-PROCESSING-PLANT"),$9=Ot("YC-SLAUGHTERHOUSE"),OC=Ot("YC-FARM-EQUIPMENT"),wm=Ot("YC-DISEASE-CONTROL"),O8=Ot("YC-TECH-TRAINING"),sa=Ot("YC-SERVICE-FINANCE"),Xl=Ot("YC-SERVICE-INSURANCE"),Td=f6(Sm);f6(aa);const xh=f6(H8),X02=f6(DC);f6(m5);f6($9);const Eh=f6(OC),Ph=f6(wm),BC=f6(O8),Cm=f6(sa),GC=f6(Xl);ql.filter(n=>Ot(n.categoryCode).some(xt)).length;ra.length;new Set(ra.map(d6).filter(Boolean)).size||N9.length;const Z02=Math.max(Eh,F9.reduce((n,e)=>n+Number(e.devices||0),0)),G_=Pn(aa,n=>T0(n,["种植面积 (亩)","acreage"])||B8(n.scale)),Mh=Pn(H8,n=>T0(n,["总库容 (吨)"])),j_=Pn(Ot("YC-BREEDING-BASE"),n=>T0(n,["设计存栏量 (头)"])),J02=Pn(Ot("YC-BREEDING-BASE"),n=>T0(n,["年出栏量 (头)"])),jC=Pn(m5,n=>T0(n,["年产值 (万元)"])),Tm=Pn(m5,n=>T0(n,["年加工鲜奶总量 (吨)","年加工原料肉总量 (吨)"])),zC=Pn(m5,n=>T0(n,["带动本地农户数"])),Am=Pn($9,n=>T0(n,["年总产值 (万元)"])),xm=Pn($9,n=>T0(n,["年屠宰总量 (头)"])),UC=Pn($9,n=>T0(n,["冷冻库容量 (吨)"])),$C=jC+Am,Fr=Pm(sa,n=>T0(n,["最高单户贷款额度 (万元)"])),Q02=Pm(sa,n=>T0(n,["服务覆盖乡镇数"])),kh=Pm(Xl,n=>T0(n,["服务覆盖乡镇数"])),WC=Pn(O8,n=>T0(n,["年培训场次"])),ll=Pn(O8,n=>T0(n,["年培训人次"])),ee2=Ot("YC-BREEDING-BASE"),z_=Ee2([...aa,...H8]),te2=Pe2(),ne2=Me2(),ie2=F9.map(n=>({key:n.name,name:n.name,value:Number(n.devices||0),unit:"套",extra:`${jn(n.count)}头识别样本`})).filter(n=>n.value>0).sort(W9),re2=F9.map(n=>({key:n.name,name:n.name,value:Number(n.count||0),unit:"头",extra:`${jn(n.devices)}套设备`})).filter(n=>n.value>0).sort(W9),ae2=ge2(),se2=Q6(L9.grasslandArea/1e4,2);FC.generatedAt;H8.map(Em);[...m5,...$9].map(Em);ra.map(Em);const oe2=ra.map(ve2).sort((n,e)=>Number(e.canLocate)-Number(n.canLocate)||n.stageOrder-e.stageOrder||String(n.name).localeCompare(String(e.name),"zh-CN"));U5.reduce((n,e)=>n+b9(e.key),0);new Set(U5.flatMap(n=>ul(n.key).map(e=>e.town)).filter(Boolean)).size||N9.length;U5.map(n=>({key:n.key,name:n.name,value:b9(n.key),unit:n.key==="family-pasture"?"户":"个",color:n.color}));U_(Sm,d6),Q6(mr/Math.max(Td,1)),Q6(G_/1e4,2),Q6(G_/1e4,2),b9("artificial-grassland"),b9("scale-breeding"),U_(H8,d6),b9("slaughter-processing"),Q6($C,1),Q6(Am,1),b9("farm-equipment"),b9("farm-equipment"),F9.reduce((n,e)=>n+Number(e.devices||0),0),F9.length,b9("social-service");const le2=Se2(),ue2=E8(H8,d6,n=>T0(n,["总库容 (吨)"])).map(n=>s3(W2({},n),{unit:"吨",extra:`${n.count}个库点`})),ce2=[{key:"milk-processing",name:"乳品加工",value:Pn(m5.filter(ke2),n=>T0(n,["年产值 (万元)"])),unit:"万元",color:"#32dcff"},{key:"meat-processing",name:"肉品加工",value:Pn(m5.filter(Re2),n=>T0(n,["年产值 (万元)"])),unit:"万元",color:"#ff9a62"},{key:"slaughter-output",name:"定点屠宰",value:Q6(Am,1),unit:"万元",color:"#ffe06b"}].filter(n=>n.value>0);`${m5.filter(xt).length}`,`${$9.filter(xt).length}`;L7(Q02,10),`${jn(Fr)}`,L7(kh,10),`${jn(kh)}`,L7(ll,200),`${jn(ll)}`,L7(Ph,4),L7(Eh,3);function de2(n){const e=$5(n),t=we2(n),i={"family-pasture":{left:[Me("family-town","牧场镇域分布","column",Ni(n),{variant:"townCompact",scrollable:!1}),Me("family-town-stock","镇域存栏支撑","column",Te2(),{variant:"townCompact",scrollable:!1}),Me("family-grass-resource","草地资源保障","structure",Ae2())],right:[d9(n)]},"artificial-grassland":{left:[Me("grass-town","种草面积分布","column",Ni(n),{variant:"townCompact",scrollable:!1}),Me("grass-base-town","基地点位分布","column",xd(aa,"基地点位"),{variant:"townCompact",scrollable:!1}),Me("grass-type","草种保障结构","donut",z_,{variant:"ring"})],right:[d9(n)]},"scale-breeding":{left:[Me("breeding-stock","设计存栏分布","column",Ni(n),{variant:"townCompact",scrollable:!1}),Me("breeding-output","年出栏能力分布","column",Ad(ee2,["年出栏量 (头)"],{unit:"头",extra:"年出栏"}),{variant:"townCompact",scrollable:!1}),Me("breeding-level","育种等级结构","donut",le2,{variant:"ring"})],right:[d9(n)]},"forage-storage":{left:[Me("storage-town","库容镇域分布","column",Ni(n),{variant:"townCompact",scrollable:!1}),Me("storage-point","库点数量分布","column",xd(H8,"储备库点"),{variant:"townCompact",scrollable:!1}),Me("storage-grass","储备草种结构","structure",z_)],right:[d9(n)]},"slaughter-processing":{left:[Me("processing-value","产值结构","donut",ce2,{variant:"ring"}),Me("processing-chain","产能与带动","structure",te2),Me("processing-heads","屠宰能力分布","column",Ad($9,["年屠宰总量 (头)"],{unit:"头",extra:"年屠宰"}),{variant:"townCompact",scrollable:!1})],right:[d9(n)]},"farm-equipment":{left:[Me("equipment-device","识别设备分布","column",n5(ie2,{unit:"套",extra:"识别设备"}),{variant:"townCompact",scrollable:!1}),Me("equipment-recognition","识别样本分布","column",n5(re2,{unit:"头",extra:"识别样本"}),{variant:"townCompact",scrollable:!1})],right:[d9(n)]},"social-service":{left:[Me("service-type","服务主体结构","donut",ne2,{variant:"ring"}),Me("service-town","服务镇域分布","column",xd([...wm,...O8,...sa,...Xl],"服务主体"),{variant:"townCompact",scrollable:!1}),Me("service-training-town","培训人次分布","column",Ad(O8,["年培训人次"],{unit:"人次",extra:"技术培训"}),{variant:"townCompact",scrollable:!1}),Me("service-training","培训服务能力","line",xe2())],right:[d9(n)]}},r={left:[Me(`${e.key}-rank`,`${e.metricLabel}分布`,"column",Ni(n),{variant:"townCompact",scrollable:!1}),Me(`${e.key}-subject`,"主体结构","structure",t),Me(`${e.key}-town`,"镇域覆盖分布","column",n5(he2(n),{unit:"个",extra:"镇域覆盖"}),{variant:"townCompact",scrollable:!1}),Me(`${e.key}-capacity`,"能力规模分布","split",Ni(n).slice(0,7))],right:[d9(n)]};return i[n]||r}`${xh}`,`${m5.filter(xt).length}`,Q6($C,1);function $5(n){return U5.find(e=>e.key===n)||U5[0]}function Ni(n){if(n==="family-pasture"){const e=E8(Sm,d6,()=>1).map(t=>s3(W2({},t),{unit:"户",extra:"家庭生态牧场"}));return n5(e,{unit:"户",extra:"家庭生态牧场"})}if(n==="artificial-grassland"){const e=E8(aa,d6,t=>T0(t,["种植面积 (亩)","acreage"])||B8(t.scale)).map(t=>s3(W2({},t),{value:Q6(t.value/1e4,2),unit:"万亩",extra:`${t.count}个基地`}));return n5(e,{unit:"万亩",extra:"种草基地"})}if(n==="scale-breeding"){const e=E8(Ot("YC-BREEDING-BASE"),d6,t=>T0(t,["设计存栏量 (头)"])).map(t=>s3(W2({},t),{unit:"头",extra:`${t.count}个基地`}));return n5(e,{unit:"头",extra:"养殖基地"})}return n==="forage-storage"?n5(ue2,{unit:"吨",extra:"饲草储备"}):n==="slaughter-processing"?[...m5,...$9].filter(xt).map(e=>({key:e.id,name:cl(e.name),value:T0(e,["年产值 (万元)","年总产值 (万元)"]),unit:"万元",extra:e.categoryName})).filter(e=>e.value>0).sort(W9).slice(0,7):n==="farm-equipment"?OC.filter(xt).map(e=>{var t;return{key:e.id,name:cl(e.name),value:1,unit:"个",extra:((t=e.attributes)==null?void 0:t.简称)||"农机服务"}}):n==="social-service"?[{key:"finance",name:"金融服务网点",value:Cm,unit:"家",extra:`最高${jn(Fr)}万元`},{key:"insurance",name:"保险服务网点",value:GC,unit:"家",extra:`覆盖${jn(kh)}乡镇`},{key:"training",name:"技术培训机构",value:BC,unit:"家",extra:`${jn(WC)}场`},{key:"disease",name:"疫病防控主体",value:Ph,unit:"个",extra:"防疫服务"}]:[]}function he2(n){return E8(me2(n),d6,()=>1).map(e=>s3(W2({},e),{unit:"个",extra:`${e.count}条`}))}function fe2(n={}){const e=Ie2(n);if(!e)return[];const t=[],i=e.metrics||{},r=e.attributes||{},a=(s,o,l="")=>{KC(o)||t.push({label:s,value:Le2(o,l)})};return a("运营单位",r.运营单位),a("育种等级",r.育种等级),a("育种方向",r.主要育种方向),a("设计存栏",i["设计存栏量 (头)"],"头"),a("年出栏量",i["年出栏量 (头)"],"头"),a("种植面积",i["种植面积 (亩)"]||e.scale,e.scale?"":"亩"),a("总库容",i["总库容 (吨)"],"吨"),a("年产值",i["年产值 (万元)"]||i["年总产值 (万元)"],"万元"),a("年加工量",i["年加工鲜奶总量 (吨)"]||i["年加工原料肉总量 (吨)"],"吨"),a("年屠宰量",i["年屠宰总量 (头)"],"头"),a("服务覆盖",i.服务覆盖乡镇数,"个乡镇"),a("最高授信",i["最高单户贷款额度 (万元)"],"万元"),a("主要产品",r.主要产品),a("主要草种",r.主要草种||r.储备草种),t.slice(0,8)}function Ot(n){return(Array.isArray(n)?n:[n]).flatMap(t=>{const i=H02.get(t);return((i==null?void 0:i.items)||[]).map(r=>{var a;return s3(W2({},r),{categoryCode:i.categoryCode,categoryName:i.categoryName,stageKey:i.industryStage,stageName:((a=$5(i.industryStage))==null?void 0:a.name)||i.categoryName})})})}function me2(n){return ra.filter(e=>e.stageKey===n)}function ul(n){return n==="farm-equipment"?ae2:oe2.filter(e=>e.stageKey===n&&e.canLocate)}function b9(n){return ul(n).length}function ge2(){return F9.map((n,e)=>{const t=V02.get(n.name),i=Number(t==null?void 0:t[0]),r=Number(t==null?void 0:t[1]);if(!Rh(i,r))return null;const a=`YC-FARM-EQUIPMENT-TOWN-${String(e+1).padStart(3,"0")}`,s=`${n.name}农机装备监测点`,o=Number(n.devices||0),l=Number(n.count||0);return{key:a,id:a,name:s,fullName:s,stageKey:"farm-equipment",stageName:$5("farm-equipment").name,stageOrder:U5.findIndex(c=>c.key==="farm-equipment"),typeName:"农机装备监测点",categoryName:"农机装备监测点",town:n.name,address:`${n.name}乡镇中心`,status:"监测样本",value:o,unit:"套",numericValue:o,valueText:`${jn(o)}套`,extra:`${jn(l)}头识别样本`,longitude:i,latitude:r,locateText:"定位",canLocate:!0,searchText:[s,"农机装备",n.name,`${o}套`,`${l}头识别样本`].join(" ")}}).filter(Boolean).sort((n,e)=>e.numericValue-n.numericValue||String(n.name).localeCompare(String(e.name),"zh-CN"))}function xt(n={}){var i;const e=j5(n.name),t=j5((i=n.attributes)==null?void 0:i.序号);return!(!e||O_.has(e)||Y02.has(n.categoryCode)||q02.some(r=>r.test(e))||n.categoryCode==="YC-FAMILY-PASTURE"&&!YC(n)||t&&O_.has(t)&&!pe2(n)||K02.some(r=>r.test(e)))}function f6(n=[]){return n.filter(xt).length}function pe2(n={}){return Object.values(n.metrics||{}).some(e=>B8(e)>0)}function Em(n={}){var t,i,r,a;const e=VC(n);return{key:String(n.id||n.name),name:n.name,stageKey:n.stageKey,typeName:n.categoryName,categoryName:n.categoryName,town:d6(n),address:n.address||n.village||n.areaFullName||"",status:n.status||"",products:((t=n.attributes)==null?void 0:t.主要产品)||((i=n.attributes)==null?void 0:i.主要草种)||((r=n.attributes)==null?void 0:r.储备草种)||((a=n.attributes)==null?void 0:a.主要育种方向)||"",capacity:e,capacityUnit:HC(n),outputValue:T0(n,["年产值 (万元)","年总产值 (万元)"]),longitude:n.longitude,latitude:n.latitude}}function ye2(n={}){const e=VC(n),t=HC(n),i=d6(n);return{key:String(n.id||n.name),name:cl(n.name),fullName:n.name,stageKey:n.stageKey,typeName:n.categoryName,categoryName:n.categoryName,town:i||"全县",address:n.address||n.village||n.areaFullName||"",status:n.status||"待完善",value:e,unit:t,numericValue:Number(e)||0,valueText:_e2(n,e,t),extra:be2(n),sourceSheet:n.sourceSheet}}function ve2(n={}){var d,f;const e=ye2(n),t=YC(n),i=$5(n.stageKey),r=j5(n.name),a=j5(n.categoryName).replace(/^cxpt/i,""),s=j5(n.address||n.village||n.areaFullName||""),o=n.attributes||{},l=n.metrics||{},c=[r,e.name,i==null?void 0:i.name,a,e.town,s,o.简称,o.运营单位,o.主要产品,o.主要草种,o.储备草种,o.主要育种方向,l["主要贷款产品(可多选)"],e.valueText,e.extra,n.sourceSheet].filter(Boolean).join(" ");return s3(W2({},e),{name:e.name,fullName:r,stageName:(i==null?void 0:i.name)||e.stageName||"",stageOrder:U5.findIndex(p=>p.key===n.stageKey),categoryName:a,address:s,longitude:(d=t==null?void 0:t.longitude)!=null?d:"",latitude:(f=t==null?void 0:t.latitude)!=null?f:"",locateText:t?"定位":"暂无",canLocate:!!t,searchText:c})}function VC(n={}){var e,t;return n.stageKey==="family-pasture"?1:n.categoryCode==="YC-BREEDING-STOCK"?((e=n.attributes)==null?void 0:e.育种等级)||"待完善":n.categoryCode==="YC-CXPT-BREEDING-STOCK-BASE"?B8(n.scale)||1:n.categoryCode==="YC-BREEDING-BASE"?T0(n,["设计存栏量 (头)"]):n.categoryCode==="YC-FORAGE-BASE"?T0(n,["种植面积 (亩)"]):n.categoryCode==="YC-DISASTER-FORAGE-STORAGE"?T0(n,["总库容 (吨)"]):n.categoryCode==="YC-PROCESSING-PLANT"?T0(n,["年产值 (万元)"])||T0(n,["年加工鲜奶总量 (吨)","年加工原料肉总量 (吨)"]):n.categoryCode==="YC-SLAUGHTERHOUSE"?T0(n,["年总产值 (万元)"])||T0(n,["年屠宰总量 (头)"]):n.categoryCode==="YC-SERVICE-FINANCE"?T0(n,["最高单户贷款额度 (万元)","服务覆盖乡镇数"]):n.categoryCode==="YC-SERVICE-INSURANCE"?T0(n,["服务覆盖乡镇数"]):n.categoryCode==="YC-TECH-TRAINING"?T0(n,["年培训人次","年培训场次"]):(t=n.categoryCode)!=null&&t.startsWith("YC-CXPT")?B8(n.scale)||T0(n,["acreage"]):T0(n,Object.keys(n.metrics||{}))||1}function HC(n={}){var e;return n.stageKey==="family-pasture"?"户":n.categoryCode==="YC-BREEDING-STOCK"?"":n.categoryCode==="YC-BREEDING-BASE"?"头":["YC-FORAGE-BASE","YC-CXPT-FORAGE-BASE","YC-CXPT-GRASS-SEED-BASE","YC-CXPT-BREEDING-STOCK-BASE"].includes(n.categoryCode)?"亩":n.categoryCode==="YC-DISASTER-FORAGE-STORAGE"?"吨":n.categoryCode==="YC-PROCESSING-PLANT"||n.categoryCode==="YC-SLAUGHTERHOUSE"||n.categoryCode==="YC-SERVICE-FINANCE"?"万元":n.categoryCode==="YC-SERVICE-INSURANCE"?"乡镇":n.categoryCode==="YC-TECH-TRAINING"?"人次":(e=n.categoryCode)!=null&&e.startsWith("YC-CXPT")?"亩":""}function _e2(n,e,t){return n.categoryCode==="YC-BREEDING-STOCK"?String(e||"待完善"):Number.isFinite(Number(e))?`${jn(e)}${t||""}`:String(e||"")}function be2(n={}){const e=n.attributes||{},t=n.metrics||{};return e.主要产品||e.主要草种||e.储备草种||e.主要育种方向||t["主要贷款产品(可多选)"]||n.sourceSheet||""}function Se2(){const n=new Map;return DC.forEach(e=>{var r;const t=j5((r=e.attributes)==null?void 0:r.育种等级)||"待完善",i=n.get(t)||{key:t,name:t,value:0,unit:"个"};i.value+=1,n.set(t,i)}),[...n.values()].sort((e,t)=>{var r,a;const i={省级:0,县级:1,待完善:2};return((r=i[e.name])!=null?r:9)-((a=i[t.name])!=null?a:9)})}function we2(n){return ql.filter(e=>e.industryStage===n).map(e=>{const t=f6(Ot(e.categoryCode));return{key:e.categoryCode,name:e.categoryName.replace(/^cxpt/,""),value:t,unit:"条",extra:$5(n).name}}).filter(e=>e.value>0).sort(W9)}function Me(n,e,t,i,r={}){return W2({key:n,title:e,height:227,renderer:"business",type:t,rows:i},r)}function Ce2(n){return n?ul(n):U5.flatMap(e=>ul(e.key))}function d9(n){const e=$5(n),t=Ce2(n);return{key:"industry-chain-list",title:`${e.name}点位清单`,height:466,renderer:"business",type:"projectTable",rows:t,searchPlaceholder:`搜索${e.name}点位 / 乡镇`,emptyText:"无匹配点位",columns:[{key:"name",label:"主体",field:"name",width:"38%",className:"business-project-col-name"},{key:"stage",label:"类型",field:"categoryName",width:"24%"},{key:"town",label:"乡镇",field:"town",width:"18%"},{key:"locate",label:"定位",field:"locateText",width:"20%",align:"center"}],searchKeys:["name","fullName","stageName","categoryName","town","address","valueText","extra","sourceSheet","searchText"]}}function Te2(){const n=G8.map(e=>({key:e.zoneName,name:e.zoneName,value:Number(e.yakCount||0),unit:"头",extra:"牦牛存栏"})).filter(e=>e.value>0);return n5(n,{unit:"头",extra:"牦牛存栏"})}function Ae2(){return G8.map(n=>({key:n.zoneName,name:n.zoneName,value:Q6(Number(n.grasslandArea||0)/1e4,2),unit:"万亩",extra:"草地资源"})).filter(n=>n.value>0).sort(W9)}function Ad(n=[],e=[],t={}){const i=E8(n,d6,r=>T0(r,e)).map(r=>s3(W2({},r),{unit:t.unit||"",extra:t.extra||`${r.count}个点位`}));return n5(i,t)}function xd(n=[],e="点位"){const t=E8(n,d6,()=>1).map(i=>s3(W2({},i),{unit:"个",extra:e}));return n5(t,{unit:"个",extra:e})}function xe2(){const n=O8.filter(xt).map(e=>({key:e.id,name:cl(e.name),value:T0(e,["年培训人次"]),unit:"人次",extra:`${jn(T0(e,["年培训场次"]))}场`})).filter(e=>e.value>0).sort(W9).slice(0,7);return n.length?n:[{key:"sessions",name:"年培训场次",value:WC,unit:"场"},{key:"persons",name:"年培训人次",value:ll,unit:"人次"}]}function Ee2(n){const e=[{key:"oat",name:"燕麦草",pattern:/燕麦/},{key:"elymus",name:"披碱草",pattern:/披碱草/},{key:"roegneria",name:"老芒麦",pattern:/老芒麦/},{key:"other",name:"其他草种",pattern:/./}],t=new Map(e.map(i=>[i.key,{key:i.key,name:i.name,value:0,unit:"处"}]));return n.filter(xt).forEach(i=>{var o,l;const r=[(o=i.attributes)==null?void 0:o.主要草种,(l=i.attributes)==null?void 0:l.储备草种].filter(Boolean).join("、"),a=e.filter(c=>c.key!=="other"&&c.pattern.test(r));(a.length?a:[e[e.length-1]]).forEach(c=>{t.get(c.key).value+=1})}),[...t.values()].filter(i=>i.value>0).sort(W9)}function Pe2(){return[{key:"raw-capacity",name:"原料加工",value:Tm,unit:"吨"},{key:"slaughter-heads",name:"屠宰总量",value:xm,unit:"头"},{key:"farmer-driven",name:"带动农户",value:zC,unit:"户"},{key:"cold-storage",name:"冷链能力",value:UC,unit:"吨"}].filter(n=>n.value>0)}function Me2(){return[{key:"finance",name:"金融",value:sa.filter(xt).length,unit:"家"},{key:"insurance",name:"保险",value:Xl.filter(xt).length,unit:"家"},{key:"training",name:"培训",value:O8.filter(xt).length,unit:"家"},{key:"disease",name:"防疫",value:wm.filter(xt).length,unit:"个"}].filter(n=>n.value>0)}function E8(n,e,t){const i=new Map;return n.filter(xt).forEach(r=>{const a=j5(typeof e=="function"?e(r):r[e])||"未填写",s=i.get(a)||{key:a,name:a,value:0,count:0,extra:""};s.value+=Number(t(r)||0),s.count+=1,i.set(a,s)}),[...i.values()].sort(W9)}function n5(n=[],e={}){const t=new Map;return n.forEach(i=>{const r=j5(i==null?void 0:i.name),a=N9.find(s=>s===r)||N9.find(s=>{const o=s.replace(/[镇乡]$/,"");return o.length>=2&&r.includes(o)});a&&t.set(a,i)}),N9.map((i,r)=>{const a=t.get(i),s=Number((a==null?void 0:a.value)||0),o=Number.isFinite(s)&&s>0;return{key:(a==null?void 0:a.key)||i,name:i,value:o?s:.001,displayValue:o?a.displayValue:"0",scaleValue:a==null?void 0:a.scaleValue,unit:(a==null?void 0:a.unit)||e.unit||"",extra:(a==null?void 0:a.extra)||e.extra||"",color:a==null?void 0:a.color,zero:!o,sourceIndex:r}})}function T0(n={},e=[]){const t=n.metrics||{},i=Array.isArray(e)?e:[e];for(const r of i)if(Object.prototype.hasOwnProperty.call(t,r)){const a=B8(t[r]);if(a||a===0)return a}return 0}function B8(n){if(typeof n=="number")return Number.isFinite(n)?n:0;if(KC(n))return 0;const e=String(n).replace(/,/g,"").trim();if(!e||e==="无"||e==="待完善")return 0;const t=e.match(/-?\d+(?:\.\d+)?/);if(!t)return 0;let i=Number(t[0]);return e.includes("万亩")&&!e.includes("万元")&&(i*=1e4),Number.isFinite(i)?i:0}function d6(n={}){const e=j5(n.town||n.areaName);if(N9.includes(e))return e;const t=[n.town,n.areaName,n.areaFullName,n.address,n.village,n.name].filter(Boolean).join(" "),i=N9.find(r=>t.includes(r));return i||N9.find(r=>{const a=r.replace(/[镇乡]$/,"");return a.length>=2&&t.includes(a)})||e}function YC(n={}){const e=Li(n.longitude),t=Li(n.latitude);if(Rh(e,t))return{longitude:e,latitude:t};const i=Object.values(n.locations||{}).find(r=>Rh(Li(r==null?void 0:r.longitude),Li(r==null?void 0:r.latitude)));return i?{longitude:Li(i.longitude),latitude:Li(i.latitude)}:null}function Rh(n,e){const t=Number(n),i=Number(e);return Number.isFinite(t)&&Number.isFinite(i)&&t>=i0.west&&t<=i0.east&&i>=i0.south&&i<=i0.north}function Li(n){if(n==null||n==="")return NaN;const e=Number(n);return Number.isFinite(e)?e:NaN}function ke2(n={}){var t;const e=[n.name,(t=n.attributes)==null?void 0:t.主要产品].filter(Boolean).join("");return/奶|乳|酸奶|奶粉/.test(e)}function Re2(n={}){var t;const e=[n.name,(t=n.attributes)==null?void 0:t.主要产品].filter(Boolean).join("");return/肉|屠宰|牛肉/.test(e)}function Ie2(n={}){const e=String(n.id||"");return e&&B_.has(e)?B_.get(e):bm.find(t=>t.name===n.name&&t.categoryCode===n.categoryCode)}function L7(n,e){return Math.max(12,Math.min(100,Math.round(Number(n||0)/e*100)))}function Pn(n,e){return n.filter(xt).reduce((t,i)=>t+Number(e(i)||0),0)}function Pm(n,e){return n.filter(xt).reduce((t,i)=>Math.max(t,Number(e(i)||0)),0)}function U_(n,e){return new Set(n.filter(xt).map(e).filter(Boolean)).size}function W9(n,e){return e.value-n.value||e.count-n.count||String(n.name).localeCompare(String(e.name),"zh-CN")}function cl(n=""){return String(n).replace(/^四川红原/,"").replace(/^红原县/,"").replace(/有限责任公司$/,"").replace(/农民专业合作社$/,"合作社").replace(/股份有限公司红原县支行$/,"红原支行").trim()}function j5(n){return String(n!=null?n:"").replace(/\s+/g," ").trim()}function KC(n){return n==null||String(n).trim()===""||String(n).trim().toLowerCase()==="nan"}function Ne2(n){return typeof n=="number"?jn(n):B8(n)&&String(n).match(/^\s*[约≈]?\d/)?String(n):String(n!=null?n:"")}function Le2(n,e=""){const t=Ne2(n);return!e||typeof n=="string"&&t.includes(e.replace(/^个/,""))?t:`${t}${e}`}function jn(n){const e=Number(n||0);return Number.isFinite(e)?e.toLocaleString("zh-CN",{maximumFractionDigits:Number.isInteger(e)?0:1}):"0"}function Q6(n,e=0){const t=v6(10,e);return Math.round(Number(n||0)*t)/t}const Fe2={class:"yak-industry-chain"},De2={key:0,class:"industry-map-loading"},Oe2={key:1,class:"fgw-left industry-side-panel industry-side-panel--left"},Be2={class:"fgw-side-stack industry-side-stack is-left"},Ge2={key:2,class:"industry-ledger-list"},je2={key:2,class:"fgw-right industry-side-panel industry-side-panel--right"},ze2={class:"fgw-side-stack industry-side-stack is-right"},Ue2={key:2,class:"industry-ledger-list"},$e2={class:"industry-point-detail__head"},We2={class:"industry-point-detail__name"},Ve2={class:"industry-point-detail__grid"},He2={class:"industry-bottom-switcher"},$_=398,Ye2=128,Ed=12,Ke2=8,qe2=227,Xe2={__name:"index",props:{active:{type:Boolean,default:!0}},emits:["module-stats","loading-progress","map-ready"],setup(n,{expose:e,emit:t}){const i=n,r=t,a=i3(typeof window=="undefined"?1080:window.innerHeight),s=b2(()=>{const c2=Math.max(1080,Number(a.value)||1080),a2=Math.floor((c2-Ye2-Ke2-Ed*3)/4);return Math.max(qe2,a2)}),o=b2(()=>s.value*2+Ed),l=b2(()=>s.value*4+Ed*3),c=i3("family-pasture"),d=i3(null),f=i3(!1),p=i3(null),y=i3({x:0,y:0});let w=null,M=!1,P=!1,D=null,B=!1;const V=b2(()=>$5(c.value)),Y=b2(()=>de2(c.value)),X=b2(()=>C3(Y.value)),P2=b2(()=>{const c2=X.value.left;return c2.map(a2=>m3(a2,c2.length))}),z2=b2(()=>{const c2=X.value.right;return c2.map(a2=>m3(a2,c2.length))}),G2=b2(()=>{var i2;const c2=Sl("yak-industry-chain","yak-industry-points"),a2=(i2=c2==null?void 0:c2.legends)==null?void 0:i2.find(A2=>{var n2;return((n2=A2.match)==null?void 0:n2.value)===c.value});return c2&&s3(W2({},c2),{activeLegend:a2||{key:`yak-industry-empty-${c.value}`,name:V.value.name,fillColor:V.value.color,strokeColor:V.value.color,match:{field:"stageKey",value:c.value}}})}),N2=b2(()=>U5.map(c2=>({key:c2.key,name:c2.name,color:c2.color,width:c2.width}))),V2=b2(()=>({showTownNames:!0,showBars:!1,showPointMarkers:!0,title:`${V.value.name}排行`,metricLabel:V.value.metricLabel,unit:V.value.unit,rows:[]})),Y2=b2(()=>{const c2=p.value;return c2?[{label:"所属环节",value:S1(c2.stageName)},{label:"主体类型",value:S1(c2.categoryName)},{label:"所在乡镇",value:S1(c2.town)},{label:"能力规模",value:F1(c2)},{label:"运行状态",value:S1(c2.status)},...fe2(c2)].filter(a2=>a2.value!==void 0&&a2.value!==null&&String(a2.value).trim()!==""):[]}),o3=b2(()=>{var c2,a2;return S1(((c2=p.value)==null?void 0:c2.categoryName)||((a2=p.value)==null?void 0:a2.stageName))}),r3=b2(()=>{var c2;return S1((c2=p.value)==null?void 0:c2.name)}),y3=b2(()=>{const n2={x:Math.max(24,Math.min(1896,Number(y.value.x||0))),y:Math.max(24,Math.min(1056,Number(y.value.y||0)))},M2=n2.x>1320,t3=M2?Math.max(24,n2.x-430-28):Math.min(1920-430-24,n2.x+28),A3=Math.min(Math.max(n2.y-252/2,128),1080-252-116),J2=Math.min(Math.max(n2.y-A3,42),252-38);return{left:`${t3}px`,top:`${A3}px`,"--point-arrow-top":`${J2}px`,"--point-arrow-side":M2?"100%":"0px","--point-arrow-offset":M2?"-1px":"-9px","--point-arrow-rotate":M2?"-45deg":"135deg"}});$n(()=>{w2(),window.addEventListener("resize",w2),a3(),k3()}),Un(()=>{var c2,a2;B=!0,window.removeEventListener("resize",w2),D&&window.clearTimeout(D),(a2=(c2=d.value)==null?void 0:c2.destroyMap)==null||a2.call(c2)}),I0(()=>i.active,c2=>{var a2,i2,A2,n2;d.value&&(c2?(J3(),(i2=(a2=d.value).resume)==null||i2.call(a2)):(n2=(A2=d.value).pause)==null||n2.call(A2))});function K2(c2){c2!==c.value&&(c.value=c2,O(),a3())}function C3(c2={}){const a2=N3(c2.left),i2=N3(c2.right);if(i2.length)return{left:a2,right:i2};const A2=[...a2,...i2];return A2.length<=4?{left:A2,right:[]}:{left:a2,right:i2}}function m3(c2,a2=0){if((c2==null?void 0:c2.type)==="projectTable")return s3(W2({},c2),{height:M3(c2)});const i2=Number((c2==null?void 0:c2.height)||0)>=400||(c2==null?void 0:c2.span)===2;return s3(W2({},c2),{height:a2===1?l.value:i2?o.value:s.value})}function M3(c2={}){const a2=Array.isArray(c2.rows)?c2.rows:[],i2=100,A2=32,n2=i2+25+a2.length*A2;return Math.min(o.value,Math.max(s.value,n2))}function N3(c2=[]){return c2.filter(a2=>(a2==null?void 0:a2.type)!=="iconMetric")}function q2(c2={}){return(c2==null?void 0:c2.renderer)==="business"&&(c2==null?void 0:c2.type)==="column"&&(c2==null?void 0:c2.variant)==="townCompact"}function u3(c2={}){const a2=Array.isArray(c2.rows)?c2.rows:[],i2=a2.map(M2=>Number(M2!=null&&M2.zero?0:(M2==null?void 0:M2.value)||0)),A2=Math.max(...i2,1),n2=_3(a2);return{animationDuration:720,animationEasing:"cubicOut",grid:{top:30,right:8,bottom:58,left:8,containLabel:!1},tooltip:{trigger:"axis",axisPointer:{type:"shadow",shadowStyle:{color:"rgba(48, 220, 255, 0.08)"}},confine:!0,backgroundColor:"rgba(4, 24, 36, 0.94)",borderColor:"rgba(48, 220, 255, 0.42)",borderWidth:1,padding:[7,9],textStyle:{color:"#e8fcff",fontSize:12},formatter(M2=[]){var D2;const t3=((D2=M2[0])==null?void 0:D2.data)||{},A3=t3.zero?"0":t3.displayValue,J2=t3.unit||n2||"",T2=t3.extra?`<br/><span style="color:rgba(232,252,255,.62)">${t3.extra}</span>`:"";return`${t3.name||""}<br/><b style="color:#35f1ff">${A3}${J2}</b>${T2}`}},graphic:n2?[{type:"text",right:10,top:4,silent:!0,style:{text:`单位:${n2}`,fill:"rgba(232,252,255,0.68)",font:"10px PingFang SC, Arial"}}]:[],xAxis:{type:"category",data:a2.map(M2=>(M2==null?void 0:M2.name)||""),axisTick:{show:!1},axisLine:{show:!0,lineStyle:{color:"rgba(68, 238, 255, 0.42)"}},axisLabel:{color:"rgba(255,255,255,0.9)",fontSize:11,fontWeight:700,lineHeight:14,interval:0,margin:10,formatter:L3}},yAxis:{type:"value",min:0,max:Math.ceil(A2*1.18),splitNumber:3,axisLabel:{show:!1},axisTick:{show:!1},axisLine:{show:!1},splitLine:{show:!0,lineStyle:{color:"rgba(159, 220, 230, 0.14)",type:"dashed"}}},series:[{type:"bar",data:a2.map((M2,t3)=>{var T2;const A3=!!(M2!=null&&M2.zero||M2!=null&&M2.isZero),J2=A3?0:Number((M2==null?void 0:M2.value)||0);return{name:M2==null?void 0:M2.name,value:J2,displayValue:(T2=M2==null?void 0:M2.displayValue)!=null?T2:K3(J2),unit:(M2==null?void 0:M2.unit)||n2||"",extra:(M2==null?void 0:M2.extra)||"",zero:A3,itemStyle:{color:A3?"rgba(48, 220, 255, 0.1)":F3(t3,M2)}}}),barWidth:14,barMinHeight:3,showBackground:!0,backgroundStyle:{color:"rgba(48, 220, 255, 0.06)",borderColor:"rgba(48, 220, 255, 0.08)",borderWidth:1},itemStyle:{borderRadius:[4,4,0,0]},label:{show:!1},emphasis:{focus:"series",itemStyle:{shadowBlur:14,shadowColor:"rgba(36, 246, 196, 0.42)"}}}]}}function _3(c2=[]){const a2=[...new Set(c2.map(i2=>i2==null?void 0:i2.unit).filter(Boolean))];return a2.length===1?a2[0]:""}function L3(c2){const a2=String(c2||"").replace(/\s+/g,"");return Array.from(a2).slice(0,3).join(`
`)}function F3(c2,a2={}){if(a2.color||a2.fillColor)return a2.color||a2.fillColor;const i2=[["#35f1ff","#13aebd"],["#5cf5a6","#18b978"],["#f6d663","#c69c28"],["#7aa3ff","#3a65d8"],["#ff8b62","#c25d3d"]],[A2,n2]=i2[c2%i2.length];return{type:"linear",x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:"rgba(255,255,255,0.96)"},{offset:.14,color:A2},{offset:.72,color:n2},{offset:1,color:"rgba(20, 244, 220, 0.28)"}]}}function K3(c2){const a2=Number(c2);return Number.isFinite(a2)?Number.isInteger(a2)?`${a2}`:`${Number(a2.toFixed(2))}`:"--"}function w2(){a.value=typeof window=="undefined"?1080:window.innerHeight}function a3(){r("module-stats",{moduleKey:"yak-industry-chain",items:[]})}function k3(){var c2,a2,i2;w=new Gr,M=!1,r("loading-progress",{progress:0}),(a2=(c2=w.instance)==null?void 0:c2.on)==null||a2.call(c2,"onProgress",(A2,n2,M2)=>{r("loading-progress",{progress:Math.floor(n2/(M2||1)*100),path:A2,itemsLoaded:n2,itemsTotal:M2})}),(i2=w.ready)==null||i2.then(()=>{M=!0,J3()}).catch(()=>{f.value=!0,r("map-ready")})}function J3(){B||!i.active||!M||P||(P=!0,D&&window.clearTimeout(D),D=window.setTimeout(()=>{D=null,Q3()},600))}function Q3(c2=0){return I3(this,null,function*(){var i2,A2;if(B)return;if(!i.active){P=!1;return}if(yield _e(),!i.active){P=!1;return}const a2=d.value;if((i2=a2==null?void 0:a2.loadMap)==null||i2.call(a2,w),a2!=null&&a2.canvasMap){f.value=!0,r("loading-progress",{progress:100}),r("map-ready"),(A2=a2.play)==null||A2.call(a2);return}if(c2<24){window.setTimeout(()=>Q3(c2+1),120);return}P=!1,f.value=!0,r("map-ready")})}function l1(){D&&(window.clearTimeout(D),D=null)}function c1(){var c2,a2,i2,A2;(a2=(c2=d.value)==null?void 0:c2.resume)==null||a2.call(c2),(A2=(i2=d.value)==null?void 0:i2.refreshView)==null||A2.call(i2)}function B1(){var c2,a2;if(O(),(a2=(c2=d.value)==null?void 0:c2.hasMap)!=null&&a2.call(c2)){f.value=!0,c1();return}l1(),f.value=!1,P=!1,_e(()=>{J3()})}e({refreshMapView:c1,resetMap:B1});function y1(c2={}){var i2;const a2=((i2=c2.feature)==null?void 0:i2.properties)||{};if(a2.stageKey){if(String(a2.stageKey)!==String(c.value)){p.value=null;return}p.value=a2,y.value=H2(c2.screen);return}p.value=null}function b1(){return I3(this,arguments,function*(c2={}){if(!c2.canLocate)return;const a2=!!(c2.stageKey&&c2.stageKey!==c.value);a2&&(c.value=c2.stageKey,a3(c2.stageKey),yield _e());const i2=A1(c2);p.value=i2,y.value={x:960,y:500},window.setTimeout(()=>{var n2,M2;const A2=(M2=(n2=d.value)==null?void 0:n2.focusYakIndustryPoint)==null?void 0:M2.call(n2,i2);I1(i2,A2),window.setTimeout(()=>I1(i2),760)},a2?320:80)})}function O(){var a2,i2,A2,n2;p.value=null;const c2=((i2=(a2=d.value)==null?void 0:a2.canvasMap)==null?void 0:i2.value)||((A2=d.value)==null?void 0:A2.canvasMap);(n2=c2==null?void 0:c2.clearSelectedFeature)==null||n2.call(c2)}function A1(c2={}){var A2;const a2=Number(c2.longitude),i2=Number(c2.latitude);return s3(W2({},c2),{id:c2.key||c2.id,name:c2.fullName||c2.name,stageKey:c2.stageKey,stageName:c2.stageName||((A2=$5(c2.stageKey))==null?void 0:A2.name),categoryName:c2.categoryName||c2.typeName,capacity:c2.value,capacityUnit:c2.unit,longitude:a2,latitude:i2,geometry:Number.isFinite(a2)&&Number.isFinite(i2)?{type:"Point",coordinates:[a2,i2]}:void 0,status:c2.status})}function I1(c2,a2=null){var A2,n2;const i2=((n2=(A2=d.value)==null?void 0:A2.getYakIndustryPointScreen)==null?void 0:n2.call(A2,c2))||(a2==null?void 0:a2.screen);i2&&(y.value=H2(i2))}function F1(c2){return c2.capacity===void 0||c2.capacity===null||c2.capacity===""?"":`${c2.capacity}${c2.capacityUnit||""}`}function S1(c2){return String(c2!=null?c2:"").replace(/\bcxpt[-_./\s]*/gi,"").replace(/\s+/g," ").trim()}function H2(c2={}){var A3;const a2=document.querySelector("#large-screen"),i2=(A3=a2==null?void 0:a2.getBoundingClientRect)==null?void 0:A3.call(a2),A2=i2!=null&&i2.width?1920/i2.width:1,n2=i2!=null&&i2.height?1080/i2.height:1,M2=(i2==null?void 0:i2.left)||0,t3=(i2==null?void 0:i2.top)||0;return{x:(Number(c2.x)-M2)*A2,y:(Number(c2.y)-t3)*n2}}return(c2,a2)=>(K(),e2("div",Fe2,[e1(Br,{ref_key:"mapSceneRef",ref:d,class:"industry-map-scene","active-layer":G2.value,"map-ranking":V2.value,"admin-boundary-line-scale":2.4,onFeatureInfo:y1},null,8,["active-layer","map-ranking"]),a2[0]||(a2[0]=C("div",{class:"industry-map-scrim"},null,-1)),f.value?G3("",!0):(K(),e2("div",De2,"3D地图加载中")),P2.value.length?(K(),e2("div",Oe2,[C("div",Be2,[(K(!0),e2(B3,null,q3(P2.value,i2=>(K(),te(K1,{key:i2.key,class:"fgw-side-card industry-side-card left-card",title:i2.title,width:$_,height:i2.height},{default:j1(()=>[q2(i2)?(K(),te(O0(Oe),{key:0,class:"industry-town-column-chart",option:u3(i2),autoresize:!0},null,8,["option"])):i2.renderer==="business"?(K(),te(bn,{key:1,panel:i2,compact:"",onRowSelect:b1},null,8,["panel"])):i2.renderer==="ledger"?(K(),e2("div",Ge2,[(K(!0),e2(B3,null,q3(i2.rows,A2=>(K(),e2("div",{key:A2.key,class:"industry-ledger-row"},[C("div",null,[C("strong",null,S2(A2.name),1),C("span",null,S2(A2.typeName)+" / "+S2(A2.town),1)]),C("em",null,S2(A2.valueText),1)]))),128))])):G3("",!0)]),_:2},1032,["title","height"]))),128))])])):G3("",!0),z2.value.length?(K(),e2("div",je2,[C("div",ze2,[(K(!0),e2(B3,null,q3(z2.value,i2=>(K(),te(K1,{key:i2.key,class:"fgw-side-card industry-side-card right-card",title:i2.title,width:$_,height:i2.height},{default:j1(()=>[q2(i2)?(K(),te(O0(Oe),{key:0,class:"industry-town-column-chart",option:u3(i2),autoresize:!0},null,8,["option"])):i2.renderer==="business"?(K(),te(bn,{key:1,panel:i2,compact:"",onRowSelect:b1},null,8,["panel"])):i2.renderer==="ledger"?(K(),e2("div",Ue2,[(K(!0),e2(B3,null,q3(i2.rows,A2=>(K(),e2("div",{key:A2.key,class:"industry-ledger-row"},[C("div",null,[C("strong",null,S2(A2.name),1),C("span",null,S2(A2.typeName)+" / "+S2(A2.town),1)]),C("em",null,S2(A2.valueText),1)]))),128))])):G3("",!0)]),_:2},1032,["title","height"]))),128))])])):G3("",!0),p.value?(K(),e2("div",{key:3,class:"industry-point-detail",style:R1(y3.value)},[C("div",$e2,[C("span",null,S2(o3.value),1),C("button",{type:"button",title:"关闭",onClick:O},"×")]),C("div",We2,S2(r3.value),1),C("div",Ve2,[(K(!0),e2(B3,null,q3(Y2.value,i2=>(K(),e2("div",{key:i2.label,class:"industry-point-detail__row"},[C("span",null,S2(i2.label),1),C("strong",null,S2(i2.value),1)]))),128))])],4)):G3("",!0),C("div",He2,[e1(Al,{"model-value":c.value,topics:N2.value,"onUpdate:modelValue":K2},null,8,["model-value","topics"])])]))}},Zl="/openApi",qC=Je2("/jsyApi");function Ze2(n,e){return/^https?:\/\//.test(e)?e:`${n}${e.startsWith("/")?e:`/${e}`}`}function Je2(n){const e=String(n||"/jsyApi").replace(/\/+$/,"");return e.endsWith("/api")?e:`${e}/api`}function S4(n,e,t,i={}){return M6(Ze2(n,e),{params:t,timeout:i.timeout}).then(Qe2)}function W_(n){return Array.isArray(n)?n:(n==null?void 0:n.rows)||(n==null?void 0:n.list)||[]}function XC(n,e=t=>!!t){return I3(this,null,function*(){let t;for(const i of n)try{const r=yield i();if(e(r))return r}catch(r){t=r}if(t)throw t;return null})}function Qe2(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 r0(n)}function et2(n,e=window.location.hash||window.location.pathname,t="智慧管理"){return S4(Zl,"/ai/stat/question",{question:n,pagePath:e,pageName:t},{timeout:9e4})}function tt2(n){return I3(this,null,function*(){const e=yield XC([()=>S4(qC,"/ai/question/balance",{question:n},{timeout:18e3}),()=>S4(Zl,"/ai/balance/targets",{question:n},{timeout:18e3})],t=>W_(t).length>0);return W_(e)})}function nt2(){return I3(this,arguments,function*({areaCode:n,pasturesId:e}={}){return XC([()=>S4(qC,"/ai/livestockBalance",{areaCode:n,pasturesId:e},{timeout:18e3}),()=>S4(Zl,"/ai/balance/advice",{areaCode:n,pasturesId:e},{timeout:18e3})],t=>t&&typeof t=="object"&&Object.keys(t).length>0)})}function it2(){return S4(Zl,"/ai/balance/welcome",void 0,{timeout:12e3})}const rt2="/openApi";function at2(n){return/^https?:\/\//.test(n)?n:`${rt2}${n.startsWith("/")?n:`/${n}`}`}function st2(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 r0(n)}function ot2(i){return I3(this,arguments,function*(n,e=window.location.hash||window.location.pathname,t="智慧管理"){const r=yield M6(at2("/ai/stat/charts"),{params:{question:n,pagePath:e,pageName:t},timeout:3e4}).then(st2);return(Array.isArray(r==null?void 0:r.charts)?r.charts:[]).map(lt2).filter(s=>s.rows.length)})}function lt2(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:ut2(n==null?void 0:n.type),title:(n==null?void 0:n.title)||`统计图表${e+1}`,subtitle:ct2(n==null?void 0:n.subtitle),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:dt2(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 ut2(n){return["pie","donut"].includes(n)?"pie":["line","trend"].includes(n)?"line":"bar"}function ct2(n){const e=String(n||"").trim();return!e||/^(数据)?来源[::]/.test(e)||e.includes("固定展示")?"":e}function dt2(n){if(n==null||n==="")return NaN;const e=Number(String(n).replace(/,/g,"").replace(/%/g,""));return Number.isFinite(e)?e:NaN}const ht2={class:"wisdom-management"},ft2={key:0,class:"wisdom-side wisdom-side-left"},mt2={key:0,class:"wisdom-side-header"},gt2={key:0},pt2={key:1,class:"wisdom-side-metrics"},yt2={key:0},vt2=["innerHTML"],_t2={key:3,class:"wisdom-side-actions"},bt2=["disabled","onClick"],St2={key:1,class:"wisdom-side wisdom-side-right"},wt2={key:0,class:"wisdom-side-header"},Ct2={key:0},Tt2={key:2,class:"wisdom-side-metrics"},At2={key:0},xt2=["innerHTML"],Et2={key:4,class:"wisdom-side-actions"},Pt2=["disabled","onClick"],Mt2={class:"wisdom-chat"},kt2={key:0,class:"wisdom-empty-state"},Rt2={class:"wisdom-prompt-grid"},It2=["disabled","onClick"],Nt2={key:0,class:"wisdom-message-mark"},Lt2={class:"wisdom-bubble"},Ft2={key:0,class:"wisdom-steps"},Dt2={key:1,class:"wisdom-digesting"},Ot2=["innerHTML"],Bt2={key:3,class:"wisdom-stream-caret"},Gt2={key:4,class:"wisdom-suggestion-list"},jt2=["disabled","onClick"],zt2={key:5,class:"wisdom-choice-list"},Ut2=["disabled","onClick"],$t2={class:"wisdom-input-shell"},Wt2=["disabled"],Vt2=["disabled","title","aria-label"],Ht2=["disabled"],Yt2={key:0,class:"wisdom-button-loading"},Kt2={__name:"index",props:{active:{type:Boolean,default:!0}},setup(n){const e=ck({loader:()=>dk(()=>import("./SmartChartRenderer-dea46fb6-1783400325510.js"),["./SmartChartRenderer-dea46fb6-1783400325510.js","./index-1783400325510.js","./index-47d6f37a-balabala-1783400325510.css","./chartTheme-162cb1dc-1783400325510.js","./chartTheme-812dab15-balabala-1783400325510.css","./SmartChartRenderer-7a3a96b9-balabala-1783400325510.css"],import.meta.url),loadingComponent:{template:'<div class="smart-chart-loading">正在绘制统计图表</div>'}}),t=n,i=i3(""),r=i3([]),a=i3(!1),s=i3(null),o=i3([]),l=i3([]),c=i3(!1),d=i3(!1),f=i3(""),p=i3("我是小牧,红原县大屏里的数字牧业助手。你问牦牛、草地、湿地、林地、牧户或草畜平衡,我会先帮你拎重点,再给出数据判断和跟进建议。"),y=[{label:"牦牛分布",question:"牦牛分布"},{label:"畜群结构",question:"牦牛结构占比"},{label:"草地面积",question:"草地面积分布"},{label:"草畜平衡",question:"红原县草畜平衡建议"},{label:"湿地类型",question:"湿地类型结构"},{label:"公益林保护",question:"公益林保护等级统计"}];let w=null,M=null;$n(()=>{it2().then(H2=>{const c2=(H2==null?void 0:H2.value)||(H2==null?void 0:H2.text)||H2;typeof c2=="string"&&c2.trim()&&(p.value=c2)}).catch(()=>{}),V()}),Un(()=>{O(),X()}),I0(()=>t.active,H2=>{H2||(O(),X(),a.value=!1,r.value=r.value.map(c2=>c2.streaming?s3(W2({},c2),{streaming:!1,digesting:!1}):c2))});function P(){return`${Date.now()}-${Math.random().toString(16).slice(2)}`}function D(H2){return String(H2||"").replace(/耗牛/g,"牦牛").replace(/犛牛/g,"牦牛")}function B(H2){return D(H2).trim()}function V(){if(typeof window=="undefined")return;const H2=window.SpeechRecognition||window.webkitSpeechRecognition;c.value=!!H2,H2&&(M=new H2,M.lang="zh-CN",M.continuous=!1,M.interimResults=!0,M.maxAlternatives=1,M.onstart=()=>{d.value=!0,f.value=""},M.onresult=c2=>{const i2=Array.from(c2.results||[]).map(A2=>{var n2;return((n2=A2==null?void 0:A2[0])==null?void 0:n2.transcript)||""}).join("").trim();i2&&(i.value=i2)},M.onerror=c2=>{d.value=!1,f.value=(c2==null?void 0:c2.error)||"语音输入失败"},M.onend=()=>{d.value=!1})}function Y(){if(!(!M||a.value)){if(d.value){X();return}try{f.value="",M.start()}catch(H2){f.value=(H2==null?void 0:H2.message)||"语音输入启动失败",d.value=!1}}}function X(){if(!(!M||!d.value))try{M.stop()}catch(H2){f.value=(H2==null?void 0:H2.message)||"语音输入已结束"}finally{d.value=!1}}function P2(){return I3(this,arguments,function*(H2=i.value){const c2=B(H2);if(!c2||a.value)return;X();const a2={id:P(),role:"user",text:c2},i2={id:P(),role:"assistant",steps:[`正在理解:${c2}`],digesting:!0,digestText:"小牧正在匹配业务数据",visibleText:"",fullText:"",streaming:!1,choices:[],charts:[],insights:[],suggestions:[]};if(r.value=[...r.value,a2,i2],i.value="",a.value=!0,yield S1(),y3(c2)){yield Y2(c2,i2.id);return}yield z2(c2,i2.id)})}function z2(H2,c2){return I3(this,null,function*(){c1(c2,{digestText:"正在调用AI统计问答"});const a2=window.location.hash||window.location.pathname,[i2,A2]=yield Promise.allSettled([et2(H2,a2,"智慧管理"),ot2(H2,a2,"智慧管理")]),n2=A2.status==="fulfilled"?A2.value||[]:[],M2=A2.status==="rejected"?A2.reason:null;if(i2.status==="fulfilled"){const A3=i2.value,J2=D(N2(A3));if(J2&&!V2(J2)){const D2=M2?`${J2}
**图表状态**
- ${y1(M2,"图表接口暂时不可用,已先返回AI文字分析。")}`:J2,E3=n2.length?Q3(n2):[],b3=l1(H2,n2),n1=[`正在理解:${H2}`,"已生成AI回答"];n2.length?n1.push(`右侧已生成 ${n2.length} 个数据图表`):M2&&n1.push("图表生成暂时不可用"),c1(c2,{digesting:!1,steps:n1,insights:E3,suggestions:b3,allowFollowUp:!0}),w2({question:H2,answer:D2,charts:n2,insights:E3,suggestions:b3,aiPanels:q2(A3)}),b1(c2,D2);return}if(n2.length){const D2=G2(H2,n2),E3=Q3(n2),b3=l1(H2,n2);c1(c2,{digesting:!1,steps:[`正在理解:${H2}`,"已生成图表数据摘要",`右侧已生成 ${n2.length} 个数据图表`],insights:E3,suggestions:b3,allowFollowUp:!0}),w2({question:H2,answer:D2,charts:n2,insights:E3,suggestions:b3}),b1(c2,D2);return}const T2=y1(new Error(J2||"AI接口没有返回有效回答"),"AI问答暂时没有返回有效结果,请稍后再试,或换一个更具体的问题。");w2({question:H2,answer:T2,charts:[],insights:[],suggestions:l1(H2,[])}),B1(c2,T2);return}if(n2.length){const A3=G2(H2,n2),J2=Q3(n2),T2=l1(H2,n2);c1(c2,{digesting:!1,steps:[`正在理解:${H2}`,"已生成图表数据摘要",`右侧已生成 ${n2.length} 个数据图表`],insights:J2,suggestions:T2,allowFollowUp:!0}),w2({question:H2,answer:A3,charts:n2,insights:J2,suggestions:T2}),b1(c2,A3);return}const t3=y1(i2.reason,"AI问答暂时不可用,请稍后再试,或换一个更具体的问题。");w2({question:H2,answer:t3,charts:[],insights:[],suggestions:l1(H2,[])}),B1(c2,t3)})}function G2(H2,c2=[]){var E3;const a2=c2[0],i2=((a2==null?void 0:a2.rows)||[]).filter(b3=>(b3==null?void 0:b3.name)&&b3.value!==void 0);if(!a2||!i2.length)return"小牧暂时没有拿到完整文字结果,可以换一个更具体的问题再试一次。";const n2=[...i2].sort((b3,n1)=>(Number(n1.value)||0)-(Number(b3.value)||0)).slice(0,5),M2=a2.unit||((E3=n2.find(b3=>b3.unit))==null?void 0:E3.unit)||"",t3=i2.reduce((b3,n1)=>b3+(Number(n1.value)||0),0),A3=n2[0],J2=n2.map(b3=>`- ${b3.name}:${N3(b3.value)}${b3.unit||M2||""}${b3.extra?`(${b3.extra})`:""}`),T2=t3>0&&i2.length>1?`,图表合计 ${N3(t3)}${M2}`:"",D2=A3?`其中 ${A3.name} 排在最前,为 ${N3(A3.value)}${A3.unit||M2||""}${T2}。`:"";return[`小牧先按右侧图表给你看:${a2.title||H2}。${D2}`,"",...J2,"",i2.length>1?`整体看,可以先关注排名靠前的 ${Math.min(n2.length,i2.length)} 项,再结合对应页面看资源承载、管理安排和后续跟进重点。`:"这个指标可以作为当前页面的快速参考,后续结合相邻指标一起看会更稳妥。"].filter(b3=>b3!=="").join(`
`)}function N2(H2){var a2,i2,A2,n2,M2;return typeof H2=="string"?H2.trim():((M2=[H2==null?void 0:H2.answer,H2==null?void 0:H2.text,H2==null?void 0:H2.content,H2==null?void 0:H2.reply,(a2=H2==null?void 0:H2.message)==null?void 0:a2.content,(n2=(A2=(i2=H2==null?void 0:H2.choices)==null?void 0:i2[0])==null?void 0:A2.message)==null?void 0:n2.content].find(t3=>typeof t3=="string"&&t3.trim()))==null?void 0:M2.trim())||""}function V2(H2){return/调用\s*(DeepSeek|AI|模型).*失败|未解析到回答内容|AI接口没有返回有效回答|服务异常|请求失败/i.test(String(H2||""))}function Y2(H2,c2){return I3(this,null,function*(){c1(c2,{digestText:"正在检索草畜平衡对象"});try{const a2=yield tt2(H2),i2=K2(a2);if(!i2.length){c1(c2,{digesting:!1,steps:[`正在理解:${H2}`,"未匹配到草畜平衡对象"]}),b1(c2,"暂时没有匹配到对应的区域或牧户。可以输入更明确的乡镇、村名、牧户或牧场名称,例如“红原县草畜平衡建议”。");return}if(i2.length>1){c1(c2,{digesting:!1,steps:[`正在理解:${H2}`,"已匹配多个对象,请选择一个继续"],choices:i2.slice(0,8)}),a.value=!1;return}yield r3(i2[0],c2)}catch(a2){B1(c2,y1(a2,"草畜平衡对象检索失败,请稍后再试。"))}})}function o3(H2){return I3(this,null,function*(){if(a.value)return;const c2=H2.name||H2.label||"草畜平衡建议",a2={id:P(),role:"user",text:c2},i2={id:P(),role:"assistant",steps:[`已选择:${c2}`],digesting:!0,digestText:"正在消化草畜平衡数据",visibleText:"",fullText:"",streaming:!1,choices:[],charts:[],insights:[],suggestions:[]};r.value=[...r.value,a2,i2],a.value=!0,yield S1(),yield r3(H2,i2.id)})}function r3(H2,c2){return I3(this,null,function*(){const a2=(H2==null?void 0:H2.name)||(H2==null?void 0:H2.label)||"该区域",i2=C3(H2);c1(c2,{steps:[`已锁定:${a2}`,"正在消化草畜平衡数据"],digestText:"正在生成平衡建议"});try{const A2=yield nt2(i2),n2=m3(a2,A2||{});c1(c2,{digesting:!1,steps:[`已锁定:${a2}`,"已生成草畜平衡建议"]}),k3(a2,A2||{},n2),b1(c2,n2)}catch(A2){B1(c2,y1(A2,"小牧刚才没有消化成功,请稍后再问一次。"))}})}function y3(H2){return/草畜|平衡|承载|载畜|超载|放牧压力|轮牧|休牧|牧场建议|牧户建议/.test(H2)}function K2(H2=[]){return H2.map((c2,a2)=>({key:(c2==null?void 0:c2.key)||(c2==null?void 0:c2.type)||"area_code",value:(c2==null?void 0:c2.value)||(c2==null?void 0:c2.id)||(c2==null?void 0:c2.code)||(c2==null?void 0:c2.areaCode)||(c2==null?void 0:c2.pasturesId),name:(c2==null?void 0:c2.name)||(c2==null?void 0:c2.label)||(c2==null?void 0:c2.areaName)||(c2==null?void 0:c2.pasturesName)||`对象${a2+1}`,raw:c2})).filter(c2=>c2.value||c2.name==="红原县")}function C3(H2){return(H2==null?void 0:H2.key)==="pasturesId"||(H2==null?void 0:H2.key)==="pastures_id"?{pasturesId:H2.value}:{areaCode:(H2==null?void 0:H2.value)||"513233"}}function m3(H2,c2={}){const a2=M3(c2,["areaRange","arearange","area_range","area","acreage"],0),i2=M3(c2,["yakNumber","yaknumber","yak_number","livestock_capacity","livestockCapacity","livestockcapacity"],0),A2=M3(c2,["overloadRate","overloadrate","overload_rate"],""),n2=A2===""?null:M8(A2),M2=(n2==null?void 0:n2.label)||M3(c2,["level","conclusion"],"暂无等级"),t3=M3(c2,["advice","balanceAdvice","balanceadvice","balance_advice"],"暂无建议,请稍后再试。");return`**${H2}草畜平衡建议**
- 草地面积:${N3(a2)} 亩
- 牦牛/载畜量:${N3(i2)} 头
- 草畜平衡等级:${M2}
- 超载率:${N3(A2===""?0:A2)}%
**建议**
${t3}`}function M3(H2,c2,a2=""){for(const i2 of c2){const A2=H2==null?void 0:H2[i2];if(A2!=null&&A2!=="")return A2}return a2}function N3(H2){const c2=Number(String(H2).replace(/,/g,""));return Number.isFinite(c2)?c2.toLocaleString("zh-CN",{maximumFractionDigits:2}):H2||"--"}function q2(H2={}){const c2=(H2==null?void 0:H2.panels)||(H2==null?void 0:H2.sidePanels)||(H2==null?void 0:H2.layout)||{};return{leftPanels:u3((H2==null?void 0:H2.leftPanels)||(c2==null?void 0:c2.leftPanels)||(c2==null?void 0:c2.left)||[]),rightPanels:u3((H2==null?void 0:H2.rightPanels)||(c2==null?void 0:c2.rightPanels)||(c2==null?void 0:c2.right)||[])}}function u3(H2=[]){return(Array.isArray(H2)?H2:[]).map((a2,i2)=>{var M2,t3;const A2=L3(a2==null?void 0:a2.type),n2=(a2==null?void 0:a2.chart)||((M2=a2==null?void 0:a2.data)==null?void 0:M2.chart)||null;return{id:(a2==null?void 0:a2.id)||`ai-panel-${Date.now()}-${i2}`,type:A2,kicker:(a2==null?void 0:a2.kicker)||(a2==null?void 0:a2.category)||(A2==="chart"?"图表":"AI洞察"),title:(a2==null?void 0:a2.title)||(a2==null?void 0:a2.name)||"动态内容",badge:(a2==null?void 0:a2.badge)||(a2==null?void 0:a2.unit)||"",text:(a2==null?void 0:a2.text)||(a2==null?void 0:a2.content)||(a2==null?void 0:a2.summary)||"",chart:n2,items:F3((a2==null?void 0:a2.items)||(a2==null?void 0:a2.metrics)||((t3=a2==null?void 0:a2.data)==null?void 0:t3.items)),actions:K3((a2==null?void 0:a2.actions)||(a2==null?void 0:a2.suggestions))}}).filter(a2=>a2.title&&!_3(a2)&&(a2.text||a2.chart||a2.items.length||a2.actions.length))}function _3(H2={}){const c2=`${H2.kicker||""}${H2.title||""}${H2.type||""}`;return c2.includes("继续追问")||c2.includes("关联问题")||/suggestions/i.test(c2)}function L3(H2){return["chart","metrics","metric","actions","suggestions","text"].includes(H2)?H2==="metric"?"metrics":H2:"text"}function F3(H2=[]){return(Array.isArray(H2)?H2:[]).map((a2,i2)=>{var A2,n2,M2;return{label:(a2==null?void 0:a2.label)||(a2==null?void 0:a2.name)||`指标${i2+1}`,value:(M2=(n2=(A2=a2==null?void 0:a2.value)!=null?A2:a2==null?void 0:a2.count)!=null?n2:a2==null?void 0:a2.number)!=null?M2:"--",note:(a2==null?void 0:a2.note)||(a2==null?void 0:a2.desc)||(a2==null?void 0:a2.description)||""}}).filter(a2=>a2.label)}function K3(H2=[]){return(Array.isArray(H2)?H2:[]).map(a2=>{const i2=(a2==null?void 0:a2.question)||(a2==null?void 0:a2.value)||(a2==null?void 0:a2.text)||(a2==null?void 0:a2.label);return{label:(a2==null?void 0:a2.label)||(a2==null?void 0:a2.name)||i2,question:i2}}).filter(a2=>a2.label&&a2.question).slice(0,4)}function w2({question:H2,answer:c2,charts:a2=[],insights:i2=[],suggestions:A2=[],aiPanels:n2}={}){const M2=(n2==null?void 0:n2.leftPanels)||[],t3=(n2==null?void 0:n2.rightPanels)||[];if(M2.length||t3.length){o.value=M2,l.value=t3;return}const A3=a3({question:H2,answer:c2,charts:a2,insights:i2,suggestions:A2});o.value=A3.left,l.value=A3.right}function a3({question:H2,answer:c2,charts:a2=[],insights:i2=[],suggestions:A2=[]}={}){const n2=[],M2=[],t3=(i2.length?i2:Q3(a2)).map(A3=>({label:A3.label,value:A3.value,note:A3.note}));return!a2.length&&!t3.length?{left:n2,right:M2}:(t3.length&&n2.push({id:`summary-${P()}`,type:"metrics",kicker:"AI洞察",title:"数据摘要",badge:"实时",items:t3.slice(0,4),actions:[]}),a2.slice(0,2).forEach((A3,J2)=>{M2.push({id:`chart-${A3.id||J2}-${P()}`,type:"chart",kicker:J2===0?"可视分析":"关联图表",title:A3.title||`统计图表${J2+1}`,badge:A3.unit||"",chart:A3,items:[],actions:[],text:""})}),{left:n2.slice(0,2),right:M2.slice(0,2)})}function k3(H2,c2={},a2=""){const i2=M3(c2,["areaRange","arearange","area_range","area","acreage"],0),A2=M3(c2,["yakNumber","yaknumber","yak_number","livestock_capacity","livestockCapacity","livestockcapacity"],0),n2=M3(c2,["overloadRate","overloadrate","overload_rate"],""),M2=n2===""?null:M8(n2),t3=(M2==null?void 0:M2.label)||M3(c2,["level","conclusion"],"暂无等级");o.value=[{id:`balance-${P()}`,type:"metrics",kicker:"草畜平衡",title:H2,badge:t3,items:[{label:"草地面积",value:`${N3(i2)}亩`,note:"承载基础"},{label:"牦牛/载畜量",value:`${N3(A2)}头`,note:"当前数据"},{label:"超载率",value:`${N3(n2===""?0:n2)}%`,note:t3}],actions:[]}],l.value=[{id:`balance-advice-${P()}`,type:"text",kicker:"AI建议",title:"管理建议",badge:"模型",text:J3(a2,180),items:[],actions:K3([{label:"看牦牛分布",question:"牦牛分布"},{label:"看草地面积",question:"草地面积分布"}])}]}function J3(H2,c2=120){const a2=String(H2||"").replace(/\*\*/g,"").replace(/^#+\s*/gm,"").split(/\r?\n/).map(i2=>i2.replace(/^[-*]\s+/,"").trim()).filter(Boolean).slice(0,4).join(`
`);return a2.length>c2?`${a2.slice(0,c2)}...`:a2}function Q3(H2=[]){const c2=[];return H2.slice(0,2).forEach(a2=>{var T2;const i2=(a2.rows||[]).map(D2=>s3(W2({},D2),{value:Number(D2.value)})).filter(D2=>D2.name&&Number.isFinite(D2.value));if(!i2.length)return;const A2=a2.unit||((T2=i2.find(D2=>D2.unit))==null?void 0:T2.unit)||"",n2=i2.slice().sort((D2,E3)=>E3.value-D2.value),M2=i2.reduce((D2,E3)=>D2+E3.value,0),t3=M2/i2.length,A3=n2[0],J2=n2[n2.length-1];c2.push({label:"最高",value:`${A3.name} ${N3(A3.value)}${A2}`,note:a2.title}),i2.length>2&&c2.push({label:a2.type==="pie"?"占比项":"最低",value:`${J2.name} ${N3(J2.value)}${A2}`,note:a2.type==="pie"?"最小结构项":"低值区域"}),c2.push({label:"合计",value:`${N3(M2)}${A2}`,note:i2.length>1?`覆盖 ${i2.length} 项`:a2.title}),a2.type!=="pie"&&i2.length>1&&c2.push({label:"均值",value:`${N3(t3)}${A2}`,note:"按当前图表项计算"})}),c2.slice(0,4)}function l1(H2,c2=[]){return[]}function c1(H2,c2,a2=!0){r.value=r.value.map(i2=>i2.id===H2?W2(W2({},i2),c2):i2),a2&&S1()}function B1(H2,c2){c1(H2,{digesting:!1,steps:["请求已结束"]}),b1(H2,c2)}function y1(H2,c2){const a2=String((H2==null?void 0:H2.message)||"");return(H2==null?void 0:H2.code)===401||(H2==null?void 0:H2.code)==="401"||(H2==null?void 0:H2.code)==="HTTP_401"||/未登录|授权|Unauthorized|HTTP 401/i.test(a2)?"接口需要登录授权。当前智慧管理不会使用假数据,请先完成平台登录,或继续使用业务统计数据问数。":(H2==null?void 0:H2.code)==="REQUEST_TIMEOUT"||/timeout|timed out|超时/i.test(a2)?"服务响应时间较长,请稍后再试,或换一个更具体的问题。":(H2==null?void 0:H2.code)==="REQUEST_ABORTED"||/aborted|abort|signal/i.test(a2)?"本次请求被中断了,请重新发送一次。":/Failed to fetch|NetworkError|Load failed|HTTP 50|HTTP 40/i.test(a2)||/[a-zA-Z]{4,}/.test(a2)?c2:a2||c2}function b1(H2,c2){O();const a2=D(c2),i2=a2.length>1200?36:a2.length>700?24:14;let A2=0;c1(H2,{fullText:a2,visibleText:"",streaming:!0,choices:[],charts:[]});const n2=()=>{if(A2=Math.min(A2+i2,a2.length),c1(H2,{visibleText:a2.slice(0,A2),streaming:A2<a2.length}),A2>=a2.length){w=null,a.value=!1;return}w=window.setTimeout(n2,18)};w=window.setTimeout(n2,0)}function O(){w&&(window.clearTimeout(w),w=null)}function A1(H2){const c2=F1(H2).split(/\r?\n/),a2=[];let i2=[],A2=!1;const n2=()=>{i2.length&&(a2.push(`<${A2?"ol":"ul"}>${i2.map(M2=>`<li>${I1(M2)}</li>`).join("")}</${A2?"ol":"ul"}>`),i2=[],A2=!1)};return c2.forEach(M2=>{const t3=M2.trim();if(!t3){n2();return}const A3=t3.match(/^#{1,4}\s+(.+)$/)||t3.match(/^\*\*(.+)\*\*$/);if(A3){n2(),a2.push(`<h3>${I1(A3[1])}</h3>`);return}const J2=t3.match(/^\d+[.)、]\s+(.+)$/),T2=t3.match(/^[-*]\s+(.+)$/);if(J2||T2){const D2=!!J2;i2.length&&A2!==D2&&n2(),A2=D2,i2.push(J2?J2[1]:T2[1]);return}n2(),a2.push(`<p>${I1(t3)}</p>`)}),n2(),a2.join("")}function I1(H2){return H2.replace(/\*\*([^*]+)\*\*/g,"<strong>$1</strong>")}function F1(H2){return String(H2||"").replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;")}function S1(){return I3(this,null,function*(){yield _e(),window.requestAnimationFrame(()=>{s.value&&(s.value.scrollTop=s.value.scrollHeight)})})}return(H2,c2)=>(K(),e2("div",ht2,[c2[12]||(c2[12]=dl('<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)),o.value.length?(K(),e2("aside",ft2,[(K(!0),e2(B3,null,q3(o.value,a2=>{var i2,A2;return K(),e2("section",{key:a2.id,class:t1(["wisdom-side-panel",`is-${a2.type}`])},[a2.chart?G3("",!0):(K(),e2("header",mt2,[C("div",null,[C("span",null,S2(a2.kicker),1),C("strong",null,S2(a2.title),1)]),a2.badge?(K(),e2("em",gt2,S2(a2.badge),1)):G3("",!0)])),(i2=a2.items)!=null&&i2.length?(K(),e2("div",pt2,[(K(!0),e2(B3,null,q3(a2.items,n2=>(K(),e2("div",{key:`${a2.id}-${n2.label}`,class:"wisdom-side-metric"},[C("span",null,S2(n2.label),1),C("strong",null,S2(n2.value),1),n2.note?(K(),e2("em",yt2,S2(n2.note),1)):G3("",!0)]))),128))])):G3("",!0),a2.text?(K(),e2("div",{key:2,class:"wisdom-side-text",innerHTML:A1(a2.text)},null,8,vt2)):G3("",!0),(A2=a2.actions)!=null&&A2.length?(K(),e2("div",_t2,[(K(!0),e2(B3,null,q3(a2.actions,n2=>(K(),e2("button",{key:n2.question,type:"button",disabled:a.value,onClick:M2=>P2(n2.question)},S2(n2.label),9,bt2))),128))])):G3("",!0)],2)}),128))])):G3("",!0),l.value.length?(K(),e2("aside",St2,[(K(!0),e2(B3,null,q3(l.value,a2=>{var i2,A2;return K(),e2("section",{key:a2.id,class:t1(["wisdom-side-panel",`is-${a2.type}`])},[a2.chart?G3("",!0):(K(),e2("header",wt2,[C("div",null,[C("span",null,S2(a2.kicker),1),C("strong",null,S2(a2.title),1)]),a2.badge?(K(),e2("em",Ct2,S2(a2.badge),1)):G3("",!0)])),a2.chart?(K(),te(O0(e),{key:1,class:"wisdom-side-chart",chart:a2.chart},null,8,["chart"])):G3("",!0),(i2=a2.items)!=null&&i2.length?(K(),e2("div",Tt2,[(K(!0),e2(B3,null,q3(a2.items,n2=>(K(),e2("div",{key:`${a2.id}-${n2.label}`,class:"wisdom-side-metric"},[C("span",null,S2(n2.label),1),C("strong",null,S2(n2.value),1),n2.note?(K(),e2("em",At2,S2(n2.note),1)):G3("",!0)]))),128))])):G3("",!0),a2.text?(K(),e2("div",{key:3,class:"wisdom-side-text",innerHTML:A1(a2.text)},null,8,xt2)):G3("",!0),(A2=a2.actions)!=null&&A2.length?(K(),e2("div",Et2,[(K(!0),e2(B3,null,q3(a2.actions,n2=>(K(),e2("button",{key:n2.question,type:"button",disabled:a.value,onClick:M2=>P2(n2.question)},S2(n2.label),9,Pt2))),128))])):G3("",!0)],2)}),128))])):G3("",!0),C("main",Mt2,[C("div",{ref_key:"dialogueRef",ref:s,class:t1(["wisdom-dialogue",{"is-empty":!r.value.length}])},[r.value.length?G3("",!0):(K(),e2("section",kt2,[c2[3]||(c2[3]=C("div",{class:"wisdom-empty-mark"},[C("span"),C("strong",null,"AI")],-1)),c2[4]||(c2[4]=C("h2",null,"小牧智慧问答",-1)),C("p",null,S2(p.value),1),C("div",Rt2,[(K(),e2(B3,null,q3(y,a2=>C("button",{key:a2.question,type:"button",disabled:a.value,onClick:i2=>P2(a2.question)},S2(a2.label),9,It2)),64))])])),(K(!0),e2(B3,null,q3(r.value,a2=>{var i2,A2,n2;return K(),e2("article",{key:a2.id,class:t1(["wisdom-message",`is-${a2.role}`])},[a2.role==="assistant"?(K(),e2("div",Nt2,[...c2[5]||(c2[5]=[C("span",null,"牧",-1)])])):G3("",!0),C("div",Lt2,[a2.role==="user"?(K(),e2(B3,{key:0},[he(S2(a2.text),1)],64)):(K(),e2(B3,{key:1},[(i2=a2.steps)!=null&&i2.length?(K(),e2("div",Ft2,[(K(!0),e2(B3,null,q3(a2.steps,M2=>(K(),e2("div",{key:M2,class:"wisdom-step"},[c2[6]||(c2[6]=C("span",null,null,-1)),he(S2(M2),1)]))),128))])):G3("",!0),a2.digesting?(K(),e2("div",Dt2,[c2[7]||(c2[7]=C("span",null,null,-1)),c2[8]||(c2[8]=C("span",null,null,-1)),c2[9]||(c2[9]=C("span",null,null,-1)),C("em",null,S2(a2.digestText||"小牧正在消化中"),1)])):G3("",!0),a2.visibleText?(K(),e2("div",{key:2,class:"wisdom-answer",innerHTML:A1(a2.visibleText)},null,8,Ot2)):G3("",!0),a2.streaming?(K(),e2("span",Bt2)):G3("",!0),(A2=a2.suggestions)!=null&&A2.length&&(a2.allowFollowUp||!a2.digesting&&!a2.streaming)?(K(),e2("div",Gt2,[(K(!0),e2(B3,null,q3(a2.suggestions,M2=>(K(),e2("button",{key:M2.question,type:"button",disabled:a.value,onClick:t3=>P2(M2.question)},S2(M2.label),9,jt2))),128))])):G3("",!0),(n2=a2.choices)!=null&&n2.length?(K(),e2("div",zt2,[(K(!0),e2(B3,null,q3(a2.choices,(M2,t3)=>(K(),e2("button",{key:`${M2.key||"choice"}-${M2.value||t3}`,type:"button",disabled:a.value,onClick:A3=>o3(M2)},S2(M2.name||M2.label||M2.value),9,Ut2))),128))])):G3("",!0)],64))])],2)}),128))],2),C("form",{class:"wisdom-input-bar",onSubmit:c2[2]||(c2[2]=lt(a2=>P2(),["prevent"]))},[C("div",$t2,[c2[11]||(c2[11]=C("span",{class:"wisdom-input-icon"},null,-1)),We(C("input",{"onUpdate:modelValue":c2[0]||(c2[0]=a2=>i.value=a2),disabled:a.value,autocomplete:"off",placeholder:"输入牧户、区域或草畜平衡问题",onKeydown:c2[1]||(c2[1]=y8(lt(a2=>P2(),["prevent"]),["enter"]))},null,40,Wt2),[[m9,i.value]]),C("button",{type:"button",class:t1(["wisdom-voice-button",{"is-listening":d.value}]),disabled:a.value||!c.value,title:c.value?d.value?"停止语音输入":"语音输入":"当前浏览器不支持语音输入","aria-label":c.value?d.value?"停止语音输入":"语音输入":"当前浏览器不支持语音输入",onClick:Y},[...c2[10]||(c2[10]=[C("span",null,null,-1)])],10,Vt2),C("button",{class:"wisdom-submit-button",type:"submit",disabled:a.value||!i.value.trim()},[a.value?(K(),e2("span",Yt2)):G3("",!0),C("span",null,S2(a.value?"消化中":"发送"),1)],8,Ht2)])],32)])]))}},ar=[{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 qt2(n){return ar.find(e=>e.key===n)||ar[1]}const Xt2={key:0,class:"platform-module-pane"},Zt2={key:1,class:"platform-module-pane"},Jt2={key:2,class:"platform-module-pane"},Qt2={key:3,class:"platform-module-pane"},en2={key:4,class:"platform-module-pane"},tn2={key:5,class:"platform-module-pane"},nn2={key:6,class:"platform-module-pane"},in2={key:7,class:"platform-module-pane"},rn2={class:"large-screen-wrap"},an2={class:"top-menu"},sn2={key:0,class:"top-menu-mid-space"},on2={key:0,class:"np-stat-shell"},ln2={class:"np-stat-primary-row"},un2={class:"np-stat-name"},cn2={class:"np-stat-value-line"},dn2={class:"np-stat-value"},hn2={class:"np-stat-unit"},fn2={class:"np-stat-secondary-row"},mn2={class:"np-stat-name"},gn2={class:"np-stat-value"},pn2={class:"np-stat-unit"},yn2={key:1,class:"platform-map-tools","aria-label":"地图工具"},vn2=["title","aria-label"],_n2={key:2,class:"module-coming"},bn2={class:"module-coming-title"},Sn2={key:3,class:"bottom-tray"},wn2={class:"bottom-menu"},Cn2=["onClick"],Tn2={key:8,class:"loading platform-loading"},An2={class:"loading-progress"},xn2={class:"value"},En2=1200,Ln2={__name:"index",setup(n){const e=hk(),t=fk(),i=K3(e.query.module),r=i3(i),a=i3("national-park"),s=i3(i==="yak-management"?w2(e.query.view):"structure"),o=i3({home:!0,[i]:!0}),l=i3({}),c=i3(!0),d=i3(0),f=i3(null),p=i3(null),y=i3(null),w=i3(null),M=i3(null),P=i3(null),D=i3(null),B=i3(!1);let V=null,Y=!1,X=null,P2=null;const z2=Date.now(),G2={progress:0},N2=["town","area","wetland","yield","rate","stack","leaf","risk","grass-basic","grass-general","forest","park","project","length","device","certificate"],V2=new Set(N2),Y2=b2(()=>qt2(r.value)),o3=b2(()=>B.value?"退出":"全屏"),r3=b2(()=>!["smart-management","grass-livestock-balance"].includes(Y2.value.key)),y3=b2(()=>r.value==="ecological-protection"?vv:ar),K2=b2(()=>r.value==="ecological-protection"?a.value:r.value),C3=b2(()=>Y2.value.key==="ecological-protection"&&K2.value==="national-park"),m3=b2(()=>{const J2=l.value[r.value];return Array.isArray(J2)||J2!=null&&J2.length?J2:c1([{zh:"草地面积",en:"",value:756.37,unit:"万亩",decimals:2},{zh:"林地总面积",en:"",value:177.92,unit:"万亩",decimals:2},{zh:"湿地面积",en:"",value:291.82,unit:"万亩",decimals:2}])}),M3=b2(()=>m3.value.slice(0,5)),N3=b2(()=>m3.value.slice(5,10));$n(()=>{V=gl.init({dh:1080,dw:1920,el:"#large-screen",resize:!0}),a2(),c2(),F1()}),Un(()=>{var J2;(J2=V==null?void 0:V.off)==null||J2.call(V,"#large-screen"),i2(),X&&window.clearTimeout(X),P2&&window.cancelAnimationFrame(P2),_n.killTweensOf(G2)});function q2(J2,T2={}){const D2=K3(J2);if(D2==="yak-management"&&!T2.fromRoute&&(s.value="structure"),D2===r.value){F3(D2);return}const E3=!!o.value[D2];r.value=D2,E3||A1(D2),F3(D2),_e(F1)}function u3(J2){if(J2!=null&&J2.key){if(r.value==="ecological-protection"){_3(J2.key);return}q2(J2.key)}}function _3(J2){const T2=vv.some(D2=>D2.key===J2)?J2:"national-park";T2===a.value&&r.value==="ecological-protection"||(a.value=T2,_e(F1))}function L3(J2){const T2=w2(J2);T2!==s.value&&(s.value=T2,r.value==="yak-management"&&F3("yak-management"))}I0(()=>[e.query.module,e.query.view],([J2,T2])=>{const D2=K3(J2);D2==="yak-management"&&(s.value=w2(T2)),D2!==r.value&&q2(D2,{fromRoute:!0})});function F3(J2=r.value){const T2=s3(W2({},e.query),{module:J2});J2==="yak-management"?T2.view=s.value:delete T2.view;const D2=e.query||{},E3=String(D2.module||"")===String(T2.module||"")&&String(D2.view||"")===String(T2.view||"");e.path==="/platform"&&E3||t.replace({path:"/platform",query:T2}).catch(()=>{})}function K3(J2){const T2=Array.isArray(J2)?J2[0]:J2;return ar.some(D2=>D2.key===T2)?T2:"home"}function w2(J2){const T2=Array.isArray(J2)?J2[0]:J2;return["structure","forecast","epidemic","trade"].includes(T2)?T2:"structure"}function a3(J2){const T2=J2.moduleKey||(J2.topicKey?"forest-grass-wet":r.value);l.value=s3(W2({},l.value),{[T2]:c1(J2.items||[])})}function k3(J2={}){const T2=typeof J2=="number"?J2:J2.progress;Q3(T2)}function J3(){_n.killTweensOf(G2),G2.progress=100,d.value=100;const J2=Date.now()-z2,T2=Math.max(180,En2-J2);window.setTimeout(l1,T2)}function Q3(J2){if(!c.value)return;const T2=Math.max(0,Math.min(100,Math.floor(Number(J2)||0)));T2<d.value||_n.to(G2,{progress:T2,duration:.35,ease:"power2.out",onUpdate:()=>{d.value=Math.floor(G2.progress)}})}function l1(){if(!c.value||Y)return;Y=!0;const J2=_n.timeline({onComplete:()=>{c.value=!1}});J2.to(".platform-loading .loading-text span",{y:"200%",opacity:0,ease:"power4.inOut",duration:1.4,stagger:.14}),J2.to(".platform-loading .loading-progress",{opacity:0,ease:"power4.inOut",duration:1.2},"<"),J2.to(".platform-loading",{opacity:0,ease:"power4.inOut",duration:.8},"-=0.55")}function c1(J2=[]){const T2=new Set;return J2.slice(0,10).map((D2,E3)=>{var O1;const b3=Number(D2.value)||0,n1={zh:D2.zh||D2.name||`指标${E3+1}`,en:D2.en||"",value:b3,unit:D2.unit||"",decimals:(O1=D2.decimals)!=null?O1:Number.isInteger(b3)?0:2},w1=B1(W2(W2({},D2),n1),E3,T2);return T2.add(w1),W2({icon:w1},n1)})}function B1(J2={},T2=0,D2=new Set){const b3=y1(J2,T2).find(n1=>V2.has(n1)&&!D2.has(n1));return b3||N2.find(n1=>!D2.has(n1))||N2[T2%N2.length]}function y1(J2={},T2=0){const D2=`${J2.zh||J2.name||""}${J2.unit||""}`,E3=[],b3=(...w1)=>{w1.forEach(O1=>{O1&&!E3.includes(O1)&&E3.push(O1)})};b3(J2.icon),/风险|预警|告警/.test(D2)&&b3("risk","rate"),/模型|修正|共识|预测|变化|净/.test(D2)&&b3("rate","stack"),/率|占比|比例|超载/.test(D2)&&b3("rate","project"),/生态牧场|家庭生态/.test(D2)&&b3("leaf","town"),/出证|证书|证/.test(D2)&&b3("certificate","project"),/交易|销售/.test(D2)&&b3("yield","certificate"),/流通|出栏|流出/.test(D2)&&b3("length","certificate","project"),/运输|车辆|无人机|识别|设备|监测/.test(D2)&&b3("device","length"),/工程长度|长度|公里/.test(D2)&&b3("length","project"),/修复项目|项目|工程|治理/.test(D2)&&b3("project","length"),/国家公园|保护范围|保护区|划定/.test(D2)&&b3("park","leaf"),/产量|库容|鲜草|饲草|收入|产值|繁殖|补充/.test(D2)&&b3("yield","leaf"),/湿地/.test(D2)&&b3("wetland","leaf"),/基本草原/.test(D2)&&b3("grass-basic","area"),/一般草原/.test(D2)&&b3("grass-general","area"),/林地|森林|公益林/.test(D2)&&b3("forest","leaf"),/面积|草地|草原|草场|万亩|亩/.test(D2)&&b3("area","grass-basic","grass-general"),/牦牛|存栏|头|结构/.test(D2)&&b3("stack","yield","leaf"),/乡镇|镇域|村|点位|主体|牧户|农户|联户|户|个|覆盖/.test(D2)&&b3("town","project"),/生态|林草/.test(D2)&&b3("leaf","wetland");const n1=T2%N2.length;return b3(...N2.slice(n1),...N2.slice(0,n1)),E3}function b1(J2={}){var E3;const T2=Number(J2.value)||0,D2=(E3=J2.decimals)!=null?E3:Number.isInteger(T2)?0:2;return T2.toFixed(D2)}function O(J2){["home","forest-grass-wet","ecological-protection","grass-livestock-balance","yak-management","pasture-management","yak-industry-chain","smart-management"].includes(J2)&&(o.value[J2]||(o.value=s3(W2({},o.value),{[J2]:!0})))}function A1(J2){I1(),X=window.setTimeout(()=>{X=null,P2=window.requestAnimationFrame(()=>{P2=null,X=null,r.value===J2&&O(J2)})},180)}function I1(){X&&(window.clearTimeout(X),X=null),P2&&(window.cancelAnimationFrame(P2),P2=null)}function F1(){window.scrollTo(0,0),document.documentElement.scrollTop=0,document.body.scrollTop=0;const J2=document.querySelector("#app");J2&&(J2.scrollTop=0)}const S1=["fullscreenchange","webkitfullscreenchange","mozfullscreenchange","MSFullscreenChange"];function H2(){return typeof document=="undefined"?null:document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||null}function c2(){var D2;const J2=H2(),T2=f.value;B.value=!!(T2&&J2&&(J2===T2||T2.contains(J2)||(D2=J2.contains)!=null&&D2.call(J2,T2)))}function a2(){typeof document!="undefined"&&S1.forEach(J2=>document.addEventListener(J2,c2))}function i2(){typeof document!="undefined"&&S1.forEach(J2=>document.removeEventListener(J2,c2))}function A2(){var J2,T2;(T2=(J2=t3())==null?void 0:J2.refreshMapView)==null||T2.call(J2)}function n2(){return I3(this,null,function*(){if(typeof document=="undefined")return;const J2=H2();try{if(J2){const T2=document.exitFullscreen||document.webkitExitFullscreen||document.mozCancelFullScreen||document.msExitFullscreen;yield T2==null?void 0:T2.call(document)}else{const T2=f.value||document.documentElement,D2=T2.requestFullscreen||T2.webkitRequestFullscreen||T2.mozRequestFullScreen||T2.msRequestFullscreen;yield D2==null?void 0:D2.call(T2)}}catch(T2){console.warn("[platform] fullscreen toggle failed",T2)}finally{c2(),window.setTimeout(A2,80),window.setTimeout(A2,280)}})}function M2(){var J2,T2;(T2=(J2=t3())==null?void 0:J2.resetMap)==null||T2.call(J2)}function t3(){return Y2.value.key==="home"?p.value:Y2.value.key==="forest-grass-wet"?y.value:Y2.value.key==="ecological-protection"?w.value:Y2.value.key==="yak-management"?M.value:Y2.value.key==="pasture-management"?P.value:Y2.value.key==="yak-industry-chain"?D.value:null}function A3(){mk()}return(J2,T2)=>(K(),e2("div",{ref_key:"platformScreenRef",ref:f,class:t1(["large-screen platform-screen",{"is-home":Y2.value.key==="home","is-forest-grass-wet":Y2.value.key==="forest-grass-wet","is-ecological-protection":Y2.value.key==="ecological-protection","is-grass-livestock-balance":Y2.value.key==="grass-livestock-balance","is-yak-management":Y2.value.key==="yak-management","is-pasture-management":Y2.value.key==="pasture-management","is-yak-industry-chain":Y2.value.key==="yak-industry-chain","is-smart-management":Y2.value.key==="smart-management","is-ecology-national-park":Y2.value.key==="ecological-protection"&&K2.value==="national-park"}]),id:"large-screen"},[o.value.home?We((K(),e2("div",Xt2,[e1(lG,{ref_key:"homeDashboardRef",ref:p,active:Y2.value.key==="home",onLoadingProgress:k3,onMapReady:J3,onModuleStats:a3},null,8,["active"])],512)),[[R5,Y2.value.key==="home"]]):G3("",!0),o.value["forest-grass-wet"]?We((K(),e2("div",Zt2,[e1(QG,{ref_key:"forestGrassWetRef",ref:y,active:Y2.value.key==="forest-grass-wet","show-loading":!1,onTopicStats:a3},null,8,["active"])],512)),[[R5,Y2.value.key==="forest-grass-wet"]]):G3("",!0),o.value["ecological-protection"]?We((K(),e2("div",Jt2,[e1(LH,{ref_key:"ecologicalProtectionRef",ref:w,active:Y2.value.key==="ecological-protection","active-view":a.value,"show-loading":!1,onModuleStats:a3,onViewChange:_3},null,8,["active","active-view"])],512)),[[R5,Y2.value.key==="ecological-protection"]]):G3("",!0),o.value["grass-livestock-balance"]?We((K(),e2("div",Qt2,[e1(MY,{active:Y2.value.key==="grass-livestock-balance",onLoadingProgress:k3,onMapReady:J3,onModuleStats:a3},null,8,["active"])],512)),[[R5,Y2.value.key==="grass-livestock-balance"]]):G3("",!0),o.value["yak-management"]?We((K(),e2("div",en2,[e1(i02,{ref_key:"yakManagementRef",ref:M,active:Y2.value.key==="yak-management","view-key":s.value,onModuleStats:a3,onViewChange:L3},null,8,["active","view-key"])],512)),[[R5,Y2.value.key==="yak-management"]]):G3("",!0),o.value["pasture-management"]?We((K(),e2("div",tn2,[e1($02,{ref_key:"pastureManagementRef",ref:P,active:Y2.value.key==="pasture-management",onLoadingProgress:k3,onMapReady:J3,onModuleStats:a3},null,8,["active"])],512)),[[R5,Y2.value.key==="pasture-management"]]):G3("",!0),o.value["yak-industry-chain"]?We((K(),e2("div",nn2,[e1(Xe2,{ref_key:"yakIndustryChainRef",ref:D,active:Y2.value.key==="yak-industry-chain",onLoadingProgress:k3,onMapReady:J3,onModuleStats:a3},null,8,["active"])],512)),[[R5,Y2.value.key==="yak-industry-chain"]]):G3("",!0),o.value["smart-management"]?We((K(),e2("div",in2,[e1(Kt2,{active:Y2.value.key==="smart-management"},null,8,["active"])],512)),[[R5,Y2.value.key==="smart-management"]]):G3("",!0),C("div",rn2,[e1(_R,{title:"红原县数字畜牧业监管平台","sub-text":"Hongyuan Digital Animal Husbandry Supervision Platform"},{right:j1(()=>[C("div",{class:"m-header-tools"},[C("button",{class:"logout-button","aria-label":"退出登录",title:"退出登录",type:"button",onClick:A3},[...T2[0]||(T2[0]=[C("svg",{class:"logout-icon",viewBox:"0 0 24 24","aria-hidden":"true"},[C("path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4"}),C("path",{d:"M16 17l5-5-5-5"}),C("path",{d:"M21 12H9"})],-1)])])])]),_:1}),C("div",an2,[e1(SR,{"default-active":r.value,onSelect:q2},{default:j1(()=>[(K(!0),e2(B3,null,q3(O0(ar),(D2,E3)=>(K(),e2(B3,{key:D2.key},[e1(wR,{index:D2.key},{default:j1(()=>[he(S2(D2.label),1)]),_:2},1032,["index"]),E3===3?(K(),e2("div",sn2)):G3("",!0)],64))),128))]),_:1},8,["default-active"])]),m3.value.length&&!["smart-management","grass-livestock-balance","yak-industry-chain"].includes(Y2.value.key)?(K(),e2("div",{key:0,class:t1(["top-count-card",{"is-four":m3.value.length>3&&m3.value.length<=4,"is-multi":m3.value.length>4,"is-national-park-stats":Y2.value.key==="ecological-protection"&&K2.value==="national-park"}])},[C3.value?(K(),e2("div",on2,[C("div",ln2,[(K(!0),e2(B3,null,q3(M3.value,D2=>(K(),e2("div",{key:D2.zh,class:"np-stat np-stat-primary"},[C("div",un2,S2(D2.zh),1),C("div",cn2,[C("span",dn2,S2(b1(D2)),1),C("span",hn2,S2(D2.unit),1)])]))),128))]),C("div",fn2,[(K(!0),e2(B3,null,q3(N3.value,D2=>(K(),e2("div",{key:D2.zh,class:"np-stat np-stat-secondary"},[C("span",mn2,S2(D2.zh),1),C("span",gn2,S2(b1(D2)),1),C("span",pn2,S2(D2.unit),1)]))),128))])])):(K(!0),e2(B3,{key:1},q3(m3.value,D2=>(K(),te(IR,{key:D2.zh,info:D2},null,8,["info"]))),128))],2)):G3("",!0),r3.value?(K(),e2("div",yn2,[C("button",{type:"button",title:o3.value,"aria-label":o3.value,onClick:n2},[...T2[1]||(T2[1]=[C("span",{class:"platform-map-tool-icon is-fullscreen","aria-hidden":"true"},null,-1)])],8,vn2),C("button",{type:"button",title:"复位地图","aria-label":"复位地图",onClick:M2},[...T2[2]||(T2[2]=[C("span",{class:"platform-map-tool-icon is-reset","aria-hidden":"true"},null,-1)])])])):G3("",!0),Y2.value.status!=="ready"?(K(),e2("div",_n2,[C("div",bn2,S2(Y2.value.label),1),T2[3]||(T2[3]=C("div",{class:"module-coming-text"},"模块建设中,平台框架已预留入口",-1))])):G3("",!0),["home","forest-grass-wet","ecological-protection","grass-livestock-balance","yak-management","pasture-management","yak-industry-chain","smart-management"].includes(Y2.value.key)?G3("",!0):(K(),e2("div",Sn2,[e1(So,{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"}),e1(So,{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"}),T2[4]||(T2[4]=C("div",{class:"bottom-tray-arrow"},[C("img",{src:_o,alt:""}),C("img",{src:bo,alt:""})],-1)),C("div",wn2,[(K(!0),e2(B3,null,q3(y3.value,D2=>(K(),e2("div",{key:D2.key,class:t1(["bottom-menu-item",{"is-active":D2.key===K2.value}]),onClick:E3=>u3(D2)},[C("span",null,S2(D2.bottomLabel),1)],10,Cn2))),128))]),T2[5]||(T2[5]=C("div",{class:"bottom-tray-arrow is-reverse"},[C("img",{src:_o,alt:""}),C("img",{src:bo,alt:""})],-1))])),T2[6]||(T2[6]=C("div",{class:"large-screen-left-zsline"},null,-1)),T2[7]||(T2[7]=C("div",{class:"large-screen-right-zsline"},null,-1))]),c.value?(K(),e2("div",Tn2,[T2[9]||(T2[9]=dl('<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)),C("div",An2,[C("span",xn2,S2(d.value),1),T2[8]||(T2[8]=C("span",{class:"unit"},"%",-1))])])):G3("",!0)],2))}};export{Ln2 as default};