@arcgis/core 5.0.0-next.35 → 5.0.0-next.36

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (169) hide show
  1. package/assets/esri/core/workers/RemoteClient.js +1 -1
  2. package/assets/esri/core/workers/chunks/06462b267ff8d5984882.js +1 -0
  3. package/assets/esri/core/workers/chunks/{b48bb38e5d60fc7a9097.js → 08ef90e3fcfd4eda4301.js} +1 -1
  4. package/assets/esri/core/workers/chunks/0a58b57e1777a8b0ea23.js +1 -0
  5. package/assets/esri/core/workers/chunks/{7115c52e22b7becff8de.js → 103153951ba312dc5e9e.js} +1 -1
  6. package/assets/esri/core/workers/chunks/{f55328aabf84770c8e6a.js → 1817cf11e85afca947d3.js} +1 -1
  7. package/assets/esri/core/workers/chunks/20e4243ea563d05a5256.js +1 -0
  8. package/assets/esri/core/workers/chunks/24a3c6f0154787968724.js +1 -0
  9. package/assets/esri/core/workers/chunks/{fafbacf2467e6883b6c9.js → 28db329528def851efd7.js} +1 -1
  10. package/assets/esri/core/workers/chunks/{2367bd1cb34799a3f08a.js → 30184e39129d9c66ea54.js} +1 -1
  11. package/assets/esri/core/workers/chunks/3f03165487c1c2340fff.js +1 -0
  12. package/assets/esri/core/workers/chunks/48e2737182c75005fb8f.js +1 -0
  13. package/assets/esri/core/workers/chunks/{05e55118dc0023d500fc.js → 5000a37fba27464d10ca.js} +1 -1
  14. package/assets/esri/core/workers/chunks/{fa01d1813fa78034526e.js → 51355866a0dcf41cfded.js} +1 -1
  15. package/assets/esri/core/workers/chunks/{a372d9af43ade7c6314c.js → 52c8687b473c9953c2f2.js} +1 -1
  16. package/assets/esri/core/workers/chunks/640085b5ade5c7f16228.js +1 -0
  17. package/assets/esri/core/workers/chunks/727804cf901094b1d620.js +1 -0
  18. package/assets/esri/core/workers/chunks/{0446562aee0639c61485.js → 7420fa18ba12014b22ea.js} +1 -1
  19. package/assets/esri/core/workers/chunks/{c9c2e00fed979c21e2f0.js → 8a946cbc816f373c136b.js} +1 -1
  20. package/assets/esri/core/workers/chunks/8c271e9272e4eaf1325a.js +1 -0
  21. package/assets/esri/core/workers/chunks/{2a0fe1aede5c68374ccf.js → 8ec238b5b59ef18a1713.js} +1 -1
  22. package/assets/esri/core/workers/chunks/{f1dfb1323d50247e80f9.js → 9110287f272141f60c35.js} +1 -1
  23. package/assets/esri/core/workers/chunks/951a3442d4342539f2ea.js +1 -0
  24. package/assets/esri/core/workers/chunks/9664d9e679abc41f6c42.js +1 -0
  25. package/assets/esri/core/workers/chunks/{2921f05a40fda12f9f81.js → a00bba1c7cbf8cd7892c.js} +1 -1
  26. package/assets/esri/core/workers/chunks/a716b8fdeda4e16f03ab.js +1 -0
  27. package/assets/esri/core/workers/chunks/aead7c9830fa310e5b53.js +1 -0
  28. package/assets/esri/core/workers/chunks/{483dc4ee5d73cdfe6229.js → b075d3714fab0591d67c.js} +1 -1
  29. package/assets/esri/core/workers/chunks/{82cc758bddd9f8397b9f.js → b451dc416eebd0931ef8.js} +4 -4
  30. package/assets/esri/core/workers/chunks/b59be95949445ff5afab.js +1 -0
  31. package/assets/esri/core/workers/chunks/b6dec5dfdeca54bae88d.js +1 -0
  32. package/assets/esri/core/workers/chunks/{4356274cfa477eb6d749.js → bfb9cbe59d36d18f9157.js} +1 -1
  33. package/assets/esri/core/workers/chunks/{6afd59412bfc134bdf75.js → c052fb8c952cda0b5d13.js} +1 -1
  34. package/assets/esri/core/workers/chunks/{f2ebd6471e1259a6eac0.js → c9e7cc5d853908ab5b2f.js} +1 -1
  35. package/assets/esri/core/workers/chunks/{97650ee3d0eecb69ccbb.js → d8623f5f13a084e439c2.js} +5 -5
  36. package/assets/esri/core/workers/chunks/dd105d6e0fcedee32644.js +1 -0
  37. package/assets/esri/core/workers/chunks/e1148067ceae7d9eaaf8.js +1 -0
  38. package/assets/esri/core/workers/chunks/{b536fdb655ad293d9024.js → eb6218634a492667506a.js} +1 -1
  39. package/assets/esri/core/workers/chunks/{7804be2f5b3d86188a24.js → edc3d98f33d7bf959154.js} +1 -1
  40. package/assets/esri/core/workers/chunks/eefad79be500667af96e.js +1 -0
  41. package/assets/esri/core/workers/chunks/{63933cbcb5c12df09715.js → f1ac1c8b1331ec79e898.js} +1 -1
  42. package/assets/esri/core/workers/chunks/{2b7f9a57a2cfbc108673.js → f1b99529e2055873b65a.js} +1 -1
  43. package/assets/esri/core/workers/chunks/f693a4d97b2762d0e6ff.js +1 -0
  44. package/assets/esri/core/workers/chunks/f8caceeaa14d99c35526.js +1 -0
  45. package/assets/esri/core/workers/chunks/febce0d80f019dc2a427.js +1 -0
  46. package/assets/esri/rest/knowledgeGraph/wasmInterface/arcgis-knowledge-client-core-simd.wasm +0 -0
  47. package/assets/esri/rest/knowledgeGraph/wasmInterface/arcgis-knowledge-client-core.wasm +0 -0
  48. package/assets/esri/themes/base/widgets/_Attribution.scss +1 -0
  49. package/assets/esri/themes/dark/main.css +1 -1
  50. package/assets/esri/themes/light/main.css +1 -1
  51. package/assets/esri/themes/light/view.css +1 -1
  52. package/chunks/Magnifier.glsl.js +1 -1
  53. package/chunks/arcgis-knowledge-client-core-simd.js +1 -1
  54. package/chunks/arcgis-knowledge-client-core.js +1 -1
  55. package/chunks/cameraUtilsSpherical.js +1 -1
  56. package/chunks/vec42.js +1 -1
  57. package/config.js +1 -1
  58. package/core/libs/gl-matrix-2/math/quat.js +1 -1
  59. package/core/libs/gl-matrix-2/math/vec4.js +1 -1
  60. package/geometry/support/aaBoundingRect.js +1 -1
  61. package/geometry/support/buffer/BufferView.js +1 -1
  62. package/geometry/support/buffer/internals/Vec4.js +1 -1
  63. package/interfaces.d.ts +108 -0
  64. package/kernel.js +1 -1
  65. package/layers/GaussianSplatLayer.js +1 -1
  66. package/layers/IntegratedMesh3DTilesLayer.js +1 -1
  67. package/layers/IntegratedMeshLayer.js +1 -1
  68. package/package.json +1 -1
  69. package/rest/knowledgeGraph/DataModel.js +1 -1
  70. package/rest/knowledgeGraph/GraphDataModelSingletonOperationResult.d.ts +4 -0
  71. package/rest/knowledgeGraph/GraphDataModelSingletonOperationResult.js +5 -0
  72. package/rest/knowledgeGraph/GraphProperty.js +1 -1
  73. package/rest/knowledgeGraph/wasmInterface/WasmDataModelWrapperInterfaces.js +1 -1
  74. package/rest/knowledgeGraph/wasmInterface/updateToWasmEncodedFactories.js +1 -1
  75. package/rest/knowledgeGraph/wasmInterface/wasmToDataModelChangeResponseFactories.js +1 -1
  76. package/rest/knowledgeGraph/wasmInterface/wasmToDataModelFactories.js +1 -1
  77. package/rest/knowledgeGraphService.d.ts +3 -0
  78. package/rest/knowledgeGraphService.js +1 -1
  79. package/support/revision.js +1 -1
  80. package/views/3d/GroundView3D.js +1 -1
  81. package/views/3d/analysis/ElevationProfile/ElevationProfileLineSceneComputation.js +1 -1
  82. package/views/3d/analysis/LineOfSight/LineOfSightRayIntersector.js +1 -1
  83. package/views/3d/environment/ChapmanAtmosphere.js +1 -1
  84. package/views/3d/environment/Fog.js +1 -1
  85. package/views/3d/interactive/visualElements/ExtendedLineVisualElement.js +1 -1
  86. package/views/3d/interactive/visualElements/MeasurementAreaVisualElement.js +1 -1
  87. package/views/3d/interactive/visualElements/MeasurementArrowVisualElement.js +1 -1
  88. package/views/3d/interactive/visualElements/OutlineVisualElement.js +1 -1
  89. package/views/3d/interactive/visualElements/ParallelLineVisualElement.js +1 -1
  90. package/views/3d/interactive/visualElements/PointVisualElement.js +1 -1
  91. package/views/3d/interactive/visualElements/RightAngleQuadVisualElement.js +1 -1
  92. package/views/3d/interactive/visualElements/SlicePlaneVisualElement.js +1 -1
  93. package/views/3d/interactive/visualElements/VerticesVisualElement.js +1 -1
  94. package/views/3d/layers/DrapedSubView3D.js +1 -1
  95. package/views/3d/layers/I3SMeshView3D.js +1 -1
  96. package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
  97. package/views/3d/layers/IntegratedMeshLayerView3D.js +1 -1
  98. package/views/3d/layers/graphics/Deconflictor.js +1 -1
  99. package/views/3d/layers/graphics/Graphics3DFrustumVisibility.js +1 -1
  100. package/views/3d/layers/graphics/Graphics3DLineSymbolLayer.js +1 -1
  101. package/views/3d/layers/graphics/Graphics3DSymbolLayer.js +1 -1
  102. package/views/3d/layers/graphics/Graphics3DWaterSymbolLayer.js +1 -1
  103. package/views/3d/layers/graphics/graphicUtils.js +1 -1
  104. package/views/3d/layers/i3s/PointCloudRenderer.js +1 -1
  105. package/views/3d/layers/support/FastSymbolUpdates.js +1 -1
  106. package/views/3d/layers/support/Tiles3DIntersectionHandler.js +1 -1
  107. package/views/3d/state/ConstraintsManager.js +1 -1
  108. package/views/3d/state/ViewStateManager.js +1 -1
  109. package/views/3d/support/flow/FlowSubViewTiles3D.js +1 -1
  110. package/views/3d/support/gaussianSplatting/GaussianSplatFadeTexture.js +1 -1
  111. package/views/3d/support/gaussianSplatting/GaussianSplatOrderTexture.js +1 -1
  112. package/views/3d/support/gaussianSplatting/GaussianSplatTextureAtlas.js +1 -1
  113. package/views/3d/support/pointsOfInterest/CenterOnSurface.js +1 -1
  114. package/views/3d/support/pointsOfInterest/PointsOfInterest.js +1 -1
  115. package/views/3d/support/pointsOfInterest/StableSurfaceCenter.js +1 -1
  116. package/views/3d/terrain/Overlay.js +1 -1
  117. package/views/3d/terrain/OverlayManager.js +1 -1
  118. package/views/3d/terrain/PatchRenderData.js +1 -1
  119. package/views/3d/terrain/ScaleRangeQueries.js +1 -1
  120. package/views/3d/terrain/TerrainSurface.js +1 -1
  121. package/views/3d/terrain/TextureFader.js +1 -1
  122. package/views/3d/terrain/TextureReference.js +1 -1
  123. package/views/3d/terrain/Tile.js +1 -1
  124. package/views/3d/webgl/RenderCamera.js +1 -1
  125. package/views/3d/webgl-engine/collections/Component/Material/ComponentData.glsl.js +1 -1
  126. package/views/3d/webgl-engine/core/shaderLibrary/attributes/VerticalOffset.glsl.js +1 -1
  127. package/views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientLighting.glsl.js +1 -1
  128. package/views/3d/webgl-engine/core/shaderLibrary/shading/WaterDistortion.glsl.js +1 -1
  129. package/views/3d/webgl-engine/core/shaderLibrary/util/CameraSpace.glsl.js +2 -2
  130. package/views/3d/webgl-engine/effects/haze/Haze.js +1 -1
  131. package/views/3d/webgl-engine/lib/GaussianSplatRenderNode.js +1 -1
  132. package/views/3d/webgl-engine/lib/MainFramebuffer.js +1 -1
  133. package/views/3d/webgl-engine/lib/PathGeometryData.js +1 -1
  134. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  135. package/views/3d/webgl-engine/lib/ShadowCastRenderer.js +1 -1
  136. package/views/3d/webgl-engine/lib/ShadowMap.js +1 -1
  137. package/views/3d/webgl-engine/lib/TextTextureAtlas.js +1 -1
  138. package/views/3d/webgl-engine/lib/TextureBackedBuffer/TextureBackedBuffer.js +1 -1
  139. package/views/3d/webgl-engine/lib/edgeRendering/EdgeRenderer.js +1 -1
  140. package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
  141. package/views/3d/webgl-engine/shaders/AnimatedLine.glsl.js +1 -1
  142. package/views/3d/webgl-engine/shaders/ensureColor4.js +1 -1
  143. package/views/3d/webgl-engine/shaders/sources/edgeRenderer/EdgeUtil.glsl.js +5 -5
  144. package/views/SceneView.js +1 -1
  145. package/views/interactive/coordinateHelper.js +1 -1
  146. package/views/interactive/sketch/constraints.js +1 -1
  147. package/views/support/GroundElevationSampler.js +1 -1
  148. package/widgets/support/SelectionList.js +1 -1
  149. package/assets/esri/core/workers/chunks/032444974011118127d7.js +0 -1
  150. package/assets/esri/core/workers/chunks/089221bac1f019692f48.js +0 -1
  151. package/assets/esri/core/workers/chunks/1bfe0b2bf38d4dee7fd6.js +0 -1
  152. package/assets/esri/core/workers/chunks/27bd88e1101873d4ce12.js +0 -1
  153. package/assets/esri/core/workers/chunks/53d95ba86d010231fc4e.js +0 -1
  154. package/assets/esri/core/workers/chunks/7d3e665613927904ba4f.js +0 -1
  155. package/assets/esri/core/workers/chunks/a5f2da24497349239648.js +0 -1
  156. package/assets/esri/core/workers/chunks/a7b1b42bdb9cb9ecac45.js +0 -1
  157. package/assets/esri/core/workers/chunks/acaaefd4997316d319b8.js +0 -1
  158. package/assets/esri/core/workers/chunks/ad138b989c2c7a1168ac.js +0 -1
  159. package/assets/esri/core/workers/chunks/cc7c37f9ed3f831fd25c.js +0 -1
  160. package/assets/esri/core/workers/chunks/d14bd320f72d8e8a0ad8.js +0 -1
  161. package/assets/esri/core/workers/chunks/d86e59da76eea888ba86.js +0 -1
  162. package/assets/esri/core/workers/chunks/de99c4fd1582a8e610cf.js +0 -1
  163. package/assets/esri/core/workers/chunks/ded3ef385d5a3a2ec8ca.js +0 -1
  164. package/assets/esri/core/workers/chunks/e3a994587f9b2e88db85.js +0 -1
  165. package/assets/esri/core/workers/chunks/eab0938d4ad7d7cc7309.js +0 -1
  166. package/assets/esri/core/workers/chunks/ed1dabed10ff9f4e0369.js +0 -1
  167. package/assets/esri/core/workers/chunks/ef5b13ee3362763c1096.js +0 -1
  168. package/assets/esri/core/workers/chunks/effbc4d240752e8ba0ab.js +0 -1
  169. package/assets/esri/core/workers/chunks/f403d8e414766fab2936.js +0 -1
@@ -8,7 +8,7 @@ smoothstep(0.0, 0.1, dot(shadingNormal, groundNormal)));
8
8
  return snow * snowCover;
