@arcgis/core 4.33.0-next.20250414 → 4.33.0-next.20250415

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 (155) hide show
  1. package/arcade/featureset/support/FeatureSet.js +1 -1
  2. package/arcade/functions/geomasync.js +1 -1
  3. package/arcade/functions/geomsync.js +1 -1
  4. package/arcade/geometry/functions.js +1 -1
  5. package/arcade/geometry/operatorsWorker.js +1 -1
  6. package/assets/esri/core/workers/RemoteClient.js +1 -1
  7. package/assets/esri/core/workers/chunks/0252d853419adc203f04.js +1 -0
  8. package/assets/esri/core/workers/chunks/{fe1ad9ed0d32f557e5a3.js → 029705c229ccf2e6b78d.js} +28 -28
  9. package/assets/esri/core/workers/chunks/030f5b9a9757eead436b.js +1 -0
  10. package/assets/esri/core/workers/chunks/{4403b3f08907e88d0d91.js → 0b34c8356b8492ce7b16.js} +1 -1
  11. package/assets/esri/core/workers/chunks/{fb65796296b0422cf266.js → 272a309760dacb13dee3.js} +1 -1
  12. package/assets/esri/core/workers/chunks/2bdbf678d4f013543dbb.js +1 -0
  13. package/assets/esri/core/workers/chunks/321f6f6d268755482c27.js +1 -0
  14. package/assets/esri/core/workers/chunks/{b7a1185ac49480fc1410.js → 35a59f0df087e3c588a9.js} +1 -1
  15. package/assets/esri/core/workers/chunks/{083548c5eea5aca6404c.js → 45d64b72b7e93e9c64d7.js} +1 -1
  16. package/assets/esri/core/workers/chunks/{626e33ece2c49d40f6cd.js → 4e711f4fa1cbedf4dae5.js} +1 -1
  17. package/assets/esri/core/workers/chunks/56fdbe61ac84b036a1a2.js +1 -0
  18. package/assets/esri/core/workers/chunks/57fd5a52be41ddd6a11b.js +1 -0
  19. package/assets/esri/core/workers/chunks/5fb9bb3ac2f60dbd59c4.js +1 -0
  20. package/assets/esri/core/workers/chunks/{0a675f9f69b8b13b7443.js → 601fc99426f0213b0769.js} +1 -1
  21. package/assets/esri/core/workers/chunks/68d7babbe7e0d934e056.js +1 -0
  22. package/assets/esri/core/workers/chunks/6fc39a58f3011291c602.js +1 -0
  23. package/assets/esri/core/workers/chunks/8221f2e540abe1e0f048.js +1 -0
  24. package/assets/esri/core/workers/chunks/83e13baab4b90a88d967.js +1 -0
  25. package/assets/esri/core/workers/chunks/851baab753d9c8e967bd.js +1 -0
  26. package/assets/esri/core/workers/chunks/8ba7d44eff348004f084.js +1 -0
  27. package/assets/esri/core/workers/chunks/{9050dad7e4f093568026.js → 97267911d03c2426d319.js} +1 -1
  28. package/assets/esri/core/workers/chunks/984c5047ab1fa632ca09.js +1 -0
  29. package/assets/esri/core/workers/chunks/{5aae4e127e888f69435a.js → 9a1c058d3ecd1db0e996.js} +1 -1
  30. package/assets/esri/core/workers/chunks/9b21dc4659922cc577cb.js +1 -0
  31. package/assets/esri/core/workers/chunks/{ff62b813fff4a015a8a6.js → a4239e301728d594afa5.js} +1 -1
  32. package/assets/esri/core/workers/chunks/aca3ccb9599bcc444617.js +1 -0
  33. package/assets/esri/core/workers/chunks/{a3421383e48379012c9c.js → b6dd25bccb9f6e19c18e.js} +1 -1
  34. package/assets/esri/core/workers/chunks/bf4947fe446dcb477031.js +1 -0
  35. package/assets/esri/core/workers/chunks/d053c23fce77fb77cc00.js +1 -0
  36. package/assets/esri/core/workers/chunks/e31bb256921807464715.js +1 -0
  37. package/assets/esri/core/workers/chunks/{8aae03e347ab18ae6ee2.js → e3d25d027885eb1a415f.js} +1 -1
  38. package/assets/esri/core/workers/chunks/ed517687b3728fd2eb64.js +1 -0
  39. package/assets/esri/themes/base/widgets/_Expand.scss +6 -1
  40. package/assets/esri/themes/base/widgets/_TimeSlider.scss +97 -107
  41. package/assets/esri/themes/dark/main.css +1 -1
  42. package/assets/esri/themes/light/main.css +1 -1
  43. package/assets/esri/themes/light/view.css +1 -1
  44. package/assets/esri/widgets/TimeSlider/t9n/TimeSlider.json +1 -1
  45. package/assets/esri/widgets/TimeSlider/t9n/TimeSlider_ar.json +1 -1
  46. package/assets/esri/widgets/TimeSlider/t9n/TimeSlider_bg.json +1 -1
  47. package/assets/esri/widgets/TimeSlider/t9n/TimeSlider_bs.json +1 -1
  48. package/assets/esri/widgets/TimeSlider/t9n/TimeSlider_ca.json +1 -1
  49. package/assets/esri/widgets/TimeSlider/t9n/TimeSlider_cs.json +1 -1
  50. package/assets/esri/widgets/TimeSlider/t9n/TimeSlider_da.json +1 -1
  51. package/assets/esri/widgets/TimeSlider/t9n/TimeSlider_de.json +1 -1
  52. package/assets/esri/widgets/TimeSlider/t9n/TimeSlider_el.json +1 -1
  53. package/assets/esri/widgets/TimeSlider/t9n/TimeSlider_en.json +1 -1
  54. package/assets/esri/widgets/TimeSlider/t9n/TimeSlider_es.json +1 -1
  55. package/assets/esri/widgets/TimeSlider/t9n/TimeSlider_et.json +1 -1
  56. package/assets/esri/widgets/TimeSlider/t9n/TimeSlider_fi.json +1 -1
  57. package/assets/esri/widgets/TimeSlider/t9n/TimeSlider_fr.json +1 -1
  58. package/assets/esri/widgets/TimeSlider/t9n/TimeSlider_he.json +1 -1
  59. package/assets/esri/widgets/TimeSlider/t9n/TimeSlider_hr.json +1 -1
  60. package/assets/esri/widgets/TimeSlider/t9n/TimeSlider_hu.json +1 -1
  61. package/assets/esri/widgets/TimeSlider/t9n/TimeSlider_id.json +1 -1
  62. package/assets/esri/widgets/TimeSlider/t9n/TimeSlider_it.json +1 -1
  63. package/assets/esri/widgets/TimeSlider/t9n/TimeSlider_ja.json +1 -1
  64. package/assets/esri/widgets/TimeSlider/t9n/TimeSlider_ko.json +1 -1
  65. package/assets/esri/widgets/TimeSlider/t9n/TimeSlider_lt.json +1 -1
  66. package/assets/esri/widgets/TimeSlider/t9n/TimeSlider_lv.json +1 -1
  67. package/assets/esri/widgets/TimeSlider/t9n/TimeSlider_nl.json +1 -1
  68. package/assets/esri/widgets/TimeSlider/t9n/TimeSlider_no.json +1 -1
  69. package/assets/esri/widgets/TimeSlider/t9n/TimeSlider_pl.json +1 -1
  70. package/assets/esri/widgets/TimeSlider/t9n/TimeSlider_pt-BR.json +1 -1
  71. package/assets/esri/widgets/TimeSlider/t9n/TimeSlider_pt-PT.json +1 -1
  72. package/assets/esri/widgets/TimeSlider/t9n/TimeSlider_ro.json +1 -1
  73. package/assets/esri/widgets/TimeSlider/t9n/TimeSlider_ru.json +1 -1
  74. package/assets/esri/widgets/TimeSlider/t9n/TimeSlider_sk.json +1 -1
  75. package/assets/esri/widgets/TimeSlider/t9n/TimeSlider_sl.json +1 -1
  76. package/assets/esri/widgets/TimeSlider/t9n/TimeSlider_sr.json +1 -1
  77. package/assets/esri/widgets/TimeSlider/t9n/TimeSlider_sv.json +1 -1
  78. package/assets/esri/widgets/TimeSlider/t9n/TimeSlider_th.json +1 -1
  79. package/assets/esri/widgets/TimeSlider/t9n/TimeSlider_tr.json +1 -1
  80. package/assets/esri/widgets/TimeSlider/t9n/TimeSlider_uk.json +1 -1
  81. package/assets/esri/widgets/TimeSlider/t9n/TimeSlider_vi.json +1 -1
  82. package/assets/esri/widgets/TimeSlider/t9n/TimeSlider_zh-CN.json +1 -1
  83. package/assets/esri/widgets/TimeSlider/t9n/TimeSlider_zh-HK.json +1 -1
  84. package/assets/esri/widgets/TimeSlider/t9n/TimeSlider_zh-TW.json +1 -1
  85. package/chunks/BloomComposition.glsl.js +4 -13
  86. package/chunks/Theme.js +1 -1
  87. package/chunks/Tick.js +1 -1
  88. package/geometry/support/HalfFloatArray.js +1 -1
  89. package/geometry/support/buffer/BufferView.js +1 -1
  90. package/geometry/support/float16.js +1 -1
  91. package/interfaces.d.ts +222 -139
  92. package/layers/FeatureLayer.js +1 -1
  93. package/layers/WCSLayer.js +1 -1
  94. package/layers/graphics/data/QueryEngineCapabilities.js +1 -1
  95. package/layers/graphics/sources/OGCFeatureSource.js +1 -1
  96. package/layers/mixins/ArcGISImageService.js +1 -1
  97. package/layers/mixins/FeatureLayerBase.js +1 -1
  98. package/layers/support/capabilities.js +1 -1
  99. package/layers/support/serviceCapabilitiesUtils.js +1 -1
  100. package/package.json +2 -2
  101. package/support/revision.js +1 -1
  102. package/views/3d/layers/DrapedSubView3D.js +1 -1
  103. package/views/3d/layers/DynamicLayerView3D.js +1 -1
  104. package/views/3d/layers/FlowSubView3D.js +5 -0
  105. package/views/3d/layers/ImageryLayerView3D.js +1 -1
  106. package/views/3d/layers/ImageryTileLayerView3D.js +1 -1
  107. package/views/3d/layers/PointCloudLayerView3D.js +1 -1
  108. package/views/3d/layers/WMSLayerView3D.js +1 -1
  109. package/views/3d/support/buffer/InterleavedLayout.js +1 -1
  110. package/views/3d/webgl-engine/effects/bloom/BloomComposition.glsl.js +1 -1
  111. package/views/3d/webgl-engine/effects/bloom/BloomRenderNode.js +1 -1
  112. package/views/3d/webgl-engine/lib/DefaultVertexBufferLayouts.js +1 -1
  113. package/views/3d/webgl-engine/lib/glUtil3D.js +1 -1
  114. package/views/3d/webgl-engine/materials/LineMarkerMaterial.js +1 -1
  115. package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
  116. package/views/3d/webgl-engine/materials/internal/bufferWriterUtils.js +1 -1
  117. package/views/3d/webgl-engine/materials/renderers/MergedRenderer.js +1 -1
  118. package/views/layers/ImageryTileLayerView.js +1 -1
  119. package/widgets/Search/types.d.ts +10 -0
  120. package/widgets/Search/types.js +5 -0
  121. package/widgets/TimeSlider/TimeSliderViewModel.js +1 -1
  122. package/widgets/TimeSlider/css.js +1 -1
  123. package/widgets/TimeSlider.js +1 -1
  124. package/widgets/support/SelectionList/FeatureItem.js +5 -0
  125. package/widgets/support/SelectionList/GroupLayerItem.js +5 -0
  126. package/widgets/support/SelectionList/{SelectionListItemBase.js → ItemBase.js} +1 -1
  127. package/widgets/support/SelectionList/LayerItem.js +5 -0
  128. package/widgets/support/SelectionList/SelectionListViewModel.js +1 -1
  129. package/widgets/support/SelectionList/selectionListUtils.js +1 -1
  130. package/widgets/support/SelectionList.js +1 -1
  131. package/assets/esri/core/workers/chunks/0db4c0071282dd94f3b2.js +0 -1
  132. package/assets/esri/core/workers/chunks/10631680abe7607616ca.js +0 -1
  133. package/assets/esri/core/workers/chunks/277b61af8982092a4c81.js +0 -1
  134. package/assets/esri/core/workers/chunks/290aed587aa647226b46.js +0 -1
  135. package/assets/esri/core/workers/chunks/345f428dfcaa594ee617.js +0 -1
  136. package/assets/esri/core/workers/chunks/358a3a9326615d5e6d3b.js +0 -1
  137. package/assets/esri/core/workers/chunks/39fbac918ebd1b0e3a18.js +0 -1
  138. package/assets/esri/core/workers/chunks/544771f64a86b541d5bb.js +0 -1
  139. package/assets/esri/core/workers/chunks/6275114e8ed9dd31465d.js +0 -1
  140. package/assets/esri/core/workers/chunks/72b5e43741ce3a0da8f7.js +0 -1
  141. package/assets/esri/core/workers/chunks/7e63e3d759c874077b52.js +0 -1
  142. package/assets/esri/core/workers/chunks/7f8c7e3e41e51ab4d612.js +0 -1
  143. package/assets/esri/core/workers/chunks/80a5fd4fb79e90086538.js +0 -1
  144. package/assets/esri/core/workers/chunks/80aaf31c8eec3cff2add.js +0 -1
  145. package/assets/esri/core/workers/chunks/b6361cec92003997bfe5.js +0 -1
  146. package/assets/esri/core/workers/chunks/bbbb1aa2569ebf01ad8b.js +0 -1
  147. package/assets/esri/core/workers/chunks/d59aeb46bf2fb0931a9b.js +0 -1
  148. package/assets/esri/core/workers/chunks/ee277dd58aa69281163f.js +0 -1
  149. package/assets/esri/core/workers/chunks/f718d41f665d5df25f79.js +0 -1
  150. package/assets/esri/core/workers/chunks/fa9ef9e8eae505371965.js +0 -1
  151. package/assets/esri/core/workers/chunks/fb5b852d0f72df014377.js +0 -1
  152. package/assets/esri/core/workers/chunks/fb603edd374e24f366ff.js +0 -1
  153. package/widgets/support/SelectionList/SelectionListFeatureItem.js +0 -5
  154. package/widgets/support/SelectionList/SelectionListGroupLayerItem.js +0 -5
  155. package/widgets/support/SelectionList/SelectionListLayerItem.js +0 -5
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[4587],{431:(t,e,n)=>{n.d(e,{o6:()=>v,HY:()=>w,hx:()=>F,Jb:()=>x});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 a=0,c=0;for(let t=0;t<n;t++){const e=r[t+1],n=i[t+1];r[t+1]=a,i[t+1]=c,a+=e,c+=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),a=n(3055),c=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)),a=n*s,c=o*s,u=r<=0?(a>=0?1:-1)*(1-Math.abs(c)):a,h=r<=0?(c>=0?1:-1)*(1-Math.abs(a)):c,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 a.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=a.gr}static{this.glLayout=(0,l.U)(a.gr,1)}}class S{constructor(){this._commonWriter=new T}updateSettings(t){this._commonWriter.updateSettings(t)}allocate(t){return a.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=a.In}static{this.glLayout=(0,l.U)(a.In,1)}}const I=(0,h.vt)(),b=new c.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}),c=r(s.indices,i,s.uniqueCount);return{faces:s.indices,facesLength:s.indices.length,neighbors:c,vertices:a.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,x=(0,i.BP)().vec3f(s.r.POSITION0).vec3f(s.r.POSITION1),w=(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:()=>c});var o=n(4431),r=n(1843),i=n(46540);const s=(0,r.BP)().vec3f(i.r.POSITION).u16(i.r.COMPONENTINDEX).freeze(),a=(0,r.BP)().vec2u8(i.r.SIDENESS).freeze(),c=((0,o.U)(a),(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),a=i.constructor.ElementCount,c=s(i.constructor.ElementType),u=i.offset,h=i.optional?.glNormalized??!1;return new r._(o,a,c,u,n,h,e)}))}function s(t){const e=a[t];if(e)return e;throw new Error("BufferType not supported in WebGL")}const a={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=c(l,o,e);let i=r%g,a=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)){a=E[t];break}}i++,i>=g&&(i-=g)}a===O&&(u[2*i]=r,u[2*i+1]=n+1,O++),E[n]=a}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&&(a(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 a(t,e,n,o,r){for(let i=0;i<r;i++)n[o+i]=t[e+i]}function c(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:()=>c});var o=n(34727),r=n(4341),i=n(38954),s=n(51850),a=n(32114);function c(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=c()){return(0,i.c)(n.origin,t),(0,i.d)(n.vector,e,t),n}function h(t,e){const n=(0,i.d)(a.rq.get(),e,t.origin),r=(0,i.f)(t.vector,n),s=(0,i.f)(t.vector,t.vector),c=(0,o.qE)(r/s,0,1),u=(0,i.d)(a.rq.get(),(0,i.h)(a.rq.get(),t.vector,c),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:c,origin:u}=t,h=(0,i.d)(a.rq.get(),e,u),l=(0,i.f)(c,h)/(0,i.k)(c);return(0,i.h)(s,c,(0,o.qE)(l,n,r)),(0,i.g)(s,s,t.origin)}(0,s.vt)(),(0,s.vt)(),new r.I((()=>c()))},24587:(t,e,n)=>{n.r(e),n.d(e,{default:()=>ot});var o,r,i,s=n(90237),a=n(74887),c=(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,e=t.length){this._objectCount+=e,this._grow(t,e);const n=I.acquire();for(let o=0;o<e;o++){const e=t[o];this._isDegenerate(e)?this._degenerateObjects.add(e):(n.init(this._root),this._add(e,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 x((0,d.a)(e.bounds),2*-e.halfSize,G),x((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 x((0,d.a)(e.bounds),2*-e.halfSize,G),x((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,a=null;const c=B(t,e),h=c=>{if(--r,!o(c))return;const u=this.objectToBoundingSphere(c);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,a=c)};return M(this._root,(o=>{if(r<=0||!p(n,o.bounds))return!1;if((0,u.h)(q,c,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),a}forEachInDepthRange(t,e,n,o,r,i,s){let a=-1/0,c=1/0;const h={setRange:t=>{n===S.DepthOrder.FRONT_TO_BACK?(a=Math.max(a,t.near),c=Math.min(c,t.far)):(a=Math.max(a,-t.far),c=Math.min(c,-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>c||T<a||!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>c)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<a)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 a=t.node;return a.terminals.forAll(s),i&&null!==a.residents&&a.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,e){if(0!==e&&(w(t,e,(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,w([t,Y],2,(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,t.node.terminals.length),null!==t.node.residents&&this.add(t.node.residents.data,t.node.residents.length),!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),a=n[t]+e-(r[t]+i),c=Math.max(0,Math.ceil(s/(2*i))),u=Math.max(0,Math.ceil(a/(2*i)))+1,h=2**Math.ceil(Math.log(c+u)*Math.LOG2E);o=Math.max(o,h),Z[t].min=c,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 a=r[t]-i-e*i*2;H[t]=a+(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 x(t,e,n){n[0]=t[0]+e,n[1]=t[1]+e,n[2]=t[2]+e}function w(t,e,n,o){if(1===e){const e=n(t[0]);(0,d.e)(e,o)}else{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(let o=0;o<e;o++){const e=n(t[o]);y(e[3])&&(L(G,e),C(k,e))}(0,u.m)((0,d.a)(o),G,k,.5),o[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,a.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 a=et(r,i,t.origin),c=new st(e,s,a);o[s]=c}this._edges.add(o);const{objectIds:s,origin:a}=t;e.info={locations:n,objectIds:s,origin:a}}_addCandidates(t,e,n){const{info:o}=e.component,{origin:r,objectIds:i}=o,s=o.locations,a=s.position0.getVec(e.index,this._tmpP1),c=s.position1.getVec(e.index,this._tmpP2);(0,u.g)(a,a,r),(0,u.g)(c,c,r);const h=i[s.componentIndex.get(e.index)];this._addEdgeCandidate(t,h,a,c,n),rt(t,h,a,n),rt(t,h,c,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),a=(0,l._I)(s,i,this._tmpP3);(0,d.o)(t.bounds,a)&&r.push({type:"edge",objectId:e,target:(0,h.o8)(a),distance:(0,u.j)(i,a),start:(0,h.o8)(n),end:(0,h.o8)(o)})}};nt=(0,s._)([(0,c.$)("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:()=>a,kU:()=>c,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 a(t,e,n,o,r){return s(o,r,(t-e)/(n-e))}function c(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,{Cr:()=>l,LV:()=>h,kb:()=>d,oC:()=>f,vt:()=>c}),n(4576);var o=n(4341),r=(n(77690),n(29242)),i=n(38954),s=n(51850),a=n(32114);function c(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=m.get();return n.origin=t,n.direction=e,n}function l(t,e,n=c()){return(0,i.c)(n.origin,t),(0,i.d)(n.direction,e,t),n}function d(t,e){const n=(0,i.e)(a.rq.get(),(0,i.n)(a.rq.get(),t.direction),(0,i.d)(a.rq.get(),e,t.origin));return(0,i.f)(n,n)}function f(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 m=new o.I((()=>c()));(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={}))},93406:(t,e,n)=>{n.d(e,{K:()=>c});var o=n(34727),r=n(3694),i=n(38954),s=n(51850);const a=-1;function c(t,e,n){const o=t.vertices.position,r=t.vertices.componentIndex,s=T.position0,c=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],c);const n=d.pushNew();n.index=4*t,n.length=(0,i.j)(s,c)}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===a;if(o.getVec(d,s),o.getVec(g,c),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],c=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===a||h<l)&&(f.push(h),f.push(l),f.push(t),f.push(s)),(c===a||l<d)&&(f.push(l),f.push(d),f.push(t),f.push(c)),(u===a||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:()=>w,s:()=>y}),n(44208),n(53966);var o=n(34727),r=n(58083),i=n(38954),s=n(51850),a=n(87317),c=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,c.vt)()}const g=a.e,O=a.e;function p(t,e){return(0,a.c)(e,t)}function A(t){return t[3]}function E(t){return t}function N(t,e,n,o){return(0,c.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 a=2*(r[0]*i[0]+r[1]*i[1]+r[2]*i[2]),c=a*a-4*s*(i[0]*i[0]+i[1]*i[1]+i[2]*i[2]-t[3]*t[3]);if(c<0)return!1;const u=Math.sqrt(c);return n.t0=(-a-u)/(2*s),n.t1=(-a+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 a=A(t);(0,i.e)(n,o,e.origin),(0,i.h)(n,n,1/(0,i.l)(n)*a);const c=P(t,e.origin),u=(0,f.g7)(e.origin,n);return(0,r.$0)(s,u+c,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),a=s+Math.abs(s-r);return(0,o.XM)(s/a)}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 x(t,e){const n=(0,i.d)(B,e,t);return(0,i.l)(n)-t[3]}function w(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:x,angleToSilhouette:P,axisAt:C,cameraFrustumCoverage:function(t,e,n,o){const r=A(t),i=r*r,s=e+.5*Math.PI,a=n*n+i-2*Math.cos(s)*n*r,c=Math.sqrt(a),u=a-i;if(u<=0)return.5;const h=Math.sqrt(u),l=Math.acos(h/c)-Math.asin(r/(c/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:w,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,c.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:a}=o,{t0:c,t1:h}=S,d=e=>{const n=(0,s.vt)();return(0,i.b)(n,r,a,e),F(t,n,n)};return Math.abs(c-h)<(0,u.FD)()?[d(c)]:[d(c),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=x(t,e),s=C(t,e,h._.Z,B),a=(0,i.h)(B,s,n-r);return(0,i.g)(o,e,a)},setExtent:function(t,e,n){return t!==n&&p(t,n),n},tmpSphere:D,union:function(t,e,n=(0,c.vt)()){const o=(0,i.j)(t,e),r=t[3],s=e[3];return o+s<r?((0,a.c)(n,t),n):o+r<s?((0,a.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"}))}}]);
@@ -1 +1 @@
1
- "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[9547],{19547:(e,t,n)=>{n.r(t),n.d(t,{default:()=>Ie});var i=n(90237),s=n(13874),o=n(69540),a=n(49186),r=n(92071),l=n(74887),c=n(36708),u=n(10107),p=(n(44208),n(53966)),d=(n(87811),n(40608)),m=n(4146),f=n(63074),g=n(69208),h=n(89015),v=n(16131),y=n(8303),b=n(63660),w=n(54310),x=n(25036),C=n(82935),I=n(10873),S=n(20437),D=n(74797),A=n(5443),T=n(38458),L=n(78888),V=n(50103);function M(e){return e.endsWith("?")?e.slice(0,-1):e}function N(e){return e.filter((({coverageSubType:e})=>null==e||""===e||/^rectified(grid|dataset)/i.test(e)))}function R(e){const t={};for(let n=0;n<e.childNodes.length;n++){const i=e.childNodes[n];if(1!==i.nodeType)continue;const s=(0,V.vv)(i).toLowerCase();switch(s){case"title":case"abstract":t[s]=(0,V.mX)(i);break;case"identifier":t.id=(0,V.mX)(i);break;case"wgs84boundingbox":{const e=(0,V.pN)(i,"LowerCorner"),n=(0,V.pN)(i,"UpperCorner");t.lonLatEnvelope=new A.A({xmin:e[0],ymin:e[1],xmax:n[0],ymax:n[1],spatialReference:{wkid:4326}})}break;case"coveragesummary":t.coverageSummaries=t.coverageSummaries||[],t.coverageSummaries.push(R(i))}}return t}function P(e,t){if(e.coverageSummaries)for(let n=0;n<e.coverageSummaries.length;n++)e.coverageSummaries[n].abstract=e.coverageSummaries[n].abstract||e.abstract,e.coverageSummaries[n].lonLatEnvelope=e.coverageSummaries[n].lonLatEnvelope||e.lonLatEnvelope,e.coverageSummaries[n].title=e.coverageSummaries[n].title||e.title,P(e.coverageSummaries[n],t);null!=e.id&&t.push(e)}function E(e){const t=(0,V.V6)(e.querySelector("Operation[name=GetCapabilities]"),"Get")?.getAttribute("xlink:href")||"",n=(0,V.V6)(e.querySelector("Operation[name=DescribeCoverage]"),"Get")?.getAttribute("xlink:href")||"",i=(0,V.V6)(e.querySelector("Operation[name=GetCoverage]"),"Get")?.getAttribute("xlink:href")||"";return{getCapabilities:M(t),describeCoverage:M(n),getCoverage:M(i)}}function $(e,t=null){let n=null;n="string"==typeof e?(new DOMParser).parseFromString(e,"text/xml"):e;let i=n.documentElement.getAttribute("version");"1.0"===i?i="1.0.0":"1.1"===i&&(i="1.1.0");const s=i||t||"1.0.0",o=s.slice(0,3);let r;if("2.0"===o)r=function(e){const t=(0,V.V6)(e,"ServiceIdentification"),n=(0,V.mX)(t,"Title"),i=(0,V.Dy)(t,"ServiceTypeVersion"),s=(0,V.Dy)(t,"Profile"),o=E((0,V.V6)(e,"OperationsMetadata")),a=(0,V.IC)(e,"Contents/CoverageSummary"),r=[];for(let e=0;e<a.length;e++){const t=a[e],n=(0,V.mX)(t,"CoverageId"),i=(0,V.V6)(t,"WGS84BoundingBox");let s;if(i){const e=(0,V.pN)(i,"LowerCorner"),t=(0,V.pN)(i,"UpperCorner");s=new A.A({xmin:e[0],ymin:e[1],xmax:t[0],ymax:t[1],spatialReference:{wkid:4326}})}const o=(0,V.mX)(t,"CoverageSubtype")||"RectifiedGridCoverage";r.push({id:n,lonLatEnvelope:s,coverageSubType:o})}const l=(0,V.V6)(e,"ServiceMetadata");return{name:n,supportedVersions:i,supportedFormats:(0,V.Dy)(l,"formatSupported"),supportedInterpolations:(0,V.Dy)(l,"interpolationSupported").concat((0,V.Dy)(l,"InterpolationSupported")),onlineResources:o,profiles:s,coverages:r,gridCoverages:N(r),version:"2.0.1"}}(n);else if("1.1"===o)r=function(e){const t=(0,V.mX)(e,"ServiceIdentification/Title"),n=(0,V.Dy)(e,"ServiceIdentification/ServiceTypeVersion"),i=E((0,V.V6)(e,"OperationsMetadata")),s=[],o=(0,V.V6)(e,"Contents");for(let e=0;e<o.childNodes.length;e++){const t=o.childNodes[e];1===t.nodeType&&(0,V.g7)(t,"CoverageSummary")&&P(R(t),s)}const a=(0,V.Dy)(o,"SupportedFormat");return{name:t,onlineResources:i,coverages:s,gridCoverages:N(s),supportedVersions:n,supportedFormats:a,version:"1.1.0"}}(n);else{if("1.0"!==o)throw new a.A("wcsraster:parsecapabilities","the capabilities version is not supported");r=function(e){const t=(0,V.mX)(e,"Service/name"),n=(0,V.V6)(e,"Capability"),i=(0,V.V6)(n,"GetCapabilities/Get/OnlineResource")?.getAttribute("xlink:href")??"",s=(0,V.V6)(n,"DescribeCoverage/Get/OnlineResource")?.getAttribute("xlink:href")??"",o=(0,V.V6)(n,"GetCoverage/Get/OnlineResource")?.getAttribute("xlink:href")??"",a={getCapabilities:M(i),describeCoverage:M(s),getCoverage:M(o)},r=(0,V.IC)(e,"CoverageOfferingBrief"),l=[];for(let e=0;e<r.length;e++){const t=r[e],n=(0,V.mX)(t,"name"),i=(0,V.IC)(t,"pos"),s=(0,V.pN)(i[0]),o=(0,V.pN)(i[1]),a=new A.A({xmin:s[0],ymin:s[1],xmax:o[0],ymax:o[1],spatialReference:{wkid:4326}});l.push({id:n,lonLatEnvelope:a})}return{name:t,onlineResources:a,coverages:l,gridCoverages:N(l),supportedVersions:["1.0.0"],version:"1.0.0"}}(n)}return r.version=s,r}var O=n(39829),X=n(87186),_=n(77301);function k(e){e.variables.forEach((e=>e.dimensions.forEach((e=>e.values??=(0,_.Xg)(e)))))}function F(e){return{requestResponseCRSs:(0,V.Dy)(e,"requestResponseCRSs").map((e=>e.split(":")[1])),nativeCRSs:(0,V.Dy)(e,"nativeCRSs").map((e=>e.split(":")[1]))}}function G(e,t){const n=(0,V.Dy)(e,"1.0.0"===t?"interpolationMethod":"InterpolationMethod"),i="1.0.0"===t?e.getAttribute("default"):(0,V.mX)(e,"InterpolationMethods/Default");return null!=i?[i].concat(n.filter((e=>e.toLowerCase()!==i.toLowerCase()))):n}function B(e){return null==e?["nearest"]:e.map((e=>{const t=e.toLowerCase();return t.includes("nearest")?"nearest":t.includes("linear")?"bilinear":t.includes("cubic")?"cubic":null})).filter((e=>!!e))}function j(e){const t=(0,V.IC)(e,"pos"),n=(0,V.pN)(t[0]),i=(0,V.pN)(t[1]);return new A.A({xmin:n[0],ymin:n[1],xmax:i[0],ymax:i[1],spatialReference:{wkid:4326}})}function W(e,t){const n=(0,V.Dy)(e,t);return n?.length&&""!==n[0]&&!isNaN(Number(n[0]))?n.map((e=>Number(e))):null}function q(e){const t=(0,V.pN)(e,"MinimumValue"),n=(0,V.pN)(e,"MaximumValue");return t.length&&n.length?t.map(((e,t)=>({min:e,max:n[t],avg:-1,stddev:-1}))):null}function Z(e){return null==e?null:e.every((t=>t===e[0]))?e[0]:e}function U(e){const t=[],n=(0,V.IC)(e,"RangeSet");let i=[];for(let e=0;e<n.length;e++){const s=(0,V.mX)(n[e],"name"),o=(0,V.mX)(n[e],"label"),a=[],r=W(n[e],"nullValues/singleValue"),l=(0,V.IC)(n[e],"AxisDescription");for(let e=0;e<l.length;e++){const t=(0,V.mX)(l[e],"name"),n=(0,V.mX)(l[e],"label"),s=(0,V.Dy)(l[e],"singleValue");if(0===s.length){const t=(0,V.mX)(l[e],"min"),n=(0,V.mX)(l[e],"max"),i=Number((0,V.mX)(l[e],"res"))||1;if(null!==t&&null!==n)for(let e=parseInt(t,10);e<=parseInt(n,10);e+=i)s.push(e.toString())}"band"===t.toLowerCase()&&(i=s),a.push({name:t,label:n,values:s})}t.push({name:s,label:o,nullValues:r,axis:a})}return{rangeSet:t,bandNames:i}}function z(e=null){if(!e)return{resolution:null,units:null};let t=e.toUpperCase();const n=["Years","Months","Days","Hours","Minutes","Seconds"];let i,s,o;return t.includes("PT")?(t=t.slice(2),o=["H","M","S"].findIndex((e=>t.includes(e))),i=n[3+o],s=parseFloat(t.slice(0,-1))):(t=t.slice(1),o=["Y","M","D"].findIndex((e=>t.includes(e))),o>-1&&(i=n[o]),s=parseFloat(t.slice(0,-1))),{resolution:s,units:i}}function H(e){const t=(0,V.IC)(e,"timeposition");if(t.length>0){const e=[];for(let n=0;n<t.length;n++)e.push(new Date((0,V.mX)(t[n])));return{begin:e[0],end:e[e.length-1],values:e}}const n=(0,V.V6)(e,"timePeriod")||(0,V.V6)(e,"TimePeriod");return n?{begin:new Date((0,V.mX)(n,"beginPosition")||(0,V.mX)(n,"BeginPosition")),end:new Date((0,V.mX)(n,"endPosition")||(0,V.mX)(n,"EndPosition")),...z((0,V.mX)(n,"timeResolution")||(0,V.mX)(n,"TimeResolution"))}:null}function Y(e){const t=(0,V.V6)(e,"spatialDomain"),n=(0,V.V6)(t,"Envelope")||(0,V.V6)(t,"EnvelopeWithTimePeriod"),i=n.getAttribute("srsName").split(":"),s=i[i.length-1],o=(0,V.IC)(n,"pos"),a=(0,V.pN)(o[0]),r=(0,V.pN)(o[1]),l=parseInt(s,10),c=isNaN(l)?null:{wkid:l},u=new A.A({xmin:a[0],ymin:a[1],xmax:r[0],ymax:r[1],spatialReference:c}),p=(0,V.V6)(t,"RectifiedGrid"),d=(0,V.mX)(p,"low").split(" "),m=(0,V.mX)(p,"high").split(" "),f=parseInt(m[0],10)-parseInt(d[0],10)+1,g=parseInt(m[1],10)-parseInt(d[1],10)+1,h=(0,V.pN)(t,"origin/pos"),v=(0,V.IC)(t,"offsetVector"),y={envelope:u,columns:f,rows:g,offset:{x:parseFloat((0,V.mX)(v[0]).split(" ")[0]),y:parseFloat((0,V.mX)(v[1]).split(" ")[1])},origin:{x:h[0],y:h[1]}},b=(0,V.V6)(e,"temporalDomain")||(0,V.V6)(e,"TemporalDomain");return{spatialDomain:y,temporalDomain:b?H(b):null}}function Q(e,t){const n=[],i=(0,V.IC)(e,"Field");let s,o=[];for(let e=0;e<i.length;e++){const a=(0,V.mX)(i[e],"Identifier"),r=(0,V.mX)(i[e],"Description"),l=(0,V.mX)(i[e],"Definition"),c=(0,V.mX)(i[e],"Abstract"),u=(0,V.mX)(i[e],"Title"),p=W(i[e],"NullValue"),d=(0,V.V6)(i[e],"AllowedValues"),m=d?q(d):null,f=G(i[e],"1.1.0"),g=[],h=(0,V.IC)(i[e],"Axis");for(let e=0;e<h.length;e++){const n=h[e].getAttribute("identifier"),i=(0,V.mX)(h[e],"UOM"),a=(0,V.mX)(h[e],"DataType"),r=(0,V.Dy)(h[e],"Key");t&&!n.toLowerCase().includes("band")||(o=r,s=p),g.push({identifier:n,uom:i,dataType:a,values:r,bandNoDataValues:s})}n.push({identifier:a,description:r,definition:l,abstract:c,title:u,supportedInterpolations:f,axis:g,nullValues:p,statistics:m})}return{rangeSet:n,bandNames:o,bandNoDataValues:s,statistics:n[0].statistics}}function J(e){const t=(0,V.V6)(e,"SpatialDomain"),n=(0,V.V6)(t,"GridCRS"),i=(0,V.mX)(n,"GridBaseCRS"),s=(0,V.mX)(n,"GridOrigin"),o=s?.split(" ").map((e=>parseFloat(e)))??[0,0],a=(0,V.pN)(n,"GridOffsets"),r=(0,V.IC)(t,"BoundingBox");let l,c,u,p;for(let e=0;e<r.length;e++){const t=r[e].getAttribute("crs")?.toLowerCase();if(null!=t)if(t.includes("imagecrs")){const t=(0,V.pN)(r[e],"LowerCorner"),n=(0,V.pN)(r[e],"UpperCorner");l=n[0]-t[0]+1,c=n[1]-t[1]+1}else if(t.indexOf("epsg")>0){const n=t.split(":");u=parseInt(n[n.length-1],10);const i=(0,V.pN)(r[e],"LowerCorner"),s=(0,V.pN)(r[e],"UpperCorner");p=new A.A({xmin:i[0],ymin:i[1],xmax:s[0],ymax:s[1],spatialReference:{wkid:u}})}}const d=l>c,m=p.xmax-p.xmin>p.ymax-p.ymin;let f=!1;(0,T.m)(u)&&(d===m?f=!1:(f=!0,p=new A.A({xmin:p.ymin,ymin:p.xmin,xmax:p.ymax,ymax:p.xmax,spatialReference:{wkid:u}})));const g={columns:l,rows:c,origin:{x:o[0],y:o[1]},offset:{x:a[0],y:a[a.length-1]},gridBaseCRS:i,envelope:p,useEPSGAxis:f},h=(0,V.V6)(e,"temporalDomain")||(0,V.V6)(e,"TemporalDomain");return{spatialDomain:g,temporalDomain:h?H(h):null}}function K(e){const t=(0,V.V6)(e,"Envelope")||(0,V.V6)(e,"EnvelopeWithTimePeriod"),n=t.getAttribute("srsName"),i=n.slice(n.lastIndexOf("/")+1),s=t.getAttribute("axisLabels").split(" ").map((e=>e.trim())).filter((e=>""!==e.trim())),o=(0,V.pN)(t,"lowerCorner"),a=(0,V.pN)(t,"upperCorner"),r=!["y","lat","latitude","north","nor","n","b"].includes(s[0].toLowerCase());let l;const c=parseInt(i,10),u=isNaN(c)?null:{wkid:c};l=new A.A(r?{xmin:o[0],ymin:o[1],xmax:a[0],ymax:a[1],spatialReference:u}:{xmin:o[1],ymin:o[0],xmax:a[1],ymax:a[0],spatialReference:u});const p={mins:o,maxs:a},d=t.getAttribute("uomLabels").trim().split(" ");let m,f;if((0,V.g7)(t,"EnvelopeWithTimePeriod")){m=new Date((0,V.mX)(e,"beginPosition")||(0,V.mX)(e,"BeginPosition")),f=new Date((0,V.mX)(e,"endPosition")||(0,V.mX)(e,"EndPosition"));const t=d?.findIndex((e=>"oledatetime"===e?.toLowerCase()));t>-1&&(d[t]="ISO8601")}return{envelope:l,axisLabels:s,uomLabels:d.length?d:null,envelopeAllDims:p,beginPosition:m,endPosition:f,isEastFirst:r}}function ee(e,t){const n=[],i=(0,V.IC)(e,"DataRecord"),s=[];let o,a=[];for(let e=0;e<i.length;e++){const r=(0,V.IC)(i[e],"field"),l=[];for(let e=0;e<r.length;e++){const n=r[e].getAttribute("name"),i=(0,V.mX)(r[e],"description")||"",c=(0,V.V6)(r[e],"uom")?.getAttribute("code")||"",u=(0,V.pN)(r[e],"interval"),p=W(r[e],"nilValue")?.[0];t&&!n.toLowerCase().includes("band")||(s.push(n),u?.length&&(o=o||[],o.push({min:u[0],max:u[1],avg:-1,stddev:-1})),a.push(p)),l.push({name:n,description:i,uom:c,allowedValues:u,nilValue:p})}n.push(l)}return a.some((e=>null!=e))||(a=null),{rangeType:n,bandNames:s,bandStats:o,bandNoDataValues:a}}function te(e){let t=1,n="";const i=.01;return Math.abs(e-1/24)<1/24*i?n="Hours":Math.abs(e-1)<1*i?n="Days":e<1?(t=Math.round(24*e),n="Hours"):e>28-i&&e<31+i||Math.round(e/30)<12?n="Months":e>365-i&&e<366+i&&(n="Years"),{interval:t,intervalUnit:n}}function ne(e,t){const n=(0,V.V6)(e,"RectifiedGrid"),i=(0,V.pN)(n,"low"),s=(0,V.pN)(n,"high"),o=[];for(let e=0;e<i.length;e++)o.push(s[e]-i[e]+1);const a=(0,V.mX)(n,"axisLabels").split(" "),r=(0,V.pN)(n,"origin/pos"),l=(0,V.IC)(n,"offsetVector"),c=[];for(let e=0;e<l.length;e++){const t=(0,V.pN)(l[e]),n=t.findIndex((e=>0!==e));c[n]=t[n]}let u,p,d,m=!1;return t?.length&&a?.length&&(m=[...t].sort(((e,t)=>e<t?-1:1)).join(",")===[...a].sort(((e,t)=>e<t?-1:1)).join(",")),["y","lat","latitude","north","nor","n","b"].includes((m?a:t)[0].toLowerCase())?(u=o[1],p=o[0],d={y:Math.abs(c[0]),x:Math.abs(c[1])}):(u=o[0],p=o[1],d={x:Math.abs(c[0]),y:Math.abs(c[1])}),{columns:u,rows:p,origin:r,offset:c,resolution:d,gridSamples:o,axisLabels:a,hasSameAxisLabelsAsBoundedBy:m}}function ie(e){const t=(0,V.V6)(e,"EarthObservation");if(!t)return null;const n=(0,V.V6)(t,"phenomenonTime"),i=n?H(n):null,s=(0,V.V6)(t,"phenomenonTime"),o=s?H(s):null,a=(0,V.mX)(t,"featureOfInterest/Footprint/multiExtentOf/MultiSurface/surfaceMembers/Polygon/exterior/LinearRing/posList");let r=null;if(a){const e=a.split(" ").map((e=>e.trim())).filter((e=>null!=e&&""!==e)).map(Number);if(e.length){const t=[];for(let n=0;n<e.length/2;n+=2)t.push(e[n],e[n+1]);r=new O.A({rings:[[t]]})}}return{observation:{phenomenonTime:i,resultTime:o,footprint:r,identifier:(0,V.mX)(e,"metaDataProperty/EarthObservationMetaData/identifier"),acquisitionType:(0,V.mX)(e,"metaDataProperty/EarthObservationMetaData/acquisitionType"),status:(0,V.mX)(e,"metaDataProperty/EarthObservationMetaData/status")}}}async function se(e,t){const{coverageIds:n,version:i,customParameters:s,signal:o}=t,r=i.slice(0,3),c="1.0"===r?"coverage":"1.1"===r?"identifiers":"coverageId",u={service:"WCS",request:"DescribeCoverage",version:i,[c]:n.join(","),...s};try{const{data:t}=await(0,L.A)(e,{query:u,responseType:"xml",signal:o});return function(e,t){let n=null;if(n="string"==typeof e?(new DOMParser).parseFromString(e,"text/xml"):e,"1.0.0"===t)return(0,V.IC)(n,"CoverageOffering").map((e=>function(e){const t={version:"1.0"};let n,i=[];for(let s=0;s<e.childNodes.length;s++){const o=e.childNodes[s];if(1===o.nodeType)if((0,V.g7)(o,"description"))t.description=(0,V.mX)(o);else if((0,V.g7)(o,"name"))t.name=(0,V.mX)(o);else if((0,V.g7)(o,"label"))t.label=(0,V.mX)(o);else if((0,V.g7)(o,"supportedFormats"))t.supportedFormats=(0,V.Dy)(o,"formats");else if((0,V.g7)(o,"supportedCRSs"))t.supportedCRSs=F(o);else if((0,V.g7)(o,"supportedInterpolations"))t.supportedInterpolations=G(o,"1.0.0");else if((0,V.g7)(o,"lonLatEnvelope"))t.lonLatEnvelope=j(o);else if((0,V.g7)(o,"rangeSet")){const e=U(o);t.rangeSet=e.rangeSet,i=e.bandNames;const s=e.rangeSet[0].nullValues;s?.length&&(n=Z(s))}else(0,V.g7)(o,"domainSet")&&(t.domainSet=Y(o))}const s=B(t.supportedInterpolations),{name:o,description:a,label:r,lonLatEnvelope:l,supportedFormats:c}=t,{spatialDomain:u}=t.domainSet,p={x:Math.abs(u.offset.x),y:Math.abs(u.offset.y)},d=function(e){if(!e.temporalDomain)return null;const{begin:t,end:n,values:i,units:s,resolution:o}=e.temporalDomain,a={variables:[{name:"default",description:"",dimensions:[{name:"StdTime",description:"",unit:"ISO8601",values:i?.map((e=>e.getTime())),hasRegularIntervals:!i,interval:o,intervalUnit:s,extent:[t.getTime(),n.getTime()]}]}]};return k(a),a}(t.domainSet),m=new X.A({width:u.columns,height:u.rows,pixelSize:p,pixelType:"unknown",extent:u.envelope,spatialReference:u.envelope.spatialReference,bandCount:i.length||1,noDataValue:n,multidimensionalInfo:d});return{id:o,title:t.name,description:a||r,lonLatEnvelope:l,rasterInfo:m,bandNames:i,supportedFormats:c,supportedInterpolations:s,coverageDescription:t,version:"1.0.0",useEPSGAxis:!1}}(e)));const i=(0,V.IC)(n,"CoverageDescription");return"1.1.0"===t||"1.1.1"===t||"1.1.2"===t?i.map((e=>function(e,t){const n=[],i=[],s={supportedFormats:n,supportedCRSs:i,version:"1.1"};let o,a,r=[];for(let t=0;t<e.childNodes.length;t++){const l=e.childNodes[t];if(1!==l.nodeType)continue;const c=(0,V.vv)(l).toLowerCase();switch(c){case"title":case"abstract":case"identifier":s[c]=(0,V.mX)(l);break;case"supportedformat":{const e=(0,V.mX)(l);n.includes(e)||n.push(e)}break;case"supportedcrs":{const e=(0,V.mX)(l);i.includes(e)||i.push(e)}break;case"range":{const e=Q(l,!!s.domain?.temporalDomain);s.range=e.rangeSet,r=e.bandNames;const{bandNoDataValues:t}=e;t?.length&&(o=Z(t)),a=e.statistics}break;case"domain":s.domain=J(l)}}const l=B(s.range[0].supportedInterpolations),{identifier:c,abstract:u,title:p,domain:d,range:m}=s,f={x:Math.abs(d.spatialDomain.offset.x),y:Math.abs(d.spatialDomain.offset.y)},g=function(e,t){if(!t.temporalDomain)return null;const n=e.filter((e=>!e.identifier.toLowerCase().includes("field_1")&&!e.axis.some((e=>e.identifier.includes("band"))))),i=[];if(n.length&&n.forEach((e=>{const t=e.axis.map((e=>{const t=e.values.map((t=>"ISO8601"===e.uom?(t=t.trim()).toLowerCase().includes("z")?new Date(t).getTime():new Date(t+"Z").getTime():parseFloat(t.trim()))),n=[Math.min.apply(null,t),Math.max.apply(null,t)];return{name:e.identifier.trim(),description:"",field:e.identifier.trim(),unit:e.uom?e.uom.trim():"",hasRegularIntervals:!1,values:t,extent:n}}));i.push({name:e.identifier.trim(),description:e.description?.trim()??"",unit:"",dimensions:t,statistics:e.statistics})})),t.temporalDomain){const{begin:e,end:n,values:s,units:o,resolution:a}=t.temporalDomain;i.some((e=>e.dimensions.some((e=>"stdtime"===e.name.toLowerCase()))))||i.forEach((t=>{t.dimensions.push({name:"StdTime",description:"",unit:"ISO8601",values:s?.map((e=>e.getTime())),hasRegularIntervals:!s,interval:a,intervalUnit:o,extent:[e.getTime(),n.getTime()]})}))}if(i.length){const e={variables:i};return k(e),e}return null}(m,d);g&&(o=m[0].nullValues,1===o?.length&&(o=o[0]));const h=new X.A({width:d.spatialDomain.columns,height:d.spatialDomain.rows,pixelSize:f,pixelType:"unknown",extent:d.spatialDomain.envelope,spatialReference:d.spatialDomain.envelope.spatialReference,bandCount:r.length||1,noDataValue:o,statistics:a,multidimensionalInfo:g});return{id:c,title:s.title,description:u||p,bandNames:r,rasterInfo:h,supportedFormats:n,supportedInterpolations:l,coverageDescription:s,version:t,useEPSGAxis:d.spatialDomain.useEPSGAxis}}(e,t))):i.map((e=>function(e){const t={version:"2.0"};let n,i,s=[];for(let o=0;o<e.childNodes.length;o++){const a=e.childNodes[o];if(1===a.nodeType)if((0,V.g7)(a,"coverageId"))t.coverageId=(0,V.mX)(a);else if((0,V.g7)(a,"ServiceParameters"))t.serviceParameters={supportedFormats:(0,V.Dy)(a,"nativeFormat")};else if((0,V.g7)(a,"boundedBy"))t.boundedBy=K(a);else if((0,V.g7)(a,"rangeType")){const e=ee(a,t.boundedBy?.axisLabels.length>2||t.domainSet?.axisLabels.length>2);t.rangeType=e.rangeType,s=e.bandNames,n=e.bandStats;const{bandNoDataValues:o}=e;o?.length&&(i=Z(o))}else if((0,V.g7)(a,"domainSet"))t.domainSet=ne(a,t.boundedBy?.axisLabels);else if((0,V.g7)(a,"metadata")){const e=(0,V.V6)(a,"EOMetadata");t.eoMetadata=e?ie(e):null}}const{coverageId:o,boundedBy:a,domainSet:r,rangeType:l,serviceParameters:c}=t,u=function(e,t,n){if(n.axisLabels.length<=2)return null;const i=[];for(let t=0;t<e.length;t++){const n=e[t];for(let e=0;e<n.length;e++)n[e].name.toLowerCase().includes("band")||i.push(n[e])}const s=[];if(i.length){const e=[];for(let i=2;i<n.axisLabels.length;i++){const s=t.uomLabels?.[i]?.trim()??"",o=n.axisLabels[i].toLowerCase().includes("time")||"iso8601"===s.toLowerCase()||"oledatetime"===s.toLowerCase();let a,r;if(o){const e=te(n.offset[i]);a=e.interval,r=e.intervalUnit}else a=n.offset[i],r=s;const l=[];o?(l.push((0,_.$E)(t.envelopeAllDims.mins[i])),l.push((0,_.$E)(t.envelopeAllDims.maxs[i]))):(l.push(t.envelopeAllDims.mins[i]),l.push(t.envelopeAllDims.maxs[i])),e.push({name:n.axisLabels[i].trim(),description:n.axisLabels[i].trim(),unit:o?"ISO8601":s,hasRegularIntervals:!0,extent:l,interval:a,intervalUnit:r})}if(i.forEach((t=>{const{allowedValues:n}=t,i=2===n?.length?[{min:n[0],max:n[1],avg:-1,stddev:-1}]:null;s.push({name:t.name.trim(),description:t.description?.trim()??"",unit:t.uom.trim(),statistics:i,dimensions:[...e]})})),s.length){const e={variables:s};return k(e),e}}return null}(l,a,r);return!n&&u&&(n=u?.variables[0].statistics),null!=u&&(i=l[0][0].nilValue),{id:o,title:o,description:o,bandNames:s,rasterInfo:new X.A({width:r.columns,height:r.rows,pixelSize:r.resolution,pixelType:"unknown",extent:a.envelope,spatialReference:a.envelope.spatialReference,bandCount:s.length||1,statistics:n,noDataValue:i,multidimensionalInfo:u}),supportedFormats:c.supportedFormats,coverageDescription:t,version:"2.0.1",useEPSGAxis:!1}}(e)))}(t,i)}catch(e){if(!(0,l.zf)(e))throw new a.A("wcslayer:open","wcs coverage description is not valid or supported");throw e}}var oe=n(45617),ae=n(4916);function re(e){const t=function(e){const t=e.getHeader?.("Content-Type")?.split(";");if(!t)return null;if(!(t[0].trim()??"").startsWith("multipart/"))return null;const n={boundary:"",start:"",type:""};for(let e=1;e<t.length;e++){const i=t[e].indexOf("=");if(i>0){const s=t[e].slice(0,i).trim(),o=t[e].slice(i+1).trim();n[s]=o.startsWith('"')?o.slice(1,-1):o}}return n}(e);return t?{isMultipart:!0,data:t.boundary?le(e.data,t,0):null}:{isMultipart:!1,data:null}}function le(e,t,n=0){const i="--"+t.boundary,s=[];for(let e=0;e<i.length;e++)s.push(i.charCodeAt(e));const o=[],a="\n--"+t.boundary+"--";for(let e=0;e<a.length;e++)o.push(a.charCodeAt(e));const r=[10],l=[13,10],c=[],u=s.length,p=new Uint8Array(e,n),d=p.length-u;let m=0,f=0;for(let e=0;e<d;e++){for(f=0;f<u&&p[e+f]===s[f];f++);if(f!==u)continue;let n=!1;if(m){const i=ce(p.subarray(m,e),t);c.push(i),n=!!i.isValidImage}if(e+=u-1,p[e+1]===r[0]?e+=1:p[e+1]===l[0]&&p[e+2]===l[1]&&(e+=2),m=e+1,n)break}const g=o.length;for(let e=p.length-g-10;e<p.length-g;e++){for(f=0;f<g&&p[e+f]===o[f];f++);if(f===g){c.push(ce(p.subarray(m,e),t));break}}return c}function ce(e,t){const n=String.fromCharCode.apply(null,e.subarray(0,Math.min(300,e.length))).split("\n"),i=Math.min(n.length,7),s={contentDisposition:"inline"};let o=0;for(let a=0;a<i;a++)if(n[a].length<4)o=o+n[a].length+1;else if("content"===n[a].slice(0,7).toLowerCase()){o=o+n[a].length+1;const e=n[a].indexOf(":");if(-1===e)continue;const t=n[a].slice(0,e).trim(),i=n[a].slice(e+1).trim();switch(t.toLowerCase()){case"content-type":s.contentType=i;break;case"content-description":s.contentDescription=i;break;case"content-transfer-encoding":s.contentTransferEncoding=i;break;case"content-id":s.contentID=i;break;case"content-disposition":s.contentDisposition=i;break;case"content-location":s.contentLocation=i}}else{if(s.contentDisposition.toLowerCase().includes("inline")&&n[a].length>=4&&s.contentType?.toLowerCase().indexOf("image")>-1){let t=!0,n=e.subarray(o,e.length);if(s.contentType.toLowerCase().indexOf("tif")>0){if("base64"===s.contentTransferEncoding){let e="";const t=n;for(let n=0;n<t.length;n+=65535){const i=t.subarray(n,n+65535>t.length-1?t.length-1:n+65535);e+=String.fromCharCode.apply(null,i)}const i=atob(e);n=new Uint8Array(i.length);for(let e=0;e<n.length;e++)n[e]=i.charCodeAt(e)}t=73===n[0]&&73===n[1]||77===n[0]&&77===n[1]}if(t){let t=n.buffer;"base64"!==s.contentTransferEncoding&&(t=new ArrayBuffer(e.length-o),n=new Uint8Array(t),n.set(e.subarray(o,e.length))),s.contentData=t,s.isValidImage=!0}break}if((""===t.start||s.contentID===t.start)&&s.contentType){if(s.contentType.includes("text")||s.contentType.includes("xml")){s.contentData=String.fromCharCode.apply(null,e.subarray(o,e.length));break}s.contentData=e.subarray(o,e.length)}}return s}var ue=n(51244),pe=n(28435);const de=["nearest neighbor","bilinear","bicubic"],me=["nearest","linear","cubic"],fe="response is not a supported multipart/related mediaType with inline tiff, switching to compatibility mode",ge=new Set(["1.0.0","1.1.0","1.1.1","1.1.2","2.0.1"]);let he=class extends ae.A{constructor(){super(...arguments),this.datasetFormat="WCSServer",this.tileType="Raster"}get rasterId(){return`${this.url}-${this.coverageId}-${this.version}`}async fetchRawTile(e,t,n,i={}){if(this.isBlockOutside(e,t,n))return null;const{nativePixelSize:s,spatialReference:o}=this.rasterInfo,r=2**e,l=s.x*r,c=s.y*r,{blockWidth:u,blockHeight:p}=this.getBlockWidthHeight(e),{origin:d}=this.rasterInfo.storageInfo.tileInfo,m=this.getTileExtent({x:l,y:c},t,n,d,o,[u,p]),f=this.rasterInfo.extent,g=m.xmax>f.xmax,h=m.ymin<f.ymin,v=g||h;let y=m,b=u,w=p;if(v&&(y=m.clone().intersection(f),null!=y&&(g&&(b=Math.floor((y.xmax-y.xmin)/l),y.xmax=y.xmin+l*b),h&&(w=Math.floor((y.ymax-y.ymin)/c),y.ymin=y.ymax-c*w))),null==y||b<=1||w<=1)return null;const x=await this._getCoverage(y,b,w,r,i);if(!x)return null;const{coverageDescription:C}=this.coverageInfo,{noDataValue:I,multidimensionalInfo:S}=this.rasterInfo,{multidimensionalDefinition:D}=i;let A;if(null!=S&&null!=D&&D.length){const e=D[0].variableName;if("2.0"===C.version){const t=C.rangeType[0].find((t=>t.name===e));A=t?.nilValue}else if("1.1"===C.version){const t=C.range.find((t=>t.identifier===e));A=t?.nullValues}}const T=A??I,L=await this.decodePixelBlock(x,{width:b,height:w,planes:null,pixelType:null,tiffNoDataValue:Array.isArray(T)?T[0]:T,matchAllNoData:!0});if(null==L)return null;if(L&&(L.width!==b||L.height!==w))throw new a.A("wcsraster-fetch",`the response has unexpected dimension width: ${L.width}, height: {pixelBlock.height}`);return v?(0,pe.$Q)(L,{x:0,y:0},{width:p,height:p}):L}async _open(e){const{customFetchParameters:t}=this.ioConfig,n=e?.signal,i=await async function(e,t){const{version:n,customParameters:i,signal:s}=t??{},o=n?.startsWith("1.0")?"version":"acceptVersions",r={service:"WCS",request:"GetCapabilities",[o]:n,...i};try{let{data:n}=await(0,L.A)(e,{query:r,responseType:"xml",signal:s});return t?.version||function(e){let t=null;t="string"==typeof e?(new DOMParser).parseFromString(e,"text/xml"):e;const n=t.documentElement.getAttribute("version"),i=n?.slice(0,3);return null!=i&&i<"2.1"}(n)||(r[o]="2.0.1",({data:n}=await(0,L.A)(e,{query:r,responseType:"xml",signal:s}))),$(n)}catch(e){if(!(0,l.zf)(e))throw new a.A("wcslayer:open","wcs capabilities is not valid or supported");throw e}}(this.url,{version:t?.version??this.version,customParameters:t,signal:n});if(this.capabilities=i,!this.version){let e=i.version.slice(0,3);"2.0"===e||"1.1"===e||"1.0"===e?this.version=i.version:(e=i.supportedVersions.find((e=>"2.0.1"===e))||i.supportedVersions.find((e=>"2.0"===e.slice(0,3)))||i.supportedVersions.find((e=>"1.1"===e.slice(0,3)))||i.supportedVersions.find((e=>"1.0"===e.slice(0,3)))||"1.0.0",this.version=e)}const{version:s}=this;if(!ge.has(s))throw new a.A("wcsraster-open",`unsupported WCS version ${s}`);const{gridCoverages:o}=i;if(!o.length)throw new a.A("wcsraster-open","cannot find rectified grid coverages");this.coverageId??=o[0].id;const{coverageId:r}=this,c=o.find((e=>e.id===r));if(null==c)throw new a.A("wcsraster-open",`the coverageId ${r} does not exist in capabilities`);const u=await se(this.url,{coverageIds:[r],version:s,customParameters:t,signal:n});if(this.coverageInfo=u[0],"2.0"===s.slice(0,3)){const{coverageInfo:e}=this;e.lonLatEnvelope=c.lonLatEnvelope,e.supportedInterpolations=B(i.supportedInterpolations),this._patchDimensionValues201(r,n)}this.datasetName=this.coverageInfo.title;const{rasterInfo:p}=this.coverageInfo;if(this.createRemoteDatasetStorageInfo(p,512,512),this._set("rasterInfo",p),null==p.spatialReference)throw new a.A("wcsraster-open",`coverage without spatial reference is not supported: ${r}`);const{pixelType:d,bandCount:m}=await this._getPixelTypeAndBandCount(n);p.pixelType=d,1===p.bandCount&&m>1&&(p.bandCount=m),this.updateTileInfo()}async _patchDimensionValues201(e,t){const{coverageInfo:n}=this,i=n.rasterInfo.multidimensionalInfo?.variables,s=ge.has("1.1.2")?"1.1.2":ge.has("1.1.1")?"1.1.1":ge.has("1.1.0")?"1.1.0":null,{customFetchParameters:o}=this.ioConfig;if(i&&s)try{const n=this.url.includes("/ImageServer/"),a=e.length>8&&e.startsWith("Coverage")&&n?e.slice(8):e,r=await se(this.url,{coverageIds:[a??e],version:s,customParameters:o,signal:t}).catch((()=>{if(a)return se(this.url,{coverageIds:[e],version:s,customParameters:o,signal:t})})),l=r?.[0].rasterInfo.multidimensionalInfo?.variables;if(l)for(const e of i){const t=l.find((({name:t})=>t===e.name));if(t?.dimensions?.length)for(let i=e.dimensions.length-1;i>=0;i--){const s=e.dimensions[i],o=t.dimensions.find((({name:e})=>e===s.name));o?o.values&&o.extent?.join(",")===s.extent?.join(",")&&(e.dimensions[i]={...s,values:o.values}):n&&e.dimensions.splice(i,1)}}}catch{}}async _getPixelTypeAndBandCount(e){const{pixelSize:t,extent:n,multidimensionalInfo:i}=this.rasterInfo,s=n.center,o=new A.A({xmin:s.x-t.x,xmax:s.x+t.x,ymin:s.y-t.y,ymax:s.y+t.y,spatialReference:n.spatialReference});let r=[];if(null!=i){const e=i.variables[0];r=[],e.dimensions.forEach((t=>{r.push(new oe.A({variableName:e.name,dimensionName:t.name,values:t.hasRegularIntervals?t.extent?.[0]:t.values?.[0],isSlice:!0}))}))}const{coverageDescription:l}=this.coverageInfo,c={interpolation:"nearest",multidimensionalDefinition:r,signal:e},{version:u}=l,{ioConfig:d}=this,m="2.0"===u&&null==d.allowAnyMediaType||"1.1"===u&&null==d.use2GridOffsets;let f;try{f=await this._getCoverage(o,2,2,1,c,!0)}catch(e){if(!m)throw e;if("1.1"===u){if(!e.details?.isResolutionMismatch)throw e;d.use2GridOffsets=!0}}if(!f&&m&&("2.0"===u&&(d.allowAnyMediaType=!0),f=await this._getCoverage(o,2,2,1,c),f&&p.A.getLogger(this).warn("wcsraster:getcoverage",fe)),!f)throw new a.A("wcsraster-open","unable to determine pixel type");const g=await this.decodePixelBlock(f,{width:2,height:2,planes:null,pixelType:null});if(null==g)throw new a.A("wcsraster-open","unable to determine pixel type");return{pixelType:g.pixelType,bandCount:g.getPlaneCount()??0}}async _getCoverage(e,t,n,i,s,o=!1){const{coverageDescription:r}=this.coverageInfo,{version:l}=r,c="2.0"===l?this._getCoverage201Parameters(e,t,n,i,s,r):"1.1"===l?this._getCoverage110Parameters(e,t,n,s,r):this._getCoverage100Parameters(e,t,n,s),u="2.0"===l?await this.request(this._constructWCS201Url(c),{signal:s.signal,responseType:"array-buffer"}):await this.request(this.url,{query:c,signal:s.signal,responseType:"array-buffer"});if("1.0"===l)return u.data;if("2.0"===l&&!1!==this.ioConfig.allowAnyMediaType&&"tiff"===(0,ue.g)(u.data))return o&&(this.ioConfig.allowAnyMediaType=!0,p.A.getLogger(this).warn("wcsraster:getcoverage",fe)),u.data;const d=re(u);if(d.isMultipart&&d.data){const e=d.data.find((e=>e.isValidImage));return o&&"base64"===e?.contentTransferEncoding&&p.A.getLogger(this).warn("wcsraster:getcoverage","response is base64 encoded which may impact layer display performance"),e?.contentData}const m=new Uint8Array(u.data,0,Math.min(u.data.byteLength,2e3)),f=String.fromCharCode.apply(null,m).toLowerCase().includes("exception"),g=f&&String.fromCharCode.apply(null,m).includes("A non-zero RESX/RESY or WIDTH/HEIGHT is required but neither was provided");if(f)throw new a.A("wcsraster:getcoverage","server returns an exception",{isResolutionMismatch:g});throw new a.A("wcsraster:getcoverage","response is not a supported multipart mediaType with inline tiff")}_getInterpolationIndex(e){return e&&this.coverageInfo.supportedInterpolations?.includes(e)?"nearest"===e?0:"bilinear"===e?1:"cubic"===e?2:0:0}_getCoverage100Parameters(e,t,n,i){const s=`${e.xmin},${e.ymin},${e.xmax},${e.ymax}`,o=e.spatialReference.wkid,a=(this.coverageInfo.supportedFormats||[]).find((e=>e.toLowerCase().includes("tiff")))||"GEOTIFF",{bandIds:r,interpolation:l}=i,c=this._getInterpolationIndex(l),u=r?r.map((e=>this.coverageInfo.bandNames[e])):null,p=de[c],{multidimensionalDefinition:d}=i;let m;if(null!=d&&null!=this.rasterInfo.multidimensionalInfo){const e=d.find((e=>"StdTime"===e.dimensionName));let t=e?.values;t&&t.length>0&&(Array.isArray(t[0])&&(t=t[0]),m=t.map((e=>ve(e))).join(","))}return{service:"WCS",request:"GetCoverage",version:this.version,coverage:this.coverageId,format:a,crs:`EPSG:${o}`,bbox:s,width:t,height:n,time:m,interpolation:p,band:u?.join(",")}}_getCoverage110Parameters(e,t,n,i,s){const{multidimensionalDefinition:o,bandIds:a,interpolation:r}=i,l=e.spatialReference.wkid,c=`urn:ogc:def:crs:EPSG::${l}`,u=(this.coverageInfo.supportedFormats||[]).find((e=>e.toLowerCase().includes("tiff")))||"image/tiff",p=this._getInterpolationIndex(r),d=me[p],m=null==r||0===this.coverageInfo.supportedInterpolations?.indexOf(r),f=s.domain.spatialDomain,g=f.origin.x<=f.envelope.xmin&&f.origin.y<=f.envelope.ymin,h=e.width/t,v=e.height/n*(g?1:-1),y=g?[e.xmin,e.ymin]:[e.xmin,e.ymax],b=f.useEPSGAxis&&(0,T.m)(l),w=b?`${y[1]},${y[0]}`:`${y[0]},${y[1]}`,x=this.ioConfig.use2GridOffsets,C=b?x?`${v},${h}`:`${v},0,0,${h}`:x?`${h},${v}`:`${h},0,0,${v}`,I=h/2,S=e.xmin+I,D=e.xmax-I,A=Math.abs(v)/2,L=e.ymin+A,V=e.ymax-A,M=b?`${L},${S},${V},${D},${c}`:`${S},${L},${D},${V},${c}`,N=s.range.find((e=>e.axis.some((e=>e.identifier.toLowerCase().includes("band")))));let R,P=N&&d&&a?m?`${N.identifier}[${N.axis[0].identifier}[${a.join(",")}]]`:`${N.identifier}:${d}[${N.axis[0].identifier}[${a.join(",")}]]`:null;if(null!=o&&o.length)for(let e=0;e<o.length;e++){let t=o[e].values;const n=o[e].dimensionName?.toLowerCase(),i=o[e].variableName?.toLowerCase(),a=s.range.find((e=>e.identifier.toLowerCase()===i));if(t.length>0)if(Array.isArray(t[0])&&(t=t[0]),"stdtime"===n)R=t.map((e=>ve(e))).join(",");else if(a){const e=a.axis.find((e=>e.identifier.toLowerCase()===n));e&&(P=m?a.identifier+"["+e.identifier+"["+t.join(",")+"]]":a.identifier+":"+d+"["+e.identifier+"["+t.join(",")+"]]")}e===o.length-1&&a&&!P&&(P=m?a.identifier:a.identifier+":"+d)}return{service:"WCS",request:"GetCoverage",version:this.version,identifier:this.coverageId,format:u,crs:`EPSG:${l}`,boundingbox:M,gridCS:"urn:ogc:def:cs:OGC:0.0:Grid2dSquareCS",gridType:"urn:ogc:def:method:WCS:1.1:2dGridIn2dCrs",gridOrigin:w,gridOffsets:C,gridBaseCRS:c,timeSequence:R,rangeSubset:P}}_getCoverage201Parameters(e,t,n,i,s,o){const{multidimensionalDefinition:a,interpolation:r}=s,l=this._getInterpolationIndex(r);let c=null;const{supportedInterpolations:u}=this.capabilities;if(u?.length)switch(l){case 0:c=u.find((e=>e.toLowerCase().includes("nearest")));break;case 1:c=u.find((e=>e.toLowerCase().includes("linear")));break;case 2:c=u.find((e=>e.toLowerCase().includes("cubic")||e.toLowerCase().includes("quadratic")))}const p=(this.coverageInfo.supportedFormats||[]).find((e=>e.toLowerCase().includes("tiff")))||"image/tiff",{bandNames:d}=this.coverageInfo,{boundedBy:m,domainSet:f,rangeType:g}=o,h=m.isEastFirst?0:1,v=1-h,{axisLabels:y}=m,b=y[h],w=y[v],x=`http://www.opengis.net/def/crs/EPSG/0/${e.spatialReference.wkid}`,C=x,I=[];I.push(`${b}(${e.xmin},${e.xmax})`),I.push(`${w}(${e.ymin},${e.ymax})`);const S=[];if(y.length>2)for(let e=2;e<y.length;e++){const t=f.origin[e];if(y[e].toLowerCase().includes("time")){let n=t.toString();m.uomLabels?.[e].toLowerCase().includes("ole")&&(S.push(y[e]),n=ve(t,!0)),I.push(y[e]+",http://www.opengis.net("+n+")")}else I.push(y[e]+",http://www.opengis.net("+t+")")}let D=null;if(null!=a&&a.length){const e=[];g.forEach((t=>t.forEach((t=>e.push(t.name)))));const t=[];for(let n=0;n<a.length;n++){const i=y.find((e=>e===a[n].dimensionName)),s=e.find((e=>e===a[n].variableName));if(t.includes(s)||t.push(s),i){let e=a[n].values;if(e.length>0){Array.isArray(e[0])&&(e=e[0]);let t="";t=i.toLowerCase().includes("time")?e.map((e=>ve(e))).join(","):e.join(",");const n=I.findIndex((e=>0===e.indexOf(i+",http://www.opengis.net")));-1===n&&I.push(i+",http://www.opengis.net("+t+")"),-1===n||I[n].includes("("+t+")")||I.splice(n,1,i+",http://www.opengis.net("+t+")")}}}t.length&&(D=t.join(","))}else d?.length>=2&&(D=(s.bandIds?s.bandIds.map((e=>d[e])):d).join(","));const A=I.join("&subset="),T=!o.domainSet.hasSameAxisLabelsAsBoundedBy&&!1!==this.ioConfig.allowScaleFactor,L=T?null:`${b}(${t}),${w}(${n})`,V=T?1/i:null;return{service:"WCS",request:"GetCoverage",version:this.version,coverageId:this.coverageId,rangesubset:D,interpolation:c,scaleSize:L,scaleFactor:V,subset:A,format:p,mediaType:this.ioConfig.allowAnyMediaType?null:"multipart/related",outputcrs:x,subsettingcrs:C}}_constructWCS201Url(e){const t={...this.ioConfig.customFetchParameters,...e},n=[];return Object.keys(t).forEach((e=>{const i=t[e];null!=i&&("subset"===e?"string"==typeof i&&i.split("&subset=").forEach((e=>{e&&n.push(`subset=${encodeURIComponent(e)}`)})):n.push(`${e}=${encodeURIComponent(i)}`))})),`${encodeURI(this.url)}?${n.join("&")}`}};function ve(e,t=!1){return(t?new Date((0,_.$E)(e)):new Date(e)).toISOString()}(0,i._)([(0,u.MZ)({type:String,json:{write:!0}})],he.prototype,"datasetFormat",void 0),(0,i._)([(0,u.MZ)({readOnly:!0})],he.prototype,"tileType",void 0),(0,i._)([(0,u.MZ)({type:String,json:{write:!0}})],he.prototype,"version",void 0),(0,i._)([(0,u.MZ)({type:String,json:{write:!0}})],he.prototype,"coverageId",void 0),(0,i._)([(0,u.MZ)({readOnly:!0})],he.prototype,"rasterId",null),he=(0,i._)([(0,d.$)("esri.layers.support.rasterDatasets.WCSRaster")],he);const ye=he;var be=n(30291),we=n(92935);const xe=new Set(["milliseconds","seconds","minutes","hours","days","weeks","months","years","decades","centuries"]);let Ce=class extends((0,f.dM)((0,x.j)((0,v.q)((0,y.A)((0,g.d)((0,h.o)((0,b.G)((0,C.e)((0,w.J)((0,r.P)(o.A.ClonableMixin(m.A)))))))))))){constructor(...e){super(...e),this.coverageId=null,this.version=null,this.isReference=null,this.legendEnabled=!0,this.noData=0,this.operationalLayerType="WCS",this.type="wcs",this.popupEnabled=!0,this.popupTemplate=null,this.fields=null,this._debouncedSaveOperations=(0,l.sg)((async(e,t,i)=>{const{save:s,saveAs:o}=await n.e(9838).then(n.bind(n,59838));switch(e){case we.X.SAVE:return s(this,t);case we.X.SAVE_AS:return o(this,i,t)}}))}normalizeCtorArgs(e,t){return"string"==typeof e?{url:e,...t}:e}load(e){const t=null!=e?e.signal:null;return this.addResolvingPromise(this.loadFromPortal({supportedTypes:["WCS"]},e).catch(l.QP).then((()=>this._openRaster(t)))),Promise.resolve(this)}get coverageInfo(){return this.raster.coverageInfo}get defaultPopupTemplate(){return this.createPopupTemplate()}get rasterFields(){return[(0,D.rZ)("Pixel Value")]}createPopupTemplate(e){return(0,be.tn)({fields:this.rasterFields,title:this.title},e)}async save(e){return this._debouncedSaveOperations(we.X.SAVE,e)}async saveAs(e,t){return this._debouncedSaveOperations(we.X.SAVE_AS,t,e)}async _openRaster(e){const t=new ye({url:this.url,version:this.version,coverageId:this.coverageId,ioConfig:{sampling:"closest",...this.ioConfig,customFetchParameters:this.customParameters}});if(await t.open({signal:e}),!t.rasterInfo)throw t.destroy(),new a.A("wcs-layer:load","cannot load resources on "+this.url);const{rasterInfo:n}=t;null==n.noDataValue&&(n.noDataValue=this.noData),this._set("serviceRasterInfo",n),this._set("spatialReference",n.spatialReference),null==this.title&&this.setAtOrigin("title",t.datasetName,"service"),null==this.coverageId&&this.setAtOrigin("coverageId",t.coverageInfo.id,"service"),null==this.version&&t.version&&this.setAtOrigin("version",t.version,"service"),this.setAtOrigin("tileInfo",t.rasterInfo.storageInfo.tileInfo,"service");const{multidimensionalInfo:i}=n;if(null!=i){const e=i.variables[0].dimensions.find((({name:e})=>"StdTime"===e));if(e){let t=e.extent?.[0]??e.values[0];Array.isArray(t)&&(t=t[0]);let n=e.extent?.[1]??e.values[e.values.length-1];Array.isArray(n)&&(n=n[1]);const i=xe.has(e.intervalUnit?.toLowerCase())?e.intervalUnit?.toLowerCase():null;this.set("timeInfo",{startField:"StdTime",fullTimeExtent:{start:t,end:n},timeZone:null,interval:i?{value:e.interval,unit:i}:null})}}this.raster=t,this._configDefaultSettings(),this.addHandles((0,c.wB)((()=>this.customParameters),(e=>this.raster.ioConfig.customFetchParameters=e)))}};(0,i._)([(0,u.MZ)({type:String,nonNullable:!0,json:{name:"wcsInfo.coverageId",write:{isRequired:!0,ignoreOrigin:!0}}})],Ce.prototype,"coverageId",void 0),(0,i._)([(0,u.MZ)()],Ce.prototype,"coverageInfo",null),(0,i._)([(0,u.MZ)({type:["1.0.0","1.1.0","1.1.1","1.1.2","2.0.1"],nonNullable:!0,json:{name:"wcsInfo.version",write:{isRequired:!0,ignoreOrigin:!0}}})],Ce.prototype,"version",void 0),(0,i._)([(0,u.MZ)({type:Boolean,json:{read:!1,write:{enabled:!0,overridePolicy:()=>({enabled:!1})}}})],Ce.prototype,"isReference",void 0),(0,i._)([(0,u.MZ)({json:{read:!0,write:!0}})],Ce.prototype,"blendMode",void 0),(0,i._)([(0,u.MZ)(I.fV)],Ce.prototype,"legendEnabled",void 0),(0,i._)([(0,u.MZ)({type:["show","hide"]})],Ce.prototype,"listMode",void 0),(0,i._)([(0,u.MZ)()],Ce.prototype,"noData",void 0),(0,i._)([(0,u.MZ)({type:["WCS"]})],Ce.prototype,"operationalLayerType",void 0),(0,i._)([(0,u.MZ)()],Ce.prototype,"raster",void 0),(0,i._)([(0,u.MZ)({readOnly:!0})],Ce.prototype,"type",void 0),(0,i._)([(0,u.MZ)(I.M6)],Ce.prototype,"popupEnabled",void 0),(0,i._)([(0,u.MZ)({type:s.A,json:{name:"popupInfo",write:!0}})],Ce.prototype,"popupTemplate",void 0),(0,i._)([(0,u.MZ)({readOnly:!0})],Ce.prototype,"defaultPopupTemplate",null),(0,i._)([(0,u.MZ)({readOnly:!0,type:[S.A]})],Ce.prototype,"fields",void 0),(0,i._)([(0,u.MZ)({readOnly:!0,type:[S.A]})],Ce.prototype,"rasterFields",null),Ce=(0,i._)([(0,d.$)("esri.layers.WCSLayer")],Ce);const Ie=Ce},38458:(e,t,n)=>{n.d(t,{m:()=>s});const i=[[3819,3819],[3821,3824],[3889,3889],[3906,3906],[4001,4025],[4027,4036],[4039,4047],[4052,4055],[4074,4075],[4080,4081],[4120,4176],[4178,4185],[4188,4216],[4218,4289],[4291,4304],[4306,4319],[4322,4326],[4463,4463],[4470,4470],[4475,4475],[4483,4483],[4490,4490],[4555,4558],[4600,4646],[4657,4765],[4801,4811],[4813,4821],[4823,4824],[4901,4904],[5013,5013],[5132,5132],[5228,5229],[5233,5233],[5246,5246],[5252,5252],[5264,5264],[5324,5340],[5354,5354],[5360,5360],[5365,5365],[5370,5373],[5381,5381],[5393,5393],[5451,5451],[5464,5464],[5467,5467],[5489,5489],[5524,5524],[5527,5527],[5546,5546],[2044,2045],[2081,2083],[2085,2086],[2093,2093],[2096,2098],[2105,2132],[2169,2170],[2176,2180],[2193,2193],[2200,2200],[2206,2212],[2319,2319],[2320,2462],[2523,2549],[2551,2735],[2738,2758],[2935,2941],[2953,2953],[3006,3030],[3034,3035],[3038,3051],[3058,3059],[3068,3068],[3114,3118],[3126,3138],[3150,3151],[3300,3301],[3328,3335],[3346,3346],[3350,3352],[3366,3366],[3389,3390],[3416,3417],[3833,3841],[3844,3850],[3854,3854],[3873,3885],[3907,3910],[4026,4026],[4037,4038],[4417,4417],[4434,4434],[4491,4554],[4839,4839],[5048,5048],[5105,5130],[5253,5259],[5269,5275],[5343,5349],[5479,5482],[5518,5519],[5520,5520],[20004,20032],[20064,20092],[21413,21423],[21473,21483],[21896,21899],[22171,22177],[22181,22187],[22191,22197],[25884,25884],[27205,27232],[27391,27398],[27492,27492],[28402,28432],[28462,28492],[30161,30179],[30800,30800],[31251,31259],[31275,31279],[31281,31290],[31466,31700]];function s(e){return null!=e&&i.some((([t,n])=>e>=t&&e<=n))}}}]);
1
+ "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[9547],{19547:(e,t,n)=>{n.r(t),n.d(t,{default:()=>Ie});var i=n(90237),s=n(13874),o=n(69540),a=n(49186),r=n(92071),l=n(74887),c=n(36708),u=n(10107),p=(n(44208),n(53966)),d=(n(87811),n(40608)),m=n(4146),f=n(63074),g=n(69208),h=n(89015),v=n(16131),y=n(8303),b=n(63660),w=n(54310),x=n(25036),C=n(82935),I=n(10873),S=n(20437),A=n(74797),D=n(5443),T=n(38458),L=n(78888),V=n(50103);function M(e){return e.endsWith("?")?e.slice(0,-1):e}function N(e){return e.filter((({coverageSubType:e})=>null==e||""===e||/^rectified(grid|dataset)/i.test(e)))}function R(e){const t={};for(let n=0;n<e.childNodes.length;n++){const i=e.childNodes[n];if(1!==i.nodeType)continue;const s=(0,V.vv)(i).toLowerCase();switch(s){case"title":case"abstract":t[s]=(0,V.mX)(i);break;case"identifier":t.id=(0,V.mX)(i);break;case"wgs84boundingbox":{const e=(0,V.pN)(i,"LowerCorner"),n=(0,V.pN)(i,"UpperCorner");t.lonLatEnvelope=new D.A({xmin:e[0],ymin:e[1],xmax:n[0],ymax:n[1],spatialReference:{wkid:4326}})}break;case"coveragesummary":t.coverageSummaries=t.coverageSummaries||[],t.coverageSummaries.push(R(i))}}return t}function P(e,t){if(e.coverageSummaries)for(let n=0;n<e.coverageSummaries.length;n++)e.coverageSummaries[n].abstract=e.coverageSummaries[n].abstract||e.abstract,e.coverageSummaries[n].lonLatEnvelope=e.coverageSummaries[n].lonLatEnvelope||e.lonLatEnvelope,e.coverageSummaries[n].title=e.coverageSummaries[n].title||e.title,P(e.coverageSummaries[n],t);null!=e.id&&t.push(e)}function E(e){const t=(0,V.V6)(e.querySelector("Operation[name=GetCapabilities]"),"Get")?.getAttribute("xlink:href")||"",n=(0,V.V6)(e.querySelector("Operation[name=DescribeCoverage]"),"Get")?.getAttribute("xlink:href")||"",i=(0,V.V6)(e.querySelector("Operation[name=GetCoverage]"),"Get")?.getAttribute("xlink:href")||"";return{getCapabilities:M(t),describeCoverage:M(n),getCoverage:M(i)}}function $(e,t=null){let n=null;n="string"==typeof e?(new DOMParser).parseFromString(e,"text/xml"):e;let i=n.documentElement.getAttribute("version");"1.0"===i?i="1.0.0":"1.1"===i&&(i="1.1.0");const s=i||t||"1.0.0",o=s.slice(0,3);let r;if("2.0"===o)r=function(e){const t=(0,V.V6)(e,"ServiceIdentification"),n=(0,V.mX)(t,"Title"),i=(0,V.Dy)(t,"ServiceTypeVersion"),s=(0,V.Dy)(t,"Profile"),o=E((0,V.V6)(e,"OperationsMetadata")),a=(0,V.IC)(e,"Contents/CoverageSummary"),r=[];for(let e=0;e<a.length;e++){const t=a[e],n=(0,V.mX)(t,"CoverageId"),i=(0,V.V6)(t,"WGS84BoundingBox");let s;if(i){const e=(0,V.pN)(i,"LowerCorner"),t=(0,V.pN)(i,"UpperCorner");s=new D.A({xmin:e[0],ymin:e[1],xmax:t[0],ymax:t[1],spatialReference:{wkid:4326}})}const o=(0,V.mX)(t,"CoverageSubtype")||"RectifiedGridCoverage";r.push({id:n,lonLatEnvelope:s,coverageSubType:o})}const l=(0,V.V6)(e,"ServiceMetadata");return{name:n,supportedVersions:i,supportedFormats:(0,V.Dy)(l,"formatSupported"),supportedInterpolations:(0,V.Dy)(l,"interpolationSupported").concat((0,V.Dy)(l,"InterpolationSupported")),onlineResources:o,profiles:s,coverages:r,gridCoverages:N(r),version:"2.0.1"}}(n);else if("1.1"===o)r=function(e){const t=(0,V.mX)(e,"ServiceIdentification/Title"),n=(0,V.Dy)(e,"ServiceIdentification/ServiceTypeVersion"),i=E((0,V.V6)(e,"OperationsMetadata")),s=[],o=(0,V.V6)(e,"Contents");for(let e=0;e<o.childNodes.length;e++){const t=o.childNodes[e];1===t.nodeType&&(0,V.g7)(t,"CoverageSummary")&&P(R(t),s)}const a=(0,V.Dy)(o,"SupportedFormat");return{name:t,onlineResources:i,coverages:s,gridCoverages:N(s),supportedVersions:n,supportedFormats:a,version:"1.1.0"}}(n);else{if("1.0"!==o)throw new a.A("wcsraster:parsecapabilities","the capabilities version is not supported");r=function(e){const t=(0,V.mX)(e,"Service/name"),n=(0,V.V6)(e,"Capability"),i=(0,V.V6)(n,"GetCapabilities/Get/OnlineResource")?.getAttribute("xlink:href")??"",s=(0,V.V6)(n,"DescribeCoverage/Get/OnlineResource")?.getAttribute("xlink:href")??"",o=(0,V.V6)(n,"GetCoverage/Get/OnlineResource")?.getAttribute("xlink:href")??"",a={getCapabilities:M(i),describeCoverage:M(s),getCoverage:M(o)},r=(0,V.IC)(e,"CoverageOfferingBrief"),l=[];for(let e=0;e<r.length;e++){const t=r[e],n=(0,V.mX)(t,"name"),i=(0,V.IC)(t,"pos"),s=(0,V.pN)(i[0]),o=(0,V.pN)(i[1]),a=new D.A({xmin:s[0],ymin:s[1],xmax:o[0],ymax:o[1],spatialReference:{wkid:4326}});l.push({id:n,lonLatEnvelope:a})}return{name:t,onlineResources:a,coverages:l,gridCoverages:N(l),supportedVersions:["1.0.0"],version:"1.0.0"}}(n)}return r.version=s,r}var O=n(39829),X=n(87186),_=n(77301);function k(e){e.variables.forEach((e=>e.dimensions.forEach((e=>e.values??=(0,_.Xg)(e)))))}function F(e){return{requestResponseCRSs:(0,V.Dy)(e,"requestResponseCRSs").map((e=>e.split(":")[1])),nativeCRSs:(0,V.Dy)(e,"nativeCRSs").map((e=>e.split(":")[1]))}}function G(e,t){const n=(0,V.Dy)(e,"1.0.0"===t?"interpolationMethod":"InterpolationMethod"),i="1.0.0"===t?e.getAttribute("default"):(0,V.mX)(e,"InterpolationMethods/Default");return null!=i?[i].concat(n.filter((e=>e.toLowerCase()!==i.toLowerCase()))):n}function B(e){return null==e?["nearest"]:e.map((e=>{const t=e.toLowerCase();return t.includes("nearest")?"nearest":t.includes("linear")?"bilinear":t.includes("cubic")?"cubic":null})).filter((e=>!!e))}function j(e){const t=(0,V.IC)(e,"pos"),n=(0,V.pN)(t[0]),i=(0,V.pN)(t[1]);return new D.A({xmin:n[0],ymin:n[1],xmax:i[0],ymax:i[1],spatialReference:{wkid:4326}})}function W(e,t){const n=(0,V.Dy)(e,t);return n?.length&&""!==n[0]&&!isNaN(Number(n[0]))?n.map((e=>Number(e))):null}function q(e){const t=(0,V.pN)(e,"MinimumValue"),n=(0,V.pN)(e,"MaximumValue");return t.length&&n.length?t.map(((e,t)=>({min:e,max:n[t],avg:-1,stddev:-1}))):null}function Z(e){return null==e?null:e.every((t=>t===e[0]))?e[0]:e}function U(e){const t=[],n=(0,V.IC)(e,"RangeSet");let i=[];for(let e=0;e<n.length;e++){const s=(0,V.mX)(n[e],"name"),o=(0,V.mX)(n[e],"label"),a=[],r=W(n[e],"nullValues/singleValue"),l=(0,V.IC)(n[e],"AxisDescription");for(let e=0;e<l.length;e++){const t=(0,V.mX)(l[e],"name"),n=(0,V.mX)(l[e],"label"),s=(0,V.Dy)(l[e],"singleValue");if(0===s.length){const t=(0,V.mX)(l[e],"min"),n=(0,V.mX)(l[e],"max"),i=Number((0,V.mX)(l[e],"res"))||1;if(null!==t&&null!==n)for(let e=parseInt(t,10);e<=parseInt(n,10);e+=i)s.push(e.toString())}"band"===t.toLowerCase()&&(i=s),a.push({name:t,label:n,values:s})}t.push({name:s,label:o,nullValues:r,axis:a})}return{rangeSet:t,bandNames:i}}function z(e=null){if(!e)return{resolution:null,units:null};let t=e.toUpperCase();const n=["Years","Months","Days","Hours","Minutes","Seconds"];let i,s,o;return t.includes("PT")?(t=t.slice(2),o=["H","M","S"].findIndex((e=>t.includes(e))),i=n[3+o],s=parseFloat(t.slice(0,-1))):(t=t.slice(1),o=["Y","M","D"].findIndex((e=>t.includes(e))),o>-1&&(i=n[o]),s=parseFloat(t.slice(0,-1))),{resolution:s,units:i}}function H(e){const t=(0,V.IC)(e,"timeposition");if(t.length>0){const e=[];for(let n=0;n<t.length;n++)e.push(new Date((0,V.mX)(t[n])));return{begin:e[0],end:e[e.length-1],values:e}}const n=(0,V.V6)(e,"timePeriod")||(0,V.V6)(e,"TimePeriod");return n?{begin:new Date((0,V.mX)(n,"beginPosition")||(0,V.mX)(n,"BeginPosition")),end:new Date((0,V.mX)(n,"endPosition")||(0,V.mX)(n,"EndPosition")),...z((0,V.mX)(n,"timeResolution")||(0,V.mX)(n,"TimeResolution"))}:null}function Y(e){const t=(0,V.V6)(e,"spatialDomain"),n=(0,V.V6)(t,"Envelope")||(0,V.V6)(t,"EnvelopeWithTimePeriod"),i=n.getAttribute("srsName").split(":"),s=i[i.length-1],o=(0,V.IC)(n,"pos"),a=(0,V.pN)(o[0]),r=(0,V.pN)(o[1]),l=parseInt(s,10),c=isNaN(l)?null:{wkid:l},u=new D.A({xmin:a[0],ymin:a[1],xmax:r[0],ymax:r[1],spatialReference:c}),p=(0,V.V6)(t,"RectifiedGrid"),d=(0,V.mX)(p,"low").split(" "),m=(0,V.mX)(p,"high").split(" "),f=parseInt(m[0],10)-parseInt(d[0],10)+1,g=parseInt(m[1],10)-parseInt(d[1],10)+1,h=(0,V.pN)(t,"origin/pos"),v=(0,V.IC)(t,"offsetVector"),y={envelope:u,columns:f,rows:g,offset:{x:parseFloat((0,V.mX)(v[0]).split(" ")[0]),y:parseFloat((0,V.mX)(v[1]).split(" ")[1])},origin:{x:h[0],y:h[1]}},b=(0,V.V6)(e,"temporalDomain")||(0,V.V6)(e,"TemporalDomain");return{spatialDomain:y,temporalDomain:b?H(b):null}}function Q(e,t){const n=[],i=(0,V.IC)(e,"Field");let s,o=[];for(let e=0;e<i.length;e++){const a=(0,V.mX)(i[e],"Identifier"),r=(0,V.mX)(i[e],"Description"),l=(0,V.mX)(i[e],"Definition"),c=(0,V.mX)(i[e],"Abstract"),u=(0,V.mX)(i[e],"Title"),p=W(i[e],"NullValue"),d=(0,V.V6)(i[e],"AllowedValues"),m=d?q(d):null,f=G(i[e],"1.1.0"),g=[],h=(0,V.IC)(i[e],"Axis");for(let e=0;e<h.length;e++){const n=h[e].getAttribute("identifier"),i=(0,V.mX)(h[e],"UOM"),a=(0,V.mX)(h[e],"DataType"),r=(0,V.Dy)(h[e],"Key");t&&!n.toLowerCase().includes("band")||(o=r,s=p),g.push({identifier:n,uom:i,dataType:a,values:r,bandNoDataValues:s})}n.push({identifier:a,description:r,definition:l,abstract:c,title:u,supportedInterpolations:f,axis:g,nullValues:p,statistics:m})}return{rangeSet:n,bandNames:o,bandNoDataValues:s,statistics:n[0].statistics}}function J(e){const t=(0,V.V6)(e,"SpatialDomain"),n=(0,V.V6)(t,"GridCRS"),i=(0,V.mX)(n,"GridBaseCRS"),s=(0,V.mX)(n,"GridOrigin"),o=s?.split(" ").map((e=>parseFloat(e)))??[0,0],a=(0,V.pN)(n,"GridOffsets"),r=(0,V.IC)(t,"BoundingBox");let l,c,u,p;for(let e=0;e<r.length;e++){const t=r[e].getAttribute("crs")?.toLowerCase();if(null!=t)if(t.includes("imagecrs")){const t=(0,V.pN)(r[e],"LowerCorner"),n=(0,V.pN)(r[e],"UpperCorner");l=n[0]-t[0]+1,c=n[1]-t[1]+1}else if(t.indexOf("epsg")>0){const n=t.split(":");u=parseInt(n[n.length-1],10);const i=(0,V.pN)(r[e],"LowerCorner"),s=(0,V.pN)(r[e],"UpperCorner");p=new D.A({xmin:i[0],ymin:i[1],xmax:s[0],ymax:s[1],spatialReference:{wkid:u}})}}const d=l>c,m=p.xmax-p.xmin>p.ymax-p.ymin;let f=!1;(0,T.m)(u)&&(d===m?f=!1:(f=!0,p=new D.A({xmin:p.ymin,ymin:p.xmin,xmax:p.ymax,ymax:p.xmax,spatialReference:{wkid:u}})));const g={columns:l,rows:c,origin:{x:o[0],y:o[1]},offset:{x:a[0],y:a[a.length-1]},gridBaseCRS:i,envelope:p,useEPSGAxis:f},h=(0,V.V6)(e,"temporalDomain")||(0,V.V6)(e,"TemporalDomain");return{spatialDomain:g,temporalDomain:h?H(h):null}}function K(e){const t=(0,V.V6)(e,"Envelope")||(0,V.V6)(e,"EnvelopeWithTimePeriod"),n=t.getAttribute("srsName"),i=n.slice(n.lastIndexOf("/")+1),s=t.getAttribute("axisLabels").split(" ").map((e=>e.trim())).filter((e=>""!==e.trim())),o=(0,V.pN)(t,"lowerCorner"),a=(0,V.pN)(t,"upperCorner"),r=!["y","lat","latitude","north","nor","n","b"].includes(s[0].toLowerCase());let l;const c=parseInt(i,10),u=isNaN(c)?null:{wkid:c};l=new D.A(r?{xmin:o[0],ymin:o[1],xmax:a[0],ymax:a[1],spatialReference:u}:{xmin:o[1],ymin:o[0],xmax:a[1],ymax:a[0],spatialReference:u});const p={mins:o,maxs:a},d=t.getAttribute("uomLabels").trim().split(" ");let m,f;if((0,V.g7)(t,"EnvelopeWithTimePeriod")){m=new Date((0,V.mX)(e,"beginPosition")||(0,V.mX)(e,"BeginPosition")),f=new Date((0,V.mX)(e,"endPosition")||(0,V.mX)(e,"EndPosition"));const t=d?.findIndex((e=>"oledatetime"===e?.toLowerCase()));t>-1&&(d[t]="ISO8601")}return{envelope:l,axisLabels:s,uomLabels:d.length?d:null,envelopeAllDims:p,beginPosition:m,endPosition:f,isEastFirst:r}}function ee(e,t){const n=[],i=(0,V.IC)(e,"DataRecord"),s=[];let o,a=[];for(let e=0;e<i.length;e++){const r=(0,V.IC)(i[e],"field"),l=[];for(let e=0;e<r.length;e++){const n=r[e].getAttribute("name"),i=(0,V.mX)(r[e],"description")||"",c=(0,V.V6)(r[e],"uom")?.getAttribute("code")||"",u=(0,V.pN)(r[e],"interval"),p=W(r[e],"nilValue")?.[0];t&&!n.toLowerCase().includes("band")||(s.push(n),u?.length&&(o=o||[],o.push({min:u[0],max:u[1],avg:-1,stddev:-1})),a.push(p)),l.push({name:n,description:i,uom:c,allowedValues:u,nilValue:p})}n.push(l)}return a.some((e=>null!=e))||(a=null),{rangeType:n,bandNames:s,bandStats:o,bandNoDataValues:a}}function te(e){let t=1,n="";const i=.01;return Math.abs(e-1/24)<1/24*i?n="Hours":Math.abs(e-1)<1*i?n="Days":e<1?(t=Math.round(24*e),n="Hours"):e>28-i&&e<31+i||Math.round(e/30)<12?n="Months":e>365-i&&e<366+i&&(n="Years"),{interval:t,intervalUnit:n}}function ne(e,t){const n=(0,V.V6)(e,"RectifiedGrid"),i=(0,V.pN)(n,"low"),s=(0,V.pN)(n,"high"),o=[];for(let e=0;e<i.length;e++)o.push(s[e]-i[e]+1);const a=(0,V.mX)(n,"axisLabels").split(" "),r=(0,V.pN)(n,"origin/pos"),l=(0,V.IC)(n,"offsetVector"),c=[];for(let e=0;e<l.length;e++){const t=(0,V.pN)(l[e]),n=t.findIndex((e=>0!==e));c[n]=t[n]}let u,p,d,m=!1;return t?.length&&a?.length&&(m=[...t].sort(((e,t)=>e<t?-1:1)).join(",")===[...a].sort(((e,t)=>e<t?-1:1)).join(",")),["y","lat","latitude","north","nor","n","b"].includes((m?a:t)[0].toLowerCase())?(u=o[1],p=o[0],d={y:Math.abs(c[0]),x:Math.abs(c[1])}):(u=o[0],p=o[1],d={x:Math.abs(c[0]),y:Math.abs(c[1])}),{columns:u,rows:p,origin:r,offset:c,resolution:d,gridSamples:o,axisLabels:a,hasSameAxisLabelsAsBoundedBy:m}}function ie(e){const t=(0,V.V6)(e,"EarthObservation");if(!t)return null;const n=(0,V.V6)(t,"phenomenonTime"),i=n?H(n):null,s=(0,V.V6)(t,"phenomenonTime"),o=s?H(s):null,a=(0,V.mX)(t,"featureOfInterest/Footprint/multiExtentOf/MultiSurface/surfaceMembers/Polygon/exterior/LinearRing/posList");let r=null;if(a){const e=a.split(" ").map((e=>e.trim())).filter((e=>null!=e&&""!==e)).map(Number);if(e.length){const t=[];for(let n=0;n<e.length/2;n+=2)t.push(e[n],e[n+1]);r=new O.A({rings:[[t]]})}}return{observation:{phenomenonTime:i,resultTime:o,footprint:r,identifier:(0,V.mX)(e,"metaDataProperty/EarthObservationMetaData/identifier"),acquisitionType:(0,V.mX)(e,"metaDataProperty/EarthObservationMetaData/acquisitionType"),status:(0,V.mX)(e,"metaDataProperty/EarthObservationMetaData/status")}}}async function se(e,t){const{coverageIds:n,version:i,customParameters:s,signal:o}=t,r=i.slice(0,3),c="1.0"===r?"coverage":"1.1"===r?"identifiers":"coverageId",u={service:"WCS",request:"DescribeCoverage",version:i,[c]:n.join(","),...s};try{const{data:t}=await(0,L.A)(e,{query:u,responseType:"xml",signal:o});return function(e,t){let n=null;if(n="string"==typeof e?(new DOMParser).parseFromString(e,"text/xml"):e,"1.0.0"===t)return(0,V.IC)(n,"CoverageOffering").map((e=>function(e){const t={version:"1.0"};let n,i=[];for(let s=0;s<e.childNodes.length;s++){const o=e.childNodes[s];if(1===o.nodeType)if((0,V.g7)(o,"description"))t.description=(0,V.mX)(o);else if((0,V.g7)(o,"name"))t.name=(0,V.mX)(o);else if((0,V.g7)(o,"label"))t.label=(0,V.mX)(o);else if((0,V.g7)(o,"supportedFormats"))t.supportedFormats=(0,V.Dy)(o,"formats");else if((0,V.g7)(o,"supportedCRSs"))t.supportedCRSs=F(o);else if((0,V.g7)(o,"supportedInterpolations"))t.supportedInterpolations=G(o,"1.0.0");else if((0,V.g7)(o,"lonLatEnvelope"))t.lonLatEnvelope=j(o);else if((0,V.g7)(o,"rangeSet")){const e=U(o);t.rangeSet=e.rangeSet,i=e.bandNames;const s=e.rangeSet[0].nullValues;s?.length&&(n=Z(s))}else(0,V.g7)(o,"domainSet")&&(t.domainSet=Y(o))}const s=B(t.supportedInterpolations),{name:o,description:a,label:r,lonLatEnvelope:l,supportedFormats:c}=t,{spatialDomain:u}=t.domainSet,p={x:Math.abs(u.offset.x),y:Math.abs(u.offset.y)},d=function(e){if(!e.temporalDomain)return null;const{begin:t,end:n,values:i,units:s,resolution:o}=e.temporalDomain,a={variables:[{name:"default",description:"",dimensions:[{name:"StdTime",description:"",unit:"ISO8601",values:i?.map((e=>e.getTime())),hasRegularIntervals:!i,interval:o,intervalUnit:s,extent:[t.getTime(),n.getTime()]}]}]};return k(a),a}(t.domainSet),m=new X.A({width:u.columns,height:u.rows,pixelSize:p,pixelType:"unknown",extent:u.envelope,spatialReference:u.envelope.spatialReference,bandCount:i.length||1,noDataValue:n,multidimensionalInfo:d});return{id:o,title:t.name,description:a||r,lonLatEnvelope:l,rasterInfo:m,bandNames:i,supportedFormats:c,supportedInterpolations:s,coverageDescription:t,version:"1.0.0",useEPSGAxis:!1}}(e)));const i=(0,V.IC)(n,"CoverageDescription");return"1.1.0"===t||"1.1.1"===t||"1.1.2"===t?i.map((e=>function(e,t){const n=[],i=[],s={supportedFormats:n,supportedCRSs:i,version:"1.1"};let o,a,r=[];for(let t=0;t<e.childNodes.length;t++){const l=e.childNodes[t];if(1!==l.nodeType)continue;const c=(0,V.vv)(l).toLowerCase();switch(c){case"title":case"abstract":case"identifier":s[c]=(0,V.mX)(l);break;case"supportedformat":{const e=(0,V.mX)(l);n.includes(e)||n.push(e)}break;case"supportedcrs":{const e=(0,V.mX)(l);i.includes(e)||i.push(e)}break;case"range":{const e=Q(l,!!s.domain?.temporalDomain);s.range=e.rangeSet,r=e.bandNames;const{bandNoDataValues:t}=e;t?.length&&(o=Z(t)),a=e.statistics}break;case"domain":s.domain=J(l)}}const l=B(s.range[0].supportedInterpolations),{identifier:c,abstract:u,title:p,domain:d,range:m}=s,f={x:Math.abs(d.spatialDomain.offset.x),y:Math.abs(d.spatialDomain.offset.y)},g=function(e,t){if(!t.temporalDomain)return null;const n=e.filter((e=>!e.identifier.toLowerCase().includes("field_1")&&!e.axis.some((e=>e.identifier.includes("band"))))),i=[];if(n.length&&n.forEach((e=>{const t=e.axis.map((e=>{const t=e.values.map((t=>"ISO8601"===e.uom?(t=t.trim()).toLowerCase().includes("z")?new Date(t).getTime():new Date(t+"Z").getTime():parseFloat(t.trim()))),n=[Math.min.apply(null,t),Math.max.apply(null,t)];return{name:e.identifier.trim(),description:"",field:e.identifier.trim(),unit:e.uom?e.uom.trim():"",hasRegularIntervals:!1,values:t,extent:n}}));i.push({name:e.identifier.trim(),description:e.description?.trim()??"",unit:"",dimensions:t,statistics:e.statistics})})),t.temporalDomain){const{begin:e,end:n,values:s,units:o,resolution:a}=t.temporalDomain;i.some((e=>e.dimensions.some((e=>"stdtime"===e.name.toLowerCase()))))||i.forEach((t=>{t.dimensions.push({name:"StdTime",description:"",unit:"ISO8601",values:s?.map((e=>e.getTime())),hasRegularIntervals:!s,interval:a,intervalUnit:o,extent:[e.getTime(),n.getTime()]})}))}if(i.length){const e={variables:i};return k(e),e}return null}(m,d);g&&(o=m[0].nullValues,1===o?.length&&(o=o[0]));const h=new X.A({width:d.spatialDomain.columns,height:d.spatialDomain.rows,pixelSize:f,pixelType:"unknown",extent:d.spatialDomain.envelope,spatialReference:d.spatialDomain.envelope.spatialReference,bandCount:r.length||1,noDataValue:o,statistics:a,multidimensionalInfo:g});return{id:c,title:s.title,description:u||p,bandNames:r,rasterInfo:h,supportedFormats:n,supportedInterpolations:l,coverageDescription:s,version:t,useEPSGAxis:d.spatialDomain.useEPSGAxis}}(e,t))):i.map((e=>function(e){const t={version:"2.0"};let n,i,s=[];for(let o=0;o<e.childNodes.length;o++){const a=e.childNodes[o];if(1===a.nodeType)if((0,V.g7)(a,"coverageId"))t.coverageId=(0,V.mX)(a);else if((0,V.g7)(a,"ServiceParameters"))t.serviceParameters={supportedFormats:(0,V.Dy)(a,"nativeFormat")};else if((0,V.g7)(a,"boundedBy"))t.boundedBy=K(a);else if((0,V.g7)(a,"rangeType")){const e=ee(a,t.boundedBy?.axisLabels.length>2||t.domainSet?.axisLabels.length>2);t.rangeType=e.rangeType,s=e.bandNames,n=e.bandStats;const{bandNoDataValues:o}=e;o?.length&&(i=Z(o))}else if((0,V.g7)(a,"domainSet"))t.domainSet=ne(a,t.boundedBy?.axisLabels);else if((0,V.g7)(a,"metadata")){const e=(0,V.V6)(a,"EOMetadata");t.eoMetadata=e?ie(e):null}}const{coverageId:o,boundedBy:a,domainSet:r,rangeType:l,serviceParameters:c}=t,u=function(e,t,n){if(n.axisLabels.length<=2)return null;const i=[];for(let t=0;t<e.length;t++){const n=e[t];for(let e=0;e<n.length;e++)n[e].name.toLowerCase().includes("band")||i.push(n[e])}const s=[];if(i.length){const e=[];for(let i=2;i<n.axisLabels.length;i++){const s=t.uomLabels?.[i]?.trim()??"",o=n.axisLabels[i].toLowerCase().includes("time")||"iso8601"===s.toLowerCase()||"oledatetime"===s.toLowerCase();let a,r;if(o){const e=te(n.offset[i]);a=e.interval,r=e.intervalUnit}else a=n.offset[i],r=s;const l=[];o?(l.push((0,_.$E)(t.envelopeAllDims.mins[i])),l.push((0,_.$E)(t.envelopeAllDims.maxs[i]))):(l.push(t.envelopeAllDims.mins[i]),l.push(t.envelopeAllDims.maxs[i])),e.push({name:n.axisLabels[i].trim(),description:n.axisLabels[i].trim(),unit:o?"ISO8601":s,hasRegularIntervals:!0,extent:l,interval:a,intervalUnit:r})}if(i.forEach((t=>{const{allowedValues:n}=t,i=2===n?.length?[{min:n[0],max:n[1],avg:-1,stddev:-1}]:null;s.push({name:t.name.trim(),description:t.description?.trim()??"",unit:t.uom.trim(),statistics:i,dimensions:[...e]})})),s.length){const e={variables:s};return k(e),e}}return null}(l,a,r);return!n&&u&&(n=u?.variables[0].statistics),null!=u&&(i=l[0][0].nilValue),{id:o,title:o,description:o,bandNames:s,rasterInfo:new X.A({width:r.columns,height:r.rows,pixelSize:r.resolution,pixelType:"unknown",extent:a.envelope,spatialReference:a.envelope.spatialReference,bandCount:s.length||1,statistics:n,noDataValue:i,multidimensionalInfo:u}),supportedFormats:c.supportedFormats,coverageDescription:t,version:"2.0.1",useEPSGAxis:!1}}(e)))}(t,i)}catch(e){if(!(0,l.zf)(e))throw new a.A("wcslayer:open","wcs coverage description is not valid or supported");throw e}}var oe=n(45617),ae=n(4916);function re(e){const t=function(e){const t=e.getHeader?.("Content-Type")?.split(";");if(!t)return null;if(!(t[0].trim()??"").startsWith("multipart/"))return null;const n={boundary:"",start:"",type:""};for(let e=1;e<t.length;e++){const i=t[e].indexOf("=");if(i>0){const s=t[e].slice(0,i).trim(),o=t[e].slice(i+1).trim();n[s]=o.startsWith('"')?o.slice(1,-1):o}}return n}(e);return t?{isMultipart:!0,data:t.boundary?le(e.data,t,0):null}:{isMultipart:!1,data:null}}function le(e,t,n=0){const i="--"+t.boundary,s=[];for(let e=0;e<i.length;e++)s.push(i.charCodeAt(e));const o=[],a="\n--"+t.boundary+"--";for(let e=0;e<a.length;e++)o.push(a.charCodeAt(e));const r=[10],l=[13,10],c=[],u=s.length,p=new Uint8Array(e,n),d=p.length-u;let m=0,f=0;for(let e=0;e<d;e++){for(f=0;f<u&&p[e+f]===s[f];f++);if(f!==u)continue;let n=!1;if(m){const i=ce(p.subarray(m,e),t);c.push(i),n=!!i.isValidImage}if(e+=u-1,p[e+1]===r[0]?e+=1:p[e+1]===l[0]&&p[e+2]===l[1]&&(e+=2),m=e+1,n)break}const g=o.length;for(let e=p.length-g-10;e<p.length-g;e++){for(f=0;f<g&&p[e+f]===o[f];f++);if(f===g){c.push(ce(p.subarray(m,e),t));break}}return c}function ce(e,t){const n=String.fromCharCode.apply(null,e.subarray(0,Math.min(300,e.length))).split("\n"),i=Math.min(n.length,7),s={contentDisposition:"inline"};let o=0;for(let a=0;a<i;a++)if(n[a].length<4)o=o+n[a].length+1;else if("content"===n[a].slice(0,7).toLowerCase()){o=o+n[a].length+1;const e=n[a].indexOf(":");if(-1===e)continue;const t=n[a].slice(0,e).trim(),i=n[a].slice(e+1).trim();switch(t.toLowerCase()){case"content-type":s.contentType=i;break;case"content-description":s.contentDescription=i;break;case"content-transfer-encoding":s.contentTransferEncoding=i;break;case"content-id":s.contentID=i;break;case"content-disposition":s.contentDisposition=i;break;case"content-location":s.contentLocation=i}}else{if(s.contentDisposition.toLowerCase().includes("inline")&&n[a].length>=4&&s.contentType?.toLowerCase().indexOf("image")>-1){let t=!0,n=e.subarray(o,e.length);if(s.contentType.toLowerCase().indexOf("tif")>0){if("base64"===s.contentTransferEncoding){let e="";const t=n;for(let n=0;n<t.length;n+=65535){const i=t.subarray(n,n+65535>t.length-1?t.length-1:n+65535);e+=String.fromCharCode.apply(null,i)}const i=atob(e);n=new Uint8Array(i.length);for(let e=0;e<n.length;e++)n[e]=i.charCodeAt(e)}t=73===n[0]&&73===n[1]||77===n[0]&&77===n[1]}if(t){let t=n.buffer;"base64"!==s.contentTransferEncoding&&(t=new ArrayBuffer(e.length-o),n=new Uint8Array(t),n.set(e.subarray(o,e.length))),s.contentData=t,s.isValidImage=!0}break}if((""===t.start||s.contentID===t.start)&&s.contentType){if(s.contentType.includes("text")||s.contentType.includes("xml")){s.contentData=String.fromCharCode.apply(null,e.subarray(o,e.length));break}s.contentData=e.subarray(o,e.length)}}return s}var ue=n(51244),pe=n(28435);const de=["nearest neighbor","bilinear","bicubic"],me=["nearest","linear","cubic"],fe="response is not a supported multipart/related mediaType with inline tiff, switching to compatibility mode",ge=new Set(["1.0.0","1.1.0","1.1.1","1.1.2","2.0.1"]);let he=class extends ae.A{constructor(){super(...arguments),this.datasetFormat="WCSServer",this.tileType="Raster"}get rasterId(){return`${this.url}-${this.coverageId}-${this.version}`}async fetchRawTile(e,t,n,i={}){if(this.isBlockOutside(e,t,n))return null;const{nativePixelSize:s,spatialReference:o}=this.rasterInfo,r=2**e,l=s.x*r,c=s.y*r,{blockWidth:u,blockHeight:p}=this.getBlockWidthHeight(e),{origin:d}=this.rasterInfo.storageInfo.tileInfo,m=this.getTileExtent({x:l,y:c},t,n,d,o,[u,p]),f=this.rasterInfo.extent,g=m.xmax>f.xmax,h=m.ymin<f.ymin,v=g||h;let y=m,b=u,w=p;if(v&&(y=m.clone().intersection(f),null!=y&&(g&&(b=Math.floor((y.xmax-y.xmin)/l),y.xmax=y.xmin+l*b),h&&(w=Math.floor((y.ymax-y.ymin)/c),y.ymin=y.ymax-c*w))),null==y||b<=1||w<=1)return null;const x=await this._getCoverage(y,b,w,r,i);if(!x)return null;const{coverageDescription:C}=this.coverageInfo,{noDataValue:I,multidimensionalInfo:S}=this.rasterInfo,{multidimensionalDefinition:A}=i;let D;if(null!=S&&null!=A&&A.length){const e=A[0].variableName;if("2.0"===C.version){const t=C.rangeType[0].find((t=>t.name===e));D=t?.nilValue}else if("1.1"===C.version){const t=C.range.find((t=>t.identifier===e));D=t?.nullValues}}const T=D??I,L=await this.decodePixelBlock(x,{width:b,height:w,planes:null,pixelType:null,tiffNoDataValue:Array.isArray(T)?T[0]:T,matchAllNoData:!0});if(null==L)return null;if(L&&(L.width!==b||L.height!==w))throw new a.A("wcsraster-fetch",`the response has unexpected dimension width: ${L.width}, height: {pixelBlock.height}`);return v?(0,pe.$Q)(L,{x:0,y:0},{width:p,height:p}):L}async _open(e){const{customFetchParameters:t}=this.ioConfig,n=e?.signal,i=await async function(e,t){const{version:n,customParameters:i,signal:s}=t??{},o=n?.startsWith("1.0")?"version":"acceptVersions",r={service:"WCS",request:"GetCapabilities",[o]:n,...i};try{let{data:n}=await(0,L.A)(e,{query:r,responseType:"xml",signal:s});return t?.version||function(e){let t=null;t="string"==typeof e?(new DOMParser).parseFromString(e,"text/xml"):e;const n=t.documentElement.getAttribute("version"),i=n?.slice(0,3);return null!=i&&i<"2.1"}(n)||(r[o]="2.0.1",({data:n}=await(0,L.A)(e,{query:r,responseType:"xml",signal:s}))),$(n)}catch(e){if(!(0,l.zf)(e))throw new a.A("wcslayer:open","wcs capabilities is not valid or supported");throw e}}(this.url,{version:t?.version??this.version,customParameters:t,signal:n});if(this.capabilities=i,!this.version){let e=i.version.slice(0,3);"2.0"===e||"1.1"===e||"1.0"===e?this.version=i.version:(e=i.supportedVersions.find((e=>"2.0.1"===e))||i.supportedVersions.find((e=>"2.0"===e.slice(0,3)))||i.supportedVersions.find((e=>"1.1"===e.slice(0,3)))||i.supportedVersions.find((e=>"1.0"===e.slice(0,3)))||"1.0.0",this.version=e)}const{version:s}=this;if(!ge.has(s))throw new a.A("wcsraster-open",`unsupported WCS version ${s}`);const{gridCoverages:o}=i;if(!o.length)throw new a.A("wcsraster-open","cannot find rectified grid coverages");this.coverageId??=o[0].id;const{coverageId:r}=this,c=o.find((e=>e.id===r));if(null==c)throw new a.A("wcsraster-open",`the coverageId ${r} does not exist in capabilities`);const u=await se(this.url,{coverageIds:[r],version:s,customParameters:t,signal:n});if(this.coverageInfo=u[0],"2.0"===s.slice(0,3)){const{coverageInfo:e}=this;e.lonLatEnvelope=c.lonLatEnvelope,e.supportedInterpolations=B(i.supportedInterpolations),this._patchDimensionValues201(r,n)}this.datasetName=this.coverageInfo.title;const{rasterInfo:p}=this.coverageInfo;if(this.createRemoteDatasetStorageInfo(p,512,512),this._set("rasterInfo",p),null==p.spatialReference)throw new a.A("wcsraster-open",`coverage without spatial reference is not supported: ${r}`);const{pixelType:d,bandCount:m}=await this._getPixelTypeAndBandCount(n);p.pixelType=d,1===p.bandCount&&m>1&&(p.bandCount=m),this.updateTileInfo()}async _patchDimensionValues201(e,t){const{coverageInfo:n}=this,i=n.rasterInfo.multidimensionalInfo?.variables,s=ge.has("1.1.2")?"1.1.2":ge.has("1.1.1")?"1.1.1":ge.has("1.1.0")?"1.1.0":null,{customFetchParameters:o}=this.ioConfig;if(i&&s)try{const n=this.url.includes("/ImageServer/"),a=e.length>8&&e.startsWith("Coverage")&&n?e.slice(8):e,r=await se(this.url,{coverageIds:[a??e],version:s,customParameters:o,signal:t}).catch((()=>{if(a)return se(this.url,{coverageIds:[e],version:s,customParameters:o,signal:t})})),l=r?.[0].rasterInfo.multidimensionalInfo?.variables;if(l)for(const e of i){const t=l.find((({name:t})=>t===e.name));if(t?.dimensions?.length)for(let i=e.dimensions.length-1;i>=0;i--){const s=e.dimensions[i],o=t.dimensions.find((({name:e})=>e===s.name));o?o.values&&o.extent?.join(",")===s.extent?.join(",")&&(e.dimensions[i]={...s,values:o.values}):n&&e.dimensions.splice(i,1)}}}catch{}}async _getPixelTypeAndBandCount(e){const{pixelSize:t,extent:n,multidimensionalInfo:i}=this.rasterInfo,s=n.center,o=new D.A({xmin:s.x-t.x,xmax:s.x+t.x,ymin:s.y-t.y,ymax:s.y+t.y,spatialReference:n.spatialReference});let r=[];if(null!=i){const e=i.variables[0];r=[],e.dimensions.forEach((t=>{r.push(new oe.A({variableName:e.name,dimensionName:t.name,values:t.hasRegularIntervals?t.extent?.[0]:t.values?.[0],isSlice:!0}))}))}const{coverageDescription:l}=this.coverageInfo,c={interpolation:"nearest",multidimensionalDefinition:r,signal:e},{version:u}=l,{ioConfig:d}=this,m="2.0"===u&&null==d.allowAnyMediaType||"1.1"===u&&null==d.use2GridOffsets;let f;try{f=await this._getCoverage(o,2,2,1,c,!0)}catch(e){if(!m)throw e;if("1.1"===u){if(!e.details?.isResolutionMismatch)throw e;d.use2GridOffsets=!0}}if(!f&&m&&("2.0"===u&&(d.allowAnyMediaType=!0),f=await this._getCoverage(o,2,2,1,c),f&&p.A.getLogger(this).warn("wcsraster:getcoverage",fe)),!f)throw new a.A("wcsraster-open","unable to determine pixel type");const g=await this.decodePixelBlock(f,{width:2,height:2,planes:null,pixelType:null});if(null==g)throw new a.A("wcsraster-open","unable to determine pixel type");return{pixelType:g.pixelType,bandCount:g.getPlaneCount()??0}}async _getCoverage(e,t,n,i,s,o=!1){const{coverageDescription:r}=this.coverageInfo,{version:l}=r,c="2.0"===l?this._getCoverage201Parameters(e,t,n,i,s,r):"1.1"===l?this._getCoverage110Parameters(e,t,n,s,r):this._getCoverage100Parameters(e,t,n,s),u="2.0"===l?await this.request(this._constructWCS201Url(c),{signal:s.signal,responseType:"array-buffer"}):await this.request(this.url,{query:c,signal:s.signal,responseType:"array-buffer"});if("1.0"===l)return u.data;if("2.0"===l&&!1!==this.ioConfig.allowAnyMediaType&&"tiff"===(0,ue.g)(u.data))return o&&(this.ioConfig.allowAnyMediaType=!0,p.A.getLogger(this).warn("wcsraster:getcoverage",fe)),u.data;const d=re(u);if(d.isMultipart&&d.data){const e=d.data.find((e=>e.isValidImage));return o&&"base64"===e?.contentTransferEncoding&&p.A.getLogger(this).warn("wcsraster:getcoverage","response is base64 encoded which may impact layer display performance"),e?.contentData}const m=new Uint8Array(u.data,0,Math.min(u.data.byteLength,2e3)),f=String.fromCharCode.apply(null,m).toLowerCase().includes("exception"),g=f&&String.fromCharCode.apply(null,m).includes("A non-zero RESX/RESY or WIDTH/HEIGHT is required but neither was provided");if(f)throw new a.A("wcsraster:getcoverage","server returns an exception",{isResolutionMismatch:g});throw new a.A("wcsraster:getcoverage","response is not a supported multipart mediaType with inline tiff")}_getInterpolationIndex(e){return e&&this.coverageInfo.supportedInterpolations?.includes(e)?"nearest"===e?0:"bilinear"===e?1:"cubic"===e?2:0:0}_getCoverage100Parameters(e,t,n,i){const s=`${e.xmin},${e.ymin},${e.xmax},${e.ymax}`,o=e.spatialReference.wkid,a=(this.coverageInfo.supportedFormats||[]).find((e=>e.toLowerCase().includes("tiff")))||"GEOTIFF",{bandIds:r,interpolation:l}=i,c=this._getInterpolationIndex(l),u=r?r.map((e=>this.coverageInfo.bandNames[e])):null,p=de[c],{multidimensionalDefinition:d}=i;let m;if(null!=d&&null!=this.rasterInfo.multidimensionalInfo){const e=d.find((e=>"StdTime"===e.dimensionName));let t=e?.values;t&&t.length>0&&(Array.isArray(t[0])&&(t=t[0]),m=t.map((e=>ve(e))).join(","))}return{service:"WCS",request:"GetCoverage",version:this.version,coverage:this.coverageId,format:a,crs:`EPSG:${o}`,bbox:s,width:t,height:n,time:m,interpolation:p,band:u?.join(",")}}_getCoverage110Parameters(e,t,n,i,s){const{multidimensionalDefinition:o,bandIds:a,interpolation:r}=i,l=e.spatialReference.wkid,c=`urn:ogc:def:crs:EPSG::${l}`,u=(this.coverageInfo.supportedFormats||[]).find((e=>e.toLowerCase().includes("tiff")))||"image/tiff",p=this._getInterpolationIndex(r),d=me[p],m=null==r||0===this.coverageInfo.supportedInterpolations?.indexOf(r),f=s.domain.spatialDomain,g=f.origin.x<=f.envelope.xmin&&f.origin.y<=f.envelope.ymin,h=e.width/t,v=e.height/n*(g?1:-1),y=g?[e.xmin,e.ymin]:[e.xmin,e.ymax],b=f.useEPSGAxis&&(0,T.m)(l),w=b?`${y[1]},${y[0]}`:`${y[0]},${y[1]}`,x=this.ioConfig.use2GridOffsets,C=b?x?`${v},${h}`:`${v},0,0,${h}`:x?`${h},${v}`:`${h},0,0,${v}`,I=h/2,S=e.xmin+I,A=e.xmax-I,D=Math.abs(v)/2,L=e.ymin+D,V=e.ymax-D,M=b?`${L},${S},${V},${A},${c}`:`${S},${L},${A},${V},${c}`,N=s.range.find((e=>e.axis.some((e=>e.identifier.toLowerCase().includes("band")))));let R,P=N&&d&&a?m?`${N.identifier}[${N.axis[0].identifier}[${a.join(",")}]]`:`${N.identifier}:${d}[${N.axis[0].identifier}[${a.join(",")}]]`:null;if(null!=o&&o.length)for(let e=0;e<o.length;e++){let t=o[e].values;const n=o[e].dimensionName?.toLowerCase(),i=o[e].variableName?.toLowerCase(),a=s.range.find((e=>e.identifier.toLowerCase()===i));if(t.length>0)if(Array.isArray(t[0])&&(t=t[0]),"stdtime"===n)R=t.map((e=>ve(e))).join(",");else if(a){const e=a.axis.find((e=>e.identifier.toLowerCase()===n));e&&(P=m?a.identifier+"["+e.identifier+"["+t.join(",")+"]]":a.identifier+":"+d+"["+e.identifier+"["+t.join(",")+"]]")}e===o.length-1&&a&&!P&&(P=m?a.identifier:a.identifier+":"+d)}return{service:"WCS",request:"GetCoverage",version:this.version,identifier:this.coverageId,format:u,crs:`EPSG:${l}`,boundingbox:M,gridCS:"urn:ogc:def:cs:OGC:0.0:Grid2dSquareCS",gridType:"urn:ogc:def:method:WCS:1.1:2dGridIn2dCrs",gridOrigin:w,gridOffsets:C,gridBaseCRS:c,timeSequence:R,rangeSubset:P}}_getCoverage201Parameters(e,t,n,i,s,o){const{multidimensionalDefinition:a,interpolation:r}=s,l=this._getInterpolationIndex(r);let c=null;const{supportedInterpolations:u}=this.capabilities;if(u?.length)switch(l){case 0:c=u.find((e=>e.toLowerCase().includes("nearest")));break;case 1:c=u.find((e=>e.toLowerCase().includes("linear")));break;case 2:c=u.find((e=>e.toLowerCase().includes("cubic")||e.toLowerCase().includes("quadratic")))}const p=(this.coverageInfo.supportedFormats||[]).find((e=>e.toLowerCase().includes("tiff")))||"image/tiff",{bandNames:d}=this.coverageInfo,{boundedBy:m,domainSet:f,rangeType:g}=o,h=m.isEastFirst?0:1,v=1-h,{axisLabels:y}=m,b=y[h],w=y[v],x=`http://www.opengis.net/def/crs/EPSG/0/${e.spatialReference.wkid}`,C=x,I=[];I.push(`${b}(${e.xmin},${e.xmax})`),I.push(`${w}(${e.ymin},${e.ymax})`);const S=[];if(y.length>2)for(let e=2;e<y.length;e++){const t=f.origin[e];if(y[e].toLowerCase().includes("time")){let n=t.toString();m.uomLabels?.[e].toLowerCase().includes("ole")&&(S.push(y[e]),n=ve(t,!0)),I.push(y[e]+",http://www.opengis.net("+n+")")}else I.push(y[e]+",http://www.opengis.net("+t+")")}let A=null;if(null!=a&&a.length){const e=[];g.forEach((t=>t.forEach((t=>e.push(t.name)))));const t=[];for(let n=0;n<a.length;n++){const i=y.find((e=>e===a[n].dimensionName)),s=e.find((e=>e===a[n].variableName));if(t.includes(s)||t.push(s),i){let e=a[n].values;if(e.length>0){Array.isArray(e[0])&&(e=e[0]);let t="";t=i.toLowerCase().includes("time")?e.map((e=>ve(e))).join(","):e.join(",");const n=I.findIndex((e=>0===e.indexOf(i+",http://www.opengis.net")));-1===n&&I.push(i+",http://www.opengis.net("+t+")"),-1===n||I[n].includes("("+t+")")||I.splice(n,1,i+",http://www.opengis.net("+t+")")}}}t.length&&(A=t.join(","))}else d?.length>=2&&(A=(s.bandIds?s.bandIds.map((e=>d[e])):d).join(","));const D=I.join("&subset="),T=!o.domainSet.hasSameAxisLabelsAsBoundedBy&&!1!==this.ioConfig.allowScaleFactor,L=T?null:`${b}(${t}),${w}(${n})`,V=T?1/i:null;return{service:"WCS",request:"GetCoverage",version:this.version,coverageId:this.coverageId,rangesubset:A,interpolation:c,scaleSize:L,scaleFactor:V,subset:D,format:p,mediaType:this.ioConfig.allowAnyMediaType?null:"multipart/related",outputcrs:x,subsettingcrs:C}}_constructWCS201Url(e){const t={...this.ioConfig.customFetchParameters,...e},n=[];return Object.keys(t).forEach((e=>{const i=t[e];null!=i&&("subset"===e?"string"==typeof i&&i.split("&subset=").forEach((e=>{e&&n.push(`subset=${encodeURIComponent(e)}`)})):n.push(`${e}=${encodeURIComponent(i)}`))})),`${encodeURI(this.url)}?${n.join("&")}`}};function ve(e,t=!1){return(t?new Date((0,_.$E)(e)):new Date(e)).toISOString()}(0,i._)([(0,u.MZ)({type:String,json:{write:!0}})],he.prototype,"datasetFormat",void 0),(0,i._)([(0,u.MZ)({readOnly:!0})],he.prototype,"tileType",void 0),(0,i._)([(0,u.MZ)({type:String,json:{write:!0}})],he.prototype,"version",void 0),(0,i._)([(0,u.MZ)({type:String,json:{write:!0}})],he.prototype,"coverageId",void 0),(0,i._)([(0,u.MZ)({readOnly:!0})],he.prototype,"rasterId",null),he=(0,i._)([(0,d.$)("esri.layers.support.rasterDatasets.WCSRaster")],he);const ye=he;var be=n(30291),we=n(92935);const xe=new Set(["milliseconds","seconds","minutes","hours","days","weeks","months","years","decades","centuries"]);let Ce=class extends((0,f.dM)((0,x.j)((0,v.q)((0,y.A)((0,g.d)((0,h.o)((0,b.G)((0,C.e)((0,w.J)((0,r.P)(o.A.ClonableMixin(m.A)))))))))))){constructor(...e){super(...e),this.coverageId=null,this.version=null,this.isReference=null,this.legendEnabled=!0,this.noData=0,this.operationalLayerType="WCS",this.type="wcs",this.popupEnabled=!0,this.popupTemplate=null,this.fields=null,this._debouncedSaveOperations=(0,l.sg)((async(e,t,i)=>{const{save:s,saveAs:o}=await n.e(9838).then(n.bind(n,59838));switch(e){case we.X.SAVE:return s(this,t);case we.X.SAVE_AS:return o(this,i,t)}}))}normalizeCtorArgs(e,t){return"string"==typeof e?{url:e,...t}:e}load(e){const t=null!=e?e.signal:null;return this.addResolvingPromise(this.loadFromPortal({supportedTypes:["WCS"]},e).catch(l.QP).then((()=>this._openRaster(t)))),Promise.resolve(this)}get coverageInfo(){return this.raster.coverageInfo}get defaultPopupTemplate(){return this.createPopupTemplate()}get rasterFields(){const e=[(0,A.rZ)("Pixel Value")],t=this.raster?.rasterInfo??this.serviceRasterInfo,n=t?.multidimensionalInfo;if(n){const t=(0,A.AL)(n);e.push(...t)}return e}createPopupTemplate(e){return(0,be.tn)({fields:this.rasterFields,title:this.title},e)}async save(e){return this._debouncedSaveOperations(we.X.SAVE,e)}async saveAs(e,t){return this._debouncedSaveOperations(we.X.SAVE_AS,t,e)}async _openRaster(e){const t=new ye({url:this.url,version:this.version,coverageId:this.coverageId,ioConfig:{sampling:"closest",...this.ioConfig,customFetchParameters:this.customParameters}});if(await t.open({signal:e}),!t.rasterInfo)throw t.destroy(),new a.A("wcs-layer:load","cannot load resources on "+this.url);const{rasterInfo:n}=t;null==n.noDataValue&&(n.noDataValue=this.noData),this._set("serviceRasterInfo",n),this._set("spatialReference",n.spatialReference),null==this.title&&this.setAtOrigin("title",t.datasetName,"service"),null==this.coverageId&&this.setAtOrigin("coverageId",t.coverageInfo.id,"service"),null==this.version&&t.version&&this.setAtOrigin("version",t.version,"service"),this.setAtOrigin("tileInfo",t.rasterInfo.storageInfo.tileInfo,"service");const{multidimensionalInfo:i}=n;if(null!=i){const e=i.variables[0].dimensions.find((({name:e})=>"StdTime"===e));if(e){let t=e.extent?.[0]??e.values[0];Array.isArray(t)&&(t=t[0]);let n=e.extent?.[1]??e.values[e.values.length-1];Array.isArray(n)&&(n=n[1]);const i=xe.has(e.intervalUnit?.toLowerCase())?e.intervalUnit?.toLowerCase():null;this.set("timeInfo",{startField:"StdTime",fullTimeExtent:{start:t,end:n},timeZone:null,interval:i?{value:e.interval,unit:i}:null})}}this.raster=t,this._configDefaultSettings(),this.addHandles((0,c.wB)((()=>this.customParameters),(e=>this.raster.ioConfig.customFetchParameters=e)))}};(0,i._)([(0,u.MZ)({type:String,nonNullable:!0,json:{name:"wcsInfo.coverageId",write:{isRequired:!0,ignoreOrigin:!0}}})],Ce.prototype,"coverageId",void 0),(0,i._)([(0,u.MZ)()],Ce.prototype,"coverageInfo",null),(0,i._)([(0,u.MZ)({type:["1.0.0","1.1.0","1.1.1","1.1.2","2.0.1"],nonNullable:!0,json:{name:"wcsInfo.version",write:{isRequired:!0,ignoreOrigin:!0}}})],Ce.prototype,"version",void 0),(0,i._)([(0,u.MZ)({type:Boolean,json:{read:!1,write:{enabled:!0,overridePolicy:()=>({enabled:!1})}}})],Ce.prototype,"isReference",void 0),(0,i._)([(0,u.MZ)({json:{read:!0,write:!0}})],Ce.prototype,"blendMode",void 0),(0,i._)([(0,u.MZ)(I.fV)],Ce.prototype,"legendEnabled",void 0),(0,i._)([(0,u.MZ)({type:["show","hide"]})],Ce.prototype,"listMode",void 0),(0,i._)([(0,u.MZ)()],Ce.prototype,"noData",void 0),(0,i._)([(0,u.MZ)({type:["WCS"]})],Ce.prototype,"operationalLayerType",void 0),(0,i._)([(0,u.MZ)()],Ce.prototype,"raster",void 0),(0,i._)([(0,u.MZ)({readOnly:!0})],Ce.prototype,"type",void 0),(0,i._)([(0,u.MZ)(I.M6)],Ce.prototype,"popupEnabled",void 0),(0,i._)([(0,u.MZ)({type:s.A,json:{name:"popupInfo",write:!0}})],Ce.prototype,"popupTemplate",void 0),(0,i._)([(0,u.MZ)({readOnly:!0})],Ce.prototype,"defaultPopupTemplate",null),(0,i._)([(0,u.MZ)({readOnly:!0,type:[S.A]})],Ce.prototype,"fields",void 0),(0,i._)([(0,u.MZ)({readOnly:!0,type:[S.A]})],Ce.prototype,"rasterFields",null),Ce=(0,i._)([(0,d.$)("esri.layers.WCSLayer")],Ce);const Ie=Ce},38458:(e,t,n)=>{n.d(t,{m:()=>s});const i=[[3819,3819],[3821,3824],[3889,3889],[3906,3906],[4001,4025],[4027,4036],[4039,4047],[4052,4055],[4074,4075],[4080,4081],[4120,4176],[4178,4185],[4188,4216],[4218,4289],[4291,4304],[4306,4319],[4322,4326],[4463,4463],[4470,4470],[4475,4475],[4483,4483],[4490,4490],[4555,4558],[4600,4646],[4657,4765],[4801,4811],[4813,4821],[4823,4824],[4901,4904],[5013,5013],[5132,5132],[5228,5229],[5233,5233],[5246,5246],[5252,5252],[5264,5264],[5324,5340],[5354,5354],[5360,5360],[5365,5365],[5370,5373],[5381,5381],[5393,5393],[5451,5451],[5464,5464],[5467,5467],[5489,5489],[5524,5524],[5527,5527],[5546,5546],[2044,2045],[2081,2083],[2085,2086],[2093,2093],[2096,2098],[2105,2132],[2169,2170],[2176,2180],[2193,2193],[2200,2200],[2206,2212],[2319,2319],[2320,2462],[2523,2549],[2551,2735],[2738,2758],[2935,2941],[2953,2953],[3006,3030],[3034,3035],[3038,3051],[3058,3059],[3068,3068],[3114,3118],[3126,3138],[3150,3151],[3300,3301],[3328,3335],[3346,3346],[3350,3352],[3366,3366],[3389,3390],[3416,3417],[3833,3841],[3844,3850],[3854,3854],[3873,3885],[3907,3910],[4026,4026],[4037,4038],[4417,4417],[4434,4434],[4491,4554],[4839,4839],[5048,5048],[5105,5130],[5253,5259],[5269,5275],[5343,5349],[5479,5482],[5518,5519],[5520,5520],[20004,20032],[20064,20092],[21413,21423],[21473,21483],[21896,21899],[22171,22177],[22181,22187],[22191,22197],[25884,25884],[27205,27232],[27391,27398],[27492,27492],[28402,28432],[28462,28492],[30161,30179],[30800,30800],[31251,31259],[31275,31279],[31281,31290],[31466,31700]];function s(e){return null!=e&&i.some((([t,n])=>e>=t&&e<=n))}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[4111],{8303:(t,e,r)=>{r.d(e,{A:()=>C});var s=r(90237),o=r(92602),i=r(70333),n=r(78888),a=r(60999),p=r(49186),u=r(53966),l=r(97768),d=r(74887),c=r(84952),y=r(10107),h=(r(44208),r(87811),r(36005)),m=r(40608),g=r(43937),f=r(83531),v=r(20655),w=r(80812),F=r(41318),A=r(10407);const C=t=>{let e=class extends t{constructor(){super(...arguments),this.resourceReferences={portalItem:null,paths:[]},this.userHasEditingPrivileges=!0,this.userHasFullEditingPrivileges=!1,this.userHasUpdateItemPrivileges=!1}destroy(){this.portalItem=(0,l.pR)(this.portalItem),this.resourceReferences.portalItem=null,this.resourceReferences.paths.length=0}set portalItem(t){t!==this._get("portalItem")&&(this.removeOrigin("portal-item"),this._set("portalItem",t))}readPortalItem(t,e,r){if(e.itemId)return new w.default({id:e.itemId,portal:r?.portal})}writePortalItem(t,e){t?.id&&(e.itemId=t.id)}async loadFromPortal(t,e){if(this.portalItem?.id)try{const{load:s}=await r.e(1204).then(r.bind(r,41204));return(0,d.Te)(e),await s({instance:this,supportedTypes:t.supportedTypes,validateItem:t.validateItem,supportsData:t.supportsData,layerModuleTypeMap:t.layerModuleTypeMap,populateGroupLayer:t.populateGroupLayer},e)}catch(t){throw(0,d.zf)(t)||u.A.getLogger(this).warn(`Failed to load layer (${this.title}, ${this.id}) portal item (${this.portalItem.id})\n ${t}`),t}}async finishLoadEditablePortalLayer(t){this._set("userHasEditingPrivileges",await this._fetchUserHasEditingPrivileges(t).catch((t=>((0,d.QP)(t),!0))))}async setUserPrivileges(t,e){if(!o.A.userPrivilegesApplied)return this.finishLoadEditablePortalLayer(e);if(this.url)try{const{features:{edit:r,fullEdit:s},content:{updateItem:o}}=await this._fetchUserPrivileges(t,e);this._set("userHasEditingPrivileges",r),this._set("userHasFullEditingPrivileges",s),this._set("userHasUpdateItemPrivileges",o)}catch(t){(0,d.QP)(t)}}async _fetchUserPrivileges(t,e){let r=this.portalItem;if(!t||!r||!r.loaded||r.sourceUrl)return this._fetchFallbackUserPrivileges(e);const s=!i.id?.findCredential(this.url),o=t===r.id;if(o&&r.portal.user)return this._getUserPrivileges(r,s);let n,a;if(o)n=r.portal.url;else try{n=await(0,f.wI)(this.url,e)}catch(t){(0,d.QP)(t)}if(!n||!(0,c.b8)(n,r.portal.url))return this._fetchFallbackUserPrivileges(e);try{const t=null!=e?e.signal:null;a=await(i.id?.getCredential(`${n}/sharing`,{prompt:!1,signal:t}))}catch(t){(0,d.QP)(t)}const p=!0,u=!1,l=!1;if(!a)return{features:{edit:p,fullEdit:u},content:{updateItem:l}};try{if(o?await r.reload():(r=new w.default({id:t,portal:{url:n}}),await r.load(e)),r.portal.user)return this._getUserPrivileges(r,s)}catch(t){(0,d.QP)(t)}return{features:{edit:p,fullEdit:u},content:{updateItem:l}}}_getUserPrivileges(t,e){const r=(0,A.It)(t);return e&&(r.features.edit=!0),r}async _fetchFallbackUserPrivileges(t){let e=!0;try{e=await this._fetchUserHasEditingPrivileges(t)}catch(t){(0,d.QP)(t)}return{features:{edit:e,fullEdit:!1},content:{updateItem:!1}}}async _fetchUserHasEditingPrivileges(t){const e=this.url?i.id?.findCredential(this.url):null;if(!e)return!0;const r=I.credential===e?I.user:await this._fetchEditingUser(t);return I.credential=e,I.user=r,null==r?.privileges||r.privileges.includes("features:user:edit")}async _fetchEditingUser(t){const e=this.portalItem?.portal?.user;if(e)return e;const r=i.id?.findServerInfo(this.url??"");if(!r?.owningSystemUrl)return null;const s=`${r.owningSystemUrl}/sharing/rest`,o=v.A.getDefault();if(o&&o.loaded&&(0,c.S8)(o.restUrl)===(0,c.S8)(s))return o.user;const p=`${s}/community/self`,u=null!=t?t.signal:null,l=await(0,a.Ke)((0,n.A)(p,{authMode:"no-prompt",query:{f:"json"},signal:u}));return l.ok?F.A.fromJSON(l.value.data):null}read(t,e){e&&(e.layer=this),super.read(t,e)}write(t,e){const r=e?.portal,s=this.portalItem?.id&&(this.portalItem.portal||v.A.getDefault());return r&&s&&!(0,c.ut)(s.restUrl,r.restUrl)?(e.messages&&e.messages.push(new p.A("layer:cross-portal",`The layer '${this.title} (${this.id})' cannot be persisted because it refers to an item on a different portal than the one being saved to. To save, set layer.portalItem to null or save to the same portal as the item associated with the layer`,{layer:this})),null):super.write(t,{...e,layer:this})}};return(0,s._)([(0,y.MZ)({type:w.default})],e.prototype,"portalItem",null),(0,s._)([(0,h.w)("web-document","portalItem",["itemId"])],e.prototype,"readPortalItem",null),(0,s._)([(0,g.K)("web-document","portalItem",{itemId:{type:String}})],e.prototype,"writePortalItem",null),(0,s._)([(0,y.MZ)({clonable:!1})],e.prototype,"resourceReferences",void 0),(0,s._)([(0,y.MZ)({type:Boolean,readOnly:!0})],e.prototype,"userHasEditingPrivileges",void 0),(0,s._)([(0,y.MZ)({type:Boolean,readOnly:!0})],e.prototype,"userHasFullEditingPrivileges",void 0),(0,s._)([(0,y.MZ)({type:Boolean,readOnly:!0})],e.prototype,"userHasUpdateItemPrivileges",void 0),e=(0,s._)([(0,m.$)("esri.layers.mixins.PortalLayer")],e),e},I={credential:null,user:null}},18768:(t,e,r)=>{r.d(e,{b:()=>p});var s=r(90237),o=r(53966),i=r(10107),n=(r(44208),r(87811),r(40608)),a=r(60694);const p=t=>{let e=class extends t{get title(){if(this._get("title")&&"defaults"!==this.originOf("title"))return this._get("title");if(this.url){const t=(0,a.qg)(this.url);if(t?.title)return t.title}return this._get("title")||""}set title(t){this._set("title",t)}set url(t){this._set("url",(0,a.Jf)(t,o.A.getLogger(this)))}};return(0,s._)([(0,i.MZ)()],e.prototype,"title",null),(0,s._)([(0,i.MZ)({type:String})],e.prototype,"url",null),e=(0,s._)([(0,n.$)("esri.layers.mixins.ArcGISService")],e),e}},20557:(t,e,r)=>{r.d(e,{Fm:()=>p,Hz:()=>y,JQ:()=>c,JZ:()=>F,ND:()=>m,R_:()=>n,U9:()=>d,fu:()=>o,nr:()=>h,oF:()=>i,rq:()=>u,z$:()=>l});const s=[["binary","application/octet-stream","bin",""]];function o(t,e){return null!=f(e.name,t?.supportedFormats??[])}function i(t,e){if(!t)return!1;const r=u(e,t.supportedFormats??[]);return null!=r&&t.editFormats.includes(r)}function n(t,e){return v(function(t,e){const r=t.toLowerCase();return g(e).find((t=>w(t)===r))}(t,e))}function a(t,e){return v(f(t,e))}function p(t,e){return w(function(t,e){return g(e).find((e=>v(e)===t))}(t,e))}function u(t,e){return a(t.name,e)??n(t.type,e)}function l(t,e,r){return n(t,r)??a(e,r)}function d({supportedFormats:t}){return l("model/gltf-binary","glb",t)}function c(t){const e=d(t);return null!=e&&t.editFormats.includes(e)}function y(t){if(!t)return null;const e=d(t),r=function({supportedFormats:t}){return l("model/gltf+json","gltf",t)}(t);let s=null;for(const o of t.queryFormats){if(o===e)return o;o===r&&(s=o)}return s}function h({supportedFormats:t}){return l("application/esri3do-SR_world","wld",t)}function m({supportedFormats:t}){return l("application/esri3do-SR_prj","prj",t)}function g(t){return[...s,...t]}function f(t,e){const r=t.toLowerCase();return g(e).find((t=>function(t){return t?.[2].split(",").map((t=>t.toLowerCase()))??[]}(t).some((t=>r.endsWith(t)))))}function v(t){return t?.[0]}function w(t){return t?.[1].toLowerCase()}function F(t){return t.tables?.find((t=>"assetMaps"===t.role))}},22453:(t,e,r)=>{r.d(e,{S:()=>h,d:()=>T});var s=r(44208),o=r(60694),i=r(20557);function n(t,e,r){return!!p(t,e,r)}function a(t,e,r){return p(t,e,r)}function p(t,e,r){return t&&t.hasOwnProperty(e)?t[e]:r}const u={name:"supportsName",size:"supportsSize",contentType:"supportsContentType",keywords:"supportsKeywords",exifInfo:"supportsExifInfo"};function l(t){const e=t?.supportedSpatialAggregationStatistics?.map((t=>t.toLowerCase()));return{envelope:!!e?.includes("envelopeaggregate"),centroid:!!e?.includes("centroidaggregate"),convexHull:!!e?.includes("convexhullaggregate")}}function d(t,e){const r=t?.supportedOperationsWithCacheHint?.map((t=>t.toLowerCase()));return!!r?.includes(e.toLowerCase())}function c(t){const e=t?.supportedStatisticTypes?.map((t=>t.toLowerCase()));return{count:!!e?.includes("count"),sum:!!e?.includes("sum"),min:!!e?.includes("min"),max:!!e?.includes("max"),avg:!!e?.includes("avg"),var:!!e?.includes("var"),stddev:!!e?.includes("stddev"),percentileContinuous:!!e?.includes("percentile_continuous"),percentileDiscrete:!!e?.includes("percentile_discrete"),envelope:!!e?.includes("envelopeaggregate"),centroid:!!e?.includes("centroidaggregate"),convexHull:!!e?.includes("convexhullaggregate")}}function y(t){const e=t?.supportedNormalizationTypes?.map((t=>t.toLowerCase()));return{field:!!e?.includes("field"),log:!!e?.includes("log"),naturalLog:!!e?.includes("naturallog"),percentOfTotal:!!e?.includes("percentoftotal"),squareRoot:!!e?.includes("squareroot")}}function h(t,e){return{analytics:m(t),attachment:g(t),data:f(t),metadata:v(t),operations:w(t.capabilities,t,e),query:F(t,e),queryAttributeBins:I(t),queryRelated:A(t),queryTopFeatures:C(t),editing:_(t)}}function m(t){return{supportsCacheHint:d(t.advancedQueryCapabilities,"queryAnalytics")}}function g(t){const e=t.attachmentProperties,r={supportsName:!1,supportsSize:!1,supportsContentType:!1,supportsKeywords:!1,supportsExifInfo:!1,supportsCacheHint:d(t.advancedQueryCapabilities,"queryAttachments"),supportsOrderByFields:n(t.advancedQueryCapabilities,"supportsQueryAttachmentOrderByFields",!1),supportsResize:n(t,"supportsAttachmentsResizing",!1)};return e&&Array.isArray(e)&&e.forEach((t=>{const e=u[t.name];e&&(r[e]=!!t.isEnabled)})),r}function f(t){return{isVersioned:n(t,"isDataVersioned",!1),isBranchVersioned:n(t,"isDataBranchVersioned",!1),supportsAttachment:n(t,"hasAttachments",!1),supportsM:n(t,"hasM",!1),supportsZ:n(t,"hasZ",!1)}}function v(t){return{supportsAdvancedFieldProperties:n(t,"supportsFieldDescriptionProperty",!1)}}function w(t,e,r){const s=t?.toLowerCase().split(",").map((t=>t.trim()))??[],i=r?(0,o.qg)(r):null,a=s.includes("MapServer"===i?.serverType?"data":"query"),p=s.includes("editing")&&!e.datesInUnknownTimezone;let u=p&&s.includes("create"),l=p&&s.includes("delete"),d=p&&s.includes("update");const c=s.includes("changetracking"),y=e.advancedQueryCapabilities;return p&&!(u||l||d)&&(u=l=d=!0),{supportsCalculate:n(e,"supportsCalculate",!1),supportsTruncate:n(e,"supportsTruncate",!1),supportsValidateSql:n(e,"supportsValidateSql",!1),supportsAdd:u,supportsDelete:l,supportsEditing:p,supportsChangeTracking:c,supportsQuery:a,supportsQueryAnalytics:n(y,"supportsQueryAnalytic",!1),supportsQueryAttachments:n(y,"supportsQueryAttachments",!1),supportsQueryBins:n(y,"supportsQueryBins",!1),supportsQueryTopFeatures:n(y,"supportsTopFeaturesQuery",!1),supportsResizeAttachments:n(e,"supportsAttachmentsResizing",!1),supportsSync:s.includes("sync"),supportsUpdate:d,supportsExceedsLimitStatistics:n(e,"supportsExceedsLimitStatistics",!1),supportsAsyncConvert3D:n(e,"supportsAsyncConvert3D",!1)}}function F(t,e){const r=t.advancedQueryCapabilities,p=t.ownershipBasedAccessControlForFeatures,u=t.archivingInfo,c=t.currentVersion,y=e?.includes("MapServer"),h=!y||c>=(0,s.A)("mapserver-pbf-version-support"),m=(0,o.Wo)(e),g=new Set((t.supportedQueryFormats??"").split(",").map((t=>t.toLowerCase().trim())));return{maxRecordCount:a(t,"maxRecordCount",void 0),maxRecordCountFactor:a(t,"maxRecordCountFactor",void 0),maxUniqueIDCount:a(t,"maxUniqueIDCount",void 0),standardMaxRecordCount:a(t,"standardMaxRecordCount",void 0),supportedSpatialAggregationStatistics:l(r),supportsCacheHint:n(r,"supportsQueryWithCacheHint",!1)||d(r,"query"),supportsCentroid:n(r,"supportsReturningGeometryCentroid",!1),supportsCompactGeometry:m,supportsCurrentUser:n(r,"supportsCurrentUserQueries",!1),supportsDefaultSpatialReference:n(r,"supportsDefaultSR",!1),supportsDisjointSpatialRelationship:n(r,"supportsDisjointSpatialRel",!1),supportsDistance:n(r,"supportsQueryWithDistance",!1),supportsDistinct:n(r,"supportsDistinct",t.supportsAdvancedQueries),supportsExtent:n(r,"supportsReturningQueryExtent",!1),supportsFormatPBF:h&&g.has("pbf"),supportsFullTextSearch:n(r,"supportsFullTextSearch",!1),supportsGeometryProperties:n(r,"supportsReturningGeometryProperties",!1),supportsHavingClause:n(r,"supportsHavingClause",!1),supportsHistoricMoment:n(u,"supportsQueryWithHistoricMoment",!1),supportsMaxRecordCountFactor:n(r,"supportsMaxRecordCountFactor",!1),supportsOrderBy:n(r,"supportsOrderBy",t.supportsAdvancedQueries),supportsPagination:n(r,"supportsPagination",!1),supportsPercentileStatistics:n(r,"supportsPercentileStatistics",!1),supportsQuantization:n(t,"supportsCoordinatesQuantization",!1),supportsQuantizationEditMode:n(t,"supportsQuantizationEditMode",!1),supportsQueryByAnonymous:n(p,"allowAnonymousToQuery",!0),supportsQueryByOthers:n(p,"allowOthersToQuery",!0),supportsQueryGeometry:n(t,"supportsReturningQueryGeometry",!1),supportsResultType:n(r,"supportsQueryWithResultType",!1),supportsReturnMesh:!!(0,i.Hz)(t.infoFor3D),supportsSpatialAggregationStatistics:n(r,"supportsSpatialAggregationStatistics",!1),supportsSqlExpression:n(r,"supportsSqlExpression",!1),supportsStandardizedQueriesOnly:n(t,"useStandardizedQueries",!1),supportsStatistics:n(r,"supportsStatistics",t.supportsStatistics),supportsTopFeaturesQuery:n(r,"supportsTopFeaturesQuery",!1),supportsTrueCurve:n(r,"supportsTrueCurve",!1),tileMaxRecordCount:a(t,"tileMaxRecordCount",void 0)}}function A(t){const e=t.advancedQueryCapabilities,r=n(e,"supportsAdvancedQueryRelated",!1);return{supportsPagination:n(e,"supportsQueryRelatedPagination",!1),supportsCount:r,supportsOrderBy:r,supportsCacheHint:d(e,"queryRelated")}}function C(t){return{supportsCacheHint:d(t.advancedQueryCapabilities,"queryTopFilter")}}function I(t){const e=t?t.queryBinsCapabilities:void 0;return{supportsDate:n(e,"supportsDateBin",!1),supportsFixedInterval:n(e,"supportsFixedIntervalBin",!1),supportsAutoInterval:n(e,"supportsAutoIntervalBin",!1),supportsFixedBoundaries:n(e,"supportsFixedBoundariesBin",!1),supportsStackBy:n(e,"supportsStackBy",!1),supportsSplitBy:n(e,"supportsSplitBy",!1),supportsSnapToData:n(e,"supportsSnapToData",!1),supportsReturnFullIntervalBin:n(e,"supportsReturnFullIntervalBin",!1),supportsFirstDayOfWeek:n(e,"supportsFirstDayOfWeek",!1),supportsNormalization:n(e,"supportsNormalization",!1),supportedStatistics:c(e),supportedNormalizationTypes:y(e)}}function _(t){const e=t.ownershipBasedAccessControlForFeatures,r=t?t.advancedEditingCapabilities:void 0;return{supportsGeometryUpdate:n(t,"allowGeometryUpdates",!0),supportsGlobalId:n(t,"supportsApplyEditsWithGlobalIds",!1),supportsReturnServiceEditsInSourceSpatialReference:n(t,"supportsReturnServiceEditsInSourceSR",!1),supportsRollbackOnFailure:n(t,"supportsRollbackOnFailureParameter",!1),supportsUpdateWithoutM:n(t,"allowUpdateWithoutMValues",!1),supportsUploadWithItemId:n(t,"supportsAttachmentsByUploadId",!1),supportsDeleteByAnonymous:n(e,"allowAnonymousToDelete",!0),supportsDeleteByOthers:n(e,"allowOthersToDelete",!0),supportsUpdateByAnonymous:n(e,"allowAnonymousToUpdate",!0),supportsUpdateByOthers:n(e,"allowOthersToUpdate",!0),supportsAsyncApplyEdits:n(r,"supportsAsyncApplyEdits",!1),zDefault:a(t,"zDefault",void 0)}}function T(t){return{operations:{supportsAppend:n(t,"supportsAppend",!1),supportsCoverageQuery:t?.playbackInfo?.klv["0601"]??!1,supportsExportClip:n(t,"supportsExportClip",!1),supportsExportFrameset:n(t,"supportsExportFrameset",!1),supportsMensuration:n(t,"supportsMensuration",!1),supportsUpdate:n(t,"supportsUpdate",!1)}}}},29005:(t,e,r)=>{r.d(e,{A:()=>d});var s=r(90237),o=r(69540),i=r(66552),n=r(25482),a=r(10107),p=(r(44208),r(53966),r(87811),r(40608));const u=new i.J({esriFeatureEditToolAutoCompletePolygon:"auto-complete-polygon",esriFeatureEditToolCircle:"circle",esriFeatureEditToolEllipse:"ellipse",esriFeatureEditToolFreehand:"freehand",esriFeatureEditToolLine:"line",esriFeatureEditToolNone:"none",esriFeatureEditToolPoint:"point",esriFeatureEditToolPolygon:"polygon",esriFeatureEditToolRectangle:"rectangle",esriFeatureEditToolArrow:"arrow",esriFeatureEditToolTriangle:"triangle",esriFeatureEditToolLeftArrow:"left-arrow",esriFeatureEditToolRightArrow:"right-arrow",esriFeatureEditToolUpArrow:"up-arrow",esriFeatureEditToolDownArrow:"down-arrow"});let l=class extends(o.A.ClonableMixin(n.A)){constructor(t){super(t),this.name=null,this.description=null,this.drawingTool=null,this.prototype=null,this.thumbnail=null}};(0,s._)([(0,a.MZ)({json:{write:!0}})],l.prototype,"name",void 0),(0,s._)([(0,a.MZ)({json:{write:!0}})],l.prototype,"description",void 0),(0,s._)([(0,a.MZ)({json:{read:u.read,write:u.write}})],l.prototype,"drawingTool",void 0),(0,s._)([(0,a.MZ)({json:{write:!0}})],l.prototype,"prototype",void 0),(0,s._)([(0,a.MZ)({json:{write:!0}})],l.prototype,"thumbnail",void 0),l=(0,s._)([(0,p.$)("esri.layers.support.FeatureTemplate")],l);const d=l},37352:(t,e,r)=>{r.d(e,{A:()=>l});var s,o=r(90237),i=r(5503),n=r(25482),a=r(10107),p=(r(44208),r(53966),r(87811),r(40608));let u=s=class extends n.A{constructor(t){super(t),this.floorField=null,this.viewAllMode=!1,this.viewAllLevelIds=new i.A}clone(){return new s({floorField:this.floorField,viewAllMode:this.viewAllMode,viewAllLevelIds:this.viewAllLevelIds})}};(0,o._)([(0,a.MZ)({type:String,json:{write:{isRequired:!0}}})],u.prototype,"floorField",void 0),(0,o._)([(0,a.MZ)({json:{read:!1,write:!1}})],u.prototype,"viewAllMode",void 0),(0,o._)([(0,a.MZ)({json:{read:!1,write:!1}})],u.prototype,"viewAllLevelIds",void 0),u=s=(0,o._)([(0,p.$)("esri.layers.support.LayerFloorInfo")],u);const l=u},45067:(t,e,r)=>{r.d(e,{A:()=>c});var s=r(90237),o=r(69540),i=r(66552),n=r(25482),a=r(10107),p=(r(44208),r(53966),r(87811),r(40608));const u=new i.J({esriRelCardinalityOneToOne:"one-to-one",esriRelCardinalityOneToMany:"one-to-many",esriRelCardinalityManyToMany:"many-to-many"}),l=new i.J({esriRelRoleOrigin:"origin",esriRelRoleDestination:"destination"});let d=class extends(o.A.ClonableMixin(n.A)){constructor(t){super(t),this.cardinality=null,this.catalogId=null,this.composite=null,this.id=null,this.keyField=null,this.keyFieldInRelationshipTable=null,this.name=null,this.relatedTableId=null,this.relationshipTableId=null,this.role=null}};(0,s._)([(0,a.MZ)({json:{read:u.read,write:u.write}})],d.prototype,"cardinality",void 0),(0,s._)([(0,a.MZ)({json:{name:"catalogID"}})],d.prototype,"catalogId",void 0),(0,s._)([(0,a.MZ)({json:{read:!0,write:!0}})],d.prototype,"composite",void 0),(0,s._)([(0,a.MZ)({json:{read:!0,write:!0}})],d.prototype,"id",void 0),(0,s._)([(0,a.MZ)({json:{read:!0,write:!0}})],d.prototype,"keyField",void 0),(0,s._)([(0,a.MZ)({json:{read:!0,write:!0}})],d.prototype,"keyFieldInRelationshipTable",void 0),(0,s._)([(0,a.MZ)({json:{read:!0,write:!0}})],d.prototype,"name",void 0),(0,s._)([(0,a.MZ)({json:{read:!0,write:!0}})],d.prototype,"relatedTableId",void 0),(0,s._)([(0,a.MZ)({json:{read:!0,write:!0}})],d.prototype,"relationshipTableId",void 0),(0,s._)([(0,a.MZ)({json:{read:l.read,write:l.write}})],d.prototype,"role",void 0),d=(0,s._)([(0,p.$)("esri.layers.support.Relationship")],d);const c=d},52136:(t,e,r)=>{r.d(e,{p:()=>n});var s=r(90237),o=r(10107),i=(r(44208),r(53966),r(87811),r(40608));const n=t=>{let e=class extends t{get apiKey(){return this._isOverridden("apiKey")?this._get("apiKey"):"portalItem"in this?this.portalItem?.apiKey:null}set apiKey(t){null!=t?this._override("apiKey",t):(this._clearOverride("apiKey"),this.clear("apiKey","user"))}};return(0,s._)([(0,o.MZ)({type:String})],e.prototype,"apiKey",null),e=(0,s._)([(0,i.$)("esri.layers.mixins.APIKeyMixin")],e),e}},69208:(t,e,r)=>{r.d(e,{d:()=>n});var s=r(90237),o=r(10107),i=(r(44208),r(53966),r(87811),r(40608));const n=t=>{let e=class extends t{constructor(){super(...arguments),this.customParameters=null}};return(0,s._)([(0,o.MZ)({type:Object,json:{write:{overridePolicy:t=>({enabled:!!(t&&Object.keys(t).length>0)})}}})],e.prototype,"customParameters",void 0),e=(0,s._)([(0,i.$)("esri.layers.mixins.CustomParametersMixin")],e),e}}}]);
@@ -1 +1 @@
1
- "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[7455],{34304:(t,n,a)=>{a.d(n,{DF:()=>c,FD:()=>o,Ov:()=>e,ct:()=>i});let r=1e-6;function o(){return r}const e=Math.random,u=Math.PI/180,s=180/Math.PI;function c(t){return t*u}function i(t){return t*s}Object.freeze(Object.defineProperty({__proto__:null,RANDOM:e,equals:function(t,n){return Math.abs(t-n)<=r*Math.max(1,Math.abs(t),Math.abs(n))},getEpsilon:o,setEpsilon:function(t){r=t},toDegree:i,toRadian:c},Symbol.toStringTag,{value:"Module"}))},51850:(t,n,a)=>{function r(){return[0,0,0]}function o(t){return[t[0],t[1],t[2]]}function e(t,n,a){return[t,n,a]}function u(t,n,a){return[t,n,a]}function s(t,n=[0,0,0]){const a=Math.min(3,t.length);for(let r=0;r<a;++r)n[r]=t[r];return n}function c(){return e(1,1,1)}function i(){return e(1,0,0)}function h(){return e(0,1,0)}function M(){return e(0,0,1)}a.d(n,{CN:()=>u,Cb:()=>d,Cw:()=>b,JP:()=>m,Un:()=>l,ci:()=>s,fA:()=>e,o8:()=>o,uY:()=>f,vt:()=>r});const f=[0,0,0],l=c(),b=i(),m=h(),d=M();Object.freeze(Object.defineProperty({__proto__:null,ONES:l,UNIT_X:b,UNIT_Y:m,UNIT_Z:d,ZEROS:f,clone:o,create:r,freeze:u,fromArray:s,fromValues:e,ones:c,unitX:i,unitY:h,unitZ:M,zeros:function(){return[0,0,0]}},Symbol.toStringTag,{value:"Module"}))},58083:(t,n,a)=>{a.d(n,{$0:()=>m,B8:()=>i,C:()=>e,D_:()=>s,IL:()=>p,O7:()=>y,Tl:()=>M,e$:()=>l,hM:()=>d,hZ:()=>u,hs:()=>f,kN:()=>b,l:()=>v,lw:()=>h,mg:()=>c,o1:()=>_,sC:()=>x,t2:()=>D,tZ:()=>R,ut:()=>S});var r=a(51850),o=a(34304);function e(t,n){return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t[4]=n[4],t[5]=n[5],t[6]=n[6],t[7]=n[7],t[8]=n[8],t[9]=n[9],t[10]=n[10],t[11]=n[11],t[12]=n[12],t[13]=n[13],t[14]=n[14],t[15]=n[15],t}function u(t,n,a,r,o,e,u,s,c,i,h,M,f,l,b,m,d){return t[0]=n,t[1]=a,t[2]=r,t[3]=o,t[4]=e,t[5]=u,t[6]=s,t[7]=c,t[8]=i,t[9]=h,t[10]=M,t[11]=f,t[12]=l,t[13]=b,t[14]=m,t[15]=d,t}function s(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function c(t,n){if(t===n){const a=n[1],r=n[2],o=n[3],e=n[6],u=n[7],s=n[11];t[1]=n[4],t[2]=n[8],t[3]=n[12],t[4]=a,t[6]=n[9],t[7]=n[13],t[8]=r,t[9]=e,t[11]=n[14],t[12]=o,t[13]=u,t[14]=s}else t[0]=n[0],t[1]=n[4],t[2]=n[8],t[3]=n[12],t[4]=n[1],t[5]=n[5],t[6]=n[9],t[7]=n[13],t[8]=n[2],t[9]=n[6],t[10]=n[10],t[11]=n[14],t[12]=n[3],t[13]=n[7],t[14]=n[11],t[15]=n[15];return t}function i(t,n){const a=n[0],r=n[1],o=n[2],e=n[3],u=n[4],s=n[5],c=n[6],i=n[7],h=n[8],M=n[9],f=n[10],l=n[11],b=n[12],m=n[13],d=n[14],g=n[15],q=a*s-r*u,x=a*c-o*u,p=a*i-e*u,v=r*c-o*s,_=r*i-e*s,y=o*i-e*c,O=h*m-M*b,D=h*d-f*b,S=h*g-l*b,R=M*d-f*m,T=M*g-l*m,I=f*g-l*d;let P=q*I-x*T+p*R+v*S-_*D+y*O;return P?(P=1/P,t[0]=(s*I-c*T+i*R)*P,t[1]=(o*T-r*I-e*R)*P,t[2]=(m*y-d*_+g*v)*P,t[3]=(f*_-M*y-l*v)*P,t[4]=(c*S-u*I-i*D)*P,t[5]=(a*I-o*S+e*D)*P,t[6]=(d*p-b*y-g*x)*P,t[7]=(h*y-f*p+l*x)*P,t[8]=(u*T-s*S+i*O)*P,t[9]=(r*S-a*T-e*O)*P,t[10]=(b*_-m*p+g*q)*P,t[11]=(M*p-h*_-l*q)*P,t[12]=(s*D-u*R-c*O)*P,t[13]=(a*R-r*D+o*O)*P,t[14]=(m*x-b*v-d*q)*P,t[15]=(h*v-M*x+f*q)*P,t):null}function h(t,n,a){const r=n[0],o=n[1],e=n[2],u=n[3],s=n[4],c=n[5],i=n[6],h=n[7],M=n[8],f=n[9],l=n[10],b=n[11],m=n[12],d=n[13],g=n[14],q=n[15];let x=a[0],p=a[1],v=a[2],_=a[3];return t[0]=x*r+p*s+v*M+_*m,t[1]=x*o+p*c+v*f+_*d,t[2]=x*e+p*i+v*l+_*g,t[3]=x*u+p*h+v*b+_*q,x=a[4],p=a[5],v=a[6],_=a[7],t[4]=x*r+p*s+v*M+_*m,t[5]=x*o+p*c+v*f+_*d,t[6]=x*e+p*i+v*l+_*g,t[7]=x*u+p*h+v*b+_*q,x=a[8],p=a[9],v=a[10],_=a[11],t[8]=x*r+p*s+v*M+_*m,t[9]=x*o+p*c+v*f+_*d,t[10]=x*e+p*i+v*l+_*g,t[11]=x*u+p*h+v*b+_*q,x=a[12],p=a[13],v=a[14],_=a[15],t[12]=x*r+p*s+v*M+_*m,t[13]=x*o+p*c+v*f+_*d,t[14]=x*e+p*i+v*l+_*g,t[15]=x*u+p*h+v*b+_*q,t}function M(t,n,a){const r=a[0],o=a[1],e=a[2];if(n===t)t[12]=n[0]*r+n[4]*o+n[8]*e+n[12],t[13]=n[1]*r+n[5]*o+n[9]*e+n[13],t[14]=n[2]*r+n[6]*o+n[10]*e+n[14],t[15]=n[3]*r+n[7]*o+n[11]*e+n[15];else{const a=n[0],u=n[1],s=n[2],c=n[3],i=n[4],h=n[5],M=n[6],f=n[7],l=n[8],b=n[9],m=n[10],d=n[11];t[0]=a,t[1]=u,t[2]=s,t[3]=c,t[4]=i,t[5]=h,t[6]=M,t[7]=f,t[8]=l,t[9]=b,t[10]=m,t[11]=d,t[12]=a*r+i*o+l*e+n[12],t[13]=u*r+h*o+b*e+n[13],t[14]=s*r+M*o+m*e+n[14],t[15]=c*r+f*o+d*e+n[15]}return t}function f(t,n,a){const r=a[0],o=a[1],e=a[2];return t[0]=n[0]*r,t[1]=n[1]*r,t[2]=n[2]*r,t[3]=n[3]*r,t[4]=n[4]*o,t[5]=n[5]*o,t[6]=n[6]*o,t[7]=n[7]*o,t[8]=n[8]*e,t[9]=n[9]*e,t[10]=n[10]*e,t[11]=n[11]*e,t[12]=n[12],t[13]=n[13],t[14]=n[14],t[15]=n[15],t}function l(t,n,a,r){let u=r[0],s=r[1],c=r[2],i=Math.sqrt(u*u+s*s+c*c);if(i<=(0,o.FD)())return void e(t,n);i=1/i,u*=i,s*=i,c*=i;const h=Math.sin(a),M=Math.cos(a),f=1-M,l=n[0],b=n[1],m=n[2],d=n[3],g=n[4],q=n[5],x=n[6],p=n[7],v=n[8],_=n[9],y=n[10],O=n[11],D=u*u*f+M,S=s*u*f+c*h,R=c*u*f-s*h,T=u*s*f-c*h,I=s*s*f+M,P=c*s*f+u*h,j=u*c*f+s*h,F=s*c*f-u*h,C=c*c*f+M;t[0]=l*D+g*S+v*R,t[1]=b*D+q*S+_*R,t[2]=m*D+x*S+y*R,t[3]=d*D+p*S+O*R,t[4]=l*T+g*I+v*P,t[5]=b*T+q*I+_*P,t[6]=m*T+x*I+y*P,t[7]=d*T+p*I+O*P,t[8]=l*j+g*F+v*C,t[9]=b*j+q*F+_*C,t[10]=m*j+x*F+y*C,t[11]=d*j+p*F+O*C,n!==t&&(t[12]=n[12],t[13]=n[13],t[14]=n[14],t[15]=n[15])}function b(t,n){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=n[0],t[13]=n[1],t[14]=n[2],t[15]=1,t}function m(t,n,a){if(0===n)return s(t);let r=a[0],e=a[1],u=a[2],c=Math.sqrt(r*r+e*e+u*u);if(c<=(0,o.FD)())return null;c=1/c,r*=c,e*=c,u*=c;const i=Math.sin(n),h=Math.cos(n),M=1-h;return t[0]=r*r*M+h,t[1]=e*r*M+u*i,t[2]=u*r*M-e*i,t[3]=0,t[4]=r*e*M-u*i,t[5]=e*e*M+h,t[6]=u*e*M+r*i,t[7]=0,t[8]=r*u*M+e*i,t[9]=e*u*M-r*i,t[10]=u*u*M+h,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function d(t,n){const a=Math.sin(n),r=Math.cos(n);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=r,t[6]=a,t[7]=0,t[8]=0,t[9]=-a,t[10]=r,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function g(t,n,a){const r=n[0],o=n[1],e=n[2],u=n[3],s=r+r,c=o+o,i=e+e,h=r*s,M=r*c,f=r*i,l=o*c,b=o*i,m=e*i,d=u*s,g=u*c,q=u*i;return t[0]=1-(l+m),t[1]=M+q,t[2]=f-g,t[3]=0,t[4]=M-q,t[5]=1-(h+m),t[6]=b+d,t[7]=0,t[8]=f+g,t[9]=b-d,t[10]=1-(h+l),t[11]=0,t[12]=a[0],t[13]=a[1],t[14]=a[2],t[15]=1,t}const q=(0,r.vt)();function x(t,n){return t[0]=n[12],t[1]=n[13],t[2]=n[14],t}function p(t,n){const a=n[0],r=n[1],o=n[2],e=n[4],u=n[5],s=n[6],c=n[8],i=n[9],h=n[10];return t[0]=Math.sqrt(a*a+r*r+o*o),t[1]=Math.sqrt(e*e+u*u+s*s),t[2]=Math.sqrt(c*c+i*i+h*h),t}function v(t,n){const a=n[0]+n[5]+n[10];let r=0;return a>0?(r=2*Math.sqrt(a+1),t[3]=.25*r,t[0]=(n[6]-n[9])/r,t[1]=(n[8]-n[2])/r,t[2]=(n[1]-n[4])/r):n[0]>n[5]&&n[0]>n[10]?(r=2*Math.sqrt(1+n[0]-n[5]-n[10]),t[3]=(n[6]-n[9])/r,t[0]=.25*r,t[1]=(n[1]+n[4])/r,t[2]=(n[8]+n[2])/r):n[5]>n[10]?(r=2*Math.sqrt(1+n[5]-n[0]-n[10]),t[3]=(n[8]-n[2])/r,t[0]=(n[1]+n[4])/r,t[1]=.25*r,t[2]=(n[6]+n[9])/r):(r=2*Math.sqrt(1+n[10]-n[0]-n[5]),t[3]=(n[1]-n[4])/r,t[0]=(n[8]+n[2])/r,t[1]=(n[6]+n[9])/r,t[2]=.25*r),t}function _(t,n,a,r){const o=n[0],e=n[1],u=n[2],s=n[3],c=o+o,i=e+e,h=u+u,M=o*c,f=o*i,l=o*h,b=e*i,m=e*h,d=u*h,g=s*c,q=s*i,x=s*h,p=r[0],v=r[1],_=r[2];return t[0]=(1-(b+d))*p,t[1]=(f+x)*p,t[2]=(l-q)*p,t[3]=0,t[4]=(f-x)*v,t[5]=(1-(M+d))*v,t[6]=(m+g)*v,t[7]=0,t[8]=(l+q)*_,t[9]=(m-g)*_,t[10]=(1-(M+b))*_,t[11]=0,t[12]=a[0],t[13]=a[1],t[14]=a[2],t[15]=1,t}function y(t,n,a,r,o){const e=n[0],u=n[1],s=n[2],c=n[3],i=e+e,h=u+u,M=s+s,f=e*i,l=e*h,b=e*M,m=u*h,d=u*M,g=s*M,q=c*i,x=c*h,p=c*M,v=r[0],_=r[1],y=r[2],O=o[0],D=o[1],S=o[2],R=(1-(m+g))*v,T=(l+p)*v,I=(b-x)*v,P=(l-p)*_,j=(1-(f+g))*_,F=(d+q)*_,C=(b+x)*y,w=(d-q)*y,A=(1-(f+m))*y;return t[0]=R,t[1]=T,t[2]=I,t[3]=0,t[4]=P,t[5]=j,t[6]=F,t[7]=0,t[8]=C,t[9]=w,t[10]=A,t[11]=0,t[12]=a[0]+O-(R*O+P*D+C*S),t[13]=a[1]+D-(T*O+j*D+w*S),t[14]=a[2]+S-(I*O+F*D+A*S),t[15]=1,t}function O(t,n,a){return t[0]=n[0]-a[0],t[1]=n[1]-a[1],t[2]=n[2]-a[2],t[3]=n[3]-a[3],t[4]=n[4]-a[4],t[5]=n[5]-a[5],t[6]=n[6]-a[6],t[7]=n[7]-a[7],t[8]=n[8]-a[8],t[9]=n[9]-a[9],t[10]=n[10]-a[10],t[11]=n[11]-a[11],t[12]=n[12]-a[12],t[13]=n[13]-a[13],t[14]=n[14]-a[14],t[15]=n[15]-a[15],t}function D(t,n){return t[0]===n[0]&&t[1]===n[1]&&t[2]===n[2]&&t[3]===n[3]&&t[4]===n[4]&&t[5]===n[5]&&t[6]===n[6]&&t[7]===n[7]&&t[8]===n[8]&&t[9]===n[9]&&t[10]===n[10]&&t[11]===n[11]&&t[12]===n[12]&&t[13]===n[13]&&t[14]===n[14]&&t[15]===n[15]}function S(t){const n=(0,o.FD)(),a=t[0],r=t[1],e=t[2],u=t[4],s=t[5],c=t[6],i=t[8],h=t[9],M=t[10];return Math.abs(1-(a*a+u*u+i*i))<=n&&Math.abs(1-(r*r+s*s+h*h))<=n&&Math.abs(1-(e*e+c*c+M*M))<=n}function R(t){return 1===t[0]&&0===t[1]&&0===t[2]&&0===t[4]&&1===t[5]&&0===t[6]&&0===t[8]&&0===t[9]&&1===t[10]}const T=h,I=O;Object.freeze(Object.defineProperty({__proto__:null,add:function(t,n,a){return t[0]=n[0]+a[0],t[1]=n[1]+a[1],t[2]=n[2]+a[2],t[3]=n[3]+a[3],t[4]=n[4]+a[4],t[5]=n[5]+a[5],t[6]=n[6]+a[6],t[7]=n[7]+a[7],t[8]=n[8]+a[8],t[9]=n[9]+a[9],t[10]=n[10]+a[10],t[11]=n[11]+a[11],t[12]=n[12]+a[12],t[13]=n[13]+a[13],t[14]=n[14]+a[14],t[15]=n[15]+a[15],t},adjoint:function(t,n){const a=n[0],r=n[1],o=n[2],e=n[3],u=n[4],s=n[5],c=n[6],i=n[7],h=n[8],M=n[9],f=n[10],l=n[11],b=n[12],m=n[13],d=n[14],g=n[15];return t[0]=s*(f*g-l*d)-M*(c*g-i*d)+m*(c*l-i*f),t[1]=-(r*(f*g-l*d)-M*(o*g-e*d)+m*(o*l-e*f)),t[2]=r*(c*g-i*d)-s*(o*g-e*d)+m*(o*i-e*c),t[3]=-(r*(c*l-i*f)-s*(o*l-e*f)+M*(o*i-e*c)),t[4]=-(u*(f*g-l*d)-h*(c*g-i*d)+b*(c*l-i*f)),t[5]=a*(f*g-l*d)-h*(o*g-e*d)+b*(o*l-e*f),t[6]=-(a*(c*g-i*d)-u*(o*g-e*d)+b*(o*i-e*c)),t[7]=a*(c*l-i*f)-u*(o*l-e*f)+h*(o*i-e*c),t[8]=u*(M*g-l*m)-h*(s*g-i*m)+b*(s*l-i*M),t[9]=-(a*(M*g-l*m)-h*(r*g-e*m)+b*(r*l-e*M)),t[10]=a*(s*g-i*m)-u*(r*g-e*m)+b*(r*i-e*s),t[11]=-(a*(s*l-i*M)-u*(r*l-e*M)+h*(r*i-e*s)),t[12]=-(u*(M*d-f*m)-h*(s*d-c*m)+b*(s*f-c*M)),t[13]=a*(M*d-f*m)-h*(r*d-o*m)+b*(r*f-o*M),t[14]=-(a*(s*d-c*m)-u*(r*d-o*m)+b*(r*c-o*s)),t[15]=a*(s*f-c*M)-u*(r*f-o*M)+h*(r*c-o*s),t},copy:e,determinant:function(t){const n=t[0],a=t[1],r=t[2],o=t[3],e=t[4],u=t[5],s=t[6],c=t[7],i=t[8],h=t[9],M=t[10],f=t[11],l=t[12],b=t[13],m=t[14],d=t[15];return(n*u-a*e)*(M*d-f*m)-(n*s-r*e)*(h*d-f*b)+(n*c-o*e)*(h*m-M*b)+(a*s-r*u)*(i*d-f*l)-(a*c-o*u)*(i*m-M*l)+(r*c-o*s)*(i*b-h*l)},equals:function(t,n){if(t===n)return!0;const a=t[0],r=t[1],e=t[2],u=t[3],s=t[4],c=t[5],i=t[6],h=t[7],M=t[8],f=t[9],l=t[10],b=t[11],m=t[12],d=t[13],g=t[14],q=t[15],x=n[0],p=n[1],v=n[2],_=n[3],y=n[4],O=n[5],D=n[6],S=n[7],R=n[8],T=n[9],I=n[10],P=n[11],j=n[12],F=n[13],C=n[14],w=n[15],A=(0,o.FD)();return Math.abs(a-x)<=A*Math.max(1,Math.abs(a),Math.abs(x))&&Math.abs(r-p)<=A*Math.max(1,Math.abs(r),Math.abs(p))&&Math.abs(e-v)<=A*Math.max(1,Math.abs(e),Math.abs(v))&&Math.abs(u-_)<=A*Math.max(1,Math.abs(u),Math.abs(_))&&Math.abs(s-y)<=A*Math.max(1,Math.abs(s),Math.abs(y))&&Math.abs(c-O)<=A*Math.max(1,Math.abs(c),Math.abs(O))&&Math.abs(i-D)<=A*Math.max(1,Math.abs(i),Math.abs(D))&&Math.abs(h-S)<=A*Math.max(1,Math.abs(h),Math.abs(S))&&Math.abs(M-R)<=A*Math.max(1,Math.abs(M),Math.abs(R))&&Math.abs(f-T)<=A*Math.max(1,Math.abs(f),Math.abs(T))&&Math.abs(l-I)<=A*Math.max(1,Math.abs(l),Math.abs(I))&&Math.abs(b-P)<=A*Math.max(1,Math.abs(b),Math.abs(P))&&Math.abs(m-j)<=A*Math.max(1,Math.abs(m),Math.abs(j))&&Math.abs(d-F)<=A*Math.max(1,Math.abs(d),Math.abs(F))&&Math.abs(g-C)<=A*Math.max(1,Math.abs(g),Math.abs(C))&&Math.abs(q-w)<=A*Math.max(1,Math.abs(q),Math.abs(w))},exactEquals:D,frob:function(t){return Math.sqrt(t[0]**2+t[1]**2+t[2]**2+t[3]**2+t[4]**2+t[5]**2+t[6]**2+t[7]**2+t[8]**2+t[9]**2+t[10]**2+t[11]**2+t[12]**2+t[13]**2+t[14]**2+t[15]**2)},fromQuat:function(t,n){const a=n[0],r=n[1],o=n[2],e=n[3],u=a+a,s=r+r,c=o+o,i=a*u,h=r*u,M=r*s,f=o*u,l=o*s,b=o*c,m=e*u,d=e*s,g=e*c;return t[0]=1-M-b,t[1]=h+g,t[2]=f-d,t[3]=0,t[4]=h-g,t[5]=1-i-b,t[6]=l+m,t[7]=0,t[8]=f+d,t[9]=l-m,t[10]=1-i-M,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},fromQuat2:function(t,n){const a=q,r=-n[0],o=-n[1],e=-n[2],u=n[3],s=n[4],c=n[5],i=n[6],h=n[7],M=r*r+o*o+e*e+u*u;return M>0?(a[0]=2*(s*u+h*r+c*e-i*o)/M,a[1]=2*(c*u+h*o+i*r-s*e)/M,a[2]=2*(i*u+h*e+s*o-c*r)/M):(a[0]=2*(s*u+h*r+c*e-i*o),a[1]=2*(c*u+h*o+i*r-s*e),a[2]=2*(i*u+h*e+s*o-c*r)),g(t,n,a),t},fromRotation:m,fromRotationTranslation:g,fromRotationTranslationScale:_,fromRotationTranslationScaleOrigin:y,fromScaling:function(t,n){return t[0]=n[0],t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=n[1],t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=n[2],t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},fromTranslation:b,fromXRotation:d,fromYRotation:function(t,n){const a=Math.sin(n),r=Math.cos(n);return t[0]=r,t[1]=0,t[2]=-a,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=a,t[9]=0,t[10]=r,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},fromZRotation:function(t,n){const a=Math.sin(n),r=Math.cos(n);return t[0]=r,t[1]=a,t[2]=0,t[3]=0,t[4]=-a,t[5]=r,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},frustum:function(t,n,a,r,o,e,u){const s=1/(a-n),c=1/(o-r),i=1/(e-u);return t[0]=2*e*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=2*e*c,t[6]=0,t[7]=0,t[8]=(a+n)*s,t[9]=(o+r)*c,t[10]=(u+e)*i,t[11]=-1,t[12]=0,t[13]=0,t[14]=u*e*2*i,t[15]=0,t},getRotation:v,getScaling:p,getTranslation:x,hasIdentityRotation:R,identity:s,invert:i,invertOrIdentity:function(t,n){return i(t,n)||s(t),t},isOrthoNormal:S,lookAt:function(t,n,a,r){const e=n[0],u=n[1],c=n[2];let i=e-a[0],h=u-a[1],M=c-a[2];const f=(0,o.FD)();if(Math.abs(i)<f&&Math.abs(h)<f&&Math.abs(M)<f)return void s(t);let l=1/Math.sqrt(i*i+h*h+M*M);i*=l,h*=l,M*=l;const b=r[0],m=r[1],d=r[2];let g=m*M-d*h,q=d*i-b*M,x=b*h-m*i;l=Math.sqrt(g*g+q*q+x*x),l?(l=1/l,g*=l,q*=l,x*=l):(g=0,q=0,x=0);let p=h*x-M*q,v=M*g-i*x,_=i*q-h*g;l=Math.sqrt(p*p+v*v+_*_),l?(l=1/l,p*=l,v*=l,_*=l):(p=0,v=0,_=0),t[0]=g,t[1]=p,t[2]=i,t[3]=0,t[4]=q,t[5]=v,t[6]=h,t[7]=0,t[8]=x,t[9]=_,t[10]=M,t[11]=0,t[12]=-(g*e+q*u+x*c),t[13]=-(p*e+v*u+_*c),t[14]=-(i*e+h*u+M*c),t[15]=1},mul:T,multiply:h,multiplyScalar:function(t,n,a){return t[0]=n[0]*a,t[1]=n[1]*a,t[2]=n[2]*a,t[3]=n[3]*a,t[4]=n[4]*a,t[5]=n[5]*a,t[6]=n[6]*a,t[7]=n[7]*a,t[8]=n[8]*a,t[9]=n[9]*a,t[10]=n[10]*a,t[11]=n[11]*a,t[12]=n[12]*a,t[13]=n[13]*a,t[14]=n[14]*a,t[15]=n[15]*a,t},multiplyScalarAndAdd:function(t,n,a,r){return t[0]=n[0]+a[0]*r,t[1]=n[1]+a[1]*r,t[2]=n[2]+a[2]*r,t[3]=n[3]+a[3]*r,t[4]=n[4]+a[4]*r,t[5]=n[5]+a[5]*r,t[6]=n[6]+a[6]*r,t[7]=n[7]+a[7]*r,t[8]=n[8]+a[8]*r,t[9]=n[9]+a[9]*r,t[10]=n[10]+a[10]*r,t[11]=n[11]+a[11]*r,t[12]=n[12]+a[12]*r,t[13]=n[13]+a[13]*r,t[14]=n[14]+a[14]*r,t[15]=n[15]+a[15]*r,t},ortho:function(t,n,a,r,o,e,u){const s=1/(n-a),c=1/(r-o),i=1/(e-u);return t[0]=-2*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*c,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*i,t[11]=0,t[12]=(n+a)*s,t[13]=(o+r)*c,t[14]=(u+e)*i,t[15]=1,t},perspective:function(t,n,a,r,o){const e=1/Math.tan(n/2);let u;return t[0]=e/a,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=-1,t[12]=0,t[13]=0,t[15]=0,null!=o&&o!==1/0?(u=1/(r-o),t[10]=(o+r)*u,t[14]=2*o*r*u):(t[10]=-1,t[14]=-2*r),t},perspectiveFromFieldOfView:function(t,n,a,r){const o=Math.tan(n.upDegrees*Math.PI/180),e=Math.tan(n.downDegrees*Math.PI/180),u=Math.tan(n.leftDegrees*Math.PI/180),s=Math.tan(n.rightDegrees*Math.PI/180),c=2/(u+s),i=2/(o+e);return t[0]=c,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=i,t[6]=0,t[7]=0,t[8]=-(u-s)*c*.5,t[9]=(o-e)*i*.5,t[10]=r/(a-r),t[11]=-1,t[12]=0,t[13]=0,t[14]=r*a/(a-r),t[15]=0,t},rotate:l,rotateX:function(t,n,a){const r=Math.sin(a),o=Math.cos(a),e=n[4],u=n[5],s=n[6],c=n[7],i=n[8],h=n[9],M=n[10],f=n[11];return n!==t&&(t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t[12]=n[12],t[13]=n[13],t[14]=n[14],t[15]=n[15]),t[4]=e*o+i*r,t[5]=u*o+h*r,t[6]=s*o+M*r,t[7]=c*o+f*r,t[8]=i*o-e*r,t[9]=h*o-u*r,t[10]=M*o-s*r,t[11]=f*o-c*r,t},rotateY:function(t,n,a){const r=Math.sin(a),o=Math.cos(a),e=n[0],u=n[1],s=n[2],c=n[3],i=n[8],h=n[9],M=n[10],f=n[11];return n!==t&&(t[4]=n[4],t[5]=n[5],t[6]=n[6],t[7]=n[7],t[12]=n[12],t[13]=n[13],t[14]=n[14],t[15]=n[15]),t[0]=e*o-i*r,t[1]=u*o-h*r,t[2]=s*o-M*r,t[3]=c*o-f*r,t[8]=e*r+i*o,t[9]=u*r+h*o,t[10]=s*r+M*o,t[11]=c*r+f*o,t},rotateZ:function(t,n,a){const r=Math.sin(a),o=Math.cos(a),e=n[0],u=n[1],s=n[2],c=n[3],i=n[4],h=n[5],M=n[6],f=n[7];return n!==t&&(t[8]=n[8],t[9]=n[9],t[10]=n[10],t[11]=n[11],t[12]=n[12],t[13]=n[13],t[14]=n[14],t[15]=n[15]),t[0]=e*o+i*r,t[1]=u*o+h*r,t[2]=s*o+M*r,t[3]=c*o+f*r,t[4]=i*o-e*r,t[5]=h*o-u*r,t[6]=M*o-s*r,t[7]=f*o-c*r,t},scale:f,set:u,str:function(t){return"mat4("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+", "+t[4]+", "+t[5]+", "+t[6]+", "+t[7]+", "+t[8]+", "+t[9]+", "+t[10]+", "+t[11]+", "+t[12]+", "+t[13]+", "+t[14]+", "+t[15]+")"},sub:I,subtract:O,targetTo:function(t,n,a,r){const o=n[0],e=n[1],u=n[2],s=r[0],c=r[1],i=r[2];let h=o-a[0],M=e-a[1],f=u-a[2],l=h*h+M*M+f*f;l>0&&(l=1/Math.sqrt(l),h*=l,M*=l,f*=l);let b=c*f-i*M,m=i*h-s*f,d=s*M-c*h;return l=b*b+m*m+d*d,l>0&&(l=1/Math.sqrt(l),b*=l,m*=l,d*=l),t[0]=b,t[1]=m,t[2]=d,t[3]=0,t[4]=M*d-f*m,t[5]=f*b-h*d,t[6]=h*m-M*b,t[7]=0,t[8]=h,t[9]=M,t[10]=f,t[11]=0,t[12]=o,t[13]=e,t[14]=u,t[15]=1,t},translate:M,transpose:c},Symbol.toStringTag,{value:"Module"}))},87317:(t,n,a)=>{a.d(n,{a:()=>x,b:()=>h,c:()=>o,e:()=>p,f:()=>b,g:()=>u,h:()=>d,j:()=>l,l:()=>g,n:()=>m,s:()=>e,t:()=>q});var r=a(34304);function o(t,n){return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t}function e(t,n,a,r,o){return t[0]=n,t[1]=a,t[2]=r,t[3]=o,t}function u(t,n,a){return t[0]=n[0]+a[0],t[1]=n[1]+a[1],t[2]=n[2]+a[2],t[3]=n[3]+a[3],t}function s(t,n,a){return t[0]=n[0]-a[0],t[1]=n[1]-a[1],t[2]=n[2]-a[2],t[3]=n[3]-a[3],t}function c(t,n,a){return t[0]=n[0]*a[0],t[1]=n[1]*a[1],t[2]=n[2]*a[2],t[3]=n[3]*a[3],t}function i(t,n,a){return t[0]=n[0]/a[0],t[1]=n[1]/a[1],t[2]=n[2]/a[2],t[3]=n[3]/a[3],t}function h(t,n,a){return t[0]=n[0]*a,t[1]=n[1]*a,t[2]=n[2]*a,t[3]=n[3]*a,t}function M(t,n){const a=n[0]-t[0],r=n[1]-t[1],o=n[2]-t[2],e=n[3]-t[3];return Math.sqrt(a*a+r*r+o*o+e*e)}function f(t,n){const a=n[0]-t[0],r=n[1]-t[1],o=n[2]-t[2],e=n[3]-t[3];return a*a+r*r+o*o+e*e}function l(t){const n=t[0],a=t[1],r=t[2],o=t[3];return Math.sqrt(n*n+a*a+r*r+o*o)}function b(t){const n=t[0],a=t[1],r=t[2],o=t[3];return n*n+a*a+r*r+o*o}function m(t,n){const a=n[0],r=n[1],o=n[2],e=n[3];let u=a*a+r*r+o*o+e*e;return u>0&&(u=1/Math.sqrt(u),t[0]=a*u,t[1]=r*u,t[2]=o*u,t[3]=e*u),t}function d(t,n){return t[0]*n[0]+t[1]*n[1]+t[2]*n[2]+t[3]*n[3]}function g(t,n,a,r){const o=n[0],e=n[1],u=n[2],s=n[3];return t[0]=o+r*(a[0]-o),t[1]=e+r*(a[1]-e),t[2]=u+r*(a[2]-u),t[3]=s+r*(a[3]-s),t}function q(t,n,a){const r=n[0],o=n[1],e=n[2],u=n[3];return t[0]=a[0]*r+a[4]*o+a[8]*e+a[12]*u,t[1]=a[1]*r+a[5]*o+a[9]*e+a[13]*u,t[2]=a[2]*r+a[6]*o+a[10]*e+a[14]*u,t[3]=a[3]*r+a[7]*o+a[11]*e+a[15]*u,t}function x(t,n){return t[0]===n[0]&&t[1]===n[1]&&t[2]===n[2]&&t[3]===n[3]}function p(t,n){const a=t[0],o=t[1],e=t[2],u=t[3],s=n[0],c=n[1],i=n[2],h=n[3],M=(0,r.FD)();return Math.abs(a-s)<=M*Math.max(1,Math.abs(a),Math.abs(s))&&Math.abs(o-c)<=M*Math.max(1,Math.abs(o),Math.abs(c))&&Math.abs(e-i)<=M*Math.max(1,Math.abs(e),Math.abs(i))&&Math.abs(u-h)<=M*Math.max(1,Math.abs(u),Math.abs(h))}const v=s,_=c,y=i,O=M,D=f,S=l,R=b;Object.freeze(Object.defineProperty({__proto__:null,add:u,ceil:function(t,n){return t[0]=Math.ceil(n[0]),t[1]=Math.ceil(n[1]),t[2]=Math.ceil(n[2]),t[3]=Math.ceil(n[3]),t},copy:o,copyVec3:function(t,n){return t[0]=n[0],t[1]=n[1],t[2]=n[2],t},dist:O,distance:M,div:y,divide:i,dot:d,equals:p,exactEquals:x,floor:function(t,n){return t[0]=Math.floor(n[0]),t[1]=Math.floor(n[1]),t[2]=Math.floor(n[2]),t[3]=Math.floor(n[3]),t},inverse:function(t,n){return t[0]=1/n[0],t[1]=1/n[1],t[2]=1/n[2],t[3]=1/n[3],t},len:S,length:l,lerp:g,max:function(t,n,a){return t[0]=Math.max(n[0],a[0]),t[1]=Math.max(n[1],a[1]),t[2]=Math.max(n[2],a[2]),t[3]=Math.max(n[3],a[3]),t},min:function(t,n,a){return t[0]=Math.min(n[0],a[0]),t[1]=Math.min(n[1],a[1]),t[2]=Math.min(n[2],a[2]),t[3]=Math.min(n[3],a[3]),t},mul:_,multiply:c,negate:function(t,n){return t[0]=-n[0],t[1]=-n[1],t[2]=-n[2],t[3]=-n[3],t},normalize:m,random:function(t,n=1){const a=r.Ov;let o,e,u,s,c,i;do{o=2*a()-1,e=2*a()-1,c=o*o+e*e}while(c>=1);do{u=2*a()-1,s=2*a()-1,i=u*u+s*s}while(i>=1);const h=Math.sqrt((1-c)/i);return t[0]=n*o,t[1]=n*e,t[2]=n*u*h,t[3]=n*s*h,t},round:function(t,n){return t[0]=Math.round(n[0]),t[1]=Math.round(n[1]),t[2]=Math.round(n[2]),t[3]=Math.round(n[3]),t},scale:h,scaleAndAdd:function(t,n,a,r){return t[0]=n[0]+a[0]*r,t[1]=n[1]+a[1]*r,t[2]=n[2]+a[2]*r,t[3]=n[3]+a[3]*r,t},set:e,sqrDist:D,sqrLen:R,squaredDistance:f,squaredLength:b,str:function(t){return"vec4("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+")"},sub:v,subtract:s,transformMat4:q,transformQuat:function(t,n,a){const r=n[0],o=n[1],e=n[2],u=a[0],s=a[1],c=a[2],i=a[3],h=i*r+s*e-c*o,M=i*o+c*r-u*e,f=i*e+u*o-s*r,l=-u*r-s*o-c*e;return t[0]=h*i+l*-u+M*-c-f*-s,t[1]=M*i+l*-s+f*-u-h*-c,t[2]=f*i+l*-c+h*-s-M*-u,t[3]=n[3],t}},Symbol.toStringTag,{value:"Module"}))}}]);
1
+ "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[2603],{34304:(t,n,a)=>{a.d(n,{DF:()=>c,FD:()=>o,Ov:()=>e,ct:()=>i});let r=1e-6;function o(){return r}const e=Math.random,u=Math.PI/180,s=180/Math.PI;function c(t){return t*u}function i(t){return t*s}Object.freeze(Object.defineProperty({__proto__:null,RANDOM:e,equals:function(t,n){return Math.abs(t-n)<=r*Math.max(1,Math.abs(t),Math.abs(n))},getEpsilon:o,setEpsilon:function(t){r=t},toDegree:i,toRadian:c},Symbol.toStringTag,{value:"Module"}))},51850:(t,n,a)=>{function r(){return[0,0,0]}function o(t){return[t[0],t[1],t[2]]}function e(t,n,a){return[t,n,a]}function u(t,n,a){return[t,n,a]}function s(t,n=[0,0,0]){const a=Math.min(3,t.length);for(let r=0;r<a;++r)n[r]=t[r];return n}function c(){return e(1,1,1)}function i(){return e(1,0,0)}function h(){return e(0,1,0)}function M(){return e(0,0,1)}a.d(n,{CN:()=>u,Cb:()=>d,Cw:()=>b,JP:()=>m,Un:()=>l,ci:()=>s,fA:()=>e,o8:()=>o,uY:()=>f,vt:()=>r});const f=[0,0,0],l=c(),b=i(),m=h(),d=M();Object.freeze(Object.defineProperty({__proto__:null,ONES:l,UNIT_X:b,UNIT_Y:m,UNIT_Z:d,ZEROS:f,clone:o,create:r,freeze:u,fromArray:s,fromValues:e,ones:c,unitX:i,unitY:h,unitZ:M,zeros:function(){return[0,0,0]}},Symbol.toStringTag,{value:"Module"}))},58083:(t,n,a)=>{a.d(n,{$0:()=>m,B8:()=>i,C:()=>e,D_:()=>s,IL:()=>x,O7:()=>y,Tl:()=>M,e$:()=>l,hM:()=>d,hZ:()=>u,hs:()=>f,kN:()=>b,l:()=>_,lw:()=>h,mg:()=>c,o1:()=>v,sC:()=>q,t2:()=>S,tZ:()=>D,ut:()=>T});var r=a(51850),o=a(34304);function e(t,n){return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t[4]=n[4],t[5]=n[5],t[6]=n[6],t[7]=n[7],t[8]=n[8],t[9]=n[9],t[10]=n[10],t[11]=n[11],t[12]=n[12],t[13]=n[13],t[14]=n[14],t[15]=n[15],t}function u(t,n,a,r,o,e,u,s,c,i,h,M,f,l,b,m,d){return t[0]=n,t[1]=a,t[2]=r,t[3]=o,t[4]=e,t[5]=u,t[6]=s,t[7]=c,t[8]=i,t[9]=h,t[10]=M,t[11]=f,t[12]=l,t[13]=b,t[14]=m,t[15]=d,t}function s(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function c(t,n){if(t===n){const a=n[1],r=n[2],o=n[3],e=n[6],u=n[7],s=n[11];t[1]=n[4],t[2]=n[8],t[3]=n[12],t[4]=a,t[6]=n[9],t[7]=n[13],t[8]=r,t[9]=e,t[11]=n[14],t[12]=o,t[13]=u,t[14]=s}else t[0]=n[0],t[1]=n[4],t[2]=n[8],t[3]=n[12],t[4]=n[1],t[5]=n[5],t[6]=n[9],t[7]=n[13],t[8]=n[2],t[9]=n[6],t[10]=n[10],t[11]=n[14],t[12]=n[3],t[13]=n[7],t[14]=n[11],t[15]=n[15];return t}function i(t,n){const a=n[0],r=n[1],o=n[2],e=n[3],u=n[4],s=n[5],c=n[6],i=n[7],h=n[8],M=n[9],f=n[10],l=n[11],b=n[12],m=n[13],d=n[14],g=n[15],p=a*s-r*u,q=a*c-o*u,x=a*i-e*u,_=r*c-o*s,v=r*i-e*s,y=o*i-e*c,O=h*m-M*b,S=h*d-f*b,T=h*g-l*b,D=M*d-f*m,I=M*g-l*m,R=f*g-l*d;let N=p*R-q*I+x*D+_*T-v*S+y*O;return N?(N=1/N,t[0]=(s*R-c*I+i*D)*N,t[1]=(o*I-r*R-e*D)*N,t[2]=(m*y-d*v+g*_)*N,t[3]=(f*v-M*y-l*_)*N,t[4]=(c*T-u*R-i*S)*N,t[5]=(a*R-o*T+e*S)*N,t[6]=(d*x-b*y-g*q)*N,t[7]=(h*y-f*x+l*q)*N,t[8]=(u*I-s*T+i*O)*N,t[9]=(r*T-a*I-e*O)*N,t[10]=(b*v-m*x+g*p)*N,t[11]=(M*x-h*v-l*p)*N,t[12]=(s*S-u*D-c*O)*N,t[13]=(a*D-r*S+o*O)*N,t[14]=(m*q-b*_-d*p)*N,t[15]=(h*_-M*q+f*p)*N,t):null}function h(t,n,a){const r=n[0],o=n[1],e=n[2],u=n[3],s=n[4],c=n[5],i=n[6],h=n[7],M=n[8],f=n[9],l=n[10],b=n[11],m=n[12],d=n[13],g=n[14],p=n[15];let q=a[0],x=a[1],_=a[2],v=a[3];return t[0]=q*r+x*s+_*M+v*m,t[1]=q*o+x*c+_*f+v*d,t[2]=q*e+x*i+_*l+v*g,t[3]=q*u+x*h+_*b+v*p,q=a[4],x=a[5],_=a[6],v=a[7],t[4]=q*r+x*s+_*M+v*m,t[5]=q*o+x*c+_*f+v*d,t[6]=q*e+x*i+_*l+v*g,t[7]=q*u+x*h+_*b+v*p,q=a[8],x=a[9],_=a[10],v=a[11],t[8]=q*r+x*s+_*M+v*m,t[9]=q*o+x*c+_*f+v*d,t[10]=q*e+x*i+_*l+v*g,t[11]=q*u+x*h+_*b+v*p,q=a[12],x=a[13],_=a[14],v=a[15],t[12]=q*r+x*s+_*M+v*m,t[13]=q*o+x*c+_*f+v*d,t[14]=q*e+x*i+_*l+v*g,t[15]=q*u+x*h+_*b+v*p,t}function M(t,n,a){const r=a[0],o=a[1],e=a[2];if(n===t)t[12]=n[0]*r+n[4]*o+n[8]*e+n[12],t[13]=n[1]*r+n[5]*o+n[9]*e+n[13],t[14]=n[2]*r+n[6]*o+n[10]*e+n[14],t[15]=n[3]*r+n[7]*o+n[11]*e+n[15];else{const a=n[0],u=n[1],s=n[2],c=n[3],i=n[4],h=n[5],M=n[6],f=n[7],l=n[8],b=n[9],m=n[10],d=n[11];t[0]=a,t[1]=u,t[2]=s,t[3]=c,t[4]=i,t[5]=h,t[6]=M,t[7]=f,t[8]=l,t[9]=b,t[10]=m,t[11]=d,t[12]=a*r+i*o+l*e+n[12],t[13]=u*r+h*o+b*e+n[13],t[14]=s*r+M*o+m*e+n[14],t[15]=c*r+f*o+d*e+n[15]}return t}function f(t,n,a){const r=a[0],o=a[1],e=a[2];return t[0]=n[0]*r,t[1]=n[1]*r,t[2]=n[2]*r,t[3]=n[3]*r,t[4]=n[4]*o,t[5]=n[5]*o,t[6]=n[6]*o,t[7]=n[7]*o,t[8]=n[8]*e,t[9]=n[9]*e,t[10]=n[10]*e,t[11]=n[11]*e,t[12]=n[12],t[13]=n[13],t[14]=n[14],t[15]=n[15],t}function l(t,n,a,r){let u=r[0],s=r[1],c=r[2],i=Math.sqrt(u*u+s*s+c*c);if(i<=(0,o.FD)())return void e(t,n);i=1/i,u*=i,s*=i,c*=i;const h=Math.sin(a),M=Math.cos(a),f=1-M,l=n[0],b=n[1],m=n[2],d=n[3],g=n[4],p=n[5],q=n[6],x=n[7],_=n[8],v=n[9],y=n[10],O=n[11],S=u*u*f+M,T=s*u*f+c*h,D=c*u*f-s*h,I=u*s*f-c*h,R=s*s*f+M,N=c*s*f+u*h,j=u*c*f+s*h,P=s*c*f-u*h,z=c*c*f+M;t[0]=l*S+g*T+_*D,t[1]=b*S+p*T+v*D,t[2]=m*S+q*T+y*D,t[3]=d*S+x*T+O*D,t[4]=l*I+g*R+_*N,t[5]=b*I+p*R+v*N,t[6]=m*I+q*R+y*N,t[7]=d*I+x*R+O*N,t[8]=l*j+g*P+_*z,t[9]=b*j+p*P+v*z,t[10]=m*j+q*P+y*z,t[11]=d*j+x*P+O*z,n!==t&&(t[12]=n[12],t[13]=n[13],t[14]=n[14],t[15]=n[15])}function b(t,n){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=n[0],t[13]=n[1],t[14]=n[2],t[15]=1,t}function m(t,n,a){if(0===n)return s(t);let r=a[0],e=a[1],u=a[2],c=Math.sqrt(r*r+e*e+u*u);if(c<=(0,o.FD)())return null;c=1/c,r*=c,e*=c,u*=c;const i=Math.sin(n),h=Math.cos(n),M=1-h;return t[0]=r*r*M+h,t[1]=e*r*M+u*i,t[2]=u*r*M-e*i,t[3]=0,t[4]=r*e*M-u*i,t[5]=e*e*M+h,t[6]=u*e*M+r*i,t[7]=0,t[8]=r*u*M+e*i,t[9]=e*u*M-r*i,t[10]=u*u*M+h,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function d(t,n){const a=Math.sin(n),r=Math.cos(n);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=r,t[6]=a,t[7]=0,t[8]=0,t[9]=-a,t[10]=r,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function g(t,n,a){const r=n[0],o=n[1],e=n[2],u=n[3],s=r+r,c=o+o,i=e+e,h=r*s,M=r*c,f=r*i,l=o*c,b=o*i,m=e*i,d=u*s,g=u*c,p=u*i;return t[0]=1-(l+m),t[1]=M+p,t[2]=f-g,t[3]=0,t[4]=M-p,t[5]=1-(h+m),t[6]=b+d,t[7]=0,t[8]=f+g,t[9]=b-d,t[10]=1-(h+l),t[11]=0,t[12]=a[0],t[13]=a[1],t[14]=a[2],t[15]=1,t}const p=(0,r.vt)();function q(t,n){return t[0]=n[12],t[1]=n[13],t[2]=n[14],t}function x(t,n){const a=n[0],r=n[1],o=n[2],e=n[4],u=n[5],s=n[6],c=n[8],i=n[9],h=n[10];return t[0]=Math.sqrt(a*a+r*r+o*o),t[1]=Math.sqrt(e*e+u*u+s*s),t[2]=Math.sqrt(c*c+i*i+h*h),t}function _(t,n){const a=n[0]+n[5]+n[10];let r=0;return a>0?(r=2*Math.sqrt(a+1),t[3]=.25*r,t[0]=(n[6]-n[9])/r,t[1]=(n[8]-n[2])/r,t[2]=(n[1]-n[4])/r):n[0]>n[5]&&n[0]>n[10]?(r=2*Math.sqrt(1+n[0]-n[5]-n[10]),t[3]=(n[6]-n[9])/r,t[0]=.25*r,t[1]=(n[1]+n[4])/r,t[2]=(n[8]+n[2])/r):n[5]>n[10]?(r=2*Math.sqrt(1+n[5]-n[0]-n[10]),t[3]=(n[8]-n[2])/r,t[0]=(n[1]+n[4])/r,t[1]=.25*r,t[2]=(n[6]+n[9])/r):(r=2*Math.sqrt(1+n[10]-n[0]-n[5]),t[3]=(n[1]-n[4])/r,t[0]=(n[8]+n[2])/r,t[1]=(n[6]+n[9])/r,t[2]=.25*r),t}function v(t,n,a,r){const o=n[0],e=n[1],u=n[2],s=n[3],c=o+o,i=e+e,h=u+u,M=o*c,f=o*i,l=o*h,b=e*i,m=e*h,d=u*h,g=s*c,p=s*i,q=s*h,x=r[0],_=r[1],v=r[2];return t[0]=(1-(b+d))*x,t[1]=(f+q)*x,t[2]=(l-p)*x,t[3]=0,t[4]=(f-q)*_,t[5]=(1-(M+d))*_,t[6]=(m+g)*_,t[7]=0,t[8]=(l+p)*v,t[9]=(m-g)*v,t[10]=(1-(M+b))*v,t[11]=0,t[12]=a[0],t[13]=a[1],t[14]=a[2],t[15]=1,t}function y(t,n,a,r,o){const e=n[0],u=n[1],s=n[2],c=n[3],i=e+e,h=u+u,M=s+s,f=e*i,l=e*h,b=e*M,m=u*h,d=u*M,g=s*M,p=c*i,q=c*h,x=c*M,_=r[0],v=r[1],y=r[2],O=o[0],S=o[1],T=o[2],D=(1-(m+g))*_,I=(l+x)*_,R=(b-q)*_,N=(l-x)*v,j=(1-(f+g))*v,P=(d+p)*v,z=(b+q)*y,A=(d-p)*y,C=(1-(f+m))*y;return t[0]=D,t[1]=I,t[2]=R,t[3]=0,t[4]=N,t[5]=j,t[6]=P,t[7]=0,t[8]=z,t[9]=A,t[10]=C,t[11]=0,t[12]=a[0]+O-(D*O+N*S+z*T),t[13]=a[1]+S-(I*O+j*S+A*T),t[14]=a[2]+T-(R*O+P*S+C*T),t[15]=1,t}function O(t,n,a){return t[0]=n[0]-a[0],t[1]=n[1]-a[1],t[2]=n[2]-a[2],t[3]=n[3]-a[3],t[4]=n[4]-a[4],t[5]=n[5]-a[5],t[6]=n[6]-a[6],t[7]=n[7]-a[7],t[8]=n[8]-a[8],t[9]=n[9]-a[9],t[10]=n[10]-a[10],t[11]=n[11]-a[11],t[12]=n[12]-a[12],t[13]=n[13]-a[13],t[14]=n[14]-a[14],t[15]=n[15]-a[15],t}function S(t,n){return t[0]===n[0]&&t[1]===n[1]&&t[2]===n[2]&&t[3]===n[3]&&t[4]===n[4]&&t[5]===n[5]&&t[6]===n[6]&&t[7]===n[7]&&t[8]===n[8]&&t[9]===n[9]&&t[10]===n[10]&&t[11]===n[11]&&t[12]===n[12]&&t[13]===n[13]&&t[14]===n[14]&&t[15]===n[15]}function T(t){const n=(0,o.FD)(),a=t[0],r=t[1],e=t[2],u=t[4],s=t[5],c=t[6],i=t[8],h=t[9],M=t[10];return Math.abs(1-(a*a+u*u+i*i))<=n&&Math.abs(1-(r*r+s*s+h*h))<=n&&Math.abs(1-(e*e+c*c+M*M))<=n}function D(t){return 1===t[0]&&0===t[1]&&0===t[2]&&0===t[4]&&1===t[5]&&0===t[6]&&0===t[8]&&0===t[9]&&1===t[10]}const I=h,R=O;Object.freeze(Object.defineProperty({__proto__:null,add:function(t,n,a){return t[0]=n[0]+a[0],t[1]=n[1]+a[1],t[2]=n[2]+a[2],t[3]=n[3]+a[3],t[4]=n[4]+a[4],t[5]=n[5]+a[5],t[6]=n[6]+a[6],t[7]=n[7]+a[7],t[8]=n[8]+a[8],t[9]=n[9]+a[9],t[10]=n[10]+a[10],t[11]=n[11]+a[11],t[12]=n[12]+a[12],t[13]=n[13]+a[13],t[14]=n[14]+a[14],t[15]=n[15]+a[15],t},adjoint:function(t,n){const a=n[0],r=n[1],o=n[2],e=n[3],u=n[4],s=n[5],c=n[6],i=n[7],h=n[8],M=n[9],f=n[10],l=n[11],b=n[12],m=n[13],d=n[14],g=n[15];return t[0]=s*(f*g-l*d)-M*(c*g-i*d)+m*(c*l-i*f),t[1]=-(r*(f*g-l*d)-M*(o*g-e*d)+m*(o*l-e*f)),t[2]=r*(c*g-i*d)-s*(o*g-e*d)+m*(o*i-e*c),t[3]=-(r*(c*l-i*f)-s*(o*l-e*f)+M*(o*i-e*c)),t[4]=-(u*(f*g-l*d)-h*(c*g-i*d)+b*(c*l-i*f)),t[5]=a*(f*g-l*d)-h*(o*g-e*d)+b*(o*l-e*f),t[6]=-(a*(c*g-i*d)-u*(o*g-e*d)+b*(o*i-e*c)),t[7]=a*(c*l-i*f)-u*(o*l-e*f)+h*(o*i-e*c),t[8]=u*(M*g-l*m)-h*(s*g-i*m)+b*(s*l-i*M),t[9]=-(a*(M*g-l*m)-h*(r*g-e*m)+b*(r*l-e*M)),t[10]=a*(s*g-i*m)-u*(r*g-e*m)+b*(r*i-e*s),t[11]=-(a*(s*l-i*M)-u*(r*l-e*M)+h*(r*i-e*s)),t[12]=-(u*(M*d-f*m)-h*(s*d-c*m)+b*(s*f-c*M)),t[13]=a*(M*d-f*m)-h*(r*d-o*m)+b*(r*f-o*M),t[14]=-(a*(s*d-c*m)-u*(r*d-o*m)+b*(r*c-o*s)),t[15]=a*(s*f-c*M)-u*(r*f-o*M)+h*(r*c-o*s),t},copy:e,determinant:function(t){const n=t[0],a=t[1],r=t[2],o=t[3],e=t[4],u=t[5],s=t[6],c=t[7],i=t[8],h=t[9],M=t[10],f=t[11],l=t[12],b=t[13],m=t[14],d=t[15];return(n*u-a*e)*(M*d-f*m)-(n*s-r*e)*(h*d-f*b)+(n*c-o*e)*(h*m-M*b)+(a*s-r*u)*(i*d-f*l)-(a*c-o*u)*(i*m-M*l)+(r*c-o*s)*(i*b-h*l)},equals:function(t,n){if(t===n)return!0;const a=t[0],r=t[1],e=t[2],u=t[3],s=t[4],c=t[5],i=t[6],h=t[7],M=t[8],f=t[9],l=t[10],b=t[11],m=t[12],d=t[13],g=t[14],p=t[15],q=n[0],x=n[1],_=n[2],v=n[3],y=n[4],O=n[5],S=n[6],T=n[7],D=n[8],I=n[9],R=n[10],N=n[11],j=n[12],P=n[13],z=n[14],A=n[15],C=(0,o.FD)();return Math.abs(a-q)<=C*Math.max(1,Math.abs(a),Math.abs(q))&&Math.abs(r-x)<=C*Math.max(1,Math.abs(r),Math.abs(x))&&Math.abs(e-_)<=C*Math.max(1,Math.abs(e),Math.abs(_))&&Math.abs(u-v)<=C*Math.max(1,Math.abs(u),Math.abs(v))&&Math.abs(s-y)<=C*Math.max(1,Math.abs(s),Math.abs(y))&&Math.abs(c-O)<=C*Math.max(1,Math.abs(c),Math.abs(O))&&Math.abs(i-S)<=C*Math.max(1,Math.abs(i),Math.abs(S))&&Math.abs(h-T)<=C*Math.max(1,Math.abs(h),Math.abs(T))&&Math.abs(M-D)<=C*Math.max(1,Math.abs(M),Math.abs(D))&&Math.abs(f-I)<=C*Math.max(1,Math.abs(f),Math.abs(I))&&Math.abs(l-R)<=C*Math.max(1,Math.abs(l),Math.abs(R))&&Math.abs(b-N)<=C*Math.max(1,Math.abs(b),Math.abs(N))&&Math.abs(m-j)<=C*Math.max(1,Math.abs(m),Math.abs(j))&&Math.abs(d-P)<=C*Math.max(1,Math.abs(d),Math.abs(P))&&Math.abs(g-z)<=C*Math.max(1,Math.abs(g),Math.abs(z))&&Math.abs(p-A)<=C*Math.max(1,Math.abs(p),Math.abs(A))},exactEquals:S,frob:function(t){return Math.sqrt(t[0]**2+t[1]**2+t[2]**2+t[3]**2+t[4]**2+t[5]**2+t[6]**2+t[7]**2+t[8]**2+t[9]**2+t[10]**2+t[11]**2+t[12]**2+t[13]**2+t[14]**2+t[15]**2)},fromQuat:function(t,n){const a=n[0],r=n[1],o=n[2],e=n[3],u=a+a,s=r+r,c=o+o,i=a*u,h=r*u,M=r*s,f=o*u,l=o*s,b=o*c,m=e*u,d=e*s,g=e*c;return t[0]=1-M-b,t[1]=h+g,t[2]=f-d,t[3]=0,t[4]=h-g,t[5]=1-i-b,t[6]=l+m,t[7]=0,t[8]=f+d,t[9]=l-m,t[10]=1-i-M,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},fromQuat2:function(t,n){const a=p,r=-n[0],o=-n[1],e=-n[2],u=n[3],s=n[4],c=n[5],i=n[6],h=n[7],M=r*r+o*o+e*e+u*u;return M>0?(a[0]=2*(s*u+h*r+c*e-i*o)/M,a[1]=2*(c*u+h*o+i*r-s*e)/M,a[2]=2*(i*u+h*e+s*o-c*r)/M):(a[0]=2*(s*u+h*r+c*e-i*o),a[1]=2*(c*u+h*o+i*r-s*e),a[2]=2*(i*u+h*e+s*o-c*r)),g(t,n,a),t},fromRotation:m,fromRotationTranslation:g,fromRotationTranslationScale:v,fromRotationTranslationScaleOrigin:y,fromScaling:function(t,n){return t[0]=n[0],t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=n[1],t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=n[2],t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},fromTranslation:b,fromXRotation:d,fromYRotation:function(t,n){const a=Math.sin(n),r=Math.cos(n);return t[0]=r,t[1]=0,t[2]=-a,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=a,t[9]=0,t[10]=r,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},fromZRotation:function(t,n){const a=Math.sin(n),r=Math.cos(n);return t[0]=r,t[1]=a,t[2]=0,t[3]=0,t[4]=-a,t[5]=r,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},frustum:function(t,n,a,r,o,e,u){const s=1/(a-n),c=1/(o-r),i=1/(e-u);return t[0]=2*e*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=2*e*c,t[6]=0,t[7]=0,t[8]=(a+n)*s,t[9]=(o+r)*c,t[10]=(u+e)*i,t[11]=-1,t[12]=0,t[13]=0,t[14]=u*e*2*i,t[15]=0,t},getRotation:_,getScaling:x,getTranslation:q,hasIdentityRotation:D,identity:s,invert:i,invertOrIdentity:function(t,n){return i(t,n)||s(t),t},isOrthoNormal:T,lookAt:function(t,n,a,r){const e=n[0],u=n[1],c=n[2];let i=e-a[0],h=u-a[1],M=c-a[2];const f=(0,o.FD)();if(Math.abs(i)<f&&Math.abs(h)<f&&Math.abs(M)<f)return void s(t);let l=1/Math.sqrt(i*i+h*h+M*M);i*=l,h*=l,M*=l;const b=r[0],m=r[1],d=r[2];let g=m*M-d*h,p=d*i-b*M,q=b*h-m*i;l=Math.sqrt(g*g+p*p+q*q),l?(l=1/l,g*=l,p*=l,q*=l):(g=0,p=0,q=0);let x=h*q-M*p,_=M*g-i*q,v=i*p-h*g;l=Math.sqrt(x*x+_*_+v*v),l?(l=1/l,x*=l,_*=l,v*=l):(x=0,_=0,v=0),t[0]=g,t[1]=x,t[2]=i,t[3]=0,t[4]=p,t[5]=_,t[6]=h,t[7]=0,t[8]=q,t[9]=v,t[10]=M,t[11]=0,t[12]=-(g*e+p*u+q*c),t[13]=-(x*e+_*u+v*c),t[14]=-(i*e+h*u+M*c),t[15]=1},mul:I,multiply:h,multiplyScalar:function(t,n,a){return t[0]=n[0]*a,t[1]=n[1]*a,t[2]=n[2]*a,t[3]=n[3]*a,t[4]=n[4]*a,t[5]=n[5]*a,t[6]=n[6]*a,t[7]=n[7]*a,t[8]=n[8]*a,t[9]=n[9]*a,t[10]=n[10]*a,t[11]=n[11]*a,t[12]=n[12]*a,t[13]=n[13]*a,t[14]=n[14]*a,t[15]=n[15]*a,t},multiplyScalarAndAdd:function(t,n,a,r){return t[0]=n[0]+a[0]*r,t[1]=n[1]+a[1]*r,t[2]=n[2]+a[2]*r,t[3]=n[3]+a[3]*r,t[4]=n[4]+a[4]*r,t[5]=n[5]+a[5]*r,t[6]=n[6]+a[6]*r,t[7]=n[7]+a[7]*r,t[8]=n[8]+a[8]*r,t[9]=n[9]+a[9]*r,t[10]=n[10]+a[10]*r,t[11]=n[11]+a[11]*r,t[12]=n[12]+a[12]*r,t[13]=n[13]+a[13]*r,t[14]=n[14]+a[14]*r,t[15]=n[15]+a[15]*r,t},ortho:function(t,n,a,r,o,e,u){const s=1/(n-a),c=1/(r-o),i=1/(e-u);return t[0]=-2*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*c,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*i,t[11]=0,t[12]=(n+a)*s,t[13]=(o+r)*c,t[14]=(u+e)*i,t[15]=1,t},perspective:function(t,n,a,r,o){const e=1/Math.tan(n/2);let u;return t[0]=e/a,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=-1,t[12]=0,t[13]=0,t[15]=0,null!=o&&o!==1/0?(u=1/(r-o),t[10]=(o+r)*u,t[14]=2*o*r*u):(t[10]=-1,t[14]=-2*r),t},perspectiveFromFieldOfView:function(t,n,a,r){const o=Math.tan(n.upDegrees*Math.PI/180),e=Math.tan(n.downDegrees*Math.PI/180),u=Math.tan(n.leftDegrees*Math.PI/180),s=Math.tan(n.rightDegrees*Math.PI/180),c=2/(u+s),i=2/(o+e);return t[0]=c,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=i,t[6]=0,t[7]=0,t[8]=-(u-s)*c*.5,t[9]=(o-e)*i*.5,t[10]=r/(a-r),t[11]=-1,t[12]=0,t[13]=0,t[14]=r*a/(a-r),t[15]=0,t},rotate:l,rotateX:function(t,n,a){const r=Math.sin(a),o=Math.cos(a),e=n[4],u=n[5],s=n[6],c=n[7],i=n[8],h=n[9],M=n[10],f=n[11];return n!==t&&(t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t[12]=n[12],t[13]=n[13],t[14]=n[14],t[15]=n[15]),t[4]=e*o+i*r,t[5]=u*o+h*r,t[6]=s*o+M*r,t[7]=c*o+f*r,t[8]=i*o-e*r,t[9]=h*o-u*r,t[10]=M*o-s*r,t[11]=f*o-c*r,t},rotateY:function(t,n,a){const r=Math.sin(a),o=Math.cos(a),e=n[0],u=n[1],s=n[2],c=n[3],i=n[8],h=n[9],M=n[10],f=n[11];return n!==t&&(t[4]=n[4],t[5]=n[5],t[6]=n[6],t[7]=n[7],t[12]=n[12],t[13]=n[13],t[14]=n[14],t[15]=n[15]),t[0]=e*o-i*r,t[1]=u*o-h*r,t[2]=s*o-M*r,t[3]=c*o-f*r,t[8]=e*r+i*o,t[9]=u*r+h*o,t[10]=s*r+M*o,t[11]=c*r+f*o,t},rotateZ:function(t,n,a){const r=Math.sin(a),o=Math.cos(a),e=n[0],u=n[1],s=n[2],c=n[3],i=n[4],h=n[5],M=n[6],f=n[7];return n!==t&&(t[8]=n[8],t[9]=n[9],t[10]=n[10],t[11]=n[11],t[12]=n[12],t[13]=n[13],t[14]=n[14],t[15]=n[15]),t[0]=e*o+i*r,t[1]=u*o+h*r,t[2]=s*o+M*r,t[3]=c*o+f*r,t[4]=i*o-e*r,t[5]=h*o-u*r,t[6]=M*o-s*r,t[7]=f*o-c*r,t},scale:f,set:u,str:function(t){return"mat4("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+", "+t[4]+", "+t[5]+", "+t[6]+", "+t[7]+", "+t[8]+", "+t[9]+", "+t[10]+", "+t[11]+", "+t[12]+", "+t[13]+", "+t[14]+", "+t[15]+")"},sub:R,subtract:O,targetTo:function(t,n,a,r){const o=n[0],e=n[1],u=n[2],s=r[0],c=r[1],i=r[2];let h=o-a[0],M=e-a[1],f=u-a[2],l=h*h+M*M+f*f;l>0&&(l=1/Math.sqrt(l),h*=l,M*=l,f*=l);let b=c*f-i*M,m=i*h-s*f,d=s*M-c*h;return l=b*b+m*m+d*d,l>0&&(l=1/Math.sqrt(l),b*=l,m*=l,d*=l),t[0]=b,t[1]=m,t[2]=d,t[3]=0,t[4]=M*d-f*m,t[5]=f*b-h*d,t[6]=h*m-M*b,t[7]=0,t[8]=h,t[9]=M,t[10]=f,t[11]=0,t[12]=o,t[13]=e,t[14]=u,t[15]=1,t},translate:M,transpose:c},Symbol.toStringTag,{value:"Module"}))},87317:(t,n,a)=>{a.d(n,{a:()=>q,b:()=>h,c:()=>o,e:()=>x,f:()=>b,g:()=>u,h:()=>d,j:()=>l,l:()=>g,n:()=>m,s:()=>e,t:()=>p});var r=a(34304);function o(t,n){return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t}function e(t,n,a,r,o){return t[0]=n,t[1]=a,t[2]=r,t[3]=o,t}function u(t,n,a){return t[0]=n[0]+a[0],t[1]=n[1]+a[1],t[2]=n[2]+a[2],t[3]=n[3]+a[3],t}function s(t,n,a){return t[0]=n[0]-a[0],t[1]=n[1]-a[1],t[2]=n[2]-a[2],t[3]=n[3]-a[3],t}function c(t,n,a){return t[0]=n[0]*a[0],t[1]=n[1]*a[1],t[2]=n[2]*a[2],t[3]=n[3]*a[3],t}function i(t,n,a){return t[0]=n[0]/a[0],t[1]=n[1]/a[1],t[2]=n[2]/a[2],t[3]=n[3]/a[3],t}function h(t,n,a){return t[0]=n[0]*a,t[1]=n[1]*a,t[2]=n[2]*a,t[3]=n[3]*a,t}function M(t,n){const a=n[0]-t[0],r=n[1]-t[1],o=n[2]-t[2],e=n[3]-t[3];return Math.sqrt(a*a+r*r+o*o+e*e)}function f(t,n){const a=n[0]-t[0],r=n[1]-t[1],o=n[2]-t[2],e=n[3]-t[3];return a*a+r*r+o*o+e*e}function l(t){const n=t[0],a=t[1],r=t[2],o=t[3];return Math.sqrt(n*n+a*a+r*r+o*o)}function b(t){const n=t[0],a=t[1],r=t[2],o=t[3];return n*n+a*a+r*r+o*o}function m(t,n){const a=n[0],r=n[1],o=n[2],e=n[3];let u=a*a+r*r+o*o+e*e;return u>0&&(u=1/Math.sqrt(u),t[0]=a*u,t[1]=r*u,t[2]=o*u,t[3]=e*u),t}function d(t,n){return t[0]*n[0]+t[1]*n[1]+t[2]*n[2]+t[3]*n[3]}function g(t,n,a,r){const o=n[0],e=n[1],u=n[2],s=n[3];return t[0]=o+r*(a[0]-o),t[1]=e+r*(a[1]-e),t[2]=u+r*(a[2]-u),t[3]=s+r*(a[3]-s),t}function p(t,n,a){const r=n[0],o=n[1],e=n[2],u=n[3];return t[0]=a[0]*r+a[4]*o+a[8]*e+a[12]*u,t[1]=a[1]*r+a[5]*o+a[9]*e+a[13]*u,t[2]=a[2]*r+a[6]*o+a[10]*e+a[14]*u,t[3]=a[3]*r+a[7]*o+a[11]*e+a[15]*u,t}function q(t,n){return t[0]===n[0]&&t[1]===n[1]&&t[2]===n[2]&&t[3]===n[3]}function x(t,n){const a=t[0],o=t[1],e=t[2],u=t[3],s=n[0],c=n[1],i=n[2],h=n[3],M=(0,r.FD)();return Math.abs(a-s)<=M*Math.max(1,Math.abs(a),Math.abs(s))&&Math.abs(o-c)<=M*Math.max(1,Math.abs(o),Math.abs(c))&&Math.abs(e-i)<=M*Math.max(1,Math.abs(e),Math.abs(i))&&Math.abs(u-h)<=M*Math.max(1,Math.abs(u),Math.abs(h))}const _=s,v=c,y=i,O=M,S=f,T=l,D=b;Object.freeze(Object.defineProperty({__proto__:null,add:u,ceil:function(t,n){return t[0]=Math.ceil(n[0]),t[1]=Math.ceil(n[1]),t[2]=Math.ceil(n[2]),t[3]=Math.ceil(n[3]),t},copy:o,copyVec3:function(t,n){return t[0]=n[0],t[1]=n[1],t[2]=n[2],t},dist:O,distance:M,div:y,divide:i,dot:d,equals:x,exactEquals:q,floor:function(t,n){return t[0]=Math.floor(n[0]),t[1]=Math.floor(n[1]),t[2]=Math.floor(n[2]),t[3]=Math.floor(n[3]),t},inverse:function(t,n){return t[0]=1/n[0],t[1]=1/n[1],t[2]=1/n[2],t[3]=1/n[3],t},len:T,length:l,lerp:g,max:function(t,n,a){return t[0]=Math.max(n[0],a[0]),t[1]=Math.max(n[1],a[1]),t[2]=Math.max(n[2],a[2]),t[3]=Math.max(n[3],a[3]),t},min:function(t,n,a){return t[0]=Math.min(n[0],a[0]),t[1]=Math.min(n[1],a[1]),t[2]=Math.min(n[2],a[2]),t[3]=Math.min(n[3],a[3]),t},mul:v,multiply:c,negate:function(t,n){return t[0]=-n[0],t[1]=-n[1],t[2]=-n[2],t[3]=-n[3],t},normalize:m,random:function(t,n=1){const a=r.Ov;let o,e,u,s,c,i;do{o=2*a()-1,e=2*a()-1,c=o*o+e*e}while(c>=1);do{u=2*a()-1,s=2*a()-1,i=u*u+s*s}while(i>=1);const h=Math.sqrt((1-c)/i);return t[0]=n*o,t[1]=n*e,t[2]=n*u*h,t[3]=n*s*h,t},round:function(t,n){return t[0]=Math.round(n[0]),t[1]=Math.round(n[1]),t[2]=Math.round(n[2]),t[3]=Math.round(n[3]),t},scale:h,scaleAndAdd:function(t,n,a,r){return t[0]=n[0]+a[0]*r,t[1]=n[1]+a[1]*r,t[2]=n[2]+a[2]*r,t[3]=n[3]+a[3]*r,t},set:e,sqrDist:S,sqrLen:D,squaredDistance:f,squaredLength:b,str:function(t){return"vec4("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+")"},sub:_,subtract:s,transformMat4:p,transformQuat:function(t,n,a){const r=n[0],o=n[1],e=n[2],u=a[0],s=a[1],c=a[2],i=a[3],h=i*r+s*e-c*o,M=i*o+c*r-u*e,f=i*e+u*o-s*r,l=-u*r-s*o-c*e;return t[0]=h*i+l*-u+M*-c-f*-s,t[1]=M*i+l*-s+f*-u-h*-c,t[2]=f*i+l*-c+h*-s-M*-u,t[3]=n[3],t}},Symbol.toStringTag,{value:"Module"}))},91829:(t,n,a)=>{function r(){return[0,0,0,0]}function o(t,n,a,r){return[t,n,a,r]}function e(t,n,a,r){return[t,n,a,r]}function u(t,n=[0,0,0,0]){const a=Math.min(4,t.length);for(let r=0;r<a;++r)n[r]=t[r];return n}function s(){return o(1,1,1,1)}function c(){return o(1,0,0,0)}function i(){return o(0,1,0,0)}function h(){return o(0,0,1,0)}function M(){return o(0,0,0,1)}a.d(n,{CN:()=>e,Un:()=>l,ci:()=>u,fA:()=>o,uY:()=>f,vt:()=>r});const f=[0,0,0,0],l=s(),b=c(),m=i(),d=h(),g=M();Object.freeze(Object.defineProperty({__proto__:null,ONES:l,UNIT_W:g,UNIT_X:b,UNIT_Y:m,UNIT_Z:d,ZEROS:f,clone:function(t){return[t[0],t[1],t[2],t[3]]},create:r,freeze:e,fromArray:u,fromValues:o,ones:s,unitW:M,unitX:c,unitY:i,unitZ:h,zeros:function(){return[0,0,0,0]}},Symbol.toStringTag,{value:"Module"}))}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[7346],{431:(t,n,e)=>{e.d(n,{o6:()=>y,HY:()=>C,hx:()=>L,Jb:()=>w});var r=e(9318);function o(t,n,e){const r=n/3,o=new Uint32Array(e+1),i=new Uint32Array(e+1),a=(t,n)=>{t<n?o[t+1]++:i[n+1]++};for(let n=0;n<r;n++){const e=t[3*n],r=t[3*n+1],o=t[3*n+2];a(e,r),a(r,o),a(o,e)}let s=0,u=0;for(let t=0;t<e;t++){const n=o[t+1],e=i[t+1];o[t+1]=s,i[t+1]=u,s+=n,u+=e}const c=new Uint32Array(6*r),f=o[e],l=(t,n,e)=>{if(t<n){const r=o[t+1]++;c[2*r]=n,c[2*r+1]=e}else{const r=i[n+1]++;c[2*f+2*r]=t,c[2*f+2*r+1]=e}};for(let n=0;n<r;n++){const e=t[3*n],r=t[3*n+1],o=t[3*n+2];l(e,r,n),l(r,o,n),l(o,e,n)}const h=(t,n)=>{const e=2*t,r=n-t;for(let t=1;t<r;t++){const n=c[e+2*t],r=c[e+2*t+1];let o=t-1;for(;o>=0&&c[e+2*o]>n;o--)c[e+2*o+2]=c[e+2*o],c[e+2*o+3]=c[e+2*o+1];c[e+2*o+2]=n,c[e+2*o+3]=r}};for(let t=0;t<e;t++)h(o[t],o[t+1]),h(f+i[t],f+i[t+1]);const d=new Int32Array(3*r),M=(n,e)=>n===t[3*e]?0:n===t[3*e+1]?1:n===t[3*e+2]?2:-1,g=(t,n)=>{const e=M(t,n);d[3*n+e]=-1},N=(t,n,e,r)=>{const o=M(t,n);d[3*n+o]=r;const i=M(e,r);d[3*r+i]=n};for(let t=0;t<e;t++){let n=o[t];const e=o[t+1];let r=i[t];const a=i[t+1];for(;n<e&&r<a;){const e=c[2*n],o=c[2*f+2*r];e===o?(N(t,c[2*n+1],o,c[2*f+2*r+1]),n++,r++):e<o?(g(t,c[2*n+1]),n++):(g(o,c[2*f+2*r+1]),r++)}for(;n<e;)g(t,c[2*n+1]),n++;for(;r<a;)g(c[2*f+2*r],c[2*f+2*r+1]),r++}return d}var i=e(1843),a=e(46540),s=e(3055),u=e(87811),c=e(38954),f=e(51850),l=e(4431),h=e(34727);function d(t,n,e,r,o,i=2){const a=1/(Math.abs(e)+Math.abs(r)+Math.abs(o)),s=e*a,u=r*a,c=o<=0?(s>=0?1:-1)*(1-Math.abs(u)):s,f=o<=0?(u>=0?1:-1)*(1-Math.abs(s)):u,l=n*i;t[l]=M(c),t[l+1]=M(f)}function M(t){return(0,h.qE)(Math.round(32767*t),-32767,32767)}e(11868),e(34275);class g{updateSettings(t){this.settings=t,this._edgeHashFunction=t.reducedPrecision?I:E}write(t,n,e){R.seed=this._edgeHashFunction(e);const r=R.getIntRange(0,255),o=R.getIntRange(0,this.settings.variants-1),i=R.getFloat(),a=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(n,e.position0),t.position1.setVec(n,e.position1),t.componentIndex.set(n,e.componentIndex),t.variantOffset.set(n,r),t.variantStroke.set(n,o),t.variantExtension.set(n,a)}}const N=new Float32Array(6),p=new Uint32Array(N.buffer),m=new Uint32Array(1);function E(t){return N[0]=t.position0[0],N[1]=t.position0[1],N[2]=t.position0[2],N[3]=t.position1[0],N[4]=t.position1[1],N[5]=t.position1[2],m[0]=31*(31*(31*(31*(31*(166811+p[0])+p[1])+p[2])+p[3])+p[4])+p[5],m[0]}function I(t){const n=N;n[0]=A(t.position0[0]),n[1]=A(t.position0[1]),n[2]=A(t.position0[2]),n[3]=A(t.position1[0]),n[4]=A(t.position1[1]),n[5]=A(t.position1[2]),m[0]=5381;for(let t=0;t<p.length;t++)m[0]=31*m[0]+p[t];return m[0]}const O=1e4;function A(t){return Math.round(t*O)/O}class T{constructor(){this._commonWriter=new g}updateSettings(t){this._commonWriter.updateSettings(t)}allocate(t){return s.gr.createBuffer(t)}write(t,n,e){this._commonWriter.write(t,n,e),(0,c.g)(b,e.faceNormal0,e.faceNormal1),(0,c.n)(b,b);const{typedBuffer:r,typedBufferStride:o}=t.normalCompressed;d(r,n,b[0],b[1],b[2],o)}static{this.Layout=s.gr}static{this.glLayout=(0,l.U)(s.gr,1)}}class S{constructor(){this._commonWriter=new g}updateSettings(t){this._commonWriter.updateSettings(t)}allocate(t){return s.In.createBuffer(t)}write(t,n,e){this._commonWriter.write(t,n,e);{const{typedBuffer:r,typedBufferStride:o}=t.normalCompressed;d(r,n,e.faceNormal0[0],e.faceNormal0[1],e.faceNormal0[2],o)}{const{typedBuffer:r,typedBufferStride:o}=t.normal2Compressed;d(r,n,e.faceNormal1[0],e.faceNormal1[1],e.faceNormal1[2],o)}}static{this.Layout=s.In}static{this.glLayout=(0,l.U)(s.In,1)}}const b=(0,f.vt)(),R=new u.A;var v=e(93406);function y(t){const n=L(t.data,t.skipDeduplicate,t.indices,t.indicesLength);return P.updateSettings(t.writerSettings),U.updateSettings(t.writerSettings),(0,v.K)(n,P,U)}function L(t,n,e,i){if(n){const n=o(e,i,t.count);return new D(e,i,n,t)}const a=(0,r.b)(t.buffer,t.stride/4,{originalIndices:e,originalIndicesLength:i}),u=o(a.indices,i,a.uniqueCount);return{faces:a.indices,facesLength:a.indices.length,neighbors:u,vertices:s.I$.createView(a.buffer)}}class D{constructor(t,n,e,r){this.faces=t,this.facesLength=n,this.neighbors=e,this.vertices=r}}const P=new T,U=new S,w=(0,i.BP)().vec3f(a.r.POSITION0).vec3f(a.r.POSITION1),C=(0,i.BP)().vec3f(a.r.POSITION0).vec3f(a.r.POSITION1).u16(a.r.COMPONENTINDEX)},3055:(t,n,e)=>{e.d(n,{I$:()=>a,In:()=>c,gr:()=>u});var r=e(4431),o=e(1843),i=e(46540);const a=(0,o.BP)().vec3f(i.r.POSITION).u16(i.r.COMPONENTINDEX).freeze(),s=(0,o.BP)().vec2u8(i.r.SIDENESS).freeze(),u=((0,r.U)(s),(0,o.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()),c=(0,o.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]])},4431:(t,n,e)=>{e.d(n,{U:()=>i});var r=e(63907),o=e(74038);function i(t,n=0){const e=t.stride;return Array.from(t.fields.keys()).map((r=>{const i=t.fields.get(r),s=i.constructor.ElementCount,u=a(i.constructor.ElementType),c=i.offset,f=i.optional?.glNormalized??!1;return new o._(r,s,u,c,e,f,n)}))}function a(t){const n=s[t];if(n)return n;throw new Error("BufferType not supported in WebGL")}const s={u8:r.pe.UNSIGNED_BYTE,u16:r.pe.UNSIGNED_SHORT,u32:r.pe.UNSIGNED_INT,i8:r.pe.BYTE,i16:r.pe.SHORT,i32:r.pe.INT,f16:r.pe.HALF_FLOAT,f32:r.pe.FLOAT}},9318:(t,n,e)=>{e.d(n,{b:()=>i});var r=e(34727),o=e(97146);function i(t,n,e){const i=Array.isArray(t),f=i?t.length/n:t.byteLength/(4*n),l=i?t:new Uint32Array(t,0,f*n),h=e?.minReduction??0,d=e?.originalIndices||null,M=d?d.length:0,g=e?.componentOffsets||null;let N=0;if(g)for(let t=0;t<g.length-1;t++){const n=g[t+1]-g[t];n>N&&(N=n)}else N=f;const p=Math.floor(1.1*N)+1;(null==c||c.length<2*p)&&(c=new Uint32Array((0,r.cU)(2*p)));for(let t=0;t<2*p;t++)c[t]=0;let m=0;const E=!!g&&!!d,I=E?M:f;let O=(0,o.my)(f);const A=new Uint32Array(M),T=1.96;let S=0!==h?Math.ceil(4*T*T/(h*h)*h*(1-h)):I,b=1,R=g?g[1]:I;for(let t=0;t<I;t++){if(t===S){const n=1-m/t;if(n+T*Math.sqrt(n*(1-n)/t)<h)return null;S*=2}if(t===R){for(let t=0;t<2*p;t++)c[t]=0;if(d)for(let t=g[b-1];t<g[b];t++)A[t]=O[d[t]];R=g[++b]}const e=E?d[t]:t,r=e*n,o=u(l,r,n);let i=o%p,s=m;for(;0!==c[2*i+1];){if(c[2*i]===o){const t=c[2*i+1]-1;if(a(l,r,t*n,n)){s=O[t];break}}i++,i>=p&&(i-=p)}s===m&&(c[2*i]=o,c[2*i+1]=e+1,m++),O[e]=s}if(0!==h&&1-m/f<h)return null;if(E){for(let t=g[b-1];t<A.length;t++)A[t]=O[d[t]];O=(0,o.uW)(A)}const v=i?new Array(m):new Uint32Array(m*n);m=0;for(let t=0;t<I;t++)O[t]===m&&(s(l,(E?d[t]:t)*n,v,m*n,n),m++);if(d&&!E){const t=new Uint32Array(M);for(let n=0;n<t.length;n++)t[n]=O[d[n]];O=(0,o.uW)(t)}return{buffer:Array.isArray(v)?v:v.buffer,indices:O,uniqueCount:m}}function a(t,n,e,r){for(let o=0;o<r;o++)if(t[n+o]!==t[e+o])return!1;return!0}function s(t,n,e,r,o){for(let i=0;i<o;i++)e[r+i]=t[n+i]}function u(t,n,e){let r=0;for(let o=0;o<e;o++)r=t[n+o]+r|0,r=r+(r<<11)+(r>>>2)|0;return r>>>0}let c=null},34304:(t,n,e)=>{e.d(n,{DF:()=>u,FD:()=>o,Ov:()=>i,ct:()=>c});let r=1e-6;function o(){return r}const i=Math.random,a=Math.PI/180,s=180/Math.PI;function u(t){return t*a}function c(t){return t*s}Object.freeze(Object.defineProperty({__proto__:null,RANDOM:i,equals:function(t,n){return Math.abs(t-n)<=r*Math.max(1,Math.abs(t),Math.abs(n))},getEpsilon:o,setEpsilon:function(t){r=t},toDegree:c,toRadian:u},Symbol.toStringTag,{value:"Module"}))},34727:(t,n,e)=>{e.d(n,{$8:()=>A,Cc:()=>a,Hx:()=>g,Io:()=>O,KJ:()=>c,Sp:()=>h,XM:()=>f,YN:()=>l,ZH:()=>M,cU:()=>o,gg:()=>d,hs:()=>s,kU:()=>u,or:()=>S,pF:()=>R,pq:()=>b,qE:()=>i});const r=new Float32Array(1);function o(t){--t;for(let n=1;n<32;n<<=1)t|=t>>n;return t+1}function i(t,n,e){return Math.min(Math.max(t,n),e)}function a(t,n,e){return t+(n-t)*e}function s(t,n,e,r,o){return a(r,o,(t-n)/(e-n))}function u(t){return t*Math.PI/180}function c(t){return 180*t/Math.PI}function f(t){return Math.acos(i(t,-1,1))}function l(t){return Math.asin(i(t,-1,1))}function h(t,n,e=1e-6){return t===n||!(!Number.isFinite(t)||!Number.isFinite(n))&&(t>n?t-n:n-t)<=e}function d(t,n,e=1e-6){return!h(t,n,e)&&t>n}function M(t,n,e=1e-6){return!h(t,n,e)&&t<n}function g(t,n,e=1e-6){return h(t,n,e)||t>n}const N=new DataView(new ArrayBuffer(Float64Array.BYTES_PER_ELEMENT));function p(t){return N.setFloat64(0,t),N.getBigInt64(0)}const m=BigInt("1000000"),E=I(1);function I(t){const n=p(t=Math.abs(t)),e=function(t){return N.setBigInt64(0,t),N.getFloat64(0)}(n<=m?m:n-m);return Math.abs(t-e)}function O(t,n,e=E){if(t===n)return!0;if(!Number.isFinite(t)||!Number.isFinite(n))return!1;if(null!=e&&I(Math.min(Math.abs(t),Math.abs(n)))<e)return Math.abs(t-n)<=e;const r=p(t),o=p(n);return r<0==o<0&&!((r<o?o-r:r-o)>m)}function A(t){return T(Math.max(-b,Math.min(t,b)))}function T(t){return r[0]=t,r[0]}function S(t){const n=t[0]*t[0]+t[1]*t[1]+t[2]*t[2],e=t[3]*t[3]+t[4]*t[4]+t[5]*t[5],r=t[6]*t[6]+t[7]*t[7]+t[8]*t[8];return!(h(n,1)&&h(e,1)&&h(r,1))}const b=T(34028234663852886e22);function R(t,n,e){if(void 0===e||0==+e)return Math[t](n);if(n=+n,e=+e,isNaN(n)||"number"!=typeof e||e%1!=0)return NaN;let r=n.toString().split("e");return r=(n=Math[t](+(r[0]+"e"+(r[1]?+r[1]-e:-e)))).toString().split("e"),+(r[0]+"e"+(r[1]?+r[1]+e:e))}},38954:(t,n,e)=>{e.d(n,{A:()=>M,B:()=>d,C:()=>f,D:()=>g,E:()=>l,F:()=>_,H:()=>B,a:()=>C,b:()=>p,c:()=>a,d:()=>c,e:()=>b,f:()=>S,g:()=>u,h:()=>N,i:()=>s,j:()=>m,k:()=>I,l:()=>i,m:()=>R,n:()=>T,o:()=>w,p:()=>U,q:()=>y,s:()=>E,t:()=>v,u:()=>A,v:()=>O,w:()=>L,x:()=>h,y:()=>V,z:()=>q});var r=e(51850),o=e(34304);function i(t){const n=t[0],e=t[1],r=t[2];return Math.sqrt(n*n+e*e+r*r)}function a(t,n){return t[0]=n[0],t[1]=n[1],t[2]=n[2],t}function s(t,n,e,r){return t[0]=n,t[1]=e,t[2]=r,t}function u(t,n,e){return t[0]=n[0]+e[0],t[1]=n[1]+e[1],t[2]=n[2]+e[2],t}function c(t,n,e){return t[0]=n[0]-e[0],t[1]=n[1]-e[1],t[2]=n[2]-e[2],t}function f(t,n,e){return t[0]=n[0]*e[0],t[1]=n[1]*e[1],t[2]=n[2]*e[2],t}function l(t,n,e){return t[0]=n[0]/e[0],t[1]=n[1]/e[1],t[2]=n[2]/e[2],t}function h(t,n){return t[0]=Math.abs(n[0]),t[1]=Math.abs(n[1]),t[2]=Math.abs(n[2]),t}function d(t,n){return t[0]=Math.sign(n[0]),t[1]=Math.sign(n[1]),t[2]=Math.sign(n[2]),t}function M(t,n,e){return t[0]=Math.min(n[0],e[0]),t[1]=Math.min(n[1],e[1]),t[2]=Math.min(n[2],e[2]),t}function g(t,n,e){return t[0]=Math.max(n[0],e[0]),t[1]=Math.max(n[1],e[1]),t[2]=Math.max(n[2],e[2]),t}function N(t,n,e){return t[0]=n[0]*e,t[1]=n[1]*e,t[2]=n[2]*e,t}function p(t,n,e,r){return t[0]=n[0]+e[0]*r,t[1]=n[1]+e[1]*r,t[2]=n[2]+e[2]*r,t}function m(t,n){const e=n[0]-t[0],r=n[1]-t[1],o=n[2]-t[2];return Math.sqrt(e*e+r*r+o*o)}function E(t,n){const e=n[0]-t[0],r=n[1]-t[1],o=n[2]-t[2];return e*e+r*r+o*o}function I(t){const n=t[0],e=t[1],r=t[2];return n*n+e*e+r*r}function O(t,n){return t[0]=-n[0],t[1]=-n[1],t[2]=-n[2],t}function A(t,n){return t[0]=1/n[0],t[1]=1/n[1],t[2]=1/n[2],t}function T(t,n){const e=n[0],r=n[1],o=n[2];let i=e*e+r*r+o*o;return i>0&&(i=1/Math.sqrt(i),t[0]=n[0]*i,t[1]=n[1]*i,t[2]=n[2]*i),t}function S(t,n){return t[0]*n[0]+t[1]*n[1]+t[2]*n[2]}function b(t,n,e){const r=n[0],o=n[1],i=n[2],a=e[0],s=e[1],u=e[2];return t[0]=o*u-i*s,t[1]=i*a-r*u,t[2]=r*s-o*a,t}function R(t,n,e,r){const o=n[0],i=n[1],a=n[2];return t[0]=o+r*(e[0]-o),t[1]=i+r*(e[1]-i),t[2]=a+r*(e[2]-a),t}function v(t,n,e){const r=n[0],o=n[1],i=n[2];return t[0]=e[0]*r+e[4]*o+e[8]*i+e[12],t[1]=e[1]*r+e[5]*o+e[9]*i+e[13],t[2]=e[2]*r+e[6]*o+e[10]*i+e[14],t}function y(t,n,e){const r=n[0],o=n[1],i=n[2];return t[0]=r*e[0]+o*e[3]+i*e[6],t[1]=r*e[1]+o*e[4]+i*e[7],t[2]=r*e[2]+o*e[5]+i*e[8],t}function L(t,n,e){const r=e[0],o=e[1],i=e[2],a=e[3],s=n[0],u=n[1],c=n[2],f=o*c-i*u,l=i*s-r*c,h=r*u-o*s,d=o*h-i*l,M=i*f-r*h,g=r*l-o*f,N=2*a;return t[0]=s+f*N+2*d,t[1]=u+l*N+2*M,t[2]=c+h*N+2*g,t}const D=(0,r.vt)(),P=(0,r.vt)();function U(t,n){return t[0]===n[0]&&t[1]===n[1]&&t[2]===n[2]}function w(t,n,e){const r=e[0]-n[0],o=e[1]-n[1],i=e[2]-n[2];let a=r*r+o*o+i*i;return a>0?(a=1/Math.sqrt(a),t[0]=r*a,t[1]=o*a,t[2]=i*a,t):(t[0]=0,t[1]=0,t[2]=0,t)}const C=c,F=f,x=l,_=m,V=E,B=i,q=I;Object.freeze(Object.defineProperty({__proto__:null,abs:h,add:u,angle:function(t,n){T(D,t),T(P,n);const e=S(D,P);return e>1?0:e<-1?Math.PI:Math.acos(e)},bezier:function(t,n,e,r,o,i){const a=1-i,s=a*a,u=i*i,c=s*a,f=3*i*s,l=3*u*a,h=u*i;return t[0]=n[0]*c+e[0]*f+r[0]*l+o[0]*h,t[1]=n[1]*c+e[1]*f+r[1]*l+o[1]*h,t[2]=n[2]*c+e[2]*f+r[2]*l+o[2]*h,t},ceil:function(t,n){return t[0]=Math.ceil(n[0]),t[1]=Math.ceil(n[1]),t[2]=Math.ceil(n[2]),t},clamp:function(t,n=0,e=1){return t[0]=Math.min(Math.max(t[0],n),e),t[1]=Math.min(Math.max(t[1],n),e),t[2]=Math.min(Math.max(t[2],n),e),t},copy:a,cross:b,crossAndNormalize:function(t,n,e){const r=n[0],o=n[1],i=n[2],a=e[0],s=e[1],u=e[2],c=o*u-i*s,f=i*a-r*u,l=r*s-o*a,h=Math.sqrt(c*c+f*f+l*l);return t[0]=c/h,t[1]=f/h,t[2]=l/h,t},direction:w,dist:_,distance:m,div:x,divide:l,dot:S,equals:function(t,n){if(t===n)return!0;const e=t[0],r=t[1],i=t[2],a=n[0],s=n[1],u=n[2],c=(0,o.FD)();return Math.abs(e-a)<=c*Math.max(1,Math.abs(e),Math.abs(a))&&Math.abs(r-s)<=c*Math.max(1,Math.abs(r),Math.abs(s))&&Math.abs(i-u)<=c*Math.max(1,Math.abs(i),Math.abs(u))},exactEquals:U,floor:function(t,n){return t[0]=Math.floor(n[0]),t[1]=Math.floor(n[1]),t[2]=Math.floor(n[2]),t},hermite:function(t,n,e,r,o,i){const a=i*i,s=a*(2*i-3)+1,u=a*(i-2)+i,c=a*(i-1),f=a*(3-2*i);return t[0]=n[0]*s+e[0]*u+r[0]*c+o[0]*f,t[1]=n[1]*s+e[1]*u+r[1]*c+o[1]*f,t[2]=n[2]*s+e[2]*u+r[2]*c+o[2]*f,t},inverse:A,len:B,length:i,lerp:R,max:g,min:M,mul:F,multiply:f,negate:O,normalize:T,random:function(t,n=1){const e=o.Ov,r=2*e()*Math.PI,i=2*e()-1,a=Math.sqrt(1-i*i)*n;return t[0]=Math.cos(r)*a,t[1]=Math.sin(r)*a,t[2]=i*n,t},rotateX:function(t,n,e,r){const o=[],i=[];return o[0]=n[0]-e[0],o[1]=n[1]-e[1],o[2]=n[2]-e[2],i[0]=o[0],i[1]=o[1]*Math.cos(r)-o[2]*Math.sin(r),i[2]=o[1]*Math.sin(r)+o[2]*Math.cos(r),t[0]=i[0]+e[0],t[1]=i[1]+e[1],t[2]=i[2]+e[2],t},rotateY:function(t,n,e,r){const o=[],i=[];return o[0]=n[0]-e[0],o[1]=n[1]-e[1],o[2]=n[2]-e[2],i[0]=o[2]*Math.sin(r)+o[0]*Math.cos(r),i[1]=o[1],i[2]=o[2]*Math.cos(r)-o[0]*Math.sin(r),t[0]=i[0]+e[0],t[1]=i[1]+e[1],t[2]=i[2]+e[2],t},rotateZ:function(t,n,e,r){const o=[],i=[];return o[0]=n[0]-e[0],o[1]=n[1]-e[1],o[2]=n[2]-e[2],i[0]=o[0]*Math.cos(r)-o[1]*Math.sin(r),i[1]=o[0]*Math.sin(r)+o[1]*Math.cos(r),i[2]=o[2],t[0]=i[0]+e[0],t[1]=i[1]+e[1],t[2]=i[2]+e[2],t},round:function(t,n){return t[0]=Math.round(n[0]),t[1]=Math.round(n[1]),t[2]=Math.round(n[2]),t},scale:N,scaleAndAdd:p,set:s,sign:d,sqrDist:V,sqrLen:q,squaredDistance:E,squaredLength:I,str:function(t){return"vec3("+t[0]+", "+t[1]+", "+t[2]+")"},sub:C,subtract:c,transformMat3:y,transformMat4:v,transformQuat:L},Symbol.toStringTag,{value:"Module"}))},46540:(t,n,e)=>{var r;e.d(n,{r:()=>r}),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"}(r||(r={}))},48163:(t,n,e)=>{function r(){return[0,0]}function o(t,n){return[t,n]}function i(){return o(1,1)}function a(){return o(1,0)}function s(){return o(0,1)}e.d(n,{Un:()=>u,fA:()=>o,vt:()=>r});const u=i(),c=a(),f=s();Object.freeze(Object.defineProperty({__proto__:null,ONES:u,UNIT_X:c,UNIT_Y:f,ZEROS:[0,0],clone:function(t){return[t[0],t[1]]},create:r,freeze:function(t,n){return[t,n]},fromArray:function(t,n=[0,0]){const e=Math.min(2,t.length);for(let r=0;r<e;++r)n[r]=t[r];return n},fromValues:o,ones:i,unitX:a,unitY:s,zeros:function(){return[0,0]}},Symbol.toStringTag,{value:"Module"}))},51850:(t,n,e)=>{function r(){return[0,0,0]}function o(t){return[t[0],t[1],t[2]]}function i(t,n,e){return[t,n,e]}function a(t,n,e){return[t,n,e]}function s(t,n=[0,0,0]){const e=Math.min(3,t.length);for(let r=0;r<e;++r)n[r]=t[r];return n}function u(){return i(1,1,1)}function c(){return i(1,0,0)}function f(){return i(0,1,0)}function l(){return i(0,0,1)}e.d(n,{CN:()=>a,Cb:()=>N,Cw:()=>M,JP:()=>g,Un:()=>d,ci:()=>s,fA:()=>i,o8:()=>o,uY:()=>h,vt:()=>r});const h=[0,0,0],d=u(),M=c(),g=f(),N=l();Object.freeze(Object.defineProperty({__proto__:null,ONES:d,UNIT_X:M,UNIT_Y:g,UNIT_Z:N,ZEROS:h,clone:o,create:r,freeze:a,fromArray:s,fromValues:i,ones:u,unitX:c,unitY:f,unitZ:l,zeros:function(){return[0,0,0]}},Symbol.toStringTag,{value:"Module"}))},71936:(t,n,e)=>{e.r(n),e.d(n,{default:()=>u});var r=e(1843);function o(t,n){return n.push(t.buffer),{buffer:t.buffer,layout:new r.l5(t.layout)}}var i=e(3055),a=e(93406),s=e(431);class u{async extract(t){const n=c(t),e=(0,s.o6)(n),r=[n.data.buffer];return{result:f(e,r),transferList:r}}async extractComponentsEdgeLocations(t){const n=c(t),e=(0,s.hx)(n.data,n.skipDeduplicate,n.indices,n.indicesLength),r=[];return{result:o((0,a.K)(e,h).regular.instancesData,r),transferList:r}}async extractEdgeLocations(t){const n=c(t),e=(0,s.hx)(n.data,n.skipDeduplicate,n.indices,n.indicesLength),r=[];return{result:o((0,a.K)(e,l).regular.instancesData,r),transferList:r}}}function c(t){return{data:i.I$.createView(t.dataBuffer),indices:"Uint32Array"===t.indicesType?new Uint32Array(t.indices):"Uint16Array"===t.indicesType?new Uint16Array(t.indices):t.indices,indicesLength:t.indicesLength,writerSettings:t.writerSettings,skipDeduplicate:t.skipDeduplicate}}function f(t,n){return n.push(t.regular.lodInfo.lengths.buffer),n.push(t.silhouette.lodInfo.lengths.buffer),{regular:{instancesData:o(t.regular.instancesData,n),lodInfo:{lengths:t.regular.lodInfo.lengths.buffer}},silhouette:{instancesData:o(t.silhouette.instancesData,n),lodInfo:{lengths:t.silhouette.lodInfo.lengths.buffer}},averageEdgeLength:t.averageEdgeLength}}const l=new class{allocate(t){return s.Jb.createBuffer(t)}trim(t,n){return t.slice(0,n)}write(t,n,e){t.position0.setVec(n,e.position0),t.position1.setVec(n,e.position1)}},h=new class{allocate(t){return s.HY.createBuffer(t)}trim(t,n){return t.slice(0,n)}write(t,n,e){t.position0.setVec(n,e.position0),t.position1.setVec(n,e.position1),t.componentIndex.set(n,e.componentIndex)}}},74038:(t,n,e)=>{e.d(n,{_:()=>r});class r{constructor(t,n,e,r,o,i=!1,a=0){this.name=t,this.count=n,this.type=e,this.offset=r,this.stride=o,this.normalized=i,this.divisor=a}}},87317:(t,n,e)=>{e.d(n,{a:()=>E,b:()=>f,c:()=>o,e:()=>I,f:()=>M,g:()=>a,h:()=>N,j:()=>d,l:()=>p,n:()=>g,s:()=>i,t:()=>m});var r=e(34304);function o(t,n){return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t}function i(t,n,e,r,o){return t[0]=n,t[1]=e,t[2]=r,t[3]=o,t}function a(t,n,e){return t[0]=n[0]+e[0],t[1]=n[1]+e[1],t[2]=n[2]+e[2],t[3]=n[3]+e[3],t}function s(t,n,e){return t[0]=n[0]-e[0],t[1]=n[1]-e[1],t[2]=n[2]-e[2],t[3]=n[3]-e[3],t}function u(t,n,e){return t[0]=n[0]*e[0],t[1]=n[1]*e[1],t[2]=n[2]*e[2],t[3]=n[3]*e[3],t}function c(t,n,e){return t[0]=n[0]/e[0],t[1]=n[1]/e[1],t[2]=n[2]/e[2],t[3]=n[3]/e[3],t}function f(t,n,e){return t[0]=n[0]*e,t[1]=n[1]*e,t[2]=n[2]*e,t[3]=n[3]*e,t}function l(t,n){const e=n[0]-t[0],r=n[1]-t[1],o=n[2]-t[2],i=n[3]-t[3];return Math.sqrt(e*e+r*r+o*o+i*i)}function h(t,n){const e=n[0]-t[0],r=n[1]-t[1],o=n[2]-t[2],i=n[3]-t[3];return e*e+r*r+o*o+i*i}function d(t){const n=t[0],e=t[1],r=t[2],o=t[3];return Math.sqrt(n*n+e*e+r*r+o*o)}function M(t){const n=t[0],e=t[1],r=t[2],o=t[3];return n*n+e*e+r*r+o*o}function g(t,n){const e=n[0],r=n[1],o=n[2],i=n[3];let a=e*e+r*r+o*o+i*i;return a>0&&(a=1/Math.sqrt(a),t[0]=e*a,t[1]=r*a,t[2]=o*a,t[3]=i*a),t}function N(t,n){return t[0]*n[0]+t[1]*n[1]+t[2]*n[2]+t[3]*n[3]}function p(t,n,e,r){const o=n[0],i=n[1],a=n[2],s=n[3];return t[0]=o+r*(e[0]-o),t[1]=i+r*(e[1]-i),t[2]=a+r*(e[2]-a),t[3]=s+r*(e[3]-s),t}function m(t,n,e){const r=n[0],o=n[1],i=n[2],a=n[3];return t[0]=e[0]*r+e[4]*o+e[8]*i+e[12]*a,t[1]=e[1]*r+e[5]*o+e[9]*i+e[13]*a,t[2]=e[2]*r+e[6]*o+e[10]*i+e[14]*a,t[3]=e[3]*r+e[7]*o+e[11]*i+e[15]*a,t}function E(t,n){return t[0]===n[0]&&t[1]===n[1]&&t[2]===n[2]&&t[3]===n[3]}function I(t,n){const e=t[0],o=t[1],i=t[2],a=t[3],s=n[0],u=n[1],c=n[2],f=n[3],l=(0,r.FD)();return Math.abs(e-s)<=l*Math.max(1,Math.abs(e),Math.abs(s))&&Math.abs(o-u)<=l*Math.max(1,Math.abs(o),Math.abs(u))&&Math.abs(i-c)<=l*Math.max(1,Math.abs(i),Math.abs(c))&&Math.abs(a-f)<=l*Math.max(1,Math.abs(a),Math.abs(f))}const O=s,A=u,T=c,S=l,b=h,R=d,v=M;Object.freeze(Object.defineProperty({__proto__:null,add:a,ceil:function(t,n){return t[0]=Math.ceil(n[0]),t[1]=Math.ceil(n[1]),t[2]=Math.ceil(n[2]),t[3]=Math.ceil(n[3]),t},copy:o,copyVec3:function(t,n){return t[0]=n[0],t[1]=n[1],t[2]=n[2],t},dist:S,distance:l,div:T,divide:c,dot:N,equals:I,exactEquals:E,floor:function(t,n){return t[0]=Math.floor(n[0]),t[1]=Math.floor(n[1]),t[2]=Math.floor(n[2]),t[3]=Math.floor(n[3]),t},inverse:function(t,n){return t[0]=1/n[0],t[1]=1/n[1],t[2]=1/n[2],t[3]=1/n[3],t},len:R,length:d,lerp:p,max:function(t,n,e){return t[0]=Math.max(n[0],e[0]),t[1]=Math.max(n[1],e[1]),t[2]=Math.max(n[2],e[2]),t[3]=Math.max(n[3],e[3]),t},min:function(t,n,e){return t[0]=Math.min(n[0],e[0]),t[1]=Math.min(n[1],e[1]),t[2]=Math.min(n[2],e[2]),t[3]=Math.min(n[3],e[3]),t},mul:A,multiply:u,negate:function(t,n){return t[0]=-n[0],t[1]=-n[1],t[2]=-n[2],t[3]=-n[3],t},normalize:g,random:function(t,n=1){const e=r.Ov;let o,i,a,s,u,c;do{o=2*e()-1,i=2*e()-1,u=o*o+i*i}while(u>=1);do{a=2*e()-1,s=2*e()-1,c=a*a+s*s}while(c>=1);const f=Math.sqrt((1-u)/c);return t[0]=n*o,t[1]=n*i,t[2]=n*a*f,t[3]=n*s*f,t},round:function(t,n){return t[0]=Math.round(n[0]),t[1]=Math.round(n[1]),t[2]=Math.round(n[2]),t[3]=Math.round(n[3]),t},scale:f,scaleAndAdd:function(t,n,e,r){return t[0]=n[0]+e[0]*r,t[1]=n[1]+e[1]*r,t[2]=n[2]+e[2]*r,t[3]=n[3]+e[3]*r,t},set:i,sqrDist:b,sqrLen:v,squaredDistance:h,squaredLength:M,str:function(t){return"vec4("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+")"},sub:O,subtract:s,transformMat4:m,transformQuat:function(t,n,e){const r=n[0],o=n[1],i=n[2],a=e[0],s=e[1],u=e[2],c=e[3],f=c*r+s*i-u*o,l=c*o+u*r-a*i,h=c*i+a*o-s*r,d=-a*r-s*o-u*i;return t[0]=f*c+d*-a+l*-u-h*-s,t[1]=l*c+d*-s+h*-a-f*-u,t[2]=h*c+d*-u+f*-s-l*-a,t[3]=n[3],t}},Symbol.toStringTag,{value:"Module"}))},91829:(t,n,e)=>{function r(){return[0,0,0,0]}function o(t,n,e,r){return[t,n,e,r]}function i(t,n,e,r){return[t,n,e,r]}function a(t,n=[0,0,0,0]){const e=Math.min(4,t.length);for(let r=0;r<e;++r)n[r]=t[r];return n}function s(){return o(1,1,1,1)}function u(){return o(1,0,0,0)}function c(){return o(0,1,0,0)}function f(){return o(0,0,1,0)}function l(){return o(0,0,0,1)}e.d(n,{CN:()=>i,Un:()=>d,ci:()=>a,fA:()=>o,uY:()=>h,vt:()=>r});const h=[0,0,0,0],d=s(),M=u(),g=c(),N=f(),p=l();Object.freeze(Object.defineProperty({__proto__:null,ONES:d,UNIT_W:p,UNIT_X:M,UNIT_Y:g,UNIT_Z:N,ZEROS:h,clone:function(t){return[t[0],t[1],t[2],t[3]]},create:r,freeze:i,fromArray:a,fromValues:o,ones:s,unitW:l,unitX:u,unitY:c,unitZ:f,zeros:function(){return[0,0,0,0]}},Symbol.toStringTag,{value:"Module"}))},93406:(t,n,e)=>{e.d(n,{K:()=>u});var r=e(34727),o=e(3694),i=e(38954),a=e(51850);const s=-1;function u(t,n,e){const r=t.vertices.position,o=t.vertices.componentIndex,a=g.position0,u=g.position1,l=g.faceNormal0,d=g.faceNormal1,{edges:M,normals:N}=f(t),p=M.length/4,m=n.allocate(p);let E=0;const I=p,T=e?.allocate(I);let b=0,R=0,v=0;h.length=0;for(let t=0;t<p;++t){const n=4*t;r.getVec(M.data[n],a),r.getVec(M.data[n+1],u);const e=h.pushNew();e.index=4*t,e.length=(0,i.j)(a,u)}h.sort(((t,n)=>n.length-t.length));const y=new Array,L=new Array;h.forAll((({length:t,index:f})=>{const h=M.data[f],p=M.data[f+1],I=M.data[f+2],D=M.data[f+3],P=D===s;if(r.getVec(h,a),r.getVec(p,u),P){const t=3*I;(0,i.i)(l,N.data[t],N.data[t+1],N.data[t+2]),(0,i.c)(d,l),g.componentIndex=o.get(h),g.cosAngle=(0,i.f)(l,d)}else{let t=3*I;if((0,i.i)(l,N.data[t],N.data[t+1],N.data[t+2]),t=3*D,(0,i.i)(d,N.data[t],N.data[t+1],N.data[t+2]),g.componentIndex=o.get(h),g.cosAngle=(0,i.f)(l,d),function(t,n){return t.cosAngle>n}(g,A))return;g.cosAngle<-.9999&&(0,i.c)(d,l)}R+=t,v++,P||function(t,n){return t.cosAngle<n}(g,S)?(n.write(m,E++,g),y.push(t)):c(g,O)&&(T&&e&&e.write(T,b++,g),L.push(t))}));const D=new Float32Array(y.reverse()),P=new Float32Array(L.reverse()),U=T&&e?{instancesData:T.slice(0,b),lodInfo:{lengths:P}}:void 0;return{regular:{instancesData:m.slice(0,E),lodInfo:{lengths:D}},silhouette:U,averageEdgeLength:R/v}}function c(t,n){const e=(0,r.XM)(t.cosAngle);return(0,i.o)(p,t.position1,t.position0),e*((0,i.f)((0,i.e)(N,t.faceNormal0,t.faceNormal1),p)>0?-1:1)>n}function f(t){const n=t.faces.length/3,e=t.faces,r=t.neighbors,o=t.vertices.position;d.length=M.length=0;for(let t=0;t<n;t++){const n=3*t,a=r[n],u=r[n+1],c=r[n+2],f=e[n],l=e[n+1],h=e[n+2];o.getVec(f,m),o.getVec(l,E),o.getVec(h,I),(0,i.d)(E,E,m),(0,i.d)(I,I,m),(0,i.e)(m,E,I),(0,i.n)(m,m),M.pushArray(m),(a===s||f<l)&&(d.push(f),d.push(l),d.push(t),d.push(a)),(u===s||l<h)&&(d.push(l),d.push(h),d.push(t),d.push(u)),(c===s||h<f)&&(d.push(h),d.push(f),d.push(t),d.push(c))}return{edges:d,normals:M}}class l{constructor(){this.index=0,this.length=0}}const h=new o.A({allocator:t=>t||new l,deallocator:null}),d=new o.A({deallocator:null}),M=new o.A({deallocator:null}),g=new class{constructor(){this.position0=(0,a.vt)(),this.position1=(0,a.vt)(),this.faceNormal0=(0,a.vt)(),this.faceNormal1=(0,a.vt)(),this.componentIndex=0,this.cosAngle=0}},N=(0,a.vt)(),p=(0,a.vt)(),m=(0,a.vt)(),E=(0,a.vt)(),I=(0,a.vt)(),O=(0,r.kU)(4),A=Math.cos(O),T=(0,r.kU)(35),S=Math.cos(T)}}]);