@arcgis/core
Version:
ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API
163 lines (136 loc) • 193 kB
JavaScript
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[6702],{13259:(e,t,r)=>{r.d(t,{H:()=>z,b:()=>D,c:()=>L});var i=r(37585),n=r(48163),s=r(91829),a=r(79258),o=r(49255),l=r(76591),c=r(36782),h=r(47522),d=r(40268),u=r(63578),f=r(13755),p=r(2981),_=r(42398),m=r(63365),g=r(26835),y=r(52587),v=r(20693),x=r(47286),b=r(14314),w=r(81961),T=r(71988),A=r(33094),S=r(20304),R=r(31821),O=r(12791),I=r(63761),M=r(59643),E=r(46540),C=r(14113),F=r(49788);function D(e){const t=new C.N5,r=e.signedDistanceFieldEnabled;t.include(d.Q,e),t.vertex.include(l.rA,e);const{occlusionPass:n,output:D,oitPass:z}=e;if(n)return t.include(u.I,e),t;const{vertex:B,fragment:V}=t;t.include(y.Y6),t.include(_.A,e),t.include(c.g,e),t.include(f.y),V.include(g.W),V.include(m.a),t.varyings.add("vcolor","vec4"),t.varyings.add("vtc","vec2"),t.varyings.add("vsize","vec2");const j=D===o.V.Highlight,H=j&&e.occlusionTestEnabled;H&&t.varyings.add("voccluded","float"),B.uniforms.add(new b.I("viewport",(e=>e.camera.fullViewport)),new x.G("screenOffset",((e,t)=>(0,i.hZ)(N,2*e.screenOffset[0]*t.camera.pixelRatio,2*e.screenOffset[1]*t.camera.pixelRatio))),new x.G("anchorPosition",(e=>L(e))),new T.E("materialColor",(e=>e.color)),new S.m("materialRotation",(e=>e.rotation))),(0,v.Nz)(B),r&&(B.uniforms.add(new T.E("outlineColor",(e=>e.outlineColor))),V.uniforms.add(new T.E("outlineColor",(e=>P(e)?e.outlineColor:s.uY)),new S.m("outlineSize",(e=>P(e)?e.outlineSize:0)))),e.horizonCullingEnabled&&B.uniforms.add(new w.V("pointDistanceSphere",((e,t)=>{const r=t.camera.eye,i=e.origin;return(0,s.fA)(i[0]-r[0],i[1]-r[1],i[2]-r[2],a.$O.radius)}))),e.pixelSnappingEnabled&&B.include(h.K),e.hasScreenSizePerspective&&((0,y.pM)(B),(0,y.OH)(B)),e.debugDrawLabelBorder&&t.varyings.add("debugBorderCoords","vec4"),t.attributes.add(E.r.UV0,"vec2"),t.attributes.add(E.r.COLOR,"vec4"),t.attributes.add(E.r.SIZE,"vec2"),t.attributes.add(E.r.ROTATION,"float"),t.attributes.add(E.r.FEATUREATTRIBUTE,"vec4"),B.code.add(e.horizonCullingEnabled?R.H`bool behindHorizon(vec3 posModel) {
vec3 camToEarthCenter = pointDistanceSphere.xyz - localOrigin;
vec3 camToPos = pointDistanceSphere.xyz + posModel;
float earthRadius = pointDistanceSphere.w;
float a = dot(camToPos, camToPos);
float b = dot(camToPos, camToEarthCenter);
float c = dot(camToEarthCenter, camToEarthCenter) - earthRadius * earthRadius;
return b > 0.0 && b < a && b * b > a * c;
}`:R.H`bool behindHorizon(vec3 posModel) { return false; }`),B.main.add(R.H`
ProjectHUDAux projectAux;
vec4 posProj = projectPositionHUD(projectAux);
forwardObjectAndLayerIdColor();
if (rejectBySlice(projectAux.posModel)) {
// Project outside of clip plane
gl_Position = vec4(1e038, 1e038, 1e038, 1.0);
return;
}
if (behindHorizon(projectAux.posModel)) {
// Project outside of clip plane
gl_Position = vec4(1e038, 1e038, 1e038, 1.0);
return;
}
vec2 inputSize;
${(0,R.If)(e.hasScreenSizePerspective,R.H`
inputSize = screenSizePerspectiveScaleVec2(size, projectAux.absCosAngle, projectAux.distanceToCamera, screenSizePerspective);
vec2 screenOffsetScaled = screenSizePerspectiveScaleVec2(screenOffset, projectAux.absCosAngle, projectAux.distanceToCamera, screenSizePerspectiveAlignment);`,R.H`
inputSize = size;
vec2 screenOffsetScaled = screenOffset;`)}
${(0,R.If)(e.vvSize,R.H`inputSize *= vvScale(featureAttribute).xx;`)}
vec2 combinedSize = inputSize * pixelRatio;
vec4 quadOffset = vec4(0.0);
${(0,R.If)(e.occlusionTestEnabled,R.H`
bool visible = testHUDVisibility(posProj);
if (!visible) {
vtc = vec2(0.0);
${(0,R.If)(e.debugDrawLabelBorder,"debugBorderCoords = vec4(0.5, 0.5, 1.5 / combinedSize);")}
return;
}`)}
${(0,R.If)(H,R.H`voccluded = visible ? 0.0 : 1.0;`)}
`);const U=R.H`
vec2 uv01 = floor(uv0);
vec2 uv = uv0 - uv01;
quadOffset.xy = (uv01 - anchorPosition) * 2.0 * combinedSize;
${(0,R.If)(e.hasRotation,R.H`
float angle = radians(materialRotation + rotation);
float cosAngle = cos(angle);
float sinAngle = sin(angle);
mat2 rotate = mat2(cosAngle, -sinAngle, sinAngle, cosAngle);
quadOffset.xy = rotate * quadOffset.xy;
`)}
quadOffset.xy = (quadOffset.xy + screenOffsetScaled) / viewport.zw * posProj.w;
`,G=e.pixelSnappingEnabled?r?R.H`posProj = alignToPixelOrigin(posProj, viewport.zw) + quadOffset;`:R.H`posProj += quadOffset;
if (inputSize.x == size.x) {
posProj = alignToPixelOrigin(posProj, viewport.zw);
}`:R.H`posProj += quadOffset;`;B.main.add(R.H`
${U}
${e.vvColor?"vcolor = interpolateVVColor(featureAttribute.y) * materialColor;":"vcolor = color / 255.0 * materialColor;"}
${(0,R.If)(D===o.V.ObjectAndLayerIdColor,R.H`vcolor.a = 1.0;`)}
bool alphaDiscard = vcolor.a < ${R.H.float(F.Q)};
${(0,R.If)(r,`alphaDiscard = alphaDiscard && outlineColor.a < ${R.H.float(F.Q)};`)}
if (alphaDiscard) {
// "early discard" if both symbol color (= fill) and outline color (if applicable) are transparent
gl_Position = vec4(1e38, 1e38, 1e38, 1.0);
return;
} else {
${G}
gl_Position = posProj;
}
vtc = uv;
${(0,R.If)(e.debugDrawLabelBorder,R.H`debugBorderCoords = vec4(uv01, 1.5 / combinedSize);`)}
vsize = inputSize;
`),V.uniforms.add(new I.N("tex",(e=>e.texture))),e.occludedFragmentFade&&(V.uniforms.add(new O.x("depthMap",(e=>e.mainDepth))),V.uniforms.add(new A.U("occludedOpacity",(e=>e.hudOccludedFragmentOpacity))));const k=e.debugDrawLabelBorder?R.H`(isBorder > 0.0 ? 0.0 : ${R.H.float(F.Q)})`:R.H.float(F.Q),q=R.H`
${(0,R.If)(e.debugDrawLabelBorder,R.H`float isBorder = float(any(lessThan(debugBorderCoords.xy, debugBorderCoords.zw)) || any(greaterThan(debugBorderCoords.xy, 1.0 - debugBorderCoords.zw)));`)}
${(0,R.If)(e.sampleSignedDistanceFieldTexelCenter,R.H`
float txSize = float(textureSize(tex, 0).x);
float texelSize = 1.0 / txSize;
// Calculate how much we have to add/subtract to/from each texel to reach the size of an onscreen pixel
vec2 scaleFactor = (vsize - txSize) * texelSize;
vec2 samplePos = vtc + (vec2(1.0, -1.0) * texelSize) * scaleFactor;`,R.H`vec2 samplePos = vtc;`)}
${r?R.H`
vec4 fillPixelColor = vcolor;
// Get distance and map it into [-0.5, 0.5]
float d = rgbaTofloat(texture(tex, samplePos)) - 0.5;
// Distance in output units (i.e. pixels)
float dist = d * vsize.x;
// Create smooth transition from the icon into its outline
float fillAlphaFactor = clamp(0.5 - dist, 0.0, 1.0);
fillPixelColor.a *= fillAlphaFactor;
if (outlineSize > 0.25) {
vec4 outlinePixelColor = outlineColor;
float clampedOutlineSize = min(outlineSize, 0.5*vsize.x);
// Create smooth transition around outline
float outlineAlphaFactor = clamp(0.5 - (abs(dist) - 0.5*clampedOutlineSize), 0.0, 1.0);
outlinePixelColor.a *= outlineAlphaFactor;
if (
outlineAlphaFactor + fillAlphaFactor < ${k} ||
fillPixelColor.a + outlinePixelColor.a < ${R.H.float(F.Q)}
) {
discard;
}
// perform un-premultiplied over operator (see https://en.wikipedia.org/wiki/Alpha_compositing#Description)
float compositeAlpha = outlinePixelColor.a + fillPixelColor.a * (1.0 - outlinePixelColor.a);
vec3 compositeColor = vec3(outlinePixelColor) * outlinePixelColor.a +
vec3(fillPixelColor) * fillPixelColor.a * (1.0 - outlinePixelColor.a);
${(0,R.If)(!j,R.H`fragColor = vec4(compositeColor, compositeAlpha);`)}
} else {
if (fillAlphaFactor < ${k}) {
discard;
}
${(0,R.If)(!j,R.H`fragColor = premultiplyAlpha(fillPixelColor);`)}
}
// visualize SDF:
// fragColor = vec4(clamp(-dist/vsize.x*2.0, 0.0, 1.0), clamp(dist/vsize.x*2.0, 0.0, 1.0), 0.0, 1.0);
`:R.H`
vec4 texColor = texture(tex, vtc, -0.5);
if (texColor.a < ${k}) {
discard;
}
${(0,R.If)(!j,R.H`fragColor = texColor * premultiplyAlpha(vcolor);`)}
`}
${(0,R.If)(e.occludedFragmentFade&&!j,R.H`
float zSample = texelFetch(depthMap, ivec2(gl_FragCoord.xy), 0).x;
if (zSample < gl_FragCoord.z) {
fragColor *= occludedOpacity;
}
`)}
${(0,R.If)(!j&&e.debugDrawLabelBorder,R.H`fragColor = mix(fragColor, vec4(1.0, 0.0, 1.0, 1.0), isBorder * 0.5);`)}
`;switch(D){case o.V.Color:case o.V.ColorEmission:t.outputs.add("fragColor","vec4",0),D===o.V.ColorEmission&&t.outputs.add("fragEmission","vec4",1),z===M.Y.ColorAlpha&&t.outputs.add("fragAlpha","float",D===o.V.ColorEmission?2:1),V.main.add(R.H`
${q}
${(0,R.If)(z===M.Y.FrontFace,R.H`fragColor.rgb /= fragColor.a;`)}
${(0,R.If)(D===o.V.ColorEmission,R.H`fragEmission = vec4(0.0);`)}
${(0,R.If)(z===M.Y.ColorAlpha,R.H`fragAlpha = fragColor.a;`)}`);break;case o.V.ObjectAndLayerIdColor:V.main.add(R.H`
${q}
outputObjectAndLayerIdColor();`);break;case o.V.Highlight:t.include(p.Q,e),V.main.add(R.H`
${q}
outputHighlight(${(0,R.If)(H,R.H`voccluded == 1.0`,R.H`false`)});`)}return t}function P(e){return e.outlineColor[3]>0&&e.outlineSize>0}function L(e){return e.textureIsSignedDistanceField?(t=e.anchorPosition,r=e.distanceFieldBoundingBox,n=N,(0,i.hZ)(n,t[0]*(r[2]-r[0])+r[0],t[1]*(r[3]-r[1])+r[1])):(0,i.C)(N,e.anchorPosition),N;var t,r,n}const N=(0,n.vt)(),z=Object.freeze(Object.defineProperty({__proto__:null,build:D,calculateAnchorPosition:L},Symbol.toStringTag,{value:"Module"}))},66344:(e,t,r)=>{r.d(t,{q:()=>l});var i,n,s=r(3694);(n=i||(i={}))[n.ALL=0]="ALL",n[n.SOME=1]="SOME";class a{get size(){return this._size}constructor(e=10485760){this._maxSize=e,this._db=new Map,this._size=0,this._hit=0,this._miss=0,this._removeFuncs=new s.A,this._users=new s.A}destroy(){this.clearAll(),this._removeFuncs.clear(),this._users.clear()}register(e){this._users.push(e)}deregister(e){this._users.removeUnordered(e)}registerRemoveFunc(e,t){this._removeFuncs.push([e,t])}deregisterRemoveFunc(e){this._removeFuncs.filterInPlace((t=>t[0]!==e))}get maxSize(){return this._maxSize}set maxSize(e){this._maxSize=Math.max(e,-1),this._checkSize()}getSize(e,t){const r=this._db.get(e.id+t);return r?.size??0}put(e,t,r,n,s){t=e.id+t;const a=this._db.get(t);if(a&&(this._size-=a.size,e.size-=a.size,this._db.delete(t),a.entry!==r&&this._notifyRemove(t,a.entry,a.size,i.ALL)),n>this._maxSize)return void this._notifyRemove(t,r,n,i.ALL);if(void 0===r)return void console.warn("Refusing to cache undefined entry ");if(!n||n<0)return console.warn(`Refusing to cache entry with size ${n} for key ${t}`),void this._notifyRemove(t,r,0,i.ALL);const l=1+Math.max(s,-4)- -3;this._db.set(t,new o(r,n,l)),this._size+=n,e.size+=n,this._checkSize()}updateSize(e,t,r,n){t=e.id+t;const s=this._db.get(t);if(s&&s.entry===r){for(this._size-=s.size,e.size-=s.size;n>this._maxSize;){const e=this._notifyRemove(t,r,n,i.SOME);if(!(null!=e&&e>0))return void this._db.delete(t);n=e}s.size=n,this._size+=n,e.size+=n,this._checkSize()}}pop(e,t){t=e.id+t;const r=this._db.get(t);if(r)return this._size-=r.size,e.size-=r.size,this._db.delete(t),++this._hit,r.entry;++this._miss}get(e,t){t=e.id+t;const r=this._db.get(t);if(void 0!==r)return this._db.delete(t),r.lives=r.lifetime,this._db.set(t,r),++this._hit,r.entry;++this._miss}peek(e,t){const r=this._db.get(e.id+t);return r?++this._hit:++this._miss,r?.entry}get performanceInfo(){const e={Size:Math.round(this._size/1048576)+"/"+Math.round(this._maxSize/1048576)+"MB","Hit rate":Math.round(100*this._getHitRate())+"%",Entries:this._db.size.toString()},t={},r=new Array;this._db.forEach(((e,i)=>{const n=e.lifetime;r[n]=(r[n]||0)+e.size,this._users.forAll((r=>{const{id:n,name:s}=r;if(i.startsWith(n)){const r=t[s]||0;t[s]=r+e.size}}))}));const i={};this._users.forAll((e=>{const r=e.name;if("hitRate"in e&&"number"==typeof e.hitRate&&!isNaN(e.hitRate)&&e.hitRate>0){const n=t[r]||0;t[r]=n,i[r]=Math.round(100*e.hitRate)+"%"}else i[r]="0%"}));const n=Object.keys(t);n.sort(((e,r)=>t[r]-t[e])),n.forEach((r=>e[r]=Math.round(t[r]/2**20)+"MB / "+i[r]));for(let t=r.length-1;t>=0;--t){const i=r[t];i&&(e["Priority "+(t+-3-1)]=Math.round(i/this._size*100)+"%")}return e}resetStats(){this._hit=this._miss=0,this._users.forAll((e=>e.resetHitRate()))}clear(e){const t=e.id;this._db.forEach(((e,r)=>{r.startsWith(t)&&(this._size-=e.size,this._db.delete(r),this._notifyRemove(r,e.entry,e.size,i.ALL))})),e.size=0}clearAll(){this._db.forEach(((e,t)=>this._notifyRemove(t,e.entry,e.size,i.ALL))),this._users.forAll((e=>e.size=0)),this._size=0,this._db.clear()}_getHitRate(){return this._hit/(this._hit+this._miss)}_notifyRemove(e,t,r,i){let n;return this._removeFuncs.some((s=>{if(e.startsWith(s[0])){const e=s[1](t,i,r);return"number"==typeof e&&(n=e),!0}return!1})),n}_checkSize(){this._users.forAll((e=>this._checkSizeLimits(e))),this._checkSizeLimits()}_checkSizeLimits(e){const t=e??this;if(t.maxSize<0||t.size<=t.maxSize)return;const r=e?.id;let i=!0;for(;i;){i=!1;for(const[n,s]of this._db)if(0===s.lifetime&&(!r||n.startsWith(r))){if(this._purgeItem(n,s,e),t.size<=.9*t.maxSize)return;i||=this._db.has(n)}}for(const[i,n]of this._db)if((!r||i.startsWith(r))&&(this._purgeItem(i,n,e),t.size<=.9*t.maxSize))return}_purgeItem(e,t,r=this._users.find((t=>e.startsWith(t.id)))){if(this._db.delete(e),t.lives<=1){this._size-=t.size,r&&(r.size-=t.size);const n=this._notifyRemove(e,t.entry,t.size,i.SOME);null!=n&&n>0&&(this._size+=n,r&&(r.size+=n),t.lives=t.lifetime,t.size=n,this._db.set(e,t))}else--t.lives,this._db.set(e,t)}}class o{constructor(e,t,r){this.entry=e,this.size=t,this.lifetime=r,this.lives=r}}class l{constructor(e,t){this._storage=new a,this.id="",this.name="",this.size=0,this._storage.maxSize=e,this._storage.register(this),t&&this._storage.registerRemoveFunc("",t)}destroy(){this._storage.deregister(this),this._storage.destroy()}put(e,t,r=1){this._storage.put(this,e,t,r,1)}pop(e){return this._storage.pop(this,e)}get(e){return this._storage.get(this,e)}clear(){this._storage.clearAll()}get maxSize(){return this._storage.maxSize}set maxSize(e){this._storage.maxSize=e}resetHitRate(){}}},32587:(e,t,r)=>{r.d(t,{A:()=>s});var i=r(62788),n=r(95488);class s{constructor(e){this._observable=new n.I,this._map=new Map(e)}get size(){return(0,i.gc)(this._observable),this._map.size}clear(){this._map.size>0&&(this._map.clear(),this._observable.notify())}delete(e){const t=this._map.delete(e);return t&&this._observable.notify(),t}entries(){return(0,i.gc)(this._observable),this._map.entries()}forEach(e,t){(0,i.gc)(this._observable),this._map.forEach(((r,i)=>e.call(t,r,i,this)),t)}get(e){return(0,i.gc)(this._observable),this._map.get(e)}has(e){return(0,i.gc)(this._observable),this._map.has(e)}keys(){return(0,i.gc)(this._observable),this._map.keys()}set(e,t){return this._map.set(e,t),this._observable.notify(),this}values(){return(0,i.gc)(this._observable),this._map.values()}[Symbol.iterator](){return(0,i.gc)(this._observable),this._map[Symbol.iterator]()}[Symbol.dispose](){this._observable.destroy()}get[Symbol.toStringTag](){return this._map[Symbol.toStringTag]}}},60999:(e,t,r)=>{r.d(t,{DZ:()=>p,Ke:()=>f,Tj:()=>h,UT:()=>_,jJ:()=>c});var i=r(90237),n=r(69622),s=r(97768),a=r(74887),o=r(10107),l=r(40608);function c(e,t,r){return(0,a.Lx)(e.map(((e,i)=>t.apply(r,[e,i]))))}async function h(e,t,r){return(await(0,a.Lx)(e.map(((e,i)=>t.apply(r,[e,i]))))).map((e=>e.value))}function d(e){return{ok:!0,value:e}}function u(e){return{ok:!1,error:e}}async function f(e){if(null==e)return{ok:!1,error:new Error("no promise provided")};try{return d(await e)}catch(e){return u(e)}}async function p(e){try{return d(await e)}catch(e){return(0,a.QP)(e),u(e)}}function _(e,t){return new m(e,t)}let m=class extends n.A{get value(){return null!=(e=this._result)&&!0===e.ok?e.value:null;var e}get error(){return null!=(e=this._result)&&!1===e.ok?e.error:null;var e}get finished(){return null!=this._result}constructor(e,t){super({}),this._result=null,this._abortHandle=null,this.abort=()=>{this._abortController=(0,s.DC)(this._abortController)},this.remove=this.abort,this._abortController=new AbortController;const{signal:r}=this._abortController;this.promise=e(r),this.promise.then((e=>{this._result=d(e),this._cleanup()}),(e=>{this._result=u(e),this._cleanup()})),this._abortHandle=(0,a.u7)(t,this.abort)}normalizeCtorArgs(){return{}}destroy(){this.abort()}_cleanup(){this._abortHandle=(0,s.xt)(this._abortHandle),this._abortController=null}};(0,i._)([(0,o.MZ)()],m.prototype,"value",null),(0,i._)([(0,o.MZ)()],m.prototype,"error",null),(0,i._)([(0,o.MZ)()],m.prototype,"finished",null),(0,i._)([(0,o.MZ)()],m.prototype,"promise",void 0),(0,i._)([(0,o.MZ)()],m.prototype,"_result",void 0),m=(0,i._)([(0,l.$)("esri.core.asyncUtils.ReactiveTask")],m)},72385:(e,t,r)=>{function i(){return new Float32Array(3)}function n(e){const t=new Float32Array(3);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function s(e,t,r){const i=new Float32Array(3);return i[0]=e,i[1]=t,i[2]=r,i}function a(){return i()}function o(){return s(1,1,1)}function l(){return s(1,0,0)}function c(){return s(0,1,0)}function h(){return s(0,0,1)}r.d(t,{fA:()=>s,o8:()=>n,vt:()=>i});const d=a(),u=o(),f=l(),p=c(),_=h();Object.freeze(Object.defineProperty({__proto__:null,ONES:u,UNIT_X:f,UNIT_Y:p,UNIT_Z:_,ZEROS:d,clone:n,create:i,createView:function(e,t){return new Float32Array(e,t,3)},fromValues:s,ones:o,unitX:l,unitY:c,unitZ:h,zeros:a},Symbol.toStringTag,{value:"Module"}))},75503:(e,t,r)=>{r.d(t,{E:()=>S,w:()=>o});var i=r(4576),n=r(21818),s=(r(44208),r(3694)),a=r(11006);class o{constructor(e=9,t){this._compareMinX=u,this._compareMinY=f,this._toBBox=e=>e,this._maxEntries=Math.max(4,e||9),this._minEntries=Math.max(2,Math.ceil(.4*this._maxEntries)),t&&("function"==typeof t?this._toBBox=t:this._initFormat(t)),this.clear()}destroy(){this.clear(),b.prune(),w.prune(),T.prune(),A.prune()}all(e){l(this._data,e)}search(e,t){let r=this._data;const i=this._toBBox;if(v(e,r))for(b.clear();r;){for(let n=0,s=r.children.length;n<s;n++){const s=r.children[n],a=r.leaf?i(s):s;v(e,a)&&(r.leaf?t(s):y(e,a)?l(s,t):b.push(s))}r=b.pop()}}collides(e){let t=this._data;const r=this._toBBox;if(!v(e,t))return!1;for(b.clear();t;){for(let i=0,n=t.children.length;i<n;i++){const n=t.children[i],s=t.leaf?r(n):n;if(v(e,s)){if(t.leaf||y(e,s))return!0;b.push(n)}}t=b.pop()}return!1}load(e){if(!e.length)return this;if(e.length<this._minEntries){for(let t=0,r=e.length;t<r;t++)this.insert(e[t]);return this}let t=this._build(e.slice(),0,e.length-1,0);if(this._data.children.length)if(this._data.height===t.height)this._splitRoot(this._data,t);else{if(this._data.height<t.height){const e=this._data;this._data=t,t=e}this._insert(t,this._data.height-t.height-1,!0)}else this._data=t;return this}insert(e){return e&&this._insert(e,this._data.height-1),this}clear(){return this._data=new O([]),this}remove(e){if(!e)return this;let t,r=this._data,s=null,a=0,o=!1;const l=this._toBBox(e);for(T.clear(),A.clear();r||T.length>0;){if(r||(r=T.pop(),s=T.data[T.length-1],a=A.pop()??0,o=!0),r.leaf&&(t=(0,i.qh)(r.children,(0,n.zI)(e),r.children.length,r.indexHint),-1!==t))return r.children.splice(t,1),T.push(r),this._condense(T),this;o||r.leaf||!y(r,l)?s?(a++,r=s.children[a],o=!1):r=null:(T.push(r),A.push(a),a=0,s=r,r=r.children[0])}return this}toJSON(){return this._data}fromJSON(e){return this._data=e,this}_build(e,t,r,i){const n=r-t+1;let s=this._maxEntries;if(n<=s){const i=new O(e.slice(t,r+1));return c(i,this._toBBox),i}i||(i=Math.ceil(Math.log(n)/Math.log(s)),s=Math.ceil(n/s**(i-1)));const a=new I([]);a.height=i;const o=Math.ceil(n/s),l=o*Math.ceil(Math.sqrt(s));x(e,t,r,l,this._compareMinX);for(let n=t;n<=r;n+=l){const t=Math.min(n+l-1,r);x(e,n,t,o,this._compareMinY);for(let r=n;r<=t;r+=o){const n=Math.min(r+o-1,t);a.children.push(this._build(e,r,n,i-1))}}return c(a,this._toBBox),a}_insert(e,t,r){const i=this._toBBox,n=r?e:i(e);T.clear();const s=function(e,t,r,i){for(;i.push(t),!0!==t.leaf&&i.length-1!==r;){let r,i=1/0,n=1/0;for(let s=0,a=t.children.length;s<a;s++){const a=t.children[s],o=p(a),l=m(e,a)-o;l<n?(n=l,i=o<i?o:i,r=a):l===n&&o<i&&(i=o,r=a)}t=r||t.children[0]}return t}(n,this._data,t,T);for(s.children.push(e),d(s,n);t>=0&&T.data[t].children.length>this._maxEntries;)this._split(T,t),t--;!function(e,t,r){for(let i=r;i>=0;i--)d(t.data[i],e)}(n,T,t)}_split(e,t){const r=e.data[t],i=r.children.length,n=this._minEntries;this._chooseSplitAxis(r,n,i);const s=this._chooseSplitIndex(r,n,i);if(!s)return;const a=r.children.splice(s,r.children.length-s),o=r.leaf?new O(a):new I(a);o.height=r.height,c(r,this._toBBox),c(o,this._toBBox),t?e.data[t-1].children.push(o):this._splitRoot(r,o)}_splitRoot(e,t){this._data=new I([e,t]),this._data.height=e.height+1,c(this._data,this._toBBox)}_chooseSplitIndex(e,t,r){let i,n,s;i=n=1/0;for(let a=t;a<=r-t;a++){const t=h(e,0,a,this._toBBox),o=h(e,a,r,this._toBBox),l=g(t,o),c=p(t)+p(o);l<i?(i=l,s=a,n=c<n?c:n):l===i&&c<n&&(n=c,s=a)}return s}_chooseSplitAxis(e,t,r){const i=e.leaf?this._compareMinX:u,n=e.leaf?this._compareMinY:f;this._allDistMargin(e,t,r,i)<this._allDistMargin(e,t,r,n)&&e.children.sort(i)}_allDistMargin(e,t,r,i){e.children.sort(i);const n=this._toBBox,s=h(e,0,t,n),a=h(e,r-t,r,n);let o=_(s)+_(a);for(let i=t;i<r-t;i++){const t=e.children[i];d(s,e.leaf?n(t):t),o+=_(s)}for(let i=r-t-1;i>=t;i--){const t=e.children[i];d(a,e.leaf?n(t):t),o+=_(a)}return o}_condense(e){for(let t=e.length-1;t>=0;t--){const r=e.data[t];if(0===r.children.length)if(t>0){const n=e.data[t-1],s=n.children;s.splice((0,i.qh)(s,r,s.length,n.indexHint),1)}else this.clear();else c(r,this._toBBox)}}_initFormat(e){const t=["return a"," - b",";"];this._compareMinX=new Function("a","b",t.join(e[0])),this._compareMinY=new Function("a","b",t.join(e[1])),this._toBBox=new Function("a","return {minX: a"+e[0]+", minY: a"+e[1]+", maxX: a"+e[2]+", maxY: a"+e[3]+"};")}}function l(e,t){let r=e;for(w.clear();r;){if(!0===r.leaf)for(const e of r.children)t((0,n.zI)(e));else w.pushArray(r.children);r=w.pop()??null}}function c(e,t){h(e,0,e.children.length,t,e)}function h(e,t,r,i,n){n||(n=new O([])),n.minX=1/0,n.minY=1/0,n.maxX=-1/0,n.maxY=-1/0;for(let s,a=t;a<r;a++)s=e.children[a],d(n,e.leaf?i(s):s);return n}function d(e,t){e.minX=Math.min(e.minX,t.minX),e.minY=Math.min(e.minY,t.minY),e.maxX=Math.max(e.maxX,t.maxX),e.maxY=Math.max(e.maxY,t.maxY)}function u(e,t){return e.minX-t.minX}function f(e,t){return e.minY-t.minY}function p(e){return(e.maxX-e.minX)*(e.maxY-e.minY)}function _(e){return e.maxX-e.minX+(e.maxY-e.minY)}function m(e,t){return(Math.max(t.maxX,e.maxX)-Math.min(t.minX,e.minX))*(Math.max(t.maxY,e.maxY)-Math.min(t.minY,e.minY))}function g(e,t){const r=Math.max(e.minX,t.minX),i=Math.max(e.minY,t.minY),n=Math.min(e.maxX,t.maxX),s=Math.min(e.maxY,t.maxY);return Math.max(0,n-r)*Math.max(0,s-i)}function y(e,t){return e.minX<=t.minX&&e.minY<=t.minY&&t.maxX<=e.maxX&&t.maxY<=e.maxY}function v(e,t){return t.minX<=e.maxX&&t.minY<=e.maxY&&t.maxX>=e.minX&&t.maxY>=e.minY}function x(e,t,r,i,n){const s=[t,r];for(;s.length;){const t=s.pop(),r=s.pop();if(t-r<=i)continue;const o=r+Math.ceil((t-r)/i/2)*i;(0,a.q)(e,o,r,t,n),s.push(r,o,o,t)}}const b=new s.A,w=new s.A,T=new s.A,A=new s.A({deallocator:void 0});class S{constructor(){this.minX=1/0,this.minY=1/0,this.maxX=-1/0,this.maxY=-1/0}}class R extends S{constructor(){super(...arguments),this.height=1,this.indexHint=new i.vW}}class O extends R{constructor(e){super(),this.children=e,this.leaf=!0}}class I extends R{constructor(e){super(),this.children=e,this.leaf=!1}}},51624:(e,t,r)=>{r.d(t,{A:()=>d});var i,n,s=r(44208),a=r(69397),o=r(93687);(n=i||(i={}))[n.varint=0]="varint",n[n.fixed64=1]="fixed64",n[n.delimited=2]="delimited",n[n.fixed32=5]="fixed32",n[n.unknown=99]="unknown";const l=4294967296,c=new TextDecoder("utf-8"),h=(0,s.A)("safari")||(0,s.A)("ios")?6:(0,s.A)("ff")?12:32;class d{constructor(e,t,r=0,n=(e?e.byteLength:0)){this._tag=0,this._dataType=i.unknown,this._init(e,t,r,n)}_init(e,t,r,i){this._data=e,this._dataView=t,this._pos=r,this._end=i}get usedMemory(){return 64+(0,a.Qf)(this._data)}asUnsafe(){return this}clone(){return new d(this._data,this._dataView,this._pos,this._end)}pos(){return this._pos}move(e){this._pos=e}nextTag(e){for(;;){if(this._pos===this._end)return!1;const t=this._decodeVarint();if(this._tag=t>>3,this._dataType=7&t,!e||e===this._tag)break;this.skip()}return!0}next(){if(this._pos===this._end)return!1;const e=this._decodeVarint();return this._tag=e>>3,this._dataType=7&e,!0}empty(){return this._pos>=this._end}tag(){return this._tag}getInt32(){return this._decodeVarint()}getInt64(){return this._decodeVarint()}getUInt32(){let e=4294967295;if(e=(127&this._data[this._pos])>>>0,this._data[this._pos++]<128)return e;if(e=(e|(127&this._data[this._pos])<<7)>>>0,this._data[this._pos++]<128)return e;if(e=(e|(127&this._data[this._pos])<<14)>>>0,this._data[this._pos++]<128)return e;if(e=(e|(127&this._data[this._pos])<<21)>>>0,this._data[this._pos++]<128)return e;if(e=(e|(15&this._data[this._pos])<<28)>>>0,this._data[this._pos++]<128)return e;throw new Error("Varint overflow")}getUInt64(){return this._decodeVarint()}getSInt32(){const e=this.getUInt32();return e>>>1^-(1&e)}getSInt64(){return this._decodeSVarint()}getBool(){const e=0!==this._data[this._pos];return this._skip(1),e}getEnum(){return this._decodeVarint()}getFixed64(){const e=this._dataView,t=this._pos,r=e.getUint32(t,!0)+e.getUint32(t+4,!0)*l;return this._skip(8),r}getSFixed64(){const e=this._dataView,t=this._pos,r=e.getUint32(t,!0)+e.getInt32(t+4,!0)*l;return this._skip(8),r}getDouble(){const e=this._dataView.getFloat64(this._pos,!0);return this._skip(8),e}getFixed32(){const e=this._dataView.getUint32(this._pos,!0);return this._skip(4),e}getSFixed32(){const e=this._dataView.getInt32(this._pos,!0);return this._skip(4),e}getFloat(){const e=this._dataView.getFloat32(this._pos,!0);return this._skip(4),e}getString(){const e=this._getLength(),t=this._pos,r=this._toString(this._data,t,t+e);return this._skip(e),r}getBytes(){const e=this._getLength(),t=this._pos,r=this._toBytes(this._data,t,t+e);return this._skip(e),r}getLength(){return this._getLengthUnsafe()}processMessageWithArgs(e,t,r,i){const n=this.getMessage(),s=e(n,t,r,i);return n.release(),s}processMessage(e){const t=this.getMessage(),r=e(t);return t.release(),r}getMessage(){const e=this._getLength(),t=d.pool.acquire();return t._init(this._data,this._dataView,this._pos,this._pos+e),this._skip(e),t}release(){d.pool.release(this)}dataType(){return this._dataType}skip(){switch(this._dataType){case i.varint:this._decodeVarint();break;case i.fixed64:this._skip(8);break;case i.delimited:this._skip(this._getLength());break;case i.fixed32:this._skip(4);break;default:throw new Error("Invalid data type!")}}skipLen(e){this._skip(e)}_skip(e){if(this._pos+e>this._end)throw new Error("Attempt to skip past the end of buffer!");this._pos+=e}_decodeVarint(){const e=this._data;let t=this._pos,r=0,i=0;if(this._end-t>=10)do{if(i=e[t++],r|=127&i,!(128&i))break;if(i=e[t++],r|=(127&i)<<7,!(128&i))break;if(i=e[t++],r|=(127&i)<<14,!(128&i))break;if(i=e[t++],r|=(127&i)<<21,!(128&i))break;if(i=e[t++],r+=268435456*(127&i),!(128&i))break;if(i=e[t++],r+=34359738368*(127&i),!(128&i))break;if(i=e[t++],r+=4398046511104*(127&i),!(128&i))break;if(i=e[t++],r+=562949953421312*(127&i),!(128&i))break;if(i=e[t++],r+=72057594037927940*(127&i),!(128&i))break;if(i=e[t++],r+=0x8000000000000000*(127&i),!(128&i))break;throw new Error("Varint too long!")}while(0);else{let n=1;for(;t!==this._end&&(i=e[t],128&i);)++t,r+=(127&i)*n,n*=128;if(t===this._end)throw new Error("Varint overrun!");++t,r+=i*n}return this._pos=t,r}_decodeSVarint(){const e=this._data;let t,r=0,i=0;const n=1&e[this._pos];if(i=e[this._pos++],r|=127&i,!(128&i))return n?-(r+1)/2:r/2;if(i=e[this._pos++],r|=(127&i)<<7,!(128&i))return n?-(r+1)/2:r/2;if(i=e[this._pos++],r|=(127&i)<<14,!(128&i))return n?-(r+1)/2:r/2;if(i=e[this._pos++],r|=(127&i)<<21,!(128&i))return n?-(r+1)/2:r/2;if(i=e[this._pos++],r+=268435456*(127&i),!(128&i))return n?-(r+1)/2:r/2;if(i=e[this._pos++],r+=34359738368*(127&i),!(128&i))return n?-(r+1)/2:r/2;if(i=e[this._pos++],r+=4398046511104*(127&i),!(128&i))return n?-(r+1)/2:r/2;if(t=BigInt(r),i=e[this._pos++],t+=0x2000000000000n*BigInt(127&i),!(128&i))return Number(n?-(t+1n)/2n:t/2n);if(i=e[this._pos++],t+=0x100000000000000n*BigInt(127&i),!(128&i))return Number(n?-(t+1n)/2n:t/2n);if(i=e[this._pos++],t+=0x8000000000000000n*BigInt(127&i),!(128&i))return Number(n?-(t+1n)/2n:t/2n);throw new Error("Varint too long!")}_getLength(){if(this._dataType!==i.delimited)throw new Error("Not a delimited data type!");return this._decodeVarint()}_getLengthUnsafe(){return this.getUInt32()}_toString(e,t,r){if((r=Math.min(this._end,r))-t>h){const i=e.subarray(t,r);return c.decode(i)}let i="",n="";for(let s=t;s<r;++s){const t=e[s];128&t?n+="%"+t.toString(16):(i+=decodeURIComponent(n)+String.fromCharCode(t),n="")}return n.length&&(i+=decodeURIComponent(n)),i}_toBytes(e,t,r){return r=Math.min(this._end,r),new Uint8Array(e.buffer,t,r-t)}}d.pool=new o.A(d,void 0,(e=>{e._data=null,e._dataView=null}))},95696:(e,t,r)=>{r.d(t,{A:()=>d});var i,n=r(90237),s=r(69540),a=r(25482),o=r(10107),l=(r(44208),r(53966),r(87811),r(93223)),c=r(40608);let h=i=class extends(s.A.ClonableMixin(a.A)){constructor(e){super(e),this.type="georeferenced",this.origin=null}};h.absolute=new i,(0,n._)([(0,l.e)({georeferenced:"georeferenced"},{readOnly:!0})],h.prototype,"type",void 0),(0,n._)([(0,o.MZ)({type:[Number],nonNullable:!1,json:{write:!0}})],h.prototype,"origin",void 0),h=i=(0,n._)([(0,c.$)("esri.geometry.support.MeshGeoreferencedVertexSpace")],h);const d=h},18251:(e,t,r)=>{r.d(t,{A:()=>d});var i=r(90237),n=r(69540),s=r(25482),a=r(10107),o=(r(44208),r(53966),r(87811),r(93223)),l=r(40608),c=r(51850);let h=class extends(n.A.ClonableMixin(s.A)){constructor(e){super(e),this.type="local",this.origin=(0,c.vt)()}};(0,i._)([(0,o.e)({local:"local"},{readOnly:!0})],h.prototype,"type",void 0),(0,i._)([(0,a.MZ)({type:[Number],nonNullable:!0,json:{write:!0}})],h.prototype,"origin",void 0),h=(0,i._)([(0,l.$)("esri.geometry.support.MeshLocalVertexSpace")],h);const d=h},82919:(e,t,r)=>{r.d(t,{C:()=>g,vt:()=>m,ui:()=>y,m7:()=>v});var i=r(4341),n=r(58083),s=r(38954),a=r(51850),o=r(87317),l=r(91829),c=r(71351);function h(e){return e?{ray:(0,c.vt)(e.ray),c0:e.c0,c1:e.c1}:{ray:(0,c.vt)(),c0:0,c1:Number.MAX_VALUE}}new i.I((()=>h()));var d,u,f,p=r(27921),_=r(32114);function m(e){return e?[(0,p.vt)(e[0]),(0,p.vt)(e[1]),(0,p.vt)(e[2]),(0,p.vt)(e[3]),(0,p.vt)(e[4]),(0,p.vt)(e[5])]:[(0,p.vt)(),(0,p.vt)(),(0,p.vt)(),(0,p.vt)(),(0,p.vt)(),(0,p.vt)()]}function g(e,t){for(let r=0;r<x;r++)(0,p.C)(e[r],t[r]);return e}function y(e,t,r,i=T){const a=(0,n.lw)(_.Rc.get(),t,e);(0,n.B8)(a,a);for(let e=0;e<b;++e){const t=(0,o.t)(_.Km.get(),w[e],a);(0,s.i)(i[e],t[0]/t[3],t[1]/t[3],t[2]/t[3])}!function(e,t){(0,p.Cr)(t[u.FAR_BOTTOM_LEFT],t[u.NEAR_BOTTOM_LEFT],t[u.NEAR_TOP_LEFT],e[d.LEFT]),(0,p.Cr)(t[u.NEAR_BOTTOM_RIGHT],t[u.FAR_BOTTOM_RIGHT],t[u.FAR_TOP_RIGHT],e[d.RIGHT]),(0,p.Cr)(t[u.FAR_BOTTOM_LEFT],t[u.FAR_BOTTOM_RIGHT],t[u.NEAR_BOTTOM_RIGHT],e[d.BOTTOM]),(0,p.Cr)(t[u.NEAR_TOP_LEFT],t[u.NEAR_TOP_RIGHT],t[u.FAR_TOP_RIGHT],e[d.TOP]),(0,p.Cr)(t[u.NEAR_BOTTOM_LEFT],t[u.NEAR_BOTTOM_RIGHT],t[u.NEAR_TOP_RIGHT],e[d.NEAR]),(0,p.Cr)(t[u.FAR_BOTTOM_RIGHT],t[u.FAR_BOTTOM_LEFT],t[u.FAR_TOP_LEFT],e[d.FAR])}(r,i)}function v(e,t){for(let r=0;r<x;r++){const i=e[r];if(i[0]*t[0]+i[1]*t[1]+i[2]*t[2]+i[3]>=t[3])return!1}return!0}(f=d||(d={}))[f.LEFT=0]="LEFT",f[f.RIGHT=1]="RIGHT",f[f.BOTTOM=2]="BOTTOM",f[f.TOP=3]="TOP",f[f.NEAR=4]="NEAR",f[f.FAR=5]="FAR",function(e){e[e.NEAR_BOTTOM_LEFT=0]="NEAR_BOTTOM_LEFT",e[e.NEAR_BOTTOM_RIGHT=1]="NEAR_BOTTOM_RIGHT",e[e.NEAR_TOP_RIGHT=2]="NEAR_TOP_RIGHT",e[e.NEAR_TOP_LEFT=3]="NEAR_TOP_LEFT",e[e.FAR_BOTTOM_LEFT=4]="FAR_BOTTOM_LEFT",e[e.FAR_BOTTOM_RIGHT=5]="FAR_BOTTOM_RIGHT",e[e.FAR_TOP_RIGHT=6]="FAR_TOP_RIGHT",e[e.FAR_TOP_LEFT=7]="FAR_TOP_LEFT"}(u||(u={})),u.FAR_BOTTOM_RIGHT,u.NEAR_BOTTOM_RIGHT,u.NEAR_BOTTOM_LEFT,u.FAR_BOTTOM_LEFT,u.NEAR_BOTTOM_LEFT,u.NEAR_BOTTOM_RIGHT,u.NEAR_TOP_RIGHT,u.NEAR_TOP_LEFT,u.FAR_BOTTOM_RIGHT,u.FAR_BOTTOM_LEFT,u.FAR_TOP_LEFT,u.FAR_TOP_RIGHT,u.NEAR_BOTTOM_RIGHT,u.FAR_BOTTOM_RIGHT,u.FAR_TOP_RIGHT,u.NEAR_TOP_RIGHT,u.FAR_BOTTOM_LEFT,u.NEAR_BOTTOM_LEFT,u.NEAR_TOP_LEFT,u.FAR_TOP_LEFT,u.FAR_TOP_LEFT,u.NEAR_TOP_LEFT,u.NEAR_TOP_RIGHT,u.FAR_TOP_RIGHT;const x=6,b=8,w=[(0,l.fA)(-1,-1,-1,1),(0,l.fA)(1,-1,-1,1),(0,l.fA)(1,1,-1,1),(0,l.fA)(-1,1,-1,1),(0,l.fA)(-1,-1,1,1),(0,l.fA)(1,-1,1,1),(0,l.fA)(1,1,1,1),(0,l.fA)(-1,1,1,1)],T=(new i.I(h),[(0,a.vt)(),(0,a.vt)(),(0,a.vt)(),(0,a.vt)(),(0,a.vt)(),(0,a.vt)(),(0,a.vt)(),(0,a.vt)()])},27615:(e,t,r)=>{r.d(t,{CK:()=>l,Hq:()=>o,MW:()=>c,TE:()=>h,yJ:()=>d});var i=r(38954),n=r(86738),s=r(95696),a=r(18251);function o(e){return null!=e.origin}function l(e){return o(e.vertexSpace)}function c(e,t){if(!o(e))return null;const[r,i,s]=e.origin;return new n.A({x:r,y:i,z:s,spatialReference:t})}function h(e,t){const{x:r,y:i,z:n,spatialReference:o}=e,l=[r,i,n??0];return"local"===(t?.vertexSpace??function(e){return e.isGeographic||e.isWebMercator?"local":"georeferenced"}(o))?new a.A({origin:l}):new s.A({origin:l})}function d(e,t){return e.type===t.type&&(e.origin===t.origin||null!=e.origin&&null!=t.origin&&(0,i.p)(e.origin,t.origin))}},39357:(e,t,r)=>{r.d(t,{H:()=>l});var i,n=r(90237),s=r(25482),a=r(10107),o=(r(44208),r(53966),r(87811),r(40608));let l=i=class extends s.A{constructor(e){super(e),this.name=null,this.code=null}clone(){return new i({name:this.name,code:this.code})}};(0,n._)([(0,a.MZ)({type:String,json:{write:{isRequired:!0}}})],l.prototype,"name",void 0),(0,n._)([(0,a.MZ)({type:[String,Number],json:{write:{isRequired:!0}}})],l.prototype,"code",void 0),l=i=(0,n._)([(0,o.$)("esri.layers.support.CodedValue")],l)},53177:(e,t,r)=>{r.d(t,{A:()=>u});var i,n=r(90237),s=r(4718),a=r(10107),o=(r(44208),r(53966),r(93223)),l=r(40608),c=r(39357),h=r(76357);let d=i=class extends h.A{constructor(e){super(e),this.codedValues=null,this.type="coded-value"}getName(e){let t=null;if(this.codedValues){const r=String(e);this.codedValues.some((e=>(String(e.code)===r&&(t=e.name),!!t)))}return t}clone(){return new i({codedValues:(0,s.o8)(this.codedValues),name:this.name})}};(0,n._)([(0,a.MZ)({type:[c.H],json:{write:{isRequired:!0}}})],d.prototype,"codedValues",void 0),(0,n._)([(0,o.e)({codedValue:"coded-value"})],d.prototype,"type",void 0),d=i=(0,n._)([(0,l.$)("esri.layers.support.CodedValueDomain")],d);const u=d},76357:(e,t,r)=>{r.d(t,{A:()=>d});var i=r(90237),n=r(66552),s=r(25482),a=r(10107),o=(r(44208),r(53966),r(87811),r(93223)),l=r(40608);const c=new n.J({inherited:"inherited",codedValue:"coded-value",range:"range"});let h=class extends s.A{constructor(e){super(e),this.name=null,this.type=null}};(0,i._)([(0,a.MZ)({type:String,json:{write:!0}})],h.prototype,"name",void 0),(0,i._)([(0,o.e)(c),(0,a.MZ)({json:{write:{isRequired:!0}}})],h.prototype,"type",void 0),h=(0,i._)([(0,l.$)("esri.layers.support.Domain")],h);const d=h},20437:(e,t,r)=>{r.d(t,{A:()=>m});var i,n=r(90237),s=r(66552),a=r(25482),o=r(10107),l=r(56507),c=(r(44208),r(87811),r(93223)),h=r(36005),d=r(40608),u=r(80451),f=r(98453);const p=new s.J({binary:"binary",coordinate:"coordinate",countOrAmount:"count-or-amount",dateAndTime:"date-and-time",description:"description",locationOrPlaceName:"location-or-place-name",measurement:"measurement",nameOrTitle:"name-or-title",none:"none",orderedOrRanked:"ordered-or-ranked",percentageOrRatio:"percentage-or-ratio",typeOrCategory:"type-or-category",uniqueIdentifier:"unique-identifier"});let _=i=class extends a.A{constructor(e){super(e),this.alias=null,this.defaultValue=void 0,this.description=null,this.domain=null,this.editable=!0,this.length=void 0,this.name=null,this.nullable=!0,this.type=null,this.valueType=null,this.visible=!0}readDescription(e,{description:t}){let r=null;try{r=t?JSON.parse(t):null}catch(e){}return r?.value??null}readValueType(e,{description:t}){let r=null;try{r=t?JSON.parse(t):null}catch(e){}return r?p.fromJSON(r.fieldValueType):null}clone(){return new i({alias:this.alias,defaultValue:this.defaultValue,description:this.description,domain:this.domain?.clone()??null,editable:this.editable,length:this.length,name:this.name,nullable:this.nullable,type:this.type,valueType:this.valueType,visible:this.visible})}};(0,n._)([(0,o.MZ)({type:String,json:{write:!0}})],_.prototype,"alias",void 0),(0,n._)([(0,o.MZ)({type:[String,Number],json:{write:{allowNull:!0}}})],_.prototype,"defaultValue",void 0),(0,n._)([(0,o.MZ)()],_.prototype,"description",void 0),(0,n._)([(0,h.w)("description")],_.prototype,"readDescription",null),(0,n._)([(0,o.MZ)({types:u.gK,json:{read:{reader:u.rS},write:!0}})],_.prototype,"domain",void 0),(0,n._)([(0,o.MZ)({type:Boolean,json:{write:!0}})],_.prototype,"editable",void 0),(0,n._)([(0,o.MZ)({type:l.jz,json:{write:{overridePolicy:e=>({enabled:Number.isFinite(e)})}}})],_.prototype,"length",void 0),(0,n._)([(0,o.MZ)({type:String,json:{write:!0}})],_.prototype,"name",void 0),(0,n._)([(0,o.MZ)({type:Boolean,json:{write:!0}})],_.prototype,"nullable",void 0),(0,n._)([(0,c.e)(f.m)],_.prototype,"type",void 0),(0,n._)([(0,o.MZ)()],_.prototype,"valueType",void 0),(0,n._)([(0,h.w)("valueType",["description"])],_.prototype,"readValueType",null),(0,n._)([(0,o.MZ)({type:Boolean,json:{read:!1}})],_.prototype,"visible",void 0),_=i=(0,n._)([(0,d.$)("esri.layers.support.Field")],_);const m=_},80451:(e,t,r)=>{r.d(t,{rS:()=>m,gK:()=>_}),r(44208);var i,n=r(53177),s=r(76357),a=r(90237),o=(r(53966),r(87811),r(49186),r(93223)),l=r(40608);let c=i=class extends s.A{constructor(e){super(e),this.type="inherited"}clone(){return new i}};(0,a._)([(0,o.e)({inherited:"inherited"})],c.prototype,"type",void 0),c=i=(0,a._)([(0,l.$)("esri.layers.support.InheritedDomain")],c);const h=c;var d,u=r(10107);let f=d=class extends s.A{constructor(e){super(e),this.maxValue=null,this.minValue=null,this.type="range"}clone(){return new d({maxValue:this.maxValue,minValue:this.minValue,name:this.name})}};(0,a._)([(0,u.MZ)({json:{type:[Number],read:{source:"range",reader:(e,t)=>t.range?.[1]},write:{enabled:!1,overridePolicy(){return{enabled:null!=this.maxValue&&null==this.minValue}},target:"range",writer(e,t,r){t[r]=[this.minValue||0,e]},isRequired:!0}}})],f.prototype,"maxValue",void 0),(0,a._)([(0,u.MZ)({json:{type:[Number],read:{source:"range",reader:(e,t)=>t.range?.[0]},write:{target:"range",writer(e,t,r){t[r]=[e,this.maxValue||0]},isRequired:!0}}})],f.prototype,"minValue",void 0),(0,a._)([(0,o.e)({range:"range"})],f.prototype,"type",void 0),f=d=(0,a._)([(0,l.$)("esri.layers.support.RangeDomain")],f);const p=f,_={key:"type",base:s.A,typeMap:{range:p,"coded-value":n.A,inherited:h}};function m(e){if(!e?.type)return null;switch(e.type){case"range":return p.fromJSON(e);case"codedValue":return n.A.fromJSON(e);case"inherited":return h.fromJSON(e)}return null}},31756:(e,t,r)=>{r.d(t,{j:()=>s});var i=r(83047),n=r(79258);const s={unknown:1,inches:(0,i.oU)(1,"meters","inches"),feet:(0,i.oU)(1,"meters","feet"),"us-feet":(0,i.oU)(1,"meters","us-feet"),yards:(0,i.oU)(1,"meters","yards"),miles:(0,i.oU)(1,"meters","miles"),"nautical-miles":(0,i.oU)(1,"meters","nautical-miles"),millimeters:(0,i.oU)(1,"meters","millimeters"),centimeters:(0,i.oU)(1,"meters","centimeters"),decimeters:(0,i.oU)(1,"meters","decimeters"),meters:(0,i.oU)(1,"meters","meters"),kilometers:(0,i.oU)(1,"meters","kilometers"),"decimal-degrees":1/(0,i.vl)(1,"meters",n.$O.radius)}},10536:(e,t,r)=>{function i(e){const t={};for(const r in e){if("declaredClass"===r)continue;const n=e[r];if(null!=n&&"function"!=typeof n)if(Array.isArray(n)){t[r]=[];for(let e=0;e<n.length;e++)t[r][e]=i(n[e])}else"object"==typeof n?n.toJSON&&(t[r]=JSON.stringify(n)):t[r]=n}return t}r.d(t,{z:()=>i})},53655:(e,t,r)=>{r.d(t,{SH:()=>I,ae:()=>T,cn:()=>y});var i=r(49186),n=r(51624),s=r(92722),a=r(69418);const o=["esriFieldTypeSmallInteger","esriFieldTypeInteger","esriFieldTypeSingle","esriFieldTypeDouble","esriFieldTypeString","esriFieldTypeDate","esriFieldTypeOID","esriFieldTypeGeometry","esriFieldTypeBlob","esriFieldTypeRaster","esriFieldTypeGUID","esriFieldTypeGlobalID","esriFieldTypeXML","esriFieldTypeBigInteger","esriFieldTypeDateOnly","esriFieldTypeTimeOnly","esriFieldTypeTimestampOffset"],l=["sqlTypeBigInt","sqlTypeBinary","sqlTypeBit","sqlTypeChar","sqlTypeDate","sqlTypeDecimal","sqlTypeDouble","sqlTypeFloat","sqlTypeGeometry","sqlTypeGUID","sqlTypeInteger","sqlTypeLongNVarchar","sqlTypeLongVarbinary","sqlTypeLongVarchar","sqlTypeNChar","sqlTypeNVarchar","sqlTypeOther","sqlTypeReal","sqlTypeSmallInt","sqlTypeSqlXml","sqlTypeTime","sqlTypeTimestamp","sqlTypeTimestamp2","sqlTypeTinyInt","sqlTypeVarbinary","sqlTypeVarchar"],c=["upperLeft","lowerLeft"];function h(e){return e>=o.length?null:o[e]}function d(e){return e>=l.length?null:l[e]}function u(e){return e>=c.length?null:c[e]}function f(e,t){return t>=e.geometryTypes.length?null:e.geometryTypes[t]}function p(e,t,r){const i=e.asUnsafe(),n=t.createPointGeometry(r);for(;i.next();)switch(i.tag()){case 3:{const e=i.getUInt32(),r=i.pos()+e;let s=0;for(;i.pos()<r;)t.addCoordinatePoint(n,i.getSInt64(),s++);break}default:i.skip()}return n}function _(e,t,r){const i=e.asUnsafe(),n=t.createGeometry(r),s=2+(r.hasZ?1:0)+(r.hasM?1:0);for(;i.next();)switch(i.tag()){case 2:{const e=i.getUInt32(),r=i.pos()+e;let s=0;for(;i.pos()<r;)t.addLength(n,i.getUInt32(),s++);break}case 3:{const e=i.getUInt32(),r=i.pos()+e;let a=0;for(t.allocateCoordinates(n);i.pos()<r;)t.addCoordinate(n,i.getSInt64(),a),a++,a===s&&(a=0);break}default:i.skip()}return n}function m(e){const t=e.asUnsafe(),r=new s.A;let i="esriGeometryPoint";for(;t.next();)switch(t.tag()){case 2:{const e=t.getUInt32(),i=t.pos()+e;for(;t.pos()<i;)r.lengths.push(t.getUInt32());break}case 3:{const e=t.getUInt32(),i=t.pos()+e;for(;t.pos()<i;)r.coords.push(t.getSInt64());break}case 1:i=a.z[t.getEnum()];break;default:t.skip()}return{queryGeometry:r,queryGeometryType:i}}function g(e){const t=e.asUnsafe();for(;t.next();)switch(t.tag()){case 1:return t.getString();case 2:return t.getFloat();case 3:return t.getDouble();case 4:return t.getSInt32();case 5:return t.getUInt32();case 6:return t.getInt64();case 7:return t.getUInt64();case 8:return t.getSInt64();case 9:return t.getBool();default:return t.skip(),null}return null}function y(e){const t=e.asUnsafe(),r={type:h(0)};for(;t.next();)switch(t.tag()){case 1:r.name=t.getString();break;case 2:r.type=h(t.getEnum());break;case 3:r.alias=t.getString();break;case 4:r.sqlType=d(t.getEnum());break;case 5:default:t.skip();break;case 6:r.defaultValue=t.getString()}return r}function v(e){const t={},r=e.asUnsafe();for(;r.next();)switch(r.tag()){case 1:t.name=r.getString();break;case 2:t.isSystemMaintained=r.getBool();break;default:r.skip()}return t}function x(e,t,r,i){const n=t.createFeature(r);let s=0;for(;e.next();)switch(e.tag()){case 1:{const t=i[s++].name;n.attributes[t]=e.processMessage(g);break}case 2:n.geometry=e.processMessageWithArgs(_,t,r);break;case 4:n.centroid=e.processMessageWithArgs(p,t,r);break;default:e.skip()}return n}function b(e){const t=[1,1,1,1],r=e.asUnsafe();for(;r.next();)switch(r.tag()){case 1:t[0]=r.getDouble();break;case 2:t[1]=r.getDouble();break;case 4:t[2]=r.getDouble();break;case 3:t[3]=r.getDouble();break;default:r.skip()}return t}function w(e){const t=[0,0,0,0],r=e.asUnsafe();for(;r.next();)switch(r.tag()){case 1:t[0]=r.getDouble();break;case 2:t[1]=r.getDouble();break;case 4:t[2]=r.getDouble();break;case 3:t[3]=r.getDouble();break;default:r.skip()}return t}function T(e){const t={originPosition:u(0)},r=e.asUnsafe();for(;r.next();)switch(r.tag()){case 1:t.originPosition=u(r.getEnum());break;case 2:t.scale=r.processMessage(b);break;case 3:t.translate=r.processMessage(w);break;default:r.skip()}return t}function A(e){const t={},r=e.asUnsafe();for(;r.next();)switch(r.tag()){case 1:t.shapeAreaFieldName=r.getString();break;case 2:t.shapeLengthFieldName=r.getString();break;case 3:t.units=r.getString();break;default:r.skip()}return t}function S(e,t){const r=t.createSpatialReference();for(;e.next();)switch(e.tag()){case 1:r.wkid=e.getUInt32();break;case 5:r.wkt=e.getString();break;case 2:r.latestWkid=e.getUInt32();break;case 3:r.vcsWkid=e.getUInt32();break;case 4:r.latestVcsWkid=e.getUInt32();break;default:e.skip()}return r}function R(e,t){const r=t.createFeatureResult(),i=e.asUnsafe();r.geometryType=f(t,0);let n=!1;for(;i.next();)switch(i.tag()){case 1:r.objectIdFieldName=i.getString();break;case 3:r.globalIdFieldName=i.getString();break;case 4:r.geohashFieldName=i.getString();break;case 5:r.geometryProperties=i.processMessage(A);break;case 7:r.geometryType=f(t,i.getEnum());break;case 8:r.spatialReference=i.processMessageWithArgs(S,t);break;case 10:r.hasZ=i.getBool();break;case 11:r.hasM=i.getBool();break;case 12:r.transform=i.processMessage(T);break;case 9:r.exceededTransferLimit=i.getBool();break;case 13:t.addField(r,i.processMessage(y));break;case 15:n||(t.prepareFeatures(r),n=!0),t.addFeature(r,i.processMessageWithArgs(x,t,r,r.fields));break;case 2:r.uniqueIdField=i.processMessage(v);break;default:i.skip()}return t.finishFeatureResult(r),r}function O(e,t){const r={};let i=null;for(;e.next();)switch(e.tag()){case 4:i=e.processMessageWithArgs(m);break;case 1:r.featureResult=e.processMessageWithArgs(R,t);break;default:e.skip()}return null!=i&&r.featureResult&&t.addQueryGeometry(r,i),r}function I(e,t){try{const r=2,i=new n.A(new Uint8Array(e),new DataView(e)),s={};for(;i.next();)i.tag()===r?s.queryResult=i.processMessageWithArgs(O,t):i.skip();return s}catch(e){throw new i.A("query:parsing-pbf","Error while parsing FeatureSet PBF payload",{error:e})}}},69418:(e,t,r)=>{r.d(t,{S:()=>c,z:()=>l});var i=r(83047),n=r(21325),s=r(43334),a=r(58512),o=r(92722);const l=["esriGeometryPoint","esriGeometryMultipoint","esriGeometryPolyline","esriGeometryPolygon"];class c{constructor(e){this._options=e,this.geometryTypes=l,this._coordinatePtr=0,this._vertexDimension=0}createFeatureResult(){return new a.A}prepareFeatures(e){this._vertexDimension=2,e.hasZ&&this._vertexDimension++,e.hasM&&this._vertexDimension++}finishFeatureResult(e){if(!e?.features||!e.hasZ||!this._options.sourceSpatialReference||!e.spatialReference||(0,n.aI)(e.spatialReference,this._options.sourceSpatialReference)||e.spatialReference.vcsWkid)return;const t=(0,i.G9)(this._options.sourceSpatialReference)/(0,i.G9)(e.spatialReference);if(1!==t)for(const r of e.features){if(!(0,s.N3)(r))continue;const e=r.geometry.coords;for(let r=2;r<e.length;r+=3)e[r]*=t}}addFeature(e,t){e.features.push(t)}createFeature(){return new s.Om(null,{},null,0)}createSpatialReference(){return{wkid:0}}createGeometry(){return new o.A}addField(e,t){e.fields.push(t)}allocateCoordinates(e){e.coords.length=e.lengths.reduce(((e,t)=>e+t),0)*this._vertexDimension,this._coordinatePtr=0}addCoordinate(e,t){e.coords[this._coordinatePtr++]=t}addCoordinatePoint(e,t){e.coords.push(t)}addLength(e,t){e.lengths.push(t)}addQueryGeometry(e,t){e.queryGeometry=t.queryGeometry,e.queryGeometryType=t.queryGeometryType}createPointGeometry(){return new o.A}}},66208:(e,t,r)=>{r.d(t,{m:()=>n});var i=r(53655);function n(e,t){const r=(0,i.SH)(e,t),n=r.queryResult.featureResult,s=r.queryResult.queryGeometry,a=r.queryResult.queryGeometryType;if(n&&n.features&&n.features.length&&n.objectIdFieldName){const e=n.objectIdFieldName;for(const t of n.features)t.attributes&&(t.objectId=t.attributes[e])}return n&&(n.queryGeometry=s,n.queryGeometryType=a),n}},80893:(e,t,r)=>{r.d(t,{IJ:()=>p,Jf:()=>y,Pk:()=>m,eW:()=>f,gW:()=>g,kS:()=>_});var i=r(78888),n=r(84952),s=r(65864),a=r(17136),o=r(21325),l=r(10536),c=r(66208),h=r(58501);const d="Layer does not support extent calculation.";function u(e,t){const r=e.geometry,i=e.toJSON();delete i.compactGeometryEnabled,delete i.defaultSpatialReferenceEnabled;const n=i;let a,l,c;if(null!=r&&(l=r.spatialReference,c=(0,o.YX)(l),n.geometryType=(0,s.$B)(r),n.geometry=function(e,t){if(t&&"extent"===e.type)return`${e.xmin},${e.ymin},${e.xmax},${e.ymax}`;if(t&&"point"===e.type)return`${e.x},${e.y}`;const r=e.toJSON();return delete r.spatialReference,JSON.stringify(r)}(r,e.compactGeometryEnabled),n.inSR=c),i.groupByFieldsForStatistics&&(n.groupByFieldsForStatistics=i.groupByFieldsForStatistics.join(",")),i.objectIds&&(n.objectIds=i.objectIds.join(",")),i.orderByFields&&(n.orderByFields=i.orderByFields.join(",")),!i.outFields||!i.returnDistinctValues&&(t?.returnCountOnly||t?.returnExtentOnly||t?.returnIdsOnly)?delete n.outFields:i.outFields.includes("*")?n.outFields="*":n.outFields=i.outFields.join(","),i.outSR?(n.outSR=(0,o.YX)(i.outSR),a=e.outSpatialReference):r&&(i.returnGeometry||i.returnCentroid)&&(n.outSR=n.inSR,a=l),i.returnGeometry&&delete i.returnGeometry,i.outStatistics&&(n.outStatistics=JSON.stringify(i.outStatistics)),i.fullText&&(n.fullText=JSON.stringify(i.fullText)),i.pixelSize&&(n.pixelSize=JSON.stringify(i.pixelSize)),i.quantizationParameters&&(e.defaultSpatialReferenceEnabled&&null!=l&&null!=e.quantizationParameters?.extent&&l.equals(e.quantizationParameters.extent.spatialReference)&&delete i.quantizationParameters.extent.spatialReference,n.quantizationParameters=JSON.stringify(i.quantizationParameters)),i.parameterValues&&(n.parameterValues=JSON.stringify(i.parameterValues)),i.rangeValues&&(n.rangeValues=JSON.stringify(i.rangeValues)),i.dynamicDataSource&&(n.layer=JSON.stringify({source:i.dynamicDataSource}),delete i.dynamicDataSource),i.timeExtent){const e=i.timeExtent,{start:t,end:r}=e;null==t&&null==r||(n.time=t===r?t:`${t??"null"},${r??"null"}`),delete i.timeExtent}return e.defaultSpatialReferenceEnabled&&null!=l&&null!=a&&l.equals(a)&&(n.defaultSR=n