@arcgis/core 4.22.0-next.20211028 → 4.22.0-next.20211101

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 (190) hide show
  1. package/Color.js +1 -1
  2. package/WebMap.js +1 -1
  3. package/WebScene.js +1 -1
  4. package/assets/esri/core/t9n/Units_bg.json +1 -1
  5. package/assets/esri/core/workers/RemoteClient.js +1 -1
  6. package/assets/esri/core/workers/chunks/055eb4c457b52408da25.js +1 -0
  7. package/assets/esri/core/workers/chunks/{4c083589f3d697038ff6.js → 081b90873ef847797c89.js} +1 -1
  8. package/assets/esri/core/workers/chunks/0ce682bec084b1b154ed.js +1 -0
  9. package/assets/esri/core/workers/chunks/158e4549992401e5cbc0.js +1 -0
  10. package/assets/esri/core/workers/chunks/1b0ad088785fe641df2d.js +1 -0
  11. package/assets/esri/core/workers/chunks/{f20fc726e86ae32ed81b.js → 33288c56555d4ffae59f.js} +1 -1
  12. package/assets/esri/core/workers/chunks/3e7a0a81a1f07bce3b30.js +1 -0
  13. package/assets/esri/core/workers/chunks/4e6178bdd453000ea5f3.js +1 -0
  14. package/assets/esri/core/workers/chunks/{f01881e1288d7a9b8aec.js → 5afbeefbf7961a112668.js} +1 -1
  15. package/assets/esri/core/workers/chunks/{988baf3cb9e6f93eaed2.js → 5da8be2bf60328d81ca6.js} +1 -1
  16. package/assets/esri/core/workers/chunks/{5e1a04b2314b5e0b1083.js → 637437cbdae969b83350.js} +1 -1
  17. package/assets/esri/core/workers/chunks/{8bc9f5433d6e9e535979.js → 7eca3800807b2cd3fda0.js} +1 -1
  18. package/assets/esri/core/workers/chunks/{ac7101f3b76b061789a0.js → 90e14687ff00f8df32c3.js} +1 -1
  19. package/assets/esri/core/workers/chunks/977b805b47cb102ac991.js +1 -0
  20. package/assets/esri/core/workers/chunks/9c04134791311fd9e2c0.js +1 -0
  21. package/assets/esri/core/workers/chunks/9e52510bd9e9408583de.js +1 -0
  22. package/assets/esri/core/workers/chunks/a884e173d8ce31a3fb1d.js +1 -0
  23. package/assets/esri/core/workers/chunks/ad56c80411821b7b17c0.js +1 -0
  24. package/assets/esri/core/workers/chunks/{7d6126ada4e470cd8629.js → b7e979282ff4350cd70c.js} +1 -1
  25. package/assets/esri/core/workers/chunks/{d31648848a4e9ba50cc4.js → bcdc2a6081126973b4a2.js} +1 -1
  26. package/assets/esri/core/workers/chunks/c389ce157346aec746f0.js +1 -0
  27. package/assets/esri/core/workers/chunks/{b356b589b4aa27d7df04.js → cb5c42f598064c0c4eaa.js} +1 -1
  28. package/assets/esri/core/workers/chunks/{69e0c87c4d4c4e337bd3.js → d2848874cec36a24aaa5.js} +1 -1
  29. package/assets/esri/core/workers/chunks/d9a1212cdaf2d5493538.js +1 -0
  30. package/assets/esri/core/workers/chunks/dc91bb8e59a44db4388e.js +1 -0
  31. package/assets/esri/core/workers/chunks/{a9c8ded0cf694562e4dc.js → e0e761650344efdc7517.js} +1 -1
  32. package/assets/esri/core/workers/chunks/e133dfa8c66c6bee9251.js +1 -0
  33. package/assets/esri/core/workers/chunks/f0b92d01caea641a4a7a.js +1 -0
  34. package/assets/esri/themes/base/widgets/_FloorFilter.scss +1 -1
  35. package/assets/esri/themes/dark/main.css +1 -1
  36. package/assets/esri/themes/dark-blue/main.css +1 -1
  37. package/assets/esri/themes/dark-green/main.css +1 -1
  38. package/assets/esri/themes/dark-purple/main.css +1 -1
  39. package/assets/esri/themes/dark-red/main.css +1 -1
  40. package/assets/esri/themes/light/main.css +1 -1
  41. package/assets/esri/themes/light/view.css +1 -1
  42. package/assets/esri/themes/light-blue/main.css +1 -1
  43. package/assets/esri/themes/light-green/main.css +1 -1
  44. package/assets/esri/themes/light-purple/main.css +1 -1
  45. package/assets/esri/themes/light-red/main.css +1 -1
  46. package/assets/esri/widgets/AreaMeasurement2D/t9n/AreaMeasurement2D_bg.json +1 -1
  47. package/assets/esri/widgets/AreaMeasurement3D/t9n/AreaMeasurement3D_bg.json +1 -1
  48. package/assets/esri/widgets/Attribution/t9n/Attribution_bg.json +1 -1
  49. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_bg.json +1 -1
  50. package/assets/esri/widgets/BasemapLayerList/t9n/BasemapLayerList_bg.json +1 -1
  51. package/assets/esri/widgets/BasemapToggle/t9n/BasemapToggle_bg.json +1 -1
  52. package/assets/esri/widgets/Bookmarks/t9n/Bookmarks_bg.json +1 -1
  53. package/assets/esri/widgets/Compass/t9n/Compass_bg.json +1 -1
  54. package/assets/esri/widgets/CoordinateConversion/t9n/CoordinateConversion_bg.json +1 -1
  55. package/assets/esri/widgets/Daylight/t9n/Daylight_bg.json +1 -1
  56. package/assets/esri/widgets/DirectLineMeasurement3D/t9n/DirectLineMeasurement3D_bg.json +1 -1
  57. package/assets/esri/widgets/Directions/t9n/Directions_bg.json +1 -1
  58. package/assets/esri/widgets/Directions/t9n/Printout_bg.json +1 -1
  59. package/assets/esri/widgets/DistanceMeasurement2D/t9n/DistanceMeasurement2D_bg.json +1 -1
  60. package/assets/esri/widgets/Editor/t9n/Editor_bg.json +1 -1
  61. package/assets/esri/widgets/ElevationProfile/t9n/ElevationProfile_bg.json +1 -1
  62. package/assets/esri/widgets/Expand/t9n/Expand_bg.json +1 -1
  63. package/assets/esri/widgets/Feature/t9n/Feature_bg.json +1 -1
  64. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_bg.json +1 -1
  65. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_bg.json +1 -1
  66. package/assets/esri/widgets/FloorFilter/t9n/FloorFilter_bg.json +1 -1
  67. package/assets/esri/widgets/Fullscreen/t9n/Fullscreen_bg.json +1 -1
  68. package/assets/esri/widgets/Histogram/t9n/Histogram_bg.json +1 -1
  69. package/assets/esri/widgets/HistogramRangeSlider/t9n/HistogramRangeSlider_bg.json +1 -1
  70. package/assets/esri/widgets/Home/t9n/Home_bg.json +1 -1
  71. package/assets/esri/widgets/LayerList/t9n/LayerList_bg.json +1 -1
  72. package/assets/esri/widgets/Legend/t9n/Legend_bg.json +1 -1
  73. package/assets/esri/widgets/LineOfSight/t9n/LineOfSight_bg.json +1 -1
  74. package/assets/esri/widgets/Locate/t9n/Locate_bg.json +1 -1
  75. package/assets/esri/widgets/Measurement/t9n/Measurement_bg.json +1 -1
  76. package/assets/esri/widgets/NavigationToggle/t9n/NavigationToggle_bg.json +1 -1
  77. package/assets/esri/widgets/Popup/t9n/Popup_bg.json +1 -1
  78. package/assets/esri/widgets/Print/t9n/Print_bg.json +1 -1
  79. package/assets/esri/widgets/ScaleBar/t9n/ScaleBar_bg.json +1 -1
  80. package/assets/esri/widgets/ScaleRangeSlider/t9n/ScaleRangeSlider_bg.json +1 -1
  81. package/assets/esri/widgets/Search/t9n/Search_bg.json +1 -1
  82. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_bg.json +1 -1
  83. package/assets/esri/widgets/Sketch/t9n/Sketch_bg.json +1 -1
  84. package/assets/esri/widgets/Slice/t9n/Slice_bg.json +1 -1
  85. package/assets/esri/widgets/Slider/t9n/Slider_bg.json +1 -1
  86. package/assets/esri/widgets/Swipe/t9n/Swipe_bg.json +1 -1
  87. package/assets/esri/widgets/TimeSlider/t9n/TimeSlider_bg.json +1 -1
  88. package/assets/esri/widgets/Track/t9n/Track_bg.json +1 -1
  89. package/assets/esri/widgets/Zoom/t9n/Zoom_bg.json +1 -1
  90. package/assets/esri/widgets/smartMapping/ClassedColorSlider/t9n/ClassedColorSlider_bg.json +1 -1
  91. package/assets/esri/widgets/smartMapping/ClassedSizeSlider/t9n/ClassedSizeSlider_bg.json +1 -1
  92. package/assets/esri/widgets/smartMapping/ColorSizeSlider/t9n/ColorSizeSlider_bg.json +1 -1
  93. package/assets/esri/widgets/smartMapping/ColorSlider/t9n/ColorSlider_bg.json +1 -1
  94. package/assets/esri/widgets/smartMapping/HeatmapSlider/t9n/HeatmapSlider_bg.json +1 -1
  95. package/assets/esri/widgets/smartMapping/OpacitySlider/t9n/OpacitySlider_bg.json +1 -1
  96. package/assets/esri/widgets/smartMapping/SizeSlider/t9n/SizeSlider_bg.json +1 -1
  97. package/assets/esri/widgets/support/SelectionToolbar/t9n/SelectionToolbar_bg.json +1 -1
  98. package/assets/esri/widgets/support/SnappingControls/t9n/SnappingControls_bg.json +1 -1
  99. package/assets/esri/widgets/support/t9n/uriUtils_bg.json +1 -1
  100. package/colorUtils.js +1 -1
  101. package/core/accessorSupport/extensions/serializableProperty.js +1 -1
  102. package/core/screenUtils.js +1 -1
  103. package/geometry/support/aaBoundingRect.js +1 -1
  104. package/interfaces.d.ts +133 -13
  105. package/layers/FeatureLayer.js +1 -1
  106. package/layers/GeoJSONLayer.js +1 -1
  107. package/layers/OGCFeatureLayer.js +1 -1
  108. package/layers/StreamLayer.js +1 -1
  109. package/layers/VoxelLayer.js +1 -1
  110. package/layers/WFSLayer.js +1 -1
  111. package/layers/analyses/Slice.js +1 -1
  112. package/layers/effects/EffectList.js +1 -1
  113. package/layers/effects/jsonUtils.js +1 -1
  114. package/layers/effects/parser.js +1 -1
  115. package/layers/graphics/controllers/I3SOnDemandController.js +1 -1
  116. package/layers/graphics/data/QueryEngineResult.js +1 -1
  117. package/layers/mixins/FeatureEffectLayer.d.ts +4 -0
  118. package/layers/mixins/FeatureEffectLayer.js +5 -0
  119. package/layers/support/FeatureFilter.js +1 -1
  120. package/layers/support/featureReductionUtils.js +1 -1
  121. package/layers/support/layerOriginUtils.js +1 -1
  122. package/package.json +1 -1
  123. package/rest/print.js +1 -1
  124. package/smartMapping/statistics/support/statsWorker.js +1 -1
  125. package/smartMapping/support/adapters/FeatureLayerAdapter.js +1 -1
  126. package/smartMapping/support/adapters/SceneLayerAdapter.js +1 -1
  127. package/smartMapping/support/adapters/support/utils.js +1 -1
  128. package/statistics/utils.js +1 -1
  129. package/support/revision.js +1 -1
  130. package/symbols/cim/CIMSymbolDrawHelper.js +1 -1
  131. package/symbols/cim/CIMSymbolHelper.js +1 -1
  132. package/symbols/cim/ExpandedCIM.js +1 -1
  133. package/symbols/cim/cimAnalyzer.js +1 -1
  134. package/symbols/cim/effects/EffectDashes.js +1 -1
  135. package/symbols/cim/placements/PlacementAlongLineSameSize.js +1 -1
  136. package/symbols/cim/placements/PlacementAtRatioPositions.js +1 -1
  137. package/symbols/patterns/utils.js +1 -1
  138. package/views/2d/engine/vectorTiles/decluttering/SymbolFader.js +1 -1
  139. package/views/2d/engine/webgl/brushes/WGLGeometryBrush.js +1 -1
  140. package/views/2d/engine/webgl/brushes/WGLGeometryBrushFill.js +1 -1
  141. package/views/2d/engine/webgl/brushes/WGLGeometryBrushLabel.js +1 -1
  142. package/views/2d/engine/webgl/brushes/WGLGeometryBrushLine.js +1 -1
  143. package/views/2d/engine/webgl/brushes/WGLGeometryBrushMarker.js +1 -1
  144. package/views/2d/engine/webgl/brushes/WGLGeometryBrushText.js +1 -1
  145. package/views/2d/engine/webgl/materialKey/MaterialKey.js +1 -1
  146. package/views/2d/engine/webgl/mesh/templates/WGLBaseFillTemplate.js +1 -1
  147. package/views/2d/engine/webgl/mesh/templates/WGLBaseLineTemplate.js +1 -1
  148. package/views/2d/engine/webgl/mesh/templates/WGLDynamicFillTemplate.js +1 -1
  149. package/views/2d/engine/webgl/mesh/templates/WGLFillTemplate.js +1 -1
  150. package/views/2d/engine/webgl/mesh/templates/WGLLineTemplate.js +1 -1
  151. package/views/2d/engine/webgl/mesh/templates/WGLTemplateStore.js +1 -1
  152. package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
  153. package/views/2d/layers/features/schemaUtils.js +1 -1
  154. package/views/3d/environment/CloudsComposition.js +1 -1
  155. package/views/3d/environment/CloudsGenerator.js +1 -1
  156. package/views/3d/environment/EnvironmentRenderer.js +1 -1
  157. package/views/3d/layers/AnalysisLayerView3D.js +1 -1
  158. package/views/3d/layers/analyses/AreaMeasurement/AreaMeasurementView3D.js +1 -1
  159. package/views/3d/layers/analyses/DirectLineMeasurement/DirectLineMeasurementView3D.js +1 -1
  160. package/views/3d/layers/analyses/LineOfSight/LineOfSightView.js +1 -1
  161. package/views/3d/layers/analyses/Slice/SliceView.js +1 -1
  162. package/views/3d/layers/analysis/AnalysisView3D.js +5 -0
  163. package/views/3d/layers/analysis/DirectLineMeasurement/DirectLineMeasurementController.js +1 -1
  164. package/views/3d/layers/analysis/DirectLineMeasurement/DirectLineMeasurementVisualization.js +1 -1
  165. package/views/3d/terrain/ElevationTileAgent.js +1 -1
  166. package/views/3d/terrain/PatchRenderData.js +1 -1
  167. package/views/3d/terrain/PlanarPatch.js +1 -1
  168. package/views/3d/terrain/SphericalPatch.js +1 -1
  169. package/views/3d/terrain/TerrainConst.js +1 -1
  170. package/views/3d/terrain/TerrainSurface.js +1 -1
  171. package/views/3d/terrain/Tile.js +1 -1
  172. package/widgets/FloorFilter/FloorFilterViewModel.js +1 -1
  173. package/widgets/LayerList/support/layerListUtils.js +1 -1
  174. package/assets/esri/core/workers/chunks/1be111428db0fecb6d95.js +0 -1
  175. package/assets/esri/core/workers/chunks/2be0638f47ec8787bbf6.js +0 -1
  176. package/assets/esri/core/workers/chunks/2e0f498c0c62956f823b.js +0 -1
  177. package/assets/esri/core/workers/chunks/3604932b5a773a3650bc.js +0 -1
  178. package/assets/esri/core/workers/chunks/4418c07f5817bcc5a6d9.js +0 -1
  179. package/assets/esri/core/workers/chunks/4c320adc511d001f51f8.js +0 -1
  180. package/assets/esri/core/workers/chunks/5676133d098378bd4135.js +0 -1
  181. package/assets/esri/core/workers/chunks/589a30c71a1a987c03cc.js +0 -1
  182. package/assets/esri/core/workers/chunks/88223b8348aad79d1c82.js +0 -1
  183. package/assets/esri/core/workers/chunks/990cb237ce01361b14af.js +0 -1
  184. package/assets/esri/core/workers/chunks/a0cdaf7468dfab8c57c0.js +0 -1
  185. package/assets/esri/core/workers/chunks/aa75dd565c73ff2f5611.js +0 -1
  186. package/assets/esri/core/workers/chunks/bd10e5fbc706d6dde3b8.js +0 -1
  187. package/assets/esri/core/workers/chunks/cde63d01de4a77915b4c.js +0 -1
  188. package/assets/esri/core/workers/chunks/e1e490ea051ef54a753b.js +0 -1
  189. package/assets/esri/core/workers/chunks/e5ec05aa482dfcf7428a.js +0 -1
  190. package/layers/support/featureEffectUtils.js +0 -5
package/Color.js CHANGED
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.22/esri/copyright.txt for details.
4
4
  */
