(c=t.charCodeAt(i))||c>57){M=(46===c?a+t.slice(i+1):t.slice(i))+M,t=t.slice(0,i);break}}g&&!d&&(t=r(t,1/0));var T=h.length+t.length+M.length,S=T>1)+h+t+M+S.slice(T);break;default:t=S+h+t+M}return u(t)}return y=void 0===y?6:/[gprs]/.test(_)?Math.max(1,Math.min(21,y)):Math.max(0,Math.min(20,y)),M.toString=function(){return t+""},M}return{format:l,formatPrefix:function(t,n){var e=l(((t=Sc(t)).type="f",t)),r=3*Math.max(-8,Math.min(8,Math.floor(Mc(n)/3))),i=Math.pow(10,-r),o=Dc[8+r/3];return function(t){return e(i*t)+o}}}}function Fc(n){return Pc=Rc(n),t.format=Pc.format,t.formatPrefix=Pc.formatPrefix,Pc}function qc(t){return Math.max(0,-Mc(Math.abs(t)))}function Oc(t,n){return Math.max(0,3*Math.max(-8,Math.min(8,Math.floor(Mc(n)/3)))-Mc(Math.abs(t)))}function Uc(t,n){return t=Math.abs(t),n=Math.abs(n)-t,Math.max(0,Mc(n)-Mc(t))+1}t.format=void 0,t.formatPrefix=void 0,Fc({thousands:",",grouping:[3],currency:["$",""]});var Ic=1e-6,Bc=1e-12,Yc=Math.PI,Lc=Yc/2,jc=Yc/4,$c=2*Yc,Hc=180/Yc,Xc=Yc/180,Gc=Math.abs,Vc=Math.atan,Wc=Math.atan2,Zc=Math.cos,Kc=Math.ceil,Qc=Math.exp,Jc=Math.hypot,tf=Math.log,nf=Math.pow,ef=Math.sin,rf=Math.sign||function(t){return t>0?1:t<0?-1:0},of=Math.sqrt,af=Math.tan;function uf(t){return t>1?0:t<-1?Yc:Math.acos(t)}function cf(t){return t>1?Lc:t<-1?-Lc:Math.asin(t)}function ff(t){return(t=ef(t/2))*t}function sf(){}function lf(t,n){t&&df.hasOwnProperty(t.type)&&df[t.type](t,n)}var hf={Feature:function(t,n){lf(t.geometry,n)},FeatureCollection:function(t,n){for(var e=t.features,r=-1,i=e.length;++r=0?1:-1,i=r*e,o=Zc(n=(n*=Xc)/2+jc),a=ef(n),u=xf*a,c=mf*o+u*Zc(i),f=u*r*ef(i);Df.add(Wc(f,c)),bf=t,mf=o,xf=a}function Bf(t){return[Wc(t[1],t[0]),cf(t[2])]}function Yf(t){var n=t[0],e=t[1],r=Zc(e);return[r*Zc(n),r*ef(n),ef(e)]}function Lf(t,n){return t[0]*n[0]+t[1]*n[1]+t[2]*n[2]}function jf(t,n){return[t[1]*n[2]-t[2]*n[1],t[2]*n[0]-t[0]*n[2],t[0]*n[1]-t[1]*n[0]]}function $f(t,n){t[0]+=n[0],t[1]+=n[1],t[2]+=n[2]}function Hf(t,n){return[t[0]*n,t[1]*n,t[2]*n]}function Xf(t){var n=of(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=n,t[1]/=n,t[2]/=n}var Gf,Vf,Wf,Zf,Kf,Qf,Jf,ts,ns,es,rs,is,os,as,us,cs,fs={point:ss,lineStart:hs,lineEnd:ds,polygonStart:function(){fs.point=ps,fs.lineStart=gs,fs.lineEnd=ys,Cf=new _,Ff.polygonStart()},polygonEnd:function(){Ff.polygonEnd(),fs.point=ss,fs.lineStart=hs,fs.lineEnd=ds,Df<0?(wf=-(Af=180),Mf=-(Tf=90)):Cf>Ic?Tf=90:Cf<-1e-6&&(Mf=-90),zf[0]=wf,zf[1]=Af},sphere:function(){wf=-(Af=180),Mf=-(Tf=90)}};function ss(t,n){Pf.push(zf=[wf=t,Af=t]),nTf&&(Tf=n)}function ls(t,n){var e=Yf([t*Xc,n*Xc]);if(Nf){var r=jf(Nf,e),i=jf([r[1],-r[0],0],r);Xf(i),i=Bf(i);var o,a=t-Sf,u=a>0?1:-1,c=i[0]*Hc*u,f=Gc(a)>180;f^(u*SfTf&&(Tf=o):f^(u*Sf<(c=(c+360)%360-180)&&cTf&&(Tf=n)),f?tvs(wf,Af)&&(Af=t):vs(t,Af)>vs(wf,Af)&&(wf=t):Af>=wf?(tAf&&(Af=t)):t>Sf?vs(wf,t)>vs(wf,Af)&&(Af=t):vs(t,Af)>vs(wf,Af)&&(wf=t)}else Pf.push(zf=[wf=t,Af=t]);nTf&&(Tf=n),Nf=e,Sf=t}function hs(){fs.point=ls}function ds(){zf[0]=wf,zf[1]=Af,fs.point=ss,Nf=null}function ps(t,n){if(Nf){var e=t-Sf;Cf.add(Gc(e)>180?e+(e>0?360:-360):e)}else Ef=t,kf=n;Ff.point(t,n),ls(t,n)}function gs(){Ff.lineStart()}function ys(){ps(Ef,kf),Ff.lineEnd(),Gc(Cf)>Ic&&(wf=-(Af=180)),zf[0]=wf,zf[1]=Af,Nf=null}function vs(t,n){return(n-=t)<0?n+360:n}function _s(t,n){return t[0]-n[0]}function bs(t,n){return t[0]<=t[1]?t[0]<=n&&n<=t[1]:nYc?t+Math.round(-t/$c)*$c:t,n]}function Rs(t,n,e){return(t%=$c)?n||e?zs(qs(t),Os(n,e)):qs(t):n||e?Os(n,e):Ds}function Fs(t){return function(n,e){return[(n+=t)>Yc?n-$c:n<-Yc?n+$c:n,e]}}function qs(t){var n=Fs(t);return n.invert=Fs(-t),n}function Os(t,n){var e=Zc(t),r=ef(t),i=Zc(n),o=ef(n);function a(t,n){var a=Zc(n),u=Zc(t)*a,c=ef(t)*a,f=ef(n),s=f*e+u*r;return[Wc(c*i-s*o,u*e-f*r),cf(s*i+c*o)]}return a.invert=function(t,n){var a=Zc(n),u=Zc(t)*a,c=ef(t)*a,f=ef(n),s=f*i-c*o;return[Wc(c*i+f*o,u*e+s*r),cf(s*e-u*r)]},a}function Us(t){function n(n){return(n=t(n[0]*Xc,n[1]*Xc))[0]*=Hc,n[1]*=Hc,n}return t=Rs(t[0]*Xc,t[1]*Xc,t.length>2?t[2]*Xc:0),n.invert=function(n){return(n=t.invert(n[0]*Xc,n[1]*Xc))[0]*=Hc,n[1]*=Hc,n},n}function Is(t,n,e,r,i,o){if(e){var a=Zc(n),u=ef(n),c=r*e;null==i?(i=n+r*$c,o=n-c/2):(i=Bs(a,i),o=Bs(a,o),(r>0?io)&&(i+=r*$c));for(var f,s=i;r>0?s>o:s1&&n.push(n.pop().concat(n.shift()))},result:function(){var e=n;return n=[],t=null,e}}}function Ls(t,n){return Gc(t[0]-n[0])=0;--o)i.point((s=f[o])[0],s[1]);else r(h.x,h.p.x,-1,i);h=h.p}f=(h=h.o).z,d=!d}while(!h.v);i.lineEnd()}}}function Hs(t){if(n=t.length){for(var n,e,r=0,i=t[0];++r=0?1:-1,E=S*T,k=E>Yc,N=y*M;if(c.add(Wc(N*S*ef(E),v*A+N*Zc(E))),a+=k?T+S*$c:T,k^p>=e^x>=e){var C=jf(Yf(d),Yf(m));Xf(C);var P=jf(o,C);Xf(P);var z=(k^T>=0?-1:1)*cf(P[2]);(r>z||r===z&&(C[0]||C[1]))&&(u+=k^T>=0?1:-1)}}return(a<-1e-6||a0){for(l||(i.polygonStart(),l=!0),i.lineStart(),t=0;t1&&2&c&&h.push(h.pop().concat(h.shift())),a.push(h.filter(Ws))}return h}}function Ws(t){return t.length>1}function Zs(t,n){return((t=t.x)[0]<0?t[1]-Lc-Ic:Lc-t[1])-((n=n.x)[0]<0?n[1]-Lc-Ic:Lc-n[1])}Ds.invert=Ds;var Ks=Vs((function(){return!0}),(function(t){var n,e=NaN,r=NaN,i=NaN;return{lineStart:function(){t.lineStart(),n=1},point:function(o,a){var u=o>0?Yc:-Yc,c=Gc(o-e);Gc(c-Yc)0?Lc:-Lc),t.point(i,r),t.lineEnd(),t.lineStart(),t.point(u,r),t.point(o,r),n=0):i!==u&&c>=Yc&&(Gc(e-i)Ic?Vc((ef(n)*(o=Zc(r))*ef(e)-ef(r)*(i=Zc(n))*ef(t))/(i*o*a)):(n+r)/2}(e,r,o,a),t.point(i,r),t.lineEnd(),t.lineStart(),t.point(u,r),n=0),t.point(e=o,r=a),i=u},lineEnd:function(){t.lineEnd(),e=r=NaN},clean:function(){return 2-n}}}),(function(t,n,e,r){var i;if(null==t)i=e*Lc,r.point(-Yc,i),r.point(0,i),r.point(Yc,i),r.point(Yc,0),r.point(Yc,-i),r.point(0,-i),r.point(-Yc,-i),r.point(-Yc,0),r.point(-Yc,i);else if(Gc(t[0]-n[0])>Ic){var o=t[0]0,i=Gc(n)>Ic;function o(t,e){return Zc(t)*Zc(e)>n}function a(t,e,r){var i=[1,0,0],o=jf(Yf(t),Yf(e)),a=Lf(o,o),u=o[0],c=a-u*u;if(!c)return!r&&t;var f=n*a/c,s=-n*u/c,l=jf(i,o),h=Hf(i,f);$f(h,Hf(o,s));var d=l,p=Lf(h,d),g=Lf(d,d),y=p*p-g*(Lf(h,h)-1);if(!(y<0)){var v=of(y),_=Hf(d,(-p-v)/g);if($f(_,h),_=Bf(_),!r)return _;var b,m=t[0],x=e[0],w=t[1],M=e[1];x0^_[1]<(Gc(_[0]-m)Yc^(m<=_[0]&&_[0]<=x)){var S=Hf(d,(-p+v)/g);return $f(S,h),[_,Bf(S)]}}}function u(n,e){var i=r?t:Yc-t,o=0;return n<-i?o|=1:n>i&&(o|=2),e<-i?o|=4:e>i&&(o|=8),o}return Vs(o,(function(t){var n,e,c,f,s;return{lineStart:function(){f=c=!1,s=1},point:function(l,h){var d,p=[l,h],g=o(l,h),y=r?g?0:u(l,h):g?u(l+(l<0?Yc:-Yc),h):0;if(!n&&(f=c=g)&&t.lineStart(),g!==c&&(!(d=a(n,p))||Ls(n,d)||Ls(p,d))&&(p[2]=1),g!==c)s=0,g?(t.lineStart(),d=a(p,n),t.point(d[0],d[1])):(d=a(n,p),t.point(d[0],d[1],2),t.lineEnd()),n=d;else if(i&&n&&r^g){var v;y&e||!(v=a(p,n,!0))||(s=0,r?(t.lineStart(),t.point(v[0][0],v[0][1]),t.point(v[1][0],v[1][1]),t.lineEnd()):(t.point(v[1][0],v[1][1]),t.lineEnd(),t.lineStart(),t.point(v[0][0],v[0][1],3)))}!g||n&&Ls(n,p)||t.point(p[0],p[1]),n=p,c=g,e=y},lineEnd:function(){c&&t.lineEnd(),n=null},clean:function(){return s|(f&&c)<<1}}}),(function(n,r,i,o){Is(o,t,e,i,n,r)}),r?[0,-t]:[-Yc,t-Yc])}var Js,tl,nl,el,rl=1e9,il=-rl;function ol(t,n,e,r){function i(i,o){return t<=i&&i<=e&&n<=o&&o<=r}function o(i,o,u,f){var s=0,l=0;if(null==i||(s=a(i,u))!==(l=a(o,u))||c(i,o)<0^u>0)do{f.point(0===s||3===s?t:e,s>1?r:n)}while((s=(s+u+4)%4)!==l);else f.point(o[0],o[1])}function a(r,i){return Gc(r[0]-t)0?0:3:Gc(r[0]-e)0?2:1:Gc(r[1]-n)0?1:0:i>0?3:2}function u(t,n){return c(t.x,n.x)}function c(t,n){var e=a(t,1),r=a(n,1);return e!==r?e-r:0===e?n[1]-t[1]:1===e?t[0]-n[0]:2===e?t[1]-n[1]:n[0]-t[0]}return function(a){var c,f,s,l,h,d,p,g,y,v,_,b=a,m=Ys(),x={point:w,lineStart:function(){x.point=M,f&&f.push(s=[]);v=!0,y=!1,p=g=NaN},lineEnd:function(){c&&(M(l,h),d&&y&&m.rejoin(),c.push(m.result()));x.point=w,y&&b.lineEnd()},polygonStart:function(){b=m,c=[],f=[],_=!0},polygonEnd:function(){var n=function(){for(var n=0,e=0,i=f.length;er&&(h-o)*(r-a)>(d-a)*(t-o)&&++n:d<=r&&(h-o)*(r-a)<(d-a)*(t-o)&&--n;return n}(),e=_&&n,i=(c=J(c)).length;(e||i)&&(a.polygonStart(),e&&(a.lineStart(),o(null,null,1,a),a.lineEnd()),i&&$s(c,u,n,o,a),a.polygonEnd());b=a,c=f=s=null}};function w(t,n){i(t,n)&&b.point(t,n)}function M(o,a){var u=i(o,a);if(f&&s.push([o,a]),v)l=o,h=a,d=u,v=!1,u&&(b.lineStart(),b.point(o,a));else if(u&&y)b.point(o,a);else{var c=[p=Math.max(il,Math.min(rl,p)),g=Math.max(il,Math.min(rl,g))],m=[o=Math.max(il,Math.min(rl,o)),a=Math.max(il,Math.min(rl,a))];!function(t,n,e,r,i,o){var a,u=t[0],c=t[1],f=0,s=1,l=n[0]-u,h=n[1]-c;if(a=e-u,l||!(a>0)){if(a/=l,l<0){if(a