@arcgis/core 5.1.0-next.43 → 5.1.0-next.44

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 (150) hide show
  1. package/arcade/featureset/actions/Adapted.js +1 -1
  2. package/arcade/featureset/actions/AttributeFilter.js +1 -1
  3. package/arcade/featureset/actions/OrderBy.js +1 -1
  4. package/arcade/featureset/actions/SpatialFilter.js +1 -1
  5. package/arcade/featureset/actions/Top.js +1 -1
  6. package/arcade/featureset/sources/FeatureLayerDynamic.js +1 -1
  7. package/arcade/featureset/sources/FeatureLayerMemory.js +1 -1
  8. package/arcade/featureset/sources/FeatureLayerRelated.js +1 -1
  9. package/arcade/featureset/support/FeatureSet.js +1 -1
  10. package/arcade/featureset/support/OrderbyClause.js +1 -1
  11. package/assets/esri/core/workers/RemoteClient.js +1 -1
  12. package/assets/esri/core/workers/chunks/{0836964a65f76da35b5c.js → 1a3f874700f86b750390.js} +23 -23
  13. package/assets/esri/core/workers/chunks/25e4568a3ff76f48ac5e.js +1 -0
  14. package/assets/esri/core/workers/chunks/{b6e63d8ce3c9ac9762f4.js → 2cd0934163cb627ce251.js} +1 -1
  15. package/assets/esri/core/workers/chunks/{8f12a559dbf284c21e2f.js → 3c7ee71f0d8582e6d78f.js} +1 -1
  16. package/assets/esri/core/workers/chunks/{9a9b1250be3e20499d75.js → 4140d4c8b6b122fc2cd4.js} +1 -1
  17. package/assets/esri/core/workers/chunks/{eff198e0c21c9767ffaa.js → 45cf181c1945e6c77a4b.js} +1 -1
  18. package/assets/esri/core/workers/chunks/5f2e246ffcbdedea4de5.js +1 -0
  19. package/assets/esri/core/workers/chunks/5f81f9e586b3ba0c34d4.js +1 -0
  20. package/assets/esri/core/workers/chunks/64da1ad9df9094ef5c12.js +1 -0
  21. package/assets/esri/core/workers/chunks/{093aa05fbde548bf9040.js → 6cc5c37d6bdaf5483bd4.js} +1 -1
  22. package/assets/esri/core/workers/chunks/{73a008b48e29eb6f2064.js → 848c6989a6a222c7a1d8.js} +2 -2
  23. package/assets/esri/core/workers/chunks/{dbedd246f4b584583f95.js → 9aa1ad8b436b5b0dd5f5.js} +1 -1
  24. package/assets/esri/core/workers/chunks/{c1cae45a159a5373ac00.js → a4a2e7bc3369434c5cfa.js} +1 -1
  25. package/assets/esri/core/workers/chunks/b5ced451d331ca1ffb68.js +1 -0
  26. package/assets/esri/core/workers/chunks/{80bfb5e5d613d2c412bf.js → c0cc4ca138db47052845.js} +1 -1
  27. package/assets/esri/core/workers/chunks/{7132420980f77b6a871b.js → c9f5d72b86ecb2a30587.js} +1 -1
  28. package/assets/esri/core/workers/chunks/{93846f8b77fc802069a7.js → df5788d42787ee8bf523.js} +1 -1
  29. package/assets/esri/core/workers/chunks/{b15a02bdcd78a1a51bd6.js → e72ca52d930afb5650af.js} +1 -1
  30. package/assets/esri/core/workers/chunks/{f835eea9f617556c7276.js → fb69a0bb025b7a5ec588.js} +1 -1
  31. package/assets/esri/views/interactive/tooltip/t9n/Tooltip.json +1 -1
  32. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_en.json +1 -1
  33. package/chunks/ComponentShader.glsl.js +11 -11
  34. package/chunks/DefaultMaterial.glsl.js +1 -1
  35. package/chunks/HUDMaterial.glsl.js +28 -36
  36. package/chunks/ImageMaterial.glsl.js +1 -1
  37. package/chunks/Path.glsl.js +7 -7
  38. package/chunks/Pattern.glsl.js +1 -1
  39. package/chunks/RibbonLine.glsl.js +2 -2
  40. package/chunks/ShadowHighlight.glsl.js +1 -1
  41. package/chunks/Terrain.glsl.js +5 -5
  42. package/chunks/Water.glsl.js +5 -5
  43. package/config.js +1 -1
  44. package/core/arrayUtils.js +1 -1
  45. package/kernel.js +1 -1
  46. package/layers/SceneLayer.d.ts +16 -10
  47. package/layers/graphics/data/QueryEngineResult.js +1 -1
  48. package/layers/support/Sublayer.d.ts +6 -0
  49. package/layers/support/Sublayer.js +1 -1
  50. package/package.json +3 -3
  51. package/support/revision.js +1 -1
  52. package/views/2d/engine/vectorTiles/SpriteMosaic.js +1 -1
  53. package/views/2d/engine/vectorTiles/TileHandler.js +1 -1
  54. package/views/2d/engine/webgl/GlyphMosaic.js +1 -1
  55. package/views/2d/engine/webgl/GlyphSource.js +1 -1
  56. package/views/2d/engine/webgl/TextureManager.js +1 -1
  57. package/views/2d/engine/webgl/shaderGraph/techniques/text/TextMeshWriter.js +1 -1
  58. package/views/2d/engine/webgl/shaderGraph/techniques/vectorTiles/VTLTechniqueSymbol.js +1 -1
  59. package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
  60. package/views/3d/analysis/Viewshed/ViewshedConfiguration.js +1 -1
  61. package/views/3d/environment/EnvironmentManager.js +1 -1
  62. package/views/3d/layers/i3s/PointCloudRenderer.js +1 -1
  63. package/views/3d/layers/support/FastSymbolUpdates.js +1 -1
  64. package/views/3d/support/MemoryController.js +1 -1
  65. package/views/3d/terrain/OverlayRenderTargets.js +1 -1
  66. package/views/3d/terrain/OverlayRenderer.js +1 -1
  67. package/views/3d/terrain/TerrainRenderer.js +1 -1
  68. package/views/3d/terrain/TileCompositor.js +1 -1
  69. package/views/3d/webgl-engine/collections/Component/Material/ComponentData.glsl.js +2 -2
  70. package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterial.js +1 -1
  71. package/views/3d/webgl-engine/collections/Component/Material/ComponentTechnique.js +1 -1
  72. package/views/3d/webgl-engine/collections/Component/Material/ComponentTechniqueConfiguration.js +1 -1
  73. package/views/3d/webgl-engine/core/renderPasses/AllRenderPasses.js +1 -1
  74. package/views/3d/webgl-engine/core/renderPasses/RenderPass.js +1 -1
  75. package/views/3d/webgl-engine/core/renderPasses/RenderPassManager.js +1 -1
  76. package/views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js +1 -1
  77. package/views/3d/webgl-engine/core/shaderLibrary/ShaderOutputConfiguration.js +1 -1
  78. package/views/3d/webgl-engine/core/shaderLibrary/attributes/InstancedDoublePrecision.glsl.js +1 -1
  79. package/views/3d/webgl-engine/core/shaderLibrary/attributes/ObjectAndLayerIdColor.glsl.js +1 -1
  80. package/views/3d/webgl-engine/core/shaderLibrary/default/DefaultMaterialAuxiliaryPasses.glsl.js +4 -4
  81. package/views/3d/webgl-engine/core/shaderLibrary/output/OutputDepth.glsl.js +2 -2
  82. package/views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js +1 -1
  83. package/views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlightOverlay.js +1 -1
  84. package/views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js +1 -1
  85. package/views/3d/webgl-engine/core/shaderLibrary/shading/VisualVariables.glsl.js +1 -1
  86. package/views/3d/webgl-engine/core/shaderLibrary/terrain/Overlay.glsl.js +1 -1
  87. package/views/3d/webgl-engine/effects/RenderPlugin.js +1 -1
  88. package/views/3d/webgl-engine/effects/WeatherFader.js +1 -1
  89. package/views/3d/webgl-engine/effects/debug/RenderNodeVisualizer.js +1 -1
  90. package/views/3d/webgl-engine/effects/debug/RenderNodeVisualizerNode.js +1 -1
  91. package/views/3d/webgl-engine/effects/geometry/ObjectAndLayerIDRenderNode.js +1 -1
  92. package/views/3d/webgl-engine/lib/BindParameters.js +1 -1
  93. package/views/3d/webgl-engine/lib/CutFillComputationRenderNode.js +1 -1
  94. package/views/3d/webgl-engine/lib/GLMaterial.js +1 -1
  95. package/views/3d/webgl-engine/lib/Material.js +1 -1
  96. package/views/3d/webgl-engine/lib/OrderIndependentTransparency.js +1 -1
  97. package/views/3d/webgl-engine/lib/RenderContext.js +1 -1
  98. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  99. package/views/3d/webgl-engine/lib/RenderingContext.js +1 -1
  100. package/views/3d/webgl-engine/lib/ShadowAccumulator.js +1 -1
  101. package/views/3d/webgl-engine/lib/ShadowMap.js +1 -1
  102. package/views/3d/webgl-engine/lib/SortedRenderGeometryRenderer.js +1 -1
  103. package/views/3d/webgl-engine/lib/lodRendering/LodRenderer.js +1 -1
  104. package/views/3d/webgl-engine/materials/CheckerBoardMaterial.js +1 -1
  105. package/views/3d/webgl-engine/materials/ColorMaterial.js +1 -1
  106. package/views/3d/webgl-engine/materials/DefaultMaterial.js +1 -1
  107. package/views/3d/webgl-engine/materials/DefaultTechniqueConfiguration.js +1 -1
  108. package/views/3d/webgl-engine/materials/HUDMaterial.js +1 -1
  109. package/views/3d/webgl-engine/materials/HeatmapDensityMaterial.js +1 -1
  110. package/views/3d/webgl-engine/materials/ImageMaterial.js +1 -1
  111. package/views/3d/webgl-engine/materials/LineCalloutMaterial.js +1 -1
  112. package/views/3d/webgl-engine/materials/LineMarkerMaterial.js +1 -1
  113. package/views/3d/webgl-engine/materials/MeasurementArrowMaterial.js +1 -1
  114. package/views/3d/webgl-engine/materials/NativeLineMaterial.js +1 -1
  115. package/views/3d/webgl-engine/materials/PathMaterial.js +1 -1
  116. package/views/3d/webgl-engine/materials/PathTechnique.js +1 -1
  117. package/views/3d/webgl-engine/materials/PatternMaterial.js +1 -1
  118. package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
  119. package/views/3d/webgl-engine/materials/ShadedColorMaterial.js +1 -1
  120. package/views/3d/webgl-engine/materials/TriangleMaterial.js +1 -1
  121. package/views/3d/webgl-engine/materials/WaterMaterial.js +1 -1
  122. package/views/3d/webgl-engine/materials/WaterTechnique.js +1 -1
  123. package/views/3d/webgl-engine/materials/renderers/VaoRenderer.js +1 -1
  124. package/views/3d/webgl-engine/shaders/CheckerBoardTechnique.js +1 -1
  125. package/views/3d/webgl-engine/shaders/ColorMaterialTechnique.js +1 -1
  126. package/views/3d/webgl-engine/shaders/DefaultMaterialTechnique.js +1 -1
  127. package/views/3d/webgl-engine/shaders/HUDMaterial.glsl.js +1 -1
  128. package/views/3d/webgl-engine/shaders/HUDMaterialTechnique.js +1 -1
  129. package/views/3d/webgl-engine/shaders/ImageMaterialTechnique.js +1 -1
  130. package/views/3d/webgl-engine/shaders/LineCalloutTechnique.js +1 -1
  131. package/views/3d/webgl-engine/shaders/LineMarkerTechnique.js +1 -1
  132. package/views/3d/webgl-engine/shaders/MeasurementArrowTechnique.js +1 -1
  133. package/views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js +10 -10
  134. package/views/3d/webgl-engine/shaders/PatternTechnique.js +1 -1
  135. package/views/3d/webgl-engine/shaders/RibbonLineTechnique.js +1 -1
  136. package/views/3d/webgl-engine/shaders/ShadedColorMaterialTechnique.js +1 -1
  137. package/views/3d/webgl-engine/shaders/TerrainTechnique.js +1 -1
  138. package/views/3d/webgl-engine/shaders/TerrainTechniqueConfiguration.js +1 -1
  139. package/views/interactive/tooltip/content/TooltipContentDynamic.js +1 -1
  140. package/views/interactive/tooltip/infos/DynamicTooltipInfo.js +1 -1
  141. package/widgets/Legend/support/ActiveLayerInfo.js +1 -1
  142. package/assets/esri/core/workers/chunks/04981ae9d7728208ffce.js +0 -1
  143. package/assets/esri/core/workers/chunks/23af269e88f9ac101ffb.js +0 -1
  144. package/assets/esri/core/workers/chunks/42b556d56013350c9d80.js +0 -1
  145. package/assets/esri/core/workers/chunks/80a1ccabd4257cc61e0d.js +0 -1
  146. package/assets/esri/core/workers/chunks/ea356a5b90ea44b5cbe1.js +0 -1
  147. package/views/2d/engine/vectorTiles/GlyphMosaic.js +0 -2
  148. package/views/2d/engine/vectorTiles/GlyphSource.js +0 -2
  149. package/views/2d/engine/vectorTiles/RectangleBinPack.js +0 -2
  150. /package/assets/esri/core/workers/chunks/{73a008b48e29eb6f2064.js.LICENSE.txt → 848c6989a6a222c7a1d8.js.LICENSE.txt} +0 -0