9
9
  }`),e.code.add(o.H`vec3 applySnowToMRR(vec3 mrr, float snow) {
10
10
  return mix(mrr, vec3(0.0, 1.0, 0.04), snow);
11
- }`))}},11725:(e,t,r)=>{r.d(t,{i:()=>l});var i=r(24326),o=r(49255),n=r(2451),a=r(43616),s=r(65786);class l{constructor(e,t){this.id=(0,i.c)(),this.supportsEdges=!1,this._renderPriority=0,this._parameters=new t,(0,a.MB)(this._parameters,e),this.validateParameters(this._parameters)}get parameters(){return this._parameters}update(e){return!1}setParameters(e,t=!0){(0,a.MB)(this._parameters,e)&&(this.validateParameters(this._parameters),t&&this._parametersChanged())}validateParameters(e){}shouldRender(e){return this.visible&&this.isVisibleForOutput(e.output)&&(!this.parameters.isDecoration||e.bind.decorations)&&0!==(this.parameters.renderOccluded&e.renderOccludedMask)}isVisibleForOutput(e){return!0}get renderPriority(){return this._renderPriority}set renderPriority(e){e!==this._renderPriority&&(this._renderPriority=e,this._parametersChanged())}_parametersChanged(){this.repository?.materialChanged(this)}get renderOccludedFlags(){return this.visible?this.parameters.renderOccluded:0}get hasEmissions(){return!1}getConfiguration(e,t,r=new n.E){return r.output=e,r.hasEmission=t.hasEmission&&(0,o._o)(e),r.hasHighlightMixTexture=8===e&&null!=t.highlightMixTexture,r}}s.Y},12791:(e,t,r)=>{r.d(t,{x:()=>o});var i=r(74333);class o extends i.n{constructor(e,t){super(e,"sampler2D",0,(r,i)=>r.bindTexture(e,t(i)))}}},13840:(e,t,r)=>{r.d(t,{r:()=>i});class i{constructor(e,t){this._module=e,this._load=t}get(){return this._module}async reload(){return this._module=await this._load(),this._module}}},14113:(e,t,r)=>{r.d(t,{N5:()=>s});var i=r(49186),o=(r(44208),r(53966));const n=()=>o.A.getLogger("esri.views.3d.webgl-engine.core.shaderModules.shaderBuilder");class a{constructor(){this._includedModules=new Map}include(e,t){this._includedModules.has(e)?this._includedModules.get(e):(this._includedModules.set(e,t),e(this.builder,t))}}class s extends a{constructor(){super(...arguments),this.vertex=new u,this.fragment=new u,this.attributes=new h,this.varyings=new m,this.outputs=new p}get fragmentUniforms(){return this.fragment.uniforms.entries}get attributeNames(){return this.attributes.names}get builder(){return this}generate(e,t=!1){const r=this.attributes.generateSource(e),i=this.varyings.generateSource(e),o="vertex"===e?this.vertex:this.fragment,n=o.uniforms.generateSource(),a=o.code.generateSource(),s=o.main.generateSource(t),l=this.debugName?`// ${this.debugName}\n`:"",c="vertex"===e?g:v,d=o.constants.generateSource(),u=this.outputs.generateSource(e);return`#version 300 es\n${l}\n${c}\n${d.join("\n")}\n${n.join("\n")}\n${r.join("\n")}\n${i.join("\n")}\n${u.join("\n")}\n${a.join("\n")}\n${s.join("\n")}`}generateBind(e){const t=new Map;this.vertex.uniforms.entries.forEach(e=>{const r=e.bind[0];r&&t.set(e.name,r)}),this.fragment.uniforms.entries.forEach(e=>{const r=e.bind[0];r&&t.set(e.name,r)});const r=Array.from(t.values()),i=r.length;return t=>{for(let o=0;o<i;++o)r[o](e,t)}}generateBindPass(e){const t=new Map;this.vertex.uniforms.entries.forEach(e=>{const r=e.bind[1];r&&t.set(e.name,r)}),this.fragment.uniforms.entries.forEach(e=>{const r=e.bind[1];r&&t.set(e.name,r)});const r=Array.from(t.values()),i=r.length;return(t,o)=>{for(let n=0;n<i;++n)r[n](e,t,o)}}generateBindDraw(e){const t=new Map;this.vertex.uniforms.entries.forEach(e=>{const r=e.bind[2];r&&t.set(e.name,r)}),this.fragment.uniforms.entries.forEach(e=>{const r=e.bind[2];r&&t.set(e.name,r)});const r=Array.from(t.values()),i=r.length;return(t,o,n)=>{for(let a=0;a<i;++a)r[a](e,n,t,o)}}}class l{constructor(e){this._stage=e,this._entries=new Map}add(...e){for(const t of e)this._add(t);return this._stage}get(e){return this._entries.get(e)}_add(e){if(null!=e){if(this._entries.has(e.name)&&!this._entries.get(e.name).equals(e))throw new i.A("shaderbuilder:duplicate-uniform",`Duplicate uniform name ${e.name} for different uniform type`);this._entries.set(e.name,e)}else n().error(`Trying to add null Uniform from ${(new Error).stack}.`)}generateSource(){return Array.from(this._entries.values()).map(({name:e,arraySize:t,type:r})=>null!=t?`uniform ${r} ${e}[${t}];`:`uniform ${r} ${e};`)}get entries(){return Array.from(this._entries.values())}}class c{constructor(e){this._stage=e,this._bodies=new Array}add(e){return this._bodies.push(e),this._stage}generateSource(e){if(this._bodies.length>0)return[`void main() {\n ${this._bodies.join("\n")||""} \n}`];if(e)throw new i.A("shaderbuilder:missing-main","Shader does not contain main function body.");return[]}}class d{constructor(e){this._stage=e,this._entries=new Array}add(e){return this._entries.push(e),this._stage}generateSource(){return this._entries}}class u extends a{constructor(){super(...arguments),this.uniforms=new l(this),this.main=new c(this),this.code=new d(this),this.constants=new f(this)}get builder(){return this}}class h{constructor(){this._entries=new Array}add(e,t){this._entries.push([e,t])}generateSource(e){return"fragment"===e?[]:this._entries.map(e=>`in ${e[1]} ${e[0]};`)}get names(){return this._entries.map(([e])=>e)}}class m{constructor(){this._entries=new Map}add(e,t,r){this._entries.has(e)?n().warn(`Ignoring duplicate varying ${t} ${e}`):this._entries.set(e,{type:t,invariant:r?.invariant??!1})}generateSource(e){const t=new Array;return this._entries.forEach((r,i)=>t.push((r.invariant&&"vertex"===e?"invariant ":"")+("int"===r.type?"flat ":"")+("vertex"===e?"out":"in")+` ${r.type} ${i};`)),t}}class p{constructor(){this._entries=new Map}add(e,t,r=0){const i=this._entries.get(r);i?.name!==e||i?.type!==t?this._entries.set(r,{name:e,type:t}):n().warn(`Fragment shader output location ${r} occupied`)}static{this.DEFAULT_TYPE="vec4"}static{this.DEFAULT_NAME="fragColor"}generateSource(e){if("vertex"===e)return[];0===this._entries.size&&this._entries.set(0,{name:p.DEFAULT_NAME,type:p.DEFAULT_TYPE});const t=new Array;return this._entries.forEach((e,r)=>t.push(`layout(location = ${r}) out ${e.type} ${e.name};`)),t}}class f{constructor(e){this._stage=e,this._entries=new Set}add(e,t,r){let i="ERROR_CONSTRUCTOR_STRING";switch(t){case"float":i=f._numberToFloatStr(r);break;case"int":i=f._numberToIntStr(r);break;case"bool":i=r.toString();break;case"vec2":i=`vec2(${f._numberToFloatStr(r[0])}, ${f._numberToFloatStr(r[1])})`;break;case"vec3":i=`vec3(${f._numberToFloatStr(r[0])}, ${f._numberToFloatStr(r[1])}, ${f._numberToFloatStr(r[2])})`;break;case"vec4":i=`vec4(${f._numberToFloatStr(r[0])}, ${f._numberToFloatStr(r[1])}, ${f._numberToFloatStr(r[2])}, ${f._numberToFloatStr(r[3])})`;break;case"ivec2":i=`ivec2(${f._numberToIntStr(r[0])}, ${f._numberToIntStr(r[1])})`;break;case"ivec3":i=`ivec3(${f._numberToIntStr(r[0])}, ${f._numberToIntStr(r[1])}, ${f._numberToIntStr(r[2])})`;break;case"ivec4":i=`ivec4(${f._numberToIntStr(r[0])}, ${f._numberToIntStr(r[1])}, ${f._numberToIntStr(r[2])}, ${f._numberToIntStr(r[3])})`;break;case"uvec2":i=`uvec2(${f._numberToIntStr(r[0])}, ${f._numberToIntStr(r[1])})`;break;case"uvec3":i=`uvec3(${f._numberToIntStr(r[0])}, ${f._numberToIntStr(r[1])}, ${f._numberToIntStr(r[2])})`;break;case"uvec4":i=`uvec4(${f._numberToIntStr(r[0])}, ${f._numberToIntStr(r[1])}, ${f._numberToIntStr(r[2])}, ${f._numberToIntStr(r[3])})`;break;case"mat2":case"mat3":case"mat4":i=`${t}(${Array.prototype.map.call(r,e=>f._numberToFloatStr(e)).join(", ")})`}return this._entries.add(`const ${t} ${e} = ${i};`),this._stage}static _numberToIntStr(e){return e.toFixed(0)}static _numberToFloatStr(e){return Number.isInteger(e)?e.toFixed(1):e.toString()}generateSource(){return Array.from(this._entries)}}const v="#ifdef GL_FRAGMENT_PRECISION_HIGH\n precision highp float;\n precision highp int;\n precision highp sampler2D;\n precision highp usampler2D;\n precision highp sampler2DArray;\n precision highp sampler2DShadow;\n#else\n precision mediump float;\n precision mediump int;\n precision mediump sampler2D;\n precision mediump usampler2D;\n precision mediump sampler2DArray;\n precision mediump sampler2DShadow;\n#endif",g="precision highp float;\n precision highp sampler2D;\n precision highp usampler2D;\n precision highp sampler2DArray;\n precision highp sampler2DShadow;\n\n\n invariant gl_Position;\n "},14314:(e,t,r)=>{r.d(t,{I:()=>o});var i=r(74333);class o extends i.n{constructor(e,t,r){super(e,"vec4",0,(i,o)=>i.setUniform4fv(e,t(o),r))}}},14527:(e,t,r)=>{r.d(t,{n:()=>mt});var i=r(31821),o=r(12791),n=r(31635),a=r(34727),s=r(97768),l=r(36708),c=r(78659),d=r(91429),u=r(37585),h=r(69540);let m=class extends h.Pw{constructor(e){super(e),this.row=0,this.column=0,this.rows=1,this.columns=1}equals(e){return null!=e&&this.row===e.row&&this.rows===e.rows&&this.column===e.column&&this.columns===e.columns}};(0,n.Cg)([(0,d.MZ)({type:Number,nonNullable:!0,json:{read:!1,write:!1}})],m.prototype,"row",void 0),(0,n.Cg)([(0,d.MZ)({type:Number,nonNullable:!0,json:{read:!1,write:!1}})],m.prototype,"column",void 0),(0,n.Cg)([(0,d.MZ)({type:Number,nonNullable:!0,json:{read:!1,write:!1}})],m.prototype,"rows",void 0),(0,n.Cg)([(0,d.MZ)({type:Number,nonNullable:!0,json:{read:!1,write:!1}})],m.prototype,"columns",void 0),m=(0,n.Cg)([(0,d.$K)("esri.CameraLayout")],m);const p=m;var f=r(69052),v=r(25482),g=r(56507),_=r(86738),x=r(43937),w=r(36005);let b=class extends((0,h.OU)(v.o)){constructor(...e){super(...e),this.position=new _.A([0,0,0]),this.heading=0,this.tilt=0,this.fov=55,this.layout=new p}normalizeCtorArgs(e,t,r,i){if(e&&"object"==typeof e&&("x"in e||Array.isArray(e))){const o={position:e};return null!=t&&(o.heading=t),null!=r&&(o.tilt=r),null!=i&&(o.fov=i),o}return e}writePosition(e,t,r,i){const o=e.clone();o.x=(0,g.GB)(e.x||0),o.y=(0,g.GB)(e.y||0),o.z=e.hasZ?(0,g.GB)(e.z||0):e.z,t[r]=o.write({},i)}readPosition(e,t){const r=new _.A;return r.read(e,t),r.x=(0,g.GB)(r.x||0),r.y=(0,g.GB)(r.y||0),r.z=r.hasZ?(0,g.GB)(r.z||0):r.z,r}equals(e){return null!=e&&this.tilt===e.tilt&&this.heading===e.heading&&this.fov===e.fov&&this.position.equals(e.position)&&this.layout.equals(e.layout)}};(0,n.Cg)([(0,d.MZ)({type:_.A,json:{write:{isRequired:!0}}})],b.prototype,"position",void 0),(0,n.Cg)([(0,x.K)("position")],b.prototype,"writePosition",null),(0,n.Cg)([(0,w.w)("position")],b.prototype,"readPosition",null),(0,n.Cg)([(0,d.MZ)({type:Number,nonNullable:!0,json:{write:{isRequired:!0}}}),(0,d.wg)(e=>f.ie.normalize((0,g.GB)(e)))],b.prototype,"heading",void 0),(0,n.Cg)([(0,d.MZ)({type:Number,nonNullable:!0,json:{write:{isRequired:!0}}}),(0,d.wg)(e=>(0,a.qE)((0,g.GB)(e),-180,180))],b.prototype,"tilt",void 0),(0,n.Cg)([(0,d.MZ)({type:Number,nonNullable:!0,json:{default:55,write:!0}}),(0,d.wg)(e=>(0,a.qE)((0,g.GB)(e,55),1,170))],b.prototype,"fov",void 0),(0,n.Cg)([(0,d.MZ)({type:p,nonNullable:!0,json:{read:!1,write:!1}})],b.prototype,"layout",void 0),b=(0,n.Cg)([(0,d.$K)("esri.Camera")],b);var y=r(9093),M=r(38954),T=r(51850),C=r(16930),S=(r(48353),r(9762),r(65806)),E=r(27993),A=r(73941),I=(r(19419),r(69622)),R=r(53966),F=r(90629),O=r(58083),P=r(48163),D=r(87317),H=r(91829),N=r(82919),z=r(71351),L=r(44280);const B=(0,T.vt)(),V=(0,T.vt)();var G;let U=G=class extends I.A{constructor(e){super(e),this._ray=(0,z.vt)(),this._viewport=(0,H.fA)(0,0,1,1),this._padding=(0,H.fA)(0,0,0,0),this._fov=55/180*Math.PI,this._nearFar=(0,P.fA)(1,1e3),this._viewDirty=!0,this._viewMatrix=(0,y.vt)(),this._viewProjectionDirty=!0,this._viewProjectionMatrix=(0,y.vt)(),this._viewInverseTransposeMatrixDirty=!0,this._viewInverseTransposeMatrix=(0,y.vt)(),this._frustumDirty=!0,this._frustum=(0,N.vt)(),this._fullViewport=(0,H.vt)(),this._pixelRatio=1,this.row=0,this.column=0,this._rows=1,this._columns=1,this._center=(0,T.vt)(),this._up=(0,T.vt)(),this.relativeElevation=0}get pixelRatio(){return this._pixelRatio}set pixelRatio(e){this._pixelRatio=e>0?e:1}get rows(){return this._rows}set rows(e){this._rows=Math.max(1,e)}get columns(){return this._columns}set columns(e){this._columns=Math.max(1,e)}get eye(){return this._ray.origin}set eye(e){this._compareAndSetView(e,this._ray.origin)}get center(){return this._center}set center(e){this._compareAndSetView(e,this._center,"_center")}get ray(){return(0,M.e)(this._ray.direction,this.center,this.eye),this._ray}get up(){return this._up}set up(e){this._compareAndSetView(e,this._up,"_up")}get viewMatrix(){return this._ensureViewClean(),this._viewMatrix}set viewMatrix(e){(0,O.C)(this._viewMatrix,e),this.notifyChange("_viewMatrix"),this._viewDirty=!1,this._viewInverseTransposeMatrixDirty=!0,this._viewProjectionDirty=!0,this._frustumDirty=!0}get viewForward(){return this._ensureViewClean(),(0,M.h)((0,T.vt)(),-this._viewMatrix[2],-this._viewMatrix[6],-this._viewMatrix[10])}get viewUp(){return this._ensureViewClean(),(0,M.h)((0,T.vt)(),this._viewMatrix[1],this._viewMatrix[5],this._viewMatrix[9])}get viewRight(){return this._ensureViewClean(),(0,M.h)((0,T.vt)(),this._viewMatrix[0],this._viewMatrix[4],this._viewMatrix[8])}get nearFar(){return this._nearFar}get near(){return this._nearFar[0]}set near(e){this._nearFar[0]!==e&&(this._nearFar[0]=e,this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_nearFar"))}get far(){return this._nearFar[1]}set far(e){this._nearFar[1]!==e&&(this._nearFar[1]=e,this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_nearFar"))}get viewport(){return this._viewport}set viewport(e){this.x=e[0],this.y=e[1],this.width=e[2],this.height=e[3]}get screenViewport(){if(1===this.pixelRatio)return this._viewport;const e=(0,D.c)((0,H.vt)(),this._viewport,1/this.pixelRatio),t=this._get("screenViewport");return t&&(0,D.e)(e,t)?t:e}get screenPadding(){if(1===this.pixelRatio)return this._padding;const e=(0,D.c)((0,H.vt)(),this._padding,1/this.pixelRatio),t=this._get("screenPadding");return t&&(0,D.e)(e,t)?t:e}get x(){return this._viewport[0]}set x(e){e+=this._padding[3],this._viewport[0]!==e&&(this._viewport[0]=e,this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_viewport"))}get y(){return this._viewport[1]}set y(e){e+=this._padding[2],this._viewport[1]!==e&&(this._viewport[1]=e,this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_viewport"))}get width(){return this._viewport[2]}set width(e){this._viewport[2]!==e&&(this._viewport[2]=e,this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_viewport"))}get height(){return this._viewport[3]}set height(e){this._viewport[3]!==e&&(this._viewport[3]=e,this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_viewport"))}get fullWidth(){return this._viewport[2]+this._padding[1]+this._padding[3]}set fullWidth(e){this.width=e-(this._padding[1]+this._padding[3])}get fullHeight(){return this._viewport[3]+this._padding[0]+this._padding[2]}set fullHeight(e){this.height=e-(this._padding[0]+this._padding[2])}get fullViewport(){return this._fullViewport[0]=this._viewport[0]-this._padding[3],this._fullViewport[1]=this._viewport[1]-this._padding[2],this._fullViewport[2]=this.fullWidth,this._fullViewport[3]=this.fullHeight,this._fullViewport}get _aspect(){return this.width/this.height}get padding(){return this._padding}set padding(e){(0,D.a)(this._padding,e)||(this._viewport[0]+=e[3]-this._padding[3],this._viewport[1]+=e[2]-this._padding[2],this._viewport[2]-=e[1]+e[3]-(this._padding[1]+this._padding[3]),this._viewport[3]-=e[0]+e[2]-(this._padding[0]+this._padding[2]),(0,D.d)(this._padding,e),this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_padding"),this.notifyChange("_viewport"))}get viewProjectionMatrix(){return this._viewProjectionDirty&&((0,O.lw)(this._viewProjectionMatrix,this.projectionMatrix,this.viewMatrix),this._viewProjectionDirty=!1),this._viewProjectionMatrix}get projectionMatrix(){return this._projectionMatrixInternal}get inverseProjectionMatrix(){return(0,O.B8)((0,y.vt)(),this.projectionMatrix)||this._get("inverseProjectionMatrix")||(0,y.vt)()}get fov(){return this._fov}set fov(e){this._fov=e,this._viewProjectionDirty=!0,this._frustumDirty=!0}get fovX(){return e=this._fov,t=this.width,r=this.height,2*Math.atan(t*Math.tan(.5*e)/Math.sqrt(t*t+r*r));var e,t,r}set fovX(e){this._fov=function(e,t,r){return 2*Math.atan(Math.sqrt(t*t+r*r)*Math.tan(.5*e)/t)}(e,this.width,this.height),this._viewProjectionDirty=!0,this._frustumDirty=!0}get fovY(){return e=this._fov,t=this.width,r=this.height,2*Math.atan(r*Math.tan(.5*e)/Math.sqrt(t*t+r*r));var e,t,r}set fovY(e){this._fov=function(e,t,r){return 2*Math.atan(Math.sqrt(t*t+r*r)*Math.tan(.5*e)/r)}(e,this.width,this.height),this._viewProjectionDirty=!0,this._frustumDirty=!0}get distance(){return(0,M.D)(this.center,this.eye)}get frustum(){return this._recomputeFrustum(),this._frustum}get viewInverseTransposeMatrix(){return(this._viewInverseTransposeMatrixDirty||this._viewDirty)&&((0,O.B8)(this._viewInverseTransposeMatrix,this.viewMatrix),(0,O.mg)(this._viewInverseTransposeMatrix,this._viewInverseTransposeMatrix),this._viewInverseTransposeMatrixDirty=!1),this._viewInverseTransposeMatrix}depthNDCToWorld(e){const{near:t,far:r}=this;return 2*t*r/(r+t-e*(r-t))}get perRenderPixelRatio(){return Math.tan(this.fovX/2)/(this.width/2)}get perScreenPixelRatio(){return this.perRenderPixelRatio*this.pixelRatio}get aboveGround(){return null!=this.relativeElevation&&this.relativeElevation>=0}get _projectionMatrixInternal(){const e=this.width,t=this.height,r=this.near*Math.tan(this.fovY/2)*2,i=r*this._aspect,o=r/this.rows,n=i/this.columns,a=-i/2+this.column*n,s=a+n,l=-r/2+this.row*o,c=l+o,d=(0,O.$h)((0,y.vt)(),a*(1+2*this._padding[3]/e),s*(1+2*this._padding[1]/e),l*(1+2*this._padding[2]/t),c*(1+2*this._padding[0]/t),this.near,this.far),u=this._get("projectionMatrix");return u&&(0,O.aI)(u,d)?u:d}copyFrom(e){(0,M.d)(this._ray.origin,e.eye),this.center=e.center,this.up=e.up,(0,D.d)(this._viewport,e.viewport),this.notifyChange("_viewport"),(0,D.d)(this._padding,e.padding),this.notifyChange("_padding"),(0,u.C)(this._nearFar,e.nearFar),this.notifyChange("_nearFar"),this._fov=e.fov,this.row=e.row,this.column=e.column,this.rows=e.rows,this.columns=e.columns,this.relativeElevation=e.relativeElevation;const t=e;return this._viewDirty=t._viewDirty,this._viewDirty||((0,O.C)(this._viewMatrix,e.viewMatrix),this.notifyChange("_viewMatrix")),this._viewProjectionDirty=!0,this._frustumDirty=t._frustumDirty,this._frustumDirty||((0,N.C)(this._frustum,e.frustum),this._frustumDirty=!1),t._viewInverseTransposeMatrixDirty?this._viewInverseTransposeMatrixDirty=!0:((0,O.C)(this._viewInverseTransposeMatrix,e.viewInverseTransposeMatrix),this._viewInverseTransposeMatrixDirty=!1),(0,D.d)(this._fullViewport,e.fullViewport),this.pixelRatio=e.pixelRatio,this}copyViewFrom(e){this.eye=e.eye,this.center=e.center,this.up=e.up,this.fov=e.fov}clone(){return(new G).copyFrom(this)}equals(e){return(0,M.m)(this.eye,e.eye)&&(0,M.m)(this.center,e.center)&&(0,M.m)(this.up,e.up)&&(0,D.a)(this._viewport,e.viewport)&&(0,D.a)(this._padding,e.padding)&&(0,u.t2)(this.nearFar,e.nearFar)&&this._fov===e.fov&&this.pixelRatio===e.pixelRatio&&this.relativeElevation===e.relativeElevation&&this.row===e.row&&this.column===e.column&&this.rows===e.rows&&this.columns===e.columns}almostEquals(e){const t=Math.max(1,1/this.pixelRatio,1/e.pixelRatio);if(Math.abs(e.fov-this._fov)>=.001||(0,D.f)(e.screenPadding,this.screenPadding)>=t||(0,D.f)(this.screenViewport,e.screenViewport)>=t||this.row!==e.row||this.column!==e.column||this.rows!==e.rows||this.columns!==e.columns)return!1;(0,M.a)(k,e.eye,e.center),(0,M.a)($,this.eye,this.center);const r=(0,M.g)(k,$),i=(0,M.w)(k),o=(0,M.w)($),n=5e-4;return r*r>=(1-1e-10)*i*o&&(0,M.v)(e.eye,this.eye)<Math.max(i,o)*n*n}computeRenderPixelSizeAt(e){return this.computeRenderPixelSizeAtDist(this._viewDirectionDistance(e))}computeRenderPixelSizeAtDist(e){return e*this.perRenderPixelRatio}computeScreenPixelSizeAt(e){return this.computeScreenPixelSizeAtDist(this._viewDirectionDistance(e))}_viewDirectionDistance(e){return Math.abs((0,L.gr)(this.viewForward,(0,M.e)(k,e,this.eye)))}computeScreenPixelSizeAtDist(e){return e*this.perScreenPixelRatio}computeDistanceFromRadius(e,t){return e/Math.tan(Math.min(this.fovX,this.fovY)/(2*(t||1)))}getScreenCenter(e=(0,F.gs)()){return e[0]=(this.padding[3]+this.width/2)/this.pixelRatio,e[1]=(this.padding[0]+this.height/2)/this.pixelRatio,e}getRenderCenter(e,t=.5,r=.5){return e[0]=this.padding[3]+this.width*t,e[1]=this.padding[2]+this.height*r,e[2]=.5,e}setGLViewport(e){const t=this.viewport,r=this.padding;e.setViewport(t[0]-r[3],t[1]-r[2],t[2]+r[1]+r[3],t[3]+r[0]+r[2])}applyProjection(e,t){e!==j&&(0,M.d)(j,e),j[3]=1,(0,D.t)(j,j,this.projectionMatrix);const r=Math.abs(j[3]);(0,M.j)(j,j,1/r);const i=this.fullViewport;t[0]=(0,a.Cc)(0,i[0]+i[2],.5+.5*j[0]),t[1]=(0,a.Cc)(0,i[1]+i[3],.5+.5*j[1]),t[2]=.5*(j[2]+1),t[3]=r}unapplyProjection(e,t){const r=this.fullViewport;j[0]=(e[0]/(r[0]+r[2])*2-1)*e[3],j[1]=(e[1]/(r[1]+r[3])*2-1)*e[3],j[2]=(2*e[2]-1)*e[3],j[3]=e[3],null!=this.inverseProjectionMatrix&&((0,D.t)(j,j,this.inverseProjectionMatrix),t[0]=j[0],t[1]=j[1],t[2]=j[2])}projectToScreen(e,t){return this.projectToRenderScreen(e,Z),this.renderToScreen(Z,t),t}projectToRenderScreen(e,t){if(j[0]=e[0],j[1]=e[1],j[2]=e[2],j[3]=1,(0,D.t)(j,j,this.viewProjectionMatrix),0===j[3])return null;const r=j;(0,M.j)(r,r,1/Math.abs(j[3]));const i=this.fullViewport,o=(0,a.Cc)(0,i[0]+i[2],.5+.5*r[0]),n=(0,a.Cc)(0,i[1]+i[3],.5+.5*r[1]);return"x"in t?(t.x=o,t.y=n):(t[0]=o,t[1]=n,t.length>2&&(t[2]=.5*(r[2]+1))),t}unprojectFromScreen(e,t){return this.unprojectFromRenderScreen(this.screenToRender(e,Z),t)}unprojectFromRenderScreen(e,t){if((0,O.lw)(W,this.projectionMatrix,this.viewMatrix),!(0,O.B8)(W,W))return null;const r=this.fullViewport;return j[0]=2*(e[0]-r[0])/r[2]-1,j[1]=2*(e[1]-r[1])/r[3]-1,j[2]=2*e[2]-1,j[3]=1,(0,D.t)(j,j,W),0===j[3]?null:(t[0]=j[0]/j[3],t[1]=j[1]/j[3],t[2]=j[2]/j[3],t)}constrainWindowSize(e,t,r,i){const o=e*this.pixelRatio,n=t*this.pixelRatio,a=Math.max(o-r/2,0),s=Math.max(this.fullHeight-n-i/2,0),l=-Math.min(o-r/2,0),c=-Math.min(this.fullHeight-n-i/2,0),d=r-l- -Math.min(this.fullWidth-o-r/2,0),u=i-c- -Math.min(n-i/2,0);return[Math.round(a),Math.round(s),Math.round(d),Math.round(u)]}computeUp(e){1===e?this._computeUpGlobal():this._computeUpLocal()}screenToRender(e,t){const r=e[0]*this.pixelRatio,i=this.fullHeight-e[1]*this.pixelRatio;return t[0]=r,t[1]=i,t}renderToScreen(e,t){const r=e[0]/this.pixelRatio,i=(this.fullHeight-e[1])/this.pixelRatio;t[0]=r,t[1]=i}sphereFrustumCoverage(e,t){const{center:r,eye:i,distance:o,fovY:n}=this,s=Math.abs(Math.PI/2-function(e,t,r){e.worldUpAtPosition(t,B),(0,M.e)(V,r,t);const i=(0,M.b)(V);return 0===i?0:(0,a.XM)((0,M.g)(V,B)/i)}(t,r,i));return e.frustumCoverage(s,o,n)}_computeUpGlobal(){(0,M.e)(k,this.center,this.eye);const e=(0,M.b)(this.center);e<1?(0,M.m)(this._up,T.Cb)&&((0,M.d)(this._up,T.Cb),this._markViewDirty(),this.notifyChange("_up")):Math.abs((0,M.g)(k,this.center))>.9999*(0,M.b)(k)*e||((0,M.f)($,k,this.center),(0,M.f)($,$,k),(0,M.n)($,$),(0,M.m)(this._up,$)||((0,M.d)(this._up,$),this.notifyChange("_up"),this._markViewDirty()))}_computeUpLocal(){(0,M.E)(k,this.eye,this.center),Math.abs(k[2])<=.9999&&((0,M.j)(k,k,k[2]),(0,M.h)(k,-k[0],-k[1],1-k[2]),(0,M.n)(k,k),(0,M.m)(this._up,k)||((0,M.d)(this._up,k),this.notifyChange("_up"),this._markViewDirty()))}_compareAndSetView(e,t,r=""){"number"==typeof e[0]&&isFinite(e[0])&&"number"==typeof e[1]&&isFinite(e[1])&&"number"==typeof e[2]&&isFinite(e[2])?(0,M.m)(e,t)||((0,M.d)(t,e),this._markViewDirty(),r.length&&this.notifyChange(r)):R.A.getLogger("esri.views.3d.webgl-engine.lib.RenderCamera").warn("RenderCamera vector contains invalid number, ignoring value")}_markViewDirty(){this._viewDirty=!0,this._frustumDirty=!0,this._viewProjectionDirty=!0}_recomputeFrustum(){this._frustumDirty&&((0,N.ui)(this.viewMatrix,this.projectionMatrix,this._frustum),this._frustumDirty=!1)}_ensureViewClean(){this._viewDirty&&((0,O.t5)(this._viewMatrix,this.eye,this.center,this.up),this.notifyChange("_viewMatrix"),this._viewDirty=!1,this._viewInverseTransposeMatrixDirty=!0)}};(0,n.Cg)([(0,d.MZ)()],U.prototype,"_viewport",void 0),(0,n.Cg)([(0,d.MZ)()],U.prototype,"_padding",void 0),(0,n.Cg)([(0,d.MZ)()],U.prototype,"_fov",void 0),(0,n.Cg)([(0,d.MZ)()],U.prototype,"_nearFar",void 0),(0,n.Cg)([(0,d.MZ)()],U.prototype,"_viewDirty",void 0),(0,n.Cg)([(0,d.MZ)()],U.prototype,"_viewMatrix",void 0),(0,n.Cg)([(0,d.MZ)()],U.prototype,"_pixelRatio",void 0),(0,n.Cg)([(0,d.MZ)()],U.prototype,"pixelRatio",null),(0,n.Cg)([(0,d.MZ)()],U.prototype,"row",void 0),(0,n.Cg)([(0,d.MZ)()],U.prototype,"column",void 0),(0,n.Cg)([(0,d.MZ)()],U.prototype,"_rows",void 0),(0,n.Cg)([(0,d.MZ)()],U.prototype,"rows",null),(0,n.Cg)([(0,d.MZ)()],U.prototype,"_columns",void 0),(0,n.Cg)([(0,d.MZ)()],U.prototype,"columns",null),(0,n.Cg)([(0,d.MZ)()],U.prototype,"eye",null),(0,n.Cg)([(0,d.MZ)()],U.prototype,"center",null),(0,n.Cg)([(0,d.MZ)()],U.prototype,"_center",void 0),(0,n.Cg)([(0,d.MZ)()],U.prototype,"up",null),(0,n.Cg)([(0,d.MZ)()],U.prototype,"_up",void 0),(0,n.Cg)([(0,d.MZ)()],U.prototype,"viewMatrix",null),(0,n.Cg)([(0,d.MZ)({readOnly:!0})],U.prototype,"viewForward",null),(0,n.Cg)([(0,d.MZ)({readOnly:!0})],U.prototype,"viewUp",null),(0,n.Cg)([(0,d.MZ)({readOnly:!0})],U.prototype,"viewRight",null),(0,n.Cg)([(0,d.MZ)({readOnly:!0})],U.prototype,"nearFar",null),(0,n.Cg)([(0,d.MZ)()],U.prototype,"near",null),(0,n.Cg)([(0,d.MZ)()],U.prototype,"far",null),(0,n.Cg)([(0,d.MZ)()],U.prototype,"viewport",null),(0,n.Cg)([(0,d.MZ)({readOnly:!0})],U.prototype,"screenViewport",null),(0,n.Cg)([(0,d.MZ)({readOnly:!0})],U.prototype,"screenPadding",null),(0,n.Cg)([(0,d.MZ)()],U.prototype,"x",null),(0,n.Cg)([(0,d.MZ)()],U.prototype,"y",null),(0,n.Cg)([(0,d.MZ)()],U.prototype,"width",null),(0,n.Cg)([(0,d.MZ)()],U.prototype,"height",null),(0,n.Cg)([(0,d.MZ)()],U.prototype,"fullWidth",null),(0,n.Cg)([(0,d.MZ)()],U.prototype,"fullHeight",null),(0,n.Cg)([(0,d.MZ)({readOnly:!0})],U.prototype,"_aspect",null),(0,n.Cg)([(0,d.MZ)()],U.prototype,"padding",null),(0,n.Cg)([(0,d.MZ)({readOnly:!0})],U.prototype,"projectionMatrix",null),(0,n.Cg)([(0,d.MZ)({readOnly:!0})],U.prototype,"inverseProjectionMatrix",null),(0,n.Cg)([(0,d.MZ)()],U.prototype,"fov",null),(0,n.Cg)([(0,d.MZ)()],U.prototype,"fovX",null),(0,n.Cg)([(0,d.MZ)()],U.prototype,"fovY",null),(0,n.Cg)([(0,d.MZ)()],U.prototype,"viewInverseTransposeMatrix",null),(0,n.Cg)([(0,d.MZ)({readOnly:!0})],U.prototype,"_projectionMatrixInternal",null),(0,n.Cg)([(0,d.MZ)()],U.prototype,"relativeElevation",void 0),U=G=(0,n.Cg)([(0,d.$K)("esri.views.3d.webgl.RenderCamera")],U);const j=(0,H.vt)(),W=(0,y.vt)(),k=(0,T.vt)(),$=(0,T.vt)(),Z=(0,F.r_)();class q{constructor(e=1/0,t=-1/0){this.near=e,this.far=t}set(e,t){this.near=e,this.far=t}union(e){return null!=e&&(this.near=Math.min(this.near,e.near),this.far=Math.max(this.far,e.far)),this}within(e){return this.near<=e&&e<=this.far}equals(e){return this.near===e.near&&this.far===e.far}static{this.Zero=new q(0,0)}static{this.Infinite=new q}}r(49718),r(6867),r(16396),(0,T.vt)(),(0,T.vt)(),(0,T.vt)(),new WeakMap;var Y=r(5443),X=r(39829),K=r(95108);function J(e,t,r,i){const o=function(e,t){const r=0===t||2===t?0:1,i=e[t],o=0===t||1===t?1:-1,n=0===r?1:0;return(e,t,a)=>{if(t[r]<i&&a[r]<i)return 1===o?0:1;if(t[r]>i&&a[r]>i)return 1===o?1:0;const s=(a[n]-t[n])/(a[r]-t[r]),l=t[n]+s*(i-t[r]);return e[r]=i,e[n]=l,(t[r]<i?1:-1)*o>0?2:3}}(r,i);if(e.length=0,t.length){1===o(ee,t[0],t[0])&&Q(e,t[0]);for(let r=0;r<t.length;r++){const i=t[r===t.length-1?0:r+1];switch(o(ee,t[r],i)){case 1:Q(e,i);break;case 3:Q(e,(0,P.o8)(ee));break;case 2:Q(e,(0,P.o8)(ee)),Q(e,i)}}}}function Q(e,t){0!==e.length&&(0,u.aI)(e.at(-1),t)||e.push(t)}const ee=(0,P.vt)();var te=r(11964),re=r(27921);const ie=(0,T.vt)(),oe=(0,T.vt)();function ne(){return{direction:(0,T.vt)(),up:(0,T.vt)()}}function ae(e,t,r,i,o){let n=(0,M.n)(ie,e),s=(0,M.g)(n,i);const l=s>0;s=Math.abs(s),s>.99&&(s=Math.abs((0,M.g)(t,i)),s<.99?((0,M.d)(n,t),l&&(0,M.j)(n,n,-1)):n=null);let c=0;if(n){(0,M.j)(oe,i,(0,M.g)(i,n)),(0,M.e)(n,n,oe);const e=(0,M.g)(n,o)/((0,M.b)(n)*(0,M.b)(o));(0,M.f)(oe,n,o),c=((0,M.g)(oe,i)>0?1:-1)*(0,a.KJ)((0,a.XM)(e))}const d=(0,a.KJ)((0,a.XM)(-(0,M.g)(i,e)/(0,M.b)(e)));return r?(r.heading=c,r.tilt=d,r):{heading:c,tilt:d}}function se(e,t,r,i){(0,M.e)(le,r,t),(0,re.T7)(i,(0,te.LV)(t,le),e)||e===r||(0,M.d)(e,r)}const le=(0,T.vt)(),ce=(0,T.fA)(0,1,0),de=(0,T.fA)(0,0,1),ue=(0,y.vt)(),he=(0,T.vt)(),me=(0,T.vt)();function pe(e,t,r,i=ne()){const{direction:o,up:n}=i;return(0,O.N9)(ue,-(0,a.kU)(t)),(0,O.eL)(ue,ue,(0,a.kU)(r)),(0,M.p)(o,de,ue),(0,M.j)(o,o,-1),(0,M.p)(n,ce,ue),i}function fe(e,t,r,i,o){const n=t.lines[11].direction,a=(o-r.getAltitude(i))/n[2];(0,M.c)(e,i,n,a)}const ve=(0,T.vt)();Object.freeze(Object.defineProperty({__proto__:null,directionToHeadingTilt:function(e,t,r,i){return ae(t,r,i,de,ce)},eyeForCenterWithHeadingTilt:function(e,t,r,i){const o=pe(0,r,i),n=(0,T.vt)();return(0,M.j)(n,o.direction,-t),(0,M.i)(n,n,e),{up:o.up,eye:n,heading:r,tilt:i}},eyeTiltToLookAtTilt:function(e){return(0,a.kU)(e)},headingTiltToDirectionUp:pe,lookAtTiltToEyeTilt:function(e){return(0,a.KJ)(e)},toArea:function(e,t){const r=e.frustum,{renderCoordsHelper:i}=e,o=i.getAltitude(t),n=e.spatialReference,a=e.state.camera.eye,s=[],l=r.planes[5];for(let e=0;e<4;e++){const t=r.lines[e];i.intersectInfiniteManifold((0,z.LV)(t.origin,t.direction),o,ve)||fe(ve,r,i,t.endpoint,o),se(ve,a,ve,l),s.push((0,P.fA)(ve[0],ve[1]))}return function(e,t,r){const i=e.map(e=>((0,M.h)(ve,e[0],e[1],0),t.fromRenderCoords(ve,ve,r),[ve[0],ve[1]]));return i.length<=2?new X.A({spatialReference:r}):(i.push(i[0].slice()),(0,K.$3)(i)||i.reverse(),new X.A({rings:[i],spatialReference:r}))}(function(e,t){const r=[],i=[];return J(r,e,t,0),J(i,r,t,1),J(r,i,t,2),J(i,r,t,3),i}(s,i.extent),i,n)},toExtent:function(e,t,r,i,o){const n=e.renderSpatialReference,a=e.spatialReference??t.spatialReference;return(0,S.g)(t,he,n),(0,S.g)(t,me,n),he[0]-=r/2,me[0]+=r/2,he[1]-=i/2,me[1]+=i/2,(0,E.F)(he,n,he,a),(0,E.F)(me,n,me,a),o?(o.xmin=he[0],o.ymin=he[1],o.xmax=me[0],o.ymax=me[1],o.spatialReference=a):o=new Y.A(he[0],he[1],me[0],me[1],a),o}},Symbol.toStringTag,{value:"Module"}));var ge=r(34304),_e=r(17136),xe=r(94008),we=r(28735);class be{get planes(){return this.frustum}get points(){return this._points}get mutablePoints(){return this._points}get direction(){return this._direction}get origin(){return this._origin}constructor(e){this.renderCoordsHelper=e,this.frustum=(0,N.vt)(),this._points=(0,N.Qy)(),this.lines=new Array(12),this._origin=(0,T.vt)(),this._direction=(0,T.vt)(),this._altitude=null;for(let e=0;e<12;e++)this.lines[e]={origin:null,direction:(0,T.vt)(),endpoint:null}}update(e){(0,N.ui)(e.viewMatrix,e.projectionMatrix,this.frustum,this._points),(0,M.d)(this._origin,e.eye),(0,M.d)(this._direction,e.viewForward),this._altitude=this.renderCoordsHelper.getAltitude(this._origin),this._updateLines()}updatePoints(e){for(let t=0;t<this._points.length;t++)(0,M.d)(this._points[t],e[t]);(0,N.DV)(this.frustum,this._points),this._updateLines()}get altitude(){return this._altitude}intersectsSphere(e){return(0,N.m7)(this.frustum,e)}intersectsRay(e){return(0,N.pw)(this.frustum,e)}intersectsLineSegment(e,t){return(0,N.ST)(this.frustum,e,t)}intersectsPoint(e){return(0,N.bU)(this.frustum,e)}_updateLines(){const e=this._points;for(let t=0;t<4;t++){const r=t+4;ye(this.lines[t],e[t],e[r]),ye(this.lines[t+4],e[t],3===t?e[0]:e[t+1]),ye(this.lines[t+8],e[r],3===t?e[4]:e[r+1])}}static{this.planePointIndices=N.c8}static{this.nearFarLineIndices=[[0,4],[1,5],[2,6],[3,7]]}}function ye(e,t,r){e.origin=t,e.endpoint=r,(0,M.E)(e.direction,t,r)}r(86211);const Me=(0,T.fA)(parseFloat(Number(5802e-9).toFixed(6)),parseFloat(Number(13558e-9).toFixed(6)),parseFloat(Number(331e-7).toFixed(6))),Te=(0,T.fA)(3*parseFloat(Number(65e-8).toFixed(6)),3*parseFloat(Number(1881e-9).toFixed(6)),3*parseFloat(Number(85e-9).toFixed(6)));(0,T.fA)(parseFloat(Number(Me[0]+Te[0]).toFixed(6)),parseFloat(Number(Me[1]+Te[1]).toFixed(6)),parseFloat(Number(Me[2]+Te[2]).toFixed(6)));(0,T.vt)(),(0,T.vt)(),new xe.iy,(0,z.vt)();var Ce=r(32728);const Se=(0,T.fA)(0,0,1),Ee=(0,M.n)((0,T.vt)(),(0,T.fA)(1,1,1)),Ae=(0,y.vt)(),Ie=(0,T.vt)(),Re=(0,T.vt)();function Fe(e,t,r,i=ne()){(0,M.f)(Ie,e,Se),0===(0,M.g)(Ie,Ie)&&(0,M.f)(Ie,e,Ee),(0,O.$0)(Ae,-(0,a.kU)(t),e),(0,O.e$)(Ae,Ae,-(0,a.kU)(r),Ie);const{up:o,direction:n}=i;return(0,M.f)(o,Ie,e),(0,M.n)(o,o),(0,M.p)(o,o,Ae),(0,M.n)(n,e),(0,M.q)(n,n),(0,M.p)(n,n,Ae),i}function Oe(e){const t=e[1];e[1]=-e[2],e[2]=t}function Pe(e,t){const r=Fe(t,e.heading,e.tilt);return e.up=r.up,e}function De(e,t){const r=[],i=[],o=(0,ge.FD)();for(let n=0;n<e.length;n++){const a=e[n],s=n===e.length-1?e[0]:e[n+1],l=(0,te.Cr)(a,s,Ue),c=(0,re.vE)(t,l.origin,l.vector,0,Ve);switch(c){case 2:r.push(a);break;case 3:i.push(a);break;case 0:case 1:{const[e,n,s]=0===c?[1,r,i]:[-1,i,r],l=(0,re.Qj)(t),d=(0,M.c)((0,T.vt)(),Ve,l,e*o),u=(0,M.c)((0,T.vt)(),Ve,l,e*-o);n.push(a),n.push(d),s.push(u)}}}const n=[];return r.length&&n.push(r),i.length&&n.push(i),n}const He={minCurvature:(0,a.kU)(5),maxCurvature:(0,a.kU)(50),minSamples:1,maxSamples:6},Ne=(0,T.fA)(1,0,0),ze=(0,T.fA)(0,1,0),Le=(0,T.vt)(),Be=(0,T.vt)(),Ve=(0,T.vt)(),Ge=new xe.iy,Ue=(0,te.vt)(),je=(0,H.vt)();Object.freeze(Object.defineProperty({__proto__:null,directionToHeadingTilt:function(e,t,r,i){const o=Ie,n=Re;return(0,M.n)(o,e),(0,M.f)(Re,o,Se),0===(0,M.g)(Re,Re)&&(0,M.f)(Re,o,Ee),(0,M.f)(n,Re,o),ae(t,r,i,o,n)},eyeForCenterWithHeadingTilt:function(e,t,r,i){const o={eye:(0,T.vt)(),up:null,tilt:i,heading:r},n=Ie;n[0]=e[0],n[1]=e[2],n[2]=-e[1];const s=t,l=(0,a.kU)(r),c=(0,a.kU)(i),d=Math.sin(l),u=Math.cos(l),h=Math.sin(c),m=Math.cos(c),p=(0,M.b)(n);let f;if(Math.abs(c)<1e-8)f=s+p;else{const e=p/h,t=(0,a.YN)(s/e),r=Math.PI-c-t;f=e*Math.sin(r)}const v=m*s,g=s*s*(h*h),_=u*u*g,x=f-v,w=x*x,b=_*(_+w-n[1]*n[1]);if(b<0)return(0,M.j)(o.eye,n,f/p),o.tilt=0,Pe(o,e);const y=Math.sqrt(b),C=n[1]*x,S=_+w;let E;if(E=u>0?-y+C:y+C,Math.abs(S)<1e-8)return p<1e-8?(o.eye[0]=0,o.eye[1]=0,o.eye[2]=s):(0,M.j)(o.eye,n,f/p),o.tilt=0,Oe(o.eye),Pe(o,e);o.eye[1]=E/S;const A=d*d*g,I=h*s,R=u*I*o.eye[1],F=o.eye[1]*o.eye[1],O=1-F,P=Math.sqrt(O),D=_*F+A-2*R*P*x+O*w;return Math.abs(D)<1e-8?((0,M.j)(o.eye,n,f/p),o.tilt=0,Oe(o.eye),Pe(o,e)):(o.eye[0]=(O*(f*n[0]-v*n[0])-I*P*(n[0]*o.eye[1]*u+n[2]*d))/D,o.eye[2]=(O*(f*n[2]-v*n[2])-I*P*(n[2]*o.eye[1]*u-n[0]*d))/D,(0,M.j)(o.eye,o.eye,f),Oe(o.eye),Pe(o,e))},eyeTiltToLookAtTilt:function(e,t,r){const i=(0,a.kU)(e),o=(0,M.b)(t);return(0,a.YN)(r/(o/Math.sin(i)))+i},headingTiltToDirectionUp:Fe,lookAtTiltToEyeTilt:function(e,t,r){const i=(0,M.b)(t),o=Math.sqrt(r*r+i*i-2*r*i*Math.cos(Math.PI-e)),n=(0,a.YN)(r/(o/Math.sin(e)));return(0,a.KJ)(e-n)},toArea:function(e,t){const{renderCoordsHelper:r}=e,i=e.state.camera.clone(),o=new be(r);i.near=2,o.update(i);const n=r.getAltitude(t),s=e.spatialReference,l=r.referenceEllipsoid.radius,c=i.eye,d=1+(0,M.D)(c,t)/(l+n),u=Math.sqrt(d*d-1),{minCurvature:h,maxCurvature:m,minSamples:p,maxSamples:f}=He,v=function(e){const{renderCoordsHelper:t,state:r}=e,i=Math.abs(t.getAltitude(r.camera.center));return Ge.radius=t.referenceEllipsoid.radius+i,r.camera.sphereFrustumCoverage(Ge,t)}(e),g=(0,a.qE)((u-h)/(m-h),0,1),_=Math.round((0,a.Cc)(p,f,g)),x=i.aboveGround,w=o.planes[5],b=[],y=(0,re.O_)(T.uY,Ne,(0,re.vt)()),C=(0,re.O_)(T.uY,ze,(0,re.vt)());(0,D.s)(je,0,0,0,0);const S=e=>{};for(let e=0;e<4;e++){const t=1===e&&!x||3===e&&x?1-v:0,i=1===e&&x||3===e&&!x?v:1,s=o.lines[e],l=o.lines[3===e?0:e+1];for(let o=0;o<_;o++){const d=o/_,u=0===o?0:(0,a.Cc)(t,i,1===e?1-(1-d)**2:3===e?d**2:d),h=(0,M.l)(Be,s.origin,l.origin,u),m=(0,Ce.nu)(s.direction,l.direction,u,Le);r.intersectManifoldClosestSilhouette((0,z.LV)(h,m),n,Ve),se(Ve,c,Ve,w),b.push((0,T.o8)(Ve)),0!==b.length&&S((0,M.v)(b.at(-1),Ve));const p=((0,re.Tj)(y,Ve)?1:0)|((0,re.Tj)(C,Ve)?2:0);je[p]=1}}b.length>2&&(0,M.v)(b[0],b.at(-1));const E=function(e,t,r){const i=2*(0,ge.FD)();return e.map(e=>{const o=[];let n=!1;for(const a of e)t.fromRenderCoords(a,Ve,r),Math.abs(a[0])<i&&Math.abs(a[1])<i?(o.push([null,Ve[1]]),o.push([null,Ve[1]]),n=!0):o.push([Ve[0],Ve[1]]);if(n)for(let e=0;e<o.length;e++){const t=o[e];if(null!=t[0])continue;const r=o[e+1],i=o.at(0===e?-1:e-1);t[0]=i[0],e++;const n=o.at(e===o.length-1?0:e+1);r[0]=n[0]}return o.push(o[0]),(0,K.$3)(o)||o.reverse(),o})}((0,D.b)(je)>1?function(e,t){const r=[];for(const i of e)r.push(...De(i,t));return r}(De(b,y),C):[b],r,s);return new X.A({rings:E,spatialReference:s})},toExtent:function(e,t,r,i,o){let n,s,l,c;const d=t.latitude,u=(0,A.tO)(e.spatialReference).radius,h=t.longitude,m=function(e,t,r){const i=t/r,o=(0,a.kU)(e),n=Math.sin(i/2),s=Math.cos(o),l=2*(0,a.YN)(Math.sqrt(n*n/(s*s)));return(0,a.KJ)(l)}(d,r,u)/2;n=h-m,s=h+m;const p=(0,a.kU)(d),v=(1+Math.sin(p))/(1-Math.sin(p)),g=(v+1)*Math.tan(i/u/2),_=g*g;function x(e){const t=Math.PI/2;return(e=f.uC.normalize(e,-t))>t&&(e=Math.PI-e),e}if(l=1.5*Math.PI-2*Math.atan(.5*(g+Math.sqrt(4*v+_))),c=l+i/u,l=x(l),c=x(c),c<l){const e=c;c=l,l=e}if(l=Math.max((0,a.KJ)(l),-90),c=Math.min((0,a.KJ)(c),90),s=_e.Y_.monotonic(n,s),s-n>180){const e=(s-n-180)/2;n+=e,s-=e}const w=e.spatialReference&&e.spatialReference.isGeographic?e.spatialReference:C.A.WGS84;return o?(o.xmin=n,o.ymin=l,o.xmax=s,o.ymax=c,o.spatialReference=w):o=new Y.A(n,l,s,c,w),e.spatialReference&&e.spatialReference.isWebMercator&&(0,we.Gh)(o,!1,o),o}},Symbol.toStringTag,{value:"Module"}));const We="ssao";(0,T.vt)(),r(44208);var ke=r(49186),$e=r(10107),Ze=r(64108);let qe=class extends I.A{constructor(e){super(e),this.view=null,this.consumes={required:[]},this.produces="composite-color",this.requireGeometryDepth=!1,this._dirty=!0}initialize(){this.addHandles([(0,l.wB)(()=>this.view.ready,e=>{e&&this.view.stage?.renderer.addRenderNode(this)},l.Vh)])}destroy(){this.view.stage?.renderer?.removeRenderNode(this)}precompile(){}render(){throw new ke.A("RenderNode:render-function-not-implemented","render() is not implemented.")}get camera(){return this.view.state.camera.clone()}get sunLight(){return this.bindParameters.lighting.legacy}get gl(){return this.view.stage.renderView.renderingContext.gl}get techniques(){return this.view.stage.renderView.techniques}acquireOutputFramebuffer(){const e=this._frameBuffer?.getTexture()?.descriptor,t=this.view.stage.renderer.fboCache.acquire(e?.width??640,e?.height??480,this.produces);return t.fbo?.initializeAndBind(),t}bindRenderTarget(){return this._frameBuffer?.fbo?.initializeAndBind(),this._frameBuffer}requestRender(e){switch(e){case 2:this.view.state.fading=!0;case 1:this.view.stage?.renderView.requestRender(e);case 0:case void 0:this._dirty=!0}}resetWebGLState(){this.renderingContext.resetState(),this.renderingContext.bindFramebuffer(this._frameBuffer?.fbo)}get fboCache(){return this.view.stage.renderer.fboCache}get bindParameters(){return this.renderContext.bind}get renderingContext(){return this.view.stage.renderView.renderingContext}get renderContext(){return this.view.stage?.renderer.renderContext}updateAnimation(e){return!!this._dirty&&(this._dirty=!1,!0)}doRender(e){this._frameBuffer=e.find(({name:e})=>e===this.produces);try{return this.render(e)}finally{this._frameBuffer=null}}};(0,n.Cg)([(0,$e.MZ)({constructOnly:!0})],qe.prototype,"view",void 0),(0,n.Cg)([(0,$e.MZ)({constructOnly:!0})],qe.prototype,"consumes",void 0),(0,n.Cg)([(0,$e.MZ)()],qe.prototype,"produces",void 0),(0,n.Cg)([(0,$e.MZ)({readOnly:!0})],qe.prototype,"techniques",null),qe=(0,n.Cg)([(0,Ze.$)("esri.views.3d.webgl.RenderNode")],qe);var Ye=r(13840),Xe=r(42958),Ke=r(95774),Je=r(90644);let Qe=class extends Xe.w{constructor(){super(...arguments),this.shader=new Ye.r(Ke.S,()=>r.e(9384).then(r.bind(r,59384)))}initializePipeline(){return(0,Je.Ey)({colorWrite:Je.kn})}};Qe=(0,n.Cg)([(0,d.$K)("esri.views.3d.webgl-engine.effects.ssao.SSAOBlurTechnique")],Qe);var et=r(65786);class tt extends et.Y{constructor(){super(...arguments),this.projScale=1}}class rt extends tt{constructor(){super(...arguments),this.intensity=1}}class it extends et.Y{}class ot extends it{constructor(){super(...arguments),this.blurSize=(0,P.vt)()}}var nt=r(15581);let at=class extends Xe.w{constructor(){super(...arguments),this.shader=new Ye.r(nt.S,()=>r.e(191).then(r.bind(r,90191)))}initializePipeline(){return(0,Je.Ey)({colorWrite:Je.kn})}};at=(0,n.Cg)([(0,d.$K)("esri.views.3d.webgl-engine.effects.ssao.SSAOTechnique")],at);var st=r(63907),lt=r(76284),ct=r(67171);const dt=2;let ut=class extends qe{constructor(e){super(e),this.consumes={required:["normals"]},this.produces=We,this.isEnabled=()=>!1,this._enableTime=(0,c.l5)(0),this._passParameters=new rt,this._drawParameters=new ot}initialize(){const e=Uint8Array.from(atob("eXKEvZaUc66cjIKElE1jlJ6MjJ6Ufkl+jn2fcXp5jBx7c6KEflSGiXuXeW6OWs+tfqZ2Yot2Y7Zzfo2BhniEj3xoiXuXj4eGZpqEaHKDWjSMe7palFlzc3BziYOGlFVzg6Zzg7CUY5JrjFF7eYJ4jIKEcyyEonSXe7qUfqZ7j3xofqZ2c4R5lFZ5Y0WUbppoe1l2cIh2ezyUho+BcHN2cG6DbpqJhqp2e1GcezhrdldzjFGUcyxjc3aRjDyEc1h7Sl17c6aMjH92pb6Mjpd4dnqBjMOEhqZleIOBYzB7gYx+fnqGjJuEkWlwnCx7fGl+c4hjfGyRe5qMlNOMfnqGhIWHc6OMi4GDc6aMfqZuc6aMzqJzlKZ+lJ6Me3qRfoFue0WUhoR5UraEa6qMkXiPjMOMlJOGe7JrUqKMjK6MeYRzdod+Sl17boiPc6qEeYBlcIh2c1WEe7GDiWCDa0WMjEmMdod+Y0WcdntzhmN8WjyMjKJjiXtzgYxYaGd+a89zlEV7e2GJfnd+lF1rcK5zc4p5cHuBhL6EcXp5eYB7fnh8iX6HjIKEeaxuiYOGc66RfG2Ja5hzjlGMjEmMe9OEgXuPfHyGhPeEdl6JY02McGuMfnqGhFiMa3WJfnx2l4hwcG1uhmN8c0WMc39og1GBbrCEjE2EZY+JcIh2cIuGhIWHe0mEhIVrc09+gY5+eYBlnCyMhGCDl3drfmmMgX15aGd+gYx+fnuRfnhzY1SMsluJfnd+hm98WtNrcIuGh4SEj0qPdkqOjFF7jNNjdnqBgaqUjMt7boeBhnZ4jDR7c5pze4GGjEFrhLqMjHyMc0mUhKZze4WEa117kWlwbpqJjHZ2eX2Bc09zeId+e0V7WlF7jHJ2l72BfId8l3eBgXyBe897jGl7c66cgW+Xc76EjKNbgaSEjGx4fId8jFFjgZB8cG6DhlFziZhrcIh2fH6HgUqBgXiPY8dahGFzjEmMhEFre2dxhoBzc5SGfleGe6alc7aUeYBlhKqUdlp+cH5za4OEczxza0Gcc4J2jHZ5iXuXjH2Jh5yRjH2JcFx+hImBjH+MpddCl3dreZeJjIt8ZW18bm1zjoSEeIOBlF9oh3N7hlqBY4+UeYFwhLJjeYFwaGd+gUqBYxiEYot2fqZ2ondzhL6EYyiEY02Ea0VjgZB8doaGjHxoc66cjEGEiXuXiXWMiZhreHx8frGMe75rY02Ec5pzfnhzlEp4a3VzjM+EhFFza3mUY7Zza1V5e2iMfGyRcziEhDyEkXZ2Y4OBnCx7g5t2eyBjgV6EhEFrcIh2dod+c4Z+nJ5zjm15jEmUeYxijJp7nL6clIpjhoR5WrZraGd+fnuRa6pzlIiMg6ZzfHx5foh+eX1ufnB5eX1ufnB5aJt7UqKMjIh+e3aBfm5lbYSBhGFze6J4c39oc0mUc4Z+e0V7fKFVe0WEdoaGY02Ec4Z+Y02EZYWBfH6HgU1+gY5+hIWUgW+XjJ57ebWRhFVScHuBfJ6PhBx7WqJzlM+Ujpd4gHZziX6HjHmEgZN+lJt5boiPe2GJgX+GjIGJgHZzeaxufnB5hF2JtdN7jJ57hp57hK6ElFVzg6ZzbmiEbndzhIWHe3uJfoFue3qRhJd2j3xoc65zlE1jc3p8lE1jhniEgXJ7e657vZaUc3qBh52BhIF4aHKDa9drgY5+c52GWqZzbpqJe8tjnM+UhIeMfo2BfGl+hG1zSmmMjKJjZVaGgX15c1lze0mEp4OHa3mUhIWHhDyclJ6MeYOJkXiPc0VzhFiMlKaEboSJa5Jze41re3qRhn+HZYWBe0mEc4p5fnORbox5lEp4hGFjhGGEjJuEc1WEhLZjeHeGa7KlfHx2hLaMeX1ugY5+hIWHhKGPjMN7c1WEho1zhoBzZYx7fnhzlJt5exyUhFFziXtzfmmMa6qMYyiEiXxweV12kZSMeWqXSl17fnhzxmmMrVGEe1mcc4p5eHeGjK6MgY5+doaGa6pzlGV7g1qBh4KHkXiPeW6OaKqafqZ2eXZ5e1V7jGd7boSJc3BzhJd2e0mcYot2h1RoY8dahK6EQmWEWjx7e1l2lL6UgXyBdnR4eU9zc0VreX1umqaBhld7fo2Bc6KEc5Z+hDyEcIeBWtNrfHyGe5qMhMuMe5qMhEGEbVVupcNzg3aHhIF4boeBe0mEdlptc39ofFl5Y8uUlJOGiYt2UmGEcyxjjGx4jFF7a657ZYWBnElzhp57iXtrgZN+tfOEhIOBjE2HgU1+e8tjjKNbiWCDhE15gUqBgYN7fnqGc66ce9d7iYSBj0qPcG6DnGGcT3eGa6qMZY+JlIiMl4hwc3aRdnqBlGV7eHJ2hLZjfnuRhDyEeX6MSk17g6Z+c6aUjHmEhIF4gXyBc76EZW18fGl+fkl+jCxrhoVwhDyUhIqGlL2DlI6EhJd2tdN7eYORhEGMa2Faa6pzc3Bzc4R5lIRznM+UY9eMhDycc5Z+c4p5c4iGY117pb6MgXuPrbJafnx2eYOJeXZ5e657hDyEcziElKZjfoB5eHeGj4WRhGGEe6KGeX1utTStc76EhFGJnCyMa5hzfH6HnNeceYB7hmN8gYuMhIVrczSMgYF8h3N7c5pza5hzjJqEYIRdgYuMlL2DeYRzhGGEeX1uhLaEc4iGeZ1zdl6JhrVteX6Me2iMfm5lWqJzSpqEa6pzdnmchHx2c6OMhNdrhoR5g3aHczxzeW52gV6Ejm15frGMc0Vzc4Z+l3drfniJe+9rWq5rlF1rhGGEhoVwe9OEfoh+e7pac09+c3qBY0lrhDycdnp2lJ6MiYOGhGCDc3aRlL2DlJt5doaGdnp2gYF8gWeOjF2Uc4R5c5Z+jEmMe7KEc4mEeYJ4dmyBe0mcgXiPbqJ7eYB7fmGGiYSJjICGlF1reZ2PnElzbpqJfH6Hc39oe4WEc5eJhK6EhqyJc3qBgZB8c09+hEmEaHKDhFGJc5SGiXWMUpaEa89zc6OMnCyMiXtrho+Be5qMc7KEjJ57dmN+hKGPjICGbmiEe7prdod+hGCDdnmchBx7eX6MkXZ2hGGEa657hm98jFFjY5JreYOJgY2EjHZ2a295Y3FajJ6Mc1J+YzB7e4WBjF2Uc4R5eV12gYxzg1qBeId+c9OUc5pzjFFjgY5+hFiMlIaPhoR5lIpjjIKBlNdSe7KEeX2BfrGMhIqGc65zjE2UhK6EklZ+QmWEeziMWqZza3VzdnR4foh+gYF8n3iJiZhrnKp7gYF8eId+lJ6Me1lrcIuGjKJjhmN8c66MjFF7a6prjJ6UnJ5zezyUfruRWlF7nI5zfHyGe657h4SEe8tjhBx7jFFjc09+c39ojICMeZeJeXt+YzRzjHZ2c0WEcIeBeXZ5onSXkVR+gYJ+eYFwdldzgYF7eX2BjJ6UiXuXlE1jh4SEe1mchLJjc4Z+hqZ7eXZ5bm1zlL6Ue5p7iWeGhKqUY5pzjKJjcIeBe8t7gXyBYIRdlEp4a3mGnK6EfmmMZpqEfFl5gYxzjKZuhGFjhoKGhHx2fnx2eXuMe3aBiWeGvbKMe6KGa5hzYzB7gZOBlGV7hmN8hqZlYot2Y117a6pzc6KEfId8foB5rctrfneJfJ6PcHN2hFiMc5pzjH92c0VzgY2EcElzdmCBlFVzg1GBc65zY4OBboeBcHiBeYJ4ewxzfHx5lIRzlEmEnLKEbk1zfJ6PhmN8eYBljBiEnMOEiXxwezyUcIeBe76EdsKEeX2BdnR4jGWUrXWMjGd7fkl+j4WRlEGMa5Jzho+BhDyEfnqMeXt+g3aHlE1jczClhNN7ZW18eHx8hGFjZW18iXWMjKJjhH57gYuMcIuGWjyMe4ZtjJuExmmMj4WRdntzi4GDhFFzYIRdnGGcjJp7Y0F7e4WEkbCGiX57fnSHa657a6prhBCMe3Z+SmmMjH92eHJ2hK6EY1FzexhrvbKMnI5za4OEfnd+eXuMhImBe897hLaMjN+EfG+BeIOBhF1+eZeJi4GDkXZ2eXKEgZ6Ejpd4c2GHa1V5e5KUfqZuhCx7jKp7lLZrg11+hHx2hFWUoot2nI5zgbh5mo9zvZaUe3qRbqKMfqZ2kbCGhFiM"),e=>e.charCodeAt(0)),t=new ct.R(32);t.wrapMode=33071,t.pixelFormat=6407,t.wrapMode=10497,t.hasMipmap=!0,this._passParameters.noiseTexture=new lt.g(this.renderingContext,t,e),this.techniques.precompile(at),this.techniques.precompile(Qe),this.addHandles((0,l.wB)(()=>this.isEnabled(),()=>this._enableTime=(0,c.l5)(0)))}destroy(){this._passParameters.noiseTexture=(0,s.WD)(this._passParameters.noiseTexture)}render(e){const t=e.find(({name:e})=>"normals"===e),r=t?.getTexture(),i=t?.getTexture(st.nI);if(!r||!i)return;const o=this.techniques.get(at),n=this.techniques.get(Qe);if(!o.compiled||!n.compiled)return this._enableTime=(0,c.l5)(performance.now()),void this.requestRender(1);0===this._enableTime&&(this._enableTime=(0,c.l5)(performance.now()));const s=this.renderingContext,l=this.view.qualitySettings.fadeDuration,d=this.bindParameters,h=d.camera,m=h.relativeElevation,p=(0,a.qE)((5e5-m)/2e5,0,1),f=l>0?Math.min(l,performance.now()-this._enableTime)/l:1,v=f*p;this._passParameters.normalTexture=r,this._passParameters.depthTexture=i,this._passParameters.projScale=1/h.computeScreenPixelSizeAtDist(1),this._passParameters.intensity=4*ht/(0,nt.g)(h)**6*v;const g=h.fullViewport[2],_=h.fullViewport[3],x=this.fboCache.acquire(g,_,"ssao input",2);s.bindFramebuffer(x.fbo),s.setViewport(0,0,g,_),s.bindTechnique(o,d,this._passParameters,this._drawParameters),s.screen.draw();const w=Math.round(g/dt),b=Math.round(_/dt),y=this.fboCache.acquire(w,b,"ssao blur",0);s.bindFramebuffer(y.fbo),this._drawParameters.colorTexture=x.getTexture(),(0,u.hZ)(this._drawParameters.blurSize,0,dt/_),s.bindTechnique(n,d,this._passParameters,this._drawParameters),s.setViewport(0,0,w,b),s.screen.draw(),x.release();const M=this.fboCache.acquire(w,b,We,0);return s.bindFramebuffer(M.fbo),s.setViewport(0,0,g,_),s.setClearColor(1,1,1,0),s.clear(16384),this._drawParameters.colorTexture=y.getTexture(),(0,u.hZ)(this._drawParameters.blurSize,dt/g,0),s.bindTechnique(n,d,this._passParameters,this._drawParameters),s.setViewport(0,0,w,b),s.screen.draw(),s.setViewport4fv(h.fullViewport),y.release(),f<1&&this.requestRender(2),M}};(0,n.Cg)([(0,d.MZ)()],ut.prototype,"consumes",void 0),(0,n.Cg)([(0,d.MZ)()],ut.prototype,"produces",void 0),(0,n.Cg)([(0,d.MZ)({constructOnly:!0})],ut.prototype,"isEnabled",void 0),ut=(0,n.Cg)([(0,d.$K)("esri.views.3d.webgl-engine.effects.ssao.SSAO")],ut);const ht=.5;function mt(e,t){t.receiveAmbientOcclusion?(e.uniforms.add(new o.x("ssaoTex",e=>e.ssao?.getTexture())),e.constants.add("blurSizePixelsInverse","float",1/dt),e.code.add(i.H`float evaluateAmbientOcclusionInverse() {
11
+ }`))}},11725:(e,t,r)=>{r.d(t,{i:()=>l});var i=r(24326),o=r(49255),n=r(2451),a=r(43616),s=r(65786);class l{constructor(e,t){this.id=(0,i.c)(),this.supportsEdges=!1,this._renderPriority=0,this._parameters=new t,(0,a.MB)(this._parameters,e),this.validateParameters(this._parameters)}get parameters(){return this._parameters}update(e){return!1}setParameters(e,t=!0){(0,a.MB)(this._parameters,e)&&(this.validateParameters(this._parameters),t&&this._parametersChanged())}validateParameters(e){}shouldRender(e){return this.visible&&this.isVisibleForOutput(e.output)&&(!this.parameters.isDecoration||e.bind.decorations)&&0!==(this.parameters.renderOccluded&e.renderOccludedMask)}isVisibleForOutput(e){return!0}get renderPriority(){return this._renderPriority}set renderPriority(e){e!==this._renderPriority&&(this._renderPriority=e,this._parametersChanged())}_parametersChanged(){this.repository?.materialChanged(this)}get renderOccludedFlags(){return this.visible?this.parameters.renderOccluded:0}get hasEmissions(){return!1}getConfiguration(e,t,r=new n.E){return r.output=e,r.hasEmission=t.hasEmission&&(0,o._o)(e),r.hasHighlightMixTexture=8===e&&null!=t.highlightMixTexture,r}}s.Y},12791:(e,t,r)=>{r.d(t,{x:()=>o});var i=r(74333);class o extends i.n{constructor(e,t){super(e,"sampler2D",0,(r,i)=>r.bindTexture(e,t(i)))}}},13840:(e,t,r)=>{r.d(t,{r:()=>i});class i{constructor(e,t){this._module=e,this._load=t}get(){return this._module}async reload(){return this._module=await this._load(),this._module}}},14113:(e,t,r)=>{r.d(t,{N5:()=>s});var i=r(49186),o=(r(44208),r(53966));const n=()=>o.A.getLogger("esri.views.3d.webgl-engine.core.shaderModules.shaderBuilder");class a{constructor(){this._includedModules=new Map}include(e,t){this._includedModules.has(e)?this._includedModules.get(e):(this._includedModules.set(e,t),e(this.builder,t))}}class s extends a{constructor(){super(...arguments),this.vertex=new u,this.fragment=new u,this.attributes=new h,this.varyings=new m,this.outputs=new p}get fragmentUniforms(){return this.fragment.uniforms.entries}get attributeNames(){return this.attributes.names}get builder(){return this}generate(e,t=!1){const r=this.attributes.generateSource(e),i=this.varyings.generateSource(e),o="vertex"===e?this.vertex:this.fragment,n=o.uniforms.generateSource(),a=o.code.generateSource(),s=o.main.generateSource(t),l=this.debugName?`// ${this.debugName}\n`:"",c="vertex"===e?g:v,d=o.constants.generateSource(),u=this.outputs.generateSource(e);return`#version 300 es\n${l}\n${c}\n${d.join("\n")}\n${n.join("\n")}\n${r.join("\n")}\n${i.join("\n")}\n${u.join("\n")}\n${a.join("\n")}\n${s.join("\n")}`}generateBind(e){const t=new Map;this.vertex.uniforms.entries.forEach(e=>{const r=e.bind[0];r&&t.set(e.name,r)}),this.fragment.uniforms.entries.forEach(e=>{const r=e.bind[0];r&&t.set(e.name,r)});const r=Array.from(t.values()),i=r.length;return t=>{for(let o=0;o<i;++o)r[o](e,t)}}generateBindPass(e){const t=new Map;this.vertex.uniforms.entries.forEach(e=>{const r=e.bind[1];r&&t.set(e.name,r)}),this.fragment.uniforms.entries.forEach(e=>{const r=e.bind[1];r&&t.set(e.name,r)});const r=Array.from(t.values()),i=r.length;return(t,o)=>{for(let n=0;n<i;++n)r[n](e,t,o)}}generateBindDraw(e){const t=new Map;this.vertex.uniforms.entries.forEach(e=>{const r=e.bind[2];r&&t.set(e.name,r)}),this.fragment.uniforms.entries.forEach(e=>{const r=e.bind[2];r&&t.set(e.name,r)});const r=Array.from(t.values()),i=r.length;return(t,o,n)=>{for(let a=0;a<i;++a)r[a](e,n,t,o)}}}class l{constructor(e){this._stage=e,this._entries=new Map}add(...e){for(const t of e)this._add(t);return this._stage}get(e){return this._entries.get(e)}_add(e){if(null!=e){if(this._entries.has(e.name)&&!this._entries.get(e.name).equals(e))throw new i.A("shaderbuilder:duplicate-uniform",`Duplicate uniform name ${e.name} for different uniform type`);this._entries.set(e.name,e)}else n().error(`Trying to add null Uniform from ${(new Error).stack}.`)}generateSource(){return Array.from(this._entries.values()).map(({name:e,arraySize:t,type:r})=>null!=t?`uniform ${r} ${e}[${t}];`:`uniform ${r} ${e};`)}get entries(){return Array.from(this._entries.values())}}class c{constructor(e){this._stage=e,this._bodies=new Array}add(e){return this._bodies.push(e),this._stage}generateSource(e){if(this._bodies.length>0)return[`void main() {\n ${this._bodies.join("\n")||""} \n}`];if(e)throw new i.A("shaderbuilder:missing-main","Shader does not contain main function body.");return[]}}class d{constructor(e){this._stage=e,this._entries=new Array}add(e){return this._entries.push(e),this._stage}generateSource(){return this._entries}}class u extends a{constructor(){super(...arguments),this.uniforms=new l(this),this.main=new c(this),this.code=new d(this),this.constants=new f(this)}get builder(){return this}}class h{constructor(){this._entries=new Array}add(e,t){this._entries.push([e,t])}generateSource(e){return"fragment"===e?[]:this._entries.map(e=>`in ${e[1]} ${e[0]};`)}get names(){return this._entries.map(([e])=>e)}}class m{constructor(){this._entries=new Map}add(e,t,r){this._entries.has(e)?n().warn(`Ignoring duplicate varying ${t} ${e}`):this._entries.set(e,{type:t,invariant:r?.invariant??!1})}generateSource(e){const t=new Array;return this._entries.forEach((r,i)=>t.push((r.invariant&&"vertex"===e?"invariant ":"")+("int"===r.type?"flat ":"")+("vertex"===e?"out":"in")+` ${r.type} ${i};`)),t}}class p{constructor(){this._entries=new Map}add(e,t,r=0){const i=this._entries.get(r);i?.name!==e||i?.type!==t?this._entries.set(r,{name:e,type:t}):n().warn(`Fragment shader output location ${r} occupied`)}static{this.DEFAULT_TYPE="vec4"}static{this.DEFAULT_NAME="fragColor"}generateSource(e){if("vertex"===e)return[];0===this._entries.size&&this._entries.set(0,{name:p.DEFAULT_NAME,type:p.DEFAULT_TYPE});const t=new Array;return this._entries.forEach((e,r)=>t.push(`layout(location = ${r}) out ${e.type} ${e.name};`)),t}}class f{constructor(e){this._stage=e,this._entries=new Set}add(e,t,r){let i="ERROR_CONSTRUCTOR_STRING";switch(t){case"float":i=f._numberToFloatStr(r);break;case"int":i=f._numberToIntStr(r);break;case"bool":i=r.toString();break;case"vec2":i=`vec2(${f._numberToFloatStr(r[0])}, ${f._numberToFloatStr(r[1])})`;break;case"vec3":i=`vec3(${f._numberToFloatStr(r[0])}, ${f._numberToFloatStr(r[1])}, ${f._numberToFloatStr(r[2])})`;break;case"vec4":i=`vec4(${f._numberToFloatStr(r[0])}, ${f._numberToFloatStr(r[1])}, ${f._numberToFloatStr(r[2])}, ${f._numberToFloatStr(r[3])})`;break;case"ivec2":i=`ivec2(${f._numberToIntStr(r[0])}, ${f._numberToIntStr(r[1])})`;break;case"ivec3":i=`ivec3(${f._numberToIntStr(r[0])}, ${f._numberToIntStr(r[1])}, ${f._numberToIntStr(r[2])})`;break;case"ivec4":i=`ivec4(${f._numberToIntStr(r[0])}, ${f._numberToIntStr(r[1])}, ${f._numberToIntStr(r[2])}, ${f._numberToIntStr(r[3])})`;break;case"uvec2":i=`uvec2(${f._numberToIntStr(r[0])}, ${f._numberToIntStr(r[1])})`;break;case"uvec3":i=`uvec3(${f._numberToIntStr(r[0])}, ${f._numberToIntStr(r[1])}, ${f._numberToIntStr(r[2])})`;break;case"uvec4":i=`uvec4(${f._numberToIntStr(r[0])}, ${f._numberToIntStr(r[1])}, ${f._numberToIntStr(r[2])}, ${f._numberToIntStr(r[3])})`;break;case"mat2":case"mat3":case"mat4":i=`${t}(${Array.prototype.map.call(r,e=>f._numberToFloatStr(e)).join(", ")})`}return this._entries.add(`const ${t} ${e} = ${i};`),this._stage}static _numberToIntStr(e){return e.toFixed(0)}static _numberToFloatStr(e){return Number.isInteger(e)?e.toFixed(1):e.toString()}generateSource(){return Array.from(this._entries)}}const v="#ifdef GL_FRAGMENT_PRECISION_HIGH\n precision highp float;\n precision highp int;\n precision highp sampler2D;\n precision highp usampler2D;\n precision highp sampler2DArray;\n precision highp sampler2DShadow;\n#else\n precision mediump float;\n precision mediump int;\n precision mediump sampler2D;\n precision mediump usampler2D;\n precision mediump sampler2DArray;\n precision mediump sampler2DShadow;\n#endif",g="precision highp float;\n precision highp sampler2D;\n precision highp usampler2D;\n precision highp sampler2DArray;\n precision highp sampler2DShadow;\n\n\n invariant gl_Position;\n "},14314:(e,t,r)=>{r.d(t,{I:()=>o});var i=r(74333);class o extends i.n{constructor(e,t,r){super(e,"vec4",0,(i,o)=>i.setUniform4fv(e,t(o),r))}}},14527:(e,t,r)=>{r.d(t,{n:()=>mt});var i=r(31821),o=r(12791),n=r(31635),a=r(34727),s=r(97768),l=r(36708),c=r(78659),d=r(91429),u=r(37585),h=r(69540);let m=class extends h.Pw{constructor(e){super(e),this.row=0,this.column=0,this.rows=1,this.columns=1}equals(e){return null!=e&&this.row===e.row&&this.rows===e.rows&&this.column===e.column&&this.columns===e.columns}};(0,n.Cg)([(0,d.MZ)({type:Number,nonNullable:!0,json:{read:!1,write:!1}})],m.prototype,"row",void 0),(0,n.Cg)([(0,d.MZ)({type:Number,nonNullable:!0,json:{read:!1,write:!1}})],m.prototype,"column",void 0),(0,n.Cg)([(0,d.MZ)({type:Number,nonNullable:!0,json:{read:!1,write:!1}})],m.prototype,"rows",void 0),(0,n.Cg)([(0,d.MZ)({type:Number,nonNullable:!0,json:{read:!1,write:!1}})],m.prototype,"columns",void 0),m=(0,n.Cg)([(0,d.$K)("esri.CameraLayout")],m);const p=m;var f=r(69052),v=r(25482),g=r(56507),_=r(86738),x=r(43937),w=r(36005);let b=class extends((0,h.OU)(v.o)){constructor(...e){super(...e),this.position=new _.A([0,0,0]),this.heading=0,this.tilt=0,this.fov=55,this.layout=new p}normalizeCtorArgs(e,t,r,i){if(e&&"object"==typeof e&&("x"in e||Array.isArray(e))){const o={position:e};return null!=t&&(o.heading=t),null!=r&&(o.tilt=r),null!=i&&(o.fov=i),o}return e}writePosition(e,t,r,i){const o=e.clone();o.x=(0,g.GB)(e.x||0),o.y=(0,g.GB)(e.y||0),o.z=e.hasZ?(0,g.GB)(e.z||0):e.z,t[r]=o.write({},i)}readPosition(e,t){const r=new _.A;return r.read(e,t),r.x=(0,g.GB)(r.x||0),r.y=(0,g.GB)(r.y||0),r.z=r.hasZ?(0,g.GB)(r.z||0):r.z,r}equals(e){return null!=e&&this.tilt===e.tilt&&this.heading===e.heading&&this.fov===e.fov&&this.position.equals(e.position)&&this.layout.equals(e.layout)}};(0,n.Cg)([(0,d.MZ)({type:_.A,json:{write:{isRequired:!0}}})],b.prototype,"position",void 0),(0,n.Cg)([(0,x.K)("position")],b.prototype,"writePosition",null),(0,n.Cg)([(0,w.w)("position")],b.prototype,"readPosition",null),(0,n.Cg)([(0,d.MZ)({type:Number,nonNullable:!0,json:{write:{isRequired:!0}}}),(0,d.wg)(e=>f.ie.normalize((0,g.GB)(e)))],b.prototype,"heading",void 0),(0,n.Cg)([(0,d.MZ)({type:Number,nonNullable:!0,json:{write:{isRequired:!0}}}),(0,d.wg)(e=>(0,a.qE)((0,g.GB)(e),-180,180))],b.prototype,"tilt",void 0),(0,n.Cg)([(0,d.MZ)({type:Number,nonNullable:!0,json:{default:55,write:!0}}),(0,d.wg)(e=>(0,a.qE)((0,g.GB)(e,55),1,170))],b.prototype,"fov",void 0),(0,n.Cg)([(0,d.MZ)({type:p,nonNullable:!0,json:{read:!1,write:!1}})],b.prototype,"layout",void 0),b=(0,n.Cg)([(0,d.$K)("esri.Camera")],b);var y=r(9093),M=r(38954),T=r(51850),C=r(16930),S=(r(48353),r(9762),r(65806)),E=r(27993),A=r(73941),I=(r(19419),r(69622)),R=r(53966),F=r(90629),O=r(58083),P=r(48163),D=r(87317),H=r(91829),N=r(82919),z=r(71351),L=r(44280);const B=(0,T.vt)(),V=(0,T.vt)();var G;let U=G=class extends I.A{constructor(e){super(e),this._ray=(0,z.vt)(),this._viewport=(0,H.fA)(0,0,1,1),this._padding=(0,H.fA)(0,0,0,0),this._fov=55/180*Math.PI,this._nearFar=(0,P.fA)(1,1e3),this._viewDirty=!0,this._viewMatrix=(0,y.vt)(),this._viewProjectionDirty=!0,this._viewProjectionMatrix=(0,y.vt)(),this._viewInverseTransposeMatrixDirty=!0,this._viewInverseTransposeMatrix=(0,y.vt)(),this._frustumDirty=!0,this._frustum=(0,N.vt)(),this._fullViewport=(0,H.vt)(),this._pixelRatio=1,this.row=0,this.column=0,this._rows=1,this._columns=1,this._center=(0,T.vt)(),this._up=(0,T.vt)(),this.relativeElevation=0}get pixelRatio(){return this._pixelRatio}set pixelRatio(e){this._pixelRatio=e>0?e:1}get rows(){return this._rows}set rows(e){this._rows=Math.max(1,e)}get columns(){return this._columns}set columns(e){this._columns=Math.max(1,e)}get eye(){return this._ray.origin}set eye(e){this._compareAndSetView(e,this._ray.origin)}get center(){return this._center}set center(e){this._compareAndSetView(e,this._center,"_center")}get ray(){return(0,M.e)(this._ray.direction,this.center,this.eye),this._ray}get up(){return this._up}set up(e){this._compareAndSetView(e,this._up,"_up")}get viewMatrix(){return this._ensureViewClean(),this._viewMatrix}set viewMatrix(e){(0,O.C)(this._viewMatrix,e),this.notifyChange("_viewMatrix"),this._viewDirty=!1,this._viewInverseTransposeMatrixDirty=!0,this._viewProjectionDirty=!0,this._frustumDirty=!0}get viewForward(){return this._ensureViewClean(),(0,M.h)((0,T.vt)(),-this._viewMatrix[2],-this._viewMatrix[6],-this._viewMatrix[10])}get viewUp(){return this._ensureViewClean(),(0,M.h)((0,T.vt)(),this._viewMatrix[1],this._viewMatrix[5],this._viewMatrix[9])}get viewRight(){return this._ensureViewClean(),(0,M.h)((0,T.vt)(),this._viewMatrix[0],this._viewMatrix[4],this._viewMatrix[8])}get nearFar(){return this._nearFar}get near(){return this._nearFar[0]}set near(e){this._nearFar[0]!==e&&(this._nearFar[0]=e,this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_nearFar"))}get far(){return this._nearFar[1]}set far(e){this._nearFar[1]!==e&&(this._nearFar[1]=e,this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_nearFar"))}get viewport(){return this._viewport}set viewport(e){this.x=e[0],this.y=e[1],this.width=e[2],this.height=e[3]}get screenViewport(){if(1===this.pixelRatio)return this._viewport;const e=(0,D.s)((0,H.vt)(),this._viewport,1/this.pixelRatio),t=this._get("screenViewport");return t&&(0,D.e)(e,t)?t:e}get screenPadding(){if(1===this.pixelRatio)return this._padding;const e=(0,D.s)((0,H.vt)(),this._padding,1/this.pixelRatio),t=this._get("screenPadding");return t&&(0,D.e)(e,t)?t:e}get x(){return this._viewport[0]}set x(e){e+=this._padding[3],this._viewport[0]!==e&&(this._viewport[0]=e,this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_viewport"))}get y(){return this._viewport[1]}set y(e){e+=this._padding[2],this._viewport[1]!==e&&(this._viewport[1]=e,this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_viewport"))}get width(){return this._viewport[2]}set width(e){this._viewport[2]!==e&&(this._viewport[2]=e,this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_viewport"))}get height(){return this._viewport[3]}set height(e){this._viewport[3]!==e&&(this._viewport[3]=e,this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_viewport"))}get fullWidth(){return this._viewport[2]+this._padding[1]+this._padding[3]}set fullWidth(e){this.width=e-(this._padding[1]+this._padding[3])}get fullHeight(){return this._viewport[3]+this._padding[0]+this._padding[2]}set fullHeight(e){this.height=e-(this._padding[0]+this._padding[2])}get fullViewport(){return this._fullViewport[0]=this._viewport[0]-this._padding[3],this._fullViewport[1]=this._viewport[1]-this._padding[2],this._fullViewport[2]=this.fullWidth,this._fullViewport[3]=this.fullHeight,this._fullViewport}get _aspect(){return this.width/this.height}get padding(){return this._padding}set padding(e){(0,D.a)(this._padding,e)||(this._viewport[0]+=e[3]-this._padding[3],this._viewport[1]+=e[2]-this._padding[2],this._viewport[2]-=e[1]+e[3]-(this._padding[1]+this._padding[3]),this._viewport[3]-=e[0]+e[2]-(this._padding[0]+this._padding[2]),(0,D.f)(this._padding,e),this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_padding"),this.notifyChange("_viewport"))}get viewProjectionMatrix(){return this._viewProjectionDirty&&((0,O.lw)(this._viewProjectionMatrix,this.projectionMatrix,this.viewMatrix),this._viewProjectionDirty=!1),this._viewProjectionMatrix}get projectionMatrix(){return this._projectionMatrixInternal}get inverseProjectionMatrix(){return(0,O.B8)((0,y.vt)(),this.projectionMatrix)||this._get("inverseProjectionMatrix")||(0,y.vt)()}get fov(){return this._fov}set fov(e){this._fov=e,this._viewProjectionDirty=!0,this._frustumDirty=!0}get fovX(){return e=this._fov,t=this.width,r=this.height,2*Math.atan(t*Math.tan(.5*e)/Math.sqrt(t*t+r*r));var e,t,r}set fovX(e){this._fov=function(e,t,r){return 2*Math.atan(Math.sqrt(t*t+r*r)*Math.tan(.5*e)/t)}(e,this.width,this.height),this._viewProjectionDirty=!0,this._frustumDirty=!0}get fovY(){return e=this._fov,t=this.width,r=this.height,2*Math.atan(r*Math.tan(.5*e)/Math.sqrt(t*t+r*r));var e,t,r}set fovY(e){this._fov=function(e,t,r){return 2*Math.atan(Math.sqrt(t*t+r*r)*Math.tan(.5*e)/r)}(e,this.width,this.height),this._viewProjectionDirty=!0,this._frustumDirty=!0}get distance(){return(0,M.D)(this.center,this.eye)}get frustum(){return this._recomputeFrustum(),this._frustum}get viewInverseTransposeMatrix(){return(this._viewInverseTransposeMatrixDirty||this._viewDirty)&&((0,O.B8)(this._viewInverseTransposeMatrix,this.viewMatrix),(0,O.mg)(this._viewInverseTransposeMatrix,this._viewInverseTransposeMatrix),this._viewInverseTransposeMatrixDirty=!1),this._viewInverseTransposeMatrix}depthNDCToWorld(e){const{near:t,far:r}=this;return 2*t*r/(r+t-e*(r-t))}get perRenderPixelRatio(){return Math.tan(this.fovX/2)/(this.width/2)}get perScreenPixelRatio(){return this.perRenderPixelRatio*this.pixelRatio}get aboveGround(){return null!=this.relativeElevation&&this.relativeElevation>=0}get _projectionMatrixInternal(){const e=this.width,t=this.height,r=this.near*Math.tan(this.fovY/2)*2,i=r*this._aspect,o=r/this.rows,n=i/this.columns,a=-i/2+this.column*n,s=a+n,l=-r/2+this.row*o,c=l+o,d=(0,O.$h)((0,y.vt)(),a*(1+2*this._padding[3]/e),s*(1+2*this._padding[1]/e),l*(1+2*this._padding[2]/t),c*(1+2*this._padding[0]/t),this.near,this.far),u=this._get("projectionMatrix");return u&&(0,O.aI)(u,d)?u:d}copyFrom(e){(0,M.d)(this._ray.origin,e.eye),this.center=e.center,this.up=e.up,(0,D.f)(this._viewport,e.viewport),this.notifyChange("_viewport"),(0,D.f)(this._padding,e.padding),this.notifyChange("_padding"),(0,u.C)(this._nearFar,e.nearFar),this.notifyChange("_nearFar"),this._fov=e.fov,this.row=e.row,this.column=e.column,this.rows=e.rows,this.columns=e.columns,this.relativeElevation=e.relativeElevation;const t=e;return this._viewDirty=t._viewDirty,this._viewDirty||((0,O.C)(this._viewMatrix,e.viewMatrix),this.notifyChange("_viewMatrix")),this._viewProjectionDirty=!0,this._frustumDirty=t._frustumDirty,this._frustumDirty||((0,N.C)(this._frustum,e.frustum),this._frustumDirty=!1),t._viewInverseTransposeMatrixDirty?this._viewInverseTransposeMatrixDirty=!0:((0,O.C)(this._viewInverseTransposeMatrix,e.viewInverseTransposeMatrix),this._viewInverseTransposeMatrixDirty=!1),(0,D.f)(this._fullViewport,e.fullViewport),this.pixelRatio=e.pixelRatio,this}copyViewFrom(e){this.eye=e.eye,this.center=e.center,this.up=e.up,this.fov=e.fov}clone(){return(new G).copyFrom(this)}equals(e){return(0,M.m)(this.eye,e.eye)&&(0,M.m)(this.center,e.center)&&(0,M.m)(this.up,e.up)&&(0,D.a)(this._viewport,e.viewport)&&(0,D.a)(this._padding,e.padding)&&(0,u.t2)(this.nearFar,e.nearFar)&&this._fov===e.fov&&this.pixelRatio===e.pixelRatio&&this.relativeElevation===e.relativeElevation&&this.row===e.row&&this.column===e.column&&this.rows===e.rows&&this.columns===e.columns}almostEquals(e){const t=Math.max(1,1/this.pixelRatio,1/e.pixelRatio);if(Math.abs(e.fov-this._fov)>=.001||(0,D.g)(e.screenPadding,this.screenPadding)>=t||(0,D.g)(this.screenViewport,e.screenViewport)>=t||this.row!==e.row||this.column!==e.column||this.rows!==e.rows||this.columns!==e.columns)return!1;(0,M.a)(k,e.eye,e.center),(0,M.a)($,this.eye,this.center);const r=(0,M.g)(k,$),i=(0,M.w)(k),o=(0,M.w)($),n=5e-4;return r*r>=(1-1e-10)*i*o&&(0,M.v)(e.eye,this.eye)<Math.max(i,o)*n*n}computeRenderPixelSizeAt(e){return this.computeRenderPixelSizeAtDist(this._viewDirectionDistance(e))}computeRenderPixelSizeAtDist(e){return e*this.perRenderPixelRatio}computeScreenPixelSizeAt(e){return this.computeScreenPixelSizeAtDist(this._viewDirectionDistance(e))}_viewDirectionDistance(e){return Math.abs((0,L.gr)(this.viewForward,(0,M.e)(k,e,this.eye)))}computeScreenPixelSizeAtDist(e){return e*this.perScreenPixelRatio}computeDistanceFromRadius(e,t){return e/Math.tan(Math.min(this.fovX,this.fovY)/(2*(t||1)))}getScreenCenter(e=(0,F.gs)()){return e[0]=(this.padding[3]+this.width/2)/this.pixelRatio,e[1]=(this.padding[0]+this.height/2)/this.pixelRatio,e}getRenderCenter(e,t=.5,r=.5){return e[0]=this.padding[3]+this.width*t,e[1]=this.padding[2]+this.height*r,e[2]=.5,e}setGLViewport(e){const t=this.viewport,r=this.padding;e.setViewport(t[0]-r[3],t[1]-r[2],t[2]+r[1]+r[3],t[3]+r[0]+r[2])}applyProjection(e,t){e!==j&&(0,M.d)(j,e),j[3]=1,(0,D.t)(j,j,this.projectionMatrix);const r=Math.abs(j[3]);(0,M.j)(j,j,1/r);const i=this.fullViewport;t[0]=(0,a.Cc)(0,i[0]+i[2],.5+.5*j[0]),t[1]=(0,a.Cc)(0,i[1]+i[3],.5+.5*j[1]),t[2]=.5*(j[2]+1),t[3]=r}unapplyProjection(e,t){const r=this.fullViewport;j[0]=(e[0]/(r[0]+r[2])*2-1)*e[3],j[1]=(e[1]/(r[1]+r[3])*2-1)*e[3],j[2]=(2*e[2]-1)*e[3],j[3]=e[3],null!=this.inverseProjectionMatrix&&((0,D.t)(j,j,this.inverseProjectionMatrix),t[0]=j[0],t[1]=j[1],t[2]=j[2])}projectToScreen(e,t){return this.projectToRenderScreen(e,Z),this.renderToScreen(Z,t),t}projectToRenderScreen(e,t){if(j[0]=e[0],j[1]=e[1],j[2]=e[2],j[3]=1,(0,D.t)(j,j,this.viewProjectionMatrix),0===j[3])return null;const r=j;(0,M.j)(r,r,1/Math.abs(j[3]));const i=this.fullViewport,o=(0,a.Cc)(0,i[0]+i[2],.5+.5*r[0]),n=(0,a.Cc)(0,i[1]+i[3],.5+.5*r[1]);return"x"in t?(t.x=o,t.y=n):(t[0]=o,t[1]=n,t.length>2&&(t[2]=.5*(r[2]+1))),t}unprojectFromScreen(e,t){return this.unprojectFromRenderScreen(this.screenToRender(e,Z),t)}unprojectFromRenderScreen(e,t){if((0,O.lw)(W,this.projectionMatrix,this.viewMatrix),!(0,O.B8)(W,W))return null;const r=this.fullViewport;return j[0]=2*(e[0]-r[0])/r[2]-1,j[1]=2*(e[1]-r[1])/r[3]-1,j[2]=2*e[2]-1,j[3]=1,(0,D.t)(j,j,W),0===j[3]?null:(t[0]=j[0]/j[3],t[1]=j[1]/j[3],t[2]=j[2]/j[3],t)}constrainWindowSize(e,t,r,i){const o=e*this.pixelRatio,n=t*this.pixelRatio,a=Math.max(o-r/2,0),s=Math.max(this.fullHeight-n-i/2,0),l=-Math.min(o-r/2,0),c=-Math.min(this.fullHeight-n-i/2,0),d=r-l- -Math.min(this.fullWidth-o-r/2,0),u=i-c- -Math.min(n-i/2,0);return[Math.round(a),Math.round(s),Math.round(d),Math.round(u)]}computeUp(e){1===e?this._computeUpGlobal():this._computeUpLocal()}screenToRender(e,t){const r=e[0]*this.pixelRatio,i=this.fullHeight-e[1]*this.pixelRatio;return t[0]=r,t[1]=i,t}renderToScreen(e,t){const r=e[0]/this.pixelRatio,i=(this.fullHeight-e[1])/this.pixelRatio;t[0]=r,t[1]=i}sphereFrustumCoverage(e,t){const{center:r,eye:i,distance:o,fovY:n}=this,s=Math.abs(Math.PI/2-function(e,t,r){e.worldUpAtPosition(t,B),(0,M.e)(V,r,t);const i=(0,M.b)(V);return 0===i?0:(0,a.XM)((0,M.g)(V,B)/i)}(t,r,i));return e.frustumCoverage(s,o,n)}_computeUpGlobal(){(0,M.e)(k,this.center,this.eye);const e=(0,M.b)(this.center);e<1?(0,M.m)(this._up,T.Cb)&&((0,M.d)(this._up,T.Cb),this._markViewDirty(),this.notifyChange("_up")):Math.abs((0,M.g)(k,this.center))>.9999*(0,M.b)(k)*e||((0,M.f)($,k,this.center),(0,M.f)($,$,k),(0,M.n)($,$),(0,M.m)(this._up,$)||((0,M.d)(this._up,$),this.notifyChange("_up"),this._markViewDirty()))}_computeUpLocal(){(0,M.E)(k,this.eye,this.center),Math.abs(k[2])<=.9999&&((0,M.j)(k,k,k[2]),(0,M.h)(k,-k[0],-k[1],1-k[2]),(0,M.n)(k,k),(0,M.m)(this._up,k)||((0,M.d)(this._up,k),this.notifyChange("_up"),this._markViewDirty()))}_compareAndSetView(e,t,r=""){"number"==typeof e[0]&&isFinite(e[0])&&"number"==typeof e[1]&&isFinite(e[1])&&"number"==typeof e[2]&&isFinite(e[2])?(0,M.m)(e,t)||((0,M.d)(t,e),this._markViewDirty(),r.length&&this.notifyChange(r)):R.A.getLogger("esri.views.3d.webgl-engine.lib.RenderCamera").warn("RenderCamera vector contains invalid number, ignoring value")}_markViewDirty(){this._viewDirty=!0,this._frustumDirty=!0,this._viewProjectionDirty=!0}_recomputeFrustum(){this._frustumDirty&&((0,N.ui)(this.viewMatrix,this.projectionMatrix,this._frustum),this._frustumDirty=!1)}_ensureViewClean(){this._viewDirty&&((0,O.t5)(this._viewMatrix,this.eye,this.center,this.up),this.notifyChange("_viewMatrix"),this._viewDirty=!1,this._viewInverseTransposeMatrixDirty=!0)}};(0,n.Cg)([(0,d.MZ)()],U.prototype,"_viewport",void 0),(0,n.Cg)([(0,d.MZ)()],U.prototype,"_padding",void 0),(0,n.Cg)([(0,d.MZ)()],U.prototype,"_fov",void 0),(0,n.Cg)([(0,d.MZ)()],U.prototype,"_nearFar",void 0),(0,n.Cg)([(0,d.MZ)()],U.prototype,"_viewDirty",void 0),(0,n.Cg)([(0,d.MZ)()],U.prototype,"_viewMatrix",void 0),(0,n.Cg)([(0,d.MZ)()],U.prototype,"_pixelRatio",void 0),(0,n.Cg)([(0,d.MZ)()],U.prototype,"pixelRatio",null),(0,n.Cg)([(0,d.MZ)()],U.prototype,"row",void 0),(0,n.Cg)([(0,d.MZ)()],U.prototype,"column",void 0),(0,n.Cg)([(0,d.MZ)()],U.prototype,"_rows",void 0),(0,n.Cg)([(0,d.MZ)()],U.prototype,"rows",null),(0,n.Cg)([(0,d.MZ)()],U.prototype,"_columns",void 0),(0,n.Cg)([(0,d.MZ)()],U.prototype,"columns",null),(0,n.Cg)([(0,d.MZ)()],U.prototype,"eye",null),(0,n.Cg)([(0,d.MZ)()],U.prototype,"center",null),(0,n.Cg)([(0,d.MZ)()],U.prototype,"_center",void 0),(0,n.Cg)([(0,d.MZ)()],U.prototype,"up",null),(0,n.Cg)([(0,d.MZ)()],U.prototype,"_up",void 0),(0,n.Cg)([(0,d.MZ)()],U.prototype,"viewMatrix",null),(0,n.Cg)([(0,d.MZ)({readOnly:!0})],U.prototype,"viewForward",null),(0,n.Cg)([(0,d.MZ)({readOnly:!0})],U.prototype,"viewUp",null),(0,n.Cg)([(0,d.MZ)({readOnly:!0})],U.prototype,"viewRight",null),(0,n.Cg)([(0,d.MZ)({readOnly:!0})],U.prototype,"nearFar",null),(0,n.Cg)([(0,d.MZ)()],U.prototype,"near",null),(0,n.Cg)([(0,d.MZ)()],U.prototype,"far",null),(0,n.Cg)([(0,d.MZ)()],U.prototype,"viewport",null),(0,n.Cg)([(0,d.MZ)({readOnly:!0})],U.prototype,"screenViewport",null),(0,n.Cg)([(0,d.MZ)({readOnly:!0})],U.prototype,"screenPadding",null),(0,n.Cg)([(0,d.MZ)()],U.prototype,"x",null),(0,n.Cg)([(0,d.MZ)()],U.prototype,"y",null),(0,n.Cg)([(0,d.MZ)()],U.prototype,"width",null),(0,n.Cg)([(0,d.MZ)()],U.prototype,"height",null),(0,n.Cg)([(0,d.MZ)()],U.prototype,"fullWidth",null),(0,n.Cg)([(0,d.MZ)()],U.prototype,"fullHeight",null),(0,n.Cg)([(0,d.MZ)({readOnly:!0})],U.prototype,"_aspect",null),(0,n.Cg)([(0,d.MZ)()],U.prototype,"padding",null),(0,n.Cg)([(0,d.MZ)({readOnly:!0})],U.prototype,"projectionMatrix",null),(0,n.Cg)([(0,d.MZ)({readOnly:!0})],U.prototype,"inverseProjectionMatrix",null),(0,n.Cg)([(0,d.MZ)()],U.prototype,"fov",null),(0,n.Cg)([(0,d.MZ)()],U.prototype,"fovX",null),(0,n.Cg)([(0,d.MZ)()],U.prototype,"fovY",null),(0,n.Cg)([(0,d.MZ)()],U.prototype,"viewInverseTransposeMatrix",null),(0,n.Cg)([(0,d.MZ)({readOnly:!0})],U.prototype,"_projectionMatrixInternal",null),(0,n.Cg)([(0,d.MZ)()],U.prototype,"relativeElevation",void 0),U=G=(0,n.Cg)([(0,d.$K)("esri.views.3d.webgl.RenderCamera")],U);const j=(0,H.vt)(),W=(0,y.vt)(),k=(0,T.vt)(),$=(0,T.vt)(),Z=(0,F.r_)();class q{constructor(e=1/0,t=-1/0){this.near=e,this.far=t}set(e,t){this.near=e,this.far=t}union(e){return null!=e&&(this.near=Math.min(this.near,e.near),this.far=Math.max(this.far,e.far)),this}within(e){return this.near<=e&&e<=this.far}equals(e){return this.near===e.near&&this.far===e.far}static{this.Zero=new q(0,0)}static{this.Infinite=new q}}r(49718),r(6867),r(16396),(0,T.vt)(),(0,T.vt)(),(0,T.vt)(),new WeakMap;var Y=r(5443),X=r(39829),K=r(95108);function J(e,t,r,i){const o=function(e,t){const r=0===t||2===t?0:1,i=e[t],o=0===t||1===t?1:-1,n=0===r?1:0;return(e,t,a)=>{if(t[r]<i&&a[r]<i)return 1===o?0:1;if(t[r]>i&&a[r]>i)return 1===o?1:0;const s=(a[n]-t[n])/(a[r]-t[r]),l=t[n]+s*(i-t[r]);return e[r]=i,e[n]=l,(t[r]<i?1:-1)*o>0?2:3}}(r,i);if(e.length=0,t.length){1===o(ee,t[0],t[0])&&Q(e,t[0]);for(let r=0;r<t.length;r++){const i=t[r===t.length-1?0:r+1];switch(o(ee,t[r],i)){case 1:Q(e,i);break;case 3:Q(e,(0,P.o8)(ee));break;case 2:Q(e,(0,P.o8)(ee)),Q(e,i)}}}}function Q(e,t){0!==e.length&&(0,u.aI)(e.at(-1),t)||e.push(t)}const ee=(0,P.vt)();var te=r(11964),re=r(27921);const ie=(0,T.vt)(),oe=(0,T.vt)();function ne(){return{direction:(0,T.vt)(),up:(0,T.vt)()}}function ae(e,t,r,i,o){let n=(0,M.n)(ie,e),s=(0,M.g)(n,i);const l=s>0;s=Math.abs(s),s>.99&&(s=Math.abs((0,M.g)(t,i)),s<.99?((0,M.d)(n,t),l&&(0,M.j)(n,n,-1)):n=null);let c=0;if(n){(0,M.j)(oe,i,(0,M.g)(i,n)),(0,M.e)(n,n,oe);const e=(0,M.g)(n,o)/((0,M.b)(n)*(0,M.b)(o));(0,M.f)(oe,n,o),c=((0,M.g)(oe,i)>0?1:-1)*(0,a.KJ)((0,a.XM)(e))}const d=(0,a.KJ)((0,a.XM)(-(0,M.g)(i,e)/(0,M.b)(e)));return r?(r.heading=c,r.tilt=d,r):{heading:c,tilt:d}}function se(e,t,r,i){(0,M.e)(le,r,t),(0,re.T7)(i,(0,te.LV)(t,le),e)||e===r||(0,M.d)(e,r)}const le=(0,T.vt)(),ce=(0,T.fA)(0,1,0),de=(0,T.fA)(0,0,1),ue=(0,y.vt)(),he=(0,T.vt)(),me=(0,T.vt)();function pe(e,t,r,i=ne()){const{direction:o,up:n}=i;return(0,O.N9)(ue,-(0,a.kU)(t)),(0,O.eL)(ue,ue,(0,a.kU)(r)),(0,M.p)(o,de,ue),(0,M.j)(o,o,-1),(0,M.p)(n,ce,ue),i}function fe(e,t,r,i,o){const n=t.lines[11].direction,a=(o-r.getAltitude(i))/n[2];(0,M.c)(e,i,n,a)}const ve=(0,T.vt)();Object.freeze(Object.defineProperty({__proto__:null,directionToHeadingTilt:function(e,t,r,i){return ae(t,r,i,de,ce)},eyeForCenterWithHeadingTilt:function(e,t,r,i){const o=pe(0,r,i),n=(0,T.vt)();return(0,M.j)(n,o.direction,-t),(0,M.i)(n,n,e),{up:o.up,eye:n,heading:r,tilt:i}},eyeTiltToLookAtTilt:function(e){return(0,a.kU)(e)},headingTiltToDirectionUp:pe,lookAtTiltToEyeTilt:function(e){return(0,a.KJ)(e)},toArea:function(e,t){const r=e.frustum,{renderCoordsHelper:i}=e,o=i.getAltitude(t),n=e.spatialReference,a=e.state.camera.eye,s=[],l=r.planes[5];for(let e=0;e<4;e++){const t=r.lines[e];i.intersectInfiniteManifold((0,z.LV)(t.origin,t.direction),o,ve)||fe(ve,r,i,t.endpoint,o),se(ve,a,ve,l),s.push((0,P.fA)(ve[0],ve[1]))}return function(e,t,r){const i=e.map(e=>((0,M.h)(ve,e[0],e[1],0),t.fromRenderCoords(ve,ve,r),[ve[0],ve[1]]));return i.length<=2?new X.A({spatialReference:r}):(i.push(i[0].slice()),(0,K.$3)(i)||i.reverse(),new X.A({rings:[i],spatialReference:r}))}(function(e,t){const r=[],i=[];return J(r,e,t,0),J(i,r,t,1),J(r,i,t,2),J(i,r,t,3),i}(s,i.extent),i,n)},toExtent:function(e,t,r,i,o){const n=e.renderSpatialReference,a=e.spatialReference??t.spatialReference;return(0,S.g)(t,he,n),(0,S.g)(t,me,n),he[0]-=r/2,me[0]+=r/2,he[1]-=i/2,me[1]+=i/2,(0,E.F)(he,n,he,a),(0,E.F)(me,n,me,a),o?(o.xmin=he[0],o.ymin=he[1],o.xmax=me[0],o.ymax=me[1],o.spatialReference=a):o=new Y.A(he[0],he[1],me[0],me[1],a),o}},Symbol.toStringTag,{value:"Module"}));var ge=r(34304),_e=r(17136),xe=r(94008),we=r(28735);class be{get planes(){return this.frustum}get points(){return this._points}get mutablePoints(){return this._points}get direction(){return this._direction}get origin(){return this._origin}constructor(e){this.renderCoordsHelper=e,this.frustum=(0,N.vt)(),this._points=(0,N.Qy)(),this.lines=new Array(12),this._origin=(0,T.vt)(),this._direction=(0,T.vt)(),this._altitude=null;for(let e=0;e<12;e++)this.lines[e]={origin:null,direction:(0,T.vt)(),endpoint:null}}update(e){(0,N.ui)(e.viewMatrix,e.projectionMatrix,this.frustum,this._points),(0,M.d)(this._origin,e.eye),(0,M.d)(this._direction,e.viewForward),this._altitude=this.renderCoordsHelper.getAltitude(this._origin),this._updateLines()}updatePoints(e){for(let t=0;t<this._points.length;t++)(0,M.d)(this._points[t],e[t]);(0,N.DV)(this.frustum,this._points),this._updateLines()}get altitude(){return this._altitude}intersectsSphere(e){return(0,N.m7)(this.frustum,e)}intersectsRay(e){return(0,N.pw)(this.frustum,e)}intersectsLineSegment(e,t){return(0,N.ST)(this.frustum,e,t)}intersectsPoint(e){return(0,N.bU)(this.frustum,e)}_updateLines(){const e=this._points;for(let t=0;t<4;t++){const r=t+4;ye(this.lines[t],e[t],e[r]),ye(this.lines[t+4],e[t],3===t?e[0]:e[t+1]),ye(this.lines[t+8],e[r],3===t?e[4]:e[r+1])}}static{this.planePointIndices=N.c8}static{this.nearFarLineIndices=[[0,4],[1,5],[2,6],[3,7]]}}function ye(e,t,r){e.origin=t,e.endpoint=r,(0,M.E)(e.direction,t,r)}r(86211);const Me=(0,T.fA)(parseFloat(Number(5802e-9).toFixed(6)),parseFloat(Number(13558e-9).toFixed(6)),parseFloat(Number(331e-7).toFixed(6))),Te=(0,T.fA)(3*parseFloat(Number(65e-8).toFixed(6)),3*parseFloat(Number(1881e-9).toFixed(6)),3*parseFloat(Number(85e-9).toFixed(6)));(0,T.fA)(parseFloat(Number(Me[0]+Te[0]).toFixed(6)),parseFloat(Number(Me[1]+Te[1]).toFixed(6)),parseFloat(Number(Me[2]+Te[2]).toFixed(6)));(0,T.vt)(),(0,T.vt)(),new xe.iy,(0,z.vt)();var Ce=r(32728);const Se=(0,T.fA)(0,0,1),Ee=(0,M.n)((0,T.vt)(),(0,T.fA)(1,1,1)),Ae=(0,y.vt)(),Ie=(0,T.vt)(),Re=(0,T.vt)();function Fe(e,t,r,i=ne()){(0,M.f)(Ie,e,Se),0===(0,M.g)(Ie,Ie)&&(0,M.f)(Ie,e,Ee),(0,O.$0)(Ae,-(0,a.kU)(t),e),(0,O.e$)(Ae,Ae,-(0,a.kU)(r),Ie);const{up:o,direction:n}=i;return(0,M.f)(o,Ie,e),(0,M.n)(o,o),(0,M.p)(o,o,Ae),(0,M.n)(n,e),(0,M.q)(n,n),(0,M.p)(n,n,Ae),i}function Oe(e){const t=e[1];e[1]=-e[2],e[2]=t}function Pe(e,t){const r=Fe(t,e.heading,e.tilt);return e.up=r.up,e}function De(e,t){const r=[],i=[],o=(0,ge.FD)();for(let n=0;n<e.length;n++){const a=e[n],s=n===e.length-1?e[0]:e[n+1],l=(0,te.Cr)(a,s,Ue),c=(0,re.vE)(t,l.origin,l.vector,0,Ve);switch(c){case 2:r.push(a);break;case 3:i.push(a);break;case 0:case 1:{const[e,n,s]=0===c?[1,r,i]:[-1,i,r],l=(0,re.Qj)(t),d=(0,M.c)((0,T.vt)(),Ve,l,e*o),u=(0,M.c)((0,T.vt)(),Ve,l,e*-o);n.push(a),n.push(d),s.push(u)}}}const n=[];return r.length&&n.push(r),i.length&&n.push(i),n}const He={minCurvature:(0,a.kU)(5),maxCurvature:(0,a.kU)(50),minSamples:1,maxSamples:6},Ne=(0,T.fA)(1,0,0),ze=(0,T.fA)(0,1,0),Le=(0,T.vt)(),Be=(0,T.vt)(),Ve=(0,T.vt)(),Ge=new xe.iy,Ue=(0,te.vt)(),je=(0,H.vt)();Object.freeze(Object.defineProperty({__proto__:null,directionToHeadingTilt:function(e,t,r,i){const o=Ie,n=Re;return(0,M.n)(o,e),(0,M.f)(Re,o,Se),0===(0,M.g)(Re,Re)&&(0,M.f)(Re,o,Ee),(0,M.f)(n,Re,o),ae(t,r,i,o,n)},eyeForCenterWithHeadingTilt:function(e,t,r,i){const o={eye:(0,T.vt)(),up:null,tilt:i,heading:r},n=Ie;n[0]=e[0],n[1]=e[2],n[2]=-e[1];const s=t,l=(0,a.kU)(r),c=(0,a.kU)(i),d=Math.sin(l),u=Math.cos(l),h=Math.sin(c),m=Math.cos(c),p=(0,M.b)(n);let f;if(Math.abs(c)<1e-8)f=s+p;else{const e=p/h,t=(0,a.YN)(s/e),r=Math.PI-c-t;f=e*Math.sin(r)}const v=m*s,g=s*s*(h*h),_=u*u*g,x=f-v,w=x*x,b=_*(_+w-n[1]*n[1]);if(b<0)return(0,M.j)(o.eye,n,f/p),o.tilt=0,Pe(o,e);const y=Math.sqrt(b),C=n[1]*x,S=_+w;let E;if(E=u>0?-y+C:y+C,Math.abs(S)<1e-8)return p<1e-8?(o.eye[0]=0,o.eye[1]=0,o.eye[2]=s):(0,M.j)(o.eye,n,f/p),o.tilt=0,Oe(o.eye),Pe(o,e);o.eye[1]=E/S;const A=d*d*g,I=h*s,R=u*I*o.eye[1],F=o.eye[1]*o.eye[1],O=1-F,P=Math.sqrt(O),D=_*F+A-2*R*P*x+O*w;return Math.abs(D)<1e-8?((0,M.j)(o.eye,n,f/p),o.tilt=0,Oe(o.eye),Pe(o,e)):(o.eye[0]=(O*(f*n[0]-v*n[0])-I*P*(n[0]*o.eye[1]*u+n[2]*d))/D,o.eye[2]=(O*(f*n[2]-v*n[2])-I*P*(n[2]*o.eye[1]*u-n[0]*d))/D,(0,M.j)(o.eye,o.eye,f),Oe(o.eye),Pe(o,e))},eyeTiltToLookAtTilt:function(e,t,r){const i=(0,a.kU)(e),o=(0,M.b)(t);return(0,a.YN)(r/(o/Math.sin(i)))+i},headingTiltToDirectionUp:Fe,lookAtTiltToEyeTilt:function(e,t,r){const i=(0,M.b)(t),o=Math.sqrt(r*r+i*i-2*r*i*Math.cos(Math.PI-e)),n=(0,a.YN)(r/(o/Math.sin(e)));return(0,a.KJ)(e-n)},toArea:function(e,t){const{renderCoordsHelper:r}=e,i=e.state.camera.clone(),o=new be(r);i.near=2,o.update(i);const n=r.getAltitude(t),s=e.spatialReference,l=r.referenceEllipsoid.radius,c=i.eye,d=1+(0,M.D)(c,t)/(l+n),u=Math.sqrt(d*d-1),{minCurvature:h,maxCurvature:m,minSamples:p,maxSamples:f}=He,v=function(e){const{renderCoordsHelper:t,state:r}=e,i=Math.abs(t.getAltitude(r.camera.center));return Ge.radius=t.referenceEllipsoid.radius+i,r.camera.sphereFrustumCoverage(Ge,t)}(e),g=(0,a.qE)((u-h)/(m-h),0,1),_=Math.round((0,a.Cc)(p,f,g)),x=i.aboveGround,w=o.planes[5],b=[],y=(0,re.O_)(T.uY,Ne,(0,re.vt)()),C=(0,re.O_)(T.uY,ze,(0,re.vt)());(0,D.c)(je,0,0,0,0);const S=e=>{};for(let e=0;e<4;e++){const t=1===e&&!x||3===e&&x?1-v:0,i=1===e&&x||3===e&&!x?v:1,s=o.lines[e],l=o.lines[3===e?0:e+1];for(let o=0;o<_;o++){const d=o/_,u=0===o?0:(0,a.Cc)(t,i,1===e?1-(1-d)**2:3===e?d**2:d),h=(0,M.l)(Be,s.origin,l.origin,u),m=(0,Ce.nu)(s.direction,l.direction,u,Le);r.intersectManifoldClosestSilhouette((0,z.LV)(h,m),n,Ve),se(Ve,c,Ve,w),b.push((0,T.o8)(Ve)),0!==b.length&&S((0,M.v)(b.at(-1),Ve));const p=((0,re.Tj)(y,Ve)?1:0)|((0,re.Tj)(C,Ve)?2:0);je[p]=1}}b.length>2&&(0,M.v)(b[0],b.at(-1));const E=function(e,t,r){const i=2*(0,ge.FD)();return e.map(e=>{const o=[];let n=!1;for(const a of e)t.fromRenderCoords(a,Ve,r),Math.abs(a[0])<i&&Math.abs(a[1])<i?(o.push([null,Ve[1]]),o.push([null,Ve[1]]),n=!0):o.push([Ve[0],Ve[1]]);if(n)for(let e=0;e<o.length;e++){const t=o[e];if(null!=t[0])continue;const r=o[e+1],i=o.at(0===e?-1:e-1);t[0]=i[0],e++;const n=o.at(e===o.length-1?0:e+1);r[0]=n[0]}return o.push(o[0]),(0,K.$3)(o)||o.reverse(),o})}((0,D.d)(je)>1?function(e,t){const r=[];for(const i of e)r.push(...De(i,t));return r}(De(b,y),C):[b],r,s);return new X.A({rings:E,spatialReference:s})},toExtent:function(e,t,r,i,o){let n,s,l,c;const d=t.latitude,u=(0,A.tO)(e.spatialReference).radius,h=t.longitude,m=function(e,t,r){const i=t/r,o=(0,a.kU)(e),n=Math.sin(i/2),s=Math.cos(o),l=2*(0,a.YN)(Math.sqrt(n*n/(s*s)));return(0,a.KJ)(l)}(d,r,u)/2;n=h-m,s=h+m;const p=(0,a.kU)(d),v=(1+Math.sin(p))/(1-Math.sin(p)),g=(v+1)*Math.tan(i/u/2),_=g*g;function x(e){const t=Math.PI/2;return(e=f.uC.normalize(e,-t))>t&&(e=Math.PI-e),e}if(l=1.5*Math.PI-2*Math.atan(.5*(g+Math.sqrt(4*v+_))),c=l+i/u,l=x(l),c=x(c),c<l){const e=c;c=l,l=e}if(l=Math.max((0,a.KJ)(l),-90),c=Math.min((0,a.KJ)(c),90),s=_e.Y_.monotonic(n,s),s-n>180){const e=(s-n-180)/2;n+=e,s-=e}const w=e.spatialReference&&e.spatialReference.isGeographic?e.spatialReference:C.A.WGS84;return o?(o.xmin=n,o.ymin=l,o.xmax=s,o.ymax=c,o.spatialReference=w):o=new Y.A(n,l,s,c,w),e.spatialReference&&e.spatialReference.isWebMercator&&(0,we.Gh)(o,!1,o),o}},Symbol.toStringTag,{value:"Module"}));const We="ssao";(0,T.vt)(),r(44208);var ke=r(49186),$e=r(10107),Ze=r(64108);let qe=class extends I.A{constructor(e){super(e),this.view=null,this.consumes={required:[]},this.produces="composite-color",this.requireGeometryDepth=!1,this._dirty=!0}initialize(){this.addHandles([(0,l.wB)(()=>this.view.ready,e=>{e&&this.view.stage?.renderer.addRenderNode(this)},l.Vh)])}destroy(){this.view.stage?.renderer?.removeRenderNode(this)}precompile(){}render(){throw new ke.A("RenderNode:render-function-not-implemented","render() is not implemented.")}get camera(){return this.view.state.camera.clone()}get sunLight(){return this.bindParameters.lighting.legacy}get gl(){return this.view.stage.renderView.renderingContext.gl}get techniques(){return this.view.stage.renderView.techniques}acquireOutputFramebuffer(){const e=this._frameBuffer?.getTexture()?.descriptor,t=this.view.stage.renderer.fboCache.acquire(e?.width??640,e?.height??480,this.produces);return t.fbo?.initializeAndBind(),t}bindRenderTarget(){return this._frameBuffer?.fbo?.initializeAndBind(),this._frameBuffer}requestRender(e){switch(e){case 2:this.view.state.fading=!0;case 1:this.view.stage?.renderView.requestRender(e);case 0:case void 0:this._dirty=!0}}resetWebGLState(){this.renderingContext.resetState(),this.renderingContext.bindFramebuffer(this._frameBuffer?.fbo)}get fboCache(){return this.view.stage.renderer.fboCache}get bindParameters(){return this.renderContext.bind}get renderingContext(){return this.view.stage.renderView.renderingContext}get renderContext(){return this.view.stage?.renderer.renderContext}updateAnimation(e){return!!this._dirty&&(this._dirty=!1,!0)}doRender(e){this._frameBuffer=e.find(({name:e})=>e===this.produces);try{return this.render(e)}finally{this._frameBuffer=null}}};(0,n.Cg)([(0,$e.MZ)({constructOnly:!0})],qe.prototype,"view",void 0),(0,n.Cg)([(0,$e.MZ)({constructOnly:!0})],qe.prototype,"consumes",void 0),(0,n.Cg)([(0,$e.MZ)()],qe.prototype,"produces",void 0),(0,n.Cg)([(0,$e.MZ)({readOnly:!0})],qe.prototype,"techniques",null),qe=(0,n.Cg)([(0,Ze.$)("esri.views.3d.webgl.RenderNode")],qe);var Ye=r(13840),Xe=r(42958),Ke=r(95774),Je=r(90644);let Qe=class extends Xe.w{constructor(){super(...arguments),this.shader=new Ye.r(Ke.S,()=>r.e(9384).then(r.bind(r,59384)))}initializePipeline(){return(0,Je.Ey)({colorWrite:Je.kn})}};Qe=(0,n.Cg)([(0,d.$K)("esri.views.3d.webgl-engine.effects.ssao.SSAOBlurTechnique")],Qe);var et=r(65786);class tt extends et.Y{constructor(){super(...arguments),this.projScale=1}}class rt extends tt{constructor(){super(...arguments),this.intensity=1}}class it extends et.Y{}class ot extends it{constructor(){super(...arguments),this.blurSize=(0,P.vt)()}}var nt=r(15581);let at=class extends Xe.w{constructor(){super(...arguments),this.shader=new Ye.r(nt.S,()=>r.e(191).then(r.bind(r,90191)))}initializePipeline(){return(0,Je.Ey)({colorWrite:Je.kn})}};at=(0,n.Cg)([(0,d.$K)("esri.views.3d.webgl-engine.effects.ssao.SSAOTechnique")],at);var st=r(63907),lt=r(76284),ct=r(67171);const dt=2;let ut=class extends qe{constructor(e){super(e),this.consumes={required:["normals"]},this.produces=We,this.isEnabled=()=>!1,this._enableTime=(0,c.l5)(0),this._passParameters=new rt,this._drawParameters=new ot}initialize(){const e=Uint8Array.from(atob("eXKEvZaUc66cjIKElE1jlJ6MjJ6Ufkl+jn2fcXp5jBx7c6KEflSGiXuXeW6OWs+tfqZ2Yot2Y7Zzfo2BhniEj3xoiXuXj4eGZpqEaHKDWjSMe7palFlzc3BziYOGlFVzg6Zzg7CUY5JrjFF7eYJ4jIKEcyyEonSXe7qUfqZ7j3xofqZ2c4R5lFZ5Y0WUbppoe1l2cIh2ezyUho+BcHN2cG6DbpqJhqp2e1GcezhrdldzjFGUcyxjc3aRjDyEc1h7Sl17c6aMjH92pb6Mjpd4dnqBjMOEhqZleIOBYzB7gYx+fnqGjJuEkWlwnCx7fGl+c4hjfGyRe5qMlNOMfnqGhIWHc6OMi4GDc6aMfqZuc6aMzqJzlKZ+lJ6Me3qRfoFue0WUhoR5UraEa6qMkXiPjMOMlJOGe7JrUqKMjK6MeYRzdod+Sl17boiPc6qEeYBlcIh2c1WEe7GDiWCDa0WMjEmMdod+Y0WcdntzhmN8WjyMjKJjiXtzgYxYaGd+a89zlEV7e2GJfnd+lF1rcK5zc4p5cHuBhL6EcXp5eYB7fnh8iX6HjIKEeaxuiYOGc66RfG2Ja5hzjlGMjEmMe9OEgXuPfHyGhPeEdl6JY02McGuMfnqGhFiMa3WJfnx2l4hwcG1uhmN8c0WMc39og1GBbrCEjE2EZY+JcIh2cIuGhIWHe0mEhIVrc09+gY5+eYBlnCyMhGCDl3drfmmMgX15aGd+gYx+fnuRfnhzY1SMsluJfnd+hm98WtNrcIuGh4SEj0qPdkqOjFF7jNNjdnqBgaqUjMt7boeBhnZ4jDR7c5pze4GGjEFrhLqMjHyMc0mUhKZze4WEa117kWlwbpqJjHZ2eX2Bc09zeId+e0V7WlF7jHJ2l72BfId8l3eBgXyBe897jGl7c66cgW+Xc76EjKNbgaSEjGx4fId8jFFjgZB8cG6DhlFziZhrcIh2fH6HgUqBgXiPY8dahGFzjEmMhEFre2dxhoBzc5SGfleGe6alc7aUeYBlhKqUdlp+cH5za4OEczxza0Gcc4J2jHZ5iXuXjH2Jh5yRjH2JcFx+hImBjH+MpddCl3dreZeJjIt8ZW18bm1zjoSEeIOBlF9oh3N7hlqBY4+UeYFwhLJjeYFwaGd+gUqBYxiEYot2fqZ2ondzhL6EYyiEY02Ea0VjgZB8doaGjHxoc66cjEGEiXuXiXWMiZhreHx8frGMe75rY02Ec5pzfnhzlEp4a3VzjM+EhFFza3mUY7Zza1V5e2iMfGyRcziEhDyEkXZ2Y4OBnCx7g5t2eyBjgV6EhEFrcIh2dod+c4Z+nJ5zjm15jEmUeYxijJp7nL6clIpjhoR5WrZraGd+fnuRa6pzlIiMg6ZzfHx5foh+eX1ufnB5eX1ufnB5aJt7UqKMjIh+e3aBfm5lbYSBhGFze6J4c39oc0mUc4Z+e0V7fKFVe0WEdoaGY02Ec4Z+Y02EZYWBfH6HgU1+gY5+hIWUgW+XjJ57ebWRhFVScHuBfJ6PhBx7WqJzlM+Ujpd4gHZziX6HjHmEgZN+lJt5boiPe2GJgX+GjIGJgHZzeaxufnB5hF2JtdN7jJ57hp57hK6ElFVzg6ZzbmiEbndzhIWHe3uJfoFue3qRhJd2j3xoc65zlE1jc3p8lE1jhniEgXJ7e657vZaUc3qBh52BhIF4aHKDa9drgY5+c52GWqZzbpqJe8tjnM+UhIeMfo2BfGl+hG1zSmmMjKJjZVaGgX15c1lze0mEp4OHa3mUhIWHhDyclJ6MeYOJkXiPc0VzhFiMlKaEboSJa5Jze41re3qRhn+HZYWBe0mEc4p5fnORbox5lEp4hGFjhGGEjJuEc1WEhLZjeHeGa7KlfHx2hLaMeX1ugY5+hIWHhKGPjMN7c1WEho1zhoBzZYx7fnhzlJt5exyUhFFziXtzfmmMa6qMYyiEiXxweV12kZSMeWqXSl17fnhzxmmMrVGEe1mcc4p5eHeGjK6MgY5+doaGa6pzlGV7g1qBh4KHkXiPeW6OaKqafqZ2eXZ5e1V7jGd7boSJc3BzhJd2e0mcYot2h1RoY8dahK6EQmWEWjx7e1l2lL6UgXyBdnR4eU9zc0VreX1umqaBhld7fo2Bc6KEc5Z+hDyEcIeBWtNrfHyGe5qMhMuMe5qMhEGEbVVupcNzg3aHhIF4boeBe0mEdlptc39ofFl5Y8uUlJOGiYt2UmGEcyxjjGx4jFF7a657ZYWBnElzhp57iXtrgZN+tfOEhIOBjE2HgU1+e8tjjKNbiWCDhE15gUqBgYN7fnqGc66ce9d7iYSBj0qPcG6DnGGcT3eGa6qMZY+JlIiMl4hwc3aRdnqBlGV7eHJ2hLZjfnuRhDyEeX6MSk17g6Z+c6aUjHmEhIF4gXyBc76EZW18fGl+fkl+jCxrhoVwhDyUhIqGlL2DlI6EhJd2tdN7eYORhEGMa2Faa6pzc3Bzc4R5lIRznM+UY9eMhDycc5Z+c4p5c4iGY117pb6MgXuPrbJafnx2eYOJeXZ5e657hDyEcziElKZjfoB5eHeGj4WRhGGEe6KGeX1utTStc76EhFGJnCyMa5hzfH6HnNeceYB7hmN8gYuMhIVrczSMgYF8h3N7c5pza5hzjJqEYIRdgYuMlL2DeYRzhGGEeX1uhLaEc4iGeZ1zdl6JhrVteX6Me2iMfm5lWqJzSpqEa6pzdnmchHx2c6OMhNdrhoR5g3aHczxzeW52gV6Ejm15frGMc0Vzc4Z+l3drfniJe+9rWq5rlF1rhGGEhoVwe9OEfoh+e7pac09+c3qBY0lrhDycdnp2lJ6MiYOGhGCDc3aRlL2DlJt5doaGdnp2gYF8gWeOjF2Uc4R5c5Z+jEmMe7KEc4mEeYJ4dmyBe0mcgXiPbqJ7eYB7fmGGiYSJjICGlF1reZ2PnElzbpqJfH6Hc39oe4WEc5eJhK6EhqyJc3qBgZB8c09+hEmEaHKDhFGJc5SGiXWMUpaEa89zc6OMnCyMiXtrho+Be5qMc7KEjJ57dmN+hKGPjICGbmiEe7prdod+hGCDdnmchBx7eX6MkXZ2hGGEa657hm98jFFjY5JreYOJgY2EjHZ2a295Y3FajJ6Mc1J+YzB7e4WBjF2Uc4R5eV12gYxzg1qBeId+c9OUc5pzjFFjgY5+hFiMlIaPhoR5lIpjjIKBlNdSe7KEeX2BfrGMhIqGc65zjE2UhK6EklZ+QmWEeziMWqZza3VzdnR4foh+gYF8n3iJiZhrnKp7gYF8eId+lJ6Me1lrcIuGjKJjhmN8c66MjFF7a6prjJ6UnJ5zezyUfruRWlF7nI5zfHyGe657h4SEe8tjhBx7jFFjc09+c39ojICMeZeJeXt+YzRzjHZ2c0WEcIeBeXZ5onSXkVR+gYJ+eYFwdldzgYF7eX2BjJ6UiXuXlE1jh4SEe1mchLJjc4Z+hqZ7eXZ5bm1zlL6Ue5p7iWeGhKqUY5pzjKJjcIeBe8t7gXyBYIRdlEp4a3mGnK6EfmmMZpqEfFl5gYxzjKZuhGFjhoKGhHx2fnx2eXuMe3aBiWeGvbKMe6KGa5hzYzB7gZOBlGV7hmN8hqZlYot2Y117a6pzc6KEfId8foB5rctrfneJfJ6PcHN2hFiMc5pzjH92c0VzgY2EcElzdmCBlFVzg1GBc65zY4OBboeBcHiBeYJ4ewxzfHx5lIRzlEmEnLKEbk1zfJ6PhmN8eYBljBiEnMOEiXxwezyUcIeBe76EdsKEeX2BdnR4jGWUrXWMjGd7fkl+j4WRlEGMa5Jzho+BhDyEfnqMeXt+g3aHlE1jczClhNN7ZW18eHx8hGFjZW18iXWMjKJjhH57gYuMcIuGWjyMe4ZtjJuExmmMj4WRdntzi4GDhFFzYIRdnGGcjJp7Y0F7e4WEkbCGiX57fnSHa657a6prhBCMe3Z+SmmMjH92eHJ2hK6EY1FzexhrvbKMnI5za4OEfnd+eXuMhImBe897hLaMjN+EfG+BeIOBhF1+eZeJi4GDkXZ2eXKEgZ6Ejpd4c2GHa1V5e5KUfqZuhCx7jKp7lLZrg11+hHx2hFWUoot2nI5zgbh5mo9zvZaUe3qRbqKMfqZ2kbCGhFiM"),e=>e.charCodeAt(0)),t=new ct.R(32);t.wrapMode=33071,t.pixelFormat=6407,t.wrapMode=10497,t.hasMipmap=!0,this._passParameters.noiseTexture=new lt.g(this.renderingContext,t,e),this.techniques.precompile(at),this.techniques.precompile(Qe),this.addHandles((0,l.wB)(()=>this.isEnabled(),()=>this._enableTime=(0,c.l5)(0)))}destroy(){this._passParameters.noiseTexture=(0,s.WD)(this._passParameters.noiseTexture)}render(e){const t=e.find(({name:e})=>"normals"===e),r=t?.getTexture(),i=t?.getTexture(st.nI);if(!r||!i)return;const o=this.techniques.get(at),n=this.techniques.get(Qe);if(!o.compiled||!n.compiled)return this._enableTime=(0,c.l5)(performance.now()),void this.requestRender(1);0===this._enableTime&&(this._enableTime=(0,c.l5)(performance.now()));const s=this.renderingContext,l=this.view.qualitySettings.fadeDuration,d=this.bindParameters,h=d.camera,m=h.relativeElevation,p=(0,a.qE)((5e5-m)/2e5,0,1),f=l>0?Math.min(l,performance.now()-this._enableTime)/l:1,v=f*p;this._passParameters.normalTexture=r,this._passParameters.depthTexture=i,this._passParameters.projScale=1/h.computeScreenPixelSizeAtDist(1),this._passParameters.intensity=4*ht/(0,nt.g)(h)**6*v;const g=h.fullViewport[2],_=h.fullViewport[3],x=this.fboCache.acquire(g,_,"ssao input",2);s.bindFramebuffer(x.fbo),s.setViewport(0,0,g,_),s.bindTechnique(o,d,this._passParameters,this._drawParameters),s.screen.draw();const w=Math.round(g/dt),b=Math.round(_/dt),y=this.fboCache.acquire(w,b,"ssao blur",0);s.bindFramebuffer(y.fbo),this._drawParameters.colorTexture=x.getTexture(),(0,u.hZ)(this._drawParameters.blurSize,0,dt/_),s.bindTechnique(n,d,this._passParameters,this._drawParameters),s.setViewport(0,0,w,b),s.screen.draw(),x.release();const M=this.fboCache.acquire(w,b,We,0);return s.bindFramebuffer(M.fbo),s.setViewport(0,0,g,_),s.setClearColor(1,1,1,0),s.clear(16384),this._drawParameters.colorTexture=y.getTexture(),(0,u.hZ)(this._drawParameters.blurSize,dt/g,0),s.bindTechnique(n,d,this._passParameters,this._drawParameters),s.setViewport(0,0,w,b),s.screen.draw(),s.setViewport4fv(h.fullViewport),y.release(),f<1&&this.requestRender(2),M}};(0,n.Cg)([(0,d.MZ)()],ut.prototype,"consumes",void 0),(0,n.Cg)([(0,d.MZ)()],ut.prototype,"produces",void 0),(0,n.Cg)([(0,d.MZ)({constructOnly:!0})],ut.prototype,"isEnabled",void 0),ut=(0,n.Cg)([(0,d.$K)("esri.views.3d.webgl-engine.effects.ssao.SSAO")],ut);const ht=.5;function mt(e,t){t.receiveAmbientOcclusion?(e.uniforms.add(new o.x("ssaoTex",e=>e.ssao?.getTexture())),e.constants.add("blurSizePixelsInverse","float",1/dt),e.code.add(i.H`float evaluateAmbientOcclusionInverse() {
12
12
  vec2 ssaoTextureSizeInverse = 1.0 / vec2(textureSize(ssaoTex, 0));
