@arcgis/core 5.2.0-next.81 → 5.2.0-next.82

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/{88d6a7ebded4d359deb0.js → 027af54888befb209aaa.js} +1 -1
  3. package/assets/esri/core/workers/chunks/{694216224d5fd3a8956d.js → 04f5ff688785a4bd3b03.js} +1 -1
  4. package/assets/esri/core/workers/chunks/{578904043e873424904c.js → 0d982abff7c9496f7890.js} +1 -1
  5. package/assets/esri/core/workers/chunks/{3adba34224cba869a39c.js → 10ac92dcd3738ec23dfb.js} +1 -1
  6. package/assets/esri/core/workers/chunks/{4a537054c99cbc492715.js → 11d911f70bf0ca252c19.js} +1 -1
  7. package/assets/esri/core/workers/chunks/{2f3525df00fb265661fc.js → 1352b5c6767e5421bc02.js} +1 -1
  8. package/assets/esri/core/workers/chunks/1354b8442c2c501238f1.js +1 -0
  9. package/assets/esri/core/workers/chunks/{8cfe817299eb16cb2664.js → 1438f571f738e83b4d1c.js} +1 -1
  10. package/assets/esri/core/workers/chunks/{efd176c5ac35f313e7a2.js → 14469f664fd5ede469fc.js} +1 -1
  11. package/assets/esri/core/workers/chunks/{bfd532e33800755b1f48.js → 14511c92cbbc26d80c86.js} +1 -1
  12. package/assets/esri/core/workers/chunks/{fbb0b2f4ec0ba458ddeb.js → 19dac19122eeeb5e36b2.js} +1 -1
  13. package/assets/esri/core/workers/chunks/{f71a3fe5f30aa782193a.js → 20db27d9828397d0b37a.js} +1 -1
  14. package/assets/esri/core/workers/chunks/{b3081c0b037abc49d09b.js → 26c12804a0d801df29bf.js} +1 -1
  15. package/assets/esri/core/workers/chunks/{8006ffa263fb8016afdb.js → 26c8ed0aef59ed6d5267.js} +1 -1
  16. package/assets/esri/core/workers/chunks/2d1c0d80a9843567df8d.js +1 -0
  17. package/assets/esri/core/workers/chunks/{2b79b376b0d60d2f0d5c.js → 2d6e1bf7c1981bed4357.js} +1 -1
  18. package/assets/esri/core/workers/chunks/{7028671ffdaafe2725bc.js → 33aaa5a49e396a0aca47.js} +1 -1
  19. package/assets/esri/core/workers/chunks/{d1baf17f3219f70106f7.js → 34f6093d2c00e3584037.js} +1 -1
  20. package/assets/esri/core/workers/chunks/{bfac0f47e81055585002.js → 3f0625c31dd46b563160.js} +1 -1
  21. package/assets/esri/core/workers/chunks/{9a5894e8ebdf0e97b98f.js → 43122c435497228a7583.js} +1 -1
  22. package/assets/esri/core/workers/chunks/{8fff4a41a54d39db470a.js → 44d13f65465646e5f6e9.js} +1 -1
  23. package/assets/esri/core/workers/chunks/{9c17bfbfc347ac289b6e.js → 463b7952a4825541eb13.js} +1 -1
  24. package/assets/esri/core/workers/chunks/{540a3685e614bb006744.js → 469e72ab6cd44272f474.js} +1 -1
  25. package/assets/esri/core/workers/chunks/{1ed6a8bb415999c4e8a6.js → 4cf2c33494cb75942511.js} +1 -1
  26. package/assets/esri/core/workers/chunks/{6c372d85b5783dd2a793.js → 52042fd36f4a572938f0.js} +1 -1
  27. package/assets/esri/core/workers/chunks/{d8b38c196b06e801c4e6.js → 563a4d6788ad66b676e4.js} +1 -1
  28. package/assets/esri/core/workers/chunks/598221c7054415b84904.js +1 -0
  29. package/assets/esri/core/workers/chunks/{89df303abcbc0167e4d2.js → 5a006ff759fad9fc25cb.js} +1 -1
  30. package/assets/esri/core/workers/chunks/{40ebe69b08ea54e0e780.js → 5b60fc95757b2a53558a.js} +1 -1
  31. package/assets/esri/core/workers/chunks/{c336f300fe6100e36592.js → 5c634b3e6dc76299b1df.js} +1 -1
  32. package/assets/esri/core/workers/chunks/{5a67bd724aa7fcdebe16.js → 5d30accf1dcda0c70f95.js} +1 -1
  33. package/assets/esri/core/workers/chunks/{8d16d53643dd8d489c25.js → 605da92d28e067f4a4c6.js} +1 -1
  34. package/assets/esri/core/workers/chunks/{5c9a398e659ecd427fb5.js → 657528eb6a3d3b3cb631.js} +1 -1
  35. package/assets/esri/core/workers/chunks/{d845f2115848b56c0369.js → 66292e98b4111ea3658d.js} +1 -1
  36. package/assets/esri/core/workers/chunks/{f57e5e7d0748d9a370f7.js → 680496660b2aaa710099.js} +1 -1
  37. package/assets/esri/core/workers/chunks/6c389e9646a48c26da20.js +2 -0
  38. package/assets/esri/core/workers/chunks/{fbcc346fa603d6edac98.js → 6db4a4f9a9ce7cc738d0.js} +1 -1
  39. package/assets/esri/core/workers/chunks/{a9e944f28bd573c8230d.js → 6eb28086dc28f6d144ec.js} +1 -1
  40. package/assets/esri/core/workers/chunks/7bd8ebb321ecf1f06496.js +1 -0
  41. package/assets/esri/core/workers/chunks/{d0aaa4ad7f76f577f117.js → 7d5877eede2f552dea9f.js} +1 -1
  42. package/assets/esri/core/workers/chunks/{bf5831a7c12b1e42c669.js → 83a77d3f45c8c21cec45.js} +1 -1
  43. package/assets/esri/core/workers/chunks/{dcec7fc66385c12ecdf0.js → 865f9adc591056458b6b.js} +1 -1
  44. package/assets/esri/core/workers/chunks/{d62a5a33a24418a3e283.js → 88771a75adcbd54c4fac.js} +1 -1
  45. package/assets/esri/core/workers/chunks/{37fb38db03cb39e3c342.js → 8c6a60d96c73982febd2.js} +1 -1
  46. package/assets/esri/core/workers/chunks/{6065caa7981cef255277.js → 911f3a1b8dd4bc5c9782.js} +1 -1
  47. package/assets/esri/core/workers/chunks/{70c371c9f133ab9f7925.js → 918577ea025f67ebe372.js} +1 -1
  48. package/assets/esri/core/workers/chunks/99966339b061eb9945b8.js +1 -0
  49. package/assets/esri/core/workers/chunks/{9bd4cda90daf90189bfc.js → a2fd945659ce052f99d2.js} +1 -1
  50. package/assets/esri/core/workers/chunks/{74cd17aca5f7e0caac90.js → a9a1061cdf82b372835f.js} +1 -1
  51. package/assets/esri/core/workers/chunks/ab10388dcc17a665ac3b.js +2 -0
  52. package/assets/esri/core/workers/chunks/ac9a3dfd02160e43fc8a.js +2 -0
  53. package/assets/esri/core/workers/chunks/{82da6d98bd4980a3d454.js → af88f8dd1a53e4740aa6.js} +1 -1
  54. package/assets/esri/core/workers/chunks/{d2448e26e19005ef9ab2.js → b09e9ac5fd928e69b053.js} +1 -1
  55. package/assets/esri/core/workers/chunks/{61190c833791f0833a39.js → b7bcc2d0b0fa8e703c83.js} +1 -1
  56. package/assets/esri/core/workers/chunks/{37a121316d114999ac70.js → ba67aaa08e4f11e1140a.js} +1 -1
  57. package/assets/esri/core/workers/chunks/{5d50a030bf9f4e94f69d.js → bbeb61d9302323bae9fb.js} +1 -1
  58. package/assets/esri/core/workers/chunks/{dbca32f0e0c2c2e2ccf3.js → bd1c870694edd25bf8aa.js} +1 -1
  59. package/assets/esri/core/workers/chunks/c1f125594e684c1b4ffc.js +1 -0
  60. package/assets/esri/core/workers/chunks/{d4b78d11a5ce4320a29a.js → c456abf5ee2a1ad5cc5b.js} +1 -1
  61. package/assets/esri/core/workers/chunks/{61312d3b5477ed9d87d9.js → c61e94806b37ca3dd549.js} +2 -2
  62. package/assets/esri/core/workers/chunks/{e72fa08b0bd324514a0e.js → c8d83f71326222b98608.js} +1 -1
  63. package/assets/esri/core/workers/chunks/{09f0805b32e6cab980e6.js → cc1a00694cc9f7c606d6.js} +1 -1
  64. package/assets/esri/core/workers/chunks/{e8a9a686a3c23afc9d1f.js → cdd4aeaa3f30bc4ea93a.js} +1 -1
  65. package/assets/esri/core/workers/chunks/{eca0736953a20cfc64ad.js → d0c8630177d3a4e316f1.js} +2 -2
  66. package/assets/esri/core/workers/chunks/{bc30c0de6dcb106b24a1.js → da233362b06b6db375f1.js} +1 -1
  67. package/assets/esri/core/workers/chunks/{ce81f29134ab3971bd54.js → dd91824692bec809909c.js} +1 -1
  68. package/assets/esri/core/workers/chunks/{f9e9e79f78be32e5d475.js → e706c37b44e98fbcb5f7.js} +1 -1
  69. package/assets/esri/core/workers/chunks/{856dba96332509fb1d7a.js → ead4143d811aab610e00.js} +2 -2
  70. package/assets/esri/core/workers/chunks/ef269dd559c1c79957e5.js +1 -0
  71. package/assets/esri/core/workers/chunks/{4a6158994a8cc8b8664f.js → f0692e10af5983f6ad93.js} +1 -1
  72. package/assets/esri/core/workers/chunks/{fae32c9ce811934b6a64.js → f248131df4eaa5291623.js} +1 -1
  73. package/assets/esri/core/workers/chunks/{4c15551e33a3c6cda61d.js → f762f0f6c83748d8e328.js} +1 -1
  74. package/assets/esri/core/workers/chunks/{4eaa93859ceec1b38530.js → fa29b5064d6626cfc019.js} +1 -1
  75. package/assets/esri/core/workers/chunks/{a3cbd3e983e21f40b253.js → faf14281a74a06fa1f30.js} +1 -1
  76. package/assets/esri/core/workers/chunks/fcf7299e2ee904ab9882.js +1 -0
  77. package/assets/esri/core/workers/chunks/{388b71211a0ad5cbd6b9.js → fe06cc2f90b2d551e4c1.js} +1 -1
  78. package/assets/esri/core/workers/chunks/{86035e46777ed896c658.js → ffad5fd9c5e98f4fe2c3.js} +1 -1
  79. package/assets/esri/geometry/support/pe-wasm.wasm +0 -0
  80. package/chunks/Bufferer-CclWhXVb.js +1 -1
  81. package/chunks/Distance2DCalculator-DjIp2uQi.js +1 -1
  82. package/chunks/EmissionComposite.glsl.js +7 -1
  83. package/chunks/GeodeticDistanceCalculator-zRp89-dW.js +1 -1
  84. package/chunks/GeodeticUtils.js +1 -1
  85. package/chunks/GeographicTransformation.js +2 -0
  86. package/chunks/Geometry.js +1 -1
  87. package/chunks/MultiPathImpl.js +1 -1
  88. package/chunks/OperatorCrosses.js +1 -1
  89. package/chunks/OperatorCut.js +1 -1
  90. package/chunks/OperatorGeodesicBuffer.js +1 -1
  91. package/chunks/OperatorGeodeticArea.js +1 -1
  92. package/chunks/OperatorGeodeticDensifyByLength.js +1 -1
  93. package/chunks/OperatorGeodeticLength.js +1 -1
  94. package/chunks/OperatorGraphicBuffer.js +1 -1
  95. package/chunks/OperatorIntegrate.js +1 -1
  96. package/chunks/OperatorIntersects.js +1 -1
  97. package/chunks/OperatorMultiPartToSinglePart.js +1 -1
  98. package/chunks/OperatorOverlaps.js +1 -1
  99. package/chunks/OperatorProximity.js +1 -1
  100. package/chunks/OperatorProximityGeodesic.js +1 -1
  101. package/chunks/OperatorShapePreservingLength.js +1 -1
  102. package/chunks/OperatorShapePreservingProject.js +1 -1
  103. package/chunks/OperatorSimplifyOGC.js +1 -1
  104. package/chunks/OperatorTouches.js +1 -1
  105. package/chunks/OperatorWithin.js +1 -1
  106. package/chunks/Point2D.js +1 -1
  107. package/chunks/ProjectionTransformation.js +1 -1
  108. package/chunks/SideCalculator2D-DX0718xq.js +1 -1
  109. package/chunks/UnitFactory.js +1 -1
  110. package/chunks/containsOperator.js +1 -1
  111. package/chunks/disjointOperator.js +1 -1
  112. package/chunks/equalsOperator.js +1 -1
  113. package/chunks/pe-wasm.js +1 -1
  114. package/chunks/relateOperator.js +1 -1
  115. package/config.js +1 -1
  116. package/geometry/operators/gx/operatorAutoComplete.js +1 -1
  117. package/geometry/operators/gx/operatorBuffer.js +1 -1
  118. package/geometry/operators/gx/operatorDifference.js +1 -1
  119. package/geometry/operators/gx/operatorIntersection.js +1 -1
  120. package/geometry/operators/gx/operatorLabelPoint.js +1 -1
  121. package/geometry/operators/gx/operatorLinesToPolygons.js +1 -1
  122. package/geometry/operators/gx/operatorPolygonOverlay.js +1 -1
  123. package/geometry/operators/gx/operatorSimplify.js +1 -1
  124. package/geometry/operators/gx/operatorSymmetricDifference.js +1 -1
  125. package/geometry/operators/gx/operatorUnion.js +1 -1
  126. package/geometry/operators/json/containsOperator.js +1 -1
  127. package/geometry/operators/json/disjointOperator.js +1 -1
  128. package/geometry/operators/reshapeOperator.js +1 -1
  129. package/geometry/operators/support/GeographicTransformation.d.ts +7 -0
  130. package/geometry/operators/support/GeographicTransformation.js +1 -1
  131. package/geometry/operators/support/GeographicTransformationStep.d.ts +7 -1
  132. package/geometry/operators/support/GeographicTransformationStep.js +1 -1
  133. package/geometry/operators/support/geographicTransformationUtils.d.ts +13 -2
  134. package/geometry/operators/support/geographicTransformationUtils.js +1 -1
  135. package/geometry/operators/support/jsonConverter.js +1 -1
  136. package/geometry/operators/support/projectionTransformation.js +1 -1
  137. package/kernel.js +1 -1
  138. package/layers/raster/types.d.ts +1 -1
  139. package/layers/support/AggregateField.d.ts +9 -3
  140. package/layers/support/FeatureReductionCluster.d.ts +16 -6
  141. package/layers/support/I3SExtractChanges.js +2 -0
  142. package/package.json +3 -3
  143. package/renderers/support/AuthoringInfo.d.ts +8 -3
  144. package/support/revision.js +1 -1
  145. package/views/2d/layers/MediaLayerView2D.js +1 -1
  146. package/views/3d/analysis/LineOfSight/LineOfSightDrawToolRenderer.js +1 -1
  147. package/views/3d/analysis/LineOfSight/LineOfSightEditTool.js +1 -1
  148. package/views/3d/analysis/LineOfSight/LineOfSightInteractionVisuals.js +1 -1
  149. package/views/3d/analysis/LineOfSight/LineOfSightItemTool.js +1 -1
  150. package/views/3d/layers/BuildingComponentSublayerView3D.js +1 -1
  151. package/views/3d/layers/BuildingSceneLayerView3D.js +1 -1
  152. package/views/3d/layers/I3SMeshView3D.js +1 -1
  153. package/views/3d/layers/SceneLayerGraphicsView3D.js +1 -1
  154. package/views/3d/layers/SceneLayerView3D.js +1 -1
  155. package/views/3d/layers/i3s/I3SOverrides.js +1 -1
  156. package/views/3d/support/PBFDecoder.js +1 -1
  157. package/views/3d/webgl-engine/Stage.js +1 -1
  158. package/views/3d/webgl-engine/lib/EmissionComposite.glsl.js +1 -1
  159. package/views/MapView.d.ts +0 -60
  160. package/views/View2D.d.ts +59 -1
  161. package/views/draw/support/managers/InteractiveHandleManager.js +1 -1
  162. package/widgets/Legend/support/sizeRampUtils.js +1 -1
  163. package/widgets/Legend/support/utils.js +1 -1
  164. package/assets/esri/core/workers/chunks/453c69879f4b82ba13a1.js +0 -1
  165. package/assets/esri/core/workers/chunks/9234a293d61e134f121f.js +0 -1
  166. package/assets/esri/core/workers/chunks/95b9eaf7a49eeb17e62f.js +0 -1
  167. package/assets/esri/core/workers/chunks/973440553c9e058b0132.js +0 -1
  168. package/assets/esri/core/workers/chunks/c5853fbb975e169c44c5.js +0 -1
  169. package/assets/esri/core/workers/chunks/e2473de49189d93714d3.js +0 -1
  170. package/assets/esri/core/workers/chunks/e63f94c8097555b266ad.js +0 -2
  171. package/assets/esri/core/workers/chunks/f2d99f693a590f384315.js +0 -1
  172. package/assets/esri/core/workers/chunks/fc2234e0d202631f3abf.js +0 -2
  173. package/assets/esri/core/workers/chunks/fcb943c3b31b1bf62e65.js +0 -2
  174. /package/assets/esri/core/workers/chunks/{61312d3b5477ed9d87d9.js.LICENSE.txt → 6c389e9646a48c26da20.js.LICENSE.txt} +0 -0
  175. /package/assets/esri/core/workers/chunks/{e63f94c8097555b266ad.js.LICENSE.txt → ab10388dcc17a665ac3b.js.LICENSE.txt} +0 -0
  176. /package/assets/esri/core/workers/chunks/{fc2234e0d202631f3abf.js.LICENSE.txt → ac9a3dfd02160e43fc8a.js.LICENSE.txt} +0 -0
  177. /package/assets/esri/core/workers/chunks/{fcb943c3b31b1bf62e65.js.LICENSE.txt → c61e94806b37ca3dd549.js.LICENSE.txt} +0 -0
  178. /package/assets/esri/core/workers/chunks/{eca0736953a20cfc64ad.js.LICENSE.txt → d0c8630177d3a4e316f1.js.LICENSE.txt} +0 -0
  179. /package/assets/esri/core/workers/chunks/{856dba96332509fb1d7a.js.LICENSE.txt → ead4143d811aab610e00.js.LICENSE.txt} +0 -0
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[1948,8393],{61691(t,e,r){r.d(e,{G:()=>s});class s{*[Symbol.iterator](){let t=this.next();for(;t;)yield t,t=this.next()}}},98783(t,e,r){r.d(e,{O:()=>o});var s=r(61691),n=r(55537),i=r(76061),a=r(39117);class o{getOperatorType(){return 10104}accelerateGeometry(t,e,r){return!1}canAccelerateGeometry(t){return!1}supportsCurves(){return!0}isSimple(t,e,r,s,n){return 5===(0,a.$)(t,e,r,s,n)}executeMany(t,e,r,s){return new u(t,e,r,s)}execute(t,e,r,s){const a=new i.S([t]),o=this.executeMany(a,e,r,s).next();return o||(0,n.d)("null output"),o}}class u extends s.G{m_inputGeometryCursor;m_spatialReference;m_progressTracker;m_index;m_bForceSimplify;constructor(t,e,r,s){super(),t||(0,n.a)(""),this.m_progressTracker=s,this.m_bForceSimplify=r,this.m_index=-1,this.m_inputGeometryCursor=t,this.m_spatialReference=e}next(){const t=this.m_inputGeometryCursor.next();return t?((0,n.c)(t),this.m_index=this.m_inputGeometryCursor.getGeometryID(),this.simplify(t)):null}getGeometryID(){return this.m_index}tock(){return!1}getRank(){return 1}simplify(t){return t||(0,n.a)(""),(0,a.a0)(t,this.m_spatialReference,this.m_bForceSimplify,this.m_progressTracker)}}},76061(t,e,r){r.d(e,{S:()=>n});var s=r(61691);class n extends s.G{m_aGeoms;m_iGeom=-1;constructor(t){super(),this.m_aGeoms=t?t.slice():[]}next(){if(this.m_iGeom<this.m_aGeoms.length-1){const t=this.m_aGeoms[++this.m_iGeom];return this.m_aGeoms[this.m_iGeom]=null,t}return null}tock(){return!1}getGeometryID(){return this.m_iGeom}getRank(){return 1}}},87992(t,e,r){r.d(e,{JR:()=>S,ME:()=>M,MY:()=>O,NO:()=>C,Nh:()=>E,V2:()=>b,_s:()=>Z,e6:()=>I,gh:()=>_,tr:()=>V,uX:()=>x});var s=r(5482),n=r(16930),i=r(19419),a=r(60408),o=r(21325),u=r(513),h=r(50954),l=r(79567),c=r(52006),m=r(49663),g=r(46068),f=r(92722);class x{constructor({type:t,spatialReference:e,vertexCount:r,vertexXY:s,vertexZ:n,vertexM:i,partCount:a,partOffsets:o,partFlags:u,segmentFlags:h,segmentIndices:l,segmentParams:c,segmentCountArc:m,segmentCountBezier:g}){this.segmentCountArc=0,this.segmentCountBezier=0,this.type=t,this.spatialReference=e,this.vertexCount=r,this.vertexXY=s,this.vertexZ=n,this.vertexM=i,this.partCount=a,this.partOffsets=o,this.partFlags=u,this.segmentFlags=h,this.segmentIndices=l,this.segmentParams=c,this.segmentCountArc=m,this.segmentCountBezier=g}get segmentParamCount(){return 10*this.segmentCountArc+4*this.segmentCountBezier}get segmentCountLine(){const{segmentCount:t,segmentCountArc:e,segmentCountBezier:r}=this;return t&&t-e-r}get segmentCount(){return"polyline"===this.type?this.vertexCount-this.partCount:"polygon"===this.type?this.vertexCount:0}get hasZ(){return null!=this.vertexZ}get hasM(){return null!=this.vertexM}hasCurves(){return this.segmentCountArc+this.segmentCountBezier>0}isMultipart(){return"polyline"===this.type||"polygon"===this.type}get usedMemory(){function t(t){return t?64+t.byteLength:0}return t(this.vertexXY)+t(this.vertexZ)+t(this.vertexM)+t(this.partOffsets)+t(this.partFlags)+t(this.segmentFlags)+t(this.segmentIndices)+t(this.segmentParams)}clone(){const{type:t,vertexCount:e,partCount:r,hasZ:s,hasM:n,segmentCountArc:i,segmentCountBezier:a}=this,o=b(t,e,r,s,n,this.hasCurves(),i,a);o.spatialReference=this.spatialReference;const{vertexXY:u,vertexZ:h,vertexM:l}=this;if(o.vertexXY.set(u.subarray(0,2*e),0),o.vertexZ?.set(h.subarray(0,e),0),o.vertexM?.set(l.subarray(0,e),0),this.isMultipart()){const{partOffsets:t,partFlags:e}=this;o.partFlags.set(e.subarray(0,r+1)),o.partOffsets.set(t.subarray(0,r+1))}if(this.hasCurves()){const{segmentFlags:t,segmentIndices:r,segmentParams:s,segmentParamCount:n}=this;o.segmentFlags.set(t.subarray(0,e),0),o.segmentIndices.set(r.subarray(0,e),0),o.segmentParams.set(s.subarray(0,n),0)}return o}equals(t){return this.equalsWithinTolerance(t,0)}equalsWithinTolerance(t,e){if(null==t)return!1;if(this===t)return!0;if(!(0,o.aI)(this.spatialReference,t.spatialReference))return!1;if(this.vertexCount!==t.vertexCount||this.partCount!==t.partCount)return!1;if(this.hasZ!==t.hasZ||this.hasM!==t.hasM)return!1;if(this.hasCurves()!==t.hasCurves()||this.segmentCountArc!==t.segmentCountArc||this.segmentCountBezier!==t.segmentCountBezier)return!1;const r=0===e?(t,e)=>t!==e||isNaN(t)!==isNaN(e):(t,r)=>Math.abs(t-r)>e||isNaN(t)!==isNaN(r);for(let e=0;e<this.vertexCount;++e)if(r(this.vertexXY[2*e],t.vertexXY[2*e])||r(this.vertexXY[2*e+1],t.vertexXY[2*e+1]))return!1;if(this.hasZ)for(let e=0;e<this.vertexCount;++e)if(r(this.vertexZ[e],t.vertexZ[e]))return!1;if(this.hasM)for(let e=0;e<this.vertexCount;++e)if(r(this.vertexM[e],t.vertexM[e]))return!1;for(let e=0;e<this.partCount;++e)if(this.partFlags[e]!==t.partFlags[e]||this.partOffsets[e]!==t.partOffsets[e])return!1;if(this.hasCurves()){for(let e=0;e<this.vertexCount;++e)if(this.segmentFlags[e]!==t.segmentFlags[e]||this.segmentIndices[e]!==t.segmentIndices[e])return!1;for(let e=0;e<this.segmentParamCount;++e)if(r(this.segmentParams[e],t.segmentParams[e]))return!1}return!0}get parts(){return this.isMultipart()?new p(this):[][Symbol.iterator]()}}class p{constructor(t){this.geometry=t,this.value=new y(t)}get done(){return this.value.index>=this.geometry.partCount}next(){return++this.value.index,this}[Symbol.iterator](){return this}}class y{constructor(t){this.geometry=t,this.index=-1,this._readVertex=F(t),this._segments=new v(this)}get segments(){return this._segments.reset(),this._segments}get startVertex(){return this._readVertex(this.geometry.partOffsets[this.index])}get vertexCount(){const t=this.geometry.partOffsets;return t[this.index+1]-t[this.index]}}class v{constructor(t){this._part=t,this._partStart=0,this._partEnd=0,this._isPolygon="polygon"===t.geometry.type,this.value=new d(t.geometry)}get done(){return this.value.indexOfStartVertex>this._partEnd}next(){++this.value.indexOfStartVertex;const t=this.value.indexOfStartVertex>=this._partEnd;return this.value.indexOfEndVertex=t&&this._isPolygon?this._partStart:this.value.indexOfStartVertex+1,this}[Symbol.iterator](){return this}reset(){const{index:t}=this._part,e=this._part.geometry.partOffsets;this._partStart=e[t],this._partEnd=e[t+1]-(this._isPolygon?1:2),this.value.indexOfStartVertex=this._partStart-1}}class d{constructor(t){this.geometry=t,this.indexOfStartVertex=-1,this.indexOfEndVertex=-1,this._readVertex=F(t)}get xStart(){return this.geometry.vertexXY[2*this.indexOfStartVertex]}get yStart(){return this.geometry.vertexXY[2*this.indexOfStartVertex+1]}get zStart(){return this.geometry.vertexZ[this.indexOfStartVertex]}get mStart(){return this.geometry.vertexM[this.indexOfStartVertex]}get xEnd(){return this.geometry.vertexXY[2*this.indexOfEndVertex]}get yEnd(){return this.geometry.vertexXY[2*this.indexOfEndVertex+1]}get zEnd(){return this.geometry.vertexZ[this.indexOfEndVertex]}get mEnd(){return this.geometry.vertexM[this.indexOfEndVertex]}get start(){return this._readVertex(this.indexOfStartVertex)}get end(){return this._readVertex(this.indexOfEndVertex)}get curve(){const t=this.geometry.segmentFlags?.[this.indexOfStartVertex]??1;if(1===t)return this.end;const e=this.geometry.segmentParams;let r=this.geometry.segmentIndices[this.indexOfStartVertex];if(2===t){const t=e[r++],s=e[r++],n=e[r++],i=e[r++];return{b:[this.end,[t,s],[n,i]]}}const s=e[r++],n=e[r++],i=e[r++],a=e[r++],o=e[r++],u=e[r++];r++,r++;const h=e[r++],l=e[r++];if(!Boolean(4&s)&&1===i)return{c:[this.end,[h,l]]};const c=2&s?0:1,m=1&s?0:1;return{a:[this.end,[o,u],c,m,a,n,i]}}}function C(t,e){const r={stack:[],error:void 0,hasError:!1};try{return e??=(0,i.Ie)(),(0,s.mS)(r,new R(t,["vertexZ","vertexM","spatialReference"]),!1),(0,i.bx)(e,function(t){let e;const{vertexCount:r,vertexXY:n,vertexZ:a,vertexM:o}=t,u=P(t);if(t.hasCurves()){const r={stack:[],error:void 0,hasError:!1};try{(0,s.mS)(r,new R(t,["vertexZ","vertexM"]),!1);const n=(0,i.Ie)();for(const e of t.parts){let t=e.startVertex;for(const{curve:r}of e.segments)(0,l.e)(n,t,r),t=(0,c.yP)(r)}const[a,o,h,m]=n;e={xmin:a,ymin:o,xmax:h,ymax:m,spatialReference:u}}catch(t){r.error=t,r.hasError=!0}finally{(0,s.hk)(r)}}else{let t,s,i,a;t=s=1/0,i=a=-1/0;for(let e=0;e<r;++e){const r=n[2*e],o=n[2*e+1];t=Math.min(t,r),i=Math.max(i,r),s=Math.min(s,o),a=Math.max(a,o)}e={xmin:t,ymin:s,xmax:i,ymax:a,spatialReference:u}}if(a){let t=1/0,r=-1/0;for(const e of a)t=Math.min(t,e),r=Math.max(r,e);e.zmin=t,e.zmax=r}if(o){let t=1/0,r=-1/0;for(const e of o)t=Math.min(t,e),r=Math.max(r,e);e.mmin=t,e.mmax=r}return e}(t)),e}catch(t){r.error=t,r.hasError=!0}finally{(0,s.hk)(r)}}function M(t){let e,r,s;if((0,a.fT)(t)){s="point";const{x:n,y:i,z:a,m:o}=t,u=[n,i];null!=a&&u.push(a),null!=o&&u.push(o),r=[[u]],e=1}else(0,a.U9)(t)?(s="multipoint",r=[t.points],e=t.points.length):(0,a.Rg)(t)?(s="polyline",r=t.curvePaths??t.paths,e=r.reduce((t,e)=>t+e.length,0)):(s="polygon",r=t.curveRings??t.rings,e=r.reduce((t,e)=>(0===e.length||(t+=e.length,A(e[0],(0,c.yP)(e.at(-1)))&&--t),t),0));const n=b(s,e,s.includes("point")?0:r.length,(0,a.Pv)(t),(0,a.W0)(t),(0,c.Ed)(t)),{hasZ:i,hasM:o,vertexXY:u,vertexZ:h,vertexM:l}=n;function m(t){u[2*f]=t[0],u[2*f+1]=t[1],i&&(h[f]=t[2]),o&&(l[f]=t[g]),++f}n.spatialReference=t.spatialReference??void 0;const g=n.hasZ?3:2;let f=0;if(!n.isMultipart()){if(!i&&!o){for(const[t,e]of r[0])u[2*f]=t,u[2*f+1]=e,++f;return n}for(const t of r[0])m(t);return n}const x="polygon"===s,{partOffsets:p}=n;let y=0;if(!(0,c.Ed)(t)){for(const t of r){if(p[y++]=f,0===t.length)continue;let e=t.length;if(x&&A(t[0],t.at(-1))&&--e,i||o)for(let r=0;r<e;++r)m(t[r]);else for(let r=0;r<e;++r){const[e,s]=t[r];u[2*f]=e,u[2*f+1]=s,++f}}return p[y]=f,n}function v(t){const e=d+t;if(e<=(n.segmentParams?.length??0))return;let r=e*G;r=20*Math.ceil(r/20);const s=n.segmentParams;n.segmentParams=new Float64Array(r),null!=s&&n.segmentParams.set(s)}let d=0;for(const t of r){if(n.partOffsets[y++]=f,0===t.length)continue;const e=t[0];let r=e;for(let e=1;e<t.length;++e){const s=t[e];m(r);const i=f-1;(0,c.wY)(s)?(v(10),++n.segmentCountArc,d=Z(r,s,n,i,d),r=s.a[0]):(0,c.DA)(s)?(v(10),++n.segmentCountArc,d=w(r,s,n,i,d),r=s.a[0]):(0,c.aO)(s)?(v(10),++n.segmentCountArc,d=I(r,s,n,i,d),r=s.c[0]):(0,c.n1)(s)?(v(4),++n.segmentCountBezier,d=V(0,s,n,i,d),r=s.b[0]):r=s}x&&A(e,r)||m(r)}return n.partOffsets[y]=f,n}function _(t){const e=F(t),{vertexCount:r,partCount:s,hasZ:n,hasM:i}=t,a=P(t);if("point"===t.type){const[e,r]=t.vertexXY,s=t.vertexZ?.[0],n=t.vertexM?.[0];return{x:e,y:r,z:s,m:n,spatialReference:a}}let o=0;if("multipoint"===t.type){const t=[];for(;o<r;)t.push(e(o++));return{points:t,spatialReference:a,hasZ:n,hasM:i}}const u="polygon"===t.type;if(!t.hasCurves()){const r=new Array;for(let n=0;n<s;++n){const s=t.partOffsets[n+1],i=new Array;for(;o<s;)i.push(e(o++));u&&i.length>0&&i.push(i[0]),r.push(i)}return u?{rings:r,hasZ:n,hasM:i,spatialReference:a}:{paths:r,hasZ:n,hasM:i,spatialReference:a}}const h=new Array;for(const{segments:e,startVertex:r}of t.parts){const t=[r];for(const{curve:r}of e)t.push(r);h.push(t)}return u?{rings:[],curveRings:h,hasZ:n,hasM:i,spatialReference:a}:{paths:[],curvePaths:h,hasZ:n,hasM:i,spatialReference:a}}function E(t,{lengths:e,coords:r,hasZ:s,hasM:n},i){const a=t.includes("point")?0:e.length,o="polygon"===t,u="point"===t?1:e.reduce((t,e)=>t+e,0)-(o?a:0);s??=!1,n??=!1;const h=b(t,u,a,s,n,!1,0,0);if(h.spatialReference=i??void 0,!h.isMultipart()){for(let t=0,e=0;t<u;++t)h.vertexXY[2*t]=r[e++],h.vertexXY[2*t+1]=r[e++],s&&(h.vertexZ[t]=r[e++]),n&&(h.vertexM[t]=r[e++]);return h}const l=2+Number(s)+Number(n);let c=0,m=0;h.partOffsets[0]=0;for(const t of e){const e=h.partOffsets[m],i=e+t-Number(o);h.partOffsets[++m]=i;for(let t=e;t<i;++t)h.vertexXY[2*t]=r[c++],h.vertexXY[2*t+1]=r[c++],s&&(h.vertexZ[t]=r[c++]),n&&(h.vertexM[t]=r[c++]);o&&(c+=l)}return h}function S({type:t,vertexCount:e,vertexXY:r,vertexZ:s,vertexM:n,partCount:i,partOffsets:a,hasZ:o,hasM:u}){const h=new f.A([],[],o,u);i=Math.max(i,1);const l="polygon"===t;let c=0;for(let t=0;t<i;++t){const i=a?.[t+1]??e,m=h.coords.length;for(let t=c;t<i;++t)h.coords.push(r[2*t],r[2*t+1]),o&&h.coords.push(s[t]),u&&h.coords.push(n[t]);if(l){const t=c;h.coords.push(r[2*t],r[2*t+1]),o&&h.coords.push(s[t]),u&&h.coords.push(n[t])}h.lengths.push((h.coords.length-m)/h.stride),c=i}return"point"===t&&(h.lengths.length=0),h}function O(t,e){return"getSpatialReference"in t&&(e=function(t){if(null==t)return;const e=t.getText()||void 0,r=t.isCustomWkid()?0:t.getOldID();if(r<=0)return{wkt:e};let s=t.getLatestID();(s<=0||s===r)&&(s=void 0);const n=t.getVCS();if(null==n)return{wkid:r,latestWkid:s,wkt:e};const i=n.isCustomWkid()?0:n.getOldID();if(i<=0)return{wkt:e};let a=t.getLatestVerticalID();return(a<=0||a===i)&&(a=void 0),{wkid:r,wkt:e,latestWkid:s,vcsWkid:i,latestVcsWkid:a}}(t.getSpatialReference()),t=t.getGeometry()),new x({...t.toFlatGeometry(),spatialReference:e})}class R{constructor(t,e){this.target=t,this.keys=e,this.oldValues=e.map(e=>t[e]);for(const r of e)t[r]=void 0}[Symbol.dispose](){this.keys.map((t,e)=>{this.target[t]=this.oldValues[e]})}}function P({spatialReference:t}){return t instanceof n.A?t.toJSON():t}function F({vertexXY:t,vertexZ:e,vertexM:r}){return e?r?s=>[t[2*s],t[2*s+1],e[s],r[s]]:r=>[t[2*r],t[2*r+1],e[r]]:r?e=>[t[2*e],t[2*e+1],r[e]]:e=>[t[2*e],t[2*e+1]]}function A(t,e){return t.every((t,r)=>t===e[r])}function b(t,e,r,s,n,i,a,o){a??=0,o??=0;const u=new x({type:t,vertexCount:e,vertexXY:null,vertexZ:void 0,vertexM:void 0,partCount:r,partOffsets:void 0,partFlags:void 0,segmentFlags:void 0,segmentIndices:void 0,segmentParams:void 0,segmentCountArc:a,segmentCountBezier:o});let h=2*Float64Array.BYTES_PER_ELEMENT*e;s&&(h+=Float64Array.BYTES_PER_ELEMENT*e),n&&(h+=Float64Array.BYTES_PER_ELEMENT*e),u.isMultipart()&&(h+=(r+1)*Int32Array.BYTES_PER_ELEMENT,h+=(r+1)*Int8Array.BYTES_PER_ELEMENT),i&&(h+=e*Int8Array.BYTES_PER_ELEMENT,h+=e*Int32Array.BYTES_PER_ELEMENT,h+=u.segmentParamCount*Float64Array.BYTES_PER_ELEMENT);const l=new ArrayBuffer(h);let c=0;return u.vertexXY=new Float64Array(l,c,2*e),c+=u.vertexXY.byteLength,s&&(u.vertexZ=new Float64Array(l,c,e),c+=u.vertexZ.byteLength),n&&(u.vertexM=new Float64Array(l,c,e),c+=u.vertexM.byteLength),i&&(u.segmentParams=new Float64Array(l,c,u.segmentParamCount),c+=u.segmentParams.byteLength,u.segmentIndices=new Int32Array(l,c,e),u.segmentIndices.fill(k),c+=u.segmentIndices.byteLength),u.isMultipart()&&(u.partOffsets=new Int32Array(l,c,r+1),c+=u.partOffsets.byteLength,u.partFlags=new Int8Array(l,c,r+1),c+=u.partFlags.byteLength,"polygon"===u.type&&u.partFlags.subarray(0,r).fill(1)),i&&(u.segmentFlags=new Int8Array(l,c,e),u.segmentFlags.fill(1),c+=u.segmentFlags.byteLength),u}function Z(t,e,{segmentFlags:r,segmentIndices:s,segmentParams:n},i,a){r[i]=4,s[i]=a;const[o,[u,h],l,c,m,f,x]=e.a;let p=4;c||(p|=1),l||(p|=2);const y=(0,g.SW)(t,e),[v,d]=(0,g.Uk)(y,.5);return n[a++]=p,n[a++]=f,n[a++]=x,n[a++]=m,n[a++]=u,n[a++]=h,n[a++]=y.u2-y.u1,n[a++]=y.u1,n[a++]=v,n[a++]=d,a}function w(t,e,{segmentFlags:r,segmentIndices:s,segmentParams:n},i,a){r[i]=4,s[i]=a;const o=(0,m.io)(t,e);return Y(o,4,...(0,u.mq)(o,.5),n,a)}function I(t,e,{segmentFlags:r,segmentIndices:s,segmentParams:n},i,a){return r[i]=4,s[i]=a,Y((0,h.pM)(t,e),0,...e.c[1],n,a)}function Y(t,e,r,s,n,i){const{cx:a,cy:o,thetaStart:u,thetaEnd:h,radius:l}=t;return u>h||(e|=1),Math.abs(h-u)<=Math.PI||(e|=2),n[i++]=e,n[i++]=l,n[i++]=1,n[i++]=0,n[i++]=a,n[i++]=o,n[i++]=h-u,n[i++]=u,n[i++]=r,n[i++]=s,i}function V(t,{b:[e,[r,s],[n,i]]},{segmentFlags:a,segmentIndices:o,segmentParams:u},h,l){return a[h]=2,o[h]=l,u[l++]=r,u[l++]=s,u[l++]=n,u[l++]=i,l}const G=1.61803,k=-1},5095(t,e,r){r.d(e,{fz:()=>u,g7:()=>i,pn:()=>o,zo:()=>a});var s=r(76061);const n=new(r(98783).O);function i(t,e,r){return n.execute(t,e,r,null)}function a(t,e,r){const i=n.executeMany(new s.S(t),e,r,null);return Array.from(i)}function o(t,e,r,s){return n.isSimple(t,e,r,s,null)}function u(){return n.supportsCurves()}},25802(t,e,r){r.r(e),r.d(e,{execute:()=>i,executeMany:()=>a,isSimple:()=>o});var s=r(5095),n=r(83299);function i(t){const e=(0,n.fromGeometry)(t),r=e.getSpatialReference();return(0,n.toGeometry)((0,s.g7)(e.getGeometry(),r,!1),r)}function a(t){const[e,r]=(0,n.fromGeometries)(t);return(0,s.zo)(e,r,!1).map(t=>(0,n.toGeometry)(t,r))}function o(t){const e=(0,n.fromGeometry)(t);return(0,s.pn)(e.getGeometry(),e.getSpatialReference(),!1,null)}}}]);
@@ -1 +1 @@
1
- "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[7444],{70007(e,t,n){n.d(t,{c:()=>i});var s=n(55537);function i(e,t){const n=e.getGeometryType();return n===s.G.enumPoint?e:(0,s.j)(n)?function(e){if(function(e){for(let t=0,n=e.getPathCount();t<n;t++){const n=e.getPathSize(t);if(0===n)return!1;if(1===n){if(0===e.getSegmentCountPath(t))return!1;if(e.getSegmentType(e.getPathStart(t))===s.G.enumLine)return!1;if(!e.isClosedPath(t))return!1}}return!0}(e))return e;const t=e.createInstance();for(let n=0,i=e.getPathCount();n<i;n++){const i=e.getPathSize(n);if(0!==i){if(1===i){if(0===e.getSegmentCountPath(n))continue;if(e.getSegmentType(e.getPathStart(n))===s.G.enumLine)continue;if(!e.isClosedPath(n))continue}t.addPath(e,n,!0)}}return t}(e):n===s.G.enumMultiPoint||n===s.G.enumEnvelope?e:n===s.G.enumMultipatch?((0,s.t)("not implemented for multipatch"),e):e}},37444(e,t,n){n.r(t),n.d(t,{OperatorGeodesicBuffer:()=>T});var s=n(61691),i=n(55537),r=n(79187),m=n(39117),o=n(5482),a=n(88885),h=n(95213),c=n(11878),u=n(83661),l=n(31139),_=n(70007),f=n(5247),g=n(76061);class d{m_sr=null;m_gcs=null;m_transform=null;m_progressTracker;m_a=0;m_eSquared=0;m_rpu=0;m_radTolerance=0;m_q90=0;m_gcs90=0;m_gcs180=0;m_gcs360=0;m_gcs60=0;m_ellipticToGeodesicMaxRatio=0;m_curveType=0;m_bShapePreserving=!1;m_distance=0;m_absDistance=0;m_convergenceOffset=0;m_cornerStep=0;m_segmentStep=0;constructor(e){this.m_progressTracker=e}bufferPolygon(e){const t=new a.P,n=new G(this,e,t);return this.processGnomonicBufferPiecesCursor(!0,n)}bufferPolyline(e){const t=new G(this,e,null);return this.processGnomonicBufferPiecesCursor(!0,t)}bufferMultiPoint(e){const t=new k(this,e);return this.processGnomonicBufferPiecesCursor(!1,t)}bufferPoint(e){const t=e.getXY();t.scale(this.m_rpu);let n=new a.P;if(this.bufferPoint2D(t,!1,n)){const e=(0,h.e)(null,n,!0);n=(0,m.a2)(n,e,!0,!0,-1,this.m_progressTracker,0,!1)}return n=(new m.O).foldInto360RangeGeodetic(n,this.m_gcs,2),n}processGnomonicBufferPiecesCursor(e,t){const n=t;let s=n.getGnomonic();const i=(0,m.e)((0,m.ab)());let o=new m.ac,a=(new m.W).executeMany(o,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],g=[null,null,null,null,null,null],d=[null,null,null,null,null,null];let P,p,x;for(;null!==(P=n.next());){if(p=n.getGnomonic(),p!==s){if(null!==s){let t=a.next();if(o=null,a=null,null!=t){const n=(0,h.e)(i,t,!0),r=(0,h.f)(n);t=s.unproject(t,r,this.m_progressTracker),this.putInGridCursors(e,t,i,!0,l,_,f,g,d)}}null!==p&&(o=new m.ac,a=(new m.W).executeMany(o,i,this.m_progressTracker,2)),s=p}if(n.isRunningInGnomonic()){if(p.project(P),n.needsSimplify()){const e=(0,h.e)(null,P,!0);P=(0,m.a2)(P,e,!0,!0,-1,this.m_progressTracker,0,!1)}o.tick(D(P)),a.tock()}else this.putInGridCursors(e,P,i,!0,l,_,f,g,d)}let b=!1;for(let e=0;e<6;e++)if(null!=d[e]){b=!0;break}if(b){let t=!1;const r=[null,null,null,null,null,null];if(e){const s=n.m_densified;if(n.m_densified=null,null!==s){const n=new c.T;n.scale(1/this.m_rpu,1/this.m_rpu),s.applyTransformation(n),this.m_distance>0?this.putInGridCursors(e,s,i,!1,l,_,f,g,d):(this.processInGrid(e,s,!1,l,_,f,r),t=!0)}}const u=new m.ac,P=(new m.W).executeMany(u,this.m_gcs,this.m_progressTracker,2);if(null!==a){let t=a.next();o=null,a=null;const n=(0,h.e)(i,t,!0),r=(0,h.f)(n);t=s.unproject(t,r,this.m_progressTracker),this.putInGridCursors(e,t,i,!0,l,_,f,g,d)}for(let e=0;e<6;e++)if(null!=d[e]){let n=d[e].next();d[e]=null,g[e]=null,t&&null!==r[e]&&(n=(new m.U).execute(r[e],n,i,this.m_progressTracker));const s=(0,h.e)(i,n,!0),o=(0,h.f)(s);n=f[e].unproject(n,o,this.m_progressTracker),n=(new m.D).execute(n,this.m_gcs,!0,this.m_progressTracker),u.tick(D(n)),P.tock()}x=P.next()}else{let t,r=!1;if(e){let e=n.m_densified;if(n.m_densified=null,null!==e){const n=new c.T;n.scale(1/this.m_rpu,1/this.m_rpu),e.applyTransformation(n),p.project(e);const s=(0,h.e)(null,e,!0);e=(0,m.a2)(e,s,!1,!0,-1,this.m_progressTracker,0,!1),this.m_distance>0?(o.tick(D(e)),a.tock()):(t=e,r=!0)}}let u=a.next();o=null,a=null,r&&(u=(new m.U).execute(t,u,i,this.m_progressTracker));const l=(0,h.e)(i,u,!0),_=(0,h.f)(l);x=s.unproject(u,_,this.m_progressTracker),x=(new m.D).execute(x,this.m_gcs,!0,this.m_progressTracker)}return x=(new m.O).foldInto360RangeGeodetic(x,this.m_gcs,2),x}putInGridCursors(e,t,n,s,i,r,o,a,h){const c=[null,null,null,null,null,null];this.processInGrid(e,t,s,i,r,o,c);for(let e=0;e<6;e++)null!==c[e]&&(null===a[e]&&(a[e]=new m.ac,h[e]=(new m.W).executeMany(a[e],n,this.m_progressTracker,2)),a[e].tick(D(c[e])),h[e].tock())}processInGrid(e,t,n,s,i,r,o){const a=.01,c=this.insertGeodeticPointsAlongGrid(t,i,a);for(let e=0;e<6;e++){if(s[e])continue;const _=i[e].clone();_.inflateCoords(a,a);const f=(0,h.h)(t,_),g=(0,h.c)(null,f,!1).total();let d=(0,l.c)(c,_,g,Number.NaN,this.m_progressTracker);if(null!==d&&!d.isEmpty()){if(d===c&&(d=d.clone()),null===r[e]){const t=new u.P;e<3?t.setCoords(0,1):t.setCoords(0,-1);const n=new u.P;n.setAdd(i[e].getCenter(),t),r[e]=v(this.m_gcs,n)}r[e].project(d);const t=(0,h.e)(null,d,!0);d=(0,m.a2)(d,t,n,!0,-1,this.m_progressTracker,0,!1),o[e]=d}}}insertGeodeticPointsAlongGrid(e,t,n){const s=r.Envelope2D.construct(t[3].xmin,t[3].ymin,t[2].xmax,t[2].ymax),i=(0,m.ad)(this.m_gcs,s,e,!0,this.m_progressTracker),o=new a.E,h=o.addGeometry(i);return(0,m.ae)(o,h,this.m_gcs,0,2,!0,t[0].xmax+n),(0,m.ae)(o,h,this.m_gcs,0,2,!0,t[1].xmax+n),(0,m.ae)(o,h,this.m_gcs,0,2,!1,t[1].ymin+n),0!==n&&((0,m.ae)(o,h,this.m_gcs,0,2,!0,t[0].xmax-n),(0,m.ae)(o,h,this.m_gcs,0,2,!0,t[1].xmax-n),(0,m.ae)(o,h,this.m_gcs,0,2,!1,t[1].ymin-n)),o.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,n,s,i,r){const o=e[0],a=e.at(-1),h=o.y<a.y?o.y:a.y,c=o.y>a.y?o.y:a.y,l=m.a7.q(this.m_a,this.m_eSquared,h),_=m.a7.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=n-u.l,g=s+u.l,d=f-Math.PI,P=f+Math.PI,y=g+Math.PI,S=[Number.NaN],C=[Number.NaN],w=[Number.NaN],v=[Number.NaN];let D=!1;if(b(this.m_a,this.m_eSquared,this.m_rpu,this.m_absDistance,o,f,d,a,g,S,C),b(this.m_a,this.m_eSquared,this.m_rpu,this.m_absDistance,a,y,g,o,d,w,v),(g<S[0]&&S[0]<y||g<C[0]&&C[0]<y)&&(D=!0),D||(d<w[0]&&w[0]<f||d<v[0]&&v[0]<f)&&(D=!0),!D&&i)return!1;const I=[];for(let t=e.length-1;t>=0;t--)I.push(e[t]);r.setEmpty(),r.addPathPoint2D(null,0,!0);let G=0;G=p(this.m_a,this.m_eSquared,this.m_rpu,this.m_absDistance,this.m_curveType,e,f,g,i,G,r),G=x(this.m_a,this.m_eSquared,this.m_rpu,this.m_absDistance,a,g,y,this.m_cornerStep,i,G,r,S[0],C[0]),G=p(this.m_a,this.m_eSquared,this.m_rpu,this.m_absDistance,this.m_curveType,I,y,P,i,G,r),G=x(this.m_a,this.m_eSquared,this.m_rpu,this.m_absDistance,o,d,f,this.m_cornerStep,i,G,r,w[0],v[0]);let k=!1;return i||(k=this.checkAndPrepForPole(r)),D||k}bufferPoint2D(e,t,n){n.setEmpty(),n.addPathPoint2D(null,0,!0),x(this.m_a,this.m_eSquared,this.m_rpu,this.m_absDistance,e,-this.m_cornerStep,2*Math.PI,this.m_cornerStep,t,0,n);let s=!1;return t||(s=this.checkAndPrepForPole(n)),s}checkAndPrepForPole(e){const t=this.checkAndPrepForPoleTouch(e),n=this.checkAndPrepForPoleWrap(e);return t||n}checkAndPrepForPoleTouch(e){const t=new r.Envelope2D;return e.queryEnvelope(t),!(!(0,m.af)(t.ymax,this.m_gcs90)&&!(0,m.af)(t.ymin,-this.m_gcs90)||(this.prepPoleTouch(e),0))}checkAndPrepForPoleWrap(e){const t=e.getXY(0),n=e.getXY(e.getPointCount()-1);return Math.abs(t.x-n.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.P;t.insertPath2D(-1,null,0,0,!0);const n=e.getPathStart(0),s=e.getPathEnd(0),i=s-n;let r=-1;for(r=n;r<s;r++){const t=e.getXY(r),n=(0,m.af)(t.y,this.m_gcs90),s=(0,m.af)(t.y,-this.m_gcs90);if(!n&&!s)break}let o=r,h=!1,c=Number.NaN;do{const s=e.getXY(o),r=(0,m.af)(s.y,this.m_gcs90),a=(0,m.af)(s.y,-this.m_gcs90),l=n+(o+1-n)%i;if(r||a){let n=u.P.construct(c,s.y);t.insertPoint2D(0,-1,n);const i=e.getXY(l),r=(0,m.af)(i.y,this.m_gcs90),o=(0,m.af)(i.y,-this.m_gcs90);r||o||(n=u.P.construct(i.x,s.y),h?t.setXY(t.getPointCount()-1,n):t.insertPoint2D(0,-1,n)),h=!0}else t.insertPoint2D(0,-1,s),c=s.x,h=!1;o=l}while(o!==r);e.setEmpty(),e.add(t,!1)}prepSinglePoleWrap(e){const t=new a.P,n=new a.P,s=new c.T,i=e.getXY(e.getPathStart(0)),o=e.getXY(e.getPathEnd(0)-1),_=this.m_gcs360,f=this.m_gcs180,g=new r.Envelope2D;g.setCoords({xmin:-this.m_gcs180,ymin:-this.m_gcs90,xmax:this.m_gcs180,ymax:this.m_gcs90});const d=new r.Envelope2D;e.queryEnvelope(d);const P=Math.ceil(d.width()/_);let p,x;i.x>o.x?(p=-_,x=this.m_gcs90):(p=_,x=-this.m_gcs90),s.setShiftCoords(p,0),t.addPath(e,0,!0),n.add(t,!1);const b=new h.P;for(let e=0;e<P;e++)n.applyTransformation(s),n.getPointByVal(0,b),t.lineToPoint(b),t.addSegmentsFromPath(n,0,0,n.getSegmentCount()-1,!1);const y=t.getXY(0),S=t.getXY(t.getPointCount()-1);y.y=x,S.y=x,t.lineTo(S);const C=new u.P;for(C.setCoordsPoint2D(S),C.x-=.5*p;Math.abs(C.x-y.x)>f;)t.lineTo(C),C.x-=.5*p;t.lineTo(y);const w=g.getCenterX(),v=new r.Envelope2D;t.queryEnvelope(v);let D=0;const I=v.getCenter().x;I-w>f?D=-Math.ceil((I-w-f)/_):w-I>f&&(D=Math.ceil((w-I-f)/_)),0!==D&&(s.setShiftCoords(D*_,0),t.applyTransformation(s));const G=new a.E,k=G.addGeometry(t);(0,m.ae)(G,k,this.m_gcs,0,2,!0,g.xmin),(0,m.ae)(G,k,this.m_gcs,0,2,!0,g.xmax);const T=G.getGeometry(k),M=(0,h.h)(T,g);M.inflateCoords(0,1);const E=(0,h.c)(null,M,!0).total(),N=(0,l.c)(T,g,E,Number.NaN,this.m_progressTracker);e.setEmpty(),e.add(N,!1)}prepDoublePoleWrap(e){const t=this.m_gcs360,n=this.m_gcs180,s=new r.Envelope2D;s.setCoords({xmin:-this.m_gcs180,ymin:-this.m_gcs90,xmax:this.m_gcs180,ymax:this.m_gcs90});const i=s.getCenter().x,o=new r.Envelope2D;e.queryPathEnvelope(0,o);let _,f=0,g=o.getCenter().x;if(g-i>n?f=-Math.ceil((g-i-n)/t):i-g>n&&(f=Math.ceil((i-g-n)/t)),0!==f){const n=new c.T;n.setShiftCoords(f*t,0),e.getImpl().applyTransformationToPath(n,0),e.queryPathEnvelope(0,o),g=o.getCenter().x}const d=new r.Envelope2D;s.containsExclusiveEnvelope(o)?(_=!1,d.setCoords({env2D:s})):(_=!0,d.setCoords({env2D:s}),d.xmin-=t,d.xmax+=t);let P=e.createInstance();P.addPathPoint2D(null,0,!0);const p=new u.P;if(p.setCoords(d.xmin,d.ymin),P.insertPoint2D(0,-1,p),p.setCoords(d.xmin,d.ymax),P.insertPoint2D(0,-1,p),p.setCoords(.5*(d.xmin+d.xmax),d.ymax),P.insertPoint2D(0,-1,p),p.setCoords(d.xmax,d.ymax),P.insertPoint2D(0,-1,p),p.setCoords(d.xmax,d.ymin),P.insertPoint2D(0,-1,p),p.setCoords(.5*(d.xmin+d.xmax),d.ymin),P.insertPoint2D(0,-1,p),_){P.addPath(e,0,!0);const n=new c.T;g<i?n.setShiftCoords(t,0):n.setShiftCoords(-t,0),e.getImpl().applyTransformationToPath(n,0),P.addPath(e,0,!0);const r=new a.E,o=r.addGeometry(P);(0,m.ae)(r,o,this.m_gcs,0,2,!0,s.xmin),(0,m.ae)(r,o,this.m_gcs,0,2,!0,s.xmax),P=r.getGeometry(o);const u=(0,h.h)(P,s);u.inflateCoords(0,1);const _=(0,h.c)(null,u,!0).total();P=(0,l.c)(P,s,_,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 n=new u.P;n.setCoords(0,10*this.m_rpu);const s=0;let i=45*this.m_rpu;const r=(0,o.mS)(e,new u.S(new m.ag,new m.ag),!1),a=(0,o.mS)(e,new u.S(new m.ag,new m.ag),!1),h=(0,o.mS)(e,new u.S(new m.ag,new m.ag),!1),c=(0,o.mS)(e,new u.S(new m.ag,new m.ag),!1),l=new u.P,_=new u.P,f=new u.P,g=new u.P;for(m.ah.geodesicCoordinate(this.m_a,this.m_eSquared,n.x,n.y,t,s,r.at(0),r.at(1)),l.setCoords(r.at(0).val,r.at(1).val),m.ah.geodesicCoordinate(this.m_a,this.m_eSquared,n.x,n.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*(s+i);m.ah.geodesicCoordinate(this.m_a,this.m_eSquared,n.x,n.y,t,r,h.at(0),h.at(1)),f.setCoords(h.at(0).val,h.at(1).val);const u=(0,o.mS)(e,new m.ag,!1),d=(0,o.mS)(e,new m.ag,!1);m.ah.geodeticDistance(this.m_a,this.m_eSquared,l.x,l.y,_.x,_.y,u,d,null,2),m.ah.geodeticCoordinate(this.m_a,this.m_eSquared,l.x,l.y,.5*u.val,d.val,c.at(0),c.at(1),2),g.setCoords(c.at(0).val,c.at(1).val);const P=(0,o.mS)(e,new m.ag,!1);if(m.ah.geodeticDistance(this.m_a,this.m_eSquared,f.x,f.y,g.x,g.y,P,null,null,2),P.val<=this.m_convergenceOffset)break;i*=.9,m.ah.geodesicCoordinate(this.m_a,this.m_eSquared,n.x,n.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,o.hk)(e)}}const d=i-s,P=2*Math.PI/Math.ceil(2*Math.PI/d);this.m_cornerStep=P}catch(t){e.error=t,e.hasError=!0}finally{(0,o.hk)(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 n=new u.P,s=new u.P;n.setCoords(0,10*this.m_rpu),s.setCoords(10*this.m_rpu,10*this.m_rpu);const i=(0,o.mS)(e,new m.ag,!1),r=(0,o.mS)(e,new m.ag,!1),a=(0,o.mS)(e,new m.ag,!1);m.ah.geodeticDistance(this.m_a,this.m_eSquared,n.x,n.y,s.x,s.y,a,i,r,this.m_curveType);const h=(0,o.mS)(e,new u.S(new m.ag,new m.ag),!1),c=(0,o.mS)(e,new u.S(new m.ag,new m.ag),!1),l=new u.P,_=(0,o.mS)(e,new m.ag,!1),f=(0,o.mS)(e,new u.S(new m.ag,new m.ag),!1),g=(0,o.mS)(e,new u.S(new m.ag,new m.ag),!1),d=(0,o.mS)(e,new u.S(new m.ag,new m.ag),!1),P=(0,o.mS)(e,new u.S(new m.ag,new m.ag),!1),p=new u.P,x=new u.P,b=new u.P,y=new u.P,S=0;let C=1;const w=i.val,v=r.val,D=w-.5*Math.PI,I=v+.5*Math.PI,G=a.val;for(m.ah.geodesicCoordinate(this.m_a,this.m_eSquared,n.x,n.y,t,D,f.at(0),f.at(1)),p.setCoords(f.at(0).val,f.at(1).val),m.ah.geodesicCoordinate(this.m_a,this.m_eSquared,s.x,s.y,t,I,g.at(0),g.at(1)),x.setCoords(g.at(0).val,g.at(1).val);;){const e={stack:[],error:void 0,hasError:!1};try{const i=.5*(S+C);m.ah.geodeticCoordinate(this.m_a,this.m_eSquared,n.x,n.y,i*G,w,h.at(0),h.at(1),this.m_curveType),l.setCoords(h.at(0).val,h.at(1).val),m.ah.geodeticDistance(this.m_a,this.m_eSquared,n.x,n.y,l.x,l.y,null,null,_,this.m_curveType);const r=_.val+.5*Math.PI;m.ah.geodesicCoordinate(this.m_a,this.m_eSquared,l.x,l.y,t,r,d.at(0),d.at(1)),b.setCoords(d.at(0).val,d.at(1).val);const a=(0,o.mS)(e,new m.ag,!1),u=(0,o.mS)(e,new m.ag,!1);m.ah.geodeticDistance(this.m_a,this.m_eSquared,p.x,p.y,x.x,x.y,a,u,null,2),m.ah.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,o.mS)(e,new m.ag,!1);if(m.ah.geodeticDistance(this.m_a,this.m_eSquared,b.x,b.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,m.ah.geodeticCoordinate(this.m_a,this.m_eSquared,n.x,n.y,C*G,w,c.at(0),c.at(1),this.m_curveType),s.setCoords(c.at(0).val,c.at(1).val);const i=(0,o.mS)(e,new m.ag,!1);m.ah.geodeticDistance(this.m_a,this.m_eSquared,n.x,n.y,s.x,s.y,null,null,i,this.m_curveType);const r=i.val+.5*Math.PI;m.ah.geodesicCoordinate(this.m_a,this.m_eSquared,s.x,s.y,t,r,g.at(0),g.at(1)),x.setCoords(g.at(0).val,g.at(1).val)}catch(t){e.error=t,e.hasError=!0}finally{(0,o.hk)(e)}}}catch(t){e.error=t,e.hasError=!0}finally{(0,o.hk)(e)}}let k=C*G;k>1e5&&(k=1e5),this.m_segmentStep=k}catch(t){e.error=t,e.hasError=!0}finally{(0,o.hk)(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 P(e,t,n,s,o,c,l){if(e.isEmpty())return new a.P({vd:e.getDescription()});let _=e;if((0,i.n)(_)){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,m.y)(t,g.m_gcs,null);const P=(0,m.r)();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=m.a7.q90(g.m_a,g.m_eSquared),g.m_ellipticToGeodesicMaxRatio=.5*g.m_a*Math.PI/g.m_q90;const x=g.m_gcs.getTolerance(0);g.m_radTolerance=x*g.m_rpu,4===n?(g.m_curveType=2,g.m_bShapePreserving=!0):(g.m_curveType=n,g.m_bShapePreserving=!1),g.m_distance=s,g.m_absDistance=Math.abs(s),Number.isNaN(o)||o<=0?g.setConvergenceOffset():g.m_convergenceOffset=Math.max(o,.001),g.m_convergenceOffset/=c;let b,y=_.getGeometryType();if((0,i.h)(y)){const e=new a.a({vd:_.getDescription()});e.addSegment(_,!0),b=e,y=i.G.enumPolyline}else if(y===i.G.enumEnvelope){const e=_,t=new r.Envelope2D;e.queryEnvelope(t);const n=(0,h.f)((0,h.c)(g.m_sr,p,!0));if(t.minDimension()<=n)if(0===t.maxDimension()){const t=new h.P({vd:_.getDescription()});e.getCenter(t),b=t,y=i.G.enumPoint}else{const t=new a.a({vd:_.getDescription()});t.addEnvelope(e,!1),b=t,y=i.G.enumPolyline}else{const t=new a.P({vd:_.getDescription()});t.addEnvelope(e,!1),b=t,y=i.G.enumPolygon}}else b=_;if(g.setMinCornerStep(),(0,i.f)(y)||g.setMinSegmentStep(),g.m_absDistance<=.5*g.m_convergenceOffset)return y!==i.G.enumPolygon?new a.P({vd:b.getDescription()}):g.m_bShapePreserving?b:(0,m.a8)(b,g.m_sr,g.m_curveType,g.m_segmentStep,-1,l);if(g.m_distance<0&&y!==i.G.enumPolygon)return new a.P({vd:b.getDescription()});if(g.m_bShapePreserving&&(0,i.j)(y)){const e=(0,m.a8)(b,t,4,Number.NaN,g.m_convergenceOffset,l);b=(new m.O).execute(e,g.m_transform,l)}else b=(new m.O).execute(b,g.m_transform,l);if(b=(0,m.a9)(b,g.m_gcs),b.isEmpty())return new a.P({vd:b.getDescription()});!g.m_bShapePreserving&&(0,i.j)(y)&&(b=(0,m.aa)(g.m_rpu,b)),b=function(e,t){const n=e.getGeometryType();let s;if(s=(0,i.j)(n)?e.getPathCount():n===i.G.enumMultiPoint?e.getPointCount():1,1===s)return e;const m=[],o=[];for(let a=0;a<s;a++){m.push(a);const s=new u.P;if((0,i.j)(n)){const t=new r.Envelope2D;e.queryPathEnvelope(a,t),s.assign(t.getCenter())}else s.assign(e.getXY(a));const h=t.toGeohash(s);o.push(h)}m.sort((e,t)=>o[e]<o[t]?-1:o[e]>o[t]?1:0);const a=e.createInstance();for(let t=0;t<s;t++){const s=m[t];(0,i.j)(n)?a.addPath(e,s,!0):a.addPoints(e,s,s+1)}return a}(b,g.m_gcs);let S=new a.P;switch(y){case i.G.enumPolygon:S=g.bufferPolygon(b);break;case i.G.enumPolyline:S=g.bufferPolyline(b);break;case i.G.enumMultiPoint:S=g.bufferMultiPoint(b);break;case i.G.enumPoint:S=g.bufferPoint(b);break;default:(0,i.o)("")}const C=(new m.O).execute(S,g.m_transform.getInverse(),l);return C.mergeVertexDescription(b.getDescription()),C}function p(e,t,n,s,i,r,a,h,c,l,_){const f={stack:[],error:void 0,hasError:!1};try{const g=new u.P;g.setNAN(),c||_.getPointCount()>0&&(g.setCoordsPoint2D(_.getXY(_.getPointCount()-1)),g.scale(n));const d=(0,o.mS)(f,new m.ag,!1),P=(0,o.mS)(f,new u.S(new m.ag,new m.ag),!1),p=new u.P,x=new u.P,b=r.at(-1),S=1/n;for(let n=0;n<r.length;n++){const o=r[n];let u;0===n?u=a:n===r.length-1?u=h:(m.ah.geodeticDistance(e,t,b.x,b.y,o.x,o.y,null,null,d,i),u=d.val-.5*Math.PI),m.ah.geodesicCoordinate(e,t,o.x,o.y,s,u,P.at(0),P.at(1)),c?x.setCoords(P.at(0).val,P.at(1).val):(p.setCoords(P.at(0).val,P.at(1).val),l=y(o.x,p.x,g.x,l),x.setCoords(l+p.x,p.y),g.setCoordsPoint2D(x)),x.scale(S),_.insertPoint2D(0,-1,x)}return l}catch(e){f.error=e,f.hasError=!0}finally{(0,o.hk)(f)}}function x(e,t,n,s,i,r,a,h,c,l,_,f=Number.NaN,g=Number.NaN){const d={stack:[],error:void 0,hasError:!1};try{if(a-r<h)return l;const P=(0,o.mS)(d,new u.S(new m.ag,new m.ag),!1),p=new u.P,x=new u.P,b=new u.P;x.setNAN(),c||_.getPointCount()>0&&(x.setCoordsPoint2D(_.getXY(_.getPointCount()-1)),x.scale(n));let S=Math.ceil(r/h),C=S++*h;C===r&&(C=S++*h);let w=r;const v=1/n;for(;C<a+h&&(w<f&&f<C?(C=f,S--):w<g&&g<C&&(C=g,S--),!(C>=a));)m.ah.geodesicCoordinate(e,t,i.x,i.y,s,C,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=y(i.x,p.x,x.x,l),b.setCoords(l+p.x,p.y),x.setCoordsPoint2D(b)),b.scale(v),_.insertPoint2D(0,-1,b),w=C,C=S++*h;return l}catch(e){d.error=e,d.hasError=!0}finally{(0,o.hk)(d)}}function b(e,t,n,s,i,r,a,h,c,l,_){const f={stack:[],error:void 0,hasError:!1};try{const n=new u.P,g=new u.P,d=(0,o.mS)(f,new u.S(new m.ag,new m.ag),!1);m.ah.geodesicCoordinate(e,t,i.x,i.y,s,r,d.at(0),d.at(1)),n.setCoords(d.at(0).val,d.at(1).val),m.ah.geodesicCoordinate(e,t,i.x,i.y,s,a,d.at(0),d.at(1)),g.setCoords(d.at(0).val,d.at(1).val);const P=(0,o.mS)(f,new m.ag,!1);for(m.ah.geodeticDistance(e,t,h.x,h.y,n.x,n.y,null,P,null,0),l[0]=P.val,m.ah.geodeticDistance(e,t,h.x,h.y,g.x,g.y,null,P,null,0),_[0]=P.val;l[0]<=_[0];)l[0]+=u.n;for(;l[0]>_[0];)l[0]-=u.n;for(;l[0]>=c;)l[0]-=u.n,_[0]-=u.n;for(;l[0]<c;)l[0]+=u.n,_[0]+=u.n}catch(e){f.error=e,f.hasError=!0}finally{(0,o.hk)(f)}}function y(e,t,n,s){if(Number.isNaN(n)){for(;s+t-e>Math.PI;)s-=u.n;for(;e-(s+t)>Math.PI;)s+=u.n;return s}return s+t-n>Math.PI?s-=u.n:n-(s+t)>Math.PI&&(s+=u.n),s}function S(e,t,n,s,i,r){const a={stack:[],error:void 0,hasError:!1};try{if(s>=r)return!1;const h=n[0],c=n.at(-1),u=(0,o.mS)(a,new m.ag,!1),l=(0,o.mS)(a,new m.ag,!1),_=(0,o.mS)(a,new m.ag,!1);m.ah.greatEllipticDistance(e,t,i.x,i.y,h.x,h.y,u,null,null),m.ah.greatEllipticDistance(e,t,i.x,i.y,c.x,c.y,l,null,null),m.ah.greatEllipticDistance(e,t,h.x,h.y,c.x,c.y,_,null,null);let f=Math.min(u.val,l.val)+_.val,g=f+s;if(g<r)return!0;const d=(0,o.mS)(a,new m.ag,!1);f=Math.max(u.val,l.val);for(let s=1;s<n.length-1;s++){const r=n[s];m.ah.greatEllipticDistance(e,t,i.x,i.y,r.x,r.y,d,null,null),d.val>f&&(f=d.val)}return g=f+s,g<r}catch(e){a.error=e,a.hasError=!0}finally{(0,o.hk)(a)}}function C(e,t,n,s,i,r,o,a){let h;if(s.length%2==0){const e=s.length>>1,t=s[e],n=s[e-1];h=u.P.lerp(t,n,.5)}else h=s[s.length-1>>1].clone();const c=h.clone(),l=(0,m.ai)(e,t,c,75/180*Math.PI);return!!S(e,t,s,i,c,l)&&(null!==r&&(r.setCoordsPoint2D(h),r.scale(1/n)),null!==o&&o.setCoordsPoint2D(c),null!==a&&(a[0]=l),!0)}function w(e,t,n,s,i,r){const a={stack:[],error:void 0,hasError:!1};try{if(s>=r)return!1;const h=(0,o.mS)(a,new m.ag,!1);return m.ah.greatEllipticDistance(e,t,i.x,i.y,n.x,n.y,h,null,null),h.val+s<r}catch(e){a.error=e,a.hasError=!0}finally{(0,o.hk)(a)}}function v(e,t){return new m.an(e,t)}function D(e){return(0,h.j)(e,0)||(0,h.s)(e,0),e}class I{m_bRunningInGnomonic=!1;m_bNeedsSimplify=!1;m_gnomonic=null;m_gnomonicCenterRad=new u.P;m_minGnomonicRadius=Number.NaN;m_progressTracker;constructor(e){this.m_progressTracker=e}isRunningInGnomonic(){return this.m_bRunningInGnomonic}needsSimplify(){return this.m_bNeedsSimplify}getGnomonic(){return this.m_gnomonic}}class G extends I{m_bufferer;m_multiPath;m_segIter=null;m_bNextSegmentCannotJoin=!1;m_currentDensifiedDelta=[0];m_currentBufferedDelta=0;m_lastAzimuth=0;m_startAzimuth=[0];m_endAzimuth=[0];m_numWinds=0;m_debugCounter=0;m_bufferHelper=new a.P;m_densifiedPoints=[];m_densified;constructor(e,t,n){super(e.m_progressTracker),this.m_bufferer=e,this.m_multiPath=t,this.m_densified=n,this.m_bNeedsSimplify=!0;const s=new r.Envelope2D;this.m_multiPath.queryEnvelope(s);const i=s.getCenter(),o=i.clone();o.scale(this.m_bufferer.m_rpu),this.m_gnomonic=v(this.m_bufferer.m_gcs,i),this.m_gnomonicCenterRad=o.clone(),this.m_minGnomonicRadius=(0,m.ai)(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,o,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 n=0;const s=new u.P,i=new u.P;for(;this.m_segIter.hasNextSegment()&&this.m_numWinds<16;){const e=this.m_segIter.nextSegment();if(s.setCoordsPoint2D(e.getStartXY()),i.setCoordsPoint2D(e.getEndXY()),s.scale(this.m_bufferer.m_rpu),i.scale(this.m_bufferer.m_rpu),(0,m.aj)(s,i))s.x=i.x;else if((0,m.ak)(s,i))i.x=s.x;else{let e=-1,t=-1;const n=this.m_segIter.getPathIndex(),r=this.m_multiPath.getPathStart(n),o=this.m_multiPath.getPathEnd(n);if(e=this.m_segIter.getStartPointIndex()-1,t=this.m_segIter.getEndPointIndex()+1,e<r&&(e=this.m_multiPath.isClosedPath(n)?o-1:-1),t>o-1&&(t=this.m_multiPath.isClosedPath(n)?r:-1),-1!==e){const t=this.m_multiPath.getXY(e);t.scale(this.m_bufferer.m_rpu),(0,m.ak)(t,s)&&(s.x=t.x)}if(-1!==t){const e=this.m_multiPath.getXY(t);e.scale(this.m_bufferer.m_rpu),(0,m.aj)(i,e)&&(i.x=e.x)}}this.m_densifiedPoints.length=0;const r=(0,m.al)(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,this.m_bufferer.m_curveType,s,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===n)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(C(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,m.am)(s,i)?(this.m_bufferHelper.setEmpty(),this.m_bufferer.bufferPoint2D(s,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.P,t.addPathPoint2D(null,0,!0)),this.addJoinAndBufferLeftSide(t),n++}if(this.m_currentDensifiedDelta=[0],n>0){const e=this.m_segIter.getStartPointIndex(),r=this.m_segIter.getPathIndex();for(;n>0;){if(this.m_segIter.previousSegment(),s.setCoordsPoint2D(this.m_multiPath.getXY(this.m_segIter.getStartPointIndex())),i.setCoordsPoint2D(this.m_multiPath.getXY(this.m_segIter.getEndPointIndex())),s.scale(this.m_bufferer.m_rpu),i.scale(this.m_bufferer.m_rpu),this.m_bRunningInGnomonic)if((0,m.aj)(s,i))s.x=i.x;else if((0,m.ak)(s,i))i.x=s.x;else{let e=-1,t=-1;const n=this.m_segIter.getPathIndex(),r=this.m_multiPath.getPathStart(n),o=this.m_multiPath.getPathEnd(n);if(e=this.m_segIter.getStartPointIndex()-1,t=this.m_segIter.getEndPointIndex()+1,e<r&&(e=this.m_multiPath.isClosedPath(n)?o-1:-1),t>o-1&&(t=this.m_multiPath.isClosedPath(n)?r:-1),-1!==e){const t=this.m_multiPath.getXY(e);t.scale(this.m_bufferer.m_rpu),(0,m.ak)(t,s)&&(s.x=t.x)}if(-1!==t){const e=this.m_multiPath.getXY(t);e.scale(this.m_bufferer.m_rpu),(0,m.aj)(i,e)&&(i.x=e.x)}}this.m_densifiedPoints.length=0,(0,m.al)(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,this.m_bufferer.m_curveType,i,s,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),n--}return s.setCoordsPoint2D(this.m_multiPath.getXY(this.m_segIter.getStartPointIndex())),s.scale(this.m_bufferer.m_rpu),this.m_currentBufferedDelta=x(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,this.m_bufferer.m_rpu,this.m_bufferer.m_absDistance,s,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&&S(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,n=new u.P,s=[0];return C(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,n,s)?(this.m_gnomonicCenterRad.setCoordsPoint2D(n),this.m_minGnomonicRadius=s[0],this.m_gnomonic=v(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 n=Number.NaN,s=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]?(n=this.m_lastAzimuth+u.l,s=n+Math.PI-(this.m_lastAzimuth-this.m_startAzimuth[0])):(n=this.m_lastAzimuth+u.l,s=n+Math.PI-(u.n-(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(s-n)<=.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.n:t.x-this.m_currentBufferedDelta>Math.PI&&(this.m_currentBufferedDelta+=u.n)}s=.5*(s+n)}else if(r){const n=new u.P;n.setCoordsPoint2D(t),n.scale(1/this.m_bufferer.m_rpu),e.insertPoint2D(0,-1,n)}else x(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,this.m_bufferer.m_rpu,this.m_bufferer.m_absDistance,this.m_densifiedPoints[0],n,s,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,s,i,this.m_bRunningInGnomonic,this.m_currentBufferedDelta,e),this.m_lastAzimuth=this.m_endAzimuth[0]}}class k extends I{m_bufferer;m_multiPoint;m_pointIndex=-1;constructor(e,t){super(e.m_progressTracker),this.m_bufferer=e,this.m_multiPoint=t,this.m_bNeedsSimplify=!1;const n=new r.Envelope2D;this.m_multiPoint.queryEnvelope(n);const s=n.getCenter(),i=s.clone();i.scale(this.m_bufferer.m_rpu),this.m_gnomonic=v(this.m_bufferer.m_gcs,s),this.m_gnomonicCenterRad=i.clone(),this.m_minGnomonicRadius=(0,m.ai)(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.P,n=this.m_bufferer.bufferPoint2D(e,this.m_bRunningInGnomonic,t);return this.m_bNeedsSimplify=n,t}isPointBufferInCurrentGnomonic(e){return null!==this.m_gnomonic&&w(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,n=new u.P,s=[0];return function(e,t,n,s,i,r,o,a){const h=(0,m.ai)(e,t,s,75/180*Math.PI);return!!w(e,t,s,i,s,h)&&(null!==r&&(r.setCoordsPoint2D(s),r.scale(1/n)),null!==o&&o.setCoordsPoint2D(s),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,n,s)?(this.m_gnomonicCenterRad.setCoordsPoint2D(n),this.m_minGnomonicRadius=s[0],this.m_gnomonic=v(this.m_bufferer.m_gcs,t),!0):(this.m_gnomonic=null,!1)}}class T{getOperatorType(){return 10110}supportsCurves(){return!0}accelerateGeometry(e,t,n){return!1}canAccelerateGeometry(e){return!1}executeMany(e,t,n,s,i,r,o,a){if(o){const o=new M(e,t,n,s,i,!1,r,a);return(new m.W).executeMany(o,t,a)}return new M(e,t,n,s,i,!1,r,a)}execute(e,t,n,s,r,m,o){const a=new g.S([e]),h=[s],c=this.executeMany(a,t,n,h,r,!1,m,o).next();return c||(0,i.d)("geodesic buffer null output"),c}}class M extends s.G{m_inputGeoms;m_spatialReference;m_curveType;m_progressTracker;m_distances;m_convergenceOffset;m_currentUnionEnvelope2D=new r.Envelope2D;m_bOutlineOnly;m_bUnion;m_index=-1;m_dindex=-1;constructor(e,t,n,s,r,m,o,a){super(),this.m_progressTracker=a,m&&(0,i.t)(""),t||(0,i.a)(""),0===t.getCoordinateSystemType()&&(0,i.a)(""),this.m_inputGeoms=e,this.m_spatialReference=t,this.m_curveType=n,this.m_distances=s,this.m_convergenceOffset=r,this.m_bOutlineOnly=m,this.m_bUnion=o}next(){let e;for(;e=this.m_inputGeoms.next();)return(0,i.c)(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,n,s,r,m){s<Number.MAX_VALUE&&s>-Number.MAX_VALUE||(0,i.a)("Geodesic_bufferer.buffer - bad distance"),(0,i.c)(e);const o=(0,_.c)(e),a=o.getGeometryType();if((0,i.i)(a)){const e=o.getPointCount(),h=8e6;if(Math.abs(s)>h&&(e>50||a!==i.G.enumMultiPoint&&4===n&&e>2)){let e=o;const i=s>0?1:-1,a=7e6;let c=s,u=1;do{u++,c=(Math.abs(c)-a)*i}while(Math.abs(c)>h);c=s;for(let s=0;s<u-1;s++)e=P(e,t,n,a*i,r,u,m),c=(Math.abs(c)-a)*i;return e=P(e,t,n,c,r,u,m),e}}return P(o,t,n,s,r,1,m)}(e,this.m_spatialReference,this.m_curveType,t,this.m_convergenceOffset,this.m_progressTracker)}}}}]);
1
+ "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[7444],{70007(e,t,n){n.d(t,{c:()=>i});var s=n(55537);function i(e,t){const n=e.getGeometryType();return n===s.G.enumPoint?e:(0,s.j)(n)?function(e){if(function(e){for(let t=0,n=e.getPathCount();t<n;t++){const n=e.getPathSize(t);if(0===n)return!1;if(1===n){if(0===e.getSegmentCountPath(t))return!1;if(e.getSegmentType(e.getPathStart(t))===s.G.enumLine)return!1;if(!e.isClosedPath(t))return!1}}return!0}(e))return e;const t=e.createInstance();for(let n=0,i=e.getPathCount();n<i;n++){const i=e.getPathSize(n);if(0!==i){if(1===i){if(0===e.getSegmentCountPath(n))continue;if(e.getSegmentType(e.getPathStart(n))===s.G.enumLine)continue;if(!e.isClosedPath(n))continue}t.addPath(e,n,!0)}}return t}(e):n===s.G.enumMultiPoint||n===s.G.enumEnvelope?e:n===s.G.enumMultipatch?((0,s.t)("not implemented for multipatch"),e):e}},37444(e,t,n){n.r(t),n.d(t,{OperatorGeodesicBuffer:()=>T});var s=n(61691),i=n(55537),r=n(79187),m=n(39117),o=n(5482),a=n(88885),h=n(95213),c=n(11878),u=n(83661),l=n(31139),_=n(70007),f=n(5247),d=n(76061);class g{m_sr=null;m_gcs=null;m_transform=null;m_progressTracker;m_a=0;m_eSquared=0;m_rpu=0;m_radTolerance=0;m_q90=0;m_gcs90=0;m_gcs180=0;m_gcs360=0;m_gcs60=0;m_ellipticToGeodesicMaxRatio=0;m_curveType=0;m_bShapePreserving=!1;m_distance=0;m_absDistance=0;m_convergenceOffset=0;m_cornerStep=0;m_segmentStep=0;constructor(e){this.m_progressTracker=e}bufferPolygon(e){const t=new a.P,n=new G(this,e,t);return this.processGnomonicBufferPiecesCursor(!0,n)}bufferPolyline(e){const t=new G(this,e,null);return this.processGnomonicBufferPiecesCursor(!0,t)}bufferMultiPoint(e){const t=new k(this,e);return this.processGnomonicBufferPiecesCursor(!1,t)}bufferPoint(e){const t=e.getXY();t.scale(this.m_rpu);let n=new a.P;if(this.bufferPoint2D(t,!1,n)){const e=(0,h.e)(null,n,!0);n=(0,m.a6)(n,e,!0,!0,-1,this.m_progressTracker,0,!1)}return n=(new m.O).foldInto360RangeGeodetic(n,this.m_gcs,2),n}processGnomonicBufferPiecesCursor(e,t){const n=t;let s=n.getGnomonic();const i=(0,m.e)((0,m.ad)());let o=new m.ae,a=(new m._).executeMany(o,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,x;for(;null!==(P=n.next());){if(p=n.getGnomonic(),p!==s){if(null!==s){let t=a.next();if(o=null,a=null,null!=t){const n=(0,h.e)(i,t,!0),r=(0,h.f)(n);t=s.unproject(t,r,this.m_progressTracker),this.putInGridCursors(e,t,i,!0,l,_,f,d,g)}}null!==p&&(o=new m.ae,a=(new m._).executeMany(o,i,this.m_progressTracker,2)),s=p}if(n.isRunningInGnomonic()){if(p.project(P),n.needsSimplify()){const e=(0,h.e)(null,P,!0);P=(0,m.a6)(P,e,!0,!0,-1,this.m_progressTracker,0,!1)}o.tick(D(P)),a.tock()}else this.putInGridCursors(e,P,i,!0,l,_,f,d,g)}let b=!1;for(let e=0;e<6;e++)if(null!=g[e]){b=!0;break}if(b){let t=!1;const r=[null,null,null,null,null,null];if(e){const s=n.m_densified;if(n.m_densified=null,null!==s){const n=new c.T;n.scale(1/this.m_rpu,1/this.m_rpu),s.applyTransformation(n),this.m_distance>0?this.putInGridCursors(e,s,i,!1,l,_,f,d,g):(this.processInGrid(e,s,!1,l,_,f,r),t=!0)}}const u=new m.ae,P=(new m._).executeMany(u,this.m_gcs,this.m_progressTracker,2);if(null!==a){let t=a.next();o=null,a=null;const n=(0,h.e)(i,t,!0),r=(0,h.f)(n);t=s.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 n=g[e].next();g[e]=null,d[e]=null,t&&null!==r[e]&&(n=(new m.Y).execute(r[e],n,i,this.m_progressTracker));const s=(0,h.e)(i,n,!0),o=(0,h.f)(s);n=f[e].unproject(n,o,this.m_progressTracker),n=(new m.H).execute(n,this.m_gcs,!0,this.m_progressTracker),u.tick(D(n)),P.tock()}x=P.next()}else{let t,r=!1;if(e){let e=n.m_densified;if(n.m_densified=null,null!==e){const n=new c.T;n.scale(1/this.m_rpu,1/this.m_rpu),e.applyTransformation(n),p.project(e);const s=(0,h.e)(null,e,!0);e=(0,m.a6)(e,s,!1,!0,-1,this.m_progressTracker,0,!1),this.m_distance>0?(o.tick(D(e)),a.tock()):(t=e,r=!0)}}let u=a.next();o=null,a=null,r&&(u=(new m.Y).execute(t,u,i,this.m_progressTracker));const l=(0,h.e)(i,u,!0),_=(0,h.f)(l);x=s.unproject(u,_,this.m_progressTracker),x=(new m.H).execute(x,this.m_gcs,!0,this.m_progressTracker)}return x=(new m.O).foldInto360RangeGeodetic(x,this.m_gcs,2),x}putInGridCursors(e,t,n,s,i,r,o,a,h){const c=[null,null,null,null,null,null];this.processInGrid(e,t,s,i,r,o,c);for(let e=0;e<6;e++)null!==c[e]&&(null===a[e]&&(a[e]=new m.ae,h[e]=(new m._).executeMany(a[e],n,this.m_progressTracker,2)),a[e].tick(D(c[e])),h[e].tock())}processInGrid(e,t,n,s,i,r,o){const a=.01,c=this.insertGeodeticPointsAlongGrid(t,i,a);for(let e=0;e<6;e++){if(s[e])continue;const _=i[e].clone();_.inflateCoords(a,a);const f=(0,h.h)(t,_),d=(0,h.c)(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 n=new u.P;n.setAdd(i[e].getCenter(),t),r[e]=v(this.m_gcs,n)}r[e].project(g);const t=(0,h.e)(null,g,!0);g=(0,m.a6)(g,t,n,!0,-1,this.m_progressTracker,0,!1),o[e]=g}}}insertGeodeticPointsAlongGrid(e,t,n){const s=r.Envelope2D.construct(t[3].xmin,t[3].ymin,t[2].xmax,t[2].ymax),i=(0,m.af)(this.m_gcs,s,e,!0,this.m_progressTracker),o=new a.E,h=o.addGeometry(i);return(0,m.ag)(o,h,this.m_gcs,0,2,!0,t[0].xmax+n),(0,m.ag)(o,h,this.m_gcs,0,2,!0,t[1].xmax+n),(0,m.ag)(o,h,this.m_gcs,0,2,!1,t[1].ymin+n),0!==n&&((0,m.ag)(o,h,this.m_gcs,0,2,!0,t[0].xmax-n),(0,m.ag)(o,h,this.m_gcs,0,2,!0,t[1].xmax-n),(0,m.ag)(o,h,this.m_gcs,0,2,!1,t[1].ymin-n)),o.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,n,s,i,r){const o=e[0],a=e.at(-1),h=o.y<a.y?o.y:a.y,c=o.y>a.y?o.y:a.y,l=m.a9.q(this.m_a,this.m_eSquared,h),_=m.a9.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=n-u.l,d=s+u.l,g=f-Math.PI,P=f+Math.PI,y=d+Math.PI,S=[Number.NaN],C=[Number.NaN],w=[Number.NaN],v=[Number.NaN];let D=!1;if(b(this.m_a,this.m_eSquared,this.m_rpu,this.m_absDistance,o,f,g,a,d,S,C),b(this.m_a,this.m_eSquared,this.m_rpu,this.m_absDistance,a,y,d,o,g,w,v),(d<S[0]&&S[0]<y||d<C[0]&&C[0]<y)&&(D=!0),D||(g<w[0]&&w[0]<f||g<v[0]&&v[0]<f)&&(D=!0),!D&&i)return!1;const I=[];for(let t=e.length-1;t>=0;t--)I.push(e[t]);r.setEmpty(),r.addPathPoint2D(null,0,!0);let G=0;G=p(this.m_a,this.m_eSquared,this.m_rpu,this.m_absDistance,this.m_curveType,e,f,d,i,G,r),G=x(this.m_a,this.m_eSquared,this.m_rpu,this.m_absDistance,a,d,y,this.m_cornerStep,i,G,r,S[0],C[0]),G=p(this.m_a,this.m_eSquared,this.m_rpu,this.m_absDistance,this.m_curveType,I,y,P,i,G,r),G=x(this.m_a,this.m_eSquared,this.m_rpu,this.m_absDistance,o,g,f,this.m_cornerStep,i,G,r,w[0],v[0]);let k=!1;return i||(k=this.checkAndPrepForPole(r)),D||k}bufferPoint2D(e,t,n){n.setEmpty(),n.addPathPoint2D(null,0,!0),x(this.m_a,this.m_eSquared,this.m_rpu,this.m_absDistance,e,-this.m_cornerStep,2*Math.PI,this.m_cornerStep,t,0,n);let s=!1;return t||(s=this.checkAndPrepForPole(n)),s}checkAndPrepForPole(e){const t=this.checkAndPrepForPoleTouch(e),n=this.checkAndPrepForPoleWrap(e);return t||n}checkAndPrepForPoleTouch(e){const t=new r.Envelope2D;return e.queryEnvelope(t),!(!(0,m.ah)(t.ymax,this.m_gcs90)&&!(0,m.ah)(t.ymin,-this.m_gcs90)||(this.prepPoleTouch(e),0))}checkAndPrepForPoleWrap(e){const t=e.getXY(0),n=e.getXY(e.getPointCount()-1);return Math.abs(t.x-n.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.P;t.insertPath2D(-1,null,0,0,!0);const n=e.getPathStart(0),s=e.getPathEnd(0),i=s-n;let r=-1;for(r=n;r<s;r++){const t=e.getXY(r),n=(0,m.ah)(t.y,this.m_gcs90),s=(0,m.ah)(t.y,-this.m_gcs90);if(!n&&!s)break}let o=r,h=!1,c=Number.NaN;do{const s=e.getXY(o),r=(0,m.ah)(s.y,this.m_gcs90),a=(0,m.ah)(s.y,-this.m_gcs90),l=n+(o+1-n)%i;if(r||a){let n=u.P.construct(c,s.y);t.insertPoint2D(0,-1,n);const i=e.getXY(l),r=(0,m.ah)(i.y,this.m_gcs90),o=(0,m.ah)(i.y,-this.m_gcs90);r||o||(n=u.P.construct(i.x,s.y),h?t.setXY(t.getPointCount()-1,n):t.insertPoint2D(0,-1,n)),h=!0}else t.insertPoint2D(0,-1,s),c=s.x,h=!1;o=l}while(o!==r);e.setEmpty(),e.add(t,!1)}prepSinglePoleWrap(e){const t=new a.P,n=new a.P,s=new c.T,i=e.getXY(e.getPathStart(0)),o=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,x;i.x>o.x?(p=-_,x=this.m_gcs90):(p=_,x=-this.m_gcs90),s.setShiftCoords(p,0),t.addPath(e,0,!0),n.add(t,!1);const b=new h.P;for(let e=0;e<P;e++)n.applyTransformation(s),n.getPointByVal(0,b),t.lineToPoint(b),t.addSegmentsFromPath(n,0,0,n.getSegmentCount()-1,!1);const y=t.getXY(0),S=t.getXY(t.getPointCount()-1);y.y=x,S.y=x,t.lineTo(S);const C=new u.P;for(C.setCoordsPoint2D(S),C.x-=.5*p;Math.abs(C.x-y.x)>f;)t.lineTo(C),C.x-=.5*p;t.lineTo(y);const w=d.getCenterX(),v=new r.Envelope2D;t.queryEnvelope(v);let D=0;const I=v.getCenter().x;I-w>f?D=-Math.ceil((I-w-f)/_):w-I>f&&(D=Math.ceil((w-I-f)/_)),0!==D&&(s.setShiftCoords(D*_,0),t.applyTransformation(s));const G=new a.E,k=G.addGeometry(t);(0,m.ag)(G,k,this.m_gcs,0,2,!0,d.xmin),(0,m.ag)(G,k,this.m_gcs,0,2,!0,d.xmax);const T=G.getGeometry(k),M=(0,h.h)(T,d);M.inflateCoords(0,1);const E=(0,h.c)(null,M,!0).total(),N=(0,l.c)(T,d,E,Number.NaN,this.m_progressTracker);e.setEmpty(),e.add(N,!1)}prepDoublePoleWrap(e){const t=this.m_gcs360,n=this.m_gcs180,s=new r.Envelope2D;s.setCoords({xmin:-this.m_gcs180,ymin:-this.m_gcs90,xmax:this.m_gcs180,ymax:this.m_gcs90});const i=s.getCenter().x,o=new r.Envelope2D;e.queryPathEnvelope(0,o);let _,f=0,d=o.getCenter().x;if(d-i>n?f=-Math.ceil((d-i-n)/t):i-d>n&&(f=Math.ceil((i-d-n)/t)),0!==f){const n=new c.T;n.setShiftCoords(f*t,0),e.getImpl().applyTransformationToPath(n,0),e.queryPathEnvelope(0,o),d=o.getCenter().x}const g=new r.Envelope2D;s.containsExclusiveEnvelope(o)?(_=!1,g.setCoords({env2D:s})):(_=!0,g.setCoords({env2D:s}),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 n=new c.T;d<i?n.setShiftCoords(t,0):n.setShiftCoords(-t,0),e.getImpl().applyTransformationToPath(n,0),P.addPath(e,0,!0);const r=new a.E,o=r.addGeometry(P);(0,m.ag)(r,o,this.m_gcs,0,2,!0,s.xmin),(0,m.ag)(r,o,this.m_gcs,0,2,!0,s.xmax),P=r.getGeometry(o);const u=(0,h.h)(P,s);u.inflateCoords(0,1);const _=(0,h.c)(null,u,!0).total();P=(0,l.c)(P,s,_,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 n=new u.P;n.setCoords(0,10*this.m_rpu);const s=0;let i=45*this.m_rpu;const r=(0,o.mS)(e,new u.S(new m.ai,new m.ai),!1),a=(0,o.mS)(e,new u.S(new m.ai,new m.ai),!1),h=(0,o.mS)(e,new u.S(new m.ai,new m.ai),!1),c=(0,o.mS)(e,new u.S(new m.ai,new m.ai),!1),l=new u.P,_=new u.P,f=new u.P,d=new u.P;for(m.aj.geodesicCoordinate(this.m_a,this.m_eSquared,n.x,n.y,t,s,r.at(0),r.at(1)),l.setCoords(r.at(0).val,r.at(1).val),m.aj.geodesicCoordinate(this.m_a,this.m_eSquared,n.x,n.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*(s+i);m.aj.geodesicCoordinate(this.m_a,this.m_eSquared,n.x,n.y,t,r,h.at(0),h.at(1)),f.setCoords(h.at(0).val,h.at(1).val);const u=(0,o.mS)(e,new m.ai,!1),g=(0,o.mS)(e,new m.ai,!1);m.aj.geodeticDistance(this.m_a,this.m_eSquared,l.x,l.y,_.x,_.y,u,g,null,2),m.aj.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,o.mS)(e,new m.ai,!1);if(m.aj.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,m.aj.geodesicCoordinate(this.m_a,this.m_eSquared,n.x,n.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,o.hk)(e)}}const g=i-s,P=2*Math.PI/Math.ceil(2*Math.PI/g);this.m_cornerStep=P}catch(t){e.error=t,e.hasError=!0}finally{(0,o.hk)(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 n=new u.P,s=new u.P;n.setCoords(0,10*this.m_rpu),s.setCoords(10*this.m_rpu,10*this.m_rpu);const i=(0,o.mS)(e,new m.ai,!1),r=(0,o.mS)(e,new m.ai,!1),a=(0,o.mS)(e,new m.ai,!1);m.aj.geodeticDistance(this.m_a,this.m_eSquared,n.x,n.y,s.x,s.y,a,i,r,this.m_curveType);const h=(0,o.mS)(e,new u.S(new m.ai,new m.ai),!1),c=(0,o.mS)(e,new u.S(new m.ai,new m.ai),!1),l=new u.P,_=(0,o.mS)(e,new m.ai,!1),f=(0,o.mS)(e,new u.S(new m.ai,new m.ai),!1),d=(0,o.mS)(e,new u.S(new m.ai,new m.ai),!1),g=(0,o.mS)(e,new u.S(new m.ai,new m.ai),!1),P=(0,o.mS)(e,new u.S(new m.ai,new m.ai),!1),p=new u.P,x=new u.P,b=new u.P,y=new u.P,S=0;let C=1;const w=i.val,v=r.val,D=w-.5*Math.PI,I=v+.5*Math.PI,G=a.val;for(m.aj.geodesicCoordinate(this.m_a,this.m_eSquared,n.x,n.y,t,D,f.at(0),f.at(1)),p.setCoords(f.at(0).val,f.at(1).val),m.aj.geodesicCoordinate(this.m_a,this.m_eSquared,s.x,s.y,t,I,d.at(0),d.at(1)),x.setCoords(d.at(0).val,d.at(1).val);;){const e={stack:[],error:void 0,hasError:!1};try{const i=.5*(S+C);m.aj.geodeticCoordinate(this.m_a,this.m_eSquared,n.x,n.y,i*G,w,h.at(0),h.at(1),this.m_curveType),l.setCoords(h.at(0).val,h.at(1).val),m.aj.geodeticDistance(this.m_a,this.m_eSquared,n.x,n.y,l.x,l.y,null,null,_,this.m_curveType);const r=_.val+.5*Math.PI;m.aj.geodesicCoordinate(this.m_a,this.m_eSquared,l.x,l.y,t,r,g.at(0),g.at(1)),b.setCoords(g.at(0).val,g.at(1).val);const a=(0,o.mS)(e,new m.ai,!1),u=(0,o.mS)(e,new m.ai,!1);m.aj.geodeticDistance(this.m_a,this.m_eSquared,p.x,p.y,x.x,x.y,a,u,null,2),m.aj.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,o.mS)(e,new m.ai,!1);if(m.aj.geodeticDistance(this.m_a,this.m_eSquared,b.x,b.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,m.aj.geodeticCoordinate(this.m_a,this.m_eSquared,n.x,n.y,C*G,w,c.at(0),c.at(1),this.m_curveType),s.setCoords(c.at(0).val,c.at(1).val);const i=(0,o.mS)(e,new m.ai,!1);m.aj.geodeticDistance(this.m_a,this.m_eSquared,n.x,n.y,s.x,s.y,null,null,i,this.m_curveType);const r=i.val+.5*Math.PI;m.aj.geodesicCoordinate(this.m_a,this.m_eSquared,s.x,s.y,t,r,d.at(0),d.at(1)),x.setCoords(d.at(0).val,d.at(1).val)}catch(t){e.error=t,e.hasError=!0}finally{(0,o.hk)(e)}}}catch(t){e.error=t,e.hasError=!0}finally{(0,o.hk)(e)}}let k=C*G;k>1e5&&(k=1e5),this.m_segmentStep=k}catch(t){e.error=t,e.hasError=!0}finally{(0,o.hk)(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 P(e,t,n,s,o,c,l){if(e.isEmpty())return new a.P({vd:e.getDescription()});let _=e;if((0,i.n)(_)){const e=10*t.getTolerance(0);_=(new f.O).execute(_,0,e,0,l,12e3)}const d=new g(l);d.m_sr=t,d.m_gcs=t.getGCS(),d.m_transform=(0,m.B)(t,d.m_gcs,null);const P=(0,m.r)();d.m_gcs.querySpheroidData(P);const p=new r.Envelope2D;_.queryEnvelope(p),d.m_a=P.majorSemiAxis,d.m_eSquared=P.e2,d.m_rpu=d.m_gcs.getUnit().getUnitToBaseFactor(),d.m_gcs90=.5*Math.PI/d.m_rpu,d.m_gcs180=Math.PI/d.m_rpu,d.m_gcs360=2*Math.PI/d.m_rpu,d.m_gcs60=d.m_gcs360/6,d.m_q90=m.a9.q90(d.m_a,d.m_eSquared),d.m_ellipticToGeodesicMaxRatio=.5*d.m_a*Math.PI/d.m_q90;const x=d.m_gcs.getTolerance(0);d.m_radTolerance=x*d.m_rpu,4===n?(d.m_curveType=2,d.m_bShapePreserving=!0):(d.m_curveType=n,d.m_bShapePreserving=!1),d.m_distance=s,d.m_absDistance=Math.abs(s),Number.isNaN(o)||o<=0?d.setConvergenceOffset():d.m_convergenceOffset=Math.max(o,.001),d.m_convergenceOffset/=c;let b,y=_.getGeometryType();if((0,i.h)(y)){const e=new a.a({vd:_.getDescription()});e.addSegment(_,!0),b=e,y=i.G.enumPolyline}else if(y===i.G.enumEnvelope){const e=_,t=new r.Envelope2D;e.queryEnvelope(t);const n=(0,h.f)((0,h.c)(d.m_sr,p,!0));if(t.minDimension()<=n)if(0===t.maxDimension()){const t=new h.P({vd:_.getDescription()});e.getCenter(t),b=t,y=i.G.enumPoint}else{const t=new a.a({vd:_.getDescription()});t.addEnvelope(e,!1),b=t,y=i.G.enumPolyline}else{const t=new a.P({vd:_.getDescription()});t.addEnvelope(e,!1),b=t,y=i.G.enumPolygon}}else b=_;if(d.setMinCornerStep(),(0,i.f)(y)||d.setMinSegmentStep(),d.m_absDistance<=.5*d.m_convergenceOffset)return y!==i.G.enumPolygon?new a.P({vd:b.getDescription()}):d.m_bShapePreserving?b:(0,m.aa)(b,d.m_sr,d.m_curveType,d.m_segmentStep,-1,l);if(d.m_distance<0&&y!==i.G.enumPolygon)return new a.P({vd:b.getDescription()});if(d.m_bShapePreserving&&(0,i.j)(y)){const e=(0,m.aa)(b,t,4,Number.NaN,d.m_convergenceOffset,l);b=(new m.O).execute(e,d.m_transform,l)}else b=(new m.O).execute(b,d.m_transform,l);if(b=(0,m.ab)(b,d.m_gcs),b.isEmpty())return new a.P({vd:b.getDescription()});!d.m_bShapePreserving&&(0,i.j)(y)&&(b=(0,m.ac)(d.m_rpu,b)),b=function(e,t){const n=e.getGeometryType();let s;if(s=(0,i.j)(n)?e.getPathCount():n===i.G.enumMultiPoint?e.getPointCount():1,1===s)return e;const m=[],o=[];for(let a=0;a<s;a++){m.push(a);const s=new u.P;if((0,i.j)(n)){const t=new r.Envelope2D;e.queryPathEnvelope(a,t),s.assign(t.getCenter())}else s.assign(e.getXY(a));const h=t.toGeohash(s);o.push(h)}m.sort((e,t)=>o[e]<o[t]?-1:o[e]>o[t]?1:0);const a=e.createInstance();for(let t=0;t<s;t++){const s=m[t];(0,i.j)(n)?a.addPath(e,s,!0):a.addPoints(e,s,s+1)}return a}(b,d.m_gcs);let S=new a.P;switch(y){case i.G.enumPolygon:S=d.bufferPolygon(b);break;case i.G.enumPolyline:S=d.bufferPolyline(b);break;case i.G.enumMultiPoint:S=d.bufferMultiPoint(b);break;case i.G.enumPoint:S=d.bufferPoint(b);break;default:(0,i.o)("")}const C=(new m.O).execute(S,d.m_transform.getInverse(),l);return C.mergeVertexDescription(b.getDescription()),C}function p(e,t,n,s,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(n));const g=(0,o.mS)(f,new m.ai,!1),P=(0,o.mS)(f,new u.S(new m.ai,new m.ai),!1),p=new u.P,x=new u.P,b=r.at(-1),S=1/n;for(let n=0;n<r.length;n++){const o=r[n];let u;0===n?u=a:n===r.length-1?u=h:(m.aj.geodeticDistance(e,t,b.x,b.y,o.x,o.y,null,null,g,i),u=g.val-.5*Math.PI),m.aj.geodesicCoordinate(e,t,o.x,o.y,s,u,P.at(0),P.at(1)),c?x.setCoords(P.at(0).val,P.at(1).val):(p.setCoords(P.at(0).val,P.at(1).val),l=y(o.x,p.x,d.x,l),x.setCoords(l+p.x,p.y),d.setCoordsPoint2D(x)),x.scale(S),_.insertPoint2D(0,-1,x)}return l}catch(e){f.error=e,f.hasError=!0}finally{(0,o.hk)(f)}}function x(e,t,n,s,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,o.mS)(g,new u.S(new m.ai,new m.ai),!1),p=new u.P,x=new u.P,b=new u.P;x.setNAN(),c||_.getPointCount()>0&&(x.setCoordsPoint2D(_.getXY(_.getPointCount()-1)),x.scale(n));let S=Math.ceil(r/h),C=S++*h;C===r&&(C=S++*h);let w=r;const v=1/n;for(;C<a+h&&(w<f&&f<C?(C=f,S--):w<d&&d<C&&(C=d,S--),!(C>=a));)m.aj.geodesicCoordinate(e,t,i.x,i.y,s,C,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=y(i.x,p.x,x.x,l),b.setCoords(l+p.x,p.y),x.setCoordsPoint2D(b)),b.scale(v),_.insertPoint2D(0,-1,b),w=C,C=S++*h;return l}catch(e){g.error=e,g.hasError=!0}finally{(0,o.hk)(g)}}function b(e,t,n,s,i,r,a,h,c,l,_){const f={stack:[],error:void 0,hasError:!1};try{const n=new u.P,d=new u.P,g=(0,o.mS)(f,new u.S(new m.ai,new m.ai),!1);m.aj.geodesicCoordinate(e,t,i.x,i.y,s,r,g.at(0),g.at(1)),n.setCoords(g.at(0).val,g.at(1).val),m.aj.geodesicCoordinate(e,t,i.x,i.y,s,a,g.at(0),g.at(1)),d.setCoords(g.at(0).val,g.at(1).val);const P=(0,o.mS)(f,new m.ai,!1);for(m.aj.geodeticDistance(e,t,h.x,h.y,n.x,n.y,null,P,null,0),l[0]=P.val,m.aj.geodeticDistance(e,t,h.x,h.y,d.x,d.y,null,P,null,0),_[0]=P.val;l[0]<=_[0];)l[0]+=u.n;for(;l[0]>_[0];)l[0]-=u.n;for(;l[0]>=c;)l[0]-=u.n,_[0]-=u.n;for(;l[0]<c;)l[0]+=u.n,_[0]+=u.n}catch(e){f.error=e,f.hasError=!0}finally{(0,o.hk)(f)}}function y(e,t,n,s){if(Number.isNaN(n)){for(;s+t-e>Math.PI;)s-=u.n;for(;e-(s+t)>Math.PI;)s+=u.n;return s}return s+t-n>Math.PI?s-=u.n:n-(s+t)>Math.PI&&(s+=u.n),s}function S(e,t,n,s,i,r){const a={stack:[],error:void 0,hasError:!1};try{if(s>=r)return!1;const h=n[0],c=n.at(-1),u=(0,o.mS)(a,new m.ai,!1),l=(0,o.mS)(a,new m.ai,!1),_=(0,o.mS)(a,new m.ai,!1);m.aj.greatEllipticDistance(e,t,i.x,i.y,h.x,h.y,u,null,null),m.aj.greatEllipticDistance(e,t,i.x,i.y,c.x,c.y,l,null,null),m.aj.greatEllipticDistance(e,t,h.x,h.y,c.x,c.y,_,null,null);let f=Math.min(u.val,l.val)+_.val,d=f+s;if(d<r)return!0;const g=(0,o.mS)(a,new m.ai,!1);f=Math.max(u.val,l.val);for(let s=1;s<n.length-1;s++){const r=n[s];m.aj.greatEllipticDistance(e,t,i.x,i.y,r.x,r.y,g,null,null),g.val>f&&(f=g.val)}return d=f+s,d<r}catch(e){a.error=e,a.hasError=!0}finally{(0,o.hk)(a)}}function C(e,t,n,s,i,r,o,a){let h;if(s.length%2==0){const e=s.length>>1,t=s[e],n=s[e-1];h=u.P.lerp(t,n,.5)}else h=s[s.length-1>>1].clone();const c=h.clone(),l=(0,m.ak)(e,t,c,75/180*Math.PI);return!!S(e,t,s,i,c,l)&&(null!==r&&(r.setCoordsPoint2D(h),r.scale(1/n)),null!==o&&o.setCoordsPoint2D(c),null!==a&&(a[0]=l),!0)}function w(e,t,n,s,i,r){const a={stack:[],error:void 0,hasError:!1};try{if(s>=r)return!1;const h=(0,o.mS)(a,new m.ai,!1);return m.aj.greatEllipticDistance(e,t,i.x,i.y,n.x,n.y,h,null,null),h.val+s<r}catch(e){a.error=e,a.hasError=!0}finally{(0,o.hk)(a)}}function v(e,t){return new m.ap(e,t)}function D(e){return(0,h.j)(e,0)||(0,h.s)(e,0),e}class I{m_bRunningInGnomonic=!1;m_bNeedsSimplify=!1;m_gnomonic=null;m_gnomonicCenterRad=new u.P;m_minGnomonicRadius=Number.NaN;m_progressTracker;constructor(e){this.m_progressTracker=e}isRunningInGnomonic(){return this.m_bRunningInGnomonic}needsSimplify(){return this.m_bNeedsSimplify}getGnomonic(){return this.m_gnomonic}}class G extends I{m_bufferer;m_multiPath;m_segIter=null;m_bNextSegmentCannotJoin=!1;m_currentDensifiedDelta=[0];m_currentBufferedDelta=0;m_lastAzimuth=0;m_startAzimuth=[0];m_endAzimuth=[0];m_numWinds=0;m_debugCounter=0;m_bufferHelper=new a.P;m_densifiedPoints=[];m_densified;constructor(e,t,n){super(e.m_progressTracker),this.m_bufferer=e,this.m_multiPath=t,this.m_densified=n,this.m_bNeedsSimplify=!0;const s=new r.Envelope2D;this.m_multiPath.queryEnvelope(s);const i=s.getCenter(),o=i.clone();o.scale(this.m_bufferer.m_rpu),this.m_gnomonic=v(this.m_bufferer.m_gcs,i),this.m_gnomonicCenterRad=o.clone(),this.m_minGnomonicRadius=(0,m.ak)(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,o,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 n=0;const s=new u.P,i=new u.P;for(;this.m_segIter.hasNextSegment()&&this.m_numWinds<16;){const e=this.m_segIter.nextSegment();if(s.setCoordsPoint2D(e.getStartXY()),i.setCoordsPoint2D(e.getEndXY()),s.scale(this.m_bufferer.m_rpu),i.scale(this.m_bufferer.m_rpu),(0,m.al)(s,i))s.x=i.x;else if((0,m.am)(s,i))i.x=s.x;else{let e=-1,t=-1;const n=this.m_segIter.getPathIndex(),r=this.m_multiPath.getPathStart(n),o=this.m_multiPath.getPathEnd(n);if(e=this.m_segIter.getStartPointIndex()-1,t=this.m_segIter.getEndPointIndex()+1,e<r&&(e=this.m_multiPath.isClosedPath(n)?o-1:-1),t>o-1&&(t=this.m_multiPath.isClosedPath(n)?r:-1),-1!==e){const t=this.m_multiPath.getXY(e);t.scale(this.m_bufferer.m_rpu),(0,m.am)(t,s)&&(s.x=t.x)}if(-1!==t){const e=this.m_multiPath.getXY(t);e.scale(this.m_bufferer.m_rpu),(0,m.al)(i,e)&&(i.x=e.x)}}this.m_densifiedPoints.length=0;const r=(0,m.an)(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,this.m_bufferer.m_curveType,s,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===n)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(C(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,m.ao)(s,i)?(this.m_bufferHelper.setEmpty(),this.m_bufferer.bufferPoint2D(s,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.P,t.addPathPoint2D(null,0,!0)),this.addJoinAndBufferLeftSide(t),n++}if(this.m_currentDensifiedDelta=[0],n>0){const e=this.m_segIter.getStartPointIndex(),r=this.m_segIter.getPathIndex();for(;n>0;){if(this.m_segIter.previousSegment(),s.setCoordsPoint2D(this.m_multiPath.getXY(this.m_segIter.getStartPointIndex())),i.setCoordsPoint2D(this.m_multiPath.getXY(this.m_segIter.getEndPointIndex())),s.scale(this.m_bufferer.m_rpu),i.scale(this.m_bufferer.m_rpu),this.m_bRunningInGnomonic)if((0,m.al)(s,i))s.x=i.x;else if((0,m.am)(s,i))i.x=s.x;else{let e=-1,t=-1;const n=this.m_segIter.getPathIndex(),r=this.m_multiPath.getPathStart(n),o=this.m_multiPath.getPathEnd(n);if(e=this.m_segIter.getStartPointIndex()-1,t=this.m_segIter.getEndPointIndex()+1,e<r&&(e=this.m_multiPath.isClosedPath(n)?o-1:-1),t>o-1&&(t=this.m_multiPath.isClosedPath(n)?r:-1),-1!==e){const t=this.m_multiPath.getXY(e);t.scale(this.m_bufferer.m_rpu),(0,m.am)(t,s)&&(s.x=t.x)}if(-1!==t){const e=this.m_multiPath.getXY(t);e.scale(this.m_bufferer.m_rpu),(0,m.al)(i,e)&&(i.x=e.x)}}this.m_densifiedPoints.length=0,(0,m.an)(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,this.m_bufferer.m_curveType,i,s,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),n--}return s.setCoordsPoint2D(this.m_multiPath.getXY(this.m_segIter.getStartPointIndex())),s.scale(this.m_bufferer.m_rpu),this.m_currentBufferedDelta=x(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,this.m_bufferer.m_rpu,this.m_bufferer.m_absDistance,s,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&&S(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,n=new u.P,s=[0];return C(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,n,s)?(this.m_gnomonicCenterRad.setCoordsPoint2D(n),this.m_minGnomonicRadius=s[0],this.m_gnomonic=v(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 n=Number.NaN,s=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]?(n=this.m_lastAzimuth+u.l,s=n+Math.PI-(this.m_lastAzimuth-this.m_startAzimuth[0])):(n=this.m_lastAzimuth+u.l,s=n+Math.PI-(u.n-(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(s-n)<=.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.n:t.x-this.m_currentBufferedDelta>Math.PI&&(this.m_currentBufferedDelta+=u.n)}s=.5*(s+n)}else if(r){const n=new u.P;n.setCoordsPoint2D(t),n.scale(1/this.m_bufferer.m_rpu),e.insertPoint2D(0,-1,n)}else x(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,this.m_bufferer.m_rpu,this.m_bufferer.m_absDistance,this.m_densifiedPoints[0],n,s,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,s,i,this.m_bRunningInGnomonic,this.m_currentBufferedDelta,e),this.m_lastAzimuth=this.m_endAzimuth[0]}}class k extends I{m_bufferer;m_multiPoint;m_pointIndex=-1;constructor(e,t){super(e.m_progressTracker),this.m_bufferer=e,this.m_multiPoint=t,this.m_bNeedsSimplify=!1;const n=new r.Envelope2D;this.m_multiPoint.queryEnvelope(n);const s=n.getCenter(),i=s.clone();i.scale(this.m_bufferer.m_rpu),this.m_gnomonic=v(this.m_bufferer.m_gcs,s),this.m_gnomonicCenterRad=i.clone(),this.m_minGnomonicRadius=(0,m.ak)(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.P,n=this.m_bufferer.bufferPoint2D(e,this.m_bRunningInGnomonic,t);return this.m_bNeedsSimplify=n,t}isPointBufferInCurrentGnomonic(e){return null!==this.m_gnomonic&&w(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,n=new u.P,s=[0];return function(e,t,n,s,i,r,o,a){const h=(0,m.ak)(e,t,s,75/180*Math.PI);return!!w(e,t,s,i,s,h)&&(null!==r&&(r.setCoordsPoint2D(s),r.scale(1/n)),null!==o&&o.setCoordsPoint2D(s),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,n,s)?(this.m_gnomonicCenterRad.setCoordsPoint2D(n),this.m_minGnomonicRadius=s[0],this.m_gnomonic=v(this.m_bufferer.m_gcs,t),!0):(this.m_gnomonic=null,!1)}}class T{getOperatorType(){return 10110}supportsCurves(){return!0}accelerateGeometry(e,t,n){return!1}canAccelerateGeometry(e){return!1}executeMany(e,t,n,s,i,r,o,a){if(o){const o=new M(e,t,n,s,i,!1,r,a);return(new m._).executeMany(o,t,a)}return new M(e,t,n,s,i,!1,r,a)}execute(e,t,n,s,r,m,o){const a=new d.S([e]),h=[s],c=this.executeMany(a,t,n,h,r,!1,m,o).next();return c||(0,i.d)("geodesic buffer null output"),c}}class M extends s.G{m_inputGeoms;m_spatialReference;m_curveType;m_progressTracker;m_distances;m_convergenceOffset;m_currentUnionEnvelope2D=new r.Envelope2D;m_bOutlineOnly;m_bUnion;m_index=-1;m_dindex=-1;constructor(e,t,n,s,r,m,o,a){super(),this.m_progressTracker=a,m&&(0,i.t)(""),t||(0,i.a)(""),0===t.getCoordinateSystemType()&&(0,i.a)(""),this.m_inputGeoms=e,this.m_spatialReference=t,this.m_curveType=n,this.m_distances=s,this.m_convergenceOffset=r,this.m_bOutlineOnly=m,this.m_bUnion=o}next(){let e;for(;e=this.m_inputGeoms.next();)return(0,i.c)(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,n,s,r,m){s<Number.MAX_VALUE&&s>-Number.MAX_VALUE||(0,i.a)("Geodesic_bufferer.buffer - bad distance"),(0,i.c)(e);const o=(0,_.c)(e),a=o.getGeometryType();if((0,i.i)(a)){const e=o.getPointCount(),h=8e6;if(Math.abs(s)>h&&(e>50||a!==i.G.enumMultiPoint&&4===n&&e>2)){let e=o;const i=s>0?1:-1,a=7e6;let c=s,u=1;do{u++,c=(Math.abs(c)-a)*i}while(Math.abs(c)>h);c=s;for(let s=0;s<u-1;s++)e=P(e,t,n,a*i,r,u,m),c=(Math.abs(c)-a)*i;return e=P(e,t,n,c,r,u,m),e}}return P(o,t,n,s,r,1,m)}(e,this.m_spatialReference,this.m_curveType,t,this.m_convergenceOffset,this.m_progressTracker)}}}}]);
@@ -1 +1 @@
1
- "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[1550,1666,1948,6765,7992,8125],{61691(e,t,r){r.d(t,{G:()=>n});class n{*[Symbol.iterator](){let e=this.next();for(;e;)yield e,e=this.next()}}},88194(e,t,r){r.d(t,{O:()=>g});var n=r(55537),s=r(79187),i=r(83661),o=r(39117);function a(){return u(new i.P,-1,Number.NaN)}function u(e,t,r){return{m_coordinate:e.clone(),m_vertexIndex:t,m_geometryIndex:0,m_distance:r,m_bRightSide:!1,isEmpty:c}}function c(){return Number.isNaN(this.m_distance)}function h(e,t,r=-1,a=-1){if(e.isEmpty())return 3;const u=e.getGeometryType();if((0,n.h)(u))return function(e,t,r,s){if(r>=0||s>=0)return(0,n.a)("");if(e.isDegenerate(0))return e.getStartXY().equals(t)?2:3;if(!e.isCurve()){const r=i.P.orientationRobust(t,e.getStartXY(),e.getEndXY());return r<0?1:r>0?0:2}const o=e.getClosestCoordinate(t,!1),a=e.getTangent(o),u=e.getCoord2D(o),c=i.P.orientationRobust(t,u,u.add(a));return c<0?1:c>0?0:2}(e,t,r,a);if(u===n.G.enumPolygon)return function(e,t,r,i){(r>=0||i>=0)&&(0,n.a)("");const a=new s.Envelope2D;e.queryEnvelope(a);const u=(0,o.E)(e,t,0);return 0===u?0:1===u?1:2}(e,t,r,a);if(u===n.G.enumPolyline)return function(e,t,r,s){(r<0&&s>=0||r>=0&&s<0)&&(0,n.a)("");const o=e.querySegmentIterator();if(r<0){let e=Number.MAX_VALUE,n=0;for(;o.nextPath();)for(;o.hasNextSegment();){const a=o.nextSegment(),u=a.getClosestCoordinate(t,!1),c=a.getCoord2D(u),h=i.P.sqrDistance(c,t);h<e?(n=1,r=o.getStartPointIndex(),s=o.getPathIndex(),e=h):h===e&&n++}if(0===n)return 3;if(1===n)return o.resetToVertex(r,s),h(o.nextSegment(),t)}const a=function(e,t,r,n){const s={i1:-1,i2:-1,bRight1:!1,bRight2:!1};if(s.i1=function(e,t,r){for(e.resetToVertex(t,r);e.hasNextSegment();)if(!e.nextSegment().isDegenerate(0))return e.getStartPointIndex();for(e.resetToVertex(t,r);e.hasPreviousSegment();)if(!e.previousSegment().isDegenerate(0))return e.getStartPointIndex();return-1}(t,r,n),-1!==s.i1){t.resetToVertex(s.i1,-1);const r=t.nextSegment(),n=r.getClosestCoordinate(e,!1),o=r.getCoord2D(n),a=i.P.sqrDistance(o,e);{const t=o.clone();t.subThis(r.getStartXY());const n=e.clone();n.subThis(r.getStartXY()),s.bRight1=t.crossProduct(n)<0}if(s.i2=function(e,t){for(e.resetToVertex(t,-1),e.nextSegment();e.hasNextSegment();)if(!e.nextSegment().isDegenerate(0))return e.getStartPointIndex();return-1}(t,s.i1),-1!==s.i2){t.resetToVertex(s.i2,-1);const r=t.nextSegment(),n=r.getClosestCoordinate(e,!1),o=r.getCoord2D(n);if(i.P.sqrDistance(o,e)>a)s.i2=-1;else{const t=o.clone();t.subThis(r.getStartXY());const n=e.clone();n.subThis(r.getStartXY()),s.bRight2=t.crossProduct(n)<0}}if(-1===s.i2&&(s.i2=function(e,t){for(e.resetToVertex(t,-1);e.hasPreviousSegment();)if(!e.previousSegment().isDegenerate(0))return e.getStartPointIndex();return-1}(t,s.i1),-1!==s.i2)){t.resetToVertex(s.i2,-1);const r=t.nextSegment(),n=r.getClosestCoordinate(e,!1),o=r.getCoord2D(n);if(i.P.sqrDistance(o,e)>a)s.i2=-1;else{const t=o.clone();t.subThis(r.getStartXY());const n=e.clone();n.subThis(r.getStartXY()),s.bRight2=t.crossProduct(n)<0;const i=s.i1;s.i1=s.i2,s.i2=i;const a=s.bRight1;s.bRight1=s.bRight2,s.bRight2=a}}}return s}(t,o,r,s);if(-1!==a.i1&&-1===a.i2)return a.bRight1?1:0;if(-1!==a.i1&&-1!==a.i2){if(a.bRight1===a.bRight2)return a.bRight1?1:0;{o.resetToVertex(a.i1,-1);const e=o.nextSegment().getTangent(1);o.resetToVertex(a.i2,-1);const t=o.nextSegment().getTangent(0);return e.crossProduct(t)>=0?1:0}}return o.resetToVertex(r,s),h(o.nextSegment(),t)}(e,t,r,a);if(u===n.G.enumEnvelope){const r=new s.Envelope2D;return e.queryEnvelope(r),r.contains(t)?r.containsExclusive(t)?1:2:0}return 3}var l=r(95213);class g{getOperatorType(){return 10500}accelerateGeometry(e,t,r){return!1}canAccelerateGeometry(e){return!1}supportsCurves(){return!0}getNearestCoordinate(e,t,r,s){if(t.isNAN()&&(0,n.a)("NAN xy coordinates are not allowed"),e.isEmpty())return a();switch(e.getGeometryType()){case n.G.enumPoint:return this.pointGetNearestVertex(e,t);case n.G.enumMultiPoint:return this.multiVertexGetNearestVertex(e,t);case n.G.enumPolyline:case n.G.enumPolygon:return this.multiPathGetNearestCoordinate(e,t,r,s);default:(0,n.t)("")}}getNearestVertex(e,t){if(t.isNAN()&&(0,n.a)("NAN xy coordinates are not allowed"),e.isEmpty())return a();switch(e.getGeometryType()){case n.G.enumPoint:return this.pointGetNearestVertex(e,t);case n.G.enumMultiPoint:case n.G.enumPolyline:case n.G.enumPolygon:return this.multiVertexGetNearestVertex(e,t);default:(0,n.t)("")}}getNearestVertices(e,t,r,s){if(0===s&&(0,n.a)(""),t.isNAN()&&(0,n.a)("NAN xy coordinates are not allowed"),e.isEmpty())return[];switch(e.getGeometryType()){case n.G.enumPoint:return this.pointGetNearestVertices(e,t,r,s);case n.G.enumMultiPoint:case n.G.enumPolyline:case n.G.enumPolygon:return this.multiVertexGetNearestVertices(e,t,r,s);default:(0,n.t)("")}}multiPathGetNearestCoordinate(e,t,r,a){if(e.getGeometryType()===n.G.enumPolygon&&r){const r=new s.Envelope2D;e.queryEnvelope(r);const n=(0,l.d)(null,r,!1);let i;if(i=(0,o.E)(e,t,a?0:n),0!==i){const e=u(t,-1,0);return a&&(e.m_bRightSide=!0),e}}const c=e.querySegmentIterator(),g=new i.P;let m=-1,f=-1,x=Number.MAX_VALUE,d=0;for(;c.nextPath();)for(;c.hasNextSegment();){const e=c.nextSegment(),r=e.getClosestCoordinate(t,!1),n=e.getCoord2D(r),s=i.P.sqrDistance(n,t);s<x?(d=1,g.assign(n),m=c.getStartPointIndex(),f=c.getPathIndex(),x=s):s===x&&d++}-1===m&&(0,n.a)("");const p=u(g,m,Math.sqrt(x));if(a)if(e.getGeometryType()!==n.G.enumPolygon){let r=!1;if(d>1){const n=h(e,t,m,f);r=0!==n&&3!==n}else c.resetToVertex(m,f),r=0!==h(c.nextSegment(),t);p.m_bRightSide=r}else r||0!==(0,o.E)(e,t,0)&&(p.m_bRightSide=!0);return p}pointGetNearestVertex(e,t){const r=e.getXY();return u(r,0,i.P.distance(r,t))}multiVertexGetNearestVertex(e,t){const r=e.getAttributeStreamRef(0),n=e.getPointCount();let s=-1;const o=new i.P;let a=Number.MAX_VALUE;const c=new i.P;for(let e=0;e<n;e++){r.queryPoint2D(2*e,c);const n=i.P.sqrDistance(c,t);n<a&&(o.assign(c),s=e,a=n)}return u(o,s,Math.sqrt(a))}pointGetNearestVertices(e,t,r,n){const s=[];if(0!==n){const n=r*r,o=e.getXY(),a=i.P.sqrDistance(o,t);a<=n&&s.push(u(o,0,Math.sqrt(a)))}return s}multiVertexGetNearestVertices(e,t,r,n){const s=[];if(0!==n){const o=e.getAttributeStreamRef(0),a=e.getPointCount();s.length=n+1;const c=r*r;for(let e=0;e<a;e++){const r=o.read(2*e),n=o.read(2*e+1),a=t.x-r,h=t.y-n,l=a*a+h*h;l<=c&&s.push(u(i.P.construct(r,n),e,Math.sqrt(l)))}s.sort((e,t)=>e.m_distance-t.m_distance)}return s.slice(0,n)}}},76061(e,t,r){r.d(t,{S:()=>s});var n=r(61691);class s extends n.G{m_aGeoms;m_iGeom=-1;constructor(e){super(),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}}},59260(e,t,r){r.d(t,{g:()=>u});var n=r(88194),s=r(86211),i=r(78125),o=r(79533);const a=new n.O;function u(e,t,r={}){const{calculateLeftRightSide:n=!1,testPolygonInterior:u=!0,unit:c}=r,h=a.getNearestCoordinate((0,i.fromGeometry)(e),(0,i.fromPoint)(t).getXY(),u,n);if(c&&h.m_distance){const t=(0,i.getSpatialReference)(e);h.m_distance=(0,s.PQ)(h.m_distance,t,c)}return(0,o.C)(h,e,n)}const c=a.supportsCurves(),h=Object.freeze(Object.defineProperty({__proto__:null,getNearestCoordinate:u,getNearestVertex:function(e,t,r={}){const{unit:n}=r,u=a.getNearestVertex((0,i.fromGeometry)(e),(0,i.fromPoint)(t).getXY());if(n&&u.m_distance){const t=(0,i.getSpatialReference)(e);u.m_distance=(0,s.PQ)(u.m_distance,t,n)}return(0,o.C)(u,e)},getNearestVertices:function(e,t,r,n,u={}){const{unit:c}=u,h=(0,i.getSpatialReference)(e);return c&&r&&(r=(0,s.UW)(r,c,h)),a.getNearestVertices((0,i.fromGeometry)(e),(0,i.fromPoint)(t).getXY(),r,n).map(t=>(c&&t.m_distance&&(t.m_distance=(0,s.PQ)(t.m_distance,h,c)),(0,o.C)(t,e)))},supportsCurves:c},Symbol.toStringTag,{value:"Module"}));r.d(t,["p",0,h])},69397(e,t,r){r.d(t,{Qf:()=>a,Qh:()=>i,lM:()=>s});var n=r(34275);function s(e){if(!e)return 0;let t=c;for(const r in e)e.hasOwnProperty(r)&&(t+=o(e[r],!1));return t}function i(e){if(!e)return 0;if("number"==typeof e[0])return a(e);if(Array.isArray(e))return function(e){const t=e.length;if(0===t||"number"==typeof e[0])return u(e,8);let r=h;for(let n=0;n<t;n++)r+=o(e[n]);return r}(e);let t=c;for(const r in e)e.hasOwnProperty(r)&&(t+=o(e[r]));return t}function o(e,t=!0){switch(typeof e){case"object":return t?i(e):c;case"string":return function(e){return 32+e.length}(e);case"number":return 16;case"boolean":return 4;default:return 8}}function a(...e){return e.reduce((e,t)=>e+(t?(0,n.iu)(t)?t.byteLength+l:Array.isArray(t)?u(t,16):0:0),0)}function u(e,t){return h+e.length*t}const c=32,h=16,l=145},87992(e,t,r){r.d(t,{JR:()=>E,ME:()=>P,MY:()=>V,NO:()=>C,Nh:()=>S,V2:()=>N,_s:()=>A,e6:()=>Z,gh:()=>M,tr:()=>Y,uX:()=>x});var n=r(5482),s=r(16930),i=r(19419),o=r(60408),a=r(21325),u=r(513),c=r(50954),h=r(79567),l=r(52006),g=r(49663),m=r(46068),f=r(92722);class x{constructor({type:e,spatialReference:t,vertexCount:r,vertexXY:n,vertexZ:s,vertexM:i,partCount:o,partOffsets:a,partFlags:u,segmentFlags:c,segmentIndices:h,segmentParams:l,segmentCountArc:g,segmentCountBezier:m}){this.segmentCountArc=0,this.segmentCountBezier=0,this.type=e,this.spatialReference=t,this.vertexCount=r,this.vertexXY=n,this.vertexZ=s,this.vertexM=i,this.partCount=o,this.partOffsets=a,this.partFlags=u,this.segmentFlags=c,this.segmentIndices=h,this.segmentParams=l,this.segmentCountArc=g,this.segmentCountBezier=m}get segmentParamCount(){return 10*this.segmentCountArc+4*this.segmentCountBezier}get segmentCountLine(){const{segmentCount:e,segmentCountArc:t,segmentCountBezier:r}=this;return e&&e-t-r}get segmentCount(){return"polyline"===this.type?this.vertexCount-this.partCount:"polygon"===this.type?this.vertexCount:0}get hasZ(){return null!=this.vertexZ}get hasM(){return null!=this.vertexM}hasCurves(){return this.segmentCountArc+this.segmentCountBezier>0}isMultipart(){return"polyline"===this.type||"polygon"===this.type}get usedMemory(){function e(e){return e?64+e.byteLength:0}return e(this.vertexXY)+e(this.vertexZ)+e(this.vertexM)+e(this.partOffsets)+e(this.partFlags)+e(this.segmentFlags)+e(this.segmentIndices)+e(this.segmentParams)}clone(){const{type:e,vertexCount:t,partCount:r,hasZ:n,hasM:s,segmentCountArc:i,segmentCountBezier:o}=this,a=N(e,t,r,n,s,this.hasCurves(),i,o);a.spatialReference=this.spatialReference;const{vertexXY:u,vertexZ:c,vertexM:h}=this;if(a.vertexXY.set(u.subarray(0,2*t),0),a.vertexZ?.set(c.subarray(0,t),0),a.vertexM?.set(h.subarray(0,t),0),this.isMultipart()){const{partOffsets:e,partFlags:t}=this;a.partFlags.set(t.subarray(0,r+1)),a.partOffsets.set(e.subarray(0,r+1))}if(this.hasCurves()){const{segmentFlags:e,segmentIndices:r,segmentParams:n,segmentParamCount:s}=this;a.segmentFlags.set(e.subarray(0,t),0),a.segmentIndices.set(r.subarray(0,t),0),a.segmentParams.set(n.subarray(0,s),0)}return a}equals(e){return this.equalsWithinTolerance(e,0)}equalsWithinTolerance(e,t){if(null==e)return!1;if(this===e)return!0;if(!(0,a.aI)(this.spatialReference,e.spatialReference))return!1;if(this.vertexCount!==e.vertexCount||this.partCount!==e.partCount)return!1;if(this.hasZ!==e.hasZ||this.hasM!==e.hasM)return!1;if(this.hasCurves()!==e.hasCurves()||this.segmentCountArc!==e.segmentCountArc||this.segmentCountBezier!==e.segmentCountBezier)return!1;const r=0===t?(e,t)=>e!==t||isNaN(e)!==isNaN(t):(e,r)=>Math.abs(e-r)>t||isNaN(e)!==isNaN(r);for(let t=0;t<this.vertexCount;++t)if(r(this.vertexXY[2*t],e.vertexXY[2*t])||r(this.vertexXY[2*t+1],e.vertexXY[2*t+1]))return!1;if(this.hasZ)for(let t=0;t<this.vertexCount;++t)if(r(this.vertexZ[t],e.vertexZ[t]))return!1;if(this.hasM)for(let t=0;t<this.vertexCount;++t)if(r(this.vertexM[t],e.vertexM[t]))return!1;for(let t=0;t<this.partCount;++t)if(this.partFlags[t]!==e.partFlags[t]||this.partOffsets[t]!==e.partOffsets[t])return!1;if(this.hasCurves()){for(let t=0;t<this.vertexCount;++t)if(this.segmentFlags[t]!==e.segmentFlags[t]||this.segmentIndices[t]!==e.segmentIndices[t])return!1;for(let t=0;t<this.segmentParamCount;++t)if(r(this.segmentParams[t],e.segmentParams[t]))return!1}return!0}get parts(){return this.isMultipart()?new d(this):[][Symbol.iterator]()}}class d{constructor(e){this.geometry=e,this.value=new p(e)}get done(){return this.value.index>=this.geometry.partCount}next(){return++this.value.index,this}[Symbol.iterator](){return this}}class p{constructor(e){this.geometry=e,this.index=-1,this._readVertex=b(e),this._segments=new y(this)}get segments(){return this._segments.reset(),this._segments}get startVertex(){return this._readVertex(this.geometry.partOffsets[this.index])}get vertexCount(){const e=this.geometry.partOffsets;return e[this.index+1]-e[this.index]}}class y{constructor(e){this._part=e,this._partStart=0,this._partEnd=0,this._isPolygon="polygon"===e.geometry.type,this.value=new v(e.geometry)}get done(){return this.value.indexOfStartVertex>this._partEnd}next(){++this.value.indexOfStartVertex;const e=this.value.indexOfStartVertex>=this._partEnd;return this.value.indexOfEndVertex=e&&this._isPolygon?this._partStart:this.value.indexOfStartVertex+1,this}[Symbol.iterator](){return this}reset(){const{index:e}=this._part,t=this._part.geometry.partOffsets;this._partStart=t[e],this._partEnd=t[e+1]-(this._isPolygon?1:2),this.value.indexOfStartVertex=this._partStart-1}}class v{constructor(e){this.geometry=e,this.indexOfStartVertex=-1,this.indexOfEndVertex=-1,this._readVertex=b(e)}get xStart(){return this.geometry.vertexXY[2*this.indexOfStartVertex]}get yStart(){return this.geometry.vertexXY[2*this.indexOfStartVertex+1]}get zStart(){return this.geometry.vertexZ[this.indexOfStartVertex]}get mStart(){return this.geometry.vertexM[this.indexOfStartVertex]}get xEnd(){return this.geometry.vertexXY[2*this.indexOfEndVertex]}get yEnd(){return this.geometry.vertexXY[2*this.indexOfEndVertex+1]}get zEnd(){return this.geometry.vertexZ[this.indexOfEndVertex]}get mEnd(){return this.geometry.vertexM[this.indexOfEndVertex]}get start(){return this._readVertex(this.indexOfStartVertex)}get end(){return this._readVertex(this.indexOfEndVertex)}get curve(){const e=this.geometry.segmentFlags?.[this.indexOfStartVertex]??1;if(1===e)return this.end;const t=this.geometry.segmentParams;let r=this.geometry.segmentIndices[this.indexOfStartVertex];if(2===e){const e=t[r++],n=t[r++],s=t[r++],i=t[r++];return{b:[this.end,[e,n],[s,i]]}}const n=t[r++],s=t[r++],i=t[r++],o=t[r++],a=t[r++],u=t[r++];r++,r++;const c=t[r++],h=t[r++];if(!Boolean(4&n)&&1===i)return{c:[this.end,[c,h]]};const l=2&n?0:1,g=1&n?0:1;return{a:[this.end,[a,u],l,g,o,s,i]}}}function C(e,t){const r={stack:[],error:void 0,hasError:!1};try{return t??=(0,i.Ie)(),(0,n.mS)(r,new _(e,["vertexZ","vertexM","spatialReference"]),!1),(0,i.bx)(t,function(e){let t;const{vertexCount:r,vertexXY:s,vertexZ:o,vertexM:a}=e,u=R(e);if(e.hasCurves()){const r={stack:[],error:void 0,hasError:!1};try{(0,n.mS)(r,new _(e,["vertexZ","vertexM"]),!1);const s=(0,i.Ie)();for(const t of e.parts){let e=t.startVertex;for(const{curve:r}of t.segments)(0,h.e)(s,e,r),e=(0,l.yP)(r)}const[o,a,c,g]=s;t={xmin:o,ymin:a,xmax:c,ymax:g,spatialReference:u}}catch(e){r.error=e,r.hasError=!0}finally{(0,n.hk)(r)}}else{let e,n,i,o;e=n=1/0,i=o=-1/0;for(let t=0;t<r;++t){const r=s[2*t],a=s[2*t+1];e=Math.min(e,r),i=Math.max(i,r),n=Math.min(n,a),o=Math.max(o,a)}t={xmin:e,ymin:n,xmax:i,ymax:o,spatialReference:u}}if(o){let e=1/0,r=-1/0;for(const t of o)e=Math.min(e,t),r=Math.max(r,t);t.zmin=e,t.zmax=r}if(a){let e=1/0,r=-1/0;for(const t of a)e=Math.min(e,t),r=Math.max(r,t);t.mmin=e,t.mmax=r}return t}(e)),t}catch(e){r.error=e,r.hasError=!0}finally{(0,n.hk)(r)}}function P(e){let t,r,n;if((0,o.fT)(e)){n="point";const{x:s,y:i,z:o,m:a}=e,u=[s,i];null!=o&&u.push(o),null!=a&&u.push(a),r=[[u]],t=1}else(0,o.U9)(e)?(n="multipoint",r=[e.points],t=e.points.length):(0,o.Rg)(e)?(n="polyline",r=e.curvePaths??e.paths,t=r.reduce((e,t)=>e+t.length,0)):(n="polygon",r=e.curveRings??e.rings,t=r.reduce((e,t)=>(0===t.length||(e+=t.length,G(t[0],(0,l.yP)(t.at(-1)))&&--e),e),0));const s=N(n,t,n.includes("point")?0:r.length,(0,o.Pv)(e),(0,o.W0)(e),(0,l.Ed)(e)),{hasZ:i,hasM:a,vertexXY:u,vertexZ:c,vertexM:h}=s;function g(e){u[2*f]=e[0],u[2*f+1]=e[1],i&&(c[f]=e[2]),a&&(h[f]=e[m]),++f}s.spatialReference=e.spatialReference??void 0;const m=s.hasZ?3:2;let f=0;if(!s.isMultipart()){if(!i&&!a){for(const[e,t]of r[0])u[2*f]=e,u[2*f+1]=t,++f;return s}for(const e of r[0])g(e);return s}const x="polygon"===n,{partOffsets:d}=s;let p=0;if(!(0,l.Ed)(e)){for(const e of r){if(d[p++]=f,0===e.length)continue;let t=e.length;if(x&&G(e[0],e.at(-1))&&--t,i||a)for(let r=0;r<t;++r)g(e[r]);else for(let r=0;r<t;++r){const[t,n]=e[r];u[2*f]=t,u[2*f+1]=n,++f}}return d[p]=f,s}function y(e){const t=v+e;if(t<=(s.segmentParams?.length??0))return;let r=t*I;r=20*Math.ceil(r/20);const n=s.segmentParams;s.segmentParams=new Float64Array(r),null!=n&&s.segmentParams.set(n)}let v=0;for(const e of r){if(s.partOffsets[p++]=f,0===e.length)continue;const t=e[0];let r=t;for(let t=1;t<e.length;++t){const n=e[t];g(r);const i=f-1;(0,l.wY)(n)?(y(10),++s.segmentCountArc,v=A(r,n,s,i,v),r=n.a[0]):(0,l.DA)(n)?(y(10),++s.segmentCountArc,v=w(r,n,s,i,v),r=n.a[0]):(0,l.aO)(n)?(y(10),++s.segmentCountArc,v=Z(r,n,s,i,v),r=n.c[0]):(0,l.n1)(n)?(y(4),++s.segmentCountBezier,v=Y(0,n,s,i,v),r=n.b[0]):r=n}x&&G(t,r)||g(r)}return s.partOffsets[p]=f,s}function M(e){const t=b(e),{vertexCount:r,partCount:n,hasZ:s,hasM:i}=e,o=R(e);if("point"===e.type){const[t,r]=e.vertexXY,n=e.vertexZ?.[0],s=e.vertexM?.[0];return{x:t,y:r,z:n,m:s,spatialReference:o}}let a=0;if("multipoint"===e.type){const e=[];for(;a<r;)e.push(t(a++));return{points:e,spatialReference:o,hasZ:s,hasM:i}}const u="polygon"===e.type;if(!e.hasCurves()){const r=new Array;for(let s=0;s<n;++s){const n=e.partOffsets[s+1],i=new Array;for(;a<n;)i.push(t(a++));u&&i.length>0&&i.push(i[0]),r.push(i)}return u?{rings:r,hasZ:s,hasM:i,spatialReference:o}:{paths:r,hasZ:s,hasM:i,spatialReference:o}}const c=new Array;for(const{segments:t,startVertex:r}of e.parts){const e=[r];for(const{curve:r}of t)e.push(r);c.push(e)}return u?{rings:[],curveRings:c,hasZ:s,hasM:i,spatialReference:o}:{paths:[],curvePaths:c,hasZ:s,hasM:i,spatialReference:o}}function S(e,{lengths:t,coords:r,hasZ:n,hasM:s},i){const o=e.includes("point")?0:t.length,a="polygon"===e,u="point"===e?1:t.reduce((e,t)=>e+t,0)-(a?o:0);n??=!1,s??=!1;const c=N(e,u,o,n,s,!1,0,0);if(c.spatialReference=i??void 0,!c.isMultipart()){for(let e=0,t=0;e<u;++e)c.vertexXY[2*e]=r[t++],c.vertexXY[2*e+1]=r[t++],n&&(c.vertexZ[e]=r[t++]),s&&(c.vertexM[e]=r[t++]);return c}const h=2+Number(n)+Number(s);let l=0,g=0;c.partOffsets[0]=0;for(const e of t){const t=c.partOffsets[g],i=t+e-Number(a);c.partOffsets[++g]=i;for(let e=t;e<i;++e)c.vertexXY[2*e]=r[l++],c.vertexXY[2*e+1]=r[l++],n&&(c.vertexZ[e]=r[l++]),s&&(c.vertexM[e]=r[l++]);a&&(l+=h)}return c}function E({type:e,vertexCount:t,vertexXY:r,vertexZ:n,vertexM:s,partCount:i,partOffsets:o,hasZ:a,hasM:u}){const c=new f.A([],[],a,u);i=Math.max(i,1);const h="polygon"===e;let l=0;for(let e=0;e<i;++e){const i=o?.[e+1]??t,g=c.coords.length;for(let e=l;e<i;++e)c.coords.push(r[2*e],r[2*e+1]),a&&c.coords.push(n[e]),u&&c.coords.push(s[e]);if(h){const e=l;c.coords.push(r[2*e],r[2*e+1]),a&&c.coords.push(n[e]),u&&c.coords.push(s[e])}c.lengths.push((c.coords.length-g)/c.stride),l=i}return"point"===e&&(c.lengths.length=0),c}function V(e,t){return"getSpatialReference"in e&&(t=function(e){if(null==e)return;const t=e.getText()||void 0,r=e.isCustomWkid()?0:e.getOldID();if(r<=0)return{wkt:t};let n=e.getLatestID();(n<=0||n===r)&&(n=void 0);const s=e.getVCS();if(null==s)return{wkid:r,latestWkid:n,wkt:t};const i=s.isCustomWkid()?0:s.getOldID();if(i<=0)return{wkt:t};let o=e.getLatestVerticalID();return(o<=0||o===i)&&(o=void 0),{wkid:r,wkt:t,latestWkid:n,vcsWkid:i,latestVcsWkid:o}}(e.getSpatialReference()),e=e.getGeometry()),new x({...e.toFlatGeometry(),spatialReference:t})}class _{constructor(e,t){this.target=e,this.keys=t,this.oldValues=t.map(t=>e[t]);for(const r of t)e[r]=void 0}[Symbol.dispose](){this.keys.map((e,t)=>{this.target[e]=this.oldValues[t]})}}function R({spatialReference:e}){return e instanceof s.A?e.toJSON():e}function b({vertexXY:e,vertexZ:t,vertexM:r}){return t?r?n=>[e[2*n],e[2*n+1],t[n],r[n]]:r=>[e[2*r],e[2*r+1],t[r]]:r?t=>[e[2*t],e[2*t+1],r[t]]:t=>[e[2*t],e[2*t+1]]}function G(e,t){return e.every((e,r)=>e===t[r])}function N(e,t,r,n,s,i,o,a){o??=0,a??=0;const u=new x({type:e,vertexCount:t,vertexXY:null,vertexZ:void 0,vertexM:void 0,partCount:r,partOffsets:void 0,partFlags:void 0,segmentFlags:void 0,segmentIndices:void 0,segmentParams:void 0,segmentCountArc:o,segmentCountBezier:a});let c=2*Float64Array.BYTES_PER_ELEMENT*t;n&&(c+=Float64Array.BYTES_PER_ELEMENT*t),s&&(c+=Float64Array.BYTES_PER_ELEMENT*t),u.isMultipart()&&(c+=(r+1)*Int32Array.BYTES_PER_ELEMENT,c+=(r+1)*Int8Array.BYTES_PER_ELEMENT),i&&(c+=t*Int8Array.BYTES_PER_ELEMENT,c+=t*Int32Array.BYTES_PER_ELEMENT,c+=u.segmentParamCount*Float64Array.BYTES_PER_ELEMENT);const h=new ArrayBuffer(c);let l=0;return u.vertexXY=new Float64Array(h,l,2*t),l+=u.vertexXY.byteLength,n&&(u.vertexZ=new Float64Array(h,l,t),l+=u.vertexZ.byteLength),s&&(u.vertexM=new Float64Array(h,l,t),l+=u.vertexM.byteLength),i&&(u.segmentParams=new Float64Array(h,l,u.segmentParamCount),l+=u.segmentParams.byteLength,u.segmentIndices=new Int32Array(h,l,t),u.segmentIndices.fill(T),l+=u.segmentIndices.byteLength),u.isMultipart()&&(u.partOffsets=new Int32Array(h,l,r+1),l+=u.partOffsets.byteLength,u.partFlags=new Int8Array(h,l,r+1),l+=u.partFlags.byteLength,"polygon"===u.type&&u.partFlags.subarray(0,r).fill(1)),i&&(u.segmentFlags=new Int8Array(h,l,t),u.segmentFlags.fill(1),l+=u.segmentFlags.byteLength),u}function A(e,t,{segmentFlags:r,segmentIndices:n,segmentParams:s},i,o){r[i]=4,n[i]=o;const[a,[u,c],h,l,g,f,x]=t.a;let d=4;l||(d|=1),h||(d|=2);const p=(0,m.SW)(e,t),[y,v]=(0,m.Uk)(p,.5);return s[o++]=d,s[o++]=f,s[o++]=x,s[o++]=g,s[o++]=u,s[o++]=c,s[o++]=p.u2-p.u1,s[o++]=p.u1,s[o++]=y,s[o++]=v,o}function w(e,t,{segmentFlags:r,segmentIndices:n,segmentParams:s},i,o){r[i]=4,n[i]=o;const a=(0,g.io)(e,t);return O(a,4,...(0,u.mq)(a,.5),s,o)}function Z(e,t,{segmentFlags:r,segmentIndices:n,segmentParams:s},i,o){return r[i]=4,n[i]=o,O((0,c.pM)(e,t),0,...t.c[1],s,o)}function O(e,t,r,n,s,i){const{cx:o,cy:a,thetaStart:u,thetaEnd:c,radius:h}=e;return u>c||(t|=1),Math.abs(c-u)<=Math.PI||(t|=2),s[i++]=t,s[i++]=h,s[i++]=1,s[i++]=0,s[i++]=o,s[i++]=a,s[i++]=c-u,s[i++]=u,s[i++]=r,s[i++]=n,i}function Y(e,{b:[t,[r,n],[s,i]]},{segmentFlags:o,segmentIndices:a,segmentParams:u},c,h){return o[c]=2,a[c]=h,u[h++]=r,u[h++]=n,u[h++]=s,u[h++]=i,h}const I=1.61803,T=-1},48032(e,t,r){r.d(t,{getNearestCoordinate:()=>n.g}),r(88194),r(86211),r(78125),r(79533);var n=r(59260)},78125(e,t,r){r.r(t),r.d(t,{fromExtent:()=>d,fromGeometry:()=>x,fromMultipoint:()=>p,fromPoint:()=>y,fromPolygon:()=>v,fromPolyline:()=>C,fromPolylineUsingImportOperator:()=>P,fromSpatialReference:()=>M,getSpatialReference:()=>f,toExtent:()=>E,toGeometry:()=>S,toMultipoint:()=>V,toPoint:()=>_,toPolygon:()=>R,toPolyline:()=>b});var n=r(83661),s=r(55537),i=r(95213),o=r(88885),a=r(5443),u=r(48526),c=r(86738),h=r(39829),l=r(82799),g=(r(90293),r(83299));const m="_gxVersion";function f(e){return Array.isArray(e)?e[0].spatialReference:e.spatialReference}function x(e){switch(e.type){case"point":return y(e);case"multipoint":return p(e);case"polyline":return C(e);case"polygon":return v(e);case"extent":return d(e);default:throw new Error(`Unsupported geometry type: ${e.type}`)}}function d(e){if(!e.getCacheValue(m)){const t=new i.E;t.setCoords(e.xmin,e.ymin,e.xmax,e.ymax),e.hasM&&t.setInterval(2,0,e.mmin,e.mmax),e.hasZ&&t.setInterval(1,0,e.zmin,e.zmax),e.setCacheValue(m,t)}return e.getCacheValue(m)}function p(e){if(!e.getCacheValue(m)){const t=new o.M,r=new i.P,n=e.points,s=e.hasM,a=e.hasZ,u=a?3:2;for(let e=0,i=n.length;e<i;e++){const i=n[e];r.setXYCoords(i[0],i[1]),a&&r.setZ(i[2]??0),s&&r.setM(i[u]??NaN),t.add(r)}e.setCacheValue(m,t)}return e.getCacheValue(m)}function y(e){if(!e.getCacheValue(m)){const t=new i.P;t.setXYCoords(e.x,e.y),e.hasM&&t.setM(e.m),e.hasZ&&t.setZ(e.z),e.setCacheValue(m,t)}return e.getCacheValue(m)}function v(e){if(!e.getCacheValue(m)){const{curveRings:t,hasM:r,hasZ:n,rings:s}=e,i=(0,g.fromGeometryToGXGeometry)({curveRings:t,hasM:r,hasZ:n,rings:s});e.setCacheValue(m,i)}return e.getCacheValue(m)}function C(e){if(!e.getCacheValue(m)){const{curvePaths:t,hasM:r,hasZ:n,paths:s}=e,i=(0,g.fromGeometryToGXGeometry)({curvePaths:t,hasM:r,hasZ:n,paths:s});e.setCacheValue(m,i)}return e.getCacheValue(m)}function P(e){if(!e.getCacheValue(m)){const{curvePaths:t,hasM:r,hasZ:n,paths:s}=e,i=(0,g.fromGeometryToGXGeometryUsingImportOperator)({curvePaths:t,hasM:r,hasZ:n,paths:s});e.setCacheValue(m,i)}return e.getCacheValue(m)}function M(e){return e.cache?(e.cache[m]??=(0,g.fromSpatialReference)(e),e.cache[m]):(0,g.fromSpatialReference)(e)}function S(e,t){if(e)switch(e.getGeometryType()){case s.G.enumPoint:return _(e,t);case s.G.enumEnvelope:return E(e,t);case s.G.enumMultiPoint:return V(e,t);case s.G.enumPolyline:return b(e,t);case s.G.enumPolygon:return R(e,t)}return null}function E(e,t){if(e.isEmpty())return null;const r=new a.A({xmin:e.getXMin(),ymin:e.getYMin(),xmax:e.getXMax(),ymax:e.getYMax(),spatialReference:t}),n=e.getDescription();if(n.hasM()){const t=e.queryInterval(2,0);r.mmin=t.vmin,r.mmax=t.vmax}if(n.hasZ()){const t=e.queryInterval(1,0);r.zmin=t.vmin,r.zmax=t.vmax}return r.setCacheValue(m,e),r}function V(e,t){if(e.isEmpty())return null;const r=e.getDescription(),n=r.hasM(),s=r.hasZ(),o=[],a=new i.P;for(let t=0,r=e.getPointCount();t<r;t++){e.getPointByVal(t,a);const r=[a.getX(),a.getY()];s&&r.push(a.getZ()),n&&r.push(a.getM()),o.push(r)}const c=new u.A({hasM:n,hasZ:s,points:o,spatialReference:t});return c.setCacheValue(m,e),c}function _(e,t){if(e instanceof n.P)return new c.A({x:e.x,y:e.y,spatialReference:t});if(e.isEmpty())return null;const r=new c.A({x:e.getX(),y:e.getY(),spatialReference:t}),s=e.getDescription();return s.hasM()&&(r.m=e.getM()),s.hasZ()&&(r.z=e.getZ()),r.setCacheValue(m,e),r}function R(e,t){if(e.isEmpty())return null;const r=h.A.fromJSON({...(0,g.toGeometry)(e,null),spatialReference:t});return r.setCacheValue(m,e),r}function b(e,t){if(e.isEmpty())return null;const r=l.A.fromJSON({...(0,g.toGeometry)(e,null),spatialReference:t});return r.setCacheValue(m,e),r}},79533(e,t,r){r.d(t,{C:()=>s});var n=r(78125);function s(e,t,r=!1){const s=(0,n.toPoint)(e.m_coordinate,(0,n.getSpatialReference)(t)),i=e.m_distance,o=e.isEmpty(),a=e.m_bRightSide;return{coordinate:s,distance:i,isEmpty:o,...r&&{isRightSide:a},vertexIndex:e.m_vertexIndex}}},92722(e,t,r){r.d(t,{A:()=>s});var n=r(69397);class s{constructor(e=[],t=[],r=!1,n=!1){this.lengths=e??[],this.coords=t??[],this.hasZ=r,this.hasM=n}static fromJSON({lengths:e,coords:t,hasZ:r,hasM:n}){return new s(e,t,r||!1,n||!1)}static fromRect([e,t,r,n]){const i=r-e,o=n-t;return new s([5],[e,t,i,0,0,o,-i,0,0,-o])}get isPoint(){return 0===this.lengths.length&&this.coords.length>=2}get maxLength(){return Math.max(...this.lengths)}get size(){return this.isPoint?1:this.lengths.reduce((e,t)=>e+t,0)}get usedMemory(){return 64+(0,n.Qf)(this.lengths,this.coords)}get stride(){return 2+(this.hasZ?1:0)+(this.hasM?1:0)}area(){if(this.isPoint)return 0;let e=0,t=0;for(const r of this.lengths){if(r<3)continue;const{stride:n}=this;let s=this.coords[n*t],i=this.coords[n*t+1];for(let o=1;o<r;o+=1){const r=n*(t+o),a=this.coords[r],u=this.coords[r+1];e+=-.5*(a-s)*(u+i),s=a,i=u}t+=r}return e}forEachVertex(e){let t=0;if(this.isPoint)return e(this.coords[0],this.coords[1]);const{stride:r}=this;for(const n of this.lengths){for(let s=0;s<n;s++){const n=r*(t+s);e(this.coords[n],this.coords[n+1])}t+=n}}deltaDecode(){const e=this.clone(),{coords:t,lengths:r}=e;let n=0;const{stride:s}=this;for(const e of r){for(let r=1;r<e;r++){const e=s*(n+r);t[e]+=t[e-s],t[e+1]+=t[e+1-s]}n+=e}return e}clone(e){if(this.isPoint)return new s([],Array.from(this.coords.slice(0,this.stride)),this.hasZ,this.hasM);const t=Array.from(this.lengths),{stride:r,size:n}=this,i=this.coords.slice(0,n*r);return e?(e.set(i),new s(t,e,this.hasZ,this.hasM)):new s(t,Array.from(i),this.hasZ,this.hasM)}justXY(){const{stride:e,size:t}=this;if(2===e)return this;const r=new Array(t*e);for(let t=0,n=0;t<r.length;t+=e)r[n++]=this.coords[t],r[n++]=this.coords[t+1];return new s(this.lengths,r,!1,!1)}}}}]);
1
+ "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[1550,1666,1948,6765,7992,8125],{61691(e,t,r){r.d(t,{G:()=>n});class n{*[Symbol.iterator](){let e=this.next();for(;e;)yield e,e=this.next()}}},88194(e,t,r){r.d(t,{O:()=>g});var n=r(55537),s=r(79187),i=r(83661),o=r(39117);function a(){return u(new i.P,-1,Number.NaN)}function u(e,t,r){return{m_coordinate:e.clone(),m_vertexIndex:t,m_geometryIndex:0,m_distance:r,m_bRightSide:!1,isEmpty:c}}function c(){return Number.isNaN(this.m_distance)}function h(e,t,r=-1,a=-1){if(e.isEmpty())return 3;const u=e.getGeometryType();if((0,n.h)(u))return function(e,t,r,s){if(r>=0||s>=0)return(0,n.a)("");if(e.isDegenerate(0))return e.getStartXY().equals(t)?2:3;if(!e.isCurve()){const r=i.P.orientationRobust(t,e.getStartXY(),e.getEndXY());return r<0?1:r>0?0:2}const o=e.getClosestCoordinate(t,!1),a=e.getTangent(o),u=e.getCoord2D(o),c=i.P.orientationRobust(t,u,u.add(a));return c<0?1:c>0?0:2}(e,t,r,a);if(u===n.G.enumPolygon)return function(e,t,r,i){(r>=0||i>=0)&&(0,n.a)("");const a=new s.Envelope2D;e.queryEnvelope(a);const u=(0,o.I)(e,t,0);return 0===u?0:1===u?1:2}(e,t,r,a);if(u===n.G.enumPolyline)return function(e,t,r,s){(r<0&&s>=0||r>=0&&s<0)&&(0,n.a)("");const o=e.querySegmentIterator();if(r<0){let e=Number.MAX_VALUE,n=0;for(;o.nextPath();)for(;o.hasNextSegment();){const a=o.nextSegment(),u=a.getClosestCoordinate(t,!1),c=a.getCoord2D(u),h=i.P.sqrDistance(c,t);h<e?(n=1,r=o.getStartPointIndex(),s=o.getPathIndex(),e=h):h===e&&n++}if(0===n)return 3;if(1===n)return o.resetToVertex(r,s),h(o.nextSegment(),t)}const a=function(e,t,r,n){const s={i1:-1,i2:-1,bRight1:!1,bRight2:!1};if(s.i1=function(e,t,r){for(e.resetToVertex(t,r);e.hasNextSegment();)if(!e.nextSegment().isDegenerate(0))return e.getStartPointIndex();for(e.resetToVertex(t,r);e.hasPreviousSegment();)if(!e.previousSegment().isDegenerate(0))return e.getStartPointIndex();return-1}(t,r,n),-1!==s.i1){t.resetToVertex(s.i1,-1);const r=t.nextSegment(),n=r.getClosestCoordinate(e,!1),o=r.getCoord2D(n),a=i.P.sqrDistance(o,e);{const t=o.clone();t.subThis(r.getStartXY());const n=e.clone();n.subThis(r.getStartXY()),s.bRight1=t.crossProduct(n)<0}if(s.i2=function(e,t){for(e.resetToVertex(t,-1),e.nextSegment();e.hasNextSegment();)if(!e.nextSegment().isDegenerate(0))return e.getStartPointIndex();return-1}(t,s.i1),-1!==s.i2){t.resetToVertex(s.i2,-1);const r=t.nextSegment(),n=r.getClosestCoordinate(e,!1),o=r.getCoord2D(n);if(i.P.sqrDistance(o,e)>a)s.i2=-1;else{const t=o.clone();t.subThis(r.getStartXY());const n=e.clone();n.subThis(r.getStartXY()),s.bRight2=t.crossProduct(n)<0}}if(-1===s.i2&&(s.i2=function(e,t){for(e.resetToVertex(t,-1);e.hasPreviousSegment();)if(!e.previousSegment().isDegenerate(0))return e.getStartPointIndex();return-1}(t,s.i1),-1!==s.i2)){t.resetToVertex(s.i2,-1);const r=t.nextSegment(),n=r.getClosestCoordinate(e,!1),o=r.getCoord2D(n);if(i.P.sqrDistance(o,e)>a)s.i2=-1;else{const t=o.clone();t.subThis(r.getStartXY());const n=e.clone();n.subThis(r.getStartXY()),s.bRight2=t.crossProduct(n)<0;const i=s.i1;s.i1=s.i2,s.i2=i;const a=s.bRight1;s.bRight1=s.bRight2,s.bRight2=a}}}return s}(t,o,r,s);if(-1!==a.i1&&-1===a.i2)return a.bRight1?1:0;if(-1!==a.i1&&-1!==a.i2){if(a.bRight1===a.bRight2)return a.bRight1?1:0;{o.resetToVertex(a.i1,-1);const e=o.nextSegment().getTangent(1);o.resetToVertex(a.i2,-1);const t=o.nextSegment().getTangent(0);return e.crossProduct(t)>=0?1:0}}return o.resetToVertex(r,s),h(o.nextSegment(),t)}(e,t,r,a);if(u===n.G.enumEnvelope){const r=new s.Envelope2D;return e.queryEnvelope(r),r.contains(t)?r.containsExclusive(t)?1:2:0}return 3}var l=r(95213);class g{getOperatorType(){return 10500}accelerateGeometry(e,t,r){return!1}canAccelerateGeometry(e){return!1}supportsCurves(){return!0}getNearestCoordinate(e,t,r,s){if(t.isNAN()&&(0,n.a)("NAN xy coordinates are not allowed"),e.isEmpty())return a();switch(e.getGeometryType()){case n.G.enumPoint:return this.pointGetNearestVertex(e,t);case n.G.enumMultiPoint:return this.multiVertexGetNearestVertex(e,t);case n.G.enumPolyline:case n.G.enumPolygon:return this.multiPathGetNearestCoordinate(e,t,r,s);default:(0,n.t)("")}}getNearestVertex(e,t){if(t.isNAN()&&(0,n.a)("NAN xy coordinates are not allowed"),e.isEmpty())return a();switch(e.getGeometryType()){case n.G.enumPoint:return this.pointGetNearestVertex(e,t);case n.G.enumMultiPoint:case n.G.enumPolyline:case n.G.enumPolygon:return this.multiVertexGetNearestVertex(e,t);default:(0,n.t)("")}}getNearestVertices(e,t,r,s){if(0===s&&(0,n.a)(""),t.isNAN()&&(0,n.a)("NAN xy coordinates are not allowed"),e.isEmpty())return[];switch(e.getGeometryType()){case n.G.enumPoint:return this.pointGetNearestVertices(e,t,r,s);case n.G.enumMultiPoint:case n.G.enumPolyline:case n.G.enumPolygon:return this.multiVertexGetNearestVertices(e,t,r,s);default:(0,n.t)("")}}multiPathGetNearestCoordinate(e,t,r,a){if(e.getGeometryType()===n.G.enumPolygon&&r){const r=new s.Envelope2D;e.queryEnvelope(r);const n=(0,l.d)(null,r,!1);let i;if(i=(0,o.I)(e,t,a?0:n),0!==i){const e=u(t,-1,0);return a&&(e.m_bRightSide=!0),e}}const c=e.querySegmentIterator(),g=new i.P;let m=-1,f=-1,x=Number.MAX_VALUE,d=0;for(;c.nextPath();)for(;c.hasNextSegment();){const e=c.nextSegment(),r=e.getClosestCoordinate(t,!1),n=e.getCoord2D(r),s=i.P.sqrDistance(n,t);s<x?(d=1,g.assign(n),m=c.getStartPointIndex(),f=c.getPathIndex(),x=s):s===x&&d++}-1===m&&(0,n.a)("");const p=u(g,m,Math.sqrt(x));if(a)if(e.getGeometryType()!==n.G.enumPolygon){let r=!1;if(d>1){const n=h(e,t,m,f);r=0!==n&&3!==n}else c.resetToVertex(m,f),r=0!==h(c.nextSegment(),t);p.m_bRightSide=r}else r||0!==(0,o.I)(e,t,0)&&(p.m_bRightSide=!0);return p}pointGetNearestVertex(e,t){const r=e.getXY();return u(r,0,i.P.distance(r,t))}multiVertexGetNearestVertex(e,t){const r=e.getAttributeStreamRef(0),n=e.getPointCount();let s=-1;const o=new i.P;let a=Number.MAX_VALUE;const c=new i.P;for(let e=0;e<n;e++){r.queryPoint2D(2*e,c);const n=i.P.sqrDistance(c,t);n<a&&(o.assign(c),s=e,a=n)}return u(o,s,Math.sqrt(a))}pointGetNearestVertices(e,t,r,n){const s=[];if(0!==n){const n=r*r,o=e.getXY(),a=i.P.sqrDistance(o,t);a<=n&&s.push(u(o,0,Math.sqrt(a)))}return s}multiVertexGetNearestVertices(e,t,r,n){const s=[];if(0!==n){const o=e.getAttributeStreamRef(0),a=e.getPointCount();s.length=n+1;const c=r*r;for(let e=0;e<a;e++){const r=o.read(2*e),n=o.read(2*e+1),a=t.x-r,h=t.y-n,l=a*a+h*h;l<=c&&s.push(u(i.P.construct(r,n),e,Math.sqrt(l)))}s.sort((e,t)=>e.m_distance-t.m_distance)}return s.slice(0,n)}}},76061(e,t,r){r.d(t,{S:()=>s});var n=r(61691);class s extends n.G{m_aGeoms;m_iGeom=-1;constructor(e){super(),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}}},59260(e,t,r){r.d(t,{g:()=>u});var n=r(88194),s=r(86211),i=r(78125),o=r(79533);const a=new n.O;function u(e,t,r={}){const{calculateLeftRightSide:n=!1,testPolygonInterior:u=!0,unit:c}=r,h=a.getNearestCoordinate((0,i.fromGeometry)(e),(0,i.fromPoint)(t).getXY(),u,n);if(c&&h.m_distance){const t=(0,i.getSpatialReference)(e);h.m_distance=(0,s.PQ)(h.m_distance,t,c)}return(0,o.C)(h,e,n)}const c=a.supportsCurves(),h=Object.freeze(Object.defineProperty({__proto__:null,getNearestCoordinate:u,getNearestVertex:function(e,t,r={}){const{unit:n}=r,u=a.getNearestVertex((0,i.fromGeometry)(e),(0,i.fromPoint)(t).getXY());if(n&&u.m_distance){const t=(0,i.getSpatialReference)(e);u.m_distance=(0,s.PQ)(u.m_distance,t,n)}return(0,o.C)(u,e)},getNearestVertices:function(e,t,r,n,u={}){const{unit:c}=u,h=(0,i.getSpatialReference)(e);return c&&r&&(r=(0,s.UW)(r,c,h)),a.getNearestVertices((0,i.fromGeometry)(e),(0,i.fromPoint)(t).getXY(),r,n).map(t=>(c&&t.m_distance&&(t.m_distance=(0,s.PQ)(t.m_distance,h,c)),(0,o.C)(t,e)))},supportsCurves:c},Symbol.toStringTag,{value:"Module"}));r.d(t,["p",0,h])},69397(e,t,r){r.d(t,{Qf:()=>a,Qh:()=>i,lM:()=>s});var n=r(34275);function s(e){if(!e)return 0;let t=c;for(const r in e)e.hasOwnProperty(r)&&(t+=o(e[r],!1));return t}function i(e){if(!e)return 0;if("number"==typeof e[0])return a(e);if(Array.isArray(e))return function(e){const t=e.length;if(0===t||"number"==typeof e[0])return u(e,8);let r=h;for(let n=0;n<t;n++)r+=o(e[n]);return r}(e);let t=c;for(const r in e)e.hasOwnProperty(r)&&(t+=o(e[r]));return t}function o(e,t=!0){switch(typeof e){case"object":return t?i(e):c;case"string":return function(e){return 32+e.length}(e);case"number":return 16;case"boolean":return 4;default:return 8}}function a(...e){return e.reduce((e,t)=>e+(t?(0,n.iu)(t)?t.byteLength+l:Array.isArray(t)?u(t,16):0:0),0)}function u(e,t){return h+e.length*t}const c=32,h=16,l=145},87992(e,t,r){r.d(t,{JR:()=>V,ME:()=>P,MY:()=>E,NO:()=>C,Nh:()=>S,V2:()=>N,_s:()=>A,e6:()=>Z,gh:()=>M,tr:()=>I,uX:()=>x});var n=r(5482),s=r(16930),i=r(19419),o=r(60408),a=r(21325),u=r(513),c=r(50954),h=r(79567),l=r(52006),g=r(49663),m=r(46068),f=r(92722);class x{constructor({type:e,spatialReference:t,vertexCount:r,vertexXY:n,vertexZ:s,vertexM:i,partCount:o,partOffsets:a,partFlags:u,segmentFlags:c,segmentIndices:h,segmentParams:l,segmentCountArc:g,segmentCountBezier:m}){this.segmentCountArc=0,this.segmentCountBezier=0,this.type=e,this.spatialReference=t,this.vertexCount=r,this.vertexXY=n,this.vertexZ=s,this.vertexM=i,this.partCount=o,this.partOffsets=a,this.partFlags=u,this.segmentFlags=c,this.segmentIndices=h,this.segmentParams=l,this.segmentCountArc=g,this.segmentCountBezier=m}get segmentParamCount(){return 10*this.segmentCountArc+4*this.segmentCountBezier}get segmentCountLine(){const{segmentCount:e,segmentCountArc:t,segmentCountBezier:r}=this;return e&&e-t-r}get segmentCount(){return"polyline"===this.type?this.vertexCount-this.partCount:"polygon"===this.type?this.vertexCount:0}get hasZ(){return null!=this.vertexZ}get hasM(){return null!=this.vertexM}hasCurves(){return this.segmentCountArc+this.segmentCountBezier>0}isMultipart(){return"polyline"===this.type||"polygon"===this.type}get usedMemory(){function e(e){return e?64+e.byteLength:0}return e(this.vertexXY)+e(this.vertexZ)+e(this.vertexM)+e(this.partOffsets)+e(this.partFlags)+e(this.segmentFlags)+e(this.segmentIndices)+e(this.segmentParams)}clone(){const{type:e,vertexCount:t,partCount:r,hasZ:n,hasM:s,segmentCountArc:i,segmentCountBezier:o}=this,a=N(e,t,r,n,s,this.hasCurves(),i,o);a.spatialReference=this.spatialReference;const{vertexXY:u,vertexZ:c,vertexM:h}=this;if(a.vertexXY.set(u.subarray(0,2*t),0),a.vertexZ?.set(c.subarray(0,t),0),a.vertexM?.set(h.subarray(0,t),0),this.isMultipart()){const{partOffsets:e,partFlags:t}=this;a.partFlags.set(t.subarray(0,r+1)),a.partOffsets.set(e.subarray(0,r+1))}if(this.hasCurves()){const{segmentFlags:e,segmentIndices:r,segmentParams:n,segmentParamCount:s}=this;a.segmentFlags.set(e.subarray(0,t),0),a.segmentIndices.set(r.subarray(0,t),0),a.segmentParams.set(n.subarray(0,s),0)}return a}equals(e){return this.equalsWithinTolerance(e,0)}equalsWithinTolerance(e,t){if(null==e)return!1;if(this===e)return!0;if(!(0,a.aI)(this.spatialReference,e.spatialReference))return!1;if(this.vertexCount!==e.vertexCount||this.partCount!==e.partCount)return!1;if(this.hasZ!==e.hasZ||this.hasM!==e.hasM)return!1;if(this.hasCurves()!==e.hasCurves()||this.segmentCountArc!==e.segmentCountArc||this.segmentCountBezier!==e.segmentCountBezier)return!1;const r=0===t?(e,t)=>e!==t||isNaN(e)!==isNaN(t):(e,r)=>Math.abs(e-r)>t||isNaN(e)!==isNaN(r);for(let t=0;t<this.vertexCount;++t)if(r(this.vertexXY[2*t],e.vertexXY[2*t])||r(this.vertexXY[2*t+1],e.vertexXY[2*t+1]))return!1;if(this.hasZ)for(let t=0;t<this.vertexCount;++t)if(r(this.vertexZ[t],e.vertexZ[t]))return!1;if(this.hasM)for(let t=0;t<this.vertexCount;++t)if(r(this.vertexM[t],e.vertexM[t]))return!1;for(let t=0;t<this.partCount;++t)if(this.partFlags[t]!==e.partFlags[t]||this.partOffsets[t]!==e.partOffsets[t])return!1;if(this.hasCurves()){for(let t=0;t<this.vertexCount;++t)if(this.segmentFlags[t]!==e.segmentFlags[t]||this.segmentIndices[t]!==e.segmentIndices[t])return!1;for(let t=0;t<this.segmentParamCount;++t)if(r(this.segmentParams[t],e.segmentParams[t]))return!1}return!0}get parts(){return this.isMultipart()?new d(this):[][Symbol.iterator]()}}class d{constructor(e){this.geometry=e,this.value=new p(e)}get done(){return this.value.index>=this.geometry.partCount}next(){return++this.value.index,this}[Symbol.iterator](){return this}}class p{constructor(e){this.geometry=e,this.index=-1,this._readVertex=b(e),this._segments=new y(this)}get segments(){return this._segments.reset(),this._segments}get startVertex(){return this._readVertex(this.geometry.partOffsets[this.index])}get vertexCount(){const e=this.geometry.partOffsets;return e[this.index+1]-e[this.index]}}class y{constructor(e){this._part=e,this._partStart=0,this._partEnd=0,this._isPolygon="polygon"===e.geometry.type,this.value=new v(e.geometry)}get done(){return this.value.indexOfStartVertex>this._partEnd}next(){++this.value.indexOfStartVertex;const e=this.value.indexOfStartVertex>=this._partEnd;return this.value.indexOfEndVertex=e&&this._isPolygon?this._partStart:this.value.indexOfStartVertex+1,this}[Symbol.iterator](){return this}reset(){const{index:e}=this._part,t=this._part.geometry.partOffsets;this._partStart=t[e],this._partEnd=t[e+1]-(this._isPolygon?1:2),this.value.indexOfStartVertex=this._partStart-1}}class v{constructor(e){this.geometry=e,this.indexOfStartVertex=-1,this.indexOfEndVertex=-1,this._readVertex=b(e)}get xStart(){return this.geometry.vertexXY[2*this.indexOfStartVertex]}get yStart(){return this.geometry.vertexXY[2*this.indexOfStartVertex+1]}get zStart(){return this.geometry.vertexZ[this.indexOfStartVertex]}get mStart(){return this.geometry.vertexM[this.indexOfStartVertex]}get xEnd(){return this.geometry.vertexXY[2*this.indexOfEndVertex]}get yEnd(){return this.geometry.vertexXY[2*this.indexOfEndVertex+1]}get zEnd(){return this.geometry.vertexZ[this.indexOfEndVertex]}get mEnd(){return this.geometry.vertexM[this.indexOfEndVertex]}get start(){return this._readVertex(this.indexOfStartVertex)}get end(){return this._readVertex(this.indexOfEndVertex)}get curve(){const e=this.geometry.segmentFlags?.[this.indexOfStartVertex]??1;if(1===e)return this.end;const t=this.geometry.segmentParams;let r=this.geometry.segmentIndices[this.indexOfStartVertex];if(2===e){const e=t[r++],n=t[r++],s=t[r++],i=t[r++];return{b:[this.end,[e,n],[s,i]]}}const n=t[r++],s=t[r++],i=t[r++],o=t[r++],a=t[r++],u=t[r++];r++,r++;const c=t[r++],h=t[r++];if(!Boolean(4&n)&&1===i)return{c:[this.end,[c,h]]};const l=2&n?0:1,g=1&n?0:1;return{a:[this.end,[a,u],l,g,o,s,i]}}}function C(e,t){const r={stack:[],error:void 0,hasError:!1};try{return t??=(0,i.Ie)(),(0,n.mS)(r,new _(e,["vertexZ","vertexM","spatialReference"]),!1),(0,i.bx)(t,function(e){let t;const{vertexCount:r,vertexXY:s,vertexZ:o,vertexM:a}=e,u=R(e);if(e.hasCurves()){const r={stack:[],error:void 0,hasError:!1};try{(0,n.mS)(r,new _(e,["vertexZ","vertexM"]),!1);const s=(0,i.Ie)();for(const t of e.parts){let e=t.startVertex;for(const{curve:r}of t.segments)(0,h.e)(s,e,r),e=(0,l.yP)(r)}const[o,a,c,g]=s;t={xmin:o,ymin:a,xmax:c,ymax:g,spatialReference:u}}catch(e){r.error=e,r.hasError=!0}finally{(0,n.hk)(r)}}else{let e,n,i,o;e=n=1/0,i=o=-1/0;for(let t=0;t<r;++t){const r=s[2*t],a=s[2*t+1];e=Math.min(e,r),i=Math.max(i,r),n=Math.min(n,a),o=Math.max(o,a)}t={xmin:e,ymin:n,xmax:i,ymax:o,spatialReference:u}}if(o){let e=1/0,r=-1/0;for(const t of o)e=Math.min(e,t),r=Math.max(r,t);t.zmin=e,t.zmax=r}if(a){let e=1/0,r=-1/0;for(const t of a)e=Math.min(e,t),r=Math.max(r,t);t.mmin=e,t.mmax=r}return t}(e)),t}catch(e){r.error=e,r.hasError=!0}finally{(0,n.hk)(r)}}function P(e){let t,r,n;if((0,o.fT)(e)){n="point";const{x:s,y:i,z:o,m:a}=e,u=[s,i];null!=o&&u.push(o),null!=a&&u.push(a),r=[[u]],t=1}else(0,o.U9)(e)?(n="multipoint",r=[e.points],t=e.points.length):(0,o.Rg)(e)?(n="polyline",r=e.curvePaths??e.paths,t=r.reduce((e,t)=>e+t.length,0)):(n="polygon",r=e.curveRings??e.rings,t=r.reduce((e,t)=>(0===t.length||(e+=t.length,G(t[0],(0,l.yP)(t.at(-1)))&&--e),e),0));const s=N(n,t,n.includes("point")?0:r.length,(0,o.Pv)(e),(0,o.W0)(e),(0,l.Ed)(e)),{hasZ:i,hasM:a,vertexXY:u,vertexZ:c,vertexM:h}=s;function g(e){u[2*f]=e[0],u[2*f+1]=e[1],i&&(c[f]=e[2]),a&&(h[f]=e[m]),++f}s.spatialReference=e.spatialReference??void 0;const m=s.hasZ?3:2;let f=0;if(!s.isMultipart()){if(!i&&!a){for(const[e,t]of r[0])u[2*f]=e,u[2*f+1]=t,++f;return s}for(const e of r[0])g(e);return s}const x="polygon"===n,{partOffsets:d}=s;let p=0;if(!(0,l.Ed)(e)){for(const e of r){if(d[p++]=f,0===e.length)continue;let t=e.length;if(x&&G(e[0],e.at(-1))&&--t,i||a)for(let r=0;r<t;++r)g(e[r]);else for(let r=0;r<t;++r){const[t,n]=e[r];u[2*f]=t,u[2*f+1]=n,++f}}return d[p]=f,s}function y(e){const t=v+e;if(t<=(s.segmentParams?.length??0))return;let r=t*Y;r=20*Math.ceil(r/20);const n=s.segmentParams;s.segmentParams=new Float64Array(r),null!=n&&s.segmentParams.set(n)}let v=0;for(const e of r){if(s.partOffsets[p++]=f,0===e.length)continue;const t=e[0];let r=t;for(let t=1;t<e.length;++t){const n=e[t];g(r);const i=f-1;(0,l.wY)(n)?(y(10),++s.segmentCountArc,v=A(r,n,s,i,v),r=n.a[0]):(0,l.DA)(n)?(y(10),++s.segmentCountArc,v=w(r,n,s,i,v),r=n.a[0]):(0,l.aO)(n)?(y(10),++s.segmentCountArc,v=Z(r,n,s,i,v),r=n.c[0]):(0,l.n1)(n)?(y(4),++s.segmentCountBezier,v=I(0,n,s,i,v),r=n.b[0]):r=n}x&&G(t,r)||g(r)}return s.partOffsets[p]=f,s}function M(e){const t=b(e),{vertexCount:r,partCount:n,hasZ:s,hasM:i}=e,o=R(e);if("point"===e.type){const[t,r]=e.vertexXY,n=e.vertexZ?.[0],s=e.vertexM?.[0];return{x:t,y:r,z:n,m:s,spatialReference:o}}let a=0;if("multipoint"===e.type){const e=[];for(;a<r;)e.push(t(a++));return{points:e,spatialReference:o,hasZ:s,hasM:i}}const u="polygon"===e.type;if(!e.hasCurves()){const r=new Array;for(let s=0;s<n;++s){const n=e.partOffsets[s+1],i=new Array;for(;a<n;)i.push(t(a++));u&&i.length>0&&i.push(i[0]),r.push(i)}return u?{rings:r,hasZ:s,hasM:i,spatialReference:o}:{paths:r,hasZ:s,hasM:i,spatialReference:o}}const c=new Array;for(const{segments:t,startVertex:r}of e.parts){const e=[r];for(const{curve:r}of t)e.push(r);c.push(e)}return u?{rings:[],curveRings:c,hasZ:s,hasM:i,spatialReference:o}:{paths:[],curvePaths:c,hasZ:s,hasM:i,spatialReference:o}}function S(e,{lengths:t,coords:r,hasZ:n,hasM:s},i){const o=e.includes("point")?0:t.length,a="polygon"===e,u="point"===e?1:t.reduce((e,t)=>e+t,0)-(a?o:0);n??=!1,s??=!1;const c=N(e,u,o,n,s,!1,0,0);if(c.spatialReference=i??void 0,!c.isMultipart()){for(let e=0,t=0;e<u;++e)c.vertexXY[2*e]=r[t++],c.vertexXY[2*e+1]=r[t++],n&&(c.vertexZ[e]=r[t++]),s&&(c.vertexM[e]=r[t++]);return c}const h=2+Number(n)+Number(s);let l=0,g=0;c.partOffsets[0]=0;for(const e of t){const t=c.partOffsets[g],i=t+e-Number(a);c.partOffsets[++g]=i;for(let e=t;e<i;++e)c.vertexXY[2*e]=r[l++],c.vertexXY[2*e+1]=r[l++],n&&(c.vertexZ[e]=r[l++]),s&&(c.vertexM[e]=r[l++]);a&&(l+=h)}return c}function V({type:e,vertexCount:t,vertexXY:r,vertexZ:n,vertexM:s,partCount:i,partOffsets:o,hasZ:a,hasM:u}){const c=new f.A([],[],a,u);i=Math.max(i,1);const h="polygon"===e;let l=0;for(let e=0;e<i;++e){const i=o?.[e+1]??t,g=c.coords.length;for(let e=l;e<i;++e)c.coords.push(r[2*e],r[2*e+1]),a&&c.coords.push(n[e]),u&&c.coords.push(s[e]);if(h){const e=l;c.coords.push(r[2*e],r[2*e+1]),a&&c.coords.push(n[e]),u&&c.coords.push(s[e])}c.lengths.push((c.coords.length-g)/c.stride),l=i}return"point"===e&&(c.lengths.length=0),c}function E(e,t){return"getSpatialReference"in e&&(t=function(e){if(null==e)return;const t=e.getText()||void 0,r=e.isCustomWkid()?0:e.getOldID();if(r<=0)return{wkt:t};let n=e.getLatestID();(n<=0||n===r)&&(n=void 0);const s=e.getVCS();if(null==s)return{wkid:r,latestWkid:n,wkt:t};const i=s.isCustomWkid()?0:s.getOldID();if(i<=0)return{wkt:t};let o=e.getLatestVerticalID();return(o<=0||o===i)&&(o=void 0),{wkid:r,wkt:t,latestWkid:n,vcsWkid:i,latestVcsWkid:o}}(e.getSpatialReference()),e=e.getGeometry()),new x({...e.toFlatGeometry(),spatialReference:t})}class _{constructor(e,t){this.target=e,this.keys=t,this.oldValues=t.map(t=>e[t]);for(const r of t)e[r]=void 0}[Symbol.dispose](){this.keys.map((e,t)=>{this.target[e]=this.oldValues[t]})}}function R({spatialReference:e}){return e instanceof s.A?e.toJSON():e}function b({vertexXY:e,vertexZ:t,vertexM:r}){return t?r?n=>[e[2*n],e[2*n+1],t[n],r[n]]:r=>[e[2*r],e[2*r+1],t[r]]:r?t=>[e[2*t],e[2*t+1],r[t]]:t=>[e[2*t],e[2*t+1]]}function G(e,t){return e.every((e,r)=>e===t[r])}function N(e,t,r,n,s,i,o,a){o??=0,a??=0;const u=new x({type:e,vertexCount:t,vertexXY:null,vertexZ:void 0,vertexM:void 0,partCount:r,partOffsets:void 0,partFlags:void 0,segmentFlags:void 0,segmentIndices:void 0,segmentParams:void 0,segmentCountArc:o,segmentCountBezier:a});let c=2*Float64Array.BYTES_PER_ELEMENT*t;n&&(c+=Float64Array.BYTES_PER_ELEMENT*t),s&&(c+=Float64Array.BYTES_PER_ELEMENT*t),u.isMultipart()&&(c+=(r+1)*Int32Array.BYTES_PER_ELEMENT,c+=(r+1)*Int8Array.BYTES_PER_ELEMENT),i&&(c+=t*Int8Array.BYTES_PER_ELEMENT,c+=t*Int32Array.BYTES_PER_ELEMENT,c+=u.segmentParamCount*Float64Array.BYTES_PER_ELEMENT);const h=new ArrayBuffer(c);let l=0;return u.vertexXY=new Float64Array(h,l,2*t),l+=u.vertexXY.byteLength,n&&(u.vertexZ=new Float64Array(h,l,t),l+=u.vertexZ.byteLength),s&&(u.vertexM=new Float64Array(h,l,t),l+=u.vertexM.byteLength),i&&(u.segmentParams=new Float64Array(h,l,u.segmentParamCount),l+=u.segmentParams.byteLength,u.segmentIndices=new Int32Array(h,l,t),u.segmentIndices.fill(T),l+=u.segmentIndices.byteLength),u.isMultipart()&&(u.partOffsets=new Int32Array(h,l,r+1),l+=u.partOffsets.byteLength,u.partFlags=new Int8Array(h,l,r+1),l+=u.partFlags.byteLength,"polygon"===u.type&&u.partFlags.subarray(0,r).fill(1)),i&&(u.segmentFlags=new Int8Array(h,l,t),u.segmentFlags.fill(1),l+=u.segmentFlags.byteLength),u}function A(e,t,{segmentFlags:r,segmentIndices:n,segmentParams:s},i,o){r[i]=4,n[i]=o;const[a,[u,c],h,l,g,f,x]=t.a;let d=4;l||(d|=1),h||(d|=2);const p=(0,m.SW)(e,t),[y,v]=(0,m.Uk)(p,.5);return s[o++]=d,s[o++]=f,s[o++]=x,s[o++]=g,s[o++]=u,s[o++]=c,s[o++]=p.u2-p.u1,s[o++]=p.u1,s[o++]=y,s[o++]=v,o}function w(e,t,{segmentFlags:r,segmentIndices:n,segmentParams:s},i,o){r[i]=4,n[i]=o;const a=(0,g.io)(e,t);return O(a,4,...(0,u.mq)(a,.5),s,o)}function Z(e,t,{segmentFlags:r,segmentIndices:n,segmentParams:s},i,o){return r[i]=4,n[i]=o,O((0,c.pM)(e,t),0,...t.c[1],s,o)}function O(e,t,r,n,s,i){const{cx:o,cy:a,thetaStart:u,thetaEnd:c,radius:h}=e;return u>c||(t|=1),Math.abs(c-u)<=Math.PI||(t|=2),s[i++]=t,s[i++]=h,s[i++]=1,s[i++]=0,s[i++]=o,s[i++]=a,s[i++]=c-u,s[i++]=u,s[i++]=r,s[i++]=n,i}function I(e,{b:[t,[r,n],[s,i]]},{segmentFlags:o,segmentIndices:a,segmentParams:u},c,h){return o[c]=2,a[c]=h,u[h++]=r,u[h++]=n,u[h++]=s,u[h++]=i,h}const Y=1.61803,T=-1},48032(e,t,r){r.d(t,{getNearestCoordinate:()=>n.g}),r(88194),r(86211),r(78125),r(79533);var n=r(59260)},78125(e,t,r){r.r(t),r.d(t,{fromExtent:()=>d,fromGeometry:()=>x,fromMultipoint:()=>p,fromPoint:()=>y,fromPolygon:()=>v,fromPolyline:()=>C,fromPolylineUsingImportOperator:()=>P,fromSpatialReference:()=>M,getSpatialReference:()=>f,toExtent:()=>V,toGeometry:()=>S,toMultipoint:()=>E,toPoint:()=>_,toPolygon:()=>R,toPolyline:()=>b});var n=r(83661),s=r(55537),i=r(95213),o=r(88885),a=r(5443),u=r(48526),c=r(86738),h=r(39829),l=r(82799),g=(r(90293),r(83299));const m="_gxVersion";function f(e){return Array.isArray(e)?e[0].spatialReference:e.spatialReference}function x(e){switch(e.type){case"point":return y(e);case"multipoint":return p(e);case"polyline":return C(e);case"polygon":return v(e);case"extent":return d(e);default:throw new Error(`Unsupported geometry type: ${e.type}`)}}function d(e){if(!e.getCacheValue(m)){const t=new i.E;t.setCoords(e.xmin,e.ymin,e.xmax,e.ymax),e.hasM&&t.setInterval(2,0,e.mmin,e.mmax),e.hasZ&&t.setInterval(1,0,e.zmin,e.zmax),e.setCacheValue(m,t)}return e.getCacheValue(m)}function p(e){if(!e.getCacheValue(m)){const t=new o.M,r=new i.P,n=e.points,s=e.hasM,a=e.hasZ,u=a?3:2;for(let e=0,i=n.length;e<i;e++){const i=n[e];r.setXYCoords(i[0],i[1]),a&&r.setZ(i[2]??0),s&&r.setM(i[u]??NaN),t.add(r)}e.setCacheValue(m,t)}return e.getCacheValue(m)}function y(e){if(!e.getCacheValue(m)){const t=new i.P;t.setXYCoords(e.x,e.y),e.hasM&&t.setM(e.m),e.hasZ&&t.setZ(e.z),e.setCacheValue(m,t)}return e.getCacheValue(m)}function v(e){if(!e.getCacheValue(m)){const{curveRings:t,hasM:r,hasZ:n,rings:s}=e,i=(0,g.fromGeometryToGXGeometry)({curveRings:t,hasM:r,hasZ:n,rings:s});e.setCacheValue(m,i)}return e.getCacheValue(m)}function C(e){if(!e.getCacheValue(m)){const{curvePaths:t,hasM:r,hasZ:n,paths:s}=e,i=(0,g.fromGeometryToGXGeometry)({curvePaths:t,hasM:r,hasZ:n,paths:s});e.setCacheValue(m,i)}return e.getCacheValue(m)}function P(e){if(!e.getCacheValue(m)){const{curvePaths:t,hasM:r,hasZ:n,paths:s}=e,i=(0,g.fromGeometryToGXGeometryUsingImportOperator)({curvePaths:t,hasM:r,hasZ:n,paths:s});e.setCacheValue(m,i)}return e.getCacheValue(m)}function M(e){return e.cache?(e.cache[m]??=(0,g.fromSpatialReference)(e),e.cache[m]):(0,g.fromSpatialReference)(e)}function S(e,t){if(e)switch(e.getGeometryType()){case s.G.enumPoint:return _(e,t);case s.G.enumEnvelope:return V(e,t);case s.G.enumMultiPoint:return E(e,t);case s.G.enumPolyline:return b(e,t);case s.G.enumPolygon:return R(e,t)}return null}function V(e,t){if(e.isEmpty())return null;const r=new a.A({xmin:e.getXMin(),ymin:e.getYMin(),xmax:e.getXMax(),ymax:e.getYMax(),spatialReference:t}),n=e.getDescription();if(n.hasM()){const t=e.queryInterval(2,0);r.mmin=t.vmin,r.mmax=t.vmax}if(n.hasZ()){const t=e.queryInterval(1,0);r.zmin=t.vmin,r.zmax=t.vmax}return r.setCacheValue(m,e),r}function E(e,t){if(e.isEmpty())return null;const r=e.getDescription(),n=r.hasM(),s=r.hasZ(),o=[],a=new i.P;for(let t=0,r=e.getPointCount();t<r;t++){e.getPointByVal(t,a);const r=[a.getX(),a.getY()];s&&r.push(a.getZ()),n&&r.push(a.getM()),o.push(r)}const c=new u.A({hasM:n,hasZ:s,points:o,spatialReference:t});return c.setCacheValue(m,e),c}function _(e,t){if(e instanceof n.P)return new c.A({x:e.x,y:e.y,spatialReference:t});if(e.isEmpty())return null;const r=new c.A({x:e.getX(),y:e.getY(),spatialReference:t}),s=e.getDescription();return s.hasM()&&(r.m=e.getM()),s.hasZ()&&(r.z=e.getZ()),r.setCacheValue(m,e),r}function R(e,t){if(e.isEmpty())return null;const r=h.A.fromJSON({...(0,g.toGeometry)(e,null),spatialReference:t});return r.setCacheValue(m,e),r}function b(e,t){if(e.isEmpty())return null;const r=l.A.fromJSON({...(0,g.toGeometry)(e,null),spatialReference:t});return r.setCacheValue(m,e),r}},79533(e,t,r){r.d(t,{C:()=>s});var n=r(78125);function s(e,t,r=!1){const s=(0,n.toPoint)(e.m_coordinate,(0,n.getSpatialReference)(t)),i=e.m_distance,o=e.isEmpty(),a=e.m_bRightSide;return{coordinate:s,distance:i,isEmpty:o,...r&&{isRightSide:a},vertexIndex:e.m_vertexIndex}}},92722(e,t,r){r.d(t,{A:()=>s});var n=r(69397);class s{constructor(e=[],t=[],r=!1,n=!1){this.lengths=e??[],this.coords=t??[],this.hasZ=r,this.hasM=n}static fromJSON({lengths:e,coords:t,hasZ:r,hasM:n}){return new s(e,t,r||!1,n||!1)}static fromRect([e,t,r,n]){const i=r-e,o=n-t;return new s([5],[e,t,i,0,0,o,-i,0,0,-o])}get isPoint(){return 0===this.lengths.length&&this.coords.length>=2}get maxLength(){return Math.max(...this.lengths)}get size(){return this.isPoint?1:this.lengths.reduce((e,t)=>e+t,0)}get usedMemory(){return 64+(0,n.Qf)(this.lengths,this.coords)}get stride(){return 2+(this.hasZ?1:0)+(this.hasM?1:0)}area(){if(this.isPoint)return 0;let e=0,t=0;for(const r of this.lengths){if(r<3)continue;const{stride:n}=this;let s=this.coords[n*t],i=this.coords[n*t+1];for(let o=1;o<r;o+=1){const r=n*(t+o),a=this.coords[r],u=this.coords[r+1];e+=-.5*(a-s)*(u+i),s=a,i=u}t+=r}return e}forEachVertex(e){let t=0;if(this.isPoint)return e(this.coords[0],this.coords[1]);const{stride:r}=this;for(const n of this.lengths){for(let s=0;s<n;s++){const n=r*(t+s);e(this.coords[n],this.coords[n+1])}t+=n}}deltaDecode(){const e=this.clone(),{coords:t,lengths:r}=e;let n=0;const{stride:s}=this;for(const e of r){for(let r=1;r<e;r++){const e=s*(n+r);t[e]+=t[e-s],t[e+1]+=t[e+1-s]}n+=e}return e}clone(e){if(this.isPoint)return new s([],Array.from(this.coords.slice(0,this.stride)),this.hasZ,this.hasM);const t=Array.from(this.lengths),{stride:r,size:n}=this,i=this.coords.slice(0,n*r);return e?(e.set(i),new s(t,e,this.hasZ,this.hasM)):new s(t,Array.from(i),this.hasZ,this.hasM)}justXY(){const{stride:e,size:t}=this;if(2===e)return this;const r=new Array(t*e);for(let t=0,n=0;t<r.length;t+=e)r[n++]=this.coords[t],r[n++]=this.coords[t+1];return new s(this.lengths,r,!1,!1)}}}}]);