@@ -1,4 +1,4 @@
1
- "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[2942],{9093(e,t,n){function r(){return[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]}function o(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:()=>o,vt:()=>r,zK:()=>i});const i=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];Object.freeze(Object.defineProperty({__proto__:null,IDENTITY:i,clone:o,create:r,fromValues:function(e,t,n,r,o,i,a,s,u,c,l,d,f,m,v,p){return[e,t,n,r,o,i,a,s,u,c,l,d,f,m,v,p]}},Symbol.toStringTag,{value:"Module"}))},4197(e,t,n){n.d(t,{Vj:()=>c,cj:()=>u,jh:()=>i,l5:()=>s,xm:()=>a});var r=n(34275),o=n(9093);function i(e){return e<=r.y9?new Array(e).fill(0):new Float64Array(e)}function a(e){return((0,r.iu)(e)?e.byteLength/8:e.length)<=r.y9?Array.from(e):new Float64Array(e)}function s(e,t,n){return Array.isArray(e)?e.slice(t,t+n):e.subarray(t,t+n)}function u(e){return[...e]}function c(e){const t=(0,o.vt)();for(let n=0;n<16;++n)t[n]=e[n];return t}},70328(e,t,n){n.d(t,{BI:()=>w,DC:()=>d,Ej:()=>m,Ie:()=>h,Jt:()=>y,Ne:()=>v,RF:()=>l,aI:()=>A,fA:()=>a,gE:()=>u,hZ:()=>g,iT:()=>f,is:()=>b,qv:()=>x,vI:()=>p,vY:()=>s,v_:()=>I,vt:()=>i,w1:()=>c});var r=n(5443),o=(n(19419),n(4197));function i(e=I){return[e[0],e[1],e[2],e[3],e[4],e[5]]}function a(e,t,n,r,o,a,s=i()){return s[0]=e,s[1]=t,s[2]=n,s[3]=r,s[4]=o,s[5]=a,s}function s(e,t=i()){return function(e,t,n,r=i()){return g(r,x),function(e,t,n=0,r=t.length/3){let o=e[0],i=e[1],a=e[2],s=e[3],u=e[4],c=e[5];for(let e=0;e<r;e++)o=Math.min(o,t[n+3*e]),i=Math.min(i,t[n+3*e+1]),a=Math.min(a,t[n+3*e+2]),s=Math.max(s,t[n+3*e]),u=Math.max(u,t[n+3*e+1]),c=Math.max(c,t[n+3*e+2]);e[0]=o,e[1]=i,e[2]=a,e[3]=s,e[4]=u,e[5]=c}(r,e,t,n),r}(e,0,e.length/3,t)}function u(e,t=(0,o.jh)(24)){const[n,r,i,a,s,u]=e;return t[0]=n,t[1]=r,t[2]=i,t[3]=n,t[4]=r,t[5]=u,t[6]=n,t[7]=s,t[8]=i,t[9]=n,t[10]=s,t[11]=u,t[12]=a,t[13]=r,t[14]=i,t[15]=a,t[16]=r,t[17]=u,t[18]=a,t[19]=s,t[20]=i,t[21]=a,t[22]=s,t[23]=u,t}function c(e,t){const n=isFinite(e[2])||isFinite(e[5]);return new r.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 l(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 d(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 m(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 v(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 p(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 g(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 h(e){return e?g(e,x):i(x)}function y(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 w(e,t,n,r,o){return e[0]=t,e[1]=n,e[2]=Number.NEGATIVE_INFINITY,e[3]=r,e[4]=o,e[5]=Number.POSITIVE_INFINITY,e}function b(e){return 6===e.length}function A(e,t,n){if(null==e||null==t)return e===t;if(!b(e)||!b(t))return!1;if(n){for(let r=0;r<e.length;r++)if(!n(e[r],t[r]))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],I=[0,0,0,0,0,0];i()},54339(e,t,n){function r(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 r of t.fieldNames)n.push(e.attributes[r]??null);return JSON.stringify(n)}}}function o(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:()=>r,r:()=>o})},37352(e,t,n){n.d(t,{A:()=>u});var r,o=n(5482),i=n(7762),a=n(25482),s=n(91429);let u=r=class extends a.o{constructor(e){super(e),this.floorField=null,this.viewAllMode=!1,this.viewAllLevelIds=new i.A}clone(){return new r({floorField:this.floorField,viewAllMode:this.viewAllMode,viewAllLevelIds:this.viewAllLevelIds})}};(0,o.Cg)([(0,s.MZ)({type:String,json:{write:{isRequired:!0}}})],u.prototype,"floorField",void 0),(0,o.Cg)([(0,s.MZ)({json:{read:!1,write:!1}})],u.prototype,"viewAllMode",void 0),(0,o.Cg)([(0,s.MZ)({json:{read:!1,write:!1}})],u.prototype,"viewAllLevelIds",void 0),u=r=(0,o.Cg)([(0,s.$K)("esri.layers.support.LayerFloorInfo")],u)},59418(e,t,n){n.d(t,{wH:()=>p,MA:()=>f,E5:()=>m,m0:()=>h});var r=n(49186),o=n(4718),i=n(53966),a=n(34275),s=n(37203);const u=()=>i.A.getLogger("esri.views.3d.layers.i3s.I3SBinaryReader");function c(e,t,n){let o="",i=0;for(;i<n;){const a=e[t+i];if(a<128)o+=String.fromCharCode(a),i++;else if(a>=192&&a<224){if(i+1>=n)throw new r.A("utf8-decode-error","UTF-8 Decode failed. Two byte character was truncated.");const s=(31&a)<<6|63&e[t+i+1];o+=String.fromCharCode(s),i+=2}else if(a>=224&&a<240){if(i+2>=n)throw new r.A("utf8-decode-error","UTF-8 Decode failed. Multi byte character was truncated.");const s=(15&a)<<12|(63&e[t+i+1])<<6|63&e[t+i+2];o+=String.fromCharCode(s),i+=3}else{if(!(a>=240&&a<248))throw new r.A("utf8-decode-error","UTF-8 Decode failed. Invalid multi byte sequence.");{if(i+3>=n)throw new r.A("utf8-decode-error","UTF-8 Decode failed. Multi byte character was truncated.");const s=(7&a)<<18|(63&e[t+i+1])<<12|(63&e[t+i+2])<<6|63&e[t+i+3];if(s>=65536){const e=55296+(s-65536>>10),t=56320+(1023&s);o+=String.fromCharCode(e,t)}else o+=String.fromCharCode(s);i+=4}}}return o}function l(e,t){const n={byteOffset:0,byteCount:0,fields:Object.create(null)};let r=0;for(let o=0;o<t.length;o++){const i=t[o],a=i.valueType||i.type,s=w[a];n.fields[i.property]=s(e,r),r+=y[a].BYTES_PER_ELEMENT}return n.byteCount=r,n}function d(e,t,n){const o=[];let i,a,s=0;for(a=0;a<e;a+=1){if(i=t[a],i>0){if(o.push(c(n,s,i-1)),0!==n[s+i-1])throw new r.A("string-array-error","Invalid string array: missing null termination.")}else o.push(null);s+=i}return o}function f(e,t){return new(0,y[t.valueType])(e,t.byteOffset,t.count*t.valuesPerElement)}function m(e,t){if(!e)return null;const n=e[t];return(0,a.IY)(e)?n===a.PI?null:n:(0,a._G)(e)?n===a.h2?null:n:n!=n?null:n}function v(e,t,n){if(t!==e&&u().error(`Invalid ${n} buffer size\n expected: ${e}, actual: ${t})`),t<e)throw new r.A("buffer-too-small","Binary buffer is too small",{expectedSize:e,actualSize:t})}function p(e,t){const n=l(e,t&&t.header);let r=n.byteCount;const o={isDraco:!1,header:n,byteOffset:n.byteCount,byteCount:0,vertexAttributes:{}},i=n.fields,a=null!=i.vertexCount?i.vertexCount:i.count;for(const e of t.ordering){if(!t.vertexAttributes[e])continue;const n={...t.vertexAttributes[e],byteOffset:r,count:a},i=g[e]||"_"+e;o.vertexAttributes[i]=n,r+=A(n.valueType)*n.valuesPerElement*a}const s=i.faceCount;if(t.faces&&s){o.faces={};for(const e of t.ordering){if(!t.faces[e])continue;const n={...t.faces[e],byteOffset:r,count:s};o.faces[e]=n,r+=A(n.valueType)*n.valuesPerElement*s}}const u=i.featureCount;if(t.featureAttributes&&t.featureAttributeOrder&&u){o.featureAttributes={};for(const e of t.featureAttributeOrder){if(!t.featureAttributes[e])continue;const n={...t.featureAttributes[e],byteOffset:r,count:u};o.featureAttributes[e]=n,r+=("UInt64"===n.valueType?8:A(n.valueType))*n.valuesPerElement*u}}return v(r,e.byteLength,"geometry"),o.byteCount=r-o.byteOffset,o}const g={position:"position",normal:"normal",color:"color",uv0:"uv0",region:"uvRegion"};function h(e,t,n,i=!1){if("lepcc-rgb"===e.encoding)return i?(0,s.mb)(t):function(e){return Array.isArray(e)?e.length<a.y9?e:new Uint8Array(e):e.length<a.y9?Array.from(e):e}((0,s.mb)(t));if("lepcc-intensity"===e.encoding)return i?(0,s.Ax)(t):function(e){return Array.isArray(e)?e.length<a.y9?e:new Uint16Array(e):e.length<a.y9?Array.from(e):e}((0,s.Ax)(t));if(null!=e.encoding&&""!==e.encoding)throw new r.A("unknown-attribute-storage-info-encoding","Unknown Attribute Storage Info Encoding");e["attributeByteCounts "]&&!e.attributeByteCounts&&(u().warn("Warning: Trailing space in 'attributeByteCounts '."),e.attributeByteCounts=e["attributeByteCounts "]),"ObjectIds"===e.ordering[0]&&e.hasOwnProperty("objectIds")&&(u().warn("Warning: Case error in objectIds"),e.ordering[0]="objectIds");const c=function(e,t,n){const i=null!=t.header?l(e,t.header):{byteOffset:0,byteCount:0,fields:{count:n}},a={header:i,byteOffset:i.byteCount,byteCount:0,entries:Object.create(null)};let s=i.byteCount;for(let e=0;e<t.ordering.length;e++){const n=t.ordering[e],u=(0,o.o8)(t[n]);if(u.count=i.fields.count??0,"String"===u.valueType){if(u.byteOffset=s,u.byteCount=i.fields[n+"ByteCount"],"UTF-8"!==u.encoding)throw new r.A("unsupported-encoding","Unsupported String encoding.",{encoding:u.encoding});if(u.timeEncoding&&"ECMA_ISO8601"!==u.timeEncoding)throw new r.A("unsupported-time-encoding","Unsupported time encoding.",{timeEncoding:u.timeEncoding})}else{if(!b(u.valueType))throw new r.A("unsupported-value-type","Unsupported binary valueType",{valueType:u.valueType});{const e=A(u.valueType);s+=s%e!==0?e-s%e:0,u.byteOffset=s,u.byteCount=e*u.valuesPerElement*u.count}}s+=u.byteCount??0,a.entries[n]=u}return a.byteCount=s-a.byteOffset,a}(t,e,n);v(c.byteOffset+c.byteCount,t.byteLength,"attribute");const p=c.entries.attributeValues||c.entries.objectIds;if(p){if("String"===p.valueType){const e=c.entries.attributeByteCounts,n=f(t,e),r=function(e,t){return new Uint8Array(e,t.byteOffset,t.byteCount)}(t,p);return p.timeEncoding?function(e,t,n){return d(e,t,n).map(e=>{const t=e?Date.parse(e):null;return null==t||Number.isNaN(t)?null:t})}(e.count,n,r):d(e.count,n,r)}return i?f(t,p):function(e,t){const n=f(e,t);if(n.length>=a.y9)return n;const r=new Array;return n.forEach((e,t)=>r.push(m(n,t))),r}(t,p)}throw new r.A("bad-attribute-storage-info","Bad attributeStorageInfo specification.")}const y={Float32:Float32Array,Float64:Float64Array,UInt8:Uint8Array,Int8:Int8Array,UInt16:Uint16Array,Int16:Int16Array,UInt32:Uint32Array,Int32:Int32Array},w={Float32:(e,t)=>new DataView(e,0).getFloat32(t,!0),Float64:(e,t)=>new DataView(e,0).getFloat64(t,!0),UInt8:(e,t)=>new DataView(e,0).getUint8(t),Int8:(e,t)=>new DataView(e,0).getInt8(t),UInt16:(e,t)=>new DataView(e,0).getUint16(t,!0),Int16:(e,t)=>new DataView(e,0).getInt16(t,!0),UInt32:(e,t)=>new DataView(e,0).getUint32(t,!0),Int32:(e,t)=>new DataView(e,0).getInt32(t,!0)};function b(e){return y.hasOwnProperty(e)}function A(e){return b(e)?y[e].BYTES_PER_ELEMENT:0}},5682(e,t,n){n.d(t,{s1:()=>l});var r=n(11254),o=(n(4576),n(49186),n(44208),n(58083),n(9093)),i=(n(35522),n(51850)),a=(n(91218),n(16930),n(27993),n(19419));n(39516),n(30524),n(61956);var s=n(59418);n(73941),n(48353);var u=n(91829);(0,u.fA)(0,0,0,.2);(0,u.fA)(0,0,0,.2),n(34727);var c=n(57005);async function l(e,t,n,o,i,a,u,c){const l=[];for(const r of t)if(r&&i.includes(r.name)){const t=`${e}/nodes/${n}/attributes/${r.key}/0`;l.push({url:t,storageInfo:r})}const d=await Promise.allSettled(l.map(e=>(0,r.A)(e.url,{responseType:"array-buffer",query:{...u,token:a},signal:c?.signal}).then(t=>(0,s.m0)(e.storageInfo,t.data)))),f=[];for(const e of o){const t={};for(let n=0;n<d.length;n++){const r=d[n];if("fulfilled"===r.status){const o=r.value;t[l[n].storageInfo.name]=(0,s.E5)(o,e)}}f.push(t)}return f}n(22911),(0,a.vt)(),(0,i.vt)(),(0,i.vt)(),(0,i.vt)(),(0,i.vt)(),(0,i.vt)(),(0,i.vt)(),(0,i.vt)(),(0,i.vt)(),(0,a.vt)(),(0,a.vt)(),new c.ab,(0,i.vt)(),new Array(72),(0,o.vt)()},37203(e,t,n){n.d(t,{Ax:()=>m,Me:()=>s,mb:()=>d});var r=n(49186);const o=!0;function i(e,t,n){return{identifier:String.fromCharCode.apply(null,new Uint8Array(e,n+0,10)),version:t.getUint16(n+10,o),checksum:t.getUint32(n+12,o)}}function a(e,t){return{sizeLo:e.getUint32(t+0,o),sizeHi:e.getUint32(t+4,o),minX:e.getFloat64(t+8,o),minY:e.getFloat64(t+16,o),minZ:e.getFloat64(t+24,o),maxX:e.getFloat64(t+32,o),maxY:e.getFloat64(t+40,o),maxZ:e.getFloat64(t+48,o),errorX:e.getFloat64(t+56,o),errorY:e.getFloat64(t+64,o),errorZ:e.getFloat64(t+72,o),count:e.getUint32(t+80,o),reserved:e.getUint32(t+84,o)}}function s(e){const t=new DataView(e,0);let n=0;const{identifier:o,version:s}=i(e,t,n);if(n+=16,"LEPCC "!==o)throw new r.A("lepcc-decode-error","Bad identifier");if(s>1)throw new r.A("lepcc-decode-error","Unknown version");const c=a(t,n);if(n+=88,c.sizeHi*2**32+c.sizeLo!==e.byteLength)throw new r.A("lepcc-decode-error","Bad size");const l=new Float64Array(3*c.count),d=[],f=[],m=[],v=[];if(n=u(e,n,d),n=u(e,n,f),n=u(e,n,m),n=u(e,n,v),n!==e.byteLength)throw new r.A("lepcc-decode-error","Bad length");let p=0,g=0;for(let e=0;e<d.length;e++){g+=d[e];let t=0;for(let n=0;n<f[e];n++){t+=m[p];const e=v[p];l[3*p]=Math.min(c.maxX,c.minX+2*c.errorX*t),l[3*p+1]=Math.min(c.maxY,c.minY+2*c.errorY*g),l[3*p+2]=Math.min(c.maxZ,c.minZ+2*c.errorZ*e),p++}}return{errorX:c.errorX,errorY:c.errorY,errorZ:c.errorZ,result:l}}function u(e,t,n){const r=[];t=c(e,t,r);const o=[];for(let i=0;i<r.length;i++){o.length=0,t=c(e,t,o);for(let e=0;e<o.length;e++)n.push(o[e]+r[i])}return t}function c(e,t,n){const i=new DataView(e,t),a=i.getUint8(0),s=31&a,u=!!(32&a),c=(192&a)>>6;let l=0;if(0===c)l=i.getUint32(1,o),t+=5;else if(1===c)l=i.getUint16(1,o),t+=3;else{if(2!==c)throw new r.A("lepcc-decode-error","Bad count type");l=i.getUint8(1),t+=2}if(u)throw new r.A("lepcc-decode-error","LUT not implemented");const d=Math.ceil(l*s/8),f=new Uint8Array(e,t,d);let m=0,v=0,p=0;const g=-1>>>32-s;for(let e=0;e<l;e++){for(;v<s;)m|=f[p]<<v,v+=8,p+=1;n[e]=m&g,m>>>=s,v-=s,v+s>32&&(m|=f[p-1]>>8-v)}return t+p}function l(e,t){return{sizeLo:e.getUint32(t+0,o),sizeHi:e.getUint32(t+4,o),count:e.getUint32(t+8,o),colorMapCount:e.getUint16(t+12,o),lookupMethod:e.getUint8(t+14),compressionMethod:e.getUint8(t+15)}}function d(e){const t=new DataView(e,0);let n=0;const{identifier:o,version:a}=i(e,t,n);if(n+=16,"ClusterRGB"!==o)throw new r.A("lepcc-decode-error","Bad identifier");if(a>1)throw new r.A("lepcc-decode-error","Unknown version");const s=l(t,n);if(n+=16,s.sizeHi*2**32+s.sizeLo!==e.byteLength)throw new r.A("lepcc-decode-error","Bad size");if((2===s.lookupMethod||1===s.lookupMethod)&&0===s.compressionMethod){if(3*s.colorMapCount+s.count+n!==e.byteLength||s.colorMapCount>256)throw new r.A("lepcc-decode-error","Bad count");const t=new Uint8Array(e,n,3*s.colorMapCount),o=new Uint8Array(e,n+3*s.colorMapCount,s.count),i=new Uint8Array(3*s.count);for(let e=0;e<s.count;e++){const n=o[e];i[3*e]=t[3*n],i[3*e+1]=t[3*n+1],i[3*e+2]=t[3*n+2]}return i}if(0===s.lookupMethod&&0===s.compressionMethod){if(3*s.count+n!==e.byteLength||0!==s.colorMapCount)throw new r.A("lepcc-decode-error","Bad count");return new Uint8Array(e,n).slice()}if(s.lookupMethod<=2&&1===s.compressionMethod){if(n+3!==e.byteLength||1!==s.colorMapCount)throw new r.A("lepcc-decode-error","Bad count");const o=t.getUint8(n),i=t.getUint8(n+1),a=t.getUint8(n+2),u=new Uint8Array(3*s.count);for(let e=0;e<s.count;e++)u[3*e]=o,u[3*e+1]=i,u[3*e+2]=a;return u}throw new r.A("lepcc-decode-error","Bad method "+s.lookupMethod+","+s.compressionMethod)}function f(e,t){return{sizeLo:e.getUint32(t+0,o),sizeHi:e.getUint32(t+4,o),count:e.getUint32(t+8,o),scaleFactor:e.getUint16(t+12,o),bitsPerPoint:e.getUint8(t+14),reserved:e.getUint8(t+15)}}function m(e){const t=new DataView(e,0);let n=0;const{identifier:o,version:a}=i(e,t,n);if(n+=16,"Intensity "!==o)throw new r.A("lepcc-decode-error","Bad identifier");if(a>1)throw new r.A("lepcc-decode-error","Unknown version");const s=f(t,n);if(n+=16,s.sizeHi*2**32+s.sizeLo!==e.byteLength)throw new r.A("lepcc-decode-error","Bad size");const u=new Uint16Array(s.count);if(8===s.bitsPerPoint){if(s.count+n!==e.byteLength)throw new r.A("lepcc-decode-error","Bad size");const t=new Uint8Array(e,n,s.count);for(let e=0;e<s.count;e++)u[e]=t[e]*s.scaleFactor}else if(16===s.bitsPerPoint){if(2*s.count+n!==e.byteLength)throw new r.A("lepcc-decode-error","Bad size");const t=new Uint16Array(e,n,s.count);for(let e=0;e<s.count;e++)u[e]=t[e]*s.scaleFactor}else{const t=[];if(c(e,n,t)!==e.byteLength)throw new r.A("lepcc-decode-error","Bad size");for(let e=0;e<s.count;e++)u[e]=t[e]*s.scaleFactor}return u}},49255(e,t,n){function r(e){return 3===(t=e)||4===t||5===t||6===e||7===e;var t}function o(e){return function(e){return function(e){return i(e)||function(e){return 8===e||9===e}(e)}(e)||function(e){return 1===e}(e)}(e)||2===e}function i(e){return 0===e}n.d(t,{_o:()=>i,iq:()=>o,yT:()=>r})},53466(e,t,n){n.d(t,{U:()=>o});var r=n(31821);function o(e,t){switch(t.textureCoordinateType){case 1:return e.attributes.add("uv0","vec2"),e.varyings.add("vuv0","vec2"),void e.vertex.code.add(r.H`void forwardTextureCoordinates() { vuv0 = uv0; }`);case 2:return e.attributes.add("uv0","vec2"),e.attributes.add("uvRegion","vec4"),e.varyings.add("vuv0","vec2"),e.varyings.add("vuvRegion","vec4"),void e.vertex.code.add(r.H`void forwardTextureCoordinates() {
1
+ "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[2942],{9093(e,t,n){function r(){return[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]}function o(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:()=>o,vt:()=>r,zK:()=>i});const i=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];Object.freeze(Object.defineProperty({__proto__:null,IDENTITY:i,clone:o,create:r,fromValues:function(e,t,n,r,o,i,a,s,u,c,l,d,f,m,v,p){return[e,t,n,r,o,i,a,s,u,c,l,d,f,m,v,p]}},Symbol.toStringTag,{value:"Module"}))},4197(e,t,n){n.d(t,{Vj:()=>c,cj:()=>u,jh:()=>i,l5:()=>s,xm:()=>a});var r=n(34275),o=n(9093);function i(e){return e<=r.y9?new Array(e).fill(0):new Float64Array(e)}function a(e){return((0,r.iu)(e)?e.byteLength/8:e.length)<=r.y9?Array.from(e):new Float64Array(e)}function s(e,t,n){return Array.isArray(e)?e.slice(t,t+n):e.subarray(t,t+n)}function u(e){return[...e]}function c(e){const t=(0,o.vt)();for(let n=0;n<16;++n)t[n]=e[n];return t}},70328(e,t,n){n.d(t,{BI:()=>w,DC:()=>d,Ej:()=>m,Ie:()=>h,Jt:()=>y,Ne:()=>v,RF:()=>l,aI:()=>A,fA:()=>a,gE:()=>u,hZ:()=>g,iT:()=>f,is:()=>b,qv:()=>x,vI:()=>p,vY:()=>s,v_:()=>I,vt:()=>i,w1:()=>c});var r=n(5443),o=(n(19419),n(4197));function i(e=I){return[e[0],e[1],e[2],e[3],e[4],e[5]]}function a(e,t,n,r,o,a,s=i()){return s[0]=e,s[1]=t,s[2]=n,s[3]=r,s[4]=o,s[5]=a,s}function s(e,t=i()){return function(e,t,n,r=i()){return g(r,x),function(e,t,n=0,r=t.length/3){let o=e[0],i=e[1],a=e[2],s=e[3],u=e[4],c=e[5];for(let e=0;e<r;e++)o=Math.min(o,t[n+3*e]),i=Math.min(i,t[n+3*e+1]),a=Math.min(a,t[n+3*e+2]),s=Math.max(s,t[n+3*e]),u=Math.max(u,t[n+3*e+1]),c=Math.max(c,t[n+3*e+2]);e[0]=o,e[1]=i,e[2]=a,e[3]=s,e[4]=u,e[5]=c}(r,e,t,n),r}(e,0,e.length/3,t)}function u(e,t=(0,o.jh)(24)){const[n,r,i,a,s,u]=e;return t[0]=n,t[1]=r,t[2]=i,t[3]=n,t[4]=r,t[5]=u,t[6]=n,t[7]=s,t[8]=i,t[9]=n,t[10]=s,t[11]=u,t[12]=a,t[13]=r,t[14]=i,t[15]=a,t[16]=r,t[17]=u,t[18]=a,t[19]=s,t[20]=i,t[21]=a,t[22]=s,t[23]=u,t}function c(e,t){const n=isFinite(e[2])||isFinite(e[5]);return new r.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 l(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 d(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 m(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 v(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 p(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 g(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 h(e){return e?g(e,x):i(x)}function y(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 w(e,t,n,r,o){return e[0]=t,e[1]=n,e[2]=Number.NEGATIVE_INFINITY,e[3]=r,e[4]=o,e[5]=Number.POSITIVE_INFINITY,e}function b(e){return 6===e.length}function A(e,t,n){if(null==e||null==t)return e===t;if(!b(e)||!b(t))return!1;if(n){for(let r=0;r<e.length;r++)if(!n(e[r],t[r]))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],I=[0,0,0,0,0,0];i()},54339(e,t,n){function r(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 r of t.fieldNames)n.push(e.attributes[r]??null);return JSON.stringify(n)}}}function o(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:()=>r,r:()=>o})},37352(e,t,n){n.d(t,{A:()=>u});var r,o=n(5482),i=n(7762),a=n(25482),s=n(91429);let u=r=class extends a.o{constructor(e){super(e),this.floorField=null,this.viewAllMode=!1,this.viewAllLevelIds=new i.A}clone(){return new r({floorField:this.floorField,viewAllMode:this.viewAllMode,viewAllLevelIds:this.viewAllLevelIds})}};(0,o.Cg)([(0,s.MZ)({type:String,json:{write:{isRequired:!0}}})],u.prototype,"floorField",void 0),(0,o.Cg)([(0,s.MZ)({json:{read:!1,write:!1}})],u.prototype,"viewAllMode",void 0),(0,o.Cg)([(0,s.MZ)({json:{read:!1,write:!1}})],u.prototype,"viewAllLevelIds",void 0),u=r=(0,o.Cg)([(0,s.$K)("esri.layers.support.LayerFloorInfo")],u)},59418(e,t,n){n.d(t,{wH:()=>p,MA:()=>f,E5:()=>m,m0:()=>h});var r=n(49186),o=n(4718),i=n(53966),a=n(34275),s=n(37203);const u=()=>i.A.getLogger("esri.views.3d.layers.i3s.I3SBinaryReader");function c(e,t,n){let o="",i=0;for(;i<n;){const a=e[t+i];if(a<128)o+=String.fromCharCode(a),i++;else if(a>=192&&a<224){if(i+1>=n)throw new r.A("utf8-decode-error","UTF-8 Decode failed. Two byte character was truncated.");const s=(31&a)<<6|63&e[t+i+1];o+=String.fromCharCode(s),i+=2}else if(a>=224&&a<240){if(i+2>=n)throw new r.A("utf8-decode-error","UTF-8 Decode failed. Multi byte character was truncated.");const s=(15&a)<<12|(63&e[t+i+1])<<6|63&e[t+i+2];o+=String.fromCharCode(s),i+=3}else{if(!(a>=240&&a<248))throw new r.A("utf8-decode-error","UTF-8 Decode failed. Invalid multi byte sequence.");{if(i+3>=n)throw new r.A("utf8-decode-error","UTF-8 Decode failed. Multi byte character was truncated.");const s=(7&a)<<18|(63&e[t+i+1])<<12|(63&e[t+i+2])<<6|63&e[t+i+3];if(s>=65536){const e=55296+(s-65536>>10),t=56320+(1023&s);o+=String.fromCharCode(e,t)}else o+=String.fromCharCode(s);i+=4}}}return o}function l(e,t){const n={byteOffset:0,byteCount:0,fields:Object.create(null)};let r=0;for(let o=0;o<t.length;o++){const i=t[o],a=i.valueType||i.type,s=w[a];n.fields[i.property]=s(e,r),r+=y[a].BYTES_PER_ELEMENT}return n.byteCount=r,n}function d(e,t,n){const o=[];let i,a,s=0;for(a=0;a<e;a+=1){if(i=t[a],i>0){if(o.push(c(n,s,i-1)),0!==n[s+i-1])throw new r.A("string-array-error","Invalid string array: missing null termination.")}else o.push(null);s+=i}return o}function f(e,t){return new(0,y[t.valueType])(e,t.byteOffset,t.count*t.valuesPerElement)}function m(e,t){if(!e)return null;const n=e[t];return(0,a.IY)(e)?n===a.PI?null:n:(0,a._G)(e)?n===a.h2?null:n:n!=n?null:n}function v(e,t,n){if(t!==e&&u().error(`Invalid ${n} buffer size\n expected: ${e}, actual: ${t})`),t<e)throw new r.A("buffer-too-small","Binary buffer is too small",{expectedSize:e,actualSize:t})}function p(e,t){const n=l(e,t&&t.header);let r=n.byteCount;const o={isDraco:!1,header:n,byteOffset:n.byteCount,byteCount:0,vertexAttributes:{}},i=n.fields,a=null!=i.vertexCount?i.vertexCount:i.count;for(const e of t.ordering){if(!t.vertexAttributes[e])continue;const n={...t.vertexAttributes[e],byteOffset:r,count:a},i=g[e]||"_"+e;o.vertexAttributes[i]=n,r+=A(n.valueType)*n.valuesPerElement*a}const s=i.faceCount;if(t.faces&&s){o.faces={};for(const e of t.ordering){if(!t.faces[e])continue;const n={...t.faces[e],byteOffset:r,count:s};o.faces[e]=n,r+=A(n.valueType)*n.valuesPerElement*s}}const u=i.featureCount;if(t.featureAttributes&&t.featureAttributeOrder&&u){o.featureAttributes={};for(const e of t.featureAttributeOrder){if(!t.featureAttributes[e])continue;const n={...t.featureAttributes[e],byteOffset:r,count:u};o.featureAttributes[e]=n,r+=("UInt64"===n.valueType?8:A(n.valueType))*n.valuesPerElement*u}}return v(r,e.byteLength,"geometry"),o.byteCount=r-o.byteOffset,o}const g={position:"position",normal:"normal",color:"color",uv0:"uv0",region:"uvRegion"};function h(e,t,n,i=!1){if("lepcc-rgb"===e.encoding)return i?(0,s.mb)(t):function(e){return Array.isArray(e)?e.length<a.y9?e:new Uint8Array(e):e.length<a.y9?Array.from(e):e}((0,s.mb)(t));if("lepcc-intensity"===e.encoding)return i?(0,s.Ax)(t):function(e){return Array.isArray(e)?e.length<a.y9?e:new Uint16Array(e):e.length<a.y9?Array.from(e):e}((0,s.Ax)(t));if(null!=e.encoding&&""!==e.encoding)throw new r.A("unknown-attribute-storage-info-encoding","Unknown Attribute Storage Info Encoding");e["attributeByteCounts "]&&!e.attributeByteCounts&&(u().warn("Warning: Trailing space in 'attributeByteCounts '."),e.attributeByteCounts=e["attributeByteCounts "]),"ObjectIds"===e.ordering[0]&&e.hasOwnProperty("objectIds")&&(u().warn("Warning: Case error in objectIds"),e.ordering[0]="objectIds");const c=function(e,t,n){const i=null!=t.header?l(e,t.header):{byteOffset:0,byteCount:0,fields:{count:n}},a={header:i,byteOffset:i.byteCount,byteCount:0,entries:Object.create(null)};let s=i.byteCount;for(let e=0;e<t.ordering.length;e++){const n=t.ordering[e],u=(0,o.o8)(t[n]);if(u.count=i.fields.count??0,"String"===u.valueType){if(u.byteOffset=s,u.byteCount=i.fields[n+"ByteCount"],"UTF-8"!==u.encoding)throw new r.A("unsupported-encoding","Unsupported String encoding.",{encoding:u.encoding});if(u.timeEncoding&&"ECMA_ISO8601"!==u.timeEncoding)throw new r.A("unsupported-time-encoding","Unsupported time encoding.",{timeEncoding:u.timeEncoding})}else{if(!b(u.valueType))throw new r.A("unsupported-value-type","Unsupported binary valueType",{valueType:u.valueType});{const e=A(u.valueType);s+=s%e!==0?e-s%e:0,u.byteOffset=s,u.byteCount=e*u.valuesPerElement*u.count}}s+=u.byteCount??0,a.entries[n]=u}return a.byteCount=s-a.byteOffset,a}(t,e,n);v(c.byteOffset+c.byteCount,t.byteLength,"attribute");const p=c.entries.attributeValues||c.entries.objectIds;if(p){if("String"===p.valueType){const e=c.entries.attributeByteCounts,n=f(t,e),r=function(e,t){return new Uint8Array(e,t.byteOffset,t.byteCount)}(t,p);return p.timeEncoding?function(e,t,n){return d(e,t,n).map(e=>{const t=e?Date.parse(e):null;return null==t||Number.isNaN(t)?null:t})}(e.count,n,r):d(e.count,n,r)}return i?f(t,p):function(e,t){const n=f(e,t);if(n.length>=a.y9)return n;const r=new Array;return n.forEach((e,t)=>r.push(m(n,t))),r}(t,p)}throw new r.A("bad-attribute-storage-info","Bad attributeStorageInfo specification.")}const y={Float32:Float32Array,Float64:Float64Array,UInt8:Uint8Array,Int8:Int8Array,UInt16:Uint16Array,Int16:Int16Array,UInt32:Uint32Array,Int32:Int32Array},w={Float32:(e,t)=>new DataView(e,0).getFloat32(t,!0),Float64:(e,t)=>new DataView(e,0).getFloat64(t,!0),UInt8:(e,t)=>new DataView(e,0).getUint8(t),Int8:(e,t)=>new DataView(e,0).getInt8(t),UInt16:(e,t)=>new DataView(e,0).getUint16(t,!0),Int16:(e,t)=>new DataView(e,0).getInt16(t,!0),UInt32:(e,t)=>new DataView(e,0).getUint32(t,!0),Int32:(e,t)=>new DataView(e,0).getInt32(t,!0)};function b(e){return y.hasOwnProperty(e)}function A(e){return b(e)?y[e].BYTES_PER_ELEMENT:0}},5682(e,t,n){n.d(t,{s1:()=>l});var r=n(11254),o=(n(4576),n(49186),n(44208),n(58083),n(9093)),i=(n(35522),n(51850)),a=(n(91218),n(16930),n(27993),n(19419));n(39516),n(30524),n(61956);var s=n(59418);n(73941),n(48353);var u=n(91829);(0,u.fA)(0,0,0,.2);(0,u.fA)(0,0,0,.2),n(34727);var c=n(57005);async function l(e,t,n,o,i,a,u,c){const l=[];for(const r of t)if(r&&i.includes(r.name)){const t=`${e}/nodes/${n}/attributes/${r.key}/0`;l.push({url:t,storageInfo:r})}const d=await Promise.allSettled(l.map(e=>(0,r.A)(e.url,{responseType:"array-buffer",query:{...u,token:a},signal:c?.signal}).then(t=>(0,s.m0)(e.storageInfo,t.data)))),f=[];for(const e of o){const t={};for(let n=0;n<d.length;n++){const r=d[n];if("fulfilled"===r.status){const o=r.value;t[l[n].storageInfo.name]=(0,s.E5)(o,e)}}f.push(t)}return f}n(22911),(0,a.vt)(),(0,i.vt)(),(0,i.vt)(),(0,i.vt)(),(0,i.vt)(),(0,i.vt)(),(0,i.vt)(),(0,i.vt)(),(0,i.vt)(),(0,a.vt)(),(0,a.vt)(),new c.ab,(0,i.vt)(),new Array(72),(0,o.vt)()},37203(e,t,n){n.d(t,{Ax:()=>m,Me:()=>s,mb:()=>d});var r=n(49186);const o=!0;function i(e,t,n){return{identifier:String.fromCharCode.apply(null,new Uint8Array(e,n+0,10)),version:t.getUint16(n+10,o),checksum:t.getUint32(n+12,o)}}function a(e,t){return{sizeLo:e.getUint32(t+0,o),sizeHi:e.getUint32(t+4,o),minX:e.getFloat64(t+8,o),minY:e.getFloat64(t+16,o),minZ:e.getFloat64(t+24,o),maxX:e.getFloat64(t+32,o),maxY:e.getFloat64(t+40,o),maxZ:e.getFloat64(t+48,o),errorX:e.getFloat64(t+56,o),errorY:e.getFloat64(t+64,o),errorZ:e.getFloat64(t+72,o),count:e.getUint32(t+80,o),reserved:e.getUint32(t+84,o)}}function s(e){const t=new DataView(e,0);let n=0;const{identifier:o,version:s}=i(e,t,n);if(n+=16,"LEPCC "!==o)throw new r.A("lepcc-decode-error","Bad identifier");if(s>1)throw new r.A("lepcc-decode-error","Unknown version");const c=a(t,n);if(n+=88,c.sizeHi*2**32+c.sizeLo!==e.byteLength)throw new r.A("lepcc-decode-error","Bad size");const l=new Float64Array(3*c.count),d=[],f=[],m=[],v=[];if(n=u(e,n,d),n=u(e,n,f),n=u(e,n,m),n=u(e,n,v),n!==e.byteLength)throw new r.A("lepcc-decode-error","Bad length");let p=0,g=0;for(let e=0;e<d.length;e++){g+=d[e];let t=0;for(let n=0;n<f[e];n++){t+=m[p];const e=v[p];l[3*p]=Math.min(c.maxX,c.minX+2*c.errorX*t),l[3*p+1]=Math.min(c.maxY,c.minY+2*c.errorY*g),l[3*p+2]=Math.min(c.maxZ,c.minZ+2*c.errorZ*e),p++}}return{errorX:c.errorX,errorY:c.errorY,errorZ:c.errorZ,result:l}}function u(e,t,n){const r=[];t=c(e,t,r);const o=[];for(let i=0;i<r.length;i++){o.length=0,t=c(e,t,o);for(let e=0;e<o.length;e++)n.push(o[e]+r[i])}return t}function c(e,t,n){const i=new DataView(e,t),a=i.getUint8(0),s=31&a,u=!!(32&a),c=(192&a)>>6;let l=0;if(0===c)l=i.getUint32(1,o),t+=5;else if(1===c)l=i.getUint16(1,o),t+=3;else{if(2!==c)throw new r.A("lepcc-decode-error","Bad count type");l=i.getUint8(1),t+=2}if(u)throw new r.A("lepcc-decode-error","LUT not implemented");const d=Math.ceil(l*s/8),f=new Uint8Array(e,t,d);let m=0,v=0,p=0;const g=-1>>>32-s;for(let e=0;e<l;e++){for(;v<s;)m|=f[p]<<v,v+=8,p+=1;n[e]=m&g,m>>>=s,v-=s,v+s>32&&(m|=f[p-1]>>8-v)}return t+p}function l(e,t){return{sizeLo:e.getUint32(t+0,o),sizeHi:e.getUint32(t+4,o),count:e.getUint32(t+8,o),colorMapCount:e.getUint16(t+12,o),lookupMethod:e.getUint8(t+14),compressionMethod:e.getUint8(t+15)}}function d(e){const t=new DataView(e,0);let n=0;const{identifier:o,version:a}=i(e,t,n);if(n+=16,"ClusterRGB"!==o)throw new r.A("lepcc-decode-error","Bad identifier");if(a>1)throw new r.A("lepcc-decode-error","Unknown version");const s=l(t,n);if(n+=16,s.sizeHi*2**32+s.sizeLo!==e.byteLength)throw new r.A("lepcc-decode-error","Bad size");if((2===s.lookupMethod||1===s.lookupMethod)&&0===s.compressionMethod){if(3*s.colorMapCount+s.count+n!==e.byteLength||s.colorMapCount>256)throw new r.A("lepcc-decode-error","Bad count");const t=new Uint8Array(e,n,3*s.colorMapCount),o=new Uint8Array(e,n+3*s.colorMapCount,s.count),i=new Uint8Array(3*s.count);for(let e=0;e<s.count;e++){const n=o[e];i[3*e]=t[3*n],i[3*e+1]=t[3*n+1],i[3*e+2]=t[3*n+2]}return i}if(0===s.lookupMethod&&0===s.compressionMethod){if(3*s.count+n!==e.byteLength||0!==s.colorMapCount)throw new r.A("lepcc-decode-error","Bad count");return new Uint8Array(e,n).slice()}if(s.lookupMethod<=2&&1===s.compressionMethod){if(n+3!==e.byteLength||1!==s.colorMapCount)throw new r.A("lepcc-decode-error","Bad count");const o=t.getUint8(n),i=t.getUint8(n+1),a=t.getUint8(n+2),u=new Uint8Array(3*s.count);for(let e=0;e<s.count;e++)u[3*e]=o,u[3*e+1]=i,u[3*e+2]=a;return u}throw new r.A("lepcc-decode-error","Bad method "+s.lookupMethod+","+s.compressionMethod)}function f(e,t){return{sizeLo:e.getUint32(t+0,o),sizeHi:e.getUint32(t+4,o),count:e.getUint32(t+8,o),scaleFactor:e.getUint16(t+12,o),bitsPerPoint:e.getUint8(t+14),reserved:e.getUint8(t+15)}}function m(e){const t=new DataView(e,0);let n=0;const{identifier:o,version:a}=i(e,t,n);if(n+=16,"Intensity "!==o)throw new r.A("lepcc-decode-error","Bad identifier");if(a>1)throw new r.A("lepcc-decode-error","Unknown version");const s=f(t,n);if(n+=16,s.sizeHi*2**32+s.sizeLo!==e.byteLength)throw new r.A("lepcc-decode-error","Bad size");const u=new Uint16Array(s.count);if(8===s.bitsPerPoint){if(s.count+n!==e.byteLength)throw new r.A("lepcc-decode-error","Bad size");const t=new Uint8Array(e,n,s.count);for(let e=0;e<s.count;e++)u[e]=t[e]*s.scaleFactor}else if(16===s.bitsPerPoint){if(2*s.count+n!==e.byteLength)throw new r.A("lepcc-decode-error","Bad size");const t=new Uint16Array(e,n,s.count);for(let e=0;e<s.count;e++)u[e]=t[e]*s.scaleFactor}else{const t=[];if(c(e,n,t)!==e.byteLength)throw new r.A("lepcc-decode-error","Bad size");for(let e=0;e<s.count;e++)u[e]=t[e]*s.scaleFactor}return u}},49255(e,t,n){function r(e){return 5===(t=e)||6===t||7===t||8===e||9===e;var t}function o(e){return function(e){return function(e){return s(e)||function(e){return 10===e||11===e}(e)}(e)||function(e){return 3===e}(e)}(e)||4===e}function i(e){return 1===e}function a(e){return 2===e}function s(e){return 0===e||function(e){return i(e)||a(e)}(e)}n.d(t,{Rb:()=>a,Sp:()=>i,_o:()=>s,iq:()=>o,yT:()=>r})},53466(e,t,n){n.d(t,{U:()=>o});var r=n(31821);function o(e,t){switch(t.textureCoordinateType){case 1:return e.attributes.add("uv0","vec2"),e.varyings.add("vuv0","vec2"),void e.vertex.code.add(r.H`void forwardTextureCoordinates() { vuv0 = uv0; }`);case 2:return e.attributes.add("uv0","vec2"),e.attributes.add("uvRegion","vec4"),e.varyings.add("vuv0","vec2"),e.varyings.add("vuvRegion","vec4"),void e.vertex.code.add(r.H`void forwardTextureCoordinates() {
2
2
  vuv0 = uv0;
