// All material copyright Esri, All Rights Reserved, unless otherwise specified. // See https://js.arcgis.com/4.30/esri/copyright.txt for details. //>>built define("require exports ../core/Error ../core/promiseUtils ../core/accessorSupport/tracking ../core/accessorSupport/tracking/SimpleObservable ../core/libs/gl-matrix-2/factories/vec3f64 ./ellipsoidUtils ./Extent ./Multipoint ../chunks/pe ./Point ./Polygon ./Polyline ./SpatialReference ./projection/projectBuffer ./projection/projectors ./projection/projectXYZToVector ./support/GeographicTransformation ./support/spatialReferenceUtils ./support/zscale".split(" "),function(M,h,ba,G,N,ca,da,r,ea,fa,H,ha, ia,ja,I,J,O,P,B,l,ka){function x(){return!!p&&H.isLoaded()}function Q(){if(x())return!0;N.trackAccess(K);y();return!1}function y(a){null==z&&(z=Promise.all([H.load(),(new Promise((c,b)=>M(["../chunks/geometryEngineBase"],c,b))).then(c=>c.geometryEngineBase),new Promise((c,b)=>M(["./geometryAdapters/hydrated"],c,b))]));return z.then(([,c,{hydratedAdapter:b}])=>{G.throwIfAborted(a);t=b;p=c.default;p._enableProjection(H.pe);K.notify()})}function R(a,c,b=null,d=null){return Array.isArray(a)?0===a.length? []:L(t,a,a[0].spatialReference,c,b,d):L(t,[a],a.spatialReference,c,b,d)[0]}function L(a,c,b,d,e=null,k=null){if(null==b||null==d)return c;if(v(b,d,e))return c.map(f=>C(f,b,d));if(null==e&&r.isSphericalECEF(b))return c.map(f=>C(f,b,I.WGS84)).map(f=>A(f,d));if(null==e&&r.isSphericalECEF(d))return c.map(f=>A(f,I.WGS84)).map(f=>C(f,I.WGS84,d));if(null==e){const f=B.cacheKey(b,d);void 0!==D[f]?e=D[f]:(e=S(b,d,void 0),null==e&&(e=new B),D[f]=e)}if(null==p||null==a)throw new E;return null!=k?p._project(a, c,b,d,e,k):p._project(a,c,b,d,e)}function T(a,c){if(!x())for(const b of a)if(null!=b&&!l.equals(b.spatialReference,c)&&l.isValid(b.spatialReference)&&l.isValid(c)&&!v(b.spatialReference,c))return N.trackAccess(K),{pending:y(),geometries:null};return{pending:null,geometries:a.map(b=>null==b?null:l.equals(b.spatialReference,c)?b:l.isValid(b.spatialReference)&&l.isValid(c)?A(b,c):null)}}function S(a,c,b=null){if(null==a||null==c)return null;if(null==p||null==t)throw new E;a=p._getTransformation(t,a, c,b,b?.spatialReference);return null!==a?B.fromGE(a):null}function A(a,c){try{const b=R(a,c);if(null==b)return null;"xmin"in a&&"xmin"in b&&(b.zmin=a.zmin,b.zmax=a.zmax);const d=ka.getGeometryZScaler(b.type,a.spatialReference,c);null!=d&&d(b);return b}catch(b){if(!(b instanceof E))throw b;return null}}function v(a,c,b){return b?!1:l.equals(a,c)?!0:l.isValid(a)&&l.isValid(c)&&!!O.getProjector(a,c,O.projectorCache)}async function U(a,c,b,d){if(x())return G.waitTick(d);if(Array.isArray(a))for(const {source:e, dest:k,geographicTransformation:f}of a){if(e&&k&&!v(e,k,f))return y(d)}else if(a&&c&&!v(a,c,b))return y(d);return G.waitTick(d)}function C(a,c,b){return a?"x"in a?V(a,c,new ha,b,0):"xmin"in a?W(a,c,new ea,b,0):"rings"in a?X(a,c,new ia,b,0):"paths"in a?Y(a,c,new ja,b,0):"points"in a?Z(a,c,new fa,b,0):null:null}function V(a,c,b,d,e){n[0]=a.x;n[1]=a.y;const k=a.z;n[2]=void 0!==k?k:e;if(!J.projectBuffer(n,c,0,n,d,0,1))return null;b.x=n[0];b.y=n[1];b.spatialReference=d;void 0!==k||r.isSphericalPCPF(d)? (b.z=n[2],b.hasZ=!0):(b.z=void 0,b.hasZ=!1);void 0===a.m?(b.m=void 0,b.hasM=!1):(b.m=a.m,b.hasM=!0);return b}function Z(a,c,b,d,e){const {points:k,hasZ:f,hasM:g}=a;a=[];const u=k.length,m=[];for(var q of k)m.push(q[0],q[1],f?q[2]:e);if(!J.projectBuffer(m,c,0,m,d,0,u))return null;c=f||r.isSphericalPCPF(d);for(e=0;e