13
13
  return texture(ssaoTex, gl_FragCoord.xy * blurSizePixelsInverse * ssaoTextureSizeInverse).r;
14
14
  }
@@ -311,7 +311,7 @@ posClip.z += 0.0000003 * posClip.w;
311
311
  return posClip;
312
312
  }`)}},32976:(e,t,r)=>{r.d(t,{o:()=>o});var i=r(74333);class o extends i.n{constructor(e,t){super(e,"bool",0,(r,i)=>r.setUniform1b(e,t(i)))}}},33079:(e,t,r)=>{r.d(t,{t:()=>o});var i=r(74333);class o extends i.n{constructor(e,t,r){super(e,"vec3",1,(i,o,n)=>i.setUniform3fv(e,t(o,n),r))}}},33094:(e,t,r)=>{r.d(t,{U:()=>o});var i=r(74333);class o extends i.n{constructor(e,t,r){super(e,"float",0,(i,o)=>i.setUniform1f(e,t(o),r))}}},33120:(e,t,r)=>{r.d(t,{i$:()=>a,xJ:()=>n}),r(46686),r(33752);var i=r(77108),o=r(31821);function n(e){e.vertex.uniforms.add(new i.E("nearFar",e=>e.camera.nearFar))}function a(e){e.vertex.code.add(o.H`float calculateLinearDepth(vec2 nearFar,float z) {
313
313
  return (-z - nearFar[0]) / (nearFar[1] - nearFar[0]);
314
- }`)}},33524:(e,t,r)=>{r.d(t,{Sv:()=>u,Yf:()=>a,mE:()=>d,mt:()=>l,z5:()=>s});var i=r(63907),o=r(90644);const n=(0,o.p3)(1,0,1,771);function a(e,t=!1){switch(e){case 0:return t?o.RC:o.T8;case 1:return n;case 2:case 3:return null}}function s(e){if(e.draped)return null;switch(e.oitPass){case 0:case 2:return e.writeDepth?o.Uy:null;case 1:case 3:return null}}function l(e,t=513){return{func:0===e||2===e?t:515}}const c={factor:-1,units:-2};function d({oitPass:e,enableOffset:t}){return t&&1===e?c:null}function u(e,t){return 1===e?t?{buffers:[i.r6,i.yI,i.Fq]}:{buffers:[i.r6,i.yI]}:t?{buffers:[i.r6,i.yI]}:null}},33752:(e,t,r)=>{r.d(t,{EM:()=>s,dO:()=>a});var i=r(29242),o=r(51850),n=(r(26425),r(40710),r(33079),r(31821),r(98353),r(35644),r(58029),r(65786));class a extends n.Y{constructor(){super(...arguments),this.transformWorldFromViewTH=(0,o.vt)(),this.transformWorldFromViewTL=(0,o.vt)(),this.transformViewFromCameraRelativeRS=(0,i.vt)()}}class s extends n.Y{constructor(){super(...arguments),this.transformWorldFromModelRS=(0,i.vt)(),this.transformWorldFromModelTH=(0,o.vt)(),this.transformWorldFromModelTL=(0,o.vt)()}}},34845:(e,t,r)=>{r.d(t,{Ir:()=>d});var i=r(37585),o=r(48163),n=r(87317),a=r(91829),s=r(77108),l=r(14314),c=r(31821);function d(e){e.fragment.uniforms.add(new l.I("projInfo",e=>function(e){const t=e.projectionMatrix;return 0===t[11]?(0,n.s)(u,2/(e.fullWidth*t[0]),2/(e.fullHeight*t[5]),(1+t[12])/t[0],(1+t[13])/t[5]):(0,n.s)(u,-2/(e.fullWidth*t[0]),-2/(e.fullHeight*t[5]),(1-t[8])/t[0],(1-t[9])/t[5])}(e.camera))),e.fragment.uniforms.add(new s.E("zScale",e=>0===e.camera.projectionMatrix[11]?(0,i.hZ)(h,0,1):(0,i.hZ)(h,1,0))),e.fragment.code.add(c.H`vec3 reconstructPosition(vec2 fragCoord, float depth) {
314
+ }`)}},33524:(e,t,r)=>{r.d(t,{Sv:()=>u,Yf:()=>a,mE:()=>d,mt:()=>l,z5:()=>s});var i=r(63907),o=r(90644);const n=(0,o.p3)(1,0,1,771);function a(e,t=!1){switch(e){case 0:return t?o.RC:o.T8;case 1:return n;case 2:case 3:return null}}function s(e){if(e.draped)return null;switch(e.oitPass){case 0:case 2:return e.writeDepth?o.Uy:null;case 1:case 3:return null}}function l(e,t=513){return{func:0===e||2===e?t:515}}const c={factor:-1,units:-2};function d({oitPass:e,enableOffset:t}){return t&&1===e?c:null}function u(e,t){return 1===e?t?{buffers:[i.r6,i.yI,i.Fq]}:{buffers:[i.r6,i.yI]}:t?{buffers:[i.r6,i.yI]}:null}},33752:(e,t,r)=>{r.d(t,{EM:()=>s,dO:()=>a});var i=r(29242),o=r(51850),n=(r(26425),r(40710),r(33079),r(31821),r(98353),r(35644),r(58029),r(65786));class a extends n.Y{constructor(){super(...arguments),this.transformWorldFromViewTH=(0,o.vt)(),this.transformWorldFromViewTL=(0,o.vt)(),this.transformViewFromCameraRelativeRS=(0,i.vt)()}}class s extends n.Y{constructor(){super(...arguments),this.transformWorldFromModelRS=(0,i.vt)(),this.transformWorldFromModelTH=(0,o.vt)(),this.transformWorldFromModelTL=(0,o.vt)()}}},34845:(e,t,r)=>{r.d(t,{Ir:()=>d});var i=r(37585),o=r(48163),n=r(87317),a=r(91829),s=r(77108),l=r(14314),c=r(31821);function d(e){e.fragment.uniforms.add(new l.I("projInfo",e=>function(e){const t=e.projectionMatrix;return 0===t[11]?(0,n.c)(u,2/(e.fullWidth*t[0]),2/(e.fullHeight*t[5]),(1+t[12])/t[0],(1+t[13])/t[5]):(0,n.c)(u,-2/(e.fullWidth*t[0]),-2/(e.fullHeight*t[5]),(1-t[8])/t[0],(1-t[9])/t[5])}(e.camera))),e.fragment.uniforms.add(new s.E("zScale",e=>0===e.camera.projectionMatrix[11]?(0,i.hZ)(h,0,1):(0,i.hZ)(h,1,0))),e.fragment.code.add(c.H`vec3 reconstructPosition(vec2 fragCoord, float depth) {
315
315
  return vec3((fragCoord * projInfo.xy + projInfo.zw) * (zScale.x * depth + zScale.y), depth);
316
316
  }`)}const u=(0,a.vt)(),h=(0,o.vt)()},35640:(e,t,r)=>{r.d(t,{Ge:()=>c,VQ:()=>u});var i=r(87317),o=r(91829),n=r(52587),a=r(20693),s=r(71988),l=r(31821);function c(e,t){const r=e.vertex;t.hasVerticalOffset?(u(r),t.hasScreenSizePerspective&&(e.include(n.Y6),(0,n.OH)(r),(0,a.yu)(e.vertex,t)),r.code.add(l.H`
