// All material copyright Esri, All Rights Reserved, unless otherwise specified. // See https://js.arcgis.com/4.30/esri/copyright.txt for details. //>>built define("exports ../core/has ../core/mathUtils ../geometry/Extent ../geometry/Polygon ../geometry/SpatialReference ../geometry/support/Ellipsoid ../layers/graphics/featureConversionUtils ../layers/graphics/OptimizedGeometry ../layers/graphics/data/projectionSupport".split(" "),function(r,N,B,J,K,v,C,L,M,D){function z(a,b,g,d){if(d.isWebMercator)return a=B.rad2deg(a/C.earth.radius),a-=360*Math.floor((a+180)/360),b=B.rad2deg(Math.PI/2-2*Math.atan(Math.exp(-b/C.earth.radius))),d=[0,0],A(d,0,b,a,g),d; b=D.project({x:a,y:b},d,v.WGS84);if(!b)return null;a=[0,0];A(a,0,b.y,b.x,g);return a}function w(a){return 57>=a?a-48:104>=a?a-88:107>=a?a-89:110>=a?a-90:a-91}function x(a,b,g){a[0]=b;a[1]=g;return a}function t(a,b){const g=(a[0]+a[1])/2,d=!b;a[0]=d*a[0]+b*g;a[1]=d*g+b*a[1]}function u(a,b){b=b>(a[0]+a[1])/2;t(a,b);return b}function A(a,b,g,d,f){f%2&&(f+=1);let e=0,h=0,c=-90,k=90,m=-180,p=180;for(let y=0;yn;n++){var l=(m+p)/2,q=d>l?1:0;e|=q<<29-(n+5*y);m=(1-q)*m+q*l;p=(1-q)* l+q*p}for(n=0;5>n;n++)l=(c+k)/2,q=g>l?1:0,h|=q<<29-(n+5*y),c=(1-q)*c+q*l,k=(1-q)*l+q*k}a[2*b]=e;a[2*b+1]=h}function E(a,b){return b?1&a|(4&a)>>1|(16&a)>>2:(2&a)>>1|(8&a)>>2}function F(a,b){return b?(2&a)>>1|(8&a)>>2:1&a|(4&a)>>1|(16&a)>>2}function G(a,b,g){var d=!((a.length-1)%2);const f=a.substring(0,a.length-1);var e=w(a.charCodeAt(a.length-1)),h=0,c=0;let k=0;var m=0;d?(h=8,c=4,k=1&e|(4&e)>>1|(16&e)>>2,m=(2&e)>>1|(8&e)>>2):(h=4,c=8,m=1&e|(4&e)>>1|(16&e)>>2,k=(2&e)>>1|(8&e)>>2);b=k+b;e=m+g;g=Math.floor(b/ h);m=Math.floor(e/c);h=b-g*h;c=e-m*c;d="0123456789bcdefghjkmnpqrstuvwxyz"[d?h&1|(c&1)<<1|(h&2)<<1|(c&2)<<2|(h&4)<<2:c&1|(h&1)<<1|(c&2)<<1|(h&2)<<2|(c&4)<<2];return 1> m;k=(3*k+7*(1-k)<>p;for(--c;0<=c;c--){p=(f+e)/2;const l=m&1<!(c%2));var e=b.coords.filter((h,c)=>c%2);b=Math.min(...f);d=Math.min(...e);f=Math.max(...f);e=Math.max(...e);b=z(b,d,g,v.WGS84);d=z(f,e,g,v.WGS84);return b&&d?{bounds:a,geohashBounds:{xLL:b[0], yLL:b[1],xTR:d[0],yTR:d[1]},level:g}:null};r.getRelativeGeohash=G;r.setGeohashBuf=A;r.setGeohashXY=function(a,b,g,d){d%2&&(d+=1);let f=0,e=0,h=-90,c=90,k=-180,m=180;for(let q=0;qp;p++){var n=(k+m)/2,l=g>n?1:0;f|=l<<29-(p+5*q);k=(1-l)*k+l*n;m=(1-l)*n+l*m}for(p=0;5>p;p++)n=(h+c)/2,l=b>n?1:0,e|=l<<29-(p+5*q),h=(1-l)*h+l*n,c=(1-l)*n+l*c}a.geohashX=f;a.geohashY=e};r.unpackXBits=E;r.unpackYBits=F;Object.defineProperty(r,Symbol.toStringTag,{value:"Module"})});