5
- import{hsla2rgba as t,getNamedColor as r}from"./colorUtils.js";import{clamp as s}from"./core/mathUtils.js";import{isSome as i}from"./core/maybe.js";import{ensureInteger as e}from"./core/accessorSupport/ensureType.js";function n(t){return s(e(t),0,255)}function a(t,r,s){return t=Number(t),isNaN(t)?s:t<r?r:t>s?s:t}class o{constructor(t){this.r=255,this.g=255,this.b=255,this.a=1,t&&this.setColor(t)}static blendColors(t,r,s,i=new o){return i.r=Math.round(t.r+(r.r-t.r)*s),i.g=Math.round(t.g+(r.g-t.g)*s),i.b=Math.round(t.b+(r.b-t.b)*s),i.a=t.a+(r.a-t.a)*s,i._sanitize()}static fromRgb(r,s){const i=r.toLowerCase().match(/^(rgba?|hsla?)\(([\s\.\-,%0-9]+)\)/);if(i){const r=i[2].split(/\s*,\s*/),e=i[1];if("rgb"===e&&3===r.length||"rgba"===e&&4===r.length){const t=r[0];if("%"===t.charAt(t.length-1)){const t=r.map((t=>2.56*parseFloat(t)));return 4===r.length&&(t[3]=parseFloat(r[3])),o.fromArray(t,s)}return o.fromArray(r.map((t=>parseFloat(t))),s)}if("hsl"===e&&3===r.length||"hsla"===e&&4===r.length)return o.fromArray(t(parseFloat(r[0]),parseFloat(r[1])/100,parseFloat(r[2])/100,parseFloat(r[3])),s)}return null}static fromHex(t,r=new o){if(4!==t.length&&7!==t.length||"#"!==t[0])return null;const s=4===t.length?4:8,i=(1<<s)-1;let e=Number("0x"+t.substr(1));return isNaN(e)?null:(["b","g","r"].forEach((t=>{const n=e&i;e>>=s,r[t]=4===s?17*n:n})),r.a=1,r)}static fromArray(t,r=new o){return r._set(Number(t[0]),Number(t[1]),Number(t[2]),Number(t[3])),isNaN(r.a)&&(r.a=1),r._sanitize()}static fromString(t,s){const i=r(t);return i&&o.fromArray(i,s)||o.fromRgb(t,s)||o.fromHex(t,s)}static fromJSON(t){return t&&new o([t[0],t[1],t[2],t[3]/255])}static toUnitRGB(t){return i(t)?[t.r/255,t.g/255,t.b/255]:null}static toUnitRGBA(t){return i(t)?[t.r/255,t.g/255,t.b/255,null!=t.a?t.a:1]:null}get isBright(){return.299*this.r+.587*this.g+.114*this.b>=127}setColor(t){if("string"==typeof t)o.fromString(t,this);else if(Array.isArray(t))o.fromArray(t,this);else{var r,s,i,e;this._set(null!=(r=t.r)?r:0,null!=(s=t.g)?s:0,null!=(i=t.b)?i:0,null!=(e=t.a)?e:1),t instanceof o||this._sanitize()}return this}toRgb(){return[this.r,this.g,this.b]}toRgba(){return[this.r,this.g,this.b,this.a]}toHex(){const t=this.r.toString(16),r=this.g.toString(16),s=this.b.toString(16);return`#${t.length<2?"0"+t:t}${r.length<2?"0"+r:r}${s.length<2?"0"+s:s}`}toCss(t=!1){const r=this.r+", "+this.g+", "+this.b;return t?`rgba(${r}, ${this.a})`:`rgb(${r})`}toString(){return this.toCss(!0)}toJSON(){return this.toArray()}toArray(t=0){const r=n(this.r),s=n(this.g),i=n(this.b);return 0===t||1!==this.a?[r,s,i,n(255*this.a)]:[r,s,i]}clone(){return new o(this.toRgba())}hash(){return this.r<<24|this.g<<16|this.b<<8|255*this.a}_sanitize(){return this.r=Math.round(a(this.r,0,255)),this.g=Math.round(a(this.g,0,255)),this.b=Math.round(a(this.b,0,255)),this.a=a(this.a,0,1),this}_set(t,r,s,i){this.r=t,this.g=r,this.b=s,this.a=i}}o.prototype.declaredClass="esri.Color";export{o as default};
5
+ import{hsla2rgba as t,isNamedColor as r,getNamedColor as s}from"./colorUtils.js";import{clamp as i}from"./core/mathUtils.js";import{isSome as e}from"./core/maybe.js";import{ensureInteger as n}from"./core/accessorSupport/ensureType.js";function a(t){return i(n(t),0,255)}function o(t,r,s){return t=Number(t),isNaN(t)?s:t<r?r:t>s?s:t}class h{constructor(t){this.r=255,this.g=255,this.b=255,this.a=1,t&&this.setColor(t)}static blendColors(t,r,s,i=new h){return i.r=Math.round(t.r+(r.r-t.r)*s),i.g=Math.round(t.g+(r.g-t.g)*s),i.b=Math.round(t.b+(r.b-t.b)*s),i.a=t.a+(r.a-t.a)*s,i._sanitize()}static fromRgb(r,s){const i=r.toLowerCase().match(/^(rgba?|hsla?)\(([\s\.\-,%0-9]+)\)/);if(i){const r=i[2].split(/\s*,\s*/),e=i[1];if("rgb"===e&&3===r.length||"rgba"===e&&4===r.length){const t=r[0];if("%"===t.charAt(t.length-1)){const t=r.map((t=>2.56*parseFloat(t)));return 4===r.length&&(t[3]=parseFloat(r[3])),h.fromArray(t,s)}return h.fromArray(r.map((t=>parseFloat(t))),s)}if("hsl"===e&&3===r.length||"hsla"===e&&4===r.length)return h.fromArray(t(parseFloat(r[0]),parseFloat(r[1])/100,parseFloat(r[2])/100,parseFloat(r[3])),s)}return null}static fromHex(t,r=new h){if(4!==t.length&&7!==t.length||"#"!==t[0])return null;const s=4===t.length?4:8,i=(1<<s)-1;let e=Number("0x"+t.substr(1));return isNaN(e)?null:(["b","g","r"].forEach((t=>{const n=e&i;e>>=s,r[t]=4===s?17*n:n})),r.a=1,r)}static fromArray(t,r=new h){return r._set(Number(t[0]),Number(t[1]),Number(t[2]),Number(t[3])),isNaN(r.a)&&(r.a=1),r._sanitize()}static fromString(t,i){const e=r(t)?s(t):null;return e&&h.fromArray(e,i)||h.fromRgb(t,i)||h.fromHex(t,i)}static fromJSON(t){return t&&new h([t[0],t[1],t[2],t[3]/255])}static toUnitRGB(t){return e(t)?[t.r/255,t.g/255,t.b/255]:null}static toUnitRGBA(t){return e(t)?[t.r/255,t.g/255,t.b/255,null!=t.a?t.a:1]:null}get isBright(){return.299*this.r+.587*this.g+.114*this.b>=127}setColor(t){if("string"==typeof t)h.fromString(t,this);else if(Array.isArray(t))h.fromArray(t,this);else{var r,s,i,e;this._set(null!=(r=t.r)?r:0,null!=(s=t.g)?s:0,null!=(i=t.b)?i:0,null!=(e=t.a)?e:1),t instanceof h||this._sanitize()}return this}toRgb(){return[this.r,this.g,this.b]}toRgba(){return[this.r,this.g,this.b,this.a]}toHex(){const t=this.r.toString(16),r=this.g.toString(16),s=this.b.toString(16);return`#${t.length<2?"0"+t:t}${r.length<2?"0"+r:r}${s.length<2?"0"+s:s}`}toCss(t=!1){const r=this.r+", "+this.g+", "+this.b;return t?`rgba(${r}, ${this.a})`:`rgb(${r})`}toString(){return this.toCss(!0)}toJSON(){return this.toArray()}toArray(t=0){const r=a(this.r),s=a(this.g),i=a(this.b);return 0===t||1!==this.a?[r,s,i,a(255*this.a)]:[r,s,i]}clone(){return new h(this.toRgba())}hash(){return this.r<<24|this.g<<16|this.b<<8|255*this.a}_sanitize(){return this.r=Math.round(o(this.r,0,255)),this.g=Math.round(o(this.g,0,255)),this.b=Math.round(o(this.b,0,255)),this.a=o(this.a,0,1),this}_set(t,r,s,i){this.r=t,this.g=r,this.b=s,this.a=i}}h.prototype.declaredClass="esri.Color";export{h as default};
package/WebMap.js CHANGED
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.22/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"./chunks/tslib.es6.js";import{version as t}from"./kernel.js";import r from"./Map.js";import i from"./Viewpoint.js";import{flatten as o}from"./core/arrayUtils.js";import a from"./core/Collection.js";import s from"./core/Error.js";import n from"./core/Loadable.js";import{loadAll as l}from"./core/loadAll.js";import p from"./core/Logger.js";import{unwrap as m,isSome as u}from"./core/maybe.js";import{MultiOriginJSONMixin as h,MultiOriginJSONSupport as d}from"./core/MultiOriginJSONSupport.js";import{EsriPromiseMixin as c}from"./core/Promise.js";import{eachAlways as y}from"./core/promiseUtils.js";import{urlToObject as w,isDataProtocol as g,dataComponents as f,addQueryParameter as b}from"./core/urlUtils.js";import{whenTrueOnce as _}from"./core/watchUtils.js";import{property as v}from"./core/accessorSupport/decorators/property.js";import"./core/has.js";import"./core/accessorSupport/ensureType.js";import{reader as S}from"./core/accessorSupport/decorators/reader.js";import{subclass as I}from"./core/accessorSupport/decorators/subclass.js";import{writer as A}from"./core/accessorSupport/decorators/writer.js";import{updateOrigins as j}from"./core/accessorSupport/originUtils.js";import{readLoadable as O}from"./core/accessorSupport/read.js";import L from"./geometry/SpatialReference.js";import{geographicToWebMercator as P,webMercatorToGeographic as U}from"./geometry/support/webMercatorUtils.js";import{isServerOrServicesAGOLUrl as V}from"./layers/support/arcgisLayerUrl.js";import F from"./networks/UtilityNetwork.js";import T from"./portal/Portal.js";import W from"./portal/PortalItem.js";import{removeTypeKeyword as R,addTypeKeyword as x,hasTypeKeyword as N}from"./portal/support/portalItemUtils.js";import{project as M}from"./rest/geometryService/project.js";import k from"./rest/support/ProjectParameters.js";import{hasDeveloperBasemapLayer as C,isDeveloperBasemapLayer as E}from"./support/basemapUtils.js";import B from"./support/MapFloorInfo.js";import G from"./webdoc/RangeInfo.js";import J from"./webdoc/Widgets.js";import{getOptimalThumbnailSize as D}from"./webdoc/support/thumbnailUtils.js";import{getLayerJSON as K}from"./webdoc/support/writeUtils.js";import $ from"./webmap/ApplicationProperties.js";import z from"./webmap/Bookmark.js";import q from"./webmap/InitialViewProperties.js";import{Version as H}from"./webmap/Version.js";import Q from"./webmap/background/ColorBackground.js";const X=new H(2,23),Y="Web Map",Z=a.ofType(z),ee=a.ofType(F),te=p.getLogger("esri.WebMap"),re=new Map;re.set("image/jpeg","jpeg"),re.set("image/jpg","jpg"),re.set("image/png","png"),re.set("image/gif","gif");const ie="ArcGIS Pro",oe="ArcGIS API for JavaScript",ae="CollectorDisabled",se="Collector",ne="Data Editing",le="OfflineDisabled",pe="Offline",me="Workforce Project",ue="Workforce Worker",he="Workforce Dispatcher",de="Offline Map Areas",ce="FieldMapsDisabled",ye="DeveloperBasemap",we=["NatGeo_World_Map","Ocean_Basemap","USA_Topo_Maps","World_Imagery","World_Street_Map","World_Terrain_Base","World_Topo_Map","World_Hillshade","Canvas/World_Light_Gray_Base","Canvas/World_Light_Gray_Reference","Canvas/World_Dark_Gray_Base","Canvas/World_Dark_Gray_Reference","Ocean/World_Ocean_Base","Ocean/World_Ocean_Reference","Reference/World_Boundaries_and_Places","Reference/World_Reference_Overlay","Reference/World_Transportation"].map((e=>e.toLowerCase()));let ge=class extends(h(n.LoadableMixin(c(r)))){constructor(e){super(e),this.applicationProperties=null,this.bookmarks=new Z,this.floorInfo=null,this.initialViewProperties=new q,this.portalItem=null,this.presentation=null,this.sourceVersion=null,this.widgets=null,this.utilityNetworks=null,this.authoringApp=this.authoringAppVersion=null,this._isAuthoringAppSetByUser=this._isAuthoringAppVersionSetByUser=!1}destroy(){const e=this.portalItem;this.portalItem=null,null==e||e.destroy()}initialize(){if(this.when().catch((e=>{te.error("#load()","Failed to load web map",e)})),this.resourceInfo){let t;try{t=this._validateJSON(this.resourceInfo)}catch(e){return void this.addResolvingPromise(Promise.reject(e))}this.read(t)}}set authoringApp(e){this._isAuthoringAppSetByUser=!0,this._set("authoringApp",e)}writeAuthoringApp(e,t){e&&this._isAuthoringAppSetByUser?t.authoringApp=e:t.authoringApp=oe}set authoringAppVersion(e){this._isAuthoringAppVersionSetByUser=!0,this._set("authoringAppVersion",e)}writeAuthoringAppVersion(e,r){e&&this._isAuthoringAppVersionSetByUser?r.authoringAppVersion=e:r.authoringAppVersion=t}readInitialViewProperties(e,t){var r;const o=new q;t.background&&(o.background=Q.fromJSON(t.background));const a=null==(r=t.initialState)?void 0:r.viewpoint;if(a){if(a.rotation){H.parse(t.version||"","webmap").lessThan(2,20)&&t.authoringApp===ie&&(a.rotation*=-1)}o.viewpoint=i.fromJSON(a)}return t.mapRangeInfo&&(o.rangeInfo=G.fromJSON(t.mapRangeInfo)),t.spatialReference&&(o.spatialReference=L.fromJSON(t.spatialReference)),o}writeInitialViewProperties(e,t,r,i){if(!e)return;const o=e.background;o&&o.color&&(t.background=o.write({},i)),e.viewpoint&&(t.initialState={viewpoint:e.viewpoint.write({},i)}),e.rangeInfo&&(t.mapRangeInfo=e.rangeInfo.toJSON(i)),e.spatialReference&&(t.spatialReference=e.spatialReference.write({},i))}writeLayers(e,t,r,i){t[r]=this._writeLayers(e,i,"operational-layers")}readSourceVersion(e,t){const[r,i]=t.version.split(".");return new H(parseInt(r,10),parseInt(i,10))}writeSourceVersion(e,t,r){t[r]=`${X.major}.${X.minor}`}writeTables(e,t,r,i){const o=this._writeLayers(e,i,"tables");o.length&&(t[r]=o)}get thumbnailUrl(){return this.portalItem&&this.portalItem.thumbnailUrl||null}set thumbnailUrl(e){e?(this._override("thumbnailUrl",e),this._thumbnailFilename=this._generateCustomThumbnailFilename(e)):this._clearThumbnailOverride()}load(e){return this.addResolvingPromise(this._loadFromSource()),Promise.resolve(this)}loadAll(){return l(this,(e=>{e(this.ground,this.basemap,this.layers,this.tables)}))}read(e,t){t={...t,origin:"web-map"};const r=this._getAuthoringPropsState();O(this,e,(t=>super.read(e,t)),t),this._restoreAuthoringPropsFromState(r)}write(e,t){if("loaded"!==this.loadStatus){const e=new s("webmap:not-loaded","Web map must be loaded before it can be serialized");throw te.error("#toJSON()","Web map must be loaded before it can be serialized",this.loadError||this.loadStatus),e}return this._removeDanglingLayerRefs(),t={...t,origin:"web-map",restrictedWebMapWriting:!0,webmap:this},super.write(e,t)}async save(e){e=e||{},this._validateItem(),await this._updateFromPromise,await this.load(),await this._loadLayerContainers(),await this._beforeSave(),this._validateMap();const t=this.portalItem,r={origin:"web-map",messages:[],writtenProperties:[],url:t.itemUrl&&w(t.itemUrl),portal:t.portal||T.getDefault()},i=this.write({},r);return this._validateJSONForWriting(r,e),await this._updateItemProperties(t),await this._updateItem(t,i,r),await this._updateItemThumbnail(),t}async saveAs(e,t){t=t||{};const r=this._getPortalItem(e);await this._updateFromPromise,await this.load(),await this._loadLayerContainers(),await this._beforeSave(),this._validateMap();const i={origin:"web-map",messages:[],writtenProperties:[],url:null,portal:r.portal},o=this.write({},i);this._validateJSONForWriting(i,t),await this._updateItemPropertiesForSaveAs(r);const a=this._getThumbnailState();return await this._createItem(r,o,i,t),this._restoreThumbnailFromState(a),await this._updateItemThumbnail(),r}async updateFrom(e,t){const r=this._updateFromInternal(e,t);this._updateFromPromise=r,await r;r===this._updateFromPromise&&(this._updateFromPromise=null)}getLayerJSONFromResourceInfo(e){var t,r,i,a;const s=this.resourceInfo;return this._collectAllLayersJSON(o([null==s||null==(t=s.baseMap)?void 0:t.baseMapLayers,null==s?void 0:s.operationalLayers,null==(r=this.basemap)||null==(i=r.resourceInfo)||null==(a=i.data)?void 0:a.baseMapLayers])).find((t=>t.id===e.id))}_collectAllLayersJSON(e){return e.reduce(((e,t)=>(e.push(t),"GroupLayer"===t.layerType&&(e=e.concat(this._collectAllLayersJSON(t.layers||[]))),e)),[])}_writeLayers(e,t,r){t={...t,layerContainerType:r};return e.map((e=>m(K(e,"tables"===r?null:this.getLayerJSONFromResourceInfo(e),t)))).filter(Boolean).toArray()}_loadFromSource(){return this.resourceInfo?this._loadFromJSON(this.resourceInfo,{origin:"web-map"}):this.portalItem&&this.portalItem.id?this._loadFromItem(this.portalItem):Promise.resolve(null)}_loadFromItem(e){return e.load().catch((e=>{throw new s("webmap:load-portal-item","Failed to load portal item",{error:e})})).then((()=>{if("Web Map"!==e.type)throw new s("webmap:invalid-portal-item","Invalid portal item type '${type}', expected 'Web Map'",{type:e.type})})).then((()=>e.fetchData())).then((t=>(this.resourceInfo=t,this._readAndLoadFromJSON(t,{origin:"web-map",portal:e.portal||T.getDefault()})))).then((()=>this._computeInitialViewpoint()))}_readAndLoadFromJSON(e,t){const r=this._validateJSON(e);return this.read(r,t),this._loadFromJSON(r,t)}_validateJSON(e){const t=H.parse(e.version||"","webmap");return X.validate(t),e.version=`${t.major}.${t.minor}`,e}_loadFromJSON(e,t){const r={context:{...t,layerContainerType:"operational-layers"}};return this.portalItem&&(r.context.portal=this.portalItem.portal||T.getDefault()),import("./layers/support/layersCreator.js").then((({populateOperationalLayers:t})=>{const i=[],o=e.operationalLayers;o&&o.length&&i.push(t(this.layers,o,r));const a={...r,context:{...r.context,layerContainerType:"tables"},defaultLayerType:"ArcGISFeatureLayer"},s=e.tables;return s&&s.length&&i.push(t(this.tables,s,a)),y(i).then((()=>{}))}))}async _computeInitialViewpoint(){var e,t;let r=this.initialViewProperties;if(null==(e=r)||null==(t=e.viewpoint)?void 0:t.targetGeometry)return;const o=await this._getExtentFromItem();o&&(r=r?r.clone():new q,r.viewpoint=new i,r.viewpoint.targetGeometry=o,this.initialViewProperties=r)}async _getExtentFromItem(){var e,t;const r=null==(e=this.initialViewProperties)?void 0:e.spatialReference,i=null==(t=this.portalItem)?void 0:t.extent;if(r&&i){if(r.isWGS84)return i.clone();if(r.isWebMercator)return P(i);return(await import("./portal/support/geometryServiceUtils.js")).getGeometryServiceURL(this.portalItem).then((e=>{const t=new k;return t.geometries=[i],t.outSpatialReference=r,M(e,t)})).then((e=>e[0])).catch((e=>(te.error("Error projecting item's extent:",e),null)))}return null}_removeDanglingLayerRefs(){const e=this.applicationProperties,t=e&&e.viewing&&e.viewing.search,r=e=>!!this.allLayers.find((t=>t.id===e));t&&t.layers&&(t.layers=t.layers.filter((e=>r(e.id)))),t&&t.tables&&(t.tables=t.tables.filter((e=>!!this.tables.find((t=>t.id===e.id)))));const i=e&&e.editing&&e.editing.locationTracking;i&&i.info&&!r(i.info.layerId)&&(e.editing=null);const o=this.presentation&&this.presentation.slides;o&&o.forEach((e=>{e.visibleLayers&&(e.visibleLayers=e.visibleLayers.filter((e=>r(e.id))))}))}_validateMap(){if(!this.basemap||!this.basemap.baseLayers.length)throw new s("webmap:save","Map does not have a valid basemap with a base layer.")}_validateItem(){if(!this.portalItem)throw te.error("save: requires the portalItem property to be set"),new s("webmap:portal-item-not-set","Portal item to save to has not been set on the WebMap");this._validateItemType(this.portalItem)}_validateItemType(e){if(e.type!==Y)throw new s("webmap:portal-item-wrong-type",`Portal item needs to have type "${Y}"`)}_loadLayerContainers(){const e=[];return this.basemap&&e.push(this.basemap.load()),this.ground&&e.push(this.ground.load()),y(e).then((()=>{}))}async _beforeSave(){const e=[];for(const t of this.allLayers)if("beforeSave"in t&&"function"==typeof t.beforeSave){const r=t.beforeSave();r&&e.push(r)}await y(e)}_loadAllLayers(){const e=this._getAllLayersAndTables().map((e=>e.load()));return y(e).then((()=>{}))}_getAllLayersAndTables(){return this.allLayers.concat(this.allTables)}_validateJSONForWriting(e,t){let r=e.messages.filter((e=>"error"===e.type)).map((e=>new s(e.name,e.message,e.details)));if(t.ignoreUnsupported&&(r=r.filter((e=>"layer:unsupported"!==e.name&&"symbol:unsupported"!==e.name&&"symbol-layer:unsupported"!==e.name&&"property:unsupported"!==e.name&&"url:unsupported"!==e.name))),r.length>0)throw new s("webmap:save","Failed to save webmap due to unsupported or invalid content. See 'details.errors' for more detailed information",{errors:r})}async _updateItemProperties(e){e.extent=await this._getWGS84Extent(this.initialViewProperties.viewpoint.targetGeometry),await this._updateTypeKeywords(e)}async _updateItemPropertiesForSaveAs(e){R(e,ae),R(e,le),R(e,me),R(e,ue),R(e,he),R(e,de),R(e,ce),await this._updateItemProperties(e)}async _getWGS84Extent(e){const t=e.clone().normalize();let r;if(t.length>1)for(const i of t)r?i.width>r.width&&(r=i):r=i;else r=t[0];return this._projectToWGS84(r)}async _projectToWGS84(e){const t=e.spatialReference;if(t.isWGS84)return e.clone();if(t.isWebMercator)return U(e);const r=await import("./portal/support/geometryServiceUtils.js"),i=await r.getGeometryServiceURL(this.portalItem),o=new k;o.geometries=[e],o.outSpatialReference=L.WGS84;return(await M(i,o))[0]}async _updateTypeKeywords(e){x(e,oe),await this._loadAllLayers(),this._evalCollectorKeyword(e),this._evalDataEditingKeyword(e),this._evalOfflineKeyword(e),this._evalDeveloperBasemapKeyword(e),e.typeKeywords&&(e.typeKeywords=e.typeKeywords.filter(((e,t,r)=>r.indexOf(e)===t)))}_evalCollectorKeyword(e){N(e,ae)||N(e,me)||N(e,ue)||N(e,he)||!this._hasEditableFeatureLayer()?R(e,se):x(e,se)}_evalDataEditingKeyword(e){this._hasEditableFeatureLayer()?x(e,ne):R(e,ne)}_evalOfflineKeyword(e){!N(e,le)&&this._isOfflineCapableMap()?x(e,pe):R(e,pe)}_evalDeveloperBasemapKeyword(e){C(this.basemap)?x(e,ye):R(e,ye)}_hasEditableFeatureLayer(){return this._getAllLayersAndTables().some((e=>e.loaded&&this._isFeatureServiceLayer(e)&&e.capabilities.operations.supportsEditing&&e.editingEnabled))}_isFeatureServiceLayer(e){return!("feature"!==e.type||!e.source||"feature-layer"!==e.source.type)}_isOfflineCapableMap(){return this._getAllLayersAndTables().filter((e=>"group"!==e.type)).every((e=>e.loaded&&this._isOfflineCapableLayer(e)))}_isOfflineCapableLayer(e){return this._isFeatureServiceLayer(e)&&e.capabilities.operations.supportsSync||("tile"===e.type||"vector-tile"===e.type)&&(e.capabilities.operations.supportsExportTiles||this._isExportableAGOLTileLayer(e)||E(e))&&e.spatialReference.equals(this.initialViewProperties.spatialReference)}_isExportableAGOLTileLayer(e){return"tile"===e.type&&(V(e.url)&&we.some((t=>e.url.toLowerCase().indexOf("/"+t+"/")>-1)))}async _updateItem(e,t,r){await e.update({data:t}),this._syncUpInstanceWithItem(e,t,r)}async _createItem(e,t,r,i){const o=this.portalItem,a=!!(o&&o.id&&o.portal.user),n=e.portal;if(await n._signIn(),!await this._canCopyItem(o,a,n))throw new s("webmap:save-as-copy-not-allowed","Owner of this map does not allow others to save a copy");await n.user.addItem({item:e,folder:i.folder,data:t}),this.portalItem=e,this._syncUpInstanceWithItem(e,t,r)}async _canCopyItem(e,t,r){return!(u(e)&&e.id&&e.typeKeywords&&e.typeKeywords.indexOf("useOnly")>-1)||e.portal.portalHostname===r.portalHostname&&(t||await e.reload(),"admin"===e.itemControl||"update"===e.itemControl)}_syncUpInstanceWithItem(e,t,r){d.prototype.read.call(this,{version:t.version,authoringApp:t.authoringApp,authoringAppVersion:t.authoringAppVersion},{origin:"web-map",ignoreDefaults:!0,url:e.itemUrl&&w(e.itemUrl)}),j(r),this.resourceInfo=t}async _updateItemThumbnail(){this.thumbnailUrl&&this._isOverridden("thumbnailUrl")&&(await this.portalItem.updateThumbnail({thumbnail:this.thumbnailUrl,filename:this._thumbnailFilename}),this._clearThumbnailOverride())}_getPortalItem(e){let t=W.from(e);return t.id&&(t=t.clone(),t.id=null),t.type||(t.type=Y),t.portal||(t.portal=T.getDefault()),this._validateItemType(t),t}async _updateFromInternal(e,t){t=t||{},await _(e,"ready"),this._updateInitialViewProperties(e,t),await this._updateThumbnailUrl(e,t)}_updateInitialViewProperties(e,t){var r;t.backgroundExcluded||(this.initialViewProperties.background=null==(r=e.background)?void 0:r.clone());if(this.initialViewProperties.spatialReference=e.spatialReference.clone(),t.viewpointExcluded||(this.initialViewProperties.viewpoint=new i({rotation:e.rotation,scale:t.scalePreserved?e.scale:null,targetGeometry:this._getViewExtent(e)})),!t.widgetsExcluded)for(const i of e.persistableViewModels)i.updateWebDocument(this)}_getViewExtent(e){const t=e.center.clone().normalize(),r=e.extent.clone(),i=r.width/2;return r.xmin=t.x-i,r.xmax=t.x+i,r}async _updateThumbnailUrl(e,t){if(t.thumbnailExcluded)return;const r=D(e,t.thumbnailSize),i=await e.takeScreenshot({format:"png",width:r.width,height:r.height});this._setAutoGeneratedThumbnail(i.dataUrl)}_setAutoGeneratedThumbnail(e){this.thumbnailUrl=e,this._thumbnailFilename=null}_clearThumbnailOverride(){this._clearOverride("thumbnailUrl"),this.clear("thumbnailUrl","user"),this._thumbnailFilename=null}_generateCustomThumbnailFilename(e){if(g(e)){const t=f(e),r=t&&t.mediaType,i=r&&re.get(r.toLowerCase())||null,o=`thumbnail${Date.now()}`;return i?`${o}.${i}`:o}return null}_getThumbnailState(){let e=this.thumbnailUrl;return e&&(e=this._isOverridden("thumbnailUrl")?e:b(e,"w","8192")),{thumbnailUrl:e,filename:this._thumbnailFilename}}_restoreThumbnailFromState(e){this.thumbnailUrl=e.thumbnailUrl,this._thumbnailFilename=e.filename}_getAuthoringPropsState(){return{authoringApp:this.authoringApp,authoringAppVersion:this.authoringAppVersion,isAuthoringAppSetByUser:this._isAuthoringAppSetByUser,isAuthoringAppVersionSetByUser:this._isAuthoringAppVersionSetByUser}}_restoreAuthoringPropsFromState(e){e.isAuthoringAppSetByUser?this.authoringApp=e.authoringApp:this._isAuthoringAppSetByUser=!1,e.isAuthoringAppVersionSetByUser?this.authoringAppVersion=e.authoringAppVersion:this._isAuthoringAppVersionSetByUser=!1}static fromJSON(e){const t=e;if(!t)throw new s("webmap:empty-resource","Expected a JSON resource but got nothing");return new this({resourceInfo:t})}};ge.VERSION=X,e([v({type:$,json:{write:!0}})],ge.prototype,"applicationProperties",void 0),e([v({type:String,json:{write:{allowNull:!0,ignoreOrigin:!0}}})],ge.prototype,"authoringApp",null),e([A("authoringApp")],ge.prototype,"writeAuthoringApp",null),e([v({type:String,json:{write:{allowNull:!0,ignoreOrigin:!0}}})],ge.prototype,"authoringAppVersion",null),e([A("authoringAppVersion")],ge.prototype,"writeAuthoringAppVersion",null),e([v({json:{read:{source:"baseMap"},write:{target:"baseMap"}}})],ge.prototype,"basemap",void 0),e([v({type:Z,json:{write:{overridePolicy:e=>({enabled:!!(e&&e.length>0),ignoreOrigin:!0})}}})],ge.prototype,"bookmarks",void 0),e([v({type:B,json:{read:{source:"mapFloorInfo"},write:{target:"mapFloorInfo"}}})],ge.prototype,"floorInfo",void 0),e([v({type:q,nonNullable:!0,json:{read:{source:["background","initialState.viewpoint","mapRangeInfo","spatialReference"]},write:{ignoreOrigin:!0,target:{background:{type:Q},"initialState.viewpoint":{type:i},mapRangeInfo:{type:G},spatialReference:{type:L}}}}})],ge.prototype,"initialViewProperties",void 0),e([S("initialViewProperties")],ge.prototype,"readInitialViewProperties",null),e([A("initialViewProperties")],ge.prototype,"writeInitialViewProperties",null),e([v({json:{read:!1,write:{target:"operationalLayers",ignoreOrigin:!0}}})],ge.prototype,"layers",void 0),e([A("layers")],ge.prototype,"writeLayers",null),e([v({type:W})],ge.prototype,"portalItem",void 0),e([v({json:{write:!0}})],ge.prototype,"presentation",void 0),e([v()],ge.prototype,"resourceInfo",void 0),e([v({readOnly:!0,type:H,json:{read:{source:"version"},write:{allowNull:!0,ignoreOrigin:!0,target:"version",isRequired:!0}}})],ge.prototype,"sourceVersion",void 0),e([S("sourceVersion")],ge.prototype,"readSourceVersion",null),e([A("sourceVersion")],ge.prototype,"writeSourceVersion",null),e([v({json:{read:!1,write:{ignoreOrigin:!0}}})],ge.prototype,"tables",void 0),e([A("tables")],ge.prototype,"writeTables",null),e([v()],ge.prototype,"thumbnailUrl",null),e([v({type:J,json:{write:!0}})],ge.prototype,"widgets",void 0),e([v({type:ee,json:{read:!0,write:!0}})],ge.prototype,"utilityNetworks",void 0),ge=e([I("esri.WebMap")],ge);const fe=ge;export{fe as default};
5
+ import{_ as e}from"./chunks/tslib.es6.js";import{version as t}from"./kernel.js";import r from"./Map.js";import i from"./Viewpoint.js";import{flatten as o}from"./core/arrayUtils.js";import a from"./core/Collection.js";import s from"./core/Error.js";import n from"./core/Loadable.js";import{loadAll as l}from"./core/loadAll.js";import p from"./core/Logger.js";import{unwrap as m,isSome as u}from"./core/maybe.js";import{MultiOriginJSONMixin as h,MultiOriginJSONSupport as d}from"./core/MultiOriginJSONSupport.js";import{EsriPromiseMixin as c}from"./core/Promise.js";import{eachAlways as y}from"./core/promiseUtils.js";import{urlToObject as w,isDataProtocol as f,dataComponents as g,addQueryParameter as b}from"./core/urlUtils.js";import{whenTrueOnce as _}from"./core/watchUtils.js";import{property as v}from"./core/accessorSupport/decorators/property.js";import"./core/has.js";import"./core/accessorSupport/ensureType.js";import{reader as S}from"./core/accessorSupport/decorators/reader.js";import{subclass as I}from"./core/accessorSupport/decorators/subclass.js";import{writer as A}from"./core/accessorSupport/decorators/writer.js";import{updateOrigins as j}from"./core/accessorSupport/originUtils.js";import{readLoadable as O}from"./core/accessorSupport/read.js";import L from"./geometry/SpatialReference.js";import{geographicToWebMercator as P,webMercatorToGeographic as U}from"./geometry/support/webMercatorUtils.js";import{isServerOrServicesAGOLUrl as V}from"./layers/support/arcgisLayerUrl.js";import F from"./networks/UtilityNetwork.js";import T from"./portal/Portal.js";import W from"./portal/PortalItem.js";import{removeTypeKeyword as R,addTypeKeyword as x,hasTypeKeyword as N}from"./portal/support/portalItemUtils.js";import{project as M}from"./rest/geometryService/project.js";import k from"./rest/support/ProjectParameters.js";import{hasDeveloperBasemapLayer as C,isDeveloperBasemapLayer as E}from"./support/basemapUtils.js";import B from"./support/MapFloorInfo.js";import G from"./webdoc/RangeInfo.js";import J from"./webdoc/Widgets.js";import{getOptimalThumbnailSize as D}from"./webdoc/support/thumbnailUtils.js";import{getLayerJSON as K}from"./webdoc/support/writeUtils.js";import $ from"./webmap/ApplicationProperties.js";import z from"./webmap/Bookmark.js";import q from"./webmap/InitialViewProperties.js";import{Version as H}from"./webmap/Version.js";import Q from"./webmap/background/ColorBackground.js";const X=new H(2,23),Y="Web Map",Z=a.ofType(z),ee=a.ofType(F),te=p.getLogger("esri.WebMap"),re=new Map;re.set("image/jpeg","jpeg"),re.set("image/jpg","jpg"),re.set("image/png","png"),re.set("image/gif","gif");const ie="ArcGIS Pro",oe="ArcGIS API for JavaScript",ae="CollectorDisabled",se="Collector",ne="Data Editing",le="OfflineDisabled",pe="Offline",me="Workforce Project",ue="Workforce Worker",he="Workforce Dispatcher",de="Offline Map Areas",ce="FieldMapsDisabled",ye="DeveloperBasemap",we=["NatGeo_World_Map","Ocean_Basemap","USA_Topo_Maps","World_Imagery","World_Street_Map","World_Terrain_Base","World_Topo_Map","World_Hillshade","Canvas/World_Light_Gray_Base","Canvas/World_Light_Gray_Reference","Canvas/World_Dark_Gray_Base","Canvas/World_Dark_Gray_Reference","Ocean/World_Ocean_Base","Ocean/World_Ocean_Reference","Reference/World_Boundaries_and_Places","Reference/World_Reference_Overlay","Reference/World_Transportation"].map((e=>e.toLowerCase()));let fe=class extends(h(n.LoadableMixin(c(r)))){constructor(e){super(e),this.applicationProperties=null,this.bookmarks=new Z,this.floorInfo=null,this.initialViewProperties=new q,this.portalItem=null,this.presentation=null,this.sourceVersion=null,this.widgets=null,this.utilityNetworks=null,this.authoringApp=this.authoringAppVersion=null,this._isAuthoringAppSetByUser=this._isAuthoringAppVersionSetByUser=!1}destroy(){const e=this.portalItem;this.portalItem=null,null==e||e.destroy()}initialize(){if(this.when().catch((e=>{te.error("#load()","Failed to load web map",e)})),this.resourceInfo){let t;try{t=this._validateJSON(this.resourceInfo)}catch(e){return void this.addResolvingPromise(Promise.reject(e))}this.read(t)}}set authoringApp(e){this._isAuthoringAppSetByUser=!0,this._set("authoringApp",e)}writeAuthoringApp(e,t){e&&this._isAuthoringAppSetByUser?t.authoringApp=e:t.authoringApp=oe}set authoringAppVersion(e){this._isAuthoringAppVersionSetByUser=!0,this._set("authoringAppVersion",e)}writeAuthoringAppVersion(e,r){e&&this._isAuthoringAppVersionSetByUser?r.authoringAppVersion=e:r.authoringAppVersion=t}readInitialViewProperties(e,t){var r;const o=new q;t.background&&(o.background=Q.fromJSON(t.background));const a=null==(r=t.initialState)?void 0:r.viewpoint;if(a){if(a.rotation){H.parse(t.version||"","webmap").lessThan(2,20)&&t.authoringApp===ie&&(a.rotation*=-1)}o.viewpoint=i.fromJSON(a)}return t.mapRangeInfo&&(o.rangeInfo=G.fromJSON(t.mapRangeInfo)),t.spatialReference&&(o.spatialReference=L.fromJSON(t.spatialReference)),o}writeInitialViewProperties(e,t,r,i){if(!e)return;const o=e.background;o&&o.color&&(t.background=o.write({},i)),e.viewpoint&&(t.initialState={viewpoint:e.viewpoint.write({},i)}),e.rangeInfo&&(t.mapRangeInfo=e.rangeInfo.toJSON(i)),e.spatialReference&&(t.spatialReference=e.spatialReference.write({},i))}writeLayers(e,t,r,i){t[r]=this._writeLayers(e,i,"operational-layers")}readSourceVersion(e,t){const[r,i]=t.version.split(".");return new H(parseInt(r,10),parseInt(i,10))}writeSourceVersion(e,t,r){t[r]=`${X.major}.${X.minor}`}writeTables(e,t,r,i){const o=this._writeLayers(e,i,"tables");o.length&&(t[r]=o)}get thumbnailUrl(){return this.portalItem&&this.portalItem.thumbnailUrl||null}set thumbnailUrl(e){e?(this._override("thumbnailUrl",e),this._thumbnailFilename=this._generateCustomThumbnailFilename(e)):this._clearThumbnailOverride()}load(e){return this.addResolvingPromise(this._loadFromSource()),Promise.resolve(this)}loadAll(){return l(this,(e=>{e(this.ground,this.basemap,this.layers,this.tables)}))}read(e,t){t={...t,origin:"web-map"};const r=this._getAuthoringPropsState();O(this,e,(t=>super.read(e,t)),t),this._restoreAuthoringPropsFromState(r)}write(e,t){if("loaded"!==this.loadStatus){const e=new s("webmap:not-loaded","Web map must be loaded before it can be serialized");throw te.error("#toJSON()","Web map must be loaded before it can be serialized",this.loadError||this.loadStatus),e}return this._removeDanglingLayerRefs(),t={...t,origin:"web-map",restrictedWebMapWriting:!0,webmap:this},super.write(e,t)}async save(e){e=e||{},this._validateItem(),await this._updateFromPromise,await this.load(),await this._loadLayerContainers(),await this._beforeSave(),this._validateMap();const t=this.portalItem,r={origin:"web-map",messages:[],writtenProperties:[],url:t.itemUrl&&w(t.itemUrl),portal:t.portal||T.getDefault()},i=this.write({},r);return this._validateJSONForWriting(r,e),await this._updateItemProperties(t),await this._updateItem(t,i,r),await this._updateItemThumbnail(),t}async saveAs(e,t){t=t||{};const r=this._getPortalItem(e);await this._updateFromPromise,await this.load(),await this._loadLayerContainers(),await this._beforeSave(),this._validateMap();const i={origin:"web-map",messages:[],writtenProperties:[],url:null,portal:r.portal},o=this.write({},i);this._validateJSONForWriting(i,t),await this._updateItemPropertiesForSaveAs(r);const a=this._getThumbnailState();return await this._createItem(r,o,i,t),this._restoreThumbnailFromState(a),await this._updateItemThumbnail(),r}async updateFrom(e,t){const r=this._updateFromInternal(e,t);this._updateFromPromise=r,await r;r===this._updateFromPromise&&(this._updateFromPromise=null)}getLayerJSONFromResourceInfo(e){var t,r,i,a;const s=this.resourceInfo;return this._collectAllLayersJSON(o([null==s||null==(t=s.baseMap)?void 0:t.baseMapLayers,null==s?void 0:s.operationalLayers,null==(r=this.basemap)||null==(i=r.resourceInfo)||null==(a=i.data)?void 0:a.baseMapLayers])).find((t=>t.id===e.id))}_collectAllLayersJSON(e){return e.reduce(((e,t)=>(e.push(t),"GroupLayer"===t.layerType&&(e=e.concat(this._collectAllLayersJSON(t.layers||[]))),e)),[])}_writeLayers(e,t,r){t={...t,layerContainerType:r};return e.map((e=>m(K(e,"tables"===r?null:this.getLayerJSONFromResourceInfo(e),t)))).filter(Boolean).toArray()}_loadFromSource(){return this.resourceInfo?this._loadFromJSON(this.resourceInfo,{origin:"web-map"}):this.portalItem&&this.portalItem.id?this._loadFromItem(this.portalItem):Promise.resolve(null)}_loadFromItem(e){return e.load().catch((e=>{throw new s("webmap:load-portal-item","Failed to load portal item",{error:e})})).then((()=>{if("Web Map"!==e.type)throw new s("webmap:invalid-portal-item","Invalid portal item type '${type}', expected 'Web Map'",{type:e.type})})).then((()=>e.fetchData())).then((t=>(this.resourceInfo=t,this._readAndLoadFromJSON(t,{origin:"web-map",portal:e.portal||T.getDefault()})))).then((()=>this._computeInitialViewpoint()))}_readAndLoadFromJSON(e,t){const r=this._validateJSON(e);return this.read(r,t),this._loadFromJSON(r,t)}_validateJSON(e){const t=H.parse(e.version||"","webmap");return X.validate(t),e.version=`${t.major}.${t.minor}`,e}_loadFromJSON(e,t){const r={context:{...t,layerContainerType:"operational-layers"}};return this.portalItem&&(r.context.portal=this.portalItem.portal||T.getDefault()),import("./layers/support/layersCreator.js").then((({populateOperationalLayers:t})=>{const i=[],o=e.operationalLayers;o&&o.length&&i.push(t(this.layers,o,r));const a={...r,context:{...r.context,layerContainerType:"tables"},defaultLayerType:"ArcGISFeatureLayer"},s=e.tables;return s&&s.length&&i.push(t(this.tables,s,a)),y(i).then((()=>{}))}))}async _computeInitialViewpoint(){var e,t;let r=this.initialViewProperties;if(null==(e=r)||null==(t=e.viewpoint)?void 0:t.targetGeometry)return;const o=await this._getExtentFromItem();o&&(r=r?r.clone():new q,r.viewpoint=new i,r.viewpoint.targetGeometry=o,this.initialViewProperties=r)}async _getExtentFromItem(){var e,t;const r=null==(e=this.initialViewProperties)?void 0:e.spatialReference,i=null==(t=this.portalItem)?void 0:t.extent;if(r&&i){if(r.isWGS84)return i.clone();if(r.isWebMercator)return P(i);return(await import("./portal/support/geometryServiceUtils.js")).getGeometryServiceURL(this.portalItem).then((e=>{const t=new k;return t.geometries=[i],t.outSpatialReference=r,M(e,t)})).then((e=>e[0])).catch((e=>(te.error("Error projecting item's extent:",e),null)))}return null}_removeDanglingLayerRefs(){const e=this.applicationProperties,t=e&&e.viewing&&e.viewing.search,r=e=>!!this.allLayers.find((t=>t.id===e));t&&t.layers&&(t.layers=t.layers.filter((e=>r(e.id)))),t&&t.tables&&(t.tables=t.tables.filter((e=>!!this.tables.find((t=>t.id===e.id)))));const i=e&&e.editing&&e.editing.locationTracking;i&&i.info&&!r(i.info.layerId)&&(e.editing=null);const o=this.presentation&&this.presentation.slides;o&&o.forEach((e=>{e.visibleLayers&&(e.visibleLayers=e.visibleLayers.filter((e=>r(e.id))))}))}_validateMap(){if(!this.basemap||!this.basemap.baseLayers.length)throw new s("webmap:save","Map does not have a valid basemap with a base layer.")}_validateItem(){if(!this.portalItem)throw te.error("save: requires the portalItem property to be set"),new s("webmap:portal-item-not-set","Portal item to save to has not been set on the WebMap");this._validateItemType(this.portalItem)}_validateItemType(e){if(e.type!==Y)throw new s("webmap:portal-item-wrong-type",`Portal item needs to have type "${Y}"`)}_loadLayerContainers(){const e=[];return this.basemap&&e.push(this.basemap.load()),this.ground&&e.push(this.ground.load()),y(e).then((()=>{}))}async _beforeSave(){const e=[];for(const t of this.allLayers)if("beforeSave"in t&&"function"==typeof t.beforeSave){const r=t.beforeSave();r&&e.push(r)}await y(e)}_loadAllLayers(){const e=this._getAllLayersAndTables().map((e=>e.load()));return y(e).then((()=>{}))}_getAllLayersAndTables(){return this.allLayers.concat(this.allTables)}_validateJSONForWriting(e,t){let r=e.messages.filter((e=>"error"===e.type)).map((e=>new s(e.name,e.message,e.details)));if(t.ignoreUnsupported&&(r=r.filter((e=>"layer:unsupported"!==e.name&&"symbol:unsupported"!==e.name&&"symbol-layer:unsupported"!==e.name&&"property:unsupported"!==e.name&&"url:unsupported"!==e.name))),r.length>0)throw new s("webmap:save","Failed to save webmap due to unsupported or invalid content. See 'details.errors' for more detailed information",{errors:r})}async _updateItemProperties(e){e.extent=await this._getWGS84Extent(this.initialViewProperties.viewpoint.targetGeometry),await this._updateTypeKeywords(e)}async _updateItemPropertiesForSaveAs(e){R(e,ae),R(e,le),R(e,me),R(e,ue),R(e,he),R(e,de),R(e,ce),await this._updateItemProperties(e)}async _getWGS84Extent(e){const t=e.clone().normalize();let r;if(t.length>1)for(const i of t)r?i.width>r.width&&(r=i):r=i;else r=t[0];return this._projectToWGS84(r)}async _projectToWGS84(e){const t=e.spatialReference;if(t.isWGS84)return e.clone();if(t.isWebMercator)return U(e);const r=await import("./portal/support/geometryServiceUtils.js"),i=await r.getGeometryServiceURL(this.portalItem),o=new k;o.geometries=[e],o.outSpatialReference=L.WGS84;return(await M(i,o))[0]}async _updateTypeKeywords(e){x(e,oe),await this._loadAllLayers(),this._evalCollectorKeyword(e),this._evalDataEditingKeyword(e),this._evalOfflineKeyword(e),this._evalDeveloperBasemapKeyword(e),e.typeKeywords&&(e.typeKeywords=e.typeKeywords.filter(((e,t,r)=>r.indexOf(e)===t)))}_evalCollectorKeyword(e){N(e,ae)||N(e,me)||N(e,ue)||N(e,he)||!this._hasEditableFeatureLayer()?R(e,se):x(e,se)}_evalDataEditingKeyword(e){this._hasEditableFeatureLayer()?x(e,ne):R(e,ne)}_evalOfflineKeyword(e){!N(e,le)&&this._isOfflineCapableMap()?x(e,pe):R(e,pe)}_evalDeveloperBasemapKeyword(e){C(this.basemap)?x(e,ye):R(e,ye)}_hasEditableFeatureLayer(){return this._getAllLayersAndTables().some((e=>e.loaded&&this._isFeatureServiceLayer(e)&&e.capabilities.operations.supportsEditing&&e.editingEnabled))}_isFeatureServiceLayer(e){return!("feature"!==e.type||!e.source||"feature-layer"!==e.source.type)}_isOfflineCapableMap(){return this._getAllLayersAndTables().filter((e=>"group"!==e.type)).every((e=>e.loaded&&this._isOfflineCapableLayer(e)))}_isOfflineCapableLayer(e){return this._isFeatureServiceLayer(e)&&e.capabilities.operations.supportsSync||("tile"===e.type||"vector-tile"===e.type)&&(e.capabilities.operations.supportsExportTiles||this._isExportableAGOLTileLayer(e)||E(e))&&e.spatialReference.equals(this.initialViewProperties.spatialReference)}_isExportableAGOLTileLayer(e){return"tile"===e.type&&(V(e.url)&&we.some((t=>e.url.toLowerCase().indexOf("/"+t+"/")>-1)))}async _updateItem(e,t,r){await e.update({data:t}),this._syncUpInstanceWithItem(e,t,r)}async _createItem(e,t,r,i){const o=this.portalItem,a=!!(o&&o.id&&o.portal.user),n=e.portal;if(await n._signIn(),!await this._canCopyItem(o,a,n))throw new s("webmap:save-as-copy-not-allowed","Owner of this map does not allow others to save a copy");await n.user.addItem({item:e,folder:i.folder,data:t}),this.portalItem=e,this._syncUpInstanceWithItem(e,t,r)}async _canCopyItem(e,t,r){return!(u(e)&&e.id&&e.typeKeywords&&e.typeKeywords.indexOf("useOnly")>-1)||e.portal.portalHostname===r.portalHostname&&(t||await e.reload(),"admin"===e.itemControl||"update"===e.itemControl)}_syncUpInstanceWithItem(e,t,r){d.prototype.read.call(this,{version:t.version,authoringApp:t.authoringApp,authoringAppVersion:t.authoringAppVersion},{origin:"web-map",ignoreDefaults:!0,url:e.itemUrl&&w(e.itemUrl)}),j(r),this.resourceInfo=t}async _updateItemThumbnail(){this.thumbnailUrl&&this._isOverridden("thumbnailUrl")&&(await this.portalItem.updateThumbnail({thumbnail:this.thumbnailUrl,filename:this._thumbnailFilename}),this._clearThumbnailOverride())}_getPortalItem(e){let t=W.from(e);return t.id&&(t=t.clone(),t.id=null),t.type||(t.type=Y),t.portal||(t.portal=T.getDefault()),this._validateItemType(t),t}async _updateFromInternal(e,t){if(t=t||{},await _(e,"ready"),this._updateInitialViewProperties(e,t),e.map===this)for(const r of e.allLayerViews)for(const e of["visible","featureEffect"])e in r&&e in r.layer&&r._isOverridden(e)&&(r.layer[e]=r[e]);await this._updateThumbnailUrl(e,t)}_updateInitialViewProperties(e,t){var r;t.backgroundExcluded||(this.initialViewProperties.background=null==(r=e.background)?void 0:r.clone());if(this.initialViewProperties.spatialReference=e.spatialReference.clone(),t.viewpointExcluded||(this.initialViewProperties.viewpoint=new i({rotation:e.rotation,scale:t.scalePreserved?e.scale:null,targetGeometry:this._getViewExtent(e)})),!t.widgetsExcluded)for(const i of e.persistableViewModels)i.updateWebDocument(this)}_getViewExtent(e){const t=e.center.clone().normalize(),r=e.extent.clone(),i=r.width/2;return r.xmin=t.x-i,r.xmax=t.x+i,r}async _updateThumbnailUrl(e,t){if(t.thumbnailExcluded)return;const r=D(e,t.thumbnailSize),i=await e.takeScreenshot({format:"png",width:r.width,height:r.height});this._setAutoGeneratedThumbnail(i.dataUrl)}_setAutoGeneratedThumbnail(e){this.thumbnailUrl=e,this._thumbnailFilename=null}_clearThumbnailOverride(){this._clearOverride("thumbnailUrl"),this.clear("thumbnailUrl","user"),this._thumbnailFilename=null}_generateCustomThumbnailFilename(e){if(f(e)){const t=g(e),r=t&&t.mediaType,i=r&&re.get(r.toLowerCase())||null,o=`thumbnail${Date.now()}`;return i?`${o}.${i}`:o}return null}_getThumbnailState(){let e=this.thumbnailUrl;return e&&(e=this._isOverridden("thumbnailUrl")?e:b(e,"w","8192")),{thumbnailUrl:e,filename:this._thumbnailFilename}}_restoreThumbnailFromState(e){this.thumbnailUrl=e.thumbnailUrl,this._thumbnailFilename=e.filename}_getAuthoringPropsState(){return{authoringApp:this.authoringApp,authoringAppVersion:this.authoringAppVersion,isAuthoringAppSetByUser:this._isAuthoringAppSetByUser,isAuthoringAppVersionSetByUser:this._isAuthoringAppVersionSetByUser}}_restoreAuthoringPropsFromState(e){e.isAuthoringAppSetByUser?this.authoringApp=e.authoringApp:this._isAuthoringAppSetByUser=!1,e.isAuthoringAppVersionSetByUser?this.authoringAppVersion=e.authoringAppVersion:this._isAuthoringAppVersionSetByUser=!1}static fromJSON(e){const t=e;if(!t)throw new s("webmap:empty-resource","Expected a JSON resource but got nothing");return new this({resourceInfo:t})}};fe.VERSION=X,e([v({type:$,json:{write:!0}})],fe.prototype,"applicationProperties",void 0),e([v({type:String,json:{write:{allowNull:!0,ignoreOrigin:!0}}})],fe.prototype,"authoringApp",null),e([A("authoringApp")],fe.prototype,"writeAuthoringApp",null),e([v({type:String,json:{write:{allowNull:!0,ignoreOrigin:!0}}})],fe.prototype,"authoringAppVersion",null),e([A("authoringAppVersion")],fe.prototype,"writeAuthoringAppVersion",null),e([v({json:{read:{source:"baseMap"},write:{target:"baseMap"}}})],fe.prototype,"basemap",void 0),e([v({type:Z,json:{write:{overridePolicy:e=>({enabled:!!(e&&e.length>0),ignoreOrigin:!0})}}})],fe.prototype,"bookmarks",void 0),e([v({type:B,json:{read:{source:"mapFloorInfo"},write:{target:"mapFloorInfo"}}})],fe.prototype,"floorInfo",void 0),e([v({type:q,nonNullable:!0,json:{read:{source:["background","initialState.viewpoint","mapRangeInfo","spatialReference"]},write:{ignoreOrigin:!0,target:{background:{type:Q},"initialState.viewpoint":{type:i},mapRangeInfo:{type:G},spatialReference:{type:L}}}}})],fe.prototype,"initialViewProperties",void 0),e([S("initialViewProperties")],fe.prototype,"readInitialViewProperties",null),e([A("initialViewProperties")],fe.prototype,"writeInitialViewProperties",null),e([v({json:{read:!1,write:{target:"operationalLayers",ignoreOrigin:!0}}})],fe.prototype,"layers",void 0),e([A("layers")],fe.prototype,"writeLayers",null),e([v({type:W})],fe.prototype,"portalItem",void 0),e([v({json:{write:!0}})],fe.prototype,"presentation",void 0),e([v()],fe.prototype,"resourceInfo",void 0),e([v({readOnly:!0,type:H,json:{read:{source:"version"},write:{allowNull:!0,ignoreOrigin:!0,target:"version",isRequired:!0}}})],fe.prototype,"sourceVersion",void 0),e([S("sourceVersion")],fe.prototype,"readSourceVersion",null),e([A("sourceVersion")],fe.prototype,"writeSourceVersion",null),e([v({json:{read:!1,write:{ignoreOrigin:!0}}})],fe.prototype,"tables",void 0),e([A("tables")],fe.prototype,"writeTables",null),e([v()],fe.prototype,"thumbnailUrl",null),e([v({type:J,json:{write:!0}})],fe.prototype,"widgets",void 0),e([v({type:ee,json:{read:!0,write:!0}})],fe.prototype,"utilityNetworks",void 0),fe=e([I("esri.WebMap")],fe);const ge=fe;export{ge as default};
package/WebScene.js CHANGED
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.22/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"./chunks/tslib.es6.js";import{version as t}from"./kernel.js";import r from"./Map.js";import i from"./Viewpoint.js";import o from"./core/Collection.js";import s from"./core/Error.js";import a from"./core/Handles.js";import"./core/has.js";import{clone as n}from"./core/lang.js";import l from"./core/Loadable.js";import{loadAll as p}from"./core/loadAll.js";import c from"./core/Logger.js";import{isSome as d}from"./core/maybe.js";import{MultiOriginJSONMixin as h,MultiOriginJSONSupport as u}from"./core/MultiOriginJSONSupport.js";import{EsriPromiseMixin as m}from"./core/Promise.js";import{debounce as y,eachAlways as w}from"./core/promiseUtils.js";import{urlToObject as g,addQueryParameter as f}from"./core/urlUtils.js";import{property as v}from"./core/accessorSupport/decorators/property.js";import"./core/accessorSupport/ensureType.js";import{reader as b}from"./core/accessorSupport/decorators/reader.js";import{subclass as S}from"./core/accessorSupport/decorators/subclass.js";import{writer as I}from"./core/accessorSupport/decorators/writer.js";import{updateOrigins as _}from"./core/accessorSupport/originUtils.js";import{readLoadable as A}from"./core/accessorSupport/read.js";import j from"./geometry/Extent.js";import R from"./geometry/HeightModelInfo.js";import{canProjectWithoutEngine as P}from"./geometry/projection.js";import L from"./geometry/SpatialReference.js";import{validateWebSceneError as U}from"./geometry/support/heightModelInfoUtils.js";import{fromJSON as M}from"./geometry/support/jsonUtils.js";import{isEarth as V}from"./geometry/support/spatialReferenceUtils.js";import O from"./portal/Portal.js";import E from"./portal/PortalItem.js";import N from"./support/MapFloorInfo.js";import{createSchemaValidationError as C,createCopyError as T}from"./support/webSceneUtils.js";import{isSpatialReferenceSupported as G}from"./views/support/spatialReferenceSupport.js";import{saveResources as F}from"./webdoc/support/saveUtils.js";import{getOptimalThumbnailSize as W}from"./webdoc/support/thumbnailUtils.js";import x from"./webscene/ApplicationProperties.js";import J from"./webscene/Environment.js";import $ from"./webscene/InitialViewProperties.js";import k from"./webscene/Presentation.js";import B from"./webscene/TransportationNetwork.js";import{Version as q}from"./webscene/Version.js";const K=c.getLogger("esri.WebScene"),D=new q(1,26),H=()=>{const e=8,t=[],r=D.major;for(let i=e;i<=D.minor;i++)t.push(`${r}.${i}`);return t},z="Web Scene",Q="ViewingMode-Local";let X=class extends(l.LoadableMixin(m(h(r)))){constructor(e){super(e),this._handles=new a,this.applicationProperties=null,this.clippingArea=null,this.clippingEnabled=!1,this.floorInfo=null,this.heightModelInfo=null,this.sourceVersion=null,this.supportsHeightModelInfo=!0,this.transportationNetworks=null,this.presentation=new k,this.initialViewProperties=new $,this.portalItem=null,this.resourceInfo=null,this.debouncedSaveOperations=y((async(e,t,r)=>{switch(e){case 0:return this._saveImpl(t);case 1:return this._saveAsImpl(r,t)}})),this.resourceReferences={portalItem:null,paths:[]},this.authoringApp=null,this.authoringAppVersion=null,this._isAuthoringAppSetByUser=!1,this._isAuthoringAppVersionSetByUser=!1}initialize(){if(this.when().catch((e=>{K.error("#load()","Failed to load web scene",e)})),this.resourceInfo){let t;try{t=this._validateJSON(this.resourceInfo)}catch(e){return void this.addResolvingPromise(Promise.reject(e))}this.read(t),this.addResolvingPromise(this._validateSpatialReference()),this.addResolvingPromise(this._validateHeightModelInfo())}this._handles.add(this.allLayers.on("change",(()=>this._scheduleLayersIdGC())))}destroy(){this._unscheduleLayersIdGC(),this._handles.destroy(),this.presentation&&this.presentation.destroy();const e=this.portalItem;this.portalItem=null,null==e||e.destroy()}writeClippingArea(e,t){t.clippingArea||(t.clippingArea={}),t.clippingArea.geometry=e.toJSON()}readClippingEnabled(e,t){return!!t.clippingArea&&!!t.clippingArea.clip}writeClippingEnabled(e,t){this.clippingArea&&(t.clippingArea||(t.clippingArea={}),t.clippingArea.clip=e)}writeLayers(e,t,r,i){const o={...i,layerContainerType:"operational-layers"},s=e.map((e=>this.verifyWriteLayer(e,i)?e.write({},o):null)).filter((e=>!!e));t[r]=s.toArray()}verifyWriteLayer(e,t){return"write"in e||(t&&t.messages&&t.messages.push(new s("layer:unsupported",`Layers (${e.title}, ${e.id}) of type '${e.declaredClass}' cannot be persisted in web scenes`,{layer:e})),!1)}readSourceVersion(e,t){const[r,i]=t.version.split(".");return new q(parseInt(r,10),parseInt(i,10))}writeSourceVersion(e,t,r){t[r]=`${D.major}.${D.minor}`}get thumbnailUrl(){return this.portalItem&&this.portalItem.thumbnailUrl||null}set thumbnailUrl(e){e?this._override("thumbnailUrl",e):(this._clearOverride("thumbnailUrl"),this.clear("thumbnailUrl","user"))}set authoringApp(e){this._isAuthoringAppSetByUser=!0,this._set("authoringApp",e)}writeAuthoringApp(e,t){e&&this._isAuthoringAppSetByUser?t.authoringApp=e:t.authoringApp="ArcGIS API for JavaScript"}set authoringAppVersion(e){this._isAuthoringAppVersionSetByUser=!0,this._set("authoringAppVersion",e)}writeAuthoringAppVersion(e,r){e&&this._isAuthoringAppVersionSetByUser?r.authoringAppVersion=e:r.authoringAppVersion=t}writeGround(e,t,r,i){t[r]=e?e.write({},i):{transparency:0,layers:[]}}readInitialViewProperties(e,t){const r={};return t.initialState&&t.initialState.environment&&(r.environment=J.fromJSON(t.initialState.environment)),t.spatialReference?r.spatialReference=L.fromJSON(t.spatialReference):r.spatialReference=L.WebMercator,r.viewingMode=t.viewingMode||"global",t.initialState&&t.initialState.viewpoint&&(r.viewpoint=i.fromJSON(t.initialState.viewpoint)),new $(r)}get spatialReference(){var e,t;return null!=(e=null==(t=this.initialViewProperties)?void 0:t.spatialReference)?e:L.WebMercator}get viewingMode(){var e,t;return null!=(e=null==(t=this.initialViewProperties)?void 0:t.viewingMode)?e:"global"}load(e){return this.addResolvingPromise(this._loadFromSource()),Promise.resolve(this)}loadAll(){return p(this,(e=>{const t=this.presentation&&this.presentation.slides;e(this.ground,this.basemap,this.layers,t&&t.map((e=>e.basemap)))}))}read(e,t){t={...t,origin:"web-scene"};const r=this._isAuthoringAppVersionSetByUser,i=this._isAuthoringAppSetByUser;if(A(this,e,(t=>super.read(e,t)),t),i||(this._isAuthoringAppSetByUser=!1),r||(this._isAuthoringAppVersionSetByUser=!1),e.baseMap&&Array.isArray(e.baseMap.elevationLayers)&&this.sourceVersion.supportsVisibleElevationLayersInSlides){const t=e.baseMap.elevationLayers.map((e=>({id:e.id}))),r=this.presentation.slides,i=(e,t)=>e.visibleLayers.some((e=>e.id===t)),o=t.filter((e=>!r.some((t=>i(t,e.id)))));r.forEach((e=>{e.visibleLayers.addMany(o)}))}}_writeBasemapElevationLayers(e){const t=e.ground&&e.ground.layers;!e.baseMap&&t&&t.length&&(e.baseMap={title:"Basemap",baseMapLayers:[]}),e.baseMap&&(e.baseMap.elevationLayers=n(t))}write(e,t){var r;if("loaded"!==this.loadStatus){const e=new s("webscene:not-loaded","Web scene must be loaded before it can be serialized");throw K.error("#toJSON()","Web scene must be loaded before it can be serialized",this.loadError||this.loadStatus),e}this._runLayersIdGC();const i=!(null!=(r=t)&&r.messages);t={messages:[],...t,origin:"web-scene"};const o=super.write(e,t);if(i){const e=t.messages.filter((e=>"web-document-write:property-required"===e.name));if(e.length){const t=new s("web-document:property-required","One or more properties that are required in the webscene JSON are missing, see details for the specific errors",{errors:e});throw K.error("#toJSON()","One or more properties that are required in the webscene JSON are missing",e),t}}return this._writeBasemapElevationLayers(o),o}async save(e){return this.debouncedSaveOperations(0,e)}async _saveImpl(e){this.portalItem||(K.error("save(): requires the .portalItem property to be set"),await Promise.reject(new s("webscene:portal-item-not-set","Portal item to save to has not been set on the WebScene"))),this.portalItem.type!==z&&await Promise.reject(new s("webscene:portal-item-wrong-type",`Portal item needs to have type "${z}"`));const t=this._updateFromPromise;await this._ensureLoadBeforeSave();const r=this._enableVerifyItemRelativeUrls({origin:"web-scene",url:this.portalItem.itemUrl&&g(this.portalItem.itemUrl),messages:[],portal:this.portalItem.portal||O.getDefault(),portalItem:this.portalItem,writtenProperties:[],blockedRelativeUrls:[],resources:{toAdd:[],toUpdate:[],toKeep:[],pendingOperations:[]}}),i=this.write({},r);return await Promise.all(r.resources.pendingOperations),await this._verifySave(i,r,e),this._updateTypeKeywords(this.portalItem),await this.portalItem.update({data:i}),await F(this.resourceReferences,r,null),_(r),t&&await t,await this._saveThumbnail(),this.portalItem}async saveAs(e,t){return this.debouncedSaveOperations(1,t,e)}async _saveAsImpl(e,t){let r=E.from(e);r||(K.error("saveAs(portalItem): requires a portal item parameter"),await Promise.reject(new s("webscene:portal-item-required","saveAs requires a portal item to save to"))),r.id&&(r=r.clone(),r.id=null);const i=r.portal||O.getDefault();await this._ensureLoadBeforeSave(),r.type=z,r.portal=i;const o=this._enableVerifyItemRelativeUrls({origin:"web-scene",url:null,messages:[],portal:i,portalItem:r,writtenProperties:[],blockedRelativeUrls:[],resources:{toAdd:[],toUpdate:[],toKeep:[],pendingOperations:[]}}),a=this.write({},o);await Promise.all(o.resources.pendingOperations),await this._verifySaveAs(a,o,t);const n=this.thumbnailUrl,l=!this._isOverridden("thumbnailUrl");return this._updateTypeKeywords(r),await i._signIn(),await i.user.addItem({item:r,folder:t&&t.folder,data:a}),await F(this.resourceReferences,o,null),this.portalItem=r,u.prototype.read.call(this,{version:a.version,authoringApp:a.authoringApp,authoringAppVersion:a.authoringAppVersion},{name:"web-scene",ignoreDefaults:!0,url:r.itemUrl&&g(r.itemUrl)}),_(o),n&&(this.thumbnailUrl=l?f(n,"w","8192"):n),o.portalItem=r,await this._saveThumbnail(),r}async _saveThumbnail(){this._isOverridden("thumbnailUrl")&&(await this.portalItem.updateThumbnail({thumbnail:this.thumbnailUrl}),this._clearOverride("thumbnailUrl"),this.clear("thumbnailUrl","user"))}_verifySave(e,t,r,i=!1){if(!V(this.spatialReference))return Promise.reject(new s("webscene:unsupported-spatial-reference","Webscenes using spatial reference systems from Mars or Moon can not be saved currently."));let o,a=t.messages.filter((e=>"error"===e.type)).map((e=>new s(e.name,e.message,e.details)));t.blockedRelativeUrls&&(a=a.concat(t.blockedRelativeUrls.map((e=>new s("url:unsupported",`Relative url '${e}' is not supported in Web Scene`))))),r&&r.ignoreUnsupported&&(a=a.filter((e=>"layer:unsupported"!==e.name&&"symbol:unsupported"!==e.name&&"symbol-layer:unsupported"!==e.name&&"property:unsupported"!==e.name&&"url:unsupported"!==e.name&&"scenemodification:unsupported"!==e.name))),null!=r&&r.requiredPropertyChecksDisabled&&(a=a.filter((e=>"web-document-write:property-required"!==e.name)));const n=r&&r.strictSchemaValidationEnabled;return o=n?import("./webscene/support/schemaValidator.js").then((t=>{const r=t.validate(e);if(r.length>0){const e=`webscene did not validate:\n${r.join("\n")}`;K.error(`${i?"saveAs":"save"}(): ${e}`)}return r.map((e=>new s("webscene:schema-validation",e)))})).then((e=>{if(n&&e.length>0){throw C(e.concat(a))}return a})):Promise.resolve(a),o.then((e=>{if(e.length>0)return Promise.reject(new s("webscene:save","Failed to save webscene due to unsupported or invalid content. See 'details.errors' for more detailed information",{errors:e}))}))}_verifySaveAs(e,t,r){return this.canNotSaveAs(t)?Promise.reject(T()):this._verifySave(e,t,r,!0)}verifySaveAs(e){const t=this._enableVerifyItemRelativeUrls({origin:"web-scene",messages:[]}),r=this.write({},t);return this._verifySaveAs(r,t,e)}canNotSaveAs(e){return e||(e=this._enableVerifyItemRelativeUrls({origin:"web-scene",messages:[]}),this.write({},e)),e.verifyItemRelativeUrls&&e.verifyItemRelativeUrls.writtenUrls.length>0}async updateFrom(e,t={}){const r=this._updateFromInternal(e,t);this._updateFromPromise=r,await r;this._updateFromPromise===r&&(this._updateFromPromise=null)}async _updateFromInternal(e,t={}){await e.whenReady(),!t.environmentExcluded&&e.environment&&(this.initialViewProperties.environment=J.prototype.clone.apply(e.environment)),!t.viewpointExcluded&&e.viewpoint&&(this.initialViewProperties.viewpoint=e.viewpoint.clone()),this.initialViewProperties.spatialReference=e.spatialReference.clone(),this.initialViewProperties.viewingMode=e.viewingMode,d(e.clippingArea)?e.clippingArea!==this.clippingArea&&(this.clippingArea=e.clippingArea.clone(),this.clippingEnabled=!0):this.clippingEnabled=!1,e.heightModelInfo&&(this.heightModelInfo=e.heightModelInfo.clone()),e.map===this&&e.allLayerViews.forEach((e=>{e.layer.visible=e.visible})),(!1===t.thumbnailExcluded||null==t.thumbnailExcluded&&!t.viewpointExcluded)&&await this._updateFromThumbnail(e,t.thumbnailSize||void 0)}async _updateFromThumbnail(e,t){const r=W(e,t),i=await e.takeScreenshot({format:"jpg",width:r.width,height:r.height,disableDecorations:!0});this.thumbnailUrl=i.dataUrl}_loadFromSource(){return this.resourceInfo?this._loadFromJSON(this.resourceInfo,{origin:"web-scene"}):this.portalItem&&this.portalItem.id?this._loadFromItem(this.portalItem):this._loadObjectsWithLayers()}_readAndLoadFromJSON(e,t){const r=this._validateJSON(e);return this.read(r,t),this._loadFromJSON(r,t)}_extractOperationalLayers(e){const t=[];if(!this.sourceVersion.supportsGround&&e.baseMap&&Array.isArray(e.baseMap.elevationLayers))for(const o of e.baseMap.elevationLayers)t.push(o);const r=[],i=e=>(e.layers&&(e.layers=e.layers.filter(i)),"ArcGISTiledElevationServiceLayer"!==e.layerType||(this.sourceVersion.supportsGround||r.push(e),!1));return{operationalLayers:e.operationalLayers?e.operationalLayers.filter(i):[],operationalElevationLayers:r,basemapElevationLayers:t}}_loadFromJSON(e,t){const r=new o;return this._validateSpatialReference().then((()=>this._validateHeightModelInfo())).then((()=>import("./layers/support/layersCreator.js"))).then((({populateOperationalLayers:i})=>{const{operationalLayers:o,operationalElevationLayers:s,basemapElevationLayers:a}=this._extractOperationalLayers(e),n=[],l={context:{...t,layerContainerType:"operational-layers"}};if(this.portalItem&&(l.context.portal=this.portalItem.portal||O.getDefault()),a.length>0){const e={...l,context:{...l.context,layerContainerType:"ground"}};e.defaultLayerType="ArcGISTiledElevationServiceLayer",n.push(i(this.ground.layers,a,e))}if(s.length>0){const e={...l,context:{...l.context,layerContainerType:"ground"}};e.defaultLayerType="ArcGISTiledElevationServiceLayer",n.push(i(r,s,e))}return o&&o.length>0&&n.push(i(this.layers,o,l)),w(n).then((()=>{}))})).then((()=>this._loadObjectsWithLayers())).then((()=>{this.ground.layers.addMany(r)}))}async _ensureLoadBeforeSave(){await this.load(),await this._loadObjectsWithLayers();const e=[];for(const t of this.allLayers.items)if("beforeSave"in t&&"function"==typeof t.beforeSave){const r=t.beforeSave();r&&e.push(r)}await w(e)}async _loadObjectsWithLayers(){const e=[];this.ground&&e.push(this.ground.load()),this.basemap&&e.push(this.basemap.load()),this.presentation.slides.forEach((t=>{t.basemap&&e.push(t.basemap.load())})),await w(e)}async _loadFromItem(e){if(await e.load().catch((e=>{throw new s("webscene:load-portal-item","Failed to load portal item",{error:e})})),"Web Scene"!==e.type)throw new s("webscene:invalid-portal-item","Invalid portal item type '${type}', expected 'Web Scene'",{type:e.type});const t=await e.fetchData();this.resourceInfo=t;const r={origin:"web-scene",url:g(e.itemUrl),portal:e.portal||O.getDefault(),portalItem:e,readResourcePaths:[]};await this._readAndLoadFromJSON(t,r),this.resourceReferences={portalItem:e,paths:r.readResourcePaths}}_validateSpatialReference(){const e=this.initialViewProperties,t=this._sceneSpatialReference;let r;if("local"!==e.viewingMode){if(!G(t,"global"))return Promise.reject(new s("webscene:unsupported-spatial-reference","Unsupported spatial reference (${spatialReference.wkid}) in global mode, only Web Mercator, WGS84 GCS or CGCS2000 are supported",{spatialReference:t,viewingMode:e.viewingMode}));r=e=>!e||P(e,t)}else{if(!G(t,"local"))return Promise.reject(new s("webscene:unsupported-spatial-reference","Unsupported spatial reference (${spatialReference.wkid}) in local mode, only projected coordinate systems are supported",{spatialReference:t,viewingMode:e.viewingMode}));r=e=>!e||e.equals(t)}const i=e=>e&&(d(e.camera)&&e.camera.position&&e.camera.position.spatialReference||d(e.targetGeometry)&&e.targetGeometry.spatialReference),o=e.viewpoint,a=i(o);if(a&&!r(a))return Promise.reject(new s("webscene:incompatible-camera-spatial-reference","Camera spatial reference (${cameraSpatialReference.wkid}) is incompatible with the scene spatial reference (${sceneSpatialReference.wkid})",{cameraSpatialReference:a,sceneSpatialReference:t,viewingMode:e.viewingMode}));const n=this.presentation.slides.find((e=>!r(i(e.viewpoint))));if(n){const r=i(n.viewpoint);return Promise.reject(new s("webscene:incompatible-slide-spatial-reference","Slide spatial reference (${slideSpatialReference.wkid}) is incompatible with the scene spatial reference (${sceneSpatialReference.wkid})",{slideSpatialReference:r,sceneSpatialReference:t,viewingMode:e.viewingMode}))}return Promise.resolve()}_validateHeightModelInfo(){const e=this._sceneSpatialReference,t=U(this.heightModelInfo,e);return t?Promise.reject(t):Promise.resolve()}_validateJSON(e){const t=q.parse(e.version||"","webscene");return D.validate(t),e.version=`${t.major}.${t.minor}`,1===t.major&&t.minor<=2&&(e.spatialReference=L.WebMercator.toJSON()),e}_updateTypeKeywords(e){"local"===this.initialViewProperties.viewingMode?e.typeKeywords?-1===e.typeKeywords.indexOf(Q)&&e.typeKeywords.push(Q):e.typeKeywords=[Q]:"global"===this.initialViewProperties.viewingMode&&e.typeKeywords&&(e.typeKeywords=e.typeKeywords.filter((e=>e!==Q))),e.typeKeywords&&(e.typeKeywords=e.typeKeywords.filter(((e,t,r)=>r.indexOf(e)===t)))}get _sceneSpatialReference(){return this.initialViewProperties.spatialReference||L.WebMercator}get _verifyItemRelativeRootPath(){return this.portalItem&&this.portalItem.itemUrl?g(this.portalItem.itemUrl).path:null}_enableVerifyItemRelativeUrls(e){const t=this._verifyItemRelativeRootPath;return t&&(e.verifyItemRelativeUrls={rootPath:t,writtenUrls:[]}),e}_unscheduleLayersIdGC(){this._layersIdGCTimeoutId&&(clearTimeout(this._layersIdGCTimeoutId),this._layersIdGCTimeoutId=0)}_scheduleLayersIdGC(){this._unscheduleLayersIdGC(),this._layersIdGCTimeoutId=setTimeout((()=>{this._layersIdGCTimeoutId=0,this._runLayersIdGC()}),3e3)}_runLayersIdGC(){this._unscheduleLayersIdGC();const e=this.applicationProperties&&this.applicationProperties.viewing&&this.applicationProperties.viewing.search,t=e=>!!this.allLayers.find((t=>t.id===e));e&&e.layers&&(e.layers=e.layers.filter((e=>t(e.id))));const r=this.presentation&&this.presentation.slides;r&&r.forEach((e=>{e.visibleLayers&&(e.visibleLayers=e.visibleLayers.filter((e=>t(e.id))))}))}static fromJSON(e){if(!e)throw new s("webscene:empty-resource","Expected a JSON resource but got nothing");return new this({resourceInfo:e})}};X.VERSION=D,e([v({type:x,json:{write:!0}})],X.prototype,"applicationProperties",void 0),e([v({json:{read:{source:"baseMap"},write:{target:"baseMap"}}})],X.prototype,"basemap",void 0),e([v({type:j,json:{read:{source:"clippingArea.geometry",reader:M},write:{target:"clippingArea.geometry"}}})],X.prototype,"clippingArea",void 0),e([I("clippingArea")],X.prototype,"writeClippingArea",null),e([v({type:Boolean,json:{write:{target:"clippingArea.clip"}}})],X.prototype,"clippingEnabled",void 0),e([b("clippingEnabled",["clippingArea"])],X.prototype,"readClippingEnabled",null),e([I("clippingEnabled")],X.prototype,"writeClippingEnabled",null),e([v({type:N,json:{read:{source:"mapFloorInfo"},write:{target:"mapFloorInfo"}}})],X.prototype,"floorInfo",void 0),e([v({type:R,json:{write:!0}})],X.prototype,"heightModelInfo",void 0),e([v({json:{write:{target:"operationalLayers",ignoreOrigin:!0}}})],X.prototype,"layers",void 0),e([I("layers")],X.prototype,"writeLayers",null),e([v({readOnly:!0,type:q,json:{type:H(),write:{ignoreOrigin:!0,target:"version",isRequired:!0,overridePolicy:()=>({enabled:!0,allowNull:!0,ignoreOrigin:!0})}}})],X.prototype,"sourceVersion",void 0),e([b("sourceVersion",["version"])],X.prototype,"readSourceVersion",null),e([I("sourceVersion")],X.prototype,"writeSourceVersion",null),e([v({json:{read:!1,write:!1}})],X.prototype,"tables",void 0),e([v()],X.prototype,"thumbnailUrl",null),e([v({type:String,json:{write:{writerEnsuresNonNull:!0,ignoreOrigin:!0}}})],X.prototype,"authoringApp",null),e([I("authoringApp")],X.prototype,"writeAuthoringApp",null),e([v({type:String,json:{write:{writerEnsuresNonNull:!0,ignoreOrigin:!0}}})],X.prototype,"authoringAppVersion",null),e([I("authoringAppVersion")],X.prototype,"writeAuthoringAppVersion",null),e([v({json:{write:{isRequired:!0,allowNull:!0,ignoreOrigin:!0,enabled:!0}}})],X.prototype,"ground",void 0),e([I("ground")],X.prototype,"writeGround",null),e([v({type:o.ofType(B),json:{write:!0}})],X.prototype,"transportationNetworks",void 0),e([v({type:k,nonNullable:!0,json:{write:{ignoreOrigin:!0,writer:(e,t,r,i)=>{if(e.slides&&e.slides.length>0){const r={...i,isPresentation:!0};t.presentation=e.write({},r)}}}}})],X.prototype,"presentation",void 0),e([v({type:$,nonNullable:!0,json:{write:{target:"initialState",isRequired:!0,ignoreOrigin:!0},default:()=>new $({viewingMode:"global",spatialReference:L.WebMercator})}})],X.prototype,"initialViewProperties",void 0),e([b("initialViewProperties",["initialState.environment","spatialReference","viewingMode","initialState.viewpoint"])],X.prototype,"readInitialViewProperties",null),e([v({type:L,json:{read:!1,write:{isRequired:!0,ignoreOrigin:!0}}})],X.prototype,"spatialReference",null),e([v({type:["local","global"],json:{read:!1,write:{isRequired:!0,ignoreOrigin:!0}}})],X.prototype,"viewingMode",null),e([v({type:E})],X.prototype,"portalItem",void 0),e([v()],X.prototype,"resourceInfo",void 0),X=e([S("esri.WebScene")],X);const Y=X;export{Y as default};
5
+ import{_ as e}from"./chunks/tslib.es6.js";import{version as t}from"./kernel.js";import r from"./Map.js";import i from"./Viewpoint.js";import o from"./core/Collection.js";import s from"./core/Error.js";import a from"./core/Handles.js";import"./core/has.js";import{clone as n}from"./core/lang.js";import l from"./core/Loadable.js";import{loadAll as p}from"./core/loadAll.js";import c from"./core/Logger.js";import{isSome as d}from"./core/maybe.js";import{MultiOriginJSONMixin as h,MultiOriginJSONSupport as u}from"./core/MultiOriginJSONSupport.js";import{EsriPromiseMixin as m}from"./core/Promise.js";import{debounce as y,eachAlways as w}from"./core/promiseUtils.js";import{urlToObject as f,addQueryParameter as g}from"./core/urlUtils.js";import{property as v}from"./core/accessorSupport/decorators/property.js";import"./core/accessorSupport/ensureType.js";import{reader as b}from"./core/accessorSupport/decorators/reader.js";import{subclass as S}from"./core/accessorSupport/decorators/subclass.js";import{writer as I}from"./core/accessorSupport/decorators/writer.js";import{updateOrigins as _}from"./core/accessorSupport/originUtils.js";import{readLoadable as A}from"./core/accessorSupport/read.js";import j from"./geometry/Extent.js";import R from"./geometry/HeightModelInfo.js";import{canProjectWithoutEngine as P}from"./geometry/projection.js";import L from"./geometry/SpatialReference.js";import{validateWebSceneError as U}from"./geometry/support/heightModelInfoUtils.js";import{fromJSON as M}from"./geometry/support/jsonUtils.js";import{isEarth as O}from"./geometry/support/spatialReferenceUtils.js";import V from"./portal/Portal.js";import E from"./portal/PortalItem.js";import N from"./support/MapFloorInfo.js";import{createSchemaValidationError as C,createCopyError as T}from"./support/webSceneUtils.js";import{isSpatialReferenceSupported as G}from"./views/support/spatialReferenceSupport.js";import{saveResources as F}from"./webdoc/support/saveUtils.js";import{getOptimalThumbnailSize as W}from"./webdoc/support/thumbnailUtils.js";import x from"./webscene/ApplicationProperties.js";import J from"./webscene/Environment.js";import $ from"./webscene/InitialViewProperties.js";import k from"./webscene/Presentation.js";import B from"./webscene/TransportationNetwork.js";import{Version as q}from"./webscene/Version.js";const K=c.getLogger("esri.WebScene"),D=new q(1,26),H=()=>{const e=8,t=[],r=D.major;for(let i=e;i<=D.minor;i++)t.push(`${r}.${i}`);return t},z="Web Scene",Q="ViewingMode-Local";let X=class extends(l.LoadableMixin(m(h(r)))){constructor(e){super(e),this._handles=new a,this.applicationProperties=null,this.clippingArea=null,this.clippingEnabled=!1,this.floorInfo=null,this.heightModelInfo=null,this.sourceVersion=null,this.supportsHeightModelInfo=!0,this.transportationNetworks=null,this.presentation=new k,this.initialViewProperties=new $,this.portalItem=null,this.resourceInfo=null,this.debouncedSaveOperations=y((async(e,t,r)=>{switch(e){case 0:return this._saveImpl(t);case 1:return this._saveAsImpl(r,t)}})),this.resourceReferences={portalItem:null,paths:[]},this.authoringApp=null,this.authoringAppVersion=null,this._isAuthoringAppSetByUser=!1,this._isAuthoringAppVersionSetByUser=!1}initialize(){if(this.when().catch((e=>{K.error("#load()","Failed to load web scene",e)})),this.resourceInfo){let t;try{t=this._validateJSON(this.resourceInfo)}catch(e){return void this.addResolvingPromise(Promise.reject(e))}this.read(t),this.addResolvingPromise(this._validateSpatialReference()),this.addResolvingPromise(this._validateHeightModelInfo())}this._handles.add(this.allLayers.on("change",(()=>this._scheduleLayersIdGC())))}destroy(){this._unscheduleLayersIdGC(),this._handles.destroy(),this.presentation&&this.presentation.destroy();const e=this.portalItem;this.portalItem=null,null==e||e.destroy()}writeClippingArea(e,t){t.clippingArea||(t.clippingArea={}),t.clippingArea.geometry=e.toJSON()}readClippingEnabled(e,t){return!!t.clippingArea&&!!t.clippingArea.clip}writeClippingEnabled(e,t){this.clippingArea&&(t.clippingArea||(t.clippingArea={}),t.clippingArea.clip=e)}writeLayers(e,t,r,i){const o={...i,layerContainerType:"operational-layers"},s=e.map((e=>this.verifyWriteLayer(e,i)?e.write({},o):null)).filter((e=>!!e));t[r]=s.toArray()}verifyWriteLayer(e,t){return"write"in e||(t&&t.messages&&t.messages.push(new s("layer:unsupported",`Layers (${e.title}, ${e.id}) of type '${e.declaredClass}' cannot be persisted in web scenes`,{layer:e})),!1)}readSourceVersion(e,t){const[r,i]=t.version.split(".");return new q(parseInt(r,10),parseInt(i,10))}writeSourceVersion(e,t,r){t[r]=`${D.major}.${D.minor}`}get thumbnailUrl(){return this.portalItem&&this.portalItem.thumbnailUrl||null}set thumbnailUrl(e){e?this._override("thumbnailUrl",e):(this._clearOverride("thumbnailUrl"),this.clear("thumbnailUrl","user"))}set authoringApp(e){this._isAuthoringAppSetByUser=!0,this._set("authoringApp",e)}writeAuthoringApp(e,t){e&&this._isAuthoringAppSetByUser?t.authoringApp=e:t.authoringApp="ArcGIS API for JavaScript"}set authoringAppVersion(e){this._isAuthoringAppVersionSetByUser=!0,this._set("authoringAppVersion",e)}writeAuthoringAppVersion(e,r){e&&this._isAuthoringAppVersionSetByUser?r.authoringAppVersion=e:r.authoringAppVersion=t}writeGround(e,t,r,i){t[r]=e?e.write({},i):{transparency:0,layers:[]}}readInitialViewProperties(e,t){const r={};return t.initialState&&t.initialState.environment&&(r.environment=J.fromJSON(t.initialState.environment)),t.spatialReference?r.spatialReference=L.fromJSON(t.spatialReference):r.spatialReference=L.WebMercator,r.viewingMode=t.viewingMode||"global",t.initialState&&t.initialState.viewpoint&&(r.viewpoint=i.fromJSON(t.initialState.viewpoint)),new $(r)}get spatialReference(){var e,t;return null!=(e=null==(t=this.initialViewProperties)?void 0:t.spatialReference)?e:L.WebMercator}get viewingMode(){var e,t;return null!=(e=null==(t=this.initialViewProperties)?void 0:t.viewingMode)?e:"global"}load(e){return this.addResolvingPromise(this._loadFromSource()),Promise.resolve(this)}loadAll(){return p(this,(e=>{const t=this.presentation&&this.presentation.slides;e(this.ground,this.basemap,this.layers,t&&t.map((e=>e.basemap)))}))}read(e,t){t={...t,origin:"web-scene"};const r=this._isAuthoringAppVersionSetByUser,i=this._isAuthoringAppSetByUser;if(A(this,e,(t=>super.read(e,t)),t),i||(this._isAuthoringAppSetByUser=!1),r||(this._isAuthoringAppVersionSetByUser=!1),e.baseMap&&Array.isArray(e.baseMap.elevationLayers)&&this.sourceVersion.supportsVisibleElevationLayersInSlides){const t=e.baseMap.elevationLayers.map((e=>({id:e.id}))),r=this.presentation.slides,i=(e,t)=>e.visibleLayers.some((e=>e.id===t)),o=t.filter((e=>!r.some((t=>i(t,e.id)))));r.forEach((e=>{e.visibleLayers.addMany(o)}))}}_writeBasemapElevationLayers(e){const t=e.ground&&e.ground.layers;!e.baseMap&&t&&t.length&&(e.baseMap={title:"Basemap",baseMapLayers:[]}),e.baseMap&&(e.baseMap.elevationLayers=n(t))}write(e,t){var r;if("loaded"!==this.loadStatus){const e=new s("webscene:not-loaded","Web scene must be loaded before it can be serialized");throw K.error("#toJSON()","Web scene must be loaded before it can be serialized",this.loadError||this.loadStatus),e}this._runLayersIdGC();const i=!(null!=(r=t)&&r.messages);t={messages:[],...t,origin:"web-scene"};const o=super.write(e,t);if(i){const e=t.messages.filter((e=>"web-document-write:property-required"===e.name));if(e.length){const t=new s("web-document:property-required","One or more properties that are required in the webscene JSON are missing, see details for the specific errors",{errors:e});throw K.error("#toJSON()","One or more properties that are required in the webscene JSON are missing",e),t}}return this._writeBasemapElevationLayers(o),o}async save(e){return this.debouncedSaveOperations(0,e)}async _saveImpl(e){this.portalItem||(K.error("save(): requires the .portalItem property to be set"),await Promise.reject(new s("webscene:portal-item-not-set","Portal item to save to has not been set on the WebScene"))),this.portalItem.type!==z&&await Promise.reject(new s("webscene:portal-item-wrong-type",`Portal item needs to have type "${z}"`));const t=this._updateFromPromise;await this._ensureLoadBeforeSave();const r=this._enableVerifyItemRelativeUrls({origin:"web-scene",url:this.portalItem.itemUrl&&f(this.portalItem.itemUrl),messages:[],portal:this.portalItem.portal||V.getDefault(),portalItem:this.portalItem,writtenProperties:[],blockedRelativeUrls:[],resources:{toAdd:[],toUpdate:[],toKeep:[],pendingOperations:[]}}),i=this.write({},r);return await Promise.all(r.resources.pendingOperations),await this._verifySave(i,r,e),this._updateTypeKeywords(this.portalItem),await this.portalItem.update({data:i}),await F(this.resourceReferences,r,null),_(r),t&&await t,await this._saveThumbnail(),this.portalItem}async saveAs(e,t){return this.debouncedSaveOperations(1,t,e)}async _saveAsImpl(e,t){let r=E.from(e);r||(K.error("saveAs(portalItem): requires a portal item parameter"),await Promise.reject(new s("webscene:portal-item-required","saveAs requires a portal item to save to"))),r.id&&(r=r.clone(),r.id=null);const i=r.portal||V.getDefault();await this._ensureLoadBeforeSave(),r.type=z,r.portal=i;const o=this._enableVerifyItemRelativeUrls({origin:"web-scene",url:null,messages:[],portal:i,portalItem:r,writtenProperties:[],blockedRelativeUrls:[],resources:{toAdd:[],toUpdate:[],toKeep:[],pendingOperations:[]}}),a=this.write({},o);await Promise.all(o.resources.pendingOperations),await this._verifySaveAs(a,o,t);const n=this.thumbnailUrl,l=!this._isOverridden("thumbnailUrl");return this._updateTypeKeywords(r),await i._signIn(),await i.user.addItem({item:r,folder:t&&t.folder,data:a}),await F(this.resourceReferences,o,null),this.portalItem=r,u.prototype.read.call(this,{version:a.version,authoringApp:a.authoringApp,authoringAppVersion:a.authoringAppVersion},{name:"web-scene",ignoreDefaults:!0,url:r.itemUrl&&f(r.itemUrl)}),_(o),n&&(this.thumbnailUrl=l?g(n,"w","8192"):n),o.portalItem=r,await this._saveThumbnail(),r}async _saveThumbnail(){this._isOverridden("thumbnailUrl")&&(await this.portalItem.updateThumbnail({thumbnail:this.thumbnailUrl}),this._clearOverride("thumbnailUrl"),this.clear("thumbnailUrl","user"))}_verifySave(e,t,r,i=!1){if(!O(this.spatialReference))return Promise.reject(new s("webscene:unsupported-spatial-reference","Webscenes using spatial reference systems from Mars or Moon can not be saved currently."));let o,a=t.messages.filter((e=>"error"===e.type)).map((e=>new s(e.name,e.message,e.details)));t.blockedRelativeUrls&&(a=a.concat(t.blockedRelativeUrls.map((e=>new s("url:unsupported",`Relative url '${e}' is not supported in Web Scene`))))),r&&r.ignoreUnsupported&&(a=a.filter((e=>"layer:unsupported"!==e.name&&"symbol:unsupported"!==e.name&&"symbol-layer:unsupported"!==e.name&&"property:unsupported"!==e.name&&"url:unsupported"!==e.name&&"scenemodification:unsupported"!==e.name))),null!=r&&r.requiredPropertyChecksDisabled&&(a=a.filter((e=>"web-document-write:property-required"!==e.name)));const n=r&&r.strictSchemaValidationEnabled;return o=n?import("./webscene/support/schemaValidator.js").then((t=>{const r=t.validate(e);if(r.length>0){const e=`webscene did not validate:\n${r.join("\n")}`;K.error(`${i?"saveAs":"save"}(): ${e}`)}return r.map((e=>new s("webscene:schema-validation",e)))})).then((e=>{if(n&&e.length>0){throw C(e.concat(a))}return a})):Promise.resolve(a),o.then((e=>{if(e.length>0)return Promise.reject(new s("webscene:save","Failed to save webscene due to unsupported or invalid content. See 'details.errors' for more detailed information",{errors:e}))}))}_verifySaveAs(e,t,r){return this.canNotSaveAs(t)?Promise.reject(T()):this._verifySave(e,t,r,!0)}verifySaveAs(e){const t=this._enableVerifyItemRelativeUrls({origin:"web-scene",messages:[]}),r=this.write({},t);return this._verifySaveAs(r,t,e)}canNotSaveAs(e){return e||(e=this._enableVerifyItemRelativeUrls({origin:"web-scene",messages:[]}),this.write({},e)),e.verifyItemRelativeUrls&&e.verifyItemRelativeUrls.writtenUrls.length>0}async updateFrom(e,t={}){const r=this._updateFromInternal(e,t);this._updateFromPromise=r,await r;this._updateFromPromise===r&&(this._updateFromPromise=null)}async _updateFromInternal(e,t={}){if(await e.whenReady(),!t.environmentExcluded&&e.environment&&(this.initialViewProperties.environment=J.prototype.clone.apply(e.environment)),!t.viewpointExcluded&&e.viewpoint&&(this.initialViewProperties.viewpoint=e.viewpoint.clone()),this.initialViewProperties.spatialReference=e.spatialReference.clone(),this.initialViewProperties.viewingMode=e.viewingMode,d(e.clippingArea)?e.clippingArea!==this.clippingArea&&(this.clippingArea=e.clippingArea.clone(),this.clippingEnabled=!0):this.clippingEnabled=!1,e.heightModelInfo&&(this.heightModelInfo=e.heightModelInfo.clone()),e.map===this)for(const r of e.allLayerViews){const e="visible";e in r&&e in r.layer&&r._isOverridden(e)&&(r.layer[e]=r[e])}(!1===t.thumbnailExcluded||null==t.thumbnailExcluded&&!t.viewpointExcluded)&&await this._updateFromThumbnail(e,t.thumbnailSize||void 0)}async _updateFromThumbnail(e,t){const r=W(e,t),i=await e.takeScreenshot({format:"jpg",width:r.width,height:r.height,disableDecorations:!0});this.thumbnailUrl=i.dataUrl}_loadFromSource(){return this.resourceInfo?this._loadFromJSON(this.resourceInfo,{origin:"web-scene"}):this.portalItem&&this.portalItem.id?this._loadFromItem(this.portalItem):this._loadObjectsWithLayers()}_readAndLoadFromJSON(e,t){const r=this._validateJSON(e);return this.read(r,t),this._loadFromJSON(r,t)}_extractOperationalLayers(e){const t=[];if(!this.sourceVersion.supportsGround&&e.baseMap&&Array.isArray(e.baseMap.elevationLayers))for(const o of e.baseMap.elevationLayers)t.push(o);const r=[],i=e=>(e.layers&&(e.layers=e.layers.filter(i)),"ArcGISTiledElevationServiceLayer"!==e.layerType||(this.sourceVersion.supportsGround||r.push(e),!1));return{operationalLayers:e.operationalLayers?e.operationalLayers.filter(i):[],operationalElevationLayers:r,basemapElevationLayers:t}}_loadFromJSON(e,t){const r=new o;return this._validateSpatialReference().then((()=>this._validateHeightModelInfo())).then((()=>import("./layers/support/layersCreator.js"))).then((({populateOperationalLayers:i})=>{const{operationalLayers:o,operationalElevationLayers:s,basemapElevationLayers:a}=this._extractOperationalLayers(e),n=[],l={context:{...t,layerContainerType:"operational-layers"}};if(this.portalItem&&(l.context.portal=this.portalItem.portal||V.getDefault()),a.length>0){const e={...l,context:{...l.context,layerContainerType:"ground"}};e.defaultLayerType="ArcGISTiledElevationServiceLayer",n.push(i(this.ground.layers,a,e))}if(s.length>0){const e={...l,context:{...l.context,layerContainerType:"ground"}};e.defaultLayerType="ArcGISTiledElevationServiceLayer",n.push(i(r,s,e))}return o&&o.length>0&&n.push(i(this.layers,o,l)),w(n).then((()=>{}))})).then((()=>this._loadObjectsWithLayers())).then((()=>{this.ground.layers.addMany(r)}))}async _ensureLoadBeforeSave(){await this.load(),await this._loadObjectsWithLayers();const e=[];for(const t of this.allLayers.items)if("beforeSave"in t&&"function"==typeof t.beforeSave){const r=t.beforeSave();r&&e.push(r)}await w(e)}async _loadObjectsWithLayers(){const e=[];this.ground&&e.push(this.ground.load()),this.basemap&&e.push(this.basemap.load()),this.presentation.slides.forEach((t=>{t.basemap&&e.push(t.basemap.load())})),await w(e)}async _loadFromItem(e){if(await e.load().catch((e=>{throw new s("webscene:load-portal-item","Failed to load portal item",{error:e})})),"Web Scene"!==e.type)throw new s("webscene:invalid-portal-item","Invalid portal item type '${type}', expected 'Web Scene'",{type:e.type});const t=await e.fetchData();this.resourceInfo=t;const r={origin:"web-scene",url:f(e.itemUrl),portal:e.portal||V.getDefault(),portalItem:e,readResourcePaths:[]};await this._readAndLoadFromJSON(t,r),this.resourceReferences={portalItem:e,paths:r.readResourcePaths}}_validateSpatialReference(){const e=this.initialViewProperties,t=this._sceneSpatialReference;let r;if("local"!==e.viewingMode){if(!G(t,"global"))return Promise.reject(new s("webscene:unsupported-spatial-reference","Unsupported spatial reference (${spatialReference.wkid}) in global mode, only Web Mercator, WGS84 GCS or CGCS2000 are supported",{spatialReference:t,viewingMode:e.viewingMode}));r=e=>!e||P(e,t)}else{if(!G(t,"local"))return Promise.reject(new s("webscene:unsupported-spatial-reference","Unsupported spatial reference (${spatialReference.wkid}) in local mode, only projected coordinate systems are supported",{spatialReference:t,viewingMode:e.viewingMode}));r=e=>!e||e.equals(t)}const i=e=>e&&(d(e.camera)&&e.camera.position&&e.camera.position.spatialReference||d(e.targetGeometry)&&e.targetGeometry.spatialReference),o=e.viewpoint,a=i(o);if(a&&!r(a))return Promise.reject(new s("webscene:incompatible-camera-spatial-reference","Camera spatial reference (${cameraSpatialReference.wkid}) is incompatible with the scene spatial reference (${sceneSpatialReference.wkid})",{cameraSpatialReference:a,sceneSpatialReference:t,viewingMode:e.viewingMode}));const n=this.presentation.slides.find((e=>!r(i(e.viewpoint))));if(n){const r=i(n.viewpoint);return Promise.reject(new s("webscene:incompatible-slide-spatial-reference","Slide spatial reference (${slideSpatialReference.wkid}) is incompatible with the scene spatial reference (${sceneSpatialReference.wkid})",{slideSpatialReference:r,sceneSpatialReference:t,viewingMode:e.viewingMode}))}return Promise.resolve()}_validateHeightModelInfo(){const e=this._sceneSpatialReference,t=U(this.heightModelInfo,e);return t?Promise.reject(t):Promise.resolve()}_validateJSON(e){const t=q.parse(e.version||"","webscene");return D.validate(t),e.version=`${t.major}.${t.minor}`,1===t.major&&t.minor<=2&&(e.spatialReference=L.WebMercator.toJSON()),e}_updateTypeKeywords(e){"local"===this.initialViewProperties.viewingMode?e.typeKeywords?-1===e.typeKeywords.indexOf(Q)&&e.typeKeywords.push(Q):e.typeKeywords=[Q]:"global"===this.initialViewProperties.viewingMode&&e.typeKeywords&&(e.typeKeywords=e.typeKeywords.filter((e=>e!==Q))),e.typeKeywords&&(e.typeKeywords=e.typeKeywords.filter(((e,t,r)=>r.indexOf(e)===t)))}get _sceneSpatialReference(){return this.initialViewProperties.spatialReference||L.WebMercator}get _verifyItemRelativeRootPath(){return this.portalItem&&this.portalItem.itemUrl?f(this.portalItem.itemUrl).path:null}_enableVerifyItemRelativeUrls(e){const t=this._verifyItemRelativeRootPath;return t&&(e.verifyItemRelativeUrls={rootPath:t,writtenUrls:[]}),e}_unscheduleLayersIdGC(){this._layersIdGCTimeoutId&&(clearTimeout(this._layersIdGCTimeoutId),this._layersIdGCTimeoutId=0)}_scheduleLayersIdGC(){this._unscheduleLayersIdGC(),this._layersIdGCTimeoutId=setTimeout((()=>{this._layersIdGCTimeoutId=0,this._runLayersIdGC()}),3e3)}_runLayersIdGC(){this._unscheduleLayersIdGC();const e=this.applicationProperties&&this.applicationProperties.viewing&&this.applicationProperties.viewing.search,t=e=>!!this.allLayers.find((t=>t.id===e));e&&e.layers&&(e.layers=e.layers.filter((e=>t(e.id))));const r=this.presentation&&this.presentation.slides;r&&r.forEach((e=>{e.visibleLayers&&(e.visibleLayers=e.visibleLayers.filter((e=>t(e.id))))}))}static fromJSON(e){if(!e)throw new s("webscene:empty-resource","Expected a JSON resource but got nothing");return new this({resourceInfo:e})}};X.VERSION=D,e([v({type:x,json:{write:!0}})],X.prototype,"applicationProperties",void 0),e([v({json:{read:{source:"baseMap"},write:{target:"baseMap"}}})],X.prototype,"basemap",void 0),e([v({type:j,json:{read:{source:"clippingArea.geometry",reader:M},write:{target:"clippingArea.geometry"}}})],X.prototype,"clippingArea",void 0),e([I("clippingArea")],X.prototype,"writeClippingArea",null),e([v({type:Boolean,json:{write:{target:"clippingArea.clip"}}})],X.prototype,"clippingEnabled",void 0),e([b("clippingEnabled",["clippingArea"])],X.prototype,"readClippingEnabled",null),e([I("clippingEnabled")],X.prototype,"writeClippingEnabled",null),e([v({type:N,json:{read:{source:"mapFloorInfo"},write:{target:"mapFloorInfo"}}})],X.prototype,"floorInfo",void 0),e([v({type:R,json:{write:!0}})],X.prototype,"heightModelInfo",void 0),e([v({json:{write:{target:"operationalLayers",ignoreOrigin:!0}}})],X.prototype,"layers",void 0),e([I("layers")],X.prototype,"writeLayers",null),e([v({readOnly:!0,type:q,json:{type:H(),write:{ignoreOrigin:!0,target:"version",isRequired:!0,overridePolicy:()=>({enabled:!0,allowNull:!0,ignoreOrigin:!0})}}})],X.prototype,"sourceVersion",void 0),e([b("sourceVersion",["version"])],X.prototype,"readSourceVersion",null),e([I("sourceVersion")],X.prototype,"writeSourceVersion",null),e([v({json:{read:!1,write:!1}})],X.prototype,"tables",void 0),e([v()],X.prototype,"thumbnailUrl",null),e([v({type:String,json:{write:{writerEnsuresNonNull:!0,ignoreOrigin:!0}}})],X.prototype,"authoringApp",null),e([I("authoringApp")],X.prototype,"writeAuthoringApp",null),e([v({type:String,json:{write:{writerEnsuresNonNull:!0,ignoreOrigin:!0}}})],X.prototype,"authoringAppVersion",null),e([I("authoringAppVersion")],X.prototype,"writeAuthoringAppVersion",null),e([v({json:{write:{isRequired:!0,allowNull:!0,ignoreOrigin:!0,enabled:!0}}})],X.prototype,"ground",void 0),e([I("ground")],X.prototype,"writeGround",null),e([v({type:o.ofType(B),json:{write:!0}})],X.prototype,"transportationNetworks",void 0),e([v({type:k,nonNullable:!0,json:{write:{ignoreOrigin:!0,writer:(e,t,r,i)=>{if(e.slides&&e.slides.length>0){const r={...i,isPresentation:!0};t.presentation=e.write({},r)}}}}})],X.prototype,"presentation",void 0),e([v({type:$,nonNullable:!0,json:{write:{target:"initialState",isRequired:!0,ignoreOrigin:!0},default:()=>new $({viewingMode:"global",spatialReference:L.WebMercator})}})],X.prototype,"initialViewProperties",void 0),e([b("initialViewProperties",["initialState.environment","spatialReference","viewingMode","initialState.viewpoint"])],X.prototype,"readInitialViewProperties",null),e([v({type:L,json:{read:!1,write:{isRequired:!0,ignoreOrigin:!0}}})],X.prototype,"spatialReference",null),e([v({type:["local","global"],json:{read:!1,write:{isRequired:!0,ignoreOrigin:!0}}})],X.prototype,"viewingMode",null),e([v({type:E})],X.prototype,"portalItem",void 0),e([v()],X.prototype,"resourceInfo",void 0),X=e([S("esri.WebScene")],X);const Y=X;export{Y as default};
@@ -1 +1 @@
1
- {"measures":{"length":"й_Length_____________й","area":"й_Area_________й","volume":"й_Volume_____________й","angle":"й_Angle___________й"},"systems":{"metric":"й_Metric_____________й","imperial":"й_Imperial_________________й"},"units":{"millimeters":{"singular":"й_millimeter_____________________й","singularCapitalized":"й_Millimeter_____________________й","plural":"й_millimeters____________й","pluralCapitalized":"й_Millimeters____________й","abbr":"й_mm_____й"},"centimeters":{"singular":"й_centimeter_____________________й","singularCapitalized":"й_Centimeter_____________________й","plural":"й_centimeters____________й","pluralCapitalized":"й_Centimeters____________й","abbr":"й_cm_____й"},"decimeters":{"singular":"й_decimeter___________________й","singularCapitalized":"й_Decimeter___________________й","plural":"й_decimeters_____________________й","pluralCapitalized":"й_Decimeter___________________й","abbr":"й_dm_____й"},"meters":{"singular":"й_meter___________й","singularCapitalized":"й_Meter___________й","plural":"й_meters_____________й","pluralCapitalized":"й_Meters_____________й","abbr":"й_m___й"},"kilometers":{"singular":"й_kilometer___________________й","singularCapitalized":"й_Kilometer___________________й","plural":"й_kilometers_____________________й","pluralCapitalized":"й_Kilometers_____________________й","abbr":"й_km_____й"},"inches":{"singular":"й_inch_________й","singularCapitalized":"й_Inch_________й","plural":"й_inches_____________й","pluralCapitalized":"й_Inches_____________й","abbr":"й_in_____й"},"feet":{"singular":"й_foot_________й","singularCapitalized":"й_Foot_________й","plural":"й_feet_________й","pluralCapitalized":"й_Feet_________й","abbr":"й_ft_____й"},"yards":{"singular":"й_yard_________й","singularCapitalized":"й_Yard_________й","plural":"й_yards___________й","pluralCapitalized":"й_Yards___________й","abbr":"й_yd_____й"},"miles":{"singular":"й_mile_________й","singularCapitalized":"й_Mile_________й","plural":"й_miles___________й","pluralCapitalized":"й_Miles___________й","abbr":"й_mi_____й"},"nautical-miles":{"singular":"й_nautical mile______________й","singularCapitalized":"й_Nautical mile______________й","plural":"й_nautical miles_______________й","pluralCapitalized":"й_Nautical miles_______________й","abbr":"й_nm_____й"},"us-feet":{"singular":"й_foot (US)___________________й","singularCapitalized":"й_Foot (US)___________________й","plural":"й_feet (US)___________________й","pluralCapitalized":"й_Feet (US)___________________й","abbr":"й_ft_____й"},"square-millimeters":{"singular":"й_square millimeter__________________й","singularCapitalized":"й_Square millimeter__________________й","plural":"й_square millimeters___________________й","pluralCapitalized":"й_Square millimeters___________________й","abbr":"й_mm²_______й"},"square-centimeters":{"singular":"й_square centimeter__________________й","singularCapitalized":"й_Square centimeter__________________й","plural":"й_square centimeters___________________й","pluralCapitalized":"й_Square centimeters___________________й","abbr":"й_cm²_______й"},"square-decimeters":{"singular":"й_square decimeter_________________й","singularCapitalized":"й_Square decimeter_________________й","plural":"й_square decimeters__________________й","pluralCapitalized":"й_Square decimeters__________________й","abbr":"й_dm²_______й"},"square-meters":{"singular":"й_square meter_____________й","singularCapitalized":"й_Square meter_____________й","plural":"й_square meters______________й","pluralCapitalized":"й_Square meters______________й","abbr":"й_m²_____й"},"square-kilometers":{"singular":"й_square kilometer_________________й","singularCapitalized":"й_Square kilometer_________________й","plural":"й_square kilometers__________________й","pluralCapitalized":"й_Square kilometers__________________й","abbr":"й_km²_______й"},"square-inches":{"singular":"й_square inch____________й","singularCapitalized":"й_Square inch____________й","plural":"й_square inches______________й","pluralCapitalized":"й_Square inches______________й","abbr":"й_in²_______й"},"square-feet":{"singular":"й_square foot____________й","singularCapitalized":"й_Square foot____________й","plural":"й_square feet____________й","pluralCapitalized":"й_Square feet____________й","abbr":"й_ft²_______й"},"square-yards":{"singular":"й_square yard____________й","singularCapitalized":"й_Square yard____________й","plural":"й_square yards_____________й","pluralCapitalized":"й_Square yards_____________й","abbr":"й_yd²_______й"},"square-miles":{"singular":"й_square mile____________й","singularCapitalized":"й_Square mile____________й","plural":"й_square miles_____________й","pluralCapitalized":"й_Square miles_____________й","abbr":"й_mi²_______й"},"square-us-feet":{"singular":"й_square foot (US)_________________й","singularCapitalized":"й_Square foot (US)_________________й","plural":"й_square feet (US)_________________й","pluralCapitalized":"й_Square feet (US)_________________й","abbr":"й_ft²_______й"},"acres":{"singular":"й_acre_________й","singularCapitalized":"й_Acre_________й","plural":"й_acres___________й","pluralCapitalized":"й_Acres___________й","abbr":"й_acre_________й"},"ares":{"singular":"й_are_______й","singularCapitalized":"й_Are_______й","plural":"й_ares_________й","pluralCapitalized":"й_Ares_________й","abbr":"й_a___й"},"hectares":{"singular":"й_hectare_______________й","singularCapitalized":"й_Hectare_______________й","plural":"й_hectares_________________й","pluralCapitalized":"й_Hectares_________________й","abbr":"й_ha_____й"},"liters":{"singular":"й_liter___________й","singularCapitalized":"й_Liter___________й","plural":"й_liters_____________й","pluralCapitalized":"й_Liters_____________й","abbr":"й_l___й"},"cubic-millimeters":{"singular":"й_cubic millimeter_________________й","singularCapitalized":"й_Cubic millimeter_________________й","plural":"й_cubic millimeters__________________й","pluralCapitalized":"й_Cubic millimeters__________________й","abbr":"й_mm³_______й"},"cubic-centimeters":{"singular":"й_cubic centimeter_________________й","singularCapitalized":"й_Cubic centimeter_________________й","plural":"й_cubic centimeters__________________й","pluralCapitalized":"й_Cubic centimeters__________________й","abbr":"й_cm³_______й"},"cubic-decimeters":{"singular":"й_cubic decimeter________________й","singularCapitalized":"й_Cubic decimeter________________й","plural":"й_cubic decimeters_________________й","pluralCapitalized":"й_Cubic decimeters_________________й","abbr":"й_dm³_______й"},"cubic-meters":{"singular":"й_cubic meter____________й","singularCapitalized":"й_Cubic meter____________й","plural":"й_cubic meters_____________й","pluralCapitalized":"й_Cubic meters_____________й","abbr":"й_m³_____й"},"cubic-kilometers":{"singular":"й_cubic kilometer________________й","singularCapitalized":"й_Cubic kilometer________________й","plural":"й_cubic kilometers_________________й","pluralCapitalized":"й_Cubic kilometers_________________й","abbr":"й_km³_______й"},"cubic-inches":{"singular":"й_cubic inch_____________________й","singularCapitalized":"й_Cubic inch_____________________й","plural":"й_cubic inches_____________й","pluralCapitalized":"й_Cubic inches_____________й","abbr":"й_in³_______й"},"cubic-feet":{"singular":"й_cubic foot_____________________й","singularCapitalized":"й_Cubic foot_____________________й","plural":"й_cubic feet_____________________й","pluralCapitalized":"й_Cubic feet_____________________й","abbr":"й_ft³_______й"},"cubic-yards":{"singular":"й_cubic yard_____________________й","singularCapitalized":"й_Cubic yard_____________________й","plural":"й_cubic yards____________й","pluralCapitalized":"й_Cubic yards____________й","abbr":"й_yd³_______й"},"cubic-miles":{"singular":"й_cubic mile_____________________й","singularCapitalized":"й_Cubic mile_____________________й","plural":"й_cubic miles____________й","pluralCapitalized":"й_Cubic miles____________й","abbr":"й_mi³_______й"},"radians":{"singular":"й_radian_____________й","singularCapitalized":"й_Radian_____________й","plural":"й_radians_______________й","pluralCapitalized":"й_Radians_______________й","abbr":""},"degrees":{"singular":"й_degree_____________й","singularCapitalized":"й_Degree_____________й","plural":"й_degrees_______________й","pluralCapitalized":"й_Degrees_______________й","abbr":"й_°___й"},"bytes":{"B":"й_{fileSize} B_____________й","kB":"й_{fileSize} kB______________й","MB":"й_{fileSize} MB______________й","GB":"й_{fileSize} GB______________й","TB":"й_{fileSize} TB______________й"}}}
1
+ {"measures":{"length":"Дължина","area":"Област","volume":"Обем","angle":"Ъгъл"},"systems":{"metric":"Метрични","imperial":"Имперски"},"units":{"millimeters":{"singular":"милиметър","singularCapitalized":"Милиметър","plural":"милиметри","pluralCapitalized":"Милиметри","abbr":"мм"},"centimeters":{"singular":"сантиметър","singularCapitalized":"Сантиметър","plural":"сантиметра","pluralCapitalized":"Сантиметри","abbr":"см"},"decimeters":{"singular":"дециметър","singularCapitalized":"Дециметър","plural":"дециметра","pluralCapitalized":"Дециметър","abbr":"дм"},"meters":{"singular":"метър","singularCapitalized":"Метър","plural":"метри","pluralCapitalized":"Метри","abbr":"м"},"kilometers":{"singular":"километър","singularCapitalized":"Километър","plural":"километри","pluralCapitalized":"Километри","abbr":"км"},"inches":{"singular":"инч","singularCapitalized":"Инч","plural":"инча","pluralCapitalized":"Инчове","abbr":"инч"},"feet":{"singular":"фут","singularCapitalized":"Фут","plural":"фута","pluralCapitalized":"Фут","abbr":"фут"},"yards":{"singular":"ярд","singularCapitalized":"Ярд","plural":"ярда","pluralCapitalized":"Ярда","abbr":"ярд"},"miles":{"singular":"миля","singularCapitalized":"Миля","plural":"мили","pluralCapitalized":"Мили","abbr":"миля"},"nautical-miles":{"singular":"морска миля","singularCapitalized":"Морска миля","plural":"морски мили","pluralCapitalized":"Морски мили","abbr":"нм"},"us-feet":{"singular":"фут (Ам.)","singularCapitalized":"Фут (Ам.)","plural":"футове (Ам.)","pluralCapitalized":"Фут (Ам.)","abbr":"фут"},"square-millimeters":{"singular":"квадратен милиметър","singularCapitalized":"Квадратен милиметър","plural":"квадратни милиметри","pluralCapitalized":"Квадратни милиметри","abbr":"мм²"},"square-centimeters":{"singular":"квадратен сантиметър","singularCapitalized":"Квадратен сантиметър","plural":"квадратни сантиметри","pluralCapitalized":"Квадратни сантиметри","abbr":"см²"},"square-decimeters":{"singular":"квадратен дециметър","singularCapitalized":"Квадратен дециметър","plural":"квадратни дециметри","pluralCapitalized":"Квадратни дециметри","abbr":"дм²"},"square-meters":{"singular":"квадратен метър","singularCapitalized":"Квадратен метър","plural":"квадратни метри","pluralCapitalized":"Квадратни метри","abbr":"м²"},"square-kilometers":{"singular":"квадратен километър","singularCapitalized":"Квадратен километър","plural":"квадратни километри","pluralCapitalized":"Квадратни километри","abbr":"км²"},"square-inches":{"singular":"квадратен инч","singularCapitalized":"Квадратен инч","plural":"квадратни инчове","pluralCapitalized":"Квадратни инчове","abbr":"инч²"},"square-feet":{"singular":"квадратен фут","singularCapitalized":"Квадратен фут","plural":"квадратни фута","pluralCapitalized":"Квадратни фута","abbr":"фут²"},"square-yards":{"singular":"квадратен ярд","singularCapitalized":"Квадратен ярд","plural":"квадратни ярда","pluralCapitalized":"Квадратни ярда","abbr":"ярд²"},"square-miles":{"singular":"квадратна миля","singularCapitalized":"Квадратна миля","plural":"квадратни мили","pluralCapitalized":"Квадратни мили","abbr":"mi²"},"square-us-feet":{"singular":"квадратен фут (Ам.)","singularCapitalized":"Квадратен фут (Ам.)","plural":"квадратни футове (Ам.)","pluralCapitalized":"Квадратни футове (Ам.)","abbr":"фут²"},"acres":{"singular":"акър","singularCapitalized":"Акър","plural":"акра","pluralCapitalized":"Акра","abbr":"акър"},"ares":{"singular":"ар","singularCapitalized":"Ар","plural":"ара","pluralCapitalized":"Ара","abbr":"а"},"hectares":{"singular":"хектар","singularCapitalized":"Хектар","plural":"хектари","pluralCapitalized":"Хектари","abbr":"ха"},"liters":{"singular":"литър","singularCapitalized":"Литър","plural":"литри","pluralCapitalized":"Литри","abbr":"л."},"cubic-millimeters":{"singular":"кубичен милиметър","singularCapitalized":"Кубичен милиметър","plural":"кубични милиметри","pluralCapitalized":"Кубични милиметри","abbr":"мм³"},"cubic-centimeters":{"singular":"кубичен сантиметър","singularCapitalized":"Кубичен сантиметър","plural":"кубични сантиметри","pluralCapitalized":"Кубични сантиметри","abbr":"см³"},"cubic-decimeters":{"singular":"кубичен дециметър","singularCapitalized":"Кубичен дециметър","plural":"кубични дециметри","pluralCapitalized":"Кубични дециметри","abbr":"дм³"},"cubic-meters":{"singular":"кубичен метър","singularCapitalized":"Кубичен метър","plural":"кубични метри","pluralCapitalized":"Кубични метри","abbr":"м³"},"cubic-kilometers":{"singular":"кубичен километър","singularCapitalized":"Кубичен километър","plural":"кубични километра","pluralCapitalized":"Кубични километра","abbr":"км³"},"cubic-inches":{"singular":"кубичен инч","singularCapitalized":"Кубичен инч","plural":"кубични инчове","pluralCapitalized":"Кубични инчове","abbr":"in³"},"cubic-feet":{"singular":"кубичен фут","singularCapitalized":"Кубичен фут","plural":"кубични фута","pluralCapitalized":"Кубични фута","abbr":"фут³"},"cubic-yards":{"singular":"кубичен ярд","singularCapitalized":"Кубичен ярд","plural":"кубични ярда","pluralCapitalized":"Кубични ярда","abbr":"ярд³"},"cubic-miles":{"singular":"кубична миля","singularCapitalized":"Кубична миля","plural":"кубични мили","pluralCapitalized":"Кубични мили","abbr":"mi³"},"radians":{"singular":"радиан","singularCapitalized":"Радиан","plural":"радиани","pluralCapitalized":"Радиани","abbr":""},"degrees":{"singular":"градус","singularCapitalized":"Градус","plural":"градуси","pluralCapitalized":"Градуси","abbr":"°"},"bytes":{"B":"{fileSize} B","kB":"{fileSize} kB","MB":"{fileSize} MB","GB":"{fileSize} GB","TB":"{fileSize} TB"}}}
@@ -1 +1 @@
1
- var RemoteClient;(()=>{var e={88277:(e,t,r)=>{r.p=self.esriConfig.assetsPath+"/esri/core/workers/"},68773:(e,t,r)=>{"use strict";r.d(t,{Z:()=>i});var n=r(16358),o=(r(80442),r(78286)),s=r(17202);const i={apiKey:void 0,applicationUrl:n.Z.location&&n.Z.location.href,assetsPath:"",fontsUrl:"https://static.arcgis.com/fonts",geometryService:null,geometryServiceUrl:"https://utility.arcgisonline.com/arcgis/rest/services/Geometry/GeometryServer",geoRSSServiceUrl:"https://utility.arcgis.com/sharing/rss",kmlServiceUrl:"https://utility.arcgis.com/sharing/kml",portalUrl:"https://www.arcgis.com",workers:{loaderConfig:{has:{},paths:{},map:{},packages:[]}},request:{httpsDomains:["arcgis.com","arcgisonline.com","esrikr.com","premiumservices.blackbridge.com","esripremium.accuweather.com","gbm.digitalglobe.com","firstlook.digitalglobe.com","msi.digitalglobe.com"],interceptors:[],maxUrlLength:2e3,proxyRules:[],proxyUrl:null,timeout:6e4,trustedServers:[],useIdentity:!0},log:{interceptors:[],level:null}};if(n.Z.esriConfig&&((0,o.RH)(i,n.Z.esriConfig,!0),delete i.has),!i.assetsPath){const e="4.22.0";i.assetsPath=`https://cdn.jsdelivr.net/npm/@arcgis/core@${e}-next.${s.r}/assets`}i.baseUrl&&console.warn("[esri.config]","baseUrl has been replaced by assetsPath"),Object.defineProperty(i,"baseUrl",{set(){console.warn("[esri.config]","baseUrl has been replaced by assetsPath")}}),i.request.corsEnabledServers=[],i.request.corsEnabledServers.push=function(){return console.warn("[esri.config]","request.corsEnabledServers is not supported and will be removed in a future release. See http://esriurl.com/cors8664"),0}},20102:(e,t,r)=>{"use strict";r.d(t,{Z:()=>i});var n=r(22974),o=r(92604),s=r(58896);class i extends s.Z{constructor(e,t,r){if(super(e,t,r),!(this instanceof i))return new i(e,t,r)}toJSON(){if(null!=this.details)try{return{name:this.name,message:this.message,details:JSON.parse(JSON.stringify(this.details,((e,t)=>{if(t&&"object"==typeof t&&"function"==typeof t.toJSON)return t;try{return(0,n.d9)(t)}catch(e){return"[object]"}})))}}catch(e){throw o.Z.getLogger("esri.core.Error").error(e),e}return{name:this.name,message:this.message,details:this.details}}static fromJSON(e){return new i(e.name,e.message,e.details)}}i.prototype.type="error"},92604:(e,t,r)=>{"use strict";r.d(t,{Z:()=>a});var n=r(68773),o=(r(80442),r(70586)),s=r(19153);const i={info:0,warn:1,error:2,none:3};class a{constructor(e){this.level=null,this._module="",this._parent=null,this.writer=null,this._loggedMessages={error:new Map,warn:new Map,info:new Map},null!=e.level&&(this.level=e.level),null!=e.writer&&(this.writer=e.writer),this._module=e.module,a._loggers[this.module]=this;const t=this.module.lastIndexOf(".");-1!==t&&(this._parent=a.getLogger(this.module.slice(0,t)))}get module(){return this._module}get parent(){return this._parent}error(...e){this._log("error","always",...e)}warn(...e){this._log("warn","always",...e)}info(...e){this._log("info","always",...e)}errorOnce(...e){this._log("error","once",...e)}warnOnce(...e){this._log("warn","once",...e)}infoOnce(...e){this._log("info","once",...e)}errorOncePerTick(...e){this._log("error","oncePerTick",...e)}warnOncePerTick(...e){this._log("warn","oncePerTick",...e)}infoOncePerTick(...e){this._log("info","oncePerTick",...e)}get test(){const e=this;return{loggedMessages:e._loggedMessages,clearLoggedWarnings:()=>e._loggedMessages.warn.clear()}}static get testSingleton(){return{resetLoggers(e={}){const t=a._loggers;return a._loggers=e,t},set throttlingDisabled(e){a._throttlingDisabled=e}}}static getLogger(e){let t=a._loggers[e];return t||(t=new a({module:e})),t}_log(e,t,...r){if(this._matchLevel(e)){if("always"!==t&&!a._throttlingDisabled){const n=this._argsToKey(r),o=this._loggedMessages[e].get(n);if("once"===t&&null!=o||"oncePerTick"===t&&o&&o>=a._tickCounter)return;this._loggedMessages[e].set(n,a._tickCounter),a._scheduleTickCounterIncrement()}for(const t of n.Z.log.interceptors)if(t(e,this.module,...r))return;this._inheritedWriter()(e,this.module,...r)}}_parentWithMember(e,t){let r=this;for(;(0,o.pC)(r);){const t=r[e];if((0,o.pC)(t))return t;r=r.parent}return t}_inheritedWriter(){return this._parentWithMember("writer",this._consoleWriter)}_consoleWriter(e,t,...r){console[e](`[${t}]`,...r)}_matchLevel(e){const t=n.Z.log.level?n.Z.log.level:"warn";return i[this._parentWithMember("level",t)]<=i[e]}_argsToKey(...e){return(0,s.hP)(JSON.stringify(e,((e,t)=>"object"!=typeof t||Array.isArray(t)?t:"[Object]")))}static _scheduleTickCounterIncrement(){a._tickCounterScheduled||(a._tickCounterScheduled=!0,Promise.resolve().then((()=>{a._tickCounter++,a._tickCounterScheduled=!1})))}}a._loggers={},a._tickCounter=0,a._tickCounterScheduled=!1,a._throttlingDisabled=!1},58896:(e,t,r)=>{"use strict";r.d(t,{Z:()=>o});var n=r(78286);class o{constructor(e,t,r){this.name=e,this.details=r,this.message=void 0,this instanceof o&&(this.message=t&&function(e,t){return e.replace(/\$\{([^\s\:\}]*)(?:\:([^\s\:\}]+))?\}/g,(function(e,r){if(""===r)return"$";const o=(0,n.hS)(r,t),s=null==o?"":o;if(void 0===s)throw new Error(`could not find key "${r}" in template`);return s.toString()}))}(t,r)||"")}toString(){return"["+this.name+"]: "+this.message}}},77734:(e,t,r)=>{"use strict";r.d(t,{Z:()=>n});class n{constructor(e=1){this._seed=e}set seed(e){this._seed=null==e?Math.random()*n._m:e}getInt(){return this._seed=(n._a*this._seed+n._c)%n._m,this._seed}getFloat(){return this.getInt()/(n._m-1)}getIntRange(e,t){return Math.round(this.getFloatRange(e,t))}getFloatRange(e,t){const r=t-e;return e+this.getInt()/n._m*r}}n._m=2147483647,n._a=48271,n._c=0},67676:(e,t,r)=>{"use strict";r.d(t,{SO:()=>l,a9:()=>a,fS:()=>s,cq:()=>u,w6:()=>c,Od:()=>b,e$:()=>d,FY:()=>p});var n=r(70586),o=r(77734);function s(e,t,r){if((0,n.Wi)(e)&&(0,n.Wi)(t))return!0;if((0,n.Wi)(e)||(0,n.Wi)(t)||e.length!==t.length)return!1;if(r){for(let n=0;n<e.length;n++)if(!r(e[n],t[n]))return!1}else for(let r=0;r<e.length;r++)if(e[r]!==t[r])return!1;return!0}const i=!!Array.prototype.fill;function a(e,t){if(i)return new Array(e).fill(t);const r=new Array(e);for(let n=0;n<e;n++)r[n]=t;return r}function c(e,t){void 0===t&&(t=e,e=0);const r=new Array(t-e);for(let n=e;n<t;n++)r[n-e]=n;return r}class l{constructor(){this.last=0}}const f=new l;function u(e,t,r,n){n=n||f;const o=Math.max(0,n.last-10);for(let s=o;s<r;++s)if(e[s]===t)return n.last=s,s;const s=Math.min(o,r);for(let r=0;r<s;++r)if(e[r]===t)return n.last=r,r;return-1}function d(e,t,r,n){const o=null==r?e.length:r,s=u(e,t,o,n);if(-1!==s)return e[s]=e[o-1],null==r&&e.pop(),t}const h=new Set;function p(e,t,r=e.length,n=t.length,o,s){if(0===n||0===r)return r;h.clear();for(let e=0;e<n;++e)h.add(t[e]);o=o||f;const i=Math.max(0,o.last-10);for(let t=i;t<r;++t)if(h.has(e[t])&&(s&&s.push(e[t]),h.delete(e[t]),e[t]=e[r-1],--r,--t,0===h.size||0===r))return h.clear(),r;for(let t=0;t<i;++t)if(h.has(e[t])&&(s&&s.push(e[t]),h.delete(e[t]),e[t]=e[r-1],--r,--t,0===h.size||0===r))return h.clear(),r;return h.clear(),r}function b(e,t){const r=e.indexOf(t);return-1!==r?(e.splice(r,1),t):null}new o.Z},91460:(e,t,r)=>{"use strict";function n(e){return e&&("function"==typeof e.on||"function"==typeof e.addEventListener)}function o(e,t,r){if(!n(e))throw new TypeError("target is not a Evented or EventTarget object");if("on"in e)return e.on(t,r);if(Array.isArray(t)){const n=t.slice();for(const t of n)e.addEventListener(t,r);return{remove(){for(const t of n)e.removeEventListener(t,r)}}}return e.addEventListener(t,r),{remove(){e.removeEventListener(t,r)}}}function s(e,t,r){if(!n(e))throw new TypeError("target is not a Evented or EventTarget object");if("once"in e)return e.once(t,r);const s=o(e,t,(t=>{s.remove(),r.call(e,t)}));return{remove(){s.remove()}}}r.d(t,{vT:()=>n,on:()=>o,IH:()=>s})},16358:(e,t,r)=>{"use strict";r.d(t,{Z:()=>n});const n="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:void 0},80442:(e,t,r)=>{"use strict";r.d(t,{Z:()=>l});var n,o,s=r(16358);let i;var a,c;function l(e){return"function"==typeof i[e]?i[e]=i[e](s.Z):i[e]}i=null!=(n=s.Z.dojoConfig)&&n.has||null!=(o=s.Z.esriConfig)&&o.has?{...null==(a=s.Z.dojoConfig)?void 0:a.has,...null==(c=s.Z.esriConfig)?void 0:c.has}:{},l.add=(e,t,r,n)=>((n||void 0===i[e])&&(i[e]=t),r&&l(e)),l.cache=i,l.add("esri-deprecation-warnings",!0),(()=>{l.add("host-webworker",void 0!==s.Z.WorkerGlobalScope&&self instanceof s.Z.WorkerGlobalScope);const e="undefined"!=typeof window&&"undefined"!=typeof location&&"undefined"!=typeof document&&window.location===location&&window.document===document;if(l.add("host-browser",e),l.add("host-node","object"==typeof s.Z.process&&s.Z.process.versions&&s.Z.process.versions.node&&s.Z.process.versions.v8),l.add("dom",e),l("host-browser")){const e=navigator,t=e.userAgent,r=e.appVersion,n=parseFloat(r);if(l.add("wp",parseFloat(t.split("Windows Phone")[1])||void 0),l.add("msapp",parseFloat(t.split("MSAppHost/")[1])||void 0),l.add("khtml",r.includes("Konqueror")?n:void 0),l.add("edge",parseFloat(t.split("Edge/")[1])||void 0),l.add("opr",parseFloat(t.split("OPR/")[1])||void 0),l.add("webkit",!l("wp")&&!l("edge")&&parseFloat(t.split("WebKit/")[1])||void 0),l.add("chrome",!l("edge")&&!l("opr")&&parseFloat(t.split("Chrome/")[1])||void 0),l.add("android",!l("wp")&&parseFloat(t.split("Android ")[1])||void 0),l.add("safari",!r.includes("Safari")||l("wp")||l("chrome")||l("android")||l("edge")||l("opr")?void 0:parseFloat(r.split("Version/")[1])),l.add("mac",r.includes("Macintosh")),!l("wp")&&t.match(/(iPhone|iPod|iPad)/)){const e=RegExp.$1.replace(/P/,"p"),r=t.match(/OS ([\d_]+)/)?RegExp.$1:"1",n=parseFloat(r.replace(/_/,".").replace(/_/g,""));l.add(e,n),l.add("ios",n)}l.add("trident",parseFloat(r.split("Trident/")[1])||void 0),l("webkit")||(!t.includes("Gecko")||l("wp")||l("khtml")||l("trident")||l("edge")||l.add("mozilla",n),l("mozilla")&&l.add("ff",parseFloat(t.split("Firefox/")[1]||t.split("Minefield/")[1])||void 0))}})(),(()=>{if(s.Z.navigator){const e=navigator.userAgent,t=/Android|webOS|iPhone|iPad|iPod|BlackBerry|Opera Mini|IEMobile/i.test(e),r=/iPhone/i.test(e);t&&l.add("esri-mobile",t),r&&l.add("esri-iPhone",r),l.add("esri-geolocation",!!navigator.geolocation)}l.add("esri-canvas-svg-support",!l("trident")),l.add("esri-wasm","WebAssembly"in s.Z),l.add("esri-shared-array-buffer",(()=>{const e="SharedArrayBuffer"in s.Z,t=!1===s.Z.crossOriginIsolated;return e&&!t})),l.add("esri-atomics","Atomics"in s.Z),l.add("esri-workers","Worker"in s.Z),l.add("esri-text-decoder","TextDecoder"in s.Z),l.add("esri-text-encoder","TextEncoder"in s.Z),l.add("web-feat:cache","caches"in s.Z),l.add("esri-workers-arraybuffer-transfer",!l("safari")||Number(l("safari"))>=12),l.add("featurelayer-simplify-thresholds",[.5,.5,.5,.5]),l.add("featurelayer-simplify-payload-size-factors",[1,1,4]),l.add("featurelayer-snapshot-enabled",!0),l.add("featurelayer-snapshot-point-min-threshold",8e4),l.add("featurelayer-snapshot-point-max-threshold",4e5),l.add("featurelayer-snapshot-point-coverage",.1),l.add("featurelayer-advanced-symbols",!1),l.add("featurelayer-pbf",!0),l.add("featurelayer-pbf-statistics",!1),l.add("feature-layers-workers",!0),l.add("mapview-transitions-duration",200),l.add("mapserver-pbf-enabled",!1),l("host-webworker")||l("host-browser")&&(l.add("esri-csp-restrictions",(()=>{try{new Function}catch{return!0}return!1})),l.add("esri-image-decode",(()=>{if("decode"in new Image){const e=new Image;return e.src='data:image/svg+xml;charset=UTF-8,<svg version="1.1" xmlns="http://www.w3.org/2000/svg"></svg>',void e.decode().then((()=>{l.add("esri-image-decode",!0,!0,!0)})).catch((()=>{l.add("esri-image-decode",!1,!0,!0)}))}return!1})),l.add("esri-url-encodes-apostrophe",(()=>{const e=s.Z.document.createElement("a");return e.href="?'",e.href.includes("?%27")})),l.add("vectortilelayer-max-buffers",l("ff")?160:Number.POSITIVE_INFINITY))})()},22974:(e,t,r)=>{"use strict";r.d(t,{d9:()=>s,fS:()=>i,yd:()=>o}),r(67676),r(80442);var n=r(1533);function o(e,t){let r;if(t)for(r in e)e.hasOwnProperty(r)&&(void 0===e[r]?delete e[r]:e[r]instanceof Object&&o(e[r],!0));else for(r in e)e.hasOwnProperty(r)&&void 0===e[r]&&delete e[r];return e}function s(e){if(!e||"object"!=typeof e||"function"==typeof e)return e;if((0,n.W0)(e)||(0,n.lq)(e)||(0,n.KZ)(e)||(0,n.z3)(e)||(0,n.Uc)(e)||(0,n.Hx)(e)||(0,n.ZY)(e)||(0,n.xZ)(e)||(0,n.fS)(e))return(0,n.tP)(e);if(e instanceof Date)return new Date(e.getTime());if(e instanceof ArrayBuffer)return e.slice(0,e.byteLength);if(e instanceof Map){const t=new Map;return e.forEach(((e,r)=>{t.set(r,s(e))})),t}if(e instanceof Set){const t=new Set;return e.forEach((e=>{t.add(s(e))})),t}let t;const r=e;if("function"==typeof r.clone)t=r.clone();else if("function"==typeof r.map&&"function"==typeof r.forEach)t=r.map(s);else if("function"==typeof r.notifyChange&&"function"==typeof r.watch)t=r.clone();else{t={};for(const r of Object.getOwnPropertyNames(e))t[r]=s(e[r])}return t}function i(e,t){return e===t||"number"==typeof e&&isNaN(e)&&"number"==typeof t&&isNaN(t)||"function"==typeof(e||{}).getTime&&"function"==typeof(t||{}).getTime&&e.getTime()===t.getTime()||!1}},70586:(e,t,r)=>{"use strict";function n(e){return null!=e}function o(e){return null==e}function s(e){return void 0===e}function i(e,t){return n(e)?t(e):null}function a(e){return e}function c(e,t){if(o(e))throw new Error(t);return e}function l(e,t){return n(e)?e:"function"==typeof t?t():t}function f(e){return n(e)&&e.destroy(),null}function u(e){return n(e)&&e.dispose(),null}function d(e){return n(e)&&e.remove(),null}function h(e){return n(e)&&e.release(),null}function p(e){return null}function b(e,t){const r=new Array;for(const n of e)r.push(m(n,null,t));return r}function g(e,t){for(const r of e)m(r,null,t)}function m(e,t,r){return n(e)?r(e):t}function y(e,t){return n(e)?t(e):null}function v(e){return e.filter((e=>n(e)))}function w(e,...t){let r=e;for(let e=0;e<t.length&&r;++e)r=r[t[e]];return r}function _(e){return e}r.d(t,{Po:()=>y,yw:()=>i,j0:()=>_,SC:()=>f,O3:()=>u,lV:()=>v,JR:()=>g,U2:()=>w,Wi:()=>o,pC:()=>n,o8:()=>s,Fd:()=>b,R2:()=>m,Bd:()=>p,RY:()=>h,hw:()=>d,Wg:()=>a,Pt:()=>l,s3:()=>c})},78286:(e,t,r)=>{"use strict";r.d(t,{RH:()=>o,hS:()=>s,RB:()=>i});var n=r(22974);function o(e,t,r=!1){return c(e,t,r)}function s(e,t){if(null!=t)return t[e]||a(e.split("."),!1,t)}function i(e,t,r){const n=e.split("."),o=n.pop(),s=a(n,!0,r);s&&o&&(s[o]=t)}function a(e,t,r){let n=r;for(const r of e){if(null==n)return;if(!(r in n)){if(!t)return;n[r]={}}n=n[r]}return n}function c(e,t,r){return t?Object.keys(t).reduce((function(e,o){let s=e[o],i=t[o];return s===i?e:void 0===s?(e[o]=(0,n.d9)(i),e):(Array.isArray(i)||Array.isArray(e)?(s=s?Array.isArray(s)?e[o]=s.concat():e[o]=[s]:e[o]=[],i&&(Array.isArray(i)||(i=[i]),r?i.forEach((e=>{-1===s.indexOf(e)&&s.push(e)})):e[o]=i.concat())):i&&"object"==typeof i?e[o]=c(s,i,r):e.hasOwnProperty(o)&&!t.hasOwnProperty(o)||(e[o]=i),e)}),e||{}):e}},95330:(e,t,r)=>{"use strict";r.d(t,{e4:()=>C,$6:()=>c,Ue:()=>l,zE:()=>f,dD:()=>_,hh:()=>j,vr:()=>$,Ds:()=>M,as:()=>O,WW:()=>P,R8:()=>w,D_:()=>v,Hc:()=>h,tI:()=>A,y8:()=>E,fu:()=>g,$F:()=>m,d1:()=>k,DB:()=>S,r9:()=>p,k_:()=>u,H9:()=>b,gx:()=>x,Hl:()=>y});const n=(o=r(16358).Z,{setTimeout:(e,t)=>{const r=o.setTimeout(e,t);return{remove:()=>o.clearTimeout(r)}}});var o,s=r(20102),i=r(91460),a=(r(92604),r(70586));function c(e){return Promise.all(e)}function l(e){return new Promise(((t,r)=>{try{e(t,r)}catch(e){Promise.resolve().then((()=>r(e)))}}))}function f(e="Aborted"){return new s.Z("AbortError",e)}function u(e,t="Aborted"){if(h(e))throw f(t)}function d(e){return(0,a.pC)(e)?"aborted"in e?e:e.signal:e}function h(e){const t=d(e);return(0,a.pC)(t)&&t.aborted}function p(e){if(v(e))throw e}function b(e){if(!v(e))throw e}function g(e,t){const r=d(e);if(!(0,a.Wi)(r)){if(!r.aborted)return(0,i.IH)(r,"abort",(()=>t()));t()}}function m(e,t){const r=d(e);if(!(0,a.Wi)(r))return u(r),(0,i.IH)(r,"abort",(()=>t(f())))}function y(e,t){const r=d(t);return(0,a.Wi)(r)?e:new Promise(((r,n)=>{let o=g(t,(()=>n(f())));const s=()=>o=(0,a.hw)(o);e.then(s,s),e.then(r,n)}))}function v(e){return e&&"AbortError"===e.name}function w(e){return e.catch((e=>{if(!v(e))throw e}))}function _(){let e=null;const t=new Promise(((t,r)=>{e={promise:void 0,resolve:t,reject:r}}));return e.promise=t,e}function O(e){if(!e)return;if("function"!=typeof e.forEach){const t=Object.keys(e);return O(t.map((t=>e[t]))).then((e=>{const r={};return t.forEach(((t,n)=>r[t]=e[n])),r}))}const t=e;return l((e=>{const r=[];let n=t.length;0===n&&e(r),t.forEach((t=>{const o={promise:t||Promise.resolve(t)};r.push(o),o.promise.then((e=>{o.value=e})).catch((e=>{o.error=e})).then((()=>{--n,0===n&&e(r)}))}))}))}function P(e){return O(e).then((e=>e.filter((e=>!!e.value)).map((e=>e.value))))}function k(e){return Promise.reject(e)}function S(e){return Promise.resolve(e)}function C(e,t,r){const n=new AbortController;return g(r,(()=>n.abort())),new Promise(((r,o)=>{let s=setTimeout((()=>{s=0,r(t)}),e);g(n,(()=>{s&&(clearTimeout(s),o(f()))}))}))}function E(e){return e&&"function"==typeof e.then}function x(e){return A(e)?e:Promise.resolve(e)}function A(e){return e&&"object"==typeof e&&"then"in e&&"function"==typeof e.then}function M(e,t=-1){let r,n,o,s,i=null;const c=(...l)=>{if(r){n=l,s&&s.reject(f()),s=_();const e=(0,a.j0)(s.promise);if(i){const e=i;i=null,e.abort()}return e}if(o=s||_(),s=null,t>0){const n=new AbortController;r=x(e(...l,n.signal));const o=r;C(t).then((()=>{r===o&&(s?n.abort():i=n)}))}else r=1,r=x(e(...l));const u=()=>{const e=n;n=o=r=i=null,null!=e&&c(...e)},d=r,h=o;return d.then(u,u),d.then(h.resolve,h.reject),(0,a.j0)(h.promise)};return c}function j(){let e,t;const r=new Promise(((r,n)=>{e=r,t=n})),o=t=>{e(t)};return o.resolve=t=>e(t),o.reject=e=>t(e),o.timeout=(e,t)=>n.setTimeout((()=>o.reject(t)),e),o.promise=r,o}function $(e){let t=new AbortController;const r=e(t.signal);let n={promise:r,finished:!1,abort:()=>{t&&(t.abort(),t=null)}};const o=()=>{n&&(n.finished=!0,n=null),t=null};return r.then(o,o),n}},19153:(e,t,r)=>{"use strict";r.d(t,{Qs:()=>a,hP:()=>c,gx:()=>i,Cb:()=>l});var n=r(78286);const o=/\{([^\}]+)\}/g;function s(e){return null==e?"":e}function i(e,t){return e.replace(o,"object"==typeof t?(e,r)=>s((0,n.hS)(r,t)):(e,r)=>s(t(r)))}function a(e,t){return e.replace(/([\.$?*|{}\(\)\[\]\\\/\+\-^])/g,(e=>t&&-1!==t.indexOf(e)?e:`\\${e}`))}function c(e){let t=0;for(let r=0;r<e.length;r++)t=(t<<5)-t+e.charCodeAt(r),t|=0;return t}function l(e){return(new DOMParser).parseFromString(e||"","text/html").body.innerText||""}},1533:(e,t,r)=>{"use strict";function n(e,t){if(e.forEach)e.forEach(t);else for(let r=0;r<e.length;r++)t(e[r],r,e)}function o(e,t,r){if(e.slice)return e.slice(t,r);void 0===t?t=0:(t<0&&(t+=e.length),t=Math.min(e.length,Math.max(0,t))),void 0===r?r=e.length:(r<0&&(r+=e.length),r=Math.min(e.length,Math.max(0,r)));const n=Math.max(0,r-t),o=new(0,e.constructor)(n);for(let r=0;r<n;r++)o[r]=e[t+r];return o}function s(e){return e instanceof ArrayBuffer||e&&e.constructor&&"ArrayBuffer"===e.constructor.name}function i(e){return e instanceof Int8Array||e&&e.constructor&&"Int8Array"===e.constructor.name}function a(e){return e instanceof Uint8Array||e&&e.constructor&&"Uint8Array"===e.constructor.name}function c(e){return e instanceof Uint8ClampedArray||e&&e.constructor&&"Uint8ClampedArray"===e.constructor.name}function l(e){return e instanceof Int16Array||e&&e.constructor&&"Int16Array"===e.constructor.name}function f(e){return e instanceof Uint16Array||e&&e.constructor&&"Uint16Array"===e.constructor.name}function u(e){return e instanceof Int32Array||e&&e.constructor&&"Int32Array"===e.constructor.name}function d(e){return e instanceof Uint32Array||e&&e.constructor&&"Uint32Array"===e.constructor.name}function h(e){return e instanceof Float32Array||e&&e.constructor&&"Float32Array"===e.constructor.name}function p(e){return e instanceof Float64Array||e&&e.constructor&&"Float64Array"===e.constructor.name}r.d(t,{Ed:()=>n,eP:()=>s,xZ:()=>h,fS:()=>p,z3:()=>l,Hx:()=>u,W0:()=>i,Uc:()=>f,ZY:()=>d,lq:()=>a,KZ:()=>c,tP:()=>o})},17452:(e,t,r)=>{"use strict";r.d(t,{R9:()=>y,qg:()=>E,tD:()=>j,ZN:()=>le,fl:()=>fe,AX:()=>_,Gd:()=>v,Ie:()=>ie,sJ:()=>Q,AH:()=>K,vt:()=>oe,oh:()=>N,P$:()=>F,Ml:()=>ue,ed:()=>$,b7:()=>C,D6:()=>Z,tm:()=>I,YP:()=>B,jc:()=>D,HK:()=>H,$U:()=>X,oC:()=>G,kl:()=>R,v_:()=>q,hF:()=>U,_l:()=>V,PF:()=>L,Fv:()=>J,B7:()=>S,u0:()=>P,Yd:()=>ne,Hu:()=>ce,Qj:()=>se,hO:()=>ee,mN:()=>O});var n=r(68773),o=r(20102),s=(r(16358),r(92604)),i=r(70586);const a=s.Z.getLogger("esri.core.urlUtils"),c=n.Z.request,l="esri/config: esriConfig.request.proxyUrl is not set.",f=/^\s*[a-z][a-z0-9-+.]*:(?![0-9])/i,u=/^\s*http:/i,d=/^\s*https:/i,h=/^\s*file:/i,p=/:\d+$/,b=/^https?:\/\/[^/]+\.arcgis.com\/sharing(\/|$)/i,g=new RegExp("^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*))?$"),m=new RegExp("^((([^\\[:]+):)?([^@]+)@)?(\\[([^\\]]+)\\]|([^\\[:]*))(:([0-9]+))?$");class y{constructor(e=""){this.uri=e,this.scheme=null,this.authority=null,this.path=null,this.query=null,this.fragment=null,this.user=null,this.password=null,this.host=null,this.port=null;let t=(0,i.j0)(this.uri.match(g));this.scheme=t[2]||(t[1]?"":null),this.authority=t[4]||(t[3]?"":null),this.path=t[5],this.query=t[7]||(t[6]?"":null),this.fragment=t[9]||(t[8]?"":null),null!=this.authority&&(t=(0,i.j0)(this.authority.match(m)),this.user=t[3]||null,this.password=t[4]||null,this.host=t[6]||t[7],this.port=t[9]||null)}toString(){return this.uri}}const v=new y(n.Z.applicationUrl),w={},_=(()=>{const e=(0,i.j0)(v.path),t=e.substring(0,e.lastIndexOf(e.split("/")[e.split("/").length-1]));return`${v.scheme}://${v.host}${null!=v.port?`:${v.port}`:""}${t}`})();function O(e){const t={path:null,query:null},r=new y(e),n=e.indexOf("?");return null===r.query?t.path=e:(t.path=e.substring(0,n),t.query=P(r.query)),r.fragment&&(t.hash=r.fragment,null===r.query&&(t.path=t.path.substring(0,t.path.length-(r.fragment.length+1)))),t}function P(e){const t=e.split("&"),r={};for(const e of t){if(!e)continue;const t=e.indexOf("=");let n,o;t<0?(n=decodeURIComponent(e),o=""):(n=decodeURIComponent(e.slice(0,t)),o=decodeURIComponent(e.slice(t+1)));let s=r[n];"string"==typeof s&&(s=r[n]=[s]),Array.isArray(s)?s.push(o):r[n]=o}return r}function k(e){return e&&"object"==typeof e&&"toJSON"in e&&"function"==typeof e.toJSON}function S(e,t){return e?t&&"function"==typeof t?Object.keys(e).map((r=>encodeURIComponent(r)+"="+encodeURIComponent(t(r,e[r])))).join("&"):Object.keys(e).map((r=>{const n=e[r];if(null==n)return"";const o=encodeURIComponent(r)+"=",s=t&&t[r];return s?o+encodeURIComponent(s(n)):Array.isArray(n)?n.map((e=>k(e)?o+encodeURIComponent(JSON.stringify(e)):o+encodeURIComponent(e))).join("&"):k(n)?o+encodeURIComponent(JSON.stringify(n)):o+encodeURIComponent(n)})).filter((e=>e)).join("&"):""}function C(e=!1){let t,r=c.proxyUrl;if("string"==typeof e){t=X(e);const n=$(e);n&&(r=n.proxyUrl)}else t=!!e;if(!r)throw a.warn(l),new o.Z("urlutils:proxy-not-set",l);return t&&te()&&(r=ee(r)),O(r)}function E(e){const t=$(e);let r,n;if(t){const e=A(t.proxyUrl);r=e.path,n=e.query?P(e.query):null}if(r){const t=O(e);e=r+"?"+t.path;const o=S({...n,...t.query});o&&(e=`${e}?${o}`)}return e}const x={path:"",query:""};function A(e){const t=e.indexOf("?");return-1!==t?(x.path=e.slice(0,t),x.query=e.slice(t+1)):(x.path=e,x.query=null),x}function M(e){return(e=re(e=function(e){return e&&"/"===e[e.length-1]?e:`${e}/`}(e=A(e).path),!0)).toLowerCase()}function j(e){const t={proxyUrl:e.proxyUrl,urlPrefix:M(e.urlPrefix)},r=c.proxyRules,n=t.urlPrefix;let o=r.length;for(let e=0;e<r.length;e++){const t=r[e].urlPrefix;if(0===n.indexOf(t)){if(n.length===t.length)return-1;o=e;break}0===t.indexOf(n)&&(o=e+1)}return r.splice(o,0,t),o}function $(e){const t=c.proxyRules,r=M(e);for(let e=0;e<t.length;e++)if(0===r.indexOf(t[e].urlPrefix))return t[e]}function I(e,t){return e=T(e),t=T(t),re(e)===re(t)}function T(e){const t=(e=J(e)).indexOf("/sharing");return t>0?e.substring(0,t):e.replace(/\/+$/,"")}function N(e){const t=t=>null==t||t instanceof RegExp&&t.test(e)||"string"==typeof t&&e.startsWith(t),r=c.interceptors;if(r)for(const e of r)if(Array.isArray(e.urls)){if(e.urls.some(t))return e}else if(t(e.urls))return e;return null}function Z(e,t,r=!1){const n=ae(e),o=ae(t);return!(!r&&n.scheme!==o.scheme)&&null!=n.host&&null!=o.host&&n.host.toLowerCase()===o.host.toLowerCase()&&n.port===o.port}function R(e){if("string"==typeof e){if(!B(e))return!0;e=ae(e)}if(Z(e,v))return!0;const t=c.trustedServers||[];for(let r=0;r<t.length;r++){const n=W(t[r]);for(let t=0;t<n.length;t++)if(Z(e,n[t]))return!0}return!1}function W(e){return w[e]||(Y(e)||G(e)?w[e]=[new y(U(e))]:w[e]=[new y(`http://${e}`),new y(`https://${e}`)]),w[e]}function U(e,t=_,r){return G(e)?r&&r.preserveProtocolRelative?e:"http"===v.scheme&&v.authority===F(e).slice(2)?`http:${e}`:`https:${e}`:Y(e)?e:(0,i.j0)(q("/"===e[0]?function(e){const t=e.indexOf("//"),r=e.indexOf("/",t+2);return-1===r?e:e.slice(0,r)}(t):t,e))}function L(e,t=_,r){if(!B(e))return e;const n=J(e),o=n.toLowerCase(),s=J(t).toLowerCase().replace(/\/+$/,""),i=r?J(r).toLowerCase().replace(/\/+$/,""):null;if(i&&0!==s.indexOf(i))return e;const a=(e,t,r)=>-1===(r=e.indexOf(t,r))?e.length:r;let c=a(o,"/",o.indexOf("//")+2),l=-1;for(;o.slice(0,c+1)===s.slice(0,c)+"/"&&(l=c+1,c!==o.length);)c=a(o,"/",c+1);if(-1===l)return e;if(i&&l<i.length)return e;e=n.slice(l);const f=s.slice(l-1).replace(/[^/]+/g,"").length;if(f>0)for(let t=0;t<f;t++)e=`../${e}`;else e=`./${e}`;return e}function J(e){return function(e){const t=c.httpsDomains;if(!function(e){return u.test(e)||"http"===v.scheme&&G(e)}(e))return e;const r=e.indexOf("/",7);let n;if(n=-1===r?e:e.slice(0,r),n=n.toLowerCase().slice(7),p.test(n)){if(!n.endsWith(":80"))return e;n=n.slice(0,-3),e=e.replace(":80","")}return"http"===v.scheme&&n===v.authority&&!b.test(e)||(te()&&n===v.authority||t&&t.some((e=>n===e||n.endsWith(`.${e}`)))||te()&&!$(e))&&(e=ee(e)),e}(e=function(e){return e.replace(/^(https?:\/\/)(arcgis\.com)/i,"$1www.$2")}(e=function(e){if(/^https?:\/\//i.test(e)){const t=A(e);e=(e=t.path.replace(/\/{2,}/g,"/")).replace("/","//"),t.query&&(e+=`?${t.query}`)}return e}(e=U(e=e.trim()))))}function q(...e){const t=e.filter(i.pC);if(!t||!t.length)return;const r=[];if(B(t[0])){const e=t[0],n=e.indexOf("//");-1!==n&&(r.push(e.slice(0,n+1)),function(e){return h.test(e)}(t[0])&&(r[0]+="/"),t[0]=e.slice(n+2))}else"/"===t[0][0]&&r.push("");const n=t.reduce(((e,t)=>t?e.concat(t.split("/")):e),[]);for(let e=0;e<n.length;e++){const t=n[e];".."===t&&r.length>0&&".."!==r[r.length-1]?r.pop():(!t&&e===n.length-1||t&&("."!==t||0===r.length))&&r.push(t)}return r.join("/")}function F(e,t=!1){if(D(e)||H(e))return null;let r=e.indexOf("://");if(-1===r&&G(e))r=2;else{if(-1===r)return null;r+=3}const n=e.indexOf("/",r);return-1!==n&&(e=e.slice(0,n)),t&&(e=re(e,!0)),e}function B(e){return G(e)||Y(e)}function D(e){return null!=e&&"blob:"===e.slice(0,5)}function H(e){return"data:"===e.slice(0,5)}function K(e){const t=Q(e);if(!t||!t.isBase64)return null;const r=atob(t.data),n=new Uint8Array(r.length);for(let e=0;e<r.length;e++)n[e]=r.charCodeAt(e);return n.buffer}const z=/^data:(.*?)(;base64)?,(.*)$/;function Q(e){const t=e.match(z);if(!t)return null;const[,r,n,o]=t;return{mediaType:r,isBase64:!!n,data:o}}function V(e){return e.isBase64?`data:${e.mediaType};base64,${e.data}`:`data:${e.mediaType},${e.data}`}function G(e){return null!=e&&void 0!==e&&"/"===e[0]&&"/"===e[1]}function Y(e){return f.test(e)}function X(e){return d.test(e)||"https"===v.scheme&&G(e)}function ee(e){return G(e)?`https:${e}`:e.replace(u,"https:")}function te(){return"https"===v.scheme}function re(e,t=!1){return G(e)?e.slice(2):(e=e.replace(f,""),t&&e.length>1&&"/"===e[0]&&"/"===e[1]&&(e=e.slice(2)),e)}function ne(e){let t=0;if(B(e)){const r=e.indexOf("//");-1!==r&&(t=r+2)}const r=e.lastIndexOf("/");return r<t?e:e.slice(0,r+1)}function oe(e,t){if(!e)return"";const r=O(e).path.replace(/\/+$/,""),n=r.substring(r.lastIndexOf("/")+1);if(null==t||!t.length)return n;const o=new RegExp(`.(${t.join("|")})$`,"ig");return n.replace(o,"")}function se(e){return e.replace(/\/+$/,"")}function ie(e,t,r){if(!(t&&r&&e&&B(e)))return e;const n=e.indexOf("//"),o=e.indexOf("/",n+2),s=e.indexOf(":",n+2),i=Math.min(o<0?e.length:o,s<0?e.length:s);return e.slice(n+2,i).toLowerCase()!==t.toLowerCase()?e:`${e.slice(0,n+2)}${r}${e.slice(i)}`}function ae(e){return"string"==typeof e?new y(U(e)):(e.scheme||(e.scheme=v.scheme),e)}function ce(e,t){const r=O(e),n=Object.keys(r.query||{});return n.length>0&&t&&t.warn("removeQueryParameters()",`Url query parameters are not supported, the following parameters have been removed: ${n.join(", ")}.`),r.path}function le(e,t,r){const n=O(e),o=n.query||{};return o[t]=String(r),`${n.path}?${S(o)}`}function fe(e,t){const r=O(e),n=r.query||{};for(const e in t)n[e]=t[e];const o=S(n);return o?`${r.path}?${o}`:r.path}function ue(e){if((0,i.Wi)(e))return null;const t=e.match(de);return t?t[1]:null}const de=/.*?\.([^\/]*)$/},25045:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>y});var n=r(40330),o=r(20102),s=r(91460),i=r(70586),a=r(95330),c=r(94362),l=r(17202);const f={statsWorker:()=>Promise.all([r.e(8778),r.e(6570),r.e(9928),r.e(2303),r.e(6841)]).then(r.bind(r,36841)),geometryEngineWorker:()=>Promise.all([r.e(5837),r.e(8227)]).then(r.bind(r,48227)),CSVSourceWorker:()=>Promise.all([r.e(8778),r.e(6570),r.e(9928),r.e(2303),r.e(1418),r.e(411),r.e(1534),r.e(3551),r.e(8961),r.e(7054),r.e(5590),r.e(7793)]).then(r.bind(r,27793)),EdgeProcessingWorker:()=>Promise.all([r.e(6481),r.e(8936)]).then(r.bind(r,18936)),ElevationSamplerWorker:()=>Promise.all([r.e(8778),r.e(6570),r.e(9928),r.e(411),r.e(6481),r.e(6459),r.e(5951)]).then(r.bind(r,61787)),FeatureServiceSnappingSourceWorker:()=>Promise.all([r.e(8778),r.e(6570),r.e(9928),r.e(2303),r.e(1418),r.e(4588),r.e(411),r.e(1534),r.e(3485),r.e(3551),r.e(8961),r.e(7054),r.e(5590),r.e(991)]).then(r.bind(r,41650)),GeoJSONSourceWorker:()=>Promise.all([r.e(8778),r.e(6570),r.e(9928),r.e(2303),r.e(1418),r.e(411),r.e(1534),r.e(3551),r.e(8961),r.e(7054),r.e(5590),r.e(327),r.e(7845)]).then(r.bind(r,97845)),LercWorker:()=>r.e(3027).then(r.bind(r,23027)),MemorySourceWorker:()=>Promise.all([r.e(8778),r.e(6570),r.e(9928),r.e(2303),r.e(1418),r.e(411),r.e(1534),r.e(3551),r.e(8961),r.e(7054),r.e(5590),r.e(327),r.e(639)]).then(r.bind(r,30639)),PBFDecoderWorker:()=>Promise.all([r.e(8778),r.e(6570),r.e(9928),r.e(8961),r.e(147)]).then(r.bind(r,61916)),Pipeline:()=>Promise.all([r.e(8778),r.e(6570),r.e(9928),r.e(2303),r.e(1418),r.e(7394),r.e(4588),r.e(411),r.e(1534),r.e(3485),r.e(3551),r.e(8961),r.e(7054),r.e(2730),r.e(3142)]).then(r.bind(r,53142)),PointCloudWorker:()=>Promise.all([r.e(8778),r.e(6570),r.e(9928),r.e(2303),r.e(411),r.e(9294),r.e(5446)]).then(r.bind(r,16583)),RasterWorker:()=>Promise.all([r.e(8778),r.e(6570),r.e(9928),r.e(2303),r.e(411),r.e(5284),r.e(6200)]).then(r.bind(r,61576)),SceneLayerWorker:()=>r.e(5265).then(r.bind(r,55265)),WFSSourceWorker:()=>Promise.all([r.e(8778),r.e(6570),r.e(9928),r.e(2303),r.e(1418),r.e(411),r.e(1534),r.e(3551),r.e(8961),r.e(7054),r.e(5590),r.e(327),r.e(6919),r.e(3230)]).then(r.bind(r,43230)),WorkerTileHandler:()=>Promise.all([r.e(2303),r.e(2508),r.e(6810),r.e(9872)]).then(r.bind(r,56456))},{CLOSE:u,ABORT:d,INVOKE:h,RESPONSE:p,OPEN_PORT:b,ON:g}=c.Cs;class m{constructor(e){this._timer=null,this._cancelledJobIds=new Set,this._invokeMessages=[],this._invoke=e,this._timer=null,this._process=this._process.bind(this)}push(e){e.type===c.Cs.ABORT?this._cancelledJobIds.add(e.jobId):(this._invokeMessages.push(e),null===this._timer&&(this._timer=setTimeout(this._process,0)))}clear(){this._invokeMessages.length=0,this._cancelledJobIds.clear(),this._timer=null}_process(){this._timer=null;for(const e of this._invokeMessages)this._cancelledJobIds.has(e.jobId)||this._invoke(e);this._cancelledJobIds.clear(),this._invokeMessages.length=0}}class y{constructor(e,t){this._port=e,this._outJobs=new Map,this._inJobs=new Map,this._invokeQueue=new m((e=>this._onInvokeMessage(e))),this._client=t.client,this._onMessage=this._onMessage.bind(this),this._channel=t.channel,this._schedule=t.schedule,this._port.addEventListener("message",this._onMessage),this._port.start()}static connect(e){const t=new MessageChannel;let r;r="function"==typeof e?new e:"default"in e&&"function"==typeof e.default?new e.default:e;const n=new y(t.port1,{channel:t,client:r});return"object"==typeof r&&"remoteClient"in r&&(r.remoteClient=n),y.clients.set(n,r),t.port2}static loadWorker(e){const t=f[e];return t?t():Promise.resolve(null)}close(){this._post({type:u}),this._close()}isBusy(){return this._outJobs.size>0}invoke(e,t,r){const n=r&&r.signal,s=r&&r.transferList;if(!this._port)return Promise.reject(new o.Z("worker:port-closed",`Cannot call invoke('${e}'), port is closed`,{methodName:e,data:t}));const i=(0,c.jt)();return new Promise(((r,o)=>{const c=(0,a.$F)(n,(()=>{var e;const t=this._outJobs.get(i);t&&(this._outJobs.delete(i),null==(e=t.abortHandle)||e.remove(),this._post({type:d,jobId:i}),o((0,a.zE)()))})),l={resolve:r,reject:o,abortHandle:c,debugInfo:e};this._outJobs.set(i,l),this._post({type:h,jobId:i,methodName:e,abortable:null!=n},t,s)}))}on(e,t){const r=new MessageChannel;function n(e){t(e.data)}return this._port.postMessage({type:c.Cs.ON,eventType:e,port:r.port2},[r.port2]),r.port1.addEventListener("message",n),r.port1.start(),{remove(){r.port1.postMessage({type:c.Cs.CLOSE}),r.port1.close(),r.port1.removeEventListener("message",n)}}}openPort(){const e=new MessageChannel;return this._post({type:b,port:e.port2}),e.port1}_close(){this._channel&&(this._channel=null),this._port.removeEventListener("message",this._onMessage),this._port.close(),this._outJobs.forEach((e=>{var t;null==(t=e.abortHandle)||t.remove(),e.reject((0,a.zE)(`Worker closing, aborting job calling '${e.debugInfo}'`))})),this._inJobs.clear(),this._outJobs.clear(),this._invokeQueue.clear(),this._port=this._client=this._schedule=null}_onMessage(e){(0,i.pC)(this._schedule)?this._schedule((()=>this._processMessage(e))):this._processMessage(e)}_processMessage(e){const t=(0,c.QM)(e);if(t)switch(t.type){case p:this._onResponseMessage(t);break;case h:this._invokeQueue.push(t);break;case d:this._onAbortMessage(t);break;case u:this._onCloseMessage();break;case b:this._onOpenPortMessage(t);break;case g:this._onOnMessage(t)}}_onAbortMessage(e){const t=this._inJobs,r=e.jobId,n=t.get(r);this._invokeQueue.push(e),n&&(n.controller&&n.controller.abort(),t.delete(r))}_onCloseMessage(){const e=this._client;this._close(),e&&"destroy"in e&&y.clients.get(this)===e&&e.destroy(),y.clients.delete(this),e&&e.remoteClient&&(e.remoteClient=null)}_onInvokeMessage(e){const{methodName:t,jobId:r,data:n,abortable:o}=e,s=o?new AbortController:null,i=this._inJobs;let l,f=this._client,u=f[t];try{if(!u&&t&&-1!==t.indexOf(".")){const e=t.split(".");for(let t=0;t<e.length-1;t++)f=f[e[t]],u=f[e[t+1]]}if("function"!=typeof u)throw new TypeError(`${t} is not a function`);l=u.call(f,n,{client:this,signal:s?s.signal:null})}catch(e){return void this._post({type:p,jobId:r,error:(0,c.AB)(e)})}(0,a.y8)(l)?(i.set(r,{controller:s,promise:l}),l.then((e=>{i.has(r)&&(i.delete(r),this._post({type:p,jobId:r},e))}),(e=>{i.has(r)&&(i.delete(r),(0,a.D_)(e)||this._post({type:p,jobId:r,error:(0,c.AB)(e||{message:`Error encountered at method ${t}`})}))}))):this._post({type:p,jobId:r},l)}_onOpenPortMessage(e){new y(e.port,{client:this._client})}_onOnMessage(e){const{port:t}=e,r=this._client.on(e.eventType,(e=>{t.postMessage(e)})),n=(0,s.on)(e.port,"message",(e=>{(0,c.QM)(e).type===c.Cs.CLOSE&&(n.remove(),r.remove(),t.close())}))}_onResponseMessage(e){var t;const{jobId:r,error:n,data:s}=e,i=this._outJobs;if(!i.has(r))return;const a=i.get(r);i.delete(r),null==(t=a.abortHandle)||t.remove(),n?a.reject(o.Z.fromJSON(JSON.parse(n))):a.resolve(s)}_post(e,t,r){return(0,c.oi)(this._port,e,t,r)}}y.kernelInfo={revision:l.$,version:n.i8,buildDate:l.r},y.clients=new Map},94362:(e,t,r)=>{"use strict";r.d(t,{Cs:()=>n,jt:()=>a,oi:()=>l,QM:()=>f,AB:()=>c});var n,o,s=r(80442);(o=n||(n={}))[o.HANDSHAKE=0]="HANDSHAKE",o[o.OPEN=1]="OPEN",o[o.OPENED=2]="OPENED",o[o.RESPONSE=3]="RESPONSE",o[o.INVOKE=4]="INVOKE",o[o.ABORT=5]="ABORT",o[o.CLOSE=6]="CLOSE",o[o.OPEN_PORT=7]="OPEN_PORT",o[o.ON=8]="ON";let i=0;function a(){return i++}function c(e){return e?"string"==typeof e?JSON.stringify({name:"message",message:e}):e.toJSON?JSON.stringify(e):JSON.stringify({name:e.name,message:e.message,details:e.details||{stack:e.stack}}):null}function l(e,t,r,o){if(t.type===n.OPEN_PORT)return void e.postMessage(t,[t.port]);if(t.type!==n.INVOKE&&t.type!==n.RESPONSE)return void e.postMessage(t);let s;!function(e){return e&&"object"==typeof e&&("result"in e||"transferList"in e)}(r)?(s=u(o),t.data=r):(s=u(r.transferList),t.data=r.result),s?e.postMessage(t,s):e.postMessage(t)}function f(e){if(!e)return null;const t=e.data;return t?"string"==typeof t?JSON.parse(t):t:null}function u(e){if(!e||!e.length)return null;if((0,s.Z)("esri-workers-arraybuffer-transfer"))return e;const t=e.filter((e=>!function(e){return e instanceof ArrayBuffer||e&&e.constructor&&"ArrayBuffer"===e.constructor.name}(e)));return t.length?t:null}},40330:(e,t,r)=>{"use strict";r.d(t,{Dp:()=>l,id:()=>a,qh:()=>c,i8:()=>s,Nv:()=>i});var n=r(80442),o=r(17452);const s="4.22",i={async request(e,t){var n;const{default:s}=await r.e(3172).then(r.bind(r,3172)),i=e.options,a=i.responseType;i.signal=null==t?void 0:t.signal,i.responseType="native"===a||"native-request-init"===a?"native-request-init":["blob","json","text"].includes(a)&&null!=(n=(0,o.oh)(e.url))&&n.after?a:"array-buffer";const c=await s(e.url,i),l={data:c.data,ssl:c.ssl};switch(c.requestOptions.responseType){case"native-request-init":return delete l.data.signal,l;case"blob":l.data=await l.data.arrayBuffer();break;case"json":l.data=(new TextEncoder).encode(JSON.stringify(l.data)).buffer;break;case"text":l.data=(new TextEncoder).encode(l.data).buffer}return{result:l,transferList:[l.data]}}};let a;function c(e){a=e}function l(e){const t=a&&a.findCredential(e);return t&&t.token?(0,o.ZN)(e,"token",t.token):e}(0,n.Z)("host-webworker")||((0,n.Z)("edge")||(0,n.Z)("trident"))&&console.warn("Deprecated browser - see http://esriurl.com/oldbrowser")},17202:(e,t,r)=>{"use strict";r.d(t,{r:()=>n,$:()=>o});const n="20211028",o="cbeac387c270a636b8d1f1279c75417dffd3c95f"}},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var s=t[n]={exports:{}};return e[n](s,s.exports,r),s.exports}r.m=e,r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((t,n)=>(r.f[n](e,t),t)),[])),r.u=e=>"chunks/"+{24:"5676133d098378bd4135",36:"457dd64964cf7f404943",102:"f20fc726e86ae32ed81b",147:"5f3d826340a7a57f988d",223:"59640d78295e2e363f18",247:"a0450fbf01de854f5c97",280:"ea05f870dda27bca4fe8",291:"7d6126ada4e470cd8629",327:"11a34379d41692ca919f",331:"be38d0ede63de53801e3",402:"3551b8cef914d3bc155b",411:"327196d77f0c0c957f7f",511:"a53d7c54f46408d2db42",519:"3604932b5a773a3650bc",565:"5fd6f37ebdf9884c3526",576:"38e792e037e88a74995a",639:"b935d0c8d5951298cc53",755:"7e0b4f9a847bb2a52338",819:"6280c69d87b2a3a18780",941:"ca5a2883d8dc2f38c2ee",991:"b72c8ed0fc7b6566fd31",1074:"071a418f1f190d2ece24",1387:"99f78f38c25e45aef5ba",1418:"a56facfd4cb910e6c23b",1421:"aa2acf85afff14af2093",1433:"1def8845714ea745fd24",1534:"09141e5539e652edfc6c",1762:"faad6822fda6874a191b",1773:"7a5066bef32f22ad85cb",2134:"d59007da9e065e30a7d0",2303:"2be0638f47ec8787bbf6",2399:"133a5b21b13661d55c45",2508:"b03f50a3d241534a5fe9",2515:"dbaa5fb466d6c0214f24",2594:"20dd68d1187c7681be83",2730:"594029863881481feacf",2858:"aa75dd565c73ff2f5611",2921:"4c083589f3d697038ff6",2986:"988baf3cb9e6f93eaed2",3027:"522d8e864f39e03c3fc8",3081:"e3287d75191ceca8081e",3142:"990cb237ce01361b14af",3172:"29646bb5f44b1ec31534",3230:"2c8f1a6ca81d3b897623",3394:"f635dbe9863d45f51e81",3396:"1ef684455fd7054f6d71",3471:"36c4bc3d84e9c3148776",3485:"844b564d1a422a17f6ac",3495:"d73de81d3871975fec2a",3529:"f01881e1288d7a9b8aec",3551:"cfdbbb5b3720c9c60684",3668:"c88887cbeca54a71bd61",3749:"e5ec05aa482dfcf7428a",3792:"9b1ad2e62cfa4c090e50",3852:"1ac9c3f22385098a0112",3942:"e3cdb46868af383f75f3",4067:"8ae25993e2e1e2e48eea",4166:"353eb518f3c9b027642c",4351:"ae426b913eaaeee223f7",4358:"ca44cbe1a6c6b08a8e55",4369:"b356b589b4aa27d7df04",4470:"2d38ee3ef3ebe32a1194",4499:"88de68d9d1d6d2882b55",4588:"e14b4af7eefcbc2c46a0",4599:"29ca38829de88e62ba2b",4695:"dca79a567d98d98f3d8f",4720:"fe42716651b39518453c",4816:"44170d71c7b1abfd8a27",4859:"0cfa3de704541aa8cea2",4889:"0ca1ce6856620fc88011",5051:"26116a93d60020950565",5265:"cc703ea692ba83715f63",5284:"8a21ccf806816ef653db",5446:"f46f4daaaf79ecc428d8",5590:"11975aae96ecec7f0dd9",5732:"469ba1b24cdeea0758ec",5823:"e27b9913f00f4b4c2895",5837:"d26fc253f26c3a2bca4a",5951:"9f7df729bd97a0379583",6104:"fb7d9d9f7395db343880",6200:"f2f727faa425375a8fae",6237:"c544df83e86a9d36b68c",6401:"589a30c71a1a987c03cc",6459:"8eaab757369dc7811d2f",6481:"e3aed0a5b64180bdb6c3",6550:"1550d6d104c283e2f7ad",6570:"5628b989ba13ca2c427d",6619:"69e0c87c4d4c4e337bd3",6690:"ac7101f3b76b061789a0",6710:"d10c72e4502e56c6988d",6740:"8bc9f5433d6e9e535979",6748:"a27df5a645ce73714bed",6774:"ee370bfeeefc1b58d81d",6810:"bd29ea967877fc6d7c53",6841:"cde63d01de4a77915b4c",6919:"49b71a8f676f82685504",6923:"913ee5abf51a44cc363c",6968:"bd10e5fbc706d6dde3b8",7039:"30d7685fc6dc1787df44",7049:"0d87589f3f3947d7ed67",7054:"88223b8348aad79d1c82",7055:"be1ca1154ec28d186311",7091:"806cf0cf051a3d8e5658",7277:"f183da283af0836421ab",7284:"1be111428db0fecb6d95",7319:"4418c07f5817bcc5a6d9",7394:"f01133a5834f64dba932",7494:"24847b073a1a4afef88c",7572:"842ef6a68abd95971c3f",7698:"5e1a04b2314b5e0b1083",7779:"a646a11673d513c00e7a",7793:"ed448bb6bc3f87536c0c",7845:"db075f5e0827991efcfd",7873:"93eb468381bfcf0e47d7",8008:"4c320adc511d001f51f8",8014:"7f75920b962c1276aa51",8062:"2e0f498c0c62956f823b",8121:"da6041fdb1e2013fc18e",8216:"6cc2078b77543a5c5964",8227:"1f394b20410fddb30a96",8325:"d31648848a4e9ba50cc4",8422:"e1e490ea051ef54a753b",8511:"f8de4ffc5d341d7d4722",8625:"caa5d1b9680a822f2070",8659:"a0cdaf7468dfab8c57c0",8683:"492c325c1f59d6d398d3",8758:"d1a71b58ef62e71979c5",8778:"a9c8ded0cf694562e4dc",8828:"2a9a5b51603a07061f9c",8835:"7922cb56bea42d538d06",8936:"99e36fec3216d01895f7",8961:"9796d54ff12b6429164a",9070:"4b0ffef8ba88b5523930",9101:"de8e7a71642591b53313",9151:"03e0722f05446e5926e5",9169:"f7ae0344257e6e08469b",9201:"4d8606b334e39827316b",9254:"ccaaefa20dfb940e8cc0",9291:"6e172b435a55bc72baef",9294:"5315be9b4ef8fe6aaac8",9296:"83707a91e5dd257973a5",9489:"06a9cdf71330bf9cc774",9490:"45c2f2a8789268e84fa6",9625:"447bd7c504965ae05973",9664:"7411f0bbce1cc96ded36",9767:"addbd572aab0a3a0fb7e",9872:"89b4983de872780e9aa1",9884:"3a04496f43de689cc63b",9928:"955ab28ee39fc95d4de5",9930:"3372869dc67877713f23",9932:"00bf9858abb8373e8d68",9938:"4247258a985917cd2211",9966:"7fe87300651fef54c06d"}[e]+".js",r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e;r.g.importScripts&&(e=r.g.location+"");var t=r.g.document;if(!e&&t&&(t.currentScript&&(e=t.currentScript.src),!e)){var n=t.getElementsByTagName("script");n.length&&(e=n[n.length-1].src)}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),r.p=e})(),(()=>{var e={134:1,102:1};r.f.i=(t,n)=>{e[t]||importScripts(r.p+r.u(t))};var t=self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[],n=t.push.bind(t);t.push=t=>{var[o,s,i]=t;for(var a in s)r.o(s,a)&&(r.m[a]=s[a]);for(i&&i(r);o.length;)e[o.pop()]=1;n(t)}})(),r(88277);var n=r(25045);RemoteClient=n})();
1
+ var RemoteClient;(()=>{var e={88277:(e,t,r)=>{r.p=self.esriConfig.assetsPath+"/esri/core/workers/"},68773:(e,t,r)=>{"use strict";r.d(t,{Z:()=>i});var n=r(16358),o=(r(80442),r(78286)),s=r(17202);const i={apiKey:void 0,applicationUrl:n.Z.location&&n.Z.location.href,assetsPath:"",fontsUrl:"https://static.arcgis.com/fonts",geometryService:null,geometryServiceUrl:"https://utility.arcgisonline.com/arcgis/rest/services/Geometry/GeometryServer",geoRSSServiceUrl:"https://utility.arcgis.com/sharing/rss",kmlServiceUrl:"https://utility.arcgis.com/sharing/kml",portalUrl:"https://www.arcgis.com",workers:{loaderConfig:{has:{},paths:{},map:{},packages:[]}},request:{httpsDomains:["arcgis.com","arcgisonline.com","esrikr.com","premiumservices.blackbridge.com","esripremium.accuweather.com","gbm.digitalglobe.com","firstlook.digitalglobe.com","msi.digitalglobe.com"],interceptors:[],maxUrlLength:2e3,proxyRules:[],proxyUrl:null,timeout:6e4,trustedServers:[],useIdentity:!0},log:{interceptors:[],level:null}};if(n.Z.esriConfig&&((0,o.RH)(i,n.Z.esriConfig,!0),delete i.has),!i.assetsPath){const e="4.22.0";i.assetsPath=`https://cdn.jsdelivr.net/npm/@arcgis/core@${e}-next.${s.r}/assets`}i.baseUrl&&console.warn("[esri.config]","baseUrl has been replaced by assetsPath"),Object.defineProperty(i,"baseUrl",{set(){console.warn("[esri.config]","baseUrl has been replaced by assetsPath")}}),i.request.corsEnabledServers=[],i.request.corsEnabledServers.push=function(){return console.warn("[esri.config]","request.corsEnabledServers is not supported and will be removed in a future release. See http://esriurl.com/cors8664"),0}},20102:(e,t,r)=>{"use strict";r.d(t,{Z:()=>i});var n=r(22974),o=r(92604),s=r(58896);class i extends s.Z{constructor(e,t,r){if(super(e,t,r),!(this instanceof i))return new i(e,t,r)}toJSON(){if(null!=this.details)try{return{name:this.name,message:this.message,details:JSON.parse(JSON.stringify(this.details,((e,t)=>{if(t&&"object"==typeof t&&"function"==typeof t.toJSON)return t;try{return(0,n.d9)(t)}catch(e){return"[object]"}})))}}catch(e){throw o.Z.getLogger("esri.core.Error").error(e),e}return{name:this.name,message:this.message,details:this.details}}static fromJSON(e){return new i(e.name,e.message,e.details)}}i.prototype.type="error"},92604:(e,t,r)=>{"use strict";r.d(t,{Z:()=>a});var n=r(68773),o=(r(80442),r(70586)),s=r(19153);const i={info:0,warn:1,error:2,none:3};class a{constructor(e){this.level=null,this._module="",this._parent=null,this.writer=null,this._loggedMessages={error:new Map,warn:new Map,info:new Map},null!=e.level&&(this.level=e.level),null!=e.writer&&(this.writer=e.writer),this._module=e.module,a._loggers[this.module]=this;const t=this.module.lastIndexOf(".");-1!==t&&(this._parent=a.getLogger(this.module.slice(0,t)))}get module(){return this._module}get parent(){return this._parent}error(...e){this._log("error","always",...e)}warn(...e){this._log("warn","always",...e)}info(...e){this._log("info","always",...e)}errorOnce(...e){this._log("error","once",...e)}warnOnce(...e){this._log("warn","once",...e)}infoOnce(...e){this._log("info","once",...e)}errorOncePerTick(...e){this._log("error","oncePerTick",...e)}warnOncePerTick(...e){this._log("warn","oncePerTick",...e)}infoOncePerTick(...e){this._log("info","oncePerTick",...e)}get test(){const e=this;return{loggedMessages:e._loggedMessages,clearLoggedWarnings:()=>e._loggedMessages.warn.clear()}}static get testSingleton(){return{resetLoggers(e={}){const t=a._loggers;return a._loggers=e,t},set throttlingDisabled(e){a._throttlingDisabled=e}}}static getLogger(e){let t=a._loggers[e];return t||(t=new a({module:e})),t}_log(e,t,...r){if(this._matchLevel(e)){if("always"!==t&&!a._throttlingDisabled){const n=this._argsToKey(r),o=this._loggedMessages[e].get(n);if("once"===t&&null!=o||"oncePerTick"===t&&o&&o>=a._tickCounter)return;this._loggedMessages[e].set(n,a._tickCounter),a._scheduleTickCounterIncrement()}for(const t of n.Z.log.interceptors)if(t(e,this.module,...r))return;this._inheritedWriter()(e,this.module,...r)}}_parentWithMember(e,t){let r=this;for(;(0,o.pC)(r);){const t=r[e];if((0,o.pC)(t))return t;r=r.parent}return t}_inheritedWriter(){return this._parentWithMember("writer",this._consoleWriter)}_consoleWriter(e,t,...r){console[e](`[${t}]`,...r)}_matchLevel(e){const t=n.Z.log.level?n.Z.log.level:"warn";return i[this._parentWithMember("level",t)]<=i[e]}_argsToKey(...e){return(0,s.hP)(JSON.stringify(e,((e,t)=>"object"!=typeof t||Array.isArray(t)?t:"[Object]")))}static _scheduleTickCounterIncrement(){a._tickCounterScheduled||(a._tickCounterScheduled=!0,Promise.resolve().then((()=>{a._tickCounter++,a._tickCounterScheduled=!1})))}}a._loggers={},a._tickCounter=0,a._tickCounterScheduled=!1,a._throttlingDisabled=!1},58896:(e,t,r)=>{"use strict";r.d(t,{Z:()=>o});var n=r(78286);class o{constructor(e,t,r){this.name=e,this.details=r,this.message=void 0,this instanceof o&&(this.message=t&&function(e,t){return e.replace(/\$\{([^\s\:\}]*)(?:\:([^\s\:\}]+))?\}/g,(function(e,r){if(""===r)return"$";const o=(0,n.hS)(r,t),s=null==o?"":o;if(void 0===s)throw new Error(`could not find key "${r}" in template`);return s.toString()}))}(t,r)||"")}toString(){return"["+this.name+"]: "+this.message}}},77734:(e,t,r)=>{"use strict";r.d(t,{Z:()=>n});class n{constructor(e=1){this._seed=e}set seed(e){this._seed=null==e?Math.random()*n._m:e}getInt(){return this._seed=(n._a*this._seed+n._c)%n._m,this._seed}getFloat(){return this.getInt()/(n._m-1)}getIntRange(e,t){return Math.round(this.getFloatRange(e,t))}getFloatRange(e,t){const r=t-e;return e+this.getInt()/n._m*r}}n._m=2147483647,n._a=48271,n._c=0},67676:(e,t,r)=>{"use strict";r.d(t,{SO:()=>l,a9:()=>a,fS:()=>s,cq:()=>u,w6:()=>c,Od:()=>b,e$:()=>d,FY:()=>p});var n=r(70586),o=r(77734);function s(e,t,r){if((0,n.Wi)(e)&&(0,n.Wi)(t))return!0;if((0,n.Wi)(e)||(0,n.Wi)(t)||e.length!==t.length)return!1;if(r){for(let n=0;n<e.length;n++)if(!r(e[n],t[n]))return!1}else for(let r=0;r<e.length;r++)if(e[r]!==t[r])return!1;return!0}const i=!!Array.prototype.fill;function a(e,t){if(i)return new Array(e).fill(t);const r=new Array(e);for(let n=0;n<e;n++)r[n]=t;return r}function c(e,t){void 0===t&&(t=e,e=0);const r=new Array(t-e);for(let n=e;n<t;n++)r[n-e]=n;return r}class l{constructor(){this.last=0}}const f=new l;function u(e,t,r,n){n=n||f;const o=Math.max(0,n.last-10);for(let s=o;s<r;++s)if(e[s]===t)return n.last=s,s;const s=Math.min(o,r);for(let r=0;r<s;++r)if(e[r]===t)return n.last=r,r;return-1}function d(e,t,r,n){const o=null==r?e.length:r,s=u(e,t,o,n);if(-1!==s)return e[s]=e[o-1],null==r&&e.pop(),t}const h=new Set;function p(e,t,r=e.length,n=t.length,o,s){if(0===n||0===r)return r;h.clear();for(let e=0;e<n;++e)h.add(t[e]);o=o||f;const i=Math.max(0,o.last-10);for(let t=i;t<r;++t)if(h.has(e[t])&&(s&&s.push(e[t]),h.delete(e[t]),e[t]=e[r-1],--r,--t,0===h.size||0===r))return h.clear(),r;for(let t=0;t<i;++t)if(h.has(e[t])&&(s&&s.push(e[t]),h.delete(e[t]),e[t]=e[r-1],--r,--t,0===h.size||0===r))return h.clear(),r;return h.clear(),r}function b(e,t){const r=e.indexOf(t);return-1!==r?(e.splice(r,1),t):null}new o.Z},91460:(e,t,r)=>{"use strict";function n(e){return e&&("function"==typeof e.on||"function"==typeof e.addEventListener)}function o(e,t,r){if(!n(e))throw new TypeError("target is not a Evented or EventTarget object");if("on"in e)return e.on(t,r);if(Array.isArray(t)){const n=t.slice();for(const t of n)e.addEventListener(t,r);return{remove(){for(const t of n)e.removeEventListener(t,r)}}}return e.addEventListener(t,r),{remove(){e.removeEventListener(t,r)}}}function s(e,t,r){if(!n(e))throw new TypeError("target is not a Evented or EventTarget object");if("once"in e)return e.once(t,r);const s=o(e,t,(t=>{s.remove(),r.call(e,t)}));return{remove(){s.remove()}}}r.d(t,{vT:()=>n,on:()=>o,IH:()=>s})},16358:(e,t,r)=>{"use strict";r.d(t,{Z:()=>n});const n="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:void 0},80442:(e,t,r)=>{"use strict";r.d(t,{Z:()=>l});var n,o,s=r(16358);let i;var a,c;function l(e){return"function"==typeof i[e]?i[e]=i[e](s.Z):i[e]}i=null!=(n=s.Z.dojoConfig)&&n.has||null!=(o=s.Z.esriConfig)&&o.has?{...null==(a=s.Z.dojoConfig)?void 0:a.has,...null==(c=s.Z.esriConfig)?void 0:c.has}:{},l.add=(e,t,r,n)=>((n||void 0===i[e])&&(i[e]=t),r&&l(e)),l.cache=i,l.add("esri-deprecation-warnings",!0),(()=>{l.add("host-webworker",void 0!==s.Z.WorkerGlobalScope&&self instanceof s.Z.WorkerGlobalScope);const e="undefined"!=typeof window&&"undefined"!=typeof location&&"undefined"!=typeof document&&window.location===location&&window.document===document;if(l.add("host-browser",e),l.add("host-node","object"==typeof s.Z.process&&s.Z.process.versions&&s.Z.process.versions.node&&s.Z.process.versions.v8),l.add("dom",e),l("host-browser")){const e=navigator,t=e.userAgent,r=e.appVersion,n=parseFloat(r);if(l.add("wp",parseFloat(t.split("Windows Phone")[1])||void 0),l.add("msapp",parseFloat(t.split("MSAppHost/")[1])||void 0),l.add("khtml",r.includes("Konqueror")?n:void 0),l.add("edge",parseFloat(t.split("Edge/")[1])||void 0),l.add("opr",parseFloat(t.split("OPR/")[1])||void 0),l.add("webkit",!l("wp")&&!l("edge")&&parseFloat(t.split("WebKit/")[1])||void 0),l.add("chrome",!l("edge")&&!l("opr")&&parseFloat(t.split("Chrome/")[1])||void 0),l.add("android",!l("wp")&&parseFloat(t.split("Android ")[1])||void 0),l.add("safari",!r.includes("Safari")||l("wp")||l("chrome")||l("android")||l("edge")||l("opr")?void 0:parseFloat(r.split("Version/")[1])),l.add("mac",r.includes("Macintosh")),!l("wp")&&t.match(/(iPhone|iPod|iPad)/)){const e=RegExp.$1.replace(/P/,"p"),r=t.match(/OS ([\d_]+)/)?RegExp.$1:"1",n=parseFloat(r.replace(/_/,".").replace(/_/g,""));l.add(e,n),l.add("ios",n)}l.add("trident",parseFloat(r.split("Trident/")[1])||void 0),l("webkit")||(!t.includes("Gecko")||l("wp")||l("khtml")||l("trident")||l("edge")||l.add("mozilla",n),l("mozilla")&&l.add("ff",parseFloat(t.split("Firefox/")[1]||t.split("Minefield/")[1])||void 0))}})(),(()=>{if(s.Z.navigator){const e=navigator.userAgent,t=/Android|webOS|iPhone|iPad|iPod|BlackBerry|Opera Mini|IEMobile/i.test(e),r=/iPhone/i.test(e);t&&l.add("esri-mobile",t),r&&l.add("esri-iPhone",r),l.add("esri-geolocation",!!navigator.geolocation)}l.add("esri-canvas-svg-support",!l("trident")),l.add("esri-wasm","WebAssembly"in s.Z),l.add("esri-shared-array-buffer",(()=>{const e="SharedArrayBuffer"in s.Z,t=!1===s.Z.crossOriginIsolated;return e&&!t})),l.add("esri-atomics","Atomics"in s.Z),l.add("esri-workers","Worker"in s.Z),l.add("esri-text-decoder","TextDecoder"in s.Z),l.add("esri-text-encoder","TextEncoder"in s.Z),l.add("web-feat:cache","caches"in s.Z),l.add("esri-workers-arraybuffer-transfer",!l("safari")||Number(l("safari"))>=12),l.add("featurelayer-simplify-thresholds",[.5,.5,.5,.5]),l.add("featurelayer-simplify-payload-size-factors",[1,1,4]),l.add("featurelayer-snapshot-enabled",!0),l.add("featurelayer-snapshot-point-min-threshold",8e4),l.add("featurelayer-snapshot-point-max-threshold",4e5),l.add("featurelayer-snapshot-point-coverage",.1),l.add("featurelayer-advanced-symbols",!1),l.add("featurelayer-pbf",!0),l.add("featurelayer-pbf-statistics",!1),l.add("feature-layers-workers",!0),l.add("mapview-transitions-duration",200),l.add("mapserver-pbf-enabled",!1),l("host-webworker")||l("host-browser")&&(l.add("esri-csp-restrictions",(()=>{try{new Function}catch{return!0}return!1})),l.add("esri-image-decode",(()=>{if("decode"in new Image){const e=new Image;return e.src='data:image/svg+xml;charset=UTF-8,<svg version="1.1" xmlns="http://www.w3.org/2000/svg"></svg>',void e.decode().then((()=>{l.add("esri-image-decode",!0,!0,!0)})).catch((()=>{l.add("esri-image-decode",!1,!0,!0)}))}return!1})),l.add("esri-url-encodes-apostrophe",(()=>{const e=s.Z.document.createElement("a");return e.href="?'",e.href.includes("?%27")})),l.add("vectortilelayer-max-buffers",l("ff")?160:Number.POSITIVE_INFINITY))})()},22974:(e,t,r)=>{"use strict";r.d(t,{d9:()=>s,fS:()=>i,yd:()=>o}),r(67676),r(80442);var n=r(1533);function o(e,t){let r;if(t)for(r in e)e.hasOwnProperty(r)&&(void 0===e[r]?delete e[r]:e[r]instanceof Object&&o(e[r],!0));else for(r in e)e.hasOwnProperty(r)&&void 0===e[r]&&delete e[r];return e}function s(e){if(!e||"object"!=typeof e||"function"==typeof e)return e;if((0,n.W0)(e)||(0,n.lq)(e)||(0,n.KZ)(e)||(0,n.z3)(e)||(0,n.Uc)(e)||(0,n.Hx)(e)||(0,n.ZY)(e)||(0,n.xZ)(e)||(0,n.fS)(e))return(0,n.tP)(e);if(e instanceof Date)return new Date(e.getTime());if(e instanceof ArrayBuffer)return e.slice(0,e.byteLength);if(e instanceof Map){const t=new Map;return e.forEach(((e,r)=>{t.set(r,s(e))})),t}if(e instanceof Set){const t=new Set;return e.forEach((e=>{t.add(s(e))})),t}let t;const r=e;if("function"==typeof r.clone)t=r.clone();else if("function"==typeof r.map&&"function"==typeof r.forEach)t=r.map(s);else if("function"==typeof r.notifyChange&&"function"==typeof r.watch)t=r.clone();else{t={};for(const r of Object.getOwnPropertyNames(e))t[r]=s(e[r])}return t}function i(e,t){return e===t||"number"==typeof e&&isNaN(e)&&"number"==typeof t&&isNaN(t)||"function"==typeof(e||{}).getTime&&"function"==typeof(t||{}).getTime&&e.getTime()===t.getTime()||!1}},70586:(e,t,r)=>{"use strict";function n(e){return null!=e}function o(e){return null==e}function s(e){return void 0===e}function i(e,t){return n(e)?t(e):null}function a(e){return e}function c(e,t){if(o(e))throw new Error(t);return e}function l(e,t){return n(e)?e:"function"==typeof t?t():t}function f(e){return n(e)&&e.destroy(),null}function u(e){return n(e)&&e.dispose(),null}function d(e){return n(e)&&e.remove(),null}function h(e){return n(e)&&e.release(),null}function p(e){return null}function b(e,t){const r=new Array;for(const n of e)r.push(m(n,null,t));return r}function g(e,t){for(const r of e)m(r,null,t)}function m(e,t,r){return n(e)?r(e):t}function y(e,t){return n(e)?t(e):null}function v(e){return e.filter((e=>n(e)))}function w(e,...t){let r=e;for(let e=0;e<t.length&&r;++e)r=r[t[e]];return r}function _(e){return e}r.d(t,{Po:()=>y,yw:()=>i,j0:()=>_,SC:()=>f,O3:()=>u,lV:()=>v,JR:()=>g,U2:()=>w,Wi:()=>o,pC:()=>n,o8:()=>s,Fd:()=>b,R2:()=>m,Bd:()=>p,RY:()=>h,hw:()=>d,Wg:()=>a,Pt:()=>l,s3:()=>c})},78286:(e,t,r)=>{"use strict";r.d(t,{RH:()=>o,hS:()=>s,RB:()=>i});var n=r(22974);function o(e,t,r=!1){return c(e,t,r)}function s(e,t){if(null!=t)return t[e]||a(e.split("."),!1,t)}function i(e,t,r){const n=e.split("."),o=n.pop(),s=a(n,!0,r);s&&o&&(s[o]=t)}function a(e,t,r){let n=r;for(const r of e){if(null==n)return;if(!(r in n)){if(!t)return;n[r]={}}n=n[r]}return n}function c(e,t,r){return t?Object.keys(t).reduce((function(e,o){let s=e[o],i=t[o];return s===i?e:void 0===s?(e[o]=(0,n.d9)(i),e):(Array.isArray(i)||Array.isArray(e)?(s=s?Array.isArray(s)?e[o]=s.concat():e[o]=[s]:e[o]=[],i&&(Array.isArray(i)||(i=[i]),r?i.forEach((e=>{-1===s.indexOf(e)&&s.push(e)})):e[o]=i.concat())):i&&"object"==typeof i?e[o]=c(s,i,r):e.hasOwnProperty(o)&&!t.hasOwnProperty(o)||(e[o]=i),e)}),e||{}):e}},95330:(e,t,r)=>{"use strict";r.d(t,{e4:()=>C,$6:()=>c,Ue:()=>l,zE:()=>f,dD:()=>_,hh:()=>j,vr:()=>$,Ds:()=>M,as:()=>O,WW:()=>P,R8:()=>w,D_:()=>v,Hc:()=>h,tI:()=>A,y8:()=>E,fu:()=>g,$F:()=>m,d1:()=>k,DB:()=>S,r9:()=>p,k_:()=>u,H9:()=>b,gx:()=>x,Hl:()=>y});const n=(o=r(16358).Z,{setTimeout:(e,t)=>{const r=o.setTimeout(e,t);return{remove:()=>o.clearTimeout(r)}}});var o,s=r(20102),i=r(91460),a=(r(92604),r(70586));function c(e){return Promise.all(e)}function l(e){return new Promise(((t,r)=>{try{e(t,r)}catch(e){Promise.resolve().then((()=>r(e)))}}))}function f(e="Aborted"){return new s.Z("AbortError",e)}function u(e,t="Aborted"){if(h(e))throw f(t)}function d(e){return(0,a.pC)(e)?"aborted"in e?e:e.signal:e}function h(e){const t=d(e);return(0,a.pC)(t)&&t.aborted}function p(e){if(v(e))throw e}function b(e){if(!v(e))throw e}function g(e,t){const r=d(e);if(!(0,a.Wi)(r)){if(!r.aborted)return(0,i.IH)(r,"abort",(()=>t()));t()}}function m(e,t){const r=d(e);if(!(0,a.Wi)(r))return u(r),(0,i.IH)(r,"abort",(()=>t(f())))}function y(e,t){const r=d(t);return(0,a.Wi)(r)?e:new Promise(((r,n)=>{let o=g(t,(()=>n(f())));const s=()=>o=(0,a.hw)(o);e.then(s,s),e.then(r,n)}))}function v(e){return e&&"AbortError"===e.name}function w(e){return e.catch((e=>{if(!v(e))throw e}))}function _(){let e=null;const t=new Promise(((t,r)=>{e={promise:void 0,resolve:t,reject:r}}));return e.promise=t,e}function O(e){if(!e)return;if("function"!=typeof e.forEach){const t=Object.keys(e);return O(t.map((t=>e[t]))).then((e=>{const r={};return t.forEach(((t,n)=>r[t]=e[n])),r}))}const t=e;return l((e=>{const r=[];let n=t.length;0===n&&e(r),t.forEach((t=>{const o={promise:t||Promise.resolve(t)};r.push(o),o.promise.then((e=>{o.value=e})).catch((e=>{o.error=e})).then((()=>{--n,0===n&&e(r)}))}))}))}function P(e){return O(e).then((e=>e.filter((e=>!!e.value)).map((e=>e.value))))}function k(e){return Promise.reject(e)}function S(e){return Promise.resolve(e)}function C(e,t,r){const n=new AbortController;return g(r,(()=>n.abort())),new Promise(((r,o)=>{let s=setTimeout((()=>{s=0,r(t)}),e);g(n,(()=>{s&&(clearTimeout(s),o(f()))}))}))}function E(e){return e&&"function"==typeof e.then}function x(e){return A(e)?e:Promise.resolve(e)}function A(e){return e&&"object"==typeof e&&"then"in e&&"function"==typeof e.then}function M(e,t=-1){let r,n,o,s,i=null;const c=(...l)=>{if(r){n=l,s&&s.reject(f()),s=_();const e=(0,a.j0)(s.promise);if(i){const e=i;i=null,e.abort()}return e}if(o=s||_(),s=null,t>0){const n=new AbortController;r=x(e(...l,n.signal));const o=r;C(t).then((()=>{r===o&&(s?n.abort():i=n)}))}else r=1,r=x(e(...l));const u=()=>{const e=n;n=o=r=i=null,null!=e&&c(...e)},d=r,h=o;return d.then(u,u),d.then(h.resolve,h.reject),(0,a.j0)(h.promise)};return c}function j(){let e,t;const r=new Promise(((r,n)=>{e=r,t=n})),o=t=>{e(t)};return o.resolve=t=>e(t),o.reject=e=>t(e),o.timeout=(e,t)=>n.setTimeout((()=>o.reject(t)),e),o.promise=r,o}function $(e){let t=new AbortController;const r=e(t.signal);let n={promise:r,finished:!1,abort:()=>{t&&(t.abort(),t=null)}};const o=()=>{n&&(n.finished=!0,n=null),t=null};return r.then(o,o),n}},19153:(e,t,r)=>{"use strict";r.d(t,{Qs:()=>a,hP:()=>c,gx:()=>i,Cb:()=>l});var n=r(78286);const o=/\{([^\}]+)\}/g;function s(e){return null==e?"":e}function i(e,t){return e.replace(o,"object"==typeof t?(e,r)=>s((0,n.hS)(r,t)):(e,r)=>s(t(r)))}function a(e,t){return e.replace(/([\.$?*|{}\(\)\[\]\\\/\+\-^])/g,(e=>t&&-1!==t.indexOf(e)?e:`\\${e}`))}function c(e){let t=0;for(let r=0;r<e.length;r++)t=(t<<5)-t+e.charCodeAt(r),t|=0;return t}function l(e){return(new DOMParser).parseFromString(e||"","text/html").body.innerText||""}},1533:(e,t,r)=>{"use strict";function n(e,t){if(e.forEach)e.forEach(t);else for(let r=0;r<e.length;r++)t(e[r],r,e)}function o(e,t,r){if(e.slice)return e.slice(t,r);void 0===t?t=0:(t<0&&(t+=e.length),t=Math.min(e.length,Math.max(0,t))),void 0===r?r=e.length:(r<0&&(r+=e.length),r=Math.min(e.length,Math.max(0,r)));const n=Math.max(0,r-t),o=new(0,e.constructor)(n);for(let r=0;r<n;r++)o[r]=e[t+r];return o}function s(e){return e instanceof ArrayBuffer||e&&e.constructor&&"ArrayBuffer"===e.constructor.name}function i(e){return e instanceof Int8Array||e&&e.constructor&&"Int8Array"===e.constructor.name}function a(e){return e instanceof Uint8Array||e&&e.constructor&&"Uint8Array"===e.constructor.name}function c(e){return e instanceof Uint8ClampedArray||e&&e.constructor&&"Uint8ClampedArray"===e.constructor.name}function l(e){return e instanceof Int16Array||e&&e.constructor&&"Int16Array"===e.constructor.name}function f(e){return e instanceof Uint16Array||e&&e.constructor&&"Uint16Array"===e.constructor.name}function u(e){return e instanceof Int32Array||e&&e.constructor&&"Int32Array"===e.constructor.name}function d(e){return e instanceof Uint32Array||e&&e.constructor&&"Uint32Array"===e.constructor.name}function h(e){return e instanceof Float32Array||e&&e.constructor&&"Float32Array"===e.constructor.name}function p(e){return e instanceof Float64Array||e&&e.constructor&&"Float64Array"===e.constructor.name}r.d(t,{Ed:()=>n,eP:()=>s,xZ:()=>h,fS:()=>p,z3:()=>l,Hx:()=>u,W0:()=>i,Uc:()=>f,ZY:()=>d,lq:()=>a,KZ:()=>c,tP:()=>o})},17452:(e,t,r)=>{"use strict";r.d(t,{R9:()=>y,qg:()=>E,tD:()=>j,ZN:()=>le,fl:()=>fe,AX:()=>_,Gd:()=>v,Ie:()=>ie,sJ:()=>Q,AH:()=>K,vt:()=>oe,oh:()=>N,P$:()=>F,Ml:()=>ue,ed:()=>$,b7:()=>C,D6:()=>Z,tm:()=>I,YP:()=>B,jc:()=>D,HK:()=>H,$U:()=>X,oC:()=>G,kl:()=>R,v_:()=>q,hF:()=>U,_l:()=>V,PF:()=>L,Fv:()=>J,B7:()=>S,u0:()=>P,Yd:()=>ne,Hu:()=>ce,Qj:()=>se,hO:()=>ee,mN:()=>O});var n=r(68773),o=r(20102),s=(r(16358),r(92604)),i=r(70586);const a=s.Z.getLogger("esri.core.urlUtils"),c=n.Z.request,l="esri/config: esriConfig.request.proxyUrl is not set.",f=/^\s*[a-z][a-z0-9-+.]*:(?![0-9])/i,u=/^\s*http:/i,d=/^\s*https:/i,h=/^\s*file:/i,p=/:\d+$/,b=/^https?:\/\/[^/]+\.arcgis.com\/sharing(\/|$)/i,g=new RegExp("^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*))?$"),m=new RegExp("^((([^\\[:]+):)?([^@]+)@)?(\\[([^\\]]+)\\]|([^\\[:]*))(:([0-9]+))?$");class y{constructor(e=""){this.uri=e,this.scheme=null,this.authority=null,this.path=null,this.query=null,this.fragment=null,this.user=null,this.password=null,this.host=null,this.port=null;let t=(0,i.j0)(this.uri.match(g));this.scheme=t[2]||(t[1]?"":null),this.authority=t[4]||(t[3]?"":null),this.path=t[5],this.query=t[7]||(t[6]?"":null),this.fragment=t[9]||(t[8]?"":null),null!=this.authority&&(t=(0,i.j0)(this.authority.match(m)),this.user=t[3]||null,this.password=t[4]||null,this.host=t[6]||t[7],this.port=t[9]||null)}toString(){return this.uri}}const v=new y(n.Z.applicationUrl),w={},_=(()=>{const e=(0,i.j0)(v.path),t=e.substring(0,e.lastIndexOf(e.split("/")[e.split("/").length-1]));return`${v.scheme}://${v.host}${null!=v.port?`:${v.port}`:""}${t}`})();function O(e){const t={path:null,query:null},r=new y(e),n=e.indexOf("?");return null===r.query?t.path=e:(t.path=e.substring(0,n),t.query=P(r.query)),r.fragment&&(t.hash=r.fragment,null===r.query&&(t.path=t.path.substring(0,t.path.length-(r.fragment.length+1)))),t}function P(e){const t=e.split("&"),r={};for(const e of t){if(!e)continue;const t=e.indexOf("=");let n,o;t<0?(n=decodeURIComponent(e),o=""):(n=decodeURIComponent(e.slice(0,t)),o=decodeURIComponent(e.slice(t+1)));let s=r[n];"string"==typeof s&&(s=r[n]=[s]),Array.isArray(s)?s.push(o):r[n]=o}return r}function k(e){return e&&"object"==typeof e&&"toJSON"in e&&"function"==typeof e.toJSON}function S(e,t){return e?t&&"function"==typeof t?Object.keys(e).map((r=>encodeURIComponent(r)+"="+encodeURIComponent(t(r,e[r])))).join("&"):Object.keys(e).map((r=>{const n=e[r];if(null==n)return"";const o=encodeURIComponent(r)+"=",s=t&&t[r];return s?o+encodeURIComponent(s(n)):Array.isArray(n)?n.map((e=>k(e)?o+encodeURIComponent(JSON.stringify(e)):o+encodeURIComponent(e))).join("&"):k(n)?o+encodeURIComponent(JSON.stringify(n)):o+encodeURIComponent(n)})).filter((e=>e)).join("&"):""}function C(e=!1){let t,r=c.proxyUrl;if("string"==typeof e){t=X(e);const n=$(e);n&&(r=n.proxyUrl)}else t=!!e;if(!r)throw a.warn(l),new o.Z("urlutils:proxy-not-set",l);return t&&te()&&(r=ee(r)),O(r)}function E(e){const t=$(e);let r,n;if(t){const e=A(t.proxyUrl);r=e.path,n=e.query?P(e.query):null}if(r){const t=O(e);e=r+"?"+t.path;const o=S({...n,...t.query});o&&(e=`${e}?${o}`)}return e}const x={path:"",query:""};function A(e){const t=e.indexOf("?");return-1!==t?(x.path=e.slice(0,t),x.query=e.slice(t+1)):(x.path=e,x.query=null),x}function M(e){return(e=re(e=function(e){return e&&"/"===e[e.length-1]?e:`${e}/`}(e=A(e).path),!0)).toLowerCase()}function j(e){const t={proxyUrl:e.proxyUrl,urlPrefix:M(e.urlPrefix)},r=c.proxyRules,n=t.urlPrefix;let o=r.length;for(let e=0;e<r.length;e++){const t=r[e].urlPrefix;if(0===n.indexOf(t)){if(n.length===t.length)return-1;o=e;break}0===t.indexOf(n)&&(o=e+1)}return r.splice(o,0,t),o}function $(e){const t=c.proxyRules,r=M(e);for(let e=0;e<t.length;e++)if(0===r.indexOf(t[e].urlPrefix))return t[e]}function I(e,t){return e=T(e),t=T(t),re(e)===re(t)}function T(e){const t=(e=J(e)).indexOf("/sharing");return t>0?e.substring(0,t):e.replace(/\/+$/,"")}function N(e){const t=t=>null==t||t instanceof RegExp&&t.test(e)||"string"==typeof t&&e.startsWith(t),r=c.interceptors;if(r)for(const e of r)if(Array.isArray(e.urls)){if(e.urls.some(t))return e}else if(t(e.urls))return e;return null}function Z(e,t,r=!1){const n=ae(e),o=ae(t);return!(!r&&n.scheme!==o.scheme)&&null!=n.host&&null!=o.host&&n.host.toLowerCase()===o.host.toLowerCase()&&n.port===o.port}function R(e){if("string"==typeof e){if(!B(e))return!0;e=ae(e)}if(Z(e,v))return!0;const t=c.trustedServers||[];for(let r=0;r<t.length;r++){const n=W(t[r]);for(let t=0;t<n.length;t++)if(Z(e,n[t]))return!0}return!1}function W(e){return w[e]||(Y(e)||G(e)?w[e]=[new y(U(e))]:w[e]=[new y(`http://${e}`),new y(`https://${e}`)]),w[e]}function U(e,t=_,r){return G(e)?r&&r.preserveProtocolRelative?e:"http"===v.scheme&&v.authority===F(e).slice(2)?`http:${e}`:`https:${e}`:Y(e)?e:(0,i.j0)(q("/"===e[0]?function(e){const t=e.indexOf("//"),r=e.indexOf("/",t+2);return-1===r?e:e.slice(0,r)}(t):t,e))}function L(e,t=_,r){if(!B(e))return e;const n=J(e),o=n.toLowerCase(),s=J(t).toLowerCase().replace(/\/+$/,""),i=r?J(r).toLowerCase().replace(/\/+$/,""):null;if(i&&0!==s.indexOf(i))return e;const a=(e,t,r)=>-1===(r=e.indexOf(t,r))?e.length:r;let c=a(o,"/",o.indexOf("//")+2),l=-1;for(;o.slice(0,c+1)===s.slice(0,c)+"/"&&(l=c+1,c!==o.length);)c=a(o,"/",c+1);if(-1===l)return e;if(i&&l<i.length)return e;e=n.slice(l);const f=s.slice(l-1).replace(/[^/]+/g,"").length;if(f>0)for(let t=0;t<f;t++)e=`../${e}`;else e=`./${e}`;return e}function J(e){return function(e){const t=c.httpsDomains;if(!function(e){return u.test(e)||"http"===v.scheme&&G(e)}(e))return e;const r=e.indexOf("/",7);let n;if(n=-1===r?e:e.slice(0,r),n=n.toLowerCase().slice(7),p.test(n)){if(!n.endsWith(":80"))return e;n=n.slice(0,-3),e=e.replace(":80","")}return"http"===v.scheme&&n===v.authority&&!b.test(e)||(te()&&n===v.authority||t&&t.some((e=>n===e||n.endsWith(`.${e}`)))||te()&&!$(e))&&(e=ee(e)),e}(e=function(e){return e.replace(/^(https?:\/\/)(arcgis\.com)/i,"$1www.$2")}(e=function(e){if(/^https?:\/\//i.test(e)){const t=A(e);e=(e=t.path.replace(/\/{2,}/g,"/")).replace("/","//"),t.query&&(e+=`?${t.query}`)}return e}(e=U(e=e.trim()))))}function q(...e){const t=e.filter(i.pC);if(!t||!t.length)return;const r=[];if(B(t[0])){const e=t[0],n=e.indexOf("//");-1!==n&&(r.push(e.slice(0,n+1)),function(e){return h.test(e)}(t[0])&&(r[0]+="/"),t[0]=e.slice(n+2))}else"/"===t[0][0]&&r.push("");const n=t.reduce(((e,t)=>t?e.concat(t.split("/")):e),[]);for(let e=0;e<n.length;e++){const t=n[e];".."===t&&r.length>0&&".."!==r[r.length-1]?r.pop():(!t&&e===n.length-1||t&&("."!==t||0===r.length))&&r.push(t)}return r.join("/")}function F(e,t=!1){if(D(e)||H(e))return null;let r=e.indexOf("://");if(-1===r&&G(e))r=2;else{if(-1===r)return null;r+=3}const n=e.indexOf("/",r);return-1!==n&&(e=e.slice(0,n)),t&&(e=re(e,!0)),e}function B(e){return G(e)||Y(e)}function D(e){return null!=e&&"blob:"===e.slice(0,5)}function H(e){return"data:"===e.slice(0,5)}function K(e){const t=Q(e);if(!t||!t.isBase64)return null;const r=atob(t.data),n=new Uint8Array(r.length);for(let e=0;e<r.length;e++)n[e]=r.charCodeAt(e);return n.buffer}const z=/^data:(.*?)(;base64)?,(.*)$/;function Q(e){const t=e.match(z);if(!t)return null;const[,r,n,o]=t;return{mediaType:r,isBase64:!!n,data:o}}function V(e){return e.isBase64?`data:${e.mediaType};base64,${e.data}`:`data:${e.mediaType},${e.data}`}function G(e){return null!=e&&void 0!==e&&"/"===e[0]&&"/"===e[1]}function Y(e){return f.test(e)}function X(e){return d.test(e)||"https"===v.scheme&&G(e)}function ee(e){return G(e)?`https:${e}`:e.replace(u,"https:")}function te(){return"https"===v.scheme}function re(e,t=!1){return G(e)?e.slice(2):(e=e.replace(f,""),t&&e.length>1&&"/"===e[0]&&"/"===e[1]&&(e=e.slice(2)),e)}function ne(e){let t=0;if(B(e)){const r=e.indexOf("//");-1!==r&&(t=r+2)}const r=e.lastIndexOf("/");return r<t?e:e.slice(0,r+1)}function oe(e,t){if(!e)return"";const r=O(e).path.replace(/\/+$/,""),n=r.substring(r.lastIndexOf("/")+1);if(null==t||!t.length)return n;const o=new RegExp(`.(${t.join("|")})$`,"ig");return n.replace(o,"")}function se(e){return e.replace(/\/+$/,"")}function ie(e,t,r){if(!(t&&r&&e&&B(e)))return e;const n=e.indexOf("//"),o=e.indexOf("/",n+2),s=e.indexOf(":",n+2),i=Math.min(o<0?e.length:o,s<0?e.length:s);return e.slice(n+2,i).toLowerCase()!==t.toLowerCase()?e:`${e.slice(0,n+2)}${r}${e.slice(i)}`}function ae(e){return"string"==typeof e?new y(U(e)):(e.scheme||(e.scheme=v.scheme),e)}function ce(e,t){const r=O(e),n=Object.keys(r.query||{});return n.length>0&&t&&t.warn("removeQueryParameters()",`Url query parameters are not supported, the following parameters have been removed: ${n.join(", ")}.`),r.path}function le(e,t,r){const n=O(e),o=n.query||{};return o[t]=String(r),`${n.path}?${S(o)}`}function fe(e,t){const r=O(e),n=r.query||{};for(const e in t)n[e]=t[e];const o=S(n);return o?`${r.path}?${o}`:r.path}function ue(e){if((0,i.Wi)(e))return null;const t=e.match(de);return t?t[1]:null}const de=/.*?\.([^\/]*)$/},25045:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>y});var n=r(40330),o=r(20102),s=r(91460),i=r(70586),a=r(95330),c=r(94362),l=r(17202);const f={statsWorker:()=>Promise.all([r.e(8778),r.e(6570),r.e(9928),r.e(2303),r.e(6841)]).then(r.bind(r,36841)),geometryEngineWorker:()=>Promise.all([r.e(5837),r.e(8227)]).then(r.bind(r,48227)),CSVSourceWorker:()=>Promise.all([r.e(8778),r.e(6570),r.e(9928),r.e(2303),r.e(1418),r.e(411),r.e(1534),r.e(3551),r.e(8961),r.e(7054),r.e(5590),r.e(7793)]).then(r.bind(r,27793)),EdgeProcessingWorker:()=>Promise.all([r.e(6481),r.e(8936)]).then(r.bind(r,18936)),ElevationSamplerWorker:()=>Promise.all([r.e(8778),r.e(6570),r.e(9928),r.e(411),r.e(6481),r.e(6459),r.e(5951)]).then(r.bind(r,61787)),FeatureServiceSnappingSourceWorker:()=>Promise.all([r.e(8778),r.e(6570),r.e(9928),r.e(2303),r.e(1418),r.e(4588),r.e(411),r.e(1534),r.e(3485),r.e(3551),r.e(8961),r.e(7054),r.e(5590),r.e(991)]).then(r.bind(r,41650)),GeoJSONSourceWorker:()=>Promise.all([r.e(8778),r.e(6570),r.e(9928),r.e(2303),r.e(1418),r.e(411),r.e(1534),r.e(3551),r.e(8961),r.e(7054),r.e(5590),r.e(327),r.e(7845)]).then(r.bind(r,97845)),LercWorker:()=>r.e(3027).then(r.bind(r,23027)),MemorySourceWorker:()=>Promise.all([r.e(8778),r.e(6570),r.e(9928),r.e(2303),r.e(1418),r.e(411),r.e(1534),r.e(3551),r.e(8961),r.e(7054),r.e(5590),r.e(327),r.e(639)]).then(r.bind(r,30639)),PBFDecoderWorker:()=>Promise.all([r.e(8778),r.e(6570),r.e(9928),r.e(8961),r.e(147)]).then(r.bind(r,61916)),Pipeline:()=>Promise.all([r.e(8778),r.e(6570),r.e(9928),r.e(2303),r.e(1418),r.e(7394),r.e(4588),r.e(411),r.e(1534),r.e(3485),r.e(3551),r.e(8961),r.e(7054),r.e(2730),r.e(3142)]).then(r.bind(r,53142)),PointCloudWorker:()=>Promise.all([r.e(8778),r.e(6570),r.e(9928),r.e(2303),r.e(411),r.e(9294),r.e(5446)]).then(r.bind(r,16583)),RasterWorker:()=>Promise.all([r.e(8778),r.e(6570),r.e(9928),r.e(2303),r.e(411),r.e(5284),r.e(6200)]).then(r.bind(r,61576)),SceneLayerWorker:()=>r.e(5265).then(r.bind(r,55265)),WFSSourceWorker:()=>Promise.all([r.e(8778),r.e(6570),r.e(9928),r.e(2303),r.e(1418),r.e(411),r.e(1534),r.e(3551),r.e(8961),r.e(7054),r.e(5590),r.e(327),r.e(6919),r.e(3230)]).then(r.bind(r,43230)),WorkerTileHandler:()=>Promise.all([r.e(2303),r.e(2508),r.e(6810),r.e(9872)]).then(r.bind(r,56456))},{CLOSE:u,ABORT:d,INVOKE:h,RESPONSE:p,OPEN_PORT:b,ON:g}=c.Cs;class m{constructor(e){this._timer=null,this._cancelledJobIds=new Set,this._invokeMessages=[],this._invoke=e,this._timer=null,this._process=this._process.bind(this)}push(e){e.type===c.Cs.ABORT?this._cancelledJobIds.add(e.jobId):(this._invokeMessages.push(e),null===this._timer&&(this._timer=setTimeout(this._process,0)))}clear(){this._invokeMessages.length=0,this._cancelledJobIds.clear(),this._timer=null}_process(){this._timer=null;for(const e of this._invokeMessages)this._cancelledJobIds.has(e.jobId)||this._invoke(e);this._cancelledJobIds.clear(),this._invokeMessages.length=0}}class y{constructor(e,t){this._port=e,this._outJobs=new Map,this._inJobs=new Map,this._invokeQueue=new m((e=>this._onInvokeMessage(e))),this._client=t.client,this._onMessage=this._onMessage.bind(this),this._channel=t.channel,this._schedule=t.schedule,this._port.addEventListener("message",this._onMessage),this._port.start()}static connect(e){const t=new MessageChannel;let r;r="function"==typeof e?new e:"default"in e&&"function"==typeof e.default?new e.default:e;const n=new y(t.port1,{channel:t,client:r});return"object"==typeof r&&"remoteClient"in r&&(r.remoteClient=n),y.clients.set(n,r),t.port2}static loadWorker(e){const t=f[e];return t?t():Promise.resolve(null)}close(){this._post({type:u}),this._close()}isBusy(){return this._outJobs.size>0}invoke(e,t,r){const n=r&&r.signal,s=r&&r.transferList;if(!this._port)return Promise.reject(new o.Z("worker:port-closed",`Cannot call invoke('${e}'), port is closed`,{methodName:e,data:t}));const i=(0,c.jt)();return new Promise(((r,o)=>{const c=(0,a.$F)(n,(()=>{var e;const t=this._outJobs.get(i);t&&(this._outJobs.delete(i),null==(e=t.abortHandle)||e.remove(),this._post({type:d,jobId:i}),o((0,a.zE)()))})),l={resolve:r,reject:o,abortHandle:c,debugInfo:e};this._outJobs.set(i,l),this._post({type:h,jobId:i,methodName:e,abortable:null!=n},t,s)}))}on(e,t){const r=new MessageChannel;function n(e){t(e.data)}return this._port.postMessage({type:c.Cs.ON,eventType:e,port:r.port2},[r.port2]),r.port1.addEventListener("message",n),r.port1.start(),{remove(){r.port1.postMessage({type:c.Cs.CLOSE}),r.port1.close(),r.port1.removeEventListener("message",n)}}}openPort(){const e=new MessageChannel;return this._post({type:b,port:e.port2}),e.port1}_close(){this._channel&&(this._channel=null),this._port.removeEventListener("message",this._onMessage),this._port.close(),this._outJobs.forEach((e=>{var t;null==(t=e.abortHandle)||t.remove(),e.reject((0,a.zE)(`Worker closing, aborting job calling '${e.debugInfo}'`))})),this._inJobs.clear(),this._outJobs.clear(),this._invokeQueue.clear(),this._port=this._client=this._schedule=null}_onMessage(e){(0,i.pC)(this._schedule)?this._schedule((()=>this._processMessage(e))):this._processMessage(e)}_processMessage(e){const t=(0,c.QM)(e);if(t)switch(t.type){case p:this._onResponseMessage(t);break;case h:this._invokeQueue.push(t);break;case d:this._onAbortMessage(t);break;case u:this._onCloseMessage();break;case b:this._onOpenPortMessage(t);break;case g:this._onOnMessage(t)}}_onAbortMessage(e){const t=this._inJobs,r=e.jobId,n=t.get(r);this._invokeQueue.push(e),n&&(n.controller&&n.controller.abort(),t.delete(r))}_onCloseMessage(){const e=this._client;this._close(),e&&"destroy"in e&&y.clients.get(this)===e&&e.destroy(),y.clients.delete(this),e&&e.remoteClient&&(e.remoteClient=null)}_onInvokeMessage(e){const{methodName:t,jobId:r,data:n,abortable:o}=e,s=o?new AbortController:null,i=this._inJobs;let l,f=this._client,u=f[t];try{if(!u&&t&&-1!==t.indexOf(".")){const e=t.split(".");for(let t=0;t<e.length-1;t++)f=f[e[t]],u=f[e[t+1]]}if("function"!=typeof u)throw new TypeError(`${t} is not a function`);l=u.call(f,n,{client:this,signal:s?s.signal:null})}catch(e){return void this._post({type:p,jobId:r,error:(0,c.AB)(e)})}(0,a.y8)(l)?(i.set(r,{controller:s,promise:l}),l.then((e=>{i.has(r)&&(i.delete(r),this._post({type:p,jobId:r},e))}),(e=>{i.has(r)&&(i.delete(r),(0,a.D_)(e)||this._post({type:p,jobId:r,error:(0,c.AB)(e||{message:`Error encountered at method ${t}`})}))}))):this._post({type:p,jobId:r},l)}_onOpenPortMessage(e){new y(e.port,{client:this._client})}_onOnMessage(e){const{port:t}=e,r=this._client.on(e.eventType,(e=>{t.postMessage(e)})),n=(0,s.on)(e.port,"message",(e=>{(0,c.QM)(e).type===c.Cs.CLOSE&&(n.remove(),r.remove(),t.close())}))}_onResponseMessage(e){var t;const{jobId:r,error:n,data:s}=e,i=this._outJobs;if(!i.has(r))return;const a=i.get(r);i.delete(r),null==(t=a.abortHandle)||t.remove(),n?a.reject(o.Z.fromJSON(JSON.parse(n))):a.resolve(s)}_post(e,t,r){return(0,c.oi)(this._port,e,t,r)}}y.kernelInfo={revision:l.$,version:n.i8,buildDate:l.r},y.clients=new Map},94362:(e,t,r)=>{"use strict";r.d(t,{Cs:()=>n,jt:()=>a,oi:()=>l,QM:()=>f,AB:()=>c});var n,o,s=r(80442);(o=n||(n={}))[o.HANDSHAKE=0]="HANDSHAKE",o[o.OPEN=1]="OPEN",o[o.OPENED=2]="OPENED",o[o.RESPONSE=3]="RESPONSE",o[o.INVOKE=4]="INVOKE",o[o.ABORT=5]="ABORT",o[o.CLOSE=6]="CLOSE",o[o.OPEN_PORT=7]="OPEN_PORT",o[o.ON=8]="ON";let i=0;function a(){return i++}function c(e){return e?"string"==typeof e?JSON.stringify({name:"message",message:e}):e.toJSON?JSON.stringify(e):JSON.stringify({name:e.name,message:e.message,details:e.details||{stack:e.stack}}):null}function l(e,t,r,o){if(t.type===n.OPEN_PORT)return void e.postMessage(t,[t.port]);if(t.type!==n.INVOKE&&t.type!==n.RESPONSE)return void e.postMessage(t);let s;!function(e){return e&&"object"==typeof e&&("result"in e||"transferList"in e)}(r)?(s=u(o),t.data=r):(s=u(r.transferList),t.data=r.result),s?e.postMessage(t,s):e.postMessage(t)}function f(e){if(!e)return null;const t=e.data;return t?"string"==typeof t?JSON.parse(t):t:null}function u(e){if(!e||!e.length)return null;if((0,s.Z)("esri-workers-arraybuffer-transfer"))return e;const t=e.filter((e=>!function(e){return e instanceof ArrayBuffer||e&&e.constructor&&"ArrayBuffer"===e.constructor.name}(e)));return t.length?t:null}},40330:(e,t,r)=>{"use strict";r.d(t,{Dp:()=>l,id:()=>a,qh:()=>c,i8:()=>s,Nv:()=>i});var n=r(80442),o=r(17452);const s="4.22",i={async request(e,t){var n;const{default:s}=await r.e(3172).then(r.bind(r,3172)),i=e.options,a=i.responseType;i.signal=null==t?void 0:t.signal,i.responseType="native"===a||"native-request-init"===a?"native-request-init":["blob","json","text"].includes(a)&&null!=(n=(0,o.oh)(e.url))&&n.after?a:"array-buffer";const c=await s(e.url,i),l={data:c.data,ssl:c.ssl};switch(c.requestOptions.responseType){case"native-request-init":return delete l.data.signal,l;case"blob":l.data=await l.data.arrayBuffer();break;case"json":l.data=(new TextEncoder).encode(JSON.stringify(l.data)).buffer;break;case"text":l.data=(new TextEncoder).encode(l.data).buffer}return{result:l,transferList:[l.data]}}};let a;function c(e){a=e}function l(e){const t=a&&a.findCredential(e);return t&&t.token?(0,o.ZN)(e,"token",t.token):e}(0,n.Z)("host-webworker")||((0,n.Z)("edge")||(0,n.Z)("trident"))&&console.warn("Deprecated browser - see http://esriurl.com/oldbrowser")},17202:(e,t,r)=>{"use strict";r.d(t,{r:()=>n,$:()=>o});const n="20211101",o="0c99571908c3b1c24bfc9a638d0076cbce367604"}},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var s=t[n]={exports:{}};return e[n](s,s.exports,r),s.exports}r.m=e,r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((t,n)=>(r.f[n](e,t),t)),[])),r.u=e=>"chunks/"+{24:"977b805b47cb102ac991",36:"457dd64964cf7f404943",102:"33288c56555d4ffae59f",147:"5f3d826340a7a57f988d",223:"59640d78295e2e363f18",247:"a0450fbf01de854f5c97",280:"ea05f870dda27bca4fe8",291:"b7e979282ff4350cd70c",327:"11a34379d41692ca919f",331:"be38d0ede63de53801e3",402:"3551b8cef914d3bc155b",411:"327196d77f0c0c957f7f",511:"a53d7c54f46408d2db42",519:"c389ce157346aec746f0",565:"5fd6f37ebdf9884c3526",576:"38e792e037e88a74995a",635:"ad56c80411821b7b17c0",639:"b935d0c8d5951298cc53",755:"7e0b4f9a847bb2a52338",819:"6280c69d87b2a3a18780",941:"ca5a2883d8dc2f38c2ee",991:"b72c8ed0fc7b6566fd31",1074:"071a418f1f190d2ece24",1387:"99f78f38c25e45aef5ba",1418:"a56facfd4cb910e6c23b",1421:"aa2acf85afff14af2093",1433:"1def8845714ea745fd24",1534:"09141e5539e652edfc6c",1762:"faad6822fda6874a191b",1773:"7a5066bef32f22ad85cb",2134:"d59007da9e065e30a7d0",2303:"dc91bb8e59a44db4388e",2399:"133a5b21b13661d55c45",2508:"b03f50a3d241534a5fe9",2515:"dbaa5fb466d6c0214f24",2594:"20dd68d1187c7681be83",2730:"594029863881481feacf",2921:"081b90873ef847797c89",2986:"5da8be2bf60328d81ca6",3027:"522d8e864f39e03c3fc8",3081:"e3287d75191ceca8081e",3142:"1b0ad088785fe641df2d",3172:"29646bb5f44b1ec31534",3230:"2c8f1a6ca81d3b897623",3394:"f635dbe9863d45f51e81",3396:"1ef684455fd7054f6d71",3471:"36c4bc3d84e9c3148776",3485:"844b564d1a422a17f6ac",3495:"d73de81d3871975fec2a",3529:"5afbeefbf7961a112668",3551:"cfdbbb5b3720c9c60684",3668:"c88887cbeca54a71bd61",3749:"0ce682bec084b1b154ed",3792:"9b1ad2e62cfa4c090e50",3852:"1ac9c3f22385098a0112",3942:"e3cdb46868af383f75f3",4067:"8ae25993e2e1e2e48eea",4166:"353eb518f3c9b027642c",4351:"ae426b913eaaeee223f7",4358:"ca44cbe1a6c6b08a8e55",4369:"cb5c42f598064c0c4eaa",4470:"2d38ee3ef3ebe32a1194",4499:"88de68d9d1d6d2882b55",4588:"e14b4af7eefcbc2c46a0",4599:"29ca38829de88e62ba2b",4695:"dca79a567d98d98f3d8f",4720:"fe42716651b39518453c",4816:"44170d71c7b1abfd8a27",4859:"0cfa3de704541aa8cea2",4889:"0ca1ce6856620fc88011",5051:"26116a93d60020950565",5265:"cc703ea692ba83715f63",5284:"8a21ccf806816ef653db",5446:"f46f4daaaf79ecc428d8",5590:"11975aae96ecec7f0dd9",5732:"469ba1b24cdeea0758ec",5823:"e27b9913f00f4b4c2895",5837:"d26fc253f26c3a2bca4a",5951:"9f7df729bd97a0379583",6104:"fb7d9d9f7395db343880",6200:"f2f727faa425375a8fae",6237:"c544df83e86a9d36b68c",6401:"9c04134791311fd9e2c0",6459:"8eaab757369dc7811d2f",6481:"e3aed0a5b64180bdb6c3",6550:"1550d6d104c283e2f7ad",6570:"5628b989ba13ca2c427d",6619:"d2848874cec36a24aaa5",6690:"90e14687ff00f8df32c3",6710:"d10c72e4502e56c6988d",6740:"7eca3800807b2cd3fda0",6748:"a27df5a645ce73714bed",6774:"ee370bfeeefc1b58d81d",6810:"bd29ea967877fc6d7c53",6841:"d9a1212cdaf2d5493538",6919:"49b71a8f676f82685504",6923:"913ee5abf51a44cc363c",6968:"e133dfa8c66c6bee9251",7039:"30d7685fc6dc1787df44",7049:"0d87589f3f3947d7ed67",7054:"f0b92d01caea641a4a7a",7055:"be1ca1154ec28d186311",7091:"806cf0cf051a3d8e5658",7277:"f183da283af0836421ab",7284:"055eb4c457b52408da25",7319:"3e7a0a81a1f07bce3b30",7394:"f01133a5834f64dba932",7494:"24847b073a1a4afef88c",7572:"842ef6a68abd95971c3f",7698:"637437cbdae969b83350",7779:"a646a11673d513c00e7a",7793:"ed448bb6bc3f87536c0c",7845:"db075f5e0827991efcfd",7873:"93eb468381bfcf0e47d7",8008:"158e4549992401e5cbc0",8014:"7f75920b962c1276aa51",8062:"a884e173d8ce31a3fb1d",8121:"da6041fdb1e2013fc18e",8216:"6cc2078b77543a5c5964",8227:"1f394b20410fddb30a96",8325:"bcdc2a6081126973b4a2",8422:"4e6178bdd453000ea5f3",8511:"f8de4ffc5d341d7d4722",8625:"caa5d1b9680a822f2070",8659:"9e52510bd9e9408583de",8683:"492c325c1f59d6d398d3",8758:"d1a71b58ef62e71979c5",8778:"e0e761650344efdc7517",8828:"2a9a5b51603a07061f9c",8835:"7922cb56bea42d538d06",8936:"99e36fec3216d01895f7",8961:"9796d54ff12b6429164a",9070:"4b0ffef8ba88b5523930",9101:"de8e7a71642591b53313",9151:"03e0722f05446e5926e5",9169:"f7ae0344257e6e08469b",9201:"4d8606b334e39827316b",9254:"ccaaefa20dfb940e8cc0",9291:"6e172b435a55bc72baef",9294:"5315be9b4ef8fe6aaac8",9296:"83707a91e5dd257973a5",9489:"06a9cdf71330bf9cc774",9490:"45c2f2a8789268e84fa6",9625:"447bd7c504965ae05973",9664:"7411f0bbce1cc96ded36",9767:"addbd572aab0a3a0fb7e",9872:"89b4983de872780e9aa1",9884:"3a04496f43de689cc63b",9928:"955ab28ee39fc95d4de5",9930:"3372869dc67877713f23",9932:"00bf9858abb8373e8d68",9938:"4247258a985917cd2211",9966:"7fe87300651fef54c06d"}[e]+".js",r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e;r.g.importScripts&&(e=r.g.location+"");var t=r.g.document;if(!e&&t&&(t.currentScript&&(e=t.currentScript.src),!e)){var n=t.getElementsByTagName("script");n.length&&(e=n[n.length-1].src)}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),r.p=e})(),(()=>{var e={134:1,102:1};r.f.i=(t,n)=>{e[t]||importScripts(r.p+r.u(t))};var t=self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[],n=t.push.bind(t);t.push=t=>{var[o,s,i]=t;for(var a in s)r.o(s,a)&&(r.m[a]=s[a]);for(i&&i(r);o.length;)e[o.pop()]=1;n(t)}})(),r(88277);var n=r(25045);RemoteClient=n})();