317
317
  vec3 calculateVerticalOffset(vec3 worldPos, vec3 localOrigin) {
@@ -329,7 +329,7 @@ return vec3((fragCoord * projInfo.xy + projInfo.zw) * (zScale.x * depth + zScale
329
329
  vec3 addVerticalOffset(vec3 worldPos, vec3 localOrigin) {
330
330
  return worldPos + calculateVerticalOffset(worldPos, localOrigin);
331
331
  }
332
- `)):r.code.add(l.H`vec3 addVerticalOffset(vec3 worldPos, vec3 localOrigin) { return worldPos; }`)}const d=(0,o.vt)();function u(e){e.uniforms.add(new s.E("verticalOffset",(e,t)=>{const{minWorldLength:r,maxWorldLength:o,screenLength:n}=e.verticalOffset,a=Math.tan(.5*t.camera.fovY)/(.5*t.camera.fullViewport[3]),s=t.camera.pixelRatio||1;return(0,i.s)(d,n*s,a,r,o)}))}},35644:(e,t,r)=>{r.d(t,{k:()=>o});var i=r(74333);class o extends i.n{constructor(e,t,r){super(e,"mat3",1,(i,o,n)=>i.setUniformMatrix3fv(e,t(o,n),r))}}},35818:(e,t,r)=>{r.d(t,{W:()=>o});var i=r(74333);class o extends i.n{constructor(e,t){super(e,"int",0,(r,i)=>r.setUniform1i(e,t(i)))}}},36782:(e,t,r)=>{r.d(t,{g:()=>o});var i=r(31821);function o(e,t){if(9!==t.output)return e.vertex.code.add(i.H`void forwardObjectAndLayerIdColor() {}`),void e.fragment.code.add(i.H`void outputObjectAndLayerIdColor() {}`);const r=t.instanced;e.varyings.add("objectAndLayerIdColorVarying","vec4");const o=r?"instanceOlidColor":"olidColor";e.attributes.add(o,"vec4"),e.vertex.code.add(i.H`
332
+ `)):r.code.add(l.H`vec3 addVerticalOffset(vec3 worldPos, vec3 localOrigin) { return worldPos; }`)}const d=(0,o.vt)();function u(e){e.uniforms.add(new s.E("verticalOffset",(e,t)=>{const{minWorldLength:r,maxWorldLength:o,screenLength:n}=e.verticalOffset,a=Math.tan(.5*t.camera.fovY)/(.5*t.camera.fullViewport[3]),s=t.camera.pixelRatio||1;return(0,i.c)(d,n*s,a,r,o)}))}},35644:(e,t,r)=>{r.d(t,{k:()=>o});var i=r(74333);class o extends i.n{constructor(e,t,r){super(e,"mat3",1,(i,o,n)=>i.setUniformMatrix3fv(e,t(o,n),r))}}},35818:(e,t,r)=>{r.d(t,{W:()=>o});var i=r(74333);class o extends i.n{constructor(e,t){super(e,"int",0,(r,i)=>r.setUniform1i(e,t(i)))}}},36782:(e,t,r)=>{r.d(t,{g:()=>o});var i=r(31821);function o(e,t){if(9!==t.output)return e.vertex.code.add(i.H`void forwardObjectAndLayerIdColor() {}`),void e.fragment.code.add(i.H`void outputObjectAndLayerIdColor() {}`);const r=t.instanced;e.varyings.add("objectAndLayerIdColorVarying","vec4");const o=r?"instanceOlidColor":"olidColor";e.attributes.add(o,"vec4"),e.vertex.code.add(i.H`
333
333
  void forwardObjectAndLayerIdColor() {
334
334
  objectAndLayerIdColorVarying = ${o} * 0.003921568627451;
335
335
  }`),e.fragment.code.add(i.H`void outputObjectAndLayerIdColor() {
@@ -823,7 +823,7 @@ rawNormal.xy = (normalRotation * vec3(rawNormal.x, rawNormal.y, 1.0)).xy;`),r.co
823
823
  `)}},87170:(e,t,r)=>{r.d(t,{V:()=>T});var i=r(9093),o=r(38954),n=r(97146),a=r(57917),s=r(29920),l=r(78754),c=r(51850),d=r(4341),u=r(11964);function h(e,t,r){return(0,o.e)(m,t,e),(0,o.e)(p,r,e),.5*(0,o.b)((0,o.f)(m,m,p))}r(32114),new d.I(u.vt),new d.I(()=>function(e){return e?{p0:(0,c.o8)(e.p0),p1:(0,c.o8)(e.p1),p2:(0,c.o8)(e.p2)}:{p0:(0,c.vt)(),p1:(0,c.vt)(),p2:(0,c.vt)()}}());const m=(0,c.vt)(),p=(0,c.vt)(),f=(0,c.vt)(),v=(0,c.vt)(),g=(0,c.vt)(),_=(0,c.vt)();var x=r(24326);class w{constructor(){this.uid=(0,x.c)()}}class b extends w{constructor(e){super(),this.highlightName=e,this.channel=0}}var y=r(620),M=r(94656);class T extends l.F{constructor(e,t,r=null,i=0,o=null,n=-1,a){super(t),this.material=e,this.mapPositions=r,this.type=i,this.olidColor=o,this.edgeIndicesLength=n,this.baseGeometry=a,this._highlights=null,this._highlightOptionsCounts=null,this.visible=!0,this._boundingInfo=null;const s=this.positionAttribute;null!=s&&this.edgeIndicesLength<0&&(this.edgeIndicesLength=s.indices.length)}instantiate(e={}){const t=new T(e.material||this.material,[],this.mapPositions,this.type,this.olidColor,this.edgeIndicesLength,this.baseGeometry);return this._attributes.forEach((e,r)=>{e.exclusive=!1,t._attributes.set(r,e)}),t._boundingInfo=this._boundingInfo,t.transformation=e.transformation||this.transformation,t}getMutableAttribute(e){let t=this._attributes.get(e);return t&&!t.exclusive&&(t={...t,exclusive:!0,data:(0,a.S)(t.data)},this._attributes.set(e,t)),t}setAttributeData(e,t){const r=this._attributes.get(e);r?this._attributes.set(e,{...r,exclusive:!0,data:t}):(0,M.en)()&&console.warn(`Setting undefined attribute ${e} data`)}get positionAttribute(){return this.attributes.get("position")??this.baseGeometry?.attributes.get("position")}get indexCount(){const e=this._attributes.values().next().value?.indices;return e?.length??0}get faceCount(){return this.indexCount/3}get boundingInfo(){return this._boundingInfo??=this._calculateBoundingInfo(),this._boundingInfo}computeAttachmentOrigin(e){return!!(0===this.type?this._computeAttachmentOriginTriangles(e):2===this.type?this._computeAttachmentOriginLines(e):this._computeAttachmentOriginPoints(e))&&(null!=this._transformation&&(0,o.p)(e,e,this._transformation),!0)}_computeAttachmentOriginTriangles(e){return function(e,t){if(!e)return!1;const{size:r,data:i,indices:n}=e;(0,o.h)(t,0,0,0),(0,o.h)(_,0,0,0);let a=0,s=0;for(let e=0;e<n.length-2;e+=3){const l=n[e]*r,c=n[e+1]*r,d=n[e+2]*r;(0,o.h)(f,i[l],i[l+1],i[l+2]),(0,o.h)(v,i[c],i[c+1],i[c+2]),(0,o.h)(g,i[d],i[d+1],i[d+2]);const u=h(f,v,g);u?((0,o.i)(f,f,v),(0,o.i)(f,f,g),(0,o.j)(f,f,1/3*u),(0,o.i)(t,t,f),a+=u):((0,o.i)(_,_,f),(0,o.i)(_,_,v),(0,o.i)(_,_,g),s+=3)}return!(0===s&&0===a||(0!==a?((0,o.j)(t,t,1/a),0):0===s||((0,o.j)(t,_,1/s),0)))}(this.positionAttribute,e)}_computeAttachmentOriginLines(e){const t=this.positionAttribute;return function(e,t,r){if(!e)return!1;(0,o.h)(r,0,0,0),(0,o.h)(_,0,0,0);let i=0,n=0;const{size:a,data:s,indices:l}=e,c=l.length-1,d=c+(t?2:0);for(let e=0;e<d;e+=2){const t=e<c?e+1:0,d=l[e<c?e:c]*a,u=l[t]*a;f[0]=s[d],f[1]=s[d+1],f[2]=s[d+2],v[0]=s[u],v[1]=s[u+1],v[2]=s[u+2],(0,o.j)(f,(0,o.i)(f,f,v),.5);const h=(0,o.H)(f,v);h>0?((0,o.i)(r,r,(0,o.j)(f,f,h)),i+=h):0===i&&((0,o.i)(_,_,f),n++)}return 0!==i?((0,o.j)(r,r,1/i),!0):0!==n&&((0,o.j)(r,_,1/n),!0)}(t,function(e,t){return!(!("isClosed"in e)||!e.isClosed)&&t.indices.length>2}(this.material.parameters,t),e)}_computeAttachmentOriginPoints(e){return function(e,t){if(!e)return!1;const{size:r,data:i,indices:n}=e;(0,o.h)(t,0,0,0);let a=-1,s=0;for(let e=0;e<n.length;e++){const o=n[e]*r;a!==o&&(t[0]+=i[o],t[1]+=i[o+1],t[2]+=i[o+2],s++),a=o}return s>1&&(0,o.j)(t,t,1/s),s>0}(this.positionAttribute,e)}invalidateBoundingInfo(){this._boundingInfo=null}_calculateBoundingInfo(){const e=this.positionAttribute;if(!e||0===e.indices.length)return null;const t=0===this.type?3:1;(0,y.vA)(e.indices.length%t===0,"Indexing error: "+e.indices.length+" not divisible by "+t);const r=(0,n.tM)(e.indices.length/t);return new s.j(r,t,e)}get transformation(){return this._transformation??i.zK}set transformation(e){this._transformation=e&&e!==i.zK?(0,i.o8)(e):null}get highlights(){return this._highlights||C}get hasHighlights(){return(this._highlightOptionsCounts?.size??0)>0}foreachHighlightOptions(e){this._highlightOptionsCounts?.forEach((t,r)=>e(r))}allocateIdAndHighlight(e){const t=new b(e);return this.addHighlight(t)}addHighlight(e){this._ensureHighlights().add(e);const{highlightName:t}=e,r=(this._highlightOptionsCounts?.get(t)??0)+1;return this._ensureHighlightOptionsCounts().set(t,r),e}_ensureHighlights(){let e=this._highlights;return e||(e=new Set,this._highlights=e),e}_ensureHighlightOptionsCounts(){let e=this._highlightOptionsCounts;return e||(e=new Map,this._highlightOptionsCounts=e),e}removeHighlight(e){if(this._highlights?.delete(e)){const{highlightName:t}=e,r=this._highlightOptionsCounts?.get(t)??0;r<=1?this._highlightOptionsCounts?.delete(t):this._ensureHighlightOptionsCounts().set(t,r-1)}}}const C=new Set},89390:(e,t,r)=>{r.d(t,{kA:()=>C,a8:()=>M,eU:()=>T});var i=r(40876),o=(r(44208),r(38954)),n=r(51850),a=r(87317),s=r(91829),l=r(23205),c=r(14314),d=r(31821);function u(e,t){const r=e.fragment,i=void 0!==t.lightingSphericalHarmonicsOrder?t.lightingSphericalHarmonicsOrder:2;0===i?(r.uniforms.add(new l.d("lightingAmbientSH0",({lighting:e})=>(0,o.h)(h,e.sh.r[0],e.sh.g[0],e.sh.b[0]))),r.code.add(d.H`vec3 calculateAmbientIrradiance(vec3 normal, float ambientOcclusion) {
824
824
  vec3 ambientLight = 0.282095 * lightingAmbientSH0;
825
825
  return ambientLight * (1.0 - ambientOcclusion);
826
- }`)):1===i?(r.uniforms.add(new c.I("lightingAmbientSH_R",({lighting:e})=>(0,a.s)(m,e.sh.r[0],e.sh.r[1],e.sh.r[2],e.sh.r[3])),new c.I("lightingAmbientSH_G",({lighting:e})=>(0,a.s)(m,e.sh.g[0],e.sh.g[1],e.sh.g[2],e.sh.g[3])),new c.I("lightingAmbientSH_B",({lighting:e})=>(0,a.s)(m,e.sh.b[0],e.sh.b[1],e.sh.b[2],e.sh.b[3]))),r.code.add(d.H`vec3 calculateAmbientIrradiance(vec3 normal, float ambientOcclusion) {
826
+ }`)):1===i?(r.uniforms.add(new c.I("lightingAmbientSH_R",({lighting:e})=>(0,a.c)(m,e.sh.r[0],e.sh.r[1],e.sh.r[2],e.sh.r[3])),new c.I("lightingAmbientSH_G",({lighting:e})=>(0,a.c)(m,e.sh.g[0],e.sh.g[1],e.sh.g[2],e.sh.g[3])),new c.I("lightingAmbientSH_B",({lighting:e})=>(0,a.c)(m,e.sh.b[0],e.sh.b[1],e.sh.b[2],e.sh.b[3]))),r.code.add(d.H`vec3 calculateAmbientIrradiance(vec3 normal, float ambientOcclusion) {
827
827
  vec4 sh0 = vec4(
828
828
  0.282095,
829
829
  0.488603 * normal.x,
@@ -836,7 +836,7 @@ dot(lightingAmbientSH_G, sh0),
836
836
  dot(lightingAmbientSH_B, sh0)
837
837
  );
838
838
  return ambientLight * (1.0 - ambientOcclusion);
839
- }`)):2===i&&(r.uniforms.add(new l.d("lightingAmbientSH0",({lighting:e})=>(0,o.h)(h,e.sh.r[0],e.sh.g[0],e.sh.b[0])),new c.I("lightingAmbientSH_R1",({lighting:e})=>(0,a.s)(m,e.sh.r[1],e.sh.r[2],e.sh.r[3],e.sh.r[4])),new c.I("lightingAmbientSH_G1",({lighting:e})=>(0,a.s)(m,e.sh.g[1],e.sh.g[2],e.sh.g[3],e.sh.g[4])),new c.I("lightingAmbientSH_B1",({lighting:e})=>(0,a.s)(m,e.sh.b[1],e.sh.b[2],e.sh.b[3],e.sh.b[4])),new c.I("lightingAmbientSH_R2",({lighting:e})=>(0,a.s)(m,e.sh.r[5],e.sh.r[6],e.sh.r[7],e.sh.r[8])),new c.I("lightingAmbientSH_G2",({lighting:e})=>(0,a.s)(m,e.sh.g[5],e.sh.g[6],e.sh.g[7],e.sh.g[8])),new c.I("lightingAmbientSH_B2",({lighting:e})=>(0,a.s)(m,e.sh.b[5],e.sh.b[6],e.sh.b[7],e.sh.b[8]))),r.code.add(d.H`vec3 calculateAmbientIrradiance(vec3 normal, float ambientOcclusion) {
839
+ }`)):2===i&&(r.uniforms.add(new l.d("lightingAmbientSH0",({lighting:e})=>(0,o.h)(h,e.sh.r[0],e.sh.g[0],e.sh.b[0])),new c.I("lightingAmbientSH_R1",({lighting:e})=>(0,a.c)(m,e.sh.r[1],e.sh.r[2],e.sh.r[3],e.sh.r[4])),new c.I("lightingAmbientSH_G1",({lighting:e})=>(0,a.c)(m,e.sh.g[1],e.sh.g[2],e.sh.g[3],e.sh.g[4])),new c.I("lightingAmbientSH_B1",({lighting:e})=>(0,a.c)(m,e.sh.b[1],e.sh.b[2],e.sh.b[3],e.sh.b[4])),new c.I("lightingAmbientSH_R2",({lighting:e})=>(0,a.c)(m,e.sh.r[5],e.sh.r[6],e.sh.r[7],e.sh.r[8])),new c.I("lightingAmbientSH_G2",({lighting:e})=>(0,a.c)(m,e.sh.g[5],e.sh.g[6],e.sh.g[7],e.sh.g[8])),new c.I("lightingAmbientSH_B2",({lighting:e})=>(0,a.c)(m,e.sh.b[5],e.sh.b[6],e.sh.b[7],e.sh.b[8]))),r.code.add(d.H`vec3 calculateAmbientIrradiance(vec3 normal, float ambientOcclusion) {
840
840
  vec3 ambientLight = 0.282095 * lightingAmbientSH0;
841
841
  vec4 sh1 = vec4(
842
842
  0.488603 * normal.x,
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[4342],{22671:(e,t,r)=>{r.d(t,{A:()=>g});var n,i=r(31635),s=r(52106),o=r(66552),a=r(25482),l=r(4718),c=r(91429),u=r(16930),d=r(65864),p=r(50498),h=r(20437),f=r(36005),m=r(43937);const y=new o.J({esriGeometryPoint:"point",esriGeometryMultipoint:"multipoint",esriGeometryPolyline:"polyline",esriGeometryPolygon:"polygon",esriGeometryEnvelope:"extent",mesh:"mesh","":null});let g=n=class extends a.o{constructor(e){super(e),this.displayFieldName=null,this.exceededTransferLimit=!1,this.features=[],this.fields=null,this.geometryType=null,this.hasM=!1,this.hasZ=!1,this.queryGeometry=null,this.spatialReference=null}readFeatures(e,t){return this.readFeaturesWithClass(e,t,s.A)}writeGeometryType(e,t,r,n){if(e)return void y.write(e,t,r,n);const{features:i}=this;if(i)for(const e of i)if(null!=e?.geometry)return void y.write(e.geometry.type,t,r,n)}readQueryGeometry(e,t){if(!e)return null;const r=!!e.spatialReference,n=(0,d.rS)(e);return n&&!r&&t.spatialReference&&(n.spatialReference=u.A.fromJSON(t.spatialReference)),n}writeSpatialReference(e,t){if(e)return void(t.spatialReference=e.toJSON());const{features:r}=this;if(r)for(const e of r)if(e&&null!=e.geometry&&e.geometry.spatialReference)return void(t.spatialReference=e.geometry.spatialReference.toJSON())}clone(){return new n(this.cloneProperties())}cloneProperties(){return(0,l.o8)({displayFieldName:this.displayFieldName,exceededTransferLimit:this.exceededTransferLimit,features:this.features,fields:this.fields,geometryType:this.geometryType,hasM:this.hasM,hasZ:this.hasZ,queryGeometry:this.queryGeometry,spatialReference:this.spatialReference,transform:this.transform})}toJSON(e){const t=this.write();if(t.features&&Array.isArray(e)&&e.length>0)for(let r=0;r<t.features.length;r++){const n=t.features[r];if(n.geometry){const t=e?.[r];n.geometry=t?.toJSON()||n.geometry}}return t}quantize(e){const{scale:[t,r],translate:[n,i]}=e,s=this.features,o=this._getQuantizationFunction(this.geometryType,e=>Math.round((e-n)/t),e=>Math.round((i-e)/r));for(let e=0,t=s.length;e<t;e++)o?.(s[e].geometry)||(s.splice(e,1),e--,t--);return this.transform=e,this}unquantize(){const{geometryType:e,features:t,transform:r}=this;if(!r)return this;const{translate:[n,i],scale:[s,o]}=r;let a=null,l=null;if(this.hasZ&&null!=r?.scale?.[2]){const{translate:[,,e],scale:[,,t]}=r;a=r=>r*t+e}if(this.hasM&&null!=r?.scale?.[3]){const{translate:[,,,e],scale:[,,,t]}=r;l=r=>null==r?r:r*t+e}const c=this._getHydrationFunction(e,e=>e*s+n,e=>i-e*o,a,l);for(const{geometry:e}of t)null!=e&&c&&c(e);return this.transform=null,this}readFeaturesWithClass(e,t,r){const n=u.A.fromJSON(t.spatialReference),i=[];for(let t=0;t<e.length;t++){const s=e[t],o=r.fromJSON(s),a=s.geometry?.spatialReference;null==o.geometry||a||(o.geometry.spatialReference=n);const l=s.aggregateGeometries,c=o.aggregateGeometries;if(l&&null!=c)for(const e in c){const t=c[e],r=l[e],i=r?.spatialReference;null==t||i||(t.spatialReference=n)}i.push(o)}return i}_quantizePoints(e,t,r){let n,i;const s=[];for(let o=0,a=e.length;o<a;o++){const a=e[o];if(o>0){const e=t(a[0]),o=r(a[1]);e===n&&o===i||(s.push([e-n,o-i]),n=e,i=o)}else n=t(a[0]),i=r(a[1]),s.push([n,i])}return s.length>0?s:null}_getQuantizationFunction(e,t,r){return"point"===e?e=>(e.x=t(e.x),e.y=r(e.y),e):"polyline"===e||"polygon"===e?e=>{const n=(0,d.Bi)(e)?e.rings:e.paths,i=[];for(let e=0,s=n.length;e<s;e++){const s=n[e],o=this._quantizePoints(s,t,r);o&&i.push(o)}return i.length>0?((0,d.Bi)(e)?e.rings=i:e.paths=i,e):null}:"multipoint"===e?e=>{const n=this._quantizePoints(e.points,t,r);return n&&n.length>0?(e.points=n,e):null}:"extent"===e?e=>e:null}_getHydrationFunction(e,t,r,n,i){return"point"===e?e=>{e.x=t(e.x),e.y=r(e.y),n&&(e.z=n(e.z))}:"polyline"===e||"polygon"===e?e=>{const s=(0,d.Bi)(e)?e.rings:e.paths;let o,a;for(let e=0,n=s.length;e<n;e++){const n=s[e];for(let e=0,i=n.length;e<i;e++){const i=n[e];e>0?(o+=i[0],a+=i[1]):(o=i[0],a=i[1]),i[0]=t(o),i[1]=r(a)}}if(n&&i)for(let e=0,t=s.length;e<t;e++){const t=s[e];for(let e=0,r=t.length;e<r;e++){const r=t[e];r[2]=n(r[2]),r[3]=i(r[3])}}else if(n)for(let e=0,t=s.length;e<t;e++){const t=s[e];for(let e=0,r=t.length;e<r;e++){const r=t[e];r[2]=n(r[2])}}else if(i)for(let e=0,t=s.length;e<t;e++){const t=s[e];for(let e=0,r=t.length;e<r;e++){const r=t[e];r[2]=i(r[2])}}}:"extent"===e?e=>{e.xmin=t(e.xmin),e.ymin=r(e.ymin),e.xmax=t(e.xmax),e.ymax=r(e.ymax),n&&null!=e.zmax&&null!=e.zmin&&(e.zmax=n(e.zmax),e.zmin=n(e.zmin)),i&&null!=e.mmax&&null!=e.mmin&&(e.mmax=i(e.mmax),e.mmin=i(e.mmin))}:"multipoint"===e?e=>{const s=e.points;let o,a;for(let e=0,n=s.length;e<n;e++){const n=s[e];e>0?(o+=n[0],a+=n[1]):(o=n[0],a=n[1]),n[0]=t(o),n[1]=r(a)}if(n&&i)for(let e=0,t=s.length;e<t;e++){const t=s[e];t[2]=n(t[2]),t[3]=i(t[3])}else if(n)for(let e=0,t=s.length;e<t;e++){const t=s[e];t[2]=n(t[2])}else if(i)for(let e=0,t=s.length;e<t;e++){const t=s[e];t[2]=i(t[2])}}:null}};(0,i.Cg)([(0,c.MZ)({type:String,json:{write:!0}})],g.prototype,"displayFieldName",void 0),(0,i.Cg)([(0,c.MZ)({type:Boolean,json:{write:{overridePolicy:e=>({enabled:e})}}})],g.prototype,"exceededTransferLimit",void 0),(0,i.Cg)([(0,c.MZ)({type:[s.A],json:{write:!0}})],g.prototype,"features",void 0),(0,i.Cg)([(0,f.w)("features")],g.prototype,"readFeatures",null),(0,i.Cg)([(0,c.MZ)({type:[h.A],json:{write:!0}})],g.prototype,"fields",void 0),(0,i.Cg)([(0,c.MZ)({type:["point","multipoint","polyline","polygon","extent","mesh"],json:{read:{reader:y.read}}})],g.prototype,"geometryType",void 0),(0,i.Cg)([(0,m.K)("geometryType")],g.prototype,"writeGeometryType",null),(0,i.Cg)([(0,c.MZ)({type:Boolean,json:{write:{overridePolicy:e=>({enabled:e})}}})],g.prototype,"hasM",void 0),(0,i.Cg)([(0,c.MZ)({type:Boolean,json:{write:{overridePolicy:e=>({enabled:e})}}})],g.prototype,"hasZ",void 0),(0,i.Cg)([(0,c.MZ)({types:p.yR,json:{write:!0}})],g.prototype,"queryGeometry",void 0),(0,i.Cg)([(0,f.w)("queryGeometry")],g.prototype,"readQueryGeometry",null),(0,i.Cg)([(0,c.MZ)({type:u.A,json:{write:!0}})],g.prototype,"spatialReference",void 0),(0,i.Cg)([(0,m.K)("spatialReference")],g.prototype,"writeSpatialReference",null),(0,i.Cg)([(0,c.MZ)({json:{write:!0}})],g.prototype,"transform",void 0),g=n=(0,i.Cg)([(0,c.$K)("esri.rest.support.FeatureSet")],g),g.prototype.toJSON.isDefaultToJSON=!0},32756:(e,t,r)=>{r.d(t,{Rr:()=>a,fY:()=>c,ne:()=>l});var n=r(31635),i=r(93637),s=r(91429),o=r(91880);function a(e,t,r){if(!e)return null;const n=e.find(e=>!!e.field);if(!n)return null;const i=new o.A;return i.read(n,r),[i]}const l={type:[o.A],json:{origins:{"web-scene":{write:!1,read:!1}},name:"layerDefinition.orderBy",read:{reader:a},write:{writer:function(e,t,r,n){const s=e.find(e=>!!e.field);s&&(0,i.sM)(r,[s.toJSON()],t)}}}},c=e=>{const t=e;let r=class extends t{constructor(){super(...arguments),this.orderBy=null}};return(0,n.Cg)([(0,s.MZ)(l)],r.prototype,"orderBy",void 0),r=(0,n.Cg)([(0,s.$K)("esri.layers.mixins.OrderedLayer")],r),r}},33143:(e,t,r)=>{r.d(t,{A:()=>d});var n=r(31635),i=r(69540),s=r(25482),o=r(91429),a=r(8631),l=r(29005),c=r(36005),u=r(43937);let d=class extends((0,i.OU)(s.o)){constructor(e){super(e),this.id=null,this.name=null,this.domains=null,this.templates=null}readDomains(e){const t={};for(const r of Object.keys(e))t[r]=(0,a.rS)(e[r]);return t}writeDomains(e,t){const r={};for(const t of Object.keys(e))e[t]&&(r[t]=e[t]?.toJSON());t.domains=r}};(0,n.Cg)([(0,o.MZ)({json:{write:!0}})],d.prototype,"id",void 0),(0,n.Cg)([(0,o.MZ)({json:{write:!0}})],d.prototype,"name",void 0),(0,n.Cg)([(0,o.MZ)({json:{write:!0}})],d.prototype,"domains",void 0),(0,n.Cg)([(0,c.w)("domains")],d.prototype,"readDomains",null),(0,n.Cg)([(0,u.K)("domains")],d.prototype,"writeDomains",null),(0,n.Cg)([(0,o.MZ)({type:[l.A],json:{write:!0}})],d.prototype,"templates",void 0),d=(0,n.Cg)([(0,o.$K)("esri.layers.support.FeatureType")],d)},46140:(e,t,r)=>{r.d(t,{R:()=>i});var n=r(49186);let i=class e{constructor(e,t,r=""){this.major=e,this.minor=t,this._context=r}lessThan(e,t){return this.major<e||e===this.major&&this.minor<t}greaterEqual(e,t){return!this.lessThan(e,t)}validate(e){if(this.major!==e.major){const t=this._context&&this._context+":",r=this._context&&this._context+" ";throw new n.A(t+"unsupported-version",`Required major ${r}version is '${this.major}', but got '\${version.major}.\${version.minor}'`,{version:e})}}clone(){return new e(this.major,this.minor,this._context)}static parse(t,r=""){const[i,s]=t.split("."),o=/^\s*\d+\s*$/;if(!i?.match||!o.test(i))throw new n.A((r&&r+":")+"invalid-version","Expected major version to be a number, but got '${version}'",{version:t});if(!s?.match||!o.test(s))throw new n.A((r&&r+":")+"invalid-version","Expected minor version to be a number, but got '${version}'",{version:t});const a=parseInt(i,10),l=parseInt(s,10);return new e(a,l,r)}}},55674:(e,t,r)=>{r.d(t,{Ad:()=>h,Gj:()=>y,QY:()=>p,lL:()=>g,xR:()=>f});var n=r(66131),i=r(49186),s=(r(44208),r(44729)),o=r(15032),a=r(65864),l=r(95466),c=r(43668),u=r(98623);const d=["geometry","scale","timeProperties"];function p(e,t){if(null!=t)for(const r of d)t.hasArcadeDependency(r)&&e.add(r);return e}function h(e,t){return m.create(e,t,null,["$feature","$view"])}function f(e,t,r){return m.create(e,t,r,["$feature","$view","$config"])}class m{static async create(e,t,r,n){const{arcade:s,Dictionary:o}=await(0,c.l)();let a;try{a=s.parseScript(e)}catch(t){throw new i.A("arcade-bad-expression","Failed to parse arcade script",{script:e,error:t})}const l=s.scriptUsesGeometryEngine(a);l&&await s.enableGeometrySupport(),await s.loadDependentModules(new Set,a,null,!1,l);const u={vars:n.reduce((e,t)=>({...e,[t]:null}),{}),spatialReference:t,useAsync:!1},d=s.compileScript(a,u);let p=null;null!=r&&(p=new o(r),p.immutable=!0);const h=new o;return h.immutable=!1,h.setField("scale",0),new m(e,s,a,d,t,h,p,o)}constructor(e,t,r,n,i,s,o,a){this.script=e,this._arcade=t,this._syntaxTree=r,this._compiled=n,this._spatialReference=i,this._viewDict=s,this._configDict=o,this._dictionaryCtor=a,this._dependencies=new Map,this._featureReader=new y,this._dependencies.set("geometry",t.scriptTouchesGeometry(this._syntaxTree)),this._dependencies.set("scale",this._arcade.referencesMember(this._syntaxTree,"scale")),this._dependencies.set("timeProperties",this._arcade.scriptUsesViewProperties(this._syntaxTree,["timeProperties"]))}evaluate(e,t){const r=t.$view?.timeZone;if(t.$view){let e;if(this._viewDict.setField("scale",t.$view.scale),null!=t.$view.timeProperties){const{currentStart:i,currentEnd:s}=t.$view.timeProperties;e=new this._dictionaryCtor({currentStart:null!=i?null!=r?n.lY.epochToArcadeDate(i,r):n.lY.unknownEpochToArcadeDate(i):void 0,currentEnd:null!=s?null!=r?n.lY.epochToArcadeDate(s,r):n.lY.unknownEpochToArcadeDate(s):void 0,startIncluded:!0,endIncluded:!0})}this._viewDict.setField("timeProperties",e)}return this._compiled({vars:{$view:this._viewDict,$config:this._configDict,$feature:e},spatialReference:this._spatialReference,timeZone:r})}repurposeFeature(e,t){return this._featureReader.bind(e,t,this._spatialReference),this._featureReader}references(e){return this._dependencies.get(e)??!1}}class y{constructor(){this._boundTarget=null,this._boundSchema={fields:null,fieldsIndex:null,spatialReference:null,get geometryType(){return null},get objectIdField(){return null}},this.arcadeDeclaredClass="esri.arcade.Feature",this._contextTimeZone=null}bind(e,t,r){const n=t??new l.A(g(e.attributes));this._boundTarget=e,this._boundSchema.fields=n.fields,this._boundSchema.fieldsIndex=n,this._boundSchema.spatialReference=r}_getField(e){return this._boundSchema.fieldsIndex.get(e)}get contextTimeZone(){return this._contextTimeZone}set contextTimeZone(e){this._contextTimeZone=e}readArcadeFeature(){return this}hasField(e){return this._boundSchema.fieldsIndex.has(e)}geometry(){if("fromJSON"in this._boundTarget)return this._boundTarget.geometry;const e=(0,a.rS)(this._boundTarget.geometry);if(e){if(!this._boundSchema.spatialReference)throw new Error("InternalError: Expected spatial reference to be defined");e.spatialReference=this._boundSchema.spatialReference}return e}_hasGeometry(){return null!=this._boundTarget.geometry}isUnknownDateTimeField(e){return this._boundSchema.fieldsIndex.getTimeZone(e)===u.L5}field(e,t=!0){const r=this._getField(e);if(r){const t=this._boundTarget.attributes[r.name];if(null==t)return null;switch(r.type){case"date-only":case"esriFieldTypeDateOnly":return s.n.fromReader(t);case"time-only":case"esriFieldTypeTimeOnly":return o.k.fromReader(t);case"esriFieldTypeTimestampOffset":case"timestamp-offset":return n.lY.fromReaderAsTimeStampOffset(t);case"date":case"esriFieldTypeDate":return this.isUnknownDateTimeField(e)?n.lY.unknownEpochToArcadeDate(t):n.lY.epochToArcadeDate(t,this.contextTimeZone??u.qU);default:return t}}if(t)throw new Error(`Field ${e} does not exist`);return null}setField(e,t){throw new Error("Unable to update feature attribute values, feature is readonly")}keys(){return this._boundSchema.fieldsIndex.fields.map(e=>e.name)}isEmpty(){return this._boundSchema.fields.length<=0&&!this._hasGeometry()}castToText(e=!1){return JSON.stringify(this._boundTarget)}gdbVersion(){return null}fullSchema(){return this._boundSchema}castAsJson(e=null){return{attributes:this._boundTarget.attributes,geometry:!0===e?.keepGeometryType?this.geometry():this.geometry()?.toJSON()??null}}castAsJsonAsync(e=null,t=null){return Promise.resolve(this.castAsJson(t))}}function g(e){const t=[];for(const r in e)t.push({name:r,alias:r,type:"string"==typeof e[r]?"esriFieldTypeString":"esriFieldTypeDouble"});return t}},58501:(e,t,r)=>{r.d(t,{q:()=>i});var n=r(62815);function i(e,t,r){if(!r?.features||!r.hasZ)return;const i=(0,n.N)(r.geometryType,t,e.outSpatialReference);if(i)for(const e of r.features)i(e.geometry)}},73681:(e,t,r)=>{r.d(t,{n:()=>l});var n=r(49186),i=r(53966),s=r(46140),o=r(95466),a=r(55674);class l{static async from(e,t,r){const o=e.dictionary_version?s.R.parse(e.dictionary_version):null,u=new Set(e.itemsNames),d={};if(t)for(const e in t)d[e]=t[e];if(e.authoringInfo.configuration)for(const t of e.authoringInfo.configuration)d.hasOwnProperty(t.name)||(d[t.name]=t.value);const p=new Set(e.authoringInfo.symbol);for(const e of Object.keys(r))p.delete(e);p.size&&i.A.getLogger("esri.renderers.support.DictionaryScriptEvaluator").warnOnce("missing-fields: fieldMap entries for the following symbol fields are missing",{symbolFields:p});const h=await(0,a.xR)(e.expression,null,d);if(!h)throw new n.A("dictionary-renderer:expression-error","Unable to create dictionary renderer expression");const f=!o||!o.greaterEqual(4,0);f&&i.A.getLogger("esri.renderers.support.DictionaryScriptEvaluator").warnOnce("Dictionary script does not support native field types. Applying fallback",{version:o});const m=new c(r,f);return new l(f,u,h,m)}constructor(e,t,r,n){this._requiresFieldCoercionToString=e,this._itemNames=t,this._compiled=r,this._reader=n}get itemNames(){return this._itemNames}evaluate(e,t,r,n){try{return this._reader.bind(e,r,n),this._compiled.evaluate(this._reader,{$view:{scale:t}})}catch(e){i.A.getLogger("esri.renderers.support.DictionaryScriptEvaluator").warnOnce("arcade: dictionary script evaluation failed",{error:e})}return null}createDictionaryFieldsIndex(e){if(!this._requiresFieldCoercionToString)return new o.A(e);const t=e.map(e=>({...e,type:"esriFieldTypeString"}));return new o.A(t)}}class c extends a.Gj{constructor(e,t){super(),this._fieldMap=e,this._requiresFieldCoercionToString=t}_getField(e){const t=this._fieldMap[e]??e;return this._boundSchema.fieldsIndex.get(t)}field(e){if(!this._requiresFieldCoercionToString)return super.field(e,!1);const t=this._getField(e);return null==t||null==this._boundTarget.attributes[t.name]?"":""+this._boundTarget.attributes[t.name]}}},91880:(e,t,r)=>{r.d(t,{A:()=>c});var n,i=r(31635),s=r(66552),o=r(25482),a=r(91429);const l=new s.J({asc:"ascending",desc:"descending"});let c=class extends o.o{static{n=this}constructor(e){super(e),this.field=null,this.valueExpression=null,this.order="ascending"}clone(){return new n({field:this.field,valueExpression:this.valueExpression,order:this.order})}};(0,i.Cg)([(0,a.MZ)({type:String,json:{write:!0}})],c.prototype,"field",void 0),(0,i.Cg)([(0,a.MZ)({type:String,json:{write:!0,origins:{"web-scene":{read:!1,write:!1}}}})],c.prototype,"valueExpression",void 0),(0,i.Cg)([(0,a.MZ)({type:l.apiValues,json:{type:l.jsonValues,read:l.read,write:l.write}})],c.prototype,"order",void 0),c=n=(0,i.Cg)([(0,a.$K)("esri.layers.support.OrderByInfo")],c)}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[744],{159:(e,t,n)=>{n.d(t,{A:()=>a});var i,r=n(31635),o=n(69622),s=n(91429),l=n(99157);let a=i=class extends o.A{constructor(e){super(e),this.steps=[]}getInverse(){const e=new i;for(let t=this.steps.length-1;t>=0;t--){const n=this.steps[t];e.steps.push(n.getInverse())}return e}};(0,r.Cg)([(0,s.MZ)({type:[l.A],nonNullable:!0})],a.prototype,"steps",void 0),a=i=(0,r.Cg)([(0,s.$K)("esri.geometry.operators.support.GeographicTransformation")],a)},4197:(e,t,n)=>{n.d(t,{Vj:()=>u,cj:()=>a,jh:()=>o,l5:()=>l,xm:()=>s});var i=n(34275),r=n(9093);function o(e){return e<=i.y9?new Array(e).fill(0):new Float64Array(e)}function s(e){return((0,i.iu)(e)?e.byteLength/8:e.length)<=i.y9?Array.from(e):new Float64Array(e)}function l(e,t,n){return Array.isArray(e)?e.slice(t,t+n):e.subarray(t,t+n)}function a(e){return[...e]}function u(e){const t=(0,r.vt)();for(let n=0;n<16;++n)t[n]=e[n];return t}},9093:(e,t,n)=>{function i(){return[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]}function r(e){return[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15]]}n.d(t,{o8:()=>r,vt:()=>i,zK:()=>o});const o=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];Object.freeze(Object.defineProperty({__proto__:null,IDENTITY:o,clone:r,create:i,fromValues:function(e,t,n,i,r,o,s,l,a,u,p,c,f,d,y,h){return[e,t,n,i,r,o,s,l,a,u,p,c,f,d,y,h]}},Symbol.toStringTag,{value:"Module"}))},9762:(e,t,n)=>{n.r(t),n.d(t,{projectBuffer:()=>r});var i=n(37539);function r(e,t,n,r,o,s,l=Math.floor(e.length/3)){const a=(0,i.jd)(t,o);if(null==a)return!1;if(a===i.pO){if(e===r&&n===s)return!0;const t=n+3*l;for(let i=n,o=s;i<t;i++,o++)r[o]=e[i]??0;return!0}const u=n+3*l;for(let t=n,i=s;t<u;t+=3,i+=3)a(e,t,r,i);return!0}},16494:(e,t,n)=>{n.d(t,{Nd:()=>l,W5:()=>s});var i=n(37330);const r=["dd","dl","dt","h1","h2","h3","h4","h5","h6","sub","sup","animate","animatetransform","circle","clippath","defs","ellipse","g","image","line","lineargradient","marker","mask","path","pattern","polygon","polyline","radialgradient","rect","stop","svg","switch","symbol","text","textpath","tspan","use"].reduce((e,t)=>(e[t]=[],e),{}),o=["align","alink","alt","bgcolor","border","cellpadding","cellspacing","class","color","cols","colspan","coords","d","dir","face","height","hspace","ismap","lang","marginheight","marginwidth","multiple","nohref","noresize","noshade","nowrap","ref","rel","rev","rows","rowspan","scrolling","shape","span","summary","tabindex","title","usemap","valign","value","vlink","vspace","width"],s=new i.I({whiteList:r,onTagAttr:(e,t,n)=>{const i=`${t}="${n}"`;if(o.includes(t))return i},stripIgnoreTag:!0,stripIgnoreTagBody:["script","style"]},!0),l=new i.I({whiteList:{br:[]},stripIgnoreTag:!0,escapeHtml:e=>e},!1)},17136:(e,t,n)=>{n.d(t,{Y_:()=>A,O7:()=>I,el:()=>S});var i=n(92602),r=n(69052),o=n(49186),s=n(53966),l=n(39829),a=n(82799),u=n(16930),p=n(80754),c=n(21325),f=n(28735),d=n(11254),y=n(65864),h=n(2272),m=n(84952),g=n(92300);const M=()=>s.A.getLogger("esri.geometry.support.normalizeUtils");function b(e){return"polygon"===e[0].type}function w(e){return"polyline"===e[0].type}function v(e,t,n){if(t){const t=function(e,t){if(!(e instanceof a.A||e instanceof l.A)){const e="straightLineDensify: the input geometry is neither polyline nor polygon";throw M().error(e),new o.A("internal:geometry",e)}const n=(0,p.r8)(e),i=[];for(const e of n){const n=[];i.push(n),n.push([e[0][0],e[0][1]]);for(let i=0;i<e.length-1;i++){const r=e[i][0],o=e[i][1],s=e[i+1][0],l=e[i+1][1],a=Math.sqrt((s-r)*(s-r)+(l-o)*(l-o)),u=(l-o)/a,p=(s-r)/a,c=a/t;if(c>1){for(let e=1;e<=c-1;e++){const i=e*t,s=p*i+r,l=u*i+o;n.push([s,l])}const e=(a+Math.floor(c-1)*t)/2,i=p*e+r,s=u*e+o;n.push([i,s])}n.push([s,l])}}return function(e){return"polygon"===e.type}(e)?new l.A({rings:i,spatialReference:e.spatialReference}):new a.A({paths:i,spatialReference:e.spatialReference})}(e,1e6);e=(0,f.ci)(t,!0)}return n&&(e=(0,p.kS)(e,n)),e}function x(e,t,n){if(Array.isArray(e)){const i=e[0];if(i>t){const n=(0,p.kd)(i,t);e[0]=i+n*(-2*t)}else if(i<n){const t=(0,p.kd)(i,n);e[0]=i+t*(-2*n)}}else{const i=e.x;if(i>t){const n=(0,p.kd)(i,t);e=e.clone().offset(n*(-2*t),0)}else if(i<n){const t=(0,p.kd)(i,n);e=e.clone().offset(t*(-2*n),0)}}return e}function T(e,t){let n=-1;for(let i=0;i<t.cutIndexes.length;i++){const r=t.cutIndexes[i],o=t.geometries[i],s=(0,p.r8)(o);for(let e=0;e<s.length;e++){const t=s[e];t.some(n=>{if(n[0]<180)return!0;{let n=0;for(let e=0;e<t.length;e++){const i=t[e][0];n=i>n?i:n}n=Number(n.toFixed(9));const i=-360*(0,p.kd)(n,180);for(let n=0;n<t.length;n++){const t=o.getPoint(e,n);o.setPoint(e,n,t.clone().offset(i,0))}return!0}})}if(r===n){if(b(e))for(const t of(0,p.r8)(o))e[r]=e[r].addRing(t);else if(w(e))for(const t of(0,p.r8)(o))e[r]=e[r].addPath(t)}else n=r,e[r]=o}return e}async function S(e,t,n){if(!Array.isArray(e))return S([e],t);t&&"string"!=typeof t&&M().warn("normalizeCentralMeridian()","The url object is deprecated, use the url string instead");const r="string"==typeof t?t:t?.url??i.A.geometryServiceUrl;let o,s,u,b,w,I,C,A,O=0;const F=[],R=[];for(const t of e)if(null!=t)if(o||(o=t.spatialReference,s=(0,c.Vp)(o),u=o.isWebMercator,I=u?102100:4326,b=p.j7[I].maxX,w=p.j7[I].minX,C=p.j7[I].plus180Line,A=p.j7[I].minus180Line),s)if("mesh"===t.type)R.push(t);else if("point"===t.type)R.push(x(t.clone(),b,w));else if("multipoint"===t.type){const e=t.clone();e.points=e.points.map(e=>x(e,b,w)),R.push(e)}else if("extent"===t.type){const e=t.clone()._normalize(!1,!1,s);R.push(e.rings?new l.A(e):e)}else if(t.extent){const e=t.extent,n=(0,p.kd)(e.xmin,w)*(2*b);let i=0===n?t.clone():(0,p.kS)(t.clone(),n);e.offset(n,0);let{xmin:r,xmax:o}=e;r=Number(r.toFixed(9)),o=Number(o.toFixed(9)),e.intersects(C)&&o!==b?(O=o>O?o:O,i=v(i,u),F.push(i),R.push("cut")):e.intersects(A)&&r!==w?(O=o*(2*b)>O?o*(2*b):O,i=v(i,u,360),F.push(i),R.push("cut")):R.push(i)}else R.push(t.clone());else R.push(t);else R.push(t);let N=(0,p.kd)(O,b),_=-90;const j=N,Z=new a.A;for(;N>0;){const e=360*N-180;Z.addPath([[e,_],[e,-1*_]]),_*=-1,N--}if(F.length>0&&j>0){const t=T(F,await async function(e,t,n,i){const r=(0,h.Dl)(e),o=t[0].spatialReference,s={...i,responseType:"json",query:{...r.query,f:"json",sr:(0,c.YX)(o),target:JSON.stringify({geometryType:(0,y.$B)(t[0]),geometries:t}),cutter:JSON.stringify(n)}},l=await(0,d.A)(r.path+"/cut",s),{cutIndexes:a,geometries:u=[]}=l.data;return{cutIndexes:a,geometries:u.map(e=>{const t=(0,y.rS)(e);return t.spatialReference=o,t})}}(r,F,Z,n)),i=[],o=[];for(let n=0;n<R.length;n++){const r=R[n];if("cut"!==r)o.push(r);else{const r=t.shift(),s=e[n];null!=s&&"polygon"===s.type&&s.rings&&s.rings.length>1&&r.rings.length>=s.rings.length?(i.push(r),o.push("simplify")):o.push(u?(0,f.Gh)(r):r)}}if(!i.length)return o;const s=await async function(e,t,n){const i="string"==typeof e?(0,m.An)(e):e,r=t[0].spatialReference,o=(0,y.$B)(t[0]),s={...n,query:{...i.query,f:"json",sr:(0,c.YX)(r),geometries:JSON.stringify((0,g.X)(t))}},{data:l}=await(0,d.A)(i.path+"/simplify",s);return(0,g.V)(l.geometries,o,r)}(r,i,n),l=[];for(let e=0;e<o.length;e++){const t=o[e];"simplify"!==t?l.push(t):l.push(u?(0,f.Gh)(s.shift()):s.shift())}return l}const L=[];for(let e=0;e<R.length;e++){const t=R[e];if("cut"!==t)L.push(t);else{const e=F.shift();L.push(!0===u?(0,f.Gh)(e):e)}}return L}function I(e,t,n){const i=(0,c.Vp)(n);if(null==i)return e;const[r,o]=i.valid,s=2*o;let l=0,a=0;t>o?l=Math.ceil(Math.abs(t-o)/s):t<r&&(l=-Math.ceil(Math.abs(t-r)/s)),e>o?a=Math.ceil(Math.abs(e-o)/s):e<r&&(a=-Math.ceil(Math.abs(e-r)/s));let u=e+(l-a)*s;const p=u-t;return p>o?u-=s:p<r&&(u+=s),u}function C(e){const t=(0,c.Vp)(e);if(null==t)return null;const[n,i]=t.valid;return new r.hr(n,i)}const A=C(u.A.WGS84);C(u.A.WebMercator)},17311:(e,t,n)=>{n.d(t,{A:()=>d});var i=n(31635),r=n(69622),o=n(4576),s=n(60999),l=n(7762),a=n(16494),u=n(91429),p=n(30524),c=n(43668);const f=/<br\s*\/*>/gi;let d=class extends r.A{constructor(e){super(e),this._featureUtils=null,this.effectivePopupTemplate=null}get _arcadeTask(){return this.expressionsUsedInTitle.length>0?this._get("_arcadeTask")||(0,s.UT)(()=>(0,c.l)()):null}get featureUtilsPromise(){return this._get("featureUtilsPromise")??n.e(9926).then(n.bind(n,29926)).then(e=>this._featureUtils=e)}get calculatedExpressions(){const e=new l.A;if(!this.expressionsUsedInTitle.length)return e;if(!this._arcadeTask?.value){for(const t of this.expressionsUsedInTitle??[])e.push({name:t.name,invalid:!0});return e}for(const t of this.expressionsUsedInTitle)try{const n=this._arcadeTask.value.arcade.parseScript(t.expression,["$layer","$map","$datastore"]);if(n.isAsync){e.push({name:t.name,invalid:!0});break}e.push({name:t.name,syntax:n,invalid:!1,func:this._arcadeTask.value.arcade.compileScript(n,{vars:{$feature:"any"}})})}catch{e.push({name:t.name,invalid:!0});break}return e}get expressionsUsedInTitle(){let e=this.effectivePopupTemplate?.title??"";return"string"!=typeof e?[]:(e=e.toLowerCase(),this.effectivePopupTemplate?.expressionInfos?.filter(t=>e.includes(`{expression/${t.name.toLowerCase()}}`))??[])}get fieldInfoMap(){return this._featureUtils?this._createFieldInfoMap(this._featureUtils.getAllFieldInfos(this.effectivePopupTemplate)):null}get hasBadExpressions(){return this.calculatedExpressions.some(e=>!0===e.invalid)}get requiredFields(){const e=new Set;if(this._arcadeTask?.value&&!this.hasBadExpressions)for(const t of this.calculatedExpressions?.toArray()??[])try{const n=this._arcadeTask.value.arcade.extractFieldLiterals(t.syntax);for(const t of n){const n=t.split("."),i=this.fieldsIndex.get(n.at(-1)??"");i&&e.add(i.name)}}catch{}const t=this._extractFieldNames(this.workingTitle);for(const n of t){const t=this.fieldsIndex.get(n);t&&e.add(t.name)}return null!=this.objectIdField&&e.add(this.objectIdField),e}get titleFromDisplayField(){let e="";return this.displayField&&(e=this.fieldsIndex.get(this.displayField)?.name??""),e||(e=this.fieldsIndex.get(this.objectIdField)?.name??""),e?`{${e}}`:""}get workingTitle(){const e=this.effectivePopupTemplate?this.effectivePopupTemplate.title:"";return""===e||null==e||this.hasBadExpressions||"string"!=typeof e?this.titleFromDisplayField:e}async getTitle(e,t,n){const i=t.getObjectId()??t.attributes[e.objectIdField];return(await this.getTitles(e,[t],n)).get(i)??""}async getTitles(e,t,n){const i=new Map,r=n?.timeZone??"system";try{const[{substituteFieldsInLinksAndAttributes:o}]=await Promise.all([this.featureUtilsPromise,this._arcadeTask?.promise]);n?.fetchMissingFields&&(t=await this._checkAndReQueryGraphics(e,t));const{fieldInfoMap:s,workingTitle:l}=this,u=l&&s;t.forEach(t=>{const p=t.getObjectId()??t.attributes[e.objectIdField];let c=u?o({attributes:t.attributes,expressionAttributes:null,fieldInfoMap:s,globalAttributes:this._createFormattedAttributes(e,t,r).global,layer:e,text:l}):"";n?.removeHTML&&(c=a.Nd.sanitize(c).replaceAll(f," ")),i.set(p,c)})}catch{}return i}async _checkAndReQueryGraphics(e,t){const n=t.map(t=>t.getObjectId()??t.attributes[e.objectIdField]).filter(o.Ru);if(n.length!==t.length)return t;if(t.some(e=>!(0,p.Kl)(e,this.requiredFields))){const i=e.createQuery();i.where="1=1",i.outFields=[...this.requiredFields],i.objectIds=n;const r=await e.queryFeatures(i);if(r?.features.length===t.length)return r.features}return t}_createFieldInfoMap(e){const t=new Map;if(!e)return t;for(const n of e){if(!n.fieldName)continue;const e=this.fieldsIndex.get(n.fieldName),i=e?.name??n.fieldName;n.fieldName=i,t.set(i.toLowerCase(),n)}return t}_createFormattedAttributes(e,t,n="system"){const i=this.effectivePopupTemplate?.fieldInfos??[],r={};if(!this._featureUtils)return{};if(!this.hasBadExpressions&&this.calculatedExpressions.length>0&&this._arcadeTask?.value){const n=this._arcadeTask.value.Feature.createFromGraphicLikeObject(t.geometry,t.attributes,e,null);for(const e of this.calculatedExpressions)try{r[`expression/${e.name}`]=e.func({vars:{$feature:n}})}catch{}}const o={...t.attributes,...r};return{global:this._featureUtils.formatAttributes({fieldInfos:i,attributes:o,graphic:t,timeZone:n,layer:e,fieldInfoMap:this.fieldInfoMap}),content:[]}}_extractFieldNames(e){return(0,p.nw)(e).filter(e=>!(e.startsWith("relationships/")||e.startsWith("expression/")))}};(0,i.Cg)([(0,u.MZ)({readOnly:!0})],d.prototype,"_arcadeTask",null),(0,i.Cg)([(0,u.MZ)()],d.prototype,"_featureUtils",void 0),(0,i.Cg)([(0,u.MZ)({readOnly:!0})],d.prototype,"featureUtilsPromise",null),(0,i.Cg)([(0,u.MZ)({readOnly:!0})],d.prototype,"calculatedExpressions",null),(0,i.Cg)([(0,u.MZ)()],d.prototype,"displayField",void 0),(0,i.Cg)([(0,u.MZ)()],d.prototype,"effectivePopupTemplate",void 0),(0,i.Cg)([(0,u.MZ)()],d.prototype,"expressionsUsedInTitle",null),(0,i.Cg)([(0,u.MZ)()],d.prototype,"fieldsIndex",void 0),(0,i.Cg)([(0,u.MZ)()],d.prototype,"fieldInfoMap",null),(0,i.Cg)([(0,u.MZ)()],d.prototype,"fields",void 0),(0,i.Cg)([(0,u.MZ)()],d.prototype,"objectIdField",void 0),(0,i.Cg)([(0,u.MZ)()],d.prototype,"requiredFields",null),d=(0,i.Cg)([(0,u.$K)("esri.layers.support.TitleCreator")],d)},22671:(e,t,n)=>{n.d(t,{A:()=>g});var i,r=n(31635),o=n(52106),s=n(66552),l=n(25482),a=n(4718),u=n(91429),p=n(16930),c=n(65864),f=n(50498),d=n(20437),y=n(36005),h=n(43937);const m=new s.J({esriGeometryPoint:"point",esriGeometryMultipoint:"multipoint",esriGeometryPolyline:"polyline",esriGeometryPolygon:"polygon",esriGeometryEnvelope:"extent",mesh:"mesh","":null});let g=i=class extends l.o{constructor(e){super(e),this.displayFieldName=null,this.exceededTransferLimit=!1,this.features=[],this.fields=null,this.geometryType=null,this.hasM=!1,this.hasZ=!1,this.queryGeometry=null,this.spatialReference=null}readFeatures(e,t){return this.readFeaturesWithClass(e,t,o.A)}writeGeometryType(e,t,n,i){if(e)return void m.write(e,t,n,i);const{features:r}=this;if(r)for(const e of r)if(null!=e?.geometry)return void m.write(e.geometry.type,t,n,i)}readQueryGeometry(e,t){if(!e)return null;const n=!!e.spatialReference,i=(0,c.rS)(e);return i&&!n&&t.spatialReference&&(i.spatialReference=p.A.fromJSON(t.spatialReference)),i}writeSpatialReference(e,t){if(e)return void(t.spatialReference=e.toJSON());const{features:n}=this;if(n)for(const e of n)if(e&&null!=e.geometry&&e.geometry.spatialReference)return void(t.spatialReference=e.geometry.spatialReference.toJSON())}clone(){return new i(this.cloneProperties())}cloneProperties(){return(0,a.o8)({displayFieldName:this.displayFieldName,exceededTransferLimit:this.exceededTransferLimit,features:this.features,fields:this.fields,geometryType:this.geometryType,hasM:this.hasM,hasZ:this.hasZ,queryGeometry:this.queryGeometry,spatialReference:this.spatialReference,transform:this.transform})}toJSON(e){const t=this.write();if(t.features&&Array.isArray(e)&&e.length>0)for(let n=0;n<t.features.length;n++){const i=t.features[n];if(i.geometry){const t=e?.[n];i.geometry=t?.toJSON()||i.geometry}}return t}quantize(e){const{scale:[t,n],translate:[i,r]}=e,o=this.features,s=this._getQuantizationFunction(this.geometryType,e=>Math.round((e-i)/t),e=>Math.round((r-e)/n));for(let e=0,t=o.length;e<t;e++)s?.(o[e].geometry)||(o.splice(e,1),e--,t--);return this.transform=e,this}unquantize(){const{geometryType:e,features:t,transform:n}=this;if(!n)return this;const{translate:[i,r],scale:[o,s]}=n;let l=null,a=null;if(this.hasZ&&null!=n?.scale?.[2]){const{translate:[,,e],scale:[,,t]}=n;l=n=>n*t+e}if(this.hasM&&null!=n?.scale?.[3]){const{translate:[,,,e],scale:[,,,t]}=n;a=n=>null==n?n:n*t+e}const u=this._getHydrationFunction(e,e=>e*o+i,e=>r-e*s,l,a);for(const{geometry:e}of t)null!=e&&u&&u(e);return this.transform=null,this}readFeaturesWithClass(e,t,n){const i=p.A.fromJSON(t.spatialReference),r=[];for(let t=0;t<e.length;t++){const o=e[t],s=n.fromJSON(o),l=o.geometry?.spatialReference;null==s.geometry||l||(s.geometry.spatialReference=i);const a=o.aggregateGeometries,u=s.aggregateGeometries;if(a&&null!=u)for(const e in u){const t=u[e],n=a[e],r=n?.spatialReference;null==t||r||(t.spatialReference=i)}r.push(s)}return r}_quantizePoints(e,t,n){let i,r;const o=[];for(let s=0,l=e.length;s<l;s++){const l=e[s];if(s>0){const e=t(l[0]),s=n(l[1]);e===i&&s===r||(o.push([e-i,s-r]),i=e,r=s)}else i=t(l[0]),r=n(l[1]),o.push([i,r])}return o.length>0?o:null}_getQuantizationFunction(e,t,n){return"point"===e?e=>(e.x=t(e.x),e.y=n(e.y),e):"polyline"===e||"polygon"===e?e=>{const i=(0,c.Bi)(e)?e.rings:e.paths,r=[];for(let e=0,o=i.length;e<o;e++){const o=i[e],s=this._quantizePoints(o,t,n);s&&r.push(s)}return r.length>0?((0,c.Bi)(e)?e.rings=r:e.paths=r,e):null}:"multipoint"===e?e=>{const i=this._quantizePoints(e.points,t,n);return i&&i.length>0?(e.points=i,e):null}:"extent"===e?e=>e:null}_getHydrationFunction(e,t,n,i,r){return"point"===e?e=>{e.x=t(e.x),e.y=n(e.y),i&&(e.z=i(e.z))}:"polyline"===e||"polygon"===e?e=>{const o=(0,c.Bi)(e)?e.rings:e.paths;let s,l;for(let e=0,i=o.length;e<i;e++){const i=o[e];for(let e=0,r=i.length;e<r;e++){const r=i[e];e>0?(s+=r[0],l+=r[1]):(s=r[0],l=r[1]),r[0]=t(s),r[1]=n(l)}}if(i&&r)for(let e=0,t=o.length;e<t;e++){const t=o[e];for(let e=0,n=t.length;e<n;e++){const n=t[e];n[2]=i(n[2]),n[3]=r(n[3])}}else if(i)for(let e=0,t=o.length;e<t;e++){const t=o[e];for(let e=0,n=t.length;e<n;e++){const n=t[e];n[2]=i(n[2])}}else if(r)for(let e=0,t=o.length;e<t;e++){const t=o[e];for(let e=0,n=t.length;e<n;e++){const n=t[e];n[2]=r(n[2])}}}:"extent"===e?e=>{e.xmin=t(e.xmin),e.ymin=n(e.ymin),e.xmax=t(e.xmax),e.ymax=n(e.ymax),i&&null!=e.zmax&&null!=e.zmin&&(e.zmax=i(e.zmax),e.zmin=i(e.zmin)),r&&null!=e.mmax&&null!=e.mmin&&(e.mmax=r(e.mmax),e.mmin=r(e.mmin))}:"multipoint"===e?e=>{const o=e.points;let s,l;for(let e=0,i=o.length;e<i;e++){const i=o[e];e>0?(s+=i[0],l+=i[1]):(s=i[0],l=i[1]),i[0]=t(s),i[1]=n(l)}if(i&&r)for(let e=0,t=o.length;e<t;e++){const t=o[e];t[2]=i(t[2]),t[3]=r(t[3])}else if(i)for(let e=0,t=o.length;e<t;e++){const t=o[e];t[2]=i(t[2])}else if(r)for(let e=0,t=o.length;e<t;e++){const t=o[e];t[2]=r(t[2])}}:null}};(0,r.Cg)([(0,u.MZ)({type:String,json:{write:!0}})],g.prototype,"displayFieldName",void 0),(0,r.Cg)([(0,u.MZ)({type:Boolean,json:{write:{overridePolicy:e=>({enabled:e})}}})],g.prototype,"exceededTransferLimit",void 0),(0,r.Cg)([(0,u.MZ)({type:[o.A],json:{write:!0}})],g.prototype,"features",void 0),(0,r.Cg)([(0,y.w)("features")],g.prototype,"readFeatures",null),(0,r.Cg)([(0,u.MZ)({type:[d.A],json:{write:!0}})],g.prototype,"fields",void 0),(0,r.Cg)([(0,u.MZ)({type:["point","multipoint","polyline","polygon","extent","mesh"],json:{read:{reader:m.read}}})],g.prototype,"geometryType",void 0),(0,r.Cg)([(0,h.K)("geometryType")],g.prototype,"writeGeometryType",null),(0,r.Cg)([(0,u.MZ)({type:Boolean,json:{write:{overridePolicy:e=>({enabled:e})}}})],g.prototype,"hasM",void 0),(0,r.Cg)([(0,u.MZ)({type:Boolean,json:{write:{overridePolicy:e=>({enabled:e})}}})],g.prototype,"hasZ",void 0),(0,r.Cg)([(0,u.MZ)({types:f.yR,json:{write:!0}})],g.prototype,"queryGeometry",void 0),(0,r.Cg)([(0,y.w)("queryGeometry")],g.prototype,"readQueryGeometry",null),(0,r.Cg)([(0,u.MZ)({type:p.A,json:{write:!0}})],g.prototype,"spatialReference",void 0),(0,r.Cg)([(0,h.K)("spatialReference")],g.prototype,"writeSpatialReference",null),(0,r.Cg)([(0,u.MZ)({json:{write:!0}})],g.prototype,"transform",void 0),g=i=(0,r.Cg)([(0,u.$K)("esri.rest.support.FeatureSet")],g),g.prototype.toJSON.isDefaultToJSON=!0},33032:(e,t,n)=>{n.d(t,{H:()=>r,L:()=>i});const i=1;function r(e,t){let n=0;for(const i of t){const t=i.attributes?.[e];"number"==typeof t&&isFinite(t)&&(n=Math.max(n,t))}return n}},33143:(e,t,n)=>{n.d(t,{A:()=>c});var i=n(31635),r=n(69540),o=n(25482),s=n(91429),l=n(8631),a=n(29005),u=n(36005),p=n(43937);let c=class extends((0,r.OU)(o.o)){constructor(e){super(e),this.id=null,this.name=null,this.domains=null,this.templates=null}readDomains(e){const t={};for(const n of Object.keys(e))t[n]=(0,l.rS)(e[n]);return t}writeDomains(e,t){const n={};for(const t of Object.keys(e))e[t]&&(n[t]=e[t]?.toJSON());t.domains=n}};(0,i.Cg)([(0,s.MZ)({json:{write:!0}})],c.prototype,"id",void 0),(0,i.Cg)([(0,s.MZ)({json:{write:!0}})],c.prototype,"name",void 0),(0,i.Cg)([(0,s.MZ)({json:{write:!0}})],c.prototype,"domains",void 0),(0,i.Cg)([(0,u.w)("domains")],c.prototype,"readDomains",null),(0,i.Cg)([(0,p.K)("domains")],c.prototype,"writeDomains",null),(0,i.Cg)([(0,s.MZ)({type:[a.A],json:{write:!0}})],c.prototype,"templates",void 0),c=(0,i.Cg)([(0,s.$K)("esri.layers.support.FeatureType")],c)},37352:(e,t,n)=>{n.d(t,{A:()=>a});var i,r=n(31635),o=n(7762),s=n(25482),l=n(91429);let a=i=class extends s.o{constructor(e){super(e),this.floorField=null,this.viewAllMode=!1,this.viewAllLevelIds=new o.A}clone(){return new i({floorField:this.floorField,viewAllMode:this.viewAllMode,viewAllLevelIds:this.viewAllLevelIds})}};(0,r.Cg)([(0,l.MZ)({type:String,json:{write:{isRequired:!0}}})],a.prototype,"floorField",void 0),(0,r.Cg)([(0,l.MZ)({json:{read:!1,write:!1}})],a.prototype,"viewAllMode",void 0),(0,r.Cg)([(0,l.MZ)({json:{read:!1,write:!1}})],a.prototype,"viewAllLevelIds",void 0),a=i=(0,r.Cg)([(0,l.$K)("esri.layers.support.LayerFloorInfo")],a)},37539:(e,t,n)=>{n.d(t,{pO:()=>h,jd:()=>f,Tp:()=>d,w5:()=>c});var i=n(34727),r=n(86211),o=n(73941),s=n(79258);Math.PI;const l=s.$O.radius,a=s.$O.eccentricitySquared,u={a1:l*a,a2:l*a*l*a,a3:l*a*a/2,a4:l*a*l*a*2.5,a5:l*a+l*a*a/2,a6:1-a};s.$O.radius,s.$O.flattening,s.Sw.radius,s.Sw.flattening,s.sH.radius,s.sH.flattening,s.sH.radius;var p=n(21325);const c={2:{5:h,7:null,9:null,10:h,1:T,6:null,8:null,0:null,3:g,11:M,2:h,4:O},5:{5:h,7:null,9:null,10:h,1:T,6:null,8:null,0:null,3:g,11:M,2:h,4:O},7:{5:null,7:h,9:null,10:h,1:null,6:x,8:null,0:null,3:null,11:null,2:null,4:null},9:{5:null,7:null,9:h,10:h,1:null,6:null,8:v,0:null,3:null,11:null,2:null,4:null},3:{5:m,7:null,9:null,10:m,1:function(e,t,n,i){const r=e[t]/Z,o=j-2*Math.atan(Math.exp(-e[t+1]/Z)),s=Z+(e[t+2]??0),l=Math.cos(o)*s;n[i]=Math.cos(r)*l,n[i+1]=Math.sin(r)*l,n[i+2]=Math.sin(o)*s},6:null,8:null,0:null,3:h,11:function(e,t,n,i){m(e,t,n,i),M(n,i,n,i)},2:m,4:function(e,t,n,i){m(e,t,n,i),O(n,i,n,i)}},4:{5:F,7:null,9:null,10:F,1:function(e,t,n,i){F(e,t,n,i),T(n,i,n,i)},6:null,8:null,0:null,3:function(e,t,n,i){F(e,t,n,i),g(n,i,n,i)},11:function(e,t,n,i){F(e,t,n,i),M(n,i,n,i)},2:F,4:h},1:{5:A,7:null,9:null,10:A,1:h,6:null,8:null,0:null,3:function(e,t,n,i){A(e,t,n,i),g(n,i,n,i)},11:function(e,t,n,i){A(e,t,n,i),M(n,i,n,i)},2:A,4:function(e,t,n,i){A(e,t,n,i),O(n,i,n,i)}},6:{5:null,7:C,9:null,10:C,1:null,6:h,8:null,0:null,3:null,11:null,2:null,4:null},8:{5:null,7:null,9:I,10:I,1:null,6:null,8:h,0:null,3:null,11:null,2:null,4:null},0:{5:null,7:null,9:null,10:null,1:null,6:null,8:null,0:h,3:null,11:null,2:null,4:null},10:{5:h,7:h,9:h,10:h,1:T,6:x,8:v,0:null,3:g,11:M,2:h,4:O},11:{5:b,7:null,9:null,10:b,1:function(e,t,n,i){b(e,t,n,i),T(n,i,n,i)},6:null,8:null,0:null,3:function(e,t,n,i){b(e,t,n,i),g(n,i,n,i)},11:h,2:b,4:function(e,t,n,i){b(e,t,n,i),O(n,i,n,i)}}};function f(e,t){return d(e,t)?.projector}function d(e,t){if(null==e||null==t)return null;if(R.source.spatialReference===e&&R.dest.spatialReference===t)return R;const n=y(e,R.source),i=y(t,R.dest);return 0===n&&0===i?(0,p.aI)(e,t)?R.projector=h:R.projector=null:R.projector=c[n][i],R}function y(e,t){return e?t.spatialReference===e?t.spatialReferenceId:(t.spatialReference=e,"metersPerUnit"in t&&(t.metersPerUnit=(0,r.GA)(e,1)),(0,o.jA)(e)?t.spatialReferenceId=1:(0,p.oT)(e)?t.spatialReferenceId=2:(0,p.K8)(e)?t.spatialReferenceId=3:(0,p.r1)(e)?t.spatialReferenceId=11:e.wkt===o.Ro.wkt?t.spatialReferenceId=4:4490===e.wkid?t.spatialReferenceId=5:e.wkt===o.FY.wkt?t.spatialReferenceId=6:e.wkt===o.LJ.wkt?t.spatialReferenceId=8:(0,p.q8)(e)?t.spatialReferenceId=7:(0,p.KQ)(e)?t.spatialReferenceId=9:t.spatialReferenceId=0):0}function h(e,t,n,i){e!==n&&(n[i++]=e[t++],n[i++]=e[t++],n[i]=e[t]??0)}function m(e,t,n,i){n[i]=_*(e[t]/Z),n[i+1]=_*(j-2*Math.atan(Math.exp(-e[t+1]/Z))),n[i+2]=e[t+2]??0}function g(e,t,n,r){!function(e,t,n,r,o){const s=.4999999*Math.PI,l=(0,i.qE)(N*e[t+1],-s,s),a=Math.sin(l);n[r++]=N*e[t]*o.radius,n[r++]=o.halfSemiMajorAxis*Math.log((1+a)/(1-a)),n[r]=e[t+2]??0}(e,t,n,r,s.$O)}function M(e,t,n,i){n[i]=e[t]*L,n[i+1]=e[t+1]*L,n[i+2]=e[t+2]??0}function b(e,t,n,i){n[i]=e[t]*P,n[i+1]=e[t+1]*P,n[i+2]=e[t+2]??0}function w(e,t,n,i,r){const o=r+(e[t+2]??0),s=N*e[t],l=N*e[t+1],a=Math.cos(l)*o;n[i]=Math.cos(s)*a,n[i+1]=Math.sin(s)*a,n[i+2]=Math.sin(l)*o}function v(e,t,n,i){w(e,t,n,i,s.Sw.radius)}function x(e,t,n,i){w(e,t,n,i,s.sH.radius)}function T(e,t,n,i){w(e,t,n,i,s.$O.radius)}function S(e,t,n,r,o){const s=e[t],l=e[t+1],a=e[t+2]??0,u=Math.sqrt(s*s+l*l+a*a),p=(0,i.YN)(a/(0===u?1:u)),c=Math.atan2(l,s);n[r++]=_*c,n[r++]=_*p,n[r]=u-o}function I(e,t,n,i){S(e,t,n,i,s.Sw.radius)}function C(e,t,n,i){S(e,t,n,i,s.sH.radius)}function A(e,t,n,i){S(e,t,n,i,s.$O.radius)}function O(e,t,n,i){!function(e,t,n,i,r){const o=N*e[t],s=N*e[t+1],l=e[t+2]??0,a=Math.sin(s),u=Math.cos(s),p=r.radius/Math.sqrt(1-r.eccentricitySquared*a*a);n[i++]=(p+l)*u*Math.cos(o),n[i++]=(p+l)*u*Math.sin(o),n[i++]=(p*(1-r.eccentricitySquared)+l)*a}(e,t,n,i,s.$O)}function F(e,t,n,i){const r=u,o=e[t],l=e[t+1],a=e[t+2]??0;let p,c,f,d,y,h,m,g,M,b,w,v,x,T,S,I,C,A,O,F,R;p=Math.abs(a),c=o*o+l*l,f=Math.sqrt(c),d=c+a*a,y=Math.sqrt(d),F=Math.atan2(l,o),h=a*a/d,m=c/d,T=r.a2/y,S=r.a3-r.a4/y,m>.3?(g=p/y*(1+m*(r.a1+T+h*S)/y),O=Math.asin(g),b=g*g,M=Math.sqrt(1-b)):(M=f/y*(1-h*(r.a5-T-m*S)/y),O=Math.acos(M),b=1-M*M,g=Math.sqrt(b)),w=1-s.$O.eccentricitySquared*b,v=s.$O.radius/Math.sqrt(w),x=r.a6*v,T=f-v*M,S=p-x*g,C=M*T+g*S,I=M*S-g*T,A=I/(x/w+C),O+=A,R=C+I*A/2,a<0&&(O=-O),n[i++]=_*F,n[i++]=_*O,n[i]=R}const R={source:{spatialReference:null,spatialReferenceId:0,metersPerUnit:1},dest:{spatialReference:null,spatialReferenceId:0,metersPerUnit:1},projector:h},N=(0,i.kU)(1),_=(0,i.KJ)(1),j=.5*Math.PI,Z=s.$O.radius,L=Z*Math.PI/180,P=180/(Z*Math.PI)},41366:(e,t,n)=>{n.d(t,{K:()=>c,Q:()=>a});var i=n(31635),r=n(66552),o=n(53966),s=n(91429),l=n(93223);const a=(0,r.O)()({naturalLog:"natural-log",squareRoot:"square-root",percentOfTotal:"percent-of-total",log:"log",field:"field"}),u="percent-of-total",p="field",c=e=>{const t=e;let n=class extends t{constructor(){super(...arguments),this.normalizationField=null,this.normalizationMaxValue=null,this.normalizationMinValue=null,this.normalizationTotal=null}get normalizationType(){let e=this._get("normalizationType");const t=!!this.normalizationField,n=null!=this.normalizationTotal;return t||n?(e=t&&p||n&&u||null,t&&n&&o.A.getLogger(this).warn("warning: both normalizationField and normalizationTotal are set!")):e!==p&&e!==u||(e=null),e}set normalizationType(e){this._set("normalizationType",e)}};return(0,i.Cg)([(0,s.MZ)({type:String,json:{name:"parameters.normalizationField",write:!0}})],n.prototype,"normalizationField",void 0),(0,i.Cg)([(0,s.MZ)({type:Number,json:{name:"parameters.normalizationMaxValue",write:!0}})],n.prototype,"normalizationMaxValue",void 0),(0,i.Cg)([(0,s.MZ)({type:Number,json:{name:"parameters.normalizationMinValue",write:!0}})],n.prototype,"normalizationMinValue",void 0),(0,i.Cg)([(0,s.MZ)({type:Number,json:{name:"parameters.normalizationTotal",write:!0}})],n.prototype,"normalizationTotal",void 0),(0,i.Cg)([(0,l.e)(a,{name:"parameters.normalizationType"})],n.prototype,"normalizationType",null),n=(0,i.Cg)([(0,s.$K)("esri.rest.support.NormalizationBinParametersMixin")],n),n}},45067:(e,t,n)=>{n.d(t,{A:()=>p});var i=n(31635),r=n(69540),o=n(66552),s=n(25482),l=n(91429);const a=new o.J({esriRelCardinalityOneToOne:"one-to-one",esriRelCardinalityOneToMany:"one-to-many",esriRelCardinalityManyToMany:"many-to-many"}),u=new o.J({esriRelRoleOrigin:"origin",esriRelRoleDestination:"destination"});let p=class extends((0,r.OU)(s.o)){constructor(e){super(e),this.cardinality=null,this.catalogId=null,this.composite=null,this.id=null,this.keyField=null,this.keyFieldInRelationshipTable=null,this.name=null,this.relatedTableId=null,this.relationshipTableId=null,this.role=null}};(0,i.Cg)([(0,l.MZ)({json:{read:a.read,write:a.write}})],p.prototype,"cardinality",void 0),(0,i.Cg)([(0,l.MZ)({json:{name:"catalogID"}})],p.prototype,"catalogId",void 0),(0,i.Cg)([(0,l.MZ)({json:{read:!0,write:!0}})],p.prototype,"composite",void 0),(0,i.Cg)([(0,l.MZ)({json:{read:!0,write:!0}})],p.prototype,"id",void 0),(0,i.Cg)([(0,l.MZ)({json:{read:!0,write:!0}})],p.prototype,"keyField",void 0),(0,i.Cg)([(0,l.MZ)({json:{read:!0,write:!0}})],p.prototype,"keyFieldInRelationshipTable",void 0),(0,i.Cg)([(0,l.MZ)({json:{read:!0,write:!0}})],p.prototype,"name",void 0),(0,i.Cg)([(0,l.MZ)({json:{read:!0,write:!0}})],p.prototype,"relatedTableId",void 0),(0,i.Cg)([(0,l.MZ)({json:{read:!0,write:!0}})],p.prototype,"relationshipTableId",void 0),(0,i.Cg)([(0,l.MZ)({json:{read:u.read,write:u.write}})],p.prototype,"role",void 0),p=(0,i.Cg)([(0,l.$K)("esri.layers.support.Relationship")],p)},50498:(e,t,n)=>{n.d(t,{Ye:()=>c,gy:()=>p,yR:()=>f});var i=n(66552),r=n(5443),o=n(91075),s=n(48526),l=n(86738),a=n(39829),u=n(82799);const p=(0,i.O)()({esriGeometryPoint:"point",esriGeometryMultipoint:"multipoint",esriGeometryPolyline:"polyline",esriGeometryPolygon:"polygon"}),c=(0,i.O)()({esriGeometryPoint:"point",esriGeometryMultipoint:"multipoint",esriGeometryPolyline:"polyline",esriGeometryPolygon:"polygon",esriGeometryEnvelope:"extent",mesh:"mesh"}),f={base:o.A,key:"type",typeMap:{extent:r.A,multipoint:s.A,point:l.A,polyline:u.A,polygon:a.A}}},52106:(e,t,n)=>{n.d(t,{A:()=>v});var i,r=n(31635),o=n(37838),s=n(69540),l=n(51447),a=n(25482),u=n(53966),p=n(36708),c=n(24326),f=n(91429),d=n(12195),y=n(65864),h=n(50498),m=n(55156),g=n(60950),M=n(54339),b=n(33910);function w(e){if(null==e)return null;const t={};for(const n in e){const i=e[n];i&&(t[n]=i.toJSON())}return 0!==Object.keys(t).length?t:null}let v=class extends((0,s.OU)(a.o)){static{i=this}constructor(e){super(e),this.isAggregate=!1,this.layer=null,this.origin=null,this.sourceLayer=null,this._version=0,Object.defineProperty(this,"uid",{value:(0,c.c)(),configurable:!0}),Object.defineProperty(this,"_lastMeshTransform",{value:{},configurable:!0,writable:!0,enumerable:!1}),arguments.length>1&&(0,l.eF)(u.A.getLogger(this),"Graphic",{version:"4.30"})}initialize(){this._watchMeshGeometryChanges()}set aggregateGeometries(e){const t=this._get("aggregateGeometries");JSON.stringify(t)!==JSON.stringify(e)&&this._set("aggregateGeometries",e)}set attributes(e){const t=this._get("attributes");t!==e&&(this._set("attributes",e),this._notifyLayer("attributes",t,e))}set geometry(e){const t=this._get("geometry");t!==e&&(this._set("geometry",e),"mesh"!==e?.type&&this._notifyLayer("geometry",t,e))}set popupTemplate(e){const t=this._get("popupTemplate");t!==e&&(this._set("popupTemplate",e),this._notifyLayer("popupTemplate",t,e))}set symbol(e){const t=this._get("symbol");t!==e&&(this._set("symbol",e),this._notifyLayer("symbol",t,e))}get version(){return this._version}set visible(e){const t=this._get("visible");t!==e&&(this._set("visible",e),this._notifyLayer("visible",t,e))}cloneShallow(){return new i({aggregateGeometries:this.aggregateGeometries,attributes:this.attributes,geometry:this.geometry,isAggregate:this.isAggregate,layer:this.layer,popupTemplate:this.popupTemplate,sourceLayer:this.sourceLayer,symbol:this.symbol,visible:this.visible,origin:this.origin})}getEffectivePopupTemplate(e=!1){if(this.popupTemplate)return this.popupTemplate;const t=(0,g.E_)(this.origin);if(t)return t.popupTemplate??(e?t.defaultPopupTemplate:null)??null;const n=this.origin&&"layer"in this.origin?this.origin.layer:null;for(const t of[n,this.sourceLayer,this.layer])if(t&&"object"==typeof t){if("popupTemplate"in t&&t.popupTemplate)return t.popupTemplate;if(e&&"defaultPopupTemplate"in t&&null!=t.defaultPopupTemplate)return t.defaultPopupTemplate}return null}getAttribute(e){return this.attributes?.[e]}setAttribute(e,t){if(this.attributes){const n=this.getAttribute(e);this.attributes[e]=t,this._notifyLayer("attributes",n,t,e)}else this.attributes={[e]:t}}getObjectId(){const e=(0,m.I)(this.origin);if(e)return(0,M.r)(this,e);const t=this.sourceLayer??this.layer;return t?(0,M.r)(this,t):null}getGlobalId(){const e=(0,m.I)(this.origin);if(e?.globalIdField)return this.getAttribute(e.globalIdField);const t=this.sourceLayer??this.layer;return t&&"globalIdField"in t&&t.globalIdField?this.getAttribute(t.globalIdField):null}toJSON(){return{aggregateGeometries:w(this.aggregateGeometries),geometry:null!=this.geometry?this.geometry.toJSON():null,symbol:null!=this.symbol?this.symbol.toJSON():null,attributes:(0,d.W)(this.attributes)?this.attributes.toJSON():{...this.attributes},popupTemplate:this.popupTemplate?.toJSON()??null}}notifyMeshTransformChanged(e={}){const{geometry:t}=this;if("mesh"===t?.type){const n={origin:t.origin,transform:t.transform};this._notifyLayer("origin-transform",n,n,e.action)}}_notifyLayer(e,t,n,i){if(this._version++,!this.layer||!("graphicChanged"in this.layer))return;const r={graphic:this,property:e,oldValue:t,newValue:n};"origin-transform"===e&&(r.action=i),"attributes"===e&&(r.attributeName=i),this.layer.graphicChanged(r)}_watchMeshGeometryChanges(){this.addHandles([(0,p.z7)(()=>"mesh"===this.geometry?.type&&this.geometry.vertexSpace.origin?{localMatrix:this.geometry.transform?.localMatrix,origin:this.geometry.vertexSpace.origin}:void 0,({localMatrix:e,origin:t})=>{this._lastMeshTransform.localMatrix===e&&this._lastMeshTransform.origin===t||(this._lastMeshTransform.localMatrix=e,this._lastMeshTransform.origin=t,this.notifyMeshTransformChanged())}),(0,p.z7)(()=>"mesh"===this.geometry?.type?{vertexAttributes:this.geometry.vertexAttributes}:void 0,()=>{const e=this.geometry;"mesh"===e?.type&&e.vertexSpace.origin?(this._lastMeshTransform.localMatrix=e.transform?.localMatrix,this._lastMeshTransform.origin=e.vertexSpace.origin):(this._lastMeshTransform.localMatrix=void 0,this._lastMeshTransform.origin=void 0),this._notifyLayer("geometry",this.geometry,this.geometry)},{equals:(e,t)=>e===t,sync:!0})])}};(0,r.Cg)([(0,f.MZ)({value:null,json:{read:function(e){if(!e)return null;const t={};for(const n in e){const i=(0,y.rS)(e[n]);i&&(t[n]=i)}return 0!==Object.keys(t).length?t:null}}})],v.prototype,"aggregateGeometries",null),(0,r.Cg)([(0,f.MZ)({value:null})],v.prototype,"attributes",null),(0,r.Cg)([(0,f.MZ)({value:null,types:h.yR,json:{read:y.rS}})],v.prototype,"geometry",null),(0,r.Cg)([(0,f.MZ)({type:Boolean})],v.prototype,"isAggregate",void 0),(0,r.Cg)([(0,f.MZ)({clonable:!1})],v.prototype,"layer",void 0),(0,r.Cg)([(0,f.MZ)({clonable:"reference"})],v.prototype,"origin",void 0),(0,r.Cg)([(0,f.MZ)({type:o.A,value:null})],v.prototype,"popupTemplate",null),(0,r.Cg)([(0,f.MZ)({clonable:"reference"})],v.prototype,"sourceLayer",void 0),(0,r.Cg)([(0,f.MZ)({value:null,types:b.Es})],v.prototype,"symbol",null),(0,r.Cg)([(0,f.MZ)({clonable:!1,json:{read:!1,write:!1}})],v.prototype,"_version",void 0),(0,r.Cg)([(0,f.MZ)({type:Boolean,value:!0})],v.prototype,"visible",null),v=i=(0,r.Cg)([(0,f.$K)("esri.Graphic")],v)},52136:(e,t,n)=>{n.d(t,{p:()=>o});var i=n(31635),r=n(91429);const o=e=>{const t=e;let n=class extends t{get apiKey(){return this._isOverridden("apiKey")?this._get("apiKey"):"portalItem"in this?this.portalItem?.apiKey:null}set apiKey(e){null!=e?this._override("apiKey",e):(this._clearOverride("apiKey"),this.clear("apiKey","user"))}};return(0,i.Cg)([(0,r.MZ)({type:String})],n.prototype,"apiKey",null),n=(0,i.Cg)([(0,r.$K)("esri.layers.mixins.APIKeyMixin")],n),n}},54339:(e,t,n)=>{function i(e,t){switch(t.type){case"object-id":case"unique-id-simple":return e.attributes[t.fieldName];case"unique-id-composite":{const n=[];for(const i of t.fieldNames)n.push(e.attributes[i]??null);return JSON.stringify(n)}}}function r(e,t){if("uniqueIdFields"in t&&t.uniqueIdFields?.length){if(1===t.uniqueIdFields.length)return e.attributes?.[t.uniqueIdFields[0]];const n=t.uniqueIdFields.map(t=>e.attributes?.[t]);return JSON.stringify(n)}return"objectIdField"in t&&t.objectIdField?e.attributes?.[t.objectIdField]:null}n.d(t,{W:()=>i,r:()=>r})},55156:(e,t,n)=>{n.d(t,{I:()=>r,e:()=>i});const i=Symbol("idFieldsProviderSymbol");function r(e){return(t=e)&&i in t?e[i]:void 0;var t}},58501:(e,t,n)=>{n.d(t,{q:()=>r});var i=n(62815);function r(e,t,n){if(!n?.features||!n.hasZ)return;const r=(0,i.N)(n.geometryType,t,e.outSpatialReference);if(r)for(const e of n.features)r(e.geometry)}},62815:(e,t,n)=>{n.d(t,{N:()=>s});var i=n(86211),r=n(73941),o=n(21325);function s(e,t,n){if(null==t||null==n||n.vcsWkid||(0,o.aI)(t,n)||(0,r.xP)(t)||(0,r.xP)(n))return null;const s=(0,i.G9)(t)/(0,i.G9)(n);if(1===s)return null;switch(e){case"point":case"esriGeometryPoint":return e=>function(e,t){null!=e?.z&&(e.z*=t)}(e,s);case"polyline":case"esriGeometryPolyline":return e=>function(e,t){if(e)for(const n of e.paths)for(const e of n)e.length>2&&(e[2]*=t)}(e,s);case"polygon":case"esriGeometryPolygon":return e=>function(e,t){if(e)for(const n of e.rings)for(const e of n)e.length>2&&(e[2]*=t)}(e,s);case"multipoint":case"esriGeometryMultipoint":return e=>function(e,t){if(e)for(const n of e.points)n.length>2&&(n[2]*=t)}(e,s);case"extent":case"esriGeometryEnvelope":return e=>function(e,t){e&&null!=e.zmin&&null!=e.zmax&&(e.zmin*=t,e.zmax*=t)}(e,s);default:return null}}},69052:(e,t,n)=>{n.d(t,{hr:()=>r,ie:()=>a,uC:()=>l});var i=n(34727);class r{constructor(e,t){this.min=e,this.max=t,this.range=t-e}normalize(e,t=0,n=!1){return o(this.range,this.min,this.max,e,t,n)}clamp(e,t=0){return(0,i.qE)(e-t,this.min,this.max)+t}monotonic(e,t,n){return e<t?t:t+s(this.range,e-t,n)}minimalMonotonic(e,t,n){return o(this.range,e,e+this.range,t,n)}center(e,t,n){return t=this.monotonic(e,t,n),this.normalize((e+t)/2,n)}diff(e,t,n){return this.monotonic(e,t,n)-e}shortestSignedDiff(e,t){e=this.normalize(e);const n=(t=this.normalize(t))-e,i=t<e?this.minimalMonotonic(e,t)-e:t-this.minimalMonotonic(t,e);return Math.abs(n)<Math.abs(i)?n:i}contains(e,t,n){return t=this.minimalMonotonic(e,t),(n=this.minimalMonotonic(e,n))>e&&n<t}}function o(e,t,n,i,r=0,o=!1){return(i-=r)<t?i+=s(e,t-i):i>n&&(i-=s(e,i-n)),o&&i===n&&(i=t),i+r}function s(e,t,n=0){return Math.ceil((t-n)/e)*e+n}const l=new r(0,2*Math.PI),a=(new r(-Math.PI,Math.PI),new r(0,360))},70328:(e,t,n)=>{n.d(t,{BI:()=>b,DC:()=>c,Ej:()=>d,Ie:()=>g,Jt:()=>M,Ne:()=>y,RF:()=>p,aI:()=>v,fA:()=>s,gE:()=>a,hZ:()=>m,iT:()=>f,is:()=>w,qv:()=>x,vI:()=>h,vY:()=>l,v_:()=>T,vt:()=>o,w1:()=>u});var i=n(5443),r=(n(19419),n(4197));function o(e=T){return[e[0],e[1],e[2],e[3],e[4],e[5]]}function s(e,t,n,i,r,s,l=o()){return l[0]=e,l[1]=t,l[2]=n,l[3]=i,l[4]=r,l[5]=s,l}function l(e,t=o()){return function(e,t,n,i=o()){return m(i,x),function(e,t,n=0,i=t.length/3){let r=e[0],o=e[1],s=e[2],l=e[3],a=e[4],u=e[5];for(let e=0;e<i;e++)r=Math.min(r,t[n+3*e]),o=Math.min(o,t[n+3*e+1]),s=Math.min(s,t[n+3*e+2]),l=Math.max(l,t[n+3*e]),a=Math.max(a,t[n+3*e+1]),u=Math.max(u,t[n+3*e+2]);e[0]=r,e[1]=o,e[2]=s,e[3]=l,e[4]=a,e[5]=u}(i,e,t,n),i}(e,0,e.length/3,t)}function a(e,t=(0,r.jh)(24)){const[n,i,o,s,l,a]=e;return t[0]=n,t[1]=i,t[2]=o,t[3]=n,t[4]=i,t[5]=a,t[6]=n,t[7]=l,t[8]=o,t[9]=n,t[10]=l,t[11]=a,t[12]=s,t[13]=i,t[14]=o,t[15]=s,t[16]=i,t[17]=a,t[18]=s,t[19]=l,t[20]=o,t[21]=s,t[22]=l,t[23]=a,t}function u(e,t){const n=isFinite(e[2])||isFinite(e[5]);return new i.A(n?{xmin:e[0],xmax:e[3],ymin:e[1],ymax:e[4],zmin:e[2],zmax:e[5],spatialReference:t}:{xmin:e[0],xmax:e[3],ymin:e[1],ymax:e[4],spatialReference:t})}function p(e,t){e[0]=Math.min(e[0],t[0]),e[1]=Math.min(e[1],t[1]),e[2]=Math.min(e[2],t[2]),e[3]=Math.max(e[3],t[3]),e[4]=Math.max(e[4],t[4]),e[5]=Math.max(e[5],t[5])}function c(e,t){e[0]=Math.min(e[0],t[0]),e[1]=Math.min(e[1],t[1]),e[3]=Math.max(e[3],t[2]),e[4]=Math.max(e[4],t[3])}function f(e,t){e[0]=Math.min(e[0],t[0]),e[1]=Math.min(e[1],t[1]),e[2]=Math.min(e[2],t[2]),e[3]=Math.max(e[3],t[0]),e[4]=Math.max(e[4],t[1]),e[5]=Math.max(e[5],t[2])}function d(e,t=[0,0,0]){return t[0]=function(e){return e[0]>=e[3]?0:e[3]-e[0]}(e),t[1]=function(e){return e[1]>=e[4]?0:e[4]-e[1]}(e),t[2]=function(e){return e[2]>=e[5]?0:e[5]-e[2]}(e),t}function y(e,t,n=e){return n[0]=t[0],n[1]=t[1],n[2]=t[2],n!==e&&(n[3]=e[3],n[4]=e[4],n[5]=e[5]),n}function h(e,t,n=e){return n[3]=t[0],n[4]=t[1],n[5]=t[2],n!==e&&(n[0]=e[0],n[1]=e[1],n[2]=e[2]),e}function m(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e}function g(e){return e?m(e,x):o(x)}function M(e,t){return e[0]=t[0],e[1]=t[1],e[2]=Number.NEGATIVE_INFINITY,e[3]=t[2],e[4]=t[3],e[5]=Number.POSITIVE_INFINITY,e}function b(e,t,n,i,r){return e[0]=t,e[1]=n,e[2]=Number.NEGATIVE_INFINITY,e[3]=i,e[4]=r,e[5]=Number.POSITIVE_INFINITY,e}function w(e){return 6===e.length}function v(e,t,n){if(null==e||null==t)return e===t;if(!w(e)||!w(t))return!1;if(n){for(let i=0;i<e.length;i++)if(!n(e[i],t[i]))return!1}else for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}const x=[1/0,1/0,1/0,-1/0,-1/0,-1/0],T=[0,0,0,0,0,0];o()},80754:(e,t,n)=>{n.d(t,{j7:()=>s,kS:()=>a,kd:()=>l,r8:()=>u});var i=n(82799),r=n(16930),o=n(65864);const s={102100:{maxX:20037508.342788905,minX:-20037508.342788905,plus180Line:new i.A({paths:[[[20037508.342788905,-20037508.342788905],[20037508.342788905,20037508.342788905]]],spatialReference:r.A.WebMercator}),minus180Line:new i.A({paths:[[[-20037508.342788905,-20037508.342788905],[-20037508.342788905,20037508.342788905]]],spatialReference:r.A.WebMercator})},4326:{maxX:180,minX:-180,plus180Line:new i.A({paths:[[[180,-180],[180,180]]],spatialReference:r.A.WGS84}),minus180Line:new i.A({paths:[[[-180,-180],[-180,180]]],spatialReference:r.A.WGS84})}};function l(e,t){return Math.ceil((e-t)/(2*t))}function a(e,t){const n=u(e);for(const e of n)for(const n of e)n[0]+=t;return e}function u(e){return(0,o.Bi)(e)?e.rings:e.paths}},91218:(e,t,n)=>{n.r(t),n.d(t,{canProjectWithoutEngine:()=>B,initializeProjection:()=>K,isEqualBaseGCS:()=>D,isLoaded:()=>R,isLoadedOrLoad:()=>N,isLoadedOrLoadFor:()=>_,load:()=>Z,project:()=>L,projectExtent:()=>ne,projectMany:()=>P,projectMultipoint:()=>H,projectOrLoad:()=>z,projectOrLoadMany:()=>k,projectPoint:()=>W,projectPolygon:()=>ee,projectPolyline:()=>Y,projectWithZConversion:()=>$,projectWithoutEngine:()=>U,requiresLoad:()=>j,test:()=>q,tryProjectWithZConversion:()=>E,unload:()=>J});var i=n(49186),r=n(74887),o=n(62788),s=n(95488),l=n(51850),a=n(21276),u=n(73941),p=n(5443),c=n(91075),f=n(48526),d=n(86738),y=n(39829),h=n(82799),m=n(16930),g=n(159),M=n(9762),b=n(37539);function w(e,t,n,i,r,o){return v[0]=e,v[1]=t,v[2]=n,(0,M.projectBuffer)(v,i,0,r,o,0)}const v=(0,l.vt)();var x=n(21325),T=n(62815);let S=null,I=null,C=null,A=null,O={};const F=new s.I;function R(){return!!(I?.isLoaded()&&C?.isLoaded()&&A?.isLoaded())}function N(){return!!R()||((0,o.gc)(F),Z(),!1)}function _(e,t){return!e||!t||B(e,t)||N()}function j(e,t){return!B(e,t)&&!R()}async function Z(e){null==S&&(S=Promise.all([n.e(3276).then(n.bind(n,83276)).then(e=>(I=e,I.load())),n.e(8377).then(n.bind(n,8377)).then(e=>(C=e,C.load())),n.e(2158).then(n.bind(n,12158)).then(e=>(A=e,A.load()))])),await S,(0,r.Te)(e),F.notify()}function L(e,t,n){return Array.isArray(e)?0===e.length?[]:((0,a.H)(e),P(e,e[0].spatialReference,t,n)):((0,a.f)(e),P([e],e.spatialReference,t,n)[0])}function P(e,t,n,i){if(null==t||null==n)return e;if(B(t,n,i))return e.map(e=>U(e,t,n));if(null==i?.geographicTransformation&&(0,u.jA)(t))return e.map(e=>U(e,t,m.A.WGS84)).map(e=>E(e,n));if(null==i?.geographicTransformation&&(0,u.jA)(n))return e.map(e=>E(e,m.A.WGS84)).map(e=>U(e,m.A.WGS84,n));if(!R())throw new G;if(!i?.geographicTransformation)if(i?.extendedParams)i={...i,geographicTransformation:A.getTransformation(t,n,i.areaOfInterestExtent)||new g.A};else if(!i?.areaOfInterestExtent){const e=function(e,t){return[e.wkid?.toString()??"-1",e.wkt?.toString()??"",e.wkt2?.toString()??"",t.wkid?.toString()??"-1",t.wkt?.toString()??"",t.wkt2?.toString()??""].join()}(t,n);let r=O[e];r||(r=A.getTransformation(t,n)||new g.A,O[e]=r),i={geographicTransformation:r}}return e[0].spatialReference||(e[0].spatialReference=t),e[0]instanceof c.A?I.executeMany(e,n,i):C.executeMany(e,n,i)}function z(e,t){const n=k([e],t);return null!=n.pending?{pending:n.pending,geometry:null}:null!=n.geometries?{pending:null,geometry:n.geometries[0]}:{pending:null,geometry:null}}function k(e,t){if(!R())for(const n of e)if(null!=n&&!(0,x.aI)(n.spatialReference,t)&&(0,x.fn)(n.spatialReference)&&(0,x.fn)(t)&&!B(n.spatialReference,t))return(0,o.gc)(F),{pending:Z(),geometries:null};return{pending:null,geometries:e.map(e=>null==e?null:(0,x.aI)(e.spatialReference,t)?e:(0,x.fn)(e.spatialReference)&&(0,x.fn)(t)?E(e,t):null)}}class G extends i.A{constructor(){super("projection:not-loaded","projection engine not fully loaded yet, please call load()")}}function J(){S=null,I=null,C=null,A=null,O={}}const q={get loadPromise(){return S}};function E(e,t){try{const n=L(e,t);if(null==n)return null;"xmin"in e&&"xmin"in n&&(n.zmin=e.zmin,n.zmax=e.zmax);const i=(0,T.N)(n.type,e.spatialReference,t);return null!=i&&i(n),n}catch(e){if(!(e instanceof G))throw e;return null}}async function $(e,t,n){const i=e.spatialReference;return null!=i&&null!=t&&await K(i,t,null,n),E(e,t)}function B(e,t,n){return!(n?.areaOfInterestExtent||n?.extendedParams||n?.geographicTransformation)&&(!!(0,x.aI)(e,t)||(0,x.fn)(e)&&(0,x.fn)(t)&&!!(0,b.jd)(e,t))}function D(e,t){if((0,x.aI)(e,t))return!0;if(!(0,x.fn)(e)||!(0,x.fn)(t))return!1;const n=(0,x.oT)(e)||(0,x.K8)(e)||(0,x.x1)(e),i=(0,x.oT)(t)||(0,x.K8)(t)||(0,x.x1)(t);return n&&i}async function K(e,t,n,i){if(R())return(0,r.NO)(i);if(Array.isArray(e)){for(const{source:t,dest:n,options:r}of e)if(t&&n&&!B(t,n,r))return Z(i)}else if(e&&t&&!B(e,t,n))return Z(i);return(0,r.NO)(i)}function U(e,t,n){return e?"x"in e?V(e,t,new d.A,n,0):"xmin"in e?ie(e,t,new p.A,n,0):"rings"in e?te(e,t,new y.A,n,0):"paths"in e?Q(e,t,new h.A,n,0):"points"in e?X(e,t,new f.A,n,0):null:null}function W(e,t,n=t.spatialReference,i=0){return null!=n&&null!=e.spatialReference&&null!=V(e,e.spatialReference,t,n,i)}function V(e,t,n,i,r){oe[0]=e.x,oe[1]=e.y;const o=e.z;return oe[2]=void 0!==o?o:r,(0,M.projectBuffer)(oe,t,0,oe,i,0)?(n.x=oe[0],n.y=oe[1],n.spatialReference=i,void 0!==o||(0,u.xP)(i)?(n.z=oe[2],n.hasZ=!0):(n.z=void 0,n.hasZ=!1),void 0===e.m?(n.m=void 0,n.hasM=!1):(n.m=e.m,n.hasM=!0),n):null}function H(e,t,n=t.spatialReference,i=0){return null!=e.spatialReference&&null!=n&&null!=X(e,e.spatialReference,t,n,i)}function X(e,t,n,i,r){const{points:o,hasZ:s,hasM:l}=e,a=[],p=o.length,c=[];for(const e of o)c.push(e[0],e[1],s?e[2]:r);if(!(0,M.projectBuffer)(c,t,0,c,i,0,p))return null;const f=s||(0,u.xP)(i);for(let e=0;e<p;++e){const t=3*e,n=c[t],i=c[t+1];f&&l?a.push([n,i,c[t+2],o[e][3]]):f?a.push([n,i,c[t+2]]):l?a.push([n,i,o[e][2]]):a.push([n,i])}return n.points=a,n.spatialReference=i,n.hasZ=s,n.hasM=l,n}function Y(e,t,n=t.spatialReference,i=0){return null!=e.spatialReference&&null!=n&&null!=Q(e,e.spatialReference,t,n,i)}function Q(e,t,n,i,r){const{paths:o,hasZ:s,hasM:l}=e,a=[];if(!re(o,s??!1,l??!1,t,a,i,r))return null;const p=s||(0,u.xP)(i);return n.paths=a,n.spatialReference=i,n.hasZ=p,n.hasM=l,n}function ee(e,t,n=t.spatialReference,i=0){return null!=e.spatialReference&&null!=n&&null!=te(e,e.spatialReference,t,n,i)}function te(e,t,n,i,r){const{rings:o,hasZ:s,hasM:l}=e,a=[];if(!re(o,s??!1,l??!1,t,a,i,r))return null;const p=s||(0,u.xP)(i);return n.rings=a,n.spatialReference=i,n.hasZ=p,n.hasM=l,n}function ne(e,t,n=t.spatialReference,i=0){return null!=e.spatialReference&&null!=n&&null!=ie(e,e.spatialReference,t,n,i)}function ie(e,t,n,i,r){const{xmin:o,ymin:s,xmax:l,ymax:a,hasZ:p,hasM:c}=e;if(!w(o,s,p?e.zmin:r,t,oe,i))return null;const f=p||(0,u.xP)(i);return n.xmin=oe[0],n.ymin=oe[1],f&&(n.zmin=oe[2]),w(l,a,p?e.zmax:r,t,oe,i)?(n.xmax=oe[0],n.ymax=oe[1],f&&(n.zmax=oe[2]),c&&(n.mmin=e.mmin,n.mmax=e.mmax),n.spatialReference=i,n):null}function re(e,t,n,i,r,o,s=0){const l=new Array;for(const n of e)for(const e of n)l.push(e[0],e[1],t?e[2]:s);if(!(0,M.projectBuffer)(l,i,0,l,o,0))return!1;let a=0;r.length=0;const p=t||(0,u.xP)(o);for(const t of e){const e=new Array;for(const i of t)p&&n?e.push([l[a++],l[a++],l[a++],i[3]]):p?e.push([l[a++],l[a++],l[a++]]):n?(e.push([l[a++],l[a++],i[2]]),a++):(e.push([l[a++],l[a++]]),a++);r.push(e)}return!0}const oe=(0,l.vt)()},92300:(e,t,n)=>{n.d(t,{V:()=>o,X:()=>r});var i=n(65864);function r(e){return{geometryType:(0,i.$B)(e[0]),geometries:e.map(e=>e.toJSON())}}function o(e,t,n){const r=(0,i.xD)(t);return e.map(e=>{const t=r.fromJSON(e);return t.spatialReference=n,t})}},95466:(e,t,n)=>{n.d(t,{A:()=>d});var i=n(49186),r=n(53966),o=n(91869),s=n(3330),l=n(12195),a=n(30524),u=n(98623),p=n(56400),c=n(28097);const f=new Map;class d{static fromJSON(e){return new d(e.fields,e.timeZoneByFieldName)}static fromLayer(e){return new d(e.fields??[],g(e))}static fromLayerJSON(e){return new d(e.fields??[],g(e))}constructor(e=[],t){this._fieldsMap=new Map,this._normalizedFieldsMap=new Map,this._dateFieldsSet=new Set,this._numericFieldsSet=new Set,this._requiredFields=null,this.dateFields=[],this.numericFields=[],this.fields=e||[],this._timeZoneByFieldName=t?new Map(t):null;const n=[];for(const e of this.fields){const t=e?.name,i=h(t);if(t&&i){const r=y(t);this._fieldsMap.set(t,e),this._fieldsMap.set(r,e),this._normalizedFieldsMap.set(i,e),n.push(`${r}:${e.type}:${this._timeZoneByFieldName?.get(t)}`),(0,a.vE)(e)?(this.dateFields.push(e),this._dateFieldsSet.add(e)):(0,a.WA)(e)&&(this._numericFieldsSet.add(e),this.numericFields.push(e)),(0,a.te)(e)||(0,a.Xz)(e)||(e.editable=null==e.editable||!!e.editable,e.nullable=null==e.nullable||!!e.nullable)}}n.sort(),this.uid=n.join()}get requiredFields(){if(!this._requiredFields){this._requiredFields=[];for(const e of this.fields)(0,a.te)(e)||(0,a.Xz)(e)||e.nullable||void 0!==(0,a.lD)(e)||this._requiredFields.push(e)}return this._requiredFields}equals(e){return this.uid===e?.uid}has(e){return null!=this.get(e)}get(e){if(!e)return;let t=this._fieldsMap.get(e);return t||(t=this._fieldsMap.get(y(e))??this._normalizedFieldsMap.get(h(e)),t&&this._fieldsMap.set(e,t),t)}getTimeZone(e){const t=this.get(e&&"string"!=typeof e?e.name:e);return t?this._timeZoneByFieldName?this._timeZoneByFieldName.get(t.name):"date"===t.type||"esriFieldTypeDate"===t.type?(r.A.getLogger("esri.layers.support.FieldsIndex").errorOnce(new i.A("getTimeZone:no-timezone-information",`no time zone information for field '${t.name}'`)),u.n$):m.has(t.type)?u.L5:null:null}getLuxonTimeZone(e){const t=this.getTimeZone(e);return t?t===u.L5?s.GB.instance:t===u.n$?c.mQ.utcInstance:(0,o.tE)(f,t,()=>c.oh.create(t)):null}isDateField(e){return this._dateFieldsSet.has(this.get(e))}isTimeOnlyField(e){return(0,a.OH)(this.get(e))}isNumericField(e){return this._numericFieldsSet.has(this.get(e))}normalizeFieldName(e){return this.get(e)?.name??void 0}toJSON(){return{fields:this.fields.map(e=>(0,l.W)(e)?e.toJSON():e),timeZoneByFieldName:this._timeZoneByFieldName?Array.from(this._timeZoneByFieldName.entries()):null}}}function y(e){return e.trim().toLowerCase()}function h(e){return(0,a.rS)(e)?.toLowerCase()??""}const m=new Set(["time-only","date-only","timestamp-offset","esriFieldTypeDateOnly","esriFieldTypeTimeOnly","esriFieldTypeTimestampOffset"]);function g(e){const t=new Map;if(!e.fields)return t;const n=!0===e.datesInUnknownTimezone,{timeInfo:i,editFieldsInfo:r}=e,o=(i?"startField"in i?i.startField:i.startTimeField:"")??"",s=(i?"endField"in i?i.endField:i.endTimeField:"")??"",l=function(e){return"dateFieldsTimeZone"in e}(e)?e.dateFieldsTimeZone??null:e.dateFieldsTimeReference?(0,p.ZS)(e.dateFieldsTimeReference):null,a=r?function(e){return"timeZone"in e}(r)?r.timeZone??l:r.dateFieldsTimeReference?(0,p.ZS)(r.dateFieldsTimeReference):l??u.n$:null,c=i?function(e){return"timeZone"in e}(i)?i.timeZone??l:i.timeReference?(0,p.ZS)(i.timeReference):l:null,f=new Map([[y(r?.creationDateField??""),a],[y(r?.editDateField??""),a],[y(o),c],[y(s),c]]);for(const{name:i,type:r}of e.fields)if(m.has(r))t.set(i,u.L5);else if("date"!==r&&"esriFieldTypeDate"!==r)t.set(i,null);else if(n)t.set(i,u.L5);else{const e=f.get(y(i??""))??l;t.set(i,e)}return t}},96299:(e,t,n)=>{n.r(t),n.d(t,{default:()=>K});var i=n(31635),r=n(52106),o=n(7762),s=n(49186),l=n(4718),a=n(25728),u=n(93637),p=n(67076),c=n(91429),f=n(5443),d=n(91218),y=n(16930),h=n(19419),m=n(17136),g=n(21325),M=n(89808),b=n(99959);const w=Symbol("isMapNotesGraphicOriginSymbol");var v;class x extends b.A{get[(v=w,M.Q)](){return this.layer}constructor(e,t){super(),this[v]=!0,this.type="map-notes",this.layer=e,this.sublayer=t}get id(){return`${this.layer.id}:__${this.sublayer.id}__`}}var T=n(68654),S=n(94194),I=n(4146),C=n(33032),A=n(63074),O=n(16131),F=n(8303),R=n(25036),N=n(20437),_=n(94985),j=n(31593),Z=n(53930),L=n(68249),P=n(36005),z=n(43937);function k(e){return"markup"===e.featureCollectionType||e.layers.some(e=>null!=e.layerDefinition.visibilityField||!G(e))}function G({layerDefinition:e,featureSet:t}){const n=e.geometryType??t.geometryType;return $.find(t=>n===t.geometryTypeJSON&&e.drawingInfo?.renderer?.symbol?.type===t.identifyingSymbol.type)}function J(){return new f.A({xmin:-180,ymin:-90,xmax:180,ymax:90})}const q=new N.A({name:"OBJECTID",alias:"OBJECTID",type:"oid",nullable:!1,editable:!1}),E=new N.A({name:"title",alias:"Title",type:"string",nullable:!0,editable:!0,length:255}),$=[{geometryType:"polygon",geometryTypeJSON:"esriGeometryPolygon",id:"polygonLayer",layerId:0,title:"Polygons",identifyingSymbol:(new _.A).toJSON()},{geometryType:"polyline",geometryTypeJSON:"esriGeometryPolyline",id:"polylineLayer",layerId:1,title:"Polylines",identifyingSymbol:(new j.A).toJSON()},{geometryType:"multipoint",geometryTypeJSON:"esriGeometryMultipoint",id:"multipointLayer",layerId:2,title:"Multipoints",identifyingSymbol:(new Z.A).toJSON()},{geometryType:"point",geometryTypeJSON:"esriGeometryPoint",id:"pointLayer",layerId:3,title:"Points",identifyingSymbol:(new Z.A).toJSON()},{geometryType:"point",geometryTypeJSON:"esriGeometryPoint",id:"textLayer",layerId:4,title:"Text",identifyingSymbol:(new L.A).toJSON()}];let B=class extends((0,A.dM)((0,R.j)((0,O.q)((0,F.A)((0,a.P)(I.A)))))){constructor(e){super(e),this.capabilities={operations:{supportsMapNotesEditing:!0}},this.featureCollections=null,this.featureCollectionJSON=null,this.featureCollectionType="notes",this.legendEnabled=!1,this.listMode="hide-children",this.minScale=0,this.maxScale=0,this.spatialReference=y.A.WGS84,this.sublayers=new o.A($.map(e=>new D({id:e.id,layerId:e.layerId,title:e.title,layer:this}))),this.title="Map Notes",this.type="map-notes",this.visibilityMode="inherited"}readCapabilities(e,t,n){return{operations:{supportsMapNotesEditing:!k(t)&&"portal-item"!==n?.origin}}}readFeatureCollections(e,t,n){if(!k(t))return null;const i=t.layers.map(e=>{const t=new T.default;return t.read(e,n),t});return new o.A({items:i})}readLegacyfeatureCollectionJSON(e,t){return k(t)?(0,l.o8)(t.featureCollection):null}get fullExtent(){const e=this.spatialReference,t=(0,h.Ie)();return null!=this.sublayers?this.sublayers.forEach(({fullBounds:e})=>null!=e?(0,h.fT)(t,e,t):t,t):this.featureCollectionJSON?.layers.some(e=>e.layerDefinition.extent)&&this.featureCollectionJSON.layers.forEach(n=>{const i=(0,d.projectOrLoad)(n.layerDefinition.extent,e).geometry;null!=i&&(0,h.fT)(t,i,t)}),(0,h.aI)(t,h.qv)?(0,d.projectOrLoad)(J(),e).geometry:(0,h.w1)(t,e)}readMinScale(e,t){for(const e of t.layers)if(null!=e.layerDefinition.minScale)return e.layerDefinition.minScale;return 0}readMaxScale(e,t){for(const e of t.layers)if(null!=e.layerDefinition.maxScale)return e.layerDefinition.maxScale;return 0}get multipointLayer(){return this._findSublayer("multipointLayer")}get pointLayer(){return this._findSublayer("pointLayer")}get polygonLayer(){return this._findSublayer("polygonLayer")}get polylineLayer(){return this._findSublayer("polylineLayer")}readSpatialReference(e,t){return t.layers.length?y.A.fromJSON(t.layers[0].layerDefinition.spatialReference):y.A.WGS84}readSublayers(e,t,n){if(k(t))return null;const i=[];let s=t.layers.reduce((e,t)=>Math.max(e,t.layerDefinition.id??-1),-1)+1;for(const e of t.layers){const{layerDefinition:t,featureSet:n}=e,o=t.id??s++,l=G(e);if(null!=l){const e=new D({id:l.id,title:t.name,layerId:o,layer:this,graphics:n.features.map(({geometry:e,symbol:t,attributes:n,popupInfo:i})=>r.A.fromJSON({attributes:n,geometry:e,symbol:t,popupTemplate:i}))});i.push(e)}}return new o.A(i)}writeSublayers(e,t,n,i){const{minScale:r,maxScale:o}=this;if(null==e)return;const l=e.some(e=>e.graphics.length>0);if(!this.capabilities.operations.supportsMapNotesEditing)return void(l&&i?.messages?.push(new s.A("map-notes-layer:editing-not-supported","New map notes cannot be added to this layer")));const a=[];let p=this.spatialReference.toJSON();e:for(const t of e)for(const e of t.graphics)if(null!=e.geometry){p=e.geometry.spatialReference.toJSON();break e}for(const t of $){const n=e.find(e=>t.id===e.id);this._writeMapNoteSublayer(a,n,t,r,o,p,i)}(0,u.sM)("featureCollection.layers",a,t)}get textLayer(){return this._findSublayer("textLayer")}load(e){return this.addResolvingPromise(this.loadFromPortal({supportedTypes:["Feature Collection"]},e)),Promise.resolve(this)}read(e,t){"featureCollection"in e&&(e=(0,l.o8)(e),Object.assign(e,e.featureCollection)),super.read(e,t)}async beforeSave(){if(null==this.sublayers)return;let e=null;const t=[];for(const n of this.sublayers)for(const i of n.graphics)if(null!=i.geometry){const n=i.geometry;e?(0,g.aI)(n.spatialReference,e)||((0,d.canProjectWithoutEngine)(n.spatialReference,e)||(0,d.isLoaded)()||await(0,d.load)(),i.geometry=(0,d.project)(n,e)):e=n.spatialReference,t.push(i)}const n=await(0,m.el)(t.map(e=>e.geometry));t.forEach((e,t)=>e.geometry=n[t])}_findSublayer(e){return null==this.sublayers?null:this.sublayers?.find(t=>t.id===e)??null}_writeMapNoteSublayer(e,t,n,i,r,o,s){const a=[];if(null!=t){for(const e of t.graphics)this._writeMapNote(a,e,n.geometryType,s);this._normalizeObjectIds(a,q),e.push({layerDefinition:{name:t.title,drawingInfo:{renderer:{type:"simple",symbol:(0,l.o8)(n.identifyingSymbol)}},id:t.layerId,geometryType:n.geometryTypeJSON,minScale:i,maxScale:r,objectIdField:"OBJECTID",fields:[q.toJSON(),E.toJSON()],spatialReference:o},featureSet:{features:a,geometryType:n.geometryTypeJSON}})}}_writeMapNote(e,t,n,i){if(null==t)return;const{geometry:r,symbol:o,popupTemplate:s}=t;if(null==r)return;if(r.type!==n)return void i?.messages?.push(new p.A("map-notes-layer:invalid-geometry-type",`Geometry "${r.type}" cannot be saved in "${n}" layer`,{graphic:t}));if(null==o)return void i?.messages?.push(new p.A("map-notes-layer:no-symbol","Skipping map notes with no symbol",{graphic:t}));const l={attributes:{...t.attributes},geometry:r.toJSON(),symbol:o.toJSON()};null!=s&&(l.popupInfo=s.toJSON()),e.push(l)}_normalizeObjectIds(e,t){const n=t.name;let i=(0,C.H)(n,e)+1;const r=new Set;for(const t of e){t.attributes||(t.attributes={});const{attributes:e}=t;(null==e[n]||r.has(e[n]))&&(e[n]=i++),r.add(e[n])}}};(0,i.Cg)([(0,c.MZ)({readOnly:!0})],B.prototype,"capabilities",void 0),(0,i.Cg)([(0,P.w)(["portal-item","web-map"],"capabilities",["layers"])],B.prototype,"readCapabilities",null),(0,i.Cg)([(0,c.MZ)({readOnly:!0})],B.prototype,"featureCollections",void 0),(0,i.Cg)([(0,P.w)(["web-map","portal-item"],"featureCollections",["layers"])],B.prototype,"readFeatureCollections",null),(0,i.Cg)([(0,c.MZ)({readOnly:!0,json:{origins:{"web-map":{write:{enabled:!0,target:"featureCollection"}}}}})],B.prototype,"featureCollectionJSON",void 0),(0,i.Cg)([(0,P.w)(["web-map","portal-item"],"featureCollectionJSON",["featureCollection"])],B.prototype,"readLegacyfeatureCollectionJSON",null),(0,i.Cg)([(0,c.MZ)({readOnly:!0,json:{read:!0,write:{enabled:!0,ignoreOrigin:!0}}})],B.prototype,"featureCollectionType",void 0),(0,i.Cg)([(0,c.MZ)({readOnly:!0})],B.prototype,"fullExtent",null),(0,i.Cg)([(0,c.MZ)({readOnly:!0,json:{origins:{"web-map":{write:{target:"featureCollection.showLegend",overridePolicy(){return{enabled:null!=this.featureCollectionJSON}}}}}}})],B.prototype,"legendEnabled",void 0),(0,i.Cg)([(0,c.MZ)({type:["show","hide","hide-children"]})],B.prototype,"listMode",void 0),(0,i.Cg)([(0,c.MZ)({type:Number,nonNullable:!0,json:{write:!1}})],B.prototype,"minScale",void 0),(0,i.Cg)([(0,P.w)(["web-map","portal-item"],"minScale",["layers"])],B.prototype,"readMinScale",null),(0,i.Cg)([(0,c.MZ)({type:Number,nonNullable:!0,json:{write:!1}})],B.prototype,"maxScale",void 0),(0,i.Cg)([(0,P.w)(["web-map","portal-item"],"maxScale",["layers"])],B.prototype,"readMaxScale",null),(0,i.Cg)([(0,c.MZ)({readOnly:!0})],B.prototype,"multipointLayer",null),(0,i.Cg)([(0,c.MZ)({value:"ArcGISFeatureLayer",type:["ArcGISFeatureLayer"]})],B.prototype,"operationalLayerType",void 0),(0,i.Cg)([(0,c.MZ)({readOnly:!0})],B.prototype,"pointLayer",null),(0,i.Cg)([(0,c.MZ)({readOnly:!0})],B.prototype,"polygonLayer",null),(0,i.Cg)([(0,c.MZ)({readOnly:!0})],B.prototype,"polylineLayer",null),(0,i.Cg)([(0,c.MZ)({type:y.A})],B.prototype,"spatialReference",void 0),(0,i.Cg)([(0,P.w)(["web-map","portal-item"],"spatialReference",["layers"])],B.prototype,"readSpatialReference",null),(0,i.Cg)([(0,c.MZ)({readOnly:!0,json:{origins:{"web-map":{write:{ignoreOrigin:!0}}}}})],B.prototype,"sublayers",void 0),(0,i.Cg)([(0,P.w)("web-map","sublayers",["layers"])],B.prototype,"readSublayers",null),(0,i.Cg)([(0,z.K)("web-map","sublayers")],B.prototype,"writeSublayers",null),(0,i.Cg)([(0,c.MZ)({readOnly:!0})],B.prototype,"textLayer",null),(0,i.Cg)([(0,c.MZ)()],B.prototype,"title",void 0),(0,i.Cg)([(0,c.MZ)({readOnly:!0,json:{read:!1}})],B.prototype,"type",void 0),B=(0,i.Cg)([(0,c.$K)("esri.layers.MapNotesLayer")],B);let D=class extends S.A{constructor(e){super(e),this.visibilityMode="inherited"}initialize(){for(const e of this.graphics)e.sourceLayer=this.layer;this.graphics.on("after-add",e=>{e.item.sourceLayer=this.layer,e.item.origin=this.graphicOrigin}),this.graphics.on("after-remove",e=>{e.item.sourceLayer=null,e.item.origin=null})}get fullExtent(){const e=this.layer?.spatialReference,t=this.fullBounds;return e?null==t?(0,d.projectOrLoad)(J(),e).geometry:(0,h.w1)(t,e):null}get fullBounds(){const e=this.layer?.spatialReference;if(!e)return null;const t=(0,h.Ie)();return this.graphics.forEach(n=>{const i=null!=n.geometry?(0,d.projectOrLoad)(n.geometry,e).geometry:null;null!=i&&(0,h.fT)(t,"point"===i.type?i:i.extent,t)}),(0,h.aI)(t,h.qv)?null:t}get graphicOrigin(){return new x(this.layer,this)}get sublayers(){return this.graphics}};(0,i.Cg)([(0,c.MZ)({readOnly:!0})],D.prototype,"fullExtent",null),(0,i.Cg)([(0,c.MZ)({readOnly:!0})],D.prototype,"fullBounds",null),(0,i.Cg)([(0,c.MZ)({readOnly:!0})],D.prototype,"graphicOrigin",null),(0,i.Cg)([(0,c.MZ)({readOnly:!0})],D.prototype,"sublayers",null),(0,i.Cg)([(0,c.MZ)()],D.prototype,"layer",void 0),(0,i.Cg)([(0,c.MZ)()],D.prototype,"layerId",void 0),(0,i.Cg)([(0,c.MZ)({readOnly:!0})],D.prototype,"visibilityMode",void 0),D=(0,i.Cg)([(0,c.$K)("esri.layers.MapNotesLayer.MapNotesSublayer")],D);const K=B},99157:(e,t,n)=>{n.d(t,{A:()=>l});var i,r=n(31635),o=n(69622),s=n(91429);let l=i=class extends o.A{constructor(e){super(e),this.isInverse=!1,this.wkt=null,this.wkid=null}getInverse(){return new i({isInverse:!this.isInverse,wkid:this.wkid,wkt:this.wkt})}};(0,r.Cg)([(0,s.MZ)()],l.prototype,"isInverse",void 0),(0,r.Cg)([(0,s.MZ)()],l.prototype,"wkt",void 0),(0,r.Cg)([(0,s.MZ)()],l.prototype,"wkid",void 0),l=i=(0,r.Cg)([(0,s.$K)("esri.geometry.operators.support.GeographicTransformationStep")],l)}}]);