@arcgis/core 5.1.0-next.40 → 5.1.0-next.42

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 (83) hide show
  1. package/assets/esri/core/workers/RemoteClient.js +1 -1
  2. package/assets/esri/core/workers/chunks/{0a094337e9922d989aa6.js → 0836964a65f76da35b5c.js} +45 -45
  3. package/assets/esri/core/workers/chunks/{0d321b3496adc640d96a.js → 093aa05fbde548bf9040.js} +1 -1
  4. package/assets/esri/core/workers/chunks/0b661b90f7ee3ae23425.js +1 -0
  5. package/assets/esri/core/workers/chunks/{1f5d9e5d4ddc623fd511.js → 385f1bb9164b2d488b2d.js} +1 -1
  6. package/assets/esri/core/workers/chunks/{cce2d2c60d136e1bac75.js → 5f3f50fec18d1642fdf9.js} +1 -1
  7. package/assets/esri/core/workers/chunks/{6258ae3d991ce652d97f.js → 7132420980f77b6a871b.js} +1 -1
  8. package/assets/esri/core/workers/chunks/{85f309c1888c1c8411b1.js → 7380177f16d914fdbc63.js} +1 -1
  9. package/assets/esri/core/workers/chunks/73a008b48e29eb6f2064.js +2 -0
  10. package/assets/esri/core/workers/chunks/{19cbaeda71486df01d0f.js → 80bfb5e5d613d2c412bf.js} +1 -1
  11. package/assets/esri/core/workers/chunks/{2c12b1488819c038c6b1.js → 8f12a559dbf284c21e2f.js} +1 -1
  12. package/assets/esri/core/workers/chunks/9a9b1250be3e20499d75.js +1 -0
  13. package/assets/esri/core/workers/chunks/c1cae45a159a5373ac00.js +1 -0
  14. package/assets/esri/core/workers/chunks/{78472f69053061a18967.js → dbedd246f4b584583f95.js} +1 -1
  15. package/assets/esri/core/workers/chunks/{604f9e7228a66b6cf2f9.js → e63046a9567d84228644.js} +1 -1
  16. package/assets/esri/core/workers/chunks/{e68d7aec0f095b6d743d.js → eff198e0c21c9767ffaa.js} +1 -1
  17. package/assets/esri/core/workers/chunks/{5e9595eb6ae6a40e7265.js → f4ec2dcdc4bbf7dbcc94.js} +1 -1
  18. package/assets/esri/core/workers/chunks/{e47dd011c06ab42c18e0.js → f835eea9f617556c7276.js} +1 -1
  19. package/assets/esri/libs/vxl/vxlLayer.wasm +0 -0
  20. package/chunks/Viewshed.glsl.js +2 -2
  21. package/chunks/vxlLayer.js +1 -1
  22. package/config.js +1 -1
  23. package/kernel.js +1 -1
  24. package/layers/IntegratedMesh3DTilesLayer.js +1 -1
  25. package/layers/graphics/sources/MemorySource.js +1 -1
  26. package/layers/raster/datasets/BaseRaster.js +1 -1
  27. package/layers/raster/datasets/FunctionRaster.js +1 -1
  28. package/layers/support/SceneModification.js +1 -1
  29. package/libs/vxl/VxlModule.js +1 -1
  30. package/package.json +2 -2
  31. package/support/revision.js +1 -1
  32. package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
  33. package/views/3d/analysis/Dimension/LengthDimensionSubTool.js +1 -1
  34. package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementCutFillController.js +1 -1
  35. package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementCutFillVisualization.js +1 -1
  36. package/views/3d/analysis/VolumeMeasurementAnalysisView3D.js +1 -1
  37. package/views/3d/environment/EnvironmentManager.js +1 -1
  38. package/views/3d/interactive/manipulators/RotateManipulator.js +1 -1
  39. package/views/3d/layers/SceneLayerWorkerHandle.js +1 -1
  40. package/views/3d/terrain/TerrainRenderer.js +1 -1
  41. package/views/3d/webgl-engine/core/FBOCache.js +1 -1
  42. package/views/3d/webgl-engine/core/FBOCacheUsage.js +2 -0
  43. package/views/3d/webgl-engine/effects/RenderPlugin.js +1 -1
  44. package/views/3d/webgl-engine/effects/RenderPluginManager.js +1 -1
  45. package/views/3d/webgl-engine/effects/WeatherFader.js +1 -1
  46. package/views/3d/webgl-engine/effects/debug/RenderNodeVisualizer.js +1 -1
  47. package/views/3d/webgl-engine/effects/laserlines/LaserLineRenderer.js +1 -1
  48. package/views/3d/webgl-engine/lib/CutFillComputationRenderNode.js +1 -1
  49. package/views/3d/webgl-engine/lib/Material.js +1 -1
  50. package/views/3d/webgl-engine/lib/RayIntersections.js +1 -1
  51. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  52. package/views/3d/webgl-engine/lib/Viewshed.js +1 -1
  53. package/views/3d/webgl-engine/materials/CheckerBoardMaterial.js +1 -1
  54. package/views/3d/webgl-engine/materials/ColorMaterial.js +1 -1
  55. package/views/3d/webgl-engine/materials/DefaultMaterial.js +1 -1
  56. package/views/3d/webgl-engine/materials/HUDMaterial.js +1 -1
  57. package/views/3d/webgl-engine/materials/HeatmapDensityMaterial.js +1 -1
  58. package/views/3d/webgl-engine/materials/ImageMaterial.js +1 -1
  59. package/views/3d/webgl-engine/materials/LineCalloutMaterial.js +1 -1
  60. package/views/3d/webgl-engine/materials/LineMarkerMaterial.js +1 -1
  61. package/views/3d/webgl-engine/materials/MeasurementArrowMaterial.js +1 -1
  62. package/views/3d/webgl-engine/materials/NativeLineMaterial.js +1 -1
  63. package/views/3d/webgl-engine/materials/PathMaterial.js +1 -1
  64. package/views/3d/webgl-engine/materials/PatternMaterial.js +1 -1
  65. package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
  66. package/views/3d/webgl-engine/materials/ShadedColorMaterial.js +1 -1
  67. package/views/3d/webgl-engine/materials/SlicePlaneMaterial.js +1 -1
  68. package/views/3d/webgl-engine/materials/TriangleMaterial.js +1 -1
  69. package/views/3d/webgl-engine/materials/TriangleTechniqueConfiguration.js +2 -0
  70. package/views/3d/webgl-engine/materials/WaterMaterial.js +1 -1
  71. package/views/3d/webgl-engine/materials/WaterTechniqueConfiguration.js +1 -1
  72. package/views/3d/webgl-engine/parts/RenderView.js +1 -1
  73. package/views/3d/webgl-engine/shaders/CheckerBoardTechniqueConfiguration.js +1 -1
  74. package/views/3d/webgl-engine/shaders/ColorMaterialTechniqueConfiguration.js +1 -1
  75. package/views/3d/webgl-engine/shaders/ImageMaterialTechniqueConfiguration.js +1 -1
  76. package/views/3d/webgl-engine/shaders/PatternTechniqueConfiguration.js +1 -1
  77. package/views/3d/webgl-engine/shaders/SlicePlaneMaterialTechniqueConfiguration.js +1 -1
  78. package/views/3d/webgl-engine/shaders/Viewshed.glsl.js +1 -1
  79. package/assets/esri/core/workers/chunks/49d6249e98f023344e0a.js +0 -1
  80. package/assets/esri/core/workers/chunks/60e4312044fe40dfd41d.js +0 -2
  81. package/assets/esri/core/workers/chunks/92f6d637f4786ba0d3e3.js +0 -1
  82. package/assets/esri/core/workers/chunks/bf9b83e020ff08c51ac1.js +0 -1
  83. /package/assets/esri/core/workers/chunks/{60e4312044fe40dfd41d.js.LICENSE.txt → 73a008b48e29eb6f2064.js.LICENSE.txt} +0 -0
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{IDENTITY as e}from"../../../../core/libs/gl-matrix-2/factories/mat4f64.js";import{fromValues as t}from"../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{BufferViewVec4f as r,BufferViewUint32 as s,BufferViewMat3f as i,BufferViewVec4u8 as o,BufferViewFloat as n}from"../../../../geometry/support/buffer/BufferView.js";import{isHighlightOrOLID as a,isColor as u,isDepth as l,isColorHighlightOrOLID as f}from"../core/shaderLibrary/ShaderOutput.js";import c from"../lib/GLMaterial.js";import{assert as h}from"../lib/Util.js";import{DefaultBufferWriter as p}from"./DefaultBufferWriter.js";import{TriangleMaterial as m}from"./TriangleMaterial.js";import{VisualVariablePassParameters as g}from"./VisualVariablePassParameters.js";import{writeAttributes as d,writeBufferVec4 as b,writeColor as x,writeVVFeatureAttribute as y}from"./internal/bufferWriterUtils.js";import{getLayout as j,getTextureLayout as _}from"../shaders/PatternLayouts.js";import{PatternTechnique as v}from"../shaders/PatternTechnique.js";import{PatternTechniqueConfiguration as C}from"../shaders/PatternTechniqueConfiguration.js";import{alphaCutoff as w}from"../../../../webscene/support/AlphaCutoff.js";class B extends m{constructor(e){super(e,P),this._configuration=new C,this.supportsEdges=!0,this.produces=new Map([[2,e=>a(e)],[4,e=>u(e)],[5,e=>l(e)],[19,e=>this.parameters.draped&&f(e)]])}getConfiguration(e,t){return super.getConfiguration(e,t,this._configuration),this._configuration.cullFace=this.parameters.cullFace,this._configuration.hasVertexColors=this.parameters.hasVertexColors&&!this.parameters.vvColor,this._configuration.hasSlicePlane=this.parameters.hasSlicePlane,this._configuration.polygonOffset=this.parameters.polygonOffset,this._configuration.style=this.parameters.style,this._configuration.draped=this.parameters.draped,this._configuration.enableOffset=t.enableOffset,this._configuration.terrainDepthTest=t.terrainDepthTest&&u(e),this._configuration.cullAboveTerrain=t.cullAboveTerrain,this._configuration.hasVVColor=!!this.parameters.vvColor,this._configuration.emissionSource=this.hasEmissions?1:0,this._configuration}get visible(){return this.parameters.color[3]>=w}get hasEmissions(){return this.parameters.emissiveStrength>0}createGLMaterial(e){return new F(e)}createBufferWriter(){return new S(j(this.parameters),_(this.parameters))}}class F extends c{beginSlot(e){return this.getTechnique(v,e)}}class S extends p{constructor(e,t){super(e),this.textureBufferLayout=t}elementCountTextureBuffer(e){return e.get("boundingRect")?.indices.length??0}write(e,t,i,o,n,a,u){const l=d(i,o,this.layout,e,t,n,a);for(const s of this.layout.fields.keys()){const e=i.get(s),t=e?.indices;if(e&&t)switch(s){case"uvMapSpace":{h(4===e.size);const t=n.getField(s,r);t&&b(e,t,a);break}}}const{textureBufferLayout:f}=this;if(null==f)return l;h(null!=u,"Using a texture layout, but the texture range for this instance was not provided");const c=u.from;h(1===u.numElements,"Provided more than one texture buffer element per polygon");const p=n.getField("textureElementIndex",s);h(null!=p,"Missing component index field");const m=i.get("position")?.indices.length??0;for(let r=0;r<m;++r)p.set(a+r,c);return l}writeTextureBuffer(t,r,s,a,u){const{textureBufferLayout:l}=this;if(null==l)return;const f=a.getField("boundingRect",i),c=s.get("boundingRect");f&&c&&(h(9===c.size),T(c,t??e,f,u));const p=a.getField("color",o),m=s.get("color");p&&m&&(h(3===m.size||4===m.size),x(m,m.size,p,u));const g=a.getField("colorFeatureAttribute",n),d=s.get("colorFeatureAttribute");g&&d&&(h(1===d.size),y(d,g,u))}}function T(e,t,r,s){const{data:i,indices:o}=e,n=t,a=r.typedBuffer,u=r.typedBufferStride,l=o.length;s*=u;for(let f=0;f<l;++f){const e=9*o[f],t=i[e],r=i[e+1],l=i[e+2];a[s]=n[0]*t+n[4]*r+n[8]*l+n[12],a[s+1]=n[1]*t+n[5]*r+n[9]*l+n[13],a[s+2]=n[2]*t+n[6]*r+n[10]*l+n[14];for(let o=3;o<9;++o)a[s+o]=i[e+o];s+=u}}class P extends g{constructor(){super(...arguments),this.color=t(1,1,1,1),this.emissiveStrength=0,this.hasVertexColors=!1,this.polygonOffset=!1,this.hasSlicePlane=!1,this.cullFace=0,this.hasOccludees=!1,this.style=2,this.draped=!0,this.useIndexing=!0}}export{P as Parameters,B as PatternMaterial};
2
+ import{IDENTITY as e}from"../../../../core/libs/gl-matrix-2/factories/mat4f64.js";import{fromValues as t}from"../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{BufferViewVec4f as r,BufferViewUint32 as s,BufferViewMat3f as i,BufferViewVec4u8 as o,BufferViewFloat as n}from"../../../../geometry/support/buffer/BufferView.js";import{isHighlightOrOLID as a,isColor as u,isDepth as l,isColorHighlightOrOLID as c}from"../core/shaderLibrary/ShaderOutput.js";import f from"../lib/GLMaterial.js";import{assert as h}from"../lib/Util.js";import{DefaultBufferWriter as p}from"./DefaultBufferWriter.js";import{TriangleMaterial as m}from"./TriangleMaterial.js";import{VisualVariablePassParameters as d}from"./VisualVariablePassParameters.js";import{writeAttributes as g,writeBufferVec4 as x,writeColor as b,writeVVFeatureAttribute as y}from"./internal/bufferWriterUtils.js";import{getLayout as j,getTextureLayout as v}from"../shaders/PatternLayouts.js";import{PatternTechnique as C}from"../shaders/PatternTechnique.js";import{PatternTechniqueConfiguration as w}from"../shaders/PatternTechniqueConfiguration.js";import{alphaCutoff as B}from"../../../../webscene/support/AlphaCutoff.js";class F extends m{constructor(e){super(e,P),this._configuration=new w,this.supportsEdges=!0,this.transparent=!0,this.produces=new Map([[2,e=>a(e)],[4,e=>u(e)],[5,e=>l(e)],[19,e=>this.parameters.draped&&c(e)]])}updateConfiguration(e,t){super.updateConfiguration(e,t),this._configuration.cullFace=this.parameters.cullFace,this._configuration.hasVertexColors=this.parameters.hasVertexColors&&!this.parameters.vvColor,this._configuration.hasSlicePlane=this.parameters.hasSlicePlane,this._configuration.style=this.parameters.style,this._configuration.draped=this.parameters.draped,this._configuration.terrainDepthTest=t.terrainDepthTest&&u(e),this._configuration.cullAboveTerrain=t.cullAboveTerrain,this._configuration.hasVVColor=!!this.parameters.vvColor,this._configuration.emissionSource=this.hasEmissions?1:0}get visible(){return this.parameters.color[3]>=B}get hasEmissions(){return this.parameters.emissiveStrength>0}createGLMaterial(e){return new S(e)}createBufferWriter(){return new T(j(this.parameters),v(this.parameters))}}class S extends f{beginSlot(e){return this.getTechnique(C,e)}}class T extends p{constructor(e,t){super(e),this.textureBufferLayout=t}elementCountTextureBuffer(e){return e.get("boundingRect")?.indices.length??0}write(e,t,i,o,n,a,u){const l=g(i,o,this.layout,e,t,n,a);for(const s of this.layout.fields.keys()){const e=i.get(s),t=e?.indices;if(e&&t)switch(s){case"uvMapSpace":{h(4===e.size);const t=n.getField(s,r);t&&x(e,t,a);break}}}const{textureBufferLayout:c}=this;if(null==c)return l;h(null!=u,"Using a texture layout, but the texture range for this instance was not provided");const f=u.from;h(1===u.numElements,"Provided more than one texture buffer element per polygon");const p=n.getField("textureElementIndex",s);h(null!=p,"Missing component index field");const m=i.get("position")?.indices.length??0;for(let r=0;r<m;++r)p.set(a+r,f);return l}writeTextureBuffer(t,r,s,a,u){const{textureBufferLayout:l}=this;if(null==l)return;const c=a.getField("boundingRect",i),f=s.get("boundingRect");c&&f&&(h(9===f.size),_(f,t??e,c,u));const p=a.getField("color",o),m=s.get("color");p&&m&&(h(3===m.size||4===m.size),b(m,m.size,p,u));const d=a.getField("colorFeatureAttribute",n),g=s.get("colorFeatureAttribute");d&&g&&(h(1===g.size),y(g,d,u))}}function _(e,t,r,s){const{data:i,indices:o}=e,n=t,a=r.typedBuffer,u=r.typedBufferStride,l=o.length;s*=u;for(let c=0;c<l;++c){const e=9*o[c],t=i[e],r=i[e+1],l=i[e+2];a[s]=n[0]*t+n[4]*r+n[8]*l+n[12],a[s+1]=n[1]*t+n[5]*r+n[9]*l+n[13],a[s+2]=n[2]*t+n[6]*r+n[10]*l+n[14];for(let o=3;o<9;++o)a[s+o]=i[e+o];s+=u}}class P extends d{constructor(){super(...arguments),this.color=t(1,1,1,1),this.emissiveStrength=0,this.hasVertexColors=!1,this.polygonOffset=!1,this.hasSlicePlane=!1,this.cullFace=0,this.hasOccludees=!1,this.style=2,this.draped=!0,this.useIndexing=!0}}export{P as Parameters,F as PatternMaterial};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import t from"../../../../core/Logger.js";import{clamp as e}from"../../../../core/mathUtils.js";import{createRenderScreenPointArray3 as i}from"../../../../core/screenUtils.js";import{secondsFromMilliseconds as r,Seconds as s}from"../../../../core/time.js";import{copy as a}from"../../../../core/libs/gl-matrix-2/math/vec2.js";import{set as n,subtract as o,dot as l,scale as h,add as p,copy as m,length as c,distance as u,transformMat4 as f}from"../../../../core/libs/gl-matrix-2/math/vec3.js";import{create as d}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{set as g}from"../../../../core/libs/gl-matrix-2/math/vec4.js";import{ONES as _,create as b}from"../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{makeFloat16Array as S}from"../../../../geometry/support/float16.js";import{distance2 as v,fromPoints as P,closestLineSegmentPoint as w,create as j}from"../../../../geometry/support/lineSegment.js";import{fromPoints as y,signedDistance as E,getNormal as T,create as z}from"../../../../geometry/support/plane.js";import{isHighlightOrOLID as A,isColor as C,isDepth as x,isColorHighlightOLIDOrDepth as L,is2DGeometryOutput as M}from"../core/shaderLibrary/ShaderOutput.js";import{olidEnabled as O}from"../effects/geometry/olidUtils.js";import V from"../lib/GLMaterial.js";import{Material as R}from"../lib/Material.js";import{isTranslationMatrix as F}from"../lib/Util.js";import{isImagePattern as N}from"./lineStippleUtils.js";import{VisualVariablePassParameters as k}from"./VisualVariablePassParameters.js";import{writeDeltaF16Vector as U}from"./internal/bufferWriterUtils.js";import{r as D}from"../../../../chunks/RibbonLine.glsl.js";import{getLayout as B,RibbonLineTechnique as W}from"../shaders/RibbonLineTechnique.js";import{RibbonLineTechniqueConfiguration as J}from"../shaders/RibbonLineTechniqueConfiguration.js";import{alphaCutoff as I}from"../../../../webscene/support/AlphaCutoff.js";class Y extends R{constructor(t,e){super(t,X),this.produces=new Map([[2,t=>A(t)||C(t)&&8===this.parameters.renderOccluded],[3,t=>x(t)],[11,t=>L(t)&&8===this.parameters.renderOccluded],[12,t=>L(t)&&8===this.parameters.renderOccluded],[4,t=>C(t)&&this.parameters.writeDepth&&8!==this.parameters.renderOccluded],[9,t=>C(t)&&!this.parameters.writeDepth&&8!==this.parameters.renderOccluded],[19,t=>M(t)]]),this._configuration=new J(e)}getConfiguration(t,e){super.getConfiguration(t,e,this._configuration);const i=19===e.slot,r=null!=this.parameters.stipplePattern&&null!=this.parameters.stippleTexture&&8!==t,s=r&&i&&this.parameters.isImagePattern();return this._configuration.draped=i,this._configuration.stippleEnabled=r,this._configuration.stippleOffColorEnabled=r&&null!=this.parameters.stippleOffColor,this._configuration.stipplePreferContinuous=r&&this.parameters.stipplePreferContinuous,this._configuration.hasSlicePlane=this.parameters.hasSlicePlane,this._configuration.roundJoins="round"===this.parameters.join,this._configuration.capType=this.parameters.cap,this._configuration.applyMarkerOffset=null!=this.parameters.markerParameters&&Q(this.parameters.markerParameters),this._configuration.hasPolygonOffset=this.parameters.hasPolygonOffset,this._configuration.writeDepth=this.parameters.writeDepth,this._configuration.hasVVSize=this.parameters.hasVVSize,this._configuration.hasVVColor=this.parameters.hasVVColor,this._configuration.hasVVOpacity=this.parameters.hasVVOpacity,this._configuration.innerColorEnabled=this.parameters.innerWidth>0&&null!=this.parameters.innerColor,this._configuration.falloffEnabled=this.parameters.falloff>0,this._configuration.hasOccludees=e.hasOccludees,this._configuration.occluder=8===this.parameters.renderOccluded,this._configuration.terrainDepthTest=e.terrainDepthTest&&C(t),this._configuration.cullAboveTerrain=e.cullAboveTerrain,this._configuration.wireframe=this.parameters.wireframe,this._configuration.animation=this.parameters.animation,this._configuration.emissionSource=this.hasEmissions?1:0,this._configuration.hasScreenSizePerspective=!!this.parameters.screenSizePerspective&&!s,this._configuration.worldSizedImagePattern=s,this._configuration}get visible(){return this.parameters.color[3]>=I||null!=this.parameters.stipplePattern&&(this.parameters.stippleOffColor?.[3]??0)>I}setParameters(t,e){t.animation=this.parameters.animation,super.setParameters(t,e)}intersectDraped({attributes:t,screenToWorldRatio:i},r,s,a,n){if(!r.options.selectionMode)return;const o=t.get("size");let l=this.parameters.width;if(this.parameters.vvSize){const i=t.get("sizeFeatureAttribute").data[0];Number.isNaN(i)?l*=this.parameters.vvSize.fallback[0]:l*=e(this.parameters.vvSize.offset[0]+i*this.parameters.vvSize.factor[0],this.parameters.vvSize.minSize[0],this.parameters.vvSize.maxSize[0])}else o&&(l*=o.data[0]);const h=s[0],p=s[1],m=(l/2+4)*i;let c=Number.MAX_VALUE,u=0;const f=t.get("position").data,d=K(this.parameters,t)?f.length-2:f.length-5;for(let g=0;g<d;g+=3){const t=f[g],i=f[g+1],r=(g+3)%f.length,s=h-t,a=p-i,n=f[r]-t,o=f[r+1]-i,l=e((n*s+o*a)/(n*n+o*o),0,1),m=n*l-s,d=o*l-a,_=m*m+d*d;_<c&&(c=_,u=g/3)}c<m*m&&a(n.distance,n.normal,u)}intersect(i,r,s,f,d,g){const{options:_,camera:b,rayBegin:S,rayEnd:j}=s;if(!_.selectionMode||!i.visible||!b)return;if(!F(r))return void t.getLogger("esri.views.3d.webgl-engine.materials.RibbonLineMaterial").error("intersection assumes a translation-only matrix");const z=i.attributes,A=z.get("position").data;let C=this.parameters.width;if(this.parameters.vvSize){const t=z.get("sizeFeatureAttribute").data[0];Number.isNaN(t)||(C*=e(this.parameters.vvSize.offset[0]+t*this.parameters.vvSize.factor[0],this.parameters.vvSize.minSize[0],this.parameters.vvSize.maxSize[0]))}else z.has("size")&&(C*=z.get("size").data[0]);const x=it;a(x,s.point);const L=C*b.pixelRatio/2+4*b.pixelRatio;n(ut[0],x[0]-L,x[1]+L,0),n(ut[1],x[0]+L,x[1]+L,0),n(ut[2],x[0]+L,x[1]-L,0),n(ut[3],x[0]-L,x[1]-L,0);for(let t=0;t<4;t++)if(!b.unprojectFromRenderScreen(ut[t],ft[t]))return;y(b.eye,ft[0],ft[1],dt),y(b.eye,ft[1],ft[2],gt),y(b.eye,ft[2],ft[3],_t),y(b.eye,ft[3],ft[0],bt);let M=Number.MAX_VALUE,O=0;const V=K(this.parameters,z)?A.length-2:A.length-5;for(let t=0;t<V;t+=3){Z[0]=A[t]+r[12],Z[1]=A[t+1]+r[13],Z[2]=A[t+2]+r[14];const e=(t+3)%A.length;if($[0]=A[e]+r[12],$[1]=A[e+1]+r[13],$[2]=A[e+2]+r[14],E(dt,Z)<0&&E(dt,$)<0||E(gt,Z)<0&&E(gt,$)<0||E(_t,Z)<0&&E(_t,$)<0||E(bt,Z)<0&&E(bt,$)<0)continue;const i=b.projectToRenderScreen(Z,rt),s=b.projectToRenderScreen($,st);if(null==i||null==s)continue;if(i[2]<0&&s[2]>0){o(tt,Z,$);const t=b.frustum,e=-E(t[4],Z)/l(tt,T(t[4]));if(h(tt,tt,e),p(Z,Z,tt),!b.projectToRenderScreen(Z,i))continue}else if(i[2]>0&&s[2]<0){o(tt,$,Z);const t=b.frustum,e=-E(t[4],$)/l(tt,T(t[4]));if(h(tt,tt,e),p($,$,tt),!b.projectToRenderScreen($,s))continue}else if(i[2]<0&&s[2]<0)continue;i[2]=0,s[2]=0;const a=v(P(i,s,ot),x);a<M&&(M=a,m(at,Z),m(nt,$),O=t/3)}if(M<L*L){let t=Number.MAX_VALUE;if(w(P(at,nt,ot),P(S,j,lt),et)){o(et,et,S);const e=c(et);h(et,et,1/e),t=e/u(S,j)}g(t,et,O)}}get hasEmissions(){return this.parameters.emissiveStrength>0}createBufferWriter(){return new G(B(this.parameters),this.parameters)}createGLMaterial(t){return new q(t)}validateParameters(t){"miter"!==t.join&&(t.miterLimit=0),null!=t.markerParameters&&(t.markerScale=t.markerParameters.width/t.width)}update(t){return!!this.parameters.hasAnimation&&(this.setParameters({timeElapsed:r(t.time)},!1),0!==t.dt)}}class q extends V{constructor(){super(...arguments),this._stipplePattern=null}dispose(){super.dispose(),this._stippleTextures?.release(this._stipplePattern),this._stipplePattern=null}beginSlot(t){const{stipplePattern:e}=this._material.parameters;return this._stipplePattern!==e&&(this._material.setParameters({stippleTexture:this._stippleTextures.swap(e,this._stipplePattern)}),this._stipplePattern=e),this.getTechnique(W,t)}}class X extends k{constructor(){super(...arguments),this._width=0,this.color=_,this.join="miter",this.cap=0,this.miterLimit=5,this.writeDepth=!0,this.hasPolygonOffset=!1,this.stippleTexture=null,this.stipplePreferContinuous=!0,this.markerParameters=null,this.markerScale=1,this.hasSlicePlane=!1,this.vvFastUpdate=!1,this.isClosed=!1,this.falloff=0,this.innerWidth=0,this.wireframe=!1,this.timeElapsed=s(0),this.animation=0,this.animationSpeed=1,this.trailLength=1,this.startTime=s(0),this.endTime=s(1/0),this.emissiveStrength=0}get width(){return this.isImagePattern()?this.stipplePattern.width:this._width}set width(t){this._width=t}get transparent(){return this.color[3]<1||this.hasAnimation||null!=this.stipplePattern&&(this.stippleOffColor?.[3]??0)<1}get hasAnimation(){return 0!==this.animation}isImagePattern(){return N(this.stipplePattern)&&null!=this.stippleTexture}}class G{constructor(t,e){this.layout=t,this._parameters=e;const i=e.stipplePattern?1:0;switch(this._parameters.join){case"miter":case"bevel":this.numJoinSubdivisions=i;break;case"round":this.numJoinSubdivisions=D+i}}_isClosed(t){return K(this._parameters,t)}allocate(t){return this.layout.createBuffer(t)}elementCount(t){const e=2,i=t.get("position").indices.length/2+1,r=this._isClosed(t);let s=r?2:2*e;return s+=((r?i:i-1)-(r?0:1))*(2*this.numJoinSubdivisions+4),s+=2,this._parameters.wireframe&&(s=2+4*(s-2)),s}write(t,e,i,r,s,a){const o=this.layout,l=i.get("position"),h=l.indices,p=l.data.length/3,c=i.get("distanceToStart")?.data;h&&h.length!==2*(p-1)&&console.warn("RibbonLineMaterial does not support indices");const d=o.fields.has("sizeFeatureAttribute");let _=1,b=null;if(d){const t=i.get("sizeFeatureAttribute");1===t.data.length?_=t.data[0]:b=t.data}else _=i.get("size")?.data[0]??1;let v=[1,1,1,1],P=0,w=null;const j=o.fields.has("colorFeatureAttribute");if(j){const t=i.get("colorFeatureAttribute");1===t.data.length?P=t.data[0]:w=t.data}else v=i.get("color")?.data??v;const y=i.get("timeStamps")?.data,E=y&&o.fields.has("timeStamps"),T=o.fields.has("opacityFeatureAttribute");let z=0,A=null;if(T){const t=i.get("opacityFeatureAttribute");1===t.data.length?z=t.data[0]:A=t.data}const C=new Float32Array(s.buffer),x=S(s.buffer),L=new Uint8Array(s.buffer),M=o.stride/4;let V=a*M;const R=V;let F=0;const N=c?(t,e,i)=>F=c[i]:(t,e,i)=>F+=u(t,e),k=C.BYTES_PER_ELEMENT/x.BYTES_PER_ELEMENT,D=4/k,B=O(),W=(t,e,i,s,a,n,o,l)=>{C[V++]=e[0],C[V++]=e[1],C[V++]=e[2],U(t,e,x,V*k),V+=D,U(i,e,x,V*k),V+=D,C[V++]=l;let h=V*k;if(x[h++]=a,x[h++]=n,V=Math.ceil(h/k),j)C[V]=w?.[o]??P;else{const t=Math.min(4*o,v.length-4),e=4*V;L[e]=255*v[t],L[e+1]=255*v[t+1],L[e+2]=255*v[t+2],L[e+3]=255*v[t+3]}if(V++,C[V++]=b?.[o]??_,T&&(C[V++]=A?.[o]??z),B){let t=4*V;r?(L[t++]=r[0],L[t++]=r[1],L[t++]=r[2],L[t++]=r[3]):(L[t++]=0,L[t++]=0,L[t++]=0,L[t++]=0),V=Math.ceil(.25*t)}E&&(h=V*k,x[h++]=s[0],x[h++]=s[1],x[h++]=s[2],x[h++]=s[3],V=Math.ceil(h/k))};V+=M,n(pt,l.data[0],l.data[1],l.data[2]),E&&g(ct,y[0],y[1],y[2],y[3]),t&&f(pt,pt,t);const J=this._isClosed(i);if(J){const e=l.data.length-3;n(ht,l.data[e],l.data[e+1],l.data[e+2]),t&&f(ht,ht,t)}else n(mt,l.data[3],l.data[4],l.data[5]),t&&f(mt,mt,t),W(pt,pt,mt,ct,1,-4,0,0),W(pt,pt,mt,ct,1,4,0,0),m(ht,pt),m(pt,mt),E&&g(ct,y[4],y[5],y[6],y[7]);const I=J?0:1,Y=J?p:p-1;for(let u=I;u<Y;u++){const e=(u+1)%p*3;n(mt,l.data[e],l.data[e+1],l.data[e+2]),t&&f(mt,mt,t),N(ht,pt,u),W(ht,pt,mt,ct,0,-1,u,F),W(ht,pt,mt,ct,0,1,u,F);const i=this.numJoinSubdivisions;for(let t=0;t<i;++t){const e=(t+1)/(i+1);W(ht,pt,mt,ct,e,-1,u,F),W(ht,pt,mt,ct,e,1,u,F)}if(W(ht,pt,mt,ct,1,-2,u,F),W(ht,pt,mt,ct,1,2,u,F),m(ht,pt),m(pt,mt),E){const t=(u+1)%p*4;g(ct,y[t],y[t+1],y[t+2],y[t+3])}}J?(n(mt,l.data[3],l.data[4],l.data[5]),t&&f(mt,mt,t),F=N(ht,pt,Y),W(ht,pt,mt,ct,0,-1,I,F),W(ht,pt,mt,ct,0,1,I,F)):(F=N(ht,pt,Y),W(ht,pt,pt,ct,0,-5,Y,F),W(ht,pt,pt,ct,0,5,Y,F)),H(C,R+M,C,R,M);return V=H(C,V-M,C,V,M),this._parameters.wireframe&&this._addWireframeVertices(s,R,V,M),null}_addWireframeVertices(t,e,i,r){const s=new Float32Array(t.buffer,i*Float32Array.BYTES_PER_ELEMENT),a=new Float32Array(t.buffer,e*Float32Array.BYTES_PER_ELEMENT,i-e);let n=0;const o=t=>n=H(a,t,s,n,r);for(let l=0;l<a.length-1;l+=2*r)o(l),o(l+2*r),o(l+1*r),o(l+2*r),o(l+1*r),o(l+3*r)}}function H(t,e,i,r,s){for(let a=0;a<s;a++)i[r++]=t[e++];return r}function K(t,e){if(!t.isClosed)return!1;return e.get("position").indices.length>2}function Q(t){return 1===t.anchor&&t.hideOnShortSegments&&"begin-end"===t.placement&&t.worldSpace}const Z=d(),$=d(),tt=d(),et=d(),it=d(),rt=i(),st=i(),at=d(),nt=d(),ot=j(),lt=j(),ht=d(),pt=d(),mt=d(),ct=b(),ut=[i(),i(),i(),i()],ft=[d(),d(),d(),d()],dt=z(),gt=z(),_t=z(),bt=z();export{X as Parameters,Y as RibbonLineMaterial};
2
+ import t from"../../../../core/Logger.js";import{clamp as e}from"../../../../core/mathUtils.js";import{createRenderScreenPointArray3 as i}from"../../../../core/screenUtils.js";import{secondsFromMilliseconds as r,Seconds as s}from"../../../../core/time.js";import{copy as a}from"../../../../core/libs/gl-matrix-2/math/vec2.js";import{set as n,subtract as o,dot as l,scale as h,add as p,copy as m,length as c,distance as u,transformMat4 as f}from"../../../../core/libs/gl-matrix-2/math/vec3.js";import{create as d}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{set as g}from"../../../../core/libs/gl-matrix-2/math/vec4.js";import{ONES as b,create as _}from"../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{makeFloat16Array as S}from"../../../../geometry/support/float16.js";import{distance2 as v,fromPoints as P,closestLineSegmentPoint as w,create as j}from"../../../../geometry/support/lineSegment.js";import{fromPoints as y,signedDistance as E,getNormal as T,create as z}from"../../../../geometry/support/plane.js";import{isHighlightOrOLID as A,isColor as C,isDepth as x,isColorHighlightOLIDOrDepth as L,is2DGeometryOutput as M}from"../core/shaderLibrary/ShaderOutput.js";import{olidEnabled as O}from"../effects/geometry/olidUtils.js";import V from"../lib/GLMaterial.js";import{Material as R}from"../lib/Material.js";import{isTranslationMatrix as F}from"../lib/Util.js";import{isImagePattern as N}from"./lineStippleUtils.js";import{VisualVariablePassParameters as k}from"./VisualVariablePassParameters.js";import{writeDeltaF16Vector as U}from"./internal/bufferWriterUtils.js";import{r as D}from"../../../../chunks/RibbonLine.glsl.js";import{getLayout as B,RibbonLineTechnique as W}from"../shaders/RibbonLineTechnique.js";import{RibbonLineTechniqueConfiguration as J}from"../shaders/RibbonLineTechniqueConfiguration.js";import{alphaCutoff as I}from"../../../../webscene/support/AlphaCutoff.js";class Y extends R{constructor(t,e){super(t,X),this.produces=new Map([[2,t=>A(t)||C(t)&&8===this.parameters.renderOccluded],[3,t=>x(t)],[11,t=>L(t)&&8===this.parameters.renderOccluded],[12,t=>L(t)&&8===this.parameters.renderOccluded],[4,t=>C(t)&&this.parameters.writeDepth&&8!==this.parameters.renderOccluded],[9,t=>C(t)&&!this.parameters.writeDepth&&8!==this.parameters.renderOccluded],[19,t=>M(t)]]),this._configuration=new J(e)}updateConfiguration(t,e){super.updateConfiguration(t,e);const i=19===e.slot,r=null!=this.parameters.stipplePattern&&null!=this.parameters.stippleTexture&&8!==t,s=r&&i&&this.parameters.isImagePattern();this._configuration.draped=i,this._configuration.stippleEnabled=r,this._configuration.stippleOffColorEnabled=r&&null!=this.parameters.stippleOffColor,this._configuration.stipplePreferContinuous=r&&this.parameters.stipplePreferContinuous,this._configuration.hasSlicePlane=this.parameters.hasSlicePlane,this._configuration.roundJoins="round"===this.parameters.join,this._configuration.capType=this.parameters.cap,this._configuration.applyMarkerOffset=null!=this.parameters.markerParameters&&Q(this.parameters.markerParameters),this._configuration.hasPolygonOffset=this.parameters.hasPolygonOffset,this._configuration.writeDepth=this.parameters.writeDepth,this._configuration.hasVVSize=this.parameters.hasVVSize,this._configuration.hasVVColor=this.parameters.hasVVColor,this._configuration.hasVVOpacity=this.parameters.hasVVOpacity,this._configuration.innerColorEnabled=this.parameters.innerWidth>0&&null!=this.parameters.innerColor,this._configuration.falloffEnabled=this.parameters.falloff>0,this._configuration.hasOccludees=e.hasOccludees,this._configuration.occluder=8===this.parameters.renderOccluded,this._configuration.terrainDepthTest=e.terrainDepthTest&&C(t),this._configuration.cullAboveTerrain=e.cullAboveTerrain,this._configuration.wireframe=this.parameters.wireframe,this._configuration.animation=this.parameters.animation,this._configuration.emissionSource=this.hasEmissions?1:0,this._configuration.hasScreenSizePerspective=!!this.parameters.screenSizePerspective&&!s,this._configuration.worldSizedImagePattern=s}get visible(){return this.parameters.color[3]>=I||null!=this.parameters.stipplePattern&&(this.parameters.stippleOffColor?.[3]??0)>I}setParameters(t,e){t.animation=this.parameters.animation,super.setParameters(t,e)}intersectDraped({attributes:t,screenToWorldRatio:i},r,s,a,n){if(!r.options.selectionMode)return;const o=t.get("size");let l=this.parameters.width;if(this.parameters.vvSize){const i=t.get("sizeFeatureAttribute").data[0];Number.isNaN(i)?l*=this.parameters.vvSize.fallback[0]:l*=e(this.parameters.vvSize.offset[0]+i*this.parameters.vvSize.factor[0],this.parameters.vvSize.minSize[0],this.parameters.vvSize.maxSize[0])}else o&&(l*=o.data[0]);const h=s[0],p=s[1],m=(l/2+4)*i;let c=Number.MAX_VALUE,u=0;const f=t.get("position").data,d=K(this.parameters,t)?f.length-2:f.length-5;for(let g=0;g<d;g+=3){const t=f[g],i=f[g+1],r=(g+3)%f.length,s=h-t,a=p-i,n=f[r]-t,o=f[r+1]-i,l=e((n*s+o*a)/(n*n+o*o),0,1),m=n*l-s,d=o*l-a,b=m*m+d*d;b<c&&(c=b,u=g/3)}c<m*m&&a(n.distance,n.normal,u)}intersect(i,r,s,f,d,g){const{options:b,camera:_,rayBegin:S,rayEnd:j}=s;if(!b.selectionMode||!i.visible||!_)return;if(!F(r))return void t.getLogger("esri.views.3d.webgl-engine.materials.RibbonLineMaterial").error("intersection assumes a translation-only matrix");const z=i.attributes,A=z.get("position").data;let C=this.parameters.width;if(this.parameters.vvSize){const t=z.get("sizeFeatureAttribute").data[0];Number.isNaN(t)||(C*=e(this.parameters.vvSize.offset[0]+t*this.parameters.vvSize.factor[0],this.parameters.vvSize.minSize[0],this.parameters.vvSize.maxSize[0]))}else z.has("size")&&(C*=z.get("size").data[0]);const x=it;a(x,s.point);const L=C*_.pixelRatio/2+4*_.pixelRatio;n(ut[0],x[0]-L,x[1]+L,0),n(ut[1],x[0]+L,x[1]+L,0),n(ut[2],x[0]+L,x[1]-L,0),n(ut[3],x[0]-L,x[1]-L,0);for(let t=0;t<4;t++)if(!_.unprojectFromRenderScreen(ut[t],ft[t]))return;y(_.eye,ft[0],ft[1],dt),y(_.eye,ft[1],ft[2],gt),y(_.eye,ft[2],ft[3],bt),y(_.eye,ft[3],ft[0],_t);let M=Number.MAX_VALUE,O=0;const V=K(this.parameters,z)?A.length-2:A.length-5;for(let t=0;t<V;t+=3){Z[0]=A[t]+r[12],Z[1]=A[t+1]+r[13],Z[2]=A[t+2]+r[14];const e=(t+3)%A.length;if($[0]=A[e]+r[12],$[1]=A[e+1]+r[13],$[2]=A[e+2]+r[14],E(dt,Z)<0&&E(dt,$)<0||E(gt,Z)<0&&E(gt,$)<0||E(bt,Z)<0&&E(bt,$)<0||E(_t,Z)<0&&E(_t,$)<0)continue;const i=_.projectToRenderScreen(Z,rt),s=_.projectToRenderScreen($,st);if(null==i||null==s)continue;if(i[2]<0&&s[2]>0){o(tt,Z,$);const t=_.frustum,e=-E(t[4],Z)/l(tt,T(t[4]));if(h(tt,tt,e),p(Z,Z,tt),!_.projectToRenderScreen(Z,i))continue}else if(i[2]>0&&s[2]<0){o(tt,$,Z);const t=_.frustum,e=-E(t[4],$)/l(tt,T(t[4]));if(h(tt,tt,e),p($,$,tt),!_.projectToRenderScreen($,s))continue}else if(i[2]<0&&s[2]<0)continue;i[2]=0,s[2]=0;const a=v(P(i,s,ot),x);a<M&&(M=a,m(at,Z),m(nt,$),O=t/3)}if(M<L*L){let t=Number.MAX_VALUE;if(w(P(at,nt,ot),P(S,j,lt),et)){o(et,et,S);const e=c(et);h(et,et,1/e),t=e/u(S,j)}g(t,et,O)}}get hasEmissions(){return this.parameters.emissiveStrength>0}createBufferWriter(){return new G(B(this.parameters),this.parameters)}createGLMaterial(t){return new q(t)}validateParameters(t){"miter"!==t.join&&(t.miterLimit=0),null!=t.markerParameters&&(t.markerScale=t.markerParameters.width/t.width)}update(t){return!!this.parameters.hasAnimation&&(this.setParameters({timeElapsed:r(t.time)},!1),0!==t.dt)}}class q extends V{constructor(){super(...arguments),this._stipplePattern=null}dispose(){super.dispose(),this._stippleTextures?.release(this._stipplePattern),this._stipplePattern=null}beginSlot(t){const{stipplePattern:e}=this._material.parameters;return this._stipplePattern!==e&&(this._material.setParameters({stippleTexture:this._stippleTextures.swap(e,this._stipplePattern)}),this._stipplePattern=e),this.getTechnique(W,t)}}class X extends k{constructor(){super(...arguments),this._width=0,this.color=b,this.join="miter",this.cap=0,this.miterLimit=5,this.writeDepth=!0,this.hasPolygonOffset=!1,this.stippleTexture=null,this.stipplePreferContinuous=!0,this.markerParameters=null,this.markerScale=1,this.hasSlicePlane=!1,this.vvFastUpdate=!1,this.isClosed=!1,this.falloff=0,this.innerWidth=0,this.wireframe=!1,this.timeElapsed=s(0),this.animation=0,this.animationSpeed=1,this.trailLength=1,this.startTime=s(0),this.endTime=s(1/0),this.emissiveStrength=0}get width(){return this.isImagePattern()?this.stipplePattern.width:this._width}set width(t){this._width=t}get transparent(){return this.color[3]<1||this.hasAnimation||null!=this.stipplePattern&&(this.stippleOffColor?.[3]??0)<1}get hasAnimation(){return 0!==this.animation}isImagePattern(){return N(this.stipplePattern)&&null!=this.stippleTexture}}class G{constructor(t,e){this.layout=t,this._parameters=e;const i=e.stipplePattern?1:0;switch(this._parameters.join){case"miter":case"bevel":this.numJoinSubdivisions=i;break;case"round":this.numJoinSubdivisions=D+i}}_isClosed(t){return K(this._parameters,t)}allocate(t){return this.layout.createBuffer(t)}elementCount(t){const e=2,i=t.get("position").indices.length/2+1,r=this._isClosed(t);let s=r?2:2*e;return s+=((r?i:i-1)-(r?0:1))*(2*this.numJoinSubdivisions+4),s+=2,this._parameters.wireframe&&(s=2+4*(s-2)),s}write(t,e,i,r,s,a){const o=this.layout,l=i.get("position"),h=l.indices,p=l.data.length/3,c=i.get("distanceToStart")?.data;h&&h.length!==2*(p-1)&&console.warn("RibbonLineMaterial does not support indices");const d=o.fields.has("sizeFeatureAttribute");let b=1,_=null;if(d){const t=i.get("sizeFeatureAttribute");1===t.data.length?b=t.data[0]:_=t.data}else b=i.get("size")?.data[0]??1;let v=[1,1,1,1],P=0,w=null;const j=o.fields.has("colorFeatureAttribute");if(j){const t=i.get("colorFeatureAttribute");1===t.data.length?P=t.data[0]:w=t.data}else v=i.get("color")?.data??v;const y=i.get("timeStamps")?.data,E=y&&o.fields.has("timeStamps"),T=o.fields.has("opacityFeatureAttribute");let z=0,A=null;if(T){const t=i.get("opacityFeatureAttribute");1===t.data.length?z=t.data[0]:A=t.data}const C=new Float32Array(s.buffer),x=S(s.buffer),L=new Uint8Array(s.buffer),M=o.stride/4;let V=a*M;const R=V;let F=0;const N=c?(t,e,i)=>F=c[i]:(t,e,i)=>F+=u(t,e),k=C.BYTES_PER_ELEMENT/x.BYTES_PER_ELEMENT,D=4/k,B=O(),W=(t,e,i,s,a,n,o,l)=>{C[V++]=e[0],C[V++]=e[1],C[V++]=e[2],U(t,e,x,V*k),V+=D,U(i,e,x,V*k),V+=D,C[V++]=l;let h=V*k;if(x[h++]=a,x[h++]=n,V=Math.ceil(h/k),j)C[V]=w?.[o]??P;else{const t=Math.min(4*o,v.length-4),e=4*V;L[e]=255*v[t],L[e+1]=255*v[t+1],L[e+2]=255*v[t+2],L[e+3]=255*v[t+3]}if(V++,C[V++]=_?.[o]??b,T&&(C[V++]=A?.[o]??z),B){let t=4*V;r?(L[t++]=r[0],L[t++]=r[1],L[t++]=r[2],L[t++]=r[3]):(L[t++]=0,L[t++]=0,L[t++]=0,L[t++]=0),V=Math.ceil(.25*t)}E&&(h=V*k,x[h++]=s[0],x[h++]=s[1],x[h++]=s[2],x[h++]=s[3],V=Math.ceil(h/k))};V+=M,n(pt,l.data[0],l.data[1],l.data[2]),E&&g(ct,y[0],y[1],y[2],y[3]),t&&f(pt,pt,t);const J=this._isClosed(i);if(J){const e=l.data.length-3;n(ht,l.data[e],l.data[e+1],l.data[e+2]),t&&f(ht,ht,t)}else n(mt,l.data[3],l.data[4],l.data[5]),t&&f(mt,mt,t),W(pt,pt,mt,ct,1,-4,0,0),W(pt,pt,mt,ct,1,4,0,0),m(ht,pt),m(pt,mt),E&&g(ct,y[4],y[5],y[6],y[7]);const I=J?0:1,Y=J?p:p-1;for(let u=I;u<Y;u++){const e=(u+1)%p*3;n(mt,l.data[e],l.data[e+1],l.data[e+2]),t&&f(mt,mt,t),N(ht,pt,u),W(ht,pt,mt,ct,0,-1,u,F),W(ht,pt,mt,ct,0,1,u,F);const i=this.numJoinSubdivisions;for(let t=0;t<i;++t){const e=(t+1)/(i+1);W(ht,pt,mt,ct,e,-1,u,F),W(ht,pt,mt,ct,e,1,u,F)}if(W(ht,pt,mt,ct,1,-2,u,F),W(ht,pt,mt,ct,1,2,u,F),m(ht,pt),m(pt,mt),E){const t=(u+1)%p*4;g(ct,y[t],y[t+1],y[t+2],y[t+3])}}J?(n(mt,l.data[3],l.data[4],l.data[5]),t&&f(mt,mt,t),F=N(ht,pt,Y),W(ht,pt,mt,ct,0,-1,I,F),W(ht,pt,mt,ct,0,1,I,F)):(F=N(ht,pt,Y),W(ht,pt,pt,ct,0,-5,Y,F),W(ht,pt,pt,ct,0,5,Y,F)),H(C,R+M,C,R,M);return V=H(C,V-M,C,V,M),this._parameters.wireframe&&this._addWireframeVertices(s,R,V,M),null}_addWireframeVertices(t,e,i,r){const s=new Float32Array(t.buffer,i*Float32Array.BYTES_PER_ELEMENT),a=new Float32Array(t.buffer,e*Float32Array.BYTES_PER_ELEMENT,i-e);let n=0;const o=t=>n=H(a,t,s,n,r);for(let l=0;l<a.length-1;l+=2*r)o(l),o(l+2*r),o(l+1*r),o(l+2*r),o(l+1*r),o(l+3*r)}}function H(t,e,i,r,s){for(let a=0;a<s;a++)i[r++]=t[e++];return r}function K(t,e){if(!t.isClosed)return!1;return e.get("position").indices.length>2}function Q(t){return 1===t.anchor&&t.hideOnShortSegments&&"begin-end"===t.placement&&t.worldSpace}const Z=d(),$=d(),tt=d(),et=d(),it=d(),rt=i(),st=i(),at=d(),nt=d(),ot=j(),lt=j(),ht=d(),pt=d(),mt=d(),ct=_(),ut=[i(),i(),i(),i()],ft=[d(),d(),d(),d()],dt=z(),gt=z(),bt=z(),_t=z();export{X as Parameters,Y as RibbonLineMaterial};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{normalize as e,set as t,scale as r,add as i}from"../../../../core/libs/gl-matrix-2/math/vec3.js";import{fromValues as s,create as a}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{fromValues as n}from"../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{center as o,scale as p}from"../../../../geometry/support/aaBoundingBox.js";import{BufferViewVec3f as c}from"../../../../geometry/support/buffer/BufferView.js";import{isColorOrOLID as h,isColor as l}from"../core/shaderLibrary/ShaderOutput.js";import u from"../lib/GLMaterial.js";import{Material as m,MaterialParameters as f}from"../lib/Material.js";import{intersectTriangleGeometry as g}from"../lib/RayIntersections.js";import{assert as d}from"../lib/Util.js";import{writeAttributes as b,writePosition as _}from"./internal/bufferWriterUtils.js";import{getLayout as S,ShadedColorMaterialTechnique as j}from"../shaders/ShadedColorMaterialTechnique.js";import{ShadedColorMaterialTechniqueConfiguration as w}from"../shaders/ShadedColorMaterialTechniqueConfiguration.js";import{alphaCutoff as T}from"../../../../webscene/support/AlphaCutoff.js";class x extends m{constructor(e){super(e,D),this._configuration=new w,this.supportsEdges=!0,this._pp0=s(0,0,1),this._pp1=s(0,0,0),this.produces=new Map([[2,e=>8===e||h(e)&&!this.parameters.transparent],[4,e=>h(e)&&this.parameters.transparent&&this.parameters.writeDepth],[9,e=>h(e)&&this.parameters.transparent&&!this.parameters.writeDepth]])}getConfiguration(e,t){return super.getConfiguration(e,t,this._configuration),this._configuration.cullFace=this.parameters.cullFace,this._configuration.hasSlicePlane=this.parameters.hasSlicePlane,this._configuration.transparent=this.parameters.transparent,this._configuration.writeDepth=this.parameters.writeDepth,this._configuration.screenSizeEnabled=this.parameters.screenSizeEnabled,this._configuration.shadingEnabled=this.parameters.shadingEnabled,this._configuration.terrainDepthTest=t.terrainDepthTest&&l(e),this._configuration.cullAboveTerrain=t.cullAboveTerrain,this._configuration}get visible(){return this.parameters.color[3]>=T}intersect(e,t,r,i,s,a){this._intersect(e,r,i,s,a)}intersectDraped(e,t,r,i){return this._pp0[0]=this._pp1[0]=r[0],this._pp0[1]=this._pp1[1]=r[1],this._intersect(e,t,this._pp0,this._pp1,i)}_intersect(e,s,a,n,c){if(this.parameters.screenSizeEnabled){const h=e.attributes.get("offset"),l={applyToVertex:(e,a,n,o)=>{const p=t(E,h.data[3*o],h.data[3*o+1],h.data[3*o+2]),c=t(M,e,a,n);return r(p,p,this.parameters.screenSizeScale*(s.camera?.computeScreenPixelSizeAt(p)??1)),i(c,c,p),[c[0],c[1],c[2]]},applyToAabb:e=>{const t=o(e,E);return p(e,this.parameters.screenSizeScale*(s.camera?.computeScreenPixelSizeAt(t)??1))}};g(e,s,a,n,l,c)}else g(e,s,a,n,void 0,c)}createGLMaterial(e){return new z(e)}createBufferWriter(){return new y(S(this.parameters))}}class z extends u{beginSlot(e){return this.getTechnique(j,e)}}class D extends f{constructor(){super(...arguments),this.color=n(1,1,1,1),this.shadingTint=n(0,0,0,.25),this.shadingDirection=e(a(),[.5,-.5,-.5]),this.screenSizeScale=14,this.forceTransparentMode=!1,this.writeDepth=!0,this.hasSlicePlane=!1,this.cullFace=0,this.screenSizeEnabled=!1,this.shadingEnabled=!0}get transparent(){return this.color[3]<1||this.forceTransparentMode}}class y{constructor(e){this.layout=e}elementCount(e){return e.get("position").indices.length}write(e,t,r,i,s,a){const n=b(r,i,this.layout,e,t,s,a),o=s.getField("offset",c);if(o&&r.has("offset")){const e=r.get("offset");d(3===e.size),_(e,t,o,a)}return n}}const E=a(),M=a();export{D as Parameters,x as ShadedColorMaterial};
2
+ import{normalize as e,set as t,scale as r,add as s}from"../../../../core/libs/gl-matrix-2/math/vec3.js";import{fromValues as i,create as a}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{fromValues as n}from"../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{center as o,scale as p}from"../../../../geometry/support/aaBoundingBox.js";import{BufferViewVec3f as c}from"../../../../geometry/support/buffer/BufferView.js";import{isColorOrOLID as h,isColor as l}from"../core/shaderLibrary/ShaderOutput.js";import u from"../lib/GLMaterial.js";import{Material as m,MaterialParameters as f}from"../lib/Material.js";import{intersectTriangleGeometry as d}from"../lib/RayIntersections.js";import{assert as g}from"../lib/Util.js";import{writeAttributes as b,writePosition as S}from"./internal/bufferWriterUtils.js";import{getLayout as _,ShadedColorMaterialTechnique as j}from"../shaders/ShadedColorMaterialTechnique.js";import{ShadedColorMaterialTechniqueConfiguration as w}from"../shaders/ShadedColorMaterialTechniqueConfiguration.js";import{alphaCutoff as T}from"../../../../webscene/support/AlphaCutoff.js";class x extends m{constructor(e){super(e,D),this._configuration=new w,this.supportsEdges=!0,this._pp0=i(0,0,1),this._pp1=i(0,0,0),this.produces=new Map([[2,e=>8===e||h(e)&&!this.parameters.transparent],[4,e=>h(e)&&this.parameters.transparent&&this.parameters.writeDepth],[9,e=>h(e)&&this.parameters.transparent&&!this.parameters.writeDepth]])}updateConfiguration(e,t){super.updateConfiguration(e,t),this._configuration.cullFace=this.parameters.cullFace,this._configuration.hasSlicePlane=this.parameters.hasSlicePlane,this._configuration.transparent=this.parameters.transparent,this._configuration.writeDepth=this.parameters.writeDepth,this._configuration.screenSizeEnabled=this.parameters.screenSizeEnabled,this._configuration.shadingEnabled=this.parameters.shadingEnabled,this._configuration.terrainDepthTest=t.terrainDepthTest&&l(e),this._configuration.cullAboveTerrain=t.cullAboveTerrain}get visible(){return this.parameters.color[3]>=T}intersect(e,t,r,s,i,a){this._intersect(e,r,s,i,a)}intersectDraped(e,t,r,s){return this._pp0[0]=this._pp1[0]=r[0],this._pp0[1]=this._pp1[1]=r[1],this._intersect(e,t,this._pp0,this._pp1,s)}_intersect(e,i,a,n,c){if(this.parameters.screenSizeEnabled){const h=e.attributes.get("offset"),l={applyToVertex:(e,a,n,o)=>{const p=t(E,h.data[3*o],h.data[3*o+1],h.data[3*o+2]),c=t(M,e,a,n);return r(p,p,this.parameters.screenSizeScale*(i.camera?.computeScreenPixelSizeAt(p)??1)),s(c,c,p),[c[0],c[1],c[2]]},applyToAabb:e=>{const t=o(e,E);return p(e,this.parameters.screenSizeScale*(i.camera?.computeScreenPixelSizeAt(t)??1))}};d(e,i,a,n,l,c)}else d(e,i,a,n,void 0,c)}createGLMaterial(e){return new z(e)}createBufferWriter(){return new y(_(this.parameters))}}class z extends u{beginSlot(e){return this.getTechnique(j,e)}}class D extends f{constructor(){super(...arguments),this.color=n(1,1,1,1),this.shadingTint=n(0,0,0,.25),this.shadingDirection=e(a(),[.5,-.5,-.5]),this.screenSizeScale=14,this.forceTransparentMode=!1,this.writeDepth=!0,this.hasSlicePlane=!1,this.cullFace=0,this.screenSizeEnabled=!1,this.shadingEnabled=!0}get transparent(){return this.color[3]<1||this.forceTransparentMode}}class y{constructor(e){this.layout=e}elementCount(e){return e.get("position").indices.length}write(e,t,r,s,i,a){const n=b(r,s,this.layout,e,t,i,a),o=i.getField("offset",c);if(o&&r.has("offset")){const e=r.get("offset");g(3===e.size),S(e,t,o,a)}return n}}const E=a(),M=a();export{D as Parameters,x as ShadedColorMaterial};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{isColor as r}from"../core/shaderLibrary/ShaderOutput.js";import e from"../lib/GLMaterial.js";import{DefaultBufferWriter as t}from"./DefaultBufferWriter.js";import{PositionUvLayout as i}from"./DefaultLayouts.js";import{TriangleMaterial as s}from"./TriangleMaterial.js";import{SlicePlaneMaterialPassParameters as o,SlicePlaneMaterialTechnique as n}from"../shaders/SlicePlaneMaterialTechnique.js";import{SlicePlaneMaterialTechniqueConfiguration as a}from"../shaders/SlicePlaneMaterialTechniqueConfiguration.js";class u extends s{constructor(e){super(e,f),this.visible=!0,this.produces=new Map([[9,e=>r(e)]]),this._configuration=new a}createGLMaterial(r){return new c(r)}createBufferWriter(){return new t(i)}getConfiguration(r,e){return super.getConfiguration(r,e,this._configuration),this._configuration}}class c extends e{constructor(r){super(r)}beginSlot(r){return this.getTechnique(n,r)}}class f extends o{constructor(){super(...arguments),this.renderOccluded=1,this.testsTransparentRenderOrder=0,this.isDecoration=!1}}export{f as Parameters,u as SlicePlaneMaterial};
2
+ import{isColor as r}from"../core/shaderLibrary/ShaderOutput.js";import e from"../lib/GLMaterial.js";import{DefaultBufferWriter as t}from"./DefaultBufferWriter.js";import{PositionUvLayout as s}from"./DefaultLayouts.js";import{TriangleMaterial as i}from"./TriangleMaterial.js";import{SlicePlaneMaterialPassParameters as a,SlicePlaneMaterialTechnique as o}from"../shaders/SlicePlaneMaterialTechnique.js";import{SlicePlaneMaterialTechniqueConfiguration as n}from"../shaders/SlicePlaneMaterialTechniqueConfiguration.js";class u extends i{constructor(e){super(e,l),this.visible=!0,this.transparent=!0,this.produces=new Map([[9,e=>r(e)]]),this._configuration=new n}createGLMaterial(r){return new c(r)}createBufferWriter(){return new t(s)}}class c extends e{constructor(r){super(r)}beginSlot(r){return this.getTechnique(o,r)}}class l extends a{constructor(){super(...arguments),this.renderOccluded=1,this.testsTransparentRenderOrder=0,this.isDecoration=!1,this.polygonOffset=!1}}export{l as Parameters,u as SlicePlaneMaterial};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{Material as r}from"../lib/Material.js";import{intersectTriangleGeometry as e,intersectTriangleGeometry2d as t}from"../lib/RayIntersections.js";class i extends r{intersect(r,t,i,s,n,o){return e(r,i,s,n,void 0,o)}intersectDraped(r,e,i,s){return t(i[0],i[1],r,s)}}export{i as TriangleMaterial};
2
+ import{Material as t,MaterialParameters as e}from"../lib/Material.js";import{intersectTriangleGeometry as r,intersectTriangleGeometry2D as s}from"../lib/RayIntersections.js";class n extends t{updateConfiguration(t,e){super.updateConfiguration(t,e),this._configuration.transparent=this.transparent,this._configuration.enableOffset=e.enableOffset,this._configuration.polygonOffset=this.parameters.polygonOffset}intersect(t,e,s,n,i,o){return r(t,s,n,i,void 0,o)}intersectDraped(t,e,r,n){return s(r[0],r[1],t,n)}}class i extends e{constructor(){super(...arguments),this.polygonOffset=!1}}export{n as TriangleMaterial,i as TriangleMaterialParameters};
@@ -0,0 +1,2 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
+ import{__decorate as t}from"tslib";import{parameter as e}from"../core/shaderTechnique/ShaderTechniqueConfiguration.js";import{DefaultTechniqueConfiguration as o}from"./DefaultTechniqueConfiguration.js";class r extends o{constructor(){super(...arguments),this.transparent=!1,this.enableOffset=!0,this.polygonOffset=!1}}t([e()],r.prototype,"transparent",void 0),t([e()],r.prototype,"enableOffset",void 0),t([e()],r.prototype,"polygonOffset",void 0);export{r as TriangleTechniqueConfiguration};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import"../../../../core/has.js";import{secondsFromMilliseconds as t}from"../../../../core/time.js";import{fromValues as e}from"../../../../core/libs/gl-matrix-2/factories/vec2f64.js";import{create as r}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{fromValues as i}from"../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{isColor as a,isHighlightOrOLID as s}from"../core/shaderLibrary/ShaderOutput.js";import{olidEnabled as o}from"../effects/geometry/olidUtils.js";import{MaterialParameters as n}from"../lib/Material.js";import{DefaultBufferWriter as h}from"./DefaultBufferWriter.js";import{PositionUvf32OlidLayout as l,PositionUvf32Layout as c}from"./DefaultLayouts.js";import{TriangleMaterial as f}from"./TriangleMaterial.js";import{WaterGLMaterial as m}from"./WaterGLMaterial.js";import{WaterTechniqueConfiguration as p}from"./WaterTechniqueConfiguration.js";class u extends f{constructor(t,e){super(t,d),this.visible=!0,this.produces=new Map([[2,t=>a(t)&&!this.parameters.transparent||s(t)],[4,t=>a(t)&&this.parameters.transparent||s(t)],[19,t=>this.parameters.draped&&a(t)||2===t||s(t)],[20,t=>2===t]]),this._configuration=new p(e.spherical)}getConfiguration(t,e){return super.getConfiguration(t,e,this._configuration),this._configuration.writeDepth=!0,this._configuration.receiveShadows=a(t)&&e.shadowMap.enabled,this._configuration.hasSlicePlane=this.parameters.hasSlicePlane,this._configuration.transparent=this.parameters.transparent,this._configuration.screenSpaceReflections=null!=e.ssr.lastFrameColor,this._configuration.cloudReflections=null!=e.clouds.data,this._configuration.draped=this.parameters.draped,this._configuration.enableOffset=e.enableOffset,this._configuration.terrainDepthTest=e.terrainDepthTest&&a(t),this._configuration.cullAboveTerrain=e.cullAboveTerrain,this._configuration}update(e){return this.setParameters({timeElapsed:t(e.time)*this.parameters.animationSpeed},!1),this._animationEnabled(e.camera)&&e.dt>0}_animationEnabled(t){const e=Math.min(t.relativeElevation,t.distance);return Math.sqrt(this.parameters.waveTextureRepeat/this.parameters.waveStrength)*e<g}createGLMaterial(t){return new m(t)}createBufferWriter(){return new h(o()?l:c)}get test(){}}class d extends n{constructor(){super(...arguments),this.waveStrength=.06,this.waveTextureRepeat=32,this.waveDirection=e(1,0),this.waveVelocity=.05,this.flowStrength=.015,this.flowOffset=-.5,this.animationSpeed=.35,this.timeElapsed=0,this.color=i(0,0,0,0),this.transparent=!0,this.hasSlicePlane=!1,this.draped=!1,this.origin=r(),this.modelTransformation=null}}const g=35e3;export{d as Parameters,u as WaterMaterial};
2
+ import"../../../../core/has.js";import{secondsFromMilliseconds as t}from"../../../../core/time.js";import{fromValues as e}from"../../../../core/libs/gl-matrix-2/factories/vec2f64.js";import{create as r}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{fromValues as i}from"../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{isColor as a,isHighlightOrOLID as s}from"../core/shaderLibrary/ShaderOutput.js";import{olidEnabled as o}from"../effects/geometry/olidUtils.js";import{DefaultBufferWriter as n}from"./DefaultBufferWriter.js";import{PositionUvf32OlidLayout as h,PositionUvf32Layout as l}from"./DefaultLayouts.js";import{TriangleMaterialParameters as c,TriangleMaterial as p}from"./TriangleMaterial.js";import{WaterGLMaterial as m}from"./WaterGLMaterial.js";import{WaterTechniqueConfiguration as f}from"./WaterTechniqueConfiguration.js";class u extends p{constructor(t,e){super(t,d),this.visible=!0,this.produces=new Map([[2,t=>a(t)&&!this.transparent||s(t)],[4,t=>a(t)&&this.transparent||s(t)],[19,t=>this.parameters.draped&&a(t)||2===t||s(t)],[20,t=>2===t]]),this._configuration=new f(e.spherical)}updateConfiguration(t,e){super.updateConfiguration(t,e),this._configuration.writeDepth=!0,this._configuration.receiveShadows=a(t)&&e.shadowMap.enabled,this._configuration.hasSlicePlane=this.parameters.hasSlicePlane,this._configuration.screenSpaceReflections=null!=e.ssr.lastFrameColor,this._configuration.cloudReflections=null!=e.clouds.data,this._configuration.draped=this.parameters.draped,this._configuration.terrainDepthTest=e.terrainDepthTest&&a(t),this._configuration.cullAboveTerrain=e.cullAboveTerrain}update(e){return this.setParameters({timeElapsed:t(e.time)*this.parameters.animationSpeed},!1),this._animationEnabled(e.camera)&&e.dt>0}_animationEnabled(t){const e=Math.min(t.relativeElevation,t.distance);return Math.sqrt(this.parameters.waveTextureRepeat/this.parameters.waveStrength)*e<g}get transparent(){return this.parameters.transparent}createGLMaterial(t){return new m(t)}createBufferWriter(){return new n(o()?h:l)}get test(){}}class d extends c{constructor(){super(...arguments),this.waveStrength=.06,this.waveTextureRepeat=32,this.waveDirection=e(1,0),this.waveVelocity=.05,this.flowStrength=.015,this.flowOffset=-.5,this.animationSpeed=.35,this.timeElapsed=0,this.color=i(0,0,0,0),this.transparent=!0,this.hasSlicePlane=!1,this.draped=!1,this.origin=r(),this.modelTransformation=null}}const g=35e3;export{d as Parameters,u as WaterMaterial};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import{parameter as t}from"../core/shaderTechnique/ShaderTechniqueConfiguration.js";import{DefaultTechniqueConfiguration as i}from"./DefaultTechniqueConfiguration.js";class o extends i{constructor(e){super(),this.spherical=e,this.receiveShadows=!1,this.transparent=!1,this.enableOffset=!0,this.writeDepth=!1,this.screenSpaceReflections=!1,this.cloudReflections=!1,this.draped=!1,this.terrainDepthTest=!1,this.cullAboveTerrain=!1,this.textureCoordinateType=0,this.emissionSource=0,this.pbrMode=3,this.occlusionPass=!1,this.useCustomDTRExponentForWater=!0,this.highStepCount=!0,this.useFillLights=!1,this.overlayEnabled=!1,this.snowCover=!1}get discardInvisibleFragments(){return this.transparent&&this.writeDepth}}e([t()],o.prototype,"receiveShadows",void 0),e([t()],o.prototype,"transparent",void 0),e([t()],o.prototype,"enableOffset",void 0),e([t()],o.prototype,"writeDepth",void 0),e([t()],o.prototype,"screenSpaceReflections",void 0),e([t()],o.prototype,"cloudReflections",void 0),e([t()],o.prototype,"draped",void 0),e([t()],o.prototype,"terrainDepthTest",void 0),e([t()],o.prototype,"cullAboveTerrain",void 0);export{o as WaterTechniqueConfiguration};
2
+ import{__decorate as e}from"tslib";import{parameter as t}from"../core/shaderTechnique/ShaderTechniqueConfiguration.js";import{TriangleTechniqueConfiguration as i}from"./TriangleTechniqueConfiguration.js";class o extends i{constructor(e){super(),this.spherical=e,this.receiveShadows=!1,this.writeDepth=!1,this.screenSpaceReflections=!1,this.cloudReflections=!1,this.draped=!1,this.terrainDepthTest=!1,this.cullAboveTerrain=!1,this.textureCoordinateType=0,this.emissionSource=0,this.pbrMode=3,this.occlusionPass=!1,this.useCustomDTRExponentForWater=!0,this.highStepCount=!0,this.useFillLights=!1,this.overlayEnabled=!1,this.snowCover=!1}get discardInvisibleFragments(){return this.transparent&&this.writeDepth}}e([t()],o.prototype,"receiveShadows",void 0),e([t()],o.prototype,"writeDepth",void 0),e([t()],o.prototype,"screenSpaceReflections",void 0),e([t()],o.prototype,"cloudReflections",void 0),e([t()],o.prototype,"draped",void 0),e([t()],o.prototype,"terrainDepthTest",void 0),e([t()],o.prototype,"cullAboveTerrain",void 0);export{o as WaterTechniqueConfiguration};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import t from"../../../../core/Accessor.js";import{toConst as r}from"../../../../core/compilerUtils.js";import{unpackFloatRGBA as s}from"../../../../core/floatRGBA.js";import has from"../../../../core/has.js";import i from"../../../../core/Logger.js";import{removeMaybe as n,destroyMaybe as o}from"../../../../core/maybe.js";import{when as a,initial as h,watch as d,syncAndInitial as c}from"../../../../core/reactiveUtils.js";import{addFrameTask as l}from"../../../../core/scheduling.js";import{Milliseconds as p}from"../../../../core/time.js";import{property as m,subclass as u}from"../../../../core/accessorSupport/decorators.js";import{isMoon as f,isMars as g}from"../../../../geometry/ellipsoidUtils.js";import{ComponentObjectCollection as w}from"../collections/Component/ComponentObjectCollection.js";import{ShaderTechniqueConstructionContext as _}from"../core/shaderTechnique/ShaderTechniqueConstructionContext.js";import{ShaderTechniqueRepository as x}from"../core/shaderTechnique/ShaderTechniqueRepository.js";import{ChapmanAtmosphere as v}from"../effects/atmosphere/ChapmanAtmosphere.js";import{LocalAtmosphere as j}from"../effects/atmosphere/LocalAtmosphere.js";import{MarsAtmosphere as y}from"../effects/atmosphere/MarsAtmosphere.js";import{CloudsComposition as R}from"../effects/clouds/CloudsComposition.js";import{Fog as b}from"../effects/fog/Fog.js";import{ObjectAndLayerIDRenderNode as A}from"../effects/geometry/ObjectAndLayerIDRenderNode.js";import{olidEnabled as C}from"../effects/geometry/olidUtils.js";import{RenderOccludedRenderNode as S}from"../effects/geometry/RenderOccludedRenderNode.js";import{GlowRenderNode as T}from"../effects/glow/GlowRenderNode.js";import{Haze as O}from"../effects/haze/Haze.js";import{Highlight as U}from"../effects/highlight/Highlight.js";import{ShadowHighlight as q}from"../effects/highlight/ShadowHighlight.js";import{Magnifier as M}from"../effects/magnifier/Magnifier.js";import{SMAA as L}from"../effects/smaa/SMAA.js";import{SSAO as D}from"../effects/ssao/SSAO.js";import{Stars as k}from"../effects/stars/Stars.js";import{GLMaterialRepository as F}from"../lib/GLMaterialRepository.js";import{ObjectAndLayerIdRenderHelper as W}from"../lib/ObjectAndLayerIdRenderHelper.js";import{Renderer as B}from"../lib/Renderer.js";import{RenderingContext as E}from"../lib/RenderingContext.js";import{RenderingContextOptions as H}from"../lib/RenderingContextOptions.js";import{TextureRepository as N}from"../lib/TextureRepository.js";import{createMarkerTextureRepository as G}from"../materials/markerTextureRepository.js";import{createStippleTextureRepository as P}from"../materials/stippleTextureRepository.js";import{WaterTextureRepository as z}from"../materials/internal/WaterTextureRepository.js";import{getContextCache as I}from"./contextCache.js";import{removeLoadedShaderModules as V}from"./renderUtils.js";import{ScreenshotManager as X,ScreenshotContext as Q}from"./ScreenshotManager.js";import{contextCache as J}from"./testUtils.js";import{noBudget as K}from"../../../support/Scheduler.js";import{checkWebGLError as Y}from"../../../webgl/checkWebGLError.js";let Z=class extends t{constructor(e,t){super(e),this.olidRenderHelper=C()?new W:null,this.waterTextures=new z,this._needsUpdate=!0,this._needsRender=!0,this._idleSuspend=!0,this._needsWaterReflectionUpdate=!1,this._lastAnimationUpdate=0,this.glow=null,this.fog=null,this.test=null,this._initializeContext(t);const{memoryController:r}=t.view.resourceController;this.stippleTextures=P(this._rctx,r),this.markerTextures=G(this._rctx,r),this.techniques=new x(new _(this._rctx,this.stippleTextures,this.waterTextures,this.markerTextures)),this.textures=new N(t),this.addHandles(this.textures.events.on("changed",e=>this.requestRender(e)));const s=new F(this.textures,this.techniques,()=>this.requestRender(),()=>this.requestRender());this.renderer=new B(t,s,this.techniques,this._rctx,e=>this.requestRender(e)),this.addHandles([a(()=>t.view.ready,()=>this._createRenderNodes(),h),d(()=>this.waterTextures.updating,()=>this.requestRender(),h),d(()=>t.view.qualityProfile,e=>this.renderer?.updateRenderFeatures(e),c)]);const i={renderScene:(e,t,r,s)=>this.renderer.render(e,t,r,s),requestRenderScene:e=>this.requestRender(e),prepareOverlay:()=>t.options.screenshot.prepareOverlay(),renderOverlay:(e,r,s)=>t.options.screenshot.renderOverlay(e,r,s)};this._screenshotManager=new X(this._rctx,i,e=>t.view.overlayManager.updateOverlays(K,e.camera,0)),this._registerFrameTask(t)}destroy(){const e=this.stage?.container;e?.contains(this._canvas)&&e.removeChild(this._canvas),this._frameTask=n(this._frameTask),this.techniques.destroy(),this._componentObjectCollection=o(this._componentObjectCollection),this._set("componentObjectCollection",null),this._screenshotManager.destroy(),this.renderer.destroy(),this.textures.destroy(),this.waterTextures.destroy(),this.markerTextures.destroy(),this.stippleTextures.destroy(),this._canvas=null,this._rctx=o(this._rctx),this.test?.destroy()}_createRenderNodes(){const{view:e,viewingMode:t}=this.stage;new k({view:e}),f(e.spatialReference)||(this.glow=new T({view:e}),2===t?new j({view:e}):g(e.spatialReference)?new y({view:e}):(new v({view:e}),new R({view:e}),new O({view:e}),this.fog=new b({view:e}))),new D({view:e,isEnabled:()=>this.renderer.hasSSAO}),new L({view:e,isEnabled:()=>this.renderer.hasSMAA}),new M({view:e}),new U({view:e}),new q({view:e,viewingMode:t}),new S({view:e}),C()&&new A({view:e})}requestRender(e=1){switch(e){case 2:this.view.state.fading=!0;case 1:this._needsUpdate=!0;case 0:this._needsRender=!0}}get updating(){return this._needsUpdate||this._needsWaterReflectionUpdate||this.renderer.updating||this.textures.updating||this.waterTextures.updating}setIdleSuspend(e){this._idleSuspend!==e&&(this._idleSuspend=e,this.requestRender())}get renderingContext(){return this._rctx}get capabilities(){return this._rctx.capabilities}get canvas(){return this._canvas}takeScreenshot(e){return this._screenshotManager.takeScreenshot(r(e))}getAlpha(){return!!this._rctx.contextAttributes.alpha}getMinimalDepthForArea(e,t,r,i,n,o=n){const a=i.constrainWindowSize(t,r,n*i.pixelRatio,o*i.pixelRatio),h=this._ensureLinearDepthArrayBuffer(a);this.renderer.readMainDepth(a,h);const d=(e,t,r)=>s(t,e)*(r[1]-r[0])+r[0];let c=Number.MAX_VALUE;for(let s=0;s<a[2]*a[3];s++){const e=d(4*s,h,i.nearFar);c>e&&e!==i.nearFar[0]&&e!==i.nearFar[1]&&(c=e)}if(e){const s=e.pickDepth(t*i.pixelRatio,r*i.pixelRatio,i);null!=s&&c>s&&s!==i.nearFar[0]&&s!==i.nearFar[1]&&(c=s)}return c===Number.MAX_VALUE?void 0:c}_ensureLinearDepthArrayBuffer(e){const t=4*e[2]*e[3];return(null==this._tmpDepthBuffer||this._tmpDepthBuffer.byteLength<t)&&(this._tmpDepthBuffer=new Uint8Array(t)),this._tmpDepthBuffer}async reloadShaders(){V(),await this.techniques.reloadAll(),this.renderer.overlay?.reloadShaders(),this.requestRender()}_registerFrameTask(e){const t=e.view.state;let r=!1,s=0,i=!1;const n={preRender:({time:i})=>{r=this.updating,s=this._needsUpdate?1:0,this._needsRender&&this.renderer.updateSceneDepthRange(t.camera),e.commitSyncLayers(),i=this.test?.time??i;const n=p(i-this._lastAnimationUpdate);this.view.state.animationsEnabled&&(n>this.renderer.animationTimestep||r||this._needsRender)&&(this.renderer.updateAnimation(t,i)&&this.requestRender(0),this._lastAnimationUpdate=i)},render:({time:e})=>{if((this._needsRender||!this._idleSuspend||!this.renderer.isCameraFinal||this._needsWaterReflectionUpdate)&&t.camera.fullWidth>0&&t.camera.fullHeight>0){const r=this._needsUpdate&&this._idleSuspend&&this.renderer.isCameraFinal;this._needsRender=!1,this._needsUpdate=!1,this._needsWaterReflectionUpdate=!1,e=this.test?.time??e,this.renderer.render(t,e,0),i=!0,r&&this.renderer.hasReflections&&(this.requestRender(0),this._needsWaterReflectionUpdate=!0)}},update:({time:e})=>{this.view.state.animationsEnabled&&this.textures.update();const r=new Q(t,this.renderer.fboCache);e=this.test?.time??e,this._screenshotManager.update(r,e)},finish:()=>{i&&(this.renderer.finish(2===t.mode?s:1),i=!1)}};this._frameTask=l(n)}_initializeContext(e){const{options:t}=e,r=t.canvas??document.createElement("canvas");r.setAttribute("style","width: 100%; height:100%; display:block;"),this._canvas=r;const s={alpha:t.alpha||!1,premultipliedAlpha:!0,antialias:!1,depth:!0,stencil:t.stencil??!0,powerPreference:"high-performance",preserveDrawingBuffer:t.preserveDrawingBuffer??!1},n=r.getContext("webgl2",s);if(null==n)return void i.getLogger(this).error("A WebGL2 context could not be created.");Y(n,!0),this._rctx=$(n,e),this._loadShaderOnlyExtensions(),!t.alpha&&this._rctx.contextAttributes.alpha&&i.getLogger(this).error("WebGL context has alpha channel even though no alpha channel was requested");const{container:o}=e;!this._rctx.contextAttributes.alpha&&has("safari")>=11&&(o.style.backgroundColor="black"),o.contains(r)||o.appendChild(r)}_loadShaderOnlyExtensions(){this._rctx.capabilities.enable("textureFloatLinear")}get _viewingMode(){return this.stage.viewingMode}get stage(){return this.view.stage}getObjectAndLayerIdColor(e){return this.olidRenderHelper?.getObjectAndLayerIdColor(e)}get componentObjectCollection(){return this._componentObjectCollection??=new w(this.renderer.renderPassManager,this._viewingMode,this.view.spatialReference.isWebMercator),this._componentObjectCollection}updateQualitySettings(e){null!=this.test?.time&&null!=e.fadeDuration&&(this.test.savedFadeDuration=e.fadeDuration,e.fadeDuration=p(0)),this._rctx.updateOptions({maxPreferredTexturePixels:this.view.qualitySettings.maxTexturePixels})}};function $(e,t){const r=new H(t);if(J.enabled){let t=ee.get(e);return 1===t?.refCount?(t.configure(r),t.ref(),t):(t=new E(e,r),ee.set(e,t),t.ref(),t)}return new E(e,r)}e([m({type:Boolean,readOnly:!0})],Z.prototype,"updating",null),e([m({constructOnly:!0})],Z.prototype,"view",void 0),e([m()],Z.prototype,"_componentObjectCollection",void 0),e([m()],Z.prototype,"_needsUpdate",void 0),e([m()],Z.prototype,"_needsWaterReflectionUpdate",void 0),Z=e([u("esri.views.3d.webgl-engine.parts.RenderView")],Z);const ee=I();export{Z as RenderView};
2
+ import{__decorate as e}from"tslib";import t from"../../../../core/Accessor.js";import{toConst as r}from"../../../../core/compilerUtils.js";import{unpackFloatRGBA as s}from"../../../../core/floatRGBA.js";import has from"../../../../core/has.js";import i from"../../../../core/Logger.js";import{removeMaybe as n,destroyMaybe as o}from"../../../../core/maybe.js";import{when as a,initial as h,watch as d,syncAndInitial as c}from"../../../../core/reactiveUtils.js";import{addFrameTask as l}from"../../../../core/scheduling.js";import{Milliseconds as p}from"../../../../core/time.js";import{property as m,subclass as u}from"../../../../core/accessorSupport/decorators.js";import{isMoon as f,isMars as g}from"../../../../geometry/ellipsoidUtils.js";import{ComponentObjectCollection as w}from"../collections/Component/ComponentObjectCollection.js";import{ShaderTechniqueConstructionContext as _}from"../core/shaderTechnique/ShaderTechniqueConstructionContext.js";import{ShaderTechniqueRepository as x}from"../core/shaderTechnique/ShaderTechniqueRepository.js";import{ChapmanAtmosphere as v}from"../effects/atmosphere/ChapmanAtmosphere.js";import{LocalAtmosphere as j}from"../effects/atmosphere/LocalAtmosphere.js";import{MarsAtmosphere as y}from"../effects/atmosphere/MarsAtmosphere.js";import{CloudsComposition as R}from"../effects/clouds/CloudsComposition.js";import{Fog as b}from"../effects/fog/Fog.js";import{ObjectAndLayerIDRenderNode as A}from"../effects/geometry/ObjectAndLayerIDRenderNode.js";import{olidEnabled as C}from"../effects/geometry/olidUtils.js";import{RenderOccludedRenderNode as S}from"../effects/geometry/RenderOccludedRenderNode.js";import{GlowRenderNode as T}from"../effects/glow/GlowRenderNode.js";import{Haze as O}from"../effects/haze/Haze.js";import{Highlight as U}from"../effects/highlight/Highlight.js";import{ShadowHighlight as q}from"../effects/highlight/ShadowHighlight.js";import{Magnifier as M}from"../effects/magnifier/Magnifier.js";import{SMAA as L}from"../effects/smaa/SMAA.js";import{SSAO as D}from"../effects/ssao/SSAO.js";import{Stars as k}from"../effects/stars/Stars.js";import{GLMaterialRepository as F}from"../lib/GLMaterialRepository.js";import{ObjectAndLayerIdRenderHelper as W}from"../lib/ObjectAndLayerIdRenderHelper.js";import{Renderer as B}from"../lib/Renderer.js";import{RenderingContext as E}from"../lib/RenderingContext.js";import{RenderingContextOptions as H}from"../lib/RenderingContextOptions.js";import{TextureRepository as N}from"../lib/TextureRepository.js";import{createMarkerTextureRepository as G}from"../materials/markerTextureRepository.js";import{createStippleTextureRepository as P}from"../materials/stippleTextureRepository.js";import{WaterTextureRepository as z}from"../materials/internal/WaterTextureRepository.js";import{getContextCache as I}from"./contextCache.js";import{removeLoadedShaderModules as V}from"./renderUtils.js";import{ScreenshotManager as X,ScreenshotContext as Q}from"./ScreenshotManager.js";import{contextCache as J}from"./testUtils.js";import{noBudget as K}from"../../../support/Scheduler.js";import{checkWebGLError as Y}from"../../../webgl/checkWebGLError.js";let Z=class extends t{constructor(e,t){super(e),this.olidRenderHelper=C()?new W:null,this.waterTextures=new z,this._needsUpdate=!0,this._needsRender=!0,this._idleSuspend=!0,this._needsWaterReflectionUpdate=!1,this._lastAnimationUpdate=0,this.glow=null,this.fog=null,this.test=null,this._initializeContext(t);const{memoryController:r}=t.view.resourceController;this.stippleTextures=P(this._rctx,r),this.markerTextures=G(this._rctx,r),this.techniques=new x(new _(this._rctx,this.stippleTextures,this.waterTextures,this.markerTextures)),this.textures=new N(t),this.addHandles(this.textures.events.on("changed",e=>this.requestRender(e)));const s=new F(this.textures,this.techniques,()=>this.requestRender(),()=>this.requestRender());this.renderer=new B(t,s,this.techniques,this._rctx,e=>this.requestRender(e)),this.addHandles([a(()=>t.view.ready,()=>this._createRenderNodes(),h),d(()=>this.waterTextures.updating,()=>this.requestRender(),h),d(()=>t.view.qualityProfile,e=>this.renderer?.updateRenderFeatures(e),c)]);const i={renderScene:(e,t,r,s)=>this.renderer.render(e,t,r,s),requestRenderScene:e=>this.requestRender(e),prepareOverlay:()=>t.options.screenshot.prepareOverlay(),renderOverlay:(e,r,s)=>t.options.screenshot.renderOverlay(e,r,s)};this._screenshotManager=new X(this._rctx,i,e=>t.view.overlayManager.updateOverlays(K,e.camera,0)),this._registerFrameTask(t)}destroy(){const e=this.stage?.container;e?.contains(this._canvas)&&e.removeChild(this._canvas),this._frameTask=n(this._frameTask),this.techniques.destroy(),this._componentObjectCollection=o(this._componentObjectCollection),this._screenshotManager.destroy(),this.renderer.destroy(),this.textures.destroy(),this.waterTextures.destroy(),this.markerTextures.destroy(),this.stippleTextures.destroy(),this._canvas=null,this._rctx=o(this._rctx),this.test?.destroy()}_createRenderNodes(){const{view:e,viewingMode:t}=this.stage;new k({view:e}),f(e.spatialReference)||(this.glow=new T({view:e}),2===t?new j({view:e}):g(e.spatialReference)?new y({view:e}):(new v({view:e}),new R({view:e}),new O({view:e}),this.fog=new b({view:e}))),new D({view:e,isEnabled:()=>this.renderer.hasSSAO}),new L({view:e,isEnabled:()=>this.renderer.hasSMAA}),new M({view:e}),new U({view:e}),new q({view:e,viewingMode:t}),new S({view:e}),C()&&new A({view:e})}requestRender(e=1){switch(e){case 2:this.view.state.fading=!0;case 1:this._needsUpdate=!0;case 0:this._needsRender=!0}}get updating(){return this._needsUpdate||this._needsWaterReflectionUpdate||this.renderer.updating||this.textures.updating||this.waterTextures.updating}setIdleSuspend(e){this._idleSuspend!==e&&(this._idleSuspend=e,this.requestRender())}get renderingContext(){return this._rctx}get capabilities(){return this._rctx.capabilities}get canvas(){return this._canvas}takeScreenshot(e){return this._screenshotManager.takeScreenshot(r(e))}getAlpha(){return!!this._rctx.contextAttributes.alpha}getMinimalDepthForArea(e,t,r,i,n,o=n){const a=i.constrainWindowSize(t,r,n*i.pixelRatio,o*i.pixelRatio),h=this._ensureLinearDepthArrayBuffer(a);this.renderer.readMainDepth(a,h);const d=(e,t,r)=>s(t,e)*(r[1]-r[0])+r[0];let c=Number.MAX_VALUE;for(let s=0;s<a[2]*a[3];s++){const e=d(4*s,h,i.nearFar);c>e&&e!==i.nearFar[0]&&e!==i.nearFar[1]&&(c=e)}if(e){const s=e.pickDepth(t*i.pixelRatio,r*i.pixelRatio,i);null!=s&&c>s&&s!==i.nearFar[0]&&s!==i.nearFar[1]&&(c=s)}return c===Number.MAX_VALUE?void 0:c}_ensureLinearDepthArrayBuffer(e){const t=4*e[2]*e[3];return(null==this._tmpDepthBuffer||this._tmpDepthBuffer.byteLength<t)&&(this._tmpDepthBuffer=new Uint8Array(t)),this._tmpDepthBuffer}async reloadShaders(){V(),await this.techniques.reloadAll(),this.renderer.overlay?.reloadShaders(),this.requestRender()}_registerFrameTask(e){const t=e.view.state;let r=!1,s=0,i=!1;const n={preRender:({time:i})=>{r=this.updating,s=this._needsUpdate?1:0,this._needsRender&&this.renderer.updateSceneDepthRange(t.camera),e.commitSyncLayers(),i=this.test?.time??i;const n=p(i-this._lastAnimationUpdate);this.view.state.animationsEnabled&&(n>this.renderer.animationTimestep||r||this._needsRender)&&(this.renderer.updateAnimation(t,i)&&this.requestRender(0),this._lastAnimationUpdate=i)},render:({time:e})=>{if((this._needsRender||!this._idleSuspend||!this.renderer.isCameraFinal||this._needsWaterReflectionUpdate)&&t.camera.fullWidth>0&&t.camera.fullHeight>0){const r=this._needsUpdate&&this._idleSuspend&&this.renderer.isCameraFinal;this._needsRender=!1,this._needsUpdate=!1,this._needsWaterReflectionUpdate=!1,e=this.test?.time??e,this.renderer.render(t,e,0),i=!0,r&&this.renderer.hasReflections&&(this.requestRender(0),this._needsWaterReflectionUpdate=!0)}},update:({time:e})=>{this.view.state.animationsEnabled&&this.textures.update();const r=new Q(t,this.renderer.fboCache);e=this.test?.time??e,this._screenshotManager.update(r,e)},finish:()=>{i&&(this.renderer.finish(2===t.mode?s:1),i=!1)}};this._frameTask=l(n)}_initializeContext(e){const{options:t}=e,r=t.canvas??document.createElement("canvas");r.setAttribute("style","width: 100%; height:100%; display:block;"),this._canvas=r;const s={alpha:t.alpha||!1,premultipliedAlpha:!0,antialias:!1,depth:!0,stencil:t.stencil??!0,powerPreference:"high-performance",preserveDrawingBuffer:t.preserveDrawingBuffer??!1},n=r.getContext("webgl2",s);if(null==n)return void i.getLogger(this).error("A WebGL2 context could not be created.");Y(n,!0),this._rctx=$(n,e),this._loadShaderOnlyExtensions(),!t.alpha&&this._rctx.contextAttributes.alpha&&i.getLogger(this).error("WebGL context has alpha channel even though no alpha channel was requested");const{container:o}=e;!this._rctx.contextAttributes.alpha&&has("safari")>=11&&(o.style.backgroundColor="black"),o.contains(r)||o.appendChild(r)}_loadShaderOnlyExtensions(){this._rctx.capabilities.enable("textureFloatLinear")}get _viewingMode(){return this.stage.viewingMode}get stage(){return this.view.stage}getObjectAndLayerIdColor(e){return this.olidRenderHelper?.getObjectAndLayerIdColor(e)}get componentObjectCollection(){return this._componentObjectCollection??=new w(this.renderer.renderPassManager,this._viewingMode,this.view.spatialReference.isWebMercator),this._componentObjectCollection}updateQualitySettings(e){null!=this.test?.time&&null!=e.fadeDuration&&(this.test.savedFadeDuration=e.fadeDuration,e.fadeDuration=p(0)),this._rctx.updateOptions({maxPreferredTexturePixels:this.view.qualitySettings.maxTexturePixels})}};function $(e,t){const r=new H(t);if(J.enabled){let t=ee.get(e);return 1===t?.refCount?(t.configure(r),t.ref(),t):(t=new E(e,r),ee.set(e,t),t.ref(),t)}return new E(e,r)}e([m({type:Boolean,readOnly:!0})],Z.prototype,"updating",null),e([m({constructOnly:!0})],Z.prototype,"view",void 0),e([m()],Z.prototype,"_componentObjectCollection",void 0),e([m()],Z.prototype,"_needsUpdate",void 0),e([m()],Z.prototype,"_needsWaterReflectionUpdate",void 0),Z=e([u("esri.views.3d.webgl-engine.parts.RenderView")],Z);const ee=I();export{Z as RenderView};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__decorate as t}from"tslib";import{parameter as e}from"../core/shaderTechnique/ShaderTechniqueConfiguration.js";import{DefaultTechniqueConfiguration as r}from"../materials/DefaultTechniqueConfiguration.js";class o extends r{constructor(){super(...arguments),this.transparent=!1,this.writeDepth=!0,this.polygonOffset=!1,this.terrainDepthTest=!1,this.cullAboveTerrain=!1,this.textureCoordinateType=0,this.emissionSource=0,this.output=0,this.olidColorInstanced=!1,this.overlayEnabled=!1,this.draped=!1,this.snowCover=!1}get discardInvisibleFragments(){return this.transparent&&this.writeDepth}}t([e()],o.prototype,"transparent",void 0),t([e()],o.prototype,"writeDepth",void 0),t([e()],o.prototype,"polygonOffset",void 0),t([e()],o.prototype,"terrainDepthTest",void 0),t([e()],o.prototype,"cullAboveTerrain",void 0);export{o as CheckerBoardTechniqueConfiguration};
2
+ import{__decorate as t}from"tslib";import{parameter as e}from"../core/shaderTechnique/ShaderTechniqueConfiguration.js";import{TriangleTechniqueConfiguration as r}from"../materials/TriangleTechniqueConfiguration.js";class i extends r{constructor(){super(...arguments),this.writeDepth=!0,this.terrainDepthTest=!1,this.cullAboveTerrain=!1,this.textureCoordinateType=0,this.emissionSource=0,this.output=0,this.olidColorInstanced=!1,this.overlayEnabled=!1,this.draped=!1,this.snowCover=!1}get discardInvisibleFragments(){return this.transparent&&this.writeDepth}}t([e()],i.prototype,"writeDepth",void 0),t([e()],i.prototype,"terrainDepthTest",void 0),t([e()],i.prototype,"cullAboveTerrain",void 0);export{i as CheckerBoardTechniqueConfiguration};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__decorate as t}from"tslib";import{parameter as o}from"../core/shaderTechnique/ShaderTechniqueConfiguration.js";import{DefaultTechniqueConfiguration as e}from"../materials/DefaultTechniqueConfiguration.js";class i extends e{constructor(){super(...arguments),this.cullFace=0,this.emissionSource=0,this.hasVertexColors=!1,this.transparent=!1,this.discardInvisibleFragments=!1,this.polygonOffset=!1,this.enableOffset=!0,this.writeDepth=!0,this.hasOccludees=!1,this.terrainDepthTest=!1,this.cullAboveTerrain=!1,this.hasVVColor=!1,this.draped=!1,this.textureCoordinateType=0,this.olidColorInstanced=!1,this.hasVVInstancing=!1,this.hasVVSize=!1,this.hasVVOpacity=!1,this.snowCover=!1}}t([o({count:3})],i.prototype,"cullFace",void 0),t([o({count:8})],i.prototype,"emissionSource",void 0),t([o()],i.prototype,"hasVertexColors",void 0),t([o()],i.prototype,"transparent",void 0),t([o()],i.prototype,"discardInvisibleFragments",void 0),t([o()],i.prototype,"polygonOffset",void 0),t([o()],i.prototype,"enableOffset",void 0),t([o()],i.prototype,"writeDepth",void 0),t([o()],i.prototype,"hasOccludees",void 0),t([o()],i.prototype,"terrainDepthTest",void 0),t([o()],i.prototype,"cullAboveTerrain",void 0),t([o()],i.prototype,"hasVVColor",void 0),t([o()],i.prototype,"draped",void 0);export{i as ColorMaterialTechniqueConfiguration};
2
+ import{__decorate as t}from"tslib";import{parameter as o}from"../core/shaderTechnique/ShaderTechniqueConfiguration.js";import{TriangleTechniqueConfiguration as e}from"../materials/TriangleTechniqueConfiguration.js";class i extends e{constructor(){super(...arguments),this.cullFace=0,this.emissionSource=0,this.hasVertexColors=!1,this.discardInvisibleFragments=!1,this.writeDepth=!0,this.hasOccludees=!1,this.terrainDepthTest=!1,this.cullAboveTerrain=!1,this.hasVVColor=!1,this.draped=!1,this.textureCoordinateType=0,this.olidColorInstanced=!1,this.hasVVInstancing=!1,this.hasVVSize=!1,this.hasVVOpacity=!1,this.snowCover=!1}}t([o({count:3})],i.prototype,"cullFace",void 0),t([o({count:8})],i.prototype,"emissionSource",void 0),t([o()],i.prototype,"hasVertexColors",void 0),t([o()],i.prototype,"discardInvisibleFragments",void 0),t([o()],i.prototype,"writeDepth",void 0),t([o()],i.prototype,"hasOccludees",void 0),t([o()],i.prototype,"terrainDepthTest",void 0),t([o()],i.prototype,"cullAboveTerrain",void 0),t([o()],i.prototype,"hasVVColor",void 0),t([o()],i.prototype,"draped",void 0);export{i as ColorMaterialTechniqueConfiguration};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import{parameter as t}from"../core/shaderTechnique/ShaderTechniqueConfiguration.js";import{DefaultTechniqueConfiguration as o}from"../materials/DefaultTechniqueConfiguration.js";class i extends o{constructor(e){super(),this.draped=e,this.cullFace=0,this.enableOffset=!0,this.writeDepth=!0,this.hasOccludees=!1,this.terrainDepthTest=!1,this.cullAboveTerrain=!1,this.perspectiveInterpolation=!0,this.textureCoordinateType=0,this.emissionSource=0,this.discardInvisibleFragments=!0,this.olidColorInstanced=!1,this.snowCover=!1}}e([t({count:3})],i.prototype,"cullFace",void 0),e([t()],i.prototype,"enableOffset",void 0),e([t()],i.prototype,"writeDepth",void 0),e([t()],i.prototype,"hasOccludees",void 0),e([t()],i.prototype,"terrainDepthTest",void 0),e([t()],i.prototype,"cullAboveTerrain",void 0),e([t()],i.prototype,"perspectiveInterpolation",void 0);export{i as ImageMaterialTechniqueConfiguration};
2
+ import{__decorate as e}from"tslib";import{parameter as t}from"../core/shaderTechnique/ShaderTechniqueConfiguration.js";import{TriangleTechniqueConfiguration as i}from"../materials/TriangleTechniqueConfiguration.js";class o extends i{constructor(e){super(),this.draped=e,this.cullFace=0,this.writeDepth=!0,this.hasOccludees=!1,this.terrainDepthTest=!1,this.cullAboveTerrain=!1,this.perspectiveInterpolation=!0,this.textureCoordinateType=0,this.emissionSource=0,this.discardInvisibleFragments=!0,this.olidColorInstanced=!1,this.snowCover=!1}}e([t({count:3})],o.prototype,"cullFace",void 0),e([t()],o.prototype,"writeDepth",void 0),e([t()],o.prototype,"hasOccludees",void 0),e([t()],o.prototype,"terrainDepthTest",void 0),e([t()],o.prototype,"cullAboveTerrain",void 0),e([t()],o.prototype,"perspectiveInterpolation",void 0);export{o as ImageMaterialTechniqueConfiguration};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__decorate as t}from"tslib";import{parameter as e}from"../core/shaderTechnique/ShaderTechniqueConfiguration.js";import{DefaultTechniqueConfiguration as o}from"../materials/DefaultTechniqueConfiguration.js";class s extends o{constructor(){super(...arguments),this.cullFace=0,this.style=0,this.emissionSource=0,this.hasVertexColors=!1,this.polygonOffset=!1,this.hasOccludees=!1,this.enableOffset=!0,this.terrainDepthTest=!1,this.cullAboveTerrain=!1,this.hasVVColor=!1,this.draped=!1,this.textureCoordinateType=0,this.discardInvisibleFragments=!0,this.writeDepth=!0,this.hasVVInstancing=!1,this.hasVVSize=!1,this.hasVVOpacity=!1,this.overlayEnabled=!1,this.snowCover=!1}}function i(t,e,o,s){return t.draped?null:t.hasVVColor?s:t.hasVertexColors?o:e}t([e({count:3})],s.prototype,"cullFace",void 0),t([e({count:6})],s.prototype,"style",void 0),t([e({count:8})],s.prototype,"emissionSource",void 0),t([e()],s.prototype,"hasVertexColors",void 0),t([e()],s.prototype,"polygonOffset",void 0),t([e()],s.prototype,"hasOccludees",void 0),t([e()],s.prototype,"enableOffset",void 0),t([e()],s.prototype,"terrainDepthTest",void 0),t([e()],s.prototype,"cullAboveTerrain",void 0),t([e()],s.prototype,"hasVVColor",void 0),t([e()],s.prototype,"draped",void 0);export{s as PatternTechniqueConfiguration,i as selectByPatternConfiguration};
2
+ import{__decorate as t}from"tslib";import{parameter as e}from"../core/shaderTechnique/ShaderTechniqueConfiguration.js";import{TriangleTechniqueConfiguration as o}from"../materials/TriangleTechniqueConfiguration.js";class r extends o{constructor(){super(...arguments),this.cullFace=0,this.style=0,this.emissionSource=0,this.hasVertexColors=!1,this.hasOccludees=!1,this.terrainDepthTest=!1,this.cullAboveTerrain=!1,this.hasVVColor=!1,this.draped=!1,this.textureCoordinateType=0,this.discardInvisibleFragments=!0,this.writeDepth=!0,this.hasVVInstancing=!1,this.hasVVSize=!1,this.hasVVOpacity=!1,this.overlayEnabled=!1,this.snowCover=!1}}function i(t,e,o,r){return t.draped?null:t.hasVVColor?r:t.hasVertexColors?o:e}t([e({count:3})],r.prototype,"cullFace",void 0),t([e({count:6})],r.prototype,"style",void 0),t([e({count:8})],r.prototype,"emissionSource",void 0),t([e()],r.prototype,"hasVertexColors",void 0),t([e()],r.prototype,"hasOccludees",void 0),t([e()],r.prototype,"terrainDepthTest",void 0),t([e()],r.prototype,"cullAboveTerrain",void 0),t([e()],r.prototype,"hasVVColor",void 0),t([e()],r.prototype,"draped",void 0);export{r as PatternTechniqueConfiguration,i as selectByPatternConfiguration};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{DefaultTechniqueConfiguration as e}from"../materials/DefaultTechniqueConfiguration.js";class s extends e{constructor(){super(...arguments),this.discardInvisibleFragments=!1,this.draped=!1,this.emissionSource=0,this.snowCover=!1,this.textureCoordinateType=0}}export{s as SlicePlaneMaterialTechniqueConfiguration};
2
+ import{TriangleTechniqueConfiguration as e}from"../materials/TriangleTechniqueConfiguration.js";class s extends e{constructor(){super(...arguments),this.discardInvisibleFragments=!1,this.draped=!1,this.emissionSource=0,this.snowCover=!1,this.textureCoordinateType=0}}export{s as SlicePlaneMaterialTechniqueConfiguration};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import"../../../../core/libs/gl-matrix-2/math/mat4.js";import"../../../../core/libs/gl-matrix-2/factories/mat4f64.js";import"../core/shaderLibrary/ScreenSpacePass.glsl.js";import"../core/shaderLibrary/output/ReadDepth.glsl.js";import"../core/shaderLibrary/shading/PiUtils.glsl.js";import"../core/shaderLibrary/util/LocalFromScreenSpace.glsl.js";import"../core/shaderModules/Float2PassUniform.js";import"../core/shaderModules/Float3PassUniform.js";import"../core/shaderModules/FloatPassUniform.js";import"../core/shaderModules/FloatsPassUniform.js";import"../core/shaderModules/glsl.js";import"../core/shaderModules/IntegerPassUniform.js";import"../core/shaderModules/Matrix4BindUniform.js";import"../core/shaderModules/Matrix4sPassUniform.js";import"../core/shaderModules/Texture2DBindUniform.js";import"../core/shaderModules/Texture2DPassUniform.js";import"../../../webgl/ShaderBuilder.js";export{V as ViewshedPassParameters,b as build}from"../../../../chunks/Viewshed.glsl.js";
2
+ import"../../../../core/libs/gl-matrix-2/math/mat4.js";import"../../../../core/libs/gl-matrix-2/factories/mat4f64.js";import"../core/shaderLibrary/ScreenSpacePass.glsl.js";import"../core/shaderLibrary/output/ReadDepth.glsl.js";import"../core/shaderLibrary/shading/PiUtils.glsl.js";import"../core/shaderLibrary/util/LocalFromScreenSpace.glsl.js";import"../core/shaderModules/Float2PassUniform.js";import"../core/shaderModules/Float3PassUniform.js";import"../core/shaderModules/FloatPassUniform.js";import"../core/shaderModules/FloatsPassUniform.js";import"../core/shaderModules/glsl.js";import"../core/shaderModules/IntegerPassUniform.js";import"../core/shaderModules/Matrix4BindUniform.js";import"../core/shaderModules/Matrix4sPassUniform.js";import"../core/shaderModules/Texture2DPassUniform.js";import"../../../webgl/ShaderBuilder.js";export{V as ViewshedPassParameters,b as build}from"../../../../chunks/Viewshed.glsl.js";
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[9784],{83027(e,t,i){i.d(t,{h:()=>r});const r=i(29953).ho},29784(e,t,i){i.r(t),i.d(t,{default:()=>ke});var r=i(5482),s=i(37838),o=i(11254),n=i(69540),a=i(7762),l=i(49186),u=i(4718),d=i(53966),p=i(97768),y=i(25728),c=i(93637),h=i(17676),g=i(39516),f=i(91429),m=i(89317),b=i(78247),w=i(16930),v=i(55156),C=i(60950),T=i(89808),F=i(99959);const M=Symbol("isFeatureGraphicOrigin");var _;class S extends F.A{get[(_=M,C.ym)](){return this.layer}get[v.e](){return this.layer}get[T.Q](){return this.layer}constructor(e){super(),this[_]=!0,this.type="feature",this.layer=e}get id(){return this.layer.id}}var I=i(4146),E=i(52106),O=i(44208),Z=i(92474),A=i(61893),j=i(83027),D=i(56507),q=i(5443),P=i(39829),L=i(50498),x=i(96520),R=i(58501),G=i(22671),k=i(7695);let J=0,N=class extends((0,Z.WV)((0,A.g)(a.A))){constructor(e){super(e),this._idToClientGeometry=null,this.type="memory"}load(e){const t=null!=e?e.signal:null;return this.addResolvingPromise(this._startWorker(t)),Promise.resolve(this)}destroy(){this._connection?.close(),this._connection=null}get _workerGeometryType(){const e=this.layer?.geometryType;return e?this._geometryTypeRequiresClientGraphicMapping(e)?"polygon":e:null}applyEdits(e){return this.load().then(()=>this._applyEdits(e))}openPorts(){return this.load().then(()=>this._connection.openPorts())}async queryFeatures(e,t={}){await this.load(t);const i=await this._connection.invoke("queryFeatures",e?e.toJSON():null,t);(0,R.q)(e,this.layer.spatialReference,i);const r=G.A.fromJSON(i);if(!this._requiresClientGraphicMapping()||!this._idToClientGeometry)return r;const s=this.layer.objectIdField;for(const e of r.features){const t=e.attributes[s],i=this._idToClientGeometry.get(t);void 0!==i&&(e.geometry=i)}return r.geometryType=this.layer.geometryType,r}async queryFeaturesJSON(e,t={}){if(this._requiresClientGraphicMapping())throw new l.A("query-features-json:unsupported","Cannot query in JSON format for client only geometry types (mesh and extent)");await this.load(t);const i=await this._connection.invoke("queryFeatures",e?e.toJSON():null,t);return(0,R.q)(e,this.layer.spatialReference,i),i}queryFeatureCount(e,t={}){return this.load(t).then(()=>this._connection.invoke("queryFeatureCount",e?e.toJSON():null,t))}queryObjectIds(e,t={}){return this.load(t).then(()=>this._connection.invoke("queryObjectIds",e?e.toJSON():null,t))}queryExtent(e,t={}){return this.load(t).then(()=>this._connection.invoke("queryExtent",e?e.toJSON():null,t)).then(e=>({count:e.count,extent:q.A.fromJSON(e.extent)}))}querySnapping(e,t={}){return this.load(t).then(()=>this._connection.invoke("querySnapping",e,t))}async queryAttributeBins(e,t={}){return await this.load(),this._connection.invoke("queryAttributeBins",e?.toJSON(),t)}async _applyEdits(e){if(!this._connection)throw new l.A("feature-layer-source:edit-failure","Memory source not loaded");const t=this.layer.objectIdField;let i=null;const r=[],s=[];await Promise.all([this._prepareClientMapping(e.addFeatures,null),this._prepareClientMapping(e.updateFeatures,null)]);const o=e=>"objectId"in e&&null!=e.objectId?e.objectId:"attributes"in e&&null!=e.attributes[t]?e.attributes[t]:null;if(e.addFeatures&&(i=this._prepareAddFeatures(e.addFeatures)),e.deleteFeatures)for(const t of e.deleteFeatures){const e=o(t);null!=e&&r.push(e)}const n=e.updateFeatures&&this._idToClientGeometry?new Map:null;if(e.updateFeatures)for(const t of e.updateFeatures)if(s.push(this._serializeFeature(t)),n&&null!=t.geometry){const e=o(t);null!=e&&n.set(e,t)}(0,x.u)(i?i.features:null,s,this.layer.spatialReference);const{fullExtent:a,featureEditResults:u}=await this._connection.invoke("applyEdits",{adds:i?i.features:[],updates:s,deletes:r});return this.fullExtent=a,i&&i.finish(u.uidToObjectId),this._updateIdToClientGeometries(n,u),this._createEditsResult(u)}async _prepareClientMapping(e,t){if("mesh"!==this._layerOrSourceGeometryType||null==e)return;const i=[];for(const{geometry:r}of e)null==r||"mesh"!==r.type||r.hasExtent||r.loaded||i.push(r.load({signal:t}));i.length&&await Promise.all(i)}_updateIdToClientGeometries(e,t){if(this._idToClientGeometry){if(e)for(const i of t.updateResults){if(!i.success)continue;const t=e.get(i.objectId);null!=t&&this._addIdToClientGeometry(t)}for(const e of t.deleteResults)e.success&&this._idToClientGeometry.delete(e.objectId)}}_createEditsResult(e){return{addFeatureResults:e.addResults?e.addResults.map(this._createFeatureEditResult,this):[],updateFeatureResults:e.updateResults?e.updateResults.map(this._createFeatureEditResult,this):[],deleteFeatureResults:e.deleteResults?e.deleteResults.map(this._createFeatureEditResult,this):[],addAttachmentResults:[],updateAttachmentResults:[],deleteAttachmentResults:[]}}_createFeatureEditResult(e){const t=!0===e.success?null:e.error||{code:void 0,description:""};return{objectId:e.objectId,globalId:e.globalId,error:t?new l.A("feature-layer-source:edit-failure",t.description,{code:t.code}):null}}_prepareAddFeatures(e){const t=new Map,i=new Array(e.length);let r=null;for(let s=0;s<e.length;s++){const o=e[s],n=this._serializeFeature(o);r||null==o.geometry||(r=o.geometry.type),i[s]=n,t.set(`${n.uid}`,o)}const s=this;return{features:i,inferredGeometryType:r,finish(e){const i=s.sourceJSON.objectIdField;for(const r in e){const o=e[r],n=t.get(r);n&&(n.attributes||(n.attributes={}),-1===o?delete n.attributes[i]:n.attributes[i]=o,s._addIdToClientGeometry(n))}}}}_addIdToClientGeometry(e){if(!this._idToClientGeometry)return;const t=this.sourceJSON.objectIdField,i=e.attributes?.[t];null!=i&&this._idToClientGeometry.set(i,e.geometry??null)}get _layerOrSourceGeometryType(){return this.layer?.geometryType??this.sourceJSON?.geometryType}_requiresClientGraphicMapping(){return this._geometryTypeRequiresClientGraphicMapping(this._layerOrSourceGeometryType)}_geometryRequiresClientGraphicMapping(e){return this._geometryTypeRequiresClientGraphicMapping(e.type)}_geometryTypeRequiresClientGraphicMapping(e){return"mesh"===e||"multipatch"===e||"extent"===e}_serializeFeature(e){const{attributes:t}=e,i=this._geometryForSerialization(e),r=(J++).toString();return i?{uid:r,geometry:i.toJSON(),attributes:t}:{uid:r,attributes:t}}_geometryForSerialization(e){const{geometry:t}=e;return null==t?null:this._geometryRequiresClientGraphicMapping(t)?t.extent?P.A.fromExtent(t.extent):null:t}async _startWorker(e){this._connection=await(0,j.h)("MemorySourceWorker",{strategy:(0,O.A)("feature-layers-workers")?"dedicated":"local",signal:e,registryTarget:this});const{fields:t,spatialReference:i,objectIdField:r,hasM:s,hasZ:o,timeInfo:n,dateFieldsTimeZone:a}=this.layer,l="defaults"===this.layer.originOf("spatialReference");await this._prepareClientMapping(this.items,e);const u=this._prepareAddFeatures(this.items);this.addHandles(this.on("before-changes",e=>{d.A.getLogger(this).error("Source modifications will not propagate after layer has been loaded. Please use .applyEdits() instead"),e.preventDefault()}));const p={features:u.features,fields:t?.map(e=>e.toJSON()),geometryType:L.Ye.toJSON(this._workerGeometryType),hasM:"mesh"!==this._layerOrSourceGeometryType&&s,hasZ:"mesh"===this._layerOrSourceGeometryType||o,objectIdField:r,spatialReference:l?null:i&&i.toJSON(),timeInfo:n?.toJSON()??null,dateFieldsTimeZone:a},y=await this._connection.invoke("load",p,{signal:e});for(const e of y.warnings)d.A.getLogger(this.layer).warn("#load()",`${e.message} (title: '${this.layer.title||"no title"}', id: '${this.layer.id??"no id"}')`,{warning:e});y.featureErrors.length&&d.A.getLogger(this.layer).warn("#load()",`Encountered ${y.featureErrors.length} validation errors while loading features. (title: '${this.layer.title||"no title"}', id: '${this.layer.id??"no id"}')`,{errors:y.featureErrors});const c=y.layerDefinition;this._geometryTypeRequiresClientGraphicMapping(u.inferredGeometryType)&&(c.geometryType=L.Ye.toJSON(u.inferredGeometryType)),this.sourceJSON=c,this._requiresClientGraphicMapping()&&(this._idToClientGeometry=new Map),u.finish(y.assignedObjectIds)}};(0,r.Cg)([(0,k.u)({Type:E.A,ensureType:(0,D.dp)(E.A)})],N.prototype,"itemType",void 0),(0,r.Cg)([(0,f.MZ)()],N.prototype,"type",void 0),(0,r.Cg)([(0,f.MZ)({constructOnly:!0})],N.prototype,"layer",void 0),(0,r.Cg)([(0,f.MZ)({readOnly:!0})],N.prototype,"_workerGeometryType",null),(0,r.Cg)([(0,f.MZ)()],N.prototype,"sourceJSON",void 0),N=(0,r.Cg)([(0,f.$K)("esri.layers.graphics.sources.MemorySource")],N);var V=i(52136),K=i(18768),$=i(63074),Q=i(69208),W=i(6455),z=i(47685),B=i(87718),U=i(10086),H=i(56658),Y=i(16131),X=i(32756),ee=i(8303),te=i(69622);let ie=class extends te.A{constructor(e){super(e),this.updating=!1,this.status="unknown"}};(0,r.Cg)([(0,f.MZ)()],ie.prototype,"updating",void 0),(0,r.Cg)([(0,f.MZ)()],ie.prototype,"status",void 0),ie=(0,r.Cg)([(0,f.$K)("esri.layers.support.PublishingInfo")],ie);const re=Symbol(),se=e=>{var t;const i=e;let s=class extends i{constructor(){super(...arguments),this[t]=!0}static{t=re}get publishingInfo(){if(this.destroyed)return null;const e=this._get("publishingInfo");if(e)return e;const t=new ie;return this._checkPublishingStatus(t),t}_checkPublishingStatus(e){let t=0;const i=async s=>{let o;e.updating=!0;try{o=await this.fetchPublishingStatus()}catch(e){o="unavailable"}"published"!==o&&"unavailable"!==o||("publishing"===e.status&&this.refresh(),r.remove()),e.status=o,e.updating=!1,r.removed||(t=setTimeout(i,s,s+125))},r={removed:!1,remove(){this.removed=!0,clearTimeout(t)}};this.when().catch(()=>r.remove()),i(250),this.addHandles(r)}};return(0,r.Cg)([(0,f.MZ)({readOnly:!0,clonable:!1})],s.prototype,"publishingInfo",null),s=(0,r.Cg)([(0,f.$K)("esri.layers.mixins.PublishableLayer")],s),s};var oe=i(54310),ne=i(25036),ae=i(82935),le=i(63396),ue=i(60694),de=i(10873),pe=i(15426),ye=i(29005),ce=i(33143),he=i(30279),ge=i(16194),fe=i(17036),me=i(30524),be=i(46499),we=i(39383),ve=i(6666),Ce=i(96184),Te=i(17311),Fe=i(91908),Me=i(65494),_e=i(8947),Se=i(41214),Ie=i(65615),Ee=i(61956),Oe=i(54218),Ze=i(30291),Ae=i(33910),je=i(78553),De=i(59923),qe=i(36005),Pe=i(43937);const Le="FeatureLayer";function xe(e){return e&&e instanceof a.A}const Re=(0,fe.p)();function Ge(e,t,i){const r=!!i?.writeLayerSchema;return{enabled:r,ignoreOrigin:r}}let ke=class extends((0,U.j)((0,H.J)((0,B.F)(se((0,z.w6)((0,W.FJ)((0,$.dM)((0,X.fY)((0,ae.e)((0,le.d)((0,ne.j)((0,oe.J)((0,K.b)((0,Y.q)((0,ee.A)((0,y.M)((0,Q.d)((0,V.p)((0,n.OU)(I.A)))))))))))))))))))){constructor(...e){super(...e),this.attributeTableTemplate=null,this.charts=null,this.copyright=null,this.displayField=null,this.dynamicDataSource=null,this.fields=null,this.fieldsIndex=null,this.formTemplate=null,this.fullExtent=null,this.geometryType=null,this.graphicOrigin=new S(this),this.hasM=void 0,this.hasZ=void 0,this.infoFor3D=null,this.isTable=!1,this.labelsVisible=!0,this.labelingInfo=null,this.legendEnabled=!0,this.objectIdField=null,this.operationalLayerType="ArcGISFeatureLayer",this.outFields=null,this.path=null,this.popupEnabled=!0,this.popupTemplate=null,this.resourceInfo=null,this.screenSizePerspectiveEnabled=!0,this.spatialReference=w.A.WGS84,this.subtypeCode=null,this.supportedSourceTypes=new Set(["Feature Layer","Oriented Imagery Layer","Table","Catalog Layer"]),this.templates=null,this.timeInfo=null,this.title=null,this.sublayerTitleMode="item-title",this.type="feature",this.typeIdField=null,this.types=null,this.visible=!0,this._debouncedSaveOperations=(0,h.sg)(async(e,t,r)=>{const{save:s,saveAs:o}=await i.e(3359).then(i.bind(i,33359));switch(e){case 0:return s(this,t);case 1:return o(this,r,t)}})}destroy(){this.source?.destroy()}normalizeCtorArgs(e,t){return"string"==typeof e?{url:e,...t}:e}load(e){const t=null!=e?e.signal:null;if(this.portalItem?.loaded&&this.source)return this.addResolvingPromise(this.createGraphicsSource(t).then(e=>this.initLayerProperties(e))),Promise.resolve(this);const i=this.loadFromPortal({supportedTypes:["Feature Service","Feature Collection","Scene Service"]},e).catch(h.QP).then(async()=>{if(this.url&&null==this.layerId&&/FeatureServer|MapServer\/*$/i.test(this.url)){const e=await this._fetchFirstValidLayerId(t);null!=e&&(this.layerId=e)}if(!this.url&&!this._hasMemorySource())throw new l.A("feature-layer:missing-url-or-source","Feature layer must be created with either a url or a source");return this.initLayerProperties(await this.createGraphicsSource(t))}).then(()=>(0,pe.VA)(this,"load",e));return this.addResolvingPromise(i),Promise.resolve(this)}get _titleCreator(){const e=this._get("_titleCreator");return(0,p.pR)(e),new Te.A({fieldsIndex:this.fieldsIndex,objectIdField:this.objectIdField,fields:this.fields,displayField:this.displayField,effectivePopupTemplate:this.popupTemplate??this.defaultPopupTemplate})}readCapabilities(e,t){return t=t.layerDefinition||t,(0,ve.S$)(t,this.url)}get createQueryVersion(){return this.commitProperty("definitionExpression"),this.commitProperty("dynamicDataSource"),this.commitProperty("timeExtent"),this.commitProperty("timeOffset"),this.commitProperty("geometryType"),this.commitProperty("gdbVersion"),this.commitProperty("historicMoment"),this.commitProperty("returnZ"),this.commitProperty("capabilities"),this.commitProperty("returnM"),(this._get("createQueryVersion")??0)+1}get editingEnabled(){return!(this.loaded&&!this.capabilities?.operations.supportsEditing)&&(this._isOverridden("editingEnabled")?this._get("editingEnabled"):this._hasMemorySource()||this.userHasEditingPrivileges)}set editingEnabled(e){this._overrideIfSome("editingEnabled",e)}readEditingEnabled(e,t){return this._readEditingEnabled(t,!1)}readEditingEnabledFromWebMap(e,t,i){return this._readEditingEnabled(t,!0,i)}writeEditingEnabled(e,t){this._writeEditingEnabled(e,t,!1)}writeEditingEnabledToWebMap(e,t,i,r){this._writeEditingEnabled(e,t,!0,r)}get effectiveEditingEnabled(){return(0,pe.C$)(this)}get featureTitleFields(){return[...this._titleCreator.requiredFields]}set fieldConfigurations(e){if(this._hasMemorySource())return;if(this._override("fieldConfigurations",e),!this.loaded)return;const t=(0,ge.sS)(this,e);t&&this._set("popupTemplate",t)}get fieldConfigurations(){if(!this._hasMemorySource())return this._isOverridden("fieldConfigurations")?this._get("fieldConfigurations"):(0,ge.QX)(this)||null}readIsTable(e,t){return"Table"===(t=t?.layerDefinition??t).type||!t.geometryType}writeIsTable(e,t,i,r){r?.writeLayerSchema&&(0,c.sM)(i,e?"Table":"Feature Layer",t)}readGlobalIdField(e,t){return(0,pe.jD)(t.layerDefinition||t)}readObjectIdField(e,t){return(0,pe.Zm)(t.layerDefinition||t)}writePopupTemplate(e,t,i,r){e&&(t[i]=e.toJSON({...r,writeFieldFormat:!r?.writeLayerSchema}))}get defaultPopupTemplate(){return this.createPopupTemplate()}set renderer(e){(0,me.yp)(e,this.fieldsIndex),this._set("renderer",e)}readRenderer(e,t,i){t=t.layerDefinition||t;const r=t.drawingInfo?.renderer;if(r){const e=(0,Me.L)(r,t,i)??void 0;return e||d.A.getLogger(this).error("Failed to create renderer",{rendererDefinition:t.drawingInfo.renderer,layer:this,context:i}),e}return(0,pe.PD)(t,i)}get source(){return this._get("source")}set source(e){e||(e=null);const t=this._get("source");t!==e&&((Array.isArray(e)||e instanceof a.A)&&(e=new N({layer:this,items:e})),xe(t)&&this._resetMemorySource(t),xe(e)&&this._initMemorySource(e),this._set("source",e))}readSource(e,t){const i=G.A.fromJSON(t.featureSet);return new N({layer:this,items:i?.features??[]})}readTemplates(e,t){const i=t.editFieldsInfo,r=i?.creatorField,s=i?.editorField;return e=e?.map(e=>ye.A.fromJSON(e)),this._fixTemplates(e,r),this._fixTemplates(e,s),e}readTitle(e,t){const i=t.layerDefinition?.name??t.name,r=t.title||t.layerDefinition?.title;if(i){if("item-title"===this.sublayerTitleMode)return this.url?(0,ue.yG)(this.url,i):i;let e=i;if(!e&&this.url){const t=(0,ue.qg)(this.url);null!=t&&(e=t.title)}if(!e)return;const t=this.portalItem?.title;return"item-title-and-service-name"===this.sublayerTitleMode&&t&&t!==e&&(e=t+" - "+e),(0,ue.cr)(e)}if("item-title"===this.sublayerTitleMode&&r)return r}readTitleFromWebMap(e,t){return t.title||t.layerDefinition?.name}readTypeIdField(e,t){let i=(t=t.layerDefinition||t).typeIdField;if(i&&t.fields){i=i.toLowerCase();const e=t.fields.find(e=>e.name.toLowerCase()===i);e&&(i=e.name)}return i}readTypes(e,t){e=(t=t.layerDefinition||t).types;const i=t.editFieldsInfo,r=i?.creatorField,s=i?.editorField;return e?.map(e=>(e=ce.A.fromJSON(e),this._fixTemplates(e.templates,r),this._fixTemplates(e.templates,s),e))}readVisible(e,t){return null!=t.layerDefinition?.defaultVisibility?!!t.layerDefinition.defaultVisibility:null!=t.visibility?!!t.visibility:void 0}async addAttachment(e,t){const i=await(0,pe.Xl)(this,e,t,Le);return this.lastEditsEventDate=new Date,i}async updateAttachment(e,t,i){const r=await(0,pe.bt)(this,e,t,i,Le);return this.lastEditsEventDate=new Date,r}async applyEdits(e,t){return(0,pe.ct)(this,e,t)}async uploadAssets(e,t){return(0,pe.rn)(this,e,t)}createFieldConfigurations(){return(0,ge.xY)(this)}createPopupTemplate(e){return(0,Ze.tn)(this,e)}async createGraphicsSource(e){if(this._hasMemorySource()&&this.source)return this.source.load({signal:e});const{default:t}=await(0,h.qr)(Promise.all([i.e(893),i.e(3636)]).then(i.bind(i,65515)),e);return new t({layer:this,supportedSourceTypes:this.supportedSourceTypes}).load({signal:e})}createQuery(){const e=(0,pe.VZ)(this);e.dynamicDataSource=this.dynamicDataSource;const t=null!=this.subtypeCode?`${this.subtypeField} = ${this.subtypeCode}`:null,i=(0,g.mA)(this.definitionExpression,t);return e.where=i||"1=1",e}async deleteAttachments(e,t){const i=await(0,pe.mm)(this,e,t,Le);return this.lastEditsEventDate=new Date,i}async fetchRecomputedExtents(e){return(0,pe.WP)(this,e,Le)}async getFeatureTitle(e,t){return this._titleCreator.getTitle(this,e,t)}async getFeatureTitles(e,t){return this._titleCreator.getTitles(this,e,t)}getFeatureType(e){return(0,pe.xd)(this.types,this.typeIdField,e)}getFieldAlias(e){const t=this.getField(e);if(t)return this.getFieldConfiguration(t.name)?.alias||t.alias}getFieldConfiguration(e){return e=e.toLowerCase(),this.fieldConfigurations?.find(t=>t.name.toLowerCase()===e)}getFieldDomain(e,t){return(0,pe.Vq)(this,e,t,this.getField(e)?.domain??null)}async queryAttachments(e,t){return(0,pe.lV)(this,e,t,Le)}async queryFeatures(e,t){const i=await this.load(),r=await i.source.queryFeatures(Ee.A.from(e)??i.createQuery(),t),s=this.graphicOrigin;if(r?.features)for(const e of r.features)e.layer=e.sourceLayer=i,e.origin=s;return r}async queryObjectIds(e,t){return await(0,pe.sg)(this,e,t,Le)}async queryFeatureCount(e,t){return(0,pe.Ye)(this,e,t,Le)}async queryExtent(e,t){return(0,pe.B5)(this,e,t,Le)}async queryRelatedFeatures(e,t){return(0,pe.hM)(this,e,t,Le)}async queryRelatedFeaturesCount(e,t){return(0,pe.S2)(this,e,t,Le)}async queryPivot(e,t){const{source:r,capabilities:s}=await this.load();if(!r.queryPivot||!s?.operations?.supportsQueryPivot)throw new l.A(Le,"Layer source does not support queryPivot capability");const o=await i.e(9958).then(i.bind(i,29958)),n=await r.queryPivot(o.default.from(e),t),a=this.graphicOrigin;if(n?.features)for(const e of n.features)e.layer=e.sourceLayer=this,e.origin=a;return n}async queryTopFeatures(e,t){const{source:r,capabilities:s}=await this.load();if(!r.queryTopFeatures||!s?.query?.supportsTopFeaturesQuery)throw new l.A(Le,"Layer source does not support queryTopFeatures capability");const o=await i.e(7561).then(i.bind(i,57561)),n=await r.queryTopFeatures(o.default.from(e),t),a=this.graphicOrigin;if(n?.features)for(const e of n.features)e.layer=e.sourceLayer=this,e.origin=a;return n}async queryAttributeBins(e,t){const{source:r,capabilities:s}=await this.load();if(!r.queryAttributeBins)throw new l.A(Le,"Layer source does not support queryAttributeBins capability");(0,pe.ZJ)(e,s,Le);const o=await i.e(4575).then(i.bind(i,14575)),n=await r.queryAttributeBins(o.default.from(e),t),a=this.graphicOrigin;if(n.features)for(const e of n.features)e.layer=e.sourceLayer=this,e.origin=a;return n}async queryTopObjectIds(e,t){const{source:r,capabilities:s}=await this.load();if(!r.queryTopObjectIds||!s?.query.supportsTopFeaturesQuery)throw new l.A(Le,"Layer source does not support queryTopObjectIds capability");const o=await i.e(7561).then(i.bind(i,57561));return(await r.queryTopObjectIds(o.default.from(e),t)).filter(Oe.Et)}async queryTopFeaturesExtent(e,t){const{source:r,capabilities:s}=await this.load();if(!r.queryTopExtents||!s?.query?.supportsTopFeaturesQuery)throw new l.A(Le,"Layer source does not support queryTopExtents capability");const o=await i.e(7561).then(i.bind(i,57561));return r.queryTopExtents(o.default.from(e),t)}async queryTopFeatureCount(e,t){const{source:r,capabilities:s}=await this.load();if(!r.queryTopCount||!s?.query?.supportsTopFeaturesQuery)throw new l.A(Le,"Layer source does not support queryFeatureCount capability");const o=await i.e(7561).then(i.bind(i,57561));return r.queryTopCount(o.default.from(e),t)}read(e,t){const i=e.featureCollection;if((i||"Feature Collection"===e.type)&&(this.resourceInfo=e),i){const{layers:e,showLegend:r}=i;1===e?.length&&(super.read(e[0],t),null!=r&&super.read({showLegend:r},t))}super.read(e,t),"service"===t?.origin&&(["objectIdField","fields","timeInfo","dateFieldsTimeZone"].forEach(e=>this.revertToOrigin(e,"service")),this.spatialReference||this.revertToOrigin("spatialReference","service"))}write(e,t){t={...t,origin:t?.origin??void 0,writeLayerSchema:t?.writeLayerSchema??this._hasMemorySource()};const{origin:i,layerContainerType:r}=t;if(this.dynamicDataSource)return(0,De.U4)(t,this,"a dynamic data source cannot be written to web scenes, web maps and feature service items"),null;if(this.isTable){if(("web-map"===i||"web-scene"===i)&&"tables"!==r)return(0,De.U4)(t,this,"a table source can only be written to tables"),null;if(this._hasMemorySource())return(0,De.U4)(t,this,"an in-memory table source cannot be written to web scenes and web maps"),null}else if(this.loaded&&("web-map"===i||"web-scene"===i)&&"tables"===r)return(0,De.U4)(t,this,"a non-table source cannot be written to tables in web maps or web scenes"),null;return super.write(e,t)}clone(){if(this._hasMemorySource())throw new l.A(Le,`FeatureLayer (title: ${this.title}, id: ${this.id}) created using in-memory source cannot be cloned`);return super.clone()}serviceSupportsSpatialReference(e){return!!this.loaded&&("memory"===this.source?.type||(0,Fe.D)(this,e))}async save(e){return this._debouncedSaveOperations(0,e)}async saveAs(e,t){return this._debouncedSaveOperations(1,t,e)}_readEditingEnabled(e,t,i){let r=e.layerDefinition?.capabilities;return r?this._hasEditingCapability(r):(r=e.capabilities,t&&"web-map"===i?.origin&&!this._hasMemorySource()&&r?this._hasEditingCapability(r):void 0)}_hasEditingCapability(e){return e.toLowerCase().split(",").map(e=>e.trim()).includes("editing")}_writeEditingEnabled(e,t,i,r){if(!e){const e=this.capabilities?.operations?.supportsSync?"Query,Sync":"Query";(0,c.sM)("layerDefinition.capabilities",e,t),i&&!r?.writeLayerSchema&&(t.capabilities=e)}}_fetchFirstValidLayerId(e){return(0,o.A)(this.url??"",{query:{f:"json",...this.customParameters,token:this.apiKey},responseType:"json",signal:e}).then(e=>{const t=e.data;if(t)return this.applyPreferredHost(t),this.findFirstValidLayerId(t)})}async initLayerProperties(e){return this._set("source",e),e.sourceJSON&&(this.sourceJSON=e.sourceJSON,this.read(e.sourceJSON,{origin:"service",portalItem:this.portalItem,portal:this.portalItem?.portal,url:this.parsedUrl})),this._verifySource(),this._verifyFields(),(0,me.yp)(this.renderer,this.fieldsIndex),(0,me.sv)(this.timeInfo,this.fieldsIndex),this._hasMemorySource()&&"mesh"===this.geometryType&&(this.capabilities.query.supportsReturnMesh=!0),(0,_e.L)(this,{origin:"service"})}async hasDataChanged(){return(0,pe.jp)(this)}async fetchPublishingStatus(){const e=this.source;return e?.fetchPublishingStatus?e.fetchPublishingStatus():"unavailable"}_verifyFields(){const e=this.parsedUrl?.path??"undefined";this.objectIdField||console.log("FeatureLayer: 'objectIdField' property is not defined (url: "+e+")"),this.isTable||this._hasMemorySource()||-1!==e.search(/\/FeatureServer\//i)||this.fields?.some(e=>"geometry"===e.type)||console.log("FeatureLayer: unable to find field of type 'geometry' in the layer 'fields' list. If you are using a map service layer, features will not have geometry (url: "+e+")")}_fixTemplates(e,t){e&&e.forEach(e=>{const i=e.prototype?.attributes;i&&t&&delete i[t]})}_verifySource(){if(this._hasMemorySource()){if(this.url)throw new l.A("feature-layer:mixed-source-and-url","FeatureLayer cannot be created with both an in-memory source and a url")}else if(!this.url)throw new l.A("feature-layer:source-or-url-required","FeatureLayer requires either a url, a valid portal item or a source")}_initMemorySource(e){e.forEach(e=>{e.layer=this,e.sourceLayer=this}),this.addHandles([e.on("after-add",e=>{e.item.layer=this,e.item.sourceLayer=this}),e.on("after-remove",e=>{e.item.layer=null,e.item.sourceLayer=null})],"fl-source")}_resetMemorySource(e){e.forEach(e=>{e.layer=null,e.sourceLayer=null}),this.removeHandles("fl-source")}_hasMemorySource(){return!(this.url||!this.source)}findFirstValidLayerId(e){const t=[...e.layers||[],...e.tables||[]];return t.find(({type:e})=>!e||this.supportedSourceTypes.has(e))?.id}};(0,r.Cg)([(0,f.MZ)({clonable:!1,readOnly:!0})],ke.prototype,"_titleCreator",null),(0,r.Cg)([(0,f.MZ)(de.zQ)],ke.prototype,"attributeTableTemplate",void 0),(0,r.Cg)([(0,qe.w)("service","capabilities")],ke.prototype,"readCapabilities",null),(0,r.Cg)([(0,f.MZ)({json:{origins:{"web-scene":{write:!1}},write:!0}})],ke.prototype,"charts",void 0),(0,r.Cg)([(0,f.MZ)({readOnly:!0})],ke.prototype,"createQueryVersion",null),(0,r.Cg)([(0,f.MZ)({json:{read:{source:"layerDefinition.copyrightText"}}})],ke.prototype,"copyright",void 0),(0,r.Cg)([(0,f.MZ)({json:{read:{source:"layerDefinition.displayField"}}})],ke.prototype,"displayField",void 0),(0,r.Cg)([(0,f.MZ)({types:Ae.Es,readOnly:!0})],ke.prototype,"defaultSymbol",void 0),(0,r.Cg)([(0,f.MZ)({type:Ie.A})],ke.prototype,"dynamicDataSource",void 0),(0,r.Cg)([(0,f.MZ)({type:Boolean})],ke.prototype,"editingEnabled",null),(0,r.Cg)([(0,qe.w)(["portal-item","web-scene"],"editingEnabled",["layerDefinition.capabilities"])],ke.prototype,"readEditingEnabled",null),(0,r.Cg)([(0,qe.w)("web-map","editingEnabled",["capabilities","layerDefinition.capabilities"])],ke.prototype,"readEditingEnabledFromWebMap",null),(0,r.Cg)([(0,Pe.K)(["portal-item","web-scene"],"editingEnabled",{"layerDefinition.capabilities":{type:String}})],ke.prototype,"writeEditingEnabled",null),(0,r.Cg)([(0,Pe.K)("web-map","editingEnabled",{capabilities:{type:String},"layerDefinition.capabilities":{type:String}})],ke.prototype,"writeEditingEnabledToWebMap",null),(0,r.Cg)([(0,f.MZ)({readOnly:!0})],ke.prototype,"effectiveEditingEnabled",null),(0,r.Cg)([(0,f.MZ)({clonable:!1,readOnly:!0})],ke.prototype,"featureTitleFields",null),(0,r.Cg)([(0,f.MZ)({type:[he.A],json:{name:"layerDefinition.fieldConfigurations",write:{overridePolicy(e,t,i){return{enabled:!i?.writeLayerSchema,ignoreOrigin:1===this.originIdOf(t)}}}}})],ke.prototype,"fieldConfigurations",null),(0,r.Cg)([(0,f.MZ)({...Re.fields,json:{read:{source:"layerDefinition.fields"},origins:{service:{name:"fields"},"web-map":{write:{target:"layerDefinition.fields",overridePolicy:Ge}}}}})],ke.prototype,"fields",void 0),(0,r.Cg)([(0,f.MZ)(Re.fieldsIndex)],ke.prototype,"fieldsIndex",void 0),(0,r.Cg)([(0,f.MZ)({type:b.A,json:{name:"formInfo",write:!0,origins:{"web-scene":{read:!1,write:!1}}}})],ke.prototype,"formTemplate",void 0),(0,r.Cg)([(0,f.MZ)({json:{read:{source:"layerDefinition.extent"}}})],ke.prototype,"fullExtent",void 0),(0,r.Cg)([(0,f.MZ)({json:{origins:{"web-map":{write:{target:"layerDefinition.geometryType",overridePolicy:Ge,writer(e,t,i){const r=e?pe.iX.toJSON(e):null;r&&(0,c.sM)(i,r,t)}}}},read:{source:"layerDefinition.geometryType",reader:pe.iX.read}}})],ke.prototype,"geometryType",void 0),(0,r.Cg)([(0,f.MZ)({readOnly:!0,clonable:!1})],ke.prototype,"graphicOrigin",void 0),(0,r.Cg)([(0,f.MZ)({json:{read:{source:"layerDefinition.hasM"}}})],ke.prototype,"hasM",void 0),(0,r.Cg)([(0,f.MZ)({json:{read:{source:"layerDefinition.hasZ"}}})],ke.prototype,"hasZ",void 0),(0,r.Cg)([(0,f.MZ)(de.id)],ke.prototype,"id",void 0),(0,r.Cg)([(0,f.MZ)({readOnly:!0,json:{origins:{service:{read:!0}},read:!1}})],ke.prototype,"infoFor3D",void 0),(0,r.Cg)([(0,f.MZ)({json:{origins:{"web-map":{write:{target:"layerDefinition.type"}}}}})],ke.prototype,"isTable",void 0),(0,r.Cg)([(0,qe.w)("service","isTable",["type","geometryType"]),(0,qe.w)("isTable",["layerDefinition.type","layerDefinition.geometryType"])],ke.prototype,"readIsTable",null),(0,r.Cg)([(0,Pe.K)("web-map","isTable")],ke.prototype,"writeIsTable",null),(0,r.Cg)([(0,f.MZ)(de.kF)],ke.prototype,"labelsVisible",void 0),(0,r.Cg)([(0,f.MZ)({type:[be.A],json:{origins:{service:{name:"drawingInfo.labelingInfo",read:we.w,write:!1}},name:"layerDefinition.drawingInfo.labelingInfo",read:we.w,write:{layerContainerTypes:m.K}}})],ke.prototype,"labelingInfo",void 0),(0,r.Cg)([(0,f.MZ)((()=>{const e=(0,u.o8)(de.Ih);return e.json.origins["portal-item"]={write:{target:"layerDefinition.drawingInfo.transparency",writer(e,t,i){(0,c.sM)(i,(0,je.p)(e),t)}}},e})())],ke.prototype,"opacity",void 0),(0,r.Cg)([(0,f.MZ)(de.fV)],ke.prototype,"legendEnabled",void 0),(0,r.Cg)([(0,f.MZ)({type:["show","hide"],json:(()=>{const e=(0,u.o8)(de.C1.json);return e.origins["portal-item"]={read:!1,write:!1},e})()})],ke.prototype,"listMode",void 0),(0,r.Cg)([(0,qe.w)("globalIdField",["layerDefinition.globalIdField","layerDefinition.fields"])],ke.prototype,"readGlobalIdField",null),(0,r.Cg)([(0,f.MZ)({json:{origins:{"web-map":{write:{target:"layerDefinition.objectIdField",overridePolicy:Ge}}}}})],ke.prototype,"objectIdField",void 0),(0,r.Cg)([(0,qe.w)("objectIdField",["layerDefinition.objectIdField","layerDefinition.fields"])],ke.prototype,"readObjectIdField",null),(0,r.Cg)([(0,f.MZ)({type:["ArcGISFeatureLayer"],json:{write:{target:"layerType",ignoreOrigin:!0,layerContainerTypes:m.K}}})],ke.prototype,"operationalLayerType",void 0),(0,r.Cg)([(0,f.MZ)(Re.outFields)],ke.prototype,"outFields",void 0),(0,r.Cg)([(0,f.MZ)({type:String,json:{origins:{"web-scene":{read:!0,write:!0}},read:!1}})],ke.prototype,"path",void 0),(0,r.Cg)([(0,f.MZ)(de.M6)],ke.prototype,"popupEnabled",void 0),(0,r.Cg)([(0,f.MZ)({type:s.A,json:{name:"popupInfo",write:!0}})],ke.prototype,"popupTemplate",void 0),(0,r.Cg)([(0,Pe.K)("popupTemplate")],ke.prototype,"writePopupTemplate",null),(0,r.Cg)([(0,f.MZ)({readOnly:!0})],ke.prototype,"defaultPopupTemplate",null),(0,r.Cg)([(0,f.MZ)({types:Se.Hg,json:{origins:{service:{write:{target:"drawingInfo.renderer",enabled:!1}},"web-scene":{types:Se.XJ,name:"layerDefinition.drawingInfo.renderer",write:{layerContainerTypes:m.K,overridePolicy:(e,t,i)=>({ignoreOrigin:i?.writeLayerSchema,layerContainerTypes:m.K})}}},write:{target:"layerDefinition.drawingInfo.renderer",overridePolicy:(e,t,i)=>({ignoreOrigin:i?.writeLayerSchema,layerContainerTypes:m.K})}}})],ke.prototype,"renderer",null),(0,r.Cg)([(0,qe.w)("service","renderer",["drawingInfo.renderer","defaultSymbol"]),(0,qe.w)("renderer",["layerDefinition.drawingInfo.renderer","layerDefinition.defaultSymbol"])],ke.prototype,"readRenderer",null),(0,r.Cg)([(0,f.MZ)()],ke.prototype,"resourceInfo",void 0),(0,r.Cg)([(0,f.MZ)((()=>{const e=(0,u.o8)(de.PY);return e.json.origins["portal-item"]={read:!1,write:!1},e})())],ke.prototype,"screenSizePerspectiveEnabled",void 0),(0,r.Cg)([(0,f.MZ)({clonable:!1})],ke.prototype,"source",null),(0,r.Cg)([(0,qe.w)("portal-item","source",["featureSet"]),(0,qe.w)("web-map","source",["featureSet"])],ke.prototype,"readSource",null),(0,r.Cg)([(0,f.MZ)({json:{read:{source:"layerDefinition.extent.spatialReference"}}})],ke.prototype,"spatialReference",void 0),(0,r.Cg)([(0,f.MZ)({type:Number})],ke.prototype,"subtypeCode",void 0),(0,r.Cg)([(0,f.MZ)({type:[ye.A]})],ke.prototype,"templates",void 0),(0,r.Cg)([(0,qe.w)("templates",["editFieldsInfo","creatorField","editorField","templates"])],ke.prototype,"readTemplates",null),(0,r.Cg)([(0,f.MZ)({type:Ce.A})],ke.prototype,"timeInfo",void 0),(0,r.Cg)([(0,f.MZ)()],ke.prototype,"title",void 0),(0,r.Cg)([(0,qe.w)("service","title",["name"]),(0,qe.w)("portal-item","title",["layerDefinition.title","layerDefinition.name","title"])],ke.prototype,"readTitle",null),(0,r.Cg)([(0,qe.w)("web-map","title",["layerDefinition.name","title"])],ke.prototype,"readTitleFromWebMap",null),(0,r.Cg)([(0,f.MZ)({type:String})],ke.prototype,"sublayerTitleMode",void 0),(0,r.Cg)([(0,f.MZ)({json:{read:!1}})],ke.prototype,"type",void 0),(0,r.Cg)([(0,f.MZ)({type:String})],ke.prototype,"typeIdField",void 0),(0,r.Cg)([(0,qe.w)("service","typeIdField"),(0,qe.w)("typeIdField",["layerDefinition.typeIdField"])],ke.prototype,"readTypeIdField",null),(0,r.Cg)([(0,f.MZ)({type:[ce.A]})],ke.prototype,"types",void 0),(0,r.Cg)([(0,qe.w)("service","types",["types"]),(0,qe.w)("types",["layerDefinition.types"])],ke.prototype,"readTypes",null),(0,r.Cg)([(0,f.MZ)({type:Boolean,json:{origins:{"portal-item":{write:{target:"layerDefinition.defaultVisibility",layerContainerTypes:m.K}}}}})],ke.prototype,"visible",void 0),(0,r.Cg)([(0,qe.w)("portal-item","visible",["visibility","layerDefinition.defaultVisibility"])],ke.prototype,"readVisible",null),ke=(0,r.Cg)([(0,f.$K)("esri.layers.FeatureLayer")],ke)},63396(e,t,i){i.d(t,{d:()=>T});var r=i(5482),s=i(91429),o=i(60950),n=i(99959);class a extends n.A{constructor(e){super(),this.type="track",this.trackInfoProvider=e}get id(){return this.trackInfoProvider.id}get[o.ym](){return this.trackInfoProvider.trackInfo}}var l=i(37838),u=i(69540),d=i(25482),p=i(93637),y=i(50820),c=i(10873),h=i(46499),g=i(41214);let f=class extends((0,u.OU)(d.o)){constructor(e){super(e),this.labelingInfo=null,this.labelsVisible=!0,this.renderer=null,this.visible=!0}};(0,r.Cg)([(0,s.MZ)({type:[h.A],json:{write:!0}})],f.prototype,"labelingInfo",void 0),(0,r.Cg)([(0,s.MZ)(c.kF)],f.prototype,"labelsVisible",void 0),(0,r.Cg)([(0,s.MZ)({types:g.Hg,json:{write:!0}})],f.prototype,"renderer",void 0),(0,r.Cg)([(0,s.MZ)({type:Boolean,json:{write:!0}})],f.prototype,"visible",void 0),f=(0,r.Cg)([(0,s.$K)("esri.layers.support.TrackPartInfo")],f);var m=i(96576),b=i(59868),w=i(10184),v=i(43937);let C=class extends((0,u.OU)(d.o)){constructor(e){super(e),this.enabled=!0,this.fields=[],this.latestObservations=new f({renderer:new m.A({symbol:b.UK.clone()})}),this.maxDisplayDuration=null,this.maxDisplayObservationsPerTrack=0,this.popupEnabled=!0,this.popupTemplate=null,this.previousObservations=new f({renderer:new m.A({symbol:b.UK.clone()})}),this.trackLines=new f({renderer:new m.A({symbol:b.A7.clone()})}),this.timeField="startTimeField"}writeFields(e,t,i){const r=e.filter(e=>"avg_angle"!==e.statisticType).map(e=>e.toJSON());(0,p.sM)(i,r,t)}};(0,r.Cg)([(0,s.MZ)({type:Boolean,json:{write:!0}})],C.prototype,"enabled",void 0),(0,r.Cg)([(0,s.MZ)({type:[y.A],json:{write:!0}})],C.prototype,"fields",void 0),(0,r.Cg)([(0,v.K)("fields")],C.prototype,"writeFields",null),(0,r.Cg)([(0,s.MZ)({type:f,json:{write:!0}})],C.prototype,"latestObservations",void 0),(0,r.Cg)([(0,s.MZ)({type:w.A,json:{write:!0}})],C.prototype,"maxDisplayDuration",void 0),(0,r.Cg)([(0,s.MZ)({type:Number,json:{write:!0}})],C.prototype,"maxDisplayObservationsPerTrack",void 0),(0,r.Cg)([(0,s.MZ)(c.M6)],C.prototype,"popupEnabled",void 0),(0,r.Cg)([(0,s.MZ)({type:l.A,json:{name:"popupInfo",write:!0}})],C.prototype,"popupTemplate",void 0),(0,r.Cg)([(0,s.MZ)({type:f,json:{write:!0}})],C.prototype,"previousObservations",void 0),(0,r.Cg)([(0,s.MZ)({type:f,json:{write:!0}})],C.prototype,"trackLines",void 0),(0,r.Cg)([(0,s.MZ)({type:["timeReceived","startTimeField","endTimeField"],json:{read:!0,write:!0}})],C.prototype,"timeField",void 0),C=(0,r.Cg)([(0,s.$K)("esri.layers.support.TrackInfo")],C);const T=e=>{const t=e;let i=class extends t{constructor(){super(...arguments),this.trackGraphicOrigin=new a(this),this.trackInfo=null}};return(0,r.Cg)([(0,s.MZ)({readOnly:!0,clonable:!1})],i.prototype,"trackGraphicOrigin",void 0),(0,r.Cg)([(0,s.MZ)({type:C})],i.prototype,"trackInfo",void 0),i=(0,r.Cg)([(0,s.$K)("esri.layers.mixins.TrackableLayer")],i),i}},8947(e,t,i){i.d(t,{L:()=>n});var r=i(60999),s=i(17676),o=i(67076);async function n(e,t,i){const n=e&&e.getAtOrigin&&e.getAtOrigin("renderer",t.origin);if(n&&"unique-value"===n.type&&n.styleOrigin){const a=await(0,r.Ke)(n.populateFromStyle());if((0,s.Te)(i),!1===a.ok){const i=a.error;t?.messages&&t.messages.push(new o.A("renderer:style-reference",`Failed to create unique value renderer from style reference: ${i.message}`,{error:i,context:t})),e.clear("renderer",t?.origin)}}}},96520(e,t,i){i.d(t,{u:()=>l});var r=i(86211),s=i(21325),o=i(52006);function n(e,t,i){if(null==e.hasM||e.hasZ)for(const e of t)for(const t of e)t.length>2&&(t[2]*=i)}function a(e,t,i){if(null==e.hasM||e.hasZ)for(const e of t)for(const t of e){const e=(0,o.yP)(t);e.length>2&&(e[2]*=i)}}function l(e,t,i){if(!e&&!t||!i)return;const s=(0,r.G9)(i);u(e,i,s),u(t,i,s)}function u(e,t,i){if(e)for(const r of e)d(r.geometry,t,i)}function d(e,t,i){if(!e?.spatialReference||(0,s.aI)(e.spatialReference,t))return;const o=(0,r.G9)(e.spatialReference)/i;if(1!==o)if("x"in e)null!=e.z&&(e.z*=o);else if("curveRings"in e)a(e,e.curveRings,o);else if("curvePaths"in e)a(e,e.curvePaths,o);else if("rings"in e)n(e,e.rings,o);else if("paths"in e)n(e,e.paths,o);else if("points"in e&&(null==e.hasM||e.hasZ))for(const t of e.points)t.length>2&&(t[2]*=o)}}}]);
@@ -1,2 +0,0 @@
1
- /*! For license information please see 60e4312044fe40dfd41d.js.LICENSE.txt */
2
- "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[318],{25971(t,e,s){s.d(e,{C:()=>f,G:()=>g,c:()=>u,p:()=>h,t:()=>d});var i=s(11232),o=s(25744),n=s(34857),r=s(48779),a=s(53436);let c;const h=()=>{c?.forEach(({callbacks:t},e)=>{const s=Object.keys(e);t.forEach(t=>t(s))}),c=void 0},l=(t,e,s)=>{const o=t.manager;return o.V!==n.s6&&o.V!==s&&o.S(void 0,void 0),0===o.T.length&&queueMicrotask(()=>o.S(void 0,void 0)),o.V=s,o.T.push((t,o)=>(0,i.UF)(e,void 0,s===o?t:void 0)),s},d=(t=[(0,o.r)(),...(0,o.d)()],e,s)=>{const n=Array.isArray(t)?t:[t];let r=n.length+1;const a=t=>{r-=1,void 0!==t&&(r=Math.min(r,0)),0===r&&e(t)};n.forEach(t=>((t,e,s)=>{const o=Object.keys(t),n=o.length;void 0===c&&queueMicrotask(h),c??=new Map;let r=c.get(t);return void 0===r&&(r={callbacks:[],keyCount:n},c.set(t,r)),r.keyCount!==n&&(r.callbacks.forEach(t=>t(o)),r.callbacks=[],r.keyCount=n),r.callbacks.push(o=>{const r=t=>(0,i.UF)(e,null,t),a=o[n];void 0===a?r(void 0):t[a]===s?r(a):r(void 0)}),s})(t,e=>a(void 0===e?void 0:{key:e,host:t,isReactive:!1}),s));for(const t of n)if("manager"in t&&t.manager.component===t){l(t,e=>a(void 0===e?void 0:{key:e,host:t,isReactive:!0}),s);break}return s},u=((t="",e={},s=(0,o.r)())=>{const i={emit:i=>{""===t&&h();const o=new CustomEvent(t,{detail:i,cancelable:!0,bubbles:!0,composed:!0,...e});return s.el.dispatchEvent(o),o}};return""===t&&d(void 0,e=>t=e.key,i),i}).bind(null,"");var p;p=o.c;class f{constructor(t){this.#t=[],this.#e=[],this.#s=[],this.#i=[],this.#o=[],this.#n=[],this.#r=[],this.#a=[],this.#c=[],this.#h=!1,this.P=new r.c,this.connectedCalled=!1,this.loadedCalled=!1,this[p]=!0,this.#l=[];const e=this,s=t??(0,o.r)(new.target.name);e.#d=s,e.ready=e.P.promise,e.#u=y(e),e.component=s,e.#d.addController(e),void 0===e.#d.manager||((0,o.b)(e),queueMicrotask(()=>e.catchUpLifecycle()))}#t;#e;#s;#i;#o;#n;#r;#a;#c;#h;#d;catchUpLifecycle(){const{manager:t}=this.#d;!t.connectedCalled||this.connectedCalled||this.triggerConnected(),!t.#h||this.triggerLoad().then(()=>t.loadedCalled&&this.triggerLoaded()).catch((0,a.G3)(this.#d))}#u;get exports(){return this.#u}set exports(t){const e=this.#u;e!==t&&(this.#u=t,this.#l.forEach(i.UF),this.connectedCalled&&!1!==this.O&&this.#d.requestUpdate(this.O,e)),this.P.resolve(t)}setProvisionalExports(t,e=!0){this.#u=e?y(t):t,this.#l.forEach(i.UF)}#l;watchExports(t){const e=()=>t(this.#u);return this.#l.push(e),()=>{this.#l.splice(this.#l.indexOf(e),1)}}get use(){return(0,o.a)(this.#d),o.u}get useRef(){return(0,o.a)(this.#d),o.k}get useRefSync(){return(0,o.a)(this.#d),o.l}controllerRemoved(){this.#d.el.isConnected&&this.triggerDisconnected(),this.triggerDestroy()}onConnected(t){this.#t.push(t)}onDisconnected(t){this.#e.push(t)}onLoad(t){this.#s.push(t)}onLoaded(t){this.#i.push(t)}onUpdate(t){this.#o.push(t)}onUpdated(t){this.#n.push(t)}onDestroy(t){this.#r.push(t)}onLifecycle(t){this.#a.push(t),this.connectedCalled&&this.#d.el.isConnected&&this.#p(t)}triggerConnected(){const t=this;t.hostConnected&&(0,i.UF)(t.hostConnected,t),t.#t.forEach(i.UF),t.triggerLifecycle(),t.connectedCalled=!0}triggerDisconnected(){const t=this;t.hostDisconnected&&(0,i.UF)(t.hostDisconnected,t),t.#e.forEach(i.UF),t.#c.forEach(i.UF),t.#c=[]}async triggerLoad(){if(this.#h)return;this.#h=!0;const t=this;t.hostLoad&&await(0,i.ao)(t.hostLoad,t),this.#s.length>0&&await Promise.allSettled(this.#s.map(i.ao)),this.P.resolve(this.#u)}triggerLoaded(){this.loadedCalled||(this.hostLoaded&&(0,i.UF)(this.hostLoaded,this),this.#i.forEach(i.UF),this.loadedCalled=!0)}triggerUpdate(t){this.hostUpdate&&(0,i.UF)(this.hostUpdate,this,t),this.#o.forEach(m,t)}triggerUpdated(t){this.hostUpdated&&(0,i.UF)(this.hostUpdated,this,t),this.#n.forEach(m,t)}triggerDestroy(){this.hostDestroy&&(0,i.UF)(this.hostDestroy,this),this.#r.forEach(i.UF)}triggerLifecycle(){this.hostLifecycle&&this.#p(()=>this.hostLifecycle()),this.#a.forEach(this.#p,this)}#p(t){(0,o.a)(this.#d);const e=(0,i.UF)(t);(Array.isArray(e)?e:[e]).forEach(t=>{"function"==typeof t?this.#c.push(t):"object"==typeof t&&"function"==typeof t.remove&&this.#c.push(t.remove)})}}function m(t){(0,i.UF)(t,void 0,this)}const g=f,y=t=>{if("object"!=typeof t&&"function"!=typeof t||null===t)return t;const e=new Proxy(t,{get(t,s,i){if("exports"!==s&&"_exports"!==s||!(s in t)||t[s]!==e)return s in t||s in Promise.prototype||"symbol"==typeof s?"function"==typeof t?t[s]:Reflect.get(t,s,i):void 0}});return e}},25744(t,e,s){s.d(e,{a:()=>r,b:()=>h,c:()=>i,d:()=>l,f:()=>y,i:()=>o,j:()=>u,k:()=>f,l:()=>m,r:()=>a,s:()=>g,u:()=>p});const i=Symbol.for("controller"),o=t=>"function"==typeof t?.then;let n;const r=t=>{n!==t&&(n=t,queueMicrotask(()=>n===t?n=void 0:0))},a=t=>n;let c=[];const h=t=>{if(void 0===t)return void(c=[]);const e=c.indexOf(t);c=-1===e?[...c,t]:c.slice(0,e+1),queueMicrotask(()=>c=[])},l=()=>c;let d;const u=t=>{d!==t&&(d=t,queueMicrotask(()=>d===t?d=void 0:0))},p=async(t,e)=>{const s=m(t);if(void 0===s)return t;if(await s.ready,"function"==typeof e){const t=s.watchExports(s=>e(s,t))}return s.exports},f=async t=>{const e=m(t);return await e.ready,e},m=t=>{const e=a().manager.X(t);if(void 0!==e)return e;if((t=>"object"==typeof t&&null!==t&&(i in t||"hostConnected"in t||"hostDisconnected"in t||"hostUpdate"in t||"hostUpdated"in t))(t))return t;const s=(()=>{const t=d;return d=void 0,t})();return void 0!==s?s:void 0};let g=!1;const y=t=>{g=!0;try{return t()}finally{g=!1}}},1055(t,e,s){s.d(e,{C:()=>c,a:()=>l,b:()=>h,s:()=>d});var i=s(11232),o=s(25971),n=s(34857),r=s(48779),a=s(25744);class c extends o.G{constructor(t){super(t),this.destroyed=!1,this.R=!1,this.V=n.s6,this.T=[],this.#f=new WeakMap,this.#d=t,this.exports=void 0,this.hasDestroy=l in t&&"function"==typeof t.destroy,n.WF.prototype.addController.call(t,{hostConnected:()=>{if(this.destroyed){const e=t.el.localName;throw t.el.remove(),new Error(`The ${e} component has already been destroyed. It cannot be used again. If you meant to disconnect and reconnect a component without automatic destroy, set the ${l} prop.`)}void 0!==this.#m&&clearTimeout(this.#m),(0,o.p)();for(const e of t.M)"triggerConnected"in e?e.triggerConnected():(0,i.UF)(e.hostConnected,e)},hostDisconnected:()=>{for(const e of t.M)"triggerDisconnected"in e?e.triggerDisconnected():(0,i.UF)(e.hostDisconnected,e);this.hasDestroy&&!this.destroyed&&this.U()},hostUpdate:()=>{for(const e of t.M)"triggerUpdate"in e?e.triggerUpdate(this.Q):(0,i.UF)(e.hostUpdate,e,this.Q)},hostUpdated:()=>{for(const e of t.M)"triggerUpdated"in e?e.triggerUpdated(this.Q):(0,i.UF)(e.hostUpdated,e,this.Q);this.Q=void 0}}),queueMicrotask(()=>this.R=!0),(0,a.a)(t)}#m;#d;async destroy(){if(!this.destroyed){this.#d.el.isConnected&&(this.hasDestroy=!1,this.#d.el.remove()),this.#m=void 0,this.destroyed=!0;for(const t of this.#d.M)"triggerDestroy"in t?t.triggerDestroy():(0,i.UF)(t.hostDestroy,t);this.#d.M.splice(0)}}U(){if(void 0!==this.#m&&clearTimeout(this.#m),!this.#d.el.isConnected&&!this.#d.autoDestroyDisabled){const t=()=>{this.#d.destroy()};this.#m=(0,r.o)(t,h)}}S(t,e){const s=this.T;this.V=n.s6,this.T=[],s.forEach(s=>s(t,e))}#f;W(t,e){("object"==typeof e&&null!==e||"function"==typeof e)&&this.#f.set(e,t)}X(t){return"object"==typeof t&&null!==t||"function"==typeof t?this.#f.get(t):void 0}}let h=1e3;const l="autoDestroyDisabled";function d(t){h=t}},67145(t,e,s){s.d(e,{WF:()=>U,le:()=>S,s6:()=>O,CP:()=>T,zl:()=>L,Bq:()=>P,pf:()=>x});var i=s(25971),o=s(65616);o.W3,o.Ec;var n=s(48779);const r=t=>{let e=t;for(;e=e.parentNode??e.host;)if(e?.constructor?.lumina){const s=e;return s.manager?.loadedCalled||(s.J??s._offspring).push(t),(s.I??s._postLoad).promise}return!1},a={};function c(){}const h=Object.defineProperty,l=globalThis.HTMLElement??c;class d extends l{constructor(){super(),this.#g={},this.#y=[],this.I=new n.c,this.H=new n.c,this.J=[];const t=this,e=t.constructor;t._offspring=t.J,t._postLoad=t.I,e.C?.forEach(e=>{Object.hasOwn(t,e)&&(t.#g[e]=t[e],delete t[e])}),e.A?t.#$({a:e.A}):e.B.then(async s=>{await e.K.p,t.#$(await(s.default?.then(t=>"function"==typeof t?{a:t}:t)??s))}).catch(e=>{t.H.reject(e),setTimeout(()=>{throw e})})}static{this.lumina=!0}static F(){for(const t of this.C??[])h(this.prototype,t,{configurable:!0,enumerable:!0,get(){return this.#g[t]},set(e){this.#g[t]=e}});for(const t of this.E??[])h(this.prototype,t,{async value(...e){this.#A||await this.H.promise;const s=this.#A;return await s[t](...e)},configurable:!0});for(const t of this.D??[])h(this.prototype,t,{value(...e){return this.#A[t](...e)},configurable:!0})}#A;#g;#y;get manager(){return this.#A?.manager}attributeChangedCallback(t,e,s){this.#A?.attributeChangedCallback(t,e,s),this.#A||this.#y.push(t)}connectedCallback(){this.#A?this.#A.connectedCallback?.():queueMicrotask(()=>this.G=r(this))}disconnectedCallback(){this.#A?.disconnectedCallback?.()}async componentOnReady(){return await this.H.promise,this}#$(t){const e=this.constructor,s=e.L,i=this.#g,o=Object.values(t).find(t=>t.L===s),n=`${s}--lazy`;let r=o;for(;r&&!Object.hasOwn(r,"lumina");)r=Object.getPrototypeOf(r);p(r),!e.A&&(e.A=o,customElements.define(n,o)),o.N=this;const a=document.createElement(n);o.N=void 0,this.#A=a,this.#g=a,this.#y.forEach(t=>a.attributeChangedCallback(t,null,this.getAttribute(t))),Object.entries(i).forEach(u,a);const c=this.isConnected;(c||this.G)&&(a.connectedCallback?.(),c||a.disconnectedCallback())}addController(){}requestUpdate(){this.#A?.requestUpdate()}}function u([t,e]){this[t]=e}const p=t=>{const e=t.prototype,s=Element.prototype;Object.hasOwn(e,"isConnected")||(e.setAttribute=function(t,e){s.setAttribute.call(this.el,t,e)},e.removeAttribute=function(t){s.removeAttribute.call(this.el,t)},h(e,"isConnected",{get(){return Reflect.get(s,"isConnected",this.el)}}))};var f=s(11232);const m=/[A-Z]+(?![a-z])|[A-Z]/gu;crypto;var g=s(34857),y=s(25744),$=s(1055),A=s(95862),_=s(57106);const v=(0,_.u$)(class extends _.WL{constructor(t){if(super(t),t.type!==_.OA.ATTRIBUTE||"class"!==t.name||t.strings?.length>2)throw Error("`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.")}render(t){return" "+Object.keys(t).filter(e=>t[e]).join(" ")+" "}update(t,[e]){if(void 0===this.st){this.st=new Set,void 0!==t.strings&&(this.nt=new Set(t.strings.join(" ").split(/\s/).filter(t=>""!==t)));for(const t in e)e[t]&&!this.nt?.has(t)&&this.st.add(t);return this.render(e)}const s=t.element.classList;for(const t of this.st)t in e||(s.remove(t),this.st.delete(t));for(const t in e){const i=!!e[t];i===this.st.has(t)||this.nt?.has(t)||(i?(s.add(t),this.st.add(t)):(s.remove(t),this.st.delete(t)))}return A.c0}}),b="important",E=" !"+b,C=(0,_.u$)(class extends _.WL{constructor(t){if(super(t),t.type!==_.OA.ATTRIBUTE||"style"!==t.name||t.strings?.length>2)throw Error("The `styleMap` directive must be used in the `style` attribute and must be the only part in the attribute.")}render(t){return Object.keys(t).reduce((e,s)=>{const i=t[s];return null==i?e:e+`${s=s.includes("-")?s:s.replace(/(?:^(webkit|moz|ms|o)|)(?=[A-Z])/g,"-$&").toLowerCase()}:${i};`},"")}update(t,[e]){const{style:s}=t.element;if(void 0===this.ft)return this.ft=new Set(Object.keys(e)),this.render(e);for(const t of this.ft)null==e[t]&&(this.ft.delete(t),t.includes("-")?s.removeProperty(t):s[t]=null);for(const t in e){const i=e[t];if(null!=i){this.ft.add(t);const e="string"==typeof i&&i.endsWith(E);t.includes("-")||e?s.setProperty(t,e?i.slice(0,-11):i,e?b:""):s[t]=i}}return A.c0}});s(14490);var w=s(11758);class U extends g.WF{constructor(){super(),this.M=[],this.manager=new $.C(this);const t=this,e=t.constructor,s=e.N,i=e.K.o,o=U.prototype.shouldUpdate;t.#_=s?.H??new n.c,t.I=s?.I??new n.c,t.J=s?.J??[],t._offspring=t.J,t._postLoad=t.I,t.el=s??t,t.#v=t.enableUpdating,t.enableUpdating=c,t.shouldUpdate!==o&&(t.#b=t.shouldUpdate,t.shouldUpdate=o),i&&(t.#E=new Map,e.elementProperties.forEach((e,s)=>t.#E.set(s,i()))),g.S$&&t.el.setAttribute(e.K.hydratedAttribute,"")}static finalizeStyles(t){const e=super.finalizeStyles(t),s=this.shadowRootOptions===a;return void 0===this.K?.commonStyles||s?e:[this.K.commonStyles,...e]}static createProperty(t,e){const s="number"==typeof e?e:Array.isArray(e)?e[0]:0,i=Array.isArray(e)?e[1]:void 0,o=i?.hasChanged??g.Ec,n={attribute:!!(1&s&&"string"==typeof t)&&(r=t,r.replace(m,(t,e)=>`${0===e?"":"-"}${t.toLowerCase()}`)),reflect:!!(2&s),type:4&s?Boolean:8&s?Number:void 0,state:!!(16&s),readOnly:!!(32&s),noAccessor:!!(64&s),c:!1,...i,hasChanged(t,e){const s=o(t,e);return n.c=s,s}};var r;super.createProperty(t,n)}static getPropertyDescriptor(t,e,s){const o=this.K,n=super.getPropertyDescriptor(t,e,s);return s.d=n,{...n,get(){return o.t?.(this.#E.get(t)),n.get?.call(this)},set(e){const o=this.manager;if(s.readOnly&&!y.s&&(o.R||o.connectedCalled))throw Error(`Cannot assign to read-only property "${t}" of ${this.el.localName}. Trying to assign "${e}"`);n.set.call(this,e??void 0),s.c&&this.#E?.get(t)?.notify(),o.T.length>0&&((0,i.p)(),o?.S(t,e))}}}static{this.lumina=!0}#E;#b;#v;#_;#C;connectedCallback(){if(this.el.hasAttribute("defer-hydration"))return;const t=this.constructor.K.c?.(()=>this.requestUpdate());this.#C=t;const e=!this.manager.connectedCalled;super.connectedCallback(),e?queueMicrotask(()=>this.#w().catch(t=>{this.#_.reject(t),setTimeout(()=>{throw t})})):t&&this.requestUpdate()}#U(t){try{this.#C.clear(),this.constructor.K.r(this.#C,()=>super.update(t))}catch(t){throw this.#C.clear(),t}}disconnectedCallback(){super.disconnectedCallback(),this.#C?.destroy(),this.#C=void 0}createRenderRoot(){const t=this.el.shadowRoot,e=this.constructor,s=e.shadowRootOptions,i=t??(s===a?this.el:this.el.attachShadow(s));if(this.isConnected){const t=i.getRootNode();t.adoptedStyleSheets=[...t.adoptedStyleSheets,...e.elementStyles.map(t=>"styleSheet"in t?t.styleSheet:t)]}return i}async#w(){const t=this.el.G??r(this.el);t&&await t;const e=[];for(const t of this.M)"triggerLoad"in t?e.push(t.triggerLoad()):e.push((0,f.ao)(t.hostLoad,t));await Promise.all(e),await(this.load?.()),this.manager.hasDestroy&&this.manager.onUpdate(t=>t.has($.a)&&this.manager.U()),this.#v(!0),this.performUpdate(),this.I.resolve(),await Promise.resolve();const s=this.J.filter(t=>!t.manager?.loadedCalled);s.length&&await Promise.allSettled(s.map(async t=>await t.componentOnReady())),this.J.length=0,this.el.setAttribute(this.constructor.K.hydratedAttribute,"");for(const t of this.M)"triggerLoaded"in t?t.triggerLoaded():(0,f.UF)(t.hostLoaded,t);this.loaded?.(),this.#_.resolve()}shouldUpdate(t){return this.manager.Q=t,this.#b?.(t)??!0}update(t){this.#C?this.#U(t):super.update(t)}listen(t,e,s){const i=e?.bind(this)??e;this.manager.onLifecycle(()=>(this.el.addEventListener(t,i,s),()=>this.el.removeEventListener(t,i,s)))}listenOn(t,e,s,i){const o=s?.bind(this)??s;this.manager.onLifecycle(()=>(t.addEventListener(e,o,i),()=>t.removeEventListener(e,o,i)))}async componentOnReady(){return await this.#_.promise,this}addController(t){this.M.push(t),!(y.c in t)&&this.renderRoot&&this.el.isConnected&&t.hostConnected?.()}removeController(t){this.M.splice(this.M.indexOf(t),1),t.controllerRemoved?.()}}const S=t=>{let e;const s=t=>{e=new URL(t,globalThis.location?.href||void 0).href},i={...t,getAssetPath(t){const s=new URL(t,e);return s.origin!==globalThis.location?.origin?s.href:s.pathname},setAssetPath:s,customElement(t,e){e.K=i,e.L=t,customElements.get(t)||customElements.define(t,e)}};return s(t.defaultAssetPath),i},T=t=>"object"==typeof t&&null!=t?v(t):t,L=t=>"object"==typeof t&&null!=t?C(t):t;class k extends _.WL{#S;#T;constructor(t){super(t);const e=this;this.#T=function(t){return e.#S.call(this,t)}}render(t){return"function"==typeof t?(this.#S=t,(0,w.K)(this.#T)):(0,w.K)(t)}}(0,_.u$)(k);const O=g.s6;function P(t,e,s){null==s?t.removeAttribute(e):t.setAttribute(e,s)}const x={toAttribute:t=>!0===t?"":!1===t?null:t}},11232(t,e,s){s.d(e,{UF:()=>i,ao:()=>o});const i=(t,e,...s)=>{try{return t?.call(e,...s)}catch(e){console.error(e,t)}},o=async(t,e,...s)=>{try{const i=t?.call(e,...s);return await i}catch(e){console.error(e,t)}}},53436(t,e,s){s.d(e,{G3:()=>r,Rm:()=>n});const i=new Set;const o=t=>"string"==typeof t?t:"el"in t?t.el.localName:"localName"in t?t.localName:t.declaredClass,n=(t,e,s,n)=>{const r=o(e);if(n?.once){const e=`${t}${r}${s}`;if(i.has(e))return;i.add(e)}let a;if(n?.detail){a={};for(const[t,e]of Object.entries(n.detail))if("object"!=typeof e&&"function"!=typeof e||null===e)a[t]=e;else{const s=new WeakRef(e);Object.defineProperty(a,t,{get:()=>s.deref()})}console[t](`[${r}]: ${s}`,a)}else console[t](`[${r}]: ${s}`)},r=t=>{const e=`[${o(t)}] `;return t=>{const s=t instanceof Error&&t.message?t:new Error(String(t));s.message=`${e}${s.message}`,setTimeout(()=>{throw t})}}},48779(t,e,s){s.d(e,{c:()=>i,o:()=>o});class i{constructor(){this.promise=new Promise((t,e)=>{this.resolve=t,this.reject=e})}}const o=(t,e)=>{const s=e>n?r:e/a;let i=0;const o=setInterval(()=>{i+=s,i>=e&&(clearInterval(o),t())},s);return o},n=4e3,r=2e3,a=4},96621(t,e,s){s.d(e,{eg:()=>i});function i(t){const e=((t,e)=>{let s=t;for(;s;){const t=s.closest?.(e);if(t)return t;const i=s.getRootNode?.();if(i===globalThis.document)return;s=i.host}})(t,".calcite-mode-dark, .calcite-mode-light, .calcite-mode-auto");return e?.classList.contains("calcite-mode-dark")||e?.classList.contains("calcite-mode-auto")&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}},50917(t,e,s){s.d(e,{C:()=>a,D:()=>c,a:()=>p,b:()=>h,c:()=>g,g:()=>y,s:()=>$}),Object(function(){var t=new Error("Cannot find module '../cdn/main.css'");throw t.code="MODULE_NOT_FOUND",t}());var i=s(67145),o=s(34857);const n="calcite-mode-auto",r="calcite-mode-dark",a={autoMode:n,darkMode:r,lightMode:"calcite-mode-light",rtl:"calcite--rtl",calciteAnimate:"calcite-animate",calciteAnimateInUp:"calcite-animate__in-up",calciteAnimateInDown:"calcite-animate__in-down",calciteAnimateInRight:"calcite-animate__in-right",calciteAnimateInLeft:"calcite-animate__in-left"},c={filter:250,nextTick:0,resize:150,reposition:100},h=25;function l(){const{classList:t}=document.body,e=window.matchMedia("(prefers-color-scheme: dark)").matches,s=()=>t.contains(r)||t.contains(n)&&e?"dark":"light",i=t=>document.body.dispatchEvent(new CustomEvent("calciteModeChange",{bubbles:!0,detail:{mode:t}})),o=t=>{a!==t&&i(t),a=t};let a=s();i(a),window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",t=>o(t.matches?"dark":"light")),new MutationObserver(()=>o(s())).observe(document.body,{attributes:!0,attributeFilter:["class"]})}let d;const u={focusTrapStack:[],logLevel:"info"};function p(){return d||(d={...u,...globalThis.calciteConfig??{}}),d}const f="5.0.2";o.S$||("interactive"===document.readyState?l():document.addEventListener("DOMContentLoaded",l,{once:!0})),queueMicrotask(function(){const t=p();t&&t.version||(console.info(`Using Calcite Components ${f} [Date: 2026-02-18, Revision: 960214b84]`),Object.defineProperty(t,"version",{value:f,writable:!1}),globalThis.calciteConfig=t)});const m=(0,i.le)({defaultAssetPath:"https://js.arcgis.com/calcite-components/5.0.2/",hydratedAttribute:"calcite-hydrated"}),{customElement:g,getAssetPath:y,setAssetPath:$}=m},91866(t,e,s){s.d(e,{Qu:()=>n,qu:()=>o});var i=s(50917);let o=!1;const n=t=>{o=!0,(0,i.s)(t)}},65616(t,e,s){s.d(e,{mN:()=>w,AH:()=>c,W3:()=>b,Ec:()=>E});const i=globalThis,o=i.ShadowRoot&&(void 0===i.ShadyCSS||i.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,n=Symbol(),r=new WeakMap;class a{constructor(t,e,s){if(this._$cssResult$=!0,s!==n)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const e=this.t;if(o&&void 0===t){const s=void 0!==e&&1===e.length;s&&(t=r.get(e)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),s&&r.set(e,t))}return t}toString(){return this.cssText}}const c=(t,...e)=>{const s=1===t.length?t[0]:e.reduce((e,s,i)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if("number"==typeof t)return t;throw Error("Value passed to 'css' function must be a 'css' function result: "+t+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(s)+t[i+1],t[0]);return new a(s,t,n)},h=(t,e)=>{if(o)t.adoptedStyleSheets=e.map(t=>t instanceof CSSStyleSheet?t:t.styleSheet);else for(const s of e){const e=document.createElement("style"),o=i.litNonce;void 0!==o&&e.setAttribute("nonce",o),e.textContent=s.cssText,t.appendChild(e)}},l=o?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e="";for(const s of t.cssRules)e+=s.cssText;return(t=>new a("string"==typeof t?t:t+"",void 0,n))(e)})(t):t,{is:d,defineProperty:u,getOwnPropertyDescriptor:p,getOwnPropertyNames:f,getOwnPropertySymbols:m,getPrototypeOf:g}=Object,y=globalThis,$=y.trustedTypes,A=$?$.emptyScript:"",_=y.reactiveElementPolyfillSupport,v=(t,e)=>t,b={toAttribute(t,e){switch(e){case Boolean:t=t?A:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,e){let s=t;switch(e){case Boolean:s=null!==t;break;case Number:s=null===t?null:Number(t);break;case Object:case Array:try{s=JSON.parse(t)}catch(t){s=null}}return s}},E=(t,e)=>!d(t,e),C={attribute:!0,type:String,converter:b,reflect:!1,useDefault:!1,hasChanged:E};Symbol.metadata??=Symbol("metadata"),y.litPropertyMetadata??=new WeakMap;class w extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,e=C){if(e.state&&(e.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(t)&&((e=Object.create(e)).wrapped=!0),this.elementProperties.set(t,e),!e.noAccessor){const s=Symbol(),i=this.getPropertyDescriptor(t,s,e);void 0!==i&&u(this.prototype,t,i)}}static getPropertyDescriptor(t,e,s){const{get:i,set:o}=p(this.prototype,t)??{get(){return this[e]},set(t){this[e]=t}};return{get:i,set(e){const n=i?.call(this);o?.call(this,e),this.requestUpdate(t,n,s)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??C}static _$Ei(){if(this.hasOwnProperty(v("elementProperties")))return;const t=g(this);t.finalize(),void 0!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(v("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(v("properties"))){const t=this.properties,e=[...f(t),...m(t)];for(const s of e)this.createProperty(s,t[s])}const t=this[Symbol.metadata];if(null!==t){const e=litPropertyMetadata.get(t);if(void 0!==e)for(const[t,s]of e)this.elementProperties.set(t,s)}this._$Eh=new Map;for(const[t,e]of this.elementProperties){const s=this._$Eu(t,e);void 0!==s&&this._$Eh.set(s,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(t){const e=[];if(Array.isArray(t)){const s=new Set(t.flat(1/0).reverse());for(const t of s)e.unshift(l(t))}else void 0!==t&&e.push(l(t));return e}static _$Eu(t,e){const s=e.attribute;return!1===s?void 0:"string"==typeof s?s:"string"==typeof t?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise(t=>this.enableUpdating=t),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(t=>t(this))}addController(t){(this._$EO??=new Set).add(t),void 0!==this.renderRoot&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){const t=new Map,e=this.constructor.elementProperties;for(const s of e.keys())this.hasOwnProperty(s)&&(t.set(s,this[s]),delete this[s]);t.size>0&&(this._$Ep=t)}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return h(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach(t=>t.hostConnected?.())}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach(t=>t.hostDisconnected?.())}attributeChangedCallback(t,e,s){this._$AK(t,s)}_$ET(t,e){const s=this.constructor.elementProperties.get(t),i=this.constructor._$Eu(t,s);if(void 0!==i&&!0===s.reflect){const o=(void 0!==s.converter?.toAttribute?s.converter:b).toAttribute(e,s.type);this._$Em=t,null==o?this.removeAttribute(i):this.setAttribute(i,o),this._$Em=null}}_$AK(t,e){const s=this.constructor,i=s._$Eh.get(t);if(void 0!==i&&this._$Em!==i){const t=s.getPropertyOptions(i),o="function"==typeof t.converter?{fromAttribute:t.converter}:void 0!==t.converter?.fromAttribute?t.converter:b;this._$Em=i;const n=o.fromAttribute(e,t.type);this[i]=n??this._$Ej?.get(i)??n,this._$Em=null}}requestUpdate(t,e,s){if(void 0!==t){const i=this.constructor,o=this[t];if(s??=i.getPropertyOptions(t),!((s.hasChanged??E)(o,e)||s.useDefault&&s.reflect&&o===this._$Ej?.get(t)&&!this.hasAttribute(i._$Eu(t,s))))return;this.C(t,e,s)}!1===this.isUpdatePending&&(this._$ES=this._$EP())}C(t,e,{useDefault:s,reflect:i,wrapped:o},n){s&&!(this._$Ej??=new Map).has(t)&&(this._$Ej.set(t,n??e??this[t]),!0!==o||void 0!==n)||(this._$AL.has(t)||(this.hasUpdated||s||(e=void 0),this._$AL.set(t,e)),!0===i&&this._$Em!==t&&(this._$Eq??=new Set).add(t))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[t,e]of this._$Ep)this[t]=e;this._$Ep=void 0}const t=this.constructor.elementProperties;if(t.size>0)for(const[e,s]of t){const{wrapped:t}=s,i=this[e];!0!==t||this._$AL.has(e)||void 0===i||this.C(e,void 0,s,i)}}let t=!1;const e=this._$AL;try{t=this.shouldUpdate(e),t?(this.willUpdate(e),this._$EO?.forEach(t=>t.hostUpdate?.()),this.update(e)):this._$EM()}catch(e){throw t=!1,this._$EM(),e}t&&this._$AE(e)}willUpdate(t){}_$AE(t){this._$EO?.forEach(t=>t.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Eq&&=this._$Eq.forEach(t=>this._$ET(t,this[t])),this._$EM()}updated(t){}firstUpdated(t){}}w.elementStyles=[],w.shadowRootOptions={mode:"open"},w[v("elementProperties")]=new Map,w[v("finalized")]=new Map,_?.({ReactiveElement:w}),(y.reactiveElementVersions??=[]).push("2.1.1")},27654(t,e,s){s.d(e,{Rt:()=>n,mY:()=>a});var i=s(95862);const{I:o}=i.ge,n=t=>void 0===t.strings,r={},a=(t,e=r)=>t._$AH=e},57106(t,e,s){s.d(e,{OA:()=>i,WL:()=>n,u$:()=>o});const i={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},o=t=>(...e)=>({_$litDirective$:t,values:e});class n{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,s){this._$Ct=t,this._$AM=e,this._$Ci=s}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}}},95862(t,e,s){s.d(e,{JW:()=>w,XX:()=>q,c0:()=>S,ej:()=>U,ge:()=>F,qy:()=>C,s6:()=>T});const i=globalThis,o=i.trustedTypes,n=o?o.createPolicy("lit-html",{createHTML:t=>t}):void 0,r="$lit$",a=`lit$${Math.random().toFixed(9).slice(2)}$`,c="?"+a,h=`<${c}>`,l=document,d=()=>l.createComment(""),u=t=>null===t||"object"!=typeof t&&"function"!=typeof t,p=Array.isArray,f=t=>p(t)||"function"==typeof t?.[Symbol.iterator],m="[ \t\n\f\r]",g=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,y=/-->/g,$=/>/g,A=RegExp(`>|${m}(?:([^\\s"'>=/]+)(${m}*=${m}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),_=/'/g,v=/"/g,b=/^(?:script|style|textarea|title)$/i,E=t=>(e,...s)=>({_$litType$:t,strings:e,values:s}),C=E(1),w=E(2),U=E(3),S=Symbol.for("lit-noChange"),T=Symbol.for("lit-nothing"),L=new WeakMap,k=l.createTreeWalker(l,129);function O(t,e){if(!p(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return void 0!==n?n.createHTML(e):e}const P=(t,e)=>{const s=t.length-1,i=[];let o,n=2===e?"<svg>":3===e?"<math>":"",c=g;for(let e=0;e<s;e++){const s=t[e];let l,d,u=-1,p=0;for(;p<s.length&&(c.lastIndex=p,d=c.exec(s),null!==d);)p=c.lastIndex,c===g?"!--"===d[1]?c=y:void 0!==d[1]?c=$:void 0!==d[2]?(b.test(d[2])&&(o=RegExp("</"+d[2],"g")),c=A):void 0!==d[3]&&(c=A):c===A?">"===d[0]?(c=o??g,u=-1):void 0===d[1]?u=-2:(u=c.lastIndex-d[2].length,l=d[1],c=void 0===d[3]?A:'"'===d[3]?v:_):c===v||c===_?c=A:c===y||c===$?c=g:(c=A,o=void 0);const f=c===A&&t[e+1].startsWith("/>")?" ":"";n+=c===g?s+h:u>=0?(i.push(l),s.slice(0,u)+r+s.slice(u)+a+f):s+a+(-2===u?e:f)}return[O(t,n+(t[s]||"<?>")+(2===e?"</svg>":3===e?"</math>":"")),i]};class x{constructor({strings:t,_$litType$:e},s){let i;this.parts=[];let n=0,h=0;const l=t.length-1,u=this.parts,[p,f]=P(t,e);if(this.el=x.createElement(p,s),k.currentNode=this.el.content,2===e||3===e){const t=this.el.content.firstChild;t.replaceWith(...t.childNodes)}for(;null!==(i=k.nextNode())&&u.length<l;){if(1===i.nodeType){if(i.hasAttributes())for(const t of i.getAttributeNames())if(t.endsWith(r)){const e=f[h++],s=i.getAttribute(t).split(a),o=/([.?@])?(.*)/.exec(e);u.push({type:1,index:n,name:o[2],strings:s,ctor:"."===o[1]?H:"?"===o[1]?j:"@"===o[1]?I:N}),i.removeAttribute(t)}else t.startsWith(a)&&(u.push({type:6,index:n}),i.removeAttribute(t));if(b.test(i.tagName)){const t=i.textContent.split(a),e=t.length-1;if(e>0){i.textContent=o?o.emptyScript:"";for(let s=0;s<e;s++)i.append(t[s],d()),k.nextNode(),u.push({type:2,index:++n});i.append(t[e],d())}}}else if(8===i.nodeType)if(i.data===c)u.push({type:2,index:n});else{let t=-1;for(;-1!==(t=i.data.indexOf(a,t+1));)u.push({type:7,index:n}),t+=a.length-1}n++}}static createElement(t,e){const s=l.createElement("template");return s.innerHTML=t,s}}function M(t,e,s=t,i){if(e===S)return e;let o=void 0!==i?s._$Co?.[i]:s._$Cl;const n=u(e)?void 0:e._$litDirective$;return o?.constructor!==n&&(o?._$AO?.(!1),void 0===n?o=void 0:(o=new n(t),o._$AT(t,s,i)),void 0!==i?(s._$Co??=[])[i]=o:s._$Cl=o),void 0!==o&&(e=M(t,o._$AS(t,e.values),o,i)),e}class R{constructor(t,e){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=e}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){const{el:{content:e},parts:s}=this._$AD,i=(t?.creationScope??l).importNode(e,!0);k.currentNode=i;let o=k.nextNode(),n=0,r=0,a=s[0];for(;void 0!==a;){if(n===a.index){let e;2===a.type?e=new D(o,o.nextSibling,this,t):1===a.type?e=new a.ctor(o,a.name,a.strings,this,t):6===a.type&&(e=new W(o,this,t)),this._$AV.push(e),a=s[++r]}n!==a?.index&&(o=k.nextNode(),n++)}return k.currentNode=l,i}p(t){let e=0;for(const s of this._$AV)void 0!==s&&(void 0!==s.strings?(s._$AI(t,s,e),e+=s.strings.length-2):s._$AI(t[e])),e++}}class D{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,e,s,i){this.type=2,this._$AH=T,this._$AN=void 0,this._$AA=t,this._$AB=e,this._$AM=s,this.options=i,this._$Cv=i?.isConnected??!0}get parentNode(){let t=this._$AA.parentNode;const e=this._$AM;return void 0!==e&&11===t?.nodeType&&(t=e.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,e=this){t=M(this,t,e),u(t)?t===T||null==t||""===t?(this._$AH!==T&&this._$AR(),this._$AH=T):t!==this._$AH&&t!==S&&this._(t):void 0!==t._$litType$?this.$(t):void 0!==t.nodeType?this.T(t):f(t)?this.k(t):this._(t)}O(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.O(t))}_(t){this._$AH!==T&&u(this._$AH)?this._$AA.nextSibling.data=t:this.T(l.createTextNode(t)),this._$AH=t}$(t){const{values:e,_$litType$:s}=t,i="number"==typeof s?this._$AC(t):(void 0===s.el&&(s.el=x.createElement(O(s.h,s.h[0]),this.options)),s);if(this._$AH?._$AD===i)this._$AH.p(e);else{const t=new R(i,this),s=t.u(this.options);t.p(e),this.T(s),this._$AH=t}}_$AC(t){let e=L.get(t.strings);return void 0===e&&L.set(t.strings,e=new x(t)),e}k(t){p(this._$AH)||(this._$AH=[],this._$AR());const e=this._$AH;let s,i=0;for(const o of t)i===e.length?e.push(s=new D(this.O(d()),this.O(d()),this,this.options)):s=e[i],s._$AI(o),i++;i<e.length&&(this._$AR(s&&s._$AB.nextSibling,i),e.length=i)}_$AR(t=this._$AA.nextSibling,e){for(this._$AP?.(!1,!0,e);t!==this._$AB;){const e=t.nextSibling;t.remove(),t=e}}setConnected(t){void 0===this._$AM&&(this._$Cv=t,this._$AP?.(t))}}class N{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,e,s,i,o){this.type=1,this._$AH=T,this._$AN=void 0,this.element=t,this.name=e,this._$AM=i,this.options=o,s.length>2||""!==s[0]||""!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=T}_$AI(t,e=this,s,i){const o=this.strings;let n=!1;if(void 0===o)t=M(this,t,e,0),n=!u(t)||t!==this._$AH&&t!==S,n&&(this._$AH=t);else{const i=t;let r,a;for(t=o[0],r=0;r<o.length-1;r++)a=M(this,i[s+r],e,r),a===S&&(a=this._$AH[r]),n||=!u(a)||a!==this._$AH[r],a===T?t=T:t!==T&&(t+=(a??"")+o[r+1]),this._$AH[r]=a}n&&!i&&this.j(t)}j(t){t===T?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??"")}}class H extends N{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===T?void 0:t}}class j extends N{constructor(){super(...arguments),this.type=4}j(t){this.element.toggleAttribute(this.name,!!t&&t!==T)}}class I extends N{constructor(t,e,s,i,o){super(t,e,s,i,o),this.type=5}_$AI(t,e=this){if((t=M(this,t,e,0)??T)===S)return;const s=this._$AH,i=t===T&&s!==T||t.capture!==s.capture||t.once!==s.once||t.passive!==s.passive,o=t!==T&&(s===T||i);i&&this.element.removeEventListener(this.name,this,s),o&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){"function"==typeof this._$AH?this._$AH.call(this.options?.host??this.element,t):this._$AH.handleEvent(t)}}class W{constructor(t,e,s){this.element=t,this.type=6,this._$AN=void 0,this._$AM=e,this.options=s}get _$AU(){return this._$AM._$AU}_$AI(t){M(this,t)}}const F={M:r,P:a,A:c,C:1,L:P,R,D:f,V:M,I:D,H:N,N:j,U:I,B:H,F:W},B=i.litHtmlPolyfillSupport;B?.(x,D),(i.litHtmlVersions??=[]).push("3.3.1");const q=(t,e,s)=>{const i=s?.renderBefore??e;let o=i._$litPart$;if(void 0===o){const t=s?.renderBefore??null;i._$litPart$=o=new D(e.insertBefore(d(),t),t,void 0,s??{})}return o._$AI(t),o}},14490(t,e,s){s.d(e,{V:()=>r});var i=s(95862),o=s(57106),n=s(27654);const r=(0,o.u$)(class extends o.WL{constructor(t){if(super(t),t.type!==o.OA.PROPERTY&&t.type!==o.OA.ATTRIBUTE&&t.type!==o.OA.BOOLEAN_ATTRIBUTE)throw Error("The `live` directive is not allowed on child or event bindings");if(!(0,n.Rt)(t))throw Error("`live` bindings can only contain a single expression")}render(t){return t}update(t,[e]){if(e===i.c0||e===i.s6)return e;const s=t.element,r=t.name;if(t.type===o.OA.PROPERTY){if(e===s[r])return i.c0}else if(t.type===o.OA.BOOLEAN_ATTRIBUTE){if(!!e===s.hasAttribute(r))return i.c0}else if(t.type===o.OA.ATTRIBUTE&&s.getAttribute(r)===e+"")return i.c0;return(0,n.mY)(t),e}})},11758(t,e,s){s.d(e,{_:()=>p,K:()=>g});var i=s(95862),o=s(27654),n=s(57106);const r=(t,e)=>{const s=t._$AN;if(void 0===s)return!1;for(const t of s)t._$AO?.(e,!1),r(t,e);return!0},a=t=>{let e,s;do{if(void 0===(e=t._$AM))break;s=e._$AN,s.delete(t),t=e}while(0===s?.size)},c=t=>{for(let e;e=t._$AM;t=e){let s=e._$AN;if(void 0===s)e._$AN=s=new Set;else if(s.has(t))break;s.add(t),d(e)}};function h(t){void 0!==this._$AN?(a(this),this._$AM=t,c(this)):this._$AM=t}function l(t,e=!1,s=0){const i=this._$AH,o=this._$AN;if(void 0!==o&&0!==o.size)if(e)if(Array.isArray(i))for(let t=s;t<i.length;t++)r(i[t],!1),a(i[t]);else null!=i&&(r(i,!1),a(i));else r(this,t)}const d=t=>{t.type==n.OA.CHILD&&(t._$AP??=l,t._$AQ??=h)};class u extends n.WL{constructor(){super(...arguments),this._$AN=void 0}_$AT(t,e,s){super._$AT(t,e,s),c(this),this.isConnected=t._$AU}_$AO(t,e=!0){t!==this.isConnected&&(this.isConnected=t,t?this.reconnected?.():this.disconnected?.()),e&&(r(this,t),a(this))}setValue(t){if((0,o.Rt)(this._$Ct))this._$Ct._$AI(t,this);else{const e=[...this._$Ct._$AH];e[this._$Ci]=t,this._$Ct._$AI(e,this,0)}}disconnected(){}reconnected(){}}const p=()=>new f;class f{}const m=new WeakMap,g=(0,n.u$)(class extends u{render(t){return i.s6}update(t,[e]){const s=e!==this.G;return s&&void 0!==this.G&&this.rt(void 0),(s||this.lt!==this.ct)&&(this.G=e,this.ht=t.options?.host,this.rt(this.ct=t.element)),i.s6}rt(t){if(this.isConnected||(t=void 0),"function"==typeof this.G){const e=this.ht??globalThis;let s=m.get(e);void 0===s&&(s=new WeakMap,m.set(e,s)),void 0!==s.get(this.G)&&this.G.call(this.ht,void 0),s.set(this.G,t),void 0!==t&&this.G.call(this.ht,t)}else this.G.value=t}get lt(){return"function"==typeof this.G?m.get(this.ht??globalThis)?.get(this.G):this.G?.value}disconnected(){this.lt===this.ct&&this.rt(void 0)}reconnected(){this.rt(this.ct)}})},34857(t,e,s){s.d(e,{WF:()=>r,AH:()=>i.AH,qy:()=>o.qy,S$:()=>c,Ec:()=>i.Ec,s6:()=>o.s6,JW:()=>o.JW});var i=s(65616),o=s(95862);const n=globalThis;class r extends i.mN{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){const t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){const e=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=(0,o.XX)(e,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return o.c0}}r._$litElement$=!0,r.finalized=!0,n.litElementHydrateSupport?.({LitElement:r});const a=n.litElementPolyfillSupport;a?.({LitElement:r}),(n.litElementVersions??=[]).push("4.2.1");const c=!1}}]);