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

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 (179) hide show
  1. package/assets/esri/core/workers/RemoteClient.js +1 -1
  2. package/assets/esri/core/workers/chunks/{0219c3f9408d3fa3c9a0.js → 03ee9d0407c230b885ed.js} +1 -1
  3. package/assets/esri/core/workers/chunks/{de16b771d2c8d816c738.js → 05c80002c37002ac99e8.js} +1 -1
  4. package/assets/esri/core/workers/chunks/{5d40c4783f58af1ae0dc.js → 0e8181e7fc1386d08ffc.js} +1 -1
  5. package/assets/esri/core/workers/chunks/{96e5d192c8d23c1e324f.js → 13e68c43acc8916520db.js} +1 -1
  6. package/assets/esri/core/workers/chunks/{e6a5911ea21bef32834b.js → 1bc22af4cc4effcbcf2b.js} +1 -1
  7. package/assets/esri/core/workers/chunks/{84f972d7851d982701a0.js → 1ca7e0d519ecbfe6976f.js} +1 -1
  8. package/assets/esri/core/workers/chunks/{9b2ab27159500315fbc1.js → 26850ec0917ee355ddb7.js} +1 -1
  9. package/assets/esri/core/workers/chunks/{1bd4fe77ba6fb25322e7.js → 29e2b105f55adafc3a6d.js} +1 -1
  10. package/assets/esri/core/workers/chunks/{5d63dfa5a60c88e03b28.js → 2c77a543a174e5bc736a.js} +1 -1
  11. package/assets/esri/core/workers/chunks/{d0ddf4f1c6a351b447c7.js → 30d7d2c7d6e9e5e2ecb9.js} +1 -1
  12. package/assets/esri/core/workers/chunks/3fb25912b274f264c84e.js +1 -0
  13. package/assets/esri/core/workers/chunks/{febae745a29a17ca130a.js → 4480e4b61affb3b2e9d6.js} +1 -1
  14. package/assets/esri/core/workers/chunks/{4d4a271351fd288277d2.js → 49085a0b3a74e158f32f.js} +1 -1
  15. package/assets/esri/core/workers/chunks/{392e64a573f67817db02.js → 4cb199b547e5b97e65fb.js} +1 -1
  16. package/assets/esri/core/workers/chunks/4df36ee2406861c7afa8.js +1 -0
  17. package/assets/esri/core/workers/chunks/{9652cfd4668b95036c87.js → 532088a72c3ddc50f3be.js} +1 -1
  18. package/assets/esri/core/workers/chunks/{ba917175ca2a6681501e.js → 563594357f3648652a5c.js} +1 -1
  19. package/assets/esri/core/workers/chunks/{abfc5f9ac16c3e885c5f.js → 56db71ea7eb8a5652d98.js} +1 -1
  20. package/assets/esri/core/workers/chunks/{e56647e61296643c5f84.js → 5719471414810b6a9aec.js} +1 -1
  21. package/assets/esri/core/workers/chunks/{235efd948ae470a6f238.js → 60b1365d25581ccf0485.js} +1 -1
  22. package/assets/esri/core/workers/chunks/{3795793643f4db64af0e.js → 63c25455b9cf1b3df76a.js} +1 -1
  23. package/assets/esri/core/workers/chunks/{909be86782af3deb448e.js → 654fe135d41af81daa13.js} +1 -1
  24. package/assets/esri/core/workers/chunks/{cd9343c78a7c3acdbbcd.js → 681b2662f6ce936afd7e.js} +1 -1
  25. package/assets/esri/core/workers/chunks/{65f2b22d8fc12e6d4a87.js → 7000d9158da929a16071.js} +1 -1
  26. package/assets/esri/core/workers/chunks/{7551011117c3d36ff3db.js → 743cdbff5c4616ddc2b4.js} +1 -1
  27. package/assets/esri/core/workers/chunks/{968956284f44187f0622.js → 8540fb31bd0b29ff1906.js} +1 -1
  28. package/assets/esri/core/workers/chunks/8c5cea49e48f8858f115.js +1 -0
  29. package/assets/esri/core/workers/chunks/{237a965bd41ba8903e03.js → 921c040d0497031fd8ff.js} +1 -1
  30. package/assets/esri/core/workers/chunks/{96d2a0777f5c418055fb.js → 92b48e3365d1cc933113.js} +1 -1
  31. package/assets/esri/core/workers/chunks/{5d485c07848164099859.js → 95a4da3150ad8e8e36d8.js} +1 -1
  32. package/assets/esri/core/workers/chunks/{46fb6ba8900286d18b6f.js → 9d564f79b82d427fc1da.js} +1 -1
  33. package/assets/esri/core/workers/chunks/{00612d6e05b1c8647668.js → 9fff43ffcd5602ccc50f.js} +1 -1
  34. package/assets/esri/core/workers/chunks/{653ff3e631fea8ad393a.js → a0db1f3ca29e34dfa16f.js} +12 -12
  35. package/assets/esri/core/workers/chunks/{1cc5c566e68f2255d035.js → a6ca68ef6311ffc365b2.js} +1 -1
  36. package/assets/esri/core/workers/chunks/{5a51c75a2932d9da001a.js → a8d043b73e087bee7c40.js} +1 -1
  37. package/assets/esri/core/workers/chunks/{581180668e0229dcdc14.js → bf190d672dcbaedc1a41.js} +1 -1
  38. package/assets/esri/core/workers/chunks/{ebfa4a0334401f5e004a.js → c12765e0c8b44e349c2a.js} +1 -1
  39. package/assets/esri/core/workers/chunks/{afddb94ff4e1a70022c7.js → c3b2b05996e2008adbe3.js} +1 -1
  40. package/assets/esri/core/workers/chunks/{4fb4884d2de42792abe3.js → d1a9e8db5ba403abe721.js} +1 -1
  41. package/assets/esri/core/workers/chunks/d35cd309ba7bb8968a22.js +1 -0
  42. package/assets/esri/core/workers/chunks/{6e6422eda398774acbc7.js → d60da671aba70485050e.js} +1 -1
  43. package/assets/esri/core/workers/chunks/{7a8df1225abd54ff68ed.js → db298b292a4e43cba72d.js} +1 -1
  44. package/assets/esri/core/workers/chunks/{2bda2cfc6e81818d7d33.js → dcaeb57c69d432118604.js} +1 -1
  45. package/assets/esri/core/workers/chunks/{fb455fd89b74b70a6a2b.js → e613df03ceb39e29befa.js} +1 -1
  46. package/assets/esri/core/workers/chunks/{05d7d8ff3e4cbad32580.js → e8dcaa7837b6fe7bff20.js} +1 -1
  47. package/assets/esri/core/workers/chunks/ec1a4b82cbc44ba45f83.js +1 -0
  48. package/assets/esri/core/workers/chunks/ec778cc7a55068f51937.js +1 -0
  49. package/assets/esri/core/workers/chunks/{51339193abddfe37745d.js → f2b63597ae956db74eb3.js} +1 -1
  50. package/assets/esri/geometry/support/pe-wasm.wasm +0 -0
  51. package/assets/esri/themes/base/widgets/_OrientedImageryViewer.scss +14 -1
  52. package/assets/esri/themes/base/widgets/_SelectionList.scss +34 -0
  53. package/assets/esri/themes/base/widgets/_SelectionToolbar.scss +6 -0
  54. package/assets/esri/themes/dark/main.css +1 -1
  55. package/assets/esri/themes/light/main.css +1 -1
  56. package/assets/esri/themes/light/view.css +1 -1
  57. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer.json +1 -1
  58. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_en.json +1 -1
  59. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList.json +1 -1
  60. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_en.json +1 -1
  61. package/assets/esri/widgets/support/SelectionToolbar/t9n/SelectionToolbar.json +1 -1
  62. package/assets/esri/widgets/support/SelectionToolbar/t9n/SelectionToolbar_en.json +1 -1
  63. package/chunks/Bufferer-CicaNej1.js +1 -1
  64. package/chunks/Distance2DCalculator-C1KHhZwD.js +1 -1
  65. package/chunks/Envelope.js +1 -1
  66. package/chunks/Envelope2D.js +1 -1
  67. package/chunks/GeodeticDistanceCalculator-CcF1gMZX.js +1 -1
  68. package/chunks/Geometry.js +1 -1
  69. package/chunks/GeometryCleaner-BEJM7I4l.js +1 -1
  70. package/chunks/OperatorClip.js +1 -1
  71. package/chunks/OperatorCrosses.js +1 -1
  72. package/chunks/OperatorCut.js +1 -1
  73. package/chunks/OperatorGeneralize.js +1 -1
  74. package/chunks/OperatorGeodesicBuffer.js +1 -1
  75. package/chunks/OperatorGeodeticArea.js +1 -1
  76. package/chunks/OperatorGeodeticDensifyByLength.js +1 -1
  77. package/chunks/OperatorGeodeticDistance.js +1 -1
  78. package/chunks/OperatorGeodeticLength.js +1 -1
  79. package/chunks/OperatorIntersects.js +1 -1
  80. package/chunks/OperatorMultiPartToSinglePart.js +1 -1
  81. package/chunks/OperatorOverlaps.js +1 -1
  82. package/chunks/OperatorProximity.js +1 -1
  83. package/chunks/OperatorProximityGeodesic.js +1 -1
  84. package/chunks/OperatorShapePreservingLength.js +1 -1
  85. package/chunks/OperatorShapePreservingProject.js +1 -1
  86. package/chunks/OperatorSimplifyOGC.js +1 -1
  87. package/chunks/OperatorTouches.js +1 -1
  88. package/chunks/OperatorWithin.js +1 -1
  89. package/chunks/Point2D.js +1 -1
  90. package/chunks/ProjectionTransformation.js +1 -1
  91. package/chunks/QuadraticBezier.js +1 -1
  92. package/chunks/SideCalculator2D-BNwb5gvz.js +1 -1
  93. package/chunks/Transformation2D.js +1 -1
  94. package/chunks/containsOperator.js +1 -1
  95. package/chunks/disjointOperator.js +1 -1
  96. package/chunks/equalsOperator.js +1 -1
  97. package/chunks/pe-wasm.js +1 -1
  98. package/chunks/pe.js +1 -1
  99. package/geometry/coordinateFormatter.js +1 -1
  100. package/geometry/operators/extendOperator.js +1 -1
  101. package/geometry/operators/gx/operatorAlphaShape.js +1 -1
  102. package/geometry/operators/gx/operatorAutoComplete.js +1 -1
  103. package/geometry/operators/gx/operatorBuffer.js +1 -1
  104. package/geometry/operators/gx/operatorDifference.js +1 -1
  105. package/geometry/operators/gx/operatorGraphicBuffer.js +1 -1
  106. package/geometry/operators/gx/operatorIntegrate.js +1 -1
  107. package/geometry/operators/gx/operatorIntersection.js +1 -1
  108. package/geometry/operators/gx/operatorLabelPoint.js +1 -1
  109. package/geometry/operators/gx/operatorLinesToPolygons.js +1 -1
  110. package/geometry/operators/gx/operatorLocateBetween.js +1 -1
  111. package/geometry/operators/gx/operatorMinimumBoundingCircle.js +1 -1
  112. package/geometry/operators/gx/operatorOffset.js +1 -1
  113. package/geometry/operators/gx/operatorPolygonOverlay.js +1 -1
  114. package/geometry/operators/gx/operatorPolygonSlicer.js +1 -1
  115. package/geometry/operators/gx/operatorSimplify.js +1 -1
  116. package/geometry/operators/gx/operatorSymmetricDifference.js +1 -1
  117. package/geometry/operators/gx/operatorUnion.js +1 -1
  118. package/geometry/operators/isNearOperator.js +1 -1
  119. package/geometry/operators/json/containsOperator.js +1 -1
  120. package/geometry/operators/json/disjointOperator.js +1 -1
  121. package/geometry/operators/reshapeOperator.js +1 -1
  122. package/geometry/operators/support/apiConverter.js +1 -1
  123. package/geometry/operators/support/initNoPeFactory.js +1 -1
  124. package/geometry/operators/support/jsonConverter.js +1 -1
  125. package/geometry/support/WKIDUnitConversion.js +1 -1
  126. package/interfaces.d.ts +31 -0
  127. package/package.json +1 -1
  128. package/support/revision.js +1 -1
  129. package/views/2d/engine/webgl/shaderGraph/techniques/mesh/utils.js +1 -1
  130. package/views/3d/interactive/Manipulator3D.js +1 -1
  131. package/views/3d/interactive/visualElements/PointVisualElement.js +1 -1
  132. package/views/3d/layers/DrapedSubView3D.js +1 -1
  133. package/views/3d/layers/I3SMeshView3D.js +1 -1
  134. package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
  135. package/views/3d/layers/MediaLayerView3D.js +1 -1
  136. package/views/3d/layers/graphics/Graphics3DIconSymbolLayer.js +1 -1
  137. package/views/3d/layers/graphics/Graphics3DMeshFillSymbolLayer.js +1 -1
  138. package/views/3d/layers/graphics/Graphics3DObjectSymbolLayer.js +1 -1
  139. package/views/3d/layers/graphics/pipeline/rendering/FeaturePipelineRenderManager.js +1 -1
  140. package/views/3d/layers/graphics/pipeline/rendering/LodRenderer.js +1 -1
  141. package/views/3d/support/StreamTextureCollection.js +1 -1
  142. package/views/3d/support/TextureCollection.js +1 -1
  143. package/views/3d/webgl-engine/Stage.js +1 -1
  144. package/views/3d/webgl-engine/lib/ModelDirtySet.js +1 -1
  145. package/views/3d/webgl-engine/lib/TextTextureAtlas.js +1 -1
  146. package/views/3d/webgl-engine/lib/Texture.js +1 -1
  147. package/views/3d/webgl-engine/lib/TextureRepository.js +1 -1
  148. package/views/3d/webgl-engine/lib/WebGLLayer.js +1 -1
  149. package/views/3d/webgl-engine/parts/Model.js +1 -1
  150. package/widgets/Directions/css.js +5 -0
  151. package/widgets/Directions.js +1 -1
  152. package/widgets/FeatureForm/FeatureFormUtilityNetworkAssociations/UtilityNetworkAssociationItemList.js +1 -1
  153. package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
  154. package/widgets/OrientedImageryViewer/adapters/sketch/MeasurementAdapter.js +1 -1
  155. package/widgets/OrientedImageryViewer/adapters/sketch/TriangulatedMeasurementAdapter.js +5 -0
  156. package/widgets/OrientedImageryViewer/components/ImageMeasurementWidget.js +1 -1
  157. package/widgets/OrientedImageryViewer/css.js +1 -1
  158. package/widgets/OrientedImageryViewer/imageMeasurementUtils.js +1 -1
  159. package/widgets/OrientedImageryViewer/mixins/SketchHandlerMixin.js +1 -1
  160. package/widgets/OrientedImageryViewer/mixins/TriangulatedImageMeasurementMixin.js +5 -0
  161. package/widgets/OrientedImageryViewer/mixins/TriangulatedSketchHandlerMixin.js +5 -0
  162. package/widgets/OrientedImageryViewer.js +1 -1
  163. package/widgets/Sketch.js +1 -1
  164. package/widgets/support/SelectionList/LayerItem.js +1 -1
  165. package/widgets/support/SelectionList/SelectionListViewModel.js +1 -1
  166. package/widgets/support/SelectionList/VisibleElements.js +1 -1
  167. package/widgets/support/SelectionList.js +1 -1
  168. package/widgets/support/SelectionToolbar/SelectionToolbarViewModel.js +1 -1
  169. package/widgets/support/SelectionToolbar/VisibleElements.js +5 -0
  170. package/widgets/support/SelectionToolbar.js +1 -1
  171. package/widgets/support/Selector2D/SelectionOperation.js +1 -1
  172. package/assets/esri/core/workers/chunks/11b55e7e76e50fe11bbe.js +0 -1
  173. package/assets/esri/core/workers/chunks/7bfa18dd8771d4932533.js +0 -1
  174. package/assets/esri/core/workers/chunks/84d7ed2cf5fe23a0888f.js +0 -1
  175. package/assets/esri/core/workers/chunks/86931186095c23e47c0c.js +0 -1
  176. package/assets/esri/core/workers/chunks/a79511b926a2830bb160.js +0 -1
  177. package/assets/esri/core/workers/chunks/e3ef0451dcdc2e966628.js +0 -1
  178. package/views/3d/webgl-engine/lib/ContentObject.js +0 -5
  179. package/views/3d/webgl-engine/lib/ContentObjectType.js +0 -5
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[7444],{1364:(e,t,s)=>{s.d(t,{c:()=>i});var n=s(55537);function i(e,t){const s=e.getGeometryType();return s===n.G.enumPoint?e:(0,n.h)(s)?function(e){if(function(e){for(let t=0,s=e.getPathCount();t<s;t++){const s=e.getPathSize(t);if(0===s)return!1;if(1===s){if(0===e.getSegmentCountPath(t))return!1;if(e.getSegmentType(e.getPathStart(t))===n.G.enumLine)return!1;if(!e.isClosedPath(t))return!1}}return!0}(e))return e;const t=e.createInstance();for(let s=0,i=e.getPathCount();s<i;s++){const i=e.getPathSize(s);if(0!==i){if(1===i){if(0===e.getSegmentCountPath(s))continue;if(e.getSegmentType(e.getPathStart(s))===n.G.enumLine)continue;if(!e.isClosedPath(s))continue}t.addPath(e,s,!0)}}return t}(e):s===n.G.enumMultiPoint||s===n.G.enumEnvelope?e:s===n.G.enumMultipatch?((0,n.b)("not implemented for multipatch"),e):e}},37444:(e,t,s)=>{s.r(t),s.d(t,{OperatorGeodesicBuffer:()=>M});var n=s(76061),i=s(55537),r=s(79187),o=s(12189),m=s(90237),a=s(35368),h=s(95213),c=s(11878),u=s(83661),l=s(31139),_=s(1364),f=s(5247);class d{constructor(e){this.m_sr=null,this.m_gcs=null,this.m_transform=null,this.m_a=0,this.m_eSquared=0,this.m_rpu=0,this.m_radTolerance=0,this.m_q90=0,this.m_gcs90=0,this.m_gcs180=0,this.m_gcs360=0,this.m_gcs60=0,this.m_ellipticToGeodesicMaxRatio=0,this.m_curveType=0,this.m_bShapePreserving=!1,this.m_distance=0,this.m_absDistance=0,this.m_convergenceOffset=0,this.m_cornerStep=0,this.m_segmentStep=0,this.m_progressTracker=e}bufferPolygon(e){const t=new a.a,s=new D(this,e,t);return this.processGnomonicBufferPiecesCursor(!0,s)}bufferPolyline(e){const t=new D(this,e,null);return this.processGnomonicBufferPiecesCursor(!0,t)}bufferMultiPoint(e){const t=new I(this,e);return this.processGnomonicBufferPiecesCursor(!1,t)}bufferPoint(e){const t=e.getXY();t.scale(this.m_rpu);let s=new a.a;if(this.bufferPoint2D(t,!1,s)){const e=(0,h.b)(null,s,!0);s=(0,o.p)(s,e,!0,!0,-1,this.m_progressTracker,0,!1)}return s=(new o.y).foldInto360RangeGeodetic(s,this.m_gcs,2),s}processGnomonicBufferPiecesCursor(e,t){const s=t;let n=s.getGnomonic();const i=(0,o.B)((0,o.D)());let m=new o.L,a=(new o.h).executeMany(m,i,this.m_progressTracker,2);const l=(0,u.d)(6,!1),_=(0,u.m)(r.Envelope2D,6);this.initializeGrid(l,_);const f=[null,null,null,null,null,null],d=[null,null,null,null,null,null],g=[null,null,null,null,null,null];let P,p,b;for(;null!==(P=s.next());){if(p=s.getGnomonic(),p!==n){if(null!==n){let t=a.next();if(m=null,a=null,null!=t){const s=(0,h.b)(i,t,!0),r=(0,h.d)(s);t=n.unproject(t,r,this.m_progressTracker),this.putInGridCursors(e,t,i,!0,l,_,f,d,g)}}null!==p&&(m=new o.L,a=(new o.h).executeMany(m,i,this.m_progressTracker,2)),n=p}if(s.isRunningInGnomonic()){if(p.project(P),s.needsSimplify()){const e=(0,h.b)(null,P,!0);P=(0,o.p)(P,e,!0,!0,-1,this.m_progressTracker,0,!1)}m.tick(v(P)),a.tock()}else this.putInGridCursors(e,P,i,!0,l,_,f,d,g)}let x=!1;for(let e=0;e<6;e++)if(null!=g[e]){x=!0;break}if(x){let t=!1;const r=[null,null,null,null,null,null];if(e){const n=s.m_densified;if(s.m_densified=null,null!==n){const s=new c.T;s.scale(1/this.m_rpu,1/this.m_rpu),n.applyTransformation(s),this.m_distance>0?this.putInGridCursors(e,n,i,!1,l,_,f,d,g):(this.processInGrid(e,n,!1,l,_,f,r),t=!0)}}const u=new o.L,P=(new o.h).executeMany(u,this.m_gcs,this.m_progressTracker,2);if(null!==a){let t=a.next();m=null,a=null;const s=(0,h.b)(i,t,!0),r=(0,h.d)(s);t=n.unproject(t,r,this.m_progressTracker),this.putInGridCursors(e,t,i,!0,l,_,f,d,g)}for(let e=0;e<6;e++)if(null!=g[e]){let s=g[e].next();g[e]=null,d[e]=null,t&&null!==r[e]&&(s=(new o.e).execute(r[e],s,i,this.m_progressTracker));const n=(0,h.b)(i,s,!0),m=(0,h.d)(n);s=f[e].unproject(s,m,this.m_progressTracker),s=(new o.g).execute(s,this.m_gcs,!0,this.m_progressTracker),u.tick(v(s)),P.tock()}b=P.next()}else{let t,r=!1;if(e){let e=s.m_densified;if(s.m_densified=null,null!==e){const s=new c.T;s.scale(1/this.m_rpu,1/this.m_rpu),e.applyTransformation(s),p.project(e);const n=(0,h.b)(null,e,!0);e=(0,o.p)(e,n,!1,!0,-1,this.m_progressTracker,0,!1),this.m_distance>0?(m.tick(v(e)),a.tock()):(t=e,r=!0)}}let u=a.next();m=null,a=null,r&&(u=(new o.e).execute(t,u,i,this.m_progressTracker));const l=(0,h.b)(i,u,!0),_=(0,h.d)(l);b=n.unproject(u,_,this.m_progressTracker),b=(new o.g).execute(b,this.m_gcs,!0,this.m_progressTracker)}return b=(new o.y).foldInto360RangeGeodetic(b,this.m_gcs,2),b}putInGridCursors(e,t,s,n,i,r,m,a,h){const c=[null,null,null,null,null,null];this.processInGrid(e,t,n,i,r,m,c);for(let e=0;e<6;e++)null!==c[e]&&(null===a[e]&&(a[e]=new o.L,h[e]=(new o.h).executeMany(a[e],s,this.m_progressTracker,2)),a[e].tick(v(c[e])),h[e].tock())}processInGrid(e,t,s,n,i,r,m){const a=.01,c=this.insertGeodeticPointsAlongGrid(t,i,a);for(let e=0;e<6;e++){if(n[e])continue;const _=i[e].clone();_.inflateCoords(a,a);const f=(0,h.e)(t,_),d=(0,h.a)(null,f,!1).total();let g=(0,l.c)(c,_,d,Number.NaN,this.m_progressTracker);if(null!==g&&!g.isEmpty()){if(g===c&&(g=g.clone()),null===r[e]){const t=new u.P;e<3?t.setCoords(0,1):t.setCoords(0,-1);const s=new u.P;s.setAdd(i[e].getCenter(),t),r[e]=S(this.m_gcs,s)}r[e].project(g);const t=(0,h.b)(null,g,!0);g=(0,o.p)(g,t,s,!0,-1,this.m_progressTracker,0,!1),m[e]=g}}}insertGeodeticPointsAlongGrid(e,t,s){const n=r.Envelope2D.construct(t[3].xmin,t[3].ymin,t[2].xmax,t[2].ymax),i=(0,o.E)(this.m_gcs,n,e,!0,this.m_progressTracker),m=new a.E,h=m.addGeometry(i);return(0,o.F)(m,h,this.m_gcs,0,2,!0,t[0].xmax+s),(0,o.F)(m,h,this.m_gcs,0,2,!0,t[1].xmax+s),(0,o.F)(m,h,this.m_gcs,0,2,!1,t[1].ymin+s),0!==s&&((0,o.F)(m,h,this.m_gcs,0,2,!0,t[0].xmax-s),(0,o.F)(m,h,this.m_gcs,0,2,!0,t[1].xmax-s),(0,o.F)(m,h,this.m_gcs,0,2,!1,t[1].ymin-s)),m.getGeometry(h)}initializeGrid(e,t){for(let t=0;t<6;t++)e[t]=!1;t[0].setCoords({xmin:-this.m_gcs180,ymin:0,xmax:-this.m_gcs60,ymax:this.m_gcs90}),t[1].setCoords({xmin:-this.m_gcs60,ymin:0,xmax:this.m_gcs60,ymax:this.m_gcs90}),t[2].setCoords({xmin:this.m_gcs60,ymin:0,xmax:this.m_gcs180,ymax:this.m_gcs90}),t[3].setCoords({xmin:-this.m_gcs180,ymin:-this.m_gcs90,xmax:-this.m_gcs60,ymax:0}),t[4].setCoords({xmin:-this.m_gcs60,ymin:-this.m_gcs90,xmax:this.m_gcs60,ymax:0}),t[5].setCoords({xmin:this.m_gcs60,ymin:-this.m_gcs90,xmax:this.m_gcs180,ymax:0})}checkAndPrepSegmentForCrossingAzimuthsOrPoleWrap(e,t,s,n,i,r){const m=e[0],a=e.at(-1),h=m.y<a.y?m.y:a.y,c=m.y>a.y?m.y:a.y,l=o.w.q(this.m_a,this.m_eSquared,h),_=o.w.q(this.m_a,this.m_eSquared,c);if(this.m_q90-(l+t+this.m_absDistance)>.001&&this.m_q90+(_-t-this.m_absDistance)>.001)return!1;const f=s-u.l,d=n+u.l,g=f-Math.PI,x=f+Math.PI,y=d+Math.PI,w=[Number.NaN],C=[Number.NaN],S=[Number.NaN],v=[Number.NaN];let G=!1;if(b(this.m_a,this.m_eSquared,this.m_rpu,this.m_absDistance,m,f,g,a,d,w,C),b(this.m_a,this.m_eSquared,this.m_rpu,this.m_absDistance,a,y,d,m,g,S,v),(d<w[0]&&w[0]<y||d<C[0]&&C[0]<y)&&(G=!0),G||(g<S[0]&&S[0]<f||g<v[0]&&v[0]<f)&&(G=!0),!G&&i)return!1;const D=[];for(let t=e.length-1;t>=0;t--)D.push(e[t]);r.setEmpty(),r.addPathPoint2D(null,0,!0);let I=0;I=P(this.m_a,this.m_eSquared,this.m_rpu,this.m_absDistance,this.m_curveType,e,f,d,i,I,r),I=p(this.m_a,this.m_eSquared,this.m_rpu,this.m_absDistance,a,d,y,this.m_cornerStep,i,I,r,w[0],C[0]),I=P(this.m_a,this.m_eSquared,this.m_rpu,this.m_absDistance,this.m_curveType,D,y,x,i,I,r),I=p(this.m_a,this.m_eSquared,this.m_rpu,this.m_absDistance,m,g,f,this.m_cornerStep,i,I,r,S[0],v[0]);let M=!1;return i||(M=this.checkAndPrepForPole(r)),G||M}bufferPoint2D(e,t,s){s.setEmpty(),s.addPathPoint2D(null,0,!0),p(this.m_a,this.m_eSquared,this.m_rpu,this.m_absDistance,e,-this.m_cornerStep,2*Math.PI,this.m_cornerStep,t,0,s);let n=!1;return t||(n=this.checkAndPrepForPole(s)),n}checkAndPrepForPole(e){const t=this.checkAndPrepForPoleTouch(e),s=this.checkAndPrepForPoleWrap(e);return t||s}checkAndPrepForPoleTouch(e){const t=new r.Envelope2D;return e.queryEnvelope(t),!(!(0,o.P)(t.ymax,this.m_gcs90)&&!(0,o.P)(t.ymin,-this.m_gcs90)||(this.prepPoleTouch(e),0))}checkAndPrepForPoleWrap(e){const t=e.getXY(0),s=e.getXY(e.getPointCount()-1);return Math.abs(t.x-s.x)>this.m_gcs180?(this.prepSinglePoleWrap(e),!0):this.checkAndPrepForDoublePoleWrap(e)}checkAndPrepForDoublePoleWrap(e){return e.calculateArea2D()<0&&(this.prepDoublePoleWrap(e),!0)}prepPoleTouch(e){const t=new a.a;t.insertPath2D(-1,null,0,0,!0);const s=e.getPathStart(0),n=e.getPathEnd(0),i=n-s;let r=-1;for(r=s;r<n;r++){const t=e.getXY(r),s=(0,o.P)(t.y,this.m_gcs90),n=(0,o.P)(t.y,-this.m_gcs90);if(!s&&!n)break}let m=r,h=!1,c=Number.NaN;do{const n=e.getXY(m),r=(0,o.P)(n.y,this.m_gcs90),a=(0,o.P)(n.y,-this.m_gcs90),l=s+(m+1-s)%i;if(r||a){let s=u.P.construct(c,n.y);t.insertPoint2D(0,-1,s);const i=e.getXY(l),r=(0,o.P)(i.y,this.m_gcs90),m=(0,o.P)(i.y,-this.m_gcs90);r||m||(s=u.P.construct(i.x,n.y),h?t.setXY(t.getPointCount()-1,s):t.insertPoint2D(0,-1,s)),h=!0}else t.insertPoint2D(0,-1,n),c=n.x,h=!1;m=l}while(m!==r);e.setEmpty(),e.add(t,!1)}prepSinglePoleWrap(e){const t=new a.a,s=new a.a,n=new c.T,i=e.getXY(e.getPathStart(0)),m=e.getXY(e.getPathEnd(0)-1),_=this.m_gcs360,f=this.m_gcs180,d=new r.Envelope2D;d.setCoords({xmin:-this.m_gcs180,ymin:-this.m_gcs90,xmax:this.m_gcs180,ymax:this.m_gcs90});const g=new r.Envelope2D;e.queryEnvelope(g);const P=Math.ceil(g.width()/_);let p,b;i.x>m.x?(p=-_,b=this.m_gcs90):(p=_,b=-this.m_gcs90),n.setShiftCoords(p,0),t.addPath(e,0,!0),s.add(t,!1);const x=new h.P;for(let e=0;e<P;e++)s.applyTransformation(n),s.getPointByVal(0,x),t.lineToPoint(x),t.addSegmentsFromPath(s,0,0,s.getSegmentCount()-1,!1);const y=t.getXY(0),w=t.getXY(t.getPointCount()-1);y.y=b,w.y=b,t.lineTo(w);const C=new u.P;for(C.setCoordsPoint2D(w),C.x-=.5*p;Math.abs(C.x-y.x)>f;)t.lineTo(C),C.x-=.5*p;t.lineTo(y);const S=d.getCenterX(),v=new r.Envelope2D;t.queryEnvelope(v);let G=0;const D=v.getCenter().x;D-S>f?G=-Math.ceil((D-S-f)/_):S-D>f&&(G=Math.ceil((S-D-f)/_)),0!==G&&(n.setShiftCoords(G*_,0),t.applyTransformation(n));const I=new a.E,M=I.addGeometry(t);(0,o.F)(I,M,this.m_gcs,0,2,!0,d.xmin),(0,o.F)(I,M,this.m_gcs,0,2,!0,d.xmax);const k=I.getGeometry(M),T=(0,h.e)(k,d);T.inflateCoords(0,1);const N=(0,h.a)(null,T,!0).total(),E=(0,l.c)(k,d,N,Number.NaN,this.m_progressTracker);e.setEmpty(),e.add(E,!1)}prepDoublePoleWrap(e){const t=this.m_gcs360,s=this.m_gcs180,n=new r.Envelope2D;n.setCoords({xmin:-this.m_gcs180,ymin:-this.m_gcs90,xmax:this.m_gcs180,ymax:this.m_gcs90});const i=n.getCenter().x,m=new r.Envelope2D;e.queryPathEnvelope(0,m);let _,f=0,d=m.getCenter().x;if(d-i>s?f=-Math.ceil((d-i-s)/t):i-d>s&&(f=Math.ceil((i-d-s)/t)),0!==f){const s=new c.T;s.setShiftCoords(f*t,0),e.getImpl().applyTransformationToPath(s,0),e.queryPathEnvelope(0,m),d=m.getCenter().x}const g=new r.Envelope2D;n.containsExclusiveEnvelope(m)?(_=!1,g.setCoords({env2D:n})):(_=!0,g.setCoords({env2D:n}),g.xmin-=t,g.xmax+=t);let P=e.createInstance();P.addPathPoint2D(null,0,!0);const p=new u.P;if(p.setCoords(g.xmin,g.ymin),P.insertPoint2D(0,-1,p),p.setCoords(g.xmin,g.ymax),P.insertPoint2D(0,-1,p),p.setCoords(.5*(g.xmin+g.xmax),g.ymax),P.insertPoint2D(0,-1,p),p.setCoords(g.xmax,g.ymax),P.insertPoint2D(0,-1,p),p.setCoords(g.xmax,g.ymin),P.insertPoint2D(0,-1,p),p.setCoords(.5*(g.xmin+g.xmax),g.ymin),P.insertPoint2D(0,-1,p),_){P.addPath(e,0,!0);const s=new c.T;d<i?s.setShiftCoords(t,0):s.setShiftCoords(-t,0),e.getImpl().applyTransformationToPath(s,0),P.addPath(e,0,!0);const r=new a.E,m=r.addGeometry(P);(0,o.F)(r,m,this.m_gcs,0,2,!0,n.xmin),(0,o.F)(r,m,this.m_gcs,0,2,!0,n.xmax),P=r.getGeometry(m);const u=(0,h.e)(P,n);u.inflateCoords(0,1);const _=(0,h.a)(null,u,!0).total();P=(0,l.c)(P,n,_,Number.NaN,this.m_progressTracker)}else P.addPath(e,0,!0);e.setEmpty(),e.add(P,!1)}setMinCornerStep(){const e={stack:[],error:void 0,hasError:!1};try{let t=Math.min(Math.PI*this.m_a-this.m_absDistance,this.m_absDistance);t=Math.min(t,.125*this.m_a*Math.PI);const s=new u.P;s.setCoords(0,10*this.m_rpu);const n=0;let i=45*this.m_rpu;const r=(0,m.b)(e,new u.S(new o.G,new o.G),!1),a=(0,m.b)(e,new u.S(new o.G,new o.G),!1),h=(0,m.b)(e,new u.S(new o.G,new o.G),!1),c=(0,m.b)(e,new u.S(new o.G,new o.G),!1),l=new u.P,_=new u.P,f=new u.P,d=new u.P;for(o.H.geodesicCoordinate(this.m_a,this.m_eSquared,s.x,s.y,t,n,r.at(0),r.at(1)),l.setCoords(r.at(0).val,r.at(1).val),o.H.geodesicCoordinate(this.m_a,this.m_eSquared,s.x,s.y,t,i,a.at(0),a.at(1)),_.setCoords(a.at(0).val,a.at(1).val);;){const e={stack:[],error:void 0,hasError:!1};try{const r=.5*(n+i);o.H.geodesicCoordinate(this.m_a,this.m_eSquared,s.x,s.y,t,r,h.at(0),h.at(1)),f.setCoords(h.at(0).val,h.at(1).val);const u=(0,m.b)(e,new o.G,!1),g=(0,m.b)(e,new o.G,!1);o.H.geodeticDistance(this.m_a,this.m_eSquared,l.x,l.y,_.x,_.y,u,g,null,2),o.H.geodeticCoordinate(this.m_a,this.m_eSquared,l.x,l.y,.5*u.val,g.val,c.at(0),c.at(1),2),d.setCoords(c.at(0).val,c.at(1).val);const P=(0,m.b)(e,new o.G,!1);if(o.H.geodeticDistance(this.m_a,this.m_eSquared,f.x,f.y,d.x,d.y,P,null,null,2),P.val<=this.m_convergenceOffset)break;i*=.9,o.H.geodesicCoordinate(this.m_a,this.m_eSquared,s.x,s.y,t,i,a.at(0),a.at(1)),_.setCoords(a.at(0).val,a.at(1).val)}catch(t){e.error=t,e.hasError=!0}finally{(0,m.c)(e)}}const g=i-n,P=2*Math.PI/Math.ceil(2*Math.PI/g);this.m_cornerStep=P}catch(t){e.error=t,e.hasError=!0}finally{(0,m.c)(e)}}setMinSegmentStep(){const e={stack:[],error:void 0,hasError:!1};try{let t=Math.min(Math.PI*this.m_a-this.m_absDistance,this.m_absDistance);t=Math.min(t,.125*this.m_a*Math.PI);const s=new u.P,n=new u.P;s.setCoords(0,10*this.m_rpu),n.setCoords(10*this.m_rpu,10*this.m_rpu);const i=(0,m.b)(e,new o.G,!1),r=(0,m.b)(e,new o.G,!1),a=(0,m.b)(e,new o.G,!1);o.H.geodeticDistance(this.m_a,this.m_eSquared,s.x,s.y,n.x,n.y,a,i,r,this.m_curveType);const h=(0,m.b)(e,new u.S(new o.G,new o.G),!1),c=(0,m.b)(e,new u.S(new o.G,new o.G),!1),l=new u.P,_=(0,m.b)(e,new o.G,!1),f=(0,m.b)(e,new u.S(new o.G,new o.G),!1),d=(0,m.b)(e,new u.S(new o.G,new o.G),!1),g=(0,m.b)(e,new u.S(new o.G,new o.G),!1),P=(0,m.b)(e,new u.S(new o.G,new o.G),!1),p=new u.P,b=new u.P,x=new u.P,y=new u.P,w=0;let C=1;const S=i.val,v=r.val,G=S-.5*Math.PI,D=v+.5*Math.PI,I=a.val;for(o.H.geodesicCoordinate(this.m_a,this.m_eSquared,s.x,s.y,t,G,f.at(0),f.at(1)),p.setCoords(f.at(0).val,f.at(1).val),o.H.geodesicCoordinate(this.m_a,this.m_eSquared,n.x,n.y,t,D,d.at(0),d.at(1)),b.setCoords(d.at(0).val,d.at(1).val);;){const e={stack:[],error:void 0,hasError:!1};try{const i=.5*(w+C);o.H.geodeticCoordinate(this.m_a,this.m_eSquared,s.x,s.y,i*I,S,h.at(0),h.at(1),this.m_curveType),l.setCoords(h.at(0).val,h.at(1).val),o.H.geodeticDistance(this.m_a,this.m_eSquared,s.x,s.y,l.x,l.y,null,null,_,this.m_curveType);const r=_.val+.5*Math.PI;o.H.geodesicCoordinate(this.m_a,this.m_eSquared,l.x,l.y,t,r,g.at(0),g.at(1)),x.setCoords(g.at(0).val,g.at(1).val);const a=(0,m.b)(e,new o.G,!1),u=(0,m.b)(e,new o.G,!1);o.H.geodeticDistance(this.m_a,this.m_eSquared,p.x,p.y,b.x,b.y,a,u,null,2),o.H.geodeticCoordinate(this.m_a,this.m_eSquared,p.x,p.y,.5*a.val,u.val,P.at(0),P.at(1),2),y.setCoords(P.at(0).val,P.at(1).val);const f=(0,m.b)(e,new o.G,!1);if(o.H.geodeticDistance(this.m_a,this.m_eSquared,x.x,x.y,y.x,y.y,f,null,null,2),f.val<=this.m_convergenceOffset)break;{const e={stack:[],error:void 0,hasError:!1};try{C*=.9,o.H.geodeticCoordinate(this.m_a,this.m_eSquared,s.x,s.y,C*I,S,c.at(0),c.at(1),this.m_curveType),n.setCoords(c.at(0).val,c.at(1).val);const i=(0,m.b)(e,new o.G,!1);o.H.geodeticDistance(this.m_a,this.m_eSquared,s.x,s.y,n.x,n.y,null,null,i,this.m_curveType);const r=i.val+.5*Math.PI;o.H.geodesicCoordinate(this.m_a,this.m_eSquared,n.x,n.y,t,r,d.at(0),d.at(1)),b.setCoords(d.at(0).val,d.at(1).val)}catch(t){e.error=t,e.hasError=!0}finally{(0,m.c)(e)}}}catch(t){e.error=t,e.hasError=!0}finally{(0,m.c)(e)}}let M=C*I;M>1e5&&(M=1e5),this.m_segmentStep=M}catch(t){e.error=t,e.hasError=!0}finally{(0,m.c)(e)}}setConvergenceOffset(){let e;e=this.m_absDistance>5e4?100:this.m_absDistance>1e4?10:1,this.m_absDistance/e<500&&(e=this.m_absDistance/500),e<.01&&(e=.01),this.m_convergenceOffset=e}}function g(e,t,s,n,m,c,l){if(e.isEmpty())return new a.a({vd:e.getDescription()});let _=e;if((0,i.m)(_)){const e=10*t.getTolerance(0);_=(new f.O).execute(_,0,e,0,l,12e3)}const g=new d(l);g.m_sr=t,g.m_gcs=t.getGCS(),g.m_transform=(0,o.v)(t,g.m_gcs,null);const P=(0,o.I)();g.m_gcs.querySpheroidData(P);const p=new r.Envelope2D;_.queryEnvelope(p),g.m_a=P.majorSemiAxis,g.m_eSquared=P.e2,g.m_rpu=g.m_gcs.getUnit().getUnitToBaseFactor(),g.m_gcs90=.5*Math.PI/g.m_rpu,g.m_gcs180=Math.PI/g.m_rpu,g.m_gcs360=2*Math.PI/g.m_rpu,g.m_gcs60=g.m_gcs360/6,g.m_q90=o.w.q90(g.m_a,g.m_eSquared),g.m_ellipticToGeodesicMaxRatio=.5*g.m_a*Math.PI/g.m_q90;const b=g.m_gcs.getTolerance(0);g.m_radTolerance=b*g.m_rpu,4===s?(g.m_curveType=2,g.m_bShapePreserving=!0):(g.m_curveType=s,g.m_bShapePreserving=!1),g.m_distance=n,g.m_absDistance=Math.abs(n),Number.isNaN(m)||m<=0?g.setConvergenceOffset():g.m_convergenceOffset=Math.max(m,.001),g.m_convergenceOffset/=c;let x,y=_.getGeometryType();if((0,i.f)(y)){const e=new a.P({vd:_.getDescription()});e.addSegment(_,!0),x=e,y=i.G.enumPolyline}else if(y===i.G.enumEnvelope){const e=_,t=new r.Envelope2D;e.queryEnvelope(t);const s=(0,h.d)((0,h.a)(g.m_sr,p,!0));if(t.minDimension()<=s)if(0===t.maxDimension()){const t=new h.P({vd:_.getDescription()});e.getCenter(t),x=t,y=i.G.enumPoint}else{const t=new a.P({vd:_.getDescription()});t.addEnvelope(e,!1),x=t,y=i.G.enumPolyline}else{const t=new a.a({vd:_.getDescription()});t.addEnvelope(e,!1),x=t,y=i.G.enumPolygon}}else x=_;if(g.setMinCornerStep(),(0,i.e)(y)||g.setMinSegmentStep(),g.m_absDistance<=.5*g.m_convergenceOffset)return y!==i.G.enumPolygon?new a.a({vd:x.getDescription()}):g.m_bShapePreserving?x:(0,o.x)(x,g.m_sr,g.m_curveType,g.m_segmentStep,-1,l);if(g.m_distance<0&&y!==i.G.enumPolygon)return new a.a({vd:x.getDescription()});if(g.m_bShapePreserving&&(0,i.h)(y)){const e=(0,o.x)(x,t,4,Number.NaN,g.m_convergenceOffset,l);x=(new o.y).execute(e,g.m_transform,l)}else x=(new o.y).execute(x,g.m_transform,l);if(x=(0,o.z)(x,g.m_gcs),x.isEmpty())return new a.a({vd:x.getDescription()});!g.m_bShapePreserving&&(0,i.h)(y)&&(x=(0,o.A)(g.m_rpu,x)),x=function(e,t){const s=e.getGeometryType();let n;if(n=(0,i.h)(s)?e.getPathCount():s===i.G.enumMultiPoint?e.getPointCount():1,1===n)return e;const o=[],m=[];for(let a=0;a<n;a++){o.push(a);const n=new u.P;if((0,i.h)(s)){const t=new r.Envelope2D;e.queryPathEnvelope(a,t),n.assign(t.getCenter())}else n.assign(e.getXY(a));const h=t.toGeohash(n);m.push(h)}o.sort(((e,t)=>m[e]<m[t]?-1:m[e]>m[t]?1:0));const a=e.createInstance();for(let t=0;t<n;t++){const n=o[t];(0,i.h)(s)?a.addPath(e,n,!0):a.addPoints(e,n,n+1)}return a}(x,g.m_gcs);let w=new a.a;switch(y){case i.G.enumPolygon:w=g.bufferPolygon(x);break;case i.G.enumPolyline:w=g.bufferPolyline(x);break;case i.G.enumMultiPoint:w=g.bufferMultiPoint(x);break;case i.G.enumPoint:w=g.bufferPoint(x);break;default:(0,i.n)("")}const C=(new o.y).execute(w,g.m_transform.getInverse(),l);return C.mergeVertexDescription(x.getDescription()),C}function P(e,t,s,n,i,r,a,h,c,l,_){const f={stack:[],error:void 0,hasError:!1};try{const d=new u.P;d.setNAN(),c||_.getPointCount()>0&&(d.setCoordsPoint2D(_.getXY(_.getPointCount()-1)),d.scale(s));const g=(0,m.b)(f,new o.G,!1),P=(0,m.b)(f,new u.S(new o.G,new o.G),!1),p=new u.P,b=new u.P,y=r.at(-1),w=1/s;for(let s=0;s<r.length;s++){const m=r[s];let u;0===s?u=a:s===r.length-1?u=h:(o.H.geodeticDistance(e,t,y.x,y.y,m.x,m.y,null,null,g,i),u=g.val-.5*Math.PI),o.H.geodesicCoordinate(e,t,m.x,m.y,n,u,P.at(0),P.at(1)),c?b.setCoords(P.at(0).val,P.at(1).val):(p.setCoords(P.at(0).val,P.at(1).val),l=x(m.x,p.x,d.x,l),b.setCoords(l+p.x,p.y),d.setCoordsPoint2D(b)),b.scale(w),_.insertPoint2D(0,-1,b)}return l}catch(e){f.error=e,f.hasError=!0}finally{(0,m.c)(f)}}function p(e,t,s,n,i,r,a,h,c,l,_,f=Number.NaN,d=Number.NaN){const g={stack:[],error:void 0,hasError:!1};try{if(a-r<h)return l;const P=(0,m.b)(g,new u.S(new o.G,new o.G),!1),p=new u.P,b=new u.P,y=new u.P;b.setNAN(),c||_.getPointCount()>0&&(b.setCoordsPoint2D(_.getXY(_.getPointCount()-1)),b.scale(s));let w=Math.ceil(r/h),C=w++*h;C===r&&(C=w++*h);let S=r;const v=1/s;for(;C<a+h&&(S<f&&f<C?(C=f,w--):S<d&&d<C&&(C=d,w--),!(C>=a));)o.H.geodesicCoordinate(e,t,i.x,i.y,n,C,P.at(0),P.at(1)),c?y.setCoords(P.at(0).val,P.at(1).val):(p.setCoords(P.at(0).val,P.at(1).val),l=x(i.x,p.x,b.x,l),y.setCoords(l+p.x,p.y),b.setCoordsPoint2D(y)),y.scale(v),_.insertPoint2D(0,-1,y),S=C,C=w++*h;return l}catch(e){g.error=e,g.hasError=!0}finally{(0,m.c)(g)}}function b(e,t,s,n,i,r,a,h,c,l,_){const f={stack:[],error:void 0,hasError:!1};try{const s=new u.P,d=new u.P,g=(0,m.b)(f,new u.S(new o.G,new o.G),!1);o.H.geodesicCoordinate(e,t,i.x,i.y,n,r,g.at(0),g.at(1)),s.setCoords(g.at(0).val,g.at(1).val),o.H.geodesicCoordinate(e,t,i.x,i.y,n,a,g.at(0),g.at(1)),d.setCoords(g.at(0).val,g.at(1).val);const P=(0,m.b)(f,new o.G,!1);for(o.H.geodeticDistance(e,t,h.x,h.y,s.x,s.y,null,P,null,0),l[0]=P.val,o.H.geodeticDistance(e,t,h.x,h.y,d.x,d.y,null,P,null,0),_[0]=P.val;l[0]<=_[0];)l[0]+=u.k;for(;l[0]>_[0];)l[0]-=u.k;for(;l[0]>=c;)l[0]-=u.k,_[0]-=u.k;for(;l[0]<c;)l[0]+=u.k,_[0]+=u.k}catch(e){f.error=e,f.hasError=!0}finally{(0,m.c)(f)}}function x(e,t,s,n){if(Number.isNaN(s)){for(;n+t-e>Math.PI;)n-=u.k;for(;e-(n+t)>Math.PI;)n+=u.k;return n}return n+t-s>Math.PI?n-=u.k:s-(n+t)>Math.PI&&(n+=u.k),n}function y(e,t,s,n,i,r){const a={stack:[],error:void 0,hasError:!1};try{if(n>=r)return!1;const h=s[0],c=s.at(-1),u=(0,m.b)(a,new o.G,!1),l=(0,m.b)(a,new o.G,!1),_=(0,m.b)(a,new o.G,!1);o.H.greatEllipticDistance(e,t,i.x,i.y,h.x,h.y,u,null,null),o.H.greatEllipticDistance(e,t,i.x,i.y,c.x,c.y,l,null,null),o.H.greatEllipticDistance(e,t,h.x,h.y,c.x,c.y,_,null,null);let f=Math.min(u.val,l.val)+_.val,d=f+n;if(d<r)return!0;const g=(0,m.b)(a,new o.G,!1);f=Math.max(u.val,l.val);for(let n=1;n<s.length-1;n++){const r=s[n];o.H.greatEllipticDistance(e,t,i.x,i.y,r.x,r.y,g,null,null),g.val>f&&(f=g.val)}return d=f+n,d<r}catch(e){a.error=e,a.hasError=!0}finally{(0,m.c)(a)}}function w(e,t,s,n,i,r,m,a){let h;if(n.length%2==0){const e=n.length>>1,t=n[e],s=n[e-1];h=u.P.lerp(t,s,.5)}else h=n[n.length-1>>1].clone();const c=h.clone(),l=(0,o.K)(e,t,c,75/180*Math.PI);return!!y(e,t,n,i,c,l)&&(null!==r&&(r.setCoordsPoint2D(h),r.scale(1/s)),null!==m&&m.setCoordsPoint2D(c),null!==a&&(a[0]=l),!0)}function C(e,t,s,n,i,r){const a={stack:[],error:void 0,hasError:!1};try{if(n>=r)return!1;const h=(0,m.b)(a,new o.G,!1);return o.H.greatEllipticDistance(e,t,i.x,i.y,s.x,s.y,h,null,null),h.val+n<r}catch(e){a.error=e,a.hasError=!0}finally{(0,m.c)(a)}}function S(e,t){return new o.J(e,t)}function v(e){return(0,h.f)(e,0)||(0,h.s)(e,0),e}class G{constructor(e){this.m_bRunningInGnomonic=!1,this.m_bNeedsSimplify=!1,this.m_gnomonic=null,this.m_gnomonicCenterRad=new u.P,this.m_minGnomonicRadius=Number.NaN,this.m_progressTracker=e}isRunningInGnomonic(){return this.m_bRunningInGnomonic}needsSimplify(){return this.m_bNeedsSimplify}getGnomonic(){return this.m_gnomonic}}class D extends G{constructor(e,t,s){super(e.m_progressTracker),this.m_segIter=null,this.m_bNextSegmentCannotJoin=!1,this.m_currentDensifiedDelta=[0],this.m_currentBufferedDelta=0,this.m_lastAzimuth=0,this.m_startAzimuth=[0],this.m_endAzimuth=[0],this.m_numWinds=0,this.m_debugCounter=0,this.m_bufferHelper=new a.a,this.m_densifiedPoints=[],this.m_bufferer=e,this.m_multiPath=t,this.m_densified=s,this.m_bNeedsSimplify=!0;const n=new r.Envelope2D;this.m_multiPath.queryEnvelope(n);const i=n.getCenter(),m=i.clone();m.scale(this.m_bufferer.m_rpu),this.m_gnomonic=S(this.m_bufferer.m_gcs,i),this.m_gnomonicCenterRad=m.clone(),this.m_minGnomonicRadius=(0,o.K)(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,m,75/180*Math.PI)}next(){let e;if(this.m_bNextSegmentCannotJoin)return this.m_bNextSegmentCannotJoin=!1,this.m_segIter.nextSegment(),e=this.m_bufferHelper.clone(),e;if(null===this.m_segIter){if(this.m_segIter=this.m_multiPath.getImpl().querySegmentIterator(),!this.m_segIter.nextPath())return null;null!==this.m_densified&&this.m_densified.addPathPoint2D(null,0,!0)}if(!this.m_segIter.hasNextSegment()){if(!this.m_segIter.nextPath())return null;null!=this.m_densified&&this.m_densified.addPathPoint2D(null,0,!0)}let t=null;this.m_currentBufferedDelta=0,this.m_currentDensifiedDelta=[0],this.m_numWinds=0,this.m_lastAzimuth=Number.NaN,this.m_bNextSegmentCannotJoin=!1,this.m_densifiedPoints.length=0;let s=0;const n=new u.P,i=new u.P;for(;this.m_segIter.hasNextSegment()&&this.m_numWinds<16;){const e=this.m_segIter.nextSegment();if(n.setCoordsPoint2D(e.getStartXY()),i.setCoordsPoint2D(e.getEndXY()),n.scale(this.m_bufferer.m_rpu),i.scale(this.m_bufferer.m_rpu),(0,o.M)(n,i))n.x=i.x;else if((0,o.N)(n,i))i.x=n.x;else{let e=-1,t=-1;const s=this.m_segIter.getPathIndex(),r=this.m_multiPath.getPathStart(s),m=this.m_multiPath.getPathEnd(s);if(e=this.m_segIter.getStartPointIndex()-1,t=this.m_segIter.getEndPointIndex()+1,e<r&&(e=this.m_multiPath.isClosedPath(s)?m-1:-1),t>m-1&&(t=this.m_multiPath.isClosedPath(s)?r:-1),-1!==e){const t=this.m_multiPath.getXY(e);t.scale(this.m_bufferer.m_rpu),(0,o.N)(t,n)&&(n.x=t.x)}if(-1!==t){const e=this.m_multiPath.getXY(t);e.scale(this.m_bufferer.m_rpu),(0,o.M)(i,e)&&(i.x=e.x)}}this.m_densifiedPoints.length=0;const r=(0,o.Q)(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,this.m_bufferer.m_curveType,n,i,this.m_bufferer.m_segmentStep,Number.NaN,this.m_bufferer.m_radTolerance,this.m_startAzimuth,this.m_endAzimuth,this.m_densifiedPoints,this.m_currentDensifiedDelta);if(0===s)this.m_bRunningInGnomonic=this.isSegmentBufferInCurrentGnomonic(this.m_densifiedPoints),this.m_bRunningInGnomonic||(this.m_bRunningInGnomonic=this.tryUpdateGnomonic(this.m_densifiedPoints));else if(this.m_bRunningInGnomonic){if(!this.isSegmentBufferInCurrentGnomonic(this.m_densifiedPoints)){this.m_segIter.previousSegment(),this.m_segIter.previousSegment(),this.m_segIter.nextSegment();break}}else if(w(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,this.m_bufferer.m_rpu,this.m_densifiedPoints,this.m_bufferer.m_absDistance*this.m_bufferer.m_ellipticToGeodesicMaxRatio,null,null,null)){this.m_segIter.previousSegment(),this.m_segIter.previousSegment(),this.m_segIter.nextSegment();break}if(0===r||(0,o.R)(n,i)?(this.m_bufferHelper.setEmpty(),this.m_bufferer.bufferPoint2D(n,this.m_bRunningInGnomonic,this.m_bufferHelper),this.m_bNextSegmentCannotJoin=!0):(this.m_bufferHelper.setEmpty(),this.m_bNextSegmentCannotJoin=this.checkAndPrepSegmentForCrossingAzimuthsOrPoleWrap(r,this.m_bufferHelper)),this.m_bNextSegmentCannotJoin){this.m_segIter.previousSegment(),this.m_segIter.hasPreviousSegment()?(this.m_segIter.previousSegment(),this.m_segIter.nextSegment()):this.m_segIter.resetToFirstSegment(),null!=this.m_densified&&this.m_densified.insertPointsFromPoints(this.m_densified.getPathCount()-1,-1,this.m_densifiedPoints,0,this.m_densifiedPoints.length-1,!0);break}null!=this.m_densified&&this.m_densified.insertPointsFromPoints(this.m_densified.getPathCount()-1,-1,this.m_densifiedPoints,0,this.m_densifiedPoints.length-1,!0),null===t&&(t=new a.a,t.addPathPoint2D(null,0,!0)),this.addJoinAndBufferLeftSide(t),s++}if(this.m_currentDensifiedDelta=[0],s>0){const e=this.m_segIter.getStartPointIndex(),r=this.m_segIter.getPathIndex();for(;s>0;){if(this.m_segIter.previousSegment(),n.setCoordsPoint2D(this.m_multiPath.getXY(this.m_segIter.getStartPointIndex())),i.setCoordsPoint2D(this.m_multiPath.getXY(this.m_segIter.getEndPointIndex())),n.scale(this.m_bufferer.m_rpu),i.scale(this.m_bufferer.m_rpu),this.m_bRunningInGnomonic)if((0,o.M)(n,i))n.x=i.x;else if((0,o.N)(n,i))i.x=n.x;else{let e=-1,t=-1;const s=this.m_segIter.getPathIndex(),r=this.m_multiPath.getPathStart(s),m=this.m_multiPath.getPathEnd(s);if(e=this.m_segIter.getStartPointIndex()-1,t=this.m_segIter.getEndPointIndex()+1,e<r&&(e=this.m_multiPath.isClosedPath(s)?m-1:-1),t>m-1&&(t=this.m_multiPath.isClosedPath(s)?r:-1),-1!==e){const t=this.m_multiPath.getXY(e);t.scale(this.m_bufferer.m_rpu),(0,o.N)(t,n)&&(n.x=t.x)}if(-1!==t){const e=this.m_multiPath.getXY(t);e.scale(this.m_bufferer.m_rpu),(0,o.M)(i,e)&&(i.x=e.x)}}this.m_densifiedPoints.length=0,(0,o.Q)(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,this.m_bufferer.m_curveType,i,n,this.m_bufferer.m_segmentStep,Number.NaN,this.m_bufferer.m_radTolerance,this.m_startAzimuth,this.m_endAzimuth,this.m_densifiedPoints,this.m_currentDensifiedDelta),this.addJoinAndBufferLeftSide(t),s--}return n.setCoordsPoint2D(this.m_multiPath.getXY(this.m_segIter.getStartPointIndex())),n.scale(this.m_bufferer.m_rpu),this.m_currentBufferedDelta=p(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,this.m_bufferer.m_rpu,this.m_bufferer.m_absDistance,n,this.m_lastAzimuth+.5*Math.PI,this.m_lastAzimuth+1.5*Math.PI,this.m_bufferer.m_cornerStep,this.m_bRunningInGnomonic,this.m_currentBufferedDelta,t),this.m_segIter.resetToVertex(e,r),this.m_segIter.nextSegment(),t}return this.m_bNextSegmentCannotJoin=!1,this.m_segIter.nextSegment(),e=this.m_bufferHelper.clone(),e}isSegmentBufferInCurrentGnomonic(e){return null!==this.m_gnomonic&&y(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,e,this.m_bufferer.m_absDistance*this.m_bufferer.m_ellipticToGeodesicMaxRatio,this.m_gnomonicCenterRad,this.m_minGnomonicRadius)}tryUpdateGnomonic(e){const t=new u.P,s=new u.P,n=[0];return w(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,this.m_bufferer.m_rpu,e,this.m_bufferer.m_absDistance*this.m_bufferer.m_ellipticToGeodesicMaxRatio,t,s,n)?(this.m_gnomonicCenterRad.setCoordsPoint2D(s),this.m_minGnomonicRadius=n[0],this.m_gnomonic=S(this.m_bufferer.m_gcs,t),!0):(this.m_gnomonic=null,!1)}checkAndPrepSegmentForCrossingAzimuthsOrPoleWrap(e,t){return this.m_bufferer.checkAndPrepSegmentForCrossingAzimuthsOrPoleWrap(this.m_densifiedPoints,e,this.m_startAzimuth[0],this.m_endAzimuth[0],this.m_bRunningInGnomonic,t)}addJoinAndBufferLeftSide(e){const t=this.m_densifiedPoints[0];let s=Number.NaN,n=this.m_startAzimuth[0]-u.l;const i=this.m_endAzimuth[0]+u.l;let r=!1;if(!Number.isNaN(this.m_lastAzimuth)){this.m_lastAzimuth>=this.m_startAzimuth[0]?(s=this.m_lastAzimuth+u.l,n=s+Math.PI-(this.m_lastAzimuth-this.m_startAzimuth[0])):(s=this.m_lastAzimuth+u.l,n=s+Math.PI-(u.k-(this.m_startAzimuth[0]-this.m_lastAzimuth))),r=!(this.m_lastAzimuth>=this.m_startAzimuth[0]&&this.m_lastAzimuth-this.m_startAzimuth[0]<=Math.PI||this.m_lastAzimuth<this.m_startAzimuth[0]&&this.m_startAzimuth[0]-this.m_lastAzimuth>=Math.PI);let i=!1;if(Math.abs(n-s)<=.5*this.m_bufferer.m_cornerStep&&(r||(i=!0)),i){if(e.removePointFromPath(0,e.getPointCount()-1),!this.m_bRunningInGnomonic){const t=new u.P;t.setCoordsPoint2D(e.getXY(e.getPointCount()-1)),t.scale(this.m_bufferer.m_rpu),t.x-this.m_currentBufferedDelta<-Math.PI?this.m_currentBufferedDelta-=u.k:t.x-this.m_currentBufferedDelta>Math.PI&&(this.m_currentBufferedDelta+=u.k)}n=.5*(n+s)}else if(r){const s=new u.P;s.setCoordsPoint2D(t),s.scale(1/this.m_bufferer.m_rpu),e.insertPoint2D(0,-1,s)}else p(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,this.m_bufferer.m_rpu,this.m_bufferer.m_absDistance,this.m_densifiedPoints[0],s,n,this.m_bufferer.m_cornerStep,this.m_bRunningInGnomonic,this.m_currentBufferedDelta,e)}this.m_startAzimuth[0]!==this.m_lastAzimuth&&this.m_numWinds++,P(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,this.m_bufferer.m_rpu,this.m_bufferer.m_absDistance,this.m_bufferer.m_curveType,this.m_densifiedPoints,n,i,this.m_bRunningInGnomonic,this.m_currentBufferedDelta,e),this.m_lastAzimuth=this.m_endAzimuth[0]}}class I extends G{constructor(e,t){super(e.m_progressTracker),this.m_pointIndex=-1,this.m_bufferer=e,this.m_multiPoint=t,this.m_bNeedsSimplify=!1;const s=new r.Envelope2D;this.m_multiPoint.queryEnvelope(s);const n=s.getCenter(),i=n.clone();i.scale(this.m_bufferer.m_rpu),this.m_gnomonic=S(this.m_bufferer.m_gcs,n),this.m_gnomonicCenterRad=i.clone(),this.m_minGnomonicRadius=(0,o.K)(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,i,75/180*Math.PI)}next(){if(this.m_bNeedsSimplify=!1,++this.m_pointIndex===this.m_multiPoint.getPointCount())return null;const e=this.m_multiPoint.getXY(this.m_pointIndex);e.scale(this.m_bufferer.m_rpu),this.m_bRunningInGnomonic=this.isPointBufferInCurrentGnomonic(e),this.m_bRunningInGnomonic||(this.m_bRunningInGnomonic=this.tryUpdateGnomonic(e));const t=new a.a,s=this.m_bufferer.bufferPoint2D(e,this.m_bRunningInGnomonic,t);return this.m_bNeedsSimplify=s,t}isPointBufferInCurrentGnomonic(e){return null!==this.m_gnomonic&&C(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,e,this.m_bufferer.m_absDistance*this.m_bufferer.m_ellipticToGeodesicMaxRatio,this.m_gnomonicCenterRad,this.m_minGnomonicRadius)}tryUpdateGnomonic(e){const t=new u.P,s=new u.P,n=[0];return function(e,t,s,n,i,r,m,a){const h=(0,o.K)(e,t,n,75/180*Math.PI);return!!C(e,t,n,i,n,h)&&(null!==r&&(r.setCoordsPoint2D(n),r.scale(1/s)),null!==m&&m.setCoordsPoint2D(n),null!==a&&(a[0]=h),!0)}(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,this.m_bufferer.m_rpu,e,this.m_bufferer.m_absDistance*this.m_bufferer.m_ellipticToGeodesicMaxRatio,t,s,n)?(this.m_gnomonicCenterRad.setCoordsPoint2D(s),this.m_minGnomonicRadius=n[0],this.m_gnomonic=S(this.m_bufferer.m_gcs,t),!0):(this.m_gnomonic=null,!1)}}class M{getOperatorType(){return 10110}supportsCurves(){return!0}accelerateGeometry(e,t,s){return!1}canAccelerateGeometry(e){return!1}executeMany(e,t,s,n,i,r,m,a){if(m){const m=new k(e,t,s,n,i,!1,r,a);return(new o.h).executeMany(m,t,a)}return new k(e,t,s,n,i,!1,r,a)}execute(e,t,s,r,o,m,a){const h=new n.S([e]),c=[r],u=this.executeMany(h,t,s,c,o,!1,m,a).next();return u||(0,i.c)("geodesic buffer null output"),u}}class k extends n.G{constructor(e,t,s,n,o,m,a,h){super(),this.m_currentUnionEnvelope2D=new r.Envelope2D,this.m_index=-1,this.m_dindex=-1,this.m_progressTracker=h,m&&(0,i.b)(""),t||(0,i.t)(""),0===t.getCoordinateSystemType()&&(0,i.t)(""),this.m_inputGeoms=e,this.m_spatialReference=t,this.m_curveType=s,this.m_distances=n,this.m_convergenceOffset=o,this.m_bOutlineOnly=m,this.m_bUnion=a}next(){let e;for(;e=this.m_inputGeoms.next();)return(0,i.d)(e),this.m_index=this.m_inputGeoms.getGeometryID(),this.m_dindex+1<this.m_distances.length&&this.m_dindex++,this.geodesicBuffer(e,this.m_distances[this.m_dindex]);return null}getGeometryID(){return this.m_index}tock(){return!0}getRank(){return 1}geodesicBuffer(e,t){return function(e,t,s,n,r,o){n<Number.MAX_VALUE&&n>-Number.MAX_VALUE||(0,i.t)("Geodesic_bufferer.buffer - bad distance"),(0,i.d)(e);const m=(0,_.c)(e),a=m.getGeometryType();if((0,i.i)(a)){const e=m.getPointCount(),h=8e6;if(Math.abs(n)>h&&(e>50||a!==i.G.enumMultiPoint&&4===s&&e>2)){let e=m;const i=n>0?1:-1,a=7e6;let c=n,u=1;do{u++,c=(Math.abs(c)-a)*i}while(Math.abs(c)>h);c=n;for(let n=0;n<u-1;n++)e=g(e,t,s,a*i,r,u,o),c=(Math.abs(c)-a)*i;return e=g(e,t,s,c,r,u,o),e}}return g(m,t,s,n,r,1,o)}(e,this.m_spatialReference,this.m_curveType,t,this.m_convergenceOffset,this.m_progressTracker)}}}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[4167,6061],{28879:(e,t,n)=>{n.r(t),n.d(t,{OperatorGeodeticLength:()=>m});var s=n(90237),o=n(55537),r=n(47591),a=n(35368),i=n(83661),c=n(12189),g=n(5247);class m{getOperatorType(){return 10311}supportsCurves(){return!0}accelerateGeometry(e,t,n){return!1}canAccelerateGeometry(e){return!1}execute(e,t,n,s){if(4===n)return(new r.O).execute(e,t,s);if(0===t.getCoordinateSystemType()&&(0,o.t)(""),(0,o.d)(e),e.isEmpty()||e.getDimension()<1)return 0;const m=t.getGCS(),u=(0,c.I)();m.querySpheroidData(u);const h=u.majorSemiAxis,l=u.e2,y=m.getUnit().getUnitToBaseFactor();let x;const p=e.getGeometryType();if(p===o.G.enumPolygon?x=e.getBoundary():p===o.G.enumEnvelope?x=(0,a.c)(e):(0,o.f)(p)?(x=new a.P({vd:e.getDescription()}),x.addSegment(e,!0)):x=e,x.hasNonLinearSegments()&&(x=(new g.O).execute(x,0,t.getTolerance(0),0,s)),m!==t){const n=t.getSRToGCSTransform();if(t.isPannable()){x=(0,c.z)(x,t),p===o.G.enumPolyline&&x===e&&(x=e.clone());const n=new i.E;t.getPannableExtent().queryIntervalX(n);for(let e=0,t=x.getPointCount();e<t;e++){const t=x.getXY(e);t.x=(0,c.a0)(t.x,n),x.setXY(e,t)}}const r=x.createInstance();x=(0,c.a1)(n,x,r,s)?r:(new c.y).execute(x,n,s)}return this._ExecuteMultiPathGeodeticLength(x,n,h,l,y)}_ExecuteMultiPathGeodeticLength(e,t,n,o,r){const a={stack:[],error:void 0,hasError:!1};try{const i=(0,s.b)(a,new c.G,!1);let g=0;const m=e.querySegmentIterator();for(;m.nextPath();)for(;m.hasNextSegment();){const e=m.nextSegment(),s=e.getStartXY(),a=e.getEndXY();s.scale(r),a.scale(r),c.H.geodeticDistance(n,o,s.x,s.y,a.x,a.y,i,null,null,t),g+=i.val}return g}catch(e){a.error=e,a.hasError=!0}finally{(0,s.c)(a)}}}},47591:(e,t,n)=>{n.d(t,{O:()=>x});var s=n(55537),o=n(12189),r=n(35368),a=n(83661),i=n(95213),c=n(79187),g=n(5247),m=n(31139);function u(){return{m_pGcs:new a.P,m_xyz:new i.h,m_factor:Number.NaN,m_geoLength:Number.NaN,setValues:h,setLength:l,assign:y}}function h(e,t,n,s){this.m_factor=e,this.m_pGcs.assign(t),this.m_xyz.assign(s),this.m_geoLength=n}function l(e){this.m_geoLength=e}function y(e){this.m_pGcs.assign(e.m_pGcs),this.m_xyz.assign(e.m_xyz),this.m_factor=e.m_factor,this.m_geoLength=e.m_geoLength}class x{getOperatorType(){return 10315}supportsCurves(){return!0}accelerateGeometry(e,t,n){return!1}canAccelerateGeometry(e){return!1}_ExecuteShapePreservingLength(e,t,n,s,r){if(e.hasNonLinearSegments()&&(e=(new g.O).execute(e,0,t.getTolerance(0),0,r)),t.isPannable()){let s=90,a=-90;if(1===n.getUnit().getUnitToBaseFactor()&&(s*=Math.PI/180,a*=Math.PI/180),2===t.getCoordinateSystemType()){let e=null;const n=[0,0,0,0];e=t.getPECoordSys(),n[0]=0,n[1]=s,n[2]=0,n[3]=a,o.$.geogToProj(e,2,n),s=n[1],a=n[3]}const i=new c.Envelope2D;e.queryEnvelope(i),i.ymin=a,i.ymax=s,e=(new m.O).execute(e,i,t,r)}else{const n=t.getPCSHorizon();if((e=(new o.f).execute(e,n,t,r))===n){const t=e.clone();e=t}}return e.isEmpty()?0:this._ExecuteIterativeApproach(e,t,n,s,1,r)}_ExecuteIterativeApproach(e,t,n,r,c,g){const m=(0,o.I)();n.querySpheroidData(m);const h=m.majorSemiAxis,l=m.e2,y=n.getUnit().getUnitToBaseFactor(),x=(0,a.p)(u,40),d=(0,a.d)(40,Number.NaN),f=u(),G=u();let S;const P=[0,0,0,0],w=t.getPECoordSys(),C=new a.P,E=new a.P,v=new a.P,N=new a.P,T=new a.P;let L=0;const b=e.querySegmentIterator();for(;b.nextPath();)for(;b.hasNextSegment();){const e=b.nextSegment();C.assign(e.getStartXY()),E.assign(e.getEndXY()),2===t.getCoordinateSystemType()?(P[0]=C.x,P[1]=C.y,P[2]=E.x,P[3]=E.y,o.$.projToGeog(w,2,P),v.x=P[0]*y,v.y=P[1]*y,N.x=P[2]*y,N.y=P[3]*y):(v.setCoordsPoint2D(C),N.setCoordsPoint2D(E),v.scale(y),N.scale(y));const n=new i.h,r=new i.h;p(h,l,v,n),p(h,l,N,r);let a=_(h,n,r);f.setValues(0,v,Number.NaN,n),G.setValues(1,N,a,r),S=c,x[0].assign(G),d[0]=c;let g=0;for(;;){g>128&&(0,s.c)("iterations exceeded");const n=.5*(f.m_factor+G.m_factor),r=e.getCoord2D(n);2===t.getCoordinateSystemType()?(P[0]=r.x,P[1]=r.y,o.$.projToGeog(w,1,P),T.x=P[0]*y,T.y=P[1]*y):(T.setCoordsPoint2D(r),T.scale(y)),v.setCoordsPoint2D(f.m_pGcs),N.setCoordsPoint2D(G.m_pGcs);const m=new i.h;p(h,l,T,m);const u=_(h,f.m_xyz,m),C=_(h,G.m_xyz,m);a=G.m_geoLength,Number.isNaN(a)&&(a=_(h,f.m_xyz,G.m_xyz));const E=u+C,b=S===c&&E>=20&&Math.abs(E-a)>1e-8*(a+E);if(g+2<40&&(b||Math.abs(E-a)>0&&S>0))G.setLength(C),x[g].assign(G),G.setValues(n,T,u,m),x[++g].assign(G),b?(S=c,d[g]=c):(S--,d[g-1]=S,d[g]=S);else{if(L+=E,0===g)break;f.assign(G),G.assign(x[--g]),S=d[g]}}}return L}execute(e,t,n){if(t&&0!==t.getCoordinateSystemType()||(0,s.t)(""),e.isEmpty()||e.getDimension()<1)return 0;let a=null;const i=t.getGCS();i!==t&&(a=(0,o.v)(t,i,null));const c=e.getGeometryType();if(c===s.G.enumEnvelope){const s=new r.a;return s.addEnvelope(e,!1),this._ExecuteShapePreservingLength(s,t,i,a,n)}if((0,s.f)(c)){const s=new r.P;return s.addSegment(e,!0),this._ExecuteShapePreservingLength(s,t,i,a,n)}return this._ExecuteShapePreservingLength(e,t,i,a,n)}}function p(e,t,n,s){s.assign((0,o.S)(e,t,n))}function _(e,t,n){const s=e,o=new i.h;o.setSub(t,n);const r=o.length();return 2*s*Math.asin(r/(2*s))}},76061:(e,t,n)=>{n.d(t,{G:()=>s,S:()=>o});class s{*[Symbol.iterator](){let e=this.next();for(;e;)yield e,e=this.next()}}class o extends s{constructor(e){super(),this.m_iGeom=-1,this.m_aGeoms=e?e.slice():[]}next(){if(this.m_iGeom<this.m_aGeoms.length-1){const e=this.m_aGeoms[++this.m_iGeom];return this.m_aGeoms[this.m_iGeom]=null,e}return null}tock(){return!1}getGeometryID(){return this.m_iGeom}getRank(){return 1}}}}]);