3
3
  vuvRegion = uvRegion;
4
4
  }`);default:t.textureCoordinateType;case 0:return void e.vertex.code.add(r.H`void forwardTextureCoordinates() {}`);case 3:return}}},99208(e,t,n){n.d(t,{r:()=>a});var r=n(53466),o=n(31821);function i(e){e.fragment.code.add(o.H`vec4 textureAtlasLookup(sampler2D tex, vec2 textureCoordinates, vec4 atlasRegion) {
@@ -1 +1 @@
1
- "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[2741],{2741(e,t,r){r.d(t,{s:()=>i});var s=r(92602),n=(r(11254),r(49186)),o=r(53966),a=r(84952);function i(e){if(!s.A.assetsPath)throw o.A.getLogger("esri.assets").errorOnce("The API assets location needs to be set using config.assetsPath. More information: https://arcg.is/1OzLe50"),new n.A("assets:path-not-set","config.assetsPath is not set");return(0,a.fj)(s.A.assetsPath,e)}},97159(e,t,r){r.d(t,{a:()=>y,b:()=>w,e:()=>h,f:()=>a,i:()=>p,p:()=>f,r:()=>l,t:()=>i,w:()=>u});var s=r(70333),n=r(84952),o=r(39131);function a(e,t){const r=t?.url?.path;if(e&&r&&(e=(0,n.s2)(e,r,{preserveProtocolRelative:!0}),t.portalItem&&t.readResourcePaths)){const r=(0,n.V1)(e,t.portalItem.itemUrl);null!=r&&r.startsWith(d)&&t.readResourcePaths.push(t.portalItem.resourceFromPath(r).path)}return(e=m(e,t?.portal))&&c.test(e)?y(e):e}function i(e,t,r=0){if(null==(e=e&&c.test(e)?g(e):e))return e;!(0,n.oP)(e)&&t?.blockedRelativeUrls&&t.blockedRelativeUrls.push(e);let s=(0,n.s2)(e);if(t){const r=t.verifyItemRelativeUrls?.rootPath||t.url?.path;if(r){const o=m(r,t.portal),a=m(s,t.portal);s=(0,n.V1)(a,o,o),null!=s&&s!==a&&s!==e&&t.verifyItemRelativeUrls&&t.verifyItemRelativeUrls.writtenUrls.push(s)}}return s=h(s,t?.portal),(0,n.oP)(s)&&(s=(0,n.S8)(s)),t?.resources&&t?.portalItem&&!(0,n.oP)(s)&&!(0,n.DB)(s)&&0===r&&t.resources.toKeep.push({resource:t.portalItem.resourceFromPath(s),compress:!1}),s}function l(e,t,r){return a(e,r)}function u(e,t,r,s){const n=i(e,s);void 0!==n&&(t[r]=n)}const c=/\/items\/([^/]+)\/resources\/(.*)/,d="./resources/";function p(e){const t=e?.match(c)??null;return t?.[1]??null}function f(e){const t=e?.match(c)??null;if(null==t)return null;const r=t[2],s=r.lastIndexOf("/");if(-1===s){const{path:e,extension:t}=(0,n.xw)(r);return{prefix:null,filename:e,extension:t}}const{path:o,extension:a}=(0,n.xw)(r.slice(s+1));return{prefix:r.slice(0,s),filename:o,extension:a}}function h(e,t){return t&&!t.isPortal&&t.urlKey&&t.customBaseUrl?(0,n.T1)(e,`${t.urlKey}.${t.customBaseUrl}`,t.portalHostname):e}function m(e,t){if(!t||t.isPortal||!t.urlKey||!t.customBaseUrl)return e;const r=`${t.urlKey}.${t.customBaseUrl}`,s=(0,n.Xq)();return(0,n.FX)(s,`${s.scheme}://${r}`)?(0,n.T1)(e,t.portalHostname,r):(0,n.T1)(e,r,t.portalHostname)}function y(e){if(!e)return e||null;let t=e;return t&&s.id&&!s.id.findCredential(t)&&(t=(0,o.qG)(t),t=t.replace(/^https?:\/\/www\.arcgis\.com/,"https://cdn.arcgis.com"),t=t.replace(/^https?:\/\/devext\.arcgis\.com/,"https://cdndev.arcgis.com"),t=t.replace(/^https?:\/\/qaext\.arcgis\.com/,"https://cdnqa.arcgis.com")),t}function g(e){if(!e)return e||null;let t=e;return t=t.replace(/^https?:\/\/cdn\.arcgis\.com/,"https://www.arcgis.com"),t=t.replace(/^https?:\/\/cdndev\.arcgis\.com/,"https://devext.arcgis.com"),t=t.replace(/^https?:\/\/cdnqa\.arcgis\.com/,"https://qaext.arcgis.com"),t&&s.id&&!s.id.findCredential(t)&&(t=(0,o.qG)(t)),t}const w=Object.freeze(Object.defineProperty({__proto__:null,ensureMainOnlineDomain:h,fromCDNUrl:g,fromJSON:a,itemIdFromResourceUrl:p,prefixAndFilenameFromResourceUrl:f,read:l,toCDNUrl:y,toJSON:i,write:u},Symbol.toStringTag,{value:"Module"}))},91869(e,t,r){function s(e,t){for(const r of e.values())if(t(r))return!0;return!1}function n(e,t,r){const s=e.get(t);if(void 0!==s)return s;const n=r();return e.set(t,n),n}function o(e){const t=new Map;return r=>(t.has(r)||t.set(r,e(r)),t.get(r))}r.d(t,{Bj:()=>o,Bs:()=>s,tE:()=>n})},60694(e,t,r){r.d(t,{Fi:()=>d,HZ:()=>b,Jf:()=>v,LS:()=>q,Wo:()=>g,bd:()=>S,cr:()=>h,iz:()=>f,qg:()=>p,uV:()=>w,yG:()=>m});var s=r(84952),n=r(39131),o=r(97159);const a={mapserver:"MapServer",imageserver:"ImageServer",featureserver:"FeatureServer",knowledgegraphserver:"KnowledgeGraphServer",sceneserver:"SceneServer",streamserver:"StreamServer",vectortileserver:"VectorTileServer","3dtilesserver":"3DTilesServer",videoserver:"VideoServer"},i=Object.values(a),l=new RegExp(`^(?<path>(?:https?:)?\\/\\/\\S+?\\/rest\\/services\\/(?<serviceTitle>.+?)\\/(?<serverType>${i.join("|")})(?:\\/exts\\/(?<soeTitle>.+?)\\/(?<soeServerType>${i.join("|")}))?)(?:\\/(?:layers))?(?:\\/(?<sublayer>\\d+))?`,"i"),u=new RegExp(`^(?<path>(?:https?:)?\\/\\/\\S+?\\/(?<serviceTitle>[^/\\n]+)\\/(?<serverType>${i.join("|")}))(?:\\/(?:layers))?(?:\\/(?<sublayer>\\d+))?`,"i"),c=/(.*?)\/(?:layers\/)?(\d+)\/?$/i;function d(e){return l.test(e)}function p(e){if(null==e)return null;const t=(0,s.An)(e),r=t?.path.match(l)||t?.path.match(u);if(!r)return null;const{path:n,serviceTitle:o,serverType:i,soeTitle:c,soeServerType:d,sublayer:p}=r.groups??{},f=c||o,m=f.indexOf("/");return{title:h(-1!==m?f.slice(m+1):f),serverType:a[(d||i).toLowerCase()],sublayer:null!=p&&""!==p?parseInt(p,10):null,url:{path:n}}}function f(e){const t=(0,s.An)(e).path.match(c);return t?{serviceUrl:t[1],sublayerId:Number(t[2])}:null}function h(e){return(e=e.replaceAll(/\s*[/_]+\s*/g," "))[0].toUpperCase()+e.slice(1)}function m(e,t){const r=[];if(e){const t=p(e);null!=t&&t.title&&r.push(t.title)}if(t){const e=h(t);r.push(e)}if(2===r.length){if(r[0].toLowerCase().includes(r[1].toLowerCase()))return r[0];if(r[1].toLowerCase().includes(r[0].toLowerCase()))return r[1]}return r.join(" - ")}const y=["services","features","tiles","elevation3d","basemaps3d"];function g(e){let t=(0,s.$z)(e,!0);return!!t&&(t=t.toLowerCase(),!!t.endsWith(".arcgis.com")&&(!!y.some(e=>t.startsWith(e))||/^[a-z\d-]+\.svcs[a-z\d-]*\./.test(t)))}function w(e){return(0,n.$E)(e)&&function(e){const t=(0,s.$z)(e);return!!t&&t.toLowerCase().endsWith(".arcgis.com")}(e)}function v(e,t){return e?(0,s.UC)((0,s.zi)(e,t)):e}function b(e){let{url:t}=e;if(!t)return{url:t};t=(0,s.zi)(t,e.logger);const r=(0,s.An)(t),n=p(r.path);let o;if(null!=n)null!=n.sublayer&&null==e.layer.layerId&&(o=n.sublayer),t=n.url.path;else if(e.nonStandardUrlAllowed){const e=f(r.path);null!=e&&(t=e.serviceUrl,o=e.sublayerId)}return{url:(0,s.UC)(t),layerId:o}}function q(e,t,r,n,a){(0,o.w)(t,n,"url",a),n.url&&null!=e.layerId&&(n.url=(0,s.fj)(n.url,r,e.layerId.toString()))}function S(e){if(!e)return!1;const t=e.toLowerCase(),r=t.includes("/services/"),s=t.includes("/mapserver/wmsserver"),n=t.includes("/imageserver/wmsserver"),o=t.includes("/wmsserver");return r&&(s||n||o)}},11254(e,t,r){r.d(t,{A:()=>g});var s=r(92602),n=r(49186),o=r(44208),a=r(17676),i=r(84952),l=r(56152),u=r(51699),c=r(91869),d=r(60694);async function p(e){const t=function(e){let t,r=!1;return"string"==typeof e?(t=(0,i.$z)(e,!0),r=(0,d.Wo)(e)):(t=e.origin,r=(0,d.Wo)(e.toString())),null==t?null:new y(t,r)}(e.parameters.url);if(!t)return null;const{QueueProcessor:s,SharedConcurrency:n}=await r.e(563).then(r.bind(r,563));return(0,c.tE)(f,t.origin,()=>{const e=(t.isHosted?(0,o.A)("request-queue-concurrency-hosted"):(0,o.A)("request-queue-concurrency-non-hosted"))??4;return h??=new n((0,o.A)("request-queue-concurrency-global")??50),new s({concurrency:e,sharedConcurrency:h,process:e=>{if((0,a.G4)(e.parameters.requestOptions))throw(0,u.YB)("",(0,a.NK)("Request canceled"),e.parameters);return(0,u.zc)(e)}})})}const f=new Map;let h,m;class y{constructor(e,t){this.origin=e,this.isHosted=t}}async function g(e,t){e instanceof URL&&(e=e.toString());const s=(0,i.DB)(e),n=(0,i.w8)(e);n||s||(e=(0,i.S8)(e));const c={url:e,requestOptions:{...t}};t?.query&&(c.requestOptions.query=t?.query instanceof URLSearchParams?(0,i.zf)(t.query.toString().replaceAll("+"," ")):t?.query);const d=e=>({data:e,getAllHeaders:v,getHeader:v,httpStatus:200,requestOptions:c.requestOptions,url:c.url}),f=(0,i.sC)(e,w.internalInterceptors);if(f){const e=await b(f,c);if(null!=e)return d(e)}let h=(0,i.sC)(e);if(h){const e=await b(h,c);if(null!=e)return d(e);h.after||h.error||(h=null)}if(e=c.url,"image"===(t=c.requestOptions).responseType&&((0,o.A)("host-webworker")||(0,o.A)("host-node")))throw(0,u.YB)("request:invalid-parameters",new Error("responseType 'image' is not supported in Web Workers or Node environment"),c);if("head"===t.method){if(t.body)throw(0,u.YB)("request:invalid-parameters",new Error("body parameter cannot be set when method is 'head'"),c);if(s||n)throw(0,u.YB)("request:invalid-parameters",new Error("data and blob URLs are not supported for method 'head'"),c)}if(await async function(){(0,o.A)("host-webworker")&&(!m&&globalThis.invokeStaticMessage?m=await r.e(369).then(r.bind(r,40369)):l.i.isForeignWorker=!0)}(),m)return m.execute(e,t);const y=new AbortController,g=(0,a.u7)(t,()=>y.abort()),q={controller:y,credential:void 0,credentialToken:void 0,fetchOptions:void 0,hasToken:!1,interceptor:h,parameters:c,redoRequest:!1,useIdentity:w.useIdentity,useProxy:!1,useSSL:!1,withCredentials:!1},S=t.useQueue?async function(e){const t=await p(e);return t?t.push(e):(0,u.zc)(e)}(q):(0,u.zc)(q),T=await S.finally(()=>g?.remove());return h?.after?.(T),T}const w=s.A.request,v=()=>null;async function b(e,t){if(null!=e.responseData)return e.responseData;if(e.headers&&(t.requestOptions.headers={...t.requestOptions.headers,...e.headers}),e.query&&(t.requestOptions.query={...t.requestOptions.query,...e.query}),e.before){let r,s;try{s=await e.before(t)}catch(e){r=(0,u.YB)("request:interceptor",e,t)}if((s instanceof Error||s instanceof n.A)&&(r=(0,u.YB)("request:interceptor",s,t)),r)throw e.error&&e.error(r),r;return s}}},56152(e,t,r){r.d(t,{i:()=>s});const s={corsServers:["https://server.arcgisonline.com","https://services.arcgisonline.com"],beforeFetch:void 0,afterFetch:void 0,isForeignWorker:!1}},95117(e,t,r){r.d(t,{y:()=>n});var s=r(17676);function n(e,t,r=!1,n){return new Promise((o,a)=>{if((0,s.G4)(n))return void a((0,s.NK)());let i=()=>{c(),a(new Error(`Unable to load ${t}`))},l=async()=>{const t=e;try{await t.decode()}catch{}c(),o(t)},u=()=>{if(!e)return;const t=e;c(),t.src="",a((0,s.NK)())};const c=()=>{e&&(e.removeEventListener("error",i),e.removeEventListener("load",l),i=null,l=null,e=null,n?.removeEventListener("abort",u),u=null,r&&URL.revokeObjectURL(t))};n?.addEventListener("abort",u),e.addEventListener("error",i),e.addEventListener("load",l)})}},51699(e,t,r){r.d(t,{YB:()=>U,c8:()=>I,zc:()=>S});var s=r(92602),n=r(70333),o=r(49186),a=r(44208),i=r(4718),l=r(17676),u=r(84952),c=r(39131),d=r(56152);class p{constructor(e,t){this.element=e,this.type="image+type",this.isOpaque="image/jpeg"===t}}var f=r(95117),h=r(60694);const m=new Map;function y(e,t){const r=t?.preferredHost;if(!r||(0,u.FX)(e,`https://${r}`,!0))return;const s=(0,h.qg)(e);if(!s||"FeatureServer"!==s.serverType||(0,c.$E)(e))return;const n=s.url.path.toLowerCase();m.has(n)||m.set(n,r)}function g(e){const t=(0,h.qg)(e)?.url.path.toLowerCase();if(!t)return e;const r=m.get(t);return r?(0,u.hf)(e,r):e}const w="FormData"in globalThis,v=new Set([499,498,403,401]),b=new Set(["COM_0056","COM_0057","SB_0008"]),q=[/\/arcgis\/tokens/i,/\/sharing(\/rest)?\/generatetoken/i,/\/rest\/info/i];async function S(e){let t,o;await async function(e){const t=e.parameters.url,o=e.parameters.requestOptions,a=e.controller.signal,i=o.body;let u=null,c=null;if(w&&"HTMLFormElement"in globalThis&&(i instanceof FormData?u=i:i instanceof HTMLFormElement&&(u=new FormData(i))),"string"==typeof i&&(c=i),e.fetchOptions={cache:o.cacheMode??(o.cacheBust?"no-cache":"default"),credentials:"same-origin",headers:o.headers||{},keepalive:o.keepAlive??!1,method:"head"===o.method?"HEAD":"GET",mode:"cors",priority:o.priority??s.A.request.priority,redirect:"follow",signal:a},(u||c)&&(e.fetchOptions.body=u||c),(d.i.isForeignWorker||"anonymous"===o.authMode)&&(e.useIdentity=!1),e.hasToken=!!(/token=/i.test(t)||o.query?.token||u?.get("token")),!e.hasToken){const{getApiKey:s,getSessionToken:n}=await r.e(926).then(r.bind(r,926)),a=await n(t)??s(t);a&&(o.query??={},o.query.token=a,e.hasToken=!0)}if(e.useIdentity&&!e.hasToken&&!e.credential&&!e.credentialToken&&!O(t)&&!(0,l.G4)(a)){let r;"immediate"===o.authMode?(await k(),r=await n.id.getCredential(t,{signal:a})):"no-prompt"===o.authMode?(await k(),r=await n.id.getCredential(t,{prompt:!1,signal:a}).catch(()=>{})):n.id&&(r=n.id.findCredential(t)),r&&(e.credential=r,e.credentialToken=r.token,e.useSSL=!!r.ssl)}}(e);try{do{[t,o]=await T(e)}while(!await x(e,t,o))}catch(r){const s=U("request:server",r,e.parameters,t);throw s.details.ssl=e.useSSL,e.interceptor?.error?.(s),s}const a=e.parameters.url;if(o)if(/\/sharing\/rest\/(accounts|portals)\/self/i.test(a)){if(!e.hasToken&&!e.credentialToken&&o.user?.username&&!(0,u.FL)(a)){const e=(0,u.$z)(a,!0);e&&s.A.request.trustedServers.push(e)}Array.isArray(o.authorizedCrossOriginNoCorsDomains)&&function(e){s.A.request.crossOriginNoCorsDomains||(s.A.request.crossOriginNoCorsDomains={});const t=s.A.request.crossOriginNoCorsDomains;for(let r of e)r=r.toLowerCase(),/^https?:\/\//.test(r)?t[(0,u.$z)(r)??""]=0:(t[(0,u.$z)("http://"+r)??""]=0,t[(0,u.$z)("https://"+r)??""]=0)}(o.authorizedCrossOriginNoCorsDomains)}else"json"===(e.parameters.requestOptions.responseType||"json")&&y(a,o);const i=e.credential;if(i&&n.id){const e=n.id.findServerInfo(i.server);let t=e?.owningSystemUrl;if(t){t=t.replace(/\/?$/,"/sharing");const e=n.id.findCredential(t,i.userId);e&&-1===n.id._getIdenticalSvcIdx(t,e)&&e.resources.unshift(t)}}return{data:o,getAllHeaders:t?()=>Array.from(t.headers):P,getHeader:t?e=>t.headers.get(e):P,httpStatus:t?.status??200,requestOptions:e.parameters.requestOptions,ssl:e.useSSL,url:e.parameters.url}}async function T(e){let t=e.parameters.url,r=g(t);const o=e.parameters.requestOptions,i=e.fetchOptions??{},f=(0,u.w8)(t)||(0,u.DB)(t),h=o.responseType??"json",m="image"===h&&o.imageWithType,y=f?0:null!=o.timeout?o.timeout:s.A.request.timeout;let v=!1;if(!f){e.useSSL&&(t=(0,u.lM)(t));let l={...o.query};e.credentialToken&&(l.token=e.credentialToken);let d=(0,u.x0)(l);(0,a.A)("esri-url-encodes-apostrophe")&&(d=d.replaceAll("'","%27"));const p=r.length+1+d.length;let f;v="delete"===o.method||"post"===o.method||"put"===o.method||!!o.body||p>s.A.request.maxUrlLength;const h=o.useProxy||!!(0,u.zs)(t);if(h){const e=(0,u.s_)(t);f=e.path,!v&&f.length+1+p>s.A.request.maxUrlLength&&(v=!0),e.query&&(l={...e.query,...l})}if("HEAD"===i.method&&(v||h)){if(v){if(p>s.A.request.maxUrlLength)throw U("request:invalid-parameters",new Error("URL exceeds maximum length"),e.parameters);throw U("request:invalid-parameters",new Error("cannot use POST request when method is 'head'"),e.parameters)}if(h)throw U("request:invalid-parameters",new Error("cannot use proxy when method is 'head'"),e.parameters)}if(v?(i.method="delete"===o.method?"DELETE":"put"===o.method?"PUT":"POST",o.body?t=(0,u.a6)(t,l):(i.body=(0,u.x0)(l),i.headers||(i.headers={}),i.headers["Content-Type"]="application/x-www-form-urlencoded")):t=(0,u.a6)(t,l),h&&(e.useProxy=!0,t=`${f}?${t}`),l.token&&w&&i.body instanceof FormData&&!(0,c.$E)(t)&&i.body.set("token",l.token),o.hasOwnProperty("withCredentials"))e.withCredentials=o.withCredentials;else if(!(0,u.FX)(t,(0,u.Xq)()))if((0,u.FL)(t))e.withCredentials=!0;else if(n.id){const r=n.id.findServerInfo(t);r?.webTierAuth&&(e.withCredentials=!0)}e.withCredentials&&(i.credentials="include",function(e){const t=s.A.request.crossOriginNoCorsDomains;if(t){let r=(0,u.$z)(e);if(r)return r=r.toLowerCase(),!(0,u.FX)(r,(0,u.Xq)())&&t[r]<Date.now()-36e5}return!1}(t)&&await async function(e){const t=(0,u.An)(e);e=t.path,"json"===t.query?.f&&(e+="?f=json");try{await fetch(e,{mode:"no-cors",credentials:"include"})}catch{}const r=s.A.request.crossOriginNoCorsDomains,n=(0,u.$z)(e);r&&n&&(r[n.toLowerCase()]=Date.now())}(v?(0,u.a6)(t,l):t)),r=g(t)}let b,q,S=0,k=!1;y>0&&(S=setTimeout(()=>{k=!0,e.controller.abort()},y));try{if("native-request-init"===o.responseType)q=i,q.url=r,o.signal?q.signal=o.signal:delete q.signal;else if("image"!==o.responseType||"default"!==i.cache||i.keepalive||"GET"!==i.method||v||function(e){if(e)for(const t of Object.getOwnPropertyNames(e))if(e[t])return!0;return!1}(o.headers)||!f&&!e.useProxy&&s.A.request.proxyUrl&&!A(t)){if(await(d.i.beforeFetch?.(t,i)),b=await fetch(r,i),await(d.i.afterFetch?.(b)),e.useProxy||function(e){const t=(0,u.$z)(e);t&&!d.i.corsServers.includes(t)&&d.i.corsServers.push(t)}(t),"native"===o.responseType)q=b;else if("HEAD"!==i.method)if(b.ok){switch(h){case"array-buffer":q=await b.arrayBuffer();break;case"blob":q=await b.blob();break;case"image":q=await(m?b.arrayBuffer():b.blob());break;default:q=await b.text()}if(S&&(clearTimeout(S),S=0),"json"===h||"xml"===h||"document"===h)if(q)switch(h){case"json":q=JSON.parse(q);break;case"xml":q=L(q,"application/xml");break;case"document":q=L(q,"text/html")}else q=null;if(q){if(("array-buffer"===h||"blob"===h)&&q["blob"===h?"size":"byteLength"]<=750)try{const e=await new Response(q).json();e.error&&(q=e)}catch{}if(m&&q instanceof ArrayBuffer){const t=function(e){if(e.byteLength<2)return"unknown";const t=new Uint8Array(e,0,e.byteLength);return 137===t[0]&&80===t[1]?"image/png":71===t[0]&&73===t[1]?"image/gif":66===t[0]&&77===t[1]?"image/bmp":255===t[0]&&216===t[1]?"image/jpeg":"unknown"}(q);if("unknown"===t)return o.responseType="image",await T(e);q=await b.blob(),q=await C(URL.createObjectURL(q),e,!0),q=new p(q,t)}"image"===h&&q instanceof Blob&&(q=await C(URL.createObjectURL(q),e,!0))}}else{q=await b.text();try{q=JSON.parse(q)}catch{}}}else q=await C(r,e)}catch(r){if("AbortError"===r.name){if(k)throw new Error($);throw(0,l.NK)("Request canceled")}if(!(!b&&r instanceof TypeError&&s.A.request.proxyUrl)||o.body||"delete"===o.method||"head"===o.method||"post"===o.method||"put"===o.method||e.useProxy||A(t))throw r;e.redoRequest=!0,(0,u.oy)({proxyUrl:s.A.request.proxyUrl,urlPrefix:(0,u.$z)(t)??""})}finally{S&&clearTimeout(S)}return[b,q]}function C(e,t,r=!1){const n=t.controller.signal,o=new Image;return t.withCredentials?o.crossOrigin="use-credentials":o.crossOrigin="anonymous",o.alt="",o.fetchPriority=s.A.request.priority,o.src=e,(0,f.y)(o,e,r,n)}function A(e){const t=(0,u.$z)(e);return!t||t.endsWith(".arcgis.com")||d.i.corsServers.includes(t)||(0,u.FL)(t)}async function k(){n.id||await Promise.all([r.e(7632),r.e(6408),r.e(7138),r.e(9466),r.e(5482),r.e(148),r.e(7581)]).then(r.bind(r,50148))}function O(e){return q.some(t=>t.test(e))}function L(e,t){let r;try{r=(new DOMParser).parseFromString(e,t)}catch{}if(!r||r.getElementsByTagName("parsererror").length)throw new SyntaxError("XML Parse error");return r}async function x(e,t,r){if(e.redoRequest)return e.redoRequest=!1,!1;const s=e.parameters.requestOptions;if(!t||"native"===s.responseType||"native-request-init"===s.responseType)return!0;let o,a;if(r&&(r.error&&"object"==typeof r.error?o=r.error:"error"===r.status&&Array.isArray(r.messages)&&(o={...r},o[E]=r,o.details=r.messages)),!o&&!t.ok)throw o=new Error(`Unable to load ${t.url} status: ${t.status}`),o[E]=r,o;let i,l=null;o&&(a=Number(o.code),l=o.hasOwnProperty("subcode")?Number(o.subcode):null,i=o.messageCode,i=i?.toUpperCase());const u=s.authMode;if(403===a&&(4===l||o.message?.toLowerCase().includes("ssl")&&!o.message.toLowerCase().includes("permission"))){if(!e.useSSL)return e.useSSL=!0,!1}else if(!e.hasToken&&e.useIdentity&&("no-prompt"!==u||498===a)&&void 0!==a&&v.has(a)&&!O(e.parameters.url)&&(403!==a||(!i||!b.has(i))&&(null==l||2===l&&e.credentialToken))){await k();try{const t=await n.id.getCredential(e.parameters.url,{error:U("request:server",o,e.parameters),credential:e.credential,prompt:"no-prompt"!==u,signal:e.controller.signal,token:e.credentialToken});return e.credential=t,e.credentialToken=t.token,e.useSSL=e.useSSL||t.ssl,!1}catch(t){if("no-prompt"===u)return e.credential=void 0,e.credentialToken=void 0,!1;o=t}}if(o)throw o;return!0}function U(e,t,r,s){let n;const a={url:r.url,requestOptions:r.requestOptions,getAllHeaders:P,getHeader:P,ssl:!1};if(t instanceof o.A)return t.details?(t.details=(0,i.o8)(t.details),t.details.url=r.url,t.details.requestOptions=r.requestOptions):t.details=a,t;if(t){const e=s&&(()=>Array.from(s.headers)),r=s&&(e=>s.headers.get(e)),o=s?.status,i=t.message;i&&(n=i),e&&r&&(a.getAllHeaders=e,a.getHeader=r),a.httpStatus=(null!=t.httpCode?t.httpCode:t.code)||o||0,a.subCode=t.subcode,a.messageCode=t.messageCode,"string"==typeof t.details?(a.messages=[t.details],n??=t.details):(a.messages=t.details,n??=a.messages?.[0]),a.raw=E in t?t[E]:t}return n??="Error",(0,l.zf)(t)?(0,l.NK)():new o.A(e,n,a)}const E=Symbol(),P=()=>null,$="Timeout exceeded";function I(e){return"object"==typeof e&&!!e&&"message"in e&&e.message===$}}}]);
1
+ "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[2741],{2741(e,t,r){r.d(t,{s:()=>i});var s=r(92602),n=(r(11254),r(49186)),o=r(53966),a=r(84952);function i(e){if(!s.A.assetsPath)throw o.A.getLogger("esri.assets").errorOnce("The API assets location needs to be set using config.assetsPath. More information: https://arcg.is/1OzLe50"),new n.A("assets:path-not-set","config.assetsPath is not set");return(0,a.fj)(s.A.assetsPath,e)}},97159(e,t,r){r.d(t,{a:()=>y,b:()=>w,e:()=>h,f:()=>a,i:()=>p,p:()=>f,r:()=>l,t:()=>i,w:()=>u});var s=r(70333),n=r(84952),o=r(39131);function a(e,t){const r=t?.url?.path;if(e&&r&&(e=(0,n.s2)(e,r,{preserveProtocolRelative:!0}),t.portalItem&&t.readResourcePaths)){const r=(0,n.V1)(e,t.portalItem.itemUrl);null!=r&&r.startsWith(d)&&t.readResourcePaths.push(t.portalItem.resourceFromPath(r).path)}return(e=m(e,t?.portal))&&c.test(e)?y(e):e}function i(e,t,r=0){if(null==(e=e&&c.test(e)?g(e):e))return e;!(0,n.oP)(e)&&t?.blockedRelativeUrls&&t.blockedRelativeUrls.push(e);let s=(0,n.s2)(e);if(t){const r=t.verifyItemRelativeUrls?.rootPath||t.url?.path;if(r){const o=m(r,t.portal),a=m(s,t.portal);s=(0,n.V1)(a,o,o),null!=s&&s!==a&&s!==e&&t.verifyItemRelativeUrls&&t.verifyItemRelativeUrls.writtenUrls.push(s)}}return s=h(s,t?.portal),(0,n.oP)(s)&&(s=(0,n.S8)(s)),t?.resources&&t?.portalItem&&!(0,n.oP)(s)&&!(0,n.DB)(s)&&0===r&&t.resources.toKeep.push({resource:t.portalItem.resourceFromPath(s),compress:!1}),s}function l(e,t,r){return a(e,r)}function u(e,t,r,s){const n=i(e,s);void 0!==n&&(t[r]=n)}const c=/\/items\/([^/]+)\/resources\/(.*)/,d="./resources/";function p(e){const t=e?.match(c)??null;return t?.[1]??null}function f(e){const t=e?.match(c)??null;if(null==t)return null;const r=t[2],s=r.lastIndexOf("/");if(-1===s){const{path:e,extension:t}=(0,n.xw)(r);return{prefix:null,filename:e,extension:t}}const{path:o,extension:a}=(0,n.xw)(r.slice(s+1));return{prefix:r.slice(0,s),filename:o,extension:a}}function h(e,t){return t&&!t.isPortal&&t.urlKey&&t.customBaseUrl?(0,n.T1)(e,`${t.urlKey}.${t.customBaseUrl}`,t.portalHostname):e}function m(e,t){if(!t||t.isPortal||!t.urlKey||!t.customBaseUrl)return e;const r=`${t.urlKey}.${t.customBaseUrl}`,s=(0,n.Xq)();return(0,n.FX)(s,`${s.scheme}://${r}`)?(0,n.T1)(e,t.portalHostname,r):(0,n.T1)(e,r,t.portalHostname)}function y(e){if(!e)return e||null;let t=e;return t&&s.id&&!s.id.findCredential(t)&&(t=(0,o.qG)(t),t=t.replace(/^https?:\/\/www\.arcgis\.com/,"https://cdn.arcgis.com"),t=t.replace(/^https?:\/\/devext\.arcgis\.com/,"https://cdndev.arcgis.com"),t=t.replace(/^https?:\/\/qaext\.arcgis\.com/,"https://cdnqa.arcgis.com")),t}function g(e){if(!e)return e||null;let t=e;return t=t.replace(/^https?:\/\/cdn\.arcgis\.com/,"https://www.arcgis.com"),t=t.replace(/^https?:\/\/cdndev\.arcgis\.com/,"https://devext.arcgis.com"),t=t.replace(/^https?:\/\/cdnqa\.arcgis\.com/,"https://qaext.arcgis.com"),t&&s.id&&!s.id.findCredential(t)&&(t=(0,o.qG)(t)),t}const w=Object.freeze(Object.defineProperty({__proto__:null,ensureMainOnlineDomain:h,fromCDNUrl:g,fromJSON:a,itemIdFromResourceUrl:p,prefixAndFilenameFromResourceUrl:f,read:l,toCDNUrl:y,toJSON:i,write:u},Symbol.toStringTag,{value:"Module"}))},91869(e,t,r){function s(e,t){for(const r of e.values())if(t(r))return!0;return!1}function n(e,t,r){const s=e.get(t);if(void 0!==s)return s;const n=r();return e.set(t,n),n}function o(e){const t=new Map;return r=>(t.has(r)||t.set(r,e(r)),t.get(r))}r.d(t,{Bj:()=>o,Bs:()=>s,tE:()=>n})},60694(e,t,r){r.d(t,{Fi:()=>d,HZ:()=>b,Jf:()=>v,LS:()=>q,Wo:()=>g,bd:()=>S,cr:()=>h,iz:()=>f,qg:()=>p,uV:()=>w,yG:()=>m});var s=r(84952),n=r(39131),o=r(97159);const a={mapserver:"MapServer",imageserver:"ImageServer",featureserver:"FeatureServer",knowledgegraphserver:"KnowledgeGraphServer",sceneserver:"SceneServer",streamserver:"StreamServer",vectortileserver:"VectorTileServer","3dtilesserver":"3DTilesServer",videoserver:"VideoServer"},i=Object.values(a),l=new RegExp(`^(?<path>(?:https?:)?\\/\\/\\S+?\\/rest\\/services\\/(?<serviceTitle>.+?)\\/(?<serverType>${i.join("|")})(?:\\/exts\\/(?<soeTitle>.+?)\\/(?<soeServerType>${i.join("|")}))?)(?:\\/(?:layers))?(?:\\/(?<sublayer>\\d+))?`,"i"),u=new RegExp(`^(?<path>(?:https?:)?\\/\\/\\S+?\\/(?<serviceTitle>[^/\\n]+)\\/(?<serverType>${i.join("|")}))(?:\\/(?:layers))?(?:\\/(?<sublayer>\\d+))?`,"i"),c=/(.*?)\/(?:layers\/)?(\d+)\/?$/i;function d(e){return l.test(e)}function p(e){if(null==e)return null;const t=(0,s.An)(e),r=t?.path.match(l)||t?.path.match(u);if(!r)return null;const{path:n,serviceTitle:o,serverType:i,soeTitle:c,soeServerType:d,sublayer:p}=r.groups??{},f=c||o,m=f.indexOf("/");return{title:h(-1!==m?f.slice(m+1):f),serverType:a[(d||i).toLowerCase()],sublayer:null!=p&&""!==p?parseInt(p,10):null,url:{path:n}}}function f(e){const t=(0,s.An)(e).path.match(c);return t?{serviceUrl:t[1],sublayerId:Number(t[2])}:null}function h(e){return(e=e.replaceAll(/\s*[/_]+\s*/g," "))[0].toUpperCase()+e.slice(1)}function m(e,t){const r=[];if(e){const t=p(e);null!=t&&t.title&&r.push(t.title)}if(t){const e=h(t);r.push(e)}if(2===r.length){if(r[0].toLowerCase().includes(r[1].toLowerCase()))return r[0];if(r[1].toLowerCase().includes(r[0].toLowerCase()))return r[1]}return r.join(" - ")}const y=["services","features","tiles","elevation3d","basemaps3d"];function g(e){let t=(0,s.$z)(e,!0);return!!t&&(t=t.toLowerCase(),!!t.endsWith(".arcgis.com")&&(!!y.some(e=>t.startsWith(e))||/^[a-z\d-]+\.svcs[a-z\d-]*\./.test(t)))}function w(e){return(0,n.$E)(e)&&function(e){const t=(0,s.$z)(e);return!!t&&t.toLowerCase().endsWith(".arcgis.com")}(e)}function v(e,t){return e?(0,s.UC)((0,s.zi)(e,t)):e}function b(e){let{url:t}=e;if(!t)return{url:t};t=(0,s.zi)(t,e.logger);const r=(0,s.An)(t),n=p(r.path);let o;if(null!=n)null!=n.sublayer&&null==e.layer.layerId&&(o=n.sublayer),t=n.url.path;else if(e.nonStandardUrlAllowed){const e=f(r.path);null!=e&&(t=e.serviceUrl,o=e.sublayerId)}return{url:(0,s.UC)(t),layerId:o}}function q(e,t,r,n,a){(0,o.w)(t,n,"url",a),n.url&&null!=e.layerId&&(n.url=(0,s.fj)(n.url,r,e.layerId.toString()))}function S(e){if(!e)return!1;const t=e.toLowerCase(),r=t.includes("/services/"),s=t.includes("/mapserver/wmsserver"),n=t.includes("/imageserver/wmsserver"),o=t.includes("/wmsserver");return r&&(s||n||o)}},11254(e,t,r){r.d(t,{A:()=>g});var s=r(92602),n=r(49186),o=r(44208),a=r(17676),i=r(84952),l=r(56152),u=r(51699),c=r(91869),d=r(60694);async function p(e){const t=function(e){let t,r=!1;return"string"==typeof e?(t=(0,i.$z)(e,!0),r=(0,d.Wo)(e)):(t=e.origin,r=(0,d.Wo)(e.toString())),null==t?null:new y(t,r)}(e.parameters.url);if(!t)return null;const{QueueProcessor:s,SharedConcurrency:n}=await r.e(563).then(r.bind(r,563));return(0,c.tE)(f,t.origin,()=>{const e=(t.isHosted?(0,o.A)("request-queue-concurrency-hosted"):(0,o.A)("request-queue-concurrency-non-hosted"))??4;return h??=new n((0,o.A)("request-queue-concurrency-global")??50),new s({concurrency:e,sharedConcurrency:h,process:e=>{if((0,a.G4)(e.parameters.requestOptions))throw(0,u.YB)("",(0,a.NK)("Request canceled"),e.parameters);return(0,u.zc)(e)}})})}const f=new Map;let h,m;class y{constructor(e,t){this.origin=e,this.isHosted=t}}async function g(e,t){e instanceof URL&&(e=e.toString());const s=(0,i.DB)(e),n=(0,i.w8)(e);n||s||(e=(0,i.S8)(e));const c={url:e,requestOptions:{...t}};t?.query&&(c.requestOptions.query=t?.query instanceof URLSearchParams?(0,i.zf)(t.query.toString().replaceAll("+"," ")):t?.query);const d=e=>({data:e,getAllHeaders:v,getHeader:v,httpStatus:200,requestOptions:c.requestOptions,url:c.url}),f=(0,i.sC)(e,w.internalInterceptors);if(f){const e=await b(f,c);if(null!=e)return d(e)}let h=(0,i.sC)(e);if(h){const e=await b(h,c);if(null!=e)return d(e);h.after||h.error||(h=null)}if(e=c.url,"image"===(t=c.requestOptions).responseType&&((0,o.A)("host-webworker")||(0,o.A)("host-node")))throw(0,u.YB)("request:invalid-parameters",new Error("responseType 'image' is not supported in Web Workers or Node environment"),c);if("head"===t.method){if(t.body)throw(0,u.YB)("request:invalid-parameters",new Error("body parameter cannot be set when method is 'head'"),c);if(s||n)throw(0,u.YB)("request:invalid-parameters",new Error("data and blob URLs are not supported for method 'head'"),c)}if(await async function(){(0,o.A)("host-webworker")&&(!m&&globalThis.invokeStaticMessage?m=await r.e(369).then(r.bind(r,40369)):l.i.isForeignWorker=!0)}(),m)return m.execute(e,t);const y=new AbortController,g=(0,a.u7)(t,()=>y.abort()),q={controller:y,credential:void 0,credentialToken:void 0,fetchOptions:void 0,hasToken:!1,interceptor:h,parameters:c,redoRequest:!1,useIdentity:w.useIdentity,useProxy:!1,useSSL:!1,withCredentials:!1},S=t.useQueue?async function(e){const t=await p(e);return t?t.push(e):(0,u.zc)(e)}(q):(0,u.zc)(q),T=await S.finally(()=>g?.remove());return h?.after?.(T),T}const w=s.A.request,v=()=>null;async function b(e,t){if(null!=e.responseData)return e.responseData;if(e.headers&&(t.requestOptions.headers={...t.requestOptions.headers,...e.headers}),e.query&&(t.requestOptions.query={...t.requestOptions.query,...e.query}),e.before){let r,s;try{s=await e.before(t)}catch(e){r=(0,u.YB)("request:interceptor",e,t)}if((s instanceof Error||s instanceof n.A)&&(r=(0,u.YB)("request:interceptor",s,t)),r)throw e.error&&e.error(r),r;return s}}},56152(e,t,r){r.d(t,{i:()=>s});const s={corsServers:["https://server.arcgisonline.com","https://services.arcgisonline.com"],beforeFetch:void 0,afterFetch:void 0,isForeignWorker:!1}},95117(e,t,r){r.d(t,{y:()=>n});var s=r(17676);function n(e,t,r=!1,n){return new Promise((o,a)=>{if((0,s.G4)(n))return void a((0,s.NK)());let i=()=>{c(),a(new Error(`Unable to load ${t}`))},l=async()=>{const t=e;try{await t.decode()}catch{}c(),o(t)},u=()=>{if(!e)return;const t=e;c(),t.src="",a((0,s.NK)())};const c=()=>{e&&(e.removeEventListener("error",i),e.removeEventListener("load",l),i=null,l=null,e=null,n?.removeEventListener("abort",u),u=null,r&&URL.revokeObjectURL(t))};n?.addEventListener("abort",u),e.addEventListener("error",i),e.addEventListener("load",l)})}},51699(e,t,r){r.d(t,{YB:()=>U,c8:()=>I,zc:()=>S});var s=r(92602),n=r(70333),o=r(49186),a=r(44208),i=r(4718),l=r(17676),u=r(84952),c=r(39131),d=r(56152);class p{constructor(e,t){this.element=e,this.type="image+type",this.isOpaque="image/jpeg"===t}}var f=r(95117),h=r(60694);const m=new Map;function y(e,t){const r=t?.preferredHost;if(!r||(0,u.FX)(e,`https://${r}`,!0))return;const s=(0,h.qg)(e);if(!s||"FeatureServer"!==s.serverType||(0,c.$E)(e))return;const n=s.url.path.toLowerCase();m.has(n)||m.set(n,r)}function g(e){const t=(0,h.qg)(e)?.url.path.toLowerCase();if(!t)return e;const r=m.get(t);return r?(0,u.hf)(e,r):e}const w="FormData"in globalThis,v=new Set([499,498,403,401]),b=new Set(["COM_0056","COM_0057","SB_0008"]),q=[/\/arcgis\/tokens/i,/\/sharing(\/rest)?\/generatetoken/i,/\/rest\/info/i];async function S(e){let t,o;await async function(e){const t=e.parameters.url,o=e.parameters.requestOptions,a=e.controller.signal,i=o.body;let u=null,c=null;if(w&&"HTMLFormElement"in globalThis&&(i instanceof FormData?u=i:i instanceof HTMLFormElement&&(u=new FormData(i))),"string"==typeof i&&(c=i),e.fetchOptions={cache:o.cacheMode??(o.cacheBust?"no-cache":"default"),credentials:"same-origin",headers:o.headers||{},keepalive:o.keepAlive??!1,method:"head"===o.method?"HEAD":"GET",mode:"cors",priority:o.priority??s.A.request.priority,redirect:"follow",signal:a},(u||c)&&(e.fetchOptions.body=u||c),(d.i.isForeignWorker||"anonymous"===o.authMode)&&(e.useIdentity=!1),e.hasToken=!!(/token=/i.test(t)||o.query?.token||u?.get("token")),!e.hasToken){const{getApiKey:s,getSessionToken:n}=await r.e(926).then(r.bind(r,926)),a=await n(t)??s(t);a&&(o.query??={},o.query.token=a,e.hasToken=!0)}if(e.useIdentity&&!e.hasToken&&!e.credential&&!e.credentialToken&&!O(t)&&!(0,l.G4)(a)){let r;"immediate"===o.authMode?(await k(),r=await n.id.getCredential(t,{signal:a})):"no-prompt"===o.authMode?(await k(),r=await n.id.getCredential(t,{prompt:!1,signal:a}).catch(()=>{})):n.id&&(r=n.id.findCredential(t)),r&&(e.credential=r,e.credentialToken=r.token,e.useSSL=!!r.ssl)}}(e);try{do{[t,o]=await T(e)}while(!await x(e,t,o))}catch(r){const s=U("request:server",r,e.parameters,t);throw s.details.ssl=e.useSSL,e.interceptor?.error?.(s),s}const a=e.parameters.url;if(o)if(/\/sharing\/rest\/(accounts|portals)\/self/i.test(a)){if(!e.hasToken&&!e.credentialToken&&o.user?.username&&!(0,u.FL)(a)){const e=(0,u.$z)(a,!0);e&&s.A.request.trustedServers.push(e)}Array.isArray(o.authorizedCrossOriginNoCorsDomains)&&function(e){s.A.request.crossOriginNoCorsDomains||(s.A.request.crossOriginNoCorsDomains={});const t=s.A.request.crossOriginNoCorsDomains;for(let r of e)r=r.toLowerCase(),/^https?:\/\//.test(r)?t[(0,u.$z)(r)??""]=0:(t[(0,u.$z)("http://"+r)??""]=0,t[(0,u.$z)("https://"+r)??""]=0)}(o.authorizedCrossOriginNoCorsDomains)}else"json"===(e.parameters.requestOptions.responseType||"json")&&y(a,o);const i=e.credential;if(i&&n.id){const e=n.id.findServerInfo(i.server);let t=e?.owningSystemUrl;if(t){t=t.replace(/\/?$/,"/sharing");const e=n.id.findCredential(t,i.userId);e&&-1===n.id._getIdenticalSvcIdx(t,e)&&e.resources.unshift(t)}}return{data:o,getAllHeaders:t?()=>Array.from(t.headers):P,getHeader:t?e=>t.headers.get(e):P,httpStatus:t?.status??200,requestOptions:e.parameters.requestOptions,ssl:e.useSSL,url:e.parameters.url}}async function T(e){let t=e.parameters.url,r=g(t);const o=e.parameters.requestOptions,i=e.fetchOptions??{},f=(0,u.w8)(t)||(0,u.DB)(t),h=o.responseType??"json",m="image"===h&&o.imageWithType,y=f?0:null!=o.timeout?o.timeout:s.A.request.timeout;let v=!1;if(!f){e.useSSL&&(t=(0,u.lM)(t));let l={...o.query};e.credentialToken&&(l.token=e.credentialToken);let d=(0,u.x0)(l);(0,a.A)("esri-url-encodes-apostrophe")&&(d=d.replaceAll("'","%27"));const p=r.length+1+d.length;let f;v="delete"===o.method||"post"===o.method||"put"===o.method||!!o.body||p>s.A.request.maxUrlLength;const h=o.useProxy||!!(0,u.zs)(t);if(h){const e=(0,u.s_)(t);f=e.path,!v&&f.length+1+p>s.A.request.maxUrlLength&&(v=!0),e.query&&(l={...e.query,...l})}if("HEAD"===i.method&&(v||h)){if(v){if(p>s.A.request.maxUrlLength)throw U("request:invalid-parameters",new Error("URL exceeds maximum length"),e.parameters);throw U("request:invalid-parameters",new Error("cannot use POST request when method is 'head'"),e.parameters)}if(h)throw U("request:invalid-parameters",new Error("cannot use proxy when method is 'head'"),e.parameters)}if(v?(i.method="delete"===o.method?"DELETE":"put"===o.method?"PUT":"POST",o.body?t=(0,u.a6)(t,l):(i.body=(0,u.x0)(l),i.headers||(i.headers={}),i.headers["Content-Type"]="application/x-www-form-urlencoded")):t=(0,u.a6)(t,l),h&&(e.useProxy=!0,t=`${f}?${t}`),l.token&&w&&i.body instanceof FormData&&!(0,c.$E)(t)&&i.body.set("token",l.token),o.hasOwnProperty("withCredentials"))e.withCredentials=o.withCredentials;else if(!(0,u.FX)(t,(0,u.Xq)()))if((0,u.FL)(t))e.withCredentials=!0;else if(n.id){const r=n.id.findServerInfo(t);r?.webTierAuth&&(e.withCredentials=!0)}e.withCredentials&&(i.credentials="include",function(e){const t=s.A.request.crossOriginNoCorsDomains;if(t){let r=(0,u.$z)(e);if(r)return r=r.toLowerCase(),!(0,u.FX)(r,(0,u.Xq)())&&t[r]<Date.now()-36e5}return!1}(t)&&await async function(e){const t=(0,u.An)(e);e=t.path,"json"===t.query?.f&&(e+="?f=json");try{await fetch(e,{mode:"no-cors",credentials:"include"})}catch{}const r=s.A.request.crossOriginNoCorsDomains,n=(0,u.$z)(e);r&&n&&(r[n.toLowerCase()]=Date.now())}(v?(0,u.a6)(t,l):t)),r=g(t)}let b,q,S=0,k=!1;y>0&&(S=setTimeout(()=>{k=!0,e.controller.abort()},y));try{if("native-request-init"===o.responseType)q=i,q.url=r,o.signal?q.signal=o.signal:delete q.signal;else if("image"!==o.responseType||"default"!==i.cache||i.keepalive||"GET"!==i.method||v||function(e){if(e)for(const t of Object.getOwnPropertyNames(e))if(e[t])return!0;return!1}(o.headers)||!f&&!e.useProxy&&s.A.request.proxyUrl&&!A(t)){if(await(d.i.beforeFetch?.(t,i)),b=await fetch(r,i),await(d.i.afterFetch?.(b)),e.useProxy||function(e){const t=(0,u.$z)(e);t&&!d.i.corsServers.includes(t)&&d.i.corsServers.push(t)}(t),"native"===o.responseType)q=b;else if("HEAD"!==i.method)if(b.ok){switch(h){case"array-buffer":q=await b.arrayBuffer();break;case"blob":q=await b.blob();break;case"image":q=await(m?b.arrayBuffer():b.blob());break;default:q=await b.text()}if(S&&(clearTimeout(S),S=0),"json"===h||"xml"===h||"document"===h)if(q)switch(h){case"json":q=JSON.parse(q);break;case"xml":q=L(q,"application/xml");break;case"document":q=L(q,"text/html")}else q=null;if(q){if(("array-buffer"===h||"blob"===h)&&q["blob"===h?"size":"byteLength"]<=750)try{const e=await new Response(q).json();e.error&&(q=e)}catch{}if(m&&q instanceof ArrayBuffer){const t=function(e){if(e.byteLength<2)return"unknown";const t=new Uint8Array(e,0,e.byteLength);return 137===t[0]&&80===t[1]?"image/png":71===t[0]&&73===t[1]?"image/gif":66===t[0]&&77===t[1]?"image/bmp":255===t[0]&&216===t[1]?"image/jpeg":"unknown"}(q);if("unknown"===t)return o.responseType="image",await T(e);q=await b.blob(),q=await C(URL.createObjectURL(q),e,!0),q=new p(q,t)}"image"===h&&q instanceof Blob&&(q=await C(URL.createObjectURL(q),e,!0))}}else{q=await b.text();try{q=JSON.parse(q)}catch{}}}else q=await C(r,e)}catch(r){if("AbortError"===r.name){if(k)throw new Error($);throw(0,l.NK)("Request canceled")}if(!(!b&&r instanceof TypeError&&s.A.request.proxyUrl)||o.body||"delete"===o.method||"head"===o.method||"post"===o.method||"put"===o.method||e.useProxy||A(t))throw r;e.redoRequest=!0,(0,u.oy)({proxyUrl:s.A.request.proxyUrl,urlPrefix:(0,u.$z)(t)??""})}finally{S&&clearTimeout(S)}return[b,q]}function C(e,t,r=!1){const n=t.controller.signal,o=new Image;return t.withCredentials?o.crossOrigin="use-credentials":o.crossOrigin="anonymous",o.alt="",o.fetchPriority=s.A.request.priority,o.src=e,(0,f.y)(o,e,r,n)}function A(e){const t=(0,u.$z)(e);return!t||t.endsWith(".arcgis.com")||d.i.corsServers.includes(t)||(0,u.FL)(t)}async function k(){n.id||await Promise.all([r.e(7632),r.e(6408),r.e(8043),r.e(9466),r.e(5482),r.e(148),r.e(7581)]).then(r.bind(r,50148))}function O(e){return q.some(t=>t.test(e))}function L(e,t){let r;try{r=(new DOMParser).parseFromString(e,t)}catch{}if(!r||r.getElementsByTagName("parsererror").length)throw new SyntaxError("XML Parse error");return r}async function x(e,t,r){if(e.redoRequest)return e.redoRequest=!1,!1;const s=e.parameters.requestOptions;if(!t||"native"===s.responseType||"native-request-init"===s.responseType)return!0;let o,a;if(r&&(r.error&&"object"==typeof r.error?o=r.error:"error"===r.status&&Array.isArray(r.messages)&&(o={...r},o[E]=r,o.details=r.messages)),!o&&!t.ok)throw o=new Error(`Unable to load ${t.url} status: ${t.status}`),o[E]=r,o;let i,l=null;o&&(a=Number(o.code),l=o.hasOwnProperty("subcode")?Number(o.subcode):null,i=o.messageCode,i=i?.toUpperCase());const u=s.authMode;if(403===a&&(4===l||o.message?.toLowerCase().includes("ssl")&&!o.message.toLowerCase().includes("permission"))){if(!e.useSSL)return e.useSSL=!0,!1}else if(!e.hasToken&&e.useIdentity&&("no-prompt"!==u||498===a)&&void 0!==a&&v.has(a)&&!O(e.parameters.url)&&(403!==a||(!i||!b.has(i))&&(null==l||2===l&&e.credentialToken))){await k();try{const t=await n.id.getCredential(e.parameters.url,{error:U("request:server",o,e.parameters),credential:e.credential,prompt:"no-prompt"!==u,signal:e.controller.signal,token:e.credentialToken});return e.credential=t,e.credentialToken=t.token,e.useSSL=e.useSSL||t.ssl,!1}catch(t){if("no-prompt"===u)return e.credential=void 0,e.credentialToken=void 0,!1;o=t}}if(o)throw o;return!0}function U(e,t,r,s){let n;const a={url:r.url,requestOptions:r.requestOptions,getAllHeaders:P,getHeader:P,ssl:!1};if(t instanceof o.A)return t.details?(t.details=(0,i.o8)(t.details),t.details.url=r.url,t.details.requestOptions=r.requestOptions):t.details=a,t;if(t){const e=s&&(()=>Array.from(s.headers)),r=s&&(e=>s.headers.get(e)),o=s?.status,i=t.message;i&&(n=i),e&&r&&(a.getAllHeaders=e,a.getHeader=r),a.httpStatus=(null!=t.httpCode?t.httpCode:t.code)||o||0,a.subCode=t.subcode,a.messageCode=t.messageCode,"string"==typeof t.details?(a.messages=[t.details],n??=t.details):(a.messages=t.details,n??=a.messages?.[0]),a.raw=E in t?t[E]:t}return n??="Error",(0,l.zf)(t)?(0,l.NK)():new o.A(e,n,a)}const E=Symbol(),P=()=>null,$="Timeout exceeded";function I(e){return"object"==typeof e&&!!e&&"message"in e&&e.message===$}}}]);
@@ -1 +1 @@
1
- {"sketch":{"area":"Area","deflection":"Deflection","direction":{"relative":"Deflection","absolute":"Direction"},"directionModeSelect":{"title":"Direction mode","absolute":"Absolute","relative":"Deflection"},"distance":"Distance","elevation":"Elevation","helpMessages2d":{"mesh":"","meshTooClose":"","meshTooFar":"","meshUnderground":"","multipoint":"Click on the map to add points. Double-click to complete.","point":"Click on the map to add a point.","polygonOneVertex":"Click on the map to continue drawing.","polygonClickOneVertex":"Click on the map to finish drawing.","polygonTwoVertices":"Double-click on the map to complete.","polygonZeroVertices":"Click on the map to start drawing.","polygonZeroVerticesHybrid":"Click or drag on the map to start drawing.","polylineOneVertex":"Double-click on the map to complete.","polylineZeroVertices":"Click on the map to start drawing.","freehandStart":"Click and drag to draw.","freehandEnd":"Release to finish.","shapeStartHybrid":"Click to place or click and drag to draw.","shapeEndHybrid":"Release to finish.","shapeStartClick":"Click to start drawing.","shapeEndClick":"Click again to finish.","noTool":"Select a tool to start drawing."},"helpMessages3d":{"mesh":"Click in the scene to place the model.","meshTooClose":"Zoom out for a better view of the model.","meshTooFar":"Zoom in for a better view of the model.","meshUnderground":"Move underground for a better view of the model.","multipoint":"","point":"Click in the scene to add a point.","polygonOneVertex":"Click in the scene to continue drawing.","polygonClickOneVertex":"Click in the scene to complete.","polygonTwoVertices":"Double-click in the scene to complete.","polygonZeroVertices":"Click in the scene to start drawing.","polygonZeroVerticesHybrid":"Click or drag in the scene to start drawing.","polylineOneVertex":"Double-click in the scene to complete.","polylineZeroVertices":"Click in the scene to start drawing.","freehandStart":"Click and drag to draw.","freehandEnd":"Release to finish.","shapeStartHybrid":"Click to place or click and drag to draw.","shapeEndHybrid":"Release to finish.","shapeStartClick":"Click to start drawing.","shapeEndClick":"Click again to finish.","noTool":""},"invalidValue":"Not a valid value","latitude":"Latitude","lockConstraint":"Lock constraint","longitude":"Longitude","orientation":"Orientation","radius":"Radius","rotation":"Rotation","scale":"Scale","size":"Size","totalLength":"Total length","unlockConstraint":"Unlock constraint","x":"X","y":"Y","z":"Z"}}
1
+ {"sketch":{"area":"Area","deflection":"Deflection","direction":{"relative":"Deflection","absolute":"Direction"},"directionModeSelect":{"title":"Direction mode","absolute":"Absolute","relative":"Deflection"},"distance":"Distance","elevation":"Elevation","helpMessages2d":{"mesh":"","meshTooClose":"","meshTooFar":"","meshUnderground":"","multipoint":"Click on the map to add points. Double-click to complete.","point":"Click on the map to add a point.","polygonOneVertex":"Click on the map to continue drawing.","polygonClickOneVertex":"Click on the map to finish drawing.","polygonTwoVertices":"Double-click on the map to complete.","polygonZeroVertices":"Click on the map to start drawing.","polygonZeroVerticesHybrid":"Click or drag on the map to start drawing.","polylineOneVertex":"Double-click on the map to complete.","polylineZeroVertices":"Click on the map to start drawing.","freehandStart":"Click and drag to draw.","freehandEnd":"Release to finish.","shapeStartHybrid":"Click to place or click and drag to draw.","shapeEndHybrid":"Release to finish.","shapeStartClick":"Click to start drawing.","shapeEndClick":"Click again to finish.","curveBezierControlPoint1":"Click to place the first control point.","curveBezierControlPoint2":"Click to place the second control point.","curvePlaceEndPoint":"Click to place the curve endpoint.","curveInteriorPoint":"Click to place the arc's interior point.","noTool":"Select a tool to start drawing."},"helpMessages3d":{"mesh":"Click in the scene to place the model.","meshTooClose":"Zoom out for a better view of the model.","meshTooFar":"Zoom in for a better view of the model.","meshUnderground":"Move underground for a better view of the model.","multipoint":"","point":"Click in the scene to add a point.","polygonOneVertex":"Click in the scene to continue drawing.","polygonClickOneVertex":"Click in the scene to complete.","polygonTwoVertices":"Double-click in the scene to complete.","polygonZeroVertices":"Click in the scene to start drawing.","polygonZeroVerticesHybrid":"Click or drag in the scene to start drawing.","polylineOneVertex":"Double-click in the scene to complete.","polylineZeroVertices":"Click in the scene to start drawing.","freehandStart":"Click and drag to draw.","freehandEnd":"Release to finish.","shapeStartHybrid":"Click to place or click and drag to draw.","shapeEndHybrid":"Release to finish.","shapeStartClick":"Click to start drawing.","shapeEndClick":"Click again to finish.","curveBezierControlPoint1":"","curveBezierControlPoint2":"","curvePlaceEndPoint":"","curveInteriorPoint":"","noTool":""},"invalidValue":"Not a valid value","latitude":"Latitude","lockConstraint":"Lock constraint","longitude":"Longitude","orientation":"Orientation","radius":"Radius","rotation":"Rotation","scale":"Scale","size":"Size","totalLength":"Total length","unlockConstraint":"Unlock constraint","x":"X","y":"Y","z":"Z"}}
@@ -1 +1 @@
1
- {"sketch":{"area":"Area","deflection":"Deflection","direction":{"relative":"Deflection","absolute":"Direction"},"directionModeSelect":{"title":"Direction mode","absolute":"Absolute","relative":"Deflection"},"distance":"Distance","elevation":"Elevation","helpMessages2d":{"mesh":"","meshTooClose":"","meshTooFar":"","meshUnderground":"","multipoint":"Click on the map to add points. Double-click to complete.","point":"Click on the map to add a point.","polygonOneVertex":"Click on the map to continue drawing.","polygonClickOneVertex":"Click on the map to finish drawing.","polygonTwoVertices":"Double-click on the map to complete.","polygonZeroVertices":"Click on the map to start drawing.","polygonZeroVerticesHybrid":"Click or drag on the map to start drawing.","polylineOneVertex":"Double-click on the map to complete.","polylineZeroVertices":"Click on the map to start drawing.","freehandStart":"Click and drag to draw.","freehandEnd":"Release to finish.","shapeStartHybrid":"Click to place or click and drag to draw.","shapeEndHybrid":"Release to finish.","shapeStartClick":"Click to start drawing.","shapeEndClick":"Click again to finish.","noTool":"Select a tool to start drawing."},"helpMessages3d":{"mesh":"Click in the scene to place the model.","meshTooClose":"Zoom out for a better view of the model.","meshTooFar":"Zoom in for a better view of the model.","meshUnderground":"Move underground for a better view of the model.","multipoint":"","point":"Click in the scene to add a point.","polygonOneVertex":"Click in the scene to continue drawing.","polygonClickOneVertex":"Click in the scene to complete.","polygonTwoVertices":"Double-click in the scene to complete.","polygonZeroVertices":"Click in the scene to start drawing.","polygonZeroVerticesHybrid":"Click or drag in the scene to start drawing.","polylineOneVertex":"Double-click in the scene to complete.","polylineZeroVertices":"Click in the scene to start drawing.","freehandStart":"Click and drag to draw.","freehandEnd":"Release to finish.","shapeStartHybrid":"Click to place or click and drag to draw.","shapeEndHybrid":"Release to finish.","shapeStartClick":"Click to start drawing.","shapeEndClick":"Click again to finish.","noTool":""},"invalidValue":"Not a valid value","latitude":"Latitude","lockConstraint":"Lock constraint","longitude":"Longitude","orientation":"Orientation","radius":"Radius","rotation":"Rotation","scale":"Scale","size":"Size","totalLength":"Total length","unlockConstraint":"Unlock constraint","x":"X","y":"Y","z":"Z"}}
1
+ {"sketch":{"area":"Area","deflection":"Deflection","direction":{"relative":"Deflection","absolute":"Direction"},"directionModeSelect":{"title":"Direction mode","absolute":"Absolute","relative":"Deflection"},"distance":"Distance","elevation":"Elevation","helpMessages2d":{"mesh":"","meshTooClose":"","meshTooFar":"","meshUnderground":"","multipoint":"Click on the map to add points. Double-click to complete.","point":"Click on the map to add a point.","polygonOneVertex":"Click on the map to continue drawing.","polygonClickOneVertex":"Click on the map to finish drawing.","polygonTwoVertices":"Double-click on the map to complete.","polygonZeroVertices":"Click on the map to start drawing.","polygonZeroVerticesHybrid":"Click or drag on the map to start drawing.","polylineOneVertex":"Double-click on the map to complete.","polylineZeroVertices":"Click on the map to start drawing.","freehandStart":"Click and drag to draw.","freehandEnd":"Release to finish.","shapeStartHybrid":"Click to place or click and drag to draw.","shapeEndHybrid":"Release to finish.","shapeStartClick":"Click to start drawing.","shapeEndClick":"Click again to finish.","curveBezierControlPoint1":"Click to place the first control point.","curveBezierControlPoint2":"Click to place the second control point.","curvePlaceEndPoint":"Click to place the curve endpoint.","curveInteriorPoint":"Click to place the arc's interior point.","noTool":"Select a tool to start drawing."},"helpMessages3d":{"mesh":"Click in the scene to place the model.","meshTooClose":"Zoom out for a better view of the model.","meshTooFar":"Zoom in for a better view of the model.","meshUnderground":"Move underground for a better view of the model.","multipoint":"","point":"Click in the scene to add a point.","polygonOneVertex":"Click in the scene to continue drawing.","polygonClickOneVertex":"Click in the scene to complete.","polygonTwoVertices":"Double-click in the scene to complete.","polygonZeroVertices":"Click in the scene to start drawing.","polygonZeroVerticesHybrid":"Click or drag in the scene to start drawing.","polylineOneVertex":"Double-click in the scene to complete.","polylineZeroVertices":"Click in the scene to start drawing.","freehandStart":"Click and drag to draw.","freehandEnd":"Release to finish.","shapeStartHybrid":"Click to place or click and drag to draw.","shapeEndHybrid":"Release to finish.","shapeStartClick":"Click to start drawing.","shapeEndClick":"Click again to finish.","curveBezierControlPoint1":"","curveBezierControlPoint2":"","curvePlaceEndPoint":"","curveInteriorPoint":"","noTool":""},"invalidValue":"Not a valid value","latitude":"Latitude","lockConstraint":"Lock constraint","longitude":"Longitude","orientation":"Orientation","radius":"Radius","rotation":"Rotation","scale":"Scale","size":"Size","totalLength":"Total length","unlockConstraint":"Unlock constraint","x":"X","y":"Y","z":"Z"}}
@@ -1,10 +1,10 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{ComponentData as e}from"../views/3d/webgl-engine/collections/Component/Material/ComponentData.glsl.js";import{ForwardLinearDepthToWriteShadowMap as o}from"../views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepthToWriteShadowMap.glsl.js";import{isColor as r,isShadow as a}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js";import{SlicePass as l}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{TextureCoordinateAttribute as i}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/TextureCoordinateAttribute.glsl.js";import{VertexColor as t}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexColor.glsl.js";import{VertexNormal as n}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexNormal.glsl.js";import{VertexPosition as s}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexPosition.glsl.js";import{OutputDepth as d}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputDepth.glsl.js";import{OutputHighlight as g}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js";import{OutputHighlightOverlay as c}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlightOverlay.js";import{ReadDepth as m}from"../views/3d/webgl-engine/core/shaderLibrary/output/ReadDepth.glsl.js";import{computeFragmentNormals as v}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ComputeFragmentNormals.glsl.js";import{ComputeMaterialColor as u}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ComputeMaterialColor.glsl.js";import{ComputeNormalTextureDraw as h}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ComputeNormalTexture.glsl.js";import{EvaluateSceneLighting as w,addLightingGlobalFactor as p}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{addMainLightIntensity as b,addMainLightDirection as f}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js";import{PhysicallyBasedRenderingParameters as y}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js";import{PiUtils as C}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PiUtils.glsl.js";import{ReadBaseColorTexture as x}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ReadBaseColorTexture.glsl.js";import{ReadShadowMapPass as L}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js";import{terrainDepthTest as S}from"../views/3d/webgl-engine/core/shaderLibrary/shading/TerrainDepthTest.glsl.js";import{OverlayIM as O}from"../views/3d/webgl-engine/core/shaderLibrary/terrain/Overlay.glsl.js";import{DiscardOrAdjustAlphaDraw as j}from"../views/3d/webgl-engine/core/shaderLibrary/util/DiscardOrAdjustAlpha.glsl.js";import{BooleanDrawUniform as N}from"../views/3d/webgl-engine/core/shaderModules/BooleanDrawUniform.js";import{If as $,glsl as T}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DBindUniform as D}from"../views/3d/webgl-engine/core/shaderModules/Texture2DBindUniform.js";import{SnowCover as R}from"../views/3d/webgl-engine/effects/snowcover/SnowCover.glsl.js";import{outputColorHighlightOLID as M}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js";import{getPlanetRadius as P,sphereDepthInterpolate as W}from"../views/3d/webgl-engine/shaders/SphereDepthInterpolate.glsl.js";import{ShaderBuilder as A}from"../views/webgl/ShaderBuilder.js";import{alphaCutoff as F}from"../webscene/support/AlphaCutoff.js";function U(U){const V=new A,{vertex:z,fragment:B}=V;V.include(s,U),V.include(n,U),V.include(t,U),V.include(i,U),V.include(e,U),V.include(j,U),B.include(l,U),V.include(x,U),V.include(S,U);const{output:E,pbrMode:_,hasNormalTexture:I,snowCover:G,receiveShadows:H,shadeNormals:k,spherical:q,sphericalSR:J,overlayEnabled:K,componentDataType:Q,vertexDiscardMode:X,renderOccluded:Y,isGroundSlice:Z}=U,ee=1===_||2===_;ee&&(V.include(y,U),I&&V.include(h,U));const oe=a(E),re=oe&&1===Q,ae=P(U);K&&(B.include(w,U),V.include(O,U),z.include(C),z.uniforms.add(new N("useENUForGlobalOverlayUV",e=>e.useENUForGlobalOverlayUV)),B.uniforms.add(new N("useENUForGlobalOverlayUV",e=>e.useENUForGlobalOverlayUV)),z.constants.add("invRadius","float",1/ae).code.add(`vec2 projectOverlay(vec3 pos) { return pos.xy ${$(q,"/ (1.0 + invRadius * pos.z)")}; }`));const le=K&&r(E)&&4===_;le&&(V.varyings.add("tbnTangent","vec3"),V.varyings.add("tbnBiTangent","vec3"),V.varyings.add("groundNormal","vec3"));const ie=0===X,te=2===X,ne=1-1/255;if(V.include(L,U),V.include(o,U),z.main.add(T`
2
+ import{ComponentData as e}from"../views/3d/webgl-engine/collections/Component/Material/ComponentData.glsl.js";import{ForwardLinearDepthToWriteShadowMap as o}from"../views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepthToWriteShadowMap.glsl.js";import{isColor as r,isShadow as a}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js";import{SlicePass as l}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{TextureCoordinateAttribute as i}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/TextureCoordinateAttribute.glsl.js";import{VertexColor as t}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexColor.glsl.js";import{VertexNormal as n}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexNormal.glsl.js";import{VertexPosition as s}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexPosition.glsl.js";import{OutputDepth as d}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputDepth.glsl.js";import{OutputHighlight as g}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js";import{OutputHighlightOverlay as c}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlightOverlay.js";import{ReadDepth as m}from"../views/3d/webgl-engine/core/shaderLibrary/output/ReadDepth.glsl.js";import{computeFragmentNormals as v}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ComputeFragmentNormals.glsl.js";import{ComputeMaterialColor as u}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ComputeMaterialColor.glsl.js";import{ComputeNormalTextureDraw as h}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ComputeNormalTexture.glsl.js";import{EvaluateSceneLighting as w,addLightingGlobalFactor as p}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{addMainLightIntensity as b,addMainLightDirection as f}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js";import{PhysicallyBasedRenderingParameters as y}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js";import{PiUtils as C}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PiUtils.glsl.js";import{ReadBaseColorTexture as x}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ReadBaseColorTexture.glsl.js";import{ReadShadowMapPass as L}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js";import{terrainDepthTest as S}from"../views/3d/webgl-engine/core/shaderLibrary/shading/TerrainDepthTest.glsl.js";import{OverlayIM as O}from"../views/3d/webgl-engine/core/shaderLibrary/terrain/Overlay.glsl.js";import{DiscardOrAdjustAlphaDraw as j}from"../views/3d/webgl-engine/core/shaderLibrary/util/DiscardOrAdjustAlpha.glsl.js";import{BooleanDrawUniform as N}from"../views/3d/webgl-engine/core/shaderModules/BooleanDrawUniform.js";import{If as $,glsl as T}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DBindUniform as D}from"../views/3d/webgl-engine/core/shaderModules/Texture2DBindUniform.js";import{SnowCover as R}from"../views/3d/webgl-engine/effects/snowcover/SnowCover.glsl.js";import{outputColorHighlightOLID as M}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js";import{getPlanetRadius as P,sphereDepthInterpolate as W}from"../views/3d/webgl-engine/shaders/SphereDepthInterpolate.glsl.js";import{ShaderBuilder as A}from"../views/webgl/ShaderBuilder.js";import{alphaCutoff as F}from"../webscene/support/AlphaCutoff.js";function U(U){const V=new A,{vertex:z,fragment:B}=V;V.include(s,U),V.include(n,U),V.include(t,U),V.include(i,U),V.include(e,U),V.include(j,U),B.include(l,U),V.include(x,U),V.include(S,U);const{output:E,pbrMode:_,hasNormalTexture:I,snowCover:G,receiveShadows:H,shadeNormals:k,spherical:q,sphericalSR:J,overlayEnabled:K,componentDataType:Q,vertexDiscardMode:X,renderOccluded:Y,isGroundSlice:Z}=U,ee=1===_||2===_;ee&&(V.include(y,U),I&&V.include(h,U));const oe=a(E),re=11===E,ae=oe&&1===Q,le=P(U);K&&(B.include(w,U),V.include(O,U),z.include(C),z.uniforms.add(new N("useENUForGlobalOverlayUV",e=>e.useENUForGlobalOverlayUV)),B.uniforms.add(new N("useENUForGlobalOverlayUV",e=>e.useENUForGlobalOverlayUV)),z.constants.add("invRadius","float",1/le).code.add(`vec2 projectOverlay(vec3 pos) { return pos.xy ${$(q,"/ (1.0 + invRadius * pos.z)")}; }`));const ie=K&&r(E)&&4===_;ie&&(V.varyings.add("tbnTangent","vec3"),V.varyings.add("tbnBiTangent","vec3"),V.varyings.add("groundNormal","vec3"));const te=0===X,ne=2===X,se=1-1/255;if(V.include(L,U),V.include(o,U),z.main.add(T`
3
3
  bool castShadows;
