@arcgis/core 4.33.0-next.20250430 → 4.33.0-next.20250501

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 (94) hide show
  1. package/assets/esri/core/workers/RemoteClient.js +1 -1
  2. package/assets/esri/core/workers/chunks/02b38423276536596aba.js +1 -0
  3. package/assets/esri/core/workers/chunks/3cee3ff926f47aae476f.js +1 -0
  4. package/assets/esri/core/workers/chunks/{cb25b45a6b385e60c68d.js → 653ff3e631fea8ad393a.js} +122 -121
  5. package/assets/esri/core/workers/chunks/6d89d42bcba213be2d9d.js +1 -0
  6. package/assets/esri/core/workers/chunks/6ecc3a3737ae8622dfa4.js +1 -0
  7. package/assets/esri/core/workers/chunks/6fef5a07f75b2a5736ad.js +1 -0
  8. package/assets/esri/core/workers/chunks/6ff46126c82354e6c78e.js +1 -0
  9. package/assets/esri/core/workers/chunks/71dc9d78dec981078a1a.js +1 -0
  10. package/assets/esri/core/workers/chunks/{ab6ecd8eeec5ff761b34.js → 73bca519c93920bc8c9f.js} +1 -1
  11. package/assets/esri/core/workers/chunks/7a282674d77875c58acd.js +1 -0
  12. package/assets/esri/core/workers/chunks/9652cfd4668b95036c87.js +39 -0
  13. package/assets/esri/core/workers/chunks/9f07919ade6707b103da.js +1 -0
  14. package/assets/esri/core/workers/chunks/{d3174ff4dd5acd16485a.js → c041f4a1d18d42e27ad7.js} +1 -1
  15. package/assets/esri/core/workers/chunks/c9a2c4fd169b943db4b4.js +1 -0
  16. package/chunks/SSAO.glsl.js +43 -42
  17. package/core/NestedMap.js +1 -1
  18. package/core/deprecate.js +1 -1
  19. package/interfaces.d.ts +232 -39
  20. package/layers/MapImageLayer.js +1 -1
  21. package/layers/RouteLayer.js +1 -1
  22. package/layers/mixins/operationalLayers.js +1 -1
  23. package/layers/save/mapImageLayerUtils.js +5 -0
  24. package/package.json +1 -1
  25. package/portal/support/portalItemUtils.js +1 -1
  26. package/support/revision.js +1 -1
  27. package/views/3d/environment/EnvironmentManager.js +1 -1
  28. package/views/3d/glTF/LoaderResult.js +1 -1
  29. package/views/3d/glTF/loader.js +1 -1
  30. package/views/3d/interactive/Manipulator3D.js +1 -1
  31. package/views/3d/interactive/visualElements/Object3DVisualElement.js +1 -1
  32. package/views/3d/interactive/visualElements/VisualElementResources.js +1 -1
  33. package/views/3d/layers/I3SMeshView3D.js +1 -1
  34. package/views/3d/layers/SceneLayerGraphicsView3D.js +1 -1
  35. package/views/3d/layers/graphics/DeconflictAABR.js +5 -0
  36. package/views/3d/layers/graphics/Deconflictor.js +1 -1
  37. package/views/3d/layers/graphics/Graphics3DDrapedGraphicLayer.js +1 -1
  38. package/views/3d/layers/graphics/Graphics3DGraphic.js +1 -1
  39. package/views/3d/layers/graphics/Graphics3DObject3DGraphicLayer.js +1 -1
  40. package/views/3d/layers/graphics/Labeler.js +1 -1
  41. package/views/3d/layers/graphics/objectResourceUtils.js +1 -1
  42. package/views/3d/layers/graphics/pipeline/rendering/DirectRenderer.js +1 -1
  43. package/views/3d/layers/support/StageLayerElevationProvider.js +1 -1
  44. package/views/3d/webgl-engine/Stage.js +1 -1
  45. package/views/3d/webgl-engine/core/FBOCacheFormats.js +1 -1
  46. package/views/3d/webgl-engine/core/renderPasses/AllRenderPasses.js +1 -1
  47. package/views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js +2 -2
  48. package/views/3d/webgl-engine/lib/ContentObjectType.js +1 -1
  49. package/views/3d/webgl-engine/lib/GPUPointOcclusionQuery.js +5 -0
  50. package/views/3d/webgl-engine/lib/GridLocalOriginFactory.js +1 -1
  51. package/views/3d/webgl-engine/lib/Intersector.js +1 -1
  52. package/views/3d/webgl-engine/lib/IntersectorTarget.js +1 -1
  53. package/views/3d/webgl-engine/lib/ModelDirtySet.js +1 -1
  54. package/views/3d/webgl-engine/lib/Object3D.js +1 -1
  55. package/views/3d/webgl-engine/lib/Octree.js +1 -1
  56. package/views/3d/webgl-engine/lib/OrderIndependentTransparency.js +1 -1
  57. package/views/3d/webgl-engine/lib/RendererBase.js +1 -1
  58. package/views/3d/webgl-engine/lib/ShadowMap.js +1 -1
  59. package/views/3d/webgl-engine/lib/WebGLLayer.js +1 -1
  60. package/views/3d/webgl-engine/lib/depthRangeUtils.js +1 -1
  61. package/views/3d/webgl-engine/materials/DefaultMaterial.js +1 -1
  62. package/views/3d/webgl-engine/materials/WaterTechnique.js +1 -1
  63. package/views/3d/webgl-engine/parts/Model.js +1 -1
  64. package/views/3d/webgl-engine/shaders/ColorMaterialTechnique.js +1 -1
  65. package/views/3d/webgl-engine/shaders/DefaultMaterialTechnique.js +1 -1
  66. package/views/3d/webgl-engine/shaders/ImageMaterialTechnique.js +1 -1
  67. package/views/3d/webgl-engine/shaders/PatternTechnique.js +1 -1
  68. package/views/SelectionManager.js +1 -1
  69. package/views/ui/DefaultUI.js +1 -1
  70. package/views/webgl/Sync.js +5 -0
  71. package/widgets/Directions/DirectionsViewModel.js +1 -1
  72. package/widgets/Directions.js +1 -1
  73. package/widgets/FeatureTable/FeatureTableViewModel.js +1 -1
  74. package/widgets/FeatureTable/support/AttachmentsViewOptions.d.ts +4 -0
  75. package/widgets/FeatureTable.js +1 -1
  76. package/widgets/Fullscreen/FullscreenViewModel.js +1 -1
  77. package/widgets/Fullscreen.js +1 -1
  78. package/widgets/LayerList/LayerListItem.js +1 -1
  79. package/widgets/LayerList/ListItemPanel.js +1 -1
  80. package/widgets/NavigationToggle/NavigationToggleViewModel.js +1 -1
  81. package/widgets/NavigationToggle.js +1 -1
  82. package/widgets/TableList/ListItemPanel.js +1 -1
  83. package/widgets/Weather/WeatherViewModel.js +1 -1
  84. package/widgets/Weather.js +1 -1
  85. package/assets/esri/core/workers/chunks/25142d431dd1e5e82234.js +0 -1
  86. package/assets/esri/core/workers/chunks/2c92f6f268aa2de5432c.js +0 -1
  87. package/assets/esri/core/workers/chunks/7fce62ef3f0b011e0d35.js +0 -1
  88. package/assets/esri/core/workers/chunks/8c8d812a7f2d29c29676.js +0 -1
  89. package/assets/esri/core/workers/chunks/b780c7062b1b18a5ae19.js +0 -1
  90. package/assets/esri/core/workers/chunks/b8248939373e25a8d6db.js +0 -1
  91. package/assets/esri/core/workers/chunks/baa9fd23414f03ef90bc.js +0 -1
  92. package/assets/esri/core/workers/chunks/c819535525e9a27bae1f.js +0 -39
  93. package/assets/esri/core/workers/chunks/e08bff9f8247909776a4.js +0 -1
  94. package/assets/esri/core/workers/chunks/f2bc75a718a10065011d.js +0 -1
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[3455],{431:(t,e,n)=>{n.d(e,{o6:()=>v,HY:()=>x,hx:()=>F,Jb:()=>w});var o=n(9318);function r(t,e,n){const o=e/3,r=new Uint32Array(n+1),i=new Uint32Array(n+1),s=(t,e)=>{t<e?r[t+1]++:i[e+1]++};for(let e=0;e<o;e++){const n=t[3*e],o=t[3*e+1],r=t[3*e+2];s(n,o),s(o,r),s(r,n)}let c=0,a=0;for(let t=0;t<n;t++){const e=r[t+1],n=i[t+1];r[t+1]=c,i[t+1]=a,c+=e,a+=n}const u=new Uint32Array(6*o),h=r[n],l=(t,e,n)=>{if(t<e){const o=r[t+1]++;u[2*o]=e,u[2*o+1]=n}else{const o=i[e+1]++;u[2*h+2*o]=t,u[2*h+2*o+1]=n}};for(let e=0;e<o;e++){const n=t[3*e],o=t[3*e+1],r=t[3*e+2];l(n,o,e),l(o,r,e),l(r,n,e)}const d=(t,e)=>{const n=2*t,o=e-t;for(let t=1;t<o;t++){const e=u[n+2*t],o=u[n+2*t+1];let r=t-1;for(;r>=0&&u[n+2*r]>e;r--)u[n+2*r+2]=u[n+2*r],u[n+2*r+3]=u[n+2*r+1];u[n+2*r+2]=e,u[n+2*r+3]=o}};for(let t=0;t<n;t++)d(r[t],r[t+1]),d(h+i[t],h+i[t+1]);const f=new Int32Array(3*o),m=(e,n)=>e===t[3*n]?0:e===t[3*n+1]?1:e===t[3*n+2]?2:-1,T=(t,e)=>{const n=m(t,e);f[3*e+n]=-1},_=(t,e,n,o)=>{const r=m(t,e);f[3*e+r]=o;const i=m(n,o);f[3*o+i]=e};for(let t=0;t<n;t++){let e=r[t];const n=r[t+1];let o=i[t];const s=i[t+1];for(;e<n&&o<s;){const n=u[2*e],r=u[2*h+2*o];n===r?(_(t,u[2*e+1],r,u[2*h+2*o+1]),e++,o++):n<r?(T(t,u[2*e+1]),e++):(T(r,u[2*h+2*o+1]),o++)}for(;e<n;)T(t,u[2*e+1]),e++;for(;o<s;)T(u[2*h+2*o],u[2*h+2*o+1]),o++}return f}var i=n(1843),s=n(46540),c=n(3055),a=n(87811),u=n(38954),h=n(51850),l=n(4431),d=n(34727);function f(t,e,n,o,r,i=2){const s=1/(Math.abs(n)+Math.abs(o)+Math.abs(r)),c=n*s,a=o*s,u=r<=0?(c>=0?1:-1)*(1-Math.abs(a)):c,h=r<=0?(a>=0?1:-1)*(1-Math.abs(c)):a,l=e*i;t[l]=m(u),t[l+1]=m(h)}function m(t){return(0,d.qE)(Math.round(32767*t),-32767,32767)}n(11868),n(34275);class T{updateSettings(t){this.settings=t,this._edgeHashFunction=t.reducedPrecision?A:p}write(t,e,n){b.seed=this._edgeHashFunction(n);const o=b.getIntRange(0,255),r=b.getIntRange(0,this.settings.variants-1),i=b.getFloat(),s=255*(.5*function(t){return Math.abs(t)**1.2*Math.sign(t)}(-(1-Math.min(i/.7,1))+Math.max(0,i-.7)/(1-.7))+.5);t.position0.setVec(e,n.position0),t.position1.setVec(e,n.position1),t.componentIndex.set(e,n.componentIndex),t.variantOffset.set(e,o),t.variantStroke.set(e,r),t.variantExtension.set(e,s)}}const _=new Float32Array(6),g=new Uint32Array(_.buffer),O=new Uint32Array(1);function p(t){return _[0]=t.position0[0],_[1]=t.position0[1],_[2]=t.position0[2],_[3]=t.position1[0],_[4]=t.position1[1],_[5]=t.position1[2],O[0]=31*(31*(31*(31*(31*(166811+g[0])+g[1])+g[2])+g[3])+g[4])+g[5],O[0]}function A(t){const e=_;e[0]=N(t.position0[0]),e[1]=N(t.position0[1]),e[2]=N(t.position0[2]),e[3]=N(t.position1[0]),e[4]=N(t.position1[1]),e[5]=N(t.position1[2]),O[0]=5381;for(let t=0;t<g.length;t++)O[0]=31*O[0]+g[t];return O[0]}const E=1e4;function N(t){return Math.round(t*E)/E}class R{constructor(){this._commonWriter=new T}updateSettings(t){this._commonWriter.updateSettings(t)}allocate(t){return c.gr.createBuffer(t)}write(t,e,n){this._commonWriter.write(t,e,n),(0,u.g)(I,n.faceNormal0,n.faceNormal1),(0,u.n)(I,I);const{typedBuffer:o,typedBufferStride:r}=t.normalCompressed;f(o,e,I[0],I[1],I[2],r)}static{this.Layout=c.gr}static{this.glLayout=(0,l.U)(c.gr,1)}}class S{constructor(){this._commonWriter=new T}updateSettings(t){this._commonWriter.updateSettings(t)}allocate(t){return c.In.createBuffer(t)}write(t,e,n){this._commonWriter.write(t,e,n);{const{typedBuffer:o,typedBufferStride:r}=t.normalCompressed;f(o,e,n.faceNormal0[0],n.faceNormal0[1],n.faceNormal0[2],r)}{const{typedBuffer:o,typedBufferStride:r}=t.normal2Compressed;f(o,e,n.faceNormal1[0],n.faceNormal1[1],n.faceNormal1[2],r)}}static{this.Layout=c.In}static{this.glLayout=(0,l.U)(c.In,1)}}const I=(0,h.vt)(),b=new a.A;var M=n(93406);function v(t){const e=F(t.data,t.skipDeduplicate,t.indices,t.indicesLength);return L.updateSettings(t.writerSettings),C.updateSettings(t.writerSettings),(0,M.K)(e,L,C)}function F(t,e,n,i){if(e){const e=r(n,i,t.count);return new P(n,i,e,t)}const s=(0,o.b)(t.buffer,t.stride/4,{originalIndices:n,originalIndicesLength:i}),a=r(s.indices,i,s.uniqueCount);return{faces:s.indices,facesLength:s.indices.length,neighbors:a,vertices:c.I$.createView(s.buffer)}}class P{constructor(t,e,n,o){this.faces=t,this.facesLength=e,this.neighbors=n,this.vertices=o}}const L=new R,C=new S,w=(0,i.BP)().vec3f(s.r.POSITION0).vec3f(s.r.POSITION1),x=(0,i.BP)().vec3f(s.r.POSITION0).vec3f(s.r.POSITION1).u16(s.r.COMPONENTINDEX)},3055:(t,e,n)=>{n.d(e,{I$:()=>s,In:()=>u,gr:()=>a});var o=n(4431),r=n(1843),i=n(46540);const s=(0,r.BP)().vec3f(i.r.POSITION).u16(i.r.COMPONENTINDEX).freeze(),c=(0,r.BP)().vec2u8(i.r.SIDENESS).freeze(),a=((0,o.U)(c),(0,r.BP)().vec3f(i.r.POSITION0).vec3f(i.r.POSITION1).vec2i16(i.r.NORMALCOMPRESSED).u16(i.r.COMPONENTINDEX).u8(i.r.VARIANTOFFSET,{glNormalized:!0}).u8(i.r.VARIANTSTROKE).u8(i.r.VARIANTEXTENSION,{glNormalized:!0}).freeze()),u=(0,r.BP)().vec3f(i.r.POSITION0).vec3f(i.r.POSITION1).vec2i16(i.r.NORMALCOMPRESSED).vec2i16(i.r.NORMAL2COMPRESSED).u16(i.r.COMPONENTINDEX).u8(i.r.VARIANTOFFSET,{glNormalized:!0}).u8(i.r.VARIANTSTROKE).u8(i.r.VARIANTEXTENSION,{glNormalized:!0}).freeze();new Map([[i.r.POSITION0,0],[i.r.POSITION1,1],[i.r.COMPONENTINDEX,2],[i.r.VARIANTOFFSET,3],[i.r.VARIANTSTROKE,4],[i.r.VARIANTEXTENSION,5],[i.r.NORMALCOMPRESSED,6],[i.r.NORMAL2COMPRESSED,7],[i.r.SIDENESS,8]])},4341:(t,e,n)=>{n.d(e,{I:()=>r});var o=n(26390);class r{constructor(t){this._allocator=t,this._items=[],this._itemsPtr=0,this._grow()}get(){return 0===this._itemsPtr&&(0,o.d)((()=>this._reset())),this._itemsPtr===this._items.length&&this._grow(),this._items[this._itemsPtr++]}_reset(){const t=Math.min(3*Math.max(8,this._itemsPtr),this._itemsPtr+3*i);this._items.length=Math.min(t,this._items.length),this._itemsPtr=0}_grow(){for(let t=0;t<Math.max(8,Math.min(this._items.length,i));t++)this._items.push(this._allocator())}}const i=1024},4431:(t,e,n)=>{n.d(e,{U:()=>i});var o=n(63907),r=n(74038);function i(t,e=0){const n=t.stride;return Array.from(t.fields.keys()).map((o=>{const i=t.fields.get(o),c=i.constructor.ElementCount,a=s(i.constructor.ElementType),u=i.offset,h=i.optional?.glNormalized??!1;return new r._(o,c,a,u,n,h,e)}))}function s(t){const e=c[t];if(e)return e;throw new Error("BufferType not supported in WebGL")}const c={u8:o.pe.UNSIGNED_BYTE,u16:o.pe.UNSIGNED_SHORT,u32:o.pe.UNSIGNED_INT,i8:o.pe.BYTE,i16:o.pe.SHORT,i32:o.pe.INT,f16:o.pe.HALF_FLOAT,f32:o.pe.FLOAT}},9318:(t,e,n)=>{n.d(e,{b:()=>i});var o=n(34727),r=n(97146);function i(t,e,n){const i=Array.isArray(t),h=i?t.length/e:t.byteLength/(4*e),l=i?t:new Uint32Array(t,0,h*e),d=n?.minReduction??0,f=n?.originalIndices||null,m=f?f.length:0,T=n?.componentOffsets||null;let _=0;if(T)for(let t=0;t<T.length-1;t++){const e=T[t+1]-T[t];e>_&&(_=e)}else _=h;const g=Math.floor(1.1*_)+1;(null==u||u.length<2*g)&&(u=new Uint32Array((0,o.cU)(2*g)));for(let t=0;t<2*g;t++)u[t]=0;let O=0;const p=!!T&&!!f,A=p?m:h;let E=(0,r.my)(h);const N=new Uint32Array(m),R=1.96;let S=0!==d?Math.ceil(4*R*R/(d*d)*d*(1-d)):A,I=1,b=T?T[1]:A;for(let t=0;t<A;t++){if(t===S){const e=1-O/t;if(e+R*Math.sqrt(e*(1-e)/t)<d)return null;S*=2}if(t===b){for(let t=0;t<2*g;t++)u[t]=0;if(f)for(let t=T[I-1];t<T[I];t++)N[t]=E[f[t]];b=T[++I]}const n=p?f[t]:t,o=n*e,r=a(l,o,e);let i=r%g,c=O;for(;0!==u[2*i+1];){if(u[2*i]===r){const t=u[2*i+1]-1;if(s(l,o,t*e,e)){c=E[t];break}}i++,i>=g&&(i-=g)}c===O&&(u[2*i]=r,u[2*i+1]=n+1,O++),E[n]=c}if(0!==d&&1-O/h<d)return null;if(p){for(let t=T[I-1];t<N.length;t++)N[t]=E[f[t]];E=(0,r.uW)(N)}const M=i?new Array(O):new Uint32Array(O*e);O=0;for(let t=0;t<A;t++)E[t]===O&&(c(l,(p?f[t]:t)*e,M,O*e,e),O++);if(f&&!p){const t=new Uint32Array(m);for(let e=0;e<t.length;e++)t[e]=E[f[e]];E=(0,r.uW)(t)}return{buffer:Array.isArray(M)?M:M.buffer,indices:E,uniqueCount:O}}function s(t,e,n,o){for(let r=0;r<o;r++)if(t[e+r]!==t[n+r])return!1;return!0}function c(t,e,n,o,r){for(let i=0;i<r;i++)n[o+i]=t[e+i]}function a(t,e,n){let o=0;for(let r=0;r<n;r++)o=t[e+r]+o|0,o=o+(o<<11)+(o>>>2)|0;return o>>>0}let u=null},11964:(t,e,n)=>{n.d(e,{Cr:()=>u,H6:()=>d,_I:()=>l,kb:()=>h,vt:()=>a});var o=n(34727),r=n(4341),i=n(38954),s=n(51850),c=n(32114);function a(t){return t?{origin:(0,s.o8)(t.origin),vector:(0,s.o8)(t.vector)}:{origin:(0,s.vt)(),vector:(0,s.vt)()}}function u(t,e,n=a()){return(0,i.c)(n.origin,t),(0,i.d)(n.vector,e,t),n}function h(t,e){const n=(0,i.d)(c.rq.get(),e,t.origin),r=(0,i.f)(t.vector,n),s=(0,i.f)(t.vector,t.vector),a=(0,o.qE)(r/s,0,1),u=(0,i.d)(c.rq.get(),(0,i.h)(c.rq.get(),t.vector,a),n);return(0,i.f)(u,u)}function l(t,e,n){return d(t,e,0,1,n)}function d(t,e,n,r,s){const{vector:a,origin:u}=t,h=(0,i.d)(c.rq.get(),e,u),l=(0,i.f)(a,h)/(0,i.k)(a);return(0,i.h)(s,a,(0,o.qE)(l,n,r)),(0,i.g)(s,s,t.origin)}(0,s.vt)(),(0,s.vt)(),new r.I((()=>a()))},24587:(t,e,n)=>{n.r(e),n.d(e,{default:()=>ot});var o,r,i,s=n(90237),c=n(74887),a=(n(53966),n(44208),n(87811),n(49186),n(40608)),u=n(38954),h=n(51850),l=n(11964),d=n(97937),f=n(93687),m=n(3694),T=n(4341),_=(n(58083),n(87317),n(91829)),g=n(71351);function O(t){return t?{ray:(0,g.vt)(t.ray),c0:t.c0,c1:t.c1}:{ray:(0,g.vt)(),c0:0,c1:Number.MAX_VALUE}}function p(t,e){for(let n=0;n<A;n++){const o=t[n];if(o[0]*e[0]+o[1]*e[1]+o[2]*e[2]+o[3]>=e[3])return!1}return!0}new T.I((()=>O())),n(240),n(32114),(i=o||(o={}))[i.LEFT=0]="LEFT",i[i.RIGHT=1]="RIGHT",i[i.BOTTOM=2]="BOTTOM",i[i.TOP=3]="TOP",i[i.NEAR=4]="NEAR",i[i.FAR=5]="FAR",function(t){t[t.NEAR_BOTTOM_LEFT=0]="NEAR_BOTTOM_LEFT",t[t.NEAR_BOTTOM_RIGHT=1]="NEAR_BOTTOM_RIGHT",t[t.NEAR_TOP_RIGHT=2]="NEAR_TOP_RIGHT",t[t.NEAR_TOP_LEFT=3]="NEAR_TOP_LEFT",t[t.FAR_BOTTOM_LEFT=4]="FAR_BOTTOM_LEFT",t[t.FAR_BOTTOM_RIGHT=5]="FAR_BOTTOM_RIGHT",t[t.FAR_TOP_RIGHT=6]="FAR_TOP_RIGHT",t[t.FAR_TOP_LEFT=7]="FAR_TOP_LEFT"}(r||(r={})),r.FAR_BOTTOM_RIGHT,r.NEAR_BOTTOM_RIGHT,r.NEAR_BOTTOM_LEFT,r.FAR_BOTTOM_LEFT,r.NEAR_BOTTOM_LEFT,r.NEAR_BOTTOM_RIGHT,r.NEAR_TOP_RIGHT,r.NEAR_TOP_LEFT,r.FAR_BOTTOM_RIGHT,r.FAR_BOTTOM_LEFT,r.FAR_TOP_LEFT,r.FAR_TOP_RIGHT,r.NEAR_BOTTOM_RIGHT,r.FAR_BOTTOM_RIGHT,r.FAR_TOP_RIGHT,r.NEAR_TOP_RIGHT,r.FAR_BOTTOM_LEFT,r.NEAR_BOTTOM_LEFT,r.NEAR_TOP_LEFT,r.FAR_TOP_LEFT,r.FAR_TOP_LEFT,r.NEAR_TOP_LEFT,r.NEAR_TOP_RIGHT,r.FAR_TOP_RIGHT;const A=6;(0,_.fA)(-1,-1,-1,1),(0,_.fA)(1,-1,-1,1),(0,_.fA)(1,1,-1,1),(0,_.fA)(-1,1,-1,1),(0,_.fA)(-1,-1,1,1),(0,_.fA)(1,-1,1,1),(0,_.fA)(1,1,1,1),(0,_.fA)(-1,1,1,1),new T.I(O),(0,h.vt)(),(0,h.vt)(),(0,h.vt)(),(0,h.vt)(),(0,h.vt)(),(0,h.vt)(),(0,h.vt)(),(0,h.vt)();var E,N,R=n(620);class S{get bounds(){return this._root.bounds}get halfSize(){return this._root.halfSize}get root(){return this._root.node}get maximumObjectsPerNode(){return this._maximumObjectsPerNode}get maximumDepth(){return this._maximumDepth}get objectCount(){return this._objectCount}constructor(t,e){this.objectToBoundingSphere=t,this._maximumObjectsPerNode=10,this._maximumDepth=20,this._degenerateObjects=new Set,this._root=new I,this._objectCount=0,e&&(void 0!==e.maximumObjectsPerNode&&(this._maximumObjectsPerNode=e.maximumObjectsPerNode),void 0!==e.maximumDepth&&(this._maximumDepth=e.maximumDepth))}destroy(){this._degenerateObjects.clear(),I.clearPool(),V[0]=null,X.prune(),$.prune()}add(t){const e=Array.from(t);this._grow(e);const n=I.acquire();for(const t of e)++this._objectCount,this._isDegenerate(t)?this._degenerateObjects.add(t):(n.init(this._root),this._add(t,n));I.release(n)}remove(t,e=null){this._objectCount-=t.length;const n=I.acquire();for(const o of t){const t=e??(0,d.e)(this.objectToBoundingSphere(o),W);y(t[3])?(n.init(this._root),v(o,t,n)):this._degenerateObjects.delete(o)}I.release(n),this._shrink()}update(t,e){if(!y(e[3])&&this._isDegenerate(t))return;const n=function(t){return V[0]=t,V}(t);this.remove(n,e),this.add(n)}forEachAlongRay(t,e,n){const o=(0,g.LV)(t,e);b(this._root,(t=>{if(!function(t,e){return w((0,d.a)(e.bounds),2*-e.halfSize,G),w((0,d.a)(e.bounds),2*e.halfSize,k),(0,R.O_)(t.origin,t.direction,G,k)}(o,t))return!1;const e=t.node;return e.terminals.forAll((t=>{this._intersectsObject(o,t)&&n(t)})),null!==e.residents&&e.residents.forAll((t=>{this._intersectsObject(o,t)&&n(t)})),!0}))}forEachAlongRayWithVerticalOffset(t,e,n,o){const r=(0,g.LV)(t,e);b(this._root,(t=>{if(!function(t,e,n){return w((0,d.a)(e.bounds),2*-e.halfSize,G),w((0,d.a)(e.bounds),2*e.halfSize,k),n.applyToMinMax(G,k),(0,R.O_)(t.origin,t.direction,G,k)}(r,t,o))return!1;const e=t.node;return e.terminals.forAll((t=>{this._intersectsObjectWithOffset(r,t,o)&&n(t)})),null!==e.residents&&e.residents.forAll((t=>{this._intersectsObjectWithOffset(r,t,o)&&n(t)})),!0}))}forEach(t){b(this._root,(e=>{const n=e.node;return n.terminals.forAll(t),null!==n.residents&&n.residents.forAll(t),!0})),this._degenerateObjects.forEach(t)}forEachDegenerateObject(t){this._degenerateObjects.forEach(t)}findClosest(t,e,n,o=()=>!0,r=1/0){let i=1/0,s=1/0,c=null;const a=B(t,e),h=a=>{if(--r,!o(a))return;const u=this.objectToBoundingSphere(a);if(!p(n,u))return;const h=D(t,e,(0,d.a)(u)),l=h-u[3],f=h+u[3];l<i&&(i=l,s=f,c=a)};return M(this._root,(o=>{if(r<=0||!p(n,o.bounds))return!1;if((0,u.h)(q,a,o.halfSize),(0,u.g)(q,q,(0,d.a)(o.bounds)),D(t,e,q)>s)return!1;const i=o.node;return i.terminals.forAll((t=>h(t))),null!==i.residents&&i.residents.forAll((t=>h(t))),!0}),t,e),c}forEachInDepthRange(t,e,n,o,r,i,s){let c=-1/0,a=1/0;const h={setRange:t=>{n===S.DepthOrder.FRONT_TO_BACK?(c=Math.max(c,t.near),a=Math.min(a,t.far)):(c=Math.max(c,-t.far),a=Math.min(a,-t.near))}};h.setRange(o);const l=D(e,n,t),f=B(e,n),m=B(e,-n),T=t=>{if(!s(t))return;const o=this.objectToBoundingSphere(t),u=(0,d.a)(o),f=D(e,n,u)-l,m=f-o[3],T=f+o[3];m>a||T<c||!p(i,o)||r(t,h)};M(this._root,(t=>{if(!p(i,t.bounds))return!1;if((0,u.h)(q,f,t.halfSize),(0,u.g)(q,q,(0,d.a)(t.bounds)),D(e,n,q)-l>a)return!1;if((0,u.h)(q,m,t.halfSize),(0,u.g)(q,q,(0,d.a)(t.bounds)),D(e,n,q)-l<c)return!1;const o=t.node;return o.terminals.forAll((t=>T(t))),null!==o.residents&&o.residents.forAll((t=>T(t))),!0}),e,n)}forEachNode(t){b(this._root,(e=>t(e.node,e.bounds,e.halfSize,e.depth)))}forEachNeighbor(t,e){const n=(0,d.g)(e),o=(0,d.a)(e),r=e=>{const r=this.objectToBoundingSphere(e),i=(0,d.g)(r),s=n+i;return!((0,u.s)((0,d.a)(r),o)-s*s<=0)||t(e)};let i=!0;const s=t=>{i&&(i=r(t))};b(this._root,(t=>{const e=(0,d.g)(t.bounds),r=n+e;if((0,u.s)((0,d.a)(t.bounds),o)-r*r>0)return!1;const c=t.node;return c.terminals.forAll(s),i&&null!==c.residents&&c.residents.forAll(s),i})),i&&this.forEachDegenerateObject(s)}_intersectsObject(t,e){const n=this.objectToBoundingSphere(e);return!(n[3]>0)||(0,d.i)(n,t)}_intersectsObjectWithOffset(t,e,n){const o=this.objectToBoundingSphere(e);return!(o[3]>0)||(0,d.i)(n.applyToBoundingSphere(o),t)}_add(t,e){e.advanceTo(this.objectToBoundingSphere(t))?e.node.terminals.push(t):(e.node.residents.push(t),e.node.residents.length>this._maximumObjectsPerNode&&e.depth<this._maximumDepth&&this._split(e))}_split(t){const e=t.node.residents;t.node.residents=null;for(let n=0;n<e.length;n++){const o=I.acquire().init(t);this._add(e.at(n),o),I.release(o)}}_grow(t){if(x(t,(t=>this.objectToBoundingSphere(t)),K),y(K[3])&&!this._fitsInsideTree(K))if(P(this._root.node))(0,d.e)(K,this._root.bounds),this._root.halfSize=1.25*this._root.bounds[3],this._root.updateBoundsRadiusFromHalfSize();else{const t=this._rootBoundsForRootAsSubNode(K);this._placingRootViolatesMaxDepth(t)?this._rebuildTree(K,t):this._growRootAsSubNode(t),I.release(t)}}_rebuildTree(t,e){(0,u.c)((0,d.a)(Y),(0,d.a)(e.bounds)),Y[3]=e.halfSize,x([t,Y],(t=>t),J);const n=I.acquire().init(this._root);this._root.initFrom(null,J,J[3]),this._root.increaseHalfSize(1.25),b(n,(t=>(this.add(t.node.terminals.data),null!==t.node.residents&&this.add(t.node.residents.data),!0))),I.release(n)}_placingRootViolatesMaxDepth(t){const e=Math.log(t.halfSize/this._root.halfSize)*Math.LOG2E;let n=0;return b(this._root,(t=>(n=Math.max(n,t.depth),n+e<=this._maximumDepth))),n+e>this._maximumDepth}_rootBoundsForRootAsSubNode(t){const e=t[3],n=t;let o=-1/0;const r=this._root.bounds,i=this._root.halfSize;for(let t=0;t<3;t++){const s=r[t]-i-(n[t]-e),c=n[t]+e-(r[t]+i),a=Math.max(0,Math.ceil(s/(2*i))),u=Math.max(0,Math.ceil(c/(2*i)))+1,h=2**Math.ceil(Math.log(a+u)*Math.LOG2E);o=Math.max(o,h),Z[t].min=a,Z[t].max=u}for(let t=0;t<3;t++){let e=Z[t].min,n=Z[t].max;const s=(o-(e+n))/2;e+=Math.ceil(s),n+=Math.floor(s);const c=r[t]-i-e*i*2;H[t]=c+(n+e)*i}const s=o*i;return H[3]=s*z,I.acquire().initFrom(null,H,s,0)}_growRootAsSubNode(t){const e=this._root.node;(0,u.c)((0,d.a)(K),(0,d.a)(this._root.bounds)),K[3]=this._root.halfSize,this._root.init(t),t.advanceTo(K,null,!0),t.node.children=e.children,t.node.residents=e.residents,t.node.terminals=e.terminals}_shrink(){for(;;){const t=this._findShrinkIndex();if(-1===t)break;this._root.advance(t),this._root.depth=0}}_findShrinkIndex(){if(0!==this._root.node.terminals.length||this._root.isLeaf())return-1;let t=null;const e=this._root.node.children;let n=0,o=0;for(;o<e.length&&null==t;)n=o++,t=e[n];for(;o<e.length;)if(e[o++])return-1;return n}_isDegenerate(t){return!y(this.objectToBoundingSphere(t)[3])}_fitsInsideTree(t){const e=this._root.bounds,n=this._root.halfSize;return t[3]<=n&&t[0]>=e[0]-n&&t[0]<=e[0]+n&&t[1]>=e[1]-n&&t[1]<=e[1]+n&&t[2]>=e[2]-n&&t[2]<=e[2]+n}toJSON(){const{maximumDepth:t,maximumObjectsPerNode:e,_objectCount:n}=this,o=this._nodeToJSON(this._root.node);return{maximumDepth:t,maximumObjectsPerNode:e,objectCount:n,root:{bounds:this._root.bounds,halfSize:this._root.halfSize,depth:this._root.depth,node:o}}}_nodeToJSON(t){const e=t.children.map((t=>t?this._nodeToJSON(t):null)),n=t.residents?.map((t=>this.objectToBoundingSphere(t))),o=t.terminals?.map((t=>this.objectToBoundingSphere(t)));return{children:e,residents:n,terminals:o}}static fromJSON(t){const e=new S((t=>t),{maximumDepth:t.maximumDepth,maximumObjectsPerNode:t.maximumObjectsPerNode});return e._objectCount=t.objectCount,e._root.initFrom(t.root.node,t.root.bounds,t.root.halfSize,t.root.depth),e}}class I{constructor(){this.bounds=(0,d.c)(),this.halfSize=0,this.initFrom(null,null,0,0)}init(t){return this.initFrom(t.node,t.bounds,t.halfSize,t.depth)}initFrom(t,e,n,o=this.depth){return this.node=null!=t?t:I.createEmptyNode(),e&&(0,d.e)(e,this.bounds),this.halfSize=n,this.depth=o,this}increaseHalfSize(t){this.halfSize*=t,this.updateBoundsRadiusFromHalfSize()}updateBoundsRadiusFromHalfSize(){this.bounds[3]=this.halfSize*z}advance(t){let e=this.node.children[t];e||(e=I.createEmptyNode(),this.node.children[t]=e),this.node=e,this.halfSize/=2,this.depth++;const n=j[t];return this.bounds[0]+=n[0]*this.halfSize,this.bounds[1]+=n[1]*this.halfSize,this.bounds[2]+=n[2]*this.halfSize,this.updateBoundsRadiusFromHalfSize(),this}advanceTo(t,e,n=!1){for(;;){if(this.isTerminalFor(t))return e&&e(this,-1),!0;if(this.isLeaf()){if(!n)return e&&e(this,-1),!1;this.node.residents=null}const o=this._childIndex(t);e&&e(this,o),this.advance(o)}}isLeaf(){return null!=this.node.residents}isTerminalFor(t){return t[3]>this.halfSize/2}_childIndex(t){const e=this.bounds;return(e[0]<t[0]?1:0)+(e[1]<t[1]?2:0)+(e[2]<t[2]?4:0)}static createEmptyNode(){return{children:[null,null,null,null,null,null,null,null],terminals:new m.A({shrink:!0}),residents:new m.A({shrink:!0})}}static{this._pool=new f.A(I)}static acquire(){return I._pool.acquire()}static release(t){I._pool.release(t)}static clearPool(){I._pool.prune()}}function b(t,e){let n=I.acquire().init(t);const o=[n];for(;0!==o.length;){if(n=o.pop(),e(n)&&!n.isLeaf())for(let t=0;t<n.node.children.length;t++)n.node.children[t]&&o.push(I.acquire().init(n).advance(t));I.release(n)}}function M(t,e,n,o=S.DepthOrder.FRONT_TO_BACK){let r=I.acquire().init(t);const i=[r];for(function(t,e,n){if(!$.length)for(let t=0;t<8;++t)$.push({index:0,distance:0});for(let n=0;n<8;++n){const o=j[n];$.data[n].index=n,$.data[n].distance=D(t,e,o)}$.sort(((t,e)=>t.distance-e.distance));for(let t=0;t<8;++t)n[t]=$.data[t].index}(n,o,Q);0!==i.length;){if(r=i.pop(),e(r)&&!r.isLeaf())for(let t=7;t>=0;--t){const e=Q[t];r.node.children[e]&&i.push(I.acquire().init(r).advance(e))}I.release(r)}}function v(t,e,n){X.clear();const o=n.advanceTo(e,((t,e)=>{X.push(t.node),X.push(e)}))?n.node.terminals:n.node.residents;if(o.removeUnordered(t),0===o.length)for(let t=X.length-2;t>=0&&F(X.data[t],X.data[t+1]);t-=2);}function F(t,e){return e>=0&&(t.children[e]=null),!!P(t)&&(null===t.residents&&(t.residents=new m.A({shrink:!0})),!0)}function P(t){if(0!==t.terminals.length)return!1;if(null!==t.residents)return 0===t.residents.length;for(let e=0;e<t.children.length;e++)if(t.children[e])return!1;return!0}function L(t,e){t[0]=Math.min(t[0],e[0]-e[3]),t[1]=Math.min(t[1],e[1]-e[3]),t[2]=Math.min(t[2],e[2]-e[3])}function C(t,e){t[0]=Math.max(t[0],e[0]+e[3]),t[1]=Math.max(t[1],e[1]+e[3]),t[2]=Math.max(t[2],e[2]+e[3])}function w(t,e,n){n[0]=t[0]+e,n[1]=t[1]+e,n[2]=t[2]+e}function x(t,e,n){G[0]=1/0,G[1]=1/0,G[2]=1/0,k[0]=-1/0,k[1]=-1/0,k[2]=-1/0;for(const n of t){const t=e(n);y(t[3])&&(L(G,t),C(k,t))}(0,u.m)((0,d.a)(n),G,k,.5),n[3]=Math.max(k[0]-G[0],k[1]-G[1],k[2]-G[2])/2}function B(t,e){let n,o=1/0;for(let r=0;r<8;++r){const i=D(t,e,U[r]);i<o&&(o=i,n=U[r])}return n}function D(t,e,n){return e*(t[0]*n[0]+t[1]*n[1]+t[2]*n[2])}function y(t){return!isNaN(t)&&t!==-1/0&&t!==1/0&&t>0}(N=(E=S).DepthOrder||(E.DepthOrder={}))[N.FRONT_TO_BACK=1]="FRONT_TO_BACK",N[N.BACK_TO_FRONT=-1]="BACK_TO_FRONT";const j=[(0,h.fA)(-1,-1,-1),(0,h.fA)(1,-1,-1),(0,h.fA)(-1,1,-1),(0,h.fA)(1,1,-1),(0,h.fA)(-1,-1,1),(0,h.fA)(1,-1,1),(0,h.fA)(-1,1,1),(0,h.fA)(1,1,1)],U=[(0,h.fA)(-1,-1,-1),(0,h.fA)(-1,-1,1),(0,h.fA)(-1,1,-1),(0,h.fA)(-1,1,1),(0,h.fA)(1,-1,-1),(0,h.fA)(1,-1,1),(0,h.fA)(1,1,-1),(0,h.fA)(1,1,1)],z=Math.sqrt(3),V=[null],H=(0,d.c)(),q=(0,h.vt)(),G=(0,h.vt)(),k=(0,h.vt)(),X=new m.A,W=(0,d.c)(),K=(0,d.c)(),Y=(0,d.c)(),J=(0,d.c)(),Z=[{min:0,max:0},{min:0,max:0},{min:0,max:0}],$=new m.A,Q=[0,0,0,0,0,0,0,0];var tt=n(431);function et(t,e,n){const o=(0,d.c)(),r=(0,d.a)(o);return(0,u.b)(r,r,t,.5),(0,u.b)(r,r,e,.5),o[3]=(0,u.j)(r,t),(0,u.g)(r,r,n),o}let nt=class{constructor(){this._idToComponent=new Map,this._components=new S((t=>t.bounds)),this._edges=new S((t=>t.bounds)),this._tmpLineSegment=(0,l.vt)(),this._tmpP1=(0,h.vt)(),this._tmpP2=(0,h.vt)(),this._tmpP3=(0,h.vt)(),this.remoteClient=null}async fetchCandidates(t,e){await Promise.resolve(),(0,c.Te)(e),await this._ensureEdgeLocations(t,e);const n=[];return this._edges.forEachNeighbor((e=>(this._addCandidates(t,e,n),n.length<1e3)),t.bounds),{result:{candidates:n}}}async _ensureEdgeLocations(t,e){const n=[];if(this._components.forEachNeighbor((t=>{if(null==t.info){const{id:e,uid:o}=t;n.push({id:e,uid:o})}return!0}),t.bounds),!n.length)return;const o={components:n},r=await this.remoteClient.invoke("fetchAllEdgeLocations",o,e??{});for(const t of r.components)this._setFetchEdgeLocations(t)}async add(t){const e=new it(t.id,t.bounds);return this._idToComponent.set(e.id,e),this._components.add([e]),{result:{}}}async remove(t){const e=this._idToComponent.get(t.id);if(e){const t=[];this._edges.forEachNeighbor((n=>(n.component===e&&t.push(n),!0)),e.bounds),this._edges.remove(t),this._components.remove([e]),this._idToComponent.delete(e.id)}return{result:{}}}_setFetchEdgeLocations(t){const e=this._idToComponent.get(t.id);if(null==e||t.uid!==e.uid)return;const n=tt.HY.createView(t.locations),o=new Array(n.count),r=(0,h.vt)(),i=(0,h.vt)();for(let s=0;s<n.count;s++){n.position0.getVec(s,r),n.position1.getVec(s,i);const c=et(r,i,t.origin),a=new st(e,s,c);o[s]=a}this._edges.add(o);const{objectIds:s,origin:c}=t;e.info={locations:n,objectIds:s,origin:c}}_addCandidates(t,e,n){const{info:o}=e.component,{origin:r,objectIds:i}=o,s=o.locations,c=s.position0.getVec(e.index,this._tmpP1),a=s.position1.getVec(e.index,this._tmpP2);(0,u.g)(c,c,r),(0,u.g)(a,a,r);const h=i[s.componentIndex.get(e.index)];this._addEdgeCandidate(t,h,c,a,n),rt(t,h,c,n),rt(t,h,a,n)}_addEdgeCandidate(t,e,n,o,r){if(!t.returnEdge)return;const i=(0,d.a)(t.bounds),s=(0,l.Cr)(n,o,this._tmpLineSegment),c=(0,l._I)(s,i,this._tmpP3);(0,d.o)(t.bounds,c)&&r.push({type:"edge",objectId:e,target:(0,h.o8)(c),distance:(0,u.j)(i,c),start:(0,h.o8)(n),end:(0,h.o8)(o)})}};nt=(0,s._)([(0,a.$)("esri.views.interactive.snapping.featureSources.sceneLayerSource.SceneLayerSnappingSourceWorker")],nt);const ot=nt;function rt(t,e,n,o){if(!t.returnVertex||!(0,d.o)(t.bounds,n))return;const r=(0,d.a)(t.bounds);o.push({type:"vertex",objectId:e,target:(0,h.o8)(n),distance:(0,u.j)(r,n)})}class it{constructor(t,e){this.id=t,this.bounds=e,this.info=null,this.uid=++it.uid}static{this.uid=0}}class st{constructor(t,e,n){this.component=t,this.index=e,this.bounds=n}}},34727:(t,e,n)=>{n.d(e,{$8:()=>N,Cc:()=>s,Hx:()=>T,Io:()=>E,KJ:()=>u,Sp:()=>d,XM:()=>h,YN:()=>l,ZH:()=>m,cU:()=>r,gg:()=>f,hs:()=>c,kU:()=>a,or:()=>S,pF:()=>b,pq:()=>I,qE:()=>i});const o=new Float32Array(1);function r(t){--t;for(let e=1;e<32;e<<=1)t|=t>>e;return t+1}function i(t,e,n){return Math.min(Math.max(t,e),n)}function s(t,e,n){return t+(e-t)*n}function c(t,e,n,o,r){return s(o,r,(t-e)/(n-e))}function a(t){return t*Math.PI/180}function u(t){return 180*t/Math.PI}function h(t){return Math.acos(i(t,-1,1))}function l(t){return Math.asin(i(t,-1,1))}function d(t,e,n=1e-6){return t===e||!(!Number.isFinite(t)||!Number.isFinite(e))&&(t>e?t-e:e-t)<=n}function f(t,e,n=1e-6){return!d(t,e,n)&&t>e}function m(t,e,n=1e-6){return!d(t,e,n)&&t<e}function T(t,e,n=1e-6){return d(t,e,n)||t>e}const _=new DataView(new ArrayBuffer(Float64Array.BYTES_PER_ELEMENT));function g(t){return _.setFloat64(0,t),_.getBigInt64(0)}const O=BigInt("1000000"),p=A(1);function A(t){const e=g(t=Math.abs(t)),n=function(t){return _.setBigInt64(0,t),_.getFloat64(0)}(e<=O?O:e-O);return Math.abs(t-n)}function E(t,e,n=p){if(t===e)return!0;if(!Number.isFinite(t)||!Number.isFinite(e))return!1;if(null!=n&&A(Math.min(Math.abs(t),Math.abs(e)))<n)return Math.abs(t-e)<=n;const o=g(t),r=g(e);return o<0==r<0&&!((o<r?r-o:o-r)>O)}function N(t){return R(Math.max(-I,Math.min(t,I)))}function R(t){return o[0]=t,o[0]}function S(t){const e=t[0]*t[0]+t[1]*t[1]+t[2]*t[2],n=t[3]*t[3]+t[4]*t[4]+t[5]*t[5],o=t[6]*t[6]+t[7]*t[7]+t[8]*t[8];return!(d(e,1)&&d(n,1)&&d(o,1))}const I=R(34028234663852886e22);function b(t,e,n){if(void 0===n||0==+n)return Math[t](e);if(e=+e,n=+n,isNaN(e)||"number"!=typeof n||n%1!=0)return NaN;let o=e.toString().split("e");return o=(e=Math[t](+(o[0]+"e"+(o[1]?+o[1]-n:-n)))).toString().split("e"),+(o[0]+"e"+(o[1]?+o[1]+n:n))}},46540:(t,e,n)=>{var o;n.d(e,{r:()=>o}),function(t){t.POSITION="position",t.NORMAL="normal",t.NORMALCOMPRESSED="normalCompressed",t.UV0="uv0",t.UVI="uvi",t.COLOR="color",t.SYMBOLCOLOR="symbolColor",t.SIZE="size",t.ROTATION="rotation",t.TANGENT="tangent",t.OFFSET="offset",t.PERSPECTIVEDIVIDE="perspectiveDivide",t.CENTEROFFSETANDDISTANCE="centerOffsetAndDistance",t.LENGTH="length",t.NEXTDELTA="nextDelta",t.PREVIOUSDELTA="previousDelta",t.U0="u0",t.LINEPARAMETERS="lineParameters",t.COLORFEATUREATTRIBUTE="colorFeatureAttribute",t.SIZEFEATUREATTRIBUTE="sizeFeatureAttribute",t.OPACITYFEATUREATTRIBUTE="opacityFeatureAttribute",t.DISTANCETOSTART="distanceToStart",t.UVMAPSPACE="uvMapSpace",t.BOUNDINGRECT="boundingRect",t.UVREGION="uvRegion",t.PROFILERIGHT="profileRight",t.PROFILEUP="profileUp",t.PROFILEVERTEXANDNORMAL="profileVertexAndNormal",t.PROFILEAUXDATA="profileAuxData",t.INSTANCEMODELORIGINHI="instanceModelOriginHi",t.INSTANCEMODELORIGINLO="instanceModelOriginLo",t.INSTANCEMODEL="instanceModel",t.INSTANCEMODELNORMAL="instanceModelNormal",t.INSTANCECOLOR="instanceColor",t.INSTANCEFEATUREATTRIBUTE="instanceFeatureAttribute",t.LOCALTRANSFORM="localTransform",t.GLOBALTRANSFORM="globalTransform",t.BOUNDINGSPHERE="boundingSphere",t.MODELORIGIN="modelOrigin",t.MODELSCALEFACTORS="modelScaleFactors",t.FEATUREATTRIBUTE="featureAttribute",t.STATE="state",t.LODLEVEL="lodLevel",t.POSITION0="position0",t.POSITION1="position1",t.NORMAL2COMPRESSED="normal2Compressed",t.COMPONENTINDEX="componentIndex",t.VARIANTOFFSET="variantOffset",t.VARIANTSTROKE="variantStroke",t.VARIANTEXTENSION="variantExtension",t.SIDENESS="sideness",t.START="start",t.END="end",t.UP="up",t.START_UP="startUp",t.END_UP="endUp",t.EXTRUDE="extrude",t.OLIDCOLOR="objectAndLayerIdColor",t.INSTANCEOBJECTANDLAYERIDCOLOR="instanceObjectAndLayerIdColor"}(o||(o={}))},71351:(t,e,n)=>{n.d(e,{C:()=>l,Cr:()=>d,LV:()=>h,kb:()=>f,oC:()=>m,vt:()=>a}),n(4576);var o=n(4341),r=(n(77690),n(29242)),i=n(38954),s=n(51850),c=n(32114);function a(t){return t?u((0,s.o8)(t.origin),(0,s.o8)(t.direction)):u((0,s.vt)(),(0,s.vt)())}function u(t,e){return{origin:t,direction:e}}function h(t,e){const n=T.get();return n.origin=t,n.direction=e,n}function l(t,e=a()){return function(t,e,n=a()){return(0,i.c)(n.origin,t),(0,i.c)(n.direction,e),n}(t.origin,t.direction,e)}function d(t,e,n=a()){return(0,i.c)(n.origin,t),(0,i.d)(n.direction,e,t),n}function f(t,e){const n=(0,i.e)(c.rq.get(),(0,i.n)(c.rq.get(),t.direction),(0,i.d)(c.rq.get(),e,t.origin));return(0,i.f)(n,n)}function m(t,e,n){const o=(0,i.f)(t.direction,(0,i.d)(n,e,t.origin));return(0,i.g)(n,t.origin,(0,i.h)(n,t.direction,o)),n}const T=new o.I((()=>a()));(0,s.vt)(),(0,s.vt)(),(0,s.vt)(),(0,r.vt)()},74038:(t,e,n)=>{n.d(e,{_:()=>o});class o{constructor(t,e,n,o,r,i=!1,s=0){this.name=t,this.count=e,this.type=n,this.offset=o,this.stride=r,this.normalized=i,this.divisor=s}}},88582:(t,e,n)=>{var o;n.d(e,{_:()=>o}),function(t){t[t.X=0]="X",t[t.Y=1]="Y",t[t.Z=2]="Z"}(o||(o={}))},91869:(t,e,n)=>{function o(t,e){for(const n of t.values())if(e(n))return!0;return!1}function r(t,e,n){const o=t.get(e);if(void 0!==o)return o;const r=n();return t.set(e,r),r}function i(t){const e=new Map;return n=>(e.has(n)||e.set(n,t(n)),e.get(n))}n.d(e,{Bj:()=>i,Bs:()=>o,tE:()=>r})},93406:(t,e,n)=>{n.d(e,{K:()=>a});var o=n(34727),r=n(3694),i=n(38954),s=n(51850);const c=-1;function a(t,e,n){const o=t.vertices.position,r=t.vertices.componentIndex,s=T.position0,a=T.position1,l=T.faceNormal0,f=T.faceNormal1,{edges:m,normals:_}=h(t),g=m.length/4,O=e.allocate(g);let p=0;const A=g,R=n?.allocate(A);let I=0,b=0,M=0;d.length=0;for(let t=0;t<g;++t){const e=4*t;o.getVec(m.data[e],s),o.getVec(m.data[e+1],a);const n=d.pushNew();n.index=4*t,n.length=(0,i.j)(s,a)}d.sort(((t,e)=>e.length-t.length));const v=new Array,F=new Array;d.forAll((({length:t,index:h})=>{const d=m.data[h],g=m.data[h+1],A=m.data[h+2],P=m.data[h+3],L=P===c;if(o.getVec(d,s),o.getVec(g,a),L){const t=3*A;(0,i.i)(l,_.data[t],_.data[t+1],_.data[t+2]),(0,i.c)(f,l),T.componentIndex=r.get(d),T.cosAngle=(0,i.f)(l,f)}else{let t=3*A;if((0,i.i)(l,_.data[t],_.data[t+1],_.data[t+2]),t=3*P,(0,i.i)(f,_.data[t],_.data[t+1],_.data[t+2]),T.componentIndex=r.get(d),T.cosAngle=(0,i.f)(l,f),function(t,e){return t.cosAngle>e}(T,N))return;T.cosAngle<-.9999&&(0,i.c)(f,l)}b+=t,M++,L||function(t,e){return t.cosAngle<e}(T,S)?(e.write(O,p++,T),v.push(t)):u(T,E)&&(R&&n&&n.write(R,I++,T),F.push(t))}));const P=new Float32Array(v.reverse()),L=new Float32Array(F.reverse()),C=R&&n?{instancesData:R.slice(0,I),lodInfo:{lengths:L}}:void 0;return{regular:{instancesData:O.slice(0,p),lodInfo:{lengths:P}},silhouette:C,averageEdgeLength:b/M}}function u(t,e){const n=(0,o.XM)(t.cosAngle);return(0,i.o)(g,t.position1,t.position0),n*((0,i.f)((0,i.e)(_,t.faceNormal0,t.faceNormal1),g)>0?-1:1)>e}function h(t){const e=t.faces.length/3,n=t.faces,o=t.neighbors,r=t.vertices.position;f.length=m.length=0;for(let t=0;t<e;t++){const e=3*t,s=o[e],a=o[e+1],u=o[e+2],h=n[e],l=n[e+1],d=n[e+2];r.getVec(h,O),r.getVec(l,p),r.getVec(d,A),(0,i.d)(p,p,O),(0,i.d)(A,A,O),(0,i.e)(O,p,A),(0,i.n)(O,O),m.pushArray(O),(s===c||h<l)&&(f.push(h),f.push(l),f.push(t),f.push(s)),(a===c||l<d)&&(f.push(l),f.push(d),f.push(t),f.push(a)),(u===c||d<h)&&(f.push(d),f.push(h),f.push(t),f.push(u))}return{edges:f,normals:m}}class l{constructor(){this.index=0,this.length=0}}const d=new r.A({allocator:t=>t||new l,deallocator:null}),f=new r.A({deallocator:null}),m=new r.A({deallocator:null}),T=new class{constructor(){this.position0=(0,s.vt)(),this.position1=(0,s.vt)(),this.faceNormal0=(0,s.vt)(),this.faceNormal1=(0,s.vt)(),this.componentIndex=0,this.cosAngle=0}},_=(0,s.vt)(),g=(0,s.vt)(),O=(0,s.vt)(),p=(0,s.vt)(),A=(0,s.vt)(),E=(0,o.kU)(4),N=Math.cos(E),R=(0,o.kU)(35),S=Math.cos(R)},97937:(t,e,n)=>{n.d(e,{a:()=>E,c:()=>_,e:()=>p,f:()=>N,g:()=>A,i:()=>M,o:()=>x,s:()=>y}),n(44208),n(53966);var o=n(34727),r=n(58083),i=n(38954),s=n(51850),c=n(87317),a=n(91829),u=n(34304),h=n(88582),l=n(71351);function d(t,e){const n=(0,i.l)(t),r=(0,o.YN)(t[2]/n),s=Math.atan2(t[1]/n,t[0]/n);return(0,i.i)(e,n,r,s),e}var f=n(44280),m=n(32114);const T=_();function _(){return(0,a.vt)()}const g=c.e,O=c.e;function p(t,e){return(0,c.c)(e,t)}function A(t){return t[3]}function E(t){return t}function N(t,e,n,o){return(0,a.fA)(t,e,n,o)}function R(t,e,n){if(null==e)return!1;if(!I(t,e,S))return!1;let{t0:o,t1:r}=S;if((o<0||r<o&&r>0)&&(o=r),o<0)return!1;if(n){const{origin:t,direction:r}=e;n[0]=t[0]+r[0]*o,n[1]=t[1]+r[1]*o,n[2]=t[2]+r[2]*o}return!0}const S={t0:0,t1:0};function I(t,e,n){const{origin:o,direction:r}=e,i=b;i[0]=o[0]-t[0],i[1]=o[1]-t[1],i[2]=o[2]-t[2];const s=r[0]*r[0]+r[1]*r[1]+r[2]*r[2];if(0===s)return!1;const c=2*(r[0]*i[0]+r[1]*i[1]+r[2]*i[2]),a=c*c-4*s*(i[0]*i[0]+i[1]*i[1]+i[2]*i[2]-t[3]*t[3]);if(a<0)return!1;const u=Math.sqrt(a);return n.t0=(-c-u)/(2*s),n.t1=(-c+u)/(2*s),!0}const b=(0,s.vt)();function M(t,e){return R(t,e,null)}function v(t,e,n){const o=m.rq.get(),s=m.Rc.get();(0,i.e)(o,e.origin,e.direction);const c=A(t);(0,i.e)(n,o,e.origin),(0,i.h)(n,n,1/(0,i.l)(n)*c);const a=P(t,e.origin),u=(0,f.g7)(e.origin,n);return(0,r.$0)(s,u+a,o),(0,i.t)(n,n,s),n}function F(t,e,n){const o=(0,i.d)(m.rq.get(),e,t),r=(0,i.h)(m.rq.get(),o,t[3]/(0,i.l)(o));return(0,i.g)(n,r,t)}function P(t,e){const n=(0,i.d)(m.rq.get(),e,t),r=(0,i.l)(n),s=A(t),c=s+Math.abs(s-r);return(0,o.XM)(s/c)}const L=(0,s.vt)();function C(t,e,n,o){const r=(0,i.d)(L,e,t);switch(n){case h._.X:{const t=d(r,L)[2];return(0,i.i)(o,-Math.sin(t),Math.cos(t),0)}case h._.Y:{const t=d(r,L),e=t[1],n=t[2],s=Math.sin(e);return(0,i.i)(o,-s*Math.cos(n),-s*Math.sin(n),Math.cos(e))}case h._.Z:return(0,i.n)(o,r);default:return}}function w(t,e){const n=(0,i.d)(B,e,t);return(0,i.l)(n)-t[3]}function x(t,e){const n=(0,i.s)(t,e),o=A(t);return n<=o*o}const B=(0,s.vt)(),D=_(),y=Object.freeze(Object.defineProperty({__proto__:null,NullSphere:T,altitudeAt:w,angleToSilhouette:P,axisAt:C,cameraFrustumCoverage:function(t,e,n,o){const r=A(t),i=r*r,s=e+.5*Math.PI,c=n*n+i-2*Math.cos(s)*n*r,a=Math.sqrt(c),u=c-i;if(u<=0)return.5;const h=Math.sqrt(u),l=Math.acos(h/a)-Math.asin(r/(a/Math.sin(s)));return Math.min(1,(l+.5*o)/o)},clear:function(t){t[0]=t[1]=t[2]=t[3]=0},closestPoint:function(t,e,n){return R(t,e,n)?n:((0,l.oC)(e,t,n),F(t,n,n))},closestPointOnSilhouette:v,containsPoint:x,copy:p,create:_,distanceToSilhouette:function(t,e){const n=(0,i.d)(m.rq.get(),e,t),o=(0,i.k)(n),r=t[3]*t[3];return Math.sqrt(Math.abs(o-r))},elevate:function(t,e,n){return t!==n&&(n[0]=t[0],n[1]=t[1],n[2]=t[2]),n[3]=t[3]+e,n},equals:O,exactEquals:g,fromCenterAndRadius:function(t,e){return(0,a.fA)(t[0],t[1],t[2],e)},fromRadius:function(t,e){return t[0]=t[1]=t[2]=0,t[3]=e,t},fromValues:N,getCenter:E,getExtent:function(t,e){return e},getRadius:A,intersectLine:function(t,e,n){const o=(0,l.Cr)(e,n);if(!I(t,o,S))return[];const{origin:r,direction:c}=o,{t0:a,t1:h}=S,d=e=>{const n=(0,s.vt)();return(0,i.b)(n,r,c,e),F(t,n,n)};return Math.abs(a-h)<(0,u.FD)()?[d(a)]:[d(a),d(h)]},intersectRay:R,intersectRayClosestSilhouette:function(t,e,n){if(R(t,e,n))return n;const o=v(t,e,m.rq.get());return(0,i.g)(n,e.origin,(0,i.h)(m.rq.get(),e.direction,(0,i.j)(e.origin,o)/(0,i.l)(e.direction))),n},intersectsRay:M,projectPoint:F,setAltitudeAt:function(t,e,n,o){const r=w(t,e),s=C(t,e,h._.Z,B),c=(0,i.h)(B,s,n-r);return(0,i.g)(o,e,c)},setExtent:function(t,e,n){return t!==n&&p(t,n),n},tmpSphere:D,union:function(t,e,n=(0,a.vt)()){const o=(0,i.j)(t,e),r=t[3],s=e[3];return o+s<r?((0,c.c)(n,t),n):o+r<s?((0,c.c)(n,e),n):((0,i.m)(n,t,e,(o+s-r)/(2*o)),n[3]=(o+r+s)/2,n)},wrap:function(t){return t}},Symbol.toStringTag,{value:"Module"}))}}]);
@@ -0,0 +1,39 @@
1
+ "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[1349],{4341:(e,t,r)=>{r.d(t,{I:()=>o});var n=r(26390);class o{constructor(e){this._allocator=e,this._items=[],this._itemsPtr=0,this._grow()}get(){return 0===this._itemsPtr&&(0,n.d)((()=>this._reset())),this._itemsPtr===this._items.length&&this._grow(),this._items[this._itemsPtr++]}_reset(){const e=Math.min(3*Math.max(8,this._itemsPtr),this._itemsPtr+3*s);this._items.length=Math.min(e,this._items.length),this._itemsPtr=0}_grow(){for(let e=0;e<Math.max(8,Math.min(this._items.length,s));e++)this._items.push(this._allocator())}}const s=1024},15976:(e,t,r)=>{r.d(t,{o:()=>s});var n=r(69270),o=r(74333);class s extends o.n{constructor(e,t){super(e,"sampler2D",n.c.Draw,((r,n,o)=>r.bindTexture(e,t(n,o))))}}},16943:(e,t,r)=>{r.d(t,{E:()=>o});var n=r(44208);function o(){return!!(0,n.A)("enable-feature:objectAndLayerId-rendering")}},21015:(e,t,r)=>{r.d(t,{R:()=>c});var n=r(78888),o=r(60999),s=r(49186),i=r(74887),a=r(84952);class c{constructor(e){this._streamDataRequester=e}async loadJSON(e,t){return this._load("json",e,t)}async loadBinary(e,t){return(0,a.DB)(e)?((0,i.Te)(t),(0,a.lJ)(e)):this._load("binary",e,t)}async loadImage(e,t){return this._load("image",e,t)}async _load(e,t,r){if(null==this._streamDataRequester)return(await(0,n.A)(t,{responseType:u[e]})).data;const a=await(0,o.Ke)(this._streamDataRequester.request(t,e,r));if(!0===a.ok)return a.value;throw(0,i.QP)(a.error),new s.A("glt-loader-request-error",`Request for resource failed: ${a.error}`)}}const u={image:"image",binary:"array-buffer",json:"json","image+type":void 0}},26425:(e,t,r)=>{r.d(t,{u:()=>s});var n=r(33094),o=r(31821);function s({code:e,uniforms:t},r){t.add(new n.U("dpDummy",(()=>1))),e.add(o.H`vec3 dpAdd(vec3 hiA, vec3 loA, vec3 hiB, vec3 loB) {
2
+ vec3 hiD = hiA + hiB;
3
+ vec3 loD = loA + loB;
4
+ return dpDummy * hiD + loD;
5
+ }`)}},31821:(e,t,r)=>{function n(e,...t){let r="";for(let n=0;n<t.length;n++)r+=e[n]+t[n];return r+=e[e.length-1],r}function o(e,t,r=""){return e?t:r}r.d(t,{H:()=>n,If:()=>o}),function(e){e.int=function(e){return Math.round(e).toString()},e.float=function(e){return e.toPrecision(8)}}(n)},33079:(e,t,r)=>{r.d(t,{t:()=>s});var n=r(69270),o=r(74333);class s extends o.n{constructor(e,t){super(e,"vec3",n.c.Pass,((r,n,o)=>r.setUniform3fv(e,t(n,o))))}}},33094:(e,t,r)=>{r.d(t,{U:()=>s});var n=r(69270),o=r(74333);class s extends o.n{constructor(e,t){super(e,"float",n.c.Bind,((r,n)=>r.setUniform1f(e,t(n))))}}},35644:(e,t,r)=>{r.d(t,{k:()=>s});var n=r(69270),o=r(74333);class s extends o.n{constructor(e,t){super(e,"mat3",n.c.Pass,((r,n,o)=>r.setUniformMatrix3fv(e,t(n,o))))}}},40710:(e,t,r)=>{r.d(t,{W:()=>s});var n=r(69270),o=r(74333);class s extends o.n{constructor(e,t){super(e,"vec3",n.c.Draw,((r,n,o,s)=>r.setUniform3fv(e,t(n,o,s))))}}},42583:(e,t,r)=>{r.d(t,{A:()=>s});var n=r(66104),o=r(31821);function s(e){e.vertex.code.add(o.H`
6
+ vec4 decodeSymbolColor(vec4 symbolColor, out int colorMixMode) {
7
+ float symbolAlpha = 0.0;
8
+
9
+ const float maxTint = 85.0;
10
+ const float maxReplace = 170.0;
11
+ const float scaleAlpha = 3.0;
12
+
13
+ if (symbolColor.a > maxReplace) {
14
+ colorMixMode = ${o.H.int(n.k5.Multiply)};
15
+ symbolAlpha = scaleAlpha * (symbolColor.a - maxReplace);
16
+ } else if (symbolColor.a > maxTint) {
17
+ colorMixMode = ${o.H.int(n.k5.Replace)};
18
+ symbolAlpha = scaleAlpha * (symbolColor.a - maxTint);
19
+ } else if (symbolColor.a > 0.0) {
20
+ colorMixMode = ${o.H.int(n.k5.Tint)};
21
+ symbolAlpha = scaleAlpha * symbolColor.a;
22
+ } else {
23
+ colorMixMode = ${o.H.int(n.k5.Multiply)};
24
+ symbolAlpha = 0.0;
25
+ }
26
+
27
+ return vec4(symbolColor.r, symbolColor.g, symbolColor.b, symbolAlpha);
28
+ }
29
+ `)}},43609:(e,t,r)=>{r.d(t,{a:()=>s,f:()=>i,n:()=>o});var n=r(34275);function o(e,t){s(e.typedBuffer,t.typedBuffer,e.typedBufferStride,t.typedBufferStride)}function s(e,t,r=2,o=r){const s=t.length/2;let i=0,a=0;if(!(0,n.iu)(t)||(0,n.dk)(t)){for(let n=0;n<s;++n)e[i]=t[a],e[i+1]=t[a+1],i+=r,a+=o;return}const c=(0,n.a3)(t);if((0,n.JI)(t))for(let n=0;n<s;++n)e[i]=Math.max(t[a]/c,-1),e[i+1]=Math.max(t[a+1]/c,-1),i+=r,a+=o;else for(let n=0;n<s;++n)e[i]=t[a]/c,e[i+1]=t[a+1]/c,i+=r,a+=o}function i(e,t,r,n){const o=e.typedBuffer,s=e.typedBufferStride,i=n?.count??e.count;let a=(n?.dstIndex??0)*s;for(let e=0;e<i;++e)o[a]=t,o[a+1]=r,a+=s}Object.freeze(Object.defineProperty({__proto__:null,fill:i,normalizeIntegerBuffer:s,normalizeIntegerBufferView:o},Symbol.toStringTag,{value:"Module"}))},49255:(e,t,r)=>{var n;function o(e){return e===n.Shadow||e===n.ShadowHighlight||e===n.ShadowExcludeHighlight||e===n.ViewshedShadow}function s(e){return function(e){return function(e){return c(e)||a(e)}(e)||f(e)}(e)||e===n.Normal}function i(e){return function(e){return l(e)||f(e)}(e)||e===n.Normal}function a(e){return e===n.Highlight||e===n.ObjectAndLayerIdColor}function c(e){return e===n.Color}function u(e){return c(e)||d(e)}function l(e){return u(e)||a(e)}function f(e){return e===n.Depth}function d(e){return e===n.ColorEmission}r.d(t,{LG:()=>d,Mb:()=>l,PJ:()=>o,RN:()=>u,V:()=>n,XY:()=>s,iq:()=>i}),function(e){e[e.Color=0]="Color",e[e.ColorEmission=1]="ColorEmission",e[e.Depth=2]="Depth",e[e.Normal=3]="Normal",e[e.Shadow=4]="Shadow",e[e.ShadowHighlight=5]="ShadowHighlight",e[e.ShadowExcludeHighlight=6]="ShadowExcludeHighlight",e[e.ViewshedShadow=7]="ViewshedShadow",e[e.Highlight=8]="Highlight",e[e.ObjectAndLayerIdColor=9]="ObjectAndLayerIdColor",e[e.COUNT=10]="COUNT"}(n||(n={}))},51530:(e,t,r)=>{r.d(t,{KB:()=>a,Xi:()=>s,pn:()=>c,x3:()=>i});var n=r(44208),o=r(89192);class s{constructor(e){this.data=e,this.type="encoded-mesh-texture",this.encoding=o.JS.KTX2_ENCODING}}function i(e){return"encoded-mesh-texture"===e?.type}async function a(e){const t=new Blob([e]),r=await t.text();return JSON.parse(r)}async function c(e,t){if(t===o.JS.KTX2_ENCODING)return new s(e);const r=new Blob([e],{type:t});let i=URL.createObjectURL(r);switch(t){case"image/jpeg":i+="#.jpg";break;case"image/png":i+="#.png"}const a=new Image;if((0,n.A)("esri-iPhone"))return new Promise(((e,t)=>{const r=()=>{o(),e(a)},n=e=>{o(),t(e)},o=()=>{URL.revokeObjectURL(i),a.removeEventListener("load",r),a.removeEventListener("error",n)};a.addEventListener("load",r),a.addEventListener("error",n),a.src=i}));try{a.src=i,await a.decode()}catch(e){console.warn("Failed decoding HTMLImageElement")}return URL.revokeObjectURL(i),a}},58029:(e,t,r)=>{r.d(t,{F:()=>s});var n=r(69270),o=r(74333);class s extends o.n{constructor(e,t){super(e,"mat4",n.c.Bind,((r,n)=>r.setUniformMatrix4fv(e,t(n))))}}},61473:(e,t,r)=>{function n(e){return e=e||globalThis.location.hostname,u.some((t=>null!=e?.match(t)))}function o(e,t){return e?(t=t||globalThis.location.hostname)?null!=t.match(s)||null!=t.match(a)?e.replace("static.arcgis.com","staticdev.arcgis.com"):null!=t.match(i)||null!=t.match(c)?e.replace("static.arcgis.com","staticqa.arcgis.com"):e:e:null}r.d(t,{EM:()=>o,b5:()=>n});const s=/^devext\.arcgis\.com$/,i=/^qaext\.arcgis\.com$/,a=/^[\w-]*\.mapsdevext\.arcgis\.com$/,c=/^[\w-]*\.mapsqa\.arcgis\.com$/,u=[/^([\w-]*\.)?[\w-]*\.zrh-dev-local\.esri\.com$/,s,i,/^jsapps\.esri\.com$/,a,c]},64304:(e,t,r)=>{r.d(t,{fetch:()=>Z});var n=r(40876),o=r(61473),s=r(34727),i=r(77690),a=r(29242),c=r(58083),u=r(9093),l=r(48163),f=r(38954),d=r(51850),m=r(70328),h=r(11868),p=r(13030),g=r(73354),y=r(65686),v=r(43609),b=r(21015),x=r(84498),w=r(51530),M=r(88340);function T(e){if(null==e)return null;const t=null!=e.offset?e.offset:M.uY,r=null!=e.rotation?e.rotation:0,n=null!=e.scale?e.scale:M.Un,o=(0,a.fA)(1,0,0,0,1,0,t[0],t[1],1),s=(0,a.fA)(Math.cos(r),-Math.sin(r),0,Math.sin(r),Math.cos(r),0,0,0,1),c=(0,a.fA)(n[0],0,0,0,n[1],0,0,0,1),u=(0,a.vt)();return(0,i.lw)(u,s,c),(0,i.lw)(u,o,u),u}class B{constructor(){this.geometries=new Array,this.materials=new Array,this.textures=new Array}}class S{constructor(e,t,r){this.name=e,this.lodThreshold=t,this.pivotOffset=r,this.stageResources=new B,this.numberOfVertices=0}}var A=r(78888),R=r(60999),_=r(49186),C=r(53966),P=r(69397);class E{constructor(){this._outer=new Map}clear(){this._outer.clear()}get empty(){return 0===this._outer.size}get outerSize(){return this._outer.size}get(e,t){return this._outer.get(e)?.get(t)}getInner(e){return this._outer.get(e)}set(e,t,r){const n=this._outer.get(e);n?n.set(t,r):this._outer.set(e,new Map([[t,r]]))}delete(e,t){const r=this._outer.get(e);r&&(r.delete(t),0===r.size&&this._outer.delete(e))}forEach(e){this._outer.forEach(((t,r)=>e(t,r)))}forAll(e){this._outer.forEach(((t,r)=>t.forEach(((t,n)=>e(t,r,n)))))}}var O=r(74887),I=r(46140),U=r(97146),q=r(99677),N=r(46610),k=r(89192),D=r(87170),L=r(31006),j=r(46540),V=r(88076),F=r(63907);const z=()=>C.A.getLogger("esri.views.3d.layers.graphics.objectResourceUtils");class H{constructor(e,t,r){this.resource=e,this.textures=t,this.cachedMemory=r}}function $(e){throw new _.A("",`Request for object resource failed: ${e}`)}function G(e){const t=e.params,r=t.topology;let n=!0;switch(t.vertexAttributes||(z().warn("Geometry must specify vertex attributes"),n=!1),t.topology){case"PerAttributeArray":break;case"Indexed":case null:case void 0:{const e=t.faces;if(e){if(t.vertexAttributes)for(const r in t.vertexAttributes){const t=e[r];t?.values?(null!=t.valueType&&"UInt32"!==t.valueType&&(z().warn(`Unsupported indexed geometry indices type '${t.valueType}', only UInt32 is currently supported`),n=!1),null!=t.valuesPerElement&&1!==t.valuesPerElement&&(z().warn(`Unsupported indexed geometry values per element '${t.valuesPerElement}', only 1 is currently supported`),n=!1)):(z().warn(`Indexed geometry does not specify face indices for '${r}' attribute`),n=!1)}}else z().warn("Indexed geometries must specify faces"),n=!1;break}default:z().warn(`Unsupported topology '${r}'`),n=!1}e.params.material||(z().warn("Geometry requires material"),n=!1);const o=e.params.vertexAttributes;for(const e in o)o[e].values||(z().warn("Geometries with externally defined attributes are not yet supported"),n=!1);return n}function W(e){const t=(0,m.Ie)();return e.forEach((e=>{const r=e.boundingInfo;null!=r&&((0,m.iT)(t,r.bbMin),(0,m.iT)(t,r.bbMax))})),t}function X(e){switch(e){case"mask":return k.sf.Mask;case"maskAndTransparency":return k.sf.MaskBlend;case"none":return k.sf.Opaque;default:return k.sf.Blend}}function Y(e){const t=e.params;return{id:1,material:t.material,texture:t.texture,region:t.texture}}const J=new I.R(1,2,"wosr");var K=r(96336),Q=r(74810);async function Z(e,t){const a=function(e){const t=e.match(/(.*\.(gltf|glb))(\?lod=([0-9]+))?$/);return t?{fileType:"gltf",url:t[1],specifiedLodIndex:null!=t[4]?Number(t[4]):null}:e.match(/(.*\.(json|json\.gz))$/)?{fileType:"wosr",url:e,specifiedLodIndex:null}:{fileType:"unknown",url:e,specifiedLodIndex:null}}((0,o.EM)(e));if("wosr"===a.fileType){const e=await(t.cache?t.cache.loadWOSR(a.url,t):async function(e,t){const r=await async function(e,t){const r=t?.streamDataRequester;if(r)return async function(e,t,r){const n=await(0,R.Ke)(t.request(e,"json",r));if(!0===n.ok)return n.value;(0,O.QP)(n.error),$(n.error.details.url)}(e,r,t);const n=await(0,R.Ke)((0,A.A)(e,t));if(!0===n.ok)return n.value.data;(0,O.QP)(n.error),$(n.error)}(e,t),n=await async function(e,t){const r=new Array;for(const n in e){const o=e[n],s=o.images[0].data;if(!s){z().warn("Externally referenced texture data is not yet supported");continue}const i=o.encoding+";base64,"+s,a="/textureDefinitions/"+n,c="rgba"===o.channels?o.alphaChannelUsage||"transparency":"none",u={noUnpackFlip:!0,wrap:{s:F.pF.REPEAT,t:F.pF.REPEAT},preMultiplyAlpha:X(c)!==k.sf.Opaque},l=t?.disableTextures?Promise.resolve(null):(0,q.D)(i,t);r.push(l.then((e=>({refId:a,image:e,parameters:u,alphaChannelUsage:c}))))}const n=await Promise.all(r),o={};for(const e of n)o[e.refId]=e;return o}(r.textureDefinitions??{},t);let o=0;for(const e in n)if(n.hasOwnProperty(e)){const t=n[e];o+=t?.image?t.image.width*t.image.height*4:0}return new H(r,n,o+(0,P.Qh)(r))}(a.url,t)),{engineResources:r,referenceBoundingBox:n}=function(e,t){const r=new Array,n=new Array,o=new Array,s=new E,i=e.resource,a=I.R.parse(i.version||"1.0","wosr");J.validate(a);const c=i.model.name,u=i.model.geometries,l=i.materialDefinitions??{},f=e.textures;let m=0;const h=new Map;for(let e=0;e<u.length;e++){const i=u[e];if(!G(i))continue;const a=Y(i),c=i.params.vertexAttributes,p=[],g=e=>{if("PerAttributeArray"===i.params.topology)return null;const t=i.params.faces;for(const r in t)if(r===e)return t[r].values;return null},y=c[j.r.POSITION],v=y.values.length/y.valuesPerElement;for(const e in c){const t=c[e],r=t.values,n=g(e)??(0,U.tM)(v);p.push([e,new N.n(r,n,t.valuesPerElement,!0)])}const b=a.texture,x=f&&f[b];if(x&&!h.has(b)){const{image:e,parameters:t}=x,r=new L.g(e,t);n.push(r),h.set(b,r)}const w=h.get(b),M=w?w.id:void 0,T=a.material;let B=s.get(T,b);if(null==B){const e=l[T.slice(T.lastIndexOf("/")+1)].params;1===e.transparency&&(e.transparency=0);const r=x?X(x.alphaChannelUsage):void 0,n={ambient:(0,d.ci)(e.diffuse),diffuse:(0,d.ci)(e.diffuse),opacity:1-(e.transparency||0),textureAlphaMode:r,textureAlphaCutoff:.33,textureId:M,doubleSided:!0,cullFace:k.s2.None,colorMixMode:e.externalColorMixMode||"tint",textureAlphaPremultiplied:x?.parameters.preMultiplyAlpha??!1};t?.materialParameters&&Object.assign(n,t.materialParameters),B=new V.$U(n,t),s.set(T,b,B)}o.push(B);const S=new D.V(B,p);m+=p.find((e=>e[0]===j.r.POSITION))?.[1]?.indices.length??0,r.push(S)}return{engineResources:[{name:c,stageResources:{textures:n,materials:o,geometries:r},pivotOffset:i.model.pivotOffset,numberOfVertices:m,lodThreshold:null}],referenceBoundingBox:W(r)}}(e,t);return{lods:r,referenceBoundingBox:n,isEsriSymbolResource:!1,isWosr:!0}}let M;if(t.cache)M=await t.cache.loadGLTF(a.url,t,!!t.usePBR);else{const{loadGLTF:e}=await r.e(4399).then(r.bind(r,4399));M=await e(new b.R(t.streamDataRequester),a.url,t,t.usePBR)}const B=M.model.meta?.ESRI_proxyEllipsoid,_=M.meta.isEsriSymbolResource&&null!=B&&"EsriRealisticTreesStyle"===M.meta.ESRI_webstyle;_&&!M.customMeta.esriTreeRendering&&(M.customMeta.esriTreeRendering=!0,function(e,t){for(let r=0;r<e.model.lods.length;++r){const o=e.model.lods[r];for(const s of o.parts){const o=s.attributes.normal;if(null==o)return;const i=s.attributes.position,a=i.count,l=(0,d.vt)(),m=(0,d.vt)(),h=(0,d.vt)(),g=new Float32Array(4*a),y=new Float32Array(3*a),v=(0,c.B8)((0,u.vt)(),s.transform);let b=0,x=0;for(let c=0;c<a;c++){i.getVec(c,m),o.getVec(c,l),(0,f.t)(m,m,s.transform),(0,f.d)(h,m,t.center),(0,f.E)(h,h,t.radius);const a=h[2],u=(0,f.l)(h),d=Math.min(.45+.55*u*u,1)**n.Tf;(0,f.E)(h,h,t.radius),null!==v&&(0,f.t)(h,h,v),(0,f.n)(h,h),r+1!==e.model.lods.length&&e.model.lods.length>1&&(0,f.m)(h,h,l,a>-1?.2:Math.min(-4*a-3.8,1)),y[b]=h[0],y[b+1]=h[1],y[b+2]=h[2],b+=3,g[x]=d,g[x+1]=d,g[x+2]=d,g[x+3]=1,x+=4}s.attributes.normal=new p.xs(y),s.attributes.color=new p.Eq(g)}}}(M,B));const C=!!t.usePBR,Z=M.meta.isEsriSymbolResource?{usePBR:C,isSchematic:!1,treeRendering:_,mrrFactors:Q.SY}:{usePBR:C,isSchematic:!1,treeRendering:!1,mrrFactors:Q.mb},te={...t.materialParameters,treeRendering:_},{engineResources:re,referenceBoundingBox:ne}=function(e,t,r,o,a,c){const u=e.model,f=new Array,d=new Map,b=new Map,M=u.lods.length,B=(0,m.Ie)();return u.lods.forEach(((e,A)=>{const R=!0===o.skipHighLods&&(M>1&&0===A||M>3&&1===A)||!1===o.skipHighLods&&null!=a&&A!==a;if(R&&0!==A)return;const _=new S(e.name,e.lodThreshold,[0,0,0]);e.parts.forEach((e=>{const a=R?new V.$U({},o):function(e,t,r,o,s,i,a,c,u){const f=e.materials.get(t.material);if(null==f)return null;const{normal:d,color:m,texCoord0:h,tangent:p}=t.attributes,g=t.material+(d?"_normal":"")+(m?"_color":"")+(h?"_texCoord0":"")+(p?"_tangent":""),y=null!=t.attributes.texCoord0,v=null!=t.attributes.normal,b=function(e){switch(e){case"BLEND":return k.sf.Blend;case"MASK":return k.sf.Mask;case"OPAQUE":case null:case void 0:return k.sf.Opaque}}(f.alphaMode);if(!i.has(g)){if(y){const t=(t,r=!1,n=!1)=>{if(null!=t&&!a.has(t)){const o=e.textures.get(t);if(o){const e=o.data,s=r&&!(0,w.x3)(e);a.set(t,new L.g((0,w.x3)(e)?e.data:e,{...o.parameters,preMultiplyAlpha:!(0,w.x3)(e)&&n,encoding:(0,w.x3)(e)?e.encoding:void 0,compressionHandle:s?c.compressionHandle:void 0,compressionCallback:s?c.compressionCallback:void 0}))}}},r=b!==k.sf.Opaque&&!u;t(f.colorTexture,r,b!==k.sf.Opaque),t(f.normalTexture),t(f.occlusionTexture,!0),t(f.emissiveTexture),t(f.metallicRoughnessTexture,!0)}const r=1/n.Tf,d=f.color[0]**r,m=f.color[1]**r,h=f.color[2]**r,p=f.emissiveFactor[0]**r,x=f.emissiveFactor[1]**r,M=f.emissiveFactor[2]**r,B=null!=f.colorTexture&&y?a.get(f.colorTexture):null,S=(0,Q.Jr)(f),A=null!=f.normalTextureTransform?.scale?f.normalTextureTransform?.scale:l.Un;i.set(g,new V.$U({...o,customDepthTest:k.it.Lequal,textureAlphaMode:b,textureAlphaCutoff:f.alphaCutoff,diffuse:[d,m,h],ambient:[d,m,h],opacity:"OPAQUE"===f.alphaMode?1:f.opacity,doubleSided:f.doubleSided,doubleSidedType:"winding-order",cullFace:f.doubleSided?k.s2.None:k.s2.Back,hasVertexColors:!!t.attributes.color,hasVertexTangents:!!t.attributes.tangent,normalType:v?K.W.Attribute:K.W.ScreenDerivative,castShadows:!0,receiveShadows:f.receiveShadows,receiveAmbientOcclusion:f.receiveAmbientOcclusion,textureId:null!=B?B.id:void 0,colorMixMode:f.colorMixMode,normalTextureId:null!=f.normalTexture&&y?a.get(f.normalTexture).id:void 0,textureAlphaPremultiplied:null!=B&&!!B.parameters.preMultiplyAlpha,occlusionTextureId:null!=f.occlusionTexture&&y?a.get(f.occlusionTexture).id:void 0,emissiveTextureId:null!=f.emissiveTexture&&y?a.get(f.emissiveTexture).id:void 0,metallicRoughnessTextureId:null!=f.metallicRoughnessTexture&&y?a.get(f.metallicRoughnessTexture).id:void 0,emissiveBaseColor:[p,x,M],mrrFactors:S?Q.Bt:[f.metallicFactor,f.roughnessFactor,o.mrrFactors[2]],isSchematic:S,colorTextureTransformMatrix:T(f.colorTextureTransform),normalTextureTransformMatrix:T(f.normalTextureTransform),scale:[A[0],A[1]],occlusionTextureTransformMatrix:T(f.occlusionTextureTransform),emissiveTextureTransformMatrix:T(f.emissiveTextureTransform),metallicRoughnessTextureTransformMatrix:T(f.metallicRoughnessTextureTransform),...s},c))}const x=i.get(g);if(r.stageResources.materials.push(x),y){const e=e=>{null!=e&&r.stageResources.textures.push(a.get(e))};e(f.colorTexture),e(f.normalTexture),e(f.occlusionTexture),e(f.emissiveTexture),e(f.metallicRoughnessTexture)}return x}(u,e,_,t,r,d,b,o,c),{geometry:f,vertexCount:M}=function(e,t){const r=e.attributes.position.count,n=(0,x.x)(e.indices||r,e.primitiveType),o=(0,h.oe)(3*r),{typedBuffer:a,typedBufferStride:c}=e.attributes.position;(0,g.t)(o,a,e.transform,3,c);const u=[[j.r.POSITION,new N.n(o,n,3,!0)]];if(null!=e.attributes.normal){const t=(0,h.oe)(3*r),{typedBuffer:o,typedBufferStride:a}=e.attributes.normal;(0,i.Ge)(ee,e.transform),(0,g.b)(t,o,ee,3,a),(0,s.or)(ee)&&(0,g.n)(t,t),u.push([j.r.NORMAL,new N.n(t,n,3,!0)])}if(null!=e.attributes.tangent){const t=(0,h.oe)(4*r),{typedBuffer:o,typedBufferStride:a}=e.attributes.tangent;(0,i.z0)(ee,e.transform),(0,y.t)(t,o,ee,4,a),(0,s.or)(ee)&&(0,g.n)(t,t,4),u.push([j.r.TANGENT,new N.n(t,n,4,!0)])}if(null!=e.attributes.texCoord0){const t=(0,h.oe)(2*r),{typedBuffer:o,typedBufferStride:s}=e.attributes.texCoord0;(0,v.a)(t,o,2,s),u.push([j.r.UV0,new N.n(t,n,2,!0)])}const l=e.attributes.color;if(null!=l){const t=new Uint8Array(4*r);4===l.elementCount?l instanceof p.Eq?(0,y.b)(t,l,1,255):(l instanceof p.XP||l instanceof p.Uz)&&(0,y.b)(t,l,1/255,255):(t.fill(255),l instanceof p.xs?(0,g.f)(t,l.typedBuffer,1,255,4,l.typedBufferStride):(e.attributes.color instanceof p.eI||e.attributes.color instanceof p.nS)&&(0,g.f)(t,l.typedBuffer,1/255,255,4,e.attributes.color.typedBufferStride)),u.push([j.r.COLOR,new N.n(t,n,4,!0)])}return{geometry:new D.V(t,u),vertexCount:r}}(e,a??new V.$U({},o)),S=f.boundingInfo;null!=S&&0===A&&((0,m.iT)(B,S.bbMin),(0,m.iT)(B,S.bbMax)),null!=a&&(_.stageResources.geometries.push(f),_.numberOfVertices+=M)})),R||f.push(_)})),{engineResources:f,referenceBoundingBox:B}}(M,Z,te,t,a.specifiedLodIndex,_);return{lods:re,referenceBoundingBox:ne,isEsriSymbolResource:M.meta.isEsriSymbolResource,isWosr:!1}}const ee=(0,a.vt)()},65686:(e,t,r)=>{r.d(t,{a:()=>s,b:()=>l,l:()=>u,n:()=>a,t:()=>i});var n=r(40876),o=(r(44208),r(53966));function s(e,t,r){i(e.typedBuffer,t.typedBuffer,r,e.typedBufferStride,t.typedBufferStride)}function i(e,t,r,n=4,o=n){if(e.length/n!=t.length/o)return;const s=e.length/n,i=r[0],a=r[1],c=r[2],u=r[3],l=r[4],f=r[5],d=r[6],m=r[7],h=r[8];let p=0,g=0;for(let r=0;r<s;r++){const r=t[p],s=t[p+1],y=t[p+2],v=t[p+3];e[g]=i*r+u*s+d*y,e[g+1]=a*r+l*s+m*y,e[g+2]=c*r+f*s+h*y,e[g+3]=v,p+=o,g+=n}}function a(e,t){const r=Math.min(e.count,t.count),n=e.typedBuffer,o=e.typedBufferStride,s=t.typedBuffer,i=t.typedBufferStride;for(let e=0;e<r;e++){const t=e*o,r=e*i,a=s[r],c=s[r+1],u=s[r+2],l=a*a+c*c+u*u;if(l>0){const e=1/Math.sqrt(l);n[t]=e*a,n[t+1]=e*c,n[t+2]=e*u}}}function c(e,t,r,n=4){const o=Math.min(e.length/n,t.count),s=t.typedBuffer,i=t.typedBufferStride;let a=0,c=0;for(let t=0;t<o;t++)e[c]=r*s[a],e[c+1]=r*s[a+1],e[c+2]=r*s[a+2],e[c+3]=r*s[a+3],a+=i,c+=n}function u(e,t,r,n){l(e.typedBuffer,t,r,n,e.typedBufferStride)}function l(e,t,r,o,s=4){const i=Math.min(e.length/s,t.count),a=t.typedBuffer,c=t.typedBufferStride;let u=0,l=0;const f=1/n.Tf;for(let t=0;t<i;t++)e[l]=o*(r*a[u])**f,e[l+1]=o*(r*a[u+1])**f,e[l+2]=o*(r*a[u+2])**f,e[l+3]=o*r*a[u+3],u+=c,l+=s}Object.freeze(Object.defineProperty({__proto__:null,linearToSRGB:l,linearToSRGBView:u,normalize:a,scale:c,scaleView:function(e,t,r){c(e.typedBuffer,t,r,e.typedBufferStride)},transformMat3:i,transformMat3View:s,transformMat4:function(e,t,r,n=4,s=n){if(e.length/n!=t.length/s)return void o.A.getLogger("esri.views.3d.support.buffer.math").error("source and destination buffers need to have the same number of elements");const i=e.length/n,a=r[0],c=r[1],u=r[2],l=r[3],f=r[4],d=r[5],m=r[6],h=r[7],p=r[8],g=r[9],y=r[10],v=r[11],b=r[12],x=r[13],w=r[14],M=r[15];let T=0,B=0;for(let r=0;r<i;r++){const r=t[T],o=t[T+1],i=t[T+2],S=t[T+3];e[B]=a*r+f*o+p*i+b*S,e[B+1]=c*r+d*o+g*i+x*S,e[B+2]=u*r+m*o+y*i+w*S,e[B+3]=l*r+h*o+v*i+M*S,T+=s,B+=n}},transformMat4View:function(e,t,r){if(e.count!==t.count)return;const n=e.count,o=r[0],s=r[1],i=r[2],a=r[3],c=r[4],u=r[5],l=r[6],f=r[7],d=r[8],m=r[9],h=r[10],p=r[11],g=r[12],y=r[13],v=r[14],b=r[15],x=e.typedBuffer,w=e.typedBufferStride,M=t.typedBuffer,T=t.typedBufferStride;for(let e=0;e<n;e++){const t=e*w,r=e*T,n=M[r],B=M[r+1],S=M[r+2],A=M[r+3];x[t]=o*n+c*B+d*S+g*A,x[t+1]=s*n+u*B+m*S+y*A,x[t+2]=i*n+l*B+h*S+v*A,x[t+3]=a*n+f*B+p*S+b*A}}},Symbol.toStringTag,{value:"Module"}))},66104:(e,t,r)=>{var n,o;r.d(t,{k5:()=>n}),r(34727),(o=n||(n={}))[o.Multiply=1]="Multiply",o[o.Ignore=2]="Ignore",o[o.Replace=3]="Replace",o[o.Tint=4]="Tint"},69270:(e,t,r)=>{var n;r.d(t,{c:()=>n}),function(e){e[e.Bind=0]="Bind",e[e.Pass=1]="Pass",e[e.Draw=2]="Draw"}(n||(n={}))},71351:(e,t,r)=>{r.d(t,{C:()=>f,Cr:()=>d,LV:()=>l,kb:()=>m,oC:()=>h,vt:()=>c}),r(4576);var n=r(4341),o=(r(77690),r(29242)),s=r(38954),i=r(51850),a=r(32114);function c(e){return e?u((0,i.o8)(e.origin),(0,i.o8)(e.direction)):u((0,i.vt)(),(0,i.vt)())}function u(e,t){return{origin:e,direction:t}}function l(e,t){const r=p.get();return r.origin=e,r.direction=t,r}function f(e,t=c()){return function(e,t,r=c()){return(0,s.c)(r.origin,e),(0,s.c)(r.direction,t),r}(e.origin,e.direction,t)}function d(e,t,r=c()){return(0,s.c)(r.origin,e),(0,s.d)(r.direction,t,e),r}function m(e,t){const r=(0,s.e)(a.rq.get(),(0,s.n)(a.rq.get(),e.direction),(0,s.d)(a.rq.get(),t,e.origin));return(0,s.f)(r,r)}function h(e,t,r){const n=(0,s.f)(e.direction,(0,s.d)(r,t,e.origin));return(0,s.g)(r,e.origin,(0,s.h)(r,e.direction,n)),r}const p=new n.I((()=>c()));(0,i.vt)(),(0,i.vt)(),(0,i.vt)(),(0,o.vt)()},73354:(e,t,r)=>{r.d(t,{a:()=>f,b:()=>a,c:()=>i,d:()=>o,e:()=>d,f:()=>l,l:()=>u,n:()=>m,t:()=>s});var n=r(40876);function o(e,t,r){s(e.typedBuffer,t.typedBuffer,r,e.typedBufferStride,t.typedBufferStride)}function s(e,t,r,n=3,o=n){if(e.length/n!==Math.ceil(t.length/o))return e;const s=e.length/n,i=r[0],a=r[1],c=r[2],u=r[4],l=r[5],f=r[6],d=r[8],m=r[9],h=r[10],p=r[12],g=r[13],y=r[14];let v=0,b=0;for(let r=0;r<s;r++){const r=t[v],s=t[v+1],x=t[v+2];e[b]=i*r+u*s+d*x+p,e[b+1]=a*r+l*s+m*x+g,e[b+2]=c*r+f*s+h*x+y,v+=o,b+=n}return e}function i(e,t,r){a(e.typedBuffer,t.typedBuffer,r,e.typedBufferStride,t.typedBufferStride)}function a(e,t,r,n=3,o=n){if(e.length/n!==Math.ceil(t.length/o))return;const s=e.length/n,i=r[0],a=r[1],c=r[2],u=r[3],l=r[4],f=r[5],d=r[6],m=r[7],h=r[8];let p=0,g=0;for(let r=0;r<s;r++){const r=t[p],s=t[p+1],y=t[p+2];e[g]=i*r+u*s+d*y,e[g+1]=a*r+l*s+m*y,e[g+2]=c*r+f*s+h*y,p+=o,g+=n}}function c(e,t,r,n=3,o=n){const s=Math.min(e.length/n,t.length/o);let i=0,a=0;for(let c=0;c<s;c++)e[a]=r*t[i],e[a+1]=r*t[i+1],e[a+2]=r*t[i+2],i+=o,a+=n;return e}function u(e,t,r,n){l(e.typedBuffer,t.typedBuffer,r,n,e.typedBufferStride,t.typedBufferStride)}function l(e,t,r,o,s=3,i=s){const a=Math.min(e.length/s,t.length/i);let c=0,u=0;const l=1/n.Tf;for(let n=0;n<a;n++)e[u]=o*(r*t[c])**l,e[u+1]=o*(r*t[c+1])**l,e[u+2]=o*(r*t[c+2])**l,c+=i,u+=s}function f(e,t,r,n=3,o=n){const s=e.length/n;if(s!==Math.ceil(t.length/o))return e;let i=0,a=0;for(let c=0;c<s;c++)e[a]=t[i]+r[0],e[a+1]=t[i+1]+r[1],e[a+2]=t[i+2]+r[2],i+=o,a+=n;return e}function d(e,t){m(e.typedBuffer,t.typedBuffer,e.typedBufferStride,t.typedBufferStride)}function m(e,t,r=3,n=r){const o=Math.min(e.length/r,t.length/n);let s=0,i=0;for(let a=0;a<o;a++){const o=t[s],a=t[s+1],c=t[s+2],u=o*o+a*a+c*c;if(u>0){const t=1/Math.sqrt(u);e[i]=t*o,e[i+1]=t*a,e[i+2]=t*c}s+=n,i+=r}}r(44208),r(53966),Object.freeze(Object.defineProperty({__proto__:null,linearToSRGB:l,linearToSRGBView:u,normalize:m,normalizeView:d,scale:c,scaleView:function(e,t,r){c(e.typedBuffer,t.typedBuffer,r,e.typedBufferStride,t.typedBufferStride)},shiftRight:function(e,t,r){const n=Math.min(e.count,t.count),o=e.typedBuffer,s=e.typedBufferStride,i=t.typedBuffer,a=t.typedBufferStride;let c=0,u=0;for(let e=0;e<n;e++)o[u]=i[c]>>r,o[u+1]=i[c+1]>>r,o[u+2]=i[c+2]>>r,c+=a,u+=s},transformMat3:a,transformMat3View:i,transformMat4:s,transformMat4View:o,translate:f},Symbol.toStringTag,{value:"Module"}))},74333:(e,t,r)=>{r.d(t,{n:()=>o}),r(44208);var n=r(69270);class o{constructor(e,t,r,o,s=null){if(this.name=e,this.type=t,this.arraySize=s,this.bind={[n.c.Bind]:null,[n.c.Pass]:null,[n.c.Draw]:null},o)switch(r){case void 0:break;case n.c.Bind:this.bind[n.c.Bind]=o;break;case n.c.Pass:this.bind[n.c.Pass]=o;break;case n.c.Draw:this.bind[n.c.Draw]=o}}equals(e){return this.type===e.type&&this.name===e.name&&this.arraySize===e.arraySize}}},84498:(e,t,r)=>{r.d(t,{x:()=>i});var n=r(34275),o=r(97146),s=r(63907);function i(e,t){switch(t){case s.WR.TRIANGLES:return"number"==typeof(r=e)?(0,o.tM)(r):(0,n.mg)(r)?new Uint16Array(r):r;case s.WR.TRIANGLE_STRIP:return function(e){const t="number"==typeof e?e:e.length;if(t<3)return[];const r=t-2,n=(0,o.my)(3*r);if("number"==typeof e){let e=0;for(let t=0;t<r;t+=1)t%2==0?(n[e++]=t,n[e++]=t+1,n[e++]=t+2):(n[e++]=t+1,n[e++]=t,n[e++]=t+2)}else{let t=0;for(let o=0;o<r;o+=1)o%2==0?(n[t++]=e[o],n[t++]=e[o+1],n[t++]=e[o+2]):(n[t++]=e[o+1],n[t++]=e[o],n[t++]=e[o+2])}return n}(e);case s.WR.TRIANGLE_FAN:return function(e){const t="number"==typeof e?e:e.length;if(t<3)return new Uint16Array(0);const r=t-2,n=r<=65536?new Uint16Array(3*r):new Uint32Array(3*r);if("number"==typeof e){let e=0;for(let t=0;t<r;++t)n[e++]=0,n[e++]=t+1,n[e++]=t+2;return n}const o=e[0];let s=e[1],i=0;for(let t=0;t<r;++t){const r=e[t+2];n[i++]=o,n[i++]=s,n[i++]=r,s=r}return n}(e)}var r}},88340:(e,t,r)=>{function n(){return new Float32Array(2)}function o(e,t){const r=new Float32Array(2);return r[0]=e,r[1]=t,r}function s(){return n()}function i(){return o(1,1)}function a(){return o(1,0)}function c(){return o(0,1)}r.d(t,{Un:()=>l,fA:()=>o,uY:()=>u,vt:()=>n});const u=s(),l=i(),f=a(),d=c();Object.freeze(Object.defineProperty({__proto__:null,ONES:l,UNIT_X:f,UNIT_Y:d,ZEROS:u,clone:function(e){const t=new Float32Array(2);return t[0]=e[0],t[1]=e[1],t},create:n,fromValues:o,ones:i,unitX:a,unitY:c,zeros:s},Symbol.toStringTag,{value:"Module"}))},96336:(e,t,r)=>{r.d(t,{W:()=>n,Y:()=>c});var n,o,s=r(21818),i=r(31821),a=r(46540);function c(e,t){switch(t.normalType){case n.Compressed:e.attributes.add(a.r.NORMALCOMPRESSED,"vec2"),e.vertex.code.add(i.H`vec3 decompressNormal(vec2 normal) {
30
+ float z = 1.0 - abs(normal.x) - abs(normal.y);
31
+ return vec3(normal + sign(normal) * min(z, 0.0), z);
32
+ }
33
+ vec3 normalModel() {
34
+ return decompressNormal(normalCompressed);
35
+ }`);break;case n.Attribute:e.attributes.add(a.r.NORMAL,"vec3"),e.vertex.code.add(i.H`vec3 normalModel() {
36
+ return normal;
37
+ }`);break;case n.ScreenDerivative:e.fragment.code.add(i.H`vec3 screenDerivativeNormal(vec3 positionView) {
38
+ return normalize(cross(dFdx(positionView), dFdy(positionView)));
39
+ }`);break;default:(0,s.Xb)(t.normalType);case n.COUNT:}}(o=n||(n={}))[o.Attribute=0]="Attribute",o[o.Compressed=1]="Compressed",o[o.ScreenDerivative=2]="ScreenDerivative",o[o.COUNT=3]="COUNT"},97937:(e,t,r)=>{r.d(t,{a:()=>w,c:()=>g,e:()=>b,f:()=>M,g:()=>x,i:()=>R,o:()=>U,s:()=>k}),r(44208),r(53966);var n=r(34727),o=r(58083),s=r(38954),i=r(51850),a=r(87317),c=r(91829),u=r(34304),l=r(88582),f=r(71351);function d(e,t){const r=(0,s.l)(e),o=(0,n.YN)(e[2]/r),i=Math.atan2(e[1]/r,e[0]/r);return(0,s.i)(t,r,o,i),t}var m=r(44280),h=r(32114);const p=g();function g(){return(0,c.vt)()}const y=a.e,v=a.e;function b(e,t){return(0,a.c)(t,e)}function x(e){return e[3]}function w(e){return e}function M(e,t,r,n){return(0,c.fA)(e,t,r,n)}function T(e,t,r){if(null==t)return!1;if(!S(e,t,B))return!1;let{t0:n,t1:o}=B;if((n<0||o<n&&o>0)&&(n=o),n<0)return!1;if(r){const{origin:e,direction:o}=t;r[0]=e[0]+o[0]*n,r[1]=e[1]+o[1]*n,r[2]=e[2]+o[2]*n}return!0}const B={t0:0,t1:0};function S(e,t,r){const{origin:n,direction:o}=t,s=A;s[0]=n[0]-e[0],s[1]=n[1]-e[1],s[2]=n[2]-e[2];const i=o[0]*o[0]+o[1]*o[1]+o[2]*o[2];if(0===i)return!1;const a=2*(o[0]*s[0]+o[1]*s[1]+o[2]*s[2]),c=a*a-4*i*(s[0]*s[0]+s[1]*s[1]+s[2]*s[2]-e[3]*e[3]);if(c<0)return!1;const u=Math.sqrt(c);return r.t0=(-a-u)/(2*i),r.t1=(-a+u)/(2*i),!0}const A=(0,i.vt)();function R(e,t){return T(e,t,null)}function _(e,t,r){const n=h.rq.get(),i=h.Rc.get();(0,s.e)(n,t.origin,t.direction);const a=x(e);(0,s.e)(r,n,t.origin),(0,s.h)(r,r,1/(0,s.l)(r)*a);const c=P(e,t.origin),u=(0,m.g7)(t.origin,r);return(0,o.$0)(i,u+c,n),(0,s.t)(r,r,i),r}function C(e,t,r){const n=(0,s.d)(h.rq.get(),t,e),o=(0,s.h)(h.rq.get(),n,e[3]/(0,s.l)(n));return(0,s.g)(r,o,e)}function P(e,t){const r=(0,s.d)(h.rq.get(),t,e),o=(0,s.l)(r),i=x(e),a=i+Math.abs(i-o);return(0,n.XM)(i/a)}const E=(0,i.vt)();function O(e,t,r,n){const o=(0,s.d)(E,t,e);switch(r){case l._.X:{const e=d(o,E)[2];return(0,s.i)(n,-Math.sin(e),Math.cos(e),0)}case l._.Y:{const e=d(o,E),t=e[1],r=e[2],i=Math.sin(t);return(0,s.i)(n,-i*Math.cos(r),-i*Math.sin(r),Math.cos(t))}case l._.Z:return(0,s.n)(n,o);default:return}}function I(e,t){const r=(0,s.d)(q,t,e);return(0,s.l)(r)-e[3]}function U(e,t){const r=(0,s.s)(e,t),n=x(e);return r<=n*n}const q=(0,i.vt)(),N=g(),k=Object.freeze(Object.defineProperty({__proto__:null,NullSphere:p,altitudeAt:I,angleToSilhouette:P,axisAt:O,cameraFrustumCoverage:function(e,t,r,n){const o=x(e),s=o*o,i=t+.5*Math.PI,a=r*r+s-2*Math.cos(i)*r*o,c=Math.sqrt(a),u=a-s;if(u<=0)return.5;const l=Math.sqrt(u),f=Math.acos(l/c)-Math.asin(o/(c/Math.sin(i)));return Math.min(1,(f+.5*n)/n)},clear:function(e){e[0]=e[1]=e[2]=e[3]=0},closestPoint:function(e,t,r){return T(e,t,r)?r:((0,f.oC)(t,e,r),C(e,r,r))},closestPointOnSilhouette:_,containsPoint:U,copy:b,create:g,distanceToSilhouette:function(e,t){const r=(0,s.d)(h.rq.get(),t,e),n=(0,s.k)(r),o=e[3]*e[3];return Math.sqrt(Math.abs(n-o))},elevate:function(e,t,r){return e!==r&&(r[0]=e[0],r[1]=e[1],r[2]=e[2]),r[3]=e[3]+t,r},equals:v,exactEquals:y,fromCenterAndRadius:function(e,t){return(0,c.fA)(e[0],e[1],e[2],t)},fromRadius:function(e,t){return e[0]=e[1]=e[2]=0,e[3]=t,e},fromValues:M,getCenter:w,getExtent:function(e,t){return t},getRadius:x,intersectLine:function(e,t,r){const n=(0,f.Cr)(t,r);if(!S(e,n,B))return[];const{origin:o,direction:a}=n,{t0:c,t1:l}=B,d=t=>{const r=(0,i.vt)();return(0,s.b)(r,o,a,t),C(e,r,r)};return Math.abs(c-l)<(0,u.FD)()?[d(c)]:[d(c),d(l)]},intersectRay:T,intersectRayClosestSilhouette:function(e,t,r){if(T(e,t,r))return r;const n=_(e,t,h.rq.get());return(0,s.g)(r,t.origin,(0,s.h)(h.rq.get(),t.direction,(0,s.j)(t.origin,n)/(0,s.l)(t.direction))),r},intersectsRay:R,projectPoint:C,setAltitudeAt:function(e,t,r,n){const o=I(e,t),i=O(e,t,l._.Z,q),a=(0,s.h)(q,i,r-o);return(0,s.g)(n,t,a)},setExtent:function(e,t,r){return e!==r&&b(e,r),r},tmpSphere:N,union:function(e,t,r=(0,c.vt)()){const n=(0,s.j)(e,t),o=e[3],i=t[3];return n+i<o?((0,a.c)(r,e),r):n+o<i?((0,a.c)(r,t),r):((0,s.m)(r,e,t,(n+i-o)/(2*n)),r[3]=(n+o+i)/2,r)},wrap:function(e){return e}},Symbol.toStringTag,{value:"Module"}))},98353:(e,t,r)=>{r.d(t,{h:()=>s});var n=r(69270),o=r(74333);class s extends o.n{constructor(e,t){super(e,"mat3",n.c.Draw,((r,n,o)=>r.setUniformMatrix3fv(e,t(n,o))))}}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[788,2470,3186],{10407:(e,t,r)=>{r.d(t,{It:()=>f,LG:()=>o,OM:()=>u,Sm:()=>c,Y:()=>a,bK:()=>l,mm:()=>p,sQ:()=>d});var n=r(80586),i=r(16930),s=r(28735);function o(e,t){if(!a(e,t)){const r=e.typeKeywords;r?r.push(t):e.typeKeywords=[t]}}function a(e,t){return!!e.typeKeywords?.includes(t)}function l(e){return a(e,p.HOSTED_SERVICE)}function u(e,t){const r=e.typeKeywords;if(r){const e=r.indexOf(t);e>-1&&r.splice(e,1)}}function c(e,t,r){r?o(e,t):u(e,t)}async function d(e){const t=e.clone().normalize();let r;if(t.length>1)for(const e of t)r?e.width>r.width&&(r=e):r=e;else r=t[0];return async function(e){const t=e.spatialReference;if(t.isWGS84)return e.clone();if(t.isWebMercator)return(0,s.ci)(e);const r=i.A.WGS84;return await(0,n.initializeProjection)(t,r),(0,n.project)(e,r)}(r)}const p={CHARTS:"Charts",DYNAMIC:"Dynamic",DEVELOPER_BASEMAP:"DeveloperBasemap",GROUP_LAYER_MAP:"Map",HOSTED_SERVICE:"Hosted Service",JSAPI:"ArcGIS API for JavaScript",LOCAL_SCENE:"ViewingMode-Local",METADATA:"Metadata",MULTI_LAYER:"Multilayer",ORIENTED_IMAGERY_LAYER:"OrientedImageryLayer",SINGLE_LAYER:"Singlelayer",SUBTYPE_GROUP_LAYER:"SubtypeGroupLayer",SUBTYPE_GROUP_TABLE:"SubtypeGroupTable",TABLE:"Table",TILED_IMAGERY:"Tiled Imagery"};function f(e){const{portal:t,isOrgItem:r,itemControl:n}=e,i=t.user?.privileges;let s=!i||i.includes("features:user:edit"),o=!!r&&!!i?.includes("features:user:fullEdit");const a="update"===n||"admin"===n;return a?o=s=!0:o&&(s=!0),{features:{edit:s,fullEdit:o},content:{updateItem:a}}}},17311:(e,t,r)=>{r.d(t,{A:()=>p});var n=r(90237),i=r(69622),s=r(60999),o=r(5503),a=r(10107),l=(r(44208),r(53966),r(87811),r(40608)),u=r(30524),c=r(43668);let d=class extends i.A{constructor(e){super(e),this._featureUtils=null,this.effectivePopupTemplate=null}get _arcadeTask(){return this.expressionsUsedInTitle.length>0?this._get("_arcadeTask")||(0,s.UT)((()=>(0,c.l)())):null}get featureUtilsPromise(){return this._get("featureUtilsPromise")??r.e(9926).then(r.bind(r,29926)).then((e=>this._featureUtils=e))}get calculatedExpressions(){const e=new o.A;if(!this.expressionsUsedInTitle.length)return e;if(!this._arcadeTask?.value){for(const t of this.expressionsUsedInTitle??[])e.push({name:t.name,invalid:!0});return e}for(const t of this.expressionsUsedInTitle)try{const r=this._arcadeTask.value.arcade.parseScript(t.expression,["$layer","$map","$datastore"]);if(r.isAsync){e.push({name:t.name,invalid:!0});break}e.push({name:t.name,syntax:r,invalid:!1,func:this._arcadeTask.value.arcade.compileScript(r,{vars:{$feature:"any"}})})}catch{e.push({name:t.name,invalid:!0});break}return e}get expressionsUsedInTitle(){let e=this.effectivePopupTemplate?.title??"";return"string"!=typeof e?[]:(e=e.toLowerCase(),this.effectivePopupTemplate?.expressionInfos?.filter((t=>e.includes(`{expression/${t.name.toLowerCase()}}`)))??[])}get fieldInfoMap(){return this._featureUtils?this._createFieldInfoMap(this._featureUtils.getAllFieldInfos(this.effectivePopupTemplate)):null}get hasBadExpressions(){return this.calculatedExpressions.some((e=>!0===e.invalid))}get requiredFields(){const e=new Set;if(this._arcadeTask?.value&&!this.hasBadExpressions)for(const t of this.calculatedExpressions?.toArray()??[])try{const r=this._arcadeTask.value.arcade.extractFieldLiterals(t.syntax);for(const t of r){const r=t.split("."),n=this.fieldsIndex.get(r.at(-1)??"");n&&e.add(n.name)}}catch{}const t=this._extractFieldNames(this.workingTitle);for(const r of t){const t=this.fieldsIndex.get(r);t&&e.add(t.name)}return e}get titleFromDisplayField(){let e="";return this.displayField&&(e=this.fieldsIndex.get(this.displayField)?.name??""),e||(e=this.fieldsIndex.get(this.objectIdField)?.name??""),e?`{${e}}`:""}get workingTitle(){const e=this.effectivePopupTemplate?this.effectivePopupTemplate.title:"";return""===e||null==e||this.hasBadExpressions||"string"!=typeof e?this.titleFromDisplayField:e}async getTitle(e,t,r){try{const{attributes:n}=t,i=r?.timeZone??"system",[{substituteFieldsInLinksAndAttributes:s}]=await Promise.all([this.featureUtilsPromise,this._arcadeTask?.promise]);if(r.fetchMissingFields&&(t=await this._checkAndReQueryGraphic(e,t)),this.workingTitle&&this.fieldInfoMap){const r=this._createFormattedAttributes(e,t,i).global;return s({attributes:n,expressionAttributes:null,fieldInfoMap:this.fieldInfoMap,globalAttributes:r,layer:e,text:this.workingTitle})}return""}catch{}return""}async _checkAndReQueryGraphic(e,t){const r=t.getObjectId();if(null==r)return t;if(!(0,u.Kl)(this.requiredFields,t)){const t=e.createQuery();t.where="1=1",t.outFields=[...this.requiredFields],t.objectIds=[r];const n=await e.queryFeatures(t);if(1===n?.features.length)return n.features[0]}return t}_createFieldInfoMap(e){const t=new Map;if(!e)return t;for(const r of e){if(!r.fieldName)continue;const e=this.fieldsIndex.get(r.fieldName),n=e?.name??r.fieldName;r.fieldName=n,t.set(n.toLowerCase(),r)}return t}_createFormattedAttributes(e,t,r="system"){const n=this.effectivePopupTemplate?.fieldInfos??[],i={};if(!this._featureUtils)return{};if(!this.hasBadExpressions&&this.calculatedExpressions.length>0&&this._arcadeTask?.value){const r=this._arcadeTask.value.Feature.createFromGraphicLikeObject(t.geometry,t.attributes,e,null);for(const e of this.calculatedExpressions)try{i[`expression/${e.name}`]=e.func({vars:{$feature:r}})}catch{}}const s={...t.attributes,...i};return{global:this._featureUtils.formatAttributes({fieldInfos:n,attributes:s,graphic:t,timeZone:r,layer:e,fieldInfoMap:this.fieldInfoMap}),content:[]}}_extractFieldNames(e){return(0,u.nw)(e).filter((e=>!(0===e.indexOf("relationships/")||0===e.indexOf("expression/"))))}};(0,n._)([(0,a.MZ)({readOnly:!0})],d.prototype,"_arcadeTask",null),(0,n._)([(0,a.MZ)()],d.prototype,"_featureUtils",void 0),(0,n._)([(0,a.MZ)({readOnly:!0})],d.prototype,"featureUtilsPromise",null),(0,n._)([(0,a.MZ)({readOnly:!0})],d.prototype,"calculatedExpressions",null),(0,n._)([(0,a.MZ)()],d.prototype,"displayField",void 0),(0,n._)([(0,a.MZ)()],d.prototype,"effectivePopupTemplate",void 0),(0,n._)([(0,a.MZ)()],d.prototype,"expressionsUsedInTitle",null),(0,n._)([(0,a.MZ)()],d.prototype,"fieldsIndex",void 0),(0,n._)([(0,a.MZ)()],d.prototype,"fieldInfoMap",null),(0,n._)([(0,a.MZ)()],d.prototype,"fields",void 0),(0,n._)([(0,a.MZ)()],d.prototype,"objectIdField",void 0),(0,n._)([(0,a.MZ)()],d.prototype,"requiredFields",null),d=(0,n._)([(0,l.$)("esri.layers.support.TitleCreator")],d);const p=d},32730:(e,t,r)=>{r.d(t,{BI:()=>y,D3:()=>h,XJ:()=>m,lc:()=>f,mX:()=>g,rU:()=>_,tH:()=>T});var n=r(799);const i="__begin__",s="__end__",o=new RegExp(i,"ig"),a=new RegExp(s,"ig"),l=new RegExp("^"+i,"i"),u=new RegExp(s+"$","i"),c='"',d=c+" + ",p=" + "+c;function f(e){return e.replaceAll(new RegExp("\\[","g"),"{").replaceAll(new RegExp("\\]","g"),"}")}function h(e){return e.replaceAll(new RegExp("\\{","g"),"[").replaceAll(new RegExp("\\}","g"),"]")}function m(e){const t={expression:"",type:"none"};return e.labelExpressionInfo?e.labelExpressionInfo.value?(t.expression=e.labelExpressionInfo.value,t.type="conventional"):e.labelExpressionInfo.expression&&(t.expression=e.labelExpressionInfo.expression,t.type="arcade"):null!=e.labelExpression&&(t.expression=f(e.labelExpression),t.type="conventional"),t}function y(e){const t=m(e);switch(t.type){case"conventional":return g(t.expression);case"arcade":return t.expression}return null}function _(e){const t=m(e);switch(t.type){case"conventional":return function(e){const t=e?.match(b);return t?.[1].trim()||null}(t.expression);case"arcade":return T(t.expression)}return null}function g(e){let t;return e?(t=(0,n.HC)(e,(e=>i+'$feature["'+e+'"]'+s)),t=l.test(t)?t.replace(l,""):c+t,t=u.test(t)?t.replace(u,""):t+c,t=t.replaceAll(o,d).replaceAll(a,p)):t='""',t}const b=/^\s*\{([^}]+)\}\s*$/i,w=/^\s*(?:(?:\$feature\.(\w+))|(?:\$feature\[(["'])(.+)(\2)\]));?\s*$/i,v=/^\s*(?:(?:\$feature\.(\w+))|(?:\$feature\[(["'])(.+)(\2)\]));?\s*(?:DomainName\(\s*\$feature\s*,\s*(["'])(\1|\3)(\5)\s*\));?\s*$/i,x=/^\s*(?:DomainName\(\s*\$feature\s*,\s*(["'])(.+)(\1)\s*\));?\s*$/i;function T(e){if(!e)return null;let t=w.exec(e)||v.exec(e);return t?t[1]||t[3]:(t=x.exec(e),t?t[2]:null)}},32756:(e,t,r)=>{r.d(t,{Rr:()=>l,fY:()=>c,ne:()=>u});var n=r(90237),i=r(93637),s=r(10107),o=(r(44208),r(53966),r(87811),r(40608)),a=r(91880);function l(e,t,r){if(!e)return null;const n=e.find((e=>!!e.field));if(!n)return null;const i=new a.A;return i.read(n,r),[i]}const u={type:[a.A],json:{origins:{"web-scene":{write:!1,read:!1}},name:"layerDefinition.orderBy",read:{reader:l},write:{writer:function(e,t,r,n){const s=e.find((e=>!!e.field));s&&(0,i.sM)(r,[s.toJSON()],t)}}}},c=e=>{let t=class extends e{constructor(){super(...arguments),this.orderBy=null}};return(0,n._)([(0,s.MZ)(u)],t.prototype,"orderBy",void 0),t=(0,n._)([(0,o.$)("esri.layers.mixins.OrderedLayer")],t),t}},33143:(e,t,r)=>{r.d(t,{A:()=>f});var n=r(90237),i=r(69540),s=r(25482),o=r(10107),a=(r(44208),r(53966),r(87811),r(36005)),l=r(40608),u=r(43937),c=r(80451),d=r(29005);let p=class extends(i.A.ClonableMixin(s.A)){constructor(e){super(e),this.id=null,this.name=null,this.domains=null,this.templates=null}readDomains(e){const t={};for(const r of Object.keys(e))t[r]=(0,c.rS)(e[r]);return t}writeDomains(e,t){const r={};for(const t of Object.keys(e))e[t]&&(r[t]=e[t]?.toJSON());t.domains=r}};(0,n._)([(0,o.MZ)({json:{write:!0}})],p.prototype,"id",void 0),(0,n._)([(0,o.MZ)({json:{write:!0}})],p.prototype,"name",void 0),(0,n._)([(0,o.MZ)({json:{write:!0}})],p.prototype,"domains",void 0),(0,n._)([(0,a.w)("domains")],p.prototype,"readDomains",null),(0,n._)([(0,u.K)("domains")],p.prototype,"writeDomains",null),(0,n._)([(0,o.MZ)({type:[d.A],json:{write:!0}})],p.prototype,"templates",void 0),p=(0,n._)([(0,l.$)("esri.layers.support.FeatureType")],p);const f=p},39516:(e,t,r)=>{let n;async function i(){return null==n&&(n=r.e(4123).then(r.bind(r,44123)).then((e=>new e.WhereClauseCache(500,500)))),n}async function s(e,t){const r=await i(),n=r.get(e,t);if(null==n)throw r.getError(e,t);return n}function o(e,t){return e||=null,t||=null,"1=1"===e?t??e:"1=1"===t?e??t:e&&t?`(${e}) AND (${t})`:e??t}function a(e,t){return e||=null,t||=null,"1=1"===e||"1=1"===t||e===t?"1=1"===e?e:t:e&&t?`(${e}) OR (${t})`:e??t}r.d(t,{GP:()=>s,IW:()=>a,mA:()=>o})},41366:(e,t,r)=>{r.d(t,{K:()=>p,Q:()=>u});var n=r(90237),i=r(66552),s=r(53966),o=r(10107),a=(r(44208),r(87811),r(93223)),l=r(40608);const u=(0,i.O)()({naturalLog:"natural-log",squareRoot:"square-root",percentOfTotal:"percent-of-total",log:"log",field:"field"}),c="percent-of-total",d="field",p=e=>{let t=class extends e{constructor(){super(...arguments),this.normalizationField=null,this.normalizationMaxValue=null,this.normalizationMinValue=null,this.normalizationTotal=null}get normalizationType(){let e=this._get("normalizationType");const t=!!this.normalizationField,r=null!=this.normalizationTotal;return t||r?(e=t&&d||r&&c||null,t&&r&&s.A.getLogger(this).warn("warning: both normalizationField and normalizationTotal are set!")):e!==d&&e!==c||(e=null),e}set normalizationType(e){this._set("normalizationType",e)}};return(0,n._)([(0,o.MZ)({type:String,json:{name:"parameters.normalizationField",write:!0}})],t.prototype,"normalizationField",void 0),(0,n._)([(0,o.MZ)({type:Number,json:{name:"parameters.normalizationMaxValue",write:!0}})],t.prototype,"normalizationMaxValue",void 0),(0,n._)([(0,o.MZ)({type:Number,json:{name:"parameters.normalizationMinValue",write:!0}})],t.prototype,"normalizationMinValue",void 0),(0,n._)([(0,o.MZ)({type:Number,json:{name:"parameters.normalizationTotal",write:!0}})],t.prototype,"normalizationTotal",void 0),(0,n._)([(0,a.e)(u,{name:"parameters.normalizationType"})],t.prototype,"normalizationType",null),t=(0,n._)([(0,l.$)("esri.rest.support.NormalizationBinParametersMixin")],t),t}},41560:(e,t,r)=>{r.d(t,{Ch:()=>o,mW:()=>s});var n=r(34727),i=r(39516);function s(e,t){return{...t,filterMode:e.mode}}function o(e,t,r){const s=function(e){if("manual"===u(e))return null;const t=[Number.NEGATIVE_INFINITY,Number.POSITIVE_INFINITY];for(const{minScale:r,maxScale:n}of e.filters)t[0]=Math.max(t[0],c(r)),t[1]=Math.min(t[1],d(n));return t}(e);if(s&&((0,n.gg)(t,s[0])||(0,n.ZH)(r,s[1])))return"";const o=Array.from(a(e,t,r)),l=function(e,t,r){if(0===e.length)return!0;const i=c(e.at(0)?.minScale),s=d(e.at(-1)?.maxScale);if((0,n.ZH)(i,t)||(0,n.gg)(s,r))return!0;for(let t=0;t<e.length-1;t++){const r=e[t],i=e[t+1];if((0,n.ZH)(c(i.minScale),d(r.maxScale)))return!0}return!1}(o,t,r)?"1=1":o.map((e=>e.where||"1=1")).reduce(((e,t)=>(0,i.IW)(e,t)),"");return l&&"1=1"!==l?l:""}function*a(e,t,r){if("manual"===u(e)){const t=e.filters.find((t=>t.id===e.activeFilterId));t&&(yield t)}else{"object"==typeof t&&(t=t.scale);for(const n of e.filters)l(n.minScale,n.maxScale,t,r)&&(yield n)}}function l(e,t,r,i){return e=c(e),r=c(r),t=d(t),!(!(0,n.Sp)(r,e)&&(i??r)>e||(0,n.Hx)(t,r)||void 0!==i&&(0,n.Sp)(i,e))}function u(e){return"mode"in e?e.mode:e.filterMode}function c(e){return e||Number.POSITIVE_INFINITY}function d(e){return e||0}},46140:(e,t,r)=>{r.d(t,{R:()=>i});var n=r(49186);let i=class e{constructor(e,t,r=""){this.major=e,this.minor=t,this._context=r}lessThan(e,t){return this.major<e||e===this.major&&this.minor<t}greaterEqual(e,t){return!this.lessThan(e,t)}validate(e){if(this.major!==e.major){const t=this._context&&this._context+":",r=this._context&&this._context+" ";throw new n.A(t+"unsupported-version",`Required major ${r}version is '${this.major}', but got '\${version.major}.\${version.minor}'`,{version:e})}}clone(){return new e(this.major,this.minor,this._context)}static parse(t,r=""){const[i,s]=t.split("."),o=/^\s*\d+\s*$/;if(!i?.match||!o.test(i))throw new n.A((r&&r+":")+"invalid-version","Expected major version to be a number, but got '${version}'",{version:t});if(!s?.match||!o.test(s))throw new n.A((r&&r+":")+"invalid-version","Expected minor version to be a number, but got '${version}'",{version:t});const a=parseInt(i,10),l=parseInt(s,10);return new e(a,l,r)}}},55674:(e,t,r)=>{r.d(t,{Ad:()=>f,Gj:()=>y,QY:()=>p,lL:()=>_,xR:()=>h});var n=r(66131),i=r(49186),s=(r(44208),r(44729)),o=r(15032),a=r(65864),l=r(95466),u=r(43668),c=r(98623);const d=["geometry","scale","timeProperties"];function p(e,t){if(null!=t)for(const r of d)t.hasArcadeDependency(r)&&e.add(r);return e}function f(e,t){return m.create(e,t,null,["$feature","$view"])}function h(e,t,r){return m.create(e,t,r,["$feature","$view","$config"])}class m{static async create(e,t,r,n){const{arcade:s,Dictionary:o}=await(0,u.l)();let a;try{a=s.parseScript(e)}catch(t){throw new i.A("arcade-bad-expression","Failed to parse arcade script",{script:e,error:t})}const l=s.scriptUsesGeometryEngine(a);l&&await s.enableGeometrySupport(),await s.loadDependentModules(new Set,a,null,!1,l);const c={vars:n.reduce(((e,t)=>({...e,[t]:null})),{}),spatialReference:t,useAsync:!1},d=s.compileScript(a,c);let p=null;null!=r&&(p=new o(r),p.immutable=!0);const f=new o;return f.immutable=!1,f.setField("scale",0),new m(e,s,a,d,t,f,p,o)}constructor(e,t,r,n,i,s,o,a){this.script=e,this._arcade=t,this._syntaxTree=r,this._compiled=n,this._spatialReference=i,this._viewDict=s,this._configDict=o,this._dictionaryCtor=a,this._dependencies=new Map,this._featureReader=new y,this._dependencies.set("geometry",t.scriptTouchesGeometry(this._syntaxTree)),this._dependencies.set("scale",this._arcade.referencesMember(this._syntaxTree,"scale")),this._dependencies.set("timeProperties",this._arcade.scriptUsesViewProperties(this._syntaxTree,["timeProperties"]))}evaluate(e,t){const r=t.$view?.timeZone;if(t.$view){let e;if(this._viewDict.setField("scale",t.$view.scale),null!=t.$view.timeProperties){const{currentStart:i,currentEnd:s}=t.$view.timeProperties;e=new this._dictionaryCtor({currentStart:null!=i?null!=r?n.lY.epochToArcadeDate(i,r):n.lY.unknownEpochToArcadeDate(i):void 0,currentEnd:null!=s?null!=r?n.lY.epochToArcadeDate(s,r):n.lY.unknownEpochToArcadeDate(s):void 0,startIncluded:!0,endIncluded:!0})}this._viewDict.setField("timeProperties",e)}return this._compiled({vars:{$view:this._viewDict,$config:this._configDict,$feature:e},spatialReference:this._spatialReference,timeZone:r})}repurposeFeature(e,t){return this._featureReader.bind(e,t,this._spatialReference),this._featureReader}references(e){return this._dependencies.get(e)??!1}}class y{constructor(){this._boundTarget=null,this._boundSchema={fields:null,fieldsIndex:null,spatialReference:null,get geometryType(){return null},get objectIdField(){return null}},this.arcadeDeclaredClass="esri.arcade.Feature",this._contextTimeZone=null}bind(e,t,r){const n=t??new l.A(_(e.attributes));this._boundTarget=e,this._boundSchema.fields=n.fields,this._boundSchema.fieldsIndex=n,this._boundSchema.spatialReference=r}_getField(e){return this._boundSchema.fieldsIndex.get(e)}get contextTimeZone(){return this._contextTimeZone}set contextTimeZone(e){this._contextTimeZone=e}readArcadeFeature(){return this}hasField(e){return this._boundSchema.fieldsIndex.has(e)}geometry(){if("fromJSON"in this._boundTarget)return this._boundTarget.geometry;const e=(0,a.rS)(this._boundTarget.geometry);if(e){if(!this._boundSchema.spatialReference)throw new Error("InternalError: Expected spatial reference to be defined");e.spatialReference=this._boundSchema.spatialReference}return e}isUnknownDateTimeField(e){return this._boundSchema.fieldsIndex.getTimeZone(e)===c.L5}field(e,t=!0){const r=this._getField(e);if(r)switch(r.type){case"date-only":case"esriFieldTypeDateOnly":return s.n.fromReader(this._boundTarget.attributes[r.name]);case"time-only":case"esriFieldTypeTimeOnly":return o.k.fromReader(this._boundTarget.attributes[r.name]);case"esriFieldTypeTimestampOffset":case"timestamp-offset":return n.lY.fromReaderAsTimeStampOffset(this._boundTarget.attributes[r.name]);case"date":case"esriFieldTypeDate":{const t=this._boundTarget.attributes[r.name];return this.isUnknownDateTimeField(e)?n.lY.unknownEpochToArcadeDate(t):n.lY.epochToArcadeDate(t,this.contextTimeZone??c.qU)}default:return this._boundTarget.attributes[r.name]}if(t)throw new Error(`Field ${e} does not exist`);return null}setField(e,t){throw new Error("Unable to update feature attribute values, feature is readonly")}keys(){return this._boundSchema.fieldsIndex.fields.map((e=>e.name))}castToText(e=!1){return JSON.stringify(this._boundTarget)}gdbVersion(){return null}fullSchema(){return this._boundSchema}castAsJson(e=null){return{attributes:this._boundTarget.attributes,geometry:!0===e?.keepGeometryType?this.geometry():this.geometry()?.toJSON()??null}}castAsJsonAsync(e=null,t=null){return Promise.resolve(this.castAsJson(t))}}function _(e){const t=[];for(const r in e)t.push({name:r,alias:r,type:"string"==typeof e[r]?"esriFieldTypeString":"esriFieldTypeDouble"});return t}},58501:(e,t,r)=>{r.d(t,{q:()=>i});var n=r(62815);function i(e,t,r){if(!r?.features||!r.hasZ)return;const i=(0,n.N)(r.geometryType,t,e.outSpatialReference);if(null!=i)for(const e of r.features)i(e.geometry)}},60999:(e,t,r)=>{r.d(t,{DZ:()=>h,Ke:()=>f,Tj:()=>c,UT:()=>m,jJ:()=>u});var n=r(90237),i=r(69622),s=r(97768),o=r(74887),a=r(10107),l=r(40608);function u(e,t,r){return(0,o.Lx)(e.map(((e,n)=>t.apply(r,[e,n]))))}async function c(e,t,r){return(await(0,o.Lx)(e.map(((e,n)=>t.apply(r,[e,n]))))).map((e=>e.value))}function d(e){return{ok:!0,value:e}}function p(e){return{ok:!1,error:e}}async function f(e){if(null==e)return{ok:!1,error:new Error("no promise provided")};try{return d(await e)}catch(e){return p(e)}}async function h(e){try{return d(await e)}catch(e){return(0,o.QP)(e),p(e)}}function m(e,t){return new y(e,t)}let y=class extends i.A{get value(){return null!=(e=this._result)&&!0===e.ok?e.value:null;var e}get error(){return null!=(e=this._result)&&!1===e.ok?e.error:null;var e}get finished(){return null!=this._result}constructor(e,t){super({}),this._result=null,this._abortHandle=null,this.abort=()=>{this._abortController=(0,s.DC)(this._abortController)},this.remove=this.abort,this._abortController=new AbortController;const{signal:r}=this._abortController;this.promise=e(r),this.promise.then((e=>{this._result=d(e),this._cleanup()}),(e=>{this._result=p(e),this._cleanup()})),this._abortHandle=(0,o.u7)(t,this.abort)}normalizeCtorArgs(){return{}}destroy(){this.abort()}_cleanup(){this._abortHandle=(0,s.xt)(this._abortHandle),this._abortController=null}};(0,n._)([(0,a.MZ)()],y.prototype,"value",null),(0,n._)([(0,a.MZ)()],y.prototype,"error",null),(0,n._)([(0,a.MZ)()],y.prototype,"finished",null),(0,n._)([(0,a.MZ)()],y.prototype,"promise",void 0),(0,n._)([(0,a.MZ)()],y.prototype,"_result",void 0),y=(0,n._)([(0,l.$)("esri.core.asyncUtils.ReactiveTask")],y)},73681:(e,t,r)=>{r.d(t,{n:()=>l});var n=r(49186),i=r(53966),s=r(46140),o=r(95466),a=r(55674);class l{static async from(e,t,r){const o=e.dictionary_version?s.R.parse(e.dictionary_version):null,c=new Set(e.itemsNames),d={};if(t)for(const e in t)d[e]=t[e];if(e.authoringInfo.configuration)for(const t of e.authoringInfo.configuration)d.hasOwnProperty(t.name)||(d[t.name]=t.value);const p=new Set(e.authoringInfo.symbol);for(const e of Object.keys(r))p.delete(e);p.size&&i.A.getLogger("esri.renderers.support.DictionaryScriptEvaluator").warnOnce("missing-fields: fieldMap entries for the following symbol fields are missing",{symbolFields:p});const f=await(0,a.xR)(e.expression,null,d);if(!f)throw new n.A("dictionary-renderer:expression-error","Unable to create dictionary renderer expression");const h=!o||!o.greaterEqual(4,0);h&&i.A.getLogger("esri.renderers.support.DictionaryScriptEvaluator").warnOnce("Dictionary script does not support native field types. Applying fallback",{version:o});const m=new u(r,h);return new l(h,c,f,m)}constructor(e,t,r,n){this._requiresFieldCoercionToString=e,this._itemNames=t,this._compiled=r,this._reader=n}get itemNames(){return this._itemNames}evaluate(e,t,r,n){try{return this._reader.bind(e,r,n),this._compiled.evaluate(this._reader,{$view:{scale:t}})}catch(e){i.A.getLogger("esri.renderers.support.DictionaryScriptEvaluator").warnOnce("arcade: dictionary script evaluation failed",{error:e})}return null}createDictionaryFieldsIndex(e){if(!this._requiresFieldCoercionToString)return new o.A(e);const t=e.map((e=>({...e,type:"esriFieldTypeString"})));return new o.A(t)}}class u extends a.Gj{constructor(e,t){super(),this._fieldMap=e,this._requiresFieldCoercionToString=t}_getField(e){const t=this._fieldMap[e]??e;return this._boundSchema.fieldsIndex.get(t)}field(e){if(!this._requiresFieldCoercionToString)return super.field(e,!1);const t=this._getField(e);return null==t?"":""+this._boundTarget.attributes[t.name]}}},77548:(e,t,r)=>{r.d(t,{tk:()=>d,BR:()=>c,wI:()=>u,Ov:()=>a,W_:()=>l,TU:()=>o,XX:()=>s});var n=r(70333),i=r(78888);r(5503),r(36563),r(36708),new WeakMap;const s={Point:"SceneLayer","3DObject":"SceneLayer",IntegratedMesh:"IntegratedMeshLayer",PointCloud:"PointCloudLayer",Building:"BuildingSceneLayer"};function o(e){const t=e?.type;return"building-scene"===t||"integrated-mesh"===t||"point-cloud"===t||"scene"===t}function a(e){return"feature"===e?.type&&!e.url&&"memory"===e.source?.type}function l(e){const t=e?.type;return("feature"===t||"subtype-group"===t||"oriented-imagery"===t)&&"feature-layer"===e?.source?.type}async function u(e,t){const r=n.id?.findServerInfo(e);if(null!=r?.currentVersion)return r.owningSystemUrl||null;const s=e.toLowerCase().indexOf("/rest/services");if(-1===s)return null;const o=`${e.slice(0,s)}/rest/info`,a=null!=t?t.signal:null,{data:l}=await(0,i.A)(o,{query:{f:"json"},responseType:"json",signal:a});return l?.owningSystemUrl||null}function c(e){return function(e){if(!("capabilities"in e))return!1;switch(e.type){case"catalog":case"catalog-footprint":case"csv":case"feature":case"geojson":case"imagery":case"knowledge-graph-sublayer":case"ogc-feature":case"oriented-imagery":case"scene":case"sublayer":case"subtype-group":case"subtype-sublayer":case"wfs":return!0;default:return!1}}(e)?"effectiveCapabilities"in e?e.effectiveCapabilities:e.capabilities:null}function d(e){return!!function(e){if(!("editingEnabled"in e))return!1;switch(e.type){case"csv":case"feature":case"geojson":case"oriented-imagery":case"scene":case"subtype-group":case"subtype-sublayer":return!0;default:return!1}}(e)&&("effectiveEditingEnabled"in e?e.effectiveEditingEnabled:e.editingEnabled)}},91880:(e,t,r)=>{r.d(t,{A:()=>d});var n,i=r(90237),s=r(66552),o=r(25482),a=r(10107),l=(r(44208),r(53966),r(87811),r(40608));const u=new s.J({asc:"ascending",desc:"descending"});let c=class extends o.A{static{n=this}constructor(e){super(e),this.field=null,this.valueExpression=null,this.order="ascending"}clone(){return new n({field:this.field,valueExpression:this.valueExpression,order:this.order})}};(0,i._)([(0,a.MZ)({type:String,json:{write:!0}})],c.prototype,"field",void 0),(0,i._)([(0,a.MZ)({type:String,json:{write:!0,origins:{"web-scene":{read:!1,write:!1}}}})],c.prototype,"valueExpression",void 0),(0,i._)([(0,a.MZ)({type:u.apiValues,json:{type:u.jsonValues,read:u.read,write:u.write}})],c.prototype,"order",void 0),c=n=(0,i._)([(0,l.$)("esri.layers.support.OrderByInfo")],c);const d=c},92935:(e,t,r)=>{var n;r.d(t,{X:()=>n}),function(e){e[e.SAVE=0]="SAVE",e[e.SAVE_AS=1]="SAVE_AS"}(n||(n={}))}}]);
@@ -1 +1 @@
1
- "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[4399],{4399:(e,t,r)=>{r.d(t,{loadGLTF:()=>P});var o,n,s=r(53966),a=r(9093),i=r(63907),u=r(49186),l=r(91869),c=r(74887),f=r(84952),d=r(46140),p=r(58083),h=r(67026),m=r(82534),T=r(13030),w=r(24045);r(44208);class g{constructor(e){this._data=e,this._offset4=0,this._dataUint32=new Uint32Array(this._data,0,Math.floor(this._data.byteLength/4))}readUint32(){const e=this._offset4;return this._offset4+=1,this._dataUint32[e]}readUint8Array(e){const t=4*this._offset4;return this._offset4+=e/4,new Uint8Array(this._data,t,e)}remainingBytes(){return this._data.byteLength-4*this._offset4}}!function(e){e.SCALAR="SCALAR",e.VEC2="VEC2",e.VEC3="VEC3",e.VEC4="VEC4",e.MAT2="MAT2",e.MAT3="MAT3",e.MAT4="MAT4"}(o||(o={})),function(e){e[e.ARRAY_BUFFER=34962]="ARRAY_BUFFER",e[e.ELEMENT_ARRAY_BUFFER=34963]="ELEMENT_ARRAY_BUFFER"}(n||(n={}));var x=r(21818);const b={baseColorFactor:[1,1,1,1],metallicFactor:1,roughnessFactor:1},y={pbrMetallicRoughness:b,emissiveFactor:[0,0,0],alphaMode:"OPAQUE",alphaCutoff:.5,doubleSided:!1},_={ESRI_externalColorMixMode:"tint",ESRI_receiveShadows:!0,ESRI_receiveAmbientOcclusion:!0},A=(e={})=>{const t={...b,...e.pbrMetallicRoughness},r=function(e){switch(e.ESRI_externalColorMixMode){case"multiply":case"tint":case"ignore":case"replace":break;default:(0,x.Xb)(e.ESRI_externalColorMixMode),e.ESRI_externalColorMixMode="tint"}return e}({..._,...e.extras});return{...y,...e,pbrMetallicRoughness:t,extras:r}},S={magFilter:i.Cj.LINEAR,minFilter:i.Cj.LINEAR_MIPMAP_LINEAR,wrapS:i.pF.REPEAT,wrapT:i.pF.REPEAT};var R=r(51530);const E=1179937895;class O{constructor(e,t,r,o){if(this._context=e,this.uri=t,this.json=r,this._glbBuffer=o,this._bufferLoaders=new Map,this._textureLoaders=new Map,this._textureCache=new Map,this._materialCache=new Map,this._nodeParentMap=new Map,this._nodeTransformCache=new Map,this._supportedExtensions=["KHR_texture_basisu","KHR_texture_transform"],this._baseUri=function(e){let t,r;return e.replace(/^(.*\/)?([^/]*)$/,((e,o,n)=>(t=o||"",r=n||"",""))),{dirPart:t,filePart:r}}(this.uri).dirPart,this._checkVersionSupported(),this._checkRequiredExtensionsSupported(),null==r.scenes)throw new u.A("gltf-loader-unsupported-feature","Scenes must be defined.");if(null==r.meshes)throw new u.A("gltf-loader-unsupported-feature","Meshes must be defined");if(null==r.nodes)throw new u.A("gltf-loader-unsupported-feature","Nodes must be defined.");this._computeNodeParents()}static async load(e,t,r){if((0,f.DB)(t)){const r=(0,f.r$)(t);if(r&&"model/gltf-binary"!==r.mediaType)try{const o=JSON.parse(r.isBase64?atob(r.data):r.data);return new O(e,t,o)}catch{}const o=(0,f.lJ)(t);if(O._isGLBData(o))return this._fromGLBData(e,t,o)}if(U.test(t)||"gltf"===r?.expectedType){const o=await e.loadJSON(t,r);return new O(e,t,o)}const o=await e.loadBinary(t,r);if(O._isGLBData(o))return this._fromGLBData(e,t,o);if(D.test(t)||"glb"===r?.expectedType)throw new u.A("gltf-loader-invalid-glb","This is not a valid glb file.");const n=await e.loadJSON(t,r);return new O(e,t,n)}static _isGLBData(e){if(null==e)return!1;const t=new g(e);return t.remainingBytes()>=4&&t.readUint32()===E}static async _fromGLBData(e,t,r){const o=await O._parseGLBData(r);return new O(e,t,o.json,o.binaryData)}static async _parseGLBData(e){const t=new g(e);if(t.remainingBytes()<12)throw new u.A("gltf-loader-error","glb binary data is insufficiently large.");const r=t.readUint32(),o=t.readUint32(),n=t.readUint32();if(r!==E)throw new u.A("gltf-loader-error","Magic first 4 bytes do not fit to expected glb value.");if(e.byteLength<n)throw new u.A("gltf-loader-error","glb binary data is smaller than header specifies.");if(2!==o)throw new u.A("gltf-loader-unsupported-feature","An unsupported glb container version was detected. Only version 2 is supported.");let a,i,l=0;for(;t.remainingBytes()>=8;){const e=t.readUint32(),r=t.readUint32();if(0===l){if(1313821514!==r)throw new u.A("gltf-loader-error","First glb chunk must be JSON.");if(e<0)throw new u.A("gltf-loader-error","No JSON data found.");a=await(0,R.KB)(t.readUint8Array(e))}else if(1===l){if(5130562!==r)throw new u.A("gltf-loader-unsupported-feature","Second glb chunk expected to be BIN.");i=t.readUint8Array(e)}else s.A.getLogger("esri.views.3d.glTF").warn("[Unsupported Feature] More than 2 glb chunks detected. Skipping.");l+=1}if(!a)throw new u.A("gltf-loader-error","No glb JSON chunk detected.");return{json:a,binaryData:i}}async getBuffer(e,t){const r=this.json.buffers[e];if(null==r.uri){if(null==this._glbBuffer)throw new u.A("gltf-loader-error","glb buffer not present");return this._glbBuffer}const o=await this._getBufferLoader(e,t);if(o.byteLength!==r.byteLength)throw new u.A("gltf-loader-error","Buffer byte lengths should match.");return o}async _getBufferLoader(e,t){const r=this._bufferLoaders.get(e);if(r)return r;const o=this.json.buffers[e].uri,n=this._context.loadBinary(this._resolveUri(o),t).then((e=>new Uint8Array(e)));return this._bufferLoaders.set(e,n),n}async getAccessor(e,t){if(!this.json.accessors)throw new u.A("gltf-loader-unsupported-feature","Accessors missing.");const r=this.json.accessors[e];if(null==r?.bufferView)throw new u.A("gltf-loader-unsupported-feature","Some accessor does not specify a bufferView.");if(r.type in[o.MAT2,o.MAT3,o.MAT4])throw new u.A("gltf-loader-unsupported-feature",`AttributeType ${r.type} is not supported`);const n=this.json.bufferViews[r.bufferView],s=await this.getBuffer(n.buffer,t),a=M[r.type],i=I[r.componentType],l=a*i,c=n.byteStride||l;return{raw:s.buffer,byteStride:c,byteOffset:s.byteOffset+(n.byteOffset||0)+(r.byteOffset||0),entryCount:r.count,isDenselyPacked:c===l,componentCount:a,componentByteSize:i,componentType:r.componentType,min:r.min,max:r.max,normalized:!!r.normalized}}async getIndexData(e,t){if(null==e.indices)return;const r=await this.getAccessor(e.indices,t);if(r.isDenselyPacked)switch(r.componentType){case i.pe.UNSIGNED_BYTE:return new Uint8Array(r.raw,r.byteOffset,r.entryCount);case i.pe.UNSIGNED_SHORT:return new Uint16Array(r.raw,r.byteOffset,r.entryCount);case i.pe.UNSIGNED_INT:return new Uint32Array(r.raw,r.byteOffset,r.entryCount)}else switch(r.componentType){case i.pe.UNSIGNED_BYTE:return(0,w.m)(L(T.SL,r));case i.pe.UNSIGNED_SHORT:return(0,w.m)(L(T.h,r));case i.pe.UNSIGNED_INT:return(0,w.m)(L(T.P,r))}}async getPositionData(e,t){if(null==e.attributes.POSITION)throw new u.A("gltf-loader-unsupported-feature","No POSITION vertex data found.");const r=await this.getAccessor(e.attributes.POSITION,t);if(r.componentType!==i.pe.FLOAT)throw new u.A("gltf-loader-unsupported-feature","Expected type FLOAT for POSITION vertex attribute, but found "+i.pe[r.componentType]);if(3!==r.componentCount)throw new u.A("gltf-loader-unsupported-feature","POSITION vertex attribute must have 3 components, but found "+r.componentCount.toFixed());return L(T.xs,r)}async getNormalData(e,t){if(null==e.attributes.NORMAL)throw new u.A("gltf-loader-error","No NORMAL vertex data found.");const r=await this.getAccessor(e.attributes.NORMAL,t);if(r.componentType!==i.pe.FLOAT)throw new u.A("gltf-loader-unsupported-feature","Expected type FLOAT for NORMAL vertex attribute, but found "+i.pe[r.componentType]);if(3!==r.componentCount)throw new u.A("gltf-loader-unsupported-feature","NORMAL vertex attribute must have 3 components, but found "+r.componentCount.toFixed());return L(T.xs,r)}async getTangentData(e,t){if(null==e.attributes.TANGENT)throw new u.A("gltf-loader-error","No TANGENT vertex data found.");const r=await this.getAccessor(e.attributes.TANGENT,t);if(r.componentType!==i.pe.FLOAT)throw new u.A("gltf-loader-unsupported-feature","Expected type FLOAT for TANGENT vertex attribute, but found "+i.pe[r.componentType]);if(4!==r.componentCount)throw new u.A("gltf-loader-unsupported-feature","TANGENT vertex attribute must have 4 components, but found "+r.componentCount.toFixed());return L(T.Eq,r)}async getTextureCoordinates(e,t){if(null==e.attributes.TEXCOORD_0)throw new u.A("gltf-loader-error","No TEXCOORD_0 vertex data found.");const r=await this.getAccessor(e.attributes.TEXCOORD_0,t);if(2!==r.componentCount)throw new u.A("gltf-loader-unsupported-feature","TEXCOORD_0 vertex attribute must have 2 components, but found "+r.componentCount.toFixed());if(r.componentType===i.pe.FLOAT)return L(T.gH,r);if(!r.normalized)throw new u.A("gltf-loader-unsupported-feature","Integer component types are only supported for a normalized accessor for TEXCOORD_0.");return function(e){switch(e.componentType){case i.pe.BYTE:return new T.D6(e.raw,e.byteOffset,e.byteStride,e.byteOffset+e.byteStride*e.entryCount);case i.pe.UNSIGNED_BYTE:return new T.LC(e.raw,e.byteOffset,e.byteStride,e.byteOffset+e.byteStride*e.entryCount);case i.pe.SHORT:return new T.mJ(e.raw,e.byteOffset,e.byteStride,e.byteOffset+e.byteStride*e.entryCount);case i.pe.UNSIGNED_SHORT:return new T.Yi(e.raw,e.byteOffset,e.byteStride,e.byteOffset+e.byteStride*e.entryCount);case i.pe.UNSIGNED_INT:return new T.An(e.raw,e.byteOffset,e.byteStride,e.byteOffset+e.byteStride*e.entryCount);case i.pe.FLOAT:return new T.gH(e.raw,e.byteOffset,e.byteStride,e.byteOffset+e.byteStride*e.entryCount)}}(r)}async getVertexColors(e,t){if(null==e.attributes.COLOR_0)throw new u.A("gltf-loader-error","No COLOR_0 vertex data found.");const r=await this.getAccessor(e.attributes.COLOR_0,t);if(4!==r.componentCount&&3!==r.componentCount)throw new u.A("gltf-loader-unsupported-feature","COLOR_0 attribute must have 3 or 4 components, but found "+r.componentCount.toFixed());if(4===r.componentCount){if(r.componentType===i.pe.FLOAT)return L(T.Eq,r);if(r.componentType===i.pe.UNSIGNED_BYTE)return L(T.XP,r);if(r.componentType===i.pe.UNSIGNED_SHORT)return L(T.Uz,r)}else if(3===r.componentCount){if(r.componentType===i.pe.FLOAT)return L(T.xs,r);if(r.componentType===i.pe.UNSIGNED_BYTE)return L(T.eI,r);if(r.componentType===i.pe.UNSIGNED_SHORT)return L(T.nS,r)}throw new u.A("gltf-loader-unsupported-feature","Unsupported component type for COLOR_0 attribute: "+i.pe[r.componentType])}hasPositions(e){return void 0!==e.attributes.POSITION}hasNormals(e){return void 0!==e.attributes.NORMAL}hasVertexColors(e){return void 0!==e.attributes.COLOR_0}hasTextureCoordinates(e){return void 0!==e.attributes.TEXCOORD_0}hasTangents(e){return void 0!==e.attributes.TANGENT}async getMaterial(e,t,r){let o=e.material?this._materialCache.get(e.material):void 0;if(!o){const n=null!=e.material?A(this.json.materials[e.material]):A(),s=n.pbrMetallicRoughness,a=this.hasVertexColors(e),i=this.getTexture(s.baseColorTexture,t),u=this.getTexture(n.normalTexture,t),l=r?this.getTexture(n.occlusionTexture,t):void 0,c=r?this.getTexture(n.emissiveTexture,t):void 0,f=r?this.getTexture(s.metallicRoughnessTexture,t):void 0,d=null!=e.material?e.material:-1;o={alphaMode:n.alphaMode,alphaCutoff:n.alphaCutoff,color:s.baseColorFactor,doubleSided:!!n.doubleSided,colorTexture:await i,normalTexture:await u,name:n.name,id:d,occlusionTexture:await l,emissiveTexture:await c,emissiveFactor:n.emissiveFactor,metallicFactor:s.metallicFactor,roughnessFactor:s.roughnessFactor,metallicRoughnessTexture:await f,hasVertexColors:a,ESRI_externalColorMixMode:n.extras.ESRI_externalColorMixMode,colorTextureTransform:s?.baseColorTexture?.extensions?.KHR_texture_transform,normalTextureTransform:n.normalTexture?.extensions?.KHR_texture_transform,occlusionTextureTransform:n.occlusionTexture?.extensions?.KHR_texture_transform,emissiveTextureTransform:n.emissiveTexture?.extensions?.KHR_texture_transform,metallicRoughnessTextureTransform:s?.metallicRoughnessTexture?.extensions?.KHR_texture_transform,receiveAmbientOcclusion:n.extras.ESRI_receiveAmbientOcclusion,receiveShadows:n.extras.ESRI_receiveShadows}}return o}async getTexture(e,t){if(!e)return;if(0!==(e.texCoord||0))throw new u.A("gltf-loader-unsupported-feature","Only TEXCOORD with index 0 is supported.");const r=e.index,o=this.json.textures[r],n=(c=null!=o.sampler?this.json.samplers[o.sampler]:{},{...S,...c}),s=F(o),a=this.json.images[s],i=await this._loadTextureImageData(r,o,t);var c;return(0,l.tE)(this._textureCache,r,(()=>{const e=e=>33071===e||33648===e||10497===e,t=e=>{throw new u.A("gltf-loader-error",`Unexpected TextureSampler WrapMode: ${e}`)};return{data:i,wrapS:e(n.wrapS)?n.wrapS:t(n.wrapS),wrapT:e(n.wrapT)?n.wrapT:t(n.wrapT),minFilter:n.minFilter,name:a.name,id:r}}))}getNodeTransform(e){if(void 0===e)return N;let t=this._nodeTransformCache.get(e);if(!t){const r=this.getNodeTransform(this._getNodeParent(e)),o=this.json.nodes[e];o.matrix?t=(0,p.lw)((0,a.vt)(),r,o.matrix):o.translation||o.rotation||o.scale?(t=(0,a.o8)(r),o.translation&&(0,p.Tl)(t,t,o.translation),o.rotation&&(C[3]=(0,h.Xd)(C,o.rotation),(0,p.e$)(t,t,C[3],C)),o.scale&&(0,p.hs)(t,t,o.scale)):t=(0,a.o8)(r),this._nodeTransformCache.set(e,t)}return t}_resolveUri(e){return(0,f.s2)(e,this._baseUri)}_getNodeParent(e){return this._nodeParentMap.get(e)}_checkVersionSupported(){const e=d.R.parse(this.json.asset.version,"glTF");v.validate(e)}_checkRequiredExtensionsSupported(){const e=this.json;if(e.extensionsRequired&&!e.extensionsRequired.every((e=>this._supportedExtensions.includes(e))))throw new u.A("gltf-loader-unsupported-feature","gltf loader was not able to load unsupported feature. Required extensions: "+e.extensionsRequired.join(", "))}_computeNodeParents(){this.json.nodes.forEach(((e,t)=>{e.children&&e.children.forEach((e=>{this._nodeParentMap.set(e,t)}))}))}async _loadTextureImageData(e,t,r){const o=this._textureLoaders.get(e);if(o)return o;const n=this._createTextureLoader(t,r);return this._textureLoaders.set(e,n),n}async _createTextureLoader(e,t){const r=F(e),o=this.json.images[r];if(o.uri){if(o.uri.endsWith(".ktx2")){const e=await this._context.loadBinary(this._resolveUri(o.uri),t);return new R.Xi(new Uint8Array(e))}return this._context.loadImage(this._resolveUri(o.uri),t)}if(null==o.bufferView)throw new u.A("gltf-loader-unsupported-feature","Image bufferView must be defined.");if(null==o.mimeType)throw new u.A("gltf-loader-unsupported-feature","Image mimeType must be defined.");const n=this.json.bufferViews[o.bufferView],s=await this.getBuffer(n.buffer,t);if(null!=n.byteStride)throw new u.A("gltf-loader-unsupported-feature","byteStride not supported for image buffer");const a=s.byteOffset+(n.byteOffset||0);return(0,R.pn)(new Uint8Array(s.buffer,a,n.byteLength),o.mimeType)}async getLoadedBuffersSize(){if(this._glbBuffer)return this._glbBuffer.byteLength;const e=await(0,c.nA)(Array.from(this._bufferLoaders.values())),t=await(0,c.nA)(Array.from(this._textureLoaders.values()));return e.reduce(((e,t)=>e+(t?.byteLength??0)),0)+t.reduce(((e,t)=>e+(t?(0,R.x3)(t)?t.data.byteLength:t.width*t.height*4:0)),0)}}const N=(0,p.hM)((0,a.vt)(),Math.PI/2),v=new d.R(2,0,"glTF"),C=(0,m.vt)(),M={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},I={[i.pe.BYTE]:1,[i.pe.UNSIGNED_BYTE]:1,[i.pe.SHORT]:2,[i.pe.UNSIGNED_SHORT]:2,[i.pe.HALF_FLOAT]:2,[i.pe.FLOAT]:4,[i.pe.INT]:4,[i.pe.UNSIGNED_INT]:4};function L(e,t){return new e(t.raw,t.byteOffset,t.byteStride,t.byteOffset+t.byteStride*(t.entryCount-1)+t.componentByteSize*t.componentCount)}function F(e){if(null!=e.extensions?.KHR_texture_basisu)return e.extensions.KHR_texture_basisu.source;if(null!==e.source)return e.source;throw new u.A("gltf-loader-unsupported-feature","Source is expected to be defined for a texture. It can also be omitted in favour of an KHR_texture_basisu extension tag.")}const U=/\.gltf$/i,D=/\.glb$/i;let B=0;async function P(e,t,r={},o=!0){const n=await O.load(e,t,r),u="gltf_"+B++,l={lods:[],materials:new Map,textures:new Map,meta:G(n)},c=!(!n.json.asset.extras||"symbolResource"!==n.json.asset.extras.ESRI_type),f=n.json.asset.extras?.ESRI_webstyleSymbol?.webstyle,d=new Map;await j(n,(async(e,t,c,f)=>{const p=d.get(c)??0;d.set(c,p+1);const h=void 0!==e.mode?e.mode:i.WR.TRIANGLES,m=h===i.WR.TRIANGLES||h===i.WR.TRIANGLE_STRIP||h===i.WR.TRIANGLE_FAN?h:null;if(null==m)return void s.A.getLogger("esri.views.3d.glTF").warn("[Unsupported Feature] Unsupported primitive mode ("+i.WR[h]+"). Skipping primitive.");if(!n.hasPositions(e))return void s.A.getLogger("esri.views.3d.glTF").warn("Skipping primitive without POSITION vertex attribute.");const T=n.getPositionData(e,r),w=n.getMaterial(e,r,o),g=n.hasNormals(e)?n.getNormalData(e,r):null,x=n.hasTangents(e)?n.getTangentData(e,r):null,b=n.hasTextureCoordinates(e)?n.getTextureCoordinates(e,r):null,y=n.hasVertexColors(e)?n.getVertexColors(e,r):null,_=n.getIndexData(e,r),A={name:f,transform:(0,a.o8)(t),attributes:{position:await T,normal:g?await g:null,texCoord0:b?await b:null,color:y?await y:null,tangent:x?await x:null},indices:await _,primitiveType:m,material:k(l,await w,u)};let S=null;null!=l.meta?.ESRI_lod&&"screenSpaceRadius"===l.meta.ESRI_lod.metric&&(S=l.meta.ESRI_lod.thresholds[c]),l.lods[c]=l.lods[c]||{parts:[],name:f,lodThreshold:S},l.lods[c].parts[p]=A}));for(const e of l.lods)e.parts=e.parts.filter((e=>!!e));const p=await n.getLoadedBuffersSize();return{model:l,meta:{isEsriSymbolResource:c,uri:n.uri,ESRI_webstyle:f},customMeta:{},cachedMemory:p}}function G(e){const t=e.json;let r=null;return t.nodes.forEach((e=>{const t=e.extras;null!=t&&(t.ESRI_proxyEllipsoid||t.ESRI_lod)&&(r=t)})),r}async function j(e,t){const r=e.json,o=r.scenes[r.scene||0].nodes,n=o.length>1,a=[];for(const e of o){const t=r.nodes[e];a.push(i(e,0)),V(t)&&!n&&t.extensions.MSFT_lod.ids.forEach(((e,t)=>i(e,t+1)))}async function i(o,n){const u=r.nodes[o],l=e.getNodeTransform(o);if(null!=u.weights&&s.A.getLogger("esri.views.3d.glTF").warn("[Unsupported Feature] Morph targets are not supported."),null!=u.mesh){const e=r.meshes[u.mesh];for(const r of e.primitives)a.push(t(r,l,n,e.name))}for(const e of u.children||[])a.push(i(e,n))}await Promise.all(a)}function V(e){return e.extensions?.MSFT_lod&&Array.isArray(e.extensions.MSFT_lod.ids)}function k(e,t,r){const o=t=>{const o=`${r}_tex_${t&&t.id}${t?.name?"_"+t.name:""}`;if(t&&!e.textures.has(o)){const r=function(e,t={}){return{data:e,parameters:{wrap:{s:i.pF.REPEAT,t:i.pF.REPEAT,...t.wrap},noUnpackFlip:!0,mipmap:!1,...t}}}(t.data,{wrap:{s:t.wrapS,t:t.wrapT},mipmap:H.has(t.minFilter),noUnpackFlip:!0});e.textures.set(o,r)}return o},n=`${r}_mat_${t.id}_${t.name}`;if(!e.materials.has(n)){const r=function(e={}){return{color:[1,1,1],opacity:1,alphaMode:"OPAQUE",alphaCutoff:.5,doubleSided:!1,castShadows:!0,receiveShadows:!0,receiveAmbientOcclustion:!0,colorTexture:null,normalTexture:null,occlusionTexture:null,emissiveTexture:null,metallicRoughnessTexture:null,colorTextureTransform:null,normalTextureTransform:null,occlusionTextureTransform:null,emissiveTextureTransform:null,metallicRoughnessTextureTransform:null,emissiveFactor:[0,0,0],metallicFactor:1,roughnessFactor:1,colorMixMode:"multiply",...e}}({color:[t.color[0],t.color[1],t.color[2]],opacity:t.color[3],alphaMode:t.alphaMode,alphaCutoff:t.alphaCutoff,doubleSided:t.doubleSided,colorMixMode:t.ESRI_externalColorMixMode,colorTexture:t.colorTexture?o(t.colorTexture):void 0,normalTexture:t.normalTexture?o(t.normalTexture):void 0,occlusionTexture:t.occlusionTexture?o(t.occlusionTexture):void 0,emissiveTexture:t.emissiveTexture?o(t.emissiveTexture):void 0,metallicRoughnessTexture:t.metallicRoughnessTexture?o(t.metallicRoughnessTexture):void 0,emissiveFactor:[t.emissiveFactor[0],t.emissiveFactor[1],t.emissiveFactor[2]],colorTextureTransform:t.colorTextureTransform,normalTextureTransform:t.normalTextureTransform,occlusionTextureTransform:t.occlusionTextureTransform,emissiveTextureTransform:t.emissiveTextureTransform,metallicRoughnessTextureTransform:t.metallicRoughnessTextureTransform,metallicFactor:t.metallicFactor,roughnessFactor:t.roughnessFactor,receiveShadows:t.receiveShadows,receiveAmbientOcclustion:t.receiveAmbientOcclusion});e.materials.set(n,r)}return n}const H=new Set([i.Cj.LINEAR_MIPMAP_LINEAR,i.Cj.LINEAR_MIPMAP_NEAREST])},24045:(e,t,r)=>{function o(e,t){const r=e.count;t||(t=new e.TypedArrayConstructor(r));for(let o=0;o<r;o++)t[o]=e.get(o);return t}r.d(t,{m:()=>o}),Object.freeze(Object.defineProperty({__proto__:null,makeDense:o},Symbol.toStringTag,{value:"Module"}))}}]);
1
+ "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[4399],{4399:(e,t,r)=>{r.d(t,{loadGLTF:()=>P});var o,n,s=r(53966),a=r(9093),i=r(63907),u=r(49186),l=r(91869),c=r(74887),f=r(84952),d=r(46140),p=r(58083),h=r(67026),m=r(82534),T=r(13030),w=r(24045);r(44208);class g{constructor(e){this._data=e,this._offset4=0,this._dataUint32=new Uint32Array(this._data,0,Math.floor(this._data.byteLength/4))}readUint32(){const e=this._offset4;return this._offset4+=1,this._dataUint32[e]}readUint8Array(e){const t=4*this._offset4;return this._offset4+=e/4,new Uint8Array(this._data,t,e)}remainingBytes(){return this._data.byteLength-4*this._offset4}}!function(e){e.SCALAR="SCALAR",e.VEC2="VEC2",e.VEC3="VEC3",e.VEC4="VEC4",e.MAT2="MAT2",e.MAT3="MAT3",e.MAT4="MAT4"}(o||(o={})),function(e){e[e.ARRAY_BUFFER=34962]="ARRAY_BUFFER",e[e.ELEMENT_ARRAY_BUFFER=34963]="ELEMENT_ARRAY_BUFFER"}(n||(n={}));var x=r(21818);const b={baseColorFactor:[1,1,1,1],metallicFactor:1,roughnessFactor:1},y={pbrMetallicRoughness:b,emissiveFactor:[0,0,0],alphaMode:"OPAQUE",alphaCutoff:.5,doubleSided:!1},_={ESRI_externalColorMixMode:"tint",ESRI_receiveShadows:!0,ESRI_receiveAmbientOcclusion:!0},A=(e={})=>{const t={...b,...e.pbrMetallicRoughness},r=function(e){switch(e.ESRI_externalColorMixMode){case"multiply":case"tint":case"ignore":case"replace":break;default:(0,x.Xb)(e.ESRI_externalColorMixMode),e.ESRI_externalColorMixMode="tint"}return e}({..._,...e.extras});return{...y,...e,pbrMetallicRoughness:t,extras:r}},S={magFilter:i.Cj.LINEAR,minFilter:i.Cj.LINEAR_MIPMAP_LINEAR,wrapS:i.pF.REPEAT,wrapT:i.pF.REPEAT};var R=r(51530);const E=1179937895;class O{constructor(e,t,r,o){if(this._context=e,this.uri=t,this.json=r,this._glbBuffer=o,this._bufferLoaders=new Map,this._textureLoaders=new Map,this._textureCache=new Map,this._materialCache=new Map,this._nodeParentMap=new Map,this._nodeTransformCache=new Map,this._supportedExtensions=["KHR_texture_basisu","KHR_texture_transform"],this._baseUri=function(e){let t,r;return e.replace(/^(.*\/)?([^/]*)$/,((e,o,n)=>(t=o||"",r=n||"",""))),{dirPart:t,filePart:r}}(this.uri).dirPart,this._checkVersionSupported(),this._checkRequiredExtensionsSupported(),null==r.scenes)throw new u.A("gltf-loader-unsupported-feature","Scenes must be defined.");if(null==r.meshes)throw new u.A("gltf-loader-unsupported-feature","Meshes must be defined");if(null==r.nodes)throw new u.A("gltf-loader-unsupported-feature","Nodes must be defined.");this._computeNodeParents()}static async load(e,t,r){if((0,f.DB)(t)){const r=(0,f.r$)(t);if(r&&"model/gltf-binary"!==r.mediaType)try{const o=JSON.parse(r.isBase64?atob(r.data):r.data);return new O(e,t,o)}catch{}const o=(0,f.lJ)(t);if(O._isGLBData(o))return this._fromGLBData(e,t,o)}if(U.test(t)||"gltf"===r?.expectedType){const o=await e.loadJSON(t,r);return new O(e,t,o)}const o=await e.loadBinary(t,r);if(O._isGLBData(o))return this._fromGLBData(e,t,o);if(D.test(t)||"glb"===r?.expectedType)throw new u.A("gltf-loader-invalid-glb","This is not a valid glb file.");const n=await e.loadJSON(t,r);return new O(e,t,n)}static _isGLBData(e){if(null==e)return!1;const t=new g(e);return t.remainingBytes()>=4&&t.readUint32()===E}static async _fromGLBData(e,t,r){const o=await O._parseGLBData(r);return new O(e,t,o.json,o.binaryData)}static async _parseGLBData(e){const t=new g(e);if(t.remainingBytes()<12)throw new u.A("gltf-loader-error","glb binary data is insufficiently large.");const r=t.readUint32(),o=t.readUint32(),n=t.readUint32();if(r!==E)throw new u.A("gltf-loader-error","Magic first 4 bytes do not fit to expected glb value.");if(e.byteLength<n)throw new u.A("gltf-loader-error","glb binary data is smaller than header specifies.");if(2!==o)throw new u.A("gltf-loader-unsupported-feature","An unsupported glb container version was detected. Only version 2 is supported.");let a,i,l=0;for(;t.remainingBytes()>=8;){const e=t.readUint32(),r=t.readUint32();if(0===l){if(1313821514!==r)throw new u.A("gltf-loader-error","First glb chunk must be JSON.");if(e<0)throw new u.A("gltf-loader-error","No JSON data found.");a=await(0,R.KB)(t.readUint8Array(e))}else if(1===l){if(5130562!==r)throw new u.A("gltf-loader-unsupported-feature","Second glb chunk expected to be BIN.");i=t.readUint8Array(e)}else s.A.getLogger("esri.views.3d.glTF").warn("[Unsupported Feature] More than 2 glb chunks detected. Skipping.");l+=1}if(!a)throw new u.A("gltf-loader-error","No glb JSON chunk detected.");return{json:a,binaryData:i}}async getBuffer(e,t){const r=this.json.buffers[e];if(null==r.uri){if(null==this._glbBuffer)throw new u.A("gltf-loader-error","glb buffer not present");return this._glbBuffer}const o=await this._getBufferLoader(e,t);if(o.byteLength!==r.byteLength)throw new u.A("gltf-loader-error","Buffer byte lengths should match.");return o}async _getBufferLoader(e,t){const r=this._bufferLoaders.get(e);if(r)return r;const o=this.json.buffers[e].uri,n=this._context.loadBinary(this._resolveUri(o),t).then((e=>new Uint8Array(e)));return this._bufferLoaders.set(e,n),n}async getAccessor(e,t){if(!this.json.accessors)throw new u.A("gltf-loader-unsupported-feature","Accessors missing.");const r=this.json.accessors[e];if(null==r?.bufferView)throw new u.A("gltf-loader-unsupported-feature","Some accessor does not specify a bufferView.");if(r.type in[o.MAT2,o.MAT3,o.MAT4])throw new u.A("gltf-loader-unsupported-feature",`AttributeType ${r.type} is not supported`);const n=this.json.bufferViews[r.bufferView],s=await this.getBuffer(n.buffer,t),a=M[r.type],i=I[r.componentType],l=a*i,c=n.byteStride||l;return{raw:s.buffer,byteStride:c,byteOffset:s.byteOffset+(n.byteOffset||0)+(r.byteOffset||0),entryCount:r.count,isDenselyPacked:c===l,componentCount:a,componentByteSize:i,componentType:r.componentType,min:r.min,max:r.max,normalized:!!r.normalized}}async getIndexData(e,t){if(null==e.indices)return;const r=await this.getAccessor(e.indices,t);if(r.isDenselyPacked)switch(r.componentType){case i.pe.UNSIGNED_BYTE:return new Uint8Array(r.raw,r.byteOffset,r.entryCount);case i.pe.UNSIGNED_SHORT:return new Uint16Array(r.raw,r.byteOffset,r.entryCount);case i.pe.UNSIGNED_INT:return new Uint32Array(r.raw,r.byteOffset,r.entryCount)}else switch(r.componentType){case i.pe.UNSIGNED_BYTE:return(0,w.m)(L(T.SL,r));case i.pe.UNSIGNED_SHORT:return(0,w.m)(L(T.h,r));case i.pe.UNSIGNED_INT:return(0,w.m)(L(T.P,r))}}async getPositionData(e,t){if(null==e.attributes.POSITION)throw new u.A("gltf-loader-unsupported-feature","No POSITION vertex data found.");const r=await this.getAccessor(e.attributes.POSITION,t);if(r.componentType!==i.pe.FLOAT)throw new u.A("gltf-loader-unsupported-feature","Expected type FLOAT for POSITION vertex attribute, but found "+i.pe[r.componentType]);if(3!==r.componentCount)throw new u.A("gltf-loader-unsupported-feature","POSITION vertex attribute must have 3 components, but found "+r.componentCount.toFixed());return L(T.xs,r)}async getNormalData(e,t){if(null==e.attributes.NORMAL)throw new u.A("gltf-loader-error","No NORMAL vertex data found.");const r=await this.getAccessor(e.attributes.NORMAL,t);if(r.componentType!==i.pe.FLOAT)throw new u.A("gltf-loader-unsupported-feature","Expected type FLOAT for NORMAL vertex attribute, but found "+i.pe[r.componentType]);if(3!==r.componentCount)throw new u.A("gltf-loader-unsupported-feature","NORMAL vertex attribute must have 3 components, but found "+r.componentCount.toFixed());return L(T.xs,r)}async getTangentData(e,t){if(null==e.attributes.TANGENT)throw new u.A("gltf-loader-error","No TANGENT vertex data found.");const r=await this.getAccessor(e.attributes.TANGENT,t);if(r.componentType!==i.pe.FLOAT)throw new u.A("gltf-loader-unsupported-feature","Expected type FLOAT for TANGENT vertex attribute, but found "+i.pe[r.componentType]);if(4!==r.componentCount)throw new u.A("gltf-loader-unsupported-feature","TANGENT vertex attribute must have 4 components, but found "+r.componentCount.toFixed());return L(T.Eq,r)}async getTextureCoordinates(e,t){if(null==e.attributes.TEXCOORD_0)throw new u.A("gltf-loader-error","No TEXCOORD_0 vertex data found.");const r=await this.getAccessor(e.attributes.TEXCOORD_0,t);if(2!==r.componentCount)throw new u.A("gltf-loader-unsupported-feature","TEXCOORD_0 vertex attribute must have 2 components, but found "+r.componentCount.toFixed());if(r.componentType===i.pe.FLOAT)return L(T.gH,r);if(!r.normalized)throw new u.A("gltf-loader-unsupported-feature","Integer component types are only supported for a normalized accessor for TEXCOORD_0.");return function(e){switch(e.componentType){case i.pe.BYTE:return new T.D6(e.raw,e.byteOffset,e.byteStride,e.byteOffset+e.byteStride*e.entryCount);case i.pe.UNSIGNED_BYTE:return new T.LC(e.raw,e.byteOffset,e.byteStride,e.byteOffset+e.byteStride*e.entryCount);case i.pe.SHORT:return new T.mJ(e.raw,e.byteOffset,e.byteStride,e.byteOffset+e.byteStride*e.entryCount);case i.pe.UNSIGNED_SHORT:return new T.Yi(e.raw,e.byteOffset,e.byteStride,e.byteOffset+e.byteStride*e.entryCount);case i.pe.UNSIGNED_INT:return new T.An(e.raw,e.byteOffset,e.byteStride,e.byteOffset+e.byteStride*e.entryCount);case i.pe.FLOAT:return new T.gH(e.raw,e.byteOffset,e.byteStride,e.byteOffset+e.byteStride*e.entryCount)}}(r)}async getVertexColors(e,t){if(null==e.attributes.COLOR_0)throw new u.A("gltf-loader-error","No COLOR_0 vertex data found.");const r=await this.getAccessor(e.attributes.COLOR_0,t);if(4!==r.componentCount&&3!==r.componentCount)throw new u.A("gltf-loader-unsupported-feature","COLOR_0 attribute must have 3 or 4 components, but found "+r.componentCount.toFixed());if(4===r.componentCount){if(r.componentType===i.pe.FLOAT)return L(T.Eq,r);if(r.componentType===i.pe.UNSIGNED_BYTE)return L(T.XP,r);if(r.componentType===i.pe.UNSIGNED_SHORT)return L(T.Uz,r)}else if(3===r.componentCount){if(r.componentType===i.pe.FLOAT)return L(T.xs,r);if(r.componentType===i.pe.UNSIGNED_BYTE)return L(T.eI,r);if(r.componentType===i.pe.UNSIGNED_SHORT)return L(T.nS,r)}throw new u.A("gltf-loader-unsupported-feature","Unsupported component type for COLOR_0 attribute: "+i.pe[r.componentType])}hasPositions(e){return void 0!==e.attributes.POSITION}hasNormals(e){return void 0!==e.attributes.NORMAL}hasVertexColors(e){return void 0!==e.attributes.COLOR_0}hasTextureCoordinates(e){return void 0!==e.attributes.TEXCOORD_0}hasTangents(e){return void 0!==e.attributes.TANGENT}async getMaterial(e,t,r){let o=e.material?this._materialCache.get(e.material):void 0;if(!o){const n=null!=e.material?A(this.json.materials[e.material]):A(),s=n.pbrMetallicRoughness,a=this.hasVertexColors(e),i=this.getTexture(s.baseColorTexture,t),u=this.getTexture(n.normalTexture,t),l=r?this.getTexture(n.occlusionTexture,t):void 0,c=r?this.getTexture(n.emissiveTexture,t):void 0,f=r?this.getTexture(s.metallicRoughnessTexture,t):void 0,d=null!=e.material?e.material:-1;o={alphaMode:n.alphaMode,alphaCutoff:n.alphaCutoff,color:s.baseColorFactor,doubleSided:!!n.doubleSided,colorTexture:await i,normalTexture:await u,name:n.name,id:d,occlusionTexture:await l,emissiveTexture:await c,emissiveFactor:n.emissiveFactor,metallicFactor:s.metallicFactor,roughnessFactor:s.roughnessFactor,metallicRoughnessTexture:await f,hasVertexColors:a,ESRI_externalColorMixMode:n.extras.ESRI_externalColorMixMode,colorTextureTransform:s?.baseColorTexture?.extensions?.KHR_texture_transform,normalTextureTransform:n.normalTexture?.extensions?.KHR_texture_transform,occlusionTextureTransform:n.occlusionTexture?.extensions?.KHR_texture_transform,emissiveTextureTransform:n.emissiveTexture?.extensions?.KHR_texture_transform,metallicRoughnessTextureTransform:s?.metallicRoughnessTexture?.extensions?.KHR_texture_transform,receiveAmbientOcclusion:n.extras.ESRI_receiveAmbientOcclusion,receiveShadows:n.extras.ESRI_receiveShadows}}return o}async getTexture(e,t){if(!e)return;if(0!==(e.texCoord||0))throw new u.A("gltf-loader-unsupported-feature","Only TEXCOORD with index 0 is supported.");const r=e.index,o=this.json.textures[r],n=(c=null!=o.sampler?this.json.samplers[o.sampler]:{},{...S,...c}),s=F(o),a=this.json.images[s],i=await this._loadTextureImageData(r,o,t);var c;return(0,l.tE)(this._textureCache,r,(()=>{const e=e=>33071===e||33648===e||10497===e,t=e=>{throw new u.A("gltf-loader-error",`Unexpected TextureSampler WrapMode: ${e}`)};return{data:i,wrapS:e(n.wrapS)?n.wrapS:t(n.wrapS),wrapT:e(n.wrapT)?n.wrapT:t(n.wrapT),minFilter:n.minFilter,name:a.name,id:r}}))}getNodeTransform(e){if(void 0===e)return N;let t=this._nodeTransformCache.get(e);if(!t){const r=this.getNodeTransform(this._getNodeParent(e)),o=this.json.nodes[e];o.matrix?t=(0,p.lw)((0,a.vt)(),r,o.matrix):o.translation||o.rotation||o.scale?(t=(0,a.o8)(r),o.translation&&(0,p.Tl)(t,t,o.translation),o.rotation&&(C[3]=(0,h.Xd)(C,o.rotation),(0,p.e$)(t,t,C[3],C)),o.scale&&(0,p.hs)(t,t,o.scale)):t=(0,a.o8)(r),this._nodeTransformCache.set(e,t)}return t}_resolveUri(e){return(0,f.s2)(e,this._baseUri)}_getNodeParent(e){return this._nodeParentMap.get(e)}_checkVersionSupported(){const e=d.R.parse(this.json.asset.version,"glTF");v.validate(e)}_checkRequiredExtensionsSupported(){const e=this.json;if(e.extensionsRequired&&!e.extensionsRequired.every((e=>this._supportedExtensions.includes(e))))throw new u.A("gltf-loader-unsupported-feature","gltf loader was not able to load unsupported feature. Required extensions: "+e.extensionsRequired.join(", "))}_computeNodeParents(){this.json.nodes.forEach(((e,t)=>{e.children&&e.children.forEach((e=>{this._nodeParentMap.set(e,t)}))}))}async _loadTextureImageData(e,t,r){const o=this._textureLoaders.get(e);if(o)return o;const n=this._createTextureLoader(t,r);return this._textureLoaders.set(e,n),n}async _createTextureLoader(e,t){const r=F(e),o=this.json.images[r];if(o.uri){if(o.uri.endsWith(".ktx2")){const e=await this._context.loadBinary(this._resolveUri(o.uri),t);return new R.Xi(new Uint8Array(e))}return this._context.loadImage(this._resolveUri(o.uri),t)}if(null==o.bufferView)throw new u.A("gltf-loader-unsupported-feature","Image bufferView must be defined.");if(null==o.mimeType)throw new u.A("gltf-loader-unsupported-feature","Image mimeType must be defined.");const n=this.json.bufferViews[o.bufferView],s=await this.getBuffer(n.buffer,t);if(null!=n.byteStride)throw new u.A("gltf-loader-unsupported-feature","byteStride not supported for image buffer");const a=s.byteOffset+(n.byteOffset||0);return(0,R.pn)(new Uint8Array(s.buffer,a,n.byteLength),o.mimeType)}async getLoadedBuffersSize(){if(this._glbBuffer)return this._glbBuffer.byteLength;const e=await(0,c.nA)(Array.from(this._bufferLoaders.values())),t=await(0,c.nA)(Array.from(this._textureLoaders.values()));return e.reduce(((e,t)=>e+(t?.byteLength??0)),0)+t.reduce(((e,t)=>e+(t?(0,R.x3)(t)?t.data.byteLength:t.width*t.height*4:0)),0)}}const N=(0,p.hM)((0,a.vt)(),Math.PI/2),v=new d.R(2,0,"glTF"),C=(0,m.vt)(),M={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},I={[i.pe.BYTE]:1,[i.pe.UNSIGNED_BYTE]:1,[i.pe.SHORT]:2,[i.pe.UNSIGNED_SHORT]:2,[i.pe.HALF_FLOAT]:2,[i.pe.FLOAT]:4,[i.pe.INT]:4,[i.pe.UNSIGNED_INT]:4};function L(e,t){return new e(t.raw,t.byteOffset,t.byteStride,t.byteOffset+t.byteStride*(t.entryCount-1)+t.componentByteSize*t.componentCount)}function F(e){if(null!=e.extensions?.KHR_texture_basisu)return e.extensions.KHR_texture_basisu.source;if(null!==e.source)return e.source;throw new u.A("gltf-loader-unsupported-feature","Source is expected to be defined for a texture. It can also be omitted in favour of an KHR_texture_basisu extension tag.")}const U=/\.gltf$/i,D=/\.glb$/i;let B=0;async function P(e,t,r={},o=!0){const n=await O.load(e,t,r),u="gltf_"+B++,l={lods:[],materials:new Map,textures:new Map,meta:G(n)},c=!(!n.json.asset.extras||"symbolResource"!==n.json.asset.extras.ESRI_type),f=n.json.asset.extras?.ESRI_webstyleSymbol?.webstyle,d=new Map;await j(n,(async(e,t,c,f)=>{const p=d.get(c)??0;d.set(c,p+1);const h=void 0!==e.mode?e.mode:i.WR.TRIANGLES,m=h===i.WR.TRIANGLES||h===i.WR.TRIANGLE_STRIP||h===i.WR.TRIANGLE_FAN?h:null;if(null==m)return void s.A.getLogger("esri.views.3d.glTF").warn("[Unsupported Feature] Unsupported primitive mode ("+i.WR[h]+"). Skipping primitive.");if(!n.hasPositions(e))return void s.A.getLogger("esri.views.3d.glTF").warn("Skipping primitive without POSITION vertex attribute.");const T=n.getPositionData(e,r),w=n.getMaterial(e,r,o),g=n.hasNormals(e)?n.getNormalData(e,r):null,x=n.hasTangents(e)?n.getTangentData(e,r):null,b=n.hasTextureCoordinates(e)?n.getTextureCoordinates(e,r):null,y=n.hasVertexColors(e)?n.getVertexColors(e,r):null,_=n.getIndexData(e,r),A={name:f,transform:(0,a.o8)(t),attributes:{position:await T,normal:g?await g:null,texCoord0:b?await b:null,color:y?await y:null,tangent:x?await x:null},indices:await _,primitiveType:m,material:k(l,await w,u)};let S=null;null!=l.meta?.ESRI_lod&&"screenSpaceRadius"===l.meta.ESRI_lod.metric&&(S=l.meta.ESRI_lod.thresholds[c]),l.lods[c]=l.lods[c]||{parts:[],name:f,lodThreshold:S},l.lods[c].parts[p]=A}));for(const e of l.lods)e.parts=e.parts.filter((e=>!!e));const p=await n.getLoadedBuffersSize();return{model:l,meta:{isEsriSymbolResource:c,uri:n.uri,ESRI_webstyle:f},customMeta:{},cachedMemory:p}}function G(e){const t=e.json;let r=null;return t.nodes.forEach((e=>{const t=e.extras;null!=t&&(t.ESRI_proxyEllipsoid||t.ESRI_lod)&&(r=t)})),r}async function j(e,t){const r=e.json,o=r.scenes[r.scene||0].nodes,n=o.length>1,a=[];for(const e of o){const t=r.nodes[e];a.push(i(e,0)),V(t)&&!n&&t.extensions.MSFT_lod.ids.forEach(((e,t)=>i(e,t+1)))}async function i(o,n){const u=r.nodes[o],l=e.getNodeTransform(o);if(null!=u.weights&&s.A.getLogger("esri.views.3d.glTF").warn("[Unsupported Feature] Morph targets are not supported."),null!=u.mesh){const e=r.meshes[u.mesh];for(const r of e.primitives)a.push(t(r,l,n,e.name))}for(const e of u.children||[])a.push(i(e,n))}await Promise.all(a)}function V(e){return e.extensions?.MSFT_lod&&Array.isArray(e.extensions.MSFT_lod.ids)}function k(e,t,r){const o=t=>{const o=`${r}_tex_${t&&t.id}${t?.name?"_"+t.name:""}`;if(t&&!e.textures.has(o)){const r=function(e,t={}){return{data:e,parameters:{wrap:{s:i.pF.REPEAT,t:i.pF.REPEAT,...t.wrap},noUnpackFlip:!0,mipmap:!1,...t}}}(t.data,{wrap:{s:t.wrapS,t:t.wrapT},mipmap:H.has(t.minFilter),noUnpackFlip:!0});e.textures.set(o,r)}return o},n=`${r}_mat_${t.id}_${t.name}`;if(!e.materials.has(n)){const r=function(e={}){return{color:[1,1,1],opacity:1,alphaMode:"OPAQUE",alphaCutoff:.5,doubleSided:!1,castShadows:!0,receiveShadows:!0,receiveAmbientOcclusion:!0,colorTexture:null,normalTexture:null,occlusionTexture:null,emissiveTexture:null,metallicRoughnessTexture:null,colorTextureTransform:null,normalTextureTransform:null,occlusionTextureTransform:null,emissiveTextureTransform:null,metallicRoughnessTextureTransform:null,emissiveFactor:[0,0,0],metallicFactor:1,roughnessFactor:1,colorMixMode:"multiply",...e}}({color:[t.color[0],t.color[1],t.color[2]],opacity:t.color[3],alphaMode:t.alphaMode,alphaCutoff:t.alphaCutoff,doubleSided:t.doubleSided,colorMixMode:t.ESRI_externalColorMixMode,colorTexture:t.colorTexture?o(t.colorTexture):void 0,normalTexture:t.normalTexture?o(t.normalTexture):void 0,occlusionTexture:t.occlusionTexture?o(t.occlusionTexture):void 0,emissiveTexture:t.emissiveTexture?o(t.emissiveTexture):void 0,metallicRoughnessTexture:t.metallicRoughnessTexture?o(t.metallicRoughnessTexture):void 0,emissiveFactor:[t.emissiveFactor[0],t.emissiveFactor[1],t.emissiveFactor[2]],colorTextureTransform:t.colorTextureTransform,normalTextureTransform:t.normalTextureTransform,occlusionTextureTransform:t.occlusionTextureTransform,emissiveTextureTransform:t.emissiveTextureTransform,metallicRoughnessTextureTransform:t.metallicRoughnessTextureTransform,metallicFactor:t.metallicFactor,roughnessFactor:t.roughnessFactor,receiveShadows:t.receiveShadows,receiveAmbientOcclusion:t.receiveAmbientOcclusion});e.materials.set(n,r)}return n}const H=new Set([i.Cj.LINEAR_MIPMAP_LINEAR,i.Cj.LINEAR_MIPMAP_NEAREST])},24045:(e,t,r)=>{function o(e,t){const r=e.count;t||(t=new e.TypedArrayConstructor(r));for(let o=0;o<r;o++)t[o]=e.get(o);return t}r.d(t,{m:()=>o}),Object.freeze(Object.defineProperty({__proto__:null,makeDense:o},Symbol.toStringTag,{value:"Module"}))}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[5356,5613],{4513:(e,a,r)=>{r.d(a,{S:()=>t});const t={BingMapsLayer:async()=>(await Promise.all([r.e(6131),r.e(8219),r.e(1449)]).then(r.bind(r,17029))).default,BuildingSceneLayer:async()=>(await Promise.all([r.e(6131),r.e(8219),r.e(8948),r.e(13),r.e(2106),r.e(5055),r.e(6728),r.e(1214),r.e(1956),r.e(9953),r.e(4796),r.e(3029),r.e(4111),r.e(8506),r.e(3600),r.e(6213),r.e(2944),r.e(8947),r.e(958),r.e(4654),r.e(2921),r.e(1999)]).then(r.bind(r,88303))).default,CSVLayer:async()=>(await Promise.all([r.e(6131),r.e(8219),r.e(8948),r.e(13),r.e(2106),r.e(5055),r.e(6728),r.e(1214),r.e(1956),r.e(9953),r.e(4796),r.e(3029),r.e(4111),r.e(8506),r.e(3600),r.e(9070)]).then(r.bind(r,72256))).default,CatalogLayer:async()=>(await Promise.all([r.e(6131),r.e(8219),r.e(8948),r.e(13),r.e(2106),r.e(5055),r.e(6728),r.e(1214),r.e(1956),r.e(4796),r.e(4111),r.e(8506),r.e(364),r.e(8628),r.e(2593),r.e(2696),r.e(4178)]).then(r.bind(r,79003))).default,DimensionLayer:async()=>(await Promise.all([r.e(6131),r.e(3813)]).then(r.bind(r,71493))).default,ElevationLayer:async()=>(await Promise.all([r.e(6131),r.e(9953),r.e(9186),r.e(6976)]).then(r.bind(r,68611))).default,FeatureLayer:async()=>(await Promise.all([r.e(6131),r.e(8219),r.e(8948),r.e(13),r.e(2106),r.e(5055),r.e(6728),r.e(1214),r.e(1956),r.e(9953),r.e(4796),r.e(3029),r.e(4111),r.e(8506),r.e(3600),r.e(5483)]).then(r.bind(r,13600))).default,GeoJSONLayer:async()=>(await Promise.all([r.e(6131),r.e(8219),r.e(8948),r.e(13),r.e(2106),r.e(5055),r.e(6728),r.e(1214),r.e(1956),r.e(9953),r.e(4796),r.e(3029),r.e(4927)]).then(r.bind(r,17625))).default,GeoRSSLayer:async()=>(await Promise.all([r.e(6131),r.e(8219),r.e(8389)]).then(r.bind(r,63201))).default,GroupLayer:async()=>(await Promise.all([r.e(6131),r.e(3562),r.e(8256)]).then(r.bind(r,85989))).default,ImageryLayer:async()=>(await Promise.all([r.e(6131),r.e(8219),r.e(8948),r.e(13),r.e(2106),r.e(5055),r.e(6728),r.e(1956),r.e(9953),r.e(364),r.e(984),r.e(2439),r.e(272)]).then(r.bind(r,58434))).default,ImageryTileLayer:async()=>(await Promise.all([r.e(6131),r.e(8219),r.e(8948),r.e(13),r.e(2106),r.e(5055),r.e(6728),r.e(9953),r.e(984),r.e(6049),r.e(2439),r.e(7677),r.e(5943)]).then(r.bind(r,35943))).default,IntegratedMesh3DTilesLayer:async()=>(await Promise.all([r.e(6131),r.e(9172),r.e(132)]).then(r.bind(r,61528))).default,IntegratedMeshLayer:async()=>(await Promise.all([r.e(6131),r.e(8947),r.e(9172),r.e(3642)]).then(r.bind(r,74660))).default,KMLLayer:async()=>(await Promise.all([r.e(6131),r.e(8219),r.e(8948),r.e(13),r.e(2106),r.e(5055),r.e(6728),r.e(1214),r.e(5026)]).then(r.bind(r,79465))).default,KnowledgeGraphLayer:async()=>(await Promise.all([r.e(6131),r.e(8219),r.e(8948),r.e(13),r.e(2106),r.e(5055),r.e(6728),r.e(1214),r.e(1956),r.e(9953),r.e(4796),r.e(3029),r.e(6760),r.e(1806),r.e(7475),r.e(2083),r.e(8692)]).then(r.bind(r,28692))).default,LineOfSightLayer:async()=>(await Promise.all([r.e(6131),r.e(6213),r.e(8596),r.e(9695)]).then(r.bind(r,49695))).default,LinkChartLayer:async()=>(await Promise.all([r.e(6131),r.e(8219),r.e(8948),r.e(13),r.e(2106),r.e(5055),r.e(6728),r.e(1214),r.e(1956),r.e(9953),r.e(4796),r.e(3029),r.e(6760),r.e(1806),r.e(7475),r.e(2083),r.e(1728)]).then(r.bind(r,71728))).default,MapImageLayer:async()=>(await Promise.all([r.e(6131),r.e(8219),r.e(8948),r.e(13),r.e(2106),r.e(5055),r.e(6728),r.e(1214),r.e(1956),r.e(4796),r.e(4111),r.e(364),r.e(4341),r.e(7656),r.e(6928)]).then(r.bind(r,7656))).default,MapNotesLayer:async()=>(await Promise.all([r.e(6131),r.e(8219),r.e(8948),r.e(13),r.e(2106),r.e(5055),r.e(6728),r.e(1214),r.e(1956),r.e(9953),r.e(4796),r.e(3029),r.e(4111),r.e(8506),r.e(3600),r.e(7475),r.e(2936)]).then(r.bind(r,96953))).default,MediaLayer:async()=>(await Promise.all([r.e(6131),r.e(2763)]).then(r.bind(r,19647))).default,OGCFeatureLayer:async()=>(await Promise.all([r.e(6131),r.e(8219),r.e(8948),r.e(13),r.e(2106),r.e(5055),r.e(6728),r.e(1214),r.e(1956),r.e(4796),r.e(3029),r.e(2905),r.e(4934)]).then(r.bind(r,87152))).default,OpenStreetMapLayer:async()=>(await Promise.all([r.e(6131),r.e(8219),r.e(1010),r.e(349)]).then(r.bind(r,40349))).default,OrientedImageryLayer:async()=>(await Promise.all([r.e(6131),r.e(8219),r.e(8948),r.e(13),r.e(2106),r.e(5055),r.e(6728),r.e(1214),r.e(1956),r.e(9953),r.e(4796),r.e(3029),r.e(4111),r.e(8506),r.e(3600),r.e(9835)]).then(r.bind(r,97927))).default,PointCloudLayer:async()=>(await Promise.all([r.e(6131),r.e(8948),r.e(8947),r.e(7984),r.e(6528)]).then(r.bind(r,76742))).default,RouteLayer:async()=>(await Promise.all([r.e(6131),r.e(8948),r.e(13),r.e(2106),r.e(5055),r.e(6728),r.e(1214),r.e(7634)]).then(r.bind(r,64185))).default,SceneLayer:async()=>(await Promise.all([r.e(6131),r.e(8948),r.e(13),r.e(2106),r.e(5055),r.e(6728),r.e(1214),r.e(1956),r.e(4796),r.e(6213),r.e(2944),r.e(8947),r.e(958),r.e(4654),r.e(2921),r.e(1737)]).then(r.bind(r,13899))).default,StreamLayer:async()=>(await Promise.all([r.e(6131),r.e(8219),r.e(8948),r.e(13),r.e(2106),r.e(5055),r.e(6728),r.e(1214),r.e(1956),r.e(4796),r.e(3029),r.e(505)]).then(r.bind(r,60683))).default,SubtypeGroupLayer:async()=>(await Promise.all([r.e(6131),r.e(8219),r.e(8948),r.e(13),r.e(2106),r.e(5055),r.e(6728),r.e(1956),r.e(4796),r.e(4111),r.e(8506),r.e(1162)]).then(r.bind(r,59929))).default,TileLayer:async()=>(await Promise.all([r.e(6131),r.e(8219),r.e(8948),r.e(13),r.e(2106),r.e(5055),r.e(6728),r.e(1214),r.e(1956),r.e(4796),r.e(4111),r.e(364),r.e(9186),r.e(4341),r.e(8535)]).then(r.bind(r,71756))).default,UnknownLayer:async()=>(await r.e(146).then(r.bind(r,146))).default,UnsupportedLayer:async()=>(await r.e(5165).then(r.bind(r,45165))).default,VectorTileLayer:async()=>(await Promise.all([r.e(6131),r.e(8219),r.e(9186),r.e(9949),r.e(5013),r.e(5314)]).then(r.bind(r,48757))).default,VideoLayer:async()=>(await r.e(6875).then(r.bind(r,86875))).default,ViewshedLayer:async()=>(await Promise.all([r.e(6131),r.e(6213),r.e(8596),r.e(6650)]).then(r.bind(r,96650))).default,VoxelLayer:async()=>(await Promise.all([r.e(6131),r.e(8948),r.e(8947),r.e(1389)]).then(r.bind(r,16183))).default,WCSLayer:async()=>(await Promise.all([r.e(6131),r.e(8219),r.e(8948),r.e(13),r.e(2106),r.e(5055),r.e(6728),r.e(9953),r.e(984),r.e(6049),r.e(2439),r.e(7677),r.e(9547)]).then(r.bind(r,19547))).default,WFSLayer:async()=>(await Promise.all([r.e(6131),r.e(8219),r.e(8948),r.e(13),r.e(2106),r.e(5055),r.e(6728),r.e(1214),r.e(1956),r.e(9953),r.e(4796),r.e(3029),r.e(7396)]).then(r.bind(r,16350))).default,WMSLayer:async()=>(await Promise.all([r.e(6131),r.e(8219),r.e(8948),r.e(2106),r.e(6728),r.e(1904)]).then(r.bind(r,51904))).default,WMTSLayer:async()=>(await Promise.all([r.e(6131),r.e(8219),r.e(1010),r.e(309)]).then(r.bind(r,20309))).default,WebTileLayer:async()=>(await Promise.all([r.e(6131),r.e(8219),r.e(1010)]).then(r.bind(r,47314))).default}},8947:(e,a,r)=>{r.d(a,{L:()=>s});var t=r(60999),n=r(74887),i=r(67076);async function s(e,a,r){const s=e&&e.getAtOrigin&&e.getAtOrigin("renderer",a.origin);if(s&&"unique-value"===s.type&&s.styleOrigin){const l=await(0,t.Ke)(s.populateFromStyle());if((0,n.Te)(r),!1===l.ok){const r=l.error;a?.messages&&a.messages.push(new i.A("renderer:style-reference",`Failed to create unique value renderer from style reference: ${r.message}`,{error:r,context:a})),e.clear("renderer",a?.origin)}}}},10407:(e,a,r)=>{r.d(a,{It:()=>L,LG:()=>s,OM:()=>y,Sm:()=>o,Y:()=>l,bK:()=>c,mm:()=>d,sQ:()=>u});var t=r(80586),n=r(16930),i=r(28735);function s(e,a){if(!l(e,a)){const r=e.typeKeywords;r?r.push(a):e.typeKeywords=[a]}}function l(e,a){return!!e.typeKeywords?.includes(a)}function c(e){return l(e,d.HOSTED_SERVICE)}function y(e,a){const r=e.typeKeywords;if(r){const e=r.indexOf(a);e>-1&&r.splice(e,1)}}function o(e,a,r){r?s(e,a):y(e,a)}async function u(e){const a=e.clone().normalize();let r;if(a.length>1)for(const e of a)r?e.width>r.width&&(r=e):r=e;else r=a[0];return async function(e){const a=e.spatialReference;if(a.isWGS84)return e.clone();if(a.isWebMercator)return(0,i.ci)(e);const r=n.A.WGS84;return await(0,t.initializeProjection)(a,r),(0,t.project)(e,r)}(r)}const d={CHARTS:"Charts",DYNAMIC:"Dynamic",DEVELOPER_BASEMAP:"DeveloperBasemap",GROUP_LAYER_MAP:"Map",HOSTED_SERVICE:"Hosted Service",JSAPI:"ArcGIS API for JavaScript",LOCAL_SCENE:"ViewingMode-Local",METADATA:"Metadata",MULTI_LAYER:"Multilayer",ORIENTED_IMAGERY_LAYER:"OrientedImageryLayer",SINGLE_LAYER:"Singlelayer",SUBTYPE_GROUP_LAYER:"SubtypeGroupLayer",SUBTYPE_GROUP_TABLE:"SubtypeGroupTable",TABLE:"Table",TILED_IMAGERY:"Tiled Imagery"};function L(e){const{portal:a,isOrgItem:r,itemControl:t}=e,n=a.user?.privileges;let i=!n||n.includes("features:user:edit"),s=!!r&&!!n?.includes("features:user:fullEdit");const l="update"===t||"admin"===t;return l?s=i=!0:s&&(i=!0),{features:{edit:i,fullEdit:s},content:{updateItem:l}}}},22429:(e,a,r)=>{r.d(a,{v:()=>n});var t=r(24183);class n{constructor(){this._serviceMetadatas=new Map,this._itemDatas=new Map}async fetchServiceMetadata(e,a){const r=this._serviceMetadatas.get(e);if(r)return r;const n=await(0,t.V)(e,a);return this._serviceMetadatas.set(e,n),n}async fetchItemData(e){const{id:a}=e;if(!a)return null;const{_itemDatas:r}=this;if(r.has(a))return r.get(a);const t=await e.fetchData();return r.set(a,t),t}async fetchCustomParameters(e,a){const r=await this.fetchItemData(e);return r&&"object"==typeof r&&(a?a(r):r.customParameters)||null}}},23154:(e,a,r)=>{r.d(a,{K:()=>d,Q:()=>i});var t=r(24183);const n=new Set(["Catalog Layer","Feature Layer","Oriented Imagery Layer"]);async function i(e,a){const{loadContext:r,...n}=a||{},i=r?await r.fetchServiceMetadata(e,n):await(0,t.V)(e,n);u(i),c(i);const s={serviceJSON:i};if((i.currentVersion??0)<10.5)return s;const l=`${e}/layers`,y=r?await r.fetchServiceMetadata(l,n):await(0,t.V)(l,n);return u(y),c(y),s.layersJSON={layers:y.layers,tables:y.tables},s}function s(e){const{type:a}=e;return!!a&&n.has(a)}function l(e){return"Table"===e.type}function c(e){e.layers=e.layers?.filter(s),e.tables=e.tables?.filter(l)}function y(e){e.type||="Feature Layer"}function o(e){e.type||="Table"}function u(e){e.layers?.forEach(y),e.tables?.forEach(o)}function d(e){switch(e){case"Feature Layer":case"Table":return"FeatureLayer";case"Oriented Imagery Layer":return"OrientedImageryLayer";case"Catalog Layer":return"CatalogLayer"}return"FeatureLayer"}},24183:(e,a,r)=>{r.d(a,{V:()=>n});var t=r(78888);async function n(e,a){const{data:r}=await(0,t.A)(e,{responseType:"json",query:{f:"json",...a?.customParameters,token:a?.apiKey}});return r}},45613:(e,a,r)=>{r.d(a,{fromItem:()=>d,n:()=>L});var t=r(49186),n=r(92009),i=r(23154),s=r(22429),l=r(77548),c=r(4513),y=r(80812),o=r(66964),u=r(10407);async function d(e){let{portalItem:a}=e;!a||a instanceof y.default||(a=new y.default(a));const r=await async function(e){await e.load();const a=new s.v;return async function(e){const a=e.className,r=c.S[a];return{constructor:await r(),properties:e.properties}}(await L(e,a))}(a);return new(0,r.constructor)({portalItem:a,...r.properties})}async function L(e,a){switch(e.type){case"3DTiles Service":return e.typeKeywords.includes("3DObject")?{className:"UnsupportedLayer"}:{className:"IntegratedMesh3DTilesLayer"};case"CSV":return{className:"CSVLayer"};case"Feature Collection":return async function(e){await e.load();const a=(0,u.Y)(e,"Map Notes"),r=(0,u.Y)(e,"Markup");if(a||r)return{className:"MapNotesLayer"};if((0,u.Y)(e,"Route Layer"))return{className:"RouteLayer"};const t=await e.fetchData();return 1===(0,o.XH)(t)?{className:"FeatureLayer"}:{className:"GroupLayer"}}(e);case"Feature Service":return async function(e,a){const r=await f(e,a);if("object"==typeof r){const{sourceJSON:e,className:a}=r,t={sourceJSON:e};return null!=r.id&&(t.layerId=r.id),{className:a||"FeatureLayer",properties:t}}return{className:"GroupLayer"}}(e,a);case"Feed":case"Stream Service":return{className:"StreamLayer"};case"GeoJson":return{className:"GeoJSONLayer"};case"Group Layer":return{className:"GroupLayer"};case"Image Service":return async function(e,a){await e.load();const r=e.typeKeywords?.map((e=>e.toLowerCase()))??[];if(r.includes("elevation 3d layer"))return{className:"ElevationLayer"};if(r.includes("tiled imagery"))return{className:"ImageryTileLayer"};const t=await a.fetchItemData(e),n=t?.layerType;if("ArcGISTiledImageServiceLayer"===n)return{className:"ImageryTileLayer"};if("ArcGISImageServiceLayer"===n)return{className:"ImageryLayer"};const i=await a.fetchServiceMetadata(e.url,{customParameters:await a.fetchCustomParameters(e)}),s=i.cacheType?.toLowerCase(),l=i.capabilities?.toLowerCase().includes("tilesonly"),c=i.tileInfo?.format?.toLowerCase()??"",y=null==s&&["jpg","jpeg","png","png8","png24","png32","mixed"].includes(c);return"map"===s||y||l?{className:"ImageryTileLayer"}:{className:"ImageryLayer"}}(e,a);case"KML":return{className:"KMLLayer"};case"Knowledge Graph Layer":return{className:"KnowledgeGraphLayer"};case"Map Service":return async function(e,a){return await async function(e,a){const{tileInfo:r}=await a.fetchServiceMetadata(e.url,{customParameters:await a.fetchCustomParameters(e)});return r}(e,a)?{className:"TileLayer"}:{className:"MapImageLayer"}}(e,a);case"Media Layer":return{className:"MediaLayer"};case"Scene Service":return async function(e,a){const r=await f(e,a,(async()=>{try{if(!e.url)return[];const{serverUrl:r}=await(0,n.L)(e.url,{sceneLayerItem:e}),t=await a.fetchServiceMetadata(r);return t?.tables??[]}catch{return[]}}));if("object"==typeof r){const t={};let n;if(null!=r.id?(t.layerId=r.id,n=`${e.url}/layers/${r.id}`):n=e.url,e.typeKeywords?.length)for(const a of Object.keys(l.XX))if(e.typeKeywords.includes(a))return{className:l.XX[a]};const i=await a.fetchServiceMetadata(n,{customParameters:await a.fetchCustomParameters(e,(e=>(0,o.pJ)(e)?.customParameters))});return{className:l.XX[i?.layerType]||"SceneLayer",properties:t}}if(!1===r){const r=await a.fetchServiceMetadata(e.url);if("Voxel"===r?.layerType)return{className:"VoxelLayer"}}return{className:"GroupLayer"}}(e,a);case"Vector Tile Service":return{className:"VectorTileLayer"};case"WCS":return{className:"WCSLayer"};case"WFS":return{className:"WFSLayer"};case"WMS":return{className:"WMSLayer"};case"WMTS":return{className:"WMTSLayer"};default:throw new t.A("portal:unknown-item-type","Unknown item type '${type}'",{type:e.type})}}async function f(e,a,r){const{url:t,type:n}=e,s="Feature Service"===n;if(!t)return{};if(/\/\d+$/.test(t)){if(s){const r=await a.fetchServiceMetadata(t,{customParameters:await a.fetchCustomParameters(e,(e=>(0,o.pJ)(e)?.customParameters))});return{id:r.id,className:(0,i.K)(r.type),sourceJSON:r}}return{}}await e.load();let l=await a.fetchItemData(e);if(s){const e=await(0,o.bO)(l,t,a),r=m(e);if("object"==typeof r){const a=(0,o.rc)(e,r.id);r.className=(0,o.K8)(a?.layerType)}return r}if("Scene Service"===n&&(l=await(0,o.nu)(e,l,a)),(0,o.XH)(l)>0)return m(l);const c=await a.fetchServiceMetadata(t);return r&&(c.tables=await r()),m(c)}function m(e){return 1===(0,o.XH)(e)&&{id:(0,o.pJ)(e)?.id}}},66964:(e,a,r)=>{r.d(a,{Ju:()=>y,K8:()=>d,XH:()=>o,_r:()=>i,bO:()=>s,l:()=>u,nu:()=>L,pJ:()=>l,rc:()=>c});var t=r(92009),n=r(23154);function i(e){const a={id:e.id,name:e.name},r=(0,n.K)(e.type);return"FeatureLayer"!==r&&(a.layerType=r),a}async function s(e,a,r){if(null==e?.layers||null==e?.tables){const t=await r.fetchServiceMetadata(a,{customParameters:l(e)?.customParameters});(e=e||{}).layers=e.layers||t?.layers?.map(i),e.tables=e.tables||t?.tables?.map(i)}return e}function l(e){if(!e)return null;const{layers:a,tables:r}=e;return a?.length?a[0]:r?.length?r[0]:null}function c(e,a){return null==a?null:[...e.layers||[],...e.tables||[]].find((e=>e.id===a))}function y(e,a){return[...e.layers||[],...e.tables||[]].filter((({layerType:e})=>e?a.includes(e):a.includes("ArcGISFeatureLayer")))}function o(e){return(e?.layers?.length??0)+(e?.tables?.length??0)}function u(e){switch(e){case"catalog":return["CatalogLayer"];case"feature":return["ArcGISFeatureLayer"];case"oriented-imagery":return["OrientedImageryLayer"];case"subtype-group":return["SubtypeGroupLayer","SubtypeGroupTable"]}return null}function d(e){switch(e){case"CatalogLayer":return"CatalogLayer";case"OrientedImageryLayer":return"OrientedImageryLayer";case"SubtypeGroupLayer":case"SubtypeGroupTable":return"SubtypeGroupLayer"}return"FeatureLayer"}async function L(e,a,r){if(!e?.url)return a??{};if(a??={},!a.layers){const t=await r.fetchServiceMetadata(e.url);a.layers=t.layers?.map(i)}const{serverUrl:n,portalItem:s}=await(0,t.L)(e.url,{sceneLayerItem:e,customParameters:l(a)?.customParameters}).catch((()=>({serverUrl:null,portalItem:null})));if(null==n)return a.tables=[],a;if(!a.tables&&s){const e=await s.fetchData().catch((()=>null));if(e?.tables)a.tables=e.tables.map(i);else{const t=await r.fetchServiceMetadata(n,{customParameters:l(e)?.customParameters}).catch((()=>null));a.tables=t?.tables?.map(i)}}if(a.tables)for(const e of a.tables)e.url=`${n}/${e.id}`;return a}},75356:(e,a,r)=>{r.d(a,{N:()=>M,populateOperationalLayers:()=>o});var t=r(5503),n=(r(44208),r(22429)),i=r(4513),s=r(80812);function l(e,a){return!(!e.layerType||"ArcGISFeatureLayer"!==e.layerType)&&e.featureCollectionType===a}var c=r(45613),y=r(8947);async function o(e,a,r){if(!a)return;const t=a.map((e=>async function(e,a){return async function(e,a,r){const t=new e;return t.read(a,r.context),"group"===t.type&&("GroupLayer"===a.layerType?await M(t,a,r):v(a)?function(e,a,r){a.itemId&&(e.portalItem=new s.default({id:a.itemId,portal:r?.portal}),e.when((()=>{const t=t=>{const n=t.layerId;G(t,e,a,n,r);const i=a.featureCollection?.layers?.[n];i&&t.read(i,r)};e.layers?.forEach(t),e.tables?.forEach(t)})))}(t,a,r.context):b(a)&&await async function(e,a,r){const t=i.S.FeatureLayer,n=await t(),s=a.featureCollection,l=s?.showLegend,c=s?.layers?.map(((t,i)=>{const s=new n;s.read(t,r);const c={...r,ignoreDefaults:!0};return G(s,e,a,i,c),null!=l&&s.read({showLegend:l},c),s}));e.layers.addMany(c??[])}(t,a,r.context)),await(0,y.L)(t,r.context),t}(await I(e,a),e,a)}(e,r))),n=await Promise.allSettled(t);for(const a of n)"rejected"===a.status||a.value&&e.add(a.value)}const u={ArcGISDimensionLayer:"DimensionLayer",ArcGISFeatureLayer:"FeatureLayer",ArcGISImageServiceLayer:"ImageryLayer",ArcGISMapServiceLayer:"MapImageLayer",ArcGISSceneServiceLayer:"SceneLayer",ArcGISTiledElevationServiceLayer:"ElevationLayer",ArcGISTiledImageServiceLayer:"ImageryTileLayer",ArcGISTiledMapServiceLayer:"TileLayer",BuildingSceneLayer:"BuildingSceneLayer",CatalogLayer:"CatalogLayer",CSV:"CSVLayer",DefaultTileLayer:"TileLayer",GeoJSON:"GeoJSONLayer",GroupLayer:"GroupLayer",IntegratedMesh3DTilesLayer:"IntegratedMesh3DTilesLayer",Object3DTilesLayer:"UnsupportedLayer",IntegratedMeshLayer:"IntegratedMeshLayer",KML:"KMLLayer",LineOfSightLayer:"LineOfSightLayer",MediaLayer:"MediaLayer",OGCFeatureLayer:"OGCFeatureLayer",OrientedImageryLayer:"OrientedImageryLayer",PointCloudLayer:"PointCloudLayer",RasterDataLayer:"UnsupportedLayer",VectorTileLayer:"VectorTileLayer",ViewshedLayer:"ViewshedLayer",Voxel:"VoxelLayer",WCS:"WCSLayer",WFS:"WFSLayer",WMS:"WMSLayer",WebTiledLayer:"WebTileLayer"},d={ArcGISTiledElevationServiceLayer:"ElevationLayer",DefaultTileLayer:"ElevationLayer",RasterDataElevationLayer:"UnsupportedLayer"},L={ArcGISFeatureLayer:"FeatureLayer"},f={ArcGISImageServiceLayer:"UnsupportedLayer",ArcGISMapServiceLayer:"UnsupportedLayer",ArcGISSceneServiceLayer:"SceneLayer",ArcGISTiledImageServiceLayer:"ImageryTileLayer",ArcGISTiledMapServiceLayer:"TileLayer",DefaultTileLayer:"TileLayer",OpenStreetMap:"OpenStreetMapLayer",VectorTileLayer:"VectorTileLayer",WCS:"UnsupportedLayer",WMS:"UnsupportedLayer",WebTiledLayer:"WebTileLayer"},m={ArcGISAnnotationLayer:"UnsupportedLayer",ArcGISDimensionLayer:"UnsupportedLayer",ArcGISFeatureLayer:"FeatureLayer",ArcGISImageServiceLayer:"ImageryLayer",ArcGISImageServiceVectorLayer:"ImageryLayer",ArcGISMapServiceLayer:"MapImageLayer",ArcGISStreamLayer:"StreamLayer",ArcGISTiledImageServiceLayer:"ImageryTileLayer",ArcGISTiledMapServiceLayer:"TileLayer",BingMapsAerial:"BingMapsLayer",BingMapsHybrid:"BingMapsLayer",BingMapsRoad:"BingMapsLayer",CatalogLayer:"CatalogLayer",CSV:"CSVLayer",DefaultTileLayer:"TileLayer",GeoJSON:"GeoJSONLayer",GeoRSS:"GeoRSSLayer",GroupLayer:"GroupLayer",KML:"KMLLayer",KnowledgeGraphLayer:"KnowledgeGraphLayer",MediaLayer:"MediaLayer",OGCFeatureLayer:"OGCFeatureLayer",OrientedImageryLayer:"OrientedImageryLayer",SubtypeGroupLayer:"SubtypeGroupLayer",VectorTileLayer:"VectorTileLayer",WCS:"WCSLayer",WFS:"WFSLayer",WMS:"WMSLayer",WebTiledLayer:"WebTileLayer"},p={ArcGISFeatureLayer:"FeatureLayer",SubtypeGroupTable:"SubtypeGroupLayer"},S={ArcGISImageServiceLayer:"ImageryLayer",ArcGISImageServiceVectorLayer:"ImageryLayer",ArcGISMapServiceLayer:"MapImageLayer",ArcGISTiledImageServiceLayer:"ImageryTileLayer",ArcGISTiledMapServiceLayer:"TileLayer",BingMapsAerial:"BingMapsLayer",BingMapsHybrid:"BingMapsLayer",BingMapsRoad:"BingMapsLayer",DefaultTileLayer:"TileLayer",OpenStreetMap:"OpenStreetMapLayer",VectorTileLayer:"VectorTileLayer",WCS:"WCSLayer",WMS:"WMSLayer",WebTiledLayer:"WebTileLayer"},w={...m,LinkChartLayer:"LinkChartLayer"},h={...p},g={...S};async function I(e,a){const r=a.context,t=T(r);let y=e.layerType||e.type;!y&&a?.defaultLayerType&&(y=a.defaultLayerType);const o=t[y];let u=o?i.S[o]:i.S.UnknownLayer;if(v(e)){const a=r?.portal;if(e.itemId){const r=new s.default({id:e.itemId,portal:a});await r.load();const t=(await(0,c.n)(r,new n.v)).className||"UnknownLayer";u=i.S[t]}}else"ArcGISFeatureLayer"===y?function(e){return l(e,"notes")}(e)||function(e){return l(e,"markup")}(e)?u=i.S.MapNotesLayer:function(e){return l(e,"route")}(e)?u=i.S.RouteLayer:b(e)&&(u=i.S.GroupLayer):e.wmtsInfo?.url&&e.wmtsInfo.layerIdentifier?u=i.S.WMTSLayer:"WFS"===y&&"2.0.0"!==e.wfsInfo?.version&&(u=i.S.UnsupportedLayer);return u()}function b(e){return"ArcGISFeatureLayer"===e.layerType&&!v(e)&&(e.featureCollection?.layers?.length??0)>1}function v(e){return"Feature Collection"===e.type}function T(e){let a;switch(e.origin){case"web-scene":switch(e.layerContainerType){case"basemap":a=f;break;case"ground":a=d;break;case"tables":a=L;break;default:a=u}break;case"link-chart":switch(e.layerContainerType){case"basemap":a=g;break;case"tables":a=h;break;default:a=w}break;default:switch(e.layerContainerType){case"basemap":a=S;break;case"tables":a=p;break;default:a=m}}return a}async function M(e,a,r){const n=new t.A,i=o(n,Array.isArray(a.layers)?a.layers:[],r);try{try{if(await i,"group"===e.type)return e.layers.addMany(n),e}catch(a){e.destroy();for(const e of n)e.destroy();throw a}}catch(e){throw e}}function G(e,a,r,t,n){e.read({id:`${a.id}-sublayer-${t}`,visibility:r.visibleLayers?.includes(t)??!0},n)}},92009:(e,a,r)=>{r.d(a,{L:()=>o});var t=r(70333),n=r(78888),i=r(49186),s=r(74887),l=r(60694),c=r(20655),y=r(80812);async function o(e,a){const r=(0,l.qg)(e);if(!r)throw new i.A("invalid-url","Invalid scene service url");const o={...a,sceneServerUrl:r.url.path,layerId:r.sublayer??void 0};if(o.sceneLayerItem??=await async function(e){const a=(await u(e)).serviceItemId;if(!a)return null;const r=new y.default({id:a,apiKey:e.apiKey}),i=await async function(e){const a=t.id?.findServerInfo(e.sceneServerUrl);if(a?.owningSystemUrl)return a.owningSystemUrl;const r=e.sceneServerUrl.replace(/(.*\/rest)\/.*/i,"$1")+"/info";try{const a=(await(0,n.A)(r,{query:{f:"json"},responseType:"json",signal:e.signal})).data.owningSystemUrl;if(a)return a}catch(e){(0,s.QP)(e)}return null}(e);null!=i&&(r.portal=new c.A({url:i}));try{return await r.load({signal:e.signal})}catch(e){return(0,s.QP)(e),null}}(o),null==o.sceneLayerItem)return d(o.sceneServerUrl.replace("/SceneServer","/FeatureServer"),o);const L=await async function({sceneLayerItem:e,signal:a}){if(!e)return null;try{const r=(await e.fetchRelatedItems({relationshipType:"Service2Service",direction:"reverse"},{signal:a})).find((e=>"Feature Service"===e.type))||null;if(!r)return null;const t=new y.default({portal:r.portal,id:r.id});return await t.load(),t}catch(e){return(0,s.QP)(e),null}}(o);if(!L?.url)throw new i.A("related-service-not-found","Could not find feature service through portal item relationship");o.featureServiceItem=L;const f=await d(L.url,o);return f.portalItem=L,f}async function u(e){if(e.rootDocument)return e.rootDocument;const a={query:{f:"json",...e.customParameters,token:e.apiKey},responseType:"json",signal:e.signal};try{const r=await(0,n.A)(e.sceneServerUrl,a);e.rootDocument=r.data}catch{e.rootDocument={}}return e.rootDocument}async function d(e,a){const r=(0,l.qg)(e);if(!r)throw new i.A("invalid-feature-service-url","Invalid feature service url");const t=r.url.path,s=a.layerId;if(null==s)return{serverUrl:t};const c=u(a),y=a.featureServiceItem?await a.featureServiceItem.fetchData("json"):null,o=(y?.layers?.[0]||y?.tables?.[0])?.customParameters,d=e=>{const r={query:{f:"json",...o},responseType:"json",authMode:e,signal:a.signal};return(0,n.A)(t,r)},L=d("anonymous").catch((()=>d("no-prompt"))),[f,m]=await Promise.all([L,c]),p=m?.layers,S=f.data&&f.data.layers;if(!Array.isArray(S))throw new Error("expected layers array");if(Array.isArray(p)){for(let e=0;e<Math.min(p.length,S.length);e++)if(p[e].id===s)return{serverUrl:t,layerId:S[e].id}}else if(null!=s&&s<S.length)return{serverUrl:t,layerId:S[s].id};throw new Error("could not find matching associated sublayer")}}}]);
@@ -28,59 +28,60 @@ vec3 v = Q - C;
28
28
  float vv = dot(v, v);
29
29
  float vn = dot(normalize(v), n_C);
30
30
  return fallOffFunction(vv, vn, 0.1);
31
- }`),m.uniforms.add(new u("normalMap",(e=>e.normalTexture)),new u("depthMap",(e=>e.depthTexture)),new c("projScale",(e=>e.projScale)),new u("rnm",(e=>e.noiseTexture)),new n("rnmScale",((r,t)=>e(p,t.camera.fullWidth/r.noiseTexture.descriptor.width,t.camera.fullHeight/r.noiseTexture.descriptor.height))),new c("intensity",(e=>e.intensity)),new i("screenSize",(r=>e(p,r.camera.fullWidth,r.camera.fullHeight)))),r.outputs.add("fragOcclusion","float"),m.main.add(l`
32
- float depth = depthFromTexture(depthMap, uv);
31
+ }`),r.outputs.add("fragOcclusion","float"),m.uniforms.add(new u("normalMap",(e=>e.normalTexture)),new u("depthMap",(e=>e.depthTexture)),new c("projScale",(e=>e.projScale)),new u("rnm",(e=>e.noiseTexture)),new n("rnmScale",((r,t)=>e(p,t.camera.fullWidth/r.noiseTexture.descriptor.width,t.camera.fullHeight/r.noiseTexture.descriptor.height))),new c("intensity",(e=>e.intensity)),new i("screenSize",(r=>e(p,r.camera.fullWidth,r.camera.fullHeight)))).main.add(l`
32
+ float depth = depthFromTexture(depthMap, uv);
33
33
 
34
- // Early out if depth is out of range, such as in the sky
35
- if (depth >= 1.0 || depth <= 0.0) {
36
- fragOcclusion = 1.0;
37
- return;
38
- }
34
+ // Early out if depth is out of range, such as in the sky
35
+ if (depth >= 1.0 || depth <= 0.0) {
36
+ fragOcclusion = 1.0;
37
+ return;
38
+ }
39
39
 
40
- // get the normal of current fragment
41
- ivec2 iuv = ivec2(uv * vec2(textureSize(normalMap, 0)));
42
- vec4 norm4 = texelFetch(normalMap, iuv, 0);
43
- if(norm4.a != 1.0) {
44
- fragOcclusion = 1.0;
45
- return;
46
- }
47
- vec3 norm = normalize(norm4.xyz * 2.0 - 1.0);
40
+ // get the normal of current fragment
41
+ ivec2 iuv = ivec2(uv * vec2(textureSize(normalMap, 0)));
42
+ vec4 norm4 = texelFetch(normalMap, iuv, 0);
43
+ if(norm4.a != 1.0) {
44
+ fragOcclusion = 1.0;
45
+ return;
46
+ }
47
+ vec3 norm = normalize(norm4.xyz * 2.0 - 1.0);
48
48
 
49
- float currentPixelDepth = linearizeDepth(depth);
50
- vec3 currentPixelPos = reconstructPosition(gl_FragCoord.xy, currentPixelDepth);
49
+ float currentPixelDepth = linearizeDepth(depth);
50
+ vec3 currentPixelPos = reconstructPosition(gl_FragCoord.xy, currentPixelDepth);
51
51
 
52
- float sum = 0.0;
53
- vec3 tapPixelPos;
52
+ float sum = 0.0;
53
+ vec3 tapPixelPos;
54
54
 
55
- vec3 fres = normalize(2.0 * texture(rnm, uv * rnmScale).xyz - 1.0);
55
+ vec3 fres = normalize(2.0 * texture(rnm, uv * rnmScale).xyz - 1.0);
56
56
 
57
- // note: the factor 2.0 should not be necessary, but makes ssao much nicer.
58
- // bug or deviation from CE somewhere else?
59
- float ps = projScale / (2.0 * currentPixelPos.z * zScale.x + zScale.y);
57
+ // note: the factor 2.0 should not be necessary, but makes ssao much nicer.
58
+ // bug or deviation from CE somewhere else?
59
+ float ps = projScale / (2.0 * currentPixelPos.z * zScale.x + zScale.y);
60
60
 
61
- for(int i = 0; i < ${l.int(d)}; ++i) {
62
- vec2 unitOffset = reflect(sphere[i], fres).xy;
63
- vec2 offset = vec2(-unitOffset * radius * ps);
61
+ for(int i = 0; i < ${l.int(d)}; ++i) {
62
+ vec2 unitOffset = reflect(sphere[i], fres).xy;
63
+ vec2 offset = vec2(-unitOffset * radius * ps);
64
64
 
65
- // don't use current or very nearby samples
66
- if( abs(offset.x) < 2.0 || abs(offset.y) < 2.0){
67
- continue;
68
- }
65
+ // don't use current or very nearby samples
66
+ if( abs(offset.x) < 2.0 || abs(offset.y) < 2.0){
67
+ continue;
68
+ }
69
69
 
70
- vec2 tc = vec2(gl_FragCoord.xy + offset);
71
- if (tc.x < 0.0 || tc.y < 0.0 || tc.x > screenSize.x || tc.y > screenSize.y) continue;
72
- vec2 tcTap = tc / screenSize;
73
- float occluderFragmentDepth = linearDepthFromTexture(depthMap, tcTap);
70
+ vec2 tc = vec2(gl_FragCoord.xy + offset);
71
+ if (tc.x < 0.0 || tc.y < 0.0 || tc.x > screenSize.x || tc.y > screenSize.y) continue;
72
+ vec2 tcTap = tc / screenSize;
73
+ float occluderFragmentDepth = linearDepthFromTexture(depthMap, tcTap);
74
74
 
75
- tapPixelPos = reconstructPosition(tc, occluderFragmentDepth);
75
+ tapPixelPos = reconstructPosition(tc, occluderFragmentDepth);
76
76
 
77
- sum += aoValueFromPositionsAndNormal(currentPixelPos, norm, tapPixelPos);
78
- }
77
+ sum += aoValueFromPositionsAndNormal(currentPixelPos, norm, tapPixelPos);
78
+ }
79
79
 
80
- // output the result
81
- float A = max(1.0 - sum * intensity / float(${l.int(d)}), 0.0);
80
+ // output the result
81
+ float A = max(1.0 - sum * intensity / float(${l.int(d)}), 0.0);
82
82
 
83
- // Anti-tone map to reduce contrast and drag dark region farther: (x^0.2 + 1.2 * x^4) / 2.2
84
- A = (pow(A, 0.2) + 1.2 * A * A * A * A) / 2.2;
83
+ // Anti-tone map to reduce contrast and drag dark region farther: (x^0.2 + 1.2 * x^4) / 2.2
84
+ A = (pow(A, 0.2) + 1.2 * A * A * A * A) / 2.2;
85
85
 
86
- fragOcclusion = A;`),r}function v(e){return Math.max(10,20*e.computeScreenPixelSizeAtDist(Math.abs(4*e.relativeElevation)))}const p=r(),g=Object.freeze(Object.defineProperty({__proto__:null,build:m,getRadius:v},Symbol.toStringTag,{value:"Module"}));export{g as S,m as b,v as g};
86
+ fragOcclusion = A;
87
+ `),r}function v(e){return Math.max(10,20*e.computeScreenPixelSizeAtDist(Math.abs(4*e.relativeElevation)))}const p=r(),g=Object.freeze(Object.defineProperty({__proto__:null,build:m,getRadius:v},Symbol.toStringTag,{value:"Module"}));export{g as S,m as b,v as g};
package/core/NestedMap.js CHANGED
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- class t{constructor(){this._outer=new Map}clear(){this._outer.clear()}get empty(){return 0===this._outer.size}get(t,e){return this._outer.get(t)?.get(e)}getInner(t){return this._outer.get(t)}set(t,e,r){const o=this._outer.get(t);o?o.set(e,r):this._outer.set(t,new Map([[e,r]]))}delete(t,e){const r=this._outer.get(t);r&&(r.delete(e),0===r.size&&this._outer.delete(t))}forEach(t){this._outer.forEach(((e,r)=>t(e,r)))}forAll(t){for(const e of this._outer.values())for(const r of e.values())t(r)}}export{t as NestedMap};
5
+ class t{constructor(){this._outer=new Map}clear(){this._outer.clear()}get empty(){return 0===this._outer.size}get outerSize(){return this._outer.size}get(t,e){return this._outer.get(t)?.get(e)}getInner(t){return this._outer.get(t)}set(t,e,r){const o=this._outer.get(t);o?o.set(e,r):this._outer.set(t,new Map([[e,r]]))}delete(t,e){const r=this._outer.get(t);r&&(r.delete(e),0===r.size&&this._outer.delete(t))}forEach(t){this._outer.forEach(((e,r)=>t(e,r)))}forAll(t){this._outer.forEach(((e,r)=>e.forEach(((e,o)=>t(e,r,o)))))}}export{t as NestedMap};
package/core/deprecate.js CHANGED
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import has from"./has.js";const e=new WeakMap;function n(n,t,r=!1){const o=`🛑 DEPRECATED - ${t}`;if(!r)return void n.warn(o);let i=e.get(n);i||(i=new Set,e.set(n,i)),i.has(t)||(i.add(t),n.warn(o))}const t="https://www.esriurl.com/";function r(e,n,r,o={}){has("esri-deprecation-warnings")&&p(e,`This widget is deprecated. Use the ${n} component instead.`,{see:[`${n} component reference: ${t}${r}/`,`Esri's move to web components: ${t}components-transition-plan/`],replacement:`<${r}></${r}>`,warnOnce:!0,...o})}function o(e,n,t={}){has("esri-deprecation-warnings")&&p(e,`Module: ${n}`,t)}function i(e,n,t={}){if(has("esri-deprecation-warnings")){const{moduleName:r}=t;p(e,`Function: ${(r?r+"::":"")+n+"()"}`,t)}}function s(e,n,t={}){if(has("esri-deprecation-warnings")){const{moduleName:r}=t;p(e,`Property: ${(r?r+"::":"")+n}`,t)}}function a(e,n,t,r={}){if(has("esri-deprecation-warnings")){const{moduleName:o}=r;p(e,`'${(o?o+"::":"")+n}' value: ${t}`,r)}}function c(e,n,t={}){has("esri-deprecation-warnings")&&p(e,`Multiple argument constructor: ${n}`,{warnOnce:!0,replacement:`new ${n}({ <your properties here> })`,...t})}function p(e,t,r={}){if(has("esri-deprecation-warnings")){const{replacement:o,version:i,see:s,warnOnce:a}=r;let c=t;if(o&&(c+=`\n\t🛠️ Replacement: ${o}`),i&&(c+=`\n\t⚙️ Version: ${i}`),s)if(Array.isArray(s)){c+="\n\t🔗 See for more details:";for(const e of s)c+=`\n\t\t${e}`}else c+=`\n\t🔗 See ${s} for more details.`;n(e,c,a)}}export{r as deprecateWidget,p as deprecated,c as deprecatedConstructorSignature,i as deprecatedFunction,o as deprecatedModule,s as deprecatedProperty,a as deprecatedPropertyValue};
5
+ import has from"./has.js";const e=new WeakMap;function n(n,t,r=!1){const o=`🛑 DEPRECATED - ${t}`;if(!r)return void n.warn(o);let i=e.get(n);i||(i=new Set,e.set(n,i)),i.has(t)||(i.add(t),n.warn(o))}const t="https://www.esriurl.com/";function r(e,n,r,o={}){has("esri-deprecation-warnings")&&m(e,`This widget is deprecated. Use the ${n} component instead.`,{see:[`${n} component reference: ${t}${r}/`,`Esri's move to web components: ${t}components-transition-plan/`],replacement:`<${r}></${r}>`,warnOnce:!0,...o})}function o(e,n,r,o={}){has("esri-deprecation-warnings")&&m(e,`This view model is deprecated. Use the ${n} component directly instead.`,{see:[`${n} component reference: ${t}${r}/`,`Esri's move to web components: ${t}components-transition-plan/`],replacement:`<${r}></${r}>`,warnOnce:!0,...o})}function i(e,n,t={}){has("esri-deprecation-warnings")&&m(e,`Module: ${n}`,t)}function s(e,n,t={}){if(has("esri-deprecation-warnings")){const{moduleName:r}=t;m(e,`Function: ${(r?r+"::":"")+n+"()"}`,t)}}function c(e,n,t={}){if(has("esri-deprecation-warnings")){const{moduleName:r}=t;m(e,`Property: ${(r?r+"::":"")+n}`,t)}}function a(e,n,t,r={}){if(has("esri-deprecation-warnings")){const{moduleName:o}=r;m(e,`'${(o?o+"::":"")+n}' value: ${t}`,r)}}function p(e,n,t={}){has("esri-deprecation-warnings")&&m(e,`Multiple argument constructor: ${n}`,{warnOnce:!0,replacement:`new ${n}({ <your properties here> })`,...t})}function m(e,t,r={}){if(has("esri-deprecation-warnings")){const{replacement:o,version:i,see:s,warnOnce:c}=r;let a=t;if(o&&(a+=`\n\t🛠️ Replacement: ${o}`),i&&(a+=`\n\t⚙️ Version: ${i}`),s)if(Array.isArray(s)){a+="\n\t🔗 See for more details:";for(const e of s)a+=`\n\t\t${e}`}else a+=`\n\t🔗 See ${s} for more details.`;n(e,a,c)}}export{o as deprecateUnnecessaryViewModel,r as deprecateWidget,m as deprecated,p as deprecatedConstructorSignature,s as deprecatedFunction,i as deprecatedModule,c as deprecatedProperty,a as deprecatedPropertyValue};