4
4
  vec4 externalColor = forwardExternalColor(castShadows);
5
- ${$(re,"if(!castShadows) { gl_Position = vec4(vec3(1e38), 1.0); return; }")}
6
- ${$(!ie,`{ if (externalColor.a ${te?">":"<="} ${T.float(ne)}) { gl_Position = vec4(vec3(1e38), 1.0); return; } }`)}
7
- ${$(9===E,"externalColor.a = 1.0;")}
5
+ ${$(ae,"if(!castShadows) { gl_Position = vec4(vec3(1e38), 1.0); return; }")}
6
+ ${$(!te,`{ if (externalColor.a ${ne?">":"<="} ${T.float(se)}) { gl_Position = vec4(vec3(1e38), 1.0); return; } }`)}
7
+ ${$(re,"externalColor.a = 1.0;")}
8
8
 
9
9
  forwardPosition(readElevationOffset());
10
10
  forwardViewPosDepth(vPosition_view);
@@ -15,7 +15,7 @@ import{ComponentData as e}from"../views/3d/webgl-engine/collections/Component/Ma
15
15
  forwardLinearDepthToWriteShadowMap();
16
16
  forwardEmissiveStrength();
17
17
  forwardObjectAndLayerIdColor();
18
- ${$(le,q?T`
18
+ ${$(ie,q?T`
19
19
  groundNormal = normalize(positionWorld());
20
20
  tbnTangent = normalize(cross(vec3(0.0, 0.0, 1.0), groundNormal));
21
21
  tbnBiTangent = normalize(cross(groundNormal, tbnTangent));`:T`
@@ -29,7 +29,7 @@ import{ComponentData as e}from"../views/3d/webgl-engine/collections/Component/Ma
29
29
  gl_Position = vec4(1e38, 1e38, 1e38, 1.0);
30
30
  return;
31
31
  }
32
- `),r(E))return V.include(u,U),V.include(v,U),B.include(w,U),V.include(M,U),B.include(R,U),B.constants.add("pRadius","float",ae).code.add(T`
32
+ `),r(E))return V.include(u,U),V.include(v,U),B.include(w,U),V.include(M,U),B.include(R,U),B.constants.add("pRadius","float",le).code.add(T`
33
33
  float evaluateShadow() {
34
34
  return ${H?"readShadowMap(vPositionWorldCameraRelative, linearDepth)":"0.0"};
35
35
  }
@@ -109,7 +109,7 @@ import{ComponentData as e}from"../views/3d/webgl-engine/collections/Component/Ma
109
109
  ${$(q,"float additionalAmbientScale = additionalDirectedAmbientLight(positionWorld());")}
110
110
  ${q?T`float shadow = max(lightingGlobalFactor * (1.0 - additionalAmbientScale), evaluateShadow());`:"float shadow = evaluateShadow();"}
111
111
  vec4 shadedColor = vec4(evaluateSceneLightingPBR(shadingNormal, materialColor.rgb, shadow, ssao, additionalLight, viewDir, groundNormal, mrr, additionalIrradiance), materialColor.a);
112
- `)):(f(B),q&&p(B),le&&B.uniforms.add(new D("ovNormalTex",e=>e.overlay?.getTexture(3))),B.main.add(T`
112
+ `)):(f(B),q&&p(B),ie&&B.uniforms.add(new D("ovNormalTex",e=>e.overlay?.getTexture(3))),B.main.add(T`
113
113
  ${$(q,"float additionalAmbientScale = additionalDirectedAmbientLight(positionWorld());")}
114
114
  float shadow = ${H?q?"max(lightingGlobalFactor * (1.0 - additionalAmbientScale), evaluateShadow())":"evaluateShadow()":q?"lightingGlobalFactor * (1.0 - additionalAmbientScale)":"0.0"};
115
115
 
@@ -127,7 +127,7 @@ import{ComponentData as e}from"../views/3d/webgl-engine/collections/Component/Ma
127
127
  ${$(K,"materialColor = materialColor * (1.0 - overlayColor.a) + overlayColor;")}
128
128
 
129
129
  vec4 shadedColor = vec4(evaluateSceneLighting(fragmentShadingNormal, materialColor.rgb, shadow, ssao, additionalLight), materialColor.a);
130
- ${$(le,T`vec4 overlayWaterMask = getOverlayColor(ovNormalTex, vtcOverlay);
130
+ ${$(ie,T`vec4 overlayWaterMask = getOverlayColor(ovNormalTex, vtcOverlay);
131
131
  float waterNormalLength = length(overlayWaterMask);
132
132
  if (waterNormalLength > 0.95) {
133
133
  mat3 tbnMatrix = mat3(tbnTangent, tbnBiTangent, groundNormal);
@@ -142,13 +142,13 @@ vec3 viewRay = normalize(vPosition_view);
142
142
  gl_FragDepth = delinearizeDepth(sphereDepthInterpolate(worldRay, viewRay, linearizeDepth(gl_FragCoord.z)));
143
143
  } else {
144
144
  gl_FragDepth = gl_FragCoord.z;
145
- }`)),V;const se=2===E,de=9===E,ge=8===E,ce=oe||6===E||7===E;return ce&&V.include(d,U),se&&V.include(v,U),K&&V.include(c,U),V.include(g,U),B.main.add(T`
145
+ }`)),V;const de=4===E,ge=10===E,ce=oe||8===E||9===E;return ce&&V.include(d,U),de&&V.include(v,U),K&&V.include(c,U),V.include(g,U),B.main.add(T`
146
146
  ${$(!Z,"discardBySlice(vPositionWorldCameraRelative);")}
147
147
 
148
148
  vec4 textureColor = readBaseColorTexture();
149
149
  discardOrAdjustAlpha(textureColor);
150
150
 
151
151
  ${$(ce,"outputDepth(linearDepth);")}
152
- ${$(se,T`fragColor = vec4(vec3(0.5) + 0.5 * fragmentFaceNormalView, 1.0);`)}
153
- ${$(de,K?"fragColor = getOverlayColorTexel();":"outputObjectAndLayerIdColor();")}
152
+ ${$(de,T`fragColor = vec4(vec3(0.5) + 0.5 * fragmentFaceNormalView, 1.0);`)}
153
+ ${$(re,K?"fragColor = getOverlayColorTexel();":"outputObjectAndLayerIdColor();")}
154
154
  ${$(ge,$(K,T`calculateOcclusionAndOutputHighlight(getAllOverlayHighlightValuesEncoded());`,T`calculateOcclusionAndOutputHighlight();`))}`),V}const V=Object.freeze(Object.defineProperty({__proto__:null,build:U},Symbol.toStringTag,{value:"Module"}));export{V as C,U as b};
@@ -51,7 +51,7 @@ import{Offset as e}from"../views/3d/webgl-engine/core/shaderLibrary/Offset.glsl.
51
51
  vec3 albedo = mixExternalColor(${_(te,"vColor.rgb *")} matColor, texColor.rgb, vcolorExt.rgb, colorMixMode);
52
52
  float opacity_ = layerOpacity * mixExternalOpacity(${_(te,"vColor.a * ")} opacity, texColor.a, vcolorExt.a, opacityMixMode);
53
53
 
54
- ${ge?`mat3 tangentSpace = computeTangentSpace(${de?"normal":"normal, vpos, vuv0"});\n vec3 shadingNormal = computeTextureNormal(tangentSpace, ${me?"normalUV":"vuv0"});`:"vec3 shadingNormal = normal;"}
54
+ ${ge?`mat3 tangentSpace = computeTangentSpace(${de?"normal":"normal, vpos, vuv0"});\n vec3 shadingNormal = computeTextureNormal(tangentSpace, ${me?"normalUV":"vuv0"});`:"vec3 shadingNormal = normal;"}
55
55
  vec3 normalGround = ${ie?"normalize(posWorld);":"vec3(0.0, 0.0, 1.0);"}
56
56
 
57
57
  ${_(ae,R`
@@ -1,10 +1,10 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{copy as e,set as o}from"../core/libs/gl-matrix-2/math/vec2.js";import{create as r}from"../core/libs/gl-matrix-2/factories/vec2f64.js";import{ZEROS as i}from"../core/libs/gl-matrix-2/factories/vec4f64.js";import{RejectBySlice as t}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{ObjectAndLayerIdColor as a}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/ObjectAndLayerIdColor.glsl.js";import{AlignPixel as l}from"../views/3d/webgl-engine/core/shaderLibrary/hud/AlignPixel.glsl.js";import{HUD as s}from"../views/3d/webgl-engine/core/shaderLibrary/hud/HUD.glsl.js";import{OutputHighlight as n}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js";import{ReadDepth as c}from"../views/3d/webgl-engine/core/shaderLibrary/output/ReadDepth.glsl.js";import{positionOutsideClipSpace as d}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PositionOutsideClipSpace.js";import{VisualVariables as u}from"../views/3d/webgl-engine/core/shaderLibrary/shading/VisualVariables.glsl.js";import{ColorConversion as f}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{ScreenSizePerspective as p,addScreenSizePerspective as g,addScreenSizePerspectiveAlignment as m}from"../views/3d/webgl-engine/core/shaderLibrary/util/ScreenSizePerspective.glsl.js";import{addPixelRatio as v}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float2PassUniform as h}from"../views/3d/webgl-engine/core/shaderModules/Float2PassUniform.js";import{Float4BindUniform as x}from"../views/3d/webgl-engine/core/shaderModules/Float4BindUniform.js";import{Float4PassUniform as b}from"../views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js";import{FloatPassUniform as C}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as w,If as S}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{IntegerPassUniform as z}from"../views/3d/webgl-engine/core/shaderModules/IntegerPassUniform.js";import{Texture2DBindUniform as P}from"../views/3d/webgl-engine/core/shaderModules/Texture2DBindUniform.js";import{Texture2DPassUniform as y}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{styleToEffect as A}from"../views/3d/webgl-engine/effects/focusArea/FocusAreaColorNode.js";import{alphaCutoff as j}from"../views/3d/webgl-engine/shaders/alphaCutoff.glsl.js";import{outputColorHighlightOLID as O}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js";import{ShaderBuilder as F}from"../views/webgl/ShaderBuilder.js";const D=e=>e?A[e]:0;function B(e){const r=new F;r.include(s,e),r.vertex.include(t,e);const{output:A,oitPass:B,hasOcclusionTexture:M,signedDistanceFieldEnabled:U,pixelSnappingEnabled:_,hasEmission:q,hasScreenSizePerspective:R,debugDrawLabelBorder:k,hasVVSize:H,hasVVColor:I,hasRotation:E,occludedFragmentFade:G,sampleSignedDistanceFieldTexelCenter:N,hasVertexColor:J,hasVertexSize:K,hasVertexRotation:Q,hasVertexUVi:W}=e;r.include(p),r.include(u,e),r.include(a,e),r.include(O,e);const{vertex:X,fragment:Y}=r;Y.include(f),Y.code.add(w`
2
+ import{copy as e,set as o}from"../core/libs/gl-matrix-2/math/vec2.js";import{create as r}from"../core/libs/gl-matrix-2/factories/vec2f64.js";import{ZEROS as i}from"../core/libs/gl-matrix-2/factories/vec4f64.js";import{isColor as a}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js";import{RejectBySlice as t}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{ObjectAndLayerIdColor as l}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/ObjectAndLayerIdColor.glsl.js";import{AlignPixel as s}from"../views/3d/webgl-engine/core/shaderLibrary/hud/AlignPixel.glsl.js";import{HUD as n}from"../views/3d/webgl-engine/core/shaderLibrary/hud/HUD.glsl.js";import{OutputHighlight as c}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js";import{ReadDepth as d}from"../views/3d/webgl-engine/core/shaderLibrary/output/ReadDepth.glsl.js";import{positionOutsideClipSpace as u}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PositionOutsideClipSpace.js";import{VisualVariables as f}from"../views/3d/webgl-engine/core/shaderLibrary/shading/VisualVariables.glsl.js";import{ColorConversion as p}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{ScreenSizePerspective as g,addScreenSizePerspective as m,addScreenSizePerspectiveAlignment as v}from"../views/3d/webgl-engine/core/shaderLibrary/util/ScreenSizePerspective.glsl.js";import{addPixelRatio as x}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float2PassUniform as h}from"../views/3d/webgl-engine/core/shaderModules/Float2PassUniform.js";import{Float4BindUniform as b}from"../views/3d/webgl-engine/core/shaderModules/Float4BindUniform.js";import{Float4PassUniform as C}from"../views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js";import{FloatPassUniform as w}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as S,If as z}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{IntegerPassUniform as P}from"../views/3d/webgl-engine/core/shaderModules/IntegerPassUniform.js";import{Texture2DBindUniform as y}from"../views/3d/webgl-engine/core/shaderModules/Texture2DBindUniform.js";import{Texture2DPassUniform as j}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{styleToEffect as A}from"../views/3d/webgl-engine/effects/focusArea/FocusAreaColorNode.js";import{alphaCutoff as O}from"../views/3d/webgl-engine/shaders/alphaCutoff.glsl.js";import{outputColorHighlightOLID as F}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js";import{ShaderBuilder as D}from"../views/webgl/ShaderBuilder.js";const B=e=>e?A[e]:0;function $(e){const r=new D;r.include(n,e),r.vertex.include(t,e);const{output:A,hasOcclusionTexture:$,signedDistanceFieldEnabled:T,pixelSnappingEnabled:_,hasEmission:q,hasScreenSizePerspective:R,debugDrawLabelBorder:k,hasVVSize:H,hasVVColor:I,hasRotation:E,occludedFragmentFade:G,sampleSignedDistanceFieldTexelCenter:N,hasVertexColor:J,hasVertexSize:K,hasVertexRotation:Q,hasVertexUVi:W}=e;r.include(g),r.include(f,e),r.include(l,e),r.include(F,e);const{vertex:X,fragment:Y}=r;Y.include(p),Y.code.add(S`
3
3
  vec4 applyFocusAreaStyle(vec4 color, int style) {
4
4
  const float factor = 0.46;
5
5
  const float factorBright = 0.32;
6
6
 
7
- if (style == ${w.int(0)}) {
7
+ if (style == ${S.int(0)}) {
8
8
  float luma = (color.r + color.g + color.b) / 3.0;
9
9
  float bright = luma * (1.0 - 0.6 * factorBright) + 0.6 * factorBright * color.a;
10
10
  float brightScaled = bright * factorBright;
@@ -14,39 +14,39 @@ import{copy as e,set as o}from"../core/libs/gl-matrix-2/math/vec2.js";import{cre
14
14
  float darkScaled = factor * factor;
15
15
  return vec4(color.rgb * darkScaled, color.a * factor);
16
16
  }
17
- `),r.varyings.add("vcolor","vec4"),r.varyings.add("vtc","vec2"),r.varyings.add("vsize","vec2");const Z=8===A;X.uniforms.add(new x("viewport",e=>e.camera.fullViewport),new h("screenOffset",(e,r)=>o(L,2*e.screenOffset[0]*r.camera.pixelRatio,2*e.screenOffset[1]*r.camera.pixelRatio)),new h("anchorPosition",e=>V(e)),new b("materialColor",({color:e})=>e),new C("materialRotation",e=>e.rotation),new h("materialSize",e=>e.size),new y("tex",e=>e.texture)),v(X),U&&(X.uniforms.add(new b("outlineColor",e=>e.outlineColor)),Y.uniforms.add(new b("outlineColor",e=>$(e)?e.outlineColor:i),new C("outlineSize",e=>$(e)?e.outlineSize:0))),_&&X.include(l),R&&(g(X),m(X)),k&&r.varyings.add("debugBorderCoords","vec4"),r.attributes.add("uv0","vec2"),W&&r.attributes.add("uvi","vec4"),J&&r.attributes.add("color","vec4"),K&&r.attributes.add("size","vec2"),Q&&r.attributes.add("rotation","float"),(H||I)&&r.attributes.add("featureAttribute","vec4"),X.main.add(w`
17
+ `),r.varyings.add("vcolor","vec4"),r.varyings.add("vtc","vec2"),r.varyings.add("vsize","vec2");const Z=10===A;X.uniforms.add(new b("viewport",e=>e.camera.fullViewport),new h("screenOffset",(e,r)=>o(M,2*e.screenOffset[0]*r.camera.pixelRatio,2*e.screenOffset[1]*r.camera.pixelRatio)),new h("anchorPosition",e=>V(e)),new C("materialColor",({color:e})=>e),new w("materialRotation",e=>e.rotation),new h("materialSize",e=>e.size),new j("tex",e=>e.texture)),x(X),T&&(X.uniforms.add(new C("outlineColor",e=>e.outlineColor)),Y.uniforms.add(new C("outlineColor",e=>L(e)?e.outlineColor:i),new w("outlineSize",e=>L(e)?e.outlineSize:0))),_&&X.include(s),R&&(m(X),v(X)),k&&r.varyings.add("debugBorderCoords","vec4"),r.attributes.add("uv0","vec2"),W&&r.attributes.add("uvi","vec4"),J&&r.attributes.add("color","vec4"),K&&r.attributes.add("size","vec2"),Q&&r.attributes.add("rotation","float"),(H||I)&&r.attributes.add("featureAttribute","vec4"),X.main.add(S`
18
18
  ProjectHUDAux projectAux;
19
19
  vec4 posProj = projectPositionHUD(projectAux);
20
20
  forwardObjectAndLayerIdColor();
21
21
 
22
22
  if (rejectBySlice(projectAux.posModel)) {
23
- gl_Position = ${d};
23
+ gl_Position = ${u};
24
24
  return;
25
25
  }
26
26
 
27
- vec2 vertexSize = materialSize${S(K," * size")};
27
+ vec2 vertexSize = materialSize${z(K," * size")};
28
28
  vec2 inputSize;
29
- ${S(R,w`
29
+ ${z(R,S`
30
30
  inputSize = screenSizePerspectiveScaleVec2(vertexSize, projectAux.absCosAngle, projectAux.distanceToCamera, screenSizePerspective);
31
- vec2 screenOffsetScaled = screenSizePerspectiveScaleVec2(screenOffset, projectAux.absCosAngle, projectAux.distanceToCamera, screenSizePerspectiveAlignment);`,w`
31
+ vec2 screenOffsetScaled = screenSizePerspectiveScaleVec2(screenOffset, projectAux.absCosAngle, projectAux.distanceToCamera, screenSizePerspectiveAlignment);`,S`
32
32
  inputSize = vertexSize;
33
33
  vec2 screenOffsetScaled = screenOffset;`)}
34
- ${S(H,w`inputSize *= vvScale(featureAttribute).xx;`)}
34
+ ${z(H,S`inputSize *= vvScale(featureAttribute).xx;`)}
35
35
 
36
36
  vec2 combinedSize = inputSize * pixelRatio;
37
37
  vec4 quadOffset = vec4(0.0);
38
- `);const ee=w`
39
- ${S(W,w`
38
+ `);const ee=S`
39
+ ${z(W,S`
40
40
  vec2 texSize = vec2(textureSize(tex, 0));
41
41
  vec2 uv = mix(uvi.xy, uvi.zw, bvec2(uv0)) / texSize;
42
- `,w`
42
+ `,S`
43
43
  vec2 uv = mix(vec2(0.), vec2(1.), bvec2(uv0));
44
44
  `)}
45
45
 
46
46
  quadOffset.xy = (uv0 - anchorPosition) * 2.0 * combinedSize;
47
47
 
48
- ${S(E,w`
49
- float angle = radians(materialRotation${S(Q," + rotation")});
48
+ ${z(E,S`
49
+ float angle = radians(materialRotation${z(Q," + rotation")});
50
50
  float cosAngle = cos(angle);
51
51
  float sinAngle = sin(angle);
52
52
  mat2 rotate = mat2(cosAngle, -sinAngle, sinAngle, cosAngle);
@@ -55,17 +55,17 @@ import{copy as e,set as o}from"../core/libs/gl-matrix-2/math/vec2.js";import{cre
55
55
  `)}
56
56
 
57
57
  quadOffset.xy = (quadOffset.xy + screenOffsetScaled) / viewport.zw * posProj.w;
58
- `,oe=_?U?w`posProj = alignToPixelOrigin(posProj, viewport.zw) + quadOffset;`:w`posProj += quadOffset;
58
+ `,oe=_?T?S`posProj = alignToPixelOrigin(posProj, viewport.zw) + quadOffset;`:S`posProj += quadOffset;
59
59
  if (inputSize.x == vertexSize.x) {
60
60
  posProj = alignToPixelOrigin(posProj, viewport.zw);
61
- }`:w`posProj += quadOffset;`;X.include(j),X.main.add(w`
61
+ }`:S`posProj += quadOffset;`;X.include(O),X.main.add(S`
62
62
  ${ee}
63
63
  ${I?"vcolor = interpolateVVColor(featureAttribute.y) * materialColor;":J?"vcolor = color * materialColor;":"vcolor = materialColor;"}
64
64
 
65
- ${S(9===A,w`vcolor.a = 1.0;`)}
65
+ ${z(11===A,S`vcolor.a = 1.0;`)}
66
66
 
67
67
  bool alphaDiscard = vcolor.a < alphaCutoff;
68
- ${S(U,"alphaDiscard = alphaDiscard && outlineColor.a < alphaCutoff;")}
68
+ ${z(T,"alphaDiscard = alphaDiscard && outlineColor.a < alphaCutoff;")}
69
69
  if (alphaDiscard) {
70
70
  // "early discard" if both symbol color (= fill) and outline color (if applicable) are transparent
71
71
  gl_Position = vec4(1e38, 1e38, 1e38, 1.0);
@@ -77,12 +77,12 @@ posProj = alignToPixelOrigin(posProj, viewport.zw);
77
77
 
78
78
  vtc = uv;
79
79
 
80
- ${S(k,w`debugBorderCoords = vec4(uv0, 1.5 / combinedSize);`)}
80
+ ${z(k,S`debugBorderCoords = vec4(uv0, 1.5 / combinedSize);`)}
81
81
  vsize = inputSize;
82
- `);const re=0===A&&e.hasFocusAreaStyle&&!e.draped;switch(Y.uniforms.add(new y("tex",e=>e.texture)),re&&Y.uniforms.add(new z("focusAreaStyle",e=>D(e.focusAreaStyle))),G&&!Z&&(Y.include(c),Y.uniforms.add(new P("depthMap",e=>e.mainDepth),new C("occludedOpacity",e=>e.occludedFragmentOpacity?.value??1))),M&&Y.uniforms.add(new P("texOcclusion",e=>e.hudOcclusion?.attachment)),k?Y.main.add("\n float isBorder = float(any(lessThan(debugBorderCoords.xy, debugBorderCoords.zw)) || any(greaterThan(debugBorderCoords.xy, 1.0 - debugBorderCoords.zw)));\n // don't discard fragments on debug border\n float textureAlphaCutoff = isBorder > 0.0 ? 0.0 : alphaCutoff;\n "):Y.main.add("float textureAlphaCutoff = alphaCutoff;"),Y.main.add("vec2 samplePos = vtc;"),N&&Y.main.add(w`float txSize = float(textureSize(tex, 0).x);
82
+ `);const re=a(A)&&e.hasFocusAreaStyle&&!e.draped;switch(Y.uniforms.add(new j("tex",e=>e.texture)),re&&Y.uniforms.add(new P("focusAreaStyle",e=>B(e.focusAreaStyle))),G&&!Z&&(Y.include(d),Y.uniforms.add(new y("depthMap",e=>e.mainDepth),new w("occludedOpacity",e=>e.occludedFragmentOpacity?.value??1))),$&&Y.uniforms.add(new y("texOcclusion",e=>e.hudOcclusion?.attachment)),k?Y.main.add("\n float isBorder = float(any(lessThan(debugBorderCoords.xy, debugBorderCoords.zw)) || any(greaterThan(debugBorderCoords.xy, 1.0 - debugBorderCoords.zw)));\n // don't discard fragments on debug border\n float textureAlphaCutoff = isBorder > 0.0 ? 0.0 : alphaCutoff;\n "):Y.main.add("float textureAlphaCutoff = alphaCutoff;"),Y.main.add("vec2 samplePos = vtc;"),N&&Y.main.add(S`float txSize = float(textureSize(tex, 0).x);
83
83
  float texelSize = 1.0 / txSize;
84
84
  vec2 scaleFactor = (vsize - txSize) * texelSize;
85
- samplePos += (vec2(1.0, -1.0) * texelSize) * scaleFactor;`),U?Y.main.add(w`
85
+ samplePos += (vec2(1.0, -1.0) * texelSize) * scaleFactor;`),T?Y.main.add(S`
86
86
  vec4 fillPixelColor = vcolor;
87
87
 
88
88
  // Get distance in output units (i.e. pixels)
@@ -114,37 +114,29 @@ samplePos += (vec2(1.0, -1.0) * texelSize) * scaleFactor;`),U?Y.main.add(w`
114
114
  vec3 compositeColor = vec3(outlinePixelColor) * outlinePixelColor.a +
115
115
  vec3(fillPixelColor) * fillPixelColor.a * (1.0 - outlinePixelColor.a);
116
116
 
117
- ${S(!Z,w`fragColor = vec4(compositeColor, compositeAlpha);`)}
117
+ ${z(!Z,S`fragColor = vec4(compositeColor, compositeAlpha);`)}
118
118
  } else {
119
119
  if (fillAlphaFactor < textureAlphaCutoff) {
120
120
  discard;
121
121
  }
122
122
 
123
- ${S(!Z,w`fragColor = premultiplyAlpha(fillPixelColor);`)}
123
+ ${z(!Z,S`fragColor = premultiplyAlpha(fillPixelColor);`)}
124
124
  }
125
125
 
126
126
  // visualize SDF:
127
127
  // fragColor = vec4(clamp(-pixelDistance/vsize.x*2.0, 0.0, 1.0), clamp(pixelDistance/vsize.x*2.0, 0.0, 1.0), 0.0, 1.0);
128
- `):Y.main.add(w`
128
+ `):Y.main.add(S`
129
129
  vec4 texColor = texture(tex, samplePos, -0.5);
130
130
  if (texColor.a < textureAlphaCutoff) {
131
131
  discard;
132
132
  }
133
- ${S(!Z,w`fragColor = texColor * premultiplyAlpha(vcolor);`)}
134
- `),G&&!Z&&Y.main.add(w`
133
+ ${z(!Z,S`fragColor = texColor * premultiplyAlpha(vcolor);`)}
134
+ `),G&&!Z&&Y.main.add(S`
135
135
  float zSample = -linearizeDepth(texelFetch(depthMap, ivec2(gl_FragCoord.xy), 0).x);
136
136
  float zFragment = -linearizeDepth(gl_FragCoord.z);
137
- if (zSample < ${w.float(1-T)} * zFragment) {
137
+ if (zSample < ${S.float(1-U)} * zFragment) {
138
138
  fragColor *= occludedOpacity;
139
139
  }
140
- `),M&&Y.main.add("fragColor *= texelFetch(texOcclusion, ivec2(gl_FragCoord.xy), 0).r;"),!Z&&k&&Y.main.add("fragColor = mix(fragColor, vec4(1.0, 0.0, 1.0, 1.0), isBorder * 0.5);"),2===B&&Y.main.add(w`if (fragColor.a < alphaCutoff) {
140
+ `),$&&Y.main.add("fragColor *= texelFetch(texOcclusion, ivec2(gl_FragCoord.xy), 0).r;"),!Z&&k&&Y.main.add("fragColor = mix(fragColor, vec4(1.0, 0.0, 1.0, 1.0), isBorder * 0.5);"),2===A&&Y.main.add(S`if (fragColor.a < alphaCutoff) {
141
141
  discard;
142
- }`),re&&Y.main.add(w`fragColor = applyFocusAreaStyle(fragColor, focusAreaStyle);`),A){case 0:Y.main.add(w`
143
- // Unlike other materials, the fragment shader outputs premultiplied colors.
144
- // Disable this for front face rendering for correct OIT compositing.
145
- ${S(2===B,w`fragColor.rgb /= fragColor.a;`)}
146
- ${S(q,w`fragEmission = vec4(0.0);`)}
147
- ${S(1===B,w`
148
- fragColor = vec4(fragColor.rgb * oitOutputScale, fragColor.a);
149
- fragAlpha = fragColor.a * oitOutputScale;
150
- `)}`);break;case 9:Y.main.add(w`outputObjectAndLayerIdColor();`);break;case 8:r.include(n,e),Y.main.add(w`outputHighlight(false);`)}return r}function $(e){return e.outlineColor[3]>0&&e.outlineSize>0}function V(o){return o.textureIsSignedDistanceField?M(o.anchorPosition,o.distanceFieldBoundingBox,L):e(L,o.anchorPosition),L}const L=r();function M(e,r,i){o(i,e[0]*(r[2]-r[0])+r[0],e[1]*(r[3]-r[1])+r[1])}const T=.08,U=Object.freeze(Object.defineProperty({__proto__:null,build:B,calculateAnchorPosition:V},Symbol.toStringTag,{value:"Module"}));export{U as H,B as b,V as c};
142
+ }`),re&&Y.main.add(S`fragColor = applyFocusAreaStyle(fragColor, focusAreaStyle);`),a(A)&&q&&Y.main.add("fragEmission = vec4(0.0);"),A){case 1:Y.main.add("\n fragColor = vec4(fragColor.rgb * oitOutputScale, fragColor.a);\n fragAlpha = fragColor.a * oitOutputScale;\n ");break;case 2:Y.main.add("fragColor.rgb /= fragColor.a;");break;case 11:Y.main.add("outputObjectAndLayerIdColor();");break;case 10:r.include(c,e),Y.main.add("outputHighlight(false);")}return r}function L(e){return e.outlineColor[3]>0&&e.outlineSize>0}function V(o){return o.textureIsSignedDistanceField?T(o.anchorPosition,o.distanceFieldBoundingBox,M):e(M,o.anchorPosition),M}const M=r();function T(e,r,i){o(i,e[0]*(r[2]-r[0])+r[0],e[1]*(r[3]-r[1])+r[1])}const U=.08,_=Object.freeze(Object.defineProperty({__proto__:null,anchorPosition:V,build:$},Symbol.toStringTag,{value:"Module"}));export{_ as H,V as a,$ as b};
@@ -1,6 +1,6 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
2
  import{SliceDraw as e}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{Transform as r}from"../views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js";import{terrainDepthTest as o}from"../views/3d/webgl-engine/core/shaderLibrary/shading/TerrainDepthTest.glsl.js";import{ColorConversion as i}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{addProjViewLocalOrigin as s}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{FloatPassUniform as t}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{If as a,glsl as l}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DPassUniform as d}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{outputColorHighlightOLID as n}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js";import{NoParameters as g}from"../views/webgl/NoParameters.js";import{ShaderBuilder as p}from"../views/webgl/ShaderBuilder.js";class v extends g{}function c(g){const v=new p,{vertex:c,fragment:m,varyings:u}=v,{output:w,perspectiveInterpolation:f}=g;return s(c,g),v.include(r),v.include(o,g),v.fragment.include(e,g),v.fragment.code.add(l`void outputObjectAndLayerIdColor() {
3
- ${a(9===w,"fragColor = vec4(0, 0, 0, 1);")}
3
+ ${a(11===w,"fragColor = vec4(0, 0, 0, 1);")}
4
4
  }`),v.include(n,g),v.attributes.add("position","vec3"),v.attributes.add("uv0","vec2"),f&&v.attributes.add("perspectiveDivide","float"),c.main.add(l`
5
5
  vpos = position;
6
6
  forwardViewPosDepth((view * vec4(vpos, 1.0)).xyz);