earthsdk3 3.0.7-beta.7 → 3.0.7-beta.9

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 (210) hide show
  1. package/README.md +1 -1
  2. package/dist/earthsdk3.iife.js +19 -18
  3. package/dist/earthsdk3.js +7510 -4740
  4. package/dist/earthsdk3.umd.cjs +34 -33
  5. package/dist/types/ESJTypes/pickedInfos/index.d.ts +58 -0
  6. package/dist/types/ESJTypes/pickedInfos/index.d.ts.map +1 -1
  7. package/dist/types/ESJTypes/properties/ClockType.d.ts +14 -0
  8. package/dist/types/ESJTypes/properties/ClockType.d.ts.map +1 -1
  9. package/dist/types/ESJTypes/properties/DataType.d.ts +48 -5
  10. package/dist/types/ESJTypes/properties/DataType.d.ts.map +1 -1
  11. package/dist/types/ESJTypes/properties/ESJArcType.d.ts +9 -0
  12. package/dist/types/ESJTypes/properties/ESJArcType.d.ts.map +1 -1
  13. package/dist/types/ESJTypes/properties/ESJEditingMode.d.ts +57 -0
  14. package/dist/types/ESJTypes/properties/ESJEditingMode.d.ts.map +1 -1
  15. package/dist/types/ESJTypes/properties/ESJEnvironmentMapManager.d.ts +39 -0
  16. package/dist/types/ESJTypes/properties/ESJEnvironmentMapManager.d.ts.map +1 -1
  17. package/dist/types/ESJTypes/properties/ESJInstances.d.ts +16 -0
  18. package/dist/types/ESJTypes/properties/ESJInstances.d.ts.map +1 -1
  19. package/dist/types/ESJTypes/properties/ESJMaterialType.d.ts +70 -0
  20. package/dist/types/ESJTypes/properties/ESJMaterialType.d.ts.map +1 -1
  21. package/dist/types/ESJTypes/properties/ESJResource.d.ts +39 -0
  22. package/dist/types/ESJTypes/properties/ESJResource.d.ts.map +1 -1
  23. package/dist/types/ESJTypes/properties/FillStyleType.d.ts +18 -1
  24. package/dist/types/ESJTypes/properties/FillStyleType.d.ts.map +1 -1
  25. package/dist/types/ESJTypes/properties/FlyParamType.d.ts +19 -11
  26. package/dist/types/ESJTypes/properties/FlyParamType.d.ts.map +1 -1
  27. package/dist/types/ESJTypes/properties/ParticleEmitterJsonType.d.ts +32 -0
  28. package/dist/types/ESJTypes/properties/ParticleEmitterJsonType.d.ts.map +1 -1
  29. package/dist/types/ESJTypes/properties/PointStyleType.d.ts +22 -1
  30. package/dist/types/ESJTypes/properties/PointStyleType.d.ts.map +1 -1
  31. package/dist/types/ESJTypes/properties/StrokeStyleType.d.ts +29 -2
  32. package/dist/types/ESJTypes/properties/StrokeStyleType.d.ts.map +1 -1
  33. package/dist/types/ESJTypes/properties/Viewer.d.ts +89 -1
  34. package/dist/types/ESJTypes/properties/Viewer.d.ts.map +1 -1
  35. package/dist/types/ESJTypes/properties/index.d.ts +68 -28
  36. package/dist/types/ESJTypes/properties/index.d.ts.map +1 -1
  37. package/dist/types/ESObjectManager/ESPlyarAndPathTime.d.ts +11 -1
  38. package/dist/types/ESObjectManager/ESPlyarAndPathTime.d.ts.map +1 -1
  39. package/dist/types/ESObjectManager/PathAnimationManager.d.ts +30 -0
  40. package/dist/types/ESObjectManager/PathAnimationManager.d.ts.map +1 -1
  41. package/dist/types/ESObjectManager/SceneObjectEditingManager.d.ts +39 -0
  42. package/dist/types/ESObjectManager/SceneObjectEditingManager.d.ts.map +1 -1
  43. package/dist/types/ESObjectManager/SceneObjectsListening.d.ts +41 -1
  44. package/dist/types/ESObjectManager/SceneObjectsListening.d.ts.map +1 -1
  45. package/dist/types/ESObjectManager/SceneObjectsManager.d.ts +51 -0
  46. package/dist/types/ESObjectManager/SceneObjectsManager.d.ts.map +1 -1
  47. package/dist/types/ESObjectManager/ViewersManager.d.ts +42 -0
  48. package/dist/types/ESObjectManager/ViewersManager.d.ts.map +1 -1
  49. package/dist/types/ESObjectManager/index.d.ts +329 -8
  50. package/dist/types/ESObjectManager/index.d.ts.map +1 -1
  51. package/dist/types/ESObjectManager/propTreeCallback.d.ts +17 -0
  52. package/dist/types/ESObjectManager/propTreeCallback.d.ts.map +1 -1
  53. package/dist/types/ESObjectManager/utils.d.ts +23 -0
  54. package/dist/types/ESObjectManager/utils.d.ts.map +1 -1
  55. package/dist/types/ESObjects/base/ESGeoVector.d.ts +254 -5
  56. package/dist/types/ESObjects/base/ESGeoVector.d.ts.map +1 -1
  57. package/dist/types/ESObjects/base/ESLabel.d.ts +59 -1
  58. package/dist/types/ESObjects/base/ESLabel.d.ts.map +1 -1
  59. package/dist/types/ESObjects/base/ESLocalVector.d.ts +211 -1
  60. package/dist/types/ESObjects/base/ESLocalVector.d.ts.map +1 -1
  61. package/dist/types/ESObjects/base/ESLocalVector2D.d.ts +31 -0
  62. package/dist/types/ESObjects/base/ESLocalVector2D.d.ts.map +1 -1
  63. package/dist/types/ESObjects/base/ESObjectWithLocation.d.ts +128 -17
  64. package/dist/types/ESObjects/base/ESObjectWithLocation.d.ts.map +1 -1
  65. package/dist/types/ESObjects/base/ESSceneObject/ESObjectsContext.d.ts +133 -6
  66. package/dist/types/ESObjects/base/ESSceneObject/ESObjectsContext.d.ts.map +1 -1
  67. package/dist/types/ESObjects/base/ESSceneObject/RefsManager.d.ts +37 -1
  68. package/dist/types/ESObjects/base/ESSceneObject/RefsManager.d.ts.map +1 -1
  69. package/dist/types/ESObjects/base/ESSceneObject/funcs/createEnvEvalStrReact.d.ts +10 -0
  70. package/dist/types/ESObjects/base/ESSceneObject/funcs/createEnvEvalStrReact.d.ts.map +1 -1
  71. package/dist/types/ESObjects/base/ESSceneObject/funcs/replaceStrWithEnv.d.ts +10 -0
  72. package/dist/types/ESObjects/base/ESSceneObject/funcs/replaceStrWithEnv.d.ts.map +1 -1
  73. package/dist/types/ESObjects/base/ESSceneObject/index.d.ts +259 -9
  74. package/dist/types/ESObjects/base/ESSceneObject/index.d.ts.map +1 -1
  75. package/dist/types/ESObjects/base/ESVisualObject.d.ts +217 -10
  76. package/dist/types/ESObjects/base/ESVisualObject.d.ts.map +1 -1
  77. package/dist/types/ESObjects/general/ES3DTileset/index.d.ts +1 -1
  78. package/dist/types/ESObjects/general/ESDynamicWater.d.ts +7 -3
  79. package/dist/types/ESObjects/general/ESDynamicWater.d.ts.map +1 -1
  80. package/dist/types/ESObjects/general/ESGeoWater.d.ts +7 -3
  81. package/dist/types/ESObjects/general/ESGeoWater.d.ts.map +1 -1
  82. package/dist/types/ESObjects/general/ESRtsFeatureEditing/index.d.ts +8 -2
  83. package/dist/types/ESObjects/general/ESRtsFeatureEditing/index.d.ts.map +1 -1
  84. package/dist/types/ESObjects/general/ESRtsTileset/index.d.ts +1 -2
  85. package/dist/types/ESObjects/general/ESRtsTileset/index.d.ts.map +1 -1
  86. package/dist/types/ESObjects/general/ESRtsTileset/types.d.ts +0 -6
  87. package/dist/types/ESObjects/general/ESRtsTileset/types.d.ts.map +1 -1
  88. package/dist/types/ESObjects/general/ESSubmergingAnalysis/index.d.ts +7 -3
  89. package/dist/types/ESObjects/general/ESSubmergingAnalysis/index.d.ts.map +1 -1
  90. package/dist/types/ESObjects/general/ESTextLabel.d.ts +0 -1
  91. package/dist/types/ESObjects/general/ESTextLabel.d.ts.map +1 -1
  92. package/dist/types/ESViewer/ContainerStyleController.d.ts +10 -0
  93. package/dist/types/ESViewer/ContainerStyleController.d.ts.map +1 -1
  94. package/dist/types/ESViewer/ESViewer.d.ts +832 -7
  95. package/dist/types/ESViewer/ESViewer.d.ts.map +1 -1
  96. package/dist/types/ESViewer/Resetting/index.d.ts +15 -1
  97. package/dist/types/ESViewer/Resetting/index.d.ts.map +1 -1
  98. package/dist/types/ESViewer/StatusContainer.d.ts +10 -0
  99. package/dist/types/ESViewer/StatusContainer.d.ts.map +1 -1
  100. package/dist/types/ESViewer/ViewerContainer.d.ts +30 -0
  101. package/dist/types/ESViewer/ViewerContainer.d.ts.map +1 -1
  102. package/dist/types/ESViewer/ViewerContext.d.ts +26 -0
  103. package/dist/types/ESViewer/ViewerContext.d.ts.map +1 -1
  104. package/dist/types/ESViewer/ViewerCustomInteraction.d.ts +10 -1
  105. package/dist/types/ESViewer/ViewerCustomInteraction.d.ts.map +1 -1
  106. package/dist/types/ESViewer/getContainer.d.ts +20 -0
  107. package/dist/types/ESViewer/getContainer.d.ts.map +1 -1
  108. package/dist/types/EngineObject/EditingObjectContext.d.ts +36 -0
  109. package/dist/types/EngineObject/EditingObjectContext.d.ts.map +1 -1
  110. package/dist/types/EngineObject/EngineObjectsContext.d.ts +38 -0
  111. package/dist/types/EngineObject/EngineObjectsContext.d.ts.map +1 -1
  112. package/dist/types/EngineObject/index.d.ts +46 -0
  113. package/dist/types/EngineObject/index.d.ts.map +1 -1
  114. package/dist/types/copyright.d.ts +20 -0
  115. package/dist/types/copyright.d.ts.map +1 -1
  116. package/dist/types/utils/PropTrees/PropTree.d.ts +14 -0
  117. package/dist/types/utils/PropTrees/PropTree.d.ts.map +1 -1
  118. package/dist/types/utils/PropTrees/PropTreeItem.d.ts +34 -1
  119. package/dist/types/utils/PropTrees/PropTreeItem.d.ts.map +1 -1
  120. package/dist/types/utils/PropTrees/PropUiTreeManager.d.ts +37 -1
  121. package/dist/types/utils/PropTrees/PropUiTreeManager.d.ts.map +1 -1
  122. package/dist/types/utils/SceneTrees/SceneTree.d.ts +166 -22
  123. package/dist/types/utils/SceneTrees/SceneTree.d.ts.map +1 -1
  124. package/dist/types/utils/SceneTrees/SceneTreeContextMenu.d.ts +31 -0
  125. package/dist/types/utils/SceneTrees/SceneTreeContextMenu.d.ts.map +1 -1
  126. package/dist/types/utils/SceneTrees/SceneTreeItem.d.ts +129 -1
  127. package/dist/types/utils/SceneTrees/SceneTreeItem.d.ts.map +1 -1
  128. package/dist/types/utils/SceneTrees/SceneTreeItemDragDrop.d.ts +7 -0
  129. package/dist/types/utils/SceneTrees/SceneTreeItemDragDrop.d.ts.map +1 -1
  130. package/dist/types/utils/SceneTrees/SceneTreeJsonLoading.d.ts +40 -0
  131. package/dist/types/utils/SceneTrees/SceneTreeJsonLoading.d.ts.map +1 -1
  132. package/dist/types/utils/SceneTrees/defaultCreateSceneObject.d.ts +11 -0
  133. package/dist/types/utils/SceneTrees/defaultCreateSceneObject.d.ts.map +1 -1
  134. package/dist/types/utils/SceneTrees/defaultCreateTreeItemDragDrop.d.ts +10 -0
  135. package/dist/types/utils/SceneTrees/defaultCreateTreeItemDragDrop.d.ts.map +1 -1
  136. package/dist/types/utils/SceneTrees/defaultLight122FromEnvironmentMapManager.d.ts +24 -0
  137. package/dist/types/utils/SceneTrees/defaultLight122FromEnvironmentMapManager.d.ts.map +1 -1
  138. package/dist/types/utils/SceneTrees/defaultShowSceneObject.d.ts +18 -0
  139. package/dist/types/utils/SceneTrees/defaultShowSceneObject.d.ts.map +1 -1
  140. package/dist/types/utils/SceneTrees/preload.d.ts +15 -2
  141. package/dist/types/utils/SceneTrees/preload.d.ts.map +1 -1
  142. package/dist/types/utils/base/DragStartDataManager.d.ts +33 -0
  143. package/dist/types/utils/base/DragStartDataManager.d.ts.map +1 -1
  144. package/dist/types/utils/base/TreeItemDragDrop.d.ts +36 -0
  145. package/dist/types/utils/base/TreeItemDragDrop.d.ts.map +1 -1
  146. package/dist/types/utils/base/bindCustomEditing.d.ts +11 -0
  147. package/dist/types/utils/base/bindCustomEditing.d.ts.map +1 -1
  148. package/dist/types/utils/base/hasSameTags.d.ts +16 -0
  149. package/dist/types/utils/base/hasSameTags.d.ts.map +1 -1
  150. package/dist/types/utils/base/lerpAngle.d.ts +25 -0
  151. package/dist/types/utils/base/lerpAngle.d.ts.map +1 -1
  152. package/dist/types/utils/base/rpToap.d.ts +1 -1
  153. package/dist/types/utils/base/sceneObjectTreeItem.d.ts +11 -0
  154. package/dist/types/utils/base/sceneObjectTreeItem.d.ts.map +1 -1
  155. package/dist/types/utils/base/utils.d.ts +1 -1
  156. package/dist/types/utils/components/ESSceneObjectWithId.d.ts +62 -3
  157. package/dist/types/utils/components/ESSceneObjectWithId.d.ts.map +1 -1
  158. package/dist/types/utils/components/Player.d.ts +49 -2
  159. package/dist/types/utils/components/Player.d.ts.map +1 -1
  160. package/dist/types/utils/components/Watcher.d.ts +78 -1
  161. package/dist/types/utils/components/Watcher.d.ts.map +1 -1
  162. package/dist/types/utils/components/WatcherTools/toolsForWatcher.d.ts +24 -0
  163. package/dist/types/utils/components/WatcherTools/toolsForWatcher.d.ts.map +1 -1
  164. package/dist/types/utils/proj4/getDistancesFromPositions.d.ts +15 -3
  165. package/dist/types/utils/proj4/getDistancesFromPositions.d.ts.map +1 -1
  166. package/dist/types/utils/proj4/getXyzFromPostion.d.ts +9 -1
  167. package/dist/types/utils/proj4/getXyzFromPostion.d.ts.map +1 -1
  168. package/dist/types/utils/proj4/lbhToXyz.d.ts +33 -4
  169. package/dist/types/utils/proj4/lbhToXyz.d.ts.map +1 -1
  170. package/dist/types/utils/react.d.ts +22 -0
  171. package/dist/types/utils/react.d.ts.map +1 -1
  172. package/dist/types/utils/registerCreatedEventUpdate.d.ts +10 -0
  173. package/dist/types/utils/registerCreatedEventUpdate.d.ts.map +1 -1
  174. package/dist/types/utils/registerEventUpdate.d.ts +10 -0
  175. package/dist/types/utils/registerEventUpdate.d.ts.map +1 -1
  176. package/dist/types/utils/turf/booleanPointInPolygon.d.ts +5 -4
  177. package/dist/types/utils/turf/booleanPointInPolygon.d.ts.map +1 -1
  178. package/dist/types/utils/turf/geoAlong.d.ts +6 -4
  179. package/dist/types/utils/turf/geoAlong.d.ts.map +1 -1
  180. package/dist/types/utils/turf/geoArea.d.ts +19 -3
  181. package/dist/types/utils/turf/geoArea.d.ts.map +1 -1
  182. package/dist/types/utils/turf/geoCenterOfMass.d.ts +26 -3
  183. package/dist/types/utils/turf/geoCenterOfMass.d.ts.map +1 -1
  184. package/dist/types/utils/turf/geoDestination.d.ts +12 -6
  185. package/dist/types/utils/turf/geoDestination.d.ts.map +1 -1
  186. package/dist/types/utils/turf/geoDistance.d.ts +14 -4
  187. package/dist/types/utils/turf/geoDistance.d.ts.map +1 -1
  188. package/dist/types/utils/turf/geoHeading.d.ts +22 -4
  189. package/dist/types/utils/turf/geoHeading.d.ts.map +1 -1
  190. package/dist/types/utils/turf/geoLineIntersect.d.ts +8 -4
  191. package/dist/types/utils/turf/geoLineIntersect.d.ts.map +1 -1
  192. package/dist/types/utils/turf/geoMidpoint.d.ts +10 -0
  193. package/dist/types/utils/turf/geoMidpoint.d.ts.map +1 -1
  194. package/dist/types/utils/turf/geoNearestPointOnLine.d.ts +8 -4
  195. package/dist/types/utils/turf/geoNearestPointOnLine.d.ts.map +1 -1
  196. package/dist/types/utils/turf/geoPointToLineDistance.d.ts +8 -4
  197. package/dist/types/utils/turf/geoPointToLineDistance.d.ts.map +1 -1
  198. package/dist/types/utils/turf/geoRhumbDestination.d.ts +18 -6
  199. package/dist/types/utils/turf/geoRhumbDestination.d.ts.map +1 -1
  200. package/dist/types/utils/turf/geoRhumbDistance.d.ts +8 -4
  201. package/dist/types/utils/turf/geoRhumbDistance.d.ts.map +1 -1
  202. package/dist/types/utils/turf/geoRhumbHeading.d.ts +5 -4
  203. package/dist/types/utils/turf/geoRhumbHeading.d.ts.map +1 -1
  204. package/dist/types/utils/turf/geoTools.d.ts +34 -28
  205. package/dist/types/utils/turf/geoTools.d.ts.map +1 -1
  206. package/dist/types/utils/turf/getGeoBoundingSphereFromPositions.d.ts +17 -0
  207. package/dist/types/utils/turf/getGeoBoundingSphereFromPositions.d.ts.map +1 -1
  208. package/dist/types/utils/turf/getMinMaxCorner.d.ts +9 -0
  209. package/dist/types/utils/turf/getMinMaxCorner.d.ts.map +1 -1
  210. package/package.json +4 -1
@@ -1,6 +1,9 @@
1
- (function(P,c){typeof exports=="object"&&typeof module<"u"?c(exports,require("xbsj-base"),require("@turf/turf"),require("proj4")):typeof define=="function"&&define.amd?define(["exports","xbsj-base","@turf/turf","proj4"],c):(P=typeof globalThis<"u"?globalThis:P||self,c(P.EarthSDK3={},P["xbsj-base"],P.turf,P.proj4))})(this,function(P,c,Za,Dh){"use strict";var O0=Object.defineProperty;var M0=(P,c,Za)=>c in P?O0(P,c,{enumerable:!0,configurable:!0,writable:!0,value:Za}):P[c]=Za;var p=(P,c,Za)=>M0(P,typeof c!="symbol"?c+"":c,Za);function Jd(n){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const t in n)if(t!=="default"){const r=Object.getOwnPropertyDescriptor(n,t);Object.defineProperty(e,t,r.get?r:{enumerable:!0,get:()=>n[t]})}}return e.default=n,Object.freeze(e)}const mc=Jd(Za);class Zd extends c.Destroyable{constructor(){super(...arguments);p(this,"registerEngines",{})}register(t,r,i){const s=this.registerEngines[t]||new Map;s.has(r)&&console.warn(`register warn:${t}中${r}的实现类已经被注册,再次注册会覆盖。`),s.set(r,i),this.registerEngines[t]=s}getEngineObjConstructor(t,r){const s=(this.registerEngines[r]||new Map).get(t);if(s)return s;console.warn(`未找到${t}在${r}中对应的实现类!`)}createEngineObject(t,r){const i=this.getEngineObjConstructor(t.typeName,r.typeName);if(i){const s=new i(t,r);return s.createdEvent.emit(),s}else{const s=new Ws(t,r);return s.createdEvent.emit(),s}}}class Kd extends c.Destroyable{constructor(){super(...arguments);p(this,"registerEngines",{})}register(t,r,i){const s=this.registerEngines[t]||new Map;s.has(r)&&console.warn(`register warn:${t}中${r}的实现类已经被注册,再次注册会覆盖。`),s.set(r,i),this.registerEngines[t]=s}getEngineObjConstructor(t,r){const s=(this.registerEngines[r]||new Map).get(t);if(s)return s;console.warn(`未找到${t}在${r}中对应的实现类!`)}createEngineObject(t,r){const i=this.getEngineObjConstructor(t.typeName,r.typeName);if(i){const s=new i(t,r);return s.createdEvent.emit(),s}else{const s=new Ws(t,r);return s.createdEvent.emit(),s}}}const In=class In extends c.Destroyable{constructor(t,r,i=!1){super();p(this,"_createdEvent",this.dv(new c.Event));p(this,"_id",++In._accumId);this._sceneObject=t,this._viewer=r;{if(i)return;t.viewer=r,t.viewerChanged.emit(r);const s=(o,a)=>{for(let l of o)this._viewer.delete(l);for(let l of a)this._viewer.add(l)};s([],this._sceneObject.components.values()),this.d(this._sceneObject.components.toChange.don(s)),this.d(()=>s(this._sceneObject.components.values(),[]))}}get createdEvent(){return this._createdEvent}get sceneObject(){return this._sceneObject}get viewer(){return this._viewer}get id(){return this._id}};p(In,"context",new Zd),p(In,"contextEditing",new Kd),p(In,"register",In.context.register.bind(In.context)),p(In,"registerEditing",In.contextEditing.register.bind(In.contextEditing)),p(In,"_accumId",-1);let Ws=In;const gc=class gc extends c.Destroyable{constructor(t,r){super();p(this,"_id",++gc._accumId);this._name=t,this._description=r}get id(){return this._id}get name(){return this._name}get description(){return this._description}};p(gc,"_accumId",-1);let os=gc;class vc extends os{constructor(e,t,r,i,s){super(e,t),this._withUndefined=r,this._readonly=i,this._defaultValue=s}get withUndefined(){return this._withUndefined}get readonly(){return this._readonly}get defaultValue(){return this._defaultValue instanceof Function?this._defaultValue():this._defaultValue}}class we extends vc{constructor(e,t,r,i,s,o){super(e,t,r,i,o),this._reactVar=s}get reactVar(){return this._reactVar}}class k extends we{get type(){return"BooleanProperty"}}class J extends we{get type(){return"StringProperty"}}class S extends we{get type(){return"NumberProperty"}}class Qd extends we{get type(){return"MaximumScreenSpaceErrorProperty"}}class Oh extends we{get type(){return"StringsProperty"}}class Bd extends we{get type(){return"NumbersProperty"}}class $d extends we{get type(){return"BooleansProperty"}}class jd extends we{get type(){return"String2Property"}}class eg extends we{get type(){return"String3Property"}}class tg extends we{get type(){return"String4Property"}}class Mh extends we{get type(){return"String2sProperty"}}class rg extends we{get type(){return"String3sProperty"}}class ng extends we{get type(){return"String4sProperty"}}class ke extends we{get type(){return"Number2Property"}}class Pt extends we{get type(){return"Number3Property"}}class or extends we{get type(){return"Number4Property"}}class ig extends we{get type(){return"Number4WithUndefinedProperty"}}class xh extends we{get type(){return"Number2sProperty"}}class yc extends we{get type(){return"Number3sProperty"}}class sg extends we{get type(){return"Number4sProperty"}}class og extends we{get type(){return"Boolean2Property"}}class ag extends we{get type(){return"Boolean3Property"}}class lg extends we{get type(){return"Boolean4Property"}}class ug extends we{get type(){return"Boolean2sProperty"}}class cg extends we{get type(){return"Boolean3sProperty"}}class hg extends we{get type(){return"Boolean4sProperty"}}class fg extends we{get type(){return"StringNumberProperty"}}class pg extends we{get type(){return"StringNumbersProperty"}}class Z extends or{get type(){return"ColorProperty"}}class dg extends Pt{get type(){return"ColorRgbProperty"}}class gg extends S{get type(){return"DashPatternProperty"}}class Y extends we{constructor(e,t,r,i,s,o,a){super(e,t,r,i,s,a),this._enums=o}get type(){return"EnumProperty"}get enums(){return this._enums}}class mg extends we{constructor(e,t,r,i,s,o,a){super(e,t,r,i,s,a),this._enums=o}get type(){return"EnumStringsProperty"}get enums(){return this._enums}}class ei extends we{constructor(e,t,r,i,s,o,a){super(e,t,r,i,s,o),this._sampleValue=a}get sampleValue(){return this._sampleValue}get type(){return"EvalStringProperty"}}class Lh extends we{constructor(e,t,r,i,s){super(e,t,!1,!1,r,s),this._paramTypes=i}get type(){return"ParamsProperty"}get paramTypes(){return this._paramTypes}}class ie extends os{constructor(t,r,i,s,o){super(t,r);p(this,"_paramsProperty");p(this,"_getValueFunc");this._func=s;const a=this.disposeVar(c.reactJson(o));this._paramsProperty=this.disposeVar(new Lh(t+"_params",t+"_params",a,i,o));const[l]=c.getReactFuncs(this._paramsProperty.reactVar);this._getValueFunc=l}get paramsProperty(){return this._paramsProperty}exec(){this._func(...this._getValueFunc())}get type(){return"FunctionProperty"}}class z extends os{constructor(e,t,r){super(e,t),this._children=r}get type(){return"GroupProperty"}get children(){return this._children}}class G extends we{constructor(e,t,r,i,s,o,a){super(e,t,r,i,s,o),this._sampleValue=a}get sampleValue(){return this._sampleValue}get type(){return"JsonProperty"}}class vu extends we{constructor(e,t,r,i,s,o,a){super(e,t,r,i,s,o),this._sampleValue=a}get sampleValue(){return this._sampleValue}get type(){return"LongStringProperty"}}class vg extends ke{get type(){return"MinmaxProperty"}}class yg extends or{get type(){return"NearFarScalerProperty"}}class Ah extends vc{constructor(e,t,r,i,s,o,a){super(e,t,r,i,a),this._getJsonStringFunc=s,this._setJsonStringFunc=o}get type(){return"NonreactiveJsonStringProperty"}get getJsonStringFunc(){return this._getJsonStringFunc}get setJsonStringFunc(){return this._setJsonStringFunc}}class _g extends ke{get type(){return"NumberRangeProperty"}}class Ve extends we{constructor(e,t,r,i,s,o,a,l){super(e,t,r,i,s,l),this._step=o,this._minMax=a}get type(){return"NumberSliderProperty"}get minMax(){return this._minMax}get step(){return this._step}}function wg(n,e){const[t,r,i]=c.getReactFuncs(n),[s,o,a]=c.getReactFuncs(e),l=c.react((t()??0)/(s()??3e3)),u=()=>{const h=l.value,f=s()??3e3,d=t()??0;if(!Number.isFinite(f)||!Number.isFinite(d)){console.warn(`duration || currentTime error: duration: ${f} currentTime: ${d}`);return}Math.abs(h*f-d)<.001||(f<=0?l.value=0:l.value=d/f)};return l.dispose(i.disposableOn(u)),l.dispose(a.disposableOn(u)),l.dispose(l.changed.disposableOn(()=>{const h=l.value,f=s()??3e3,d=t()??0;if(!Number.isFinite(f)||!Number.isFinite(d)){console.warn(`duration || currentTime error: duration: ${f} currentTime: ${d}`);return}Math.abs(h*f-d)<.001||r(h*f)})),l}class yu extends os{constructor(t,r,i,s,o,a){super(t,r);p(this,"_defaults",{playing:!1,ratio:0,loop:!1});this._playingReact=i,this._ratioReact=s,this._loopReact=o,a&&(this._defaults.playing=a.playing??this._defaults.playing,this._defaults.ratio=a.ratio??this._defaults.ratio,this._defaults.loop=a.loop??this._defaults.loop)}get type(){return"PlayerProperty"}get playingReact(){return this._playingReact}get ratioReact(){return this._ratioReact}get loopReact(){return this._loopReact}get defaults(){return this._defaults}}p(yu,"createPlayingRatio",wg);class bn extends Pt{get type(){return"PositionProperty"}}class _u extends we{get type(){return"PositionsProperty"}}class Eg extends we{get type(){return"PositionsSetPropety"}}class wu extends Pt{get type(){return"RotationProperty"}}class Al extends J{get type(){return"UriProperty"}}class Rh extends os{constructor(t,r,i,s,o,a){super(t,r);p(this,"_defaults",{playing:!1,loop:!1});this._playingReact=i,this._stopFn=s,this._loopReact=o,a&&(this._defaults.playing=a.playing??this._defaults.playing,this._defaults.loop=a.loop??this._defaults.loop)}get type(){return"ViewPlayerProperty"}get playingReact(){return this._playingReact}get loopReact(){return this._loopReact}get stopFn(){return this._stopFn}get defaults(){return this._defaults}}class _c extends we{get type(){return"DatesProperty"}}class ti extends we{get type(){return"DateProperty"}}var se=(n=>(n.Place="place",n.Translation="translation",n.Rotation="rotation",n.Scale="scale",n.DoublePointsAppend="doublePointsAppend",n.DoublePointsModify="doublePointsModify",n.CircularAppend="circularAppend",n.CircularInsert="circularInsert",n.LineStringAppend="lineStringAppend",n.LineStringInsert="lineStringInsert",n.ScatterAppend="scatterAppend",n.ScatterModify="scatterModify",n.VisibilityAppend="visibilityAppend",n.VisibilityModify="visibilityModify",n.HeightModify="heightModify",n))(se||{}),Fh=(n=>(n.DECIMAL_DEGREE="DECIMAL_DEGREE",n.DEGREES_DECIMAL_MINUTES="DEGREES_DECIMAL_MINUTES",n.SEXAGESIMAL_DEGREE="SEXAGESIMAL_DEGREE",n))(Fh||{});class Eu{constructor(e){this.childPickedInfo=e}static getFinalAttachedInfo(e){let t=e;for(;t.childPickedInfo;)t=t.childPickedInfo;if(t instanceof kh)return t.attachedInfo}}class kh extends Eu{constructor(e,t){super(t),this.attachedInfo=e}}class Sg{constructor(e,t){this.pickedInfo=e,this.attachedInfo=t}}class Cg extends Eu{constructor(e,t){super(t),this.element=e}}class Su extends Eu{constructor(e,t){super(t),this.sceneObject=e}}class Pg{constructor(e,t,r,i,s){this.pickResult=e,this.sceneObject=t,this.tilesetPickInfo=r,this.geojsonPickInfo=i,this.attachedInfo=s}}class Ig extends c.Destroyable{constructor(t){super();p(this,"_sceneObjRefs",new Map);p(this,"_refs",{});p(this,"_refsChanged",this.dv(new c.Event));const r=(i,s,o)=>{if(o){const a=this.getLastSceneObject(o),l=this._sceneObjRefs.get(o);if(!l)console.warn(`this._sceneObjRefs中不存在ref(${o}), 可能系统存在逻辑问题`);else{const h=l.indexOf(i);h===-1?console.warn(`this._sceneObjRefs中不存在当前对象(id: ${i.id} type: ${i.typeName})!可能系统存在逻辑问题`):(l.splice(h,1),l.length===0&&this._sceneObjRefs.delete(o))}const u=this.getLastSceneObject(o);this._refs[o]=u,this._refsChanged.emit(u,a)}if(s){const a=this.getLastSceneObject(s),l=this._sceneObjRefs.get(s);l?(l.push(i),l.length>0&&console.warn(`同时存在多个ref${s}相同的场景对象!
1
+ (function(P,c){typeof exports=="object"&&typeof module<"u"?c(exports,require("xbsj-base"),require("@turf/turf"),require("proj4")):typeof define=="function"&&define.amd?define(["exports","xbsj-base","@turf/turf","proj4"],c):(P=typeof globalThis<"u"?globalThis:P||self,c(P.EarthSDK3={},P["xbsj-base"],P.turf,P.proj4))})(this,function(P,c,Za,Dh){"use strict";var O0=Object.defineProperty;var M0=(P,c,Za)=>c in P?O0(P,c,{enumerable:!0,configurable:!0,writable:!0,value:Za}):P[c]=Za;var d=(P,c,Za)=>M0(P,typeof c!="symbol"?c+"":c,Za);function Jp(n){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const t in n)if(t!=="default"){const r=Object.getOwnPropertyDescriptor(n,t);Object.defineProperty(e,t,r.get?r:{enumerable:!0,get:()=>n[t]})}}return e.default=n,Object.freeze(e)}const mc=Jp(Za);class Zp extends c.Destroyable{constructor(){super(...arguments);d(this,"registerEngines",{})}register(t,r,i){const s=this.registerEngines[t]||new Map;s.has(r)&&console.warn(`register warn:${t}中${r}的实现类已经被注册,再次注册会覆盖。`),s.set(r,i),this.registerEngines[t]=s}getEngineObjConstructor(t,r){const s=(this.registerEngines[r]||new Map).get(t);if(s)return s;console.warn(`未找到${t}在${r}中对应的实现类!`)}createEngineObject(t,r){const i=this.getEngineObjConstructor(t.typeName,r.typeName);if(i){const s=new i(t,r);return s.createdEvent.emit(),s}else{const s=new Ws(t,r);return s.createdEvent.emit(),s}}}class Kp extends c.Destroyable{constructor(){super(...arguments);d(this,"registerEngines",{})}register(t,r,i){const s=this.registerEngines[t]||new Map;s.has(r)&&console.warn(`register warn:${t}中${r}的实现类已经被注册,再次注册会覆盖。`),s.set(r,i),this.registerEngines[t]=s}getEngineObjConstructor(t,r){const s=(this.registerEngines[r]||new Map).get(t);if(s)return s;console.warn(`未找到${t}在${r}中对应的实现类!`)}createEngineObject(t,r){const i=this.getEngineObjConstructor(t.typeName,r.typeName);if(i){const s=new i(t,r);return s.createdEvent.emit(),s}else{const s=new Ws(t,r);return s.createdEvent.emit(),s}}}const In=class In extends c.Destroyable{constructor(t,r,i=!1){super();d(this,"_createdEvent",this.dv(new c.Event));d(this,"_id",++In._accumId);this._sceneObject=t,this._viewer=r;{if(i)return;t.viewer=r,t.viewerChanged.emit(r);const s=(o,a)=>{for(let l of o)this._viewer.delete(l);for(let l of a)this._viewer.add(l)};s([],this._sceneObject.components.values()),this.d(this._sceneObject.components.toChange.don(s)),this.d(()=>s(this._sceneObject.components.values(),[]))}}get createdEvent(){return this._createdEvent}get sceneObject(){return this._sceneObject}get viewer(){return this._viewer}get id(){return this._id}};d(In,"context",new Zp),d(In,"contextEditing",new Kp),d(In,"register",In.context.register.bind(In.context)),d(In,"registerEditing",In.contextEditing.register.bind(In.contextEditing)),d(In,"_accumId",-1);let Ws=In;const gc=class gc extends c.Destroyable{constructor(t,r){super();d(this,"_id",++gc._accumId);this._name=t,this._description=r}get id(){return this._id}get name(){return this._name}get description(){return this._description}};d(gc,"_accumId",-1);let os=gc;class vc extends os{constructor(e,t,r,i,s){super(e,t),this._withUndefined=r,this._readonly=i,this._defaultValue=s}get withUndefined(){return this._withUndefined}get readonly(){return this._readonly}get defaultValue(){return this._defaultValue instanceof Function?this._defaultValue():this._defaultValue}}class we extends vc{constructor(e,t,r,i,s,o){super(e,t,r,i,o),this._reactVar=s}get reactVar(){return this._reactVar}}class k extends we{get type(){return"BooleanProperty"}}class J extends we{get type(){return"StringProperty"}}class S extends we{get type(){return"NumberProperty"}}class Qp extends we{get type(){return"MaximumScreenSpaceErrorProperty"}}class Oh extends we{get type(){return"StringsProperty"}}class Bp extends we{get type(){return"NumbersProperty"}}class $p extends we{get type(){return"BooleansProperty"}}class jp extends we{get type(){return"String2Property"}}class eg extends we{get type(){return"String3Property"}}class tg extends we{get type(){return"String4Property"}}class Mh extends we{get type(){return"String2sProperty"}}class rg extends we{get type(){return"String3sProperty"}}class ng extends we{get type(){return"String4sProperty"}}class ze extends we{get type(){return"Number2Property"}}class Pt extends we{get type(){return"Number3Property"}}class or extends we{get type(){return"Number4Property"}}class ig extends we{get type(){return"Number4WithUndefinedProperty"}}class xh extends we{get type(){return"Number2sProperty"}}class yc extends we{get type(){return"Number3sProperty"}}class sg extends we{get type(){return"Number4sProperty"}}class og extends we{get type(){return"Boolean2Property"}}class ag extends we{get type(){return"Boolean3Property"}}class lg extends we{get type(){return"Boolean4Property"}}class ug extends we{get type(){return"Boolean2sProperty"}}class cg extends we{get type(){return"Boolean3sProperty"}}class hg extends we{get type(){return"Boolean4sProperty"}}class fg extends we{get type(){return"StringNumberProperty"}}class dg extends we{get type(){return"StringNumbersProperty"}}class Z extends or{get type(){return"ColorProperty"}}class pg extends Pt{get type(){return"ColorRgbProperty"}}class gg extends S{get type(){return"DashPatternProperty"}}class Y extends we{constructor(e,t,r,i,s,o,a){super(e,t,r,i,s,a),this._enums=o}get type(){return"EnumProperty"}get enums(){return this._enums}}class mg extends we{constructor(e,t,r,i,s,o,a){super(e,t,r,i,s,a),this._enums=o}get type(){return"EnumStringsProperty"}get enums(){return this._enums}}class ei extends we{constructor(e,t,r,i,s,o,a){super(e,t,r,i,s,o),this._sampleValue=a}get sampleValue(){return this._sampleValue}get type(){return"EvalStringProperty"}}class Lh extends we{constructor(e,t,r,i,s){super(e,t,!1,!1,r,s),this._paramTypes=i}get type(){return"ParamsProperty"}get paramTypes(){return this._paramTypes}}class ie extends os{constructor(t,r,i,s,o){super(t,r);d(this,"_paramsProperty");d(this,"_getValueFunc");this._func=s;const a=this.disposeVar(c.reactJson(o));this._paramsProperty=this.disposeVar(new Lh(t+"_params",t+"_params",a,i,o));const[l]=c.getReactFuncs(this._paramsProperty.reactVar);this._getValueFunc=l}get paramsProperty(){return this._paramsProperty}exec(){this._func(...this._getValueFunc())}get type(){return"FunctionProperty"}}class z extends os{constructor(e,t,r){super(e,t),this._children=r}get type(){return"GroupProperty"}get children(){return this._children}}class G extends we{constructor(e,t,r,i,s,o,a){super(e,t,r,i,s,o),this._sampleValue=a}get sampleValue(){return this._sampleValue}get type(){return"JsonProperty"}}class mu extends we{constructor(e,t,r,i,s,o,a){super(e,t,r,i,s,o),this._sampleValue=a}get sampleValue(){return this._sampleValue}get type(){return"LongStringProperty"}}class vg extends ze{get type(){return"MinmaxProperty"}}class yg extends or{get type(){return"NearFarScalerProperty"}}class Ah extends vc{constructor(e,t,r,i,s,o,a){super(e,t,r,i,a),this._getJsonStringFunc=s,this._setJsonStringFunc=o}get type(){return"NonreactiveJsonStringProperty"}get getJsonStringFunc(){return this._getJsonStringFunc}get setJsonStringFunc(){return this._setJsonStringFunc}}class _g extends ze{get type(){return"NumberRangeProperty"}}class Me extends we{constructor(e,t,r,i,s,o,a,l){super(e,t,r,i,s,l),this._step=o,this._minMax=a}get type(){return"NumberSliderProperty"}get minMax(){return this._minMax}get step(){return this._step}}function wg(n,e){const[t,r,i]=c.getReactFuncs(n),[s,o,a]=c.getReactFuncs(e),l=c.react((t()??0)/(s()??3e3)),u=()=>{const h=l.value,f=s()??3e3,p=t()??0;if(!Number.isFinite(f)||!Number.isFinite(p)){console.warn(`duration || currentTime error: duration: ${f} currentTime: ${p}`);return}Math.abs(h*f-p)<.001||(f<=0?l.value=0:l.value=p/f)};return l.dispose(i.disposableOn(u)),l.dispose(a.disposableOn(u)),l.dispose(l.changed.disposableOn(()=>{const h=l.value,f=s()??3e3,p=t()??0;if(!Number.isFinite(f)||!Number.isFinite(p)){console.warn(`duration || currentTime error: duration: ${f} currentTime: ${p}`);return}Math.abs(h*f-p)<.001||r(h*f)})),l}class vu extends os{constructor(t,r,i,s,o,a){super(t,r);d(this,"_defaults",{playing:!1,ratio:0,loop:!1});this._playingReact=i,this._ratioReact=s,this._loopReact=o,a&&(this._defaults.playing=a.playing??this._defaults.playing,this._defaults.ratio=a.ratio??this._defaults.ratio,this._defaults.loop=a.loop??this._defaults.loop)}get type(){return"PlayerProperty"}get playingReact(){return this._playingReact}get ratioReact(){return this._ratioReact}get loopReact(){return this._loopReact}get defaults(){return this._defaults}}d(vu,"createPlayingRatio",wg);class bn extends Pt{get type(){return"PositionProperty"}}class yu extends we{get type(){return"PositionsProperty"}}class Eg extends we{get type(){return"PositionsSetPropety"}}class _u extends Pt{get type(){return"RotationProperty"}}class Al extends J{get type(){return"UriProperty"}}class Rh extends os{constructor(t,r,i,s,o,a){super(t,r);d(this,"_defaults",{playing:!1,loop:!1});this._playingReact=i,this._stopFn=s,this._loopReact=o,a&&(this._defaults.playing=a.playing??this._defaults.playing,this._defaults.loop=a.loop??this._defaults.loop)}get type(){return"ViewPlayerProperty"}get playingReact(){return this._playingReact}get loopReact(){return this._loopReact}get stopFn(){return this._stopFn}get defaults(){return this._defaults}}class _c extends we{get type(){return"DatesProperty"}}class ti extends we{get type(){return"DateProperty"}}var se=(n=>(n.Place="place",n.Translation="translation",n.Rotation="rotation",n.Scale="scale",n.DoublePointsAppend="doublePointsAppend",n.DoublePointsModify="doublePointsModify",n.CircularAppend="circularAppend",n.CircularInsert="circularInsert",n.LineStringAppend="lineStringAppend",n.LineStringInsert="lineStringInsert",n.ScatterAppend="scatterAppend",n.ScatterModify="scatterModify",n.VisibilityAppend="visibilityAppend",n.VisibilityModify="visibilityModify",n.HeightModify="heightModify",n))(se||{}),Fh=(n=>(n.DECIMAL_DEGREE="DECIMAL_DEGREE",n.DEGREES_DECIMAL_MINUTES="DEGREES_DECIMAL_MINUTES",n.SEXAGESIMAL_DEGREE="SEXAGESIMAL_DEGREE",n))(Fh||{});class wu{constructor(e){this.childPickedInfo=e}static getFinalAttachedInfo(e){let t=e;for(;t.childPickedInfo;)t=t.childPickedInfo;if(t instanceof kh)return t.attachedInfo}}class kh extends wu{constructor(e,t){super(t),this.attachedInfo=e}}class Sg{constructor(e,t){this.pickedInfo=e,this.attachedInfo=t}}class Cg extends wu{constructor(e,t){super(t),this.element=e}}class Eu extends wu{constructor(e,t){super(t),this.sceneObject=e}}class Pg{constructor(e,t,r,i,s){this.pickResult=e,this.sceneObject=t,this.tilesetPickInfo=r,this.geojsonPickInfo=i,this.attachedInfo=s}}class Ig extends c.Destroyable{constructor(t){super();d(this,"_sceneObjRefs",new Map);d(this,"_refs",{});d(this,"_refsChanged",this.dv(new c.Event));const r=(i,s,o)=>{if(o){const a=this.getLastSceneObject(o),l=this._sceneObjRefs.get(o);if(!l)console.warn(`this._sceneObjRefs中不存在ref(${o}), 可能系统存在逻辑问题`);else{const h=l.indexOf(i);h===-1?console.warn(`this._sceneObjRefs中不存在当前对象(id: ${i.id} type: ${i.typeName})!可能系统存在逻辑问题`):(l.splice(h,1),l.length===0&&this._sceneObjRefs.delete(o))}const u=this.getLastSceneObject(o);this._refs[o]=u,this._refsChanged.emit(u,a)}if(s){const a=this.getLastSceneObject(s),l=this._sceneObjRefs.get(s);l?(l.push(i),l.length>0&&console.warn(`同时存在多个ref${s}相同的场景对象!
2
2
  ${l.map(h=>`${h.id} ${h.typeName}
3
- `).join(" ")}`)):this._sceneObjRefs.set(s,[i]);const u=this.getLastSceneObject(s);this._refs[s]=u,this._refsChanged.emit(u,a)}};this.d(t.sceneObjCreatedEvent.don(i=>{const s=(o,a)=>r(i,o,a);i.ref&&s(i.ref,void 0),i.refChanged.don(s)})),this.d(t.sceneObjToDestroyEvent.don(i=>{i.ref&&r(i,void 0,i.ref)}))}get sceneObjRefs(){return this._sceneObjRefs}get refs(){return this._refs}get refsChanged(){return this._refsChanged}getLastSceneObject(t){const r=this.getSceneObjects(t);if(r)return r[r.length-1]}getSceneObjects(t){const r=this._sceneObjRefs.get(t);if(!(!r||r.length===0))return r}}function Vh(n,e){const[t,r,i]=c.getReactFuncs(n),s=c.react(void 0),o=()=>{const a=t()??e;s.value=a&&j.context.getStrFromEnv(a)};return o(),i&&s.d(i.don(o)),s.d(j.context.environmentVariablesChanged.don(o)),s}function Tg(n){do{const e=n.replace(/\${(.*?)\}/,(t,r)=>{const i=j.context.getEnv(r);return i===void 0?(console.warn(`环境变量(${r})不存在,无法进行转换`),"{env-error}"):i});if(e===n)break;n=e}while(!0);return n}class bg extends c.Destroyable{constructor(){super();p(this,"_esObjConstructors",new Map);p(this,"_sceneObjs",new Map);p(this,"_sceneObjCreatedEvent",new c.Event);p(this,"_sceneObjToDestroyEvent",new c.Event);p(this,"_refsManager",this.dv(new Ig(this)));p(this,"_environmentVariables",window.ESSDK_ENV||{});p(this,"_environmentVariablesChanged",this.dv(new c.Event))}get typeNames(){return this._esObjConstructors.keys()}get sceneObjs(){return this._sceneObjs.values()}get sceneObjCreatedEvent(){return this._sceneObjCreatedEvent}get sceneObjToDestroyEvent(){return this._sceneObjToDestroyEvent}get refsManager(){return this._refsManager}get $refs(){return this._refsManager.refs}register(t,r,i){return this._esObjConstructors.has(t)&&console.warn(`register warn: ${t} has registered ! will be override!`),this._esObjConstructors.set(t,r),i&&c.setExtProp(r,"__sceneObjExtraInfo",i),t}_addSceneObject(t){this._sceneObjs.set(t.id,t),this._sceneObjCreatedEvent.emit(t),t.d(()=>this._deleteSceneObject(t))}_deleteSceneObject(t){this._sceneObjToDestroyEvent.emit(t),this._sceneObjs.delete(t.id)}createSceneObjectFromClass(t,r){if(!r||this._sceneObjs.has(r)){const s=c.createGuid();r&&console.warn(`已存在相同id的对象!id自动变更!${r} -> ${s} 请注意:id变更可能导致引用失效!`),r=s}if(!r)throw new Error("id不能为空!");const i=new t(r);return i.id!==r&&(console.warn(`sceneObj.id(${i.id}) !== id(${r}) sceneObjectType: ${i.typeName}`),console.warn("出现这种问题有可能是自定义的场景对象,没有在构造函数中传递id参数!示例如下:"),console.warn("class XXX extends XXX { constructor(id) { super(id); } }")),this._addSceneObject(i),i}createSceneObject(t,r){if(typeof t=="string"){const i=this._getSceneObjConstructor(t);if(!i){console.warn(`Cannot find SceneObjectType: ${t}`);return}return this.createSceneObjectFromClass(i,r)}else return this.createSceneObjectFromClass(t,r)}createSceneObjectFromJson(t){const r=this.createSceneObject(t.type,t.id);return r&&(r.json=t),r}destroySceneObject(t){return this._deleteSceneObject(t),t.destroy(),t.isDestroyed()}getSceneObjectById(t){return this._sceneObjs.get(t.split("_")[0])}getSceneObject(t){if(!t)return Array.from(this._sceneObjs.values());if(t.startsWith("ES")){const r=[];for(const i of this._sceneObjs.values())i.typeName===t&&r.push(i);return r}else return this._sceneObjs.get(t.split("_")[0])}_getSceneObjConstructor(t){const r=this._esObjConstructors.get(t);if(r)return r}getProps(t){const r=this._getSceneObjConstructor(t);if(!r){console.warn(`cannot get constructor from type: ${t}`);return}return c.getExtProp(r,"__sceneObjExtraInfo")}setProps(t,r){const i=this._getSceneObjConstructor(t);if(!i){console.warn(`cannot get constructor from type: ${t}`);return}let s=c.getExtProp(i,"__sceneObjExtraInfo");s||(s={},c.setExtProp(i,"__sceneObjExtraInfo",s)),Object.assign(s,r)}getProp(t,r){const i=this.getProps(t);return i&&i[r]}setProp(t,r,i){this.setProps(t,{[r]:i})}get environmentVariables(){return this._environmentVariables}set environmentVariables(t){for(let[r,i]of Object.entries(t))this.setEnv(r,i)}get environmentVariablesChanged(){return this._environmentVariablesChanged}setEnv(t,r){if(this._environmentVariables[t]!==r){const i=this._environmentVariables[t];this._environmentVariables[t]=r,this._environmentVariablesChanged.emit(t,r,i)}window.ESSDK_ENV={...this._environmentVariables}}getEnv(t){return this._environmentVariables[t]}getStrFromEnv(t){return Tg(t)}createEnvStrReact(t,r){return Vh(t,r)}createEvnStrReact(t,r){return Vh(t,r)}}const me=class me extends c.Destroyable{constructor(t){super();p(this,"_components",this.dv(new c.ObservableSet));p(this,"_viewerAttached",this.dv(new c.Event));p(this,"_viewerDetached",this.dv(new c.Event));p(this,"_attachedViewers",(()=>{const t=new Set;return this.d(this._viewerAttached.don(r=>{t.add(r)})),this.d(this._viewerDetached.don(r=>{t.delete(r)})),t})());p(this,"_createdEvent",this.dv(new c.Event));p(this,"_flushEvent",this.dv(new c.Event));p(this,"_id");p(this,"viewer");p(this,"viewerChanged",this.ad(new c.Event));p(this,"combinationClass",!1);p(this,"mainClass");p(this,"_updateFuncReact",this.dv(c.react(void 0)));p(this,"_toDestroyFuncReact",this.dv(c.react(void 0)));t!==void 0&&(typeof t!="string"?console.warn(`对象id必须是字符串类型,当前id的类型是${typeof t},值为${t}`):t.trim()===""?console.warn("场景对象创建时的id不能是空字符串!"):t.trim()!==t&&console.warn(`id前后有空字符串!id: ${t}`)),this._id=t??c.createGuid(),this._initName();{const r=()=>{if(this.execOnceFuncStr)try{Function(`"use strict";return (${this.execOnceFuncStr})`)()(this)}catch(i){console.warn(`execOnceFuncStr不能转成函数!或者函数执行时错误!id: ${this.id} ${this.typeName} error: ${i}`)}};r(),this.d(this.execOnceFuncStrChanged.don(r))}{const r=()=>{if(this.updateFuncStr)try{this.updateFunc=Function(`"use strict";return (${this.updateFuncStr})`)()}catch(s){console.warn(`updateFuncStr不能转成函数!或者函数执行时错误!id: ${this.id} ${this.typeName} error: ${s}`)}};r(),this.d(this.updateFuncStrChanged.don(r));let i;this.d(()=>i&&i.destroy()),this.d(this.updateFuncChanged.don(()=>{i&&i.cancel(),this.updateFunc&&(i=i||c.createAnimateFrame(),i.restart(void 0,s=>{this.updateFunc&&this.updateFunc(this,s)}))}))}{const r=()=>{try{this.toDestroyFunc=this.toDestroyFuncStr&&Function(`"use strict";return (${this.toDestroyFuncStr})`)()||void 0}catch(i){console.warn(`toDestroyFuncStr不能转成函数!或者函数执行时错误!id: ${this.id} ${this.typeName} error: ${i}`),this.toDestroyFunc=void 0}};r(),this.d(this.toDestroyFuncStrChanged.don(r)),this.d(this.toDestroyEvent.don(()=>{this.toDestroyFunc&&this.toDestroyFunc(this)}))}}static get envs(){return me.context.environmentVariables}static get $refs(){return me.context.refsManager.refs}get components(){return this._components}get viewerAttached(){return this._viewerAttached}get viewerDetached(){return this._viewerDetached}get attachedViewers(){return this._attachedViewers}removefromViewer(t){this.attachedViewers.has(t)&&t.delete(this)}addToViewer(t){this.attachedViewers.has(t)||t.add(this)}registerAttachedObject(t){const r=new Map;this.d(()=>{r.size>0&&console.warn("viewerPropSceneObjects.size > 0")}),this.d(this._viewerAttached.don(i=>{const s=t(i);s&&r.set(i,s)})),this.d(this._viewerDetached.don(i=>{if(!r.has(i))return;const s=r.get(i);s&&(s.destroy(),r.delete(i))}))}createAttachedObject(t){const r=new Map,i=()=>{for(let[l,u]of r.entries())u.destroy();r.clear()},s=l=>{const u=t(l);u&&r.set(l,u)};for(let l of this.attachedViewers)s(l);const o=this._viewerAttached.don(s),a=this._viewerDetached.don(l=>{if(!r.has(l))return;const u=r.get(l);u&&(u.destroy(),r.delete(l))});return()=>{a(),o(),i()}}registerAttachedObjectForContainer(t){this.registerAttachedObject(r=>new Ng(r,t))}get createdEvent(){return this._createdEvent}get flushEvent(){return this._flushEvent}flush(){this.flushEvent.emit()}get id(){return this._id}_initName(){this.name=`${this.typeName}_${(""+this.id).slice(-4)}`}get defaultProps(){return me.createDefaultProps()}getMainClass(){return this.mainClass??this}_innerGetJson(t=!0){const r={id:this.id,type:this.typeName};for(let i of Object.keys(this.defaultProps))if(t){let s,o=this.defaultProps[i];o instanceof c.ReactiveVariable?s=o.equals(this[i]):s=o===this[i],s||(r[i]=this[i])}else r[i]=this[i];return r}_innerSetJson(t,r,i){if(!(t instanceof Object)||t.type&&t.type!==this.typeName){console.error(`value.type && value.type${t.type} !== this.typeName${this.typeName}`);return}t.id&&t.id!==this.id&&console.warn(`value.id === undefined || value.id${t.id} !== this.id(${this.id})`);const s=r||[];s.push("id","type");const o=Object.keys(this.defaultProps).filter(a=>!s.includes(a));for(let a of o)if(a in t)this[a]=t[a]===null?void 0:t[a];else if(!(i??!1)){let l=this.defaultProps[a];l instanceof c.ReactiveVariable&&(l=l.value),this[a]=l}}get json(){return this._innerGetJson()}set json(t){this._innerSetJson(t)}get _jsonStr(){return JSON.stringify(this.json,null,4)}set _jsonStr(t){this._innerSetJson(JSON.parse(t))}get updateFunc(){return this._updateFuncReact.value}set updateFunc(t){this._updateFuncReact.value=t}get updateFuncChanged(){return this._updateFuncReact.changed}get toDestroyFunc(){return this._toDestroyFuncReact.value}set toDestroyFunc(t){this._toDestroyFuncReact.value=t}get toDestroyFuncChanged(){return this._toDestroyFuncReact.changed}getProperties(t){return[new z("ESSceneObject","ESSceneObject",[new J("对象类型","类型(type)",!1,!0,[this,"typeName"]),new J("对象id","唯一标识符(id)",!1,!0,[this,"id"]),new J("对象名称","名称(name)",!1,!1,[this,"name"]),new J("ref","标识(ref),可通过 ESSceneObject.$refs.xxx快速获取到对象",!0,!1,[this,"ref"]),new G("extras","扩展属性,必须整体赋值(extras)",!0,!1,[this,"extras"]),new Ah("JSON","对象JSON数据动态更改导入导出。",!1,!1,()=>this._jsonStr,r=>r&&(this._jsonStr=r))])]}getESProperties(){return{defaultMenu:"basic",basic:[],general:[],dataSource:[],location:[],coordinate:[],style:[]}}};p(me,"context",new bg),p(me,"register",me.context.register.bind(me.context)),p(me,"create",me.context.createSceneObject.bind(me.context)),p(me,"createFromClass",me.context.createSceneObjectFromClass.bind(me.context)),p(me,"createFromJson",me.context.createSceneObjectFromJson.bind(me.context)),p(me,"destroySceneObject",me.context.destroySceneObject.bind(me.context)),p(me,"getSceneObjById",me.context.getSceneObjectById.bind(me.context)),p(me,"getSceneObj",me.context.getSceneObject.bind(me.context)),p(me,"getEnv",me.context.getEnv.bind(me.context)),p(me,"setEnv",me.context.setEnv.bind(me.context)),p(me,"getStrFromEnv",me.context.getStrFromEnv.bind(me.context)),p(me,"getSceneObjectById",me.context.getSceneObjectById.bind(me.context)),p(me,"getSceneObject",me.context.getSceneObject.bind(me.context)),p(me,"defaults",{});let j=me;(n=>{n.createDefaultProps=()=>({name:"未命名场景对象",ref:void 0,extras:c.reactJson(void 0),devTags:c.reactArrayWithUndefined(void 0),execOnceFuncStr:void 0,updateFuncStr:void 0,toDestroyFuncStr:void 0})})(j||(j={})),c.extendClassProps(j.prototype,j.createDefaultProps);class Ng extends c.Destroyable{constructor(e,t){super(),this.dv(new c.ObjResettingWithEvent(e.subContainerChanged,()=>{if(e.subContainer)return t(e,e.subContainer)}))}}function zh(n){return c.reactDeepArrayWithUndefined(n,(e,t)=>e[0]===t[0]&&e[1]===t[1],e=>[...e])}function Uh(n,e){const t=new Array;for(let r of n)t.push(e(r));return t}function wc(n,e){return n===void 0&&e===void 0?!0:!n||!e?!1:n[0]===e[0]&&n[1]===e[1]&&n[2]===e[2]}function Dg(n,e){(n[0][0]!==n[n.length-1][0]||n[0][1]!==n[n.length-1][1])&&n.push(n[0]);const t=mc.point(e),r=mc.polygon([n]);return mc.booleanPointInPolygon(t,r)}var Ut=63710088e-1,Gh={centimeters:Ut*100,centimetres:Ut*100,degrees:Ut/111325,feet:Ut*3.28084,inches:Ut*39.37,kilometers:Ut/1e3,kilometres:Ut/1e3,meters:Ut,metres:Ut,miles:Ut/1609.344,millimeters:Ut*1e3,millimetres:Ut*1e3,nauticalmiles:Ut/1852,radians:1,yards:Ut*1.0936};function Nn(n,e,t){t===void 0&&(t={});var r={type:"Feature"};return(t.id===0||t.id)&&(r.id=t.id),t.bbox&&(r.bbox=t.bbox),r.properties=e||{},r.geometry=n,r}function Ge(n,e,t){if(t===void 0&&(t={}),!n)throw new Error("coordinates is required");if(!Array.isArray(n))throw new Error("coordinates must be an Array");if(n.length<2)throw new Error("coordinates must be at least 2 numbers long");if(!Wh(n[0])||!Wh(n[1]))throw new Error("coordinates must contain numbers");var r={type:"Point",coordinates:n};return Nn(r,e,t)}function ar(n,e,t){t===void 0&&(t={});for(var r=0,i=n;r<i.length;r++){var s=i[r];if(s.length<4)throw new Error("Each LinearRing of a Polygon must have 4 or more Positions.");for(var o=0;o<s[s.length-1].length;o++)if(s[s.length-1][o]!==s[0][o])throw new Error("First and last Position are not equivalent.")}var a={type:"Polygon",coordinates:n};return Nn(a,e,t)}function Dn(n,e,t){if(t===void 0&&(t={}),n.length<2)throw new Error("coordinates must be an array of two or more positions");var r={type:"LineString",coordinates:n};return Nn(r,e,t)}function Ka(n,e){e===void 0&&(e={});var t={type:"FeatureCollection"};return e.id&&(t.id=e.id),e.bbox&&(t.bbox=e.bbox),t.features=n,t}function Ec(n,e,t){t===void 0&&(t={});var r={type:"MultiPolygon",coordinates:n};return Nn(r,e,t)}function Sc(n,e){e===void 0&&(e="kilometers");var t=Gh[e];if(!t)throw new Error(e+" units is invalid");return n*t}function Cc(n,e){e===void 0&&(e="kilometers");var t=Gh[e];if(!t)throw new Error(e+" units is invalid");return n/t}function Cu(n){var e=n%(2*Math.PI);return e*180/Math.PI}function $t(n){var e=n%360;return e*Math.PI/180}function Pc(n,e,t){if(e===void 0&&(e="kilometers"),t===void 0&&(t="kilometers"),!(n>=0))throw new Error("length must be a positive number");return Sc(Cc(n,e),t)}function Wh(n){return!isNaN(n)&&n!==null&&!Array.isArray(n)}function lr(n){if(!n)throw new Error("coord is required");if(!Array.isArray(n)){if(n.type==="Feature"&&n.geometry!==null&&n.geometry.type==="Point")return n.geometry.coordinates;if(n.type==="Point")return n.coordinates}if(Array.isArray(n)&&n.length>=2&&!Array.isArray(n[0])&&!Array.isArray(n[1]))return n;throw new Error("coord must be GeoJSON Point or an Array of numbers")}function qs(n){if(Array.isArray(n))return n;if(n.type==="Feature"){if(n.geometry!==null)return n.geometry.coordinates}else if(n.coordinates)return n.coordinates;throw new Error("coords must be GeoJSON Feature, Geometry Object or an Array")}function qh(n,e,t){if(!n)throw new Error("No feature passed");if(!t)throw new Error(".featureOf() requires a name");if(!n||n.type!=="Feature"||!n.geometry)throw new Error("Invalid input to "+t+", Feature with geometry required");if(!n.geometry||n.geometry.type!==e)throw new Error("Invalid input to "+t+": must be a "+e+", given "+n.geometry.type)}function Wr(n){return n.type==="Feature"?n.geometry:n}function Og(n,e){return n.type==="FeatureCollection"?"FeatureCollection":n.type==="GeometryCollection"?"GeometryCollection":n.type==="Feature"&&n.geometry!==null?n.geometry.type:n.type}function Rl(n,e,t){if(t===void 0&&(t={}),t.final===!0)return Mg(n,e);var r=lr(n),i=lr(e),s=$t(r[0]),o=$t(i[0]),a=$t(r[1]),l=$t(i[1]),u=Math.sin(o-s)*Math.cos(l),h=Math.cos(a)*Math.sin(l)-Math.sin(a)*Math.cos(l)*Math.cos(o-s);return Cu(Math.atan2(u,h))}function Mg(n,e){var t=Rl(e,n);return t=(t+180)%360,t}function Qa(n,e,t,r){r===void 0&&(r={});var i=lr(n),s=$t(i[0]),o=$t(i[1]),a=$t(t),l=Cc(e,r.units),u=Math.asin(Math.sin(o)*Math.cos(l)+Math.cos(o)*Math.sin(l)*Math.cos(a)),h=s+Math.atan2(Math.sin(a)*Math.sin(l)*Math.cos(o),Math.cos(l)-Math.sin(o)*Math.sin(u)),f=Cu(h),d=Cu(u);return Ge([f,d],r.properties)}function Oi(n,e,t){t===void 0&&(t={});var r=lr(n),i=lr(e),s=$t(i[1]-r[1]),o=$t(i[0]-r[0]),a=$t(r[1]),l=$t(i[1]),u=Math.pow(Math.sin(s/2),2)+Math.pow(Math.sin(o/2),2)*Math.cos(a)*Math.cos(l);return Sc(2*Math.atan2(Math.sqrt(u),Math.sqrt(1-u)),t.units)}function xg(n,e,t){t===void 0&&(t={});for(var r=Wr(n),i=r.coordinates,s=0,o=0;o<i.length&&!(e>=s&&o===i.length-1);o++)if(s>=e){var a=e-s;if(a){var l=Rl(i[o],i[o-1])-180,u=Qa(i[o],a,l,t);return u}else return Ge(i[o])}else s+=Oi(i[o],i[o+1],t);return Ge(i[i.length-1])}function Lg(n,e){const t=Dn(n);return xg(t,e,{units:"meters"}).geometry.coordinates}function Ba(n,e,t){if(n!==null)for(var r,i,s,o,a,l,u,h=0,f=0,d,v=n.type,w=v==="FeatureCollection",I=v==="Feature",T=w?n.features.length:1,L=0;L<T;L++){u=w?n.features[L].geometry:I?n.geometry:n,d=u?u.type==="GeometryCollection":!1,a=d?u.geometries.length:1;for(var m=0;m<a;m++){var _=0,g=0;if(o=d?u.geometries[m]:u,o!==null){l=o.coordinates;var y=o.type;switch(h=t&&(y==="Polygon"||y==="MultiPolygon")?1:0,y){case null:break;case"Point":if(e(l,f,L,_,g)===!1)return!1;f++,_++;break;case"LineString":case"MultiPoint":for(r=0;r<l.length;r++){if(e(l[r],f,L,_,g)===!1)return!1;f++,y==="MultiPoint"&&_++}y==="LineString"&&_++;break;case"Polygon":case"MultiLineString":for(r=0;r<l.length;r++){for(i=0;i<l[r].length-h;i++){if(e(l[r][i],f,L,_,g)===!1)return!1;f++}y==="MultiLineString"&&_++,y==="Polygon"&&g++}y==="Polygon"&&_++;break;case"MultiPolygon":for(r=0;r<l.length;r++){for(g=0,i=0;i<l[r].length;i++){for(s=0;s<l[r][i].length-h;s++){if(e(l[r][i][s],f,L,_,g)===!1)return!1;f++}g++}_++}break;case"GeometryCollection":for(r=0;r<o.geometries.length;r++)if(Ba(o.geometries[r],e,t)===!1)return!1;break;default:throw new Error("Unknown Geometry Type")}}}}}function Pu(n,e){if(n.type==="Feature")e(n,0);else if(n.type==="FeatureCollection")for(var t=0;t<n.features.length&&e(n.features[t],t)!==!1;t++);}function Iu(n,e){var t,r,i,s,o,a,l,u,h,f,d=0,v=n.type==="FeatureCollection",w=n.type==="Feature",I=v?n.features.length:1;for(t=0;t<I;t++){for(a=v?n.features[t].geometry:w?n.geometry:n,u=v?n.features[t].properties:w?n.properties:{},h=v?n.features[t].bbox:w?n.bbox:void 0,f=v?n.features[t].id:w?n.id:void 0,l=a?a.type==="GeometryCollection":!1,o=l?a.geometries.length:1,i=0;i<o;i++){if(s=l?a.geometries[i]:a,s===null){if(e(null,d,u,h,f)===!1)return!1;continue}switch(s.type){case"Point":case"LineString":case"MultiPoint":case"Polygon":case"MultiLineString":case"MultiPolygon":{if(e(s,d,u,h,f)===!1)return!1;break}case"GeometryCollection":{for(r=0;r<s.geometries.length;r++)if(e(s.geometries[r],d,u,h,f)===!1)return!1;break}default:throw new Error("Unknown Geometry Type")}}d++}}function Ag(n,e,t){var r=t;return Iu(n,function(i,s,o,a,l){r=e(r,i,s,o,a,l)}),r}function Ic(n,e){Iu(n,function(t,r,i,s,o){var a=t===null?null:t.type;switch(a){case null:case"Point":case"LineString":case"Polygon":return e(Nn(t,i,{bbox:s,id:o}),r,0)===!1?!1:void 0}var l;switch(a){case"MultiPoint":l="Point";break;case"MultiLineString":l="LineString";break;case"MultiPolygon":l="Polygon";break}for(var u=0;u<t.coordinates.length;u++){var h=t.coordinates[u],f={type:l,coordinates:h};if(e(Nn(f,i),r,u)===!1)return!1}})}function Rg(n,e){Ic(n,function(t,r,i){var s=0;if(t.geometry){var o=t.geometry.type;if(!(o==="Point"||o==="MultiPoint")){var a,l=0,u=0,h=0;if(Ba(t,function(f,d,v,w,I){if(a===void 0||r>l||w>u||I>h){a=f,l=r,u=w,h=I,s=0;return}var T=Dn([a,f],t.properties);if(e(T,r,i,I,s)===!1)return!1;s++,a=f})===!1)return!1}}})}var Xh=6378137;function Fg(n){return Ag(n,function(e,t){return e+kg(t)},0)}function kg(n){var e=0,t;switch(n.type){case"Polygon":return Yh(n.coordinates);case"MultiPolygon":for(t=0;t<n.coordinates.length;t++)e+=Yh(n.coordinates[t]);return e;case"Point":case"MultiPoint":case"LineString":case"MultiLineString":return 0}return 0}function Yh(n){var e=0;if(n&&n.length>0){e+=Math.abs(Hh(n[0]));for(var t=1;t<n.length;t++)e-=Math.abs(Hh(n[t]))}return e}function Hh(n){var e,t,r,i,s,o,a,l=0,u=n.length;if(u>2){for(a=0;a<u;a++)a===u-2?(i=u-2,s=u-1,o=0):a===u-1?(i=u-1,s=0,o=1):(i=a,s=a+1,o=a+2),e=n[i],t=n[s],r=n[o],l+=(Tc(r[0])-Tc(e[0]))*Math.sin(Tc(t[1]));l=l*Xh*Xh/2}return l}function Tc(n){return n*Math.PI/180}function bc(n){if((n[0][0]!==n[n.length-1][0]||n[0][1]!==n[n.length-1][1]||n[0][2]!==n[n.length-1][2])&&n.push(n[0]),n.length<=3)return 0;const e=ar([n]);return Fg(e)}function Jh(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}function Vg(n){if(Object.prototype.hasOwnProperty.call(n,"__esModule"))return n;var e=n.default;if(typeof e=="function"){var t=function r(){return this instanceof r?Reflect.construct(e,arguments,this.constructor):e.apply(this,arguments)};t.prototype=e.prototype}else t={};return Object.defineProperty(t,"__esModule",{value:!0}),Object.keys(n).forEach(function(r){var i=Object.getOwnPropertyDescriptor(n,r);Object.defineProperty(t,r,i.get?i:{enumerable:!0,get:function(){return n[r]}})}),t}var Tu={exports:{}},bu={exports:{}},zg=bu.exports,Zh;function Kh(){return Zh||(Zh=1,function(n,e){(function(t,r){n.exports=r()})(zg,function(){function t(m,_,g,y,E){(function C(b,D,x,N,O){for(;N>x;){if(N-x>600){var A=N-x+1,F=D-x+1,B=Math.log(A),X=.5*Math.exp(2*B/3),ne=.5*Math.sqrt(B*X*(A-X)/A)*(F-A/2<0?-1:1),ue=Math.max(x,Math.floor(D-F*X/A+ne)),pe=Math.min(N,Math.floor(D+(A-F)*X/A+ne));C(b,D,ue,pe,O)}var K=b[D],$=x,ee=N;for(r(b,x,D),O(b[N],K)>0&&r(b,x,N);$<ee;){for(r(b,$,ee),$++,ee--;O(b[$],K)<0;)$++;for(;O(b[ee],K)>0;)ee--}O(b[x],K)===0?r(b,x,ee):r(b,++ee,N),ee<=D&&(x=ee+1),D<=ee&&(N=ee-1)}})(m,_,g||0,y||m.length-1,E||i)}function r(m,_,g){var y=m[_];m[_]=m[g],m[g]=y}function i(m,_){return m<_?-1:m>_?1:0}var s=function(m){m===void 0&&(m=9),this._maxEntries=Math.max(4,m),this._minEntries=Math.max(2,Math.ceil(.4*this._maxEntries)),this.clear()};function o(m,_,g){if(!g)return _.indexOf(m);for(var y=0;y<_.length;y++)if(g(m,_[y]))return y;return-1}function a(m,_){l(m,0,m.children.length,_,m)}function l(m,_,g,y,E){E||(E=T(null)),E.minX=1/0,E.minY=1/0,E.maxX=-1/0,E.maxY=-1/0;for(var C=_;C<g;C++){var b=m.children[C];u(E,m.leaf?y(b):b)}return E}function u(m,_){return m.minX=Math.min(m.minX,_.minX),m.minY=Math.min(m.minY,_.minY),m.maxX=Math.max(m.maxX,_.maxX),m.maxY=Math.max(m.maxY,_.maxY),m}function h(m,_){return m.minX-_.minX}function f(m,_){return m.minY-_.minY}function d(m){return(m.maxX-m.minX)*(m.maxY-m.minY)}function v(m){return m.maxX-m.minX+(m.maxY-m.minY)}function w(m,_){return m.minX<=_.minX&&m.minY<=_.minY&&_.maxX<=m.maxX&&_.maxY<=m.maxY}function I(m,_){return _.minX<=m.maxX&&_.minY<=m.maxY&&_.maxX>=m.minX&&_.maxY>=m.minY}function T(m){return{children:m,height:1,leaf:!0,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}}function L(m,_,g,y,E){for(var C=[_,g];C.length;)if(!((g=C.pop())-(_=C.pop())<=y)){var b=_+Math.ceil((g-_)/y/2)*y;t(m,b,_,g,E),C.push(_,b,b,g)}}return s.prototype.all=function(){return this._all(this.data,[])},s.prototype.search=function(m){var _=this.data,g=[];if(!I(m,_))return g;for(var y=this.toBBox,E=[];_;){for(var C=0;C<_.children.length;C++){var b=_.children[C],D=_.leaf?y(b):b;I(m,D)&&(_.leaf?g.push(b):w(m,D)?this._all(b,g):E.push(b))}_=E.pop()}return g},s.prototype.collides=function(m){var _=this.data;if(!I(m,_))return!1;for(var g=[];_;){for(var y=0;y<_.children.length;y++){var E=_.children[y],C=_.leaf?this.toBBox(E):E;if(I(m,C)){if(_.leaf||w(m,C))return!0;g.push(E)}}_=g.pop()}return!1},s.prototype.load=function(m){if(!m||!m.length)return this;if(m.length<this._minEntries){for(var _=0;_<m.length;_++)this.insert(m[_]);return this}var g=this._build(m.slice(),0,m.length-1,0);if(this.data.children.length)if(this.data.height===g.height)this._splitRoot(this.data,g);else{if(this.data.height<g.height){var y=this.data;this.data=g,g=y}this._insert(g,this.data.height-g.height-1,!0)}else this.data=g;return this},s.prototype.insert=function(m){return m&&this._insert(m,this.data.height-1),this},s.prototype.clear=function(){return this.data=T([]),this},s.prototype.remove=function(m,_){if(!m)return this;for(var g,y,E,C=this.data,b=this.toBBox(m),D=[],x=[];C||D.length;){if(C||(C=D.pop(),y=D[D.length-1],g=x.pop(),E=!0),C.leaf){var N=o(m,C.children,_);if(N!==-1)return C.children.splice(N,1),D.push(C),this._condense(D),this}E||C.leaf||!w(C,b)?y?(g++,C=y.children[g],E=!1):C=null:(D.push(C),x.push(g),g=0,y=C,C=C.children[0])}return this},s.prototype.toBBox=function(m){return m},s.prototype.compareMinX=function(m,_){return m.minX-_.minX},s.prototype.compareMinY=function(m,_){return m.minY-_.minY},s.prototype.toJSON=function(){return this.data},s.prototype.fromJSON=function(m){return this.data=m,this},s.prototype._all=function(m,_){for(var g=[];m;)m.leaf?_.push.apply(_,m.children):g.push.apply(g,m.children),m=g.pop();return _},s.prototype._build=function(m,_,g,y){var E,C=g-_+1,b=this._maxEntries;if(C<=b)return a(E=T(m.slice(_,g+1)),this.toBBox),E;y||(y=Math.ceil(Math.log(C)/Math.log(b)),b=Math.ceil(C/Math.pow(b,y-1))),(E=T([])).leaf=!1,E.height=y;var D=Math.ceil(C/b),x=D*Math.ceil(Math.sqrt(b));L(m,_,g,x,this.compareMinX);for(var N=_;N<=g;N+=x){var O=Math.min(N+x-1,g);L(m,N,O,D,this.compareMinY);for(var A=N;A<=O;A+=D){var F=Math.min(A+D-1,O);E.children.push(this._build(m,A,F,y-1))}}return a(E,this.toBBox),E},s.prototype._chooseSubtree=function(m,_,g,y){for(;y.push(_),!_.leaf&&y.length-1!==g;){for(var E=1/0,C=1/0,b=void 0,D=0;D<_.children.length;D++){var x=_.children[D],N=d(x),O=(A=m,F=x,(Math.max(F.maxX,A.maxX)-Math.min(F.minX,A.minX))*(Math.max(F.maxY,A.maxY)-Math.min(F.minY,A.minY))-N);O<C?(C=O,E=N<E?N:E,b=x):O===C&&N<E&&(E=N,b=x)}_=b||_.children[0]}var A,F;return _},s.prototype._insert=function(m,_,g){var y=g?m:this.toBBox(m),E=[],C=this._chooseSubtree(y,this.data,_,E);for(C.children.push(m),u(C,y);_>=0&&E[_].children.length>this._maxEntries;)this._split(E,_),_--;this._adjustParentBBoxes(y,E,_)},s.prototype._split=function(m,_){var g=m[_],y=g.children.length,E=this._minEntries;this._chooseSplitAxis(g,E,y);var C=this._chooseSplitIndex(g,E,y),b=T(g.children.splice(C,g.children.length-C));b.height=g.height,b.leaf=g.leaf,a(g,this.toBBox),a(b,this.toBBox),_?m[_-1].children.push(b):this._splitRoot(g,b)},s.prototype._splitRoot=function(m,_){this.data=T([m,_]),this.data.height=m.height+1,this.data.leaf=!1,a(this.data,this.toBBox)},s.prototype._chooseSplitIndex=function(m,_,g){for(var y,E,C,b,D,x,N,O=1/0,A=1/0,F=_;F<=g-_;F++){var B=l(m,0,F,this.toBBox),X=l(m,F,g,this.toBBox),ne=(E=B,C=X,b=void 0,D=void 0,x=void 0,N=void 0,b=Math.max(E.minX,C.minX),D=Math.max(E.minY,C.minY),x=Math.min(E.maxX,C.maxX),N=Math.min(E.maxY,C.maxY),Math.max(0,x-b)*Math.max(0,N-D)),ue=d(B)+d(X);ne<O?(O=ne,y=F,A=ue<A?ue:A):ne===O&&ue<A&&(A=ue,y=F)}return y||g-_},s.prototype._chooseSplitAxis=function(m,_,g){var y=m.leaf?this.compareMinX:h,E=m.leaf?this.compareMinY:f;this._allDistMargin(m,_,g,y)<this._allDistMargin(m,_,g,E)&&m.children.sort(y)},s.prototype._allDistMargin=function(m,_,g,y){m.children.sort(y);for(var E=this.toBBox,C=l(m,0,_,E),b=l(m,g-_,g,E),D=v(C)+v(b),x=_;x<g-_;x++){var N=m.children[x];u(C,m.leaf?E(N):N),D+=v(C)}for(var O=g-_-1;O>=_;O--){var A=m.children[O];u(b,m.leaf?E(A):A),D+=v(b)}return D},s.prototype._adjustParentBBoxes=function(m,_,g){for(var y=g;y>=0;y--)u(_[y],m)},s.prototype._condense=function(m){for(var _=m.length-1,g=void 0;_>=0;_--)m[_].children.length===0?_>0?(g=m[_-1].children).splice(g.indexOf(m[_]),1):this.clear():a(m[_],this.toBBox)},s})}(bu)),bu.exports}class Ug{constructor(e=[],t=Gg){if(this.data=e,this.length=this.data.length,this.compare=t,this.length>0)for(let r=(this.length>>1)-1;r>=0;r--)this._down(r)}push(e){this.data.push(e),this.length++,this._up(this.length-1)}pop(){if(this.length===0)return;const e=this.data[0],t=this.data.pop();return this.length--,this.length>0&&(this.data[0]=t,this._down(0)),e}peek(){return this.data[0]}_up(e){const{data:t,compare:r}=this,i=t[e];for(;e>0;){const s=e-1>>1,o=t[s];if(r(i,o)>=0)break;t[e]=o,e=s}t[e]=i}_down(e){const{data:t,compare:r}=this,i=this.length>>1,s=t[e];for(;e<i;){let o=(e<<1)+1,a=t[o];const l=o+1;if(l<this.length&&r(t[l],a)<0&&(o=l,a=t[l]),r(a,s)>=0)break;t[e]=a,e=o}t[e]=s}}function Gg(n,e){return n<e?-1:n>e?1:0}const Wg=Vg(Object.freeze(Object.defineProperty({__proto__:null,default:Ug},Symbol.toStringTag,{value:"Module"})));var Fl={exports:{}},Nc,Qh;function qg(){return Qh||(Qh=1,Nc=function(e,t,r,i){var s=e[0],o=e[1],a=!1;r===void 0&&(r=0),i===void 0&&(i=t.length);for(var l=(i-r)/2,u=0,h=l-1;u<l;h=u++){var f=t[r+u*2+0],d=t[r+u*2+1],v=t[r+h*2+0],w=t[r+h*2+1],I=d>o!=w>o&&s<(v-f)*(o-d)/(w-d)+f;I&&(a=!a)}return a}),Nc}var Dc,Bh;function Xg(){return Bh||(Bh=1,Dc=function(e,t,r,i){var s=e[0],o=e[1],a=!1;r===void 0&&(r=0),i===void 0&&(i=t.length);for(var l=i-r,u=0,h=l-1;u<l;h=u++){var f=t[u+r][0],d=t[u+r][1],v=t[h+r][0],w=t[h+r][1],I=d>o!=w>o&&s<(v-f)*(o-d)/(w-d)+f;I&&(a=!a)}return a}),Dc}var $h;function Yg(){if($h)return Fl.exports;$h=1;var n=qg(),e=Xg();return Fl.exports=function(r,i,s,o){return i.length>0&&Array.isArray(i[0])?e(r,i,s,o):n(r,i,s,o)},Fl.exports.nested=e,Fl.exports.flat=n,Fl.exports}var kl={exports:{}},Hg=kl.exports,jh;function Jg(){return jh||(jh=1,function(n,e){(function(t,r){r(e)})(Hg,function(t){const i=33306690738754706e-32;function s(I,T,L,m,_){let g,y,E,C,b=T[0],D=m[0],x=0,N=0;D>b==D>-b?(g=b,b=T[++x]):(g=D,D=m[++N]);let O=0;if(x<I&&N<L)for(D>b==D>-b?(E=g-((y=b+g)-b),b=T[++x]):(E=g-((y=D+g)-D),D=m[++N]),g=y,E!==0&&(_[O++]=E);x<I&&N<L;)D>b==D>-b?(E=g-((y=g+b)-(C=y-g))+(b-C),b=T[++x]):(E=g-((y=g+D)-(C=y-g))+(D-C),D=m[++N]),g=y,E!==0&&(_[O++]=E);for(;x<I;)E=g-((y=g+b)-(C=y-g))+(b-C),b=T[++x],g=y,E!==0&&(_[O++]=E);for(;N<L;)E=g-((y=g+D)-(C=y-g))+(D-C),D=m[++N],g=y,E!==0&&(_[O++]=E);return g===0&&O!==0||(_[O++]=g),O}function o(I){return new Float64Array(I)}const a=33306690738754716e-32,l=22204460492503146e-32,u=11093356479670487e-47,h=o(4),f=o(8),d=o(12),v=o(16),w=o(4);t.orient2d=function(I,T,L,m,_,g){const y=(T-g)*(L-_),E=(I-_)*(m-g),C=y-E;if(y===0||E===0||y>0!=E>0)return C;const b=Math.abs(y+E);return Math.abs(C)>=a*b?C:-function(D,x,N,O,A,F,B){let X,ne,ue,pe,K,$,ee,ve,Oe,Ce,Pe,Re,dt,lt,kr,Vr,Di,zr;const Ur=D-A,Gr=N-A,$n=x-F,jn=O-F;K=(kr=(ve=Ur-(ee=($=134217729*Ur)-($-Ur)))*(Ce=jn-(Oe=($=134217729*jn)-($-jn)))-((lt=Ur*jn)-ee*Oe-ve*Oe-ee*Ce))-(Pe=kr-(Di=(ve=$n-(ee=($=134217729*$n)-($-$n)))*(Ce=Gr-(Oe=($=134217729*Gr)-($-Gr)))-((Vr=$n*Gr)-ee*Oe-ve*Oe-ee*Ce))),h[0]=kr-(Pe+K)+(K-Di),K=(dt=lt-((Re=lt+Pe)-(K=Re-lt))+(Pe-K))-(Pe=dt-Vr),h[1]=dt-(Pe+K)+(K-Vr),K=(zr=Re+Pe)-Re,h[2]=Re-(zr-K)+(Pe-K),h[3]=zr;let Gs=function(D0,Yd){let Hd=Yd[0];for(let Nh=1;Nh<D0;Nh++)Hd+=Yd[Nh];return Hd}(4,h),mu=l*B;if(Gs>=mu||-Gs>=mu||(X=D-(Ur+(K=D-Ur))+(K-A),ue=N-(Gr+(K=N-Gr))+(K-A),ne=x-($n+(K=x-$n))+(K-F),pe=O-(jn+(K=O-jn))+(K-F),X===0&&ne===0&&ue===0&&pe===0)||(mu=u*B+i*Math.abs(Gs),(Gs+=Ur*pe+jn*X-($n*ue+Gr*ne))>=mu||-Gs>=mu))return Gs;K=(kr=(ve=X-(ee=($=134217729*X)-($-X)))*(Ce=jn-(Oe=($=134217729*jn)-($-jn)))-((lt=X*jn)-ee*Oe-ve*Oe-ee*Ce))-(Pe=kr-(Di=(ve=ne-(ee=($=134217729*ne)-($-ne)))*(Ce=Gr-(Oe=($=134217729*Gr)-($-Gr)))-((Vr=ne*Gr)-ee*Oe-ve*Oe-ee*Ce))),w[0]=kr-(Pe+K)+(K-Di),K=(dt=lt-((Re=lt+Pe)-(K=Re-lt))+(Pe-K))-(Pe=dt-Vr),w[1]=dt-(Pe+K)+(K-Vr),K=(zr=Re+Pe)-Re,w[2]=Re-(zr-K)+(Pe-K),w[3]=zr;const T0=s(4,h,4,w,f);K=(kr=(ve=Ur-(ee=($=134217729*Ur)-($-Ur)))*(Ce=pe-(Oe=($=134217729*pe)-($-pe)))-((lt=Ur*pe)-ee*Oe-ve*Oe-ee*Ce))-(Pe=kr-(Di=(ve=$n-(ee=($=134217729*$n)-($-$n)))*(Ce=ue-(Oe=($=134217729*ue)-($-ue)))-((Vr=$n*ue)-ee*Oe-ve*Oe-ee*Ce))),w[0]=kr-(Pe+K)+(K-Di),K=(dt=lt-((Re=lt+Pe)-(K=Re-lt))+(Pe-K))-(Pe=dt-Vr),w[1]=dt-(Pe+K)+(K-Vr),K=(zr=Re+Pe)-Re,w[2]=Re-(zr-K)+(Pe-K),w[3]=zr;const b0=s(T0,f,4,w,d);K=(kr=(ve=X-(ee=($=134217729*X)-($-X)))*(Ce=pe-(Oe=($=134217729*pe)-($-pe)))-((lt=X*pe)-ee*Oe-ve*Oe-ee*Ce))-(Pe=kr-(Di=(ve=ne-(ee=($=134217729*ne)-($-ne)))*(Ce=ue-(Oe=($=134217729*ue)-($-ue)))-((Vr=ne*ue)-ee*Oe-ve*Oe-ee*Ce))),w[0]=kr-(Pe+K)+(K-Di),K=(dt=lt-((Re=lt+Pe)-(K=Re-lt))+(Pe-K))-(Pe=dt-Vr),w[1]=dt-(Pe+K)+(K-Vr),K=(zr=Re+Pe)-Re,w[2]=Re-(zr-K)+(Pe-K),w[3]=zr;const N0=s(b0,d,4,w,v);return v[N0-1]}(I,T,L,m,_,g,b)},t.orient2dfast=function(I,T,L,m,_,g){return(T-g)*(L-_)-(I-_)*(m-g)},Object.defineProperty(t,"__esModule",{value:!0})})}(kl,kl.exports)),kl.exports}var ef;function Zg(){if(ef)return Tu.exports;ef=1;var n=Kh(),e=Wg,t=Yg(),r=Jg().orient2d;e.default&&(e=e.default),Tu.exports=i,Tu.exports.default=i;function i(g,y,E){y=Math.max(0,y===void 0?2:y),E=E||0;var C=v(g),b=new n(16);b.toBBox=function(ee){return{minX:ee[0],minY:ee[1],maxX:ee[0],maxY:ee[1]}},b.compareMinX=function(ee,ve){return ee[0]-ve[0]},b.compareMinY=function(ee,ve){return ee[1]-ve[1]},b.load(g);for(var D=[],x=0,N;x<C.length;x++){var O=C[x];b.remove(O),N=w(O,N),D.push(N)}var A=new n(16);for(x=0;x<D.length;x++)A.insert(d(D[x]));for(var F=y*y,B=E*E;D.length;){var X=D.shift(),ne=X.p,ue=X.next.p,pe=I(ne,ue);if(!(pe<B)){var K=pe/F;O=s(b,X.prev.p,ne,ue,X.next.next.p,K,A),O&&Math.min(I(O,ne),I(O,ue))<=K&&(D.push(X),D.push(w(O,X)),b.remove(O),A.remove(X),A.insert(d(X)),A.insert(d(X.next)))}}X=N;var $=[];do $.push(X.p),X=X.next;while(X!==N);return $.push(X.p),$}function s(g,y,E,C,b,D,x){for(var N=new e([],o),O=g.data;O;){for(var A=0;A<O.children.length;A++){var F=O.children[A],B=O.leaf?T(F,E,C):a(E,C,F);B>D||N.push({node:F,dist:B})}for(;N.length&&!N.peek().node.children;){var X=N.pop(),ne=X.node,ue=T(ne,y,E),pe=T(ne,C,b);if(X.dist<ue&&X.dist<pe&&u(E,ne,x)&&u(C,ne,x))return ne}O=N.pop(),O&&(O=O.node)}return null}function o(g,y){return g.dist-y.dist}function a(g,y,E){if(l(g,E)||l(y,E))return 0;var C=L(g[0],g[1],y[0],y[1],E.minX,E.minY,E.maxX,E.minY);if(C===0)return 0;var b=L(g[0],g[1],y[0],y[1],E.minX,E.minY,E.minX,E.maxY);if(b===0)return 0;var D=L(g[0],g[1],y[0],y[1],E.maxX,E.minY,E.maxX,E.maxY);if(D===0)return 0;var x=L(g[0],g[1],y[0],y[1],E.minX,E.maxY,E.maxX,E.maxY);return x===0?0:Math.min(C,b,D,x)}function l(g,y){return g[0]>=y.minX&&g[0]<=y.maxX&&g[1]>=y.minY&&g[1]<=y.maxY}function u(g,y,E){for(var C=Math.min(g[0],y[0]),b=Math.min(g[1],y[1]),D=Math.max(g[0],y[0]),x=Math.max(g[1],y[1]),N=E.search({minX:C,minY:b,maxX:D,maxY:x}),O=0;O<N.length;O++)if(f(N[O].p,N[O].next.p,g,y))return!1;return!0}function h(g,y,E){return r(g[0],g[1],y[0],y[1],E[0],E[1])}function f(g,y,E,C){return g!==C&&y!==E&&h(g,y,E)>0!=h(g,y,C)>0&&h(E,C,g)>0!=h(E,C,y)>0}function d(g){var y=g.p,E=g.next.p;return g.minX=Math.min(y[0],E[0]),g.minY=Math.min(y[1],E[1]),g.maxX=Math.max(y[0],E[0]),g.maxY=Math.max(y[1],E[1]),g}function v(g){for(var y=g[0],E=g[0],C=g[0],b=g[0],D=0;D<g.length;D++){var x=g[D];x[0]<y[0]&&(y=x),x[0]>C[0]&&(C=x),x[1]<E[1]&&(E=x),x[1]>b[1]&&(b=x)}var N=[y,E,C,b],O=N.slice();for(D=0;D<g.length;D++)t(g[D],N)||O.push(g[D]);return _(O)}function w(g,y){var E={p:g,prev:null,next:null,minX:0,minY:0,maxX:0,maxY:0};return y?(E.next=y.next,E.prev=y,y.next.prev=E,y.next=E):(E.prev=E,E.next=E),E}function I(g,y){var E=g[0]-y[0],C=g[1]-y[1];return E*E+C*C}function T(g,y,E){var C=y[0],b=y[1],D=E[0]-C,x=E[1]-b;if(D!==0||x!==0){var N=((g[0]-C)*D+(g[1]-b)*x)/(D*D+x*x);N>1?(C=E[0],b=E[1]):N>0&&(C+=D*N,b+=x*N)}return D=g[0]-C,x=g[1]-b,D*D+x*x}function L(g,y,E,C,b,D,x,N){var O=E-g,A=C-y,F=x-b,B=N-D,X=g-b,ne=y-D,ue=O*O+A*A,pe=O*F+A*B,K=F*F+B*B,$=O*X+A*ne,ee=F*X+B*ne,ve=ue*K-pe*pe,Oe,Ce,Pe,Re,dt=ve,lt=ve;ve===0?(Ce=0,dt=1,Re=ee,lt=K):(Ce=pe*ee-K*$,Re=ue*ee-pe*$,Ce<0?(Ce=0,Re=ee,lt=K):Ce>dt&&(Ce=dt,Re=ee+pe,lt=K)),Re<0?(Re=0,-$<0?Ce=0:-$>ue?Ce=dt:(Ce=-$,dt=ue)):Re>lt&&(Re=lt,-$+pe<0?Ce=0:-$+pe>ue?Ce=dt:(Ce=-$+pe,dt=ue)),Oe=Ce===0?0:Ce/dt,Pe=Re===0?0:Re/lt;var kr=(1-Oe)*g+Oe*E,Vr=(1-Oe)*y+Oe*C,Di=(1-Pe)*b+Pe*x,zr=(1-Pe)*D+Pe*N,Ur=Di-kr,Gr=zr-Vr;return Ur*Ur+Gr*Gr}function m(g,y){return g[0]===y[0]?g[1]-y[1]:g[0]-y[0]}function _(g){g.sort(m);for(var y=[],E=0;E<g.length;E++){for(;y.length>=2&&h(y[y.length-2],y[y.length-1],g[E])<=0;)y.pop();y.push(g[E])}for(var C=[],b=g.length-1;b>=0;b--){for(;C.length>=2&&h(C[C.length-2],C[C.length-1],g[b])<=0;)C.pop();C.push(g[b])}return C.pop(),y.pop(),y.concat(C)}return Tu.exports}var Kg=Zg();const Qg=Jh(Kg);function Bg(n,e){e===void 0&&(e={}),e.concavity=e.concavity||1/0;var t=[];if(Ba(n,function(i){t.push([i[0],i[1]])}),!t.length)return null;var r=Qg(t,e.concavity);return r.length>3?ar([r]):null}function tf(n,e){e===void 0&&(e={});var t=0,r=0,i=0;return Ba(n,function(s){t+=s[0],r+=s[1],i++},!0),Ge([t/i,r/i],e.properties)}function rf(n,e){switch(e===void 0&&(e={}),Og(n)){case"Point":return Ge(lr(n),e.properties);case"Polygon":var t=[];Ba(n,function(g){t.push(g)});var r=tf(n,{properties:e.properties}),i=r.geometry.coordinates,s=0,o=0,a=0,l,u,h,f,d,v,w,I,T=t.map(function(g){return[g[0]-i[0],g[1]-i[1]]});for(l=0;l<t.length-1;l++)u=T[l],f=u[0],v=u[1],h=T[l+1],d=h[0],w=h[1],I=f*w-d*v,a+=I,s+=(f+d)*I,o+=(v+w)*I;if(a===0)return r;var L=a*.5,m=1/(6*L);return Ge([i[0]+m*s,i[1]+m*o],e.properties);default:var _=Bg(n);return _?rf(_,{properties:e.properties}):tf(n,{properties:e.properties})}}function $g(n){(n[0][0]!==n[n.length-1][0]||n[0][1]!==n[n.length-1][1]||n[0][2]!==n[n.length-1][2])&&n.push(n[0]);const e=ar([n]),r=rf(e).geometry.coordinates;return[r[0],r[1],r[2]??n[0][2]??0]}function jg(n,e,t,r){const[i,s,o]=n,a=Qa(Ge([i,s]),e,t,{units:"meters"});if(!(!a||!a.geometry||!a.geometry.coordinates))return r=r||[0,0,0],r[0]=a.geometry.coordinates[0],r[1]=a.geometry.coordinates[1],r[2]=o,r}function Oc(n,e){return Oi(Ge(n),Ge(e),{units:"meters"})}function Mc(n,e){return Rl(Ge(n),Ge(e))}function nf(n){if(!n)throw new Error("geojson is required");var e=[];return Ic(n,function(t){em(t,e)}),Ka(e)}function em(n,e){var t=[],r=n.geometry;if(r!==null){switch(r.type){case"Polygon":t=qs(r);break;case"LineString":t=[qs(r)]}t.forEach(function(i){var s=tm(i,n.properties);s.forEach(function(o){o.id=e.length,e.push(o)})})}}function tm(n,e){var t=[];return n.reduce(function(r,i){var s=Dn([r,i],e);return s.bbox=rm(r,i),t.push(s),i}),t}function rm(n,e){var t=n[0],r=n[1],i=e[0],s=e[1],o=t<i?t:i,a=r<s?r:s,l=t>i?t:i,u=r>s?r:s;return[o,a,l,u]}var Nu={exports:{}},xc={},sf;function of(){return sf||(sf=1,function(n){Object.defineProperty(n,"__esModule",{value:!0}),n.earthRadius=63710088e-1,n.factors={centimeters:n.earthRadius*100,centimetres:n.earthRadius*100,degrees:n.earthRadius/111325,feet:n.earthRadius*3.28084,inches:n.earthRadius*39.37,kilometers:n.earthRadius/1e3,kilometres:n.earthRadius/1e3,meters:n.earthRadius,metres:n.earthRadius,miles:n.earthRadius/1609.344,millimeters:n.earthRadius*1e3,millimetres:n.earthRadius*1e3,nauticalmiles:n.earthRadius/1852,radians:1,yards:n.earthRadius*1.0936},n.unitsFactors={centimeters:100,centimetres:100,degrees:1/111325,feet:3.28084,inches:39.37,kilometers:1/1e3,kilometres:1/1e3,meters:1,metres:1,miles:1/1609.344,millimeters:1e3,millimetres:1e3,nauticalmiles:1/1852,radians:1/n.earthRadius,yards:1.0936133},n.areaFactors={acres:247105e-9,centimeters:1e4,centimetres:1e4,feet:10.763910417,hectares:1e-4,inches:1550.003100006,kilometers:1e-6,kilometres:1e-6,meters:1,metres:1,miles:386e-9,millimeters:1e6,millimetres:1e6,yards:1.195990046};function e(N,O,A){A===void 0&&(A={});var F={type:"Feature"};return(A.id===0||A.id)&&(F.id=A.id),A.bbox&&(F.bbox=A.bbox),F.properties=O||{},F.geometry=N,F}n.feature=e;function t(N,O,A){switch(N){case"Point":return r(O).geometry;case"LineString":return a(O).geometry;case"Polygon":return s(O).geometry;case"MultiPoint":return f(O).geometry;case"MultiLineString":return h(O).geometry;case"MultiPolygon":return d(O).geometry;default:throw new Error(N+" is invalid")}}n.geometry=t;function r(N,O,A){if(A===void 0&&(A={}),!N)throw new Error("coordinates is required");if(!Array.isArray(N))throw new Error("coordinates must be an Array");if(N.length<2)throw new Error("coordinates must be at least 2 numbers long");if(!C(N[0])||!C(N[1]))throw new Error("coordinates must contain numbers");var F={type:"Point",coordinates:N};return e(F,O,A)}n.point=r;function i(N,O,A){return A===void 0&&(A={}),u(N.map(function(F){return r(F,O)}),A)}n.points=i;function s(N,O,A){A===void 0&&(A={});for(var F=0,B=N;F<B.length;F++){var X=B[F];if(X.length<4)throw new Error("Each LinearRing of a Polygon must have 4 or more Positions.");for(var ne=0;ne<X[X.length-1].length;ne++)if(X[X.length-1][ne]!==X[0][ne])throw new Error("First and last Position are not equivalent.")}var ue={type:"Polygon",coordinates:N};return e(ue,O,A)}n.polygon=s;function o(N,O,A){return A===void 0&&(A={}),u(N.map(function(F){return s(F,O)}),A)}n.polygons=o;function a(N,O,A){if(A===void 0&&(A={}),N.length<2)throw new Error("coordinates must be an array of two or more positions");var F={type:"LineString",coordinates:N};return e(F,O,A)}n.lineString=a;function l(N,O,A){return A===void 0&&(A={}),u(N.map(function(F){return a(F,O)}),A)}n.lineStrings=l;function u(N,O){O===void 0&&(O={});var A={type:"FeatureCollection"};return O.id&&(A.id=O.id),O.bbox&&(A.bbox=O.bbox),A.features=N,A}n.featureCollection=u;function h(N,O,A){A===void 0&&(A={});var F={type:"MultiLineString",coordinates:N};return e(F,O,A)}n.multiLineString=h;function f(N,O,A){A===void 0&&(A={});var F={type:"MultiPoint",coordinates:N};return e(F,O,A)}n.multiPoint=f;function d(N,O,A){A===void 0&&(A={});var F={type:"MultiPolygon",coordinates:N};return e(F,O,A)}n.multiPolygon=d;function v(N,O,A){A===void 0&&(A={});var F={type:"GeometryCollection",geometries:N};return e(F,O,A)}n.geometryCollection=v;function w(N,O){if(O===void 0&&(O=0),O&&!(O>=0))throw new Error("precision must be a positive number");var A=Math.pow(10,O||0);return Math.round(N*A)/A}n.round=w;function I(N,O){O===void 0&&(O="kilometers");var A=n.factors[O];if(!A)throw new Error(O+" units is invalid");return N*A}n.radiansToLength=I;function T(N,O){O===void 0&&(O="kilometers");var A=n.factors[O];if(!A)throw new Error(O+" units is invalid");return N/A}n.lengthToRadians=T;function L(N,O){return _(T(N,O))}n.lengthToDegrees=L;function m(N){var O=N%360;return O<0&&(O+=360),O}n.bearingToAzimuth=m;function _(N){var O=N%(2*Math.PI);return O*180/Math.PI}n.radiansToDegrees=_;function g(N){var O=N%360;return O*Math.PI/180}n.degreesToRadians=g;function y(N,O,A){if(O===void 0&&(O="kilometers"),A===void 0&&(A="kilometers"),!(N>=0))throw new Error("length must be a positive number");return I(T(N,O),A)}n.convertLength=y;function E(N,O,A){if(O===void 0&&(O="meters"),A===void 0&&(A="kilometers"),!(N>=0))throw new Error("area must be a positive number");var F=n.areaFactors[O];if(!F)throw new Error("invalid original units");var B=n.areaFactors[A];if(!B)throw new Error("invalid final units");return N/F*B}n.convertArea=E;function C(N){return!isNaN(N)&&N!==null&&!Array.isArray(N)}n.isNumber=C;function b(N){return!!N&&N.constructor===Object}n.isObject=b;function D(N){if(!N)throw new Error("bbox is required");if(!Array.isArray(N))throw new Error("bbox must be an Array");if(N.length!==4&&N.length!==6)throw new Error("bbox must be an Array of 4 or 6 numbers");N.forEach(function(O){if(!C(O))throw new Error("bbox must only contain numbers")})}n.validateBBox=D;function x(N){if(!N)throw new Error("id is required");if(["string","number"].indexOf(typeof N)===-1)throw new Error("id must be a number or a string")}n.validateId=x}(xc)),xc}var gt={},af;function lf(){if(af)return gt;af=1,Object.defineProperty(gt,"__esModule",{value:!0});var n=of();function e(m,_,g){if(m!==null)for(var y,E,C,b,D,x,N,O=0,A=0,F,B=m.type,X=B==="FeatureCollection",ne=B==="Feature",ue=X?m.features.length:1,pe=0;pe<ue;pe++){N=X?m.features[pe].geometry:ne?m.geometry:m,F=N?N.type==="GeometryCollection":!1,D=F?N.geometries.length:1;for(var K=0;K<D;K++){var $=0,ee=0;if(b=F?N.geometries[K]:N,b!==null){x=b.coordinates;var ve=b.type;switch(O=g&&(ve==="Polygon"||ve==="MultiPolygon")?1:0,ve){case null:break;case"Point":if(_(x,A,pe,$,ee)===!1)return!1;A++,$++;break;case"LineString":case"MultiPoint":for(y=0;y<x.length;y++){if(_(x[y],A,pe,$,ee)===!1)return!1;A++,ve==="MultiPoint"&&$++}ve==="LineString"&&$++;break;case"Polygon":case"MultiLineString":for(y=0;y<x.length;y++){for(E=0;E<x[y].length-O;E++){if(_(x[y][E],A,pe,$,ee)===!1)return!1;A++}ve==="MultiLineString"&&$++,ve==="Polygon"&&ee++}ve==="Polygon"&&$++;break;case"MultiPolygon":for(y=0;y<x.length;y++){for(ee=0,E=0;E<x[y].length;E++){for(C=0;C<x[y][E].length-O;C++){if(_(x[y][E][C],A,pe,$,ee)===!1)return!1;A++}ee++}$++}break;case"GeometryCollection":for(y=0;y<b.geometries.length;y++)if(e(b.geometries[y],_,g)===!1)return!1;break;default:throw new Error("Unknown Geometry Type")}}}}}function t(m,_,g,y){var E=g;return e(m,function(C,b,D,x,N){b===0&&g===void 0?E=C:E=_(E,C,b,D,x,N)},y),E}function r(m,_){var g;switch(m.type){case"FeatureCollection":for(g=0;g<m.features.length&&_(m.features[g].properties,g)!==!1;g++);break;case"Feature":_(m.properties,0);break}}function i(m,_,g){var y=g;return r(m,function(E,C){C===0&&g===void 0?y=E:y=_(y,E,C)}),y}function s(m,_){if(m.type==="Feature")_(m,0);else if(m.type==="FeatureCollection")for(var g=0;g<m.features.length&&_(m.features[g],g)!==!1;g++);}function o(m,_,g){var y=g;return s(m,function(E,C){C===0&&g===void 0?y=E:y=_(y,E,C)}),y}function a(m){var _=[];return e(m,function(g){_.push(g)}),_}function l(m,_){var g,y,E,C,b,D,x,N,O,A,F=0,B=m.type==="FeatureCollection",X=m.type==="Feature",ne=B?m.features.length:1;for(g=0;g<ne;g++){for(D=B?m.features[g].geometry:X?m.geometry:m,N=B?m.features[g].properties:X?m.properties:{},O=B?m.features[g].bbox:X?m.bbox:void 0,A=B?m.features[g].id:X?m.id:void 0,x=D?D.type==="GeometryCollection":!1,b=x?D.geometries.length:1,E=0;E<b;E++){if(C=x?D.geometries[E]:D,C===null){if(_(null,F,N,O,A)===!1)return!1;continue}switch(C.type){case"Point":case"LineString":case"MultiPoint":case"Polygon":case"MultiLineString":case"MultiPolygon":{if(_(C,F,N,O,A)===!1)return!1;break}case"GeometryCollection":{for(y=0;y<C.geometries.length;y++)if(_(C.geometries[y],F,N,O,A)===!1)return!1;break}default:throw new Error("Unknown Geometry Type")}}F++}}function u(m,_,g){var y=g;return l(m,function(E,C,b,D,x){C===0&&g===void 0?y=E:y=_(y,E,C,b,D,x)}),y}function h(m,_){l(m,function(g,y,E,C,b){var D=g===null?null:g.type;switch(D){case null:case"Point":case"LineString":case"Polygon":return _(n.feature(g,E,{bbox:C,id:b}),y,0)===!1?!1:void 0}var x;switch(D){case"MultiPoint":x="Point";break;case"MultiLineString":x="LineString";break;case"MultiPolygon":x="Polygon";break}for(var N=0;N<g.coordinates.length;N++){var O=g.coordinates[N],A={type:x,coordinates:O};if(_(n.feature(A,E),y,N)===!1)return!1}})}function f(m,_,g){var y=g;return h(m,function(E,C,b){C===0&&b===0&&g===void 0?y=E:y=_(y,E,C,b)}),y}function d(m,_){h(m,function(g,y,E){var C=0;if(g.geometry){var b=g.geometry.type;if(!(b==="Point"||b==="MultiPoint")){var D,x=0,N=0,O=0;if(e(g,function(A,F,B,X,ne){if(D===void 0||y>x||X>N||ne>O){D=A,x=y,N=X,O=ne,C=0;return}var ue=n.lineString([D,A],g.properties);if(_(ue,y,E,ne,C)===!1)return!1;C++,D=A})===!1)return!1}}})}function v(m,_,g){var y=g,E=!1;return d(m,function(C,b,D,x,N){E===!1&&g===void 0?y=C:y=_(y,C,b,D,x,N),E=!0}),y}function w(m,_){if(!m)throw new Error("geojson is required");h(m,function(g,y,E){if(g.geometry!==null){var C=g.geometry.type,b=g.geometry.coordinates;switch(C){case"LineString":if(_(g,y,E,0,0)===!1)return!1;break;case"Polygon":for(var D=0;D<b.length;D++)if(_(n.lineString(b[D],g.properties),y,E,D)===!1)return!1;break}}})}function I(m,_,g){var y=g;return w(m,function(E,C,b,D){C===0&&g===void 0?y=E:y=_(y,E,C,b,D)}),y}function T(m,_){if(_=_||{},!n.isObject(_))throw new Error("options is invalid");var g=_.featureIndex||0,y=_.multiFeatureIndex||0,E=_.geometryIndex||0,C=_.segmentIndex||0,b=_.properties,D;switch(m.type){case"FeatureCollection":g<0&&(g=m.features.length+g),b=b||m.features[g].properties,D=m.features[g].geometry;break;case"Feature":b=b||m.properties,D=m.geometry;break;case"Point":case"MultiPoint":return null;case"LineString":case"Polygon":case"MultiLineString":case"MultiPolygon":D=m;break;default:throw new Error("geojson is invalid")}if(D===null)return null;var x=D.coordinates;switch(D.type){case"Point":case"MultiPoint":return null;case"LineString":return C<0&&(C=x.length+C-1),n.lineString([x[C],x[C+1]],b,_);case"Polygon":return E<0&&(E=x.length+E),C<0&&(C=x[E].length+C-1),n.lineString([x[E][C],x[E][C+1]],b,_);case"MultiLineString":return y<0&&(y=x.length+y),C<0&&(C=x[y].length+C-1),n.lineString([x[y][C],x[y][C+1]],b,_);case"MultiPolygon":return y<0&&(y=x.length+y),E<0&&(E=x[y].length+E),C<0&&(C=x[y][E].length-C-1),n.lineString([x[y][E][C],x[y][E][C+1]],b,_)}throw new Error("geojson is invalid")}function L(m,_){if(_=_||{},!n.isObject(_))throw new Error("options is invalid");var g=_.featureIndex||0,y=_.multiFeatureIndex||0,E=_.geometryIndex||0,C=_.coordIndex||0,b=_.properties,D;switch(m.type){case"FeatureCollection":g<0&&(g=m.features.length+g),b=b||m.features[g].properties,D=m.features[g].geometry;break;case"Feature":b=b||m.properties,D=m.geometry;break;case"Point":case"MultiPoint":return null;case"LineString":case"Polygon":case"MultiLineString":case"MultiPolygon":D=m;break;default:throw new Error("geojson is invalid")}if(D===null)return null;var x=D.coordinates;switch(D.type){case"Point":return n.point(x,b,_);case"MultiPoint":return y<0&&(y=x.length+y),n.point(x[y],b,_);case"LineString":return C<0&&(C=x.length+C),n.point(x[C],b,_);case"Polygon":return E<0&&(E=x.length+E),C<0&&(C=x[E].length+C),n.point(x[E][C],b,_);case"MultiLineString":return y<0&&(y=x.length+y),C<0&&(C=x[y].length+C),n.point(x[y][C],b,_);case"MultiPolygon":return y<0&&(y=x.length+y),E<0&&(E=x[y].length+E),C<0&&(C=x[y][E].length-C),n.point(x[y][E][C],b,_)}throw new Error("geojson is invalid")}return gt.coordAll=a,gt.coordEach=e,gt.coordReduce=t,gt.featureEach=s,gt.featureReduce=o,gt.findPoint=L,gt.findSegment=T,gt.flattenEach=h,gt.flattenReduce=f,gt.geomEach=l,gt.geomReduce=u,gt.lineEach=w,gt.lineReduce=I,gt.propEach=r,gt.propReduce=i,gt.segmentEach=d,gt.segmentReduce=v,gt}var Du={},uf;function nm(){if(uf)return Du;uf=1,Object.defineProperty(Du,"__esModule",{value:!0});var n=lf();function e(t){var r=[1/0,1/0,-1/0,-1/0];return n.coordEach(t,function(i){r[0]>i[0]&&(r[0]=i[0]),r[1]>i[1]&&(r[1]=i[1]),r[2]<i[0]&&(r[2]=i[0]),r[3]<i[1]&&(r[3]=i[1])}),r}return e.default=e,Du.default=e,Du}var cf;function im(){if(cf)return Nu.exports;cf=1;var n=Kh(),e=of(),t=lf(),r=nm().default,i=t.featureEach;t.coordEach,e.polygon;var s=e.featureCollection;function o(a){var l=new n(a);return l.insert=function(u){if(u.type!=="Feature")throw new Error("invalid feature");return u.bbox=u.bbox?u.bbox:r(u),n.prototype.insert.call(this,u)},l.load=function(u){var h=[];return Array.isArray(u)?u.forEach(function(f){if(f.type!=="Feature")throw new Error("invalid features");f.bbox=f.bbox?f.bbox:r(f),h.push(f)}):i(u,function(f){if(f.type!=="Feature")throw new Error("invalid features");f.bbox=f.bbox?f.bbox:r(f),h.push(f)}),n.prototype.load.call(this,h)},l.remove=function(u,h){if(u.type!=="Feature")throw new Error("invalid feature");return u.bbox=u.bbox?u.bbox:r(u),n.prototype.remove.call(this,u,h)},l.clear=function(){return n.prototype.clear.call(this)},l.search=function(u){var h=n.prototype.search.call(this,this.toBBox(u));return s(h)},l.collides=function(u){return n.prototype.collides.call(this,this.toBBox(u))},l.all=function(){var u=n.prototype.all.call(this);return s(u)},l.toJSON=function(){return n.prototype.toJSON.call(this)},l.fromJSON=function(u){return n.prototype.fromJSON.call(this,u)},l.toBBox=function(u){var h;if(u.bbox)h=u.bbox;else if(Array.isArray(u)&&u.length===4)h=u;else if(Array.isArray(u)&&u.length===6)h=[u[0],u[1],u[3],u[4]];else if(u.type==="Feature")h=r(u);else if(u.type==="FeatureCollection")h=r(u);else throw new Error("invalid geojson");return{minX:h[0],minY:h[1],maxX:h[2],maxY:h[3]}},l}return Nu.exports=o,Nu.exports.default=o,Nu.exports}var sm=im();const om=Jh(sm);function hf(n,e){var t={},r=[];if(n.type==="LineString"&&(n=Nn(n)),e.type==="LineString"&&(e=Nn(e)),n.type==="Feature"&&e.type==="Feature"&&n.geometry!==null&&e.geometry!==null&&n.geometry.type==="LineString"&&e.geometry.type==="LineString"&&n.geometry.coordinates.length===2&&e.geometry.coordinates.length===2){var i=ff(n,e);return i&&r.push(i),Ka(r)}var s=om();return s.load(nf(e)),Pu(nf(n),function(o){Pu(s.search(o),function(a){var l=ff(o,a);if(l){var u=qs(l).join(",");t[u]||(t[u]=!0,r.push(l))}})}),Ka(r)}function ff(n,e){var t=qs(n),r=qs(e);if(t.length!==2)throw new Error("<intersects> line1 must only contain 2 coordinates");if(r.length!==2)throw new Error("<intersects> line2 must only contain 2 coordinates");var i=t[0][0],s=t[0][1],o=t[1][0],a=t[1][1],l=r[0][0],u=r[0][1],h=r[1][0],f=r[1][1],d=(f-u)*(o-i)-(h-l)*(a-s),v=(h-l)*(s-u)-(f-u)*(i-l),w=(o-i)*(s-u)-(a-s)*(i-l);if(d===0)return null;var I=v/d,T=w/d;if(I>=0&&I<=1&&T>=0&&T<=1){var L=i+I*(o-i),m=s+I*(a-s);return Ge([L,m])}return null}function am(n,e){return hf(Dn(n),Dn(e))}function lm(n,e){var t=Oi(n,e),r=Rl(n,e),i=Qa(n,t/2,r);return i}function um(n,e){const t=Ge(n),r=Ge(e),i=lm(t,r),s=(n[2]+e[2])/2;return[...i.geometry.coordinates,s]}function cm(n,e,t){t===void 0&&(t={});var r=Ge([1/0,1/0],{dist:1/0}),i=0;return Ic(n,function(s){for(var o=qs(s),a=0;a<o.length-1;a++){var l=Ge(o[a]);l.properties.dist=Oi(e,l,t);var u=Ge(o[a+1]);u.properties.dist=Oi(e,u,t);var h=Oi(l,u,t),f=Math.max(l.properties.dist,u.properties.dist),d=Rl(l,u),v=Qa(e,f,d+90,t),w=Qa(e,f,d-90,t),I=hf(Dn([v.geometry.coordinates,w.geometry.coordinates]),Dn([l.geometry.coordinates,u.geometry.coordinates])),T=null;I.features.length>0&&(T=I.features[0],T.properties.dist=Oi(e,T,t),T.properties.location=i+Oi(l,T,t)),l.properties.dist<r.properties.dist&&(r=l,r.properties.index=a,r.properties.location=i),u.properties.dist<r.properties.dist&&(r=u,r.properties.index=a+1,r.properties.location=i+h),T&&T.properties.dist<r.properties.dist&&(r=T,r.properties.index=a),i+=h}}),r}function hm(n,e){const t=Ge(e),r=Dn(n);return cm(r,t,{units:"meters"})}function pf(n,e,t){t===void 0&&(t={});var r=lr(n),i=lr(e);i[0]+=i[0]-r[0]>180?-360:r[0]-i[0]>180?360:0;var s=fm(r,i),o=Pc(s,"meters",t.units);return o}function fm(n,e,t){t=t===void 0?Ut:Number(t);var r=t,i=n[1]*Math.PI/180,s=e[1]*Math.PI/180,o=s-i,a=Math.abs(e[0]-n[0])*Math.PI/180;a>Math.PI&&(a-=2*Math.PI);var l=Math.log(Math.tan(s/2+Math.PI/4)/Math.tan(i/2+Math.PI/4)),u=Math.abs(l)>1e-11?o/l:Math.cos(i),h=Math.sqrt(o*o+u*u*a*a),f=h*r;return f}function pm(n,e,t){if(t===void 0&&(t={}),t.method||(t.method="geodesic"),t.units||(t.units="kilometers"),!n)throw new Error("pt is required");if(Array.isArray(n)?n=Ge(n):n.type==="Point"?n=Nn(n):qh(n,"Point","point"),!e)throw new Error("line is required");Array.isArray(e)?e=Dn(e):e.type==="LineString"?e=Nn(e):qh(e,"LineString","line");var r=1/0,i=n.geometry.coordinates;return Rg(e,function(s){var o=s.geometry.coordinates[0],a=s.geometry.coordinates[1],l=dm(i,o,a,t);l<r&&(r=l)}),Pc(r,"degrees",t.units)}function dm(n,e,t,r){var i=[t[0]-e[0],t[1]-e[1]],s=[n[0]-e[0],n[1]-e[1]],o=df(s,i);if(o<=0)return Lc(n,e,{method:r.method,units:"degrees"});var a=df(i,i);if(a<=o)return Lc(n,t,{method:r.method,units:"degrees"});var l=o/a,u=[e[0]+l*i[0],e[1]+l*i[1]];return Lc(n,u,{method:r.method,units:"degrees"})}function df(n,e){return n[0]*e[0]+n[1]*e[1]}function Lc(n,e,t){return t.method==="planar"?pf(n,e,t):Oi(n,e,t)}function gm(n,e){const t=Ge(n),r=Dn(e);return pm(t,r,{units:"meters"})}function mm(n,e,t,r){r===void 0&&(r={});var i=e<0,s=Pc(Math.abs(e),r.units,"meters");i&&(s=-Math.abs(s));var o=lr(n),a=vm(o,s,t);return a[0]+=a[0]-o[0]>180?-360:o[0]-a[0]>180?360:0,Ge(a,r.properties)}function vm(n,e,t,r){r=r===void 0?Ut:Number(r);var i=e/r,s=n[0]*Math.PI/180,o=$t(n[1]),a=$t(t),l=i*Math.cos(a),u=o+l;Math.abs(u)>Math.PI/2&&(u=u>0?Math.PI-u:-Math.PI-u);var h=Math.log(Math.tan(u/2+Math.PI/4)/Math.tan(o/2+Math.PI/4)),f=Math.abs(h)>1e-11?l/h:Math.cos(o),d=i*Math.sin(a)/f,v=s+d;return[(v*180/Math.PI+540)%360-180,u*180/Math.PI]}function ym(n,e,t,r){const[i,s,o]=n,a=mm(Ge([i,s]),e,t,{units:"meters"});if(!(!a||!a.geometry||!a.geometry.coordinates))return r=r||[0,0,0],r[0]=a.geometry.coordinates[0],r[1]=a.geometry.coordinates[1],r[2]=o,r}function gf(n,e){return pf(Ge(n),Ge(e),{units:"meters"})}function _m(n,e,t){t===void 0&&(t={});var r;t.final?r=mf(lr(e),lr(n)):r=mf(lr(n),lr(e));var i=r>180?-(360-r):r;return i}function mf(n,e){var t=$t(n[1]),r=$t(e[1]),i=$t(e[0]-n[0]);i>Math.PI&&(i-=2*Math.PI),i<-Math.PI&&(i+=2*Math.PI);var s=Math.log(Math.tan(r/2+Math.PI/4)/Math.tan(t/2+Math.PI/4)),o=Math.atan2(i,s);return(Cu(o)+360)%360}function wm(n,e){return _m(Ge(n),Ge(e))}/**
3
+ `).join(" ")}`)):this._sceneObjRefs.set(s,[i]);const u=this.getLastSceneObject(s);this._refs[s]=u,this._refsChanged.emit(u,a)}};this.d(t.sceneObjCreatedEvent.don(i=>{const s=(o,a)=>r(i,o,a);i.ref&&s(i.ref,void 0),i.refChanged.don(s)})),this.d(t.sceneObjToDestroyEvent.don(i=>{i.ref&&r(i,void 0,i.ref)}))}get sceneObjRefs(){return this._sceneObjRefs}get refs(){return this._refs}get refsChanged(){return this._refsChanged}getLastSceneObject(t){const r=this.getSceneObjects(t);if(r)return r[r.length-1]}getSceneObjects(t){const r=this._sceneObjRefs.get(t);if(!(!r||r.length===0))return r}}function Vh(n,e){const[t,r,i]=c.getReactFuncs(n),s=c.react(void 0),o=()=>{const a=t()??e;s.value=a&&j.context.getStrFromEnv(a)};return o(),i&&s.d(i.don(o)),s.d(j.context.environmentVariablesChanged.don(o)),s}function Tg(n){do{const e=n.replace(/\${(.*?)\}/,(t,r)=>{const i=j.context.getEnv(r);return i===void 0?(console.warn(`环境变量(${r})不存在,无法进行转换`),"{env-error}"):i});if(e===n)break;n=e}while(!0);return n}class bg extends c.Destroyable{constructor(){super();d(this,"_esObjConstructors",new Map);d(this,"_sceneObjs",new Map);d(this,"_sceneObjCreatedEvent",new c.Event);d(this,"_sceneObjToDestroyEvent",new c.Event);d(this,"_refsManager",this.dv(new Ig(this)));d(this,"_environmentVariables",window.ESSDK_ENV||{});d(this,"_environmentVariablesChanged",this.dv(new c.Event))}get typeNames(){return this._esObjConstructors.keys()}get sceneObjs(){return this._sceneObjs.values()}get sceneObjCreatedEvent(){return this._sceneObjCreatedEvent}get sceneObjToDestroyEvent(){return this._sceneObjToDestroyEvent}get refsManager(){return this._refsManager}get $refs(){return this._refsManager.refs}register(t,r,i){return this._esObjConstructors.has(t)&&console.warn(`register warn: ${t} has registered ! will be override!`),this._esObjConstructors.set(t,r),i&&c.setExtProp(r,"__sceneObjExtraInfo",i),t}_addSceneObject(t){this._sceneObjs.set(t.id,t),this._sceneObjCreatedEvent.emit(t),t.d(()=>this._deleteSceneObject(t))}_deleteSceneObject(t){this._sceneObjToDestroyEvent.emit(t),this._sceneObjs.delete(t.id)}createSceneObjectFromClass(t,r){if(!r||this._sceneObjs.has(r)){const s=c.createGuid();r&&console.warn(`已存在相同id的对象!id自动变更!${r} -> ${s} 请注意:id变更可能导致引用失效!`),r=s}if(!r)throw new Error("id不能为空!");const i=new t(r);return i.id!==r&&(console.warn(`sceneObj.id(${i.id}) !== id(${r}) sceneObjectType: ${i.typeName}`),console.warn("出现这种问题有可能是自定义的场景对象,没有在构造函数中传递id参数!示例如下:"),console.warn("class XXX extends XXX { constructor(id) { super(id); } }")),this._addSceneObject(i),i}createSceneObject(t,r){if(typeof t=="string"){const i=this._getSceneObjConstructor(t);if(!i){console.warn(`Cannot find SceneObjectType: ${t}`);return}return this.createSceneObjectFromClass(i,r)}else return this.createSceneObjectFromClass(t,r)}createSceneObjectFromJson(t){const r=this.createSceneObject(t.type,t.id);return r&&(r.json=t),r}destroySceneObject(t){return this._deleteSceneObject(t),t.destroy(),t.isDestroyed()}getSceneObjectById(t){return this._sceneObjs.get(t.split("_")[0])}getSceneObject(t){if(!t)return Array.from(this._sceneObjs.values());if(t.startsWith("ES")){const r=[];for(const i of this._sceneObjs.values())i.typeName===t&&r.push(i);return r}else return this._sceneObjs.get(t.split("_")[0])}_getSceneObjConstructor(t){const r=this._esObjConstructors.get(t);if(r)return r}getProps(t){const r=this._getSceneObjConstructor(t);if(!r){console.warn(`cannot get constructor from type: ${t}`);return}return c.getExtProp(r,"__sceneObjExtraInfo")}setProps(t,r){const i=this._getSceneObjConstructor(t);if(!i){console.warn(`cannot get constructor from type: ${t}`);return}let s=c.getExtProp(i,"__sceneObjExtraInfo");s||(s={},c.setExtProp(i,"__sceneObjExtraInfo",s)),Object.assign(s,r)}getProp(t,r){const i=this.getProps(t);return i&&i[r]}setProp(t,r,i){this.setProps(t,{[r]:i})}get environmentVariables(){return this._environmentVariables}set environmentVariables(t){for(let[r,i]of Object.entries(t))this.setEnv(r,i)}get environmentVariablesChanged(){return this._environmentVariablesChanged}setEnv(t,r){if(this._environmentVariables[t]!==r){const i=this._environmentVariables[t];this._environmentVariables[t]=r,this._environmentVariablesChanged.emit(t,r,i)}window.ESSDK_ENV={...this._environmentVariables}}getEnv(t){return this._environmentVariables[t]}getStrFromEnv(t){return Tg(t)}createEnvStrReact(t,r){return Vh(t,r)}createEvnStrReact(t,r){return Vh(t,r)}}const me=class me extends c.Destroyable{constructor(t){super();d(this,"_components",this.dv(new c.ObservableSet));d(this,"_viewerAttached",this.dv(new c.Event));d(this,"_viewerDetached",this.dv(new c.Event));d(this,"_attachedViewers",(()=>{const t=new Set;return this.d(this._viewerAttached.don(r=>{t.add(r)})),this.d(this._viewerDetached.don(r=>{t.delete(r)})),t})());d(this,"_createdEvent",this.dv(new c.Event));d(this,"_flushEvent",this.dv(new c.Event));d(this,"_id");d(this,"viewer");d(this,"viewerChanged",this.ad(new c.Event));d(this,"combinationClass",!1);d(this,"mainClass");d(this,"_updateFuncReact",this.dv(c.react(void 0)));d(this,"_toDestroyFuncReact",this.dv(c.react(void 0)));t!==void 0&&(typeof t!="string"?console.warn(`对象id必须是字符串类型,当前id的类型是${typeof t},值为${t}`):t.trim()===""?console.warn("场景对象创建时的id不能是空字符串!"):t.trim()!==t&&console.warn(`id前后有空字符串!id: ${t}`)),this._id=t??c.createGuid(),this._initName();{const r=()=>{if(this.execOnceFuncStr)try{Function(`"use strict";return (${this.execOnceFuncStr})`)()(this)}catch(i){console.warn(`execOnceFuncStr不能转成函数!或者函数执行时错误!id: ${this.id} ${this.typeName} error: ${i}`)}};r(),this.d(this.execOnceFuncStrChanged.don(r))}{const r=()=>{if(this.updateFuncStr)try{this.updateFunc=Function(`"use strict";return (${this.updateFuncStr})`)()}catch(s){console.warn(`updateFuncStr不能转成函数!或者函数执行时错误!id: ${this.id} ${this.typeName} error: ${s}`)}};r(),this.d(this.updateFuncStrChanged.don(r));let i;this.d(()=>i&&i.destroy()),this.d(this.updateFuncChanged.don(()=>{i&&i.cancel(),this.updateFunc&&(i=i||c.createAnimateFrame(),i.restart(void 0,s=>{this.updateFunc&&this.updateFunc(this,s)}))}))}{const r=()=>{try{this.toDestroyFunc=this.toDestroyFuncStr&&Function(`"use strict";return (${this.toDestroyFuncStr})`)()||void 0}catch(i){console.warn(`toDestroyFuncStr不能转成函数!或者函数执行时错误!id: ${this.id} ${this.typeName} error: ${i}`),this.toDestroyFunc=void 0}};r(),this.d(this.toDestroyFuncStrChanged.don(r)),this.d(this.toDestroyEvent.don(()=>{this.toDestroyFunc&&this.toDestroyFunc(this)}))}}static get envs(){return me.context.environmentVariables}static get $refs(){return me.context.refsManager.refs}get components(){return this._components}get viewerAttached(){return this._viewerAttached}get viewerDetached(){return this._viewerDetached}get attachedViewers(){return this._attachedViewers}removefromViewer(t){this.attachedViewers.has(t)&&t.delete(this)}addToViewer(t){this.attachedViewers.has(t)||t.add(this)}registerAttachedObject(t){const r=new Map;this.d(()=>{r.size>0&&console.warn("viewerPropSceneObjects.size > 0")}),this.d(this._viewerAttached.don(i=>{const s=t(i);s&&r.set(i,s)})),this.d(this._viewerDetached.don(i=>{if(!r.has(i))return;const s=r.get(i);s&&(s.destroy(),r.delete(i))}))}createAttachedObject(t){const r=new Map,i=()=>{for(let[l,u]of r.entries())u.destroy();r.clear()},s=l=>{const u=t(l);u&&r.set(l,u)};for(let l of this.attachedViewers)s(l);const o=this._viewerAttached.don(s),a=this._viewerDetached.don(l=>{if(!r.has(l))return;const u=r.get(l);u&&(u.destroy(),r.delete(l))});return()=>{a(),o(),i()}}registerAttachedObjectForContainer(t){this.registerAttachedObject(r=>new Ng(r,t))}get createdEvent(){return this._createdEvent}get flushEvent(){return this._flushEvent}flush(){this.flushEvent.emit()}get id(){return this._id}_initName(){this.name=`${this.typeName}_${(""+this.id).slice(-4)}`}get defaultProps(){return me.createDefaultProps()}getMainClass(){return this.mainClass??this}_innerGetJson(t=!0){const r={id:this.id,type:this.typeName};for(let i of Object.keys(this.defaultProps))if(t){let s,o=this.defaultProps[i];o instanceof c.ReactiveVariable?s=o.equals(this[i]):s=o===this[i],s||(r[i]=this[i])}else r[i]=this[i];return r}_innerSetJson(t,r,i){if(!(t instanceof Object)||t.type&&t.type!==this.typeName){console.error(`value.type && value.type${t.type} !== this.typeName${this.typeName}`);return}t.id&&t.id!==this.id&&console.warn(`value.id === undefined || value.id${t.id} !== this.id(${this.id})`);const s=r||[];s.push("id","type");const o=Object.keys(this.defaultProps).filter(a=>!s.includes(a));for(let a of o)if(a in t)this[a]=t[a]===null?void 0:t[a];else if(!(i??!1)){let l=this.defaultProps[a];l instanceof c.ReactiveVariable&&(l=l.value),this[a]=l}}get json(){return this._innerGetJson()}set json(t){this._innerSetJson(t)}get _jsonStr(){return JSON.stringify(this.json,null,4)}set _jsonStr(t){this._innerSetJson(JSON.parse(t))}get updateFunc(){return this._updateFuncReact.value}set updateFunc(t){this._updateFuncReact.value=t}get updateFuncChanged(){return this._updateFuncReact.changed}get toDestroyFunc(){return this._toDestroyFuncReact.value}set toDestroyFunc(t){this._toDestroyFuncReact.value=t}get toDestroyFuncChanged(){return this._toDestroyFuncReact.changed}getProperties(t){return[new z("ESSceneObject","ESSceneObject",[new J("对象类型","类型(type)",!1,!0,[this,"typeName"]),new J("对象id","唯一标识符(id)",!1,!0,[this,"id"]),new J("对象名称","名称(name)",!1,!1,[this,"name"]),new J("ref","标识(ref),可通过 ESSceneObject.$refs.xxx快速获取到对象",!0,!1,[this,"ref"]),new G("extras","扩展属性,必须整体赋值(extras)",!0,!1,[this,"extras"]),new Ah("JSON","对象JSON数据动态更改导入导出。",!1,!1,()=>this._jsonStr,r=>r&&(this._jsonStr=r))])]}getESProperties(){return{defaultMenu:"basic",basic:[],general:[],dataSource:[],location:[],coordinate:[],style:[]}}};d(me,"context",new bg),d(me,"register",me.context.register.bind(me.context)),d(me,"create",me.context.createSceneObject.bind(me.context)),d(me,"createFromClass",me.context.createSceneObjectFromClass.bind(me.context)),d(me,"createFromJson",me.context.createSceneObjectFromJson.bind(me.context)),d(me,"destroySceneObject",me.context.destroySceneObject.bind(me.context)),d(me,"getSceneObjById",me.context.getSceneObjectById.bind(me.context)),d(me,"getSceneObj",me.context.getSceneObject.bind(me.context)),d(me,"getEnv",me.context.getEnv.bind(me.context)),d(me,"setEnv",me.context.setEnv.bind(me.context)),d(me,"getStrFromEnv",me.context.getStrFromEnv.bind(me.context)),d(me,"getSceneObjectById",me.context.getSceneObjectById.bind(me.context)),d(me,"getSceneObject",me.context.getSceneObject.bind(me.context)),d(me,"defaults",{});let j=me;(n=>{n.createDefaultProps=()=>({name:"未命名场景对象",ref:void 0,extras:c.reactJson(void 0),devTags:c.reactArrayWithUndefined(void 0),execOnceFuncStr:void 0,updateFuncStr:void 0,toDestroyFuncStr:void 0})})(j||(j={})),c.extendClassProps(j.prototype,j.createDefaultProps);class Ng extends c.Destroyable{constructor(e,t){super(),this.dv(new c.ObjResettingWithEvent(e.subContainerChanged,()=>{if(e.subContainer)return t(e,e.subContainer)}))}}function zh(n){return c.reactDeepArrayWithUndefined(n,(e,t)=>e[0]===t[0]&&e[1]===t[1],e=>[...e])}function Uh(n,e){const t=new Array;for(let r of n)t.push(e(r));return t}function wc(n,e){return n===void 0&&e===void 0?!0:!n||!e?!1:n[0]===e[0]&&n[1]===e[1]&&n[2]===e[2]}function Dg(n,e){(n[0][0]!==n[n.length-1][0]||n[0][1]!==n[n.length-1][1])&&n.push(n[0]);const t=mc.point(e),r=mc.polygon([n]);return mc.booleanPointInPolygon(t,r)}var Ut=63710088e-1,Gh={centimeters:Ut*100,centimetres:Ut*100,degrees:Ut/111325,feet:Ut*3.28084,inches:Ut*39.37,kilometers:Ut/1e3,kilometres:Ut/1e3,meters:Ut,metres:Ut,miles:Ut/1609.344,millimeters:Ut*1e3,millimetres:Ut*1e3,nauticalmiles:Ut/1852,radians:1,yards:Ut*1.0936};function Nn(n,e,t){t===void 0&&(t={});var r={type:"Feature"};return(t.id===0||t.id)&&(r.id=t.id),t.bbox&&(r.bbox=t.bbox),r.properties=e||{},r.geometry=n,r}function Xe(n,e,t){if(t===void 0&&(t={}),!n)throw new Error("coordinates is required");if(!Array.isArray(n))throw new Error("coordinates must be an Array");if(n.length<2)throw new Error("coordinates must be at least 2 numbers long");if(!Wh(n[0])||!Wh(n[1]))throw new Error("coordinates must contain numbers");var r={type:"Point",coordinates:n};return Nn(r,e,t)}function ar(n,e,t){t===void 0&&(t={});for(var r=0,i=n;r<i.length;r++){var s=i[r];if(s.length<4)throw new Error("Each LinearRing of a Polygon must have 4 or more Positions.");for(var o=0;o<s[s.length-1].length;o++)if(s[s.length-1][o]!==s[0][o])throw new Error("First and last Position are not equivalent.")}var a={type:"Polygon",coordinates:n};return Nn(a,e,t)}function Dn(n,e,t){if(t===void 0&&(t={}),n.length<2)throw new Error("coordinates must be an array of two or more positions");var r={type:"LineString",coordinates:n};return Nn(r,e,t)}function Ka(n,e){e===void 0&&(e={});var t={type:"FeatureCollection"};return e.id&&(t.id=e.id),e.bbox&&(t.bbox=e.bbox),t.features=n,t}function Ec(n,e,t){t===void 0&&(t={});var r={type:"MultiPolygon",coordinates:n};return Nn(r,e,t)}function Sc(n,e){e===void 0&&(e="kilometers");var t=Gh[e];if(!t)throw new Error(e+" units is invalid");return n*t}function Cc(n,e){e===void 0&&(e="kilometers");var t=Gh[e];if(!t)throw new Error(e+" units is invalid");return n/t}function Su(n){var e=n%(2*Math.PI);return e*180/Math.PI}function $t(n){var e=n%360;return e*Math.PI/180}function Pc(n,e,t){if(e===void 0&&(e="kilometers"),t===void 0&&(t="kilometers"),!(n>=0))throw new Error("length must be a positive number");return Sc(Cc(n,e),t)}function Wh(n){return!isNaN(n)&&n!==null&&!Array.isArray(n)}function lr(n){if(!n)throw new Error("coord is required");if(!Array.isArray(n)){if(n.type==="Feature"&&n.geometry!==null&&n.geometry.type==="Point")return n.geometry.coordinates;if(n.type==="Point")return n.coordinates}if(Array.isArray(n)&&n.length>=2&&!Array.isArray(n[0])&&!Array.isArray(n[1]))return n;throw new Error("coord must be GeoJSON Point or an Array of numbers")}function qs(n){if(Array.isArray(n))return n;if(n.type==="Feature"){if(n.geometry!==null)return n.geometry.coordinates}else if(n.coordinates)return n.coordinates;throw new Error("coords must be GeoJSON Feature, Geometry Object or an Array")}function qh(n,e,t){if(!n)throw new Error("No feature passed");if(!t)throw new Error(".featureOf() requires a name");if(!n||n.type!=="Feature"||!n.geometry)throw new Error("Invalid input to "+t+", Feature with geometry required");if(!n.geometry||n.geometry.type!==e)throw new Error("Invalid input to "+t+": must be a "+e+", given "+n.geometry.type)}function Wr(n){return n.type==="Feature"?n.geometry:n}function Og(n,e){return n.type==="FeatureCollection"?"FeatureCollection":n.type==="GeometryCollection"?"GeometryCollection":n.type==="Feature"&&n.geometry!==null?n.geometry.type:n.type}function Rl(n,e,t){if(t===void 0&&(t={}),t.final===!0)return Mg(n,e);var r=lr(n),i=lr(e),s=$t(r[0]),o=$t(i[0]),a=$t(r[1]),l=$t(i[1]),u=Math.sin(o-s)*Math.cos(l),h=Math.cos(a)*Math.sin(l)-Math.sin(a)*Math.cos(l)*Math.cos(o-s);return Su(Math.atan2(u,h))}function Mg(n,e){var t=Rl(e,n);return t=(t+180)%360,t}function Qa(n,e,t,r){r===void 0&&(r={});var i=lr(n),s=$t(i[0]),o=$t(i[1]),a=$t(t),l=Cc(e,r.units),u=Math.asin(Math.sin(o)*Math.cos(l)+Math.cos(o)*Math.sin(l)*Math.cos(a)),h=s+Math.atan2(Math.sin(a)*Math.sin(l)*Math.cos(o),Math.cos(l)-Math.sin(o)*Math.sin(u)),f=Su(h),p=Su(u);return Xe([f,p],r.properties)}function Oi(n,e,t){t===void 0&&(t={});var r=lr(n),i=lr(e),s=$t(i[1]-r[1]),o=$t(i[0]-r[0]),a=$t(r[1]),l=$t(i[1]),u=Math.pow(Math.sin(s/2),2)+Math.pow(Math.sin(o/2),2)*Math.cos(a)*Math.cos(l);return Sc(2*Math.atan2(Math.sqrt(u),Math.sqrt(1-u)),t.units)}function xg(n,e,t){t===void 0&&(t={});for(var r=Wr(n),i=r.coordinates,s=0,o=0;o<i.length&&!(e>=s&&o===i.length-1);o++)if(s>=e){var a=e-s;if(a){var l=Rl(i[o],i[o-1])-180,u=Qa(i[o],a,l,t);return u}else return Xe(i[o])}else s+=Oi(i[o],i[o+1],t);return Xe(i[i.length-1])}function Lg(n,e){const t=Dn(n);return xg(t,e,{units:"meters"}).geometry.coordinates}function Ba(n,e,t){if(n!==null)for(var r,i,s,o,a,l,u,h=0,f=0,p,v=n.type,w=v==="FeatureCollection",I=v==="Feature",T=w?n.features.length:1,L=0;L<T;L++){u=w?n.features[L].geometry:I?n.geometry:n,p=u?u.type==="GeometryCollection":!1,a=p?u.geometries.length:1;for(var m=0;m<a;m++){var _=0,g=0;if(o=p?u.geometries[m]:u,o!==null){l=o.coordinates;var y=o.type;switch(h=t&&(y==="Polygon"||y==="MultiPolygon")?1:0,y){case null:break;case"Point":if(e(l,f,L,_,g)===!1)return!1;f++,_++;break;case"LineString":case"MultiPoint":for(r=0;r<l.length;r++){if(e(l[r],f,L,_,g)===!1)return!1;f++,y==="MultiPoint"&&_++}y==="LineString"&&_++;break;case"Polygon":case"MultiLineString":for(r=0;r<l.length;r++){for(i=0;i<l[r].length-h;i++){if(e(l[r][i],f,L,_,g)===!1)return!1;f++}y==="MultiLineString"&&_++,y==="Polygon"&&g++}y==="Polygon"&&_++;break;case"MultiPolygon":for(r=0;r<l.length;r++){for(g=0,i=0;i<l[r].length;i++){for(s=0;s<l[r][i].length-h;s++){if(e(l[r][i][s],f,L,_,g)===!1)return!1;f++}g++}_++}break;case"GeometryCollection":for(r=0;r<o.geometries.length;r++)if(Ba(o.geometries[r],e,t)===!1)return!1;break;default:throw new Error("Unknown Geometry Type")}}}}}function Cu(n,e){if(n.type==="Feature")e(n,0);else if(n.type==="FeatureCollection")for(var t=0;t<n.features.length&&e(n.features[t],t)!==!1;t++);}function Pu(n,e){var t,r,i,s,o,a,l,u,h,f,p=0,v=n.type==="FeatureCollection",w=n.type==="Feature",I=v?n.features.length:1;for(t=0;t<I;t++){for(a=v?n.features[t].geometry:w?n.geometry:n,u=v?n.features[t].properties:w?n.properties:{},h=v?n.features[t].bbox:w?n.bbox:void 0,f=v?n.features[t].id:w?n.id:void 0,l=a?a.type==="GeometryCollection":!1,o=l?a.geometries.length:1,i=0;i<o;i++){if(s=l?a.geometries[i]:a,s===null){if(e(null,p,u,h,f)===!1)return!1;continue}switch(s.type){case"Point":case"LineString":case"MultiPoint":case"Polygon":case"MultiLineString":case"MultiPolygon":{if(e(s,p,u,h,f)===!1)return!1;break}case"GeometryCollection":{for(r=0;r<s.geometries.length;r++)if(e(s.geometries[r],p,u,h,f)===!1)return!1;break}default:throw new Error("Unknown Geometry Type")}}p++}}function Ag(n,e,t){var r=t;return Pu(n,function(i,s,o,a,l){r=e(r,i,s,o,a,l)}),r}function Ic(n,e){Pu(n,function(t,r,i,s,o){var a=t===null?null:t.type;switch(a){case null:case"Point":case"LineString":case"Polygon":return e(Nn(t,i,{bbox:s,id:o}),r,0)===!1?!1:void 0}var l;switch(a){case"MultiPoint":l="Point";break;case"MultiLineString":l="LineString";break;case"MultiPolygon":l="Polygon";break}for(var u=0;u<t.coordinates.length;u++){var h=t.coordinates[u],f={type:l,coordinates:h};if(e(Nn(f,i),r,u)===!1)return!1}})}function Rg(n,e){Ic(n,function(t,r,i){var s=0;if(t.geometry){var o=t.geometry.type;if(!(o==="Point"||o==="MultiPoint")){var a,l=0,u=0,h=0;if(Ba(t,function(f,p,v,w,I){if(a===void 0||r>l||w>u||I>h){a=f,l=r,u=w,h=I,s=0;return}var T=Dn([a,f],t.properties);if(e(T,r,i,I,s)===!1)return!1;s++,a=f})===!1)return!1}}})}var Xh=6378137;function Fg(n){return Ag(n,function(e,t){return e+kg(t)},0)}function kg(n){var e=0,t;switch(n.type){case"Polygon":return Yh(n.coordinates);case"MultiPolygon":for(t=0;t<n.coordinates.length;t++)e+=Yh(n.coordinates[t]);return e;case"Point":case"MultiPoint":case"LineString":case"MultiLineString":return 0}return 0}function Yh(n){var e=0;if(n&&n.length>0){e+=Math.abs(Hh(n[0]));for(var t=1;t<n.length;t++)e-=Math.abs(Hh(n[t]))}return e}function Hh(n){var e,t,r,i,s,o,a,l=0,u=n.length;if(u>2){for(a=0;a<u;a++)a===u-2?(i=u-2,s=u-1,o=0):a===u-1?(i=u-1,s=0,o=1):(i=a,s=a+1,o=a+2),e=n[i],t=n[s],r=n[o],l+=(Tc(r[0])-Tc(e[0]))*Math.sin(Tc(t[1]));l=l*Xh*Xh/2}return l}function Tc(n){return n*Math.PI/180}function bc(n){if((n[0][0]!==n[n.length-1][0]||n[0][1]!==n[n.length-1][1]||n[0][2]!==n[n.length-1][2])&&n.push(n[0]),n.length<=3)return 0;const e=ar([n]);return Fg(e)}function Jh(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}function Vg(n){if(Object.prototype.hasOwnProperty.call(n,"__esModule"))return n;var e=n.default;if(typeof e=="function"){var t=function r(){return this instanceof r?Reflect.construct(e,arguments,this.constructor):e.apply(this,arguments)};t.prototype=e.prototype}else t={};return Object.defineProperty(t,"__esModule",{value:!0}),Object.keys(n).forEach(function(r){var i=Object.getOwnPropertyDescriptor(n,r);Object.defineProperty(t,r,i.get?i:{enumerable:!0,get:function(){return n[r]}})}),t}var Iu={exports:{}},Tu={exports:{}},zg=Tu.exports,Zh;function Kh(){return Zh||(Zh=1,function(n,e){(function(t,r){n.exports=r()})(zg,function(){function t(m,_,g,y,E){(function C(b,D,x,N,O){for(;N>x;){if(N-x>600){var A=N-x+1,F=D-x+1,B=Math.log(A),X=.5*Math.exp(2*B/3),ne=.5*Math.sqrt(B*X*(A-X)/A)*(F-A/2<0?-1:1),ue=Math.max(x,Math.floor(D-F*X/A+ne)),de=Math.min(N,Math.floor(D+(A-F)*X/A+ne));C(b,D,ue,de,O)}var K=b[D],$=x,ee=N;for(r(b,x,D),O(b[N],K)>0&&r(b,x,N);$<ee;){for(r(b,$,ee),$++,ee--;O(b[$],K)<0;)$++;for(;O(b[ee],K)>0;)ee--}O(b[x],K)===0?r(b,x,ee):r(b,++ee,N),ee<=D&&(x=ee+1),D<=ee&&(N=ee-1)}})(m,_,g||0,y||m.length-1,E||i)}function r(m,_,g){var y=m[_];m[_]=m[g],m[g]=y}function i(m,_){return m<_?-1:m>_?1:0}var s=function(m){m===void 0&&(m=9),this._maxEntries=Math.max(4,m),this._minEntries=Math.max(2,Math.ceil(.4*this._maxEntries)),this.clear()};function o(m,_,g){if(!g)return _.indexOf(m);for(var y=0;y<_.length;y++)if(g(m,_[y]))return y;return-1}function a(m,_){l(m,0,m.children.length,_,m)}function l(m,_,g,y,E){E||(E=T(null)),E.minX=1/0,E.minY=1/0,E.maxX=-1/0,E.maxY=-1/0;for(var C=_;C<g;C++){var b=m.children[C];u(E,m.leaf?y(b):b)}return E}function u(m,_){return m.minX=Math.min(m.minX,_.minX),m.minY=Math.min(m.minY,_.minY),m.maxX=Math.max(m.maxX,_.maxX),m.maxY=Math.max(m.maxY,_.maxY),m}function h(m,_){return m.minX-_.minX}function f(m,_){return m.minY-_.minY}function p(m){return(m.maxX-m.minX)*(m.maxY-m.minY)}function v(m){return m.maxX-m.minX+(m.maxY-m.minY)}function w(m,_){return m.minX<=_.minX&&m.minY<=_.minY&&_.maxX<=m.maxX&&_.maxY<=m.maxY}function I(m,_){return _.minX<=m.maxX&&_.minY<=m.maxY&&_.maxX>=m.minX&&_.maxY>=m.minY}function T(m){return{children:m,height:1,leaf:!0,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}}function L(m,_,g,y,E){for(var C=[_,g];C.length;)if(!((g=C.pop())-(_=C.pop())<=y)){var b=_+Math.ceil((g-_)/y/2)*y;t(m,b,_,g,E),C.push(_,b,b,g)}}return s.prototype.all=function(){return this._all(this.data,[])},s.prototype.search=function(m){var _=this.data,g=[];if(!I(m,_))return g;for(var y=this.toBBox,E=[];_;){for(var C=0;C<_.children.length;C++){var b=_.children[C],D=_.leaf?y(b):b;I(m,D)&&(_.leaf?g.push(b):w(m,D)?this._all(b,g):E.push(b))}_=E.pop()}return g},s.prototype.collides=function(m){var _=this.data;if(!I(m,_))return!1;for(var g=[];_;){for(var y=0;y<_.children.length;y++){var E=_.children[y],C=_.leaf?this.toBBox(E):E;if(I(m,C)){if(_.leaf||w(m,C))return!0;g.push(E)}}_=g.pop()}return!1},s.prototype.load=function(m){if(!m||!m.length)return this;if(m.length<this._minEntries){for(var _=0;_<m.length;_++)this.insert(m[_]);return this}var g=this._build(m.slice(),0,m.length-1,0);if(this.data.children.length)if(this.data.height===g.height)this._splitRoot(this.data,g);else{if(this.data.height<g.height){var y=this.data;this.data=g,g=y}this._insert(g,this.data.height-g.height-1,!0)}else this.data=g;return this},s.prototype.insert=function(m){return m&&this._insert(m,this.data.height-1),this},s.prototype.clear=function(){return this.data=T([]),this},s.prototype.remove=function(m,_){if(!m)return this;for(var g,y,E,C=this.data,b=this.toBBox(m),D=[],x=[];C||D.length;){if(C||(C=D.pop(),y=D[D.length-1],g=x.pop(),E=!0),C.leaf){var N=o(m,C.children,_);if(N!==-1)return C.children.splice(N,1),D.push(C),this._condense(D),this}E||C.leaf||!w(C,b)?y?(g++,C=y.children[g],E=!1):C=null:(D.push(C),x.push(g),g=0,y=C,C=C.children[0])}return this},s.prototype.toBBox=function(m){return m},s.prototype.compareMinX=function(m,_){return m.minX-_.minX},s.prototype.compareMinY=function(m,_){return m.minY-_.minY},s.prototype.toJSON=function(){return this.data},s.prototype.fromJSON=function(m){return this.data=m,this},s.prototype._all=function(m,_){for(var g=[];m;)m.leaf?_.push.apply(_,m.children):g.push.apply(g,m.children),m=g.pop();return _},s.prototype._build=function(m,_,g,y){var E,C=g-_+1,b=this._maxEntries;if(C<=b)return a(E=T(m.slice(_,g+1)),this.toBBox),E;y||(y=Math.ceil(Math.log(C)/Math.log(b)),b=Math.ceil(C/Math.pow(b,y-1))),(E=T([])).leaf=!1,E.height=y;var D=Math.ceil(C/b),x=D*Math.ceil(Math.sqrt(b));L(m,_,g,x,this.compareMinX);for(var N=_;N<=g;N+=x){var O=Math.min(N+x-1,g);L(m,N,O,D,this.compareMinY);for(var A=N;A<=O;A+=D){var F=Math.min(A+D-1,O);E.children.push(this._build(m,A,F,y-1))}}return a(E,this.toBBox),E},s.prototype._chooseSubtree=function(m,_,g,y){for(;y.push(_),!_.leaf&&y.length-1!==g;){for(var E=1/0,C=1/0,b=void 0,D=0;D<_.children.length;D++){var x=_.children[D],N=p(x),O=(A=m,F=x,(Math.max(F.maxX,A.maxX)-Math.min(F.minX,A.minX))*(Math.max(F.maxY,A.maxY)-Math.min(F.minY,A.minY))-N);O<C?(C=O,E=N<E?N:E,b=x):O===C&&N<E&&(E=N,b=x)}_=b||_.children[0]}var A,F;return _},s.prototype._insert=function(m,_,g){var y=g?m:this.toBBox(m),E=[],C=this._chooseSubtree(y,this.data,_,E);for(C.children.push(m),u(C,y);_>=0&&E[_].children.length>this._maxEntries;)this._split(E,_),_--;this._adjustParentBBoxes(y,E,_)},s.prototype._split=function(m,_){var g=m[_],y=g.children.length,E=this._minEntries;this._chooseSplitAxis(g,E,y);var C=this._chooseSplitIndex(g,E,y),b=T(g.children.splice(C,g.children.length-C));b.height=g.height,b.leaf=g.leaf,a(g,this.toBBox),a(b,this.toBBox),_?m[_-1].children.push(b):this._splitRoot(g,b)},s.prototype._splitRoot=function(m,_){this.data=T([m,_]),this.data.height=m.height+1,this.data.leaf=!1,a(this.data,this.toBBox)},s.prototype._chooseSplitIndex=function(m,_,g){for(var y,E,C,b,D,x,N,O=1/0,A=1/0,F=_;F<=g-_;F++){var B=l(m,0,F,this.toBBox),X=l(m,F,g,this.toBBox),ne=(E=B,C=X,b=void 0,D=void 0,x=void 0,N=void 0,b=Math.max(E.minX,C.minX),D=Math.max(E.minY,C.minY),x=Math.min(E.maxX,C.maxX),N=Math.min(E.maxY,C.maxY),Math.max(0,x-b)*Math.max(0,N-D)),ue=p(B)+p(X);ne<O?(O=ne,y=F,A=ue<A?ue:A):ne===O&&ue<A&&(A=ue,y=F)}return y||g-_},s.prototype._chooseSplitAxis=function(m,_,g){var y=m.leaf?this.compareMinX:h,E=m.leaf?this.compareMinY:f;this._allDistMargin(m,_,g,y)<this._allDistMargin(m,_,g,E)&&m.children.sort(y)},s.prototype._allDistMargin=function(m,_,g,y){m.children.sort(y);for(var E=this.toBBox,C=l(m,0,_,E),b=l(m,g-_,g,E),D=v(C)+v(b),x=_;x<g-_;x++){var N=m.children[x];u(C,m.leaf?E(N):N),D+=v(C)}for(var O=g-_-1;O>=_;O--){var A=m.children[O];u(b,m.leaf?E(A):A),D+=v(b)}return D},s.prototype._adjustParentBBoxes=function(m,_,g){for(var y=g;y>=0;y--)u(_[y],m)},s.prototype._condense=function(m){for(var _=m.length-1,g=void 0;_>=0;_--)m[_].children.length===0?_>0?(g=m[_-1].children).splice(g.indexOf(m[_]),1):this.clear():a(m[_],this.toBBox)},s})}(Tu)),Tu.exports}class Ug{constructor(e=[],t=Gg){if(this.data=e,this.length=this.data.length,this.compare=t,this.length>0)for(let r=(this.length>>1)-1;r>=0;r--)this._down(r)}push(e){this.data.push(e),this.length++,this._up(this.length-1)}pop(){if(this.length===0)return;const e=this.data[0],t=this.data.pop();return this.length--,this.length>0&&(this.data[0]=t,this._down(0)),e}peek(){return this.data[0]}_up(e){const{data:t,compare:r}=this,i=t[e];for(;e>0;){const s=e-1>>1,o=t[s];if(r(i,o)>=0)break;t[e]=o,e=s}t[e]=i}_down(e){const{data:t,compare:r}=this,i=this.length>>1,s=t[e];for(;e<i;){let o=(e<<1)+1,a=t[o];const l=o+1;if(l<this.length&&r(t[l],a)<0&&(o=l,a=t[l]),r(a,s)>=0)break;t[e]=a,e=o}t[e]=s}}function Gg(n,e){return n<e?-1:n>e?1:0}const Wg=Vg(Object.freeze(Object.defineProperty({__proto__:null,default:Ug},Symbol.toStringTag,{value:"Module"})));var Fl={exports:{}},Nc,Qh;function qg(){return Qh||(Qh=1,Nc=function(e,t,r,i){var s=e[0],o=e[1],a=!1;r===void 0&&(r=0),i===void 0&&(i=t.length);for(var l=(i-r)/2,u=0,h=l-1;u<l;h=u++){var f=t[r+u*2+0],p=t[r+u*2+1],v=t[r+h*2+0],w=t[r+h*2+1],I=p>o!=w>o&&s<(v-f)*(o-p)/(w-p)+f;I&&(a=!a)}return a}),Nc}var Dc,Bh;function Xg(){return Bh||(Bh=1,Dc=function(e,t,r,i){var s=e[0],o=e[1],a=!1;r===void 0&&(r=0),i===void 0&&(i=t.length);for(var l=i-r,u=0,h=l-1;u<l;h=u++){var f=t[u+r][0],p=t[u+r][1],v=t[h+r][0],w=t[h+r][1],I=p>o!=w>o&&s<(v-f)*(o-p)/(w-p)+f;I&&(a=!a)}return a}),Dc}var $h;function Yg(){if($h)return Fl.exports;$h=1;var n=qg(),e=Xg();return Fl.exports=function(r,i,s,o){return i.length>0&&Array.isArray(i[0])?e(r,i,s,o):n(r,i,s,o)},Fl.exports.nested=e,Fl.exports.flat=n,Fl.exports}var kl={exports:{}},Hg=kl.exports,jh;function Jg(){return jh||(jh=1,function(n,e){(function(t,r){r(e)})(Hg,function(t){const i=33306690738754706e-32;function s(I,T,L,m,_){let g,y,E,C,b=T[0],D=m[0],x=0,N=0;D>b==D>-b?(g=b,b=T[++x]):(g=D,D=m[++N]);let O=0;if(x<I&&N<L)for(D>b==D>-b?(E=g-((y=b+g)-b),b=T[++x]):(E=g-((y=D+g)-D),D=m[++N]),g=y,E!==0&&(_[O++]=E);x<I&&N<L;)D>b==D>-b?(E=g-((y=g+b)-(C=y-g))+(b-C),b=T[++x]):(E=g-((y=g+D)-(C=y-g))+(D-C),D=m[++N]),g=y,E!==0&&(_[O++]=E);for(;x<I;)E=g-((y=g+b)-(C=y-g))+(b-C),b=T[++x],g=y,E!==0&&(_[O++]=E);for(;N<L;)E=g-((y=g+D)-(C=y-g))+(D-C),D=m[++N],g=y,E!==0&&(_[O++]=E);return g===0&&O!==0||(_[O++]=g),O}function o(I){return new Float64Array(I)}const a=33306690738754716e-32,l=22204460492503146e-32,u=11093356479670487e-47,h=o(4),f=o(8),p=o(12),v=o(16),w=o(4);t.orient2d=function(I,T,L,m,_,g){const y=(T-g)*(L-_),E=(I-_)*(m-g),C=y-E;if(y===0||E===0||y>0!=E>0)return C;const b=Math.abs(y+E);return Math.abs(C)>=a*b?C:-function(D,x,N,O,A,F,B){let X,ne,ue,de,K,$,ee,ve,Oe,Ce,Pe,Fe,pt,lt,kr,Vr,Di,zr;const Ur=D-A,Gr=N-A,$n=x-F,jn=O-F;K=(kr=(ve=Ur-(ee=($=134217729*Ur)-($-Ur)))*(Ce=jn-(Oe=($=134217729*jn)-($-jn)))-((lt=Ur*jn)-ee*Oe-ve*Oe-ee*Ce))-(Pe=kr-(Di=(ve=$n-(ee=($=134217729*$n)-($-$n)))*(Ce=Gr-(Oe=($=134217729*Gr)-($-Gr)))-((Vr=$n*Gr)-ee*Oe-ve*Oe-ee*Ce))),h[0]=kr-(Pe+K)+(K-Di),K=(pt=lt-((Fe=lt+Pe)-(K=Fe-lt))+(Pe-K))-(Pe=pt-Vr),h[1]=pt-(Pe+K)+(K-Vr),K=(zr=Fe+Pe)-Fe,h[2]=Fe-(zr-K)+(Pe-K),h[3]=zr;let Gs=function(D0,Yp){let Hp=Yp[0];for(let Nh=1;Nh<D0;Nh++)Hp+=Yp[Nh];return Hp}(4,h),gu=l*B;if(Gs>=gu||-Gs>=gu||(X=D-(Ur+(K=D-Ur))+(K-A),ue=N-(Gr+(K=N-Gr))+(K-A),ne=x-($n+(K=x-$n))+(K-F),de=O-(jn+(K=O-jn))+(K-F),X===0&&ne===0&&ue===0&&de===0)||(gu=u*B+i*Math.abs(Gs),(Gs+=Ur*de+jn*X-($n*ue+Gr*ne))>=gu||-Gs>=gu))return Gs;K=(kr=(ve=X-(ee=($=134217729*X)-($-X)))*(Ce=jn-(Oe=($=134217729*jn)-($-jn)))-((lt=X*jn)-ee*Oe-ve*Oe-ee*Ce))-(Pe=kr-(Di=(ve=ne-(ee=($=134217729*ne)-($-ne)))*(Ce=Gr-(Oe=($=134217729*Gr)-($-Gr)))-((Vr=ne*Gr)-ee*Oe-ve*Oe-ee*Ce))),w[0]=kr-(Pe+K)+(K-Di),K=(pt=lt-((Fe=lt+Pe)-(K=Fe-lt))+(Pe-K))-(Pe=pt-Vr),w[1]=pt-(Pe+K)+(K-Vr),K=(zr=Fe+Pe)-Fe,w[2]=Fe-(zr-K)+(Pe-K),w[3]=zr;const T0=s(4,h,4,w,f);K=(kr=(ve=Ur-(ee=($=134217729*Ur)-($-Ur)))*(Ce=de-(Oe=($=134217729*de)-($-de)))-((lt=Ur*de)-ee*Oe-ve*Oe-ee*Ce))-(Pe=kr-(Di=(ve=$n-(ee=($=134217729*$n)-($-$n)))*(Ce=ue-(Oe=($=134217729*ue)-($-ue)))-((Vr=$n*ue)-ee*Oe-ve*Oe-ee*Ce))),w[0]=kr-(Pe+K)+(K-Di),K=(pt=lt-((Fe=lt+Pe)-(K=Fe-lt))+(Pe-K))-(Pe=pt-Vr),w[1]=pt-(Pe+K)+(K-Vr),K=(zr=Fe+Pe)-Fe,w[2]=Fe-(zr-K)+(Pe-K),w[3]=zr;const b0=s(T0,f,4,w,p);K=(kr=(ve=X-(ee=($=134217729*X)-($-X)))*(Ce=de-(Oe=($=134217729*de)-($-de)))-((lt=X*de)-ee*Oe-ve*Oe-ee*Ce))-(Pe=kr-(Di=(ve=ne-(ee=($=134217729*ne)-($-ne)))*(Ce=ue-(Oe=($=134217729*ue)-($-ue)))-((Vr=ne*ue)-ee*Oe-ve*Oe-ee*Ce))),w[0]=kr-(Pe+K)+(K-Di),K=(pt=lt-((Fe=lt+Pe)-(K=Fe-lt))+(Pe-K))-(Pe=pt-Vr),w[1]=pt-(Pe+K)+(K-Vr),K=(zr=Fe+Pe)-Fe,w[2]=Fe-(zr-K)+(Pe-K),w[3]=zr;const N0=s(b0,p,4,w,v);return v[N0-1]}(I,T,L,m,_,g,b)},t.orient2dfast=function(I,T,L,m,_,g){return(T-g)*(L-_)-(I-_)*(m-g)},Object.defineProperty(t,"__esModule",{value:!0})})}(kl,kl.exports)),kl.exports}var ef;function Zg(){if(ef)return Iu.exports;ef=1;var n=Kh(),e=Wg,t=Yg(),r=Jg().orient2d;e.default&&(e=e.default),Iu.exports=i,Iu.exports.default=i;function i(g,y,E){y=Math.max(0,y===void 0?2:y),E=E||0;var C=v(g),b=new n(16);b.toBBox=function(ee){return{minX:ee[0],minY:ee[1],maxX:ee[0],maxY:ee[1]}},b.compareMinX=function(ee,ve){return ee[0]-ve[0]},b.compareMinY=function(ee,ve){return ee[1]-ve[1]},b.load(g);for(var D=[],x=0,N;x<C.length;x++){var O=C[x];b.remove(O),N=w(O,N),D.push(N)}var A=new n(16);for(x=0;x<D.length;x++)A.insert(p(D[x]));for(var F=y*y,B=E*E;D.length;){var X=D.shift(),ne=X.p,ue=X.next.p,de=I(ne,ue);if(!(de<B)){var K=de/F;O=s(b,X.prev.p,ne,ue,X.next.next.p,K,A),O&&Math.min(I(O,ne),I(O,ue))<=K&&(D.push(X),D.push(w(O,X)),b.remove(O),A.remove(X),A.insert(p(X)),A.insert(p(X.next)))}}X=N;var $=[];do $.push(X.p),X=X.next;while(X!==N);return $.push(X.p),$}function s(g,y,E,C,b,D,x){for(var N=new e([],o),O=g.data;O;){for(var A=0;A<O.children.length;A++){var F=O.children[A],B=O.leaf?T(F,E,C):a(E,C,F);B>D||N.push({node:F,dist:B})}for(;N.length&&!N.peek().node.children;){var X=N.pop(),ne=X.node,ue=T(ne,y,E),de=T(ne,C,b);if(X.dist<ue&&X.dist<de&&u(E,ne,x)&&u(C,ne,x))return ne}O=N.pop(),O&&(O=O.node)}return null}function o(g,y){return g.dist-y.dist}function a(g,y,E){if(l(g,E)||l(y,E))return 0;var C=L(g[0],g[1],y[0],y[1],E.minX,E.minY,E.maxX,E.minY);if(C===0)return 0;var b=L(g[0],g[1],y[0],y[1],E.minX,E.minY,E.minX,E.maxY);if(b===0)return 0;var D=L(g[0],g[1],y[0],y[1],E.maxX,E.minY,E.maxX,E.maxY);if(D===0)return 0;var x=L(g[0],g[1],y[0],y[1],E.minX,E.maxY,E.maxX,E.maxY);return x===0?0:Math.min(C,b,D,x)}function l(g,y){return g[0]>=y.minX&&g[0]<=y.maxX&&g[1]>=y.minY&&g[1]<=y.maxY}function u(g,y,E){for(var C=Math.min(g[0],y[0]),b=Math.min(g[1],y[1]),D=Math.max(g[0],y[0]),x=Math.max(g[1],y[1]),N=E.search({minX:C,minY:b,maxX:D,maxY:x}),O=0;O<N.length;O++)if(f(N[O].p,N[O].next.p,g,y))return!1;return!0}function h(g,y,E){return r(g[0],g[1],y[0],y[1],E[0],E[1])}function f(g,y,E,C){return g!==C&&y!==E&&h(g,y,E)>0!=h(g,y,C)>0&&h(E,C,g)>0!=h(E,C,y)>0}function p(g){var y=g.p,E=g.next.p;return g.minX=Math.min(y[0],E[0]),g.minY=Math.min(y[1],E[1]),g.maxX=Math.max(y[0],E[0]),g.maxY=Math.max(y[1],E[1]),g}function v(g){for(var y=g[0],E=g[0],C=g[0],b=g[0],D=0;D<g.length;D++){var x=g[D];x[0]<y[0]&&(y=x),x[0]>C[0]&&(C=x),x[1]<E[1]&&(E=x),x[1]>b[1]&&(b=x)}var N=[y,E,C,b],O=N.slice();for(D=0;D<g.length;D++)t(g[D],N)||O.push(g[D]);return _(O)}function w(g,y){var E={p:g,prev:null,next:null,minX:0,minY:0,maxX:0,maxY:0};return y?(E.next=y.next,E.prev=y,y.next.prev=E,y.next=E):(E.prev=E,E.next=E),E}function I(g,y){var E=g[0]-y[0],C=g[1]-y[1];return E*E+C*C}function T(g,y,E){var C=y[0],b=y[1],D=E[0]-C,x=E[1]-b;if(D!==0||x!==0){var N=((g[0]-C)*D+(g[1]-b)*x)/(D*D+x*x);N>1?(C=E[0],b=E[1]):N>0&&(C+=D*N,b+=x*N)}return D=g[0]-C,x=g[1]-b,D*D+x*x}function L(g,y,E,C,b,D,x,N){var O=E-g,A=C-y,F=x-b,B=N-D,X=g-b,ne=y-D,ue=O*O+A*A,de=O*F+A*B,K=F*F+B*B,$=O*X+A*ne,ee=F*X+B*ne,ve=ue*K-de*de,Oe,Ce,Pe,Fe,pt=ve,lt=ve;ve===0?(Ce=0,pt=1,Fe=ee,lt=K):(Ce=de*ee-K*$,Fe=ue*ee-de*$,Ce<0?(Ce=0,Fe=ee,lt=K):Ce>pt&&(Ce=pt,Fe=ee+de,lt=K)),Fe<0?(Fe=0,-$<0?Ce=0:-$>ue?Ce=pt:(Ce=-$,pt=ue)):Fe>lt&&(Fe=lt,-$+de<0?Ce=0:-$+de>ue?Ce=pt:(Ce=-$+de,pt=ue)),Oe=Ce===0?0:Ce/pt,Pe=Fe===0?0:Fe/lt;var kr=(1-Oe)*g+Oe*E,Vr=(1-Oe)*y+Oe*C,Di=(1-Pe)*b+Pe*x,zr=(1-Pe)*D+Pe*N,Ur=Di-kr,Gr=zr-Vr;return Ur*Ur+Gr*Gr}function m(g,y){return g[0]===y[0]?g[1]-y[1]:g[0]-y[0]}function _(g){g.sort(m);for(var y=[],E=0;E<g.length;E++){for(;y.length>=2&&h(y[y.length-2],y[y.length-1],g[E])<=0;)y.pop();y.push(g[E])}for(var C=[],b=g.length-1;b>=0;b--){for(;C.length>=2&&h(C[C.length-2],C[C.length-1],g[b])<=0;)C.pop();C.push(g[b])}return C.pop(),y.pop(),y.concat(C)}return Iu.exports}var Kg=Zg();const Qg=Jh(Kg);function Bg(n,e){e===void 0&&(e={}),e.concavity=e.concavity||1/0;var t=[];if(Ba(n,function(i){t.push([i[0],i[1]])}),!t.length)return null;var r=Qg(t,e.concavity);return r.length>3?ar([r]):null}function tf(n,e){e===void 0&&(e={});var t=0,r=0,i=0;return Ba(n,function(s){t+=s[0],r+=s[1],i++},!0),Xe([t/i,r/i],e.properties)}function rf(n,e){switch(e===void 0&&(e={}),Og(n)){case"Point":return Xe(lr(n),e.properties);case"Polygon":var t=[];Ba(n,function(g){t.push(g)});var r=tf(n,{properties:e.properties}),i=r.geometry.coordinates,s=0,o=0,a=0,l,u,h,f,p,v,w,I,T=t.map(function(g){return[g[0]-i[0],g[1]-i[1]]});for(l=0;l<t.length-1;l++)u=T[l],f=u[0],v=u[1],h=T[l+1],p=h[0],w=h[1],I=f*w-p*v,a+=I,s+=(f+p)*I,o+=(v+w)*I;if(a===0)return r;var L=a*.5,m=1/(6*L);return Xe([i[0]+m*s,i[1]+m*o],e.properties);default:var _=Bg(n);return _?rf(_,{properties:e.properties}):tf(n,{properties:e.properties})}}function $g(n){(n[0][0]!==n[n.length-1][0]||n[0][1]!==n[n.length-1][1]||n[0][2]!==n[n.length-1][2])&&n.push(n[0]);const e=ar([n]),r=rf(e).geometry.coordinates;return[r[0],r[1],r[2]??n[0][2]??0]}function jg(n,e,t,r){const[i,s,o]=n,a=Qa(Xe([i,s]),e,t,{units:"meters"});if(!(!a||!a.geometry||!a.geometry.coordinates))return r=r||[0,0,0],r[0]=a.geometry.coordinates[0],r[1]=a.geometry.coordinates[1],r[2]=o,r}function Oc(n,e){return Oi(Xe(n),Xe(e),{units:"meters"})}function Mc(n,e){return Rl(Xe(n),Xe(e))}function nf(n){if(!n)throw new Error("geojson is required");var e=[];return Ic(n,function(t){em(t,e)}),Ka(e)}function em(n,e){var t=[],r=n.geometry;if(r!==null){switch(r.type){case"Polygon":t=qs(r);break;case"LineString":t=[qs(r)]}t.forEach(function(i){var s=tm(i,n.properties);s.forEach(function(o){o.id=e.length,e.push(o)})})}}function tm(n,e){var t=[];return n.reduce(function(r,i){var s=Dn([r,i],e);return s.bbox=rm(r,i),t.push(s),i}),t}function rm(n,e){var t=n[0],r=n[1],i=e[0],s=e[1],o=t<i?t:i,a=r<s?r:s,l=t>i?t:i,u=r>s?r:s;return[o,a,l,u]}var bu={exports:{}},xc={},sf;function of(){return sf||(sf=1,function(n){Object.defineProperty(n,"__esModule",{value:!0}),n.earthRadius=63710088e-1,n.factors={centimeters:n.earthRadius*100,centimetres:n.earthRadius*100,degrees:n.earthRadius/111325,feet:n.earthRadius*3.28084,inches:n.earthRadius*39.37,kilometers:n.earthRadius/1e3,kilometres:n.earthRadius/1e3,meters:n.earthRadius,metres:n.earthRadius,miles:n.earthRadius/1609.344,millimeters:n.earthRadius*1e3,millimetres:n.earthRadius*1e3,nauticalmiles:n.earthRadius/1852,radians:1,yards:n.earthRadius*1.0936},n.unitsFactors={centimeters:100,centimetres:100,degrees:1/111325,feet:3.28084,inches:39.37,kilometers:1/1e3,kilometres:1/1e3,meters:1,metres:1,miles:1/1609.344,millimeters:1e3,millimetres:1e3,nauticalmiles:1/1852,radians:1/n.earthRadius,yards:1.0936133},n.areaFactors={acres:247105e-9,centimeters:1e4,centimetres:1e4,feet:10.763910417,hectares:1e-4,inches:1550.003100006,kilometers:1e-6,kilometres:1e-6,meters:1,metres:1,miles:386e-9,millimeters:1e6,millimetres:1e6,yards:1.195990046};function e(N,O,A){A===void 0&&(A={});var F={type:"Feature"};return(A.id===0||A.id)&&(F.id=A.id),A.bbox&&(F.bbox=A.bbox),F.properties=O||{},F.geometry=N,F}n.feature=e;function t(N,O,A){switch(N){case"Point":return r(O).geometry;case"LineString":return a(O).geometry;case"Polygon":return s(O).geometry;case"MultiPoint":return f(O).geometry;case"MultiLineString":return h(O).geometry;case"MultiPolygon":return p(O).geometry;default:throw new Error(N+" is invalid")}}n.geometry=t;function r(N,O,A){if(A===void 0&&(A={}),!N)throw new Error("coordinates is required");if(!Array.isArray(N))throw new Error("coordinates must be an Array");if(N.length<2)throw new Error("coordinates must be at least 2 numbers long");if(!C(N[0])||!C(N[1]))throw new Error("coordinates must contain numbers");var F={type:"Point",coordinates:N};return e(F,O,A)}n.point=r;function i(N,O,A){return A===void 0&&(A={}),u(N.map(function(F){return r(F,O)}),A)}n.points=i;function s(N,O,A){A===void 0&&(A={});for(var F=0,B=N;F<B.length;F++){var X=B[F];if(X.length<4)throw new Error("Each LinearRing of a Polygon must have 4 or more Positions.");for(var ne=0;ne<X[X.length-1].length;ne++)if(X[X.length-1][ne]!==X[0][ne])throw new Error("First and last Position are not equivalent.")}var ue={type:"Polygon",coordinates:N};return e(ue,O,A)}n.polygon=s;function o(N,O,A){return A===void 0&&(A={}),u(N.map(function(F){return s(F,O)}),A)}n.polygons=o;function a(N,O,A){if(A===void 0&&(A={}),N.length<2)throw new Error("coordinates must be an array of two or more positions");var F={type:"LineString",coordinates:N};return e(F,O,A)}n.lineString=a;function l(N,O,A){return A===void 0&&(A={}),u(N.map(function(F){return a(F,O)}),A)}n.lineStrings=l;function u(N,O){O===void 0&&(O={});var A={type:"FeatureCollection"};return O.id&&(A.id=O.id),O.bbox&&(A.bbox=O.bbox),A.features=N,A}n.featureCollection=u;function h(N,O,A){A===void 0&&(A={});var F={type:"MultiLineString",coordinates:N};return e(F,O,A)}n.multiLineString=h;function f(N,O,A){A===void 0&&(A={});var F={type:"MultiPoint",coordinates:N};return e(F,O,A)}n.multiPoint=f;function p(N,O,A){A===void 0&&(A={});var F={type:"MultiPolygon",coordinates:N};return e(F,O,A)}n.multiPolygon=p;function v(N,O,A){A===void 0&&(A={});var F={type:"GeometryCollection",geometries:N};return e(F,O,A)}n.geometryCollection=v;function w(N,O){if(O===void 0&&(O=0),O&&!(O>=0))throw new Error("precision must be a positive number");var A=Math.pow(10,O||0);return Math.round(N*A)/A}n.round=w;function I(N,O){O===void 0&&(O="kilometers");var A=n.factors[O];if(!A)throw new Error(O+" units is invalid");return N*A}n.radiansToLength=I;function T(N,O){O===void 0&&(O="kilometers");var A=n.factors[O];if(!A)throw new Error(O+" units is invalid");return N/A}n.lengthToRadians=T;function L(N,O){return _(T(N,O))}n.lengthToDegrees=L;function m(N){var O=N%360;return O<0&&(O+=360),O}n.bearingToAzimuth=m;function _(N){var O=N%(2*Math.PI);return O*180/Math.PI}n.radiansToDegrees=_;function g(N){var O=N%360;return O*Math.PI/180}n.degreesToRadians=g;function y(N,O,A){if(O===void 0&&(O="kilometers"),A===void 0&&(A="kilometers"),!(N>=0))throw new Error("length must be a positive number");return I(T(N,O),A)}n.convertLength=y;function E(N,O,A){if(O===void 0&&(O="meters"),A===void 0&&(A="kilometers"),!(N>=0))throw new Error("area must be a positive number");var F=n.areaFactors[O];if(!F)throw new Error("invalid original units");var B=n.areaFactors[A];if(!B)throw new Error("invalid final units");return N/F*B}n.convertArea=E;function C(N){return!isNaN(N)&&N!==null&&!Array.isArray(N)}n.isNumber=C;function b(N){return!!N&&N.constructor===Object}n.isObject=b;function D(N){if(!N)throw new Error("bbox is required");if(!Array.isArray(N))throw new Error("bbox must be an Array");if(N.length!==4&&N.length!==6)throw new Error("bbox must be an Array of 4 or 6 numbers");N.forEach(function(O){if(!C(O))throw new Error("bbox must only contain numbers")})}n.validateBBox=D;function x(N){if(!N)throw new Error("id is required");if(["string","number"].indexOf(typeof N)===-1)throw new Error("id must be a number or a string")}n.validateId=x}(xc)),xc}var gt={},af;function lf(){if(af)return gt;af=1,Object.defineProperty(gt,"__esModule",{value:!0});var n=of();function e(m,_,g){if(m!==null)for(var y,E,C,b,D,x,N,O=0,A=0,F,B=m.type,X=B==="FeatureCollection",ne=B==="Feature",ue=X?m.features.length:1,de=0;de<ue;de++){N=X?m.features[de].geometry:ne?m.geometry:m,F=N?N.type==="GeometryCollection":!1,D=F?N.geometries.length:1;for(var K=0;K<D;K++){var $=0,ee=0;if(b=F?N.geometries[K]:N,b!==null){x=b.coordinates;var ve=b.type;switch(O=g&&(ve==="Polygon"||ve==="MultiPolygon")?1:0,ve){case null:break;case"Point":if(_(x,A,de,$,ee)===!1)return!1;A++,$++;break;case"LineString":case"MultiPoint":for(y=0;y<x.length;y++){if(_(x[y],A,de,$,ee)===!1)return!1;A++,ve==="MultiPoint"&&$++}ve==="LineString"&&$++;break;case"Polygon":case"MultiLineString":for(y=0;y<x.length;y++){for(E=0;E<x[y].length-O;E++){if(_(x[y][E],A,de,$,ee)===!1)return!1;A++}ve==="MultiLineString"&&$++,ve==="Polygon"&&ee++}ve==="Polygon"&&$++;break;case"MultiPolygon":for(y=0;y<x.length;y++){for(ee=0,E=0;E<x[y].length;E++){for(C=0;C<x[y][E].length-O;C++){if(_(x[y][E][C],A,de,$,ee)===!1)return!1;A++}ee++}$++}break;case"GeometryCollection":for(y=0;y<b.geometries.length;y++)if(e(b.geometries[y],_,g)===!1)return!1;break;default:throw new Error("Unknown Geometry Type")}}}}}function t(m,_,g,y){var E=g;return e(m,function(C,b,D,x,N){b===0&&g===void 0?E=C:E=_(E,C,b,D,x,N)},y),E}function r(m,_){var g;switch(m.type){case"FeatureCollection":for(g=0;g<m.features.length&&_(m.features[g].properties,g)!==!1;g++);break;case"Feature":_(m.properties,0);break}}function i(m,_,g){var y=g;return r(m,function(E,C){C===0&&g===void 0?y=E:y=_(y,E,C)}),y}function s(m,_){if(m.type==="Feature")_(m,0);else if(m.type==="FeatureCollection")for(var g=0;g<m.features.length&&_(m.features[g],g)!==!1;g++);}function o(m,_,g){var y=g;return s(m,function(E,C){C===0&&g===void 0?y=E:y=_(y,E,C)}),y}function a(m){var _=[];return e(m,function(g){_.push(g)}),_}function l(m,_){var g,y,E,C,b,D,x,N,O,A,F=0,B=m.type==="FeatureCollection",X=m.type==="Feature",ne=B?m.features.length:1;for(g=0;g<ne;g++){for(D=B?m.features[g].geometry:X?m.geometry:m,N=B?m.features[g].properties:X?m.properties:{},O=B?m.features[g].bbox:X?m.bbox:void 0,A=B?m.features[g].id:X?m.id:void 0,x=D?D.type==="GeometryCollection":!1,b=x?D.geometries.length:1,E=0;E<b;E++){if(C=x?D.geometries[E]:D,C===null){if(_(null,F,N,O,A)===!1)return!1;continue}switch(C.type){case"Point":case"LineString":case"MultiPoint":case"Polygon":case"MultiLineString":case"MultiPolygon":{if(_(C,F,N,O,A)===!1)return!1;break}case"GeometryCollection":{for(y=0;y<C.geometries.length;y++)if(_(C.geometries[y],F,N,O,A)===!1)return!1;break}default:throw new Error("Unknown Geometry Type")}}F++}}function u(m,_,g){var y=g;return l(m,function(E,C,b,D,x){C===0&&g===void 0?y=E:y=_(y,E,C,b,D,x)}),y}function h(m,_){l(m,function(g,y,E,C,b){var D=g===null?null:g.type;switch(D){case null:case"Point":case"LineString":case"Polygon":return _(n.feature(g,E,{bbox:C,id:b}),y,0)===!1?!1:void 0}var x;switch(D){case"MultiPoint":x="Point";break;case"MultiLineString":x="LineString";break;case"MultiPolygon":x="Polygon";break}for(var N=0;N<g.coordinates.length;N++){var O=g.coordinates[N],A={type:x,coordinates:O};if(_(n.feature(A,E),y,N)===!1)return!1}})}function f(m,_,g){var y=g;return h(m,function(E,C,b){C===0&&b===0&&g===void 0?y=E:y=_(y,E,C,b)}),y}function p(m,_){h(m,function(g,y,E){var C=0;if(g.geometry){var b=g.geometry.type;if(!(b==="Point"||b==="MultiPoint")){var D,x=0,N=0,O=0;if(e(g,function(A,F,B,X,ne){if(D===void 0||y>x||X>N||ne>O){D=A,x=y,N=X,O=ne,C=0;return}var ue=n.lineString([D,A],g.properties);if(_(ue,y,E,ne,C)===!1)return!1;C++,D=A})===!1)return!1}}})}function v(m,_,g){var y=g,E=!1;return p(m,function(C,b,D,x,N){E===!1&&g===void 0?y=C:y=_(y,C,b,D,x,N),E=!0}),y}function w(m,_){if(!m)throw new Error("geojson is required");h(m,function(g,y,E){if(g.geometry!==null){var C=g.geometry.type,b=g.geometry.coordinates;switch(C){case"LineString":if(_(g,y,E,0,0)===!1)return!1;break;case"Polygon":for(var D=0;D<b.length;D++)if(_(n.lineString(b[D],g.properties),y,E,D)===!1)return!1;break}}})}function I(m,_,g){var y=g;return w(m,function(E,C,b,D){C===0&&g===void 0?y=E:y=_(y,E,C,b,D)}),y}function T(m,_){if(_=_||{},!n.isObject(_))throw new Error("options is invalid");var g=_.featureIndex||0,y=_.multiFeatureIndex||0,E=_.geometryIndex||0,C=_.segmentIndex||0,b=_.properties,D;switch(m.type){case"FeatureCollection":g<0&&(g=m.features.length+g),b=b||m.features[g].properties,D=m.features[g].geometry;break;case"Feature":b=b||m.properties,D=m.geometry;break;case"Point":case"MultiPoint":return null;case"LineString":case"Polygon":case"MultiLineString":case"MultiPolygon":D=m;break;default:throw new Error("geojson is invalid")}if(D===null)return null;var x=D.coordinates;switch(D.type){case"Point":case"MultiPoint":return null;case"LineString":return C<0&&(C=x.length+C-1),n.lineString([x[C],x[C+1]],b,_);case"Polygon":return E<0&&(E=x.length+E),C<0&&(C=x[E].length+C-1),n.lineString([x[E][C],x[E][C+1]],b,_);case"MultiLineString":return y<0&&(y=x.length+y),C<0&&(C=x[y].length+C-1),n.lineString([x[y][C],x[y][C+1]],b,_);case"MultiPolygon":return y<0&&(y=x.length+y),E<0&&(E=x[y].length+E),C<0&&(C=x[y][E].length-C-1),n.lineString([x[y][E][C],x[y][E][C+1]],b,_)}throw new Error("geojson is invalid")}function L(m,_){if(_=_||{},!n.isObject(_))throw new Error("options is invalid");var g=_.featureIndex||0,y=_.multiFeatureIndex||0,E=_.geometryIndex||0,C=_.coordIndex||0,b=_.properties,D;switch(m.type){case"FeatureCollection":g<0&&(g=m.features.length+g),b=b||m.features[g].properties,D=m.features[g].geometry;break;case"Feature":b=b||m.properties,D=m.geometry;break;case"Point":case"MultiPoint":return null;case"LineString":case"Polygon":case"MultiLineString":case"MultiPolygon":D=m;break;default:throw new Error("geojson is invalid")}if(D===null)return null;var x=D.coordinates;switch(D.type){case"Point":return n.point(x,b,_);case"MultiPoint":return y<0&&(y=x.length+y),n.point(x[y],b,_);case"LineString":return C<0&&(C=x.length+C),n.point(x[C],b,_);case"Polygon":return E<0&&(E=x.length+E),C<0&&(C=x[E].length+C),n.point(x[E][C],b,_);case"MultiLineString":return y<0&&(y=x.length+y),C<0&&(C=x[y].length+C),n.point(x[y][C],b,_);case"MultiPolygon":return y<0&&(y=x.length+y),E<0&&(E=x[y].length+E),C<0&&(C=x[y][E].length-C),n.point(x[y][E][C],b,_)}throw new Error("geojson is invalid")}return gt.coordAll=a,gt.coordEach=e,gt.coordReduce=t,gt.featureEach=s,gt.featureReduce=o,gt.findPoint=L,gt.findSegment=T,gt.flattenEach=h,gt.flattenReduce=f,gt.geomEach=l,gt.geomReduce=u,gt.lineEach=w,gt.lineReduce=I,gt.propEach=r,gt.propReduce=i,gt.segmentEach=p,gt.segmentReduce=v,gt}var Nu={},uf;function nm(){if(uf)return Nu;uf=1,Object.defineProperty(Nu,"__esModule",{value:!0});var n=lf();function e(t){var r=[1/0,1/0,-1/0,-1/0];return n.coordEach(t,function(i){r[0]>i[0]&&(r[0]=i[0]),r[1]>i[1]&&(r[1]=i[1]),r[2]<i[0]&&(r[2]=i[0]),r[3]<i[1]&&(r[3]=i[1])}),r}return e.default=e,Nu.default=e,Nu}var cf;function im(){if(cf)return bu.exports;cf=1;var n=Kh(),e=of(),t=lf(),r=nm().default,i=t.featureEach;t.coordEach,e.polygon;var s=e.featureCollection;function o(a){var l=new n(a);return l.insert=function(u){if(u.type!=="Feature")throw new Error("invalid feature");return u.bbox=u.bbox?u.bbox:r(u),n.prototype.insert.call(this,u)},l.load=function(u){var h=[];return Array.isArray(u)?u.forEach(function(f){if(f.type!=="Feature")throw new Error("invalid features");f.bbox=f.bbox?f.bbox:r(f),h.push(f)}):i(u,function(f){if(f.type!=="Feature")throw new Error("invalid features");f.bbox=f.bbox?f.bbox:r(f),h.push(f)}),n.prototype.load.call(this,h)},l.remove=function(u,h){if(u.type!=="Feature")throw new Error("invalid feature");return u.bbox=u.bbox?u.bbox:r(u),n.prototype.remove.call(this,u,h)},l.clear=function(){return n.prototype.clear.call(this)},l.search=function(u){var h=n.prototype.search.call(this,this.toBBox(u));return s(h)},l.collides=function(u){return n.prototype.collides.call(this,this.toBBox(u))},l.all=function(){var u=n.prototype.all.call(this);return s(u)},l.toJSON=function(){return n.prototype.toJSON.call(this)},l.fromJSON=function(u){return n.prototype.fromJSON.call(this,u)},l.toBBox=function(u){var h;if(u.bbox)h=u.bbox;else if(Array.isArray(u)&&u.length===4)h=u;else if(Array.isArray(u)&&u.length===6)h=[u[0],u[1],u[3],u[4]];else if(u.type==="Feature")h=r(u);else if(u.type==="FeatureCollection")h=r(u);else throw new Error("invalid geojson");return{minX:h[0],minY:h[1],maxX:h[2],maxY:h[3]}},l}return bu.exports=o,bu.exports.default=o,bu.exports}var sm=im();const om=Jh(sm);function hf(n,e){var t={},r=[];if(n.type==="LineString"&&(n=Nn(n)),e.type==="LineString"&&(e=Nn(e)),n.type==="Feature"&&e.type==="Feature"&&n.geometry!==null&&e.geometry!==null&&n.geometry.type==="LineString"&&e.geometry.type==="LineString"&&n.geometry.coordinates.length===2&&e.geometry.coordinates.length===2){var i=ff(n,e);return i&&r.push(i),Ka(r)}var s=om();return s.load(nf(e)),Cu(nf(n),function(o){Cu(s.search(o),function(a){var l=ff(o,a);if(l){var u=qs(l).join(",");t[u]||(t[u]=!0,r.push(l))}})}),Ka(r)}function ff(n,e){var t=qs(n),r=qs(e);if(t.length!==2)throw new Error("<intersects> line1 must only contain 2 coordinates");if(r.length!==2)throw new Error("<intersects> line2 must only contain 2 coordinates");var i=t[0][0],s=t[0][1],o=t[1][0],a=t[1][1],l=r[0][0],u=r[0][1],h=r[1][0],f=r[1][1],p=(f-u)*(o-i)-(h-l)*(a-s),v=(h-l)*(s-u)-(f-u)*(i-l),w=(o-i)*(s-u)-(a-s)*(i-l);if(p===0)return null;var I=v/p,T=w/p;if(I>=0&&I<=1&&T>=0&&T<=1){var L=i+I*(o-i),m=s+I*(a-s);return Xe([L,m])}return null}function am(n,e){return hf(Dn(n),Dn(e))}function lm(n,e){var t=Oi(n,e),r=Rl(n,e),i=Qa(n,t/2,r);return i}function um(n,e){const t=Xe(n),r=Xe(e),i=lm(t,r),s=(n[2]+e[2])/2;return[...i.geometry.coordinates,s]}function cm(n,e,t){t===void 0&&(t={});var r=Xe([1/0,1/0],{dist:1/0}),i=0;return Ic(n,function(s){for(var o=qs(s),a=0;a<o.length-1;a++){var l=Xe(o[a]);l.properties.dist=Oi(e,l,t);var u=Xe(o[a+1]);u.properties.dist=Oi(e,u,t);var h=Oi(l,u,t),f=Math.max(l.properties.dist,u.properties.dist),p=Rl(l,u),v=Qa(e,f,p+90,t),w=Qa(e,f,p-90,t),I=hf(Dn([v.geometry.coordinates,w.geometry.coordinates]),Dn([l.geometry.coordinates,u.geometry.coordinates])),T=null;I.features.length>0&&(T=I.features[0],T.properties.dist=Oi(e,T,t),T.properties.location=i+Oi(l,T,t)),l.properties.dist<r.properties.dist&&(r=l,r.properties.index=a,r.properties.location=i),u.properties.dist<r.properties.dist&&(r=u,r.properties.index=a+1,r.properties.location=i+h),T&&T.properties.dist<r.properties.dist&&(r=T,r.properties.index=a),i+=h}}),r}function hm(n,e){const t=Xe(e),r=Dn(n);return cm(r,t,{units:"meters"})}function df(n,e,t){t===void 0&&(t={});var r=lr(n),i=lr(e);i[0]+=i[0]-r[0]>180?-360:r[0]-i[0]>180?360:0;var s=fm(r,i),o=Pc(s,"meters",t.units);return o}function fm(n,e,t){t=t===void 0?Ut:Number(t);var r=t,i=n[1]*Math.PI/180,s=e[1]*Math.PI/180,o=s-i,a=Math.abs(e[0]-n[0])*Math.PI/180;a>Math.PI&&(a-=2*Math.PI);var l=Math.log(Math.tan(s/2+Math.PI/4)/Math.tan(i/2+Math.PI/4)),u=Math.abs(l)>1e-11?o/l:Math.cos(i),h=Math.sqrt(o*o+u*u*a*a),f=h*r;return f}function dm(n,e,t){if(t===void 0&&(t={}),t.method||(t.method="geodesic"),t.units||(t.units="kilometers"),!n)throw new Error("pt is required");if(Array.isArray(n)?n=Xe(n):n.type==="Point"?n=Nn(n):qh(n,"Point","point"),!e)throw new Error("line is required");Array.isArray(e)?e=Dn(e):e.type==="LineString"?e=Nn(e):qh(e,"LineString","line");var r=1/0,i=n.geometry.coordinates;return Rg(e,function(s){var o=s.geometry.coordinates[0],a=s.geometry.coordinates[1],l=pm(i,o,a,t);l<r&&(r=l)}),Pc(r,"degrees",t.units)}function pm(n,e,t,r){var i=[t[0]-e[0],t[1]-e[1]],s=[n[0]-e[0],n[1]-e[1]],o=pf(s,i);if(o<=0)return Lc(n,e,{method:r.method,units:"degrees"});var a=pf(i,i);if(a<=o)return Lc(n,t,{method:r.method,units:"degrees"});var l=o/a,u=[e[0]+l*i[0],e[1]+l*i[1]];return Lc(n,u,{method:r.method,units:"degrees"})}function pf(n,e){return n[0]*e[0]+n[1]*e[1]}function Lc(n,e,t){return t.method==="planar"?df(n,e,t):Oi(n,e,t)}function gm(n,e){const t=Xe(n),r=Dn(e);return dm(t,r,{units:"meters"})}function mm(n,e,t,r){r===void 0&&(r={});var i=e<0,s=Pc(Math.abs(e),r.units,"meters");i&&(s=-Math.abs(s));var o=lr(n),a=vm(o,s,t);return a[0]+=a[0]-o[0]>180?-360:o[0]-a[0]>180?360:0,Xe(a,r.properties)}function vm(n,e,t,r){r=r===void 0?Ut:Number(r);var i=e/r,s=n[0]*Math.PI/180,o=$t(n[1]),a=$t(t),l=i*Math.cos(a),u=o+l;Math.abs(u)>Math.PI/2&&(u=u>0?Math.PI-u:-Math.PI-u);var h=Math.log(Math.tan(u/2+Math.PI/4)/Math.tan(o/2+Math.PI/4)),f=Math.abs(h)>1e-11?l/h:Math.cos(o),p=i*Math.sin(a)/f,v=s+p;return[(v*180/Math.PI+540)%360-180,u*180/Math.PI]}function ym(n,e,t,r){const[i,s,o]=n,a=mm(Xe([i,s]),e,t,{units:"meters"});if(!(!a||!a.geometry||!a.geometry.coordinates))return r=r||[0,0,0],r[0]=a.geometry.coordinates[0],r[1]=a.geometry.coordinates[1],r[2]=o,r}function gf(n,e){return df(Xe(n),Xe(e),{units:"meters"})}function _m(n,e,t){t===void 0&&(t={});var r;t.final?r=mf(lr(e),lr(n)):r=mf(lr(n),lr(e));var i=r>180?-(360-r):r;return i}function mf(n,e){var t=$t(n[1]),r=$t(e[1]),i=$t(e[0]-n[0]);i>Math.PI&&(i-=2*Math.PI),i<-Math.PI&&(i+=2*Math.PI);var s=Math.log(Math.tan(r/2+Math.PI/4)/Math.tan(t/2+Math.PI/4)),o=Math.atan2(i,s);return(Su(o)+360)%360}function wm(n,e){return _m(Xe(n),Xe(e))}function On(n){var e=[1/0,1/0,-1/0,-1/0];return Ba(n,function(t){e[0]>t[0]&&(e[0]=t[0]),e[1]>t[1]&&(e[1]=t[1]),e[2]<t[0]&&(e[2]=t[0]),e[3]<t[1]&&(e[3]=t[1])}),e}On.default=On;function Mn(n,e,t){if(t===void 0&&(t={}),!n)throw new Error("point is required");if(!e)throw new Error("polygon is required");var r=lr(n),i=Wr(e),s=i.type,o=e.bbox,a=i.coordinates;if(o&&Em(r,o)===!1)return!1;s==="Polygon"&&(a=[a]);for(var l=!1,u=0;u<a.length&&!l;u++)if(vf(r,a[u][0],t.ignoreBoundary)){for(var h=!1,f=1;f<a[u].length&&!h;)vf(r,a[u][f],!t.ignoreBoundary)&&(h=!0),f++;h||(l=!0)}return l}function vf(n,e,t){var r=!1;e[0][0]===e[e.length-1][0]&&e[0][1]===e[e.length-1][1]&&(e=e.slice(0,e.length-1));for(var i=0,s=e.length-1;i<e.length;s=i++){var o=e[i][0],a=e[i][1],l=e[s][0],u=e[s][1],h=n[1]*(o-l)+a*(l-n[0])+u*(n[0]-o)===0&&(o-n[0])*(l-n[0])<=0&&(a-n[1])*(u-n[1])<=0;if(h)return!t;var f=a>n[1]!=u>n[1]&&n[0]<(l-o)*(n[1]-a)/(u-a)+o;f&&(r=!r)}return r}function Em(n,e){return e[0]<=n[0]&&e[1]<=n[1]&&e[2]>=n[0]&&e[3]>=n[1]}function Mi(n,e,t){t===void 0&&(t={});for(var r=lr(n),i=qs(e),s=0;s<i.length-1;s++){var o=!1;if(t.ignoreEndVertices&&(s===0&&(o="start"),s===i.length-2&&(o="end"),s===0&&s+1===i.length-1&&(o="both")),Sm(i[s],i[s+1],r,o,typeof t.epsilon>"u"?null:t.epsilon))return!0}return!1}function Sm(n,e,t,r,i){var s=t[0],o=t[1],a=n[0],l=n[1],u=e[0],h=e[1],f=t[0]-a,p=t[1]-l,v=u-a,w=h-l,I=f*w-p*v;if(i!==null){if(Math.abs(I)>i)return!1}else if(I!==0)return!1;if(r){if(r==="start")return Math.abs(v)>=Math.abs(w)?v>0?a<s&&s<=u:u<=s&&s<a:w>0?l<o&&o<=h:h<=o&&o<l;if(r==="end")return Math.abs(v)>=Math.abs(w)?v>0?a<=s&&s<u:u<s&&s<=a:w>0?l<=o&&o<h:h<o&&o<=l;if(r==="both")return Math.abs(v)>=Math.abs(w)?v>0?a<s&&s<u:u<s&&s<a:w>0?l<o&&o<h:h<o&&o<l}else return Math.abs(v)>=Math.abs(w)?v>0?a<=s&&s<=u:u<=s&&s<=a:w>0?l<=o&&o<=h:h<=o&&o<=l;return!1}function Cm(n,e){var t=Wr(n),r=Wr(e),i=t.type,s=r.type,o=t.coordinates,a=r.coordinates;switch(i){case"Point":switch(s){case"Point":return Ac(o,a);default:throw new Error("feature2 "+s+" geometry not supported")}case"MultiPoint":switch(s){case"Point":return Pm(t,r);case"MultiPoint":return Im(t,r);default:throw new Error("feature2 "+s+" geometry not supported")}case"LineString":switch(s){case"Point":return Mi(r,t,{ignoreEndVertices:!0});case"LineString":return Nm(t,r);case"MultiPoint":return Tm(t,r);default:throw new Error("feature2 "+s+" geometry not supported")}case"Polygon":switch(s){case"Point":return Mn(r,t,{ignoreBoundary:!0});case"LineString":return Dm(t,r);case"Polygon":return Om(t,r);case"MultiPoint":return bm(t,r);default:throw new Error("feature2 "+s+" geometry not supported")}default:throw new Error("feature1 "+i+" geometry not supported")}}function Pm(n,e){var t,r=!1;for(t=0;t<n.coordinates.length;t++)if(Ac(n.coordinates[t],e.coordinates)){r=!0;break}return r}function Im(n,e){for(var t=0,r=e.coordinates;t<r.length;t++){for(var i=r[t],s=!1,o=0,a=n.coordinates;o<a.length;o++){var l=a[o];if(Ac(i,l)){s=!0;break}}if(!s)return!1}return!0}function Tm(n,e){for(var t=!1,r=0,i=e.coordinates;r<i.length;r++){var s=i[r];if(Mi(s,n,{ignoreEndVertices:!0})&&(t=!0),!Mi(s,n))return!1}return!!t}function bm(n,e){for(var t=0,r=e.coordinates;t<r.length;t++){var i=r[t];if(!Mn(i,n,{ignoreBoundary:!0}))return!1}return!0}function Nm(n,e){for(var t=!1,r=0,i=e.coordinates;r<i.length;r++){var s=i[r];if(Mi({type:"Point",coordinates:s},n,{ignoreEndVertices:!0})&&(t=!0),!Mi({type:"Point",coordinates:s},n,{ignoreEndVertices:!1}))return!1}return t}function Dm(n,e){var t=!1,r=0,i=On(n),s=On(e);if(!yf(i,s))return!1;for(r;r<e.coordinates.length-1;r++){var o=Mm(e.coordinates[r],e.coordinates[r+1]);if(Mn({type:"Point",coordinates:o},n,{ignoreBoundary:!0})){t=!0;break}}return t}function Om(n,e){if(n.type==="Feature"&&n.geometry===null||e.type==="Feature"&&e.geometry===null)return!1;var t=On(n),r=On(e);if(!yf(t,r))return!1;for(var i=Wr(e).coordinates,s=0,o=i;s<o.length;s++)for(var a=o[s],l=0,u=a;l<u.length;l++){var h=u[l];if(!Mn(h,n))return!1}return!0}function yf(n,e){return!(n[0]>e[0]||n[2]<e[2]||n[1]>e[1]||n[3]<e[3])}function Ac(n,e){return n[0]===e[0]&&n[1]===e[1]}function Mm(n,e){return[(n[0]+e[0])/2,(n[1]+e[1])/2]}function xm(n,e){var t=Wr(n),r=Wr(e),i=t.type,s=r.type;switch(i){case"Point":switch(s){case"MultiPoint":return Lm(t,r);case"LineString":return Mi(t,r,{ignoreEndVertices:!0});case"Polygon":case"MultiPolygon":return Mn(t,r,{ignoreBoundary:!0});default:throw new Error("feature2 "+s+" geometry not supported")}case"MultiPoint":switch(s){case"MultiPoint":return Am(t,r);case"LineString":return Rm(t,r);case"Polygon":case"MultiPolygon":return Fm(t,r);default:throw new Error("feature2 "+s+" geometry not supported")}case"LineString":switch(s){case"LineString":return km(t,r);case"Polygon":case"MultiPolygon":return Vm(t,r);default:throw new Error("feature2 "+s+" geometry not supported")}case"Polygon":switch(s){case"Polygon":case"MultiPolygon":return zm(t,r);default:throw new Error("feature2 "+s+" geometry not supported")}default:throw new Error("feature1 "+i+" geometry not supported")}}function Lm(n,e){var t,r=!1;for(t=0;t<e.coordinates.length;t++)if(wf(e.coordinates[t],n.coordinates)){r=!0;break}return r}function Am(n,e){for(var t=0;t<n.coordinates.length;t++){for(var r=!1,i=0;i<e.coordinates.length;i++)wf(n.coordinates[t],e.coordinates[i])&&(r=!0);if(!r)return!1}return!0}function Rm(n,e){for(var t=!1,r=0;r<n.coordinates.length;r++){if(!Mi(n.coordinates[r],e))return!1;t||(t=Mi(n.coordinates[r],e,{ignoreEndVertices:!0}))}return t}function Fm(n,e){for(var t=!0,r=!1,i=0;i<n.coordinates.length;i++){if(r=Mn(n.coordinates[1],e),!r){t=!1;break}r=Mn(n.coordinates[1],e,{ignoreBoundary:!0})}return t&&r}function km(n,e){for(var t=0;t<n.coordinates.length;t++)if(!Mi(n.coordinates[t],e))return!1;return!0}function Vm(n,e){var t=On(e),r=On(n);if(!_f(t,r))return!1;for(var i=!1,s=0;s<n.coordinates.length-1;s++){if(!Mn(n.coordinates[s],e))return!1;if(i||(i=Mn(n.coordinates[s],e,{ignoreBoundary:!0})),!i){var o=Um(n.coordinates[s],n.coordinates[s+1]);i=Mn(o,e,{ignoreBoundary:!0})}}return i}function zm(n,e){var t=On(n),r=On(e);if(!_f(r,t))return!1;for(var i=0;i<n.coordinates[0].length;i++)if(!Mn(n.coordinates[0][i],e))return!1;return!0}function _f(n,e){return!(n[0]>e[0]||n[2]<e[2]||n[1]>e[1]||n[3]<e[3])}function wf(n,e){return n[0]===e[0]&&n[1]===e[1]}function Um(n,e){return[(n[0]+e[0])/2,(n[1]+e[1])/2]}function Gm(n,e){e===void 0&&(e={});var t=On(n),r=(t[0]+t[2])/2,i=(t[1]+t[3])/2;return Xe([r,i],e.properties,e)}"fill"in Array.prototype||Object.defineProperty(Array.prototype,"fill",{configurable:!0,value:function(e){if(this===void 0||this===null)throw new TypeError(this+" is not an object");var t=Object(this),r=Math.max(Math.min(t.length,9007199254740991),0)||0,i=1 in arguments&&parseInt(Number(arguments[1]),10)||0;i=i<0?Math.max(r+i,0):Math.min(i,r);var s=2 in arguments&&arguments[2]!==void 0?parseInt(Number(arguments[2]),10)||0:r;for(s=s<0?Math.max(r+arguments[2],0):Math.min(s,r);i<s;)t[i]=e,++i;return t},writable:!0}),Number.isFinite=Number.isFinite||function(n){return typeof n=="number"&&isFinite(n)},Number.isInteger=Number.isInteger||function(n){return typeof n=="number"&&isFinite(n)&&Math.floor(n)===n},Number.parseFloat=Number.parseFloat||parseFloat,Number.isNaN=Number.isNaN||function(n){return n!==n},Math.trunc=Math.trunc||function(n){return n<0?Math.ceil(n):Math.floor(n)};var Xs=function(){};Xs.prototype.interfaces_=function(){return[]},Xs.prototype.getClass=function(){return Xs},Xs.prototype.equalsWithTolerance=function(e,t,r){return Math.abs(e-t)<=r};var Ue=function(n){function e(t){n.call(this,t),this.name="IllegalArgumentException",this.message=t,this.stack=new n().stack}return n&&(e.__proto__=n),e.prototype=Object.create(n&&n.prototype),e.prototype.constructor=e,e}(Error),le=function(){},Ef={MAX_VALUE:{configurable:!0}};le.isNaN=function(e){return Number.isNaN(e)},le.doubleToLongBits=function(e){return e},le.longBitsToDouble=function(e){return e},le.isInfinite=function(e){return!Number.isFinite(e)},Ef.MAX_VALUE.get=function(){return Number.MAX_VALUE},Object.defineProperties(le,Ef);var Sr=function(){},Du=function(){},$a=function(){};function Cr(){}var M=function n(){if(this.x=null,this.y=null,this.z=null,arguments.length===0)this.x=0,this.y=0,this.z=n.NULL_ORDINATE;else if(arguments.length===1){var e=arguments[0];this.x=e.x,this.y=e.y,this.z=e.z}else arguments.length===2?(this.x=arguments[0],this.y=arguments[1],this.z=n.NULL_ORDINATE):arguments.length===3&&(this.x=arguments[0],this.y=arguments[1],this.z=arguments[2])},Ys={DimensionalComparator:{configurable:!0},serialVersionUID:{configurable:!0},NULL_ORDINATE:{configurable:!0},X:{configurable:!0},Y:{configurable:!0},Z:{configurable:!0}};M.prototype.setOrdinate=function(e,t){switch(e){case M.X:this.x=t;break;case M.Y:this.y=t;break;case M.Z:this.z=t;break;default:throw new Ue("Invalid ordinate index: "+e)}},M.prototype.equals2D=function(){if(arguments.length===1){var e=arguments[0];return!(this.x!==e.x||this.y!==e.y)}else if(arguments.length===2){var t=arguments[0],r=arguments[1];return!(!Xs.equalsWithTolerance(this.x,t.x,r)||!Xs.equalsWithTolerance(this.y,t.y,r))}},M.prototype.getOrdinate=function(e){switch(e){case M.X:return this.x;case M.Y:return this.y;case M.Z:return this.z}throw new Ue("Invalid ordinate index: "+e)},M.prototype.equals3D=function(e){return this.x===e.x&&this.y===e.y&&(this.z===e.z||le.isNaN(this.z))&&le.isNaN(e.z)},M.prototype.equals=function(e){return e instanceof M?this.equals2D(e):!1},M.prototype.equalInZ=function(e,t){return Xs.equalsWithTolerance(this.z,e.z,t)},M.prototype.compareTo=function(e){var t=e;return this.x<t.x?-1:this.x>t.x?1:this.y<t.y?-1:this.y>t.y?1:0},M.prototype.clone=function(){},M.prototype.copy=function(){return new M(this)},M.prototype.toString=function(){return"("+this.x+", "+this.y+", "+this.z+")"},M.prototype.distance3D=function(e){var t=this.x-e.x,r=this.y-e.y,i=this.z-e.z;return Math.sqrt(t*t+r*r+i*i)},M.prototype.distance=function(e){var t=this.x-e.x,r=this.y-e.y;return Math.sqrt(t*t+r*r)},M.prototype.hashCode=function(){var e=17;return e=37*e+M.hashCode(this.x),e=37*e+M.hashCode(this.y),e},M.prototype.setCoordinate=function(e){this.x=e.x,this.y=e.y,this.z=e.z},M.prototype.interfaces_=function(){return[Sr,Du,Cr]},M.prototype.getClass=function(){return M},M.hashCode=function(){if(arguments.length===1){var e=arguments[0],t=le.doubleToLongBits(e);return Math.trunc((t^t)>>>32)}},Ys.DimensionalComparator.get=function(){return xi},Ys.serialVersionUID.get=function(){return 6683108902428367e3},Ys.NULL_ORDINATE.get=function(){return le.NaN},Ys.X.get=function(){return 0},Ys.Y.get=function(){return 1},Ys.Z.get=function(){return 2},Object.defineProperties(M,Ys);var xi=function(e){if(this._dimensionsToTest=2,arguments.length!==0){if(arguments.length===1){var t=arguments[0];if(t!==2&&t!==3)throw new Ue("only 2 or 3 dimensions may be specified");this._dimensionsToTest=t}}};xi.prototype.compare=function(e,t){var r=e,i=t,s=xi.compare(r.x,i.x);if(s!==0)return s;var o=xi.compare(r.y,i.y);if(o!==0)return o;if(this._dimensionsToTest<=2)return 0;var a=xi.compare(r.z,i.z);return a},xi.prototype.interfaces_=function(){return[$a]},xi.prototype.getClass=function(){return xi},xi.compare=function(e,t){return e<t?-1:e>t?1:le.isNaN(e)?le.isNaN(t)?0:-1:le.isNaN(t)?1:0};var ja=function(){};ja.prototype.create=function(){},ja.prototype.interfaces_=function(){return[]},ja.prototype.getClass=function(){return ja};var R=function(){},Vl={INTERIOR:{configurable:!0},BOUNDARY:{configurable:!0},EXTERIOR:{configurable:!0},NONE:{configurable:!0}};R.prototype.interfaces_=function(){return[]},R.prototype.getClass=function(){return R},R.toLocationSymbol=function(e){switch(e){case R.EXTERIOR:return"e";case R.BOUNDARY:return"b";case R.INTERIOR:return"i";case R.NONE:return"-"}throw new Ue("Unknown location value: "+e)},Vl.INTERIOR.get=function(){return 0},Vl.BOUNDARY.get=function(){return 1},Vl.EXTERIOR.get=function(){return 2},Vl.NONE.get=function(){return-1},Object.defineProperties(R,Vl);var ae=function(n,e){return n.interfaces_&&n.interfaces_().indexOf(e)>-1},ur=function(){},Sf={LOG_10:{configurable:!0}};ur.prototype.interfaces_=function(){return[]},ur.prototype.getClass=function(){return ur},ur.log10=function(e){var t=Math.log(e);return le.isInfinite(t)||le.isNaN(t)?t:t/ur.LOG_10},ur.min=function(e,t,r,i){var s=e;return t<s&&(s=t),r<s&&(s=r),i<s&&(s=i),s},ur.clamp=function(){if(typeof arguments[2]=="number"&&typeof arguments[0]=="number"&&typeof arguments[1]=="number"){var e=arguments[0],t=arguments[1],r=arguments[2];return e<t?t:e>r?r:e}else if(Number.isInteger(arguments[2])&&Number.isInteger(arguments[0])&&Number.isInteger(arguments[1])){var i=arguments[0],s=arguments[1],o=arguments[2];return i<s?s:i>o?o:i}},ur.wrap=function(e,t){return e<0?t- -e%t:e%t},ur.max=function(){if(arguments.length===3){var e=arguments[0],t=arguments[1],r=arguments[2],i=e;return t>i&&(i=t),r>i&&(i=r),i}else if(arguments.length===4){var s=arguments[0],o=arguments[1],a=arguments[2],l=arguments[3],u=s;return o>u&&(u=o),a>u&&(u=a),l>u&&(u=l),u}},ur.average=function(e,t){return(e+t)/2},Sf.LOG_10.get=function(){return Math.log(10)},Object.defineProperties(ur,Sf);var on=function(e){this.str=e};on.prototype.append=function(e){this.str+=e},on.prototype.setCharAt=function(e,t){this.str=this.str.substr(0,e)+t+this.str.substr(e+1)},on.prototype.toString=function(e){return this.str};var an=function(e){this.value=e};an.prototype.intValue=function(){return this.value},an.prototype.compareTo=function(e){return this.value<e?-1:this.value>e?1:0},an.isNaN=function(e){return Number.isNaN(e)};var zl=function(){};zl.isWhitespace=function(e){return e<=32&&e>=0||e===127},zl.toUpperCase=function(e){return e.toUpperCase()};var V=function n(){if(this._hi=0,this._lo=0,arguments.length===0)this.init(0);else if(arguments.length===1){if(typeof arguments[0]=="number"){var e=arguments[0];this.init(e)}else if(arguments[0]instanceof n){var t=arguments[0];this.init(t)}else if(typeof arguments[0]=="string"){var r=arguments[0];n.call(this,n.parse(r))}}else if(arguments.length===2){var i=arguments[0],s=arguments[1];this.init(i,s)}},qr={PI:{configurable:!0},TWO_PI:{configurable:!0},PI_2:{configurable:!0},E:{configurable:!0},NaN:{configurable:!0},EPS:{configurable:!0},SPLIT:{configurable:!0},MAX_PRINT_DIGITS:{configurable:!0},TEN:{configurable:!0},ONE:{configurable:!0},SCI_NOT_EXPONENT_CHAR:{configurable:!0},SCI_NOT_ZERO:{configurable:!0}};V.prototype.le=function(e){return(this._hi<e._hi||this._hi===e._hi)&&this._lo<=e._lo},V.prototype.extractSignificantDigits=function(e,t){var r=this.abs(),i=V.magnitude(r._hi),s=V.TEN.pow(i);r=r.divide(s),r.gt(V.TEN)?(r=r.divide(V.TEN),i+=1):r.lt(V.ONE)&&(r=r.multiply(V.TEN),i-=1);for(var o=i+1,a=new on,l=V.MAX_PRINT_DIGITS-1,u=0;u<=l;u++){e&&u===o&&a.append(".");var h=Math.trunc(r._hi);if(h<0)break;var f=!1,p=0;h>9?(f=!0,p="9"):p="0"+h,a.append(p),r=r.subtract(V.valueOf(h)).multiply(V.TEN),f&&r.selfAdd(V.TEN);var v=!0,w=V.magnitude(r._hi);if(w<0&&Math.abs(w)>=l-u&&(v=!1),!v)break}return t[0]=i,a.toString()},V.prototype.sqr=function(){return this.multiply(this)},V.prototype.doubleValue=function(){return this._hi+this._lo},V.prototype.subtract=function(){if(arguments[0]instanceof V){var e=arguments[0];return this.add(e.negate())}else if(typeof arguments[0]=="number"){var t=arguments[0];return this.add(-t)}},V.prototype.equals=function(){if(arguments.length===1){var e=arguments[0];return this._hi===e._hi&&this._lo===e._lo}},V.prototype.isZero=function(){return this._hi===0&&this._lo===0},V.prototype.selfSubtract=function(){if(arguments[0]instanceof V){var e=arguments[0];return this.isNaN()?this:this.selfAdd(-e._hi,-e._lo)}else if(typeof arguments[0]=="number"){var t=arguments[0];return this.isNaN()?this:this.selfAdd(-t,0)}},V.prototype.getSpecialNumberString=function(){return this.isZero()?"0.0":this.isNaN()?"NaN ":null},V.prototype.min=function(e){return this.le(e)?this:e},V.prototype.selfDivide=function(){if(arguments.length===1){if(arguments[0]instanceof V){var e=arguments[0];return this.selfDivide(e._hi,e._lo)}else if(typeof arguments[0]=="number"){var t=arguments[0];return this.selfDivide(t,0)}}else if(arguments.length===2){var r=arguments[0],i=arguments[1],s=null,o=null,a=null,l=null,u=null,h=null,f=null,p=null;return u=this._hi/r,h=V.SPLIT*u,s=h-u,p=V.SPLIT*r,s=h-s,o=u-s,a=p-r,f=u*r,a=p-a,l=r-a,p=s*a-f+s*l+o*a+o*l,h=(this._hi-f-p+this._lo-u*i)/r,p=u+h,this._hi=p,this._lo=u-p+h,this}},V.prototype.dump=function(){return"DD<"+this._hi+", "+this._lo+">"},V.prototype.divide=function(){if(arguments[0]instanceof V){var e=arguments[0],t=null,r=null,i=null,s=null,o=null,a=null,l=null,u=null;o=this._hi/e._hi,a=V.SPLIT*o,t=a-o,u=V.SPLIT*e._hi,t=a-t,r=o-t,i=u-e._hi,l=o*e._hi,i=u-i,s=e._hi-i,u=t*i-l+t*s+r*i+r*s,a=(this._hi-l-u+this._lo-o*e._lo)/e._hi,u=o+a;var h=u,f=o-u+a;return new V(h,f)}else if(typeof arguments[0]=="number"){var p=arguments[0];return le.isNaN(p)?V.createNaN():V.copy(this).selfDivide(p,0)}},V.prototype.ge=function(e){return(this._hi>e._hi||this._hi===e._hi)&&this._lo>=e._lo},V.prototype.pow=function(e){if(e===0)return V.valueOf(1);var t=new V(this),r=V.valueOf(1),i=Math.abs(e);if(i>1)for(;i>0;)i%2===1&&r.selfMultiply(t),i/=2,i>0&&(t=t.sqr());else r=t;return e<0?r.reciprocal():r},V.prototype.ceil=function(){if(this.isNaN())return V.NaN;var e=Math.ceil(this._hi),t=0;return e===this._hi&&(t=Math.ceil(this._lo)),new V(e,t)},V.prototype.compareTo=function(e){var t=e;return this._hi<t._hi?-1:this._hi>t._hi?1:this._lo<t._lo?-1:this._lo>t._lo?1:0},V.prototype.rint=function(){if(this.isNaN())return this;var e=this.add(.5);return e.floor()},V.prototype.setValue=function(){if(arguments[0]instanceof V){var e=arguments[0];return this.init(e),this}else if(typeof arguments[0]=="number"){var t=arguments[0];return this.init(t),this}},V.prototype.max=function(e){return this.ge(e)?this:e},V.prototype.sqrt=function(){if(this.isZero())return V.valueOf(0);if(this.isNegative())return V.NaN;var e=1/Math.sqrt(this._hi),t=this._hi*e,r=V.valueOf(t),i=this.subtract(r.sqr()),s=i._hi*(e*.5);return r.add(s)},V.prototype.selfAdd=function(){if(arguments.length===1){if(arguments[0]instanceof V){var e=arguments[0];return this.selfAdd(e._hi,e._lo)}else if(typeof arguments[0]=="number"){var t=arguments[0],r=null,i=null,s=null,o=null,a=null,l=null;return s=this._hi+t,a=s-this._hi,o=s-a,o=t-a+(this._hi-o),l=o+this._lo,r=s+l,i=l+(s-r),this._hi=r+i,this._lo=i+(r-this._hi),this}}else if(arguments.length===2){var u=arguments[0],h=arguments[1],f=null,p=null,v=null,w=null,I=null,T=null,L=null,m=null;I=this._hi+u,v=this._lo+h,L=I-this._hi,m=v-this._lo,T=I-L,w=v-m,T=u-L+(this._hi-T),w=h-m+(this._lo-w),L=T+v,f=I+L,p=L+(I-f),L=w+p;var _=f+L,g=L+(f-_);return this._hi=_,this._lo=g,this}},V.prototype.selfMultiply=function(){if(arguments.length===1){if(arguments[0]instanceof V){var e=arguments[0];return this.selfMultiply(e._hi,e._lo)}else if(typeof arguments[0]=="number"){var t=arguments[0];return this.selfMultiply(t,0)}}else if(arguments.length===2){var r=arguments[0],i=arguments[1],s=null,o=null,a=null,l=null,u=null,h=null;u=V.SPLIT*this._hi,s=u-this._hi,h=V.SPLIT*r,s=u-s,o=this._hi-s,a=h-r,u=this._hi*r,a=h-a,l=r-a,h=s*a-u+s*l+o*a+o*l+(this._hi*i+this._lo*r);var f=u+h;s=u-f;var p=h+s;return this._hi=f,this._lo=p,this}},V.prototype.selfSqr=function(){return this.selfMultiply(this)},V.prototype.floor=function(){if(this.isNaN())return V.NaN;var e=Math.floor(this._hi),t=0;return e===this._hi&&(t=Math.floor(this._lo)),new V(e,t)},V.prototype.negate=function(){return this.isNaN()?this:new V(-this._hi,-this._lo)},V.prototype.clone=function(){},V.prototype.multiply=function(){if(arguments[0]instanceof V){var e=arguments[0];return e.isNaN()?V.createNaN():V.copy(this).selfMultiply(e)}else if(typeof arguments[0]=="number"){var t=arguments[0];return le.isNaN(t)?V.createNaN():V.copy(this).selfMultiply(t,0)}},V.prototype.isNaN=function(){return le.isNaN(this._hi)},V.prototype.intValue=function(){return Math.trunc(this._hi)},V.prototype.toString=function(){var e=V.magnitude(this._hi);return e>=-3&&e<=20?this.toStandardNotation():this.toSciNotation()},V.prototype.toStandardNotation=function(){var e=this.getSpecialNumberString();if(e!==null)return e;var t=new Array(1).fill(null),r=this.extractSignificantDigits(!0,t),i=t[0]+1,s=r;if(r.charAt(0)===".")s="0"+r;else if(i<0)s="0."+V.stringOfChar("0",-i)+r;else if(r.indexOf(".")===-1){var o=i-r.length,a=V.stringOfChar("0",o);s=r+a+".0"}return this.isNegative()?"-"+s:s},V.prototype.reciprocal=function(){var e=null,t=null,r=null,i=null,s=null,o=null,a=null,l=null;s=1/this._hi,o=V.SPLIT*s,e=o-s,l=V.SPLIT*this._hi,e=o-e,t=s-e,r=l-this._hi,a=s*this._hi,r=l-r,i=this._hi-r,l=e*r-a+e*i+t*r+t*i,o=(1-a-l-s*this._lo)/this._hi;var u=s+o,h=s-u+o;return new V(u,h)},V.prototype.toSciNotation=function(){if(this.isZero())return V.SCI_NOT_ZERO;var e=this.getSpecialNumberString();if(e!==null)return e;var t=new Array(1).fill(null),r=this.extractSignificantDigits(!1,t),i=V.SCI_NOT_EXPONENT_CHAR+t[0];if(r.charAt(0)==="0")throw new Error("Found leading zero: "+r);var s="";r.length>1&&(s=r.substring(1));var o=r.charAt(0)+"."+s;return this.isNegative()?"-"+o+i:o+i},V.prototype.abs=function(){return this.isNaN()?V.NaN:this.isNegative()?this.negate():new V(this)},V.prototype.isPositive=function(){return(this._hi>0||this._hi===0)&&this._lo>0},V.prototype.lt=function(e){return(this._hi<e._hi||this._hi===e._hi)&&this._lo<e._lo},V.prototype.add=function(){if(arguments[0]instanceof V){var e=arguments[0];return V.copy(this).selfAdd(e)}else if(typeof arguments[0]=="number"){var t=arguments[0];return V.copy(this).selfAdd(t)}},V.prototype.init=function(){if(arguments.length===1){if(typeof arguments[0]=="number"){var e=arguments[0];this._hi=e,this._lo=0}else if(arguments[0]instanceof V){var t=arguments[0];this._hi=t._hi,this._lo=t._lo}}else if(arguments.length===2){var r=arguments[0],i=arguments[1];this._hi=r,this._lo=i}},V.prototype.gt=function(e){return(this._hi>e._hi||this._hi===e._hi)&&this._lo>e._lo},V.prototype.isNegative=function(){return(this._hi<0||this._hi===0)&&this._lo<0},V.prototype.trunc=function(){return this.isNaN()?V.NaN:this.isPositive()?this.floor():this.ceil()},V.prototype.signum=function(){return this._hi>0?1:this._hi<0?-1:this._lo>0?1:this._lo<0?-1:0},V.prototype.interfaces_=function(){return[Cr,Sr,Du]},V.prototype.getClass=function(){return V},V.sqr=function(e){return V.valueOf(e).selfMultiply(e)},V.valueOf=function(){if(typeof arguments[0]=="string"){var e=arguments[0];return V.parse(e)}else if(typeof arguments[0]=="number"){var t=arguments[0];return new V(t)}},V.sqrt=function(e){return V.valueOf(e).sqrt()},V.parse=function(e){for(var t=0,r=e.length;zl.isWhitespace(e.charAt(t));)t++;var i=!1;if(t<r){var s=e.charAt(t);(s==="-"||s==="+")&&(t++,s==="-"&&(i=!0))}for(var o=new V,a=0,l=0,u=0;!(t>=r);){var h=e.charAt(t);if(t++,zl.isDigit(h)){var f=h-"0";o.selfMultiply(V.TEN),o.selfAdd(f),a++;continue}if(h==="."){l=a;continue}if(h==="e"||h==="E"){var p=e.substring(t);try{u=an.parseInt(p)}catch(L){throw L instanceof Error?new Error("Invalid exponent "+p+" in string "+e):L}finally{}break}throw new Error("Unexpected character '"+h+"' at position "+t+" in string "+e)}var v=o,w=a-l-u;if(w===0)v=o;else if(w>0){var I=V.TEN.pow(w);v=o.divide(I)}else if(w<0){var T=V.TEN.pow(-w);v=o.multiply(T)}return i?v.negate():v},V.createNaN=function(){return new V(le.NaN,le.NaN)},V.copy=function(e){return new V(e)},V.magnitude=function(e){var t=Math.abs(e),r=Math.log(t)/Math.log(10),i=Math.trunc(Math.floor(r)),s=Math.pow(10,i);return s*10<=t&&(i+=1),i},V.stringOfChar=function(e,t){for(var r=new on,i=0;i<t;i++)r.append(e);return r.toString()},qr.PI.get=function(){return new V(3.141592653589793,12246467991473532e-32)},qr.TWO_PI.get=function(){return new V(6.283185307179586,24492935982947064e-32)},qr.PI_2.get=function(){return new V(1.5707963267948966,6123233995736766e-32)},qr.E.get=function(){return new V(2.718281828459045,14456468917292502e-32)},qr.NaN.get=function(){return new V(le.NaN,le.NaN)},qr.EPS.get=function(){return 123259516440783e-46},qr.SPLIT.get=function(){return 134217729},qr.MAX_PRINT_DIGITS.get=function(){return 32},qr.TEN.get=function(){return V.valueOf(10)},qr.ONE.get=function(){return V.valueOf(1)},qr.SCI_NOT_EXPONENT_CHAR.get=function(){return"E"},qr.SCI_NOT_ZERO.get=function(){return"0.0E0"},Object.defineProperties(V,qr);var Gt=function(){},Cf={DP_SAFE_EPSILON:{configurable:!0}};Gt.prototype.interfaces_=function(){return[]},Gt.prototype.getClass=function(){return Gt},Gt.orientationIndex=function(e,t,r){var i=Gt.orientationIndexFilter(e,t,r);if(i<=1)return i;var s=V.valueOf(t.x).selfAdd(-e.x),o=V.valueOf(t.y).selfAdd(-e.y),a=V.valueOf(r.x).selfAdd(-t.x),l=V.valueOf(r.y).selfAdd(-t.y);return s.selfMultiply(l).selfSubtract(o.selfMultiply(a)).signum()},Gt.signOfDet2x2=function(e,t,r,i){var s=e.multiply(i).selfSubtract(t.multiply(r));return s.signum()},Gt.intersection=function(e,t,r,i){var s=V.valueOf(i.y).selfSubtract(r.y).selfMultiply(V.valueOf(t.x).selfSubtract(e.x)),o=V.valueOf(i.x).selfSubtract(r.x).selfMultiply(V.valueOf(t.y).selfSubtract(e.y)),a=s.subtract(o),l=V.valueOf(i.x).selfSubtract(r.x).selfMultiply(V.valueOf(e.y).selfSubtract(r.y)),u=V.valueOf(i.y).selfSubtract(r.y).selfMultiply(V.valueOf(e.x).selfSubtract(r.x)),h=l.subtract(u),f=h.selfDivide(a).doubleValue(),p=V.valueOf(e.x).selfAdd(V.valueOf(t.x).selfSubtract(e.x).selfMultiply(f)).doubleValue(),v=V.valueOf(t.x).selfSubtract(e.x).selfMultiply(V.valueOf(e.y).selfSubtract(r.y)),w=V.valueOf(t.y).selfSubtract(e.y).selfMultiply(V.valueOf(e.x).selfSubtract(r.x)),I=v.subtract(w),T=I.selfDivide(a).doubleValue(),L=V.valueOf(r.y).selfAdd(V.valueOf(i.y).selfSubtract(r.y).selfMultiply(T)).doubleValue();return new M(p,L)},Gt.orientationIndexFilter=function(e,t,r){var i=null,s=(e.x-r.x)*(t.y-r.y),o=(e.y-r.y)*(t.x-r.x),a=s-o;if(s>0){if(o<=0)return Gt.signum(a);i=s+o}else if(s<0){if(o>=0)return Gt.signum(a);i=-s-o}else return Gt.signum(a);var l=Gt.DP_SAFE_EPSILON*i;return a>=l||-a>=l?Gt.signum(a):2},Gt.signum=function(e){return e>0?1:e<0?-1:0},Cf.DP_SAFE_EPSILON.get=function(){return 1e-15},Object.defineProperties(Gt,Cf);var Ee=function(){},Ul={X:{configurable:!0},Y:{configurable:!0},Z:{configurable:!0},M:{configurable:!0}};Ul.X.get=function(){return 0},Ul.Y.get=function(){return 1},Ul.Z.get=function(){return 2},Ul.M.get=function(){return 3},Ee.prototype.setOrdinate=function(e,t,r){},Ee.prototype.size=function(){},Ee.prototype.getOrdinate=function(e,t){},Ee.prototype.getCoordinate=function(){},Ee.prototype.getCoordinateCopy=function(e){},Ee.prototype.getDimension=function(){},Ee.prototype.getX=function(e){},Ee.prototype.clone=function(){},Ee.prototype.expandEnvelope=function(e){},Ee.prototype.copy=function(){},Ee.prototype.getY=function(e){},Ee.prototype.toCoordinateArray=function(){},Ee.prototype.interfaces_=function(){return[Du]},Ee.prototype.getClass=function(){return Ee},Object.defineProperties(Ee,Ul);var Pf=function(){},el=function(n){function e(){n.call(this,"Projective point not representable on the Cartesian plane.")}return n&&(e.__proto__=n),e.prototype=Object.create(n&&n.prototype),e.prototype.constructor=e,e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(Pf),mt=function(){};mt.arraycopy=function(e,t,r,i,s){for(var o=0,a=t;a<t+s;a++)r[i+o]=e[a],o++},mt.getProperty=function(e){return{"line.separator":`
4
+ `}[e]};var Xr=function n(){if(this.x=null,this.y=null,this.w=null,arguments.length===0)this.x=0,this.y=0,this.w=1;else if(arguments.length===1){var e=arguments[0];this.x=e.x,this.y=e.y,this.w=1}else if(arguments.length===2){if(typeof arguments[0]=="number"&&typeof arguments[1]=="number"){var t=arguments[0],r=arguments[1];this.x=t,this.y=r,this.w=1}else if(arguments[0]instanceof n&&arguments[1]instanceof n){var i=arguments[0],s=arguments[1];this.x=i.y*s.w-s.y*i.w,this.y=s.x*i.w-i.x*s.w,this.w=i.x*s.y-s.x*i.y}else if(arguments[0]instanceof M&&arguments[1]instanceof M){var o=arguments[0],a=arguments[1];this.x=o.y-a.y,this.y=a.x-o.x,this.w=o.x*a.y-a.x*o.y}}else if(arguments.length===3){var l=arguments[0],u=arguments[1],h=arguments[2];this.x=l,this.y=u,this.w=h}else if(arguments.length===4){var f=arguments[0],p=arguments[1],v=arguments[2],w=arguments[3],I=f.y-p.y,T=p.x-f.x,L=f.x*p.y-p.x*f.y,m=v.y-w.y,_=w.x-v.x,g=v.x*w.y-w.x*v.y;this.x=T*g-_*L,this.y=m*L-I*g,this.w=I*_-m*T}};Xr.prototype.getY=function(){var e=this.y/this.w;if(le.isNaN(e)||le.isInfinite(e))throw new el;return e},Xr.prototype.getX=function(){var e=this.x/this.w;if(le.isNaN(e)||le.isInfinite(e))throw new el;return e},Xr.prototype.getCoordinate=function(){var e=new M;return e.x=this.getX(),e.y=this.getY(),e},Xr.prototype.interfaces_=function(){return[]},Xr.prototype.getClass=function(){return Xr},Xr.intersection=function(e,t,r,i){var s=e.y-t.y,o=t.x-e.x,a=e.x*t.y-t.x*e.y,l=r.y-i.y,u=i.x-r.x,h=r.x*i.y-i.x*r.y,f=o*h-u*a,p=l*a-s*h,v=s*u-l*o,w=f/v,I=p/v;if(le.isNaN(w)||le.isInfinite(w)||le.isNaN(I)||le.isInfinite(I))throw new el;return new M(w,I)};var te=function n(){if(this._minx=null,this._maxx=null,this._miny=null,this._maxy=null,arguments.length===0)this.init();else if(arguments.length===1){if(arguments[0]instanceof M){var e=arguments[0];this.init(e.x,e.x,e.y,e.y)}else if(arguments[0]instanceof n){var t=arguments[0];this.init(t)}}else if(arguments.length===2){var r=arguments[0],i=arguments[1];this.init(r.x,i.x,r.y,i.y)}else if(arguments.length===4){var s=arguments[0],o=arguments[1],a=arguments[2],l=arguments[3];this.init(s,o,a,l)}},If={serialVersionUID:{configurable:!0}};te.prototype.getArea=function(){return this.getWidth()*this.getHeight()},te.prototype.equals=function(e){if(!(e instanceof te))return!1;var t=e;return this.isNull()?t.isNull():this._maxx===t.getMaxX()&&this._maxy===t.getMaxY()&&this._minx===t.getMinX()&&this._miny===t.getMinY()},te.prototype.intersection=function(e){if(this.isNull()||e.isNull()||!this.intersects(e))return new te;var t=this._minx>e._minx?this._minx:e._minx,r=this._miny>e._miny?this._miny:e._miny,i=this._maxx<e._maxx?this._maxx:e._maxx,s=this._maxy<e._maxy?this._maxy:e._maxy;return new te(t,i,r,s)},te.prototype.isNull=function(){return this._maxx<this._minx},te.prototype.getMaxX=function(){return this._maxx},te.prototype.covers=function(){if(arguments.length===1){if(arguments[0]instanceof M){var e=arguments[0];return this.covers(e.x,e.y)}else if(arguments[0]instanceof te){var t=arguments[0];return this.isNull()||t.isNull()?!1:t.getMinX()>=this._minx&&t.getMaxX()<=this._maxx&&t.getMinY()>=this._miny&&t.getMaxY()<=this._maxy}}else if(arguments.length===2){var r=arguments[0],i=arguments[1];return this.isNull()?!1:r>=this._minx&&r<=this._maxx&&i>=this._miny&&i<=this._maxy}},te.prototype.intersects=function(){if(arguments.length===1){if(arguments[0]instanceof te){var e=arguments[0];return this.isNull()||e.isNull()?!1:!(e._minx>this._maxx||e._maxx<this._minx||e._miny>this._maxy||e._maxy<this._miny)}else if(arguments[0]instanceof M){var t=arguments[0];return this.intersects(t.x,t.y)}}else if(arguments.length===2){var r=arguments[0],i=arguments[1];return this.isNull()?!1:!(r>this._maxx||r<this._minx||i>this._maxy||i<this._miny)}},te.prototype.getMinY=function(){return this._miny},te.prototype.getMinX=function(){return this._minx},te.prototype.expandToInclude=function(){if(arguments.length===1){if(arguments[0]instanceof M){var e=arguments[0];this.expandToInclude(e.x,e.y)}else if(arguments[0]instanceof te){var t=arguments[0];if(t.isNull())return null;this.isNull()?(this._minx=t.getMinX(),this._maxx=t.getMaxX(),this._miny=t.getMinY(),this._maxy=t.getMaxY()):(t._minx<this._minx&&(this._minx=t._minx),t._maxx>this._maxx&&(this._maxx=t._maxx),t._miny<this._miny&&(this._miny=t._miny),t._maxy>this._maxy&&(this._maxy=t._maxy))}}else if(arguments.length===2){var r=arguments[0],i=arguments[1];this.isNull()?(this._minx=r,this._maxx=r,this._miny=i,this._maxy=i):(r<this._minx&&(this._minx=r),r>this._maxx&&(this._maxx=r),i<this._miny&&(this._miny=i),i>this._maxy&&(this._maxy=i))}},te.prototype.minExtent=function(){if(this.isNull())return 0;var e=this.getWidth(),t=this.getHeight();return e<t?e:t},te.prototype.getWidth=function(){return this.isNull()?0:this._maxx-this._minx},te.prototype.compareTo=function(e){var t=e;return this.isNull()?t.isNull()?0:-1:t.isNull()?1:this._minx<t._minx?-1:this._minx>t._minx?1:this._miny<t._miny?-1:this._miny>t._miny?1:this._maxx<t._maxx?-1:this._maxx>t._maxx?1:this._maxy<t._maxy?-1:this._maxy>t._maxy?1:0},te.prototype.translate=function(e,t){if(this.isNull())return null;this.init(this.getMinX()+e,this.getMaxX()+e,this.getMinY()+t,this.getMaxY()+t)},te.prototype.toString=function(){return"Env["+this._minx+" : "+this._maxx+", "+this._miny+" : "+this._maxy+"]"},te.prototype.setToNull=function(){this._minx=0,this._maxx=-1,this._miny=0,this._maxy=-1},te.prototype.getHeight=function(){return this.isNull()?0:this._maxy-this._miny},te.prototype.maxExtent=function(){if(this.isNull())return 0;var e=this.getWidth(),t=this.getHeight();return e>t?e:t},te.prototype.expandBy=function(){if(arguments.length===1){var e=arguments[0];this.expandBy(e,e)}else if(arguments.length===2){var t=arguments[0],r=arguments[1];if(this.isNull())return null;this._minx-=t,this._maxx+=t,this._miny-=r,this._maxy+=r,(this._minx>this._maxx||this._miny>this._maxy)&&this.setToNull()}},te.prototype.contains=function(){if(arguments.length===1){if(arguments[0]instanceof te){var e=arguments[0];return this.covers(e)}else if(arguments[0]instanceof M){var t=arguments[0];return this.covers(t)}}else if(arguments.length===2){var r=arguments[0],i=arguments[1];return this.covers(r,i)}},te.prototype.centre=function(){return this.isNull()?null:new M((this.getMinX()+this.getMaxX())/2,(this.getMinY()+this.getMaxY())/2)},te.prototype.init=function(){if(arguments.length===0)this.setToNull();else if(arguments.length===1){if(arguments[0]instanceof M){var e=arguments[0];this.init(e.x,e.x,e.y,e.y)}else if(arguments[0]instanceof te){var t=arguments[0];this._minx=t._minx,this._maxx=t._maxx,this._miny=t._miny,this._maxy=t._maxy}}else if(arguments.length===2){var r=arguments[0],i=arguments[1];this.init(r.x,i.x,r.y,i.y)}else if(arguments.length===4){var s=arguments[0],o=arguments[1],a=arguments[2],l=arguments[3];s<o?(this._minx=s,this._maxx=o):(this._minx=o,this._maxx=s),a<l?(this._miny=a,this._maxy=l):(this._miny=l,this._maxy=a)}},te.prototype.getMaxY=function(){return this._maxy},te.prototype.distance=function(e){if(this.intersects(e))return 0;var t=0;this._maxx<e._minx?t=e._minx-this._maxx:this._minx>e._maxx&&(t=this._minx-e._maxx);var r=0;return this._maxy<e._miny?r=e._miny-this._maxy:this._miny>e._maxy&&(r=this._miny-e._maxy),t===0?r:r===0?t:Math.sqrt(t*t+r*r)},te.prototype.hashCode=function(){var e=17;return e=37*e+M.hashCode(this._minx),e=37*e+M.hashCode(this._maxx),e=37*e+M.hashCode(this._miny),e=37*e+M.hashCode(this._maxy),e},te.prototype.interfaces_=function(){return[Sr,Cr]},te.prototype.getClass=function(){return te},te.intersects=function(){if(arguments.length===3){var e=arguments[0],t=arguments[1],r=arguments[2];return r.x>=(e.x<t.x?e.x:t.x)&&r.x<=(e.x>t.x?e.x:t.x)&&r.y>=(e.y<t.y?e.y:t.y)&&r.y<=(e.y>t.y?e.y:t.y)}else if(arguments.length===4){var i=arguments[0],s=arguments[1],o=arguments[2],a=arguments[3],l=Math.min(o.x,a.x),u=Math.max(o.x,a.x),h=Math.min(i.x,s.x),f=Math.max(i.x,s.x);return!(h>u||f<l||(l=Math.min(o.y,a.y),u=Math.max(o.y,a.y),h=Math.min(i.y,s.y),f=Math.max(i.y,s.y),h>u)||f<l)}},If.serialVersionUID.get=function(){return 5873921885273102e3},Object.defineProperties(te,If);var ln={typeStr:/^\s*(\w+)\s*\(\s*(.*)\s*\)\s*$/,emptyTypeStr:/^\s*(\w+)\s*EMPTY\s*$/,spaces:/\s+/,parenComma:/\)\s*,\s*\(/,doubleParenComma:/\)\s*\)\s*,\s*\(\s*\(/,trimParens:/^\s*\(?(.*?)\)?\s*$/},Ou=function(e){this.geometryFactory=e||new ge};Ou.prototype.read=function(e){var t,r,i;e=e.replace(/[\n\r]/g," ");var s=ln.typeStr.exec(e);if(e.search("EMPTY")!==-1&&(s=ln.emptyTypeStr.exec(e),s[2]=void 0),s&&(r=s[1].toLowerCase(),i=s[2],tl[r]&&(t=tl[r].apply(this,[i]))),t===void 0)throw new Error("Could not parse WKT "+e);return t},Ou.prototype.write=function(e){return this.extractGeometry(e)},Ou.prototype.extractGeometry=function(e){var t=e.getGeometryType().toLowerCase();if(!ri[t])return null;var r=t.toUpperCase(),i;return e.isEmpty()?i=r+" EMPTY":i=r+"("+ri[t].apply(this,[e])+")",i};var ri={coordinate:function(e){return e.x+" "+e.y},point:function(e){return ri.coordinate.call(this,e._coordinates._coordinates[0])},multipoint:function(e){for(var t=this,r=[],i=0,s=e._geometries.length;i<s;++i)r.push("("+ri.point.apply(t,[e._geometries[i]])+")");return r.join(",")},linestring:function(e){for(var t=this,r=[],i=0,s=e._points._coordinates.length;i<s;++i)r.push(ri.coordinate.apply(t,[e._points._coordinates[i]]));return r.join(",")},linearring:function(e){for(var t=this,r=[],i=0,s=e._points._coordinates.length;i<s;++i)r.push(ri.coordinate.apply(t,[e._points._coordinates[i]]));return r.join(",")},multilinestring:function(e){for(var t=this,r=[],i=0,s=e._geometries.length;i<s;++i)r.push("("+ri.linestring.apply(t,[e._geometries[i]])+")");return r.join(",")},polygon:function(e){var t=this,r=[];r.push("("+ri.linestring.apply(this,[e._shell])+")");for(var i=0,s=e._holes.length;i<s;++i)r.push("("+ri.linestring.apply(t,[e._holes[i]])+")");return r.join(",")},multipolygon:function(e){for(var t=this,r=[],i=0,s=e._geometries.length;i<s;++i)r.push("("+ri.polygon.apply(t,[e._geometries[i]])+")");return r.join(",")},geometrycollection:function(e){for(var t=this,r=[],i=0,s=e._geometries.length;i<s;++i)r.push(t.extractGeometry(e._geometries[i]));return r.join(",")}},tl={point:function(e){if(e===void 0)return this.geometryFactory.createPoint();var t=e.trim().split(ln.spaces);return this.geometryFactory.createPoint(new M(Number.parseFloat(t[0]),Number.parseFloat(t[1])))},multipoint:function(e){var t=this;if(e===void 0)return this.geometryFactory.createMultiPoint();for(var r,i=e.trim().split(","),s=[],o=0,a=i.length;o<a;++o)r=i[o].replace(ln.trimParens,"$1"),s.push(tl.point.apply(t,[r]));return this.geometryFactory.createMultiPoint(s)},linestring:function(e){if(e===void 0)return this.geometryFactory.createLineString();for(var t=e.trim().split(","),r=[],i,s=0,o=t.length;s<o;++s)i=t[s].trim().split(ln.spaces),r.push(new M(Number.parseFloat(i[0]),Number.parseFloat(i[1])));return this.geometryFactory.createLineString(r)},linearring:function(e){if(e===void 0)return this.geometryFactory.createLinearRing();for(var t=e.trim().split(","),r=[],i,s=0,o=t.length;s<o;++s)i=t[s].trim().split(ln.spaces),r.push(new M(Number.parseFloat(i[0]),Number.parseFloat(i[1])));return this.geometryFactory.createLinearRing(r)},multilinestring:function(e){var t=this;if(e===void 0)return this.geometryFactory.createMultiLineString();for(var r,i=e.trim().split(ln.parenComma),s=[],o=0,a=i.length;o<a;++o)r=i[o].replace(ln.trimParens,"$1"),s.push(tl.linestring.apply(t,[r]));return this.geometryFactory.createMultiLineString(s)},polygon:function(e){var t=this;if(e===void 0)return this.geometryFactory.createPolygon();for(var r,i,s,o=e.trim().split(ln.parenComma),a,l=[],u=0,h=o.length;u<h;++u)r=o[u].replace(ln.trimParens,"$1"),i=tl.linestring.apply(t,[r]),s=t.geometryFactory.createLinearRing(i._points),u===0?a=s:l.push(s);return this.geometryFactory.createPolygon(a,l)},multipolygon:function(e){var t=this;if(e===void 0)return this.geometryFactory.createMultiPolygon();for(var r,i=e.trim().split(ln.doubleParenComma),s=[],o=0,a=i.length;o<a;++o)r=i[o].replace(ln.trimParens,"$1"),s.push(tl.polygon.apply(t,[r]));return this.geometryFactory.createMultiPolygon(s)},geometrycollection:function(e){var t=this;if(e===void 0)return this.geometryFactory.createGeometryCollection();e=e.replace(/,\s*([A-Za-z])/g,"|$1");for(var r=e.trim().split("|"),i=[],s=0,o=r.length;s<o;++s)i.push(t.read(r[s]));return this.geometryFactory.createGeometryCollection(i)}},Yr=function(e){this.parser=new Ou(e)};Yr.prototype.write=function(e){return this.parser.write(e)},Yr.toLineString=function(e,t){if(arguments.length!==2)throw new Error("Not implemented");return"LINESTRING ( "+e.x+" "+e.y+", "+t.x+" "+t.y+" )"};var ni=function(n){function e(t){n.call(this,t),this.name="RuntimeException",this.message=t,this.stack=new n().stack}return n&&(e.__proto__=n),e.prototype=Object.create(n&&n.prototype),e.prototype.constructor=e,e}(Error),Mu=function(n){function e(){if(n.call(this),arguments.length===0)n.call(this);else if(arguments.length===1){var t=arguments[0];n.call(this,t)}}return n&&(e.__proto__=n),e.prototype=Object.create(n&&n.prototype),e.prototype.constructor=e,e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(ni),fe=function(){};fe.prototype.interfaces_=function(){return[]},fe.prototype.getClass=function(){return fe},fe.shouldNeverReachHere=function(){if(arguments.length===0)fe.shouldNeverReachHere(null);else if(arguments.length===1){var e=arguments[0];throw new Mu("Should never reach here"+(e!==null?": "+e:""))}},fe.isTrue=function(){var e,t;if(arguments.length===1)e=arguments[0],fe.isTrue(e,null);else if(arguments.length===2&&(e=arguments[0],t=arguments[1],!e))throw t===null?new Mu:new Mu(t)},fe.equals=function(){var e,t,r;if(arguments.length===2)e=arguments[0],t=arguments[1],fe.equals(e,t,null);else if(arguments.length===3&&(e=arguments[0],t=arguments[1],r=arguments[2],!t.equals(e)))throw new Mu("Expected "+e+" but encountered "+t+(r!==null?": "+r:""))};var Ye=function(){this._result=null,this._inputLines=Array(2).fill().map(function(){return Array(2)}),this._intPt=new Array(2).fill(null),this._intLineIndex=null,this._isProper=null,this._pa=null,this._pb=null,this._precisionModel=null,this._intPt[0]=new M,this._intPt[1]=new M,this._pa=this._intPt[0],this._pb=this._intPt[1],this._result=0},Hs={DONT_INTERSECT:{configurable:!0},DO_INTERSECT:{configurable:!0},COLLINEAR:{configurable:!0},NO_INTERSECTION:{configurable:!0},POINT_INTERSECTION:{configurable:!0},COLLINEAR_INTERSECTION:{configurable:!0}};Ye.prototype.getIndexAlongSegment=function(e,t){return this.computeIntLineIndex(),this._intLineIndex[e][t]},Ye.prototype.getTopologySummary=function(){var e=new on;return this.isEndPoint()&&e.append(" endpoint"),this._isProper&&e.append(" proper"),this.isCollinear()&&e.append(" collinear"),e.toString()},Ye.prototype.computeIntersection=function(e,t,r,i){this._inputLines[0][0]=e,this._inputLines[0][1]=t,this._inputLines[1][0]=r,this._inputLines[1][1]=i,this._result=this.computeIntersect(e,t,r,i)},Ye.prototype.getIntersectionNum=function(){return this._result},Ye.prototype.computeIntLineIndex=function(){if(arguments.length===0)this._intLineIndex===null&&(this._intLineIndex=Array(2).fill().map(function(){return Array(2)}),this.computeIntLineIndex(0),this.computeIntLineIndex(1));else if(arguments.length===1){var e=arguments[0],t=this.getEdgeDistance(e,0),r=this.getEdgeDistance(e,1);t>r?(this._intLineIndex[e][0]=0,this._intLineIndex[e][1]=1):(this._intLineIndex[e][0]=1,this._intLineIndex[e][1]=0)}},Ye.prototype.isProper=function(){return this.hasIntersection()&&this._isProper},Ye.prototype.setPrecisionModel=function(e){this._precisionModel=e},Ye.prototype.isInteriorIntersection=function(){var e=this;if(arguments.length===0)return!!(this.isInteriorIntersection(0)||this.isInteriorIntersection(1));if(arguments.length===1){for(var t=arguments[0],r=0;r<this._result;r++)if(!(e._intPt[r].equals2D(e._inputLines[t][0])||e._intPt[r].equals2D(e._inputLines[t][1])))return!0;return!1}},Ye.prototype.getIntersection=function(e){return this._intPt[e]},Ye.prototype.isEndPoint=function(){return this.hasIntersection()&&!this._isProper},Ye.prototype.hasIntersection=function(){return this._result!==Ye.NO_INTERSECTION},Ye.prototype.getEdgeDistance=function(e,t){var r=Ye.computeEdgeDistance(this._intPt[t],this._inputLines[e][0],this._inputLines[e][1]);return r},Ye.prototype.isCollinear=function(){return this._result===Ye.COLLINEAR_INTERSECTION},Ye.prototype.toString=function(){return Yr.toLineString(this._inputLines[0][0],this._inputLines[0][1])+" - "+Yr.toLineString(this._inputLines[1][0],this._inputLines[1][1])+this.getTopologySummary()},Ye.prototype.getEndpoint=function(e,t){return this._inputLines[e][t]},Ye.prototype.isIntersection=function(e){for(var t=this,r=0;r<this._result;r++)if(t._intPt[r].equals2D(e))return!0;return!1},Ye.prototype.getIntersectionAlongSegment=function(e,t){return this.computeIntLineIndex(),this._intPt[this._intLineIndex[e][t]]},Ye.prototype.interfaces_=function(){return[]},Ye.prototype.getClass=function(){return Ye},Ye.computeEdgeDistance=function(e,t,r){var i=Math.abs(r.x-t.x),s=Math.abs(r.y-t.y),o=-1;if(e.equals(t))o=0;else if(e.equals(r))i>s?o=i:o=s;else{var a=Math.abs(e.x-t.x),l=Math.abs(e.y-t.y);i>s?o=a:o=l,o===0&&!e.equals(t)&&(o=Math.max(a,l))}return fe.isTrue(!(o===0&&!e.equals(t)),"Bad distance calculation"),o},Ye.nonRobustComputeEdgeDistance=function(e,t,r){var i=e.x-t.x,s=e.y-t.y,o=Math.sqrt(i*i+s*s);return fe.isTrue(!(o===0&&!e.equals(t)),"Invalid distance calculation"),o},Hs.DONT_INTERSECT.get=function(){return 0},Hs.DO_INTERSECT.get=function(){return 1},Hs.COLLINEAR.get=function(){return 2},Hs.NO_INTERSECTION.get=function(){return 0},Hs.POINT_INTERSECTION.get=function(){return 1},Hs.COLLINEAR_INTERSECTION.get=function(){return 2},Object.defineProperties(Ye,Hs);var as=function(n){function e(){n.apply(this,arguments)}return n&&(e.__proto__=n),e.prototype=Object.create(n&&n.prototype),e.prototype.constructor=e,e.prototype.isInSegmentEnvelopes=function(r){var i=new te(this._inputLines[0][0],this._inputLines[0][1]),s=new te(this._inputLines[1][0],this._inputLines[1][1]);return i.contains(r)&&s.contains(r)},e.prototype.computeIntersection=function(){if(arguments.length===3){var r=arguments[0],i=arguments[1],s=arguments[2];if(this._isProper=!1,te.intersects(i,s,r)&&H.orientationIndex(i,s,r)===0&&H.orientationIndex(s,i,r)===0)return this._isProper=!0,(r.equals(i)||r.equals(s))&&(this._isProper=!1),this._result=n.POINT_INTERSECTION,null;this._result=n.NO_INTERSECTION}else return n.prototype.computeIntersection.apply(this,arguments)},e.prototype.normalizeToMinimum=function(r,i,s,o,a){a.x=this.smallestInAbsValue(r.x,i.x,s.x,o.x),a.y=this.smallestInAbsValue(r.y,i.y,s.y,o.y),r.x-=a.x,r.y-=a.y,i.x-=a.x,i.y-=a.y,s.x-=a.x,s.y-=a.y,o.x-=a.x,o.y-=a.y},e.prototype.safeHCoordinateIntersection=function(r,i,s,o){var a=null;try{a=Xr.intersection(r,i,s,o)}catch(l){if(l instanceof el)a=e.nearestEndpoint(r,i,s,o);else throw l}finally{}return a},e.prototype.intersection=function(r,i,s,o){var a=this.intersectionWithNormalization(r,i,s,o);return this.isInSegmentEnvelopes(a)||(a=new M(e.nearestEndpoint(r,i,s,o))),this._precisionModel!==null&&this._precisionModel.makePrecise(a),a},e.prototype.smallestInAbsValue=function(r,i,s,o){var a=r,l=Math.abs(a);return Math.abs(i)<l&&(a=i,l=Math.abs(i)),Math.abs(s)<l&&(a=s,l=Math.abs(s)),Math.abs(o)<l&&(a=o),a},e.prototype.checkDD=function(r,i,s,o,a){var l=Gt.intersection(r,i,s,o),u=this.isInSegmentEnvelopes(l);mt.out.println("DD in env = "+u+" --------------------- "+l),a.distance(l)>1e-4&&mt.out.println("Distance = "+a.distance(l))},e.prototype.intersectionWithNormalization=function(r,i,s,o){var a=new M(r),l=new M(i),u=new M(s),h=new M(o),f=new M;this.normalizeToEnvCentre(a,l,u,h,f);var p=this.safeHCoordinateIntersection(a,l,u,h);return p.x+=f.x,p.y+=f.y,p},e.prototype.computeCollinearIntersection=function(r,i,s,o){var a=te.intersects(r,i,s),l=te.intersects(r,i,o),u=te.intersects(s,o,r),h=te.intersects(s,o,i);return a&&l?(this._intPt[0]=s,this._intPt[1]=o,n.COLLINEAR_INTERSECTION):u&&h?(this._intPt[0]=r,this._intPt[1]=i,n.COLLINEAR_INTERSECTION):a&&u?(this._intPt[0]=s,this._intPt[1]=r,s.equals(r)&&!l&&!h?n.POINT_INTERSECTION:n.COLLINEAR_INTERSECTION):a&&h?(this._intPt[0]=s,this._intPt[1]=i,s.equals(i)&&!l&&!u?n.POINT_INTERSECTION:n.COLLINEAR_INTERSECTION):l&&u?(this._intPt[0]=o,this._intPt[1]=r,o.equals(r)&&!a&&!h?n.POINT_INTERSECTION:n.COLLINEAR_INTERSECTION):l&&h?(this._intPt[0]=o,this._intPt[1]=i,o.equals(i)&&!a&&!u?n.POINT_INTERSECTION:n.COLLINEAR_INTERSECTION):n.NO_INTERSECTION},e.prototype.normalizeToEnvCentre=function(r,i,s,o,a){var l=r.x<i.x?r.x:i.x,u=r.y<i.y?r.y:i.y,h=r.x>i.x?r.x:i.x,f=r.y>i.y?r.y:i.y,p=s.x<o.x?s.x:o.x,v=s.y<o.y?s.y:o.y,w=s.x>o.x?s.x:o.x,I=s.y>o.y?s.y:o.y,T=l>p?l:p,L=h<w?h:w,m=u>v?u:v,_=f<I?f:I,g=(T+L)/2,y=(m+_)/2;a.x=g,a.y=y,r.x-=a.x,r.y-=a.y,i.x-=a.x,i.y-=a.y,s.x-=a.x,s.y-=a.y,o.x-=a.x,o.y-=a.y},e.prototype.computeIntersect=function(r,i,s,o){if(this._isProper=!1,!te.intersects(r,i,s,o))return n.NO_INTERSECTION;var a=H.orientationIndex(r,i,s),l=H.orientationIndex(r,i,o);if(a>0&&l>0||a<0&&l<0)return n.NO_INTERSECTION;var u=H.orientationIndex(s,o,r),h=H.orientationIndex(s,o,i);if(u>0&&h>0||u<0&&h<0)return n.NO_INTERSECTION;var f=a===0&&l===0&&u===0&&h===0;return f?this.computeCollinearIntersection(r,i,s,o):(a===0||l===0||u===0||h===0?(this._isProper=!1,r.equals2D(s)||r.equals2D(o)?this._intPt[0]=r:i.equals2D(s)||i.equals2D(o)?this._intPt[0]=i:a===0?this._intPt[0]=new M(s):l===0?this._intPt[0]=new M(o):u===0?this._intPt[0]=new M(r):h===0&&(this._intPt[0]=new M(i))):(this._isProper=!0,this._intPt[0]=this.intersection(r,i,s,o)),n.POINT_INTERSECTION)},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e.nearestEndpoint=function(r,i,s,o){var a=r,l=H.distancePointLine(r,s,o),u=H.distancePointLine(i,s,o);return u<l&&(l=u,a=i),u=H.distancePointLine(s,r,i),u<l&&(l=u,a=s),u=H.distancePointLine(o,r,i),u<l&&(l=u,a=o),a},e}(Ye),Js=function(){};Js.prototype.interfaces_=function(){return[]},Js.prototype.getClass=function(){return Js},Js.orientationIndex=function(e,t,r){var i=t.x-e.x,s=t.y-e.y,o=r.x-t.x,a=r.y-t.y;return Js.signOfDet2x2(i,s,o,a)},Js.signOfDet2x2=function(e,t,r,i){var s=null,o=null,a=null;if(s=1,e===0||i===0)return t===0||r===0?0:t>0?r>0?-s:s:r>0?s:-s;if(t===0||r===0)return i>0?e>0?s:-s:e>0?-s:s;if(t>0?i>0?t<=i||(s=-s,o=e,e=r,r=o,o=t,t=i,i=o):t<=-i?(s=-s,r=-r,i=-i):(o=e,e=-r,r=o,o=t,t=-i,i=o):i>0?-t<=i?(s=-s,e=-e,t=-t):(o=-e,e=r,r=o,o=-t,t=i,i=o):t>=i?(e=-e,t=-t,r=-r,i=-i):(s=-s,o=-e,e=-r,r=o,o=-t,t=-i,i=o),e>0)if(r>0){if(!(e<=r))return s}else return s;else{if(r>0)return-s;if(e>=r)s=-s,e=-e,r=-r;else return-s}for(;;){if(a=Math.floor(r/e),r=r-a*e,i=i-a*t,i<0)return-s;if(i>t)return s;if(e>r+r){if(t<i+i)return s}else{if(t>i+i)return-s;r=e-r,i=t-i,s=-s}if(i===0)return r===0?0:-s;if(r===0||(a=Math.floor(e/r),e=e-a*r,t=t-a*i,t<0))return s;if(t>i)return-s;if(r>e+e){if(i<t+t)return-s}else{if(i>t+t)return s;e=r-e,t=i-t,s=-s}if(t===0)return e===0?0:s;if(e===0)return-s}};var un=function(){this._p=null,this._crossingCount=0,this._isPointOnSegment=!1;var e=arguments[0];this._p=e};un.prototype.countSegment=function(e,t){if(e.x<this._p.x&&t.x<this._p.x)return null;if(this._p.x===t.x&&this._p.y===t.y)return this._isPointOnSegment=!0,null;if(e.y===this._p.y&&t.y===this._p.y){var r=e.x,i=t.x;return r>i&&(r=t.x,i=e.x),this._p.x>=r&&this._p.x<=i&&(this._isPointOnSegment=!0),null}if(e.y>this._p.y&&t.y<=this._p.y||t.y>this._p.y&&e.y<=this._p.y){var s=e.x-this._p.x,o=e.y-this._p.y,a=t.x-this._p.x,l=t.y-this._p.y,u=Js.signOfDet2x2(s,o,a,l);if(u===0)return this._isPointOnSegment=!0,null;l<o&&(u=-u),u>0&&this._crossingCount++}},un.prototype.isPointInPolygon=function(){return this.getLocation()!==R.EXTERIOR},un.prototype.getLocation=function(){return this._isPointOnSegment?R.BOUNDARY:this._crossingCount%2===1?R.INTERIOR:R.EXTERIOR},un.prototype.isOnSegment=function(){return this._isPointOnSegment},un.prototype.interfaces_=function(){return[]},un.prototype.getClass=function(){return un},un.locatePointInRing=function(){if(arguments[0]instanceof M&&ae(arguments[1],Ee)){for(var e=arguments[0],t=arguments[1],r=new un(e),i=new M,s=new M,o=1;o<t.size();o++)if(t.getCoordinate(o,i),t.getCoordinate(o-1,s),r.countSegment(i,s),r.isOnSegment())return r.getLocation();return r.getLocation()}else if(arguments[0]instanceof M&&arguments[1]instanceof Array){for(var a=arguments[0],l=arguments[1],u=new un(a),h=1;h<l.length;h++){var f=l[h],p=l[h-1];if(u.countSegment(f,p),u.isOnSegment())return u.getLocation()}return u.getLocation()}};var H=function(){},Zs={CLOCKWISE:{configurable:!0},RIGHT:{configurable:!0},COUNTERCLOCKWISE:{configurable:!0},LEFT:{configurable:!0},COLLINEAR:{configurable:!0},STRAIGHT:{configurable:!0}};H.prototype.interfaces_=function(){return[]},H.prototype.getClass=function(){return H},H.orientationIndex=function(e,t,r){return Gt.orientationIndex(e,t,r)},H.signedArea=function(){if(arguments[0]instanceof Array){var e=arguments[0];if(e.length<3)return 0;for(var t=0,r=e[0].x,i=1;i<e.length-1;i++){var s=e[i].x-r,o=e[i+1].y,a=e[i-1].y;t+=s*(a-o)}return t/2}else if(ae(arguments[0],Ee)){var l=arguments[0],u=l.size();if(u<3)return 0;var h=new M,f=new M,p=new M;l.getCoordinate(0,f),l.getCoordinate(1,p);var v=f.x;p.x-=v;for(var w=0,I=1;I<u-1;I++)h.y=f.y,f.x=p.x,f.y=p.y,l.getCoordinate(I+1,p),p.x-=v,w+=f.x*(h.y-p.y);return w/2}},H.distanceLineLine=function(e,t,r,i){if(e.equals(t))return H.distancePointLine(e,r,i);if(r.equals(i))return H.distancePointLine(i,e,t);var s=!1;if(!te.intersects(e,t,r,i))s=!0;else{var o=(t.x-e.x)*(i.y-r.y)-(t.y-e.y)*(i.x-r.x);if(o===0)s=!0;else{var a=(e.y-r.y)*(i.x-r.x)-(e.x-r.x)*(i.y-r.y),l=(e.y-r.y)*(t.x-e.x)-(e.x-r.x)*(t.y-e.y),u=l/o,h=a/o;(h<0||h>1||u<0||u>1)&&(s=!0)}}return s?ur.min(H.distancePointLine(e,r,i),H.distancePointLine(t,r,i),H.distancePointLine(r,e,t),H.distancePointLine(i,e,t)):0},H.isPointInRing=function(e,t){return H.locatePointInRing(e,t)!==R.EXTERIOR},H.computeLength=function(e){var t=e.size();if(t<=1)return 0;var r=0,i=new M;e.getCoordinate(0,i);for(var s=i.x,o=i.y,a=1;a<t;a++){e.getCoordinate(a,i);var l=i.x,u=i.y,h=l-s,f=u-o;r+=Math.sqrt(h*h+f*f),s=l,o=u}return r},H.isCCW=function(e){var t=e.length-1;if(t<3)throw new Ue("Ring has fewer than 4 points, so orientation cannot be determined");for(var r=e[0],i=0,s=1;s<=t;s++){var o=e[s];o.y>r.y&&(r=o,i=s)}var a=i;do a=a-1,a<0&&(a=t);while(e[a].equals2D(r)&&a!==i);var l=i;do l=(l+1)%t;while(e[l].equals2D(r)&&l!==i);var u=e[a],h=e[l];if(u.equals2D(r)||h.equals2D(r)||u.equals2D(h))return!1;var f=H.computeOrientation(u,r,h),p=!1;return f===0?p=u.x>h.x:p=f>0,p},H.locatePointInRing=function(e,t){return un.locatePointInRing(e,t)},H.distancePointLinePerpendicular=function(e,t,r){var i=(r.x-t.x)*(r.x-t.x)+(r.y-t.y)*(r.y-t.y),s=((t.y-e.y)*(r.x-t.x)-(t.x-e.x)*(r.y-t.y))/i;return Math.abs(s)*Math.sqrt(i)},H.computeOrientation=function(e,t,r){return H.orientationIndex(e,t,r)},H.distancePointLine=function(){if(arguments.length===2){var e=arguments[0],t=arguments[1];if(t.length===0)throw new Ue("Line array must contain at least one vertex");for(var r=e.distance(t[0]),i=0;i<t.length-1;i++){var s=H.distancePointLine(e,t[i],t[i+1]);s<r&&(r=s)}return r}else if(arguments.length===3){var o=arguments[0],a=arguments[1],l=arguments[2];if(a.x===l.x&&a.y===l.y)return o.distance(a);var u=(l.x-a.x)*(l.x-a.x)+(l.y-a.y)*(l.y-a.y),h=((o.x-a.x)*(l.x-a.x)+(o.y-a.y)*(l.y-a.y))/u;if(h<=0)return o.distance(a);if(h>=1)return o.distance(l);var f=((a.y-o.y)*(l.x-a.x)-(a.x-o.x)*(l.y-a.y))/u;return Math.abs(f)*Math.sqrt(u)}},H.isOnLine=function(e,t){for(var r=new as,i=1;i<t.length;i++){var s=t[i-1],o=t[i];if(r.computeIntersection(e,s,o),r.hasIntersection())return!0}return!1},Zs.CLOCKWISE.get=function(){return-1},Zs.RIGHT.get=function(){return H.CLOCKWISE},Zs.COUNTERCLOCKWISE.get=function(){return 1},Zs.LEFT.get=function(){return H.COUNTERCLOCKWISE},Zs.COLLINEAR.get=function(){return 0},Zs.STRAIGHT.get=function(){return H.COLLINEAR},Object.defineProperties(H,Zs);var ii=function(){};ii.prototype.filter=function(e){},ii.prototype.interfaces_=function(){return[]},ii.prototype.getClass=function(){return ii};var oe=function(){var e=arguments[0];this._envelope=null,this._factory=null,this._SRID=null,this._userData=null,this._factory=e,this._SRID=e.getSRID()},xn={serialVersionUID:{configurable:!0},SORTINDEX_POINT:{configurable:!0},SORTINDEX_MULTIPOINT:{configurable:!0},SORTINDEX_LINESTRING:{configurable:!0},SORTINDEX_LINEARRING:{configurable:!0},SORTINDEX_MULTILINESTRING:{configurable:!0},SORTINDEX_POLYGON:{configurable:!0},SORTINDEX_MULTIPOLYGON:{configurable:!0},SORTINDEX_GEOMETRYCOLLECTION:{configurable:!0},geometryChangedFilter:{configurable:!0}};oe.prototype.isGeometryCollection=function(){return this.getSortIndex()===oe.SORTINDEX_GEOMETRYCOLLECTION},oe.prototype.getFactory=function(){return this._factory},oe.prototype.getGeometryN=function(e){return this},oe.prototype.getArea=function(){return 0},oe.prototype.isRectangle=function(){return!1},oe.prototype.equals=function(){if(arguments[0]instanceof oe){var e=arguments[0];return e===null?!1:this.equalsTopo(e)}else if(arguments[0]instanceof Object){var t=arguments[0];if(!(t instanceof oe))return!1;var r=t;return this.equalsExact(r)}},oe.prototype.equalsExact=function(e){return this===e||this.equalsExact(e,0)},oe.prototype.geometryChanged=function(){this.apply(oe.geometryChangedFilter)},oe.prototype.geometryChangedAction=function(){this._envelope=null},oe.prototype.equalsNorm=function(e){return e===null?!1:this.norm().equalsExact(e.norm())},oe.prototype.getLength=function(){return 0},oe.prototype.getNumGeometries=function(){return 1},oe.prototype.compareTo=function(){if(arguments.length===1){var e=arguments[0],t=e;return this.getSortIndex()!==t.getSortIndex()?this.getSortIndex()-t.getSortIndex():this.isEmpty()&&t.isEmpty()?0:this.isEmpty()?-1:t.isEmpty()?1:this.compareToSameClass(e)}else if(arguments.length===2){var r=arguments[0],i=arguments[1];return this.getSortIndex()!==r.getSortIndex()?this.getSortIndex()-r.getSortIndex():this.isEmpty()&&r.isEmpty()?0:this.isEmpty()?-1:r.isEmpty()?1:this.compareToSameClass(r,i)}},oe.prototype.getUserData=function(){return this._userData},oe.prototype.getSRID=function(){return this._SRID},oe.prototype.getEnvelope=function(){return this.getFactory().toGeometry(this.getEnvelopeInternal())},oe.prototype.checkNotGeometryCollection=function(e){if(e.getSortIndex()===oe.SORTINDEX_GEOMETRYCOLLECTION)throw new Ue("This method does not support GeometryCollection arguments")},oe.prototype.equal=function(e,t,r){return r===0?e.equals(t):e.distance(t)<=r},oe.prototype.norm=function(){var e=this.copy();return e.normalize(),e},oe.prototype.getPrecisionModel=function(){return this._factory.getPrecisionModel()},oe.prototype.getEnvelopeInternal=function(){return this._envelope===null&&(this._envelope=this.computeEnvelopeInternal()),new te(this._envelope)},oe.prototype.setSRID=function(e){this._SRID=e},oe.prototype.setUserData=function(e){this._userData=e},oe.prototype.compare=function(e,t){for(var r=e.iterator(),i=t.iterator();r.hasNext()&&i.hasNext();){var s=r.next(),o=i.next(),a=s.compareTo(o);if(a!==0)return a}return r.hasNext()?1:i.hasNext()?-1:0},oe.prototype.hashCode=function(){return this.getEnvelopeInternal().hashCode()},oe.prototype.isGeometryCollectionOrDerived=function(){return this.getSortIndex()===oe.SORTINDEX_GEOMETRYCOLLECTION||this.getSortIndex()===oe.SORTINDEX_MULTIPOINT||this.getSortIndex()===oe.SORTINDEX_MULTILINESTRING||this.getSortIndex()===oe.SORTINDEX_MULTIPOLYGON},oe.prototype.interfaces_=function(){return[Du,Sr,Cr]},oe.prototype.getClass=function(){return oe},oe.hasNonEmptyElements=function(e){for(var t=0;t<e.length;t++)if(!e[t].isEmpty())return!0;return!1},oe.hasNullElements=function(e){for(var t=0;t<e.length;t++)if(e[t]===null)return!0;return!1},xn.serialVersionUID.get=function(){return 8763622679187377e3},xn.SORTINDEX_POINT.get=function(){return 0},xn.SORTINDEX_MULTIPOINT.get=function(){return 1},xn.SORTINDEX_LINESTRING.get=function(){return 2},xn.SORTINDEX_LINEARRING.get=function(){return 3},xn.SORTINDEX_MULTILINESTRING.get=function(){return 4},xn.SORTINDEX_POLYGON.get=function(){return 5},xn.SORTINDEX_MULTIPOLYGON.get=function(){return 6},xn.SORTINDEX_GEOMETRYCOLLECTION.get=function(){return 7},xn.geometryChangedFilter.get=function(){return Rc},Object.defineProperties(oe,xn);var Rc=function(){};Rc.interfaces_=function(){return[ii]},Rc.filter=function(e){e.geometryChangedAction()};var Ln=function(){};Ln.prototype.filter=function(e){},Ln.prototype.interfaces_=function(){return[]},Ln.prototype.getClass=function(){return Ln};var Pr=function(){},si={Mod2BoundaryNodeRule:{configurable:!0},EndPointBoundaryNodeRule:{configurable:!0},MultiValentEndPointBoundaryNodeRule:{configurable:!0},MonoValentEndPointBoundaryNodeRule:{configurable:!0},MOD2_BOUNDARY_RULE:{configurable:!0},ENDPOINT_BOUNDARY_RULE:{configurable:!0},MULTIVALENT_ENDPOINT_BOUNDARY_RULE:{configurable:!0},MONOVALENT_ENDPOINT_BOUNDARY_RULE:{configurable:!0},OGC_SFS_BOUNDARY_RULE:{configurable:!0}};Pr.prototype.isInBoundary=function(e){},Pr.prototype.interfaces_=function(){return[]},Pr.prototype.getClass=function(){return Pr},si.Mod2BoundaryNodeRule.get=function(){return rl},si.EndPointBoundaryNodeRule.get=function(){return nl},si.MultiValentEndPointBoundaryNodeRule.get=function(){return il},si.MonoValentEndPointBoundaryNodeRule.get=function(){return sl},si.MOD2_BOUNDARY_RULE.get=function(){return new rl},si.ENDPOINT_BOUNDARY_RULE.get=function(){return new nl},si.MULTIVALENT_ENDPOINT_BOUNDARY_RULE.get=function(){return new il},si.MONOVALENT_ENDPOINT_BOUNDARY_RULE.get=function(){return new sl},si.OGC_SFS_BOUNDARY_RULE.get=function(){return Pr.MOD2_BOUNDARY_RULE},Object.defineProperties(Pr,si);var rl=function(){};rl.prototype.isInBoundary=function(e){return e%2===1},rl.prototype.interfaces_=function(){return[Pr]},rl.prototype.getClass=function(){return rl};var nl=function(){};nl.prototype.isInBoundary=function(e){return e>0},nl.prototype.interfaces_=function(){return[Pr]},nl.prototype.getClass=function(){return nl};var il=function(){};il.prototype.isInBoundary=function(e){return e>1},il.prototype.interfaces_=function(){return[Pr]},il.prototype.getClass=function(){return il};var sl=function(){};sl.prototype.isInBoundary=function(e){return e===1},sl.prototype.interfaces_=function(){return[Pr]},sl.prototype.getClass=function(){return sl};var nt=function(){};nt.prototype.add=function(){},nt.prototype.addAll=function(){},nt.prototype.isEmpty=function(){},nt.prototype.iterator=function(){},nt.prototype.size=function(){},nt.prototype.toArray=function(){},nt.prototype.remove=function(){};function Fc(n){this.message=n||""}Fc.prototype=new Error,Fc.prototype.name="IndexOutOfBoundsException";var ol=function(){};ol.prototype.hasNext=function(){},ol.prototype.next=function(){},ol.prototype.remove=function(){};var Hr=function(n){function e(){n.apply(this,arguments)}return n&&(e.__proto__=n),e.prototype=Object.create(n&&n.prototype),e.prototype.constructor=e,e.prototype.get=function(){},e.prototype.set=function(){},e.prototype.isEmpty=function(){},e}(nt);function al(n){this.message=n||""}al.prototype=new Error,al.prototype.name="NoSuchElementException";var W=function(n){function e(){n.call(this),this.array_=[],arguments[0]instanceof nt&&this.addAll(arguments[0])}return n&&(e.__proto__=n),e.prototype=Object.create(n&&n.prototype),e.prototype.constructor=e,e.prototype.ensureCapacity=function(){},e.prototype.interfaces_=function(){return[n,nt]},e.prototype.add=function(r){return arguments.length===1?this.array_.push(r):this.array_.splice(arguments[0],arguments[1]),!0},e.prototype.clear=function(){this.array_=[]},e.prototype.addAll=function(r){for(var i=this,s=r.iterator();s.hasNext();)i.add(s.next());return!0},e.prototype.set=function(r,i){var s=this.array_[r];return this.array_[r]=i,s},e.prototype.iterator=function(){return new Wm(this)},e.prototype.get=function(r){if(r<0||r>=this.size())throw new Fc;return this.array_[r]},e.prototype.isEmpty=function(){return this.array_.length===0},e.prototype.size=function(){return this.array_.length},e.prototype.toArray=function(){for(var r=this,i=[],s=0,o=this.array_.length;s<o;s++)i.push(r.array_[s]);return i},e.prototype.remove=function(r){for(var i=this,s=!1,o=0,a=this.array_.length;o<a;o++)if(i.array_[o]===r){i.array_.splice(o,1),s=!0;break}return s},e}(Hr),Wm=function(n){function e(t){n.call(this),this.arrayList_=t,this.position_=0}return n&&(e.__proto__=n),e.prototype=Object.create(n&&n.prototype),e.prototype.constructor=e,e.prototype.next=function(){if(this.position_===this.arrayList_.size())throw new al;return this.arrayList_.get(this.position_++)},e.prototype.hasNext=function(){return this.position_<this.arrayList_.size()},e.prototype.set=function(r){return this.arrayList_.set(this.position_-1,r)},e.prototype.remove=function(){this.arrayList_.remove(this.arrayList_.get(this.position_))},e}(ol),Gl=function(n){function e(){if(n.call(this),arguments.length!==0){if(arguments.length===1){var r=arguments[0];this.ensureCapacity(r.length),this.add(r,!0)}else if(arguments.length===2){var i=arguments[0],s=arguments[1];this.ensureCapacity(i.length),this.add(i,s)}}}n&&(e.__proto__=n),e.prototype=Object.create(n&&n.prototype),e.prototype.constructor=e;var t={coordArrayType:{configurable:!0}};return t.coordArrayType.get=function(){return new Array(0).fill(null)},e.prototype.getCoordinate=function(i){return this.get(i)},e.prototype.addAll=function(){var i=this;if(arguments.length===2){for(var s=arguments[0],o=arguments[1],a=!1,l=s.iterator();l.hasNext();)i.add(l.next(),o),a=!0;return a}else return n.prototype.addAll.apply(this,arguments)},e.prototype.clone=function(){for(var i=this,s=n.prototype.clone.call(this),o=0;o<this.size();o++)s.add(o,i.get(o).copy());return s},e.prototype.toCoordinateArray=function(){return this.toArray(e.coordArrayType)},e.prototype.add=function(){var i=this;if(arguments.length===1){var s=arguments[0];n.prototype.add.call(this,s)}else if(arguments.length===2){if(arguments[0]instanceof Array&&typeof arguments[1]=="boolean"){var o=arguments[0],a=arguments[1];return this.add(o,a,!0),!0}else if(arguments[0]instanceof M&&typeof arguments[1]=="boolean"){var l=arguments[0],u=arguments[1];if(!u&&this.size()>=1){var h=this.get(this.size()-1);if(h.equals2D(l))return null}n.prototype.add.call(this,l)}else if(arguments[0]instanceof Object&&typeof arguments[1]=="boolean"){var f=arguments[0],p=arguments[1];return this.add(f,p),!0}}else if(arguments.length===3){if(typeof arguments[2]=="boolean"&&arguments[0]instanceof Array&&typeof arguments[1]=="boolean"){var v=arguments[0],w=arguments[1],I=arguments[2];if(I)for(var T=0;T<v.length;T++)i.add(v[T],w);else for(var L=v.length-1;L>=0;L--)i.add(v[L],w);return!0}else if(typeof arguments[2]=="boolean"&&Number.isInteger(arguments[0])&&arguments[1]instanceof M){var m=arguments[0],_=arguments[1],g=arguments[2];if(!g){var y=this.size();if(y>0){if(m>0){var E=this.get(m-1);if(E.equals2D(_))return null}if(m<y){var C=this.get(m);if(C.equals2D(_))return null}}}n.prototype.add.call(this,m,_)}}else if(arguments.length===4){var b=arguments[0],D=arguments[1],x=arguments[2],N=arguments[3],O=1;x>N&&(O=-1);for(var A=x;A!==N;A+=O)i.add(b[A],D);return!0}},e.prototype.closeRing=function(){this.size()>0&&this.add(new M(this.get(0)),!1)},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},Object.defineProperties(e,t),e}(W),pe=function(){},xu={ForwardComparator:{configurable:!0},BidirectionalComparator:{configurable:!0},coordArrayType:{configurable:!0}};xu.ForwardComparator.get=function(){return Wl},xu.BidirectionalComparator.get=function(){return ll},xu.coordArrayType.get=function(){return new Array(0).fill(null)},pe.prototype.interfaces_=function(){return[]},pe.prototype.getClass=function(){return pe},pe.isRing=function(e){return!(e.length<4||!e[0].equals2D(e[e.length-1]))},pe.ptNotInList=function(e,t){for(var r=0;r<e.length;r++){var i=e[r];if(pe.indexOf(i,t)<0)return i}return null},pe.scroll=function(e,t){var r=pe.indexOf(t,e);if(r<0)return null;var i=new Array(e.length).fill(null);mt.arraycopy(e,r,i,0,e.length-r),mt.arraycopy(e,0,i,e.length-r,r),mt.arraycopy(i,0,e,0,e.length)},pe.equals=function(){if(arguments.length===2){var e=arguments[0],t=arguments[1];if(e===t)return!0;if(e===null||t===null||e.length!==t.length)return!1;for(var r=0;r<e.length;r++)if(!e[r].equals(t[r]))return!1;return!0}else if(arguments.length===3){var i=arguments[0],s=arguments[1],o=arguments[2];if(i===s)return!0;if(i===null||s===null||i.length!==s.length)return!1;for(var a=0;a<i.length;a++)if(o.compare(i[a],s[a])!==0)return!1;return!0}},pe.intersection=function(e,t){for(var r=new Gl,i=0;i<e.length;i++)t.intersects(e[i])&&r.add(e[i],!0);return r.toCoordinateArray()},pe.hasRepeatedPoints=function(e){for(var t=1;t<e.length;t++)if(e[t-1].equals(e[t]))return!0;return!1},pe.removeRepeatedPoints=function(e){if(!pe.hasRepeatedPoints(e))return e;var t=new Gl(e,!1);return t.toCoordinateArray()},pe.reverse=function(e){for(var t=e.length-1,r=Math.trunc(t/2),i=0;i<=r;i++){var s=e[i];e[i]=e[t-i],e[t-i]=s}},pe.removeNull=function(e){for(var t=0,r=0;r<e.length;r++)e[r]!==null&&t++;var i=new Array(t).fill(null);if(t===0)return i;for(var s=0,o=0;o<e.length;o++)e[o]!==null&&(i[s++]=e[o]);return i},pe.copyDeep=function(){if(arguments.length===1){for(var e=arguments[0],t=new Array(e.length).fill(null),r=0;r<e.length;r++)t[r]=new M(e[r]);return t}else if(arguments.length===5)for(var i=arguments[0],s=arguments[1],o=arguments[2],a=arguments[3],l=arguments[4],u=0;u<l;u++)o[a+u]=new M(i[s+u])},pe.isEqualReversed=function(e,t){for(var r=0;r<e.length;r++){var i=e[r],s=t[e.length-r-1];if(i.compareTo(s)!==0)return!1}return!0},pe.envelope=function(e){for(var t=new te,r=0;r<e.length;r++)t.expandToInclude(e[r]);return t},pe.toCoordinateArray=function(e){return e.toArray(pe.coordArrayType)},pe.atLeastNCoordinatesOrNothing=function(e,t){return t.length>=e?t:[]},pe.indexOf=function(e,t){for(var r=0;r<t.length;r++)if(e.equals(t[r]))return r;return-1},pe.increasingDirection=function(e){for(var t=0;t<Math.trunc(e.length/2);t++){var r=e.length-1-t,i=e[t].compareTo(e[r]);if(i!==0)return i}return 1},pe.compare=function(e,t){for(var r=0;r<e.length&&r<t.length;){var i=e[r].compareTo(t[r]);if(i!==0)return i;r++}return r<t.length?-1:r<e.length?1:0},pe.minCoordinate=function(e){for(var t=null,r=0;r<e.length;r++)(t===null||t.compareTo(e[r])>0)&&(t=e[r]);return t},pe.extract=function(e,t,r){t=ur.clamp(t,0,e.length),r=ur.clamp(r,-1,e.length);var i=r-t+1;r<0&&(i=0),t>=e.length&&(i=0),r<t&&(i=0);var s=new Array(i).fill(null);if(i===0)return s;for(var o=0,a=t;a<=r;a++)s[o++]=e[a];return s},Object.defineProperties(pe,xu);var Wl=function(){};Wl.prototype.compare=function(e,t){var r=e,i=t;return pe.compare(r,i)},Wl.prototype.interfaces_=function(){return[$a]},Wl.prototype.getClass=function(){return Wl};var ll=function(){};ll.prototype.compare=function(e,t){var r=e,i=t;if(r.length<i.length)return-1;if(r.length>i.length)return 1;if(r.length===0)return 0;var s=pe.compare(r,i),o=pe.isEqualReversed(r,i);return o?0:s},ll.prototype.OLDcompare=function(e,t){var r=e,i=t;if(r.length<i.length)return-1;if(r.length>i.length)return 1;if(r.length===0)return 0;for(var s=pe.increasingDirection(r),o=pe.increasingDirection(i),a=s>0?0:r.length-1,l=o>0?0:r.length-1,u=0;u<r.length;u++){var h=r[a].compareTo(i[l]);if(h!==0)return h;a+=s,l+=o}return 0},ll.prototype.interfaces_=function(){return[$a]},ll.prototype.getClass=function(){return ll};var Ks=function(){};Ks.prototype.get=function(){},Ks.prototype.put=function(){},Ks.prototype.size=function(){},Ks.prototype.values=function(){},Ks.prototype.entrySet=function(){};var qm=function(n){function e(){n.apply(this,arguments)}return n&&(e.__proto__=n),e.prototype=Object.create(n&&n.prototype),e.prototype.constructor=e,e}(Ks);function ql(n){this.message=n||""}ql.prototype=new Error,ql.prototype.name="OperationNotSupported";function Lu(){}Lu.prototype=new nt,Lu.prototype.contains=function(){};var kc=function(n){function e(){n.call(this),this.array_=[],arguments[0]instanceof nt&&this.addAll(arguments[0])}return n&&(e.__proto__=n),e.prototype=Object.create(n&&n.prototype),e.prototype.constructor=e,e.prototype.contains=function(r){for(var i=this,s=0,o=this.array_.length;s<o;s++){var a=i.array_[s];if(a===r)return!0}return!1},e.prototype.add=function(r){return this.contains(r)?!1:(this.array_.push(r),!0)},e.prototype.addAll=function(r){for(var i=this,s=r.iterator();s.hasNext();)i.add(s.next());return!0},e.prototype.remove=function(r){throw new Error},e.prototype.size=function(){return this.array_.length},e.prototype.isEmpty=function(){return this.array_.length===0},e.prototype.toArray=function(){for(var r=this,i=[],s=0,o=this.array_.length;s<o;s++)i.push(r.array_[s]);return i},e.prototype.iterator=function(){return new Xm(this)},e}(Lu),Xm=function(n){function e(t){n.call(this),this.hashSet_=t,this.position_=0}return n&&(e.__proto__=n),e.prototype=Object.create(n&&n.prototype),e.prototype.constructor=e,e.prototype.next=function(){if(this.position_===this.hashSet_.size())throw new al;return this.hashSet_.array_[this.position_++]},e.prototype.hasNext=function(){return this.position_<this.hashSet_.size()},e.prototype.remove=function(){throw new ql},e}(ol),oi=0,ls=1;function Tf(n){return n===null?oi:n.color}function Ae(n){return n===null?null:n.parent}function ai(n,e){n!==null&&(n.color=e)}function Vc(n){return n===null?null:n.left}function bf(n){return n===null?null:n.right}function It(){this.root_=null,this.size_=0}It.prototype=new qm,It.prototype.get=function(n){for(var e=this.root_;e!==null;){var t=n.compareTo(e.key);if(t<0)e=e.left;else if(t>0)e=e.right;else return e.value}return null},It.prototype.put=function(n,e){if(this.root_===null)return this.root_={key:n,value:e,left:null,right:null,parent:null,color:oi,getValue:function(){return this.value},getKey:function(){return this.key}},this.size_=1,null;var t=this.root_,r,i;do if(r=t,i=n.compareTo(t.key),i<0)t=t.left;else if(i>0)t=t.right;else{var s=t.value;return t.value=e,s}while(t!==null);var o={key:n,left:null,right:null,value:e,parent:r,color:oi,getValue:function(){return this.value},getKey:function(){return this.key}};return i<0?r.left=o:r.right=o,this.fixAfterInsertion(o),this.size_++,null},It.prototype.fixAfterInsertion=function(n){var e=this;for(n.color=ls;n!=null&&n!==this.root_&&n.parent.color===ls;)if(Ae(n)===Vc(Ae(Ae(n)))){var t=bf(Ae(Ae(n)));Tf(t)===ls?(ai(Ae(n),oi),ai(t,oi),ai(Ae(Ae(n)),ls),n=Ae(Ae(n))):(n===bf(Ae(n))&&(n=Ae(n),e.rotateLeft(n)),ai(Ae(n),oi),ai(Ae(Ae(n)),ls),e.rotateRight(Ae(Ae(n))))}else{var r=Vc(Ae(Ae(n)));Tf(r)===ls?(ai(Ae(n),oi),ai(r,oi),ai(Ae(Ae(n)),ls),n=Ae(Ae(n))):(n===Vc(Ae(n))&&(n=Ae(n),e.rotateRight(n)),ai(Ae(n),oi),ai(Ae(Ae(n)),ls),e.rotateLeft(Ae(Ae(n))))}this.root_.color=oi},It.prototype.values=function(){var n=new W,e=this.getFirstEntry();if(e!==null)for(n.add(e.value);(e=It.successor(e))!==null;)n.add(e.value);return n},It.prototype.entrySet=function(){var n=new kc,e=this.getFirstEntry();if(e!==null)for(n.add(e);(e=It.successor(e))!==null;)n.add(e);return n},It.prototype.rotateLeft=function(n){if(n!=null){var e=n.right;n.right=e.left,e.left!=null&&(e.left.parent=n),e.parent=n.parent,n.parent===null?this.root_=e:n.parent.left===n?n.parent.left=e:n.parent.right=e,e.left=n,n.parent=e}},It.prototype.rotateRight=function(n){if(n!=null){var e=n.left;n.left=e.right,e.right!=null&&(e.right.parent=n),e.parent=n.parent,n.parent===null?this.root_=e:n.parent.right===n?n.parent.right=e:n.parent.left=e,e.right=n,n.parent=e}},It.prototype.getFirstEntry=function(){var n=this.root_;if(n!=null)for(;n.left!=null;)n=n.left;return n},It.successor=function(n){if(n===null)return null;if(n.right!==null){for(var e=n.right;e.left!==null;)e=e.left;return e}else{for(var t=n.parent,r=n;t!==null&&r===t.right;)r=t,t=t.parent;return t}},It.prototype.size=function(){return this.size_};var Xl=function(){};Xl.prototype.interfaces_=function(){return[]},Xl.prototype.getClass=function(){return Xl};function Nf(){}Nf.prototype=new Lu;function cn(){this.array_=[],arguments[0]instanceof nt&&this.addAll(arguments[0])}cn.prototype=new Nf,cn.prototype.contains=function(n){for(var e=this,t=0,r=this.array_.length;t<r;t++){var i=e.array_[t];if(i.compareTo(n)===0)return!0}return!1},cn.prototype.add=function(n){var e=this;if(this.contains(n))return!1;for(var t=0,r=this.array_.length;t<r;t++){var i=e.array_[t];if(i.compareTo(n)===1)return e.array_.splice(t,0,n),!0}return this.array_.push(n),!0},cn.prototype.addAll=function(n){for(var e=this,t=n.iterator();t.hasNext();)e.add(t.next());return!0},cn.prototype.remove=function(n){throw new ql},cn.prototype.size=function(){return this.array_.length},cn.prototype.isEmpty=function(){return this.array_.length===0},cn.prototype.toArray=function(){for(var n=this,e=[],t=0,r=this.array_.length;t<r;t++)e.push(n.array_[t]);return e},cn.prototype.iterator=function(){return new Au(this)};var Au=function(n){this.treeSet_=n,this.position_=0};Au.prototype.next=function(){if(this.position_===this.treeSet_.size())throw new al;return this.treeSet_.array_[this.position_++]},Au.prototype.hasNext=function(){return this.position_<this.treeSet_.size()},Au.prototype.remove=function(){throw new ql};var us=function(){};us.sort=function(){var e=arguments[0],t,r,i,s;if(arguments.length===1)s=function(a,l){return a.compareTo(l)},e.sort(s);else if(arguments.length===2)i=arguments[1],s=function(a,l){return i.compare(a,l)},e.sort(s);else if(arguments.length===3){r=e.slice(arguments[1],arguments[2]),r.sort();var o=e.slice(0,arguments[1]).concat(r,e.slice(arguments[2],e.length));for(e.splice(0,e.length),t=0;t<o.length;t++)e.push(o[t])}else if(arguments.length===4)for(r=e.slice(arguments[1],arguments[2]),i=arguments[3],s=function(a,l){return i.compare(a,l)},r.sort(s),o=e.slice(0,arguments[1]).concat(r,e.slice(arguments[2],e.length)),e.splice(0,e.length),t=0;t<o.length;t++)e.push(o[t])},us.asList=function(e){for(var t=new W,r=0,i=e.length;r<i;r++)t.add(e[r]);return t};var Ie=function(){},Jr={P:{configurable:!0},L:{configurable:!0},A:{configurable:!0},FALSE:{configurable:!0},TRUE:{configurable:!0},DONTCARE:{configurable:!0},SYM_FALSE:{configurable:!0},SYM_TRUE:{configurable:!0},SYM_DONTCARE:{configurable:!0},SYM_P:{configurable:!0},SYM_L:{configurable:!0},SYM_A:{configurable:!0}};Jr.P.get=function(){return 0},Jr.L.get=function(){return 1},Jr.A.get=function(){return 2},Jr.FALSE.get=function(){return-1},Jr.TRUE.get=function(){return-2},Jr.DONTCARE.get=function(){return-3},Jr.SYM_FALSE.get=function(){return"F"},Jr.SYM_TRUE.get=function(){return"T"},Jr.SYM_DONTCARE.get=function(){return"*"},Jr.SYM_P.get=function(){return"0"},Jr.SYM_L.get=function(){return"1"},Jr.SYM_A.get=function(){return"2"},Ie.prototype.interfaces_=function(){return[]},Ie.prototype.getClass=function(){return Ie},Ie.toDimensionSymbol=function(e){switch(e){case Ie.FALSE:return Ie.SYM_FALSE;case Ie.TRUE:return Ie.SYM_TRUE;case Ie.DONTCARE:return Ie.SYM_DONTCARE;case Ie.P:return Ie.SYM_P;case Ie.L:return Ie.SYM_L;case Ie.A:return Ie.SYM_A}throw new Ue("Unknown dimension value: "+e)},Ie.toDimensionValue=function(e){switch(zl.toUpperCase(e)){case Ie.SYM_FALSE:return Ie.FALSE;case Ie.SYM_TRUE:return Ie.TRUE;case Ie.SYM_DONTCARE:return Ie.DONTCARE;case Ie.SYM_P:return Ie.P;case Ie.SYM_L:return Ie.L;case Ie.SYM_A:return Ie.A}throw new Ue("Unknown dimension symbol: "+e)},Object.defineProperties(Ie,Jr);var hn=function(){};hn.prototype.filter=function(e){},hn.prototype.interfaces_=function(){return[]},hn.prototype.getClass=function(){return hn};var Zr=function(){};Zr.prototype.filter=function(e,t){},Zr.prototype.isDone=function(){},Zr.prototype.isGeometryChanged=function(){},Zr.prototype.interfaces_=function(){return[]},Zr.prototype.getClass=function(){return Zr};var Mt=function(n){function e(r,i){if(n.call(this,i),this._geometries=r||[],n.hasNullElements(this._geometries))throw new Ue("geometries must not contain null elements")}n&&(e.__proto__=n),e.prototype=Object.create(n&&n.prototype),e.prototype.constructor=e;var t={serialVersionUID:{configurable:!0}};return e.prototype.computeEnvelopeInternal=function(){for(var i=this,s=new te,o=0;o<this._geometries.length;o++)s.expandToInclude(i._geometries[o].getEnvelopeInternal());return s},e.prototype.getGeometryN=function(i){return this._geometries[i]},e.prototype.getSortIndex=function(){return n.SORTINDEX_GEOMETRYCOLLECTION},e.prototype.getCoordinates=function(){for(var i=this,s=new Array(this.getNumPoints()).fill(null),o=-1,a=0;a<this._geometries.length;a++)for(var l=i._geometries[a].getCoordinates(),u=0;u<l.length;u++)o++,s[o]=l[u];return s},e.prototype.getArea=function(){for(var i=this,s=0,o=0;o<this._geometries.length;o++)s+=i._geometries[o].getArea();return s},e.prototype.equalsExact=function(){var i=this;if(arguments.length===2){var s=arguments[0],o=arguments[1];if(!this.isEquivalentClass(s))return!1;var a=s;if(this._geometries.length!==a._geometries.length)return!1;for(var l=0;l<this._geometries.length;l++)if(!i._geometries[l].equalsExact(a._geometries[l],o))return!1;return!0}else return n.prototype.equalsExact.apply(this,arguments)},e.prototype.normalize=function(){for(var i=this,s=0;s<this._geometries.length;s++)i._geometries[s].normalize();us.sort(this._geometries)},e.prototype.getCoordinate=function(){return this.isEmpty()?null:this._geometries[0].getCoordinate()},e.prototype.getBoundaryDimension=function(){for(var i=this,s=Ie.FALSE,o=0;o<this._geometries.length;o++)s=Math.max(s,i._geometries[o].getBoundaryDimension());return s},e.prototype.getDimension=function(){for(var i=this,s=Ie.FALSE,o=0;o<this._geometries.length;o++)s=Math.max(s,i._geometries[o].getDimension());return s},e.prototype.getLength=function(){for(var i=this,s=0,o=0;o<this._geometries.length;o++)s+=i._geometries[o].getLength();return s},e.prototype.getNumPoints=function(){for(var i=this,s=0,o=0;o<this._geometries.length;o++)s+=i._geometries[o].getNumPoints();return s},e.prototype.getNumGeometries=function(){return this._geometries.length},e.prototype.reverse=function(){for(var i=this,s=this._geometries.length,o=new Array(s).fill(null),a=0;a<this._geometries.length;a++)o[a]=i._geometries[a].reverse();return this.getFactory().createGeometryCollection(o)},e.prototype.compareToSameClass=function(){var i=this;if(arguments.length===1){var s=arguments[0],o=new cn(us.asList(this._geometries)),a=new cn(us.asList(s._geometries));return this.compare(o,a)}else if(arguments.length===2){for(var l=arguments[0],u=arguments[1],h=l,f=this.getNumGeometries(),p=h.getNumGeometries(),v=0;v<f&&v<p;){var w=i.getGeometryN(v),I=h.getGeometryN(v),T=w.compareToSameClass(I,u);if(T!==0)return T;v++}return v<f?1:v<p?-1:0}},e.prototype.apply=function(){var i=this;if(ae(arguments[0],Ln))for(var s=arguments[0],o=0;o<this._geometries.length;o++)i._geometries[o].apply(s);else if(ae(arguments[0],Zr)){var a=arguments[0];if(this._geometries.length===0)return null;for(var l=0;l<this._geometries.length&&(i._geometries[l].apply(a),!a.isDone());l++);a.isGeometryChanged()&&this.geometryChanged()}else if(ae(arguments[0],hn)){var u=arguments[0];u.filter(this);for(var h=0;h<this._geometries.length;h++)i._geometries[h].apply(u)}else if(ae(arguments[0],ii)){var f=arguments[0];f.filter(this);for(var p=0;p<this._geometries.length;p++)i._geometries[p].apply(f)}},e.prototype.getBoundary=function(){return this.checkNotGeometryCollection(this),fe.shouldNeverReachHere(),null},e.prototype.clone=function(){var i=this,s=n.prototype.clone.call(this);s._geometries=new Array(this._geometries.length).fill(null);for(var o=0;o<this._geometries.length;o++)s._geometries[o]=i._geometries[o].clone();return s},e.prototype.getGeometryType=function(){return"GeometryCollection"},e.prototype.copy=function(){for(var i=this,s=new Array(this._geometries.length).fill(null),o=0;o<s.length;o++)s[o]=i._geometries[o].copy();return new e(s,this._factory)},e.prototype.isEmpty=function(){for(var i=this,s=0;s<this._geometries.length;s++)if(!i._geometries[s].isEmpty())return!1;return!0},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},t.serialVersionUID.get=function(){return-5694727726395021e3},Object.defineProperties(e,t),e}(oe),cs=function(n){function e(){n.apply(this,arguments)}n&&(e.__proto__=n),e.prototype=Object.create(n&&n.prototype),e.prototype.constructor=e;var t={serialVersionUID:{configurable:!0}};return e.prototype.getSortIndex=function(){return oe.SORTINDEX_MULTILINESTRING},e.prototype.equalsExact=function(){if(arguments.length===2){var i=arguments[0],s=arguments[1];return this.isEquivalentClass(i)?n.prototype.equalsExact.call(this,i,s):!1}else return n.prototype.equalsExact.apply(this,arguments)},e.prototype.getBoundaryDimension=function(){return this.isClosed()?Ie.FALSE:0},e.prototype.isClosed=function(){var i=this;if(this.isEmpty())return!1;for(var s=0;s<this._geometries.length;s++)if(!i._geometries[s].isClosed())return!1;return!0},e.prototype.getDimension=function(){return 1},e.prototype.reverse=function(){for(var i=this,s=this._geometries.length,o=new Array(s).fill(null),a=0;a<this._geometries.length;a++)o[s-1-a]=i._geometries[a].reverse();return this.getFactory().createMultiLineString(o)},e.prototype.getBoundary=function(){return new Ir(this).getBoundary()},e.prototype.getGeometryType=function(){return"MultiLineString"},e.prototype.copy=function(){for(var i=this,s=new Array(this._geometries.length).fill(null),o=0;o<s.length;o++)s[o]=i._geometries[o].copy();return new e(s,this._factory)},e.prototype.interfaces_=function(){return[Xl]},e.prototype.getClass=function(){return e},t.serialVersionUID.get=function(){return 8166665132445434e3},Object.defineProperties(e,t),e}(Mt),Ir=function(){if(this._geom=null,this._geomFact=null,this._bnRule=null,this._endpointMap=null,arguments.length===1){var e=arguments[0],t=Pr.MOD2_BOUNDARY_RULE;this._geom=e,this._geomFact=e.getFactory(),this._bnRule=t}else if(arguments.length===2){var r=arguments[0],i=arguments[1];this._geom=r,this._geomFact=r.getFactory(),this._bnRule=i}};Ir.prototype.boundaryMultiLineString=function(e){if(this._geom.isEmpty())return this.getEmptyMultiPoint();var t=this.computeBoundaryCoordinates(e);return t.length===1?this._geomFact.createPoint(t[0]):this._geomFact.createMultiPointFromCoords(t)},Ir.prototype.getBoundary=function(){return this._geom instanceof Je?this.boundaryLineString(this._geom):this._geom instanceof cs?this.boundaryMultiLineString(this._geom):this._geom.getBoundary()},Ir.prototype.boundaryLineString=function(e){if(this._geom.isEmpty())return this.getEmptyMultiPoint();if(e.isClosed()){var t=this._bnRule.isInBoundary(2);return t?e.getStartPoint():this._geomFact.createMultiPoint()}return this._geomFact.createMultiPoint([e.getStartPoint(),e.getEndPoint()])},Ir.prototype.getEmptyMultiPoint=function(){return this._geomFact.createMultiPoint()},Ir.prototype.computeBoundaryCoordinates=function(e){var t=this,r=new W;this._endpointMap=new It;for(var i=0;i<e.getNumGeometries();i++){var s=e.getGeometryN(i);s.getNumPoints()!==0&&(t.addEndpoint(s.getCoordinateN(0)),t.addEndpoint(s.getCoordinateN(s.getNumPoints()-1)))}for(var o=this._endpointMap.entrySet().iterator();o.hasNext();){var a=o.next(),l=a.getValue(),u=l.count;t._bnRule.isInBoundary(u)&&r.add(a.getKey())}return pe.toCoordinateArray(r)},Ir.prototype.addEndpoint=function(e){var t=this._endpointMap.get(e);t===null&&(t=new Ru,this._endpointMap.put(e,t)),t.count++},Ir.prototype.interfaces_=function(){return[]},Ir.prototype.getClass=function(){return Ir},Ir.getBoundary=function(){if(arguments.length===1){var e=arguments[0],t=new Ir(e);return t.getBoundary()}else if(arguments.length===2){var r=arguments[0],i=arguments[1],s=new Ir(r,i);return s.getBoundary()}};var Ru=function(){this.count=null};Ru.prototype.interfaces_=function(){return[]},Ru.prototype.getClass=function(){return Ru};function Ym(){}function Hm(){}var Jm=function(){};function Zm(){}function Km(){}function Qm(){}var Tr=function(){},zc={NEWLINE:{configurable:!0},SIMPLE_ORDINATE_FORMAT:{configurable:!0}};Tr.prototype.interfaces_=function(){return[]},Tr.prototype.getClass=function(){return Tr},Tr.chars=function(e,t){for(var r=new Array(t).fill(null),i=0;i<t;i++)r[i]=e;return String(r)},Tr.getStackTrace=function(){if(arguments.length===1){var e=arguments[0],t=new Zm,r=new Ym;return e.printStackTrace(r),t.toString()}else if(arguments.length===2){var i=arguments[0],s=arguments[1],o="";new Hm(Tr.getStackTrace(i));for(var a=new Qm,l=0;l<s;l++)try{o+=a.readLine()+Tr.NEWLINE}catch(u){if(u instanceof Km)fe.shouldNeverReachHere();else throw u}finally{}return o}},Tr.split=function(e,t){for(var r=t.length,i=new W,s=""+e,o=s.indexOf(t);o>=0;){var a=s.substring(0,o);i.add(a),s=s.substring(o+r),o=s.indexOf(t)}s.length>0&&i.add(s);for(var l=new Array(i.size()).fill(null),u=0;u<l.length;u++)l[u]=i.get(u);return l},Tr.toString=function(){if(arguments.length===1){var e=arguments[0];return Tr.SIMPLE_ORDINATE_FORMAT.format(e)}},Tr.spaces=function(e){return Tr.chars(" ",e)},zc.NEWLINE.get=function(){return mt.getProperty("line.separator")},zc.SIMPLE_ORDINATE_FORMAT.get=function(){return new Jm},Object.defineProperties(Tr,zc);var Ke=function(){};Ke.prototype.interfaces_=function(){return[]},Ke.prototype.getClass=function(){return Ke},Ke.copyCoord=function(e,t,r,i){for(var s=Math.min(e.getDimension(),r.getDimension()),o=0;o<s;o++)r.setOrdinate(i,o,e.getOrdinate(t,o))},Ke.isRing=function(e){var t=e.size();return t===0?!0:t<=3?!1:e.getOrdinate(0,Ee.X)===e.getOrdinate(t-1,Ee.X)&&e.getOrdinate(0,Ee.Y)===e.getOrdinate(t-1,Ee.Y)},Ke.isEqual=function(e,t){var r=e.size(),i=t.size();if(r!==i)return!1;for(var s=Math.min(e.getDimension(),t.getDimension()),o=0;o<r;o++)for(var a=0;a<s;a++){var l=e.getOrdinate(o,a),u=t.getOrdinate(o,a);if(e.getOrdinate(o,a)!==t.getOrdinate(o,a)&&!(le.isNaN(l)&&le.isNaN(u)))return!1}return!0},Ke.extend=function(e,t,r){var i=e.create(r,t.getDimension()),s=t.size();if(Ke.copy(t,0,i,0,s),s>0)for(var o=s;o<r;o++)Ke.copy(t,s-1,i,o,1);return i},Ke.reverse=function(e){for(var t=e.size()-1,r=Math.trunc(t/2),i=0;i<=r;i++)Ke.swap(e,i,t-i)},Ke.swap=function(e,t,r){if(t===r)return null;for(var i=0;i<e.getDimension();i++){var s=e.getOrdinate(t,i);e.setOrdinate(t,i,e.getOrdinate(r,i)),e.setOrdinate(r,i,s)}},Ke.copy=function(e,t,r,i,s){for(var o=0;o<s;o++)Ke.copyCoord(e,t+o,r,i+o)},Ke.toString=function(){if(arguments.length===1){var e=arguments[0],t=e.size();if(t===0)return"()";var r=e.getDimension(),i=new on;i.append("(");for(var s=0;s<t;s++){s>0&&i.append(" ");for(var o=0;o<r;o++)o>0&&i.append(","),i.append(Tr.toString(e.getOrdinate(s,o)))}return i.append(")"),i.toString()}},Ke.ensureValidRing=function(e,t){var r=t.size();if(r===0)return t;if(r<=3)return Ke.createClosedRing(e,t,4);var i=t.getOrdinate(0,Ee.X)===t.getOrdinate(r-1,Ee.X)&&t.getOrdinate(0,Ee.Y)===t.getOrdinate(r-1,Ee.Y);return i?t:Ke.createClosedRing(e,t,r+1)},Ke.createClosedRing=function(e,t,r){var i=e.create(r,t.getDimension()),s=t.size();Ke.copy(t,0,i,0,s);for(var o=s;o<r;o++)Ke.copy(t,0,i,o,1);return i};var Je=function(n){function e(r,i){n.call(this,i),this._points=null,this.init(r)}n&&(e.__proto__=n),e.prototype=Object.create(n&&n.prototype),e.prototype.constructor=e;var t={serialVersionUID:{configurable:!0}};return e.prototype.computeEnvelopeInternal=function(){return this.isEmpty()?new te:this._points.expandEnvelope(new te)},e.prototype.isRing=function(){return this.isClosed()&&this.isSimple()},e.prototype.getSortIndex=function(){return n.SORTINDEX_LINESTRING},e.prototype.getCoordinates=function(){return this._points.toCoordinateArray()},e.prototype.equalsExact=function(){var i=this;if(arguments.length===2){var s=arguments[0],o=arguments[1];if(!this.isEquivalentClass(s))return!1;var a=s;if(this._points.size()!==a._points.size())return!1;for(var l=0;l<this._points.size();l++)if(!i.equal(i._points.getCoordinate(l),a._points.getCoordinate(l),o))return!1;return!0}else return n.prototype.equalsExact.apply(this,arguments)},e.prototype.normalize=function(){for(var i=this,s=0;s<Math.trunc(this._points.size()/2);s++){var o=i._points.size()-1-s;if(!i._points.getCoordinate(s).equals(i._points.getCoordinate(o)))return i._points.getCoordinate(s).compareTo(i._points.getCoordinate(o))>0&&Ke.reverse(i._points),null}},e.prototype.getCoordinate=function(){return this.isEmpty()?null:this._points.getCoordinate(0)},e.prototype.getBoundaryDimension=function(){return this.isClosed()?Ie.FALSE:0},e.prototype.isClosed=function(){return this.isEmpty()?!1:this.getCoordinateN(0).equals2D(this.getCoordinateN(this.getNumPoints()-1))},e.prototype.getEndPoint=function(){return this.isEmpty()?null:this.getPointN(this.getNumPoints()-1)},e.prototype.getDimension=function(){return 1},e.prototype.getLength=function(){return H.computeLength(this._points)},e.prototype.getNumPoints=function(){return this._points.size()},e.prototype.reverse=function(){var i=this._points.copy();Ke.reverse(i);var s=this.getFactory().createLineString(i);return s},e.prototype.compareToSameClass=function(){var i=this;if(arguments.length===1){for(var s=arguments[0],o=s,a=0,l=0;a<this._points.size()&&l<o._points.size();){var u=i._points.getCoordinate(a).compareTo(o._points.getCoordinate(l));if(u!==0)return u;a++,l++}return a<this._points.size()?1:l<o._points.size()?-1:0}else if(arguments.length===2){var h=arguments[0],f=arguments[1],p=h;return f.compare(this._points,p._points)}},e.prototype.apply=function(){var i=this;if(ae(arguments[0],Ln))for(var s=arguments[0],o=0;o<this._points.size();o++)s.filter(i._points.getCoordinate(o));else if(ae(arguments[0],Zr)){var a=arguments[0];if(this._points.size()===0)return null;for(var l=0;l<this._points.size()&&(a.filter(i._points,l),!a.isDone());l++);a.isGeometryChanged()&&this.geometryChanged()}else if(ae(arguments[0],hn)){var u=arguments[0];u.filter(this)}else if(ae(arguments[0],ii)){var h=arguments[0];h.filter(this)}},e.prototype.getBoundary=function(){return new Ir(this).getBoundary()},e.prototype.isEquivalentClass=function(i){return i instanceof e},e.prototype.clone=function(){var i=n.prototype.clone.call(this);return i._points=this._points.clone(),i},e.prototype.getCoordinateN=function(i){return this._points.getCoordinate(i)},e.prototype.getGeometryType=function(){return"LineString"},e.prototype.copy=function(){return new e(this._points.copy(),this._factory)},e.prototype.getCoordinateSequence=function(){return this._points},e.prototype.isEmpty=function(){return this._points.size()===0},e.prototype.init=function(i){if(i===null&&(i=this.getFactory().getCoordinateSequenceFactory().create([])),i.size()===1)throw new Ue("Invalid number of points in LineString (found "+i.size()+" - must be 0 or >= 2)");this._points=i},e.prototype.isCoordinate=function(i){for(var s=this,o=0;o<this._points.size();o++)if(s._points.getCoordinate(o).equals(i))return!0;return!1},e.prototype.getStartPoint=function(){return this.isEmpty()?null:this.getPointN(0)},e.prototype.getPointN=function(i){return this.getFactory().createPoint(this._points.getCoordinate(i))},e.prototype.interfaces_=function(){return[Xl]},e.prototype.getClass=function(){return e},t.serialVersionUID.get=function(){return 0x2b2b51ba435c8e00},Object.defineProperties(e,t),e}(oe),Yl=function(){};Yl.prototype.interfaces_=function(){return[]},Yl.prototype.getClass=function(){return Yl};var jt=function(n){function e(r,i){n.call(this,i),this._coordinates=r||null,this.init(this._coordinates)}n&&(e.__proto__=n),e.prototype=Object.create(n&&n.prototype),e.prototype.constructor=e;var t={serialVersionUID:{configurable:!0}};return e.prototype.computeEnvelopeInternal=function(){if(this.isEmpty())return new te;var i=new te;return i.expandToInclude(this._coordinates.getX(0),this._coordinates.getY(0)),i},e.prototype.getSortIndex=function(){return n.SORTINDEX_POINT},e.prototype.getCoordinates=function(){return this.isEmpty()?[]:[this.getCoordinate()]},e.prototype.equalsExact=function(){if(arguments.length===2){var i=arguments[0],s=arguments[1];return this.isEquivalentClass(i)?this.isEmpty()&&i.isEmpty()?!0:this.isEmpty()!==i.isEmpty()?!1:this.equal(i.getCoordinate(),this.getCoordinate(),s):!1}else return n.prototype.equalsExact.apply(this,arguments)},e.prototype.normalize=function(){},e.prototype.getCoordinate=function(){return this._coordinates.size()!==0?this._coordinates.getCoordinate(0):null},e.prototype.getBoundaryDimension=function(){return Ie.FALSE},e.prototype.getDimension=function(){return 0},e.prototype.getNumPoints=function(){return this.isEmpty()?0:1},e.prototype.reverse=function(){return this.copy()},e.prototype.getX=function(){if(this.getCoordinate()===null)throw new Error("getX called on empty Point");return this.getCoordinate().x},e.prototype.compareToSameClass=function(){if(arguments.length===1){var i=arguments[0],s=i;return this.getCoordinate().compareTo(s.getCoordinate())}else if(arguments.length===2){var o=arguments[0],a=arguments[1],l=o;return a.compare(this._coordinates,l._coordinates)}},e.prototype.apply=function(){if(ae(arguments[0],Ln)){var i=arguments[0];if(this.isEmpty())return null;i.filter(this.getCoordinate())}else if(ae(arguments[0],Zr)){var s=arguments[0];if(this.isEmpty())return null;s.filter(this._coordinates,0),s.isGeometryChanged()&&this.geometryChanged()}else if(ae(arguments[0],hn)){var o=arguments[0];o.filter(this)}else if(ae(arguments[0],ii)){var a=arguments[0];a.filter(this)}},e.prototype.getBoundary=function(){return this.getFactory().createGeometryCollection(null)},e.prototype.clone=function(){var i=n.prototype.clone.call(this);return i._coordinates=this._coordinates.clone(),i},e.prototype.getGeometryType=function(){return"Point"},e.prototype.copy=function(){return new e(this._coordinates.copy(),this._factory)},e.prototype.getCoordinateSequence=function(){return this._coordinates},e.prototype.getY=function(){if(this.getCoordinate()===null)throw new Error("getY called on empty Point");return this.getCoordinate().y},e.prototype.isEmpty=function(){return this._coordinates.size()===0},e.prototype.init=function(i){i===null&&(i=this.getFactory().getCoordinateSequenceFactory().create([])),fe.isTrue(i.size()<=1),this._coordinates=i},e.prototype.isSimple=function(){return!0},e.prototype.interfaces_=function(){return[Yl]},e.prototype.getClass=function(){return e},t.serialVersionUID.get=function(){return 4902022702746615e3},Object.defineProperties(e,t),e}(oe),Li=function(){};Li.prototype.interfaces_=function(){return[]},Li.prototype.getClass=function(){return Li};var it=function(n){function e(r,i,s){if(n.call(this,s),this._shell=null,this._holes=null,r===null&&(r=this.getFactory().createLinearRing()),i===null&&(i=[]),n.hasNullElements(i))throw new Ue("holes must not contain null elements");if(r.isEmpty()&&n.hasNonEmptyElements(i))throw new Ue("shell is empty but holes are not");this._shell=r,this._holes=i}n&&(e.__proto__=n),e.prototype=Object.create(n&&n.prototype),e.prototype.constructor=e;var t={serialVersionUID:{configurable:!0}};return e.prototype.computeEnvelopeInternal=function(){return this._shell.getEnvelopeInternal()},e.prototype.getSortIndex=function(){return n.SORTINDEX_POLYGON},e.prototype.getCoordinates=function(){var i=this;if(this.isEmpty())return[];for(var s=new Array(this.getNumPoints()).fill(null),o=-1,a=this._shell.getCoordinates(),l=0;l<a.length;l++)o++,s[o]=a[l];for(var u=0;u<this._holes.length;u++)for(var h=i._holes[u].getCoordinates(),f=0;f<h.length;f++)o++,s[o]=h[f];return s},e.prototype.getArea=function(){var i=this,s=0;s+=Math.abs(H.signedArea(this._shell.getCoordinateSequence()));for(var o=0;o<this._holes.length;o++)s-=Math.abs(H.signedArea(i._holes[o].getCoordinateSequence()));return s},e.prototype.isRectangle=function(){if(this.getNumInteriorRing()!==0||this._shell===null||this._shell.getNumPoints()!==5)return!1;for(var i=this._shell.getCoordinateSequence(),s=this.getEnvelopeInternal(),o=0;o<5;o++){var a=i.getX(o);if(!(a===s.getMinX()||a===s.getMaxX()))return!1;var l=i.getY(o);if(!(l===s.getMinY()||l===s.getMaxY()))return!1}for(var u=i.getX(0),h=i.getY(0),f=1;f<=4;f++){var p=i.getX(f),v=i.getY(f),w=p!==u,I=v!==h;if(w===I)return!1;u=p,h=v}return!0},e.prototype.equalsExact=function(){var i=this;if(arguments.length===2){var s=arguments[0],o=arguments[1];if(!this.isEquivalentClass(s))return!1;var a=s,l=this._shell,u=a._shell;if(!l.equalsExact(u,o)||this._holes.length!==a._holes.length)return!1;for(var h=0;h<this._holes.length;h++)if(!i._holes[h].equalsExact(a._holes[h],o))return!1;return!0}else return n.prototype.equalsExact.apply(this,arguments)},e.prototype.normalize=function(){var i=this;if(arguments.length===0){this.normalize(this._shell,!0);for(var s=0;s<this._holes.length;s++)i.normalize(i._holes[s],!1);us.sort(this._holes)}else if(arguments.length===2){var o=arguments[0],a=arguments[1];if(o.isEmpty())return null;var l=new Array(o.getCoordinates().length-1).fill(null);mt.arraycopy(o.getCoordinates(),0,l,0,l.length);var u=pe.minCoordinate(o.getCoordinates());pe.scroll(l,u),mt.arraycopy(l,0,o.getCoordinates(),0,l.length),o.getCoordinates()[l.length]=l[0],H.isCCW(o.getCoordinates())===a&&pe.reverse(o.getCoordinates())}},e.prototype.getCoordinate=function(){return this._shell.getCoordinate()},e.prototype.getNumInteriorRing=function(){return this._holes.length},e.prototype.getBoundaryDimension=function(){return 1},e.prototype.getDimension=function(){return 2},e.prototype.getLength=function(){var i=this,s=0;s+=this._shell.getLength();for(var o=0;o<this._holes.length;o++)s+=i._holes[o].getLength();return s},e.prototype.getNumPoints=function(){for(var i=this,s=this._shell.getNumPoints(),o=0;o<this._holes.length;o++)s+=i._holes[o].getNumPoints();return s},e.prototype.reverse=function(){var i=this,s=this.copy();s._shell=this._shell.copy().reverse(),s._holes=new Array(this._holes.length).fill(null);for(var o=0;o<this._holes.length;o++)s._holes[o]=i._holes[o].copy().reverse();return s},e.prototype.convexHull=function(){return this.getExteriorRing().convexHull()},e.prototype.compareToSameClass=function(){var i=this;if(arguments.length===1){var s=arguments[0],o=this._shell,a=s._shell;return o.compareToSameClass(a)}else if(arguments.length===2){var l=arguments[0],u=arguments[1],h=l,f=this._shell,p=h._shell,v=f.compareToSameClass(p,u);if(v!==0)return v;for(var w=this.getNumInteriorRing(),I=h.getNumInteriorRing(),T=0;T<w&&T<I;){var L=i.getInteriorRingN(T),m=h.getInteriorRingN(T),_=L.compareToSameClass(m,u);if(_!==0)return _;T++}return T<w?1:T<I?-1:0}},e.prototype.apply=function(i){var s=this;if(ae(i,Ln)){this._shell.apply(i);for(var o=0;o<this._holes.length;o++)s._holes[o].apply(i)}else if(ae(i,Zr)){if(this._shell.apply(i),!i.isDone())for(var a=0;a<this._holes.length&&(s._holes[a].apply(i),!i.isDone());a++);i.isGeometryChanged()&&this.geometryChanged()}else if(ae(i,hn))i.filter(this);else if(ae(i,ii)){i.filter(this),this._shell.apply(i);for(var l=0;l<this._holes.length;l++)s._holes[l].apply(i)}},e.prototype.getBoundary=function(){var i=this;if(this.isEmpty())return this.getFactory().createMultiLineString();var s=new Array(this._holes.length+1).fill(null);s[0]=this._shell;for(var o=0;o<this._holes.length;o++)s[o+1]=i._holes[o];return s.length<=1?this.getFactory().createLinearRing(s[0].getCoordinateSequence()):this.getFactory().createMultiLineString(s)},e.prototype.clone=function(){var i=this,s=n.prototype.clone.call(this);s._shell=this._shell.clone(),s._holes=new Array(this._holes.length).fill(null);for(var o=0;o<this._holes.length;o++)s._holes[o]=i._holes[o].clone();return s},e.prototype.getGeometryType=function(){return"Polygon"},e.prototype.copy=function(){for(var i=this,s=this._shell.copy(),o=new Array(this._holes.length).fill(null),a=0;a<o.length;a++)o[a]=i._holes[a].copy();return new e(s,o,this._factory)},e.prototype.getExteriorRing=function(){return this._shell},e.prototype.isEmpty=function(){return this._shell.isEmpty()},e.prototype.getInteriorRingN=function(i){return this._holes[i]},e.prototype.interfaces_=function(){return[Li]},e.prototype.getClass=function(){return e},t.serialVersionUID.get=function(){return-0x307ffefd8dc97200},Object.defineProperties(e,t),e}(oe),ul=function(n){function e(){n.apply(this,arguments)}n&&(e.__proto__=n),e.prototype=Object.create(n&&n.prototype),e.prototype.constructor=e;var t={serialVersionUID:{configurable:!0}};return e.prototype.getSortIndex=function(){return oe.SORTINDEX_MULTIPOINT},e.prototype.isValid=function(){return!0},e.prototype.equalsExact=function(){if(arguments.length===2){var i=arguments[0],s=arguments[1];return this.isEquivalentClass(i)?n.prototype.equalsExact.call(this,i,s):!1}else return n.prototype.equalsExact.apply(this,arguments)},e.prototype.getCoordinate=function(){if(arguments.length===1){var i=arguments[0];return this._geometries[i].getCoordinate()}else return n.prototype.getCoordinate.apply(this,arguments)},e.prototype.getBoundaryDimension=function(){return Ie.FALSE},e.prototype.getDimension=function(){return 0},e.prototype.getBoundary=function(){return this.getFactory().createGeometryCollection(null)},e.prototype.getGeometryType=function(){return"MultiPoint"},e.prototype.copy=function(){for(var i=this,s=new Array(this._geometries.length).fill(null),o=0;o<s.length;o++)s[o]=i._geometries[o].copy();return new e(s,this._factory)},e.prototype.interfaces_=function(){return[Yl]},e.prototype.getClass=function(){return e},t.serialVersionUID.get=function(){return-8048474874175356e3},Object.defineProperties(e,t),e}(Mt),An=function(n){function e(r,i){r instanceof M&&i instanceof ge&&(r=i.getCoordinateSequenceFactory().create(r)),n.call(this,r,i),this.validateConstruction()}n&&(e.__proto__=n),e.prototype=Object.create(n&&n.prototype),e.prototype.constructor=e;var t={MINIMUM_VALID_SIZE:{configurable:!0},serialVersionUID:{configurable:!0}};return e.prototype.getSortIndex=function(){return oe.SORTINDEX_LINEARRING},e.prototype.getBoundaryDimension=function(){return Ie.FALSE},e.prototype.isClosed=function(){return this.isEmpty()?!0:n.prototype.isClosed.call(this)},e.prototype.reverse=function(){var i=this._points.copy();Ke.reverse(i);var s=this.getFactory().createLinearRing(i);return s},e.prototype.validateConstruction=function(){if(!this.isEmpty()&&!n.prototype.isClosed.call(this))throw new Ue("Points of LinearRing do not form a closed linestring");if(this.getCoordinateSequence().size()>=1&&this.getCoordinateSequence().size()<e.MINIMUM_VALID_SIZE)throw new Ue("Invalid number of points in LinearRing (found "+this.getCoordinateSequence().size()+" - must be 0 or >= 4)")},e.prototype.getGeometryType=function(){return"LinearRing"},e.prototype.copy=function(){return new e(this._points.copy(),this._factory)},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},t.MINIMUM_VALID_SIZE.get=function(){return 4},t.serialVersionUID.get=function(){return-0x3b229e262367a600},Object.defineProperties(e,t),e}(Je),Rn=function(n){function e(){n.apply(this,arguments)}n&&(e.__proto__=n),e.prototype=Object.create(n&&n.prototype),e.prototype.constructor=e;var t={serialVersionUID:{configurable:!0}};return e.prototype.getSortIndex=function(){return oe.SORTINDEX_MULTIPOLYGON},e.prototype.equalsExact=function(){if(arguments.length===2){var i=arguments[0],s=arguments[1];return this.isEquivalentClass(i)?n.prototype.equalsExact.call(this,i,s):!1}else return n.prototype.equalsExact.apply(this,arguments)},e.prototype.getBoundaryDimension=function(){return 1},e.prototype.getDimension=function(){return 2},e.prototype.reverse=function(){for(var i=this,s=this._geometries.length,o=new Array(s).fill(null),a=0;a<this._geometries.length;a++)o[a]=i._geometries[a].reverse();return this.getFactory().createMultiPolygon(o)},e.prototype.getBoundary=function(){var i=this;if(this.isEmpty())return this.getFactory().createMultiLineString();for(var s=new W,o=0;o<this._geometries.length;o++)for(var a=i._geometries[o],l=a.getBoundary(),u=0;u<l.getNumGeometries();u++)s.add(l.getGeometryN(u));var h=new Array(s.size()).fill(null);return this.getFactory().createMultiLineString(s.toArray(h))},e.prototype.getGeometryType=function(){return"MultiPolygon"},e.prototype.copy=function(){for(var i=this,s=new Array(this._geometries.length).fill(null),o=0;o<s.length;o++)s[o]=i._geometries[o].copy();return new e(s,this._factory)},e.prototype.interfaces_=function(){return[Li]},e.prototype.getClass=function(){return e},t.serialVersionUID.get=function(){return-0x7a5aa1369171980},Object.defineProperties(e,t),e}(Mt),br=function(e){this._factory=e||null,this._isUserDataCopied=!1},Fu={NoOpGeometryOperation:{configurable:!0},CoordinateOperation:{configurable:!0},CoordinateSequenceOperation:{configurable:!0}};br.prototype.setCopyUserData=function(e){this._isUserDataCopied=e},br.prototype.edit=function(e,t){if(e===null)return null;var r=this.editInternal(e,t);return this._isUserDataCopied&&r.setUserData(e.getUserData()),r},br.prototype.editInternal=function(e,t){return this._factory===null&&(this._factory=e.getFactory()),e instanceof Mt?this.editGeometryCollection(e,t):e instanceof it?this.editPolygon(e,t):e instanceof jt?t.edit(e,this._factory):e instanceof Je?t.edit(e,this._factory):(fe.shouldNeverReachHere("Unsupported Geometry class: "+e.getClass().getName()),null)},br.prototype.editGeometryCollection=function(e,t){for(var r=this,i=t.edit(e,this._factory),s=new W,o=0;o<i.getNumGeometries();o++){var a=r.edit(i.getGeometryN(o),t);a===null||a.isEmpty()||s.add(a)}return i.getClass()===ul?this._factory.createMultiPoint(s.toArray([])):i.getClass()===cs?this._factory.createMultiLineString(s.toArray([])):i.getClass()===Rn?this._factory.createMultiPolygon(s.toArray([])):this._factory.createGeometryCollection(s.toArray([]))},br.prototype.editPolygon=function(e,t){var r=this,i=t.edit(e,this._factory);if(i===null&&(i=this._factory.createPolygon(null)),i.isEmpty())return i;var s=this.edit(i.getExteriorRing(),t);if(s===null||s.isEmpty())return this._factory.createPolygon();for(var o=new W,a=0;a<i.getNumInteriorRing();a++){var l=r.edit(i.getInteriorRingN(a),t);l===null||l.isEmpty()||o.add(l)}return this._factory.createPolygon(s,o.toArray([]))},br.prototype.interfaces_=function(){return[]},br.prototype.getClass=function(){return br},br.GeometryEditorOperation=function(){},Fu.NoOpGeometryOperation.get=function(){return Hl},Fu.CoordinateOperation.get=function(){return Jl},Fu.CoordinateSequenceOperation.get=function(){return Zl},Object.defineProperties(br,Fu);var Hl=function(){};Hl.prototype.edit=function(e,t){return e},Hl.prototype.interfaces_=function(){return[br.GeometryEditorOperation]},Hl.prototype.getClass=function(){return Hl};var Jl=function(){};Jl.prototype.edit=function(e,t){var r=this.editCoordinates(e.getCoordinates(),e);return r===null?e:e instanceof An?t.createLinearRing(r):e instanceof Je?t.createLineString(r):e instanceof jt?r.length>0?t.createPoint(r[0]):t.createPoint():e},Jl.prototype.interfaces_=function(){return[br.GeometryEditorOperation]},Jl.prototype.getClass=function(){return Jl};var Zl=function(){};Zl.prototype.edit=function(e,t){return e instanceof An?t.createLinearRing(this.edit(e.getCoordinateSequence(),e)):e instanceof Je?t.createLineString(this.edit(e.getCoordinateSequence(),e)):e instanceof jt?t.createPoint(this.edit(e.getCoordinateSequence(),e)):e},Zl.prototype.interfaces_=function(){return[br.GeometryEditorOperation]},Zl.prototype.getClass=function(){return Zl};var Qe=function(){var e=this;if(this._dimension=3,this._coordinates=null,arguments.length===1){if(arguments[0]instanceof Array)this._coordinates=arguments[0],this._dimension=3;else if(Number.isInteger(arguments[0])){var t=arguments[0];this._coordinates=new Array(t).fill(null);for(var r=0;r<t;r++)e._coordinates[r]=new M}else if(ae(arguments[0],Ee)){var i=arguments[0];if(i===null)return this._coordinates=new Array(0).fill(null),null;this._dimension=i.getDimension(),this._coordinates=new Array(i.size()).fill(null);for(var s=0;s<this._coordinates.length;s++)e._coordinates[s]=i.getCoordinateCopy(s)}}else if(arguments.length===2){if(arguments[0]instanceof Array&&Number.isInteger(arguments[1])){var o=arguments[0],a=arguments[1];this._coordinates=o,this._dimension=a,o===null&&(this._coordinates=new Array(0).fill(null))}else if(Number.isInteger(arguments[0])&&Number.isInteger(arguments[1])){var l=arguments[0],u=arguments[1];this._coordinates=new Array(l).fill(null),this._dimension=u;for(var h=0;h<l;h++)e._coordinates[h]=new M}}},Df={serialVersionUID:{configurable:!0}};Qe.prototype.setOrdinate=function(e,t,r){switch(t){case Ee.X:this._coordinates[e].x=r;break;case Ee.Y:this._coordinates[e].y=r;break;case Ee.Z:this._coordinates[e].z=r;break;default:throw new Ue("invalid ordinateIndex")}},Qe.prototype.size=function(){return this._coordinates.length},Qe.prototype.getOrdinate=function(e,t){switch(t){case Ee.X:return this._coordinates[e].x;case Ee.Y:return this._coordinates[e].y;case Ee.Z:return this._coordinates[e].z}return le.NaN},Qe.prototype.getCoordinate=function(){if(arguments.length===1){var e=arguments[0];return this._coordinates[e]}else if(arguments.length===2){var t=arguments[0],r=arguments[1];r.x=this._coordinates[t].x,r.y=this._coordinates[t].y,r.z=this._coordinates[t].z}},Qe.prototype.getCoordinateCopy=function(e){return new M(this._coordinates[e])},Qe.prototype.getDimension=function(){return this._dimension},Qe.prototype.getX=function(e){return this._coordinates[e].x},Qe.prototype.clone=function(){for(var e=this,t=new Array(this.size()).fill(null),r=0;r<this._coordinates.length;r++)t[r]=e._coordinates[r].clone();return new Qe(t,this._dimension)},Qe.prototype.expandEnvelope=function(e){for(var t=this,r=0;r<this._coordinates.length;r++)e.expandToInclude(t._coordinates[r]);return e},Qe.prototype.copy=function(){for(var e=this,t=new Array(this.size()).fill(null),r=0;r<this._coordinates.length;r++)t[r]=e._coordinates[r].copy();return new Qe(t,this._dimension)},Qe.prototype.toString=function(){var e=this;if(this._coordinates.length>0){var t=new on(17*this._coordinates.length);t.append("("),t.append(this._coordinates[0]);for(var r=1;r<this._coordinates.length;r++)t.append(", "),t.append(e._coordinates[r]);return t.append(")"),t.toString()}else return"()"},Qe.prototype.getY=function(e){return this._coordinates[e].y},Qe.prototype.toCoordinateArray=function(){return this._coordinates},Qe.prototype.interfaces_=function(){return[Ee,Cr]},Qe.prototype.getClass=function(){return Qe},Df.serialVersionUID.get=function(){return-0xcb44a778db18e00},Object.defineProperties(Qe,Df);var Fn=function(){},Uc={serialVersionUID:{configurable:!0},instanceObject:{configurable:!0}};Fn.prototype.readResolve=function(){return Fn.instance()},Fn.prototype.create=function(){if(arguments.length===1){if(arguments[0]instanceof Array){var e=arguments[0];return new Qe(e)}else if(ae(arguments[0],Ee)){var t=arguments[0];return new Qe(t)}}else if(arguments.length===2){var r=arguments[0],i=arguments[1];return i>3&&(i=3),i<2?new Qe(r):new Qe(r,i)}},Fn.prototype.interfaces_=function(){return[ja,Cr]},Fn.prototype.getClass=function(){return Fn},Fn.instance=function(){return Fn.instanceObject},Uc.serialVersionUID.get=function(){return-0x38e49fa6cf6f2e00},Uc.instanceObject.get=function(){return new Fn},Object.defineProperties(Fn,Uc);var Of=function(n){function e(){n.call(this),this.map_=new Map}return n&&(e.__proto__=n),e.prototype=Object.create(n&&n.prototype),e.prototype.constructor=e,e.prototype.get=function(r){return this.map_.get(r)||null},e.prototype.put=function(r,i){return this.map_.set(r,i),i},e.prototype.values=function(){for(var r=new W,i=this.map_.values(),s=i.next();!s.done;)r.add(s.value),s=i.next();return r},e.prototype.entrySet=function(){var r=new kc;return this.map_.entries().forEach(function(i){return r.add(i)}),r},e.prototype.size=function(){return this.map_.size()},e}(Ks),Te=function n(){if(this._modelType=null,this._scale=null,arguments.length===0)this._modelType=n.FLOATING;else if(arguments.length===1){if(arguments[0]instanceof fn){var e=arguments[0];this._modelType=e,e===n.FIXED&&this.setScale(1)}else if(typeof arguments[0]=="number"){var t=arguments[0];this._modelType=n.FIXED,this.setScale(t)}else if(arguments[0]instanceof n){var r=arguments[0];this._modelType=r._modelType,this._scale=r._scale}}},Gc={serialVersionUID:{configurable:!0},maximumPreciseValue:{configurable:!0}};Te.prototype.equals=function(e){if(!(e instanceof Te))return!1;var t=e;return this._modelType===t._modelType&&this._scale===t._scale},Te.prototype.compareTo=function(e){var t=e,r=this.getMaximumSignificantDigits(),i=t.getMaximumSignificantDigits();return new an(r).compareTo(new an(i))},Te.prototype.getScale=function(){return this._scale},Te.prototype.isFloating=function(){return this._modelType===Te.FLOATING||this._modelType===Te.FLOATING_SINGLE},Te.prototype.getType=function(){return this._modelType},Te.prototype.toString=function(){var e="UNKNOWN";return this._modelType===Te.FLOATING?e="Floating":this._modelType===Te.FLOATING_SINGLE?e="Floating-Single":this._modelType===Te.FIXED&&(e="Fixed (Scale="+this.getScale()+")"),e},Te.prototype.makePrecise=function(){if(typeof arguments[0]=="number"){var e=arguments[0];if(le.isNaN(e))return e;if(this._modelType===Te.FLOATING_SINGLE){var t=e;return t}return this._modelType===Te.FIXED?Math.round(e*this._scale)/this._scale:e}else if(arguments[0]instanceof M){var r=arguments[0];if(this._modelType===Te.FLOATING)return null;r.x=this.makePrecise(r.x),r.y=this.makePrecise(r.y)}},Te.prototype.getMaximumSignificantDigits=function(){var e=16;return this._modelType===Te.FLOATING?e=16:this._modelType===Te.FLOATING_SINGLE?e=6:this._modelType===Te.FIXED&&(e=1+Math.trunc(Math.ceil(Math.log(this.getScale())/Math.log(10)))),e},Te.prototype.setScale=function(e){this._scale=Math.abs(e)},Te.prototype.interfaces_=function(){return[Cr,Sr]},Te.prototype.getClass=function(){return Te},Te.mostPrecise=function(e,t){return e.compareTo(t)>=0?e:t},Gc.serialVersionUID.get=function(){return 7777263578777804e3},Gc.maximumPreciseValue.get=function(){return 9007199254740992},Object.defineProperties(Te,Gc);var fn=function n(e){this._name=e||null,n.nameToTypeMap.put(e,this)},Wc={serialVersionUID:{configurable:!0},nameToTypeMap:{configurable:!0}};fn.prototype.readResolve=function(){return fn.nameToTypeMap.get(this._name)},fn.prototype.toString=function(){return this._name},fn.prototype.interfaces_=function(){return[Cr]},fn.prototype.getClass=function(){return fn},Wc.serialVersionUID.get=function(){return-552860263173159e4},Wc.nameToTypeMap.get=function(){return new Of},Object.defineProperties(fn,Wc),Te.Type=fn,Te.FIXED=new fn("FIXED"),Te.FLOATING=new fn("FLOATING"),Te.FLOATING_SINGLE=new fn("FLOATING SINGLE");var ge=function n(){this._precisionModel=new Te,this._SRID=0,this._coordinateSequenceFactory=n.getDefaultCoordinateSequenceFactory(),arguments.length===0||(arguments.length===1?ae(arguments[0],ja)?this._coordinateSequenceFactory=arguments[0]:arguments[0]instanceof Te&&(this._precisionModel=arguments[0]):arguments.length===2?(this._precisionModel=arguments[0],this._SRID=arguments[1]):arguments.length===3&&(this._precisionModel=arguments[0],this._SRID=arguments[1],this._coordinateSequenceFactory=arguments[2]))},Mf={serialVersionUID:{configurable:!0}};ge.prototype.toGeometry=function(e){return e.isNull()?this.createPoint(null):e.getMinX()===e.getMaxX()&&e.getMinY()===e.getMaxY()?this.createPoint(new M(e.getMinX(),e.getMinY())):e.getMinX()===e.getMaxX()||e.getMinY()===e.getMaxY()?this.createLineString([new M(e.getMinX(),e.getMinY()),new M(e.getMaxX(),e.getMaxY())]):this.createPolygon(this.createLinearRing([new M(e.getMinX(),e.getMinY()),new M(e.getMinX(),e.getMaxY()),new M(e.getMaxX(),e.getMaxY()),new M(e.getMaxX(),e.getMinY()),new M(e.getMinX(),e.getMinY())]),null)},ge.prototype.createLineString=function(e){if(e){if(e instanceof Array)return new Je(this.getCoordinateSequenceFactory().create(e),this);if(ae(e,Ee))return new Je(e,this)}else return new Je(this.getCoordinateSequenceFactory().create([]),this)},ge.prototype.createMultiLineString=function(){if(arguments.length===0)return new cs(null,this);if(arguments.length===1){var e=arguments[0];return new cs(e,this)}},ge.prototype.buildGeometry=function(e){for(var t=null,r=!1,i=!1,s=e.iterator();s.hasNext();){var o=s.next(),a=o.getClass();t===null&&(t=a),a!==t&&(r=!0),o.isGeometryCollectionOrDerived()&&(i=!0)}if(t===null)return this.createGeometryCollection();if(r||i)return this.createGeometryCollection(ge.toGeometryArray(e));var l=e.iterator().next(),u=e.size()>1;if(u){if(l instanceof it)return this.createMultiPolygon(ge.toPolygonArray(e));if(l instanceof Je)return this.createMultiLineString(ge.toLineStringArray(e));if(l instanceof jt)return this.createMultiPoint(ge.toPointArray(e));fe.shouldNeverReachHere("Unhandled class: "+l.getClass().getName())}return l},ge.prototype.createMultiPointFromCoords=function(e){return this.createMultiPoint(e!==null?this.getCoordinateSequenceFactory().create(e):null)},ge.prototype.createPoint=function(){if(arguments.length===0)return this.createPoint(this.getCoordinateSequenceFactory().create([]));if(arguments.length===1){if(arguments[0]instanceof M){var e=arguments[0];return this.createPoint(e!==null?this.getCoordinateSequenceFactory().create([e]):null)}else if(ae(arguments[0],Ee)){var t=arguments[0];return new jt(t,this)}}},ge.prototype.getCoordinateSequenceFactory=function(){return this._coordinateSequenceFactory},ge.prototype.createPolygon=function(){if(arguments.length===0)return new it(null,null,this);if(arguments.length===1){if(ae(arguments[0],Ee)){var e=arguments[0];return this.createPolygon(this.createLinearRing(e))}else if(arguments[0]instanceof Array){var t=arguments[0];return this.createPolygon(this.createLinearRing(t))}else if(arguments[0]instanceof An){var r=arguments[0];return this.createPolygon(r,null)}}else if(arguments.length===2){var i=arguments[0],s=arguments[1];return new it(i,s,this)}},ge.prototype.getSRID=function(){return this._SRID},ge.prototype.createGeometryCollection=function(){if(arguments.length===0)return new Mt(null,this);if(arguments.length===1){var e=arguments[0];return new Mt(e,this)}},ge.prototype.createGeometry=function(e){var t=new br(this);return t.edit(e,{edit:function(){if(arguments.length===2){var r=arguments[0];return this._coordinateSequenceFactory.create(r)}}})},ge.prototype.getPrecisionModel=function(){return this._precisionModel},ge.prototype.createLinearRing=function(){if(arguments.length===0)return this.createLinearRing(this.getCoordinateSequenceFactory().create([]));if(arguments.length===1){if(arguments[0]instanceof Array){var e=arguments[0];return this.createLinearRing(e!==null?this.getCoordinateSequenceFactory().create(e):null)}else if(ae(arguments[0],Ee)){var t=arguments[0];return new An(t,this)}}},ge.prototype.createMultiPolygon=function(){if(arguments.length===0)return new Rn(null,this);if(arguments.length===1){var e=arguments[0];return new Rn(e,this)}},ge.prototype.createMultiPoint=function(){var e=this;if(arguments.length===0)return new ul(null,this);if(arguments.length===1){if(arguments[0]instanceof Array){var t=arguments[0];return new ul(t,this)}else if(arguments[0]instanceof Array){var r=arguments[0];return this.createMultiPoint(r!==null?this.getCoordinateSequenceFactory().create(r):null)}else if(ae(arguments[0],Ee)){var i=arguments[0];if(i===null)return this.createMultiPoint(new Array(0).fill(null));for(var s=new Array(i.size()).fill(null),o=0;o<i.size();o++){var a=e.getCoordinateSequenceFactory().create(1,i.getDimension());Ke.copy(i,o,a,0,1),s[o]=e.createPoint(a)}return this.createMultiPoint(s)}}},ge.prototype.interfaces_=function(){return[Cr]},ge.prototype.getClass=function(){return ge},ge.toMultiPolygonArray=function(e){var t=new Array(e.size()).fill(null);return e.toArray(t)},ge.toGeometryArray=function(e){if(e===null)return null;var t=new Array(e.size()).fill(null);return e.toArray(t)},ge.getDefaultCoordinateSequenceFactory=function(){return Fn.instance()},ge.toMultiLineStringArray=function(e){var t=new Array(e.size()).fill(null);return e.toArray(t)},ge.toLineStringArray=function(e){var t=new Array(e.size()).fill(null);return e.toArray(t)},ge.toMultiPointArray=function(e){var t=new Array(e.size()).fill(null);return e.toArray(t)},ge.toLinearRingArray=function(e){var t=new Array(e.size()).fill(null);return e.toArray(t)},ge.toPointArray=function(e){var t=new Array(e.size()).fill(null);return e.toArray(t)},ge.toPolygonArray=function(e){var t=new Array(e.size()).fill(null);return e.toArray(t)},ge.createPointFromInternalCoord=function(e,t){return t.getPrecisionModel().makePrecise(e),t.getFactory().createPoint(e)},Mf.serialVersionUID.get=function(){return-6820524753094096e3},Object.defineProperties(ge,Mf);var Bm=["Point","MultiPoint","LineString","MultiLineString","Polygon","MultiPolygon"],ku=function(e){this.geometryFactory=e||new ge};ku.prototype.read=function(e){var t;typeof e=="string"?t=JSON.parse(e):t=e;var r=t.type;if(!dn[r])throw new Error("Unknown GeoJSON type: "+t.type);return Bm.indexOf(r)!==-1?dn[r].apply(this,[t.coordinates]):r==="GeometryCollection"?dn[r].apply(this,[t.geometries]):dn[r].apply(this,[t])},ku.prototype.write=function(e){var t=e.getGeometryType();if(!li[t])throw new Error("Geometry is not supported");return li[t].apply(this,[e])};var dn={Feature:function(n){var e={};for(var t in n)e[t]=n[t];if(n.geometry){var r=n.geometry.type;if(!dn[r])throw new Error("Unknown GeoJSON type: "+n.type);e.geometry=this.read(n.geometry)}return n.bbox&&(e.bbox=dn.bbox.apply(this,[n.bbox])),e},FeatureCollection:function(n){var e=this,t={};if(n.features){t.features=[];for(var r=0;r<n.features.length;++r)t.features.push(e.read(n.features[r]))}return n.bbox&&(t.bbox=this.parse.bbox.apply(this,[n.bbox])),t},coordinates:function(n){for(var e=[],t=0;t<n.length;++t){var r=n[t];e.push(new M(r[0],r[1]))}return e},bbox:function(n){return this.geometryFactory.createLinearRing([new M(n[0],n[1]),new M(n[2],n[1]),new M(n[2],n[3]),new M(n[0],n[3]),new M(n[0],n[1])])},Point:function(n){var e=new M(n[0],n[1]);return this.geometryFactory.createPoint(e)},MultiPoint:function(n){for(var e=this,t=[],r=0;r<n.length;++r)t.push(dn.Point.apply(e,[n[r]]));return this.geometryFactory.createMultiPoint(t)},LineString:function(n){var e=dn.coordinates.apply(this,[n]);return this.geometryFactory.createLineString(e)},MultiLineString:function(n){for(var e=this,t=[],r=0;r<n.length;++r)t.push(dn.LineString.apply(e,[n[r]]));return this.geometryFactory.createMultiLineString(t)},Polygon:function(n){for(var e=this,t=dn.coordinates.apply(this,[n[0]]),r=this.geometryFactory.createLinearRing(t),i=[],s=1;s<n.length;++s){var o=n[s],a=dn.coordinates.apply(e,[o]),l=e.geometryFactory.createLinearRing(a);i.push(l)}return this.geometryFactory.createPolygon(r,i)},MultiPolygon:function(n){for(var e=this,t=[],r=0;r<n.length;++r){var i=n[r];t.push(dn.Polygon.apply(e,[i]))}return this.geometryFactory.createMultiPolygon(t)},GeometryCollection:function(n){for(var e=this,t=[],r=0;r<n.length;++r){var i=n[r];t.push(e.read(i))}return this.geometryFactory.createGeometryCollection(t)}},li={coordinate:function(n){return[n.x,n.y]},Point:function(n){var e=li.coordinate.apply(this,[n.getCoordinate()]);return{type:"Point",coordinates:e}},MultiPoint:function(n){for(var e=this,t=[],r=0;r<n._geometries.length;++r){var i=n._geometries[r],s=li.Point.apply(e,[i]);t.push(s.coordinates)}return{type:"MultiPoint",coordinates:t}},LineString:function(n){for(var e=this,t=[],r=n.getCoordinates(),i=0;i<r.length;++i){var s=r[i];t.push(li.coordinate.apply(e,[s]))}return{type:"LineString",coordinates:t}},MultiLineString:function(n){for(var e=this,t=[],r=0;r<n._geometries.length;++r){var i=n._geometries[r],s=li.LineString.apply(e,[i]);t.push(s.coordinates)}return{type:"MultiLineString",coordinates:t}},Polygon:function(n){var e=this,t=[],r=li.LineString.apply(this,[n._shell]);t.push(r.coordinates);for(var i=0;i<n._holes.length;++i){var s=n._holes[i],o=li.LineString.apply(e,[s]);t.push(o.coordinates)}return{type:"Polygon",coordinates:t}},MultiPolygon:function(n){for(var e=this,t=[],r=0;r<n._geometries.length;++r){var i=n._geometries[r],s=li.Polygon.apply(e,[i]);t.push(s.coordinates)}return{type:"MultiPolygon",coordinates:t}},GeometryCollection:function(n){for(var e=this,t=[],r=0;r<n._geometries.length;++r){var i=n._geometries[r],s=i.getGeometryType();t.push(li[s].apply(e,[i]))}return{type:"GeometryCollection",geometries:t}}},qc=function(e){this.geometryFactory=e||new ge,this.precisionModel=this.geometryFactory.getPrecisionModel(),this.parser=new ku(this.geometryFactory)};qc.prototype.read=function(e){var t=this.parser.read(e);return this.precisionModel.getType()===Te.FIXED&&this.reducePrecision(t),t},qc.prototype.reducePrecision=function(e){var t=this,r,i;if(e.coordinate)this.precisionModel.makePrecise(e.coordinate);else if(e.points)for(r=0,i=e.points.length;r<i;r++)t.precisionModel.makePrecise(e.points[r]);else if(e.geometries)for(r=0,i=e.geometries.length;r<i;r++)t.reducePrecision(e.geometries[r])};var xf=function(){this.parser=new ku(this.geometryFactory)};xf.prototype.write=function(e){return this.parser.write(e)};var U=function(){},Vu={ON:{configurable:!0},LEFT:{configurable:!0},RIGHT:{configurable:!0}};U.prototype.interfaces_=function(){return[]},U.prototype.getClass=function(){return U},U.opposite=function(e){return e===U.LEFT?U.RIGHT:e===U.RIGHT?U.LEFT:e},Vu.ON.get=function(){return 0},Vu.LEFT.get=function(){return 1},Vu.RIGHT.get=function(){return 2},Object.defineProperties(U,Vu);function zu(n){this.message=n||""}zu.prototype=new Error,zu.prototype.name="EmptyStackException";function pn(){this.array_=[]}pn.prototype=new Hr,pn.prototype.add=function(n){return this.array_.push(n),!0},pn.prototype.get=function(n){if(n<0||n>=this.size())throw new Error;return this.array_[n]},pn.prototype.push=function(n){return this.array_.push(n),n},pn.prototype.pop=function(n){if(this.array_.length===0)throw new zu;return this.array_.pop()},pn.prototype.peek=function(){if(this.array_.length===0)throw new zu;return this.array_[this.array_.length-1]},pn.prototype.empty=function(){return this.array_.length===0},pn.prototype.isEmpty=function(){return this.empty()},pn.prototype.search=function(n){return this.array_.indexOf(n)},pn.prototype.size=function(){return this.array_.length},pn.prototype.toArray=function(){for(var n=this,e=[],t=0,r=this.array_.length;t<r;t++)e.push(n.array_[t]);return e};var gn=function(){this._minIndex=-1,this._minCoord=null,this._minDe=null,this._orientedDe=null};gn.prototype.getCoordinate=function(){return this._minCoord},gn.prototype.getRightmostSide=function(e,t){var r=this.getRightmostSideOfSegment(e,t);return r<0&&(r=this.getRightmostSideOfSegment(e,t-1)),r<0&&(this._minCoord=null,this.checkForRightmostCoordinate(e)),r},gn.prototype.findRightmostEdgeAtVertex=function(){var e=this._minDe.getEdge().getCoordinates();fe.isTrue(this._minIndex>0&&this._minIndex<e.length,"rightmost point expected to be interior vertex of edge");var t=e[this._minIndex-1],r=e[this._minIndex+1],i=H.computeOrientation(this._minCoord,r,t),s=!1;(t.y<this._minCoord.y&&r.y<this._minCoord.y&&i===H.COUNTERCLOCKWISE||t.y>this._minCoord.y&&r.y>this._minCoord.y&&i===H.CLOCKWISE)&&(s=!0),s&&(this._minIndex=this._minIndex-1)},gn.prototype.getRightmostSideOfSegment=function(e,t){var r=e.getEdge(),i=r.getCoordinates();if(t<0||t+1>=i.length||i[t].y===i[t+1].y)return-1;var s=U.LEFT;return i[t].y<i[t+1].y&&(s=U.RIGHT),s},gn.prototype.getEdge=function(){return this._orientedDe},gn.prototype.checkForRightmostCoordinate=function(e){for(var t=this,r=e.getEdge().getCoordinates(),i=0;i<r.length-1;i++)(t._minCoord===null||r[i].x>t._minCoord.x)&&(t._minDe=e,t._minIndex=i,t._minCoord=r[i])},gn.prototype.findRightmostEdgeAtNode=function(){var e=this._minDe.getNode(),t=e.getEdges();this._minDe=t.getRightmostEdge(),this._minDe.isForward()||(this._minDe=this._minDe.getSym(),this._minIndex=this._minDe.getEdge().getCoordinates().length-1)},gn.prototype.findEdge=function(e){for(var t=this,r=e.iterator();r.hasNext();){var i=r.next();i.isForward()&&t.checkForRightmostCoordinate(i)}fe.isTrue(this._minIndex!==0||this._minCoord.equals(this._minDe.getCoordinate()),"inconsistency in rightmost processing"),this._minIndex===0?this.findRightmostEdgeAtNode():this.findRightmostEdgeAtVertex(),this._orientedDe=this._minDe;var s=this.getRightmostSide(this._minDe,this._minIndex);s===U.LEFT&&(this._orientedDe=this._minDe.getSym())},gn.prototype.interfaces_=function(){return[]},gn.prototype.getClass=function(){return gn};var ui=function(n){function e(t,r){n.call(this,e.msgWithCoord(t,r)),this.pt=r?new M(r):null,this.name="TopologyException"}return n&&(e.__proto__=n),e.prototype=Object.create(n&&n.prototype),e.prototype.constructor=e,e.prototype.getCoordinate=function(){return this.pt},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e.msgWithCoord=function(r,i){return i?r:r+" [ "+i+" ]"},e}(ni),Uu=function(){this.array_=[]};Uu.prototype.addLast=function(e){this.array_.push(e)},Uu.prototype.removeFirst=function(){return this.array_.shift()},Uu.prototype.isEmpty=function(){return this.array_.length===0};var xt=function(){this._finder=null,this._dirEdgeList=new W,this._nodes=new W,this._rightMostCoord=null,this._env=null,this._finder=new gn};xt.prototype.clearVisitedEdges=function(){for(var e=this._dirEdgeList.iterator();e.hasNext();){var t=e.next();t.setVisited(!1)}},xt.prototype.getRightmostCoordinate=function(){return this._rightMostCoord},xt.prototype.computeNodeDepth=function(e){for(var t=this,r=null,i=e.getEdges().iterator();i.hasNext();){var s=i.next();if(s.isVisited()||s.getSym().isVisited()){r=s;break}}if(r===null)throw new ui("unable to find edge to compute depths at "+e.getCoordinate());e.getEdges().computeDepths(r);for(var o=e.getEdges().iterator();o.hasNext();){var a=o.next();a.setVisited(!0),t.copySymDepths(a)}},xt.prototype.computeDepth=function(e){this.clearVisitedEdges();var t=this._finder.getEdge();t.setEdgeDepths(U.RIGHT,e),this.copySymDepths(t),this.computeDepths(t)},xt.prototype.create=function(e){this.addReachable(e),this._finder.findEdge(this._dirEdgeList),this._rightMostCoord=this._finder.getCoordinate()},xt.prototype.findResultEdges=function(){for(var e=this._dirEdgeList.iterator();e.hasNext();){var t=e.next();t.getDepth(U.RIGHT)>=1&&t.getDepth(U.LEFT)<=0&&!t.isInteriorAreaEdge()&&t.setInResult(!0)}},xt.prototype.computeDepths=function(e){var t=this,r=new kc,i=new Uu,s=e.getNode();for(i.addLast(s),r.add(s),e.setVisited(!0);!i.isEmpty();){var o=i.removeFirst();r.add(o),t.computeNodeDepth(o);for(var a=o.getEdges().iterator();a.hasNext();){var l=a.next(),u=l.getSym();if(!u.isVisited()){var h=u.getNode();r.contains(h)||(i.addLast(h),r.add(h))}}}},xt.prototype.compareTo=function(e){var t=e;return this._rightMostCoord.x<t._rightMostCoord.x?-1:this._rightMostCoord.x>t._rightMostCoord.x?1:0},xt.prototype.getEnvelope=function(){if(this._env===null){for(var e=new te,t=this._dirEdgeList.iterator();t.hasNext();)for(var r=t.next(),i=r.getEdge().getCoordinates(),s=0;s<i.length-1;s++)e.expandToInclude(i[s]);this._env=e}return this._env},xt.prototype.addReachable=function(e){var t=this,r=new pn;for(r.add(e);!r.empty();){var i=r.pop();t.add(i,r)}},xt.prototype.copySymDepths=function(e){var t=e.getSym();t.setDepth(U.LEFT,e.getDepth(U.RIGHT)),t.setDepth(U.RIGHT,e.getDepth(U.LEFT))},xt.prototype.add=function(e,t){var r=this;e.setVisited(!0),this._nodes.add(e);for(var i=e.getEdges().iterator();i.hasNext();){var s=i.next();r._dirEdgeList.add(s);var o=s.getSym(),a=o.getNode();a.isVisited()||t.push(a)}},xt.prototype.getNodes=function(){return this._nodes},xt.prototype.getDirectedEdges=function(){return this._dirEdgeList},xt.prototype.interfaces_=function(){return[Sr]},xt.prototype.getClass=function(){return xt};var Re=function n(){var e=this;if(this.location=null,arguments.length===1){if(arguments[0]instanceof Array){var t=arguments[0];this.init(t.length)}else if(Number.isInteger(arguments[0])){var r=arguments[0];this.init(1),this.location[U.ON]=r}else if(arguments[0]instanceof n){var i=arguments[0];if(this.init(i.location.length),i!==null)for(var s=0;s<this.location.length;s++)e.location[s]=i.location[s]}}else if(arguments.length===3){var o=arguments[0],a=arguments[1],l=arguments[2];this.init(3),this.location[U.ON]=o,this.location[U.LEFT]=a,this.location[U.RIGHT]=l}};Re.prototype.setAllLocations=function(e){for(var t=this,r=0;r<this.location.length;r++)t.location[r]=e},Re.prototype.isNull=function(){for(var e=this,t=0;t<this.location.length;t++)if(e.location[t]!==R.NONE)return!1;return!0},Re.prototype.setAllLocationsIfNull=function(e){for(var t=this,r=0;r<this.location.length;r++)t.location[r]===R.NONE&&(t.location[r]=e)},Re.prototype.isLine=function(){return this.location.length===1},Re.prototype.merge=function(e){var t=this;if(e.location.length>this.location.length){var r=new Array(3).fill(null);r[U.ON]=this.location[U.ON],r[U.LEFT]=R.NONE,r[U.RIGHT]=R.NONE,this.location=r}for(var i=0;i<this.location.length;i++)t.location[i]===R.NONE&&i<e.location.length&&(t.location[i]=e.location[i])},Re.prototype.getLocations=function(){return this.location},Re.prototype.flip=function(){if(this.location.length<=1)return null;var e=this.location[U.LEFT];this.location[U.LEFT]=this.location[U.RIGHT],this.location[U.RIGHT]=e},Re.prototype.toString=function(){var e=new on;return this.location.length>1&&e.append(R.toLocationSymbol(this.location[U.LEFT])),e.append(R.toLocationSymbol(this.location[U.ON])),this.location.length>1&&e.append(R.toLocationSymbol(this.location[U.RIGHT])),e.toString()},Re.prototype.setLocations=function(e,t,r){this.location[U.ON]=e,this.location[U.LEFT]=t,this.location[U.RIGHT]=r},Re.prototype.get=function(e){return e<this.location.length?this.location[e]:R.NONE},Re.prototype.isArea=function(){return this.location.length>1},Re.prototype.isAnyNull=function(){for(var e=this,t=0;t<this.location.length;t++)if(e.location[t]===R.NONE)return!0;return!1},Re.prototype.setLocation=function(){if(arguments.length===1){var e=arguments[0];this.setLocation(U.ON,e)}else if(arguments.length===2){var t=arguments[0],r=arguments[1];this.location[t]=r}},Re.prototype.init=function(e){this.location=new Array(e).fill(null),this.setAllLocations(R.NONE)},Re.prototype.isEqualOnSide=function(e,t){return this.location[t]===e.location[t]},Re.prototype.allPositionsEqual=function(e){for(var t=this,r=0;r<this.location.length;r++)if(t.location[r]!==e)return!1;return!0},Re.prototype.interfaces_=function(){return[]},Re.prototype.getClass=function(){return Re};var De=function n(){if(this.elt=new Array(2).fill(null),arguments.length===1){if(Number.isInteger(arguments[0])){var e=arguments[0];this.elt[0]=new Re(e),this.elt[1]=new Re(e)}else if(arguments[0]instanceof n){var t=arguments[0];this.elt[0]=new Re(t.elt[0]),this.elt[1]=new Re(t.elt[1])}}else if(arguments.length===2){var r=arguments[0],i=arguments[1];this.elt[0]=new Re(R.NONE),this.elt[1]=new Re(R.NONE),this.elt[r].setLocation(i)}else if(arguments.length===3){var s=arguments[0],o=arguments[1],a=arguments[2];this.elt[0]=new Re(s,o,a),this.elt[1]=new Re(s,o,a)}else if(arguments.length===4){var l=arguments[0],u=arguments[1],h=arguments[2],f=arguments[3];this.elt[0]=new Re(R.NONE,R.NONE,R.NONE),this.elt[1]=new Re(R.NONE,R.NONE,R.NONE),this.elt[l].setLocations(u,h,f)}};De.prototype.getGeometryCount=function(){var e=0;return this.elt[0].isNull()||e++,this.elt[1].isNull()||e++,e},De.prototype.setAllLocations=function(e,t){this.elt[e].setAllLocations(t)},De.prototype.isNull=function(e){return this.elt[e].isNull()},De.prototype.setAllLocationsIfNull=function(){if(arguments.length===1){var e=arguments[0];this.setAllLocationsIfNull(0,e),this.setAllLocationsIfNull(1,e)}else if(arguments.length===2){var t=arguments[0],r=arguments[1];this.elt[t].setAllLocationsIfNull(r)}},De.prototype.isLine=function(e){return this.elt[e].isLine()},De.prototype.merge=function(e){for(var t=this,r=0;r<2;r++)t.elt[r]===null&&e.elt[r]!==null?t.elt[r]=new Re(e.elt[r]):t.elt[r].merge(e.elt[r])},De.prototype.flip=function(){this.elt[0].flip(),this.elt[1].flip()},De.prototype.getLocation=function(){if(arguments.length===1){var e=arguments[0];return this.elt[e].get(U.ON)}else if(arguments.length===2){var t=arguments[0],r=arguments[1];return this.elt[t].get(r)}},De.prototype.toString=function(){var e=new on;return this.elt[0]!==null&&(e.append("A:"),e.append(this.elt[0].toString())),this.elt[1]!==null&&(e.append(" B:"),e.append(this.elt[1].toString())),e.toString()},De.prototype.isArea=function(){if(arguments.length===0)return this.elt[0].isArea()||this.elt[1].isArea();if(arguments.length===1){var e=arguments[0];return this.elt[e].isArea()}},De.prototype.isAnyNull=function(e){return this.elt[e].isAnyNull()},De.prototype.setLocation=function(){if(arguments.length===2){var e=arguments[0],t=arguments[1];this.elt[e].setLocation(U.ON,t)}else if(arguments.length===3){var r=arguments[0],i=arguments[1],s=arguments[2];this.elt[r].setLocation(i,s)}},De.prototype.isEqualOnSide=function(e,t){return this.elt[0].isEqualOnSide(e.elt[0],t)&&this.elt[1].isEqualOnSide(e.elt[1],t)},De.prototype.allPositionsEqual=function(e,t){return this.elt[e].allPositionsEqual(t)},De.prototype.toLine=function(e){this.elt[e].isArea()&&(this.elt[e]=new Re(this.elt[e].location[0]))},De.prototype.interfaces_=function(){return[]},De.prototype.getClass=function(){return De},De.toLineLabel=function(e){for(var t=new De(R.NONE),r=0;r<2;r++)t.setLocation(r,e.getLocation(r));return t};var je=function(){this._startDe=null,this._maxNodeDegree=-1,this._edges=new W,this._pts=new W,this._label=new De(R.NONE),this._ring=null,this._isHole=null,this._shell=null,this._holes=new W,this._geometryFactory=null;var e=arguments[0],t=arguments[1];this._geometryFactory=t,this.computePoints(e),this.computeRing()};je.prototype.computeRing=function(){var e=this;if(this._ring!==null)return null;for(var t=new Array(this._pts.size()).fill(null),r=0;r<this._pts.size();r++)t[r]=e._pts.get(r);this._ring=this._geometryFactory.createLinearRing(t),this._isHole=H.isCCW(this._ring.getCoordinates())},je.prototype.isIsolated=function(){return this._label.getGeometryCount()===1},je.prototype.computePoints=function(e){var t=this;this._startDe=e;var r=e,i=!0;do{if(r===null)throw new ui("Found null DirectedEdge");if(r.getEdgeRing()===t)throw new ui("Directed Edge visited twice during ring-building at "+r.getCoordinate());t._edges.add(r);var s=r.getLabel();fe.isTrue(s.isArea()),t.mergeLabel(s),t.addPoints(r.getEdge(),r.isForward(),i),i=!1,t.setEdgeRing(r,t),r=t.getNext(r)}while(r!==this._startDe)},je.prototype.getLinearRing=function(){return this._ring},je.prototype.getCoordinate=function(e){return this._pts.get(e)},je.prototype.computeMaxNodeDegree=function(){var e=this;this._maxNodeDegree=0;var t=this._startDe;do{var r=t.getNode(),i=r.getEdges().getOutgoingDegree(e);i>e._maxNodeDegree&&(e._maxNodeDegree=i),t=e.getNext(t)}while(t!==this._startDe);this._maxNodeDegree*=2},je.prototype.addPoints=function(e,t,r){var i=this,s=e.getCoordinates();if(t){var o=1;r&&(o=0);for(var a=o;a<s.length;a++)i._pts.add(s[a])}else{var l=s.length-2;r&&(l=s.length-1);for(var u=l;u>=0;u--)i._pts.add(s[u])}},je.prototype.isHole=function(){return this._isHole},je.prototype.setInResult=function(){var e=this._startDe;do e.getEdge().setInResult(!0),e=e.getNext();while(e!==this._startDe)},je.prototype.containsPoint=function(e){var t=this.getLinearRing(),r=t.getEnvelopeInternal();if(!r.contains(e)||!H.isPointInRing(e,t.getCoordinates()))return!1;for(var i=this._holes.iterator();i.hasNext();){var s=i.next();if(s.containsPoint(e))return!1}return!0},je.prototype.addHole=function(e){this._holes.add(e)},je.prototype.isShell=function(){return this._shell===null},je.prototype.getLabel=function(){return this._label},je.prototype.getEdges=function(){return this._edges},je.prototype.getMaxNodeDegree=function(){return this._maxNodeDegree<0&&this.computeMaxNodeDegree(),this._maxNodeDegree},je.prototype.getShell=function(){return this._shell},je.prototype.mergeLabel=function(){if(arguments.length===1){var e=arguments[0];this.mergeLabel(e,0),this.mergeLabel(e,1)}else if(arguments.length===2){var t=arguments[0],r=arguments[1],i=t.getLocation(r,U.RIGHT);if(i===R.NONE)return null;if(this._label.getLocation(r)===R.NONE)return this._label.setLocation(r,i),null}},je.prototype.setShell=function(e){this._shell=e,e!==null&&e.addHole(this)},je.prototype.toPolygon=function(e){for(var t=this,r=new Array(this._holes.size()).fill(null),i=0;i<this._holes.size();i++)r[i]=t._holes.get(i).getLinearRing();var s=e.createPolygon(this.getLinearRing(),r);return s},je.prototype.interfaces_=function(){return[]},je.prototype.getClass=function(){return je};var $m=function(n){function e(){var t=arguments[0],r=arguments[1];n.call(this,t,r)}return n&&(e.__proto__=n),e.prototype=Object.create(n&&n.prototype),e.prototype.constructor=e,e.prototype.setEdgeRing=function(r,i){r.setMinEdgeRing(i)},e.prototype.getNext=function(r){return r.getNextMin()},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(je),jm=function(n){function e(){var t=arguments[0],r=arguments[1];n.call(this,t,r)}return n&&(e.__proto__=n),e.prototype=Object.create(n&&n.prototype),e.prototype.constructor=e,e.prototype.buildMinimalRings=function(){var r=this,i=new W,s=this._startDe;do{if(s.getMinEdgeRing()===null){var o=new $m(s,r._geometryFactory);i.add(o)}s=s.getNext()}while(s!==this._startDe);return i},e.prototype.setEdgeRing=function(r,i){r.setEdgeRing(i)},e.prototype.linkDirectedEdgesForMinimalEdgeRings=function(){var r=this,i=this._startDe;do{var s=i.getNode();s.getEdges().linkMinimalDirectedEdges(r),i=i.getNext()}while(i!==this._startDe)},e.prototype.getNext=function(r){return r.getNext()},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(je),cr=function(){if(this._label=null,this._isInResult=!1,this._isCovered=!1,this._isCoveredSet=!1,this._isVisited=!1,arguments.length!==0){if(arguments.length===1){var e=arguments[0];this._label=e}}};cr.prototype.setVisited=function(e){this._isVisited=e},cr.prototype.setInResult=function(e){this._isInResult=e},cr.prototype.isCovered=function(){return this._isCovered},cr.prototype.isCoveredSet=function(){return this._isCoveredSet},cr.prototype.setLabel=function(e){this._label=e},cr.prototype.getLabel=function(){return this._label},cr.prototype.setCovered=function(e){this._isCovered=e,this._isCoveredSet=!0},cr.prototype.updateIM=function(e){fe.isTrue(this._label.getGeometryCount()>=2,"found partial label"),this.computeIM(e)},cr.prototype.isInResult=function(){return this._isInResult},cr.prototype.isVisited=function(){return this._isVisited},cr.prototype.interfaces_=function(){return[]},cr.prototype.getClass=function(){return cr};var Gu=function(n){function e(){n.call(this),this._coord=null,this._edges=null;var t=arguments[0],r=arguments[1];this._coord=t,this._edges=r,this._label=new De(0,R.NONE)}return n&&(e.__proto__=n),e.prototype=Object.create(n&&n.prototype),e.prototype.constructor=e,e.prototype.isIncidentEdgeInResult=function(){for(var r=this.getEdges().getEdges().iterator();r.hasNext();){var i=r.next();if(i.getEdge().isInResult())return!0}return!1},e.prototype.isIsolated=function(){return this._label.getGeometryCount()===1},e.prototype.getCoordinate=function(){return this._coord},e.prototype.print=function(r){r.println("node "+this._coord+" lbl: "+this._label)},e.prototype.computeIM=function(r){},e.prototype.computeMergedLocation=function(r,i){var s=R.NONE;if(s=this._label.getLocation(i),!r.isNull(i)){var o=r.getLocation(i);s!==R.BOUNDARY&&(s=o)}return s},e.prototype.setLabel=function(){if(arguments.length===2){var r=arguments[0],i=arguments[1];this._label===null?this._label=new De(r,i):this._label.setLocation(r,i)}else return n.prototype.setLabel.apply(this,arguments)},e.prototype.getEdges=function(){return this._edges},e.prototype.mergeLabel=function(){var r=this;if(arguments[0]instanceof e){var i=arguments[0];this.mergeLabel(i._label)}else if(arguments[0]instanceof De)for(var s=arguments[0],o=0;o<2;o++){var a=r.computeMergedLocation(s,o),l=r._label.getLocation(o);l===R.NONE&&r._label.setLocation(o,a)}},e.prototype.add=function(r){this._edges.insert(r),r.setNode(this)},e.prototype.setLabelBoundary=function(r){if(this._label===null)return null;var i=R.NONE;this._label!==null&&(i=this._label.getLocation(r));var s=null;switch(i){case R.BOUNDARY:s=R.INTERIOR;break;case R.INTERIOR:s=R.BOUNDARY;break;default:s=R.BOUNDARY;break}this._label.setLocation(r,s)},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(cr),mn=function(){this.nodeMap=new It,this.nodeFact=null;var e=arguments[0];this.nodeFact=e};mn.prototype.find=function(e){return this.nodeMap.get(e)},mn.prototype.addNode=function(){if(arguments[0]instanceof M){var e=arguments[0],t=this.nodeMap.get(e);return t===null&&(t=this.nodeFact.createNode(e),this.nodeMap.put(e,t)),t}else if(arguments[0]instanceof Gu){var r=arguments[0],i=this.nodeMap.get(r.getCoordinate());return i===null?(this.nodeMap.put(r.getCoordinate(),r),r):(i.mergeLabel(r),i)}},mn.prototype.print=function(e){for(var t=this.iterator();t.hasNext();){var r=t.next();r.print(e)}},mn.prototype.iterator=function(){return this.nodeMap.values().iterator()},mn.prototype.values=function(){return this.nodeMap.values()},mn.prototype.getBoundaryNodes=function(e){for(var t=new W,r=this.iterator();r.hasNext();){var i=r.next();i.getLabel().getLocation(e)===R.BOUNDARY&&t.add(i)}return t},mn.prototype.add=function(e){var t=e.getCoordinate(),r=this.addNode(t);r.add(e)},mn.prototype.interfaces_=function(){return[]},mn.prototype.getClass=function(){return mn};var xe=function(){},Kl={NE:{configurable:!0},NW:{configurable:!0},SW:{configurable:!0},SE:{configurable:!0}};xe.prototype.interfaces_=function(){return[]},xe.prototype.getClass=function(){return xe},xe.isNorthern=function(e){return e===xe.NE||e===xe.NW},xe.isOpposite=function(e,t){if(e===t)return!1;var r=(e-t+4)%4;return r===2},xe.commonHalfPlane=function(e,t){if(e===t)return e;var r=(e-t+4)%4;if(r===2)return-1;var i=e<t?e:t,s=e>t?e:t;return i===0&&s===3?3:i},xe.isInHalfPlane=function(e,t){return t===xe.SE?e===xe.SE||e===xe.SW:e===t||e===t+1},xe.quadrant=function(){if(typeof arguments[0]=="number"&&typeof arguments[1]=="number"){var e=arguments[0],t=arguments[1];if(e===0&&t===0)throw new Ue("Cannot compute the quadrant for point ( "+e+", "+t+" )");return e>=0?t>=0?xe.NE:xe.SE:t>=0?xe.NW:xe.SW}else if(arguments[0]instanceof M&&arguments[1]instanceof M){var r=arguments[0],i=arguments[1];if(i.x===r.x&&i.y===r.y)throw new Ue("Cannot compute the quadrant for two identical points "+r);return i.x>=r.x?i.y>=r.y?xe.NE:xe.SE:i.y>=r.y?xe.NW:xe.SW}},Kl.NE.get=function(){return 0},Kl.NW.get=function(){return 1},Kl.SW.get=function(){return 2},Kl.SE.get=function(){return 3},Object.defineProperties(xe,Kl);var Tt=function(){if(this._edge=null,this._label=null,this._node=null,this._p0=null,this._p1=null,this._dx=null,this._dy=null,this._quadrant=null,arguments.length===1){var e=arguments[0];this._edge=e}else if(arguments.length===3){var t=arguments[0],r=arguments[1],i=arguments[2],s=null;this._edge=t,this.init(r,i),this._label=s}else if(arguments.length===4){var o=arguments[0],a=arguments[1],l=arguments[2],u=arguments[3];this._edge=o,this.init(a,l),this._label=u}};Tt.prototype.compareDirection=function(e){return this._dx===e._dx&&this._dy===e._dy?0:this._quadrant>e._quadrant?1:this._quadrant<e._quadrant?-1:H.computeOrientation(e._p0,e._p1,this._p1)},Tt.prototype.getDy=function(){return this._dy},Tt.prototype.getCoordinate=function(){return this._p0},Tt.prototype.setNode=function(e){this._node=e},Tt.prototype.print=function(e){var t=Math.atan2(this._dy,this._dx),r=this.getClass().getName(),i=r.lastIndexOf("."),s=r.substring(i+1);e.print(" "+s+": "+this._p0+" - "+this._p1+" "+this._quadrant+":"+t+" "+this._label)},Tt.prototype.compareTo=function(e){var t=e;return this.compareDirection(t)},Tt.prototype.getDirectedCoordinate=function(){return this._p1},Tt.prototype.getDx=function(){return this._dx},Tt.prototype.getLabel=function(){return this._label},Tt.prototype.getEdge=function(){return this._edge},Tt.prototype.getQuadrant=function(){return this._quadrant},Tt.prototype.getNode=function(){return this._node},Tt.prototype.toString=function(){var e=Math.atan2(this._dy,this._dx),t=this.getClass().getName(),r=t.lastIndexOf("."),i=t.substring(r+1);return" "+i+": "+this._p0+" - "+this._p1+" "+this._quadrant+":"+e+" "+this._label},Tt.prototype.computeLabel=function(e){},Tt.prototype.init=function(e,t){this._p0=e,this._p1=t,this._dx=t.x-e.x,this._dy=t.y-e.y,this._quadrant=xe.quadrant(this._dx,this._dy),fe.isTrue(!(this._dx===0&&this._dy===0),"EdgeEnd with identical endpoints found")},Tt.prototype.interfaces_=function(){return[Sr]},Tt.prototype.getClass=function(){return Tt};var Xc=function(n){function e(){var t=arguments[0],r=arguments[1];if(n.call(this,t),this._isForward=null,this._isInResult=!1,this._isVisited=!1,this._sym=null,this._next=null,this._nextMin=null,this._edgeRing=null,this._minEdgeRing=null,this._depth=[0,-999,-999],this._isForward=r,r)this.init(t.getCoordinate(0),t.getCoordinate(1));else{var i=t.getNumPoints()-1;this.init(t.getCoordinate(i),t.getCoordinate(i-1))}this.computeDirectedLabel()}return n&&(e.__proto__=n),e.prototype=Object.create(n&&n.prototype),e.prototype.constructor=e,e.prototype.getNextMin=function(){return this._nextMin},e.prototype.getDepth=function(r){return this._depth[r]},e.prototype.setVisited=function(r){this._isVisited=r},e.prototype.computeDirectedLabel=function(){this._label=new De(this._edge.getLabel()),this._isForward||this._label.flip()},e.prototype.getNext=function(){return this._next},e.prototype.setDepth=function(r,i){if(this._depth[r]!==-999&&this._depth[r]!==i)throw new ui("assigned depths do not match",this.getCoordinate());this._depth[r]=i},e.prototype.isInteriorAreaEdge=function(){for(var r=this,i=!0,s=0;s<2;s++)r._label.isArea(s)&&r._label.getLocation(s,U.LEFT)===R.INTERIOR&&r._label.getLocation(s,U.RIGHT)===R.INTERIOR||(i=!1);return i},e.prototype.setNextMin=function(r){this._nextMin=r},e.prototype.print=function(r){n.prototype.print.call(this,r),r.print(" "+this._depth[U.LEFT]+"/"+this._depth[U.RIGHT]),r.print(" ("+this.getDepthDelta()+")"),this._isInResult&&r.print(" inResult")},e.prototype.setMinEdgeRing=function(r){this._minEdgeRing=r},e.prototype.isLineEdge=function(){var r=this._label.isLine(0)||this._label.isLine(1),i=!this._label.isArea(0)||this._label.allPositionsEqual(0,R.EXTERIOR),s=!this._label.isArea(1)||this._label.allPositionsEqual(1,R.EXTERIOR);return r&&i&&s},e.prototype.setEdgeRing=function(r){this._edgeRing=r},e.prototype.getMinEdgeRing=function(){return this._minEdgeRing},e.prototype.getDepthDelta=function(){var r=this._edge.getDepthDelta();return this._isForward||(r=-r),r},e.prototype.setInResult=function(r){this._isInResult=r},e.prototype.getSym=function(){return this._sym},e.prototype.isForward=function(){return this._isForward},e.prototype.getEdge=function(){return this._edge},e.prototype.printEdge=function(r){this.print(r),r.print(" "),this._isForward?this._edge.print(r):this._edge.printReverse(r)},e.prototype.setSym=function(r){this._sym=r},e.prototype.setVisitedEdge=function(r){this.setVisited(r),this._sym.setVisited(r)},e.prototype.setEdgeDepths=function(r,i){var s=this.getEdge().getDepthDelta();this._isForward||(s=-s);var o=1;r===U.LEFT&&(o=-1);var a=U.opposite(r),l=s*o,u=i+l;this.setDepth(r,i),this.setDepth(a,u)},e.prototype.getEdgeRing=function(){return this._edgeRing},e.prototype.isInResult=function(){return this._isInResult},e.prototype.setNext=function(r){this._next=r},e.prototype.isVisited=function(){return this._isVisited},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e.depthFactor=function(r,i){return r===R.EXTERIOR&&i===R.INTERIOR?1:r===R.INTERIOR&&i===R.EXTERIOR?-1:0},e}(Tt),cl=function(){};cl.prototype.createNode=function(e){return new Gu(e,null)},cl.prototype.interfaces_=function(){return[]},cl.prototype.getClass=function(){return cl};var He=function(){if(this._edges=new W,this._nodes=null,this._edgeEndList=new W,arguments.length===0)this._nodes=new mn(new cl);else if(arguments.length===1){var e=arguments[0];this._nodes=new mn(e)}};He.prototype.printEdges=function(e){var t=this;e.println("Edges:");for(var r=0;r<this._edges.size();r++){e.println("edge "+r+":");var i=t._edges.get(r);i.print(e),i.eiList.print(e)}},He.prototype.find=function(e){return this._nodes.find(e)},He.prototype.addNode=function(){if(arguments[0]instanceof Gu){var e=arguments[0];return this._nodes.addNode(e)}else if(arguments[0]instanceof M){var t=arguments[0];return this._nodes.addNode(t)}},He.prototype.getNodeIterator=function(){return this._nodes.iterator()},He.prototype.linkResultDirectedEdges=function(){for(var e=this._nodes.iterator();e.hasNext();){var t=e.next();t.getEdges().linkResultDirectedEdges()}},He.prototype.debugPrintln=function(e){mt.out.println(e)},He.prototype.isBoundaryNode=function(e,t){var r=this._nodes.find(t);if(r===null)return!1;var i=r.getLabel();return i!==null&&i.getLocation(e)===R.BOUNDARY},He.prototype.linkAllDirectedEdges=function(){for(var e=this._nodes.iterator();e.hasNext();){var t=e.next();t.getEdges().linkAllDirectedEdges()}},He.prototype.matchInSameDirection=function(e,t,r,i){return e.equals(r)?H.computeOrientation(e,t,i)===H.COLLINEAR&&xe.quadrant(e,t)===xe.quadrant(r,i):!1},He.prototype.getEdgeEnds=function(){return this._edgeEndList},He.prototype.debugPrint=function(e){mt.out.print(e)},He.prototype.getEdgeIterator=function(){return this._edges.iterator()},He.prototype.findEdgeInSameDirection=function(e,t){for(var r=this,i=0;i<this._edges.size();i++){var s=r._edges.get(i),o=s.getCoordinates();if(r.matchInSameDirection(e,t,o[0],o[1])||r.matchInSameDirection(e,t,o[o.length-1],o[o.length-2]))return s}return null},He.prototype.insertEdge=function(e){this._edges.add(e)},He.prototype.findEdgeEnd=function(e){for(var t=this.getEdgeEnds().iterator();t.hasNext();){var r=t.next();if(r.getEdge()===e)return r}return null},He.prototype.addEdges=function(e){for(var t=this,r=e.iterator();r.hasNext();){var i=r.next();t._edges.add(i);var s=new Xc(i,!0),o=new Xc(i,!1);s.setSym(o),o.setSym(s),t.add(s),t.add(o)}},He.prototype.add=function(e){this._nodes.add(e),this._edgeEndList.add(e)},He.prototype.getNodes=function(){return this._nodes.values()},He.prototype.findEdge=function(e,t){for(var r=this,i=0;i<this._edges.size();i++){var s=r._edges.get(i),o=s.getCoordinates();if(e.equals(o[0])&&t.equals(o[1]))return s}return null},He.prototype.interfaces_=function(){return[]},He.prototype.getClass=function(){return He},He.linkResultDirectedEdges=function(e){for(var t=e.iterator();t.hasNext();){var r=t.next();r.getEdges().linkResultDirectedEdges()}};var er=function(){this._geometryFactory=null,this._shellList=new W;var e=arguments[0];this._geometryFactory=e};er.prototype.sortShellsAndHoles=function(e,t,r){for(var i=e.iterator();i.hasNext();){var s=i.next();s.isHole()?r.add(s):t.add(s)}},er.prototype.computePolygons=function(e){for(var t=this,r=new W,i=e.iterator();i.hasNext();){var s=i.next(),o=s.toPolygon(t._geometryFactory);r.add(o)}return r},er.prototype.placeFreeHoles=function(e,t){for(var r=this,i=t.iterator();i.hasNext();){var s=i.next();if(s.getShell()===null){var o=r.findEdgeRingContaining(s,e);if(o===null)throw new ui("unable to assign hole to a shell",s.getCoordinate(0));s.setShell(o)}}},er.prototype.buildMinimalEdgeRings=function(e,t,r){for(var i=this,s=new W,o=e.iterator();o.hasNext();){var a=o.next();if(a.getMaxNodeDegree()>2){a.linkDirectedEdgesForMinimalEdgeRings();var l=a.buildMinimalRings(),u=i.findShell(l);u!==null?(i.placePolygonHoles(u,l),t.add(u)):r.addAll(l)}else s.add(a)}return s},er.prototype.containsPoint=function(e){for(var t=this._shellList.iterator();t.hasNext();){var r=t.next();if(r.containsPoint(e))return!0}return!1},er.prototype.buildMaximalEdgeRings=function(e){for(var t=this,r=new W,i=e.iterator();i.hasNext();){var s=i.next();if(s.isInResult()&&s.getLabel().isArea()&&s.getEdgeRing()===null){var o=new jm(s,t._geometryFactory);r.add(o),o.setInResult()}}return r},er.prototype.placePolygonHoles=function(e,t){for(var r=t.iterator();r.hasNext();){var i=r.next();i.isHole()&&i.setShell(e)}},er.prototype.getPolygons=function(){var e=this.computePolygons(this._shellList);return e},er.prototype.findEdgeRingContaining=function(e,t){for(var r=e.getLinearRing(),i=r.getEnvelopeInternal(),s=r.getCoordinateN(0),o=null,a=null,l=t.iterator();l.hasNext();){var u=l.next(),h=u.getLinearRing(),f=h.getEnvelopeInternal();o!==null&&(a=o.getLinearRing().getEnvelopeInternal());var p=!1;f.contains(i)&&H.isPointInRing(s,h.getCoordinates())&&(p=!0),p&&(o===null||a.contains(f))&&(o=u)}return o},er.prototype.findShell=function(e){for(var t=0,r=null,i=e.iterator();i.hasNext();){var s=i.next();s.isHole()||(r=s,t++)}return fe.isTrue(t<=1,"found two shells in MinimalEdgeRing list"),r},er.prototype.add=function(){if(arguments.length===1){var e=arguments[0];this.add(e.getEdgeEnds(),e.getNodes())}else if(arguments.length===2){var t=arguments[0],r=arguments[1];He.linkResultDirectedEdges(r);var i=this.buildMaximalEdgeRings(t),s=new W,o=this.buildMinimalEdgeRings(i,this._shellList,s);this.sortShellsAndHoles(o,this._shellList,s),this.placeFreeHoles(this._shellList,s)}},er.prototype.interfaces_=function(){return[]},er.prototype.getClass=function(){return er};var hl=function(){};hl.prototype.getBounds=function(){},hl.prototype.interfaces_=function(){return[]},hl.prototype.getClass=function(){return hl};var Kr=function(){this._bounds=null,this._item=null;var e=arguments[0],t=arguments[1];this._bounds=e,this._item=t};Kr.prototype.getItem=function(){return this._item},Kr.prototype.getBounds=function(){return this._bounds},Kr.prototype.interfaces_=function(){return[hl,Cr]},Kr.prototype.getClass=function(){return Kr};var ci=function(){this._size=null,this._items=null,this._size=0,this._items=new W,this._items.add(null)};ci.prototype.poll=function(){if(this.isEmpty())return null;var e=this._items.get(1);return this._items.set(1,this._items.get(this._size)),this._size-=1,this.reorder(1),e},ci.prototype.size=function(){return this._size},ci.prototype.reorder=function(e){for(var t=this,r=null,i=this._items.get(e);e*2<=this._size&&(r=e*2,r!==t._size&&t._items.get(r+1).compareTo(t._items.get(r))<0&&r++,t._items.get(r).compareTo(i)<0);e=r)t._items.set(e,t._items.get(r));this._items.set(e,i)},ci.prototype.clear=function(){this._size=0,this._items.clear()},ci.prototype.isEmpty=function(){return this._size===0},ci.prototype.add=function(e){var t=this;this._items.add(null),this._size+=1;var r=this._size;for(this._items.set(0,e);e.compareTo(this._items.get(Math.trunc(r/2)))<0;r/=2)t._items.set(r,t._items.get(Math.trunc(r/2)));this._items.set(r,e)},ci.prototype.interfaces_=function(){return[]},ci.prototype.getClass=function(){return ci};var Ai=function(){};Ai.prototype.visitItem=function(e){},Ai.prototype.interfaces_=function(){return[]},Ai.prototype.getClass=function(){return Ai};var Qs=function(){};Qs.prototype.insert=function(e,t){},Qs.prototype.remove=function(e,t){},Qs.prototype.query=function(){},Qs.prototype.interfaces_=function(){return[]},Qs.prototype.getClass=function(){return Qs};var st=function(){if(this._childBoundables=new W,this._bounds=null,this._level=null,arguments.length!==0){if(arguments.length===1){var e=arguments[0];this._level=e}}},Lf={serialVersionUID:{configurable:!0}};st.prototype.getLevel=function(){return this._level},st.prototype.size=function(){return this._childBoundables.size()},st.prototype.getChildBoundables=function(){return this._childBoundables},st.prototype.addChildBoundable=function(e){fe.isTrue(this._bounds===null),this._childBoundables.add(e)},st.prototype.isEmpty=function(){return this._childBoundables.isEmpty()},st.prototype.getBounds=function(){return this._bounds===null&&(this._bounds=this.computeBounds()),this._bounds},st.prototype.interfaces_=function(){return[hl,Cr]},st.prototype.getClass=function(){return st},Lf.serialVersionUID.get=function(){return 6493722185909574e3},Object.defineProperties(st,Lf);var Qr=function(){};Qr.reverseOrder=function(){return{compare:function(t,r){return r.compareTo(t)}}},Qr.min=function(e){return Qr.sort(e),e.get(0)},Qr.sort=function(e,t){var r=e.toArray();t?us.sort(r,t):us.sort(r);for(var i=e.iterator(),s=0,o=r.length;s<o;s++)i.next(),i.set(r[s])},Qr.singletonList=function(e){var t=new W;return t.add(e),t};var et=function(){this._boundable1=null,this._boundable2=null,this._distance=null,this._itemDistance=null;var e=arguments[0],t=arguments[1],r=arguments[2];this._boundable1=e,this._boundable2=t,this._itemDistance=r,this._distance=this.distance()};et.prototype.expandToQueue=function(e,t){var r=et.isComposite(this._boundable1),i=et.isComposite(this._boundable2);if(r&&i)return et.area(this._boundable1)>et.area(this._boundable2)?(this.expand(this._boundable1,this._boundable2,e,t),null):(this.expand(this._boundable2,this._boundable1,e,t),null);if(r)return this.expand(this._boundable1,this._boundable2,e,t),null;if(i)return this.expand(this._boundable2,this._boundable1,e,t),null;throw new Ue("neither boundable is composite")},et.prototype.isLeaves=function(){return!(et.isComposite(this._boundable1)||et.isComposite(this._boundable2))},et.prototype.compareTo=function(e){var t=e;return this._distance<t._distance?-1:this._distance>t._distance?1:0},et.prototype.expand=function(e,t,r,i){for(var s=this,o=e.getChildBoundables(),a=o.iterator();a.hasNext();){var l=a.next(),u=new et(l,t,s._itemDistance);u.getDistance()<i&&r.add(u)}},et.prototype.getBoundable=function(e){return e===0?this._boundable1:this._boundable2},et.prototype.getDistance=function(){return this._distance},et.prototype.distance=function(){return this.isLeaves()?this._itemDistance.distance(this._boundable1,this._boundable2):this._boundable1.getBounds().distance(this._boundable2.getBounds())},et.prototype.interfaces_=function(){return[Sr]},et.prototype.getClass=function(){return et},et.area=function(e){return e.getBounds().getArea()},et.isComposite=function(e){return e instanceof st};var ut=function n(){if(this._root=null,this._built=!1,this._itemBoundables=new W,this._nodeCapacity=null,arguments.length===0){var e=n.DEFAULT_NODE_CAPACITY;this._nodeCapacity=e}else if(arguments.length===1){var t=arguments[0];fe.isTrue(t>1,"Node capacity must be greater than 1"),this._nodeCapacity=t}},Wu={IntersectsOp:{configurable:!0},serialVersionUID:{configurable:!0},DEFAULT_NODE_CAPACITY:{configurable:!0}};ut.prototype.getNodeCapacity=function(){return this._nodeCapacity},ut.prototype.lastNode=function(e){return e.get(e.size()-1)},ut.prototype.size=function(){var e=this;if(arguments.length===0)return this.isEmpty()?0:(this.build(),this.size(this._root));if(arguments.length===1){for(var t=arguments[0],r=0,i=t.getChildBoundables().iterator();i.hasNext();){var s=i.next();s instanceof st?r+=e.size(s):s instanceof Kr&&(r+=1)}return r}},ut.prototype.removeItem=function(e,t){for(var r=null,i=e.getChildBoundables().iterator();i.hasNext();){var s=i.next();s instanceof Kr&&s.getItem()===t&&(r=s)}return r!==null?(e.getChildBoundables().remove(r),!0):!1},ut.prototype.itemsTree=function(){var e=this;if(arguments.length===0){this.build();var t=this.itemsTree(this._root);return t===null?new W:t}else if(arguments.length===1){for(var r=arguments[0],i=new W,s=r.getChildBoundables().iterator();s.hasNext();){var o=s.next();if(o instanceof st){var a=e.itemsTree(o);a!==null&&i.add(a)}else o instanceof Kr?i.add(o.getItem()):fe.shouldNeverReachHere()}return i.size()<=0?null:i}},ut.prototype.insert=function(e,t){fe.isTrue(!this._built,"Cannot insert items into an STR packed R-tree after it has been built."),this._itemBoundables.add(new Kr(e,t))},ut.prototype.boundablesAtLevel=function(){var e=this;if(arguments.length===1){var t=arguments[0],r=new W;return this.boundablesAtLevel(t,this._root,r),r}else if(arguments.length===3){var i=arguments[0],s=arguments[1],o=arguments[2];if(fe.isTrue(i>-2),s.getLevel()===i)return o.add(s),null;for(var a=s.getChildBoundables().iterator();a.hasNext();){var l=a.next();l instanceof st?e.boundablesAtLevel(i,l,o):(fe.isTrue(l instanceof Kr),i===-1&&o.add(l))}return null}},ut.prototype.query=function(){var e=this;if(arguments.length===1){var t=arguments[0];this.build();var r=new W;return this.isEmpty()||this.getIntersectsOp().intersects(this._root.getBounds(),t)&&this.query(t,this._root,r),r}else if(arguments.length===2){var i=arguments[0],s=arguments[1];if(this.build(),this.isEmpty())return null;this.getIntersectsOp().intersects(this._root.getBounds(),i)&&this.query(i,this._root,s)}else if(arguments.length===3){if(ae(arguments[2],Ai)&&arguments[0]instanceof Object&&arguments[1]instanceof st)for(var o=arguments[0],a=arguments[1],l=arguments[2],u=a.getChildBoundables(),h=0;h<u.size();h++){var f=u.get(h);e.getIntersectsOp().intersects(f.getBounds(),o)&&(f instanceof st?e.query(o,f,l):f instanceof Kr?l.visitItem(f.getItem()):fe.shouldNeverReachHere())}else if(ae(arguments[2],Hr)&&arguments[0]instanceof Object&&arguments[1]instanceof st)for(var p=arguments[0],v=arguments[1],w=arguments[2],I=v.getChildBoundables(),T=0;T<I.size();T++){var L=I.get(T);e.getIntersectsOp().intersects(L.getBounds(),p)&&(L instanceof st?e.query(p,L,w):L instanceof Kr?w.add(L.getItem()):fe.shouldNeverReachHere())}}},ut.prototype.build=function(){if(this._built)return null;this._root=this._itemBoundables.isEmpty()?this.createNode(0):this.createHigherLevels(this._itemBoundables,-1),this._itemBoundables=null,this._built=!0},ut.prototype.getRoot=function(){return this.build(),this._root},ut.prototype.remove=function(){var e=this;if(arguments.length===2){var t=arguments[0],r=arguments[1];return this.build(),this.getIntersectsOp().intersects(this._root.getBounds(),t)?this.remove(t,this._root,r):!1}else if(arguments.length===3){var i=arguments[0],s=arguments[1],o=arguments[2],a=this.removeItem(s,o);if(a)return!0;for(var l=null,u=s.getChildBoundables().iterator();u.hasNext();){var h=u.next();if(e.getIntersectsOp().intersects(h.getBounds(),i)&&h instanceof st&&(a=e.remove(i,h,o),a)){l=h;break}}return l!==null&&l.getChildBoundables().isEmpty()&&s.getChildBoundables().remove(l),a}},ut.prototype.createHigherLevels=function(e,t){fe.isTrue(!e.isEmpty());var r=this.createParentBoundables(e,t+1);return r.size()===1?r.get(0):this.createHigherLevels(r,t+1)},ut.prototype.depth=function(){var e=this;if(arguments.length===0)return this.isEmpty()?0:(this.build(),this.depth(this._root));if(arguments.length===1){for(var t=arguments[0],r=0,i=t.getChildBoundables().iterator();i.hasNext();){var s=i.next();if(s instanceof st){var o=e.depth(s);o>r&&(r=o)}}return r+1}},ut.prototype.createParentBoundables=function(e,t){var r=this;fe.isTrue(!e.isEmpty());var i=new W;i.add(this.createNode(t));var s=new W(e);Qr.sort(s,this.getComparator());for(var o=s.iterator();o.hasNext();){var a=o.next();r.lastNode(i).getChildBoundables().size()===r.getNodeCapacity()&&i.add(r.createNode(t)),r.lastNode(i).addChildBoundable(a)}return i},ut.prototype.isEmpty=function(){return this._built?this._root.isEmpty():this._itemBoundables.isEmpty()},ut.prototype.interfaces_=function(){return[Cr]},ut.prototype.getClass=function(){return ut},ut.compareDoubles=function(e,t){return e>t?1:e<t?-1:0},Wu.IntersectsOp.get=function(){return ev},Wu.serialVersionUID.get=function(){return-3886435814360241e3},Wu.DEFAULT_NODE_CAPACITY.get=function(){return 10},Object.defineProperties(ut,Wu);var ev=function(){},fl=function(){};fl.prototype.distance=function(e,t){},fl.prototype.interfaces_=function(){return[]},fl.prototype.getClass=function(){return fl};var Af=function(n){function e(r){r=r||e.DEFAULT_NODE_CAPACITY,n.call(this,r)}n&&(e.__proto__=n),e.prototype=Object.create(n&&n.prototype),e.prototype.constructor=e;var t={STRtreeNode:{configurable:!0},serialVersionUID:{configurable:!0},xComparator:{configurable:!0},yComparator:{configurable:!0},intersectsOp:{configurable:!0},DEFAULT_NODE_CAPACITY:{configurable:!0}};return e.prototype.createParentBoundablesFromVerticalSlices=function(i,s){var o=this;fe.isTrue(i.length>0);for(var a=new W,l=0;l<i.length;l++)a.addAll(o.createParentBoundablesFromVerticalSlice(i[l],s));return a},e.prototype.createNode=function(i){return new Rf(i)},e.prototype.size=function(){return arguments.length===0?n.prototype.size.call(this):n.prototype.size.apply(this,arguments)},e.prototype.insert=function(){if(arguments.length===2){var i=arguments[0],s=arguments[1];if(i.isNull())return null;n.prototype.insert.call(this,i,s)}else return n.prototype.insert.apply(this,arguments)},e.prototype.getIntersectsOp=function(){return e.intersectsOp},e.prototype.verticalSlices=function(i,s){for(var o=Math.trunc(Math.ceil(i.size()/s)),a=new Array(s).fill(null),l=i.iterator(),u=0;u<s;u++){a[u]=new W;for(var h=0;l.hasNext()&&h<o;){var f=l.next();a[u].add(f),h++}}return a},e.prototype.query=function(){if(arguments.length===1){var i=arguments[0];return n.prototype.query.call(this,i)}else if(arguments.length===2){var s=arguments[0],o=arguments[1];n.prototype.query.call(this,s,o)}else if(arguments.length===3){if(ae(arguments[2],Ai)&&arguments[0]instanceof Object&&arguments[1]instanceof st){var a=arguments[0],l=arguments[1],u=arguments[2];n.prototype.query.call(this,a,l,u)}else if(ae(arguments[2],Hr)&&arguments[0]instanceof Object&&arguments[1]instanceof st){var h=arguments[0],f=arguments[1],p=arguments[2];n.prototype.query.call(this,h,f,p)}}},e.prototype.getComparator=function(){return e.yComparator},e.prototype.createParentBoundablesFromVerticalSlice=function(i,s){return n.prototype.createParentBoundables.call(this,i,s)},e.prototype.remove=function(){if(arguments.length===2){var i=arguments[0],s=arguments[1];return n.prototype.remove.call(this,i,s)}else return n.prototype.remove.apply(this,arguments)},e.prototype.depth=function(){return arguments.length===0?n.prototype.depth.call(this):n.prototype.depth.apply(this,arguments)},e.prototype.createParentBoundables=function(i,s){fe.isTrue(!i.isEmpty());var o=Math.trunc(Math.ceil(i.size()/this.getNodeCapacity())),a=new W(i);Qr.sort(a,e.xComparator);var l=this.verticalSlices(a,Math.trunc(Math.ceil(Math.sqrt(o))));return this.createParentBoundablesFromVerticalSlices(l,s)},e.prototype.nearestNeighbour=function(){if(arguments.length===1){if(ae(arguments[0],fl)){var i=arguments[0],s=new et(this.getRoot(),this.getRoot(),i);return this.nearestNeighbour(s)}else if(arguments[0]instanceof et){var o=arguments[0];return this.nearestNeighbour(o,le.POSITIVE_INFINITY)}}else if(arguments.length===2){if(arguments[0]instanceof e&&ae(arguments[1],fl)){var a=arguments[0],l=arguments[1],u=new et(this.getRoot(),a.getRoot(),l);return this.nearestNeighbour(u)}else if(arguments[0]instanceof et&&typeof arguments[1]=="number"){var h=arguments[0],f=arguments[1],p=f,v=null,w=new ci;for(w.add(h);!w.isEmpty()&&p>0;){var I=w.poll(),T=I.getDistance();if(T>=p)break;I.isLeaves()?(p=T,v=I):I.expandToQueue(w,p)}return[v.getBoundable(0).getItem(),v.getBoundable(1).getItem()]}}else if(arguments.length===3){var L=arguments[0],m=arguments[1],_=arguments[2],g=new Kr(L,m),y=new et(this.getRoot(),g,_);return this.nearestNeighbour(y)[0]}},e.prototype.interfaces_=function(){return[Qs,Cr]},e.prototype.getClass=function(){return e},e.centreX=function(i){return e.avg(i.getMinX(),i.getMaxX())},e.avg=function(i,s){return(i+s)/2},e.centreY=function(i){return e.avg(i.getMinY(),i.getMaxY())},t.STRtreeNode.get=function(){return Rf},t.serialVersionUID.get=function(){return 0x39920f7d5f261e0},t.xComparator.get=function(){return{interfaces_:function(){return[$a]},compare:function(r,i){return n.compareDoubles(e.centreX(r.getBounds()),e.centreX(i.getBounds()))}}},t.yComparator.get=function(){return{interfaces_:function(){return[$a]},compare:function(r,i){return n.compareDoubles(e.centreY(r.getBounds()),e.centreY(i.getBounds()))}}},t.intersectsOp.get=function(){return{interfaces_:function(){return[n.IntersectsOp]},intersects:function(r,i){return r.intersects(i)}}},t.DEFAULT_NODE_CAPACITY.get=function(){return 10},Object.defineProperties(e,t),e}(ut),Rf=function(n){function e(){var t=arguments[0];n.call(this,t)}return n&&(e.__proto__=n),e.prototype=Object.create(n&&n.prototype),e.prototype.constructor=e,e.prototype.computeBounds=function(){for(var r=null,i=this.getChildBoundables().iterator();i.hasNext();){var s=i.next();r===null?r=new te(s.getBounds()):r.expandToInclude(s.getBounds())}return r},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(st),Wt=function(){};Wt.prototype.interfaces_=function(){return[]},Wt.prototype.getClass=function(){return Wt},Wt.relativeSign=function(e,t){return e<t?-1:e>t?1:0},Wt.compare=function(e,t,r){if(t.equals2D(r))return 0;var i=Wt.relativeSign(t.x,r.x),s=Wt.relativeSign(t.y,r.y);switch(e){case 0:return Wt.compareValue(i,s);case 1:return Wt.compareValue(s,i);case 2:return Wt.compareValue(s,-i);case 3:return Wt.compareValue(-i,s);case 4:return Wt.compareValue(-i,-s);case 5:return Wt.compareValue(-s,-i);case 6:return Wt.compareValue(-s,i);case 7:return Wt.compareValue(i,-s)}return fe.shouldNeverReachHere("invalid octant value"),0},Wt.compareValue=function(e,t){return e<0?-1:e>0?1:t<0?-1:t>0?1:0};var Ri=function(){this._segString=null,this.coord=null,this.segmentIndex=null,this._segmentOctant=null,this._isInterior=null;var e=arguments[0],t=arguments[1],r=arguments[2],i=arguments[3];this._segString=e,this.coord=new M(t),this.segmentIndex=r,this._segmentOctant=i,this._isInterior=!t.equals2D(e.getCoordinate(r))};Ri.prototype.getCoordinate=function(){return this.coord},Ri.prototype.print=function(e){e.print(this.coord),e.print(" seg # = "+this.segmentIndex)},Ri.prototype.compareTo=function(e){var t=e;return this.segmentIndex<t.segmentIndex?-1:this.segmentIndex>t.segmentIndex?1:this.coord.equals2D(t.coord)?0:Wt.compare(this._segmentOctant,this.coord,t.coord)},Ri.prototype.isEndPoint=function(e){return this.segmentIndex===0&&!this._isInterior||this.segmentIndex===e},Ri.prototype.isInterior=function(){return this._isInterior},Ri.prototype.interfaces_=function(){return[Sr]},Ri.prototype.getClass=function(){return Ri};var Lt=function(){this._nodeMap=new It,this._edge=null;var e=arguments[0];this._edge=e};Lt.prototype.getSplitCoordinates=function(){var e=this,t=new Gl;this.addEndpoints();for(var r=this.iterator(),i=r.next();r.hasNext();){var s=r.next();e.addEdgeCoordinates(i,s,t),i=s}return t.toCoordinateArray()},Lt.prototype.addCollapsedNodes=function(){var e=this,t=new W;this.findCollapsesFromInsertedNodes(t),this.findCollapsesFromExistingVertices(t);for(var r=t.iterator();r.hasNext();){var i=r.next().intValue();e.add(e._edge.getCoordinate(i),i)}},Lt.prototype.print=function(e){e.println("Intersections:");for(var t=this.iterator();t.hasNext();){var r=t.next();r.print(e)}},Lt.prototype.findCollapsesFromExistingVertices=function(e){for(var t=this,r=0;r<this._edge.size()-2;r++){var i=t._edge.getCoordinate(r),s=t._edge.getCoordinate(r+2);i.equals2D(s)&&e.add(new an(r+1))}},Lt.prototype.addEdgeCoordinates=function(e,t,r){var i=this,s=this._edge.getCoordinate(t.segmentIndex),o=t.isInterior()||!t.coord.equals2D(s);r.add(new M(e.coord),!1);for(var a=e.segmentIndex+1;a<=t.segmentIndex;a++)r.add(i._edge.getCoordinate(a));o&&r.add(new M(t.coord))},Lt.prototype.iterator=function(){return this._nodeMap.values().iterator()},Lt.prototype.addSplitEdges=function(e){var t=this;this.addEndpoints(),this.addCollapsedNodes();for(var r=this.iterator(),i=r.next();r.hasNext();){var s=r.next(),o=t.createSplitEdge(i,s);e.add(o),i=s}},Lt.prototype.findCollapseIndex=function(e,t,r){if(!e.coord.equals2D(t.coord))return!1;var i=t.segmentIndex-e.segmentIndex;return t.isInterior()||i--,i===1?(r[0]=e.segmentIndex+1,!0):!1},Lt.prototype.findCollapsesFromInsertedNodes=function(e){for(var t=this,r=new Array(1).fill(null),i=this.iterator(),s=i.next();i.hasNext();){var o=i.next(),a=t.findCollapseIndex(s,o,r);a&&e.add(new an(r[0])),s=o}},Lt.prototype.getEdge=function(){return this._edge},Lt.prototype.addEndpoints=function(){var e=this._edge.size()-1;this.add(this._edge.getCoordinate(0),0),this.add(this._edge.getCoordinate(e),e)},Lt.prototype.createSplitEdge=function(e,t){var r=this,i=t.segmentIndex-e.segmentIndex+2,s=this._edge.getCoordinate(t.segmentIndex),o=t.isInterior()||!t.coord.equals2D(s);o||i--;var a=new Array(i).fill(null),l=0;a[l++]=new M(e.coord);for(var u=e.segmentIndex+1;u<=t.segmentIndex;u++)a[l++]=r._edge.getCoordinate(u);return o&&(a[l]=new M(t.coord)),new Be(a,this._edge.getData())},Lt.prototype.add=function(e,t){var r=new Ri(this._edge,e,t,this._edge.getSegmentOctant(t)),i=this._nodeMap.get(r);return i!==null?(fe.isTrue(i.coord.equals2D(e),"Found equal nodes with different coordinates"),i):(this._nodeMap.put(r,r),r)},Lt.prototype.checkSplitEdgesCorrectness=function(e){var t=this._edge.getCoordinates(),r=e.get(0),i=r.getCoordinate(0);if(!i.equals2D(t[0]))throw new ni("bad split edge start point at "+i);var s=e.get(e.size()-1),o=s.getCoordinates(),a=o[o.length-1];if(!a.equals2D(t[t.length-1]))throw new ni("bad split edge end point at "+a)},Lt.prototype.interfaces_=function(){return[]},Lt.prototype.getClass=function(){return Lt};var Bs=function(){};Bs.prototype.interfaces_=function(){return[]},Bs.prototype.getClass=function(){return Bs},Bs.octant=function(){if(typeof arguments[0]=="number"&&typeof arguments[1]=="number"){var e=arguments[0],t=arguments[1];if(e===0&&t===0)throw new Ue("Cannot compute the octant for point ( "+e+", "+t+" )");var r=Math.abs(e),i=Math.abs(t);return e>=0?t>=0?r>=i?0:1:r>=i?7:6:t>=0?r>=i?3:2:r>=i?4:5}else if(arguments[0]instanceof M&&arguments[1]instanceof M){var s=arguments[0],o=arguments[1],a=o.x-s.x,l=o.y-s.y;if(a===0&&l===0)throw new Ue("Cannot compute the octant for two identical points "+s);return Bs.octant(a,l)}};var kn=function(){};kn.prototype.getCoordinates=function(){},kn.prototype.size=function(){},kn.prototype.getCoordinate=function(e){},kn.prototype.isClosed=function(){},kn.prototype.setData=function(e){},kn.prototype.getData=function(){},kn.prototype.interfaces_=function(){return[]},kn.prototype.getClass=function(){return kn};var Ql=function(){};Ql.prototype.addIntersection=function(e,t){},Ql.prototype.interfaces_=function(){return[kn]},Ql.prototype.getClass=function(){return Ql};var Be=function(){this._nodeList=new Lt(this),this._pts=null,this._data=null;var e=arguments[0],t=arguments[1];this._pts=e,this._data=t};Be.prototype.getCoordinates=function(){return this._pts},Be.prototype.size=function(){return this._pts.length},Be.prototype.getCoordinate=function(e){return this._pts[e]},Be.prototype.isClosed=function(){return this._pts[0].equals(this._pts[this._pts.length-1])},Be.prototype.getSegmentOctant=function(e){return e===this._pts.length-1?-1:this.safeOctant(this.getCoordinate(e),this.getCoordinate(e+1))},Be.prototype.setData=function(e){this._data=e},Be.prototype.safeOctant=function(e,t){return e.equals2D(t)?0:Bs.octant(e,t)},Be.prototype.getData=function(){return this._data},Be.prototype.addIntersection=function(){if(arguments.length===2){var e=arguments[0],t=arguments[1];this.addIntersectionNode(e,t)}else if(arguments.length===4){var r=arguments[0],i=arguments[1],s=arguments[3],o=new M(r.getIntersection(s));this.addIntersection(o,i)}},Be.prototype.toString=function(){return Yr.toLineString(new Qe(this._pts))},Be.prototype.getNodeList=function(){return this._nodeList},Be.prototype.addIntersectionNode=function(e,t){var r=t,i=r+1;if(i<this._pts.length){var s=this._pts[i];e.equals2D(s)&&(r=i)}var o=this._nodeList.add(e,r);return o},Be.prototype.addIntersections=function(e,t,r){for(var i=this,s=0;s<e.getIntersectionNum();s++)i.addIntersection(e,t,r,s)},Be.prototype.interfaces_=function(){return[Ql]},Be.prototype.getClass=function(){return Be},Be.getNodedSubstrings=function(){if(arguments.length===1){var e=arguments[0],t=new W;return Be.getNodedSubstrings(e,t),t}else if(arguments.length===2)for(var r=arguments[0],i=arguments[1],s=r.iterator();s.hasNext();){var o=s.next();o.getNodeList().addSplitEdges(i)}};var re=function(){if(this.p0=null,this.p1=null,arguments.length===0)this.p0=new M,this.p1=new M;else if(arguments.length===1){var e=arguments[0];this.p0=new M(e.p0),this.p1=new M(e.p1)}else if(arguments.length===2)this.p0=arguments[0],this.p1=arguments[1];else if(arguments.length===4){var t=arguments[0],r=arguments[1],i=arguments[2],s=arguments[3];this.p0=new M(t,r),this.p1=new M(i,s)}},Ff={serialVersionUID:{configurable:!0}};re.prototype.minX=function(){return Math.min(this.p0.x,this.p1.x)},re.prototype.orientationIndex=function(){if(arguments[0]instanceof re){var e=arguments[0],t=H.orientationIndex(this.p0,this.p1,e.p0),r=H.orientationIndex(this.p0,this.p1,e.p1);return t>=0&&r>=0||t<=0&&r<=0?Math.max(t,r):0}else if(arguments[0]instanceof M){var i=arguments[0];return H.orientationIndex(this.p0,this.p1,i)}},re.prototype.toGeometry=function(e){return e.createLineString([this.p0,this.p1])},re.prototype.isVertical=function(){return this.p0.x===this.p1.x},re.prototype.equals=function(e){if(!(e instanceof re))return!1;var t=e;return this.p0.equals(t.p0)&&this.p1.equals(t.p1)},re.prototype.intersection=function(e){var t=new as;return t.computeIntersection(this.p0,this.p1,e.p0,e.p1),t.hasIntersection()?t.getIntersection(0):null},re.prototype.project=function(){if(arguments[0]instanceof M){var e=arguments[0];if(e.equals(this.p0)||e.equals(this.p1))return new M(e);var t=this.projectionFactor(e),r=new M;return r.x=this.p0.x+t*(this.p1.x-this.p0.x),r.y=this.p0.y+t*(this.p1.y-this.p0.y),r}else if(arguments[0]instanceof re){var i=arguments[0],s=this.projectionFactor(i.p0),o=this.projectionFactor(i.p1);if(s>=1&&o>=1||s<=0&&o<=0)return null;var a=this.project(i.p0);s<0&&(a=this.p0),s>1&&(a=this.p1);var l=this.project(i.p1);return o<0&&(l=this.p0),o>1&&(l=this.p1),new re(a,l)}},re.prototype.normalize=function(){this.p1.compareTo(this.p0)<0&&this.reverse()},re.prototype.angle=function(){return Math.atan2(this.p1.y-this.p0.y,this.p1.x-this.p0.x)},re.prototype.getCoordinate=function(e){return e===0?this.p0:this.p1},re.prototype.distancePerpendicular=function(e){return H.distancePointLinePerpendicular(e,this.p0,this.p1)},re.prototype.minY=function(){return Math.min(this.p0.y,this.p1.y)},re.prototype.midPoint=function(){return re.midPoint(this.p0,this.p1)},re.prototype.projectionFactor=function(e){if(e.equals(this.p0))return 0;if(e.equals(this.p1))return 1;var t=this.p1.x-this.p0.x,r=this.p1.y-this.p0.y,i=t*t+r*r;if(i<=0)return le.NaN;var s=((e.x-this.p0.x)*t+(e.y-this.p0.y)*r)/i;return s},re.prototype.closestPoints=function(e){var t=this.intersection(e);if(t!==null)return[t,t];var r=new Array(2).fill(null),i=le.MAX_VALUE,s=null,o=this.closestPoint(e.p0);i=o.distance(e.p0),r[0]=o,r[1]=e.p0;var a=this.closestPoint(e.p1);s=a.distance(e.p1),s<i&&(i=s,r[0]=a,r[1]=e.p1);var l=e.closestPoint(this.p0);s=l.distance(this.p0),s<i&&(i=s,r[0]=this.p0,r[1]=l);var u=e.closestPoint(this.p1);return s=u.distance(this.p1),s<i&&(i=s,r[0]=this.p1,r[1]=u),r},re.prototype.closestPoint=function(e){var t=this.projectionFactor(e);if(t>0&&t<1)return this.project(e);var r=this.p0.distance(e),i=this.p1.distance(e);return r<i?this.p0:this.p1},re.prototype.maxX=function(){return Math.max(this.p0.x,this.p1.x)},re.prototype.getLength=function(){return this.p0.distance(this.p1)},re.prototype.compareTo=function(e){var t=e,r=this.p0.compareTo(t.p0);return r!==0?r:this.p1.compareTo(t.p1)},re.prototype.reverse=function(){var e=this.p0;this.p0=this.p1,this.p1=e},re.prototype.equalsTopo=function(e){return this.p0.equals(e.p0)&&(this.p1.equals(e.p1)||this.p0.equals(e.p1))&&this.p1.equals(e.p0)},re.prototype.lineIntersection=function(e){try{var t=Xr.intersection(this.p0,this.p1,e.p0,e.p1);return t}catch(r){if(!(r instanceof el))throw r}finally{}return null},re.prototype.maxY=function(){return Math.max(this.p0.y,this.p1.y)},re.prototype.pointAlongOffset=function(e,t){var r=this.p0.x+e*(this.p1.x-this.p0.x),i=this.p0.y+e*(this.p1.y-this.p0.y),s=this.p1.x-this.p0.x,o=this.p1.y-this.p0.y,a=Math.sqrt(s*s+o*o),l=0,u=0;if(t!==0){if(a<=0)throw new Error("Cannot compute offset from zero-length line segment");l=t*s/a,u=t*o/a}var h=r-u,f=i+l,p=new M(h,f);return p},re.prototype.setCoordinates=function(){if(arguments.length===1){var e=arguments[0];this.setCoordinates(e.p0,e.p1)}else if(arguments.length===2){var t=arguments[0],r=arguments[1];this.p0.x=t.x,this.p0.y=t.y,this.p1.x=r.x,this.p1.y=r.y}},re.prototype.segmentFraction=function(e){var t=this.projectionFactor(e);return t<0?t=0:(t>1||le.isNaN(t))&&(t=1),t},re.prototype.toString=function(){return"LINESTRING( "+this.p0.x+" "+this.p0.y+", "+this.p1.x+" "+this.p1.y+")"},re.prototype.isHorizontal=function(){return this.p0.y===this.p1.y},re.prototype.distance=function(){if(arguments[0]instanceof re){var e=arguments[0];return H.distanceLineLine(this.p0,this.p1,e.p0,e.p1)}else if(arguments[0]instanceof M){var t=arguments[0];return H.distancePointLine(t,this.p0,this.p1)}},re.prototype.pointAlong=function(e){var t=new M;return t.x=this.p0.x+e*(this.p1.x-this.p0.x),t.y=this.p0.y+e*(this.p1.y-this.p0.y),t},re.prototype.hashCode=function(){var e=le.doubleToLongBits(this.p0.x);e^=le.doubleToLongBits(this.p0.y)*31;var t=Math.trunc(e)^Math.trunc(e>>32),r=le.doubleToLongBits(this.p1.x);r^=le.doubleToLongBits(this.p1.y)*31;var i=Math.trunc(r)^Math.trunc(r>>32);return t^i},re.prototype.interfaces_=function(){return[Sr,Cr]},re.prototype.getClass=function(){return re},re.midPoint=function(e,t){return new M((e.x+t.x)/2,(e.y+t.y)/2)},Ff.serialVersionUID.get=function(){return 0x2d2172135f411c00},Object.defineProperties(re,Ff);var Bl=function(){this.tempEnv1=new te,this.tempEnv2=new te,this._overlapSeg1=new re,this._overlapSeg2=new re};Bl.prototype.overlap=function(){if(arguments.length!==2){if(arguments.length===4){var e=arguments[0],t=arguments[1],r=arguments[2],i=arguments[3];e.getLineSegment(t,this._overlapSeg1),r.getLineSegment(i,this._overlapSeg2),this.overlap(this._overlapSeg1,this._overlapSeg2)}}},Bl.prototype.interfaces_=function(){return[]},Bl.prototype.getClass=function(){return Bl};var tr=function(){this._pts=null,this._start=null,this._end=null,this._env=null,this._context=null,this._id=null;var e=arguments[0],t=arguments[1],r=arguments[2],i=arguments[3];this._pts=e,this._start=t,this._end=r,this._context=i};tr.prototype.getLineSegment=function(e,t){t.p0=this._pts[e],t.p1=this._pts[e+1]},tr.prototype.computeSelect=function(e,t,r,i){var s=this._pts[t],o=this._pts[r];if(i.tempEnv1.init(s,o),r-t===1)return i.select(this,t),null;if(!e.intersects(i.tempEnv1))return null;var a=Math.trunc((t+r)/2);t<a&&this.computeSelect(e,t,a,i),a<r&&this.computeSelect(e,a,r,i)},tr.prototype.getCoordinates=function(){for(var e=this,t=new Array(this._end-this._start+1).fill(null),r=0,i=this._start;i<=this._end;i++)t[r++]=e._pts[i];return t},tr.prototype.computeOverlaps=function(e,t){this.computeOverlapsInternal(this._start,this._end,e,e._start,e._end,t)},tr.prototype.setId=function(e){this._id=e},tr.prototype.select=function(e,t){this.computeSelect(e,this._start,this._end,t)},tr.prototype.getEnvelope=function(){if(this._env===null){var e=this._pts[this._start],t=this._pts[this._end];this._env=new te(e,t)}return this._env},tr.prototype.getEndIndex=function(){return this._end},tr.prototype.getStartIndex=function(){return this._start},tr.prototype.getContext=function(){return this._context},tr.prototype.getId=function(){return this._id},tr.prototype.computeOverlapsInternal=function(e,t,r,i,s,o){var a=this._pts[e],l=this._pts[t],u=r._pts[i],h=r._pts[s];if(t-e===1&&s-i===1)return o.overlap(this,e,r,i),null;if(o.tempEnv1.init(a,l),o.tempEnv2.init(u,h),!o.tempEnv1.intersects(o.tempEnv2))return null;var f=Math.trunc((e+t)/2),p=Math.trunc((i+s)/2);e<f&&(i<p&&this.computeOverlapsInternal(e,f,r,i,p,o),p<s&&this.computeOverlapsInternal(e,f,r,p,s,o)),f<t&&(i<p&&this.computeOverlapsInternal(f,t,r,i,p,o),p<s&&this.computeOverlapsInternal(f,t,r,p,s,o))},tr.prototype.interfaces_=function(){return[]},tr.prototype.getClass=function(){return tr};var vn=function(){};vn.prototype.interfaces_=function(){return[]},vn.prototype.getClass=function(){return vn},vn.getChainStartIndices=function(e){var t=0,r=new W;r.add(new an(t));do{var i=vn.findChainEnd(e,t);r.add(new an(i)),t=i}while(t<e.length-1);var s=vn.toIntArray(r);return s},vn.findChainEnd=function(e,t){for(var r=t;r<e.length-1&&e[r].equals2D(e[r+1]);)r++;if(r>=e.length-1)return e.length-1;for(var i=xe.quadrant(e[r],e[r+1]),s=t+1;s<e.length;){if(!e[s-1].equals2D(e[s])){var o=xe.quadrant(e[s-1],e[s]);if(o!==i)break}s++}return s-1},vn.getChains=function(){if(arguments.length===1){var e=arguments[0];return vn.getChains(e,null)}else if(arguments.length===2){for(var t=arguments[0],r=arguments[1],i=new W,s=vn.getChainStartIndices(t),o=0;o<s.length-1;o++){var a=new tr(t,s[o],s[o+1],r);i.add(a)}return i}},vn.toIntArray=function(e){for(var t=new Array(e.size()).fill(null),r=0;r<t.length;r++)t[r]=e.get(r).intValue();return t};var hs=function(){};hs.prototype.computeNodes=function(e){},hs.prototype.getNodedSubstrings=function(){},hs.prototype.interfaces_=function(){return[]},hs.prototype.getClass=function(){return hs};var $l=function(){if(this._segInt=null,arguments.length!==0){if(arguments.length===1){var e=arguments[0];this.setSegmentIntersector(e)}}};$l.prototype.setSegmentIntersector=function(e){this._segInt=e},$l.prototype.interfaces_=function(){return[hs]},$l.prototype.getClass=function(){return $l};var Yc=function(n){function e(r){r?n.call(this,r):n.call(this),this._monoChains=new W,this._index=new Af,this._idCounter=0,this._nodedSegStrings=null,this._nOverlaps=0}n&&(e.__proto__=n),e.prototype=Object.create(n&&n.prototype),e.prototype.constructor=e;var t={SegmentOverlapAction:{configurable:!0}};return e.prototype.getMonotoneChains=function(){return this._monoChains},e.prototype.getNodedSubstrings=function(){return Be.getNodedSubstrings(this._nodedSegStrings)},e.prototype.getIndex=function(){return this._index},e.prototype.add=function(i){for(var s=this,o=vn.getChains(i.getCoordinates(),i),a=o.iterator();a.hasNext();){var l=a.next();l.setId(s._idCounter++),s._index.insert(l.getEnvelope(),l),s._monoChains.add(l)}},e.prototype.computeNodes=function(i){var s=this;this._nodedSegStrings=i;for(var o=i.iterator();o.hasNext();)s.add(o.next());this.intersectChains()},e.prototype.intersectChains=function(){for(var i=this,s=new kf(this._segInt),o=this._monoChains.iterator();o.hasNext();)for(var a=o.next(),l=i._index.query(a.getEnvelope()),u=l.iterator();u.hasNext();){var h=u.next();if(h.getId()>a.getId()&&(a.computeOverlaps(h,s),i._nOverlaps++),i._segInt.isDone())return null}},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},t.SegmentOverlapAction.get=function(){return kf},Object.defineProperties(e,t),e}($l),kf=function(n){function e(){n.call(this),this._si=null;var t=arguments[0];this._si=t}return n&&(e.__proto__=n),e.prototype=Object.create(n&&n.prototype),e.prototype.constructor=e,e.prototype.overlap=function(){if(arguments.length===4){var r=arguments[0],i=arguments[1],s=arguments[2],o=arguments[3],a=r.getContext(),l=s.getContext();this._si.processIntersections(a,i,l,o)}else return n.prototype.overlap.apply(this,arguments)},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(Bl),be=function n(){if(this._quadrantSegments=n.DEFAULT_QUADRANT_SEGMENTS,this._endCapStyle=n.CAP_ROUND,this._joinStyle=n.JOIN_ROUND,this._mitreLimit=n.DEFAULT_MITRE_LIMIT,this._isSingleSided=!1,this._simplifyFactor=n.DEFAULT_SIMPLIFY_FACTOR,arguments.length!==0){if(arguments.length===1){var e=arguments[0];this.setQuadrantSegments(e)}else if(arguments.length===2){var t=arguments[0],r=arguments[1];this.setQuadrantSegments(t),this.setEndCapStyle(r)}else if(arguments.length===4){var i=arguments[0],s=arguments[1],o=arguments[2],a=arguments[3];this.setQuadrantSegments(i),this.setEndCapStyle(s),this.setJoinStyle(o),this.setMitreLimit(a)}}},hi={CAP_ROUND:{configurable:!0},CAP_FLAT:{configurable:!0},CAP_SQUARE:{configurable:!0},JOIN_ROUND:{configurable:!0},JOIN_MITRE:{configurable:!0},JOIN_BEVEL:{configurable:!0},DEFAULT_QUADRANT_SEGMENTS:{configurable:!0},DEFAULT_MITRE_LIMIT:{configurable:!0},DEFAULT_SIMPLIFY_FACTOR:{configurable:!0}};be.prototype.getEndCapStyle=function(){return this._endCapStyle},be.prototype.isSingleSided=function(){return this._isSingleSided},be.prototype.setQuadrantSegments=function(e){this._quadrantSegments=e,this._quadrantSegments===0&&(this._joinStyle=be.JOIN_BEVEL),this._quadrantSegments<0&&(this._joinStyle=be.JOIN_MITRE,this._mitreLimit=Math.abs(this._quadrantSegments)),e<=0&&(this._quadrantSegments=1),this._joinStyle!==be.JOIN_ROUND&&(this._quadrantSegments=be.DEFAULT_QUADRANT_SEGMENTS)},be.prototype.getJoinStyle=function(){return this._joinStyle},be.prototype.setJoinStyle=function(e){this._joinStyle=e},be.prototype.setSimplifyFactor=function(e){this._simplifyFactor=e<0?0:e},be.prototype.getSimplifyFactor=function(){return this._simplifyFactor},be.prototype.getQuadrantSegments=function(){return this._quadrantSegments},be.prototype.setEndCapStyle=function(e){this._endCapStyle=e},be.prototype.getMitreLimit=function(){return this._mitreLimit},be.prototype.setMitreLimit=function(e){this._mitreLimit=e},be.prototype.setSingleSided=function(e){this._isSingleSided=e},be.prototype.interfaces_=function(){return[]},be.prototype.getClass=function(){return be},be.bufferDistanceError=function(e){var t=Math.PI/2/e;return 1-Math.cos(t/2)},hi.CAP_ROUND.get=function(){return 1},hi.CAP_FLAT.get=function(){return 2},hi.CAP_SQUARE.get=function(){return 3},hi.JOIN_ROUND.get=function(){return 1},hi.JOIN_MITRE.get=function(){return 2},hi.JOIN_BEVEL.get=function(){return 3},hi.DEFAULT_QUADRANT_SEGMENTS.get=function(){return 8},hi.DEFAULT_MITRE_LIMIT.get=function(){return 5},hi.DEFAULT_SIMPLIFY_FACTOR.get=function(){return .01},Object.defineProperties(be,hi);var Ze=function(e){this._distanceTol=null,this._isDeleted=null,this._angleOrientation=H.COUNTERCLOCKWISE,this._inputLine=e||null},jl={INIT:{configurable:!0},DELETE:{configurable:!0},KEEP:{configurable:!0},NUM_PTS_TO_CHECK:{configurable:!0}};Ze.prototype.isDeletable=function(e,t,r,i){var s=this._inputLine[e],o=this._inputLine[t],a=this._inputLine[r];return!this.isConcave(s,o,a)||!this.isShallow(s,o,a,i)?!1:this.isShallowSampled(s,o,e,r,i)},Ze.prototype.deleteShallowConcavities=function(){for(var e=this,t=1,r=this.findNextNonDeletedIndex(t),i=this.findNextNonDeletedIndex(r),s=!1;i<this._inputLine.length;){var o=!1;e.isDeletable(t,r,i,e._distanceTol)&&(e._isDeleted[r]=Ze.DELETE,o=!0,s=!0),o?t=i:t=r,r=e.findNextNonDeletedIndex(t),i=e.findNextNonDeletedIndex(r)}return s},Ze.prototype.isShallowConcavity=function(e,t,r,i){var s=H.computeOrientation(e,t,r),o=s===this._angleOrientation;if(!o)return!1;var a=H.distancePointLine(t,e,r);return a<i},Ze.prototype.isShallowSampled=function(e,t,r,i,s){var o=this,a=Math.trunc((i-r)/Ze.NUM_PTS_TO_CHECK);a<=0&&(a=1);for(var l=r;l<i;l+=a)if(!o.isShallow(e,t,o._inputLine[l],s))return!1;return!0},Ze.prototype.isConcave=function(e,t,r){var i=H.computeOrientation(e,t,r),s=i===this._angleOrientation;return s},Ze.prototype.simplify=function(e){var t=this;this._distanceTol=Math.abs(e),e<0&&(this._angleOrientation=H.CLOCKWISE),this._isDeleted=new Array(this._inputLine.length).fill(null);var r=!1;do r=t.deleteShallowConcavities();while(r);return this.collapseLine()},Ze.prototype.findNextNonDeletedIndex=function(e){for(var t=e+1;t<this._inputLine.length&&this._isDeleted[t]===Ze.DELETE;)t++;return t},Ze.prototype.isShallow=function(e,t,r,i){var s=H.distancePointLine(t,e,r);return s<i},Ze.prototype.collapseLine=function(){for(var e=this,t=new Gl,r=0;r<this._inputLine.length;r++)e._isDeleted[r]!==Ze.DELETE&&t.add(e._inputLine[r]);return t.toCoordinateArray()},Ze.prototype.interfaces_=function(){return[]},Ze.prototype.getClass=function(){return Ze},Ze.simplify=function(e,t){var r=new Ze(e);return r.simplify(t)},jl.INIT.get=function(){return 0},jl.DELETE.get=function(){return 1},jl.KEEP.get=function(){return 1},jl.NUM_PTS_TO_CHECK.get=function(){return 10},Object.defineProperties(Ze,jl);var hr=function(){this._ptList=null,this._precisionModel=null,this._minimimVertexDistance=0,this._ptList=new W},Vf={COORDINATE_ARRAY_TYPE:{configurable:!0}};hr.prototype.getCoordinates=function(){var e=this._ptList.toArray(hr.COORDINATE_ARRAY_TYPE);return e},hr.prototype.setPrecisionModel=function(e){this._precisionModel=e},hr.prototype.addPt=function(e){var t=new M(e);if(this._precisionModel.makePrecise(t),this.isRedundant(t))return null;this._ptList.add(t)},hr.prototype.revere=function(){},hr.prototype.addPts=function(e,t){var r=this;if(t)for(var i=0;i<e.length;i++)r.addPt(e[i]);else for(var s=e.length-1;s>=0;s--)r.addPt(e[s])},hr.prototype.isRedundant=function(e){if(this._ptList.size()<1)return!1;var t=this._ptList.get(this._ptList.size()-1),r=e.distance(t);return r<this._minimimVertexDistance},hr.prototype.toString=function(){var e=new ge,t=e.createLineString(this.getCoordinates());return t.toString()},hr.prototype.closeRing=function(){if(this._ptList.size()<1)return null;var e=new M(this._ptList.get(0)),t=this._ptList.get(this._ptList.size()-1);if(e.equals(t))return null;this._ptList.add(e)},hr.prototype.setMinimumVertexDistance=function(e){this._minimimVertexDistance=e},hr.prototype.interfaces_=function(){return[]},hr.prototype.getClass=function(){return hr},Vf.COORDINATE_ARRAY_TYPE.get=function(){return new Array(0).fill(null)},Object.defineProperties(hr,Vf);var _e=function(){},$s={PI_TIMES_2:{configurable:!0},PI_OVER_2:{configurable:!0},PI_OVER_4:{configurable:!0},COUNTERCLOCKWISE:{configurable:!0},CLOCKWISE:{configurable:!0},NONE:{configurable:!0}};_e.prototype.interfaces_=function(){return[]},_e.prototype.getClass=function(){return _e},_e.toDegrees=function(e){return e*180/Math.PI},_e.normalize=function(e){for(;e>Math.PI;)e-=_e.PI_TIMES_2;for(;e<=-Math.PI;)e+=_e.PI_TIMES_2;return e},_e.angle=function(){if(arguments.length===1){var e=arguments[0];return Math.atan2(e.y,e.x)}else if(arguments.length===2){var t=arguments[0],r=arguments[1],i=r.x-t.x,s=r.y-t.y;return Math.atan2(s,i)}},_e.isAcute=function(e,t,r){var i=e.x-t.x,s=e.y-t.y,o=r.x-t.x,a=r.y-t.y,l=i*o+s*a;return l>0},_e.isObtuse=function(e,t,r){var i=e.x-t.x,s=e.y-t.y,o=r.x-t.x,a=r.y-t.y,l=i*o+s*a;return l<0},_e.interiorAngle=function(e,t,r){var i=_e.angle(t,e),s=_e.angle(t,r);return Math.abs(s-i)},_e.normalizePositive=function(e){if(e<0){for(;e<0;)e+=_e.PI_TIMES_2;e>=_e.PI_TIMES_2&&(e=0)}else{for(;e>=_e.PI_TIMES_2;)e-=_e.PI_TIMES_2;e<0&&(e=0)}return e},_e.angleBetween=function(e,t,r){var i=_e.angle(t,e),s=_e.angle(t,r);return _e.diff(i,s)},_e.diff=function(e,t){var r=null;return e<t?r=t-e:r=e-t,r>Math.PI&&(r=2*Math.PI-r),r},_e.toRadians=function(e){return e*Math.PI/180},_e.getTurn=function(e,t){var r=Math.sin(t-e);return r>0?_e.COUNTERCLOCKWISE:r<0?_e.CLOCKWISE:_e.NONE},_e.angleBetweenOriented=function(e,t,r){var i=_e.angle(t,e),s=_e.angle(t,r),o=s-i;return o<=-Math.PI?o+_e.PI_TIMES_2:o>Math.PI?o-_e.PI_TIMES_2:o},$s.PI_TIMES_2.get=function(){return 2*Math.PI},$s.PI_OVER_2.get=function(){return Math.PI/2},$s.PI_OVER_4.get=function(){return Math.PI/4},$s.COUNTERCLOCKWISE.get=function(){return H.COUNTERCLOCKWISE},$s.CLOCKWISE.get=function(){return H.CLOCKWISE},$s.NONE.get=function(){return H.COLLINEAR},Object.defineProperties(_e,$s);var ke=function n(){this._maxCurveSegmentError=0,this._filletAngleQuantum=null,this._closingSegLengthFactor=1,this._segList=null,this._distance=0,this._precisionModel=null,this._bufParams=null,this._li=null,this._s0=null,this._s1=null,this._s2=null,this._seg0=new re,this._seg1=new re,this._offset0=new re,this._offset1=new re,this._side=0,this._hasNarrowConcaveAngle=!1;var e=arguments[0],t=arguments[1],r=arguments[2];this._precisionModel=e,this._bufParams=t,this._li=new as,this._filletAngleQuantum=Math.PI/2/t.getQuadrantSegments(),t.getQuadrantSegments()>=8&&t.getJoinStyle()===be.JOIN_ROUND&&(this._closingSegLengthFactor=n.MAX_CLOSING_SEG_LEN_FACTOR),this.init(r)},eu={OFFSET_SEGMENT_SEPARATION_FACTOR:{configurable:!0},INSIDE_TURN_VERTEX_SNAP_DISTANCE_FACTOR:{configurable:!0},CURVE_VERTEX_SNAP_DISTANCE_FACTOR:{configurable:!0},MAX_CLOSING_SEG_LEN_FACTOR:{configurable:!0}};ke.prototype.addNextSegment=function(e,t){if(this._s0=this._s1,this._s1=this._s2,this._s2=e,this._seg0.setCoordinates(this._s0,this._s1),this.computeOffsetSegment(this._seg0,this._side,this._distance,this._offset0),this._seg1.setCoordinates(this._s1,this._s2),this.computeOffsetSegment(this._seg1,this._side,this._distance,this._offset1),this._s1.equals(this._s2))return null;var r=H.computeOrientation(this._s0,this._s1,this._s2),i=r===H.CLOCKWISE&&this._side===U.LEFT||r===H.COUNTERCLOCKWISE&&this._side===U.RIGHT;r===0?this.addCollinear(t):i?this.addOutsideTurn(r,t):this.addInsideTurn(r,t)},ke.prototype.addLineEndCap=function(e,t){var r=new re(e,t),i=new re;this.computeOffsetSegment(r,U.LEFT,this._distance,i);var s=new re;this.computeOffsetSegment(r,U.RIGHT,this._distance,s);var o=t.x-e.x,a=t.y-e.y,l=Math.atan2(a,o);switch(this._bufParams.getEndCapStyle()){case be.CAP_ROUND:this._segList.addPt(i.p1),this.addFilletArc(t,l+Math.PI/2,l-Math.PI/2,H.CLOCKWISE,this._distance),this._segList.addPt(s.p1);break;case be.CAP_FLAT:this._segList.addPt(i.p1),this._segList.addPt(s.p1);break;case be.CAP_SQUARE:var u=new M;u.x=Math.abs(this._distance)*Math.cos(l),u.y=Math.abs(this._distance)*Math.sin(l);var h=new M(i.p1.x+u.x,i.p1.y+u.y),f=new M(s.p1.x+u.x,s.p1.y+u.y);this._segList.addPt(h),this._segList.addPt(f);break}},ke.prototype.getCoordinates=function(){var e=this._segList.getCoordinates();return e},ke.prototype.addMitreJoin=function(e,t,r,i){var s=!0,o=null;try{o=Xr.intersection(t.p0,t.p1,r.p0,r.p1);var a=i<=0?1:o.distance(e)/Math.abs(i);a>this._bufParams.getMitreLimit()&&(s=!1)}catch(l){if(l instanceof el)o=new M(0,0),s=!1;else throw l}finally{}s?this._segList.addPt(o):this.addLimitedMitreJoin(t,r,i,this._bufParams.getMitreLimit())},ke.prototype.addFilletCorner=function(e,t,r,i,s){var o=t.x-e.x,a=t.y-e.y,l=Math.atan2(a,o),u=r.x-e.x,h=r.y-e.y,f=Math.atan2(h,u);i===H.CLOCKWISE?l<=f&&(l+=2*Math.PI):l>=f&&(l-=2*Math.PI),this._segList.addPt(t),this.addFilletArc(e,l,f,i,s),this._segList.addPt(r)},ke.prototype.addOutsideTurn=function(e,t){if(this._offset0.p1.distance(this._offset1.p0)<this._distance*ke.OFFSET_SEGMENT_SEPARATION_FACTOR)return this._segList.addPt(this._offset0.p1),null;this._bufParams.getJoinStyle()===be.JOIN_MITRE?this.addMitreJoin(this._s1,this._offset0,this._offset1,this._distance):this._bufParams.getJoinStyle()===be.JOIN_BEVEL?this.addBevelJoin(this._offset0,this._offset1):(t&&this._segList.addPt(this._offset0.p1),this.addFilletCorner(this._s1,this._offset0.p1,this._offset1.p0,e,this._distance),this._segList.addPt(this._offset1.p0))},ke.prototype.createSquare=function(e){this._segList.addPt(new M(e.x+this._distance,e.y+this._distance)),this._segList.addPt(new M(e.x+this._distance,e.y-this._distance)),this._segList.addPt(new M(e.x-this._distance,e.y-this._distance)),this._segList.addPt(new M(e.x-this._distance,e.y+this._distance)),this._segList.closeRing()},ke.prototype.addSegments=function(e,t){this._segList.addPts(e,t)},ke.prototype.addFirstSegment=function(){this._segList.addPt(this._offset1.p0)},ke.prototype.addLastSegment=function(){this._segList.addPt(this._offset1.p1)},ke.prototype.initSideSegments=function(e,t,r){this._s1=e,this._s2=t,this._side=r,this._seg1.setCoordinates(e,t),this.computeOffsetSegment(this._seg1,r,this._distance,this._offset1)},ke.prototype.addLimitedMitreJoin=function(e,t,r,i){var s=this._seg0.p1,o=_e.angle(s,this._seg0.p0),a=_e.angleBetweenOriented(this._seg0.p0,s,this._seg1.p1),l=a/2,u=_e.normalize(o+l),h=_e.normalize(u+Math.PI),f=i*r,p=f*Math.abs(Math.sin(l)),v=r-p,w=s.x+f*Math.cos(h),I=s.y+f*Math.sin(h),T=new M(w,I),L=new re(s,T),m=L.pointAlongOffset(1,v),_=L.pointAlongOffset(1,-v);this._side===U.LEFT?(this._segList.addPt(m),this._segList.addPt(_)):(this._segList.addPt(_),this._segList.addPt(m))},ke.prototype.computeOffsetSegment=function(e,t,r,i){var s=t===U.LEFT?1:-1,o=e.p1.x-e.p0.x,a=e.p1.y-e.p0.y,l=Math.sqrt(o*o+a*a),u=s*r*o/l,h=s*r*a/l;i.p0.x=e.p0.x-h,i.p0.y=e.p0.y+u,i.p1.x=e.p1.x-h,i.p1.y=e.p1.y+u},ke.prototype.addFilletArc=function(e,t,r,i,s){var o=this,a=i===H.CLOCKWISE?-1:1,l=Math.abs(t-r),u=Math.trunc(l/this._filletAngleQuantum+.5);if(u<1)return null;for(var h=0,f=l/u,p=h,v=new M;p<l;){var w=t+a*p;v.x=e.x+s*Math.cos(w),v.y=e.y+s*Math.sin(w),o._segList.addPt(v),p+=f}},ke.prototype.addInsideTurn=function(e,t){if(this._li.computeIntersection(this._offset0.p0,this._offset0.p1,this._offset1.p0,this._offset1.p1),this._li.hasIntersection())this._segList.addPt(this._li.getIntersection(0));else if(this._hasNarrowConcaveAngle=!0,this._offset0.p1.distance(this._offset1.p0)<this._distance*ke.INSIDE_TURN_VERTEX_SNAP_DISTANCE_FACTOR)this._segList.addPt(this._offset0.p1);else{if(this._segList.addPt(this._offset0.p1),this._closingSegLengthFactor>0){var r=new M((this._closingSegLengthFactor*this._offset0.p1.x+this._s1.x)/(this._closingSegLengthFactor+1),(this._closingSegLengthFactor*this._offset0.p1.y+this._s1.y)/(this._closingSegLengthFactor+1));this._segList.addPt(r);var i=new M((this._closingSegLengthFactor*this._offset1.p0.x+this._s1.x)/(this._closingSegLengthFactor+1),(this._closingSegLengthFactor*this._offset1.p0.y+this._s1.y)/(this._closingSegLengthFactor+1));this._segList.addPt(i)}else this._segList.addPt(this._s1);this._segList.addPt(this._offset1.p0)}},ke.prototype.createCircle=function(e){var t=new M(e.x+this._distance,e.y);this._segList.addPt(t),this.addFilletArc(e,0,2*Math.PI,-1,this._distance),this._segList.closeRing()},ke.prototype.addBevelJoin=function(e,t){this._segList.addPt(e.p1),this._segList.addPt(t.p0)},ke.prototype.init=function(e){this._distance=e,this._maxCurveSegmentError=e*(1-Math.cos(this._filletAngleQuantum/2)),this._segList=new hr,this._segList.setPrecisionModel(this._precisionModel),this._segList.setMinimumVertexDistance(e*ke.CURVE_VERTEX_SNAP_DISTANCE_FACTOR)},ke.prototype.addCollinear=function(e){this._li.computeIntersection(this._s0,this._s1,this._s1,this._s2);var t=this._li.getIntersectionNum();t>=2&&(this._bufParams.getJoinStyle()===be.JOIN_BEVEL||this._bufParams.getJoinStyle()===be.JOIN_MITRE?(e&&this._segList.addPt(this._offset0.p1),this._segList.addPt(this._offset1.p0)):this.addFilletCorner(this._s1,this._offset0.p1,this._offset1.p0,H.CLOCKWISE,this._distance))},ke.prototype.closeRing=function(){this._segList.closeRing()},ke.prototype.hasNarrowConcaveAngle=function(){return this._hasNarrowConcaveAngle},ke.prototype.interfaces_=function(){return[]},ke.prototype.getClass=function(){return ke},eu.OFFSET_SEGMENT_SEPARATION_FACTOR.get=function(){return .001},eu.INSIDE_TURN_VERTEX_SNAP_DISTANCE_FACTOR.get=function(){return .001},eu.CURVE_VERTEX_SNAP_DISTANCE_FACTOR.get=function(){return 1e-6},eu.MAX_CLOSING_SEG_LEN_FACTOR.get=function(){return 80},Object.defineProperties(ke,eu);var qt=function(){this._distance=0,this._precisionModel=null,this._bufParams=null;var e=arguments[0],t=arguments[1];this._precisionModel=e,this._bufParams=t};qt.prototype.getOffsetCurve=function(e,t){if(this._distance=t,t===0)return null;var r=t<0,i=Math.abs(t),s=this.getSegGen(i);e.length<=1?this.computePointCurve(e[0],s):this.computeOffsetCurve(e,r,s);var o=s.getCoordinates();return r&&pe.reverse(o),o},qt.prototype.computeSingleSidedBufferCurve=function(e,t,r){var i=this.simplifyTolerance(this._distance);if(t){r.addSegments(e,!0);var s=Ze.simplify(e,-i),o=s.length-1;r.initSideSegments(s[o],s[o-1],U.LEFT),r.addFirstSegment();for(var a=o-2;a>=0;a--)r.addNextSegment(s[a],!0)}else{r.addSegments(e,!1);var l=Ze.simplify(e,i),u=l.length-1;r.initSideSegments(l[0],l[1],U.LEFT),r.addFirstSegment();for(var h=2;h<=u;h++)r.addNextSegment(l[h],!0)}r.addLastSegment(),r.closeRing()},qt.prototype.computeRingBufferCurve=function(e,t,r){var i=this.simplifyTolerance(this._distance);t===U.RIGHT&&(i=-i);var s=Ze.simplify(e,i),o=s.length-1;r.initSideSegments(s[o-1],s[0],t);for(var a=1;a<=o;a++){var l=a!==1;r.addNextSegment(s[a],l)}r.closeRing()},qt.prototype.computeLineBufferCurve=function(e,t){var r=this.simplifyTolerance(this._distance),i=Ze.simplify(e,r),s=i.length-1;t.initSideSegments(i[0],i[1],U.LEFT);for(var o=2;o<=s;o++)t.addNextSegment(i[o],!0);t.addLastSegment(),t.addLineEndCap(i[s-1],i[s]);var a=Ze.simplify(e,-r),l=a.length-1;t.initSideSegments(a[l],a[l-1],U.LEFT);for(var u=l-2;u>=0;u--)t.addNextSegment(a[u],!0);t.addLastSegment(),t.addLineEndCap(a[1],a[0]),t.closeRing()},qt.prototype.computePointCurve=function(e,t){switch(this._bufParams.getEndCapStyle()){case be.CAP_ROUND:t.createCircle(e);break;case be.CAP_SQUARE:t.createSquare(e);break}},qt.prototype.getLineCurve=function(e,t){if(this._distance=t,t<0&&!this._bufParams.isSingleSided()||t===0)return null;var r=Math.abs(t),i=this.getSegGen(r);if(e.length<=1)this.computePointCurve(e[0],i);else if(this._bufParams.isSingleSided()){var s=t<0;this.computeSingleSidedBufferCurve(e,s,i)}else this.computeLineBufferCurve(e,i);var o=i.getCoordinates();return o},qt.prototype.getBufferParameters=function(){return this._bufParams},qt.prototype.simplifyTolerance=function(e){return e*this._bufParams.getSimplifyFactor()},qt.prototype.getRingCurve=function(e,t,r){if(this._distance=r,e.length<=2)return this.getLineCurve(e,r);if(r===0)return qt.copyCoordinates(e);var i=this.getSegGen(r);return this.computeRingBufferCurve(e,t,i),i.getCoordinates()},qt.prototype.computeOffsetCurve=function(e,t,r){var i=this.simplifyTolerance(this._distance);if(t){var s=Ze.simplify(e,-i),o=s.length-1;r.initSideSegments(s[o],s[o-1],U.LEFT),r.addFirstSegment();for(var a=o-2;a>=0;a--)r.addNextSegment(s[a],!0)}else{var l=Ze.simplify(e,i),u=l.length-1;r.initSideSegments(l[0],l[1],U.LEFT),r.addFirstSegment();for(var h=2;h<=u;h++)r.addNextSegment(l[h],!0)}r.addLastSegment()},qt.prototype.getSegGen=function(e){return new ke(this._precisionModel,this._bufParams,e)},qt.prototype.interfaces_=function(){return[]},qt.prototype.getClass=function(){return qt},qt.copyCoordinates=function(e){for(var t=new Array(e.length).fill(null),r=0;r<t.length;r++)t[r]=new M(e[r]);return t};var js=function(){this._subgraphs=null,this._seg=new re,this._cga=new H;var e=arguments[0];this._subgraphs=e},zf={DepthSegment:{configurable:!0}};js.prototype.findStabbedSegments=function(){var e=this;if(arguments.length===1){for(var t=arguments[0],r=new W,i=this._subgraphs.iterator();i.hasNext();){var s=i.next(),o=s.getEnvelope();t.y<o.getMinY()||t.y>o.getMaxY()||e.findStabbedSegments(t,s.getDirectedEdges(),r)}return r}else if(arguments.length===3){if(ae(arguments[2],Hr)&&arguments[0]instanceof M&&arguments[1]instanceof Xc)for(var a=arguments[0],l=arguments[1],u=arguments[2],h=l.getEdge().getCoordinates(),f=0;f<h.length-1;f++){e._seg.p0=h[f],e._seg.p1=h[f+1],e._seg.p0.y>e._seg.p1.y&&e._seg.reverse();var p=Math.max(e._seg.p0.x,e._seg.p1.x);if(!(p<a.x)&&!e._seg.isHorizontal()&&!(a.y<e._seg.p0.y||a.y>e._seg.p1.y)&&H.computeOrientation(e._seg.p0,e._seg.p1,a)!==H.RIGHT){var v=l.getDepth(U.LEFT);e._seg.p0.equals(h[f])||(v=l.getDepth(U.RIGHT));var w=new fs(e._seg,v);u.add(w)}}else if(ae(arguments[2],Hr)&&arguments[0]instanceof M&&ae(arguments[1],Hr))for(var I=arguments[0],T=arguments[1],L=arguments[2],m=T.iterator();m.hasNext();){var _=m.next();_.isForward()&&e.findStabbedSegments(I,_,L)}}},js.prototype.getDepth=function(e){var t=this.findStabbedSegments(e);if(t.size()===0)return 0;var r=Qr.min(t);return r._leftDepth},js.prototype.interfaces_=function(){return[]},js.prototype.getClass=function(){return js},zf.DepthSegment.get=function(){return fs},Object.defineProperties(js,zf);var fs=function(){this._upwardSeg=null,this._leftDepth=null;var e=arguments[0],t=arguments[1];this._upwardSeg=new re(e),this._leftDepth=t};fs.prototype.compareTo=function(e){var t=e;if(this._upwardSeg.minX()>=t._upwardSeg.maxX())return 1;if(this._upwardSeg.maxX()<=t._upwardSeg.minX())return-1;var r=this._upwardSeg.orientationIndex(t._upwardSeg);return r!==0||(r=-1*t._upwardSeg.orientationIndex(this._upwardSeg),r!==0)?r:this._upwardSeg.compareTo(t._upwardSeg)},fs.prototype.compareX=function(e,t){var r=e.p0.compareTo(t.p0);return r!==0?r:e.p1.compareTo(t.p1)},fs.prototype.toString=function(){return this._upwardSeg.toString()},fs.prototype.interfaces_=function(){return[Sr]},fs.prototype.getClass=function(){return fs};var Ne=function(e,t,r){this.p0=e||null,this.p1=t||null,this.p2=r||null};Ne.prototype.area=function(){return Ne.area(this.p0,this.p1,this.p2)},Ne.prototype.signedArea=function(){return Ne.signedArea(this.p0,this.p1,this.p2)},Ne.prototype.interpolateZ=function(e){if(e===null)throw new Ue("Supplied point is null.");return Ne.interpolateZ(e,this.p0,this.p1,this.p2)},Ne.prototype.longestSideLength=function(){return Ne.longestSideLength(this.p0,this.p1,this.p2)},Ne.prototype.isAcute=function(){return Ne.isAcute(this.p0,this.p1,this.p2)},Ne.prototype.circumcentre=function(){return Ne.circumcentre(this.p0,this.p1,this.p2)},Ne.prototype.area3D=function(){return Ne.area3D(this.p0,this.p1,this.p2)},Ne.prototype.centroid=function(){return Ne.centroid(this.p0,this.p1,this.p2)},Ne.prototype.inCentre=function(){return Ne.inCentre(this.p0,this.p1,this.p2)},Ne.prototype.interfaces_=function(){return[]},Ne.prototype.getClass=function(){return Ne},Ne.area=function(e,t,r){return Math.abs(((r.x-e.x)*(t.y-e.y)-(t.x-e.x)*(r.y-e.y))/2)},Ne.signedArea=function(e,t,r){return((r.x-e.x)*(t.y-e.y)-(t.x-e.x)*(r.y-e.y))/2},Ne.det=function(e,t,r,i){return e*i-t*r},Ne.interpolateZ=function(e,t,r,i){var s=t.x,o=t.y,a=r.x-s,l=i.x-s,u=r.y-o,h=i.y-o,f=a*h-l*u,p=e.x-s,v=e.y-o,w=(h*p-l*v)/f,I=(-u*p+a*v)/f,T=t.z+w*(r.z-t.z)+I*(i.z-t.z);return T},Ne.longestSideLength=function(e,t,r){var i=e.distance(t),s=t.distance(r),o=r.distance(e),a=i;return s>a&&(a=s),o>a&&(a=o),a},Ne.isAcute=function(e,t,r){return!(!_e.isAcute(e,t,r)||!_e.isAcute(t,r,e)||!_e.isAcute(r,e,t))},Ne.circumcentre=function(e,t,r){var i=r.x,s=r.y,o=e.x-i,a=e.y-s,l=t.x-i,u=t.y-s,h=2*Ne.det(o,a,l,u),f=Ne.det(a,o*o+a*a,u,l*l+u*u),p=Ne.det(o,o*o+a*a,l,l*l+u*u),v=i-f/h,w=s+p/h;return new M(v,w)},Ne.perpendicularBisector=function(e,t){var r=t.x-e.x,i=t.y-e.y,s=new Xr(e.x+r/2,e.y+i/2,1),o=new Xr(e.x-i+r/2,e.y+r+i/2,1);return new Xr(s,o)},Ne.angleBisector=function(e,t,r){var i=t.distance(e),s=t.distance(r),o=i/(i+s),a=r.x-e.x,l=r.y-e.y,u=new M(e.x+o*a,e.y+o*l);return u},Ne.area3D=function(e,t,r){var i=t.x-e.x,s=t.y-e.y,o=t.z-e.z,a=r.x-e.x,l=r.y-e.y,u=r.z-e.z,h=s*u-o*l,f=o*a-i*u,p=i*l-s*a,v=h*h+f*f+p*p,w=Math.sqrt(v)/2;return w},Ne.centroid=function(e,t,r){var i=(e.x+t.x+r.x)/3,s=(e.y+t.y+r.y)/3;return new M(i,s)},Ne.inCentre=function(e,t,r){var i=t.distance(r),s=e.distance(r),o=e.distance(t),a=i+s+o,l=(i*e.x+s*t.x+o*r.x)/a,u=(i*e.y+s*t.y+o*r.y)/a;return new M(l,u)};var Nr=function(){this._inputGeom=null,this._distance=null,this._curveBuilder=null,this._curveList=new W;var e=arguments[0],t=arguments[1],r=arguments[2];this._inputGeom=e,this._distance=t,this._curveBuilder=r};Nr.prototype.addPoint=function(e){if(this._distance<=0)return null;var t=e.getCoordinates(),r=this._curveBuilder.getLineCurve(t,this._distance);this.addCurve(r,R.EXTERIOR,R.INTERIOR)},Nr.prototype.addPolygon=function(e){var t=this,r=this._distance,i=U.LEFT;this._distance<0&&(r=-this._distance,i=U.RIGHT);var s=e.getExteriorRing(),o=pe.removeRepeatedPoints(s.getCoordinates());if(this._distance<0&&this.isErodedCompletely(s,this._distance)||this._distance<=0&&o.length<3)return null;this.addPolygonRing(o,r,i,R.EXTERIOR,R.INTERIOR);for(var a=0;a<e.getNumInteriorRing();a++){var l=e.getInteriorRingN(a),u=pe.removeRepeatedPoints(l.getCoordinates());t._distance>0&&t.isErodedCompletely(l,-t._distance)||t.addPolygonRing(u,r,U.opposite(i),R.INTERIOR,R.EXTERIOR)}},Nr.prototype.isTriangleErodedCompletely=function(e,t){var r=new Ne(e[0],e[1],e[2]),i=r.inCentre(),s=H.distancePointLine(i,r.p0,r.p1);return s<Math.abs(t)},Nr.prototype.addLineString=function(e){if(this._distance<=0&&!this._curveBuilder.getBufferParameters().isSingleSided())return null;var t=pe.removeRepeatedPoints(e.getCoordinates()),r=this._curveBuilder.getLineCurve(t,this._distance);this.addCurve(r,R.EXTERIOR,R.INTERIOR)},Nr.prototype.addCurve=function(e,t,r){if(e===null||e.length<2)return null;var i=new Be(e,new De(0,R.BOUNDARY,t,r));this._curveList.add(i)},Nr.prototype.getCurves=function(){return this.add(this._inputGeom),this._curveList},Nr.prototype.addPolygonRing=function(e,t,r,i,s){if(t===0&&e.length<An.MINIMUM_VALID_SIZE)return null;var o=i,a=s;e.length>=An.MINIMUM_VALID_SIZE&&H.isCCW(e)&&(o=s,a=i,r=U.opposite(r));var l=this._curveBuilder.getRingCurve(e,r,t);this.addCurve(l,o,a)},Nr.prototype.add=function(e){if(e.isEmpty())return null;e instanceof it?this.addPolygon(e):e instanceof Je?this.addLineString(e):e instanceof jt?this.addPoint(e):e instanceof ul?this.addCollection(e):e instanceof cs?this.addCollection(e):e instanceof Rn?this.addCollection(e):e instanceof Mt&&this.addCollection(e)},Nr.prototype.isErodedCompletely=function(e,t){var r=e.getCoordinates();if(r.length<4)return t<0;if(r.length===4)return this.isTriangleErodedCompletely(r,t);var i=e.getEnvelopeInternal(),s=Math.min(i.getHeight(),i.getWidth());return t<0&&2*Math.abs(t)>s},Nr.prototype.addCollection=function(e){for(var t=this,r=0;r<e.getNumGeometries();r++){var i=e.getGeometryN(r);t.add(i)}},Nr.prototype.interfaces_=function(){return[]},Nr.prototype.getClass=function(){return Nr};var dl=function(){};dl.prototype.locate=function(e){},dl.prototype.interfaces_=function(){return[]},dl.prototype.getClass=function(){return dl};var Vn=function(){this._parent=null,this._atStart=null,this._max=null,this._index=null,this._subcollectionIterator=null;var e=arguments[0];this._parent=e,this._atStart=!0,this._index=0,this._max=e.getNumGeometries()};Vn.prototype.next=function(){if(this._atStart)return this._atStart=!1,Vn.isAtomic(this._parent)&&this._index++,this._parent;if(this._subcollectionIterator!==null){if(this._subcollectionIterator.hasNext())return this._subcollectionIterator.next();this._subcollectionIterator=null}if(this._index>=this._max)throw new al;var e=this._parent.getGeometryN(this._index++);return e instanceof Mt?(this._subcollectionIterator=new Vn(e),this._subcollectionIterator.next()):e},Vn.prototype.remove=function(){throw new Error(this.getClass().getName())},Vn.prototype.hasNext=function(){if(this._atStart)return!0;if(this._subcollectionIterator!==null){if(this._subcollectionIterator.hasNext())return!0;this._subcollectionIterator=null}return!(this._index>=this._max)},Vn.prototype.interfaces_=function(){return[ol]},Vn.prototype.getClass=function(){return Vn},Vn.isAtomic=function(e){return!(e instanceof Mt)};var fr=function(){this._geom=null;var e=arguments[0];this._geom=e};fr.prototype.locate=function(e){return fr.locate(e,this._geom)},fr.prototype.interfaces_=function(){return[dl]},fr.prototype.getClass=function(){return fr},fr.isPointInRing=function(e,t){return t.getEnvelopeInternal().intersects(e)?H.isPointInRing(e,t.getCoordinates()):!1},fr.containsPointInPolygon=function(e,t){if(t.isEmpty())return!1;var r=t.getExteriorRing();if(!fr.isPointInRing(e,r))return!1;for(var i=0;i<t.getNumInteriorRing();i++){var s=t.getInteriorRingN(i);if(fr.isPointInRing(e,s))return!1}return!0},fr.containsPoint=function(e,t){if(t instanceof it)return fr.containsPointInPolygon(e,t);if(t instanceof Mt)for(var r=new Vn(t);r.hasNext();){var i=r.next();if(i!==t&&fr.containsPoint(e,i))return!0}return!1},fr.locate=function(e,t){return t.isEmpty()?R.EXTERIOR:fr.containsPoint(e,t)?R.INTERIOR:R.EXTERIOR};var bt=function(){this._edgeMap=new It,this._edgeList=null,this._ptInAreaLocation=[R.NONE,R.NONE]};bt.prototype.getNextCW=function(e){this.getEdges();var t=this._edgeList.indexOf(e),r=t-1;return t===0&&(r=this._edgeList.size()-1),this._edgeList.get(r)},bt.prototype.propagateSideLabels=function(e){for(var t=R.NONE,r=this.iterator();r.hasNext();){var i=r.next(),s=i.getLabel();s.isArea(e)&&s.getLocation(e,U.LEFT)!==R.NONE&&(t=s.getLocation(e,U.LEFT))}if(t===R.NONE)return null;for(var o=t,a=this.iterator();a.hasNext();){var l=a.next(),u=l.getLabel();if(u.getLocation(e,U.ON)===R.NONE&&u.setLocation(e,U.ON,o),u.isArea(e)){var h=u.getLocation(e,U.LEFT),f=u.getLocation(e,U.RIGHT);if(f!==R.NONE){if(f!==o)throw new ui("side location conflict",l.getCoordinate());h===R.NONE&&fe.shouldNeverReachHere("found single null side (at "+l.getCoordinate()+")"),o=h}else fe.isTrue(u.getLocation(e,U.LEFT)===R.NONE,"found single null side"),u.setLocation(e,U.RIGHT,o),u.setLocation(e,U.LEFT,o)}}},bt.prototype.getCoordinate=function(){var e=this.iterator();if(!e.hasNext())return null;var t=e.next();return t.getCoordinate()},bt.prototype.print=function(e){mt.out.println("EdgeEndStar: "+this.getCoordinate());for(var t=this.iterator();t.hasNext();){var r=t.next();r.print(e)}},bt.prototype.isAreaLabelsConsistent=function(e){return this.computeEdgeEndLabels(e.getBoundaryNodeRule()),this.checkAreaLabelsConsistent(0)},bt.prototype.checkAreaLabelsConsistent=function(e){var t=this.getEdges();if(t.size()<=0)return!0;var r=t.size()-1,i=t.get(r).getLabel(),s=i.getLocation(e,U.LEFT);fe.isTrue(s!==R.NONE,"Found unlabelled area edge");for(var o=s,a=this.iterator();a.hasNext();){var l=a.next(),u=l.getLabel();fe.isTrue(u.isArea(e),"Found non-area edge");var h=u.getLocation(e,U.LEFT),f=u.getLocation(e,U.RIGHT);if(h===f||f!==o)return!1;o=h}return!0},bt.prototype.findIndex=function(e){var t=this;this.iterator();for(var r=0;r<this._edgeList.size();r++){var i=t._edgeList.get(r);if(i===e)return r}return-1},bt.prototype.iterator=function(){return this.getEdges().iterator()},bt.prototype.getEdges=function(){return this._edgeList===null&&(this._edgeList=new W(this._edgeMap.values())),this._edgeList},bt.prototype.getLocation=function(e,t,r){return this._ptInAreaLocation[e]===R.NONE&&(this._ptInAreaLocation[e]=fr.locate(t,r[e].getGeometry())),this._ptInAreaLocation[e]},bt.prototype.toString=function(){var e=new on;e.append("EdgeEndStar: "+this.getCoordinate()),e.append(`
5
+ `);for(var t=this.iterator();t.hasNext();){var r=t.next();e.append(r),e.append(`
6
+ `)}return e.toString()},bt.prototype.computeEdgeEndLabels=function(e){for(var t=this.iterator();t.hasNext();){var r=t.next();r.computeLabel(e)}},bt.prototype.computeLabelling=function(e){var t=this;this.computeEdgeEndLabels(e[0].getBoundaryNodeRule()),this.propagateSideLabels(0),this.propagateSideLabels(1);for(var r=[!1,!1],i=this.iterator();i.hasNext();)for(var s=i.next(),o=s.getLabel(),a=0;a<2;a++)o.isLine(a)&&o.getLocation(a)===R.BOUNDARY&&(r[a]=!0);for(var l=this.iterator();l.hasNext();)for(var u=l.next(),h=u.getLabel(),f=0;f<2;f++)if(h.isAnyNull(f)){var p=R.NONE;if(r[f])p=R.EXTERIOR;else{var v=u.getCoordinate();p=t.getLocation(f,v,e)}h.setAllLocationsIfNull(f,p)}},bt.prototype.getDegree=function(){return this._edgeMap.size()},bt.prototype.insertEdgeEnd=function(e,t){this._edgeMap.put(e,t),this._edgeList=null},bt.prototype.interfaces_=function(){return[]},bt.prototype.getClass=function(){return bt};var tv=function(n){function e(){n.call(this),this._resultAreaEdgeList=null,this._label=null,this._SCANNING_FOR_INCOMING=1,this._LINKING_TO_OUTGOING=2}return n&&(e.__proto__=n),e.prototype=Object.create(n&&n.prototype),e.prototype.constructor=e,e.prototype.linkResultDirectedEdges=function(){var r=this;this.getResultAreaEdges();for(var i=null,s=null,o=this._SCANNING_FOR_INCOMING,a=0;a<this._resultAreaEdgeList.size();a++){var l=r._resultAreaEdgeList.get(a),u=l.getSym();if(l.getLabel().isArea())switch(i===null&&l.isInResult()&&(i=l),o){case r._SCANNING_FOR_INCOMING:if(!u.isInResult())continue;s=u,o=r._LINKING_TO_OUTGOING;break;case r._LINKING_TO_OUTGOING:if(!l.isInResult())continue;s.setNext(l),o=r._SCANNING_FOR_INCOMING;break}}if(o===this._LINKING_TO_OUTGOING){if(i===null)throw new ui("no outgoing dirEdge found",this.getCoordinate());fe.isTrue(i.isInResult(),"unable to link last incoming dirEdge"),s.setNext(i)}},e.prototype.insert=function(r){var i=r;this.insertEdgeEnd(i,i)},e.prototype.getRightmostEdge=function(){var r=this.getEdges(),i=r.size();if(i<1)return null;var s=r.get(0);if(i===1)return s;var o=r.get(i-1),a=s.getQuadrant(),l=o.getQuadrant();return xe.isNorthern(a)&&xe.isNorthern(l)?s:!xe.isNorthern(a)&&!xe.isNorthern(l)?o:s.getDy()!==0?s:o.getDy()!==0?o:(fe.shouldNeverReachHere("found two horizontal edges incident on node"),null)},e.prototype.print=function(r){mt.out.println("DirectedEdgeStar: "+this.getCoordinate());for(var i=this.iterator();i.hasNext();){var s=i.next();r.print("out "),s.print(r),r.println(),r.print("in "),s.getSym().print(r),r.println()}},e.prototype.getResultAreaEdges=function(){var r=this;if(this._resultAreaEdgeList!==null)return this._resultAreaEdgeList;this._resultAreaEdgeList=new W;for(var i=this.iterator();i.hasNext();){var s=i.next();(s.isInResult()||s.getSym().isInResult())&&r._resultAreaEdgeList.add(s)}return this._resultAreaEdgeList},e.prototype.updateLabelling=function(r){for(var i=this.iterator();i.hasNext();){var s=i.next(),o=s.getLabel();o.setAllLocationsIfNull(0,r.getLocation(0)),o.setAllLocationsIfNull(1,r.getLocation(1))}},e.prototype.linkAllDirectedEdges=function(){var r=this;this.getEdges();for(var i=null,s=null,o=this._edgeList.size()-1;o>=0;o--){var a=r._edgeList.get(o),l=a.getSym();s===null&&(s=l),i!==null&&l.setNext(i),i=a}s.setNext(i)},e.prototype.computeDepths=function(){var r=this;if(arguments.length===1){var i=arguments[0],s=this.findIndex(i),o=i.getDepth(U.LEFT),a=i.getDepth(U.RIGHT),l=this.computeDepths(s+1,this._edgeList.size(),o),u=this.computeDepths(0,s,l);if(u!==a)throw new ui("depth mismatch at "+i.getCoordinate())}else if(arguments.length===3){for(var h=arguments[0],f=arguments[1],p=arguments[2],v=p,w=h;w<f;w++){var I=r._edgeList.get(w);I.setEdgeDepths(U.RIGHT,v),v=I.getDepth(U.LEFT)}return v}},e.prototype.mergeSymLabels=function(){for(var r=this.iterator();r.hasNext();){var i=r.next(),s=i.getLabel();s.merge(i.getSym().getLabel())}},e.prototype.linkMinimalDirectedEdges=function(r){for(var i=this,s=null,o=null,a=this._SCANNING_FOR_INCOMING,l=this._resultAreaEdgeList.size()-1;l>=0;l--){var u=i._resultAreaEdgeList.get(l),h=u.getSym();switch(s===null&&u.getEdgeRing()===r&&(s=u),a){case i._SCANNING_FOR_INCOMING:if(h.getEdgeRing()!==r)continue;o=h,a=i._LINKING_TO_OUTGOING;break;case i._LINKING_TO_OUTGOING:if(u.getEdgeRing()!==r)continue;o.setNextMin(u),a=i._SCANNING_FOR_INCOMING;break}}a===this._LINKING_TO_OUTGOING&&(fe.isTrue(s!==null,"found null for first outgoing dirEdge"),fe.isTrue(s.getEdgeRing()===r,"unable to link last incoming dirEdge"),o.setNextMin(s))},e.prototype.getOutgoingDegree=function(){if(arguments.length===0){for(var r=0,i=this.iterator();i.hasNext();){var s=i.next();s.isInResult()&&r++}return r}else if(arguments.length===1){for(var o=arguments[0],a=0,l=this.iterator();l.hasNext();){var u=l.next();u.getEdgeRing()===o&&a++}return a}},e.prototype.getLabel=function(){return this._label},e.prototype.findCoveredLineEdges=function(){for(var r=R.NONE,i=this.iterator();i.hasNext();){var s=i.next(),o=s.getSym();if(!s.isLineEdge()){if(s.isInResult()){r=R.INTERIOR;break}if(o.isInResult()){r=R.EXTERIOR;break}}}if(r===R.NONE)return null;for(var a=r,l=this.iterator();l.hasNext();){var u=l.next(),h=u.getSym();u.isLineEdge()?u.getEdge().setCovered(a===R.INTERIOR):(u.isInResult()&&(a=R.EXTERIOR),h.isInResult()&&(a=R.INTERIOR))}},e.prototype.computeLabelling=function(r){var i=this;n.prototype.computeLabelling.call(this,r),this._label=new De(R.NONE);for(var s=this.iterator();s.hasNext();)for(var o=s.next(),a=o.getEdge(),l=a.getLabel(),u=0;u<2;u++){var h=l.getLocation(u);(h===R.INTERIOR||h===R.BOUNDARY)&&i._label.setLocation(u,R.INTERIOR)}},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(bt),Uf=function(n){function e(){n.apply(this,arguments)}return n&&(e.__proto__=n),e.prototype=Object.create(n&&n.prototype),e.prototype.constructor=e,e.prototype.createNode=function(r){return new Gu(r,new tv)},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(cl),Fi=function n(){this._pts=null,this._orientation=null;var e=arguments[0];this._pts=e,this._orientation=n.orientation(e)};Fi.prototype.compareTo=function(e){var t=e,r=Fi.compareOriented(this._pts,this._orientation,t._pts,t._orientation);return r},Fi.prototype.interfaces_=function(){return[Sr]},Fi.prototype.getClass=function(){return Fi},Fi.orientation=function(e){return pe.increasingDirection(e)===1},Fi.compareOriented=function(e,t,r,i){for(var s=t?1:-1,o=i?1:-1,a=t?e.length:-1,l=i?r.length:-1,u=t?0:e.length-1,h=i?0:r.length-1;;){var f=e[u].compareTo(r[h]);if(f!==0)return f;u+=s,h+=o;var p=u===a,v=h===l;if(p&&!v)return-1;if(!p&&v)return 1;if(p&&v)return 0}};var Br=function(){this._edges=new W,this._ocaMap=new It};Br.prototype.print=function(e){var t=this;e.print("MULTILINESTRING ( ");for(var r=0;r<this._edges.size();r++){var i=t._edges.get(r);r>0&&e.print(","),e.print("(");for(var s=i.getCoordinates(),o=0;o<s.length;o++)o>0&&e.print(","),e.print(s[o].x+" "+s[o].y);e.println(")")}e.print(") ")},Br.prototype.addAll=function(e){for(var t=this,r=e.iterator();r.hasNext();)t.add(r.next())},Br.prototype.findEdgeIndex=function(e){for(var t=this,r=0;r<this._edges.size();r++)if(t._edges.get(r).equals(e))return r;return-1},Br.prototype.iterator=function(){return this._edges.iterator()},Br.prototype.getEdges=function(){return this._edges},Br.prototype.get=function(e){return this._edges.get(e)},Br.prototype.findEqualEdge=function(e){var t=new Fi(e.getCoordinates()),r=this._ocaMap.get(t);return r},Br.prototype.add=function(e){this._edges.add(e);var t=new Fi(e.getCoordinates());this._ocaMap.put(t,e)},Br.prototype.interfaces_=function(){return[]},Br.prototype.getClass=function(){return Br};var ds=function(){};ds.prototype.processIntersections=function(e,t,r,i){},ds.prototype.isDone=function(){},ds.prototype.interfaces_=function(){return[]},ds.prototype.getClass=function(){return ds};var dr=function(){this._hasIntersection=!1,this._hasProper=!1,this._hasProperInterior=!1,this._hasInterior=!1,this._properIntersectionPoint=null,this._li=null,this._isSelfIntersection=null,this.numIntersections=0,this.numInteriorIntersections=0,this.numProperIntersections=0,this.numTests=0;var e=arguments[0];this._li=e};dr.prototype.isTrivialIntersection=function(e,t,r,i){if(e===r&&this._li.getIntersectionNum()===1){if(dr.isAdjacentSegments(t,i))return!0;if(e.isClosed()){var s=e.size()-1;if(t===0&&i===s||i===0&&t===s)return!0}}return!1},dr.prototype.getProperIntersectionPoint=function(){return this._properIntersectionPoint},dr.prototype.hasProperInteriorIntersection=function(){return this._hasProperInterior},dr.prototype.getLineIntersector=function(){return this._li},dr.prototype.hasProperIntersection=function(){return this._hasProper},dr.prototype.processIntersections=function(e,t,r,i){if(e===r&&t===i)return null;this.numTests++;var s=e.getCoordinates()[t],o=e.getCoordinates()[t+1],a=r.getCoordinates()[i],l=r.getCoordinates()[i+1];this._li.computeIntersection(s,o,a,l),this._li.hasIntersection()&&(this.numIntersections++,this._li.isInteriorIntersection()&&(this.numInteriorIntersections++,this._hasInterior=!0),this.isTrivialIntersection(e,t,r,i)||(this._hasIntersection=!0,e.addIntersections(this._li,t,0),r.addIntersections(this._li,i,1),this._li.isProper()&&(this.numProperIntersections++,this._hasProper=!0,this._hasProperInterior=!0)))},dr.prototype.hasIntersection=function(){return this._hasIntersection},dr.prototype.isDone=function(){return!1},dr.prototype.hasInteriorIntersection=function(){return this._hasInterior},dr.prototype.interfaces_=function(){return[ds]},dr.prototype.getClass=function(){return dr},dr.isAdjacentSegments=function(e,t){return Math.abs(e-t)===1};var yn=function(){this.coord=null,this.segmentIndex=null,this.dist=null;var e=arguments[0],t=arguments[1],r=arguments[2];this.coord=new M(e),this.segmentIndex=t,this.dist=r};yn.prototype.getSegmentIndex=function(){return this.segmentIndex},yn.prototype.getCoordinate=function(){return this.coord},yn.prototype.print=function(e){e.print(this.coord),e.print(" seg # = "+this.segmentIndex),e.println(" dist = "+this.dist)},yn.prototype.compareTo=function(e){var t=e;return this.compare(t.segmentIndex,t.dist)},yn.prototype.isEndPoint=function(e){return this.segmentIndex===0&&this.dist===0||this.segmentIndex===e},yn.prototype.toString=function(){return this.coord+" seg # = "+this.segmentIndex+" dist = "+this.dist},yn.prototype.getDistance=function(){return this.dist},yn.prototype.compare=function(e,t){return this.segmentIndex<e?-1:this.segmentIndex>e?1:this.dist<t?-1:this.dist>t?1:0},yn.prototype.interfaces_=function(){return[Sr]},yn.prototype.getClass=function(){return yn};var zn=function(){this._nodeMap=new It,this.edge=null;var e=arguments[0];this.edge=e};zn.prototype.print=function(e){e.println("Intersections:");for(var t=this.iterator();t.hasNext();){var r=t.next();r.print(e)}},zn.prototype.iterator=function(){return this._nodeMap.values().iterator()},zn.prototype.addSplitEdges=function(e){var t=this;this.addEndpoints();for(var r=this.iterator(),i=r.next();r.hasNext();){var s=r.next(),o=t.createSplitEdge(i,s);e.add(o),i=s}},zn.prototype.addEndpoints=function(){var e=this.edge.pts.length-1;this.add(this.edge.pts[0],0,0),this.add(this.edge.pts[e],e,0)},zn.prototype.createSplitEdge=function(e,t){var r=this,i=t.segmentIndex-e.segmentIndex+2,s=this.edge.pts[t.segmentIndex],o=t.dist>0||!t.coord.equals2D(s);o||i--;var a=new Array(i).fill(null),l=0;a[l++]=new M(e.coord);for(var u=e.segmentIndex+1;u<=t.segmentIndex;u++)a[l++]=r.edge.pts[u];return o&&(a[l]=t.coord),new qu(a,new De(this.edge._label))},zn.prototype.add=function(e,t,r){var i=new yn(e,t,r),s=this._nodeMap.get(i);return s!==null?s:(this._nodeMap.put(i,i),i)},zn.prototype.isIntersection=function(e){for(var t=this.iterator();t.hasNext();){var r=t.next();if(r.coord.equals(e))return!0}return!1},zn.prototype.interfaces_=function(){return[]},zn.prototype.getClass=function(){return zn};var ps=function(){};ps.prototype.getChainStartIndices=function(e){var t=this,r=0,i=new W;i.add(new an(r));do{var s=t.findChainEnd(e,r);i.add(new an(s)),r=s}while(r<e.length-1);var o=ps.toIntArray(i);return o},ps.prototype.findChainEnd=function(e,t){for(var r=xe.quadrant(e[t],e[t+1]),i=t+1;i<e.length;){var s=xe.quadrant(e[i-1],e[i]);if(s!==r)break;i++}return i-1},ps.prototype.interfaces_=function(){return[]},ps.prototype.getClass=function(){return ps},ps.toIntArray=function(e){for(var t=new Array(e.size()).fill(null),r=0;r<t.length;r++)t[r]=e.get(r).intValue();return t};var fi=function(){this.e=null,this.pts=null,this.startIndex=null,this.env1=new te,this.env2=new te;var e=arguments[0];this.e=e,this.pts=e.getCoordinates();var t=new ps;this.startIndex=t.getChainStartIndices(this.pts)};fi.prototype.getCoordinates=function(){return this.pts},fi.prototype.getMaxX=function(e){var t=this.pts[this.startIndex[e]].x,r=this.pts[this.startIndex[e+1]].x;return t>r?t:r},fi.prototype.getMinX=function(e){var t=this.pts[this.startIndex[e]].x,r=this.pts[this.startIndex[e+1]].x;return t<r?t:r},fi.prototype.computeIntersectsForChain=function(){if(arguments.length===4){var e=arguments[0],t=arguments[1],r=arguments[2],i=arguments[3];this.computeIntersectsForChain(this.startIndex[e],this.startIndex[e+1],t,t.startIndex[r],t.startIndex[r+1],i)}else if(arguments.length===6){var s=arguments[0],o=arguments[1],a=arguments[2],l=arguments[3],u=arguments[4],h=arguments[5],f=this.pts[s],p=this.pts[o],v=a.pts[l],w=a.pts[u];if(o-s===1&&u-l===1)return h.addIntersections(this.e,s,a.e,l),null;if(this.env1.init(f,p),this.env2.init(v,w),!this.env1.intersects(this.env2))return null;var I=Math.trunc((s+o)/2),T=Math.trunc((l+u)/2);s<I&&(l<T&&this.computeIntersectsForChain(s,I,a,l,T,h),T<u&&this.computeIntersectsForChain(s,I,a,T,u,h)),I<o&&(l<T&&this.computeIntersectsForChain(I,o,a,l,T,h),T<u&&this.computeIntersectsForChain(I,o,a,T,u,h))}},fi.prototype.getStartIndexes=function(){return this.startIndex},fi.prototype.computeIntersects=function(e,t){for(var r=this,i=0;i<this.startIndex.length-1;i++)for(var s=0;s<e.startIndex.length-1;s++)r.computeIntersectsForChain(i,e,s,t)},fi.prototype.interfaces_=function(){return[]},fi.prototype.getClass=function(){return fi};var vt=function n(){var e=this;this._depth=Array(2).fill().map(function(){return Array(3)});for(var t=0;t<2;t++)for(var r=0;r<3;r++)e._depth[t][r]=n.NULL_VALUE},Gf={NULL_VALUE:{configurable:!0}};vt.prototype.getDepth=function(e,t){return this._depth[e][t]},vt.prototype.setDepth=function(e,t,r){this._depth[e][t]=r},vt.prototype.isNull=function(){var e=this;if(arguments.length===0){for(var t=0;t<2;t++)for(var r=0;r<3;r++)if(e._depth[t][r]!==vt.NULL_VALUE)return!1;return!0}else if(arguments.length===1){var i=arguments[0];return this._depth[i][1]===vt.NULL_VALUE}else if(arguments.length===2){var s=arguments[0],o=arguments[1];return this._depth[s][o]===vt.NULL_VALUE}},vt.prototype.normalize=function(){for(var e=this,t=0;t<2;t++)if(!e.isNull(t)){var r=e._depth[t][1];e._depth[t][2]<r&&(r=e._depth[t][2]),r<0&&(r=0);for(var i=1;i<3;i++){var s=0;e._depth[t][i]>r&&(s=1),e._depth[t][i]=s}}},vt.prototype.getDelta=function(e){return this._depth[e][U.RIGHT]-this._depth[e][U.LEFT]},vt.prototype.getLocation=function(e,t){return this._depth[e][t]<=0?R.EXTERIOR:R.INTERIOR},vt.prototype.toString=function(){return"A: "+this._depth[0][1]+","+this._depth[0][2]+" B: "+this._depth[1][1]+","+this._depth[1][2]},vt.prototype.add=function(){var e=this;if(arguments.length===1)for(var t=arguments[0],r=0;r<2;r++)for(var i=1;i<3;i++){var s=t.getLocation(r,i);(s===R.EXTERIOR||s===R.INTERIOR)&&(e.isNull(r,i)?e._depth[r][i]=vt.depthAtLocation(s):e._depth[r][i]+=vt.depthAtLocation(s))}else if(arguments.length===3){var o=arguments[0],a=arguments[1],l=arguments[2];l===R.INTERIOR&&this._depth[o][a]++}},vt.prototype.interfaces_=function(){return[]},vt.prototype.getClass=function(){return vt},vt.depthAtLocation=function(e){return e===R.EXTERIOR?0:e===R.INTERIOR?1:vt.NULL_VALUE},Gf.NULL_VALUE.get=function(){return-1},Object.defineProperties(vt,Gf);var qu=function(n){function e(){if(n.call(this),this.pts=null,this._env=null,this.eiList=new zn(this),this._name=null,this._mce=null,this._isIsolated=!0,this._depth=new vt,this._depthDelta=0,arguments.length===1){var t=arguments[0];e.call(this,t,null)}else if(arguments.length===2){var r=arguments[0],i=arguments[1];this.pts=r,this._label=i}}return n&&(e.__proto__=n),e.prototype=Object.create(n&&n.prototype),e.prototype.constructor=e,e.prototype.getDepth=function(){return this._depth},e.prototype.getCollapsedEdge=function(){var r=new Array(2).fill(null);r[0]=this.pts[0],r[1]=this.pts[1];var i=new e(r,De.toLineLabel(this._label));return i},e.prototype.isIsolated=function(){return this._isIsolated},e.prototype.getCoordinates=function(){return this.pts},e.prototype.setIsolated=function(r){this._isIsolated=r},e.prototype.setName=function(r){this._name=r},e.prototype.equals=function(r){var i=this;if(!(r instanceof e))return!1;var s=r;if(this.pts.length!==s.pts.length)return!1;for(var o=!0,a=!0,l=this.pts.length,u=0;u<this.pts.length;u++)if(i.pts[u].equals2D(s.pts[u])||(o=!1),i.pts[u].equals2D(s.pts[--l])||(a=!1),!o&&!a)return!1;return!0},e.prototype.getCoordinate=function(){if(arguments.length===0)return this.pts.length>0?this.pts[0]:null;if(arguments.length===1){var r=arguments[0];return this.pts[r]}},e.prototype.print=function(r){var i=this;r.print("edge "+this._name+": "),r.print("LINESTRING (");for(var s=0;s<this.pts.length;s++)s>0&&r.print(","),r.print(i.pts[s].x+" "+i.pts[s].y);r.print(") "+this._label+" "+this._depthDelta)},e.prototype.computeIM=function(r){e.updateIM(this._label,r)},e.prototype.isCollapsed=function(){return!this._label.isArea()||this.pts.length!==3?!1:!!this.pts[0].equals(this.pts[2])},e.prototype.isClosed=function(){return this.pts[0].equals(this.pts[this.pts.length-1])},e.prototype.getMaximumSegmentIndex=function(){return this.pts.length-1},e.prototype.getDepthDelta=function(){return this._depthDelta},e.prototype.getNumPoints=function(){return this.pts.length},e.prototype.printReverse=function(r){var i=this;r.print("edge "+this._name+": ");for(var s=this.pts.length-1;s>=0;s--)r.print(i.pts[s]+" ");r.println("")},e.prototype.getMonotoneChainEdge=function(){return this._mce===null&&(this._mce=new fi(this)),this._mce},e.prototype.getEnvelope=function(){var r=this;if(this._env===null){this._env=new te;for(var i=0;i<this.pts.length;i++)r._env.expandToInclude(r.pts[i])}return this._env},e.prototype.addIntersection=function(r,i,s,o){var a=new M(r.getIntersection(o)),l=i,u=r.getEdgeDistance(s,o),h=l+1;if(h<this.pts.length){var f=this.pts[h];a.equals2D(f)&&(l=h,u=0)}this.eiList.add(a,l,u)},e.prototype.toString=function(){var r=this,i=new on;i.append("edge "+this._name+": "),i.append("LINESTRING (");for(var s=0;s<this.pts.length;s++)s>0&&i.append(","),i.append(r.pts[s].x+" "+r.pts[s].y);return i.append(") "+this._label+" "+this._depthDelta),i.toString()},e.prototype.isPointwiseEqual=function(r){var i=this;if(this.pts.length!==r.pts.length)return!1;for(var s=0;s<this.pts.length;s++)if(!i.pts[s].equals2D(r.pts[s]))return!1;return!0},e.prototype.setDepthDelta=function(r){this._depthDelta=r},e.prototype.getEdgeIntersectionList=function(){return this.eiList},e.prototype.addIntersections=function(r,i,s){for(var o=this,a=0;a<r.getIntersectionNum();a++)o.addIntersection(r,i,s,a)},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e.updateIM=function(){if(arguments.length===2){var r=arguments[0],i=arguments[1];i.setAtLeastIfValid(r.getLocation(0,U.ON),r.getLocation(1,U.ON),1),r.isArea()&&(i.setAtLeastIfValid(r.getLocation(0,U.LEFT),r.getLocation(1,U.LEFT),2),i.setAtLeastIfValid(r.getLocation(0,U.RIGHT),r.getLocation(1,U.RIGHT),2))}else return n.prototype.updateIM.apply(this,arguments)},e}(cr),At=function(e){this._workingPrecisionModel=null,this._workingNoder=null,this._geomFact=null,this._graph=null,this._edgeList=new Br,this._bufParams=e||null};At.prototype.setWorkingPrecisionModel=function(e){this._workingPrecisionModel=e},At.prototype.insertUniqueEdge=function(e){var t=this._edgeList.findEqualEdge(e);if(t!==null){var r=t.getLabel(),i=e.getLabel();t.isPointwiseEqual(e)||(i=new De(e.getLabel()),i.flip()),r.merge(i);var s=At.depthDelta(i),o=t.getDepthDelta(),a=o+s;t.setDepthDelta(a)}else this._edgeList.add(e),e.setDepthDelta(At.depthDelta(e.getLabel()))},At.prototype.buildSubgraphs=function(e,t){for(var r=new W,i=e.iterator();i.hasNext();){var s=i.next(),o=s.getRightmostCoordinate(),a=new js(r),l=a.getDepth(o);s.computeDepth(l),s.findResultEdges(),r.add(s),t.add(s.getDirectedEdges(),s.getNodes())}},At.prototype.createSubgraphs=function(e){for(var t=new W,r=e.getNodes().iterator();r.hasNext();){var i=r.next();if(!i.isVisited()){var s=new xt;s.create(i),t.add(s)}}return Qr.sort(t,Qr.reverseOrder()),t},At.prototype.createEmptyResultGeometry=function(){var e=this._geomFact.createPolygon();return e},At.prototype.getNoder=function(e){if(this._workingNoder!==null)return this._workingNoder;var t=new Yc,r=new as;return r.setPrecisionModel(e),t.setSegmentIntersector(new dr(r)),t},At.prototype.buffer=function(e,t){var r=this._workingPrecisionModel;r===null&&(r=e.getPrecisionModel()),this._geomFact=e.getFactory();var i=new qt(r,this._bufParams),s=new Nr(e,t,i),o=s.getCurves();if(o.size()<=0)return this.createEmptyResultGeometry();this.computeNodedEdges(o,r),this._graph=new He(new Uf),this._graph.addEdges(this._edgeList.getEdges());var a=this.createSubgraphs(this._graph),l=new er(this._geomFact);this.buildSubgraphs(a,l);var u=l.getPolygons();if(u.size()<=0)return this.createEmptyResultGeometry();var h=this._geomFact.buildGeometry(u);return h},At.prototype.computeNodedEdges=function(e,t){var r=this,i=this.getNoder(t);i.computeNodes(e);for(var s=i.getNodedSubstrings(),o=s.iterator();o.hasNext();){var a=o.next(),l=a.getCoordinates();if(!(l.length===2&&l[0].equals2D(l[1]))){var u=a.getData(),h=new qu(a.getCoordinates(),new De(u));r.insertUniqueEdge(h)}}},At.prototype.setNoder=function(e){this._workingNoder=e},At.prototype.interfaces_=function(){return[]},At.prototype.getClass=function(){return At},At.depthDelta=function(e){var t=e.getLocation(0,U.LEFT),r=e.getLocation(0,U.RIGHT);return t===R.INTERIOR&&r===R.EXTERIOR?1:t===R.EXTERIOR&&r===R.INTERIOR?-1:0},At.convertSegStrings=function(e){for(var t=new ge,r=new W;e.hasNext();){var i=e.next(),s=t.createLineString(i.getCoordinates());r.add(s)}return t.buildGeometry(r)};var ki=function(){if(this._noder=null,this._scaleFactor=null,this._offsetX=null,this._offsetY=null,this._isScaled=!1,arguments.length===2){var e=arguments[0],t=arguments[1];this._noder=e,this._scaleFactor=t,this._offsetX=0,this._offsetY=0,this._isScaled=!this.isIntegerPrecision()}else if(arguments.length===4){var r=arguments[0],i=arguments[1],s=arguments[2],o=arguments[3];this._noder=r,this._scaleFactor=i,this._offsetX=s,this._offsetY=o,this._isScaled=!this.isIntegerPrecision()}};ki.prototype.rescale=function(){var e=this;if(ae(arguments[0],nt))for(var t=arguments[0],r=t.iterator();r.hasNext();){var i=r.next();e.rescale(i.getCoordinates())}else if(arguments[0]instanceof Array){for(var s=arguments[0],o=0;o<s.length;o++)s[o].x=s[o].x/e._scaleFactor+e._offsetX,s[o].y=s[o].y/e._scaleFactor+e._offsetY;s.length===2&&s[0].equals2D(s[1])&&mt.out.println(s)}},ki.prototype.scale=function(){var e=this;if(ae(arguments[0],nt)){for(var t=arguments[0],r=new W,i=t.iterator();i.hasNext();){var s=i.next();r.add(new Be(e.scale(s.getCoordinates()),s.getData()))}return r}else if(arguments[0]instanceof Array){for(var o=arguments[0],a=new Array(o.length).fill(null),l=0;l<o.length;l++)a[l]=new M(Math.round((o[l].x-e._offsetX)*e._scaleFactor),Math.round((o[l].y-e._offsetY)*e._scaleFactor),o[l].z);var u=pe.removeRepeatedPoints(a);return u}},ki.prototype.isIntegerPrecision=function(){return this._scaleFactor===1},ki.prototype.getNodedSubstrings=function(){var e=this._noder.getNodedSubstrings();return this._isScaled&&this.rescale(e),e},ki.prototype.computeNodes=function(e){var t=e;this._isScaled&&(t=this.scale(e)),this._noder.computeNodes(t)},ki.prototype.interfaces_=function(){return[hs]},ki.prototype.getClass=function(){return ki};var _n=function(){this._li=new as,this._segStrings=null;var e=arguments[0];this._segStrings=e},Wf={fact:{configurable:!0}};_n.prototype.checkEndPtVertexIntersections=function(){var e=this;if(arguments.length===0)for(var t=this._segStrings.iterator();t.hasNext();){var r=t.next(),i=r.getCoordinates();e.checkEndPtVertexIntersections(i[0],e._segStrings),e.checkEndPtVertexIntersections(i[i.length-1],e._segStrings)}else if(arguments.length===2){for(var s=arguments[0],o=arguments[1],a=o.iterator();a.hasNext();)for(var l=a.next(),u=l.getCoordinates(),h=1;h<u.length-1;h++)if(u[h].equals(s))throw new ni("found endpt/interior pt intersection at index "+h+" :pt "+s)}},_n.prototype.checkInteriorIntersections=function(){var e=this;if(arguments.length===0)for(var t=this._segStrings.iterator();t.hasNext();)for(var r=t.next(),i=this._segStrings.iterator();i.hasNext();){var s=i.next();e.checkInteriorIntersections(r,s)}else if(arguments.length===2)for(var o=arguments[0],a=arguments[1],l=o.getCoordinates(),u=a.getCoordinates(),h=0;h<l.length-1;h++)for(var f=0;f<u.length-1;f++)e.checkInteriorIntersections(o,h,a,f);else if(arguments.length===4){var p=arguments[0],v=arguments[1],w=arguments[2],I=arguments[3];if(p===w&&v===I)return null;var T=p.getCoordinates()[v],L=p.getCoordinates()[v+1],m=w.getCoordinates()[I],_=w.getCoordinates()[I+1];if(this._li.computeIntersection(T,L,m,_),this._li.hasIntersection()&&(this._li.isProper()||this.hasInteriorIntersection(this._li,T,L)||this.hasInteriorIntersection(this._li,m,_)))throw new ni("found non-noded intersection at "+T+"-"+L+" and "+m+"-"+_)}},_n.prototype.checkValid=function(){this.checkEndPtVertexIntersections(),this.checkInteriorIntersections(),this.checkCollapses()},_n.prototype.checkCollapses=function(){var e=this;if(arguments.length===0)for(var t=this._segStrings.iterator();t.hasNext();){var r=t.next();e.checkCollapses(r)}else if(arguments.length===1)for(var i=arguments[0],s=i.getCoordinates(),o=0;o<s.length-2;o++)e.checkCollapse(s[o],s[o+1],s[o+2])},_n.prototype.hasInteriorIntersection=function(e,t,r){for(var i=0;i<e.getIntersectionNum();i++){var s=e.getIntersection(i);if(!(s.equals(t)||s.equals(r)))return!0}return!1},_n.prototype.checkCollapse=function(e,t,r){if(e.equals(r))throw new ni("found non-noded collapse at "+_n.fact.createLineString([e,t,r]))},_n.prototype.interfaces_=function(){return[]},_n.prototype.getClass=function(){return _n},Wf.fact.get=function(){return new ge},Object.defineProperties(_n,Wf);var Xt=function(){this._li=null,this._pt=null,this._originalPt=null,this._ptScaled=null,this._p0Scaled=null,this._p1Scaled=null,this._scaleFactor=null,this._minx=null,this._maxx=null,this._miny=null,this._maxy=null,this._corner=new Array(4).fill(null),this._safeEnv=null;var e=arguments[0],t=arguments[1],r=arguments[2];if(this._originalPt=e,this._pt=e,this._scaleFactor=t,this._li=r,t<=0)throw new Ue("Scale factor must be non-zero");t!==1&&(this._pt=new M(this.scale(e.x),this.scale(e.y)),this._p0Scaled=new M,this._p1Scaled=new M),this.initCorners(this._pt)},qf={SAFE_ENV_EXPANSION_FACTOR:{configurable:!0}};Xt.prototype.intersectsScaled=function(e,t){var r=Math.min(e.x,t.x),i=Math.max(e.x,t.x),s=Math.min(e.y,t.y),o=Math.max(e.y,t.y),a=this._maxx<r||this._minx>i||this._maxy<s||this._miny>o;if(a)return!1;var l=this.intersectsToleranceSquare(e,t);return fe.isTrue(!(a&&l),"Found bad envelope test"),l},Xt.prototype.initCorners=function(e){var t=.5;this._minx=e.x-t,this._maxx=e.x+t,this._miny=e.y-t,this._maxy=e.y+t,this._corner[0]=new M(this._maxx,this._maxy),this._corner[1]=new M(this._minx,this._maxy),this._corner[2]=new M(this._minx,this._miny),this._corner[3]=new M(this._maxx,this._miny)},Xt.prototype.intersects=function(e,t){return this._scaleFactor===1?this.intersectsScaled(e,t):(this.copyScaled(e,this._p0Scaled),this.copyScaled(t,this._p1Scaled),this.intersectsScaled(this._p0Scaled,this._p1Scaled))},Xt.prototype.scale=function(e){return Math.round(e*this._scaleFactor)},Xt.prototype.getCoordinate=function(){return this._originalPt},Xt.prototype.copyScaled=function(e,t){t.x=this.scale(e.x),t.y=this.scale(e.y)},Xt.prototype.getSafeEnvelope=function(){if(this._safeEnv===null){var e=Xt.SAFE_ENV_EXPANSION_FACTOR/this._scaleFactor;this._safeEnv=new te(this._originalPt.x-e,this._originalPt.x+e,this._originalPt.y-e,this._originalPt.y+e)}return this._safeEnv},Xt.prototype.intersectsPixelClosure=function(e,t){return this._li.computeIntersection(e,t,this._corner[0],this._corner[1]),!!(this._li.hasIntersection()||(this._li.computeIntersection(e,t,this._corner[1],this._corner[2]),this._li.hasIntersection())||(this._li.computeIntersection(e,t,this._corner[2],this._corner[3]),this._li.hasIntersection())||(this._li.computeIntersection(e,t,this._corner[3],this._corner[0]),this._li.hasIntersection()))},Xt.prototype.intersectsToleranceSquare=function(e,t){var r=!1,i=!1;return this._li.computeIntersection(e,t,this._corner[0],this._corner[1]),!!(this._li.isProper()||(this._li.computeIntersection(e,t,this._corner[1],this._corner[2]),this._li.isProper())||(this._li.hasIntersection()&&(r=!0),this._li.computeIntersection(e,t,this._corner[2],this._corner[3]),this._li.isProper())||(this._li.hasIntersection()&&(i=!0),this._li.computeIntersection(e,t,this._corner[3],this._corner[0]),this._li.isProper())||r&&i||e.equals(this._pt)||t.equals(this._pt))},Xt.prototype.addSnappedNode=function(e,t){var r=e.getCoordinate(t),i=e.getCoordinate(t+1);return this.intersects(r,i)?(e.addIntersection(this.getCoordinate(),t),!0):!1},Xt.prototype.interfaces_=function(){return[]},Xt.prototype.getClass=function(){return Xt},qf.SAFE_ENV_EXPANSION_FACTOR.get=function(){return .75},Object.defineProperties(Xt,qf);var tu=function(){this.tempEnv1=new te,this.selectedSegment=new re};tu.prototype.select=function(){if(arguments.length!==1){if(arguments.length===2){var e=arguments[0],t=arguments[1];e.getLineSegment(t,this.selectedSegment),this.select(this.selectedSegment)}}},tu.prototype.interfaces_=function(){return[]},tu.prototype.getClass=function(){return tu};var pl=function(){this._index=null;var e=arguments[0];this._index=e},Xf={HotPixelSnapAction:{configurable:!0}};pl.prototype.snap=function(){if(arguments.length===1){var e=arguments[0];return this.snap(e,null,-1)}else if(arguments.length===3){var t=arguments[0],r=arguments[1],i=arguments[2],s=t.getSafeEnvelope(),o=new Yf(t,r,i);return this._index.query(s,{interfaces_:function(){return[Ai]},visitItem:function(a){var l=a;l.select(s,o)}}),o.isNodeAdded()}},pl.prototype.interfaces_=function(){return[]},pl.prototype.getClass=function(){return pl},Xf.HotPixelSnapAction.get=function(){return Yf},Object.defineProperties(pl,Xf);var Yf=function(n){function e(){n.call(this),this._hotPixel=null,this._parentEdge=null,this._hotPixelVertexIndex=null,this._isNodeAdded=!1;var t=arguments[0],r=arguments[1],i=arguments[2];this._hotPixel=t,this._parentEdge=r,this._hotPixelVertexIndex=i}return n&&(e.__proto__=n),e.prototype=Object.create(n&&n.prototype),e.prototype.constructor=e,e.prototype.isNodeAdded=function(){return this._isNodeAdded},e.prototype.select=function(){if(arguments.length===2){var r=arguments[0],i=arguments[1],s=r.getContext();if(this._parentEdge!==null&&s===this._parentEdge&&i===this._hotPixelVertexIndex)return null;this._isNodeAdded=this._hotPixel.addSnappedNode(s,i)}else return n.prototype.select.apply(this,arguments)},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(tu),eo=function(){this._li=null,this._interiorIntersections=null;var e=arguments[0];this._li=e,this._interiorIntersections=new W};eo.prototype.processIntersections=function(e,t,r,i){var s=this;if(e===r&&t===i)return null;var o=e.getCoordinates()[t],a=e.getCoordinates()[t+1],l=r.getCoordinates()[i],u=r.getCoordinates()[i+1];if(this._li.computeIntersection(o,a,l,u),this._li.hasIntersection()&&this._li.isInteriorIntersection()){for(var h=0;h<this._li.getIntersectionNum();h++)s._interiorIntersections.add(s._li.getIntersection(h));e.addIntersections(this._li,t,0),r.addIntersections(this._li,i,1)}},eo.prototype.isDone=function(){return!1},eo.prototype.getInteriorIntersections=function(){return this._interiorIntersections},eo.prototype.interfaces_=function(){return[ds]},eo.prototype.getClass=function(){return eo};var Un=function(){this._pm=null,this._li=null,this._scaleFactor=null,this._noder=null,this._pointSnapper=null,this._nodedSegStrings=null;var e=arguments[0];this._pm=e,this._li=new as,this._li.setPrecisionModel(e),this._scaleFactor=e.getScale()};Un.prototype.checkCorrectness=function(e){var t=Be.getNodedSubstrings(e),r=new _n(t);try{r.checkValid()}catch(i){if(i instanceof Pf)i.printStackTrace();else throw i}finally{}},Un.prototype.getNodedSubstrings=function(){return Be.getNodedSubstrings(this._nodedSegStrings)},Un.prototype.snapRound=function(e,t){var r=this.findInteriorIntersections(e,t);this.computeIntersectionSnaps(r),this.computeVertexSnaps(e)},Un.prototype.findInteriorIntersections=function(e,t){var r=new eo(t);return this._noder.setSegmentIntersector(r),this._noder.computeNodes(e),r.getInteriorIntersections()},Un.prototype.computeVertexSnaps=function(){var e=this;if(ae(arguments[0],nt))for(var t=arguments[0],r=t.iterator();r.hasNext();){var i=r.next();e.computeVertexSnaps(i)}else if(arguments[0]instanceof Be)for(var s=arguments[0],o=s.getCoordinates(),a=0;a<o.length;a++){var l=new Xt(o[a],e._scaleFactor,e._li),u=e._pointSnapper.snap(l,s,a);u&&s.addIntersection(o[a],a)}},Un.prototype.computeNodes=function(e){this._nodedSegStrings=e,this._noder=new Yc,this._pointSnapper=new pl(this._noder.getIndex()),this.snapRound(e,this._li)},Un.prototype.computeIntersectionSnaps=function(e){for(var t=this,r=e.iterator();r.hasNext();){var i=r.next(),s=new Xt(i,t._scaleFactor,t._li);t._pointSnapper.snap(s)}},Un.prototype.interfaces_=function(){return[hs]},Un.prototype.getClass=function(){return Un};var yt=function(){if(this._argGeom=null,this._distance=null,this._bufParams=new be,this._resultGeometry=null,this._saveException=null,arguments.length===1){var e=arguments[0];this._argGeom=e}else if(arguments.length===2){var t=arguments[0],r=arguments[1];this._argGeom=t,this._bufParams=r}},gl={CAP_ROUND:{configurable:!0},CAP_BUTT:{configurable:!0},CAP_FLAT:{configurable:!0},CAP_SQUARE:{configurable:!0},MAX_PRECISION_DIGITS:{configurable:!0}};yt.prototype.bufferFixedPrecision=function(e){var t=new ki(new Un(new Te(1)),e.getScale()),r=new At(this._bufParams);r.setWorkingPrecisionModel(e),r.setNoder(t),this._resultGeometry=r.buffer(this._argGeom,this._distance)},yt.prototype.bufferReducedPrecision=function(){var e=this;if(arguments.length===0){for(var t=yt.MAX_PRECISION_DIGITS;t>=0;t--){try{e.bufferReducedPrecision(t)}catch(o){if(o instanceof ui)e._saveException=o;else throw o}finally{}if(e._resultGeometry!==null)return null}throw this._saveException}else if(arguments.length===1){var r=arguments[0],i=yt.precisionScaleFactor(this._argGeom,this._distance,r),s=new Te(i);this.bufferFixedPrecision(s)}},yt.prototype.computeGeometry=function(){if(this.bufferOriginalPrecision(),this._resultGeometry!==null)return null;var e=this._argGeom.getFactory().getPrecisionModel();e.getType()===Te.FIXED?this.bufferFixedPrecision(e):this.bufferReducedPrecision()},yt.prototype.setQuadrantSegments=function(e){this._bufParams.setQuadrantSegments(e)},yt.prototype.bufferOriginalPrecision=function(){try{var e=new At(this._bufParams);this._resultGeometry=e.buffer(this._argGeom,this._distance)}catch(t){if(t instanceof ni)this._saveException=t;else throw t}finally{}},yt.prototype.getResultGeometry=function(e){return this._distance=e,this.computeGeometry(),this._resultGeometry},yt.prototype.setEndCapStyle=function(e){this._bufParams.setEndCapStyle(e)},yt.prototype.interfaces_=function(){return[]},yt.prototype.getClass=function(){return yt},yt.bufferOp=function(){if(arguments.length===2){var e=arguments[0],t=arguments[1],r=new yt(e),i=r.getResultGeometry(t);return i}else if(arguments.length===3){if(Number.isInteger(arguments[2])&&arguments[0]instanceof oe&&typeof arguments[1]=="number"){var s=arguments[0],o=arguments[1],a=arguments[2],l=new yt(s);l.setQuadrantSegments(a);var u=l.getResultGeometry(o);return u}else if(arguments[2]instanceof be&&arguments[0]instanceof oe&&typeof arguments[1]=="number"){var h=arguments[0],f=arguments[1],p=arguments[2],v=new yt(h,p),w=v.getResultGeometry(f);return w}}else if(arguments.length===4){var I=arguments[0],T=arguments[1],L=arguments[2],m=arguments[3],_=new yt(I);_.setQuadrantSegments(L),_.setEndCapStyle(m);var g=_.getResultGeometry(T);return g}},yt.precisionScaleFactor=function(e,t,r){var i=e.getEnvelopeInternal(),s=ur.max(Math.abs(i.getMaxX()),Math.abs(i.getMaxY()),Math.abs(i.getMinX()),Math.abs(i.getMinY())),o=t>0?t:0,a=s+2*o,l=Math.trunc(Math.log(a)/Math.log(10)+1),u=r-l,h=Math.pow(10,u);return h},gl.CAP_ROUND.get=function(){return be.CAP_ROUND},gl.CAP_BUTT.get=function(){return be.CAP_FLAT},gl.CAP_FLAT.get=function(){return be.CAP_FLAT},gl.CAP_SQUARE.get=function(){return be.CAP_SQUARE},gl.MAX_PRECISION_DIGITS.get=function(){return 12},Object.defineProperties(yt,gl);var Rt=function(){this._pt=[new M,new M],this._distance=le.NaN,this._isNull=!0};Rt.prototype.getCoordinates=function(){return this._pt},Rt.prototype.getCoordinate=function(e){return this._pt[e]},Rt.prototype.setMinimum=function(){if(arguments.length===1){var e=arguments[0];this.setMinimum(e._pt[0],e._pt[1])}else if(arguments.length===2){var t=arguments[0],r=arguments[1];if(this._isNull)return this.initialize(t,r),null;var i=t.distance(r);i<this._distance&&this.initialize(t,r,i)}},Rt.prototype.initialize=function(){if(arguments.length===0)this._isNull=!0;else if(arguments.length===2){var e=arguments[0],t=arguments[1];this._pt[0].setCoordinate(e),this._pt[1].setCoordinate(t),this._distance=e.distance(t),this._isNull=!1}else if(arguments.length===3){var r=arguments[0],i=arguments[1],s=arguments[2];this._pt[0].setCoordinate(r),this._pt[1].setCoordinate(i),this._distance=s,this._isNull=!1}},Rt.prototype.getDistance=function(){return this._distance},Rt.prototype.setMaximum=function(){if(arguments.length===1){var e=arguments[0];this.setMaximum(e._pt[0],e._pt[1])}else if(arguments.length===2){var t=arguments[0],r=arguments[1];if(this._isNull)return this.initialize(t,r),null;var i=t.distance(r);i>this._distance&&this.initialize(t,r,i)}},Rt.prototype.interfaces_=function(){return[]},Rt.prototype.getClass=function(){return Rt};var Gn=function(){};Gn.prototype.interfaces_=function(){return[]},Gn.prototype.getClass=function(){return Gn},Gn.computeDistance=function(){if(arguments[2]instanceof Rt&&arguments[0]instanceof Je&&arguments[1]instanceof M)for(var e=arguments[0],t=arguments[1],r=arguments[2],i=e.getCoordinates(),s=new re,o=0;o<i.length-1;o++){s.setCoordinates(i[o],i[o+1]);var a=s.closestPoint(t);r.setMinimum(a,t)}else if(arguments[2]instanceof Rt&&arguments[0]instanceof it&&arguments[1]instanceof M){var l=arguments[0],u=arguments[1],h=arguments[2];Gn.computeDistance(l.getExteriorRing(),u,h);for(var f=0;f<l.getNumInteriorRing();f++)Gn.computeDistance(l.getInteriorRingN(f),u,h)}else if(arguments[2]instanceof Rt&&arguments[0]instanceof oe&&arguments[1]instanceof M){var p=arguments[0],v=arguments[1],w=arguments[2];if(p instanceof Je)Gn.computeDistance(p,v,w);else if(p instanceof it)Gn.computeDistance(p,v,w);else if(p instanceof Mt)for(var I=p,T=0;T<I.getNumGeometries();T++){var L=I.getGeometryN(T);Gn.computeDistance(L,v,w)}else w.setMinimum(p.getCoordinate(),v)}else if(arguments[2]instanceof Rt&&arguments[0]instanceof re&&arguments[1]instanceof M){var m=arguments[0],_=arguments[1],g=arguments[2],y=m.closestPoint(_);g.setMinimum(y,_)}};var gs=function(e){this._maxPtDist=new Rt,this._inputGeom=e||null},Hc={MaxPointDistanceFilter:{configurable:!0},MaxMidpointDistanceFilter:{configurable:!0}};gs.prototype.computeMaxMidpointDistance=function(e){var t=new Vi(this._inputGeom);e.apply(t),this._maxPtDist.setMaximum(t.getMaxPointDistance())},gs.prototype.computeMaxVertexDistance=function(e){var t=new to(this._inputGeom);e.apply(t),this._maxPtDist.setMaximum(t.getMaxPointDistance())},gs.prototype.findDistance=function(e){return this.computeMaxVertexDistance(e),this.computeMaxMidpointDistance(e),this._maxPtDist.getDistance()},gs.prototype.getDistancePoints=function(){return this._maxPtDist},gs.prototype.interfaces_=function(){return[]},gs.prototype.getClass=function(){return gs},Hc.MaxPointDistanceFilter.get=function(){return to},Hc.MaxMidpointDistanceFilter.get=function(){return Vi},Object.defineProperties(gs,Hc);var to=function(e){this._maxPtDist=new Rt,this._minPtDist=new Rt,this._geom=e||null};to.prototype.filter=function(e){this._minPtDist.initialize(),Gn.computeDistance(this._geom,e,this._minPtDist),this._maxPtDist.setMaximum(this._minPtDist)},to.prototype.getMaxPointDistance=function(){return this._maxPtDist},to.prototype.interfaces_=function(){return[Ln]},to.prototype.getClass=function(){return to};var Vi=function(e){this._maxPtDist=new Rt,this._minPtDist=new Rt,this._geom=e||null};Vi.prototype.filter=function(e,t){if(t===0)return null;var r=e.getCoordinate(t-1),i=e.getCoordinate(t),s=new M((r.x+i.x)/2,(r.y+i.y)/2);this._minPtDist.initialize(),Gn.computeDistance(this._geom,s,this._minPtDist),this._maxPtDist.setMaximum(this._minPtDist)},Vi.prototype.isDone=function(){return!1},Vi.prototype.isGeometryChanged=function(){return!1},Vi.prototype.getMaxPointDistance=function(){return this._maxPtDist},Vi.prototype.interfaces_=function(){return[Zr]},Vi.prototype.getClass=function(){return Vi};var di=function(e){this._comps=e||null};di.prototype.filter=function(e){e instanceof it&&this._comps.add(e)},di.prototype.interfaces_=function(){return[hn]},di.prototype.getClass=function(){return di},di.getPolygons=function(){if(arguments.length===1){var e=arguments[0];return di.getPolygons(e,new W)}else if(arguments.length===2){var t=arguments[0],r=arguments[1];return t instanceof it?r.add(t):t instanceof Mt&&t.apply(new di(r)),r}};var _t=function(){if(this._lines=null,this._isForcedToLineString=!1,arguments.length===1){var e=arguments[0];this._lines=e}else if(arguments.length===2){var t=arguments[0],r=arguments[1];this._lines=t,this._isForcedToLineString=r}};_t.prototype.filter=function(e){if(this._isForcedToLineString&&e instanceof An){var t=e.getFactory().createLineString(e.getCoordinateSequence());return this._lines.add(t),null}e instanceof Je&&this._lines.add(e)},_t.prototype.setForceToLineString=function(e){this._isForcedToLineString=e},_t.prototype.interfaces_=function(){return[ii]},_t.prototype.getClass=function(){return _t},_t.getGeometry=function(){if(arguments.length===1){var e=arguments[0];return e.getFactory().buildGeometry(_t.getLines(e))}else if(arguments.length===2){var t=arguments[0],r=arguments[1];return t.getFactory().buildGeometry(_t.getLines(t,r))}},_t.getLines=function(){if(arguments.length===1){var e=arguments[0];return _t.getLines(e,!1)}else if(arguments.length===2){if(ae(arguments[0],nt)&&ae(arguments[1],nt)){for(var t=arguments[0],r=arguments[1],i=t.iterator();i.hasNext();){var s=i.next();_t.getLines(s,r)}return r}else if(arguments[0]instanceof oe&&typeof arguments[1]=="boolean"){var o=arguments[0],a=arguments[1],l=new W;return o.apply(new _t(l,a)),l}else if(arguments[0]instanceof oe&&ae(arguments[1],nt)){var u=arguments[0],h=arguments[1];return u instanceof Je?h.add(u):u.apply(new _t(h)),h}}else if(arguments.length===3){if(typeof arguments[2]=="boolean"&&ae(arguments[0],nt)&&ae(arguments[1],nt)){for(var f=arguments[0],p=arguments[1],v=arguments[2],w=f.iterator();w.hasNext();){var I=w.next();_t.getLines(I,p,v)}return p}else if(typeof arguments[2]=="boolean"&&arguments[0]instanceof oe&&ae(arguments[1],nt)){var T=arguments[0],L=arguments[1],m=arguments[2];return T.apply(new _t(L,m)),L}}};var $r=function(){if(this._boundaryRule=Pr.OGC_SFS_BOUNDARY_RULE,this._isIn=null,this._numBoundaries=null,arguments.length!==0){if(arguments.length===1){var e=arguments[0];if(e===null)throw new Ue("Rule must be non-null");this._boundaryRule=e}}};$r.prototype.locateInternal=function(){var e=this;if(arguments[0]instanceof M&&arguments[1]instanceof it){var t=arguments[0],r=arguments[1];if(r.isEmpty())return R.EXTERIOR;var i=r.getExteriorRing(),s=this.locateInPolygonRing(t,i);if(s===R.EXTERIOR)return R.EXTERIOR;if(s===R.BOUNDARY)return R.BOUNDARY;for(var o=0;o<r.getNumInteriorRing();o++){var a=r.getInteriorRingN(o),l=e.locateInPolygonRing(t,a);if(l===R.INTERIOR)return R.EXTERIOR;if(l===R.BOUNDARY)return R.BOUNDARY}return R.INTERIOR}else if(arguments[0]instanceof M&&arguments[1]instanceof Je){var u=arguments[0],h=arguments[1];if(!h.getEnvelopeInternal().intersects(u))return R.EXTERIOR;var f=h.getCoordinates();return!h.isClosed()&&(u.equals(f[0])||u.equals(f[f.length-1]))?R.BOUNDARY:H.isOnLine(u,f)?R.INTERIOR:R.EXTERIOR}else if(arguments[0]instanceof M&&arguments[1]instanceof jt){var p=arguments[0],v=arguments[1],w=v.getCoordinate();return w.equals2D(p)?R.INTERIOR:R.EXTERIOR}},$r.prototype.locateInPolygonRing=function(e,t){return t.getEnvelopeInternal().intersects(e)?H.locatePointInRing(e,t.getCoordinates()):R.EXTERIOR},$r.prototype.intersects=function(e,t){return this.locate(e,t)!==R.EXTERIOR},$r.prototype.updateLocationInfo=function(e){e===R.INTERIOR&&(this._isIn=!0),e===R.BOUNDARY&&this._numBoundaries++},$r.prototype.computeLocation=function(e,t){var r=this;if(t instanceof jt&&this.updateLocationInfo(this.locateInternal(e,t)),t instanceof Je)this.updateLocationInfo(this.locateInternal(e,t));else if(t instanceof it)this.updateLocationInfo(this.locateInternal(e,t));else if(t instanceof cs)for(var i=t,s=0;s<i.getNumGeometries();s++){var o=i.getGeometryN(s);r.updateLocationInfo(r.locateInternal(e,o))}else if(t instanceof Rn)for(var a=t,l=0;l<a.getNumGeometries();l++){var u=a.getGeometryN(l);r.updateLocationInfo(r.locateInternal(e,u))}else if(t instanceof Mt)for(var h=new Vn(t);h.hasNext();){var f=h.next();f!==t&&r.computeLocation(e,f)}},$r.prototype.locate=function(e,t){return t.isEmpty()?R.EXTERIOR:t instanceof Je?this.locateInternal(e,t):t instanceof it?this.locateInternal(e,t):(this._isIn=!1,this._numBoundaries=0,this.computeLocation(e,t),this._boundaryRule.isInBoundary(this._numBoundaries)?R.BOUNDARY:this._numBoundaries>0||this._isIn?R.INTERIOR:R.EXTERIOR)},$r.prototype.interfaces_=function(){return[]},$r.prototype.getClass=function(){return $r};var Ft=function n(){if(this._component=null,this._segIndex=null,this._pt=null,arguments.length===2){var e=arguments[0],t=arguments[1];n.call(this,e,n.INSIDE_AREA,t)}else if(arguments.length===3){var r=arguments[0],i=arguments[1],s=arguments[2];this._component=r,this._segIndex=i,this._pt=s}},Hf={INSIDE_AREA:{configurable:!0}};Ft.prototype.isInsideArea=function(){return this._segIndex===Ft.INSIDE_AREA},Ft.prototype.getCoordinate=function(){return this._pt},Ft.prototype.getGeometryComponent=function(){return this._component},Ft.prototype.getSegmentIndex=function(){return this._segIndex},Ft.prototype.interfaces_=function(){return[]},Ft.prototype.getClass=function(){return Ft},Hf.INSIDE_AREA.get=function(){return-1},Object.defineProperties(Ft,Hf);var zi=function(e){this._pts=e||null};zi.prototype.filter=function(e){e instanceof jt&&this._pts.add(e)},zi.prototype.interfaces_=function(){return[hn]},zi.prototype.getClass=function(){return zi},zi.getPoints=function(){if(arguments.length===1){var e=arguments[0];return e instanceof jt?Qr.singletonList(e):zi.getPoints(e,new W)}else if(arguments.length===2){var t=arguments[0],r=arguments[1];return t instanceof jt?r.add(t):t instanceof Mt&&t.apply(new zi(r)),r}};var ro=function(){this._locations=null;var e=arguments[0];this._locations=e};ro.prototype.filter=function(e){(e instanceof jt||e instanceof Je||e instanceof it)&&this._locations.add(new Ft(e,0,e.getCoordinate()))},ro.prototype.interfaces_=function(){return[hn]},ro.prototype.getClass=function(){return ro},ro.getLocations=function(e){var t=new W;return e.apply(new ro(t)),t};var wt=function(){if(this._geom=null,this._terminateDistance=0,this._ptLocator=new $r,this._minDistanceLocation=null,this._minDistance=le.MAX_VALUE,arguments.length===2){var e=arguments[0],t=arguments[1];this._geom=[e,t],this._terminateDistance=0}else if(arguments.length===3){var r=arguments[0],i=arguments[1],s=arguments[2];this._geom=new Array(2).fill(null),this._geom[0]=r,this._geom[1]=i,this._terminateDistance=s}};wt.prototype.computeContainmentDistance=function(){var e=this;if(arguments.length===0){var t=new Array(2).fill(null);if(this.computeContainmentDistance(0,t),this._minDistance<=this._terminateDistance)return null;this.computeContainmentDistance(1,t)}else if(arguments.length===2){var r=arguments[0],i=arguments[1],s=1-r,o=di.getPolygons(this._geom[r]);if(o.size()>0){var a=ro.getLocations(this._geom[s]);if(this.computeContainmentDistance(a,o,i),this._minDistance<=this._terminateDistance)return this._minDistanceLocation[s]=i[0],this._minDistanceLocation[r]=i[1],null}}else if(arguments.length===3){if(arguments[2]instanceof Array&&ae(arguments[0],Hr)&&ae(arguments[1],Hr)){for(var l=arguments[0],u=arguments[1],h=arguments[2],f=0;f<l.size();f++)for(var p=l.get(f),v=0;v<u.size();v++)if(e.computeContainmentDistance(p,u.get(v),h),e._minDistance<=e._terminateDistance)return null}else if(arguments[2]instanceof Array&&arguments[0]instanceof Ft&&arguments[1]instanceof it){var w=arguments[0],I=arguments[1],T=arguments[2],L=w.getCoordinate();if(R.EXTERIOR!==this._ptLocator.locate(L,I))return this._minDistance=0,T[0]=w,T[1]=new Ft(I,L),null}}},wt.prototype.computeMinDistanceLinesPoints=function(e,t,r){for(var i=this,s=0;s<e.size();s++)for(var o=e.get(s),a=0;a<t.size();a++){var l=t.get(a);if(i.computeMinDistance(o,l,r),i._minDistance<=i._terminateDistance)return null}},wt.prototype.computeFacetDistance=function(){var e=new Array(2).fill(null),t=_t.getLines(this._geom[0]),r=_t.getLines(this._geom[1]),i=zi.getPoints(this._geom[0]),s=zi.getPoints(this._geom[1]);if(this.computeMinDistanceLines(t,r,e),this.updateMinDistance(e,!1),this._minDistance<=this._terminateDistance||(e[0]=null,e[1]=null,this.computeMinDistanceLinesPoints(t,s,e),this.updateMinDistance(e,!1),this._minDistance<=this._terminateDistance)||(e[0]=null,e[1]=null,this.computeMinDistanceLinesPoints(r,i,e),this.updateMinDistance(e,!0),this._minDistance<=this._terminateDistance))return null;e[0]=null,e[1]=null,this.computeMinDistancePoints(i,s,e),this.updateMinDistance(e,!1)},wt.prototype.nearestLocations=function(){return this.computeMinDistance(),this._minDistanceLocation},wt.prototype.updateMinDistance=function(e,t){if(e[0]===null)return null;t?(this._minDistanceLocation[0]=e[1],this._minDistanceLocation[1]=e[0]):(this._minDistanceLocation[0]=e[0],this._minDistanceLocation[1]=e[1])},wt.prototype.nearestPoints=function(){this.computeMinDistance();var e=[this._minDistanceLocation[0].getCoordinate(),this._minDistanceLocation[1].getCoordinate()];return e},wt.prototype.computeMinDistance=function(){var e=this;if(arguments.length===0){if(this._minDistanceLocation!==null||(this._minDistanceLocation=new Array(2).fill(null),this.computeContainmentDistance(),this._minDistance<=this._terminateDistance))return null;this.computeFacetDistance()}else if(arguments.length===3){if(arguments[2]instanceof Array&&arguments[0]instanceof Je&&arguments[1]instanceof jt){var t=arguments[0],r=arguments[1],i=arguments[2];if(t.getEnvelopeInternal().distance(r.getEnvelopeInternal())>this._minDistance)return null;for(var s=t.getCoordinates(),o=r.getCoordinate(),a=0;a<s.length-1;a++){var l=H.distancePointLine(o,s[a],s[a+1]);if(l<e._minDistance){e._minDistance=l;var u=new re(s[a],s[a+1]),h=u.closestPoint(o);i[0]=new Ft(t,a,h),i[1]=new Ft(r,0,o)}if(e._minDistance<=e._terminateDistance)return null}}else if(arguments[2]instanceof Array&&arguments[0]instanceof Je&&arguments[1]instanceof Je){var f=arguments[0],p=arguments[1],v=arguments[2];if(f.getEnvelopeInternal().distance(p.getEnvelopeInternal())>this._minDistance)return null;for(var w=f.getCoordinates(),I=p.getCoordinates(),T=0;T<w.length-1;T++)for(var L=0;L<I.length-1;L++){var m=H.distanceLineLine(w[T],w[T+1],I[L],I[L+1]);if(m<e._minDistance){e._minDistance=m;var _=new re(w[T],w[T+1]),g=new re(I[L],I[L+1]),y=_.closestPoints(g);v[0]=new Ft(f,T,y[0]),v[1]=new Ft(p,L,y[1])}if(e._minDistance<=e._terminateDistance)return null}}}},wt.prototype.computeMinDistancePoints=function(e,t,r){for(var i=this,s=0;s<e.size();s++)for(var o=e.get(s),a=0;a<t.size();a++){var l=t.get(a),u=o.getCoordinate().distance(l.getCoordinate());if(u<i._minDistance&&(i._minDistance=u,r[0]=new Ft(o,0,o.getCoordinate()),r[1]=new Ft(l,0,l.getCoordinate())),i._minDistance<=i._terminateDistance)return null}},wt.prototype.distance=function(){if(this._geom[0]===null||this._geom[1]===null)throw new Ue("null geometries are not supported");return this._geom[0].isEmpty()||this._geom[1].isEmpty()?0:(this.computeMinDistance(),this._minDistance)},wt.prototype.computeMinDistanceLines=function(e,t,r){for(var i=this,s=0;s<e.size();s++)for(var o=e.get(s),a=0;a<t.size();a++){var l=t.get(a);if(i.computeMinDistance(o,l,r),i._minDistance<=i._terminateDistance)return null}},wt.prototype.interfaces_=function(){return[]},wt.prototype.getClass=function(){return wt},wt.distance=function(e,t){var r=new wt(e,t);return r.distance()},wt.isWithinDistance=function(e,t,r){var i=new wt(e,t,r);return i.distance()<=r},wt.nearestPoints=function(e,t){var r=new wt(e,t);return r.nearestPoints()};var Nt=function(){this._pt=[new M,new M],this._distance=le.NaN,this._isNull=!0};Nt.prototype.getCoordinates=function(){return this._pt},Nt.prototype.getCoordinate=function(e){return this._pt[e]},Nt.prototype.setMinimum=function(){if(arguments.length===1){var e=arguments[0];this.setMinimum(e._pt[0],e._pt[1])}else if(arguments.length===2){var t=arguments[0],r=arguments[1];if(this._isNull)return this.initialize(t,r),null;var i=t.distance(r);i<this._distance&&this.initialize(t,r,i)}},Nt.prototype.initialize=function(){if(arguments.length===0)this._isNull=!0;else if(arguments.length===2){var e=arguments[0],t=arguments[1];this._pt[0].setCoordinate(e),this._pt[1].setCoordinate(t),this._distance=e.distance(t),this._isNull=!1}else if(arguments.length===3){var r=arguments[0],i=arguments[1],s=arguments[2];this._pt[0].setCoordinate(r),this._pt[1].setCoordinate(i),this._distance=s,this._isNull=!1}},Nt.prototype.toString=function(){return Yr.toLineString(this._pt[0],this._pt[1])},Nt.prototype.getDistance=function(){return this._distance},Nt.prototype.setMaximum=function(){if(arguments.length===1){var e=arguments[0];this.setMaximum(e._pt[0],e._pt[1])}else if(arguments.length===2){var t=arguments[0],r=arguments[1];if(this._isNull)return this.initialize(t,r),null;var i=t.distance(r);i>this._distance&&this.initialize(t,r,i)}},Nt.prototype.interfaces_=function(){return[]},Nt.prototype.getClass=function(){return Nt};var wn=function(){};wn.prototype.interfaces_=function(){return[]},wn.prototype.getClass=function(){return wn},wn.computeDistance=function(){if(arguments[2]instanceof Nt&&arguments[0]instanceof Je&&arguments[1]instanceof M)for(var e=arguments[0],t=arguments[1],r=arguments[2],i=new re,s=e.getCoordinates(),o=0;o<s.length-1;o++){i.setCoordinates(s[o],s[o+1]);var a=i.closestPoint(t);r.setMinimum(a,t)}else if(arguments[2]instanceof Nt&&arguments[0]instanceof it&&arguments[1]instanceof M){var l=arguments[0],u=arguments[1],h=arguments[2];wn.computeDistance(l.getExteriorRing(),u,h);for(var f=0;f<l.getNumInteriorRing();f++)wn.computeDistance(l.getInteriorRingN(f),u,h)}else if(arguments[2]instanceof Nt&&arguments[0]instanceof oe&&arguments[1]instanceof M){var p=arguments[0],v=arguments[1],w=arguments[2];if(p instanceof Je)wn.computeDistance(p,v,w);else if(p instanceof it)wn.computeDistance(p,v,w);else if(p instanceof Mt)for(var I=p,T=0;T<I.getNumGeometries();T++){var L=I.getGeometryN(T);wn.computeDistance(L,v,w)}else w.setMinimum(p.getCoordinate(),v)}else if(arguments[2]instanceof Nt&&arguments[0]instanceof re&&arguments[1]instanceof M){var m=arguments[0],_=arguments[1],g=arguments[2],y=m.closestPoint(_);g.setMinimum(y,_)}};var Dr=function(){this._g0=null,this._g1=null,this._ptDist=new Nt,this._densifyFrac=0;var e=arguments[0],t=arguments[1];this._g0=e,this._g1=t},Jc={MaxPointDistanceFilter:{configurable:!0},MaxDensifiedByFractionDistanceFilter:{configurable:!0}};Dr.prototype.getCoordinates=function(){return this._ptDist.getCoordinates()},Dr.prototype.setDensifyFraction=function(e){if(e>1||e<=0)throw new Ue("Fraction is not in range (0.0 - 1.0]");this._densifyFrac=e},Dr.prototype.compute=function(e,t){this.computeOrientedDistance(e,t,this._ptDist),this.computeOrientedDistance(t,e,this._ptDist)},Dr.prototype.distance=function(){return this.compute(this._g0,this._g1),this._ptDist.getDistance()},Dr.prototype.computeOrientedDistance=function(e,t,r){var i=new no(t);if(e.apply(i),r.setMaximum(i.getMaxPointDistance()),this._densifyFrac>0){var s=new Ui(t,this._densifyFrac);e.apply(s),r.setMaximum(s.getMaxPointDistance())}},Dr.prototype.orientedDistance=function(){return this.computeOrientedDistance(this._g0,this._g1,this._ptDist),this._ptDist.getDistance()},Dr.prototype.interfaces_=function(){return[]},Dr.prototype.getClass=function(){return Dr},Dr.distance=function(){if(arguments.length===2){var e=arguments[0],t=arguments[1],r=new Dr(e,t);return r.distance()}else if(arguments.length===3){var i=arguments[0],s=arguments[1],o=arguments[2],a=new Dr(i,s);return a.setDensifyFraction(o),a.distance()}},Jc.MaxPointDistanceFilter.get=function(){return no},Jc.MaxDensifiedByFractionDistanceFilter.get=function(){return Ui},Object.defineProperties(Dr,Jc);var no=function(){this._maxPtDist=new Nt,this._minPtDist=new Nt,this._euclideanDist=new wn,this._geom=null;var e=arguments[0];this._geom=e};no.prototype.filter=function(e){this._minPtDist.initialize(),wn.computeDistance(this._geom,e,this._minPtDist),this._maxPtDist.setMaximum(this._minPtDist)},no.prototype.getMaxPointDistance=function(){return this._maxPtDist},no.prototype.interfaces_=function(){return[Ln]},no.prototype.getClass=function(){return no};var Ui=function(){this._maxPtDist=new Nt,this._minPtDist=new Nt,this._geom=null,this._numSubSegs=0;var e=arguments[0],t=arguments[1];this._geom=e,this._numSubSegs=Math.trunc(Math.round(1/t))};Ui.prototype.filter=function(e,t){var r=this;if(t===0)return null;for(var i=e.getCoordinate(t-1),s=e.getCoordinate(t),o=(s.x-i.x)/this._numSubSegs,a=(s.y-i.y)/this._numSubSegs,l=0;l<this._numSubSegs;l++){var u=i.x+l*o,h=i.y+l*a,f=new M(u,h);r._minPtDist.initialize(),wn.computeDistance(r._geom,f,r._minPtDist),r._maxPtDist.setMaximum(r._minPtDist)}},Ui.prototype.isDone=function(){return!1},Ui.prototype.isGeometryChanged=function(){return!1},Ui.prototype.getMaxPointDistance=function(){return this._maxPtDist},Ui.prototype.interfaces_=function(){return[Zr]},Ui.prototype.getClass=function(){return Ui};var rr=function(e,t,r){this._minValidDistance=null,this._maxValidDistance=null,this._minDistanceFound=null,this._maxDistanceFound=null,this._isValid=!0,this._errMsg=null,this._errorLocation=null,this._errorIndicator=null,this._input=e||null,this._bufDistance=t||null,this._result=r||null},Zc={VERBOSE:{configurable:!0},MAX_DISTANCE_DIFF_FRAC:{configurable:!0}};rr.prototype.checkMaximumDistance=function(e,t,r){var i=new Dr(t,e);if(i.setDensifyFraction(.25),this._maxDistanceFound=i.orientedDistance(),this._maxDistanceFound>r){this._isValid=!1;var s=i.getCoordinates();this._errorLocation=s[1],this._errorIndicator=e.getFactory().createLineString(s),this._errMsg="Distance between buffer curve and input is too large ("+this._maxDistanceFound+" at "+Yr.toLineString(s[0],s[1])+")"}},rr.prototype.isValid=function(){var e=Math.abs(this._bufDistance),t=rr.MAX_DISTANCE_DIFF_FRAC*e;return this._minValidDistance=e-t,this._maxValidDistance=e+t,this._input.isEmpty()||this._result.isEmpty()?!0:(this._bufDistance>0?this.checkPositiveValid():this.checkNegativeValid(),rr.VERBOSE&&mt.out.println("Min Dist= "+this._minDistanceFound+" err= "+(1-this._minDistanceFound/this._bufDistance)+" Max Dist= "+this._maxDistanceFound+" err= "+(this._maxDistanceFound/this._bufDistance-1)),this._isValid)},rr.prototype.checkNegativeValid=function(){if(!(this._input instanceof it||this._input instanceof Rn||this._input instanceof Mt))return null;var e=this.getPolygonLines(this._input);if(this.checkMinimumDistance(e,this._result,this._minValidDistance),!this._isValid)return null;this.checkMaximumDistance(e,this._result,this._maxValidDistance)},rr.prototype.getErrorIndicator=function(){return this._errorIndicator},rr.prototype.checkMinimumDistance=function(e,t,r){var i=new wt(e,t,r);if(this._minDistanceFound=i.distance(),this._minDistanceFound<r){this._isValid=!1;var s=i.nearestPoints();this._errorLocation=i.nearestPoints()[1],this._errorIndicator=e.getFactory().createLineString(s),this._errMsg="Distance between buffer curve and input is too small ("+this._minDistanceFound+" at "+Yr.toLineString(s[0],s[1])+" )"}},rr.prototype.checkPositiveValid=function(){var e=this._result.getBoundary();if(this.checkMinimumDistance(this._input,e,this._minValidDistance),!this._isValid)return null;this.checkMaximumDistance(this._input,e,this._maxValidDistance)},rr.prototype.getErrorLocation=function(){return this._errorLocation},rr.prototype.getPolygonLines=function(e){for(var t=new W,r=new _t(t),i=di.getPolygons(e),s=i.iterator();s.hasNext();){var o=s.next();o.apply(r)}return e.getFactory().buildGeometry(t)},rr.prototype.getErrorMessage=function(){return this._errMsg},rr.prototype.interfaces_=function(){return[]},rr.prototype.getClass=function(){return rr},Zc.VERBOSE.get=function(){return!1},Zc.MAX_DISTANCE_DIFF_FRAC.get=function(){return .012},Object.defineProperties(rr,Zc);var Et=function(e,t,r){this._isValid=!0,this._errorMsg=null,this._errorLocation=null,this._errorIndicator=null,this._input=e||null,this._distance=t||null,this._result=r||null},Kc={VERBOSE:{configurable:!0},MAX_ENV_DIFF_FRAC:{configurable:!0}};Et.prototype.isValid=function(){return this.checkPolygonal(),this._isValid?(this.checkExpectedEmpty(),this._isValid?(this.checkEnvelope(),this._isValid?(this.checkArea(),this._isValid?(this.checkDistance(),this._isValid):this._isValid):this._isValid):this._isValid):this._isValid},Et.prototype.checkEnvelope=function(){if(this._distance<0)return null;var e=this._distance*Et.MAX_ENV_DIFF_FRAC;e===0&&(e=.001);var t=new te(this._input.getEnvelopeInternal());t.expandBy(this._distance);var r=new te(this._result.getEnvelopeInternal());r.expandBy(e),r.contains(t)||(this._isValid=!1,this._errorMsg="Buffer envelope is incorrect",this._errorIndicator=this._input.getFactory().toGeometry(r)),this.report("Envelope")},Et.prototype.checkDistance=function(){var e=new rr(this._input,this._distance,this._result);e.isValid()||(this._isValid=!1,this._errorMsg=e.getErrorMessage(),this._errorLocation=e.getErrorLocation(),this._errorIndicator=e.getErrorIndicator()),this.report("Distance")},Et.prototype.checkArea=function(){var e=this._input.getArea(),t=this._result.getArea();this._distance>0&&e>t&&(this._isValid=!1,this._errorMsg="Area of positive buffer is smaller than input",this._errorIndicator=this._result),this._distance<0&&e<t&&(this._isValid=!1,this._errorMsg="Area of negative buffer is larger than input",this._errorIndicator=this._result),this.report("Area")},Et.prototype.checkPolygonal=function(){this._result instanceof it||this._result instanceof Rn||(this._isValid=!1),this._errorMsg="Result is not polygonal",this._errorIndicator=this._result,this.report("Polygonal")},Et.prototype.getErrorIndicator=function(){return this._errorIndicator},Et.prototype.getErrorLocation=function(){return this._errorLocation},Et.prototype.checkExpectedEmpty=function(){if(this._input.getDimension()>=2||this._distance>0)return null;this._result.isEmpty()||(this._isValid=!1,this._errorMsg="Result is non-empty",this._errorIndicator=this._result),this.report("ExpectedEmpty")},Et.prototype.report=function(e){if(!Et.VERBOSE)return null;mt.out.println("Check "+e+": "+(this._isValid?"passed":"FAILED"))},Et.prototype.getErrorMessage=function(){return this._errorMsg},Et.prototype.interfaces_=function(){return[]},Et.prototype.getClass=function(){return Et},Et.isValidMsg=function(e,t,r){var i=new Et(e,t,r);return i.isValid()?null:i.getErrorMessage()},Et.isValid=function(e,t,r){var i=new Et(e,t,r);return!!i.isValid()},Kc.VERBOSE.get=function(){return!1},Kc.MAX_ENV_DIFF_FRAC.get=function(){return .012},Object.defineProperties(Et,Kc);var En=function(){this._pts=null,this._data=null;var e=arguments[0],t=arguments[1];this._pts=e,this._data=t};En.prototype.getCoordinates=function(){return this._pts},En.prototype.size=function(){return this._pts.length},En.prototype.getCoordinate=function(e){return this._pts[e]},En.prototype.isClosed=function(){return this._pts[0].equals(this._pts[this._pts.length-1])},En.prototype.getSegmentOctant=function(e){return e===this._pts.length-1?-1:Bs.octant(this.getCoordinate(e),this.getCoordinate(e+1))},En.prototype.setData=function(e){this._data=e},En.prototype.getData=function(){return this._data},En.prototype.toString=function(){return Yr.toLineString(new Qe(this._pts))},En.prototype.interfaces_=function(){return[kn]},En.prototype.getClass=function(){return En};var ct=function(){this._findAllIntersections=!1,this._isCheckEndSegmentsOnly=!1,this._li=null,this._interiorIntersection=null,this._intSegments=null,this._intersections=new W,this._intersectionCount=0,this._keepIntersections=!0;var e=arguments[0];this._li=e,this._interiorIntersection=null};ct.prototype.getInteriorIntersection=function(){return this._interiorIntersection},ct.prototype.setCheckEndSegmentsOnly=function(e){this._isCheckEndSegmentsOnly=e},ct.prototype.getIntersectionSegments=function(){return this._intSegments},ct.prototype.count=function(){return this._intersectionCount},ct.prototype.getIntersections=function(){return this._intersections},ct.prototype.setFindAllIntersections=function(e){this._findAllIntersections=e},ct.prototype.setKeepIntersections=function(e){this._keepIntersections=e},ct.prototype.processIntersections=function(e,t,r,i){if(!this._findAllIntersections&&this.hasIntersection()||e===r&&t===i)return null;if(this._isCheckEndSegmentsOnly){var s=this.isEndSegment(e,t)||this.isEndSegment(r,i);if(!s)return null}var o=e.getCoordinates()[t],a=e.getCoordinates()[t+1],l=r.getCoordinates()[i],u=r.getCoordinates()[i+1];this._li.computeIntersection(o,a,l,u),this._li.hasIntersection()&&this._li.isInteriorIntersection()&&(this._intSegments=new Array(4).fill(null),this._intSegments[0]=o,this._intSegments[1]=a,this._intSegments[2]=l,this._intSegments[3]=u,this._interiorIntersection=this._li.getIntersection(0),this._keepIntersections&&this._intersections.add(this._interiorIntersection),this._intersectionCount++)},ct.prototype.isEndSegment=function(e,t){return t===0||t>=e.size()-2},ct.prototype.hasIntersection=function(){return this._interiorIntersection!==null},ct.prototype.isDone=function(){return this._findAllIntersections?!1:this._interiorIntersection!==null},ct.prototype.interfaces_=function(){return[ds]},ct.prototype.getClass=function(){return ct},ct.createAllIntersectionsFinder=function(e){var t=new ct(e);return t.setFindAllIntersections(!0),t},ct.createAnyIntersectionFinder=function(e){return new ct(e)},ct.createIntersectionCounter=function(e){var t=new ct(e);return t.setFindAllIntersections(!0),t.setKeepIntersections(!1),t};var jr=function(){this._li=new as,this._segStrings=null,this._findAllIntersections=!1,this._segInt=null,this._isValid=!0;var e=arguments[0];this._segStrings=e};jr.prototype.execute=function(){if(this._segInt!==null)return null;this.checkInteriorIntersections()},jr.prototype.getIntersections=function(){return this._segInt.getIntersections()},jr.prototype.isValid=function(){return this.execute(),this._isValid},jr.prototype.setFindAllIntersections=function(e){this._findAllIntersections=e},jr.prototype.checkInteriorIntersections=function(){this._isValid=!0,this._segInt=new ct(this._li),this._segInt.setFindAllIntersections(this._findAllIntersections);var e=new Yc;if(e.setSegmentIntersector(this._segInt),e.computeNodes(this._segStrings),this._segInt.hasIntersection())return this._isValid=!1,null},jr.prototype.checkValid=function(){if(this.execute(),!this._isValid)throw new ui(this.getErrorMessage(),this._segInt.getInteriorIntersection())},jr.prototype.getErrorMessage=function(){if(this._isValid)return"no intersections found";var e=this._segInt.getIntersectionSegments();return"found non-noded intersection between "+Yr.toLineString(e[0],e[1])+" and "+Yr.toLineString(e[2],e[3])},jr.prototype.interfaces_=function(){return[]},jr.prototype.getClass=function(){return jr},jr.computeIntersections=function(e){var t=new jr(e);return t.setFindAllIntersections(!0),t.isValid(),t.getIntersections()};var ms=function n(){this._nv=null;var e=arguments[0];this._nv=new jr(n.toSegmentStrings(e))};ms.prototype.checkValid=function(){this._nv.checkValid()},ms.prototype.interfaces_=function(){return[]},ms.prototype.getClass=function(){return ms},ms.toSegmentStrings=function(e){for(var t=new W,r=e.iterator();r.hasNext();){var i=r.next();t.add(new En(i.getCoordinates(),i))}return t},ms.checkValid=function(e){var t=new ms(e);t.checkValid()};var io=function(e){this._mapOp=e};io.prototype.map=function(e){for(var t=this,r=new W,i=0;i<e.getNumGeometries();i++){var s=t._mapOp.map(e.getGeometryN(i));s.isEmpty()||r.add(s)}return e.getFactory().createGeometryCollection(ge.toGeometryArray(r))},io.prototype.interfaces_=function(){return[]},io.prototype.getClass=function(){return io},io.map=function(e,t){var r=new io(t);return r.map(e)};var Sn=function(){this._op=null,this._geometryFactory=null,this._ptLocator=null,this._lineEdgesList=new W,this._resultLineList=new W;var e=arguments[0],t=arguments[1],r=arguments[2];this._op=e,this._geometryFactory=t,this._ptLocator=r};Sn.prototype.collectLines=function(e){for(var t=this,r=this._op.getGraph().getEdgeEnds().iterator();r.hasNext();){var i=r.next();t.collectLineEdge(i,e,t._lineEdgesList),t.collectBoundaryTouchEdge(i,e,t._lineEdgesList)}},Sn.prototype.labelIsolatedLine=function(e,t){var r=this._ptLocator.locate(e.getCoordinate(),this._op.getArgGeometry(t));e.getLabel().setLocation(t,r)},Sn.prototype.build=function(e){return this.findCoveredLineEdges(),this.collectLines(e),this.buildLines(e),this._resultLineList},Sn.prototype.collectLineEdge=function(e,t,r){var i=e.getLabel(),s=e.getEdge();e.isLineEdge()&&!e.isVisited()&&he.isResultOfOp(i,t)&&!s.isCovered()&&(r.add(s),e.setVisitedEdge(!0))},Sn.prototype.findCoveredLineEdges=function(){for(var e=this,t=this._op.getGraph().getNodes().iterator();t.hasNext();){var r=t.next();r.getEdges().findCoveredLineEdges()}for(var i=this._op.getGraph().getEdgeEnds().iterator();i.hasNext();){var s=i.next(),o=s.getEdge();if(s.isLineEdge()&&!o.isCoveredSet()){var a=e._op.isCoveredByA(s.getCoordinate());o.setCovered(a)}}},Sn.prototype.labelIsolatedLines=function(e){for(var t=this,r=e.iterator();r.hasNext();){var i=r.next(),s=i.getLabel();i.isIsolated()&&(s.isNull(0)?t.labelIsolatedLine(i,0):t.labelIsolatedLine(i,1))}},Sn.prototype.buildLines=function(e){for(var t=this,r=this._lineEdgesList.iterator();r.hasNext();){var i=r.next(),s=t._geometryFactory.createLineString(i.getCoordinates());t._resultLineList.add(s),i.setInResult(!0)}},Sn.prototype.collectBoundaryTouchEdge=function(e,t,r){var i=e.getLabel();if(e.isLineEdge()||e.isVisited()||e.isInteriorAreaEdge()||e.getEdge().isInResult())return null;fe.isTrue(!(e.isInResult()||e.getSym().isInResult())||!e.getEdge().isInResult()),he.isResultOfOp(i,t)&&t===he.INTERSECTION&&(r.add(e.getEdge()),e.setVisitedEdge(!0))},Sn.prototype.interfaces_=function(){return[]},Sn.prototype.getClass=function(){return Sn};var so=function(){this._op=null,this._geometryFactory=null,this._resultPointList=new W;var e=arguments[0],t=arguments[1];this._op=e,this._geometryFactory=t};so.prototype.filterCoveredNodeToPoint=function(e){var t=e.getCoordinate();if(!this._op.isCoveredByLA(t)){var r=this._geometryFactory.createPoint(t);this._resultPointList.add(r)}},so.prototype.extractNonCoveredResultNodes=function(e){for(var t=this,r=this._op.getGraph().getNodes().iterator();r.hasNext();){var i=r.next();if(!i.isInResult()&&!i.isIncidentEdgeInResult()&&(i.getEdges().getDegree()===0||e===he.INTERSECTION)){var s=i.getLabel();he.isResultOfOp(s,e)&&t.filterCoveredNodeToPoint(i)}}},so.prototype.build=function(e){return this.extractNonCoveredResultNodes(e),this._resultPointList},so.prototype.interfaces_=function(){return[]},so.prototype.getClass=function(){return so};var Yt=function(){this._inputGeom=null,this._factory=null,this._pruneEmptyGeometry=!0,this._preserveGeometryCollectionType=!0,this._preserveCollections=!1,this._preserveType=!1};Yt.prototype.transformPoint=function(e,t){return this._factory.createPoint(this.transformCoordinates(e.getCoordinateSequence(),e))},Yt.prototype.transformPolygon=function(e,t){var r=this,i=!0,s=this.transformLinearRing(e.getExteriorRing(),e);(s===null||!(s instanceof An)||s.isEmpty())&&(i=!1);for(var o=new W,a=0;a<e.getNumInteriorRing();a++){var l=r.transformLinearRing(e.getInteriorRingN(a),e);l===null||l.isEmpty()||(l instanceof An||(i=!1),o.add(l))}if(i)return this._factory.createPolygon(s,o.toArray([]));var u=new W;return s!==null&&u.add(s),u.addAll(o),this._factory.buildGeometry(u)},Yt.prototype.createCoordinateSequence=function(e){return this._factory.getCoordinateSequenceFactory().create(e)},Yt.prototype.getInputGeometry=function(){return this._inputGeom},Yt.prototype.transformMultiLineString=function(e,t){for(var r=this,i=new W,s=0;s<e.getNumGeometries();s++){var o=r.transformLineString(e.getGeometryN(s),e);o!==null&&(o.isEmpty()||i.add(o))}return this._factory.buildGeometry(i)},Yt.prototype.transformCoordinates=function(e,t){return this.copy(e)},Yt.prototype.transformLineString=function(e,t){return this._factory.createLineString(this.transformCoordinates(e.getCoordinateSequence(),e))},Yt.prototype.transformMultiPoint=function(e,t){for(var r=this,i=new W,s=0;s<e.getNumGeometries();s++){var o=r.transformPoint(e.getGeometryN(s),e);o!==null&&(o.isEmpty()||i.add(o))}return this._factory.buildGeometry(i)},Yt.prototype.transformMultiPolygon=function(e,t){for(var r=this,i=new W,s=0;s<e.getNumGeometries();s++){var o=r.transformPolygon(e.getGeometryN(s),e);o!==null&&(o.isEmpty()||i.add(o))}return this._factory.buildGeometry(i)},Yt.prototype.copy=function(e){return e.copy()},Yt.prototype.transformGeometryCollection=function(e,t){for(var r=this,i=new W,s=0;s<e.getNumGeometries();s++){var o=r.transform(e.getGeometryN(s));o!==null&&(r._pruneEmptyGeometry&&o.isEmpty()||i.add(o))}return this._preserveGeometryCollectionType?this._factory.createGeometryCollection(ge.toGeometryArray(i)):this._factory.buildGeometry(i)},Yt.prototype.transform=function(e){if(this._inputGeom=e,this._factory=e.getFactory(),e instanceof jt)return this.transformPoint(e,null);if(e instanceof ul)return this.transformMultiPoint(e,null);if(e instanceof An)return this.transformLinearRing(e,null);if(e instanceof Je)return this.transformLineString(e,null);if(e instanceof cs)return this.transformMultiLineString(e,null);if(e instanceof it)return this.transformPolygon(e,null);if(e instanceof Rn)return this.transformMultiPolygon(e,null);if(e instanceof Mt)return this.transformGeometryCollection(e,null);throw new Ue("Unknown Geometry subtype: "+e.getClass().getName())},Yt.prototype.transformLinearRing=function(e,t){var r=this.transformCoordinates(e.getCoordinateSequence(),e);if(r===null)return this._factory.createLinearRing(null);var i=r.size();return i>0&&i<4&&!this._preserveType?this._factory.createLineString(r):this._factory.createLinearRing(r)},Yt.prototype.interfaces_=function(){return[]},Yt.prototype.getClass=function(){return Yt};var Wn=function n(){if(this._snapTolerance=0,this._srcPts=null,this._seg=new re,this._allowSnappingToSourceVertices=!1,this._isClosed=!1,arguments[0]instanceof Je&&typeof arguments[1]=="number"){var e=arguments[0],t=arguments[1];n.call(this,e.getCoordinates(),t)}else if(arguments[0]instanceof Array&&typeof arguments[1]=="number"){var r=arguments[0],i=arguments[1];this._srcPts=r,this._isClosed=n.isClosed(r),this._snapTolerance=i}};Wn.prototype.snapVertices=function(e,t){for(var r=this,i=this._isClosed?e.size()-1:e.size(),s=0;s<i;s++){var o=e.get(s),a=r.findSnapForVertex(o,t);a!==null&&(e.set(s,new M(a)),s===0&&r._isClosed&&e.set(e.size()-1,new M(a)))}},Wn.prototype.findSnapForVertex=function(e,t){for(var r=this,i=0;i<t.length;i++){if(e.equals2D(t[i]))return null;if(e.distance(t[i])<r._snapTolerance)return t[i]}return null},Wn.prototype.snapTo=function(e){var t=new Gl(this._srcPts);this.snapVertices(t,e),this.snapSegments(t,e);var r=t.toCoordinateArray();return r},Wn.prototype.snapSegments=function(e,t){var r=this;if(t.length===0)return null;var i=t.length;t[0].equals2D(t[t.length-1])&&(i=t.length-1);for(var s=0;s<i;s++){var o=t[s],a=r.findSegmentIndexToSnap(o,e);a>=0&&e.add(a+1,new M(o),!1)}},Wn.prototype.findSegmentIndexToSnap=function(e,t){for(var r=this,i=le.MAX_VALUE,s=-1,o=0;o<t.size()-1;o++){if(r._seg.p0=t.get(o),r._seg.p1=t.get(o+1),r._seg.p0.equals2D(e)||r._seg.p1.equals2D(e)){if(r._allowSnappingToSourceVertices)continue;return-1}var a=r._seg.distance(e);a<r._snapTolerance&&a<i&&(i=a,s=o)}return s},Wn.prototype.setAllowSnappingToSourceVertices=function(e){this._allowSnappingToSourceVertices=e},Wn.prototype.interfaces_=function(){return[]},Wn.prototype.getClass=function(){return Wn},Wn.isClosed=function(e){return e.length<=1?!1:e[0].equals2D(e[e.length-1])};var $e=function(e){this._srcGeom=e||null},Jf={SNAP_PRECISION_FACTOR:{configurable:!0}};$e.prototype.snapTo=function(e,t){var r=this.extractTargetCoordinates(e),i=new Zf(t,r);return i.transform(this._srcGeom)},$e.prototype.snapToSelf=function(e,t){var r=this.extractTargetCoordinates(this._srcGeom),i=new Zf(e,r,!0),s=i.transform(this._srcGeom),o=s;return t&&ae(o,Li)&&(o=s.buffer(0)),o},$e.prototype.computeSnapTolerance=function(e){var t=this.computeMinimumSegmentLength(e),r=t/10;return r},$e.prototype.extractTargetCoordinates=function(e){for(var t=new cn,r=e.getCoordinates(),i=0;i<r.length;i++)t.add(r[i]);return t.toArray(new Array(0).fill(null))},$e.prototype.computeMinimumSegmentLength=function(e){for(var t=le.MAX_VALUE,r=0;r<e.length-1;r++){var i=e[r].distance(e[r+1]);i<t&&(t=i)}return t},$e.prototype.interfaces_=function(){return[]},$e.prototype.getClass=function(){return $e},$e.snap=function(e,t,r){var i=new Array(2).fill(null),s=new $e(e);i[0]=s.snapTo(t,r);var o=new $e(t);return i[1]=o.snapTo(i[0],r),i},$e.computeOverlaySnapTolerance=function(){if(arguments.length===1){var e=arguments[0],t=$e.computeSizeBasedSnapTolerance(e),r=e.getPrecisionModel();if(r.getType()===Te.FIXED){var i=1/r.getScale()*2/1.415;i>t&&(t=i)}return t}else if(arguments.length===2){var s=arguments[0],o=arguments[1];return Math.min($e.computeOverlaySnapTolerance(s),$e.computeOverlaySnapTolerance(o))}},$e.computeSizeBasedSnapTolerance=function(e){var t=e.getEnvelopeInternal(),r=Math.min(t.getHeight(),t.getWidth()),i=r*$e.SNAP_PRECISION_FACTOR;return i},$e.snapToSelf=function(e,t,r){var i=new $e(e);return i.snapToSelf(t,r)},Jf.SNAP_PRECISION_FACTOR.get=function(){return 1e-9},Object.defineProperties($e,Jf);var Zf=function(n){function e(t,r,i){n.call(this),this._snapTolerance=t||null,this._snapPts=r||null,this._isSelfSnap=i!==void 0?i:!1}return n&&(e.__proto__=n),e.prototype=Object.create(n&&n.prototype),e.prototype.constructor=e,e.prototype.snapLine=function(r,i){var s=new Wn(r,this._snapTolerance);return s.setAllowSnappingToSourceVertices(this._isSelfSnap),s.snapTo(i)},e.prototype.transformCoordinates=function(r,i){var s=r.toCoordinateArray(),o=this.snapLine(s,this._snapPts);return this._factory.getCoordinateSequenceFactory().create(o)},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(Yt),kt=function(){this._isFirst=!0,this._commonMantissaBitsCount=53,this._commonBits=0,this._commonSignExp=null};kt.prototype.getCommon=function(){return le.longBitsToDouble(this._commonBits)},kt.prototype.add=function(e){var t=le.doubleToLongBits(e);if(this._isFirst)return this._commonBits=t,this._commonSignExp=kt.signExpBits(this._commonBits),this._isFirst=!1,null;var r=kt.signExpBits(t);if(r!==this._commonSignExp)return this._commonBits=0,null;this._commonMantissaBitsCount=kt.numCommonMostSigMantissaBits(this._commonBits,t),this._commonBits=kt.zeroLowerBits(this._commonBits,64-(12+this._commonMantissaBitsCount))},kt.prototype.toString=function(){if(arguments.length===1){var e=arguments[0],t=le.longBitsToDouble(e),r=le.toBinaryString(e),i="0000000000000000000000000000000000000000000000000000000000000000"+r,s=i.substring(i.length-64),o=s.substring(0,1)+" "+s.substring(1,12)+"(exp) "+s.substring(12)+" [ "+t+" ]";return o}},kt.prototype.interfaces_=function(){return[]},kt.prototype.getClass=function(){return kt},kt.getBit=function(e,t){var r=1<<t;return(e&r)!==0?1:0},kt.signExpBits=function(e){return e>>52},kt.zeroLowerBits=function(e,t){var r=(1<<t)-1,i=~r,s=e&i;return s},kt.numCommonMostSigMantissaBits=function(e,t){for(var r=0,i=52;i>=0;i--){if(kt.getBit(e,i)!==kt.getBit(t,i))return r;r++}return 52};var Gi=function(){this._commonCoord=null,this._ccFilter=new oo},Qc={CommonCoordinateFilter:{configurable:!0},Translater:{configurable:!0}};Gi.prototype.addCommonBits=function(e){var t=new Wi(this._commonCoord);e.apply(t),e.geometryChanged()},Gi.prototype.removeCommonBits=function(e){if(this._commonCoord.x===0&&this._commonCoord.y===0)return e;var t=new M(this._commonCoord);t.x=-t.x,t.y=-t.y;var r=new Wi(t);return e.apply(r),e.geometryChanged(),e},Gi.prototype.getCommonCoordinate=function(){return this._commonCoord},Gi.prototype.add=function(e){e.apply(this._ccFilter),this._commonCoord=this._ccFilter.getCommonCoordinate()},Gi.prototype.interfaces_=function(){return[]},Gi.prototype.getClass=function(){return Gi},Qc.CommonCoordinateFilter.get=function(){return oo},Qc.Translater.get=function(){return Wi},Object.defineProperties(Gi,Qc);var oo=function(){this._commonBitsX=new kt,this._commonBitsY=new kt};oo.prototype.filter=function(e){this._commonBitsX.add(e.x),this._commonBitsY.add(e.y)},oo.prototype.getCommonCoordinate=function(){return new M(this._commonBitsX.getCommon(),this._commonBitsY.getCommon())},oo.prototype.interfaces_=function(){return[Ln]},oo.prototype.getClass=function(){return oo};var Wi=function(){this.trans=null;var e=arguments[0];this.trans=e};Wi.prototype.filter=function(e,t){var r=e.getOrdinate(t,0)+this.trans.x,i=e.getOrdinate(t,1)+this.trans.y;e.setOrdinate(t,0,r),e.setOrdinate(t,1,i)},Wi.prototype.isDone=function(){return!1},Wi.prototype.isGeometryChanged=function(){return!0},Wi.prototype.interfaces_=function(){return[Zr]},Wi.prototype.getClass=function(){return Wi};var ht=function(e,t){this._geom=new Array(2).fill(null),this._snapTolerance=null,this._cbr=null,this._geom[0]=e,this._geom[1]=t,this.computeSnapTolerance()};ht.prototype.selfSnap=function(e){var t=new $e(e),r=t.snapTo(e,this._snapTolerance);return r},ht.prototype.removeCommonBits=function(e){this._cbr=new Gi,this._cbr.add(e[0]),this._cbr.add(e[1]);var t=new Array(2).fill(null);return t[0]=this._cbr.removeCommonBits(e[0].copy()),t[1]=this._cbr.removeCommonBits(e[1].copy()),t},ht.prototype.prepareResult=function(e){return this._cbr.addCommonBits(e),e},ht.prototype.getResultGeometry=function(e){var t=this.snap(this._geom),r=he.overlayOp(t[0],t[1],e);return this.prepareResult(r)},ht.prototype.checkValid=function(e){e.isValid()||mt.out.println("Snapped geometry is invalid")},ht.prototype.computeSnapTolerance=function(){this._snapTolerance=$e.computeOverlaySnapTolerance(this._geom[0],this._geom[1])},ht.prototype.snap=function(e){var t=this.removeCommonBits(e),r=$e.snap(t[0],t[1],this._snapTolerance);return r},ht.prototype.interfaces_=function(){return[]},ht.prototype.getClass=function(){return ht},ht.overlayOp=function(e,t,r){var i=new ht(e,t);return i.getResultGeometry(r)},ht.union=function(e,t){return ht.overlayOp(e,t,he.UNION)},ht.intersection=function(e,t){return ht.overlayOp(e,t,he.INTERSECTION)},ht.symDifference=function(e,t){return ht.overlayOp(e,t,he.SYMDIFFERENCE)},ht.difference=function(e,t){return ht.overlayOp(e,t,he.DIFFERENCE)};var Vt=function(e,t){this._geom=new Array(2).fill(null),this._geom[0]=e,this._geom[1]=t};Vt.prototype.getResultGeometry=function(e){var t=null,r=!1,i=null;try{t=he.overlayOp(this._geom[0],this._geom[1],e);var s=!0;s&&(r=!0)}catch(o){if(o instanceof ni)i=o;else throw o}finally{}if(!r)try{t=ht.overlayOp(this._geom[0],this._geom[1],e)}catch(o){throw o instanceof ni?i:o}finally{}return t},Vt.prototype.interfaces_=function(){return[]},Vt.prototype.getClass=function(){return Vt},Vt.overlayOp=function(e,t,r){var i=new Vt(e,t);return i.getResultGeometry(r)},Vt.union=function(e,t){return Vt.overlayOp(e,t,he.UNION)},Vt.intersection=function(e,t){return Vt.overlayOp(e,t,he.INTERSECTION)},Vt.symDifference=function(e,t){return Vt.overlayOp(e,t,he.SYMDIFFERENCE)},Vt.difference=function(e,t){return Vt.overlayOp(e,t,he.DIFFERENCE)};var ru=function(){this.mce=null,this.chainIndex=null;var e=arguments[0],t=arguments[1];this.mce=e,this.chainIndex=t};ru.prototype.computeIntersections=function(e,t){this.mce.computeIntersectsForChain(this.chainIndex,e.mce,e.chainIndex,t)},ru.prototype.interfaces_=function(){return[]},ru.prototype.getClass=function(){return ru};var nr=function n(){if(this._label=null,this._xValue=null,this._eventType=null,this._insertEvent=null,this._deleteEventIndex=null,this._obj=null,arguments.length===2){var e=arguments[0],t=arguments[1];this._eventType=n.DELETE,this._xValue=e,this._insertEvent=t}else if(arguments.length===3){var r=arguments[0],i=arguments[1],s=arguments[2];this._eventType=n.INSERT,this._label=r,this._xValue=i,this._obj=s}},Bc={INSERT:{configurable:!0},DELETE:{configurable:!0}};nr.prototype.isDelete=function(){return this._eventType===nr.DELETE},nr.prototype.setDeleteEventIndex=function(e){this._deleteEventIndex=e},nr.prototype.getObject=function(){return this._obj},nr.prototype.compareTo=function(e){var t=e;return this._xValue<t._xValue?-1:this._xValue>t._xValue?1:this._eventType<t._eventType?-1:this._eventType>t._eventType?1:0},nr.prototype.getInsertEvent=function(){return this._insertEvent},nr.prototype.isInsert=function(){return this._eventType===nr.INSERT},nr.prototype.isSameLabel=function(e){return this._label===null?!1:this._label===e._label},nr.prototype.getDeleteEventIndex=function(){return this._deleteEventIndex},nr.prototype.interfaces_=function(){return[Sr]},nr.prototype.getClass=function(){return nr},Bc.INSERT.get=function(){return 1},Bc.DELETE.get=function(){return 2},Object.defineProperties(nr,Bc);var Xu=function(){};Xu.prototype.interfaces_=function(){return[]},Xu.prototype.getClass=function(){return Xu};var St=function(){this._hasIntersection=!1,this._hasProper=!1,this._hasProperInterior=!1,this._properIntersectionPoint=null,this._li=null,this._includeProper=null,this._recordIsolated=null,this._isSelfIntersection=null,this._numIntersections=0,this.numTests=0,this._bdyNodes=null,this._isDone=!1,this._isDoneWhenProperInt=!1;var e=arguments[0],t=arguments[1],r=arguments[2];this._li=e,this._includeProper=t,this._recordIsolated=r};St.prototype.isTrivialIntersection=function(e,t,r,i){if(e===r&&this._li.getIntersectionNum()===1){if(St.isAdjacentSegments(t,i))return!0;if(e.isClosed()){var s=e.getNumPoints()-1;if(t===0&&i===s||i===0&&t===s)return!0}}return!1},St.prototype.getProperIntersectionPoint=function(){return this._properIntersectionPoint},St.prototype.setIsDoneIfProperInt=function(e){this._isDoneWhenProperInt=e},St.prototype.hasProperInteriorIntersection=function(){return this._hasProperInterior},St.prototype.isBoundaryPointInternal=function(e,t){for(var r=t.iterator();r.hasNext();){var i=r.next(),s=i.getCoordinate();if(e.isIntersection(s))return!0}return!1},St.prototype.hasProperIntersection=function(){return this._hasProper},St.prototype.hasIntersection=function(){return this._hasIntersection},St.prototype.isDone=function(){return this._isDone},St.prototype.isBoundaryPoint=function(e,t){return t===null?!1:!!(this.isBoundaryPointInternal(e,t[0])||this.isBoundaryPointInternal(e,t[1]))},St.prototype.setBoundaryNodes=function(e,t){this._bdyNodes=new Array(2).fill(null),this._bdyNodes[0]=e,this._bdyNodes[1]=t},St.prototype.addIntersections=function(e,t,r,i){if(e===r&&t===i)return null;this.numTests++;var s=e.getCoordinates()[t],o=e.getCoordinates()[t+1],a=r.getCoordinates()[i],l=r.getCoordinates()[i+1];this._li.computeIntersection(s,o,a,l),this._li.hasIntersection()&&(this._recordIsolated&&(e.setIsolated(!1),r.setIsolated(!1)),this._numIntersections++,this.isTrivialIntersection(e,t,r,i)||(this._hasIntersection=!0,(this._includeProper||!this._li.isProper())&&(e.addIntersections(this._li,t,0),r.addIntersections(this._li,i,1)),this._li.isProper()&&(this._properIntersectionPoint=this._li.getIntersection(0).copy(),this._hasProper=!0,this._isDoneWhenProperInt&&(this._isDone=!0),this.isBoundaryPoint(this._li,this._bdyNodes)||(this._hasProperInterior=!0))))},St.prototype.interfaces_=function(){return[]},St.prototype.getClass=function(){return St},St.isAdjacentSegments=function(e,t){return Math.abs(e-t)===1};var rv=function(n){function e(){n.call(this),this.events=new W,this.nOverlaps=null}return n&&(e.__proto__=n),e.prototype=Object.create(n&&n.prototype),e.prototype.constructor=e,e.prototype.prepareEvents=function(){var r=this;Qr.sort(this.events);for(var i=0;i<this.events.size();i++){var s=r.events.get(i);s.isDelete()&&s.getInsertEvent().setDeleteEventIndex(i)}},e.prototype.computeIntersections=function(){var r=this;if(arguments.length===1){var i=arguments[0];this.nOverlaps=0,this.prepareEvents();for(var s=0;s<this.events.size();s++){var o=r.events.get(s);if(o.isInsert()&&r.processOverlaps(s,o.getDeleteEventIndex(),o,i),i.isDone())break}}else if(arguments.length===3){if(arguments[2]instanceof St&&ae(arguments[0],Hr)&&ae(arguments[1],Hr)){var a=arguments[0],l=arguments[1],u=arguments[2];this.addEdges(a,a),this.addEdges(l,l),this.computeIntersections(u)}else if(typeof arguments[2]=="boolean"&&ae(arguments[0],Hr)&&arguments[1]instanceof St){var h=arguments[0],f=arguments[1],p=arguments[2];p?this.addEdges(h,null):this.addEdges(h),this.computeIntersections(f)}}},e.prototype.addEdge=function(r,i){for(var s=this,o=r.getMonotoneChainEdge(),a=o.getStartIndexes(),l=0;l<a.length-1;l++){var u=new ru(o,l),h=new nr(i,o.getMinX(l),u);s.events.add(h),s.events.add(new nr(o.getMaxX(l),h))}},e.prototype.processOverlaps=function(r,i,s,o){for(var a=this,l=s.getObject(),u=r;u<i;u++){var h=a.events.get(u);if(h.isInsert()){var f=h.getObject();s.isSameLabel(h)||(l.computeIntersections(f,o),a.nOverlaps++)}}},e.prototype.addEdges=function(){var r=this;if(arguments.length===1)for(var i=arguments[0],s=i.iterator();s.hasNext();){var o=s.next();r.addEdge(o,o)}else if(arguments.length===2)for(var a=arguments[0],l=arguments[1],u=a.iterator();u.hasNext();){var h=u.next();r.addEdge(h,l)}},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(Xu),qn=function(){this._min=le.POSITIVE_INFINITY,this._max=le.NEGATIVE_INFINITY},Kf={NodeComparator:{configurable:!0}};qn.prototype.getMin=function(){return this._min},qn.prototype.intersects=function(e,t){return!(this._min>t||this._max<e)},qn.prototype.getMax=function(){return this._max},qn.prototype.toString=function(){return Yr.toLineString(new M(this._min,0),new M(this._max,0))},qn.prototype.interfaces_=function(){return[]},qn.prototype.getClass=function(){return qn},Kf.NodeComparator.get=function(){return nu},Object.defineProperties(qn,Kf);var nu=function(){};nu.prototype.compare=function(e,t){var r=e,i=t,s=(r._min+r._max)/2,o=(i._min+i._max)/2;return s<o?-1:s>o?1:0},nu.prototype.interfaces_=function(){return[$a]},nu.prototype.getClass=function(){return nu};var nv=function(n){function e(){n.call(this),this._item=null;var t=arguments[0],r=arguments[1],i=arguments[2];this._min=t,this._max=r,this._item=i}return n&&(e.__proto__=n),e.prototype=Object.create(n&&n.prototype),e.prototype.constructor=e,e.prototype.query=function(r,i,s){if(!this.intersects(r,i))return null;s.visitItem(this._item)},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(qn),iv=function(n){function e(){n.call(this),this._node1=null,this._node2=null;var t=arguments[0],r=arguments[1];this._node1=t,this._node2=r,this.buildExtent(this._node1,this._node2)}return n&&(e.__proto__=n),e.prototype=Object.create(n&&n.prototype),e.prototype.constructor=e,e.prototype.buildExtent=function(r,i){this._min=Math.min(r._min,i._min),this._max=Math.max(r._max,i._max)},e.prototype.query=function(r,i,s){if(!this.intersects(r,i))return null;this._node1!==null&&this._node1.query(r,i,s),this._node2!==null&&this._node2.query(r,i,s)},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(qn),Xn=function(){this._leaves=new W,this._root=null,this._level=0};Xn.prototype.buildTree=function(){var e=this;Qr.sort(this._leaves,new qn.NodeComparator);for(var t=this._leaves,r=null,i=new W;;){if(e.buildLevel(t,i),i.size()===1)return i.get(0);r=t,t=i,i=r}},Xn.prototype.insert=function(e,t,r){if(this._root!==null)throw new Error("Index cannot be added to once it has been queried");this._leaves.add(new nv(e,t,r))},Xn.prototype.query=function(e,t,r){this.init(),this._root.query(e,t,r)},Xn.prototype.buildRoot=function(){if(this._root!==null)return null;this._root=this.buildTree()},Xn.prototype.printNode=function(e){mt.out.println(Yr.toLineString(new M(e._min,this._level),new M(e._max,this._level)))},Xn.prototype.init=function(){if(this._root!==null)return null;this.buildRoot()},Xn.prototype.buildLevel=function(e,t){this._level++,t.clear();for(var r=0;r<e.size();r+=2){var i=e.get(r),s=r+1<e.size()?e.get(r):null;if(s===null)t.add(i);else{var o=new iv(e.get(r),e.get(r+1));t.add(o)}}},Xn.prototype.interfaces_=function(){return[]},Xn.prototype.getClass=function(){return Xn};var ml=function(){this._items=new W};ml.prototype.visitItem=function(e){this._items.add(e)},ml.prototype.getItems=function(){return this._items},ml.prototype.interfaces_=function(){return[Ai]},ml.prototype.getClass=function(){return ml};var vl=function(){this._index=null;var e=arguments[0];if(!ae(e,Li))throw new Ue("Argument must be Polygonal");this._index=new vs(e)},$c={SegmentVisitor:{configurable:!0},IntervalIndexedGeometry:{configurable:!0}};vl.prototype.locate=function(e){var t=new un(e),r=new yl(t);return this._index.query(e.y,e.y,r),t.getLocation()},vl.prototype.interfaces_=function(){return[dl]},vl.prototype.getClass=function(){return vl},$c.SegmentVisitor.get=function(){return yl},$c.IntervalIndexedGeometry.get=function(){return vs},Object.defineProperties(vl,$c);var yl=function(){this._counter=null;var e=arguments[0];this._counter=e};yl.prototype.visitItem=function(e){var t=e;this._counter.countSegment(t.getCoordinate(0),t.getCoordinate(1))},yl.prototype.interfaces_=function(){return[Ai]},yl.prototype.getClass=function(){return yl};var vs=function(){this._index=new Xn;var e=arguments[0];this.init(e)};vs.prototype.init=function(e){for(var t=this,r=_t.getLines(e),i=r.iterator();i.hasNext();){var s=i.next(),o=s.getCoordinates();t.addLine(o)}},vs.prototype.addLine=function(e){for(var t=this,r=1;r<e.length;r++){var i=new re(e[r-1],e[r]),s=Math.min(i.p0.y,i.p1.y),o=Math.max(i.p0.y,i.p1.y);t._index.insert(s,o,i)}},vs.prototype.query=function(){if(arguments.length===2){var e=arguments[0],t=arguments[1],r=new ml;return this._index.query(e,t,r),r.getItems()}else if(arguments.length===3){var i=arguments[0],s=arguments[1],o=arguments[2];this._index.query(i,s,o)}},vs.prototype.interfaces_=function(){return[]},vs.prototype.getClass=function(){return vs};var iu=function(n){function e(){if(n.call(this),this._parentGeom=null,this._lineEdgeMap=new Of,this._boundaryNodeRule=null,this._useBoundaryDeterminationRule=!0,this._argIndex=null,this._boundaryNodes=null,this._hasTooFewPoints=!1,this._invalidPoint=null,this._areaPtLocator=null,this._ptLocator=new $r,arguments.length===2){var t=arguments[0],r=arguments[1],i=Pr.OGC_SFS_BOUNDARY_RULE;this._argIndex=t,this._parentGeom=r,this._boundaryNodeRule=i,r!==null&&this.add(r)}else if(arguments.length===3){var s=arguments[0],o=arguments[1],a=arguments[2];this._argIndex=s,this._parentGeom=o,this._boundaryNodeRule=a,o!==null&&this.add(o)}}return n&&(e.__proto__=n),e.prototype=Object.create(n&&n.prototype),e.prototype.constructor=e,e.prototype.insertBoundaryPoint=function(r,i){var s=this._nodes.addNode(i),o=s.getLabel(),a=1,l=R.NONE;l=o.getLocation(r,U.ON),l===R.BOUNDARY&&a++;var u=e.determineBoundary(this._boundaryNodeRule,a);o.setLocation(r,u)},e.prototype.computeSelfNodes=function(){if(arguments.length===2){var r=arguments[0],i=arguments[1];return this.computeSelfNodes(r,i,!1)}else if(arguments.length===3){var s=arguments[0],o=arguments[1],a=arguments[2],l=new St(s,!0,!1);l.setIsDoneIfProperInt(a);var u=this.createEdgeSetIntersector(),h=this._parentGeom instanceof An||this._parentGeom instanceof it||this._parentGeom instanceof Rn,f=o||!h;return u.computeIntersections(this._edges,l,f),this.addSelfIntersectionNodes(this._argIndex),l}},e.prototype.computeSplitEdges=function(r){for(var i=this._edges.iterator();i.hasNext();){var s=i.next();s.eiList.addSplitEdges(r)}},e.prototype.computeEdgeIntersections=function(r,i,s){var o=new St(i,s,!0);o.setBoundaryNodes(this.getBoundaryNodes(),r.getBoundaryNodes());var a=this.createEdgeSetIntersector();return a.computeIntersections(this._edges,r._edges,o),o},e.prototype.getGeometry=function(){return this._parentGeom},e.prototype.getBoundaryNodeRule=function(){return this._boundaryNodeRule},e.prototype.hasTooFewPoints=function(){return this._hasTooFewPoints},e.prototype.addPoint=function(){if(arguments[0]instanceof jt){var r=arguments[0],i=r.getCoordinate();this.insertPoint(this._argIndex,i,R.INTERIOR)}else if(arguments[0]instanceof M){var s=arguments[0];this.insertPoint(this._argIndex,s,R.INTERIOR)}},e.prototype.addPolygon=function(r){var i=this;this.addPolygonRing(r.getExteriorRing(),R.EXTERIOR,R.INTERIOR);for(var s=0;s<r.getNumInteriorRing();s++){var o=r.getInteriorRingN(s);i.addPolygonRing(o,R.INTERIOR,R.EXTERIOR)}},e.prototype.addEdge=function(r){this.insertEdge(r);var i=r.getCoordinates();this.insertPoint(this._argIndex,i[0],R.BOUNDARY),this.insertPoint(this._argIndex,i[i.length-1],R.BOUNDARY)},e.prototype.addLineString=function(r){var i=pe.removeRepeatedPoints(r.getCoordinates());if(i.length<2)return this._hasTooFewPoints=!0,this._invalidPoint=i[0],null;var s=new qu(i,new De(this._argIndex,R.INTERIOR));this._lineEdgeMap.put(r,s),this.insertEdge(s),fe.isTrue(i.length>=2,"found LineString with single point"),this.insertBoundaryPoint(this._argIndex,i[0]),this.insertBoundaryPoint(this._argIndex,i[i.length-1])},e.prototype.getInvalidPoint=function(){return this._invalidPoint},e.prototype.getBoundaryPoints=function(){for(var r=this.getBoundaryNodes(),i=new Array(r.size()).fill(null),s=0,o=r.iterator();o.hasNext();){var a=o.next();i[s++]=a.getCoordinate().copy()}return i},e.prototype.getBoundaryNodes=function(){return this._boundaryNodes===null&&(this._boundaryNodes=this._nodes.getBoundaryNodes(this._argIndex)),this._boundaryNodes},e.prototype.addSelfIntersectionNode=function(r,i,s){if(this.isBoundaryNode(r,i))return null;s===R.BOUNDARY&&this._useBoundaryDeterminationRule?this.insertBoundaryPoint(r,i):this.insertPoint(r,i,s)},e.prototype.addPolygonRing=function(r,i,s){if(r.isEmpty())return null;var o=pe.removeRepeatedPoints(r.getCoordinates());if(o.length<4)return this._hasTooFewPoints=!0,this._invalidPoint=o[0],null;var a=i,l=s;H.isCCW(o)&&(a=s,l=i);var u=new qu(o,new De(this._argIndex,R.BOUNDARY,a,l));this._lineEdgeMap.put(r,u),this.insertEdge(u),this.insertPoint(this._argIndex,o[0],R.BOUNDARY)},e.prototype.insertPoint=function(r,i,s){var o=this._nodes.addNode(i),a=o.getLabel();a===null?o._label=new De(r,s):a.setLocation(r,s)},e.prototype.createEdgeSetIntersector=function(){return new rv},e.prototype.addSelfIntersectionNodes=function(r){for(var i=this,s=this._edges.iterator();s.hasNext();)for(var o=s.next(),a=o.getLabel().getLocation(r),l=o.eiList.iterator();l.hasNext();){var u=l.next();i.addSelfIntersectionNode(r,u.coord,a)}},e.prototype.add=function(){if(arguments.length===1){var r=arguments[0];if(r.isEmpty())return null;if(r instanceof Rn&&(this._useBoundaryDeterminationRule=!1),r instanceof it)this.addPolygon(r);else if(r instanceof Je)this.addLineString(r);else if(r instanceof jt)this.addPoint(r);else if(r instanceof ul)this.addCollection(r);else if(r instanceof cs)this.addCollection(r);else if(r instanceof Rn)this.addCollection(r);else if(r instanceof Mt)this.addCollection(r);else throw new Error(r.getClass().getName())}else return n.prototype.add.apply(this,arguments)},e.prototype.addCollection=function(r){for(var i=this,s=0;s<r.getNumGeometries();s++){var o=r.getGeometryN(s);i.add(o)}},e.prototype.locate=function(r){return ae(this._parentGeom,Li)&&this._parentGeom.getNumGeometries()>50?(this._areaPtLocator===null&&(this._areaPtLocator=new vl(this._parentGeom)),this._areaPtLocator.locate(r)):this._ptLocator.locate(r,this._parentGeom)},e.prototype.findEdge=function(){if(arguments.length===1){var r=arguments[0];return this._lineEdgeMap.get(r)}else return n.prototype.findEdge.apply(this,arguments)},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e.determineBoundary=function(r,i){return r.isInBoundary(i)?R.BOUNDARY:R.INTERIOR},e}(He),_l=function(){if(this._li=new as,this._resultPrecisionModel=null,this._arg=null,arguments.length===1){var e=arguments[0];this.setComputationPrecision(e.getPrecisionModel()),this._arg=new Array(1).fill(null),this._arg[0]=new iu(0,e)}else if(arguments.length===2){var t=arguments[0],r=arguments[1],i=Pr.OGC_SFS_BOUNDARY_RULE;t.getPrecisionModel().compareTo(r.getPrecisionModel())>=0?this.setComputationPrecision(t.getPrecisionModel()):this.setComputationPrecision(r.getPrecisionModel()),this._arg=new Array(2).fill(null),this._arg[0]=new iu(0,t,i),this._arg[1]=new iu(1,r,i)}else if(arguments.length===3){var s=arguments[0],o=arguments[1],a=arguments[2];s.getPrecisionModel().compareTo(o.getPrecisionModel())>=0?this.setComputationPrecision(s.getPrecisionModel()):this.setComputationPrecision(o.getPrecisionModel()),this._arg=new Array(2).fill(null),this._arg[0]=new iu(0,s,a),this._arg[1]=new iu(1,o,a)}};_l.prototype.getArgGeometry=function(e){return this._arg[e].getGeometry()},_l.prototype.setComputationPrecision=function(e){this._resultPrecisionModel=e,this._li.setPrecisionModel(this._resultPrecisionModel)},_l.prototype.interfaces_=function(){return[]},_l.prototype.getClass=function(){return _l};var ys=function(){};ys.prototype.interfaces_=function(){return[]},ys.prototype.getClass=function(){return ys},ys.map=function(){if(arguments[0]instanceof oe&&ae(arguments[1],ys.MapOp)){for(var e=arguments[0],t=arguments[1],r=new W,i=0;i<e.getNumGeometries();i++){var s=t.map(e.getGeometryN(i));s!==null&&r.add(s)}return e.getFactory().buildGeometry(r)}else if(ae(arguments[0],nt)&&ae(arguments[1],ys.MapOp)){for(var o=arguments[0],a=arguments[1],l=new W,u=o.iterator();u.hasNext();){var h=u.next(),f=a.map(h);f!==null&&l.add(f)}return l}},ys.MapOp=function(){};var he=function(n){function e(){var t=arguments[0],r=arguments[1];n.call(this,t,r),this._ptLocator=new $r,this._geomFact=null,this._resultGeom=null,this._graph=null,this._edgeList=new Br,this._resultPolyList=new W,this._resultLineList=new W,this._resultPointList=new W,this._graph=new He(new Uf),this._geomFact=t.getFactory()}return n&&(e.__proto__=n),e.prototype=Object.create(n&&n.prototype),e.prototype.constructor=e,e.prototype.insertUniqueEdge=function(r){var i=this._edgeList.findEqualEdge(r);if(i!==null){var s=i.getLabel(),o=r.getLabel();i.isPointwiseEqual(r)||(o=new De(r.getLabel()),o.flip());var a=i.getDepth();a.isNull()&&a.add(s),a.add(o),s.merge(o)}else this._edgeList.add(r)},e.prototype.getGraph=function(){return this._graph},e.prototype.cancelDuplicateResultEdges=function(){for(var r=this._graph.getEdgeEnds().iterator();r.hasNext();){var i=r.next(),s=i.getSym();i.isInResult()&&s.isInResult()&&(i.setInResult(!1),s.setInResult(!1))}},e.prototype.isCoveredByLA=function(r){return!!(this.isCovered(r,this._resultLineList)||this.isCovered(r,this._resultPolyList))},e.prototype.computeGeometry=function(r,i,s,o){var a=new W;return a.addAll(r),a.addAll(i),a.addAll(s),a.isEmpty()?e.createEmptyResult(o,this._arg[0].getGeometry(),this._arg[1].getGeometry(),this._geomFact):this._geomFact.buildGeometry(a)},e.prototype.mergeSymLabels=function(){for(var r=this._graph.getNodes().iterator();r.hasNext();){var i=r.next();i.getEdges().mergeSymLabels()}},e.prototype.isCovered=function(r,i){for(var s=this,o=i.iterator();o.hasNext();){var a=o.next(),l=s._ptLocator.locate(r,a);if(l!==R.EXTERIOR)return!0}return!1},e.prototype.replaceCollapsedEdges=function(){for(var r=new W,i=this._edgeList.iterator();i.hasNext();){var s=i.next();s.isCollapsed()&&(i.remove(),r.add(s.getCollapsedEdge()))}this._edgeList.addAll(r)},e.prototype.updateNodeLabelling=function(){for(var r=this._graph.getNodes().iterator();r.hasNext();){var i=r.next(),s=i.getEdges().getLabel();i.getLabel().merge(s)}},e.prototype.getResultGeometry=function(r){return this.computeOverlay(r),this._resultGeom},e.prototype.insertUniqueEdges=function(r){for(var i=this,s=r.iterator();s.hasNext();){var o=s.next();i.insertUniqueEdge(o)}},e.prototype.computeOverlay=function(r){this.copyPoints(0),this.copyPoints(1),this._arg[0].computeSelfNodes(this._li,!1),this._arg[1].computeSelfNodes(this._li,!1),this._arg[0].computeEdgeIntersections(this._arg[1],this._li,!0);var i=new W;this._arg[0].computeSplitEdges(i),this._arg[1].computeSplitEdges(i),this.insertUniqueEdges(i),this.computeLabelsFromDepths(),this.replaceCollapsedEdges(),ms.checkValid(this._edgeList.getEdges()),this._graph.addEdges(this._edgeList.getEdges()),this.computeLabelling(),this.labelIncompleteNodes(),this.findResultAreaEdges(r),this.cancelDuplicateResultEdges();var s=new er(this._geomFact);s.add(this._graph),this._resultPolyList=s.getPolygons();var o=new Sn(this,this._geomFact,this._ptLocator);this._resultLineList=o.build(r);var a=new so(this,this._geomFact,this._ptLocator);this._resultPointList=a.build(r),this._resultGeom=this.computeGeometry(this._resultPointList,this._resultLineList,this._resultPolyList,r)},e.prototype.labelIncompleteNode=function(r,i){var s=this._ptLocator.locate(r.getCoordinate(),this._arg[i].getGeometry());r.getLabel().setLocation(i,s)},e.prototype.copyPoints=function(r){for(var i=this,s=this._arg[r].getNodeIterator();s.hasNext();){var o=s.next(),a=i._graph.addNode(o.getCoordinate());a.setLabel(r,o.getLabel().getLocation(r))}},e.prototype.findResultAreaEdges=function(r){for(var i=this._graph.getEdgeEnds().iterator();i.hasNext();){var s=i.next(),o=s.getLabel();o.isArea()&&!s.isInteriorAreaEdge()&&e.isResultOfOp(o.getLocation(0,U.RIGHT),o.getLocation(1,U.RIGHT),r)&&s.setInResult(!0)}},e.prototype.computeLabelsFromDepths=function(){for(var r=this._edgeList.iterator();r.hasNext();){var i=r.next(),s=i.getLabel(),o=i.getDepth();if(!o.isNull()){o.normalize();for(var a=0;a<2;a++)!s.isNull(a)&&s.isArea()&&!o.isNull(a)&&(o.getDelta(a)===0?s.toLine(a):(fe.isTrue(!o.isNull(a,U.LEFT),"depth of LEFT side has not been initialized"),s.setLocation(a,U.LEFT,o.getLocation(a,U.LEFT)),fe.isTrue(!o.isNull(a,U.RIGHT),"depth of RIGHT side has not been initialized"),s.setLocation(a,U.RIGHT,o.getLocation(a,U.RIGHT))))}}},e.prototype.computeLabelling=function(){for(var r=this,i=this._graph.getNodes().iterator();i.hasNext();){var s=i.next();s.getEdges().computeLabelling(r._arg)}this.mergeSymLabels(),this.updateNodeLabelling()},e.prototype.labelIncompleteNodes=function(){for(var r=this,i=this._graph.getNodes().iterator();i.hasNext();){var s=i.next(),o=s.getLabel();s.isIsolated()&&(o.isNull(0)?r.labelIncompleteNode(s,0):r.labelIncompleteNode(s,1)),s.getEdges().updateLabelling(o)}},e.prototype.isCoveredByA=function(r){return!!this.isCovered(r,this._resultPolyList)},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(_l);he.overlayOp=function(n,e,t){var r=new he(n,e),i=r.getResultGeometry(t);return i},he.intersection=function(n,e){if(n.isEmpty()||e.isEmpty())return he.createEmptyResult(he.INTERSECTION,n,e,n.getFactory());if(n.isGeometryCollection()){var t=e;return io.map(n,{interfaces_:function(){return[ys.MapOp]},map:function(r){return r.intersection(t)}})}return n.checkNotGeometryCollection(n),n.checkNotGeometryCollection(e),Vt.overlayOp(n,e,he.INTERSECTION)},he.symDifference=function(n,e){if(n.isEmpty()||e.isEmpty()){if(n.isEmpty()&&e.isEmpty())return he.createEmptyResult(he.SYMDIFFERENCE,n,e,n.getFactory());if(n.isEmpty())return e.copy();if(e.isEmpty())return n.copy()}return n.checkNotGeometryCollection(n),n.checkNotGeometryCollection(e),Vt.overlayOp(n,e,he.SYMDIFFERENCE)},he.resultDimension=function(n,e,t){var r=e.getDimension(),i=t.getDimension(),s=-1;switch(n){case he.INTERSECTION:s=Math.min(r,i);break;case he.UNION:s=Math.max(r,i);break;case he.DIFFERENCE:s=r;break;case he.SYMDIFFERENCE:s=Math.max(r,i);break}return s},he.createEmptyResult=function(n,e,t,r){var i=null;switch(he.resultDimension(n,e,t)){case-1:i=r.createGeometryCollection(new Array(0).fill(null));break;case 0:i=r.createPoint();break;case 1:i=r.createLineString();break;case 2:i=r.createPolygon();break}return i},he.difference=function(n,e){return n.isEmpty()?he.createEmptyResult(he.DIFFERENCE,n,e,n.getFactory()):e.isEmpty()?n.copy():(n.checkNotGeometryCollection(n),n.checkNotGeometryCollection(e),Vt.overlayOp(n,e,he.DIFFERENCE))},he.isResultOfOp=function(){if(arguments.length===2){var n=arguments[0],e=arguments[1],t=n.getLocation(0),r=n.getLocation(1);return he.isResultOfOp(t,r,e)}else if(arguments.length===3){var i=arguments[0],s=arguments[1],o=arguments[2];switch(i===R.BOUNDARY&&(i=R.INTERIOR),s===R.BOUNDARY&&(s=R.INTERIOR),o){case he.INTERSECTION:return i===R.INTERIOR&&s===R.INTERIOR;case he.UNION:return i===R.INTERIOR||s===R.INTERIOR;case he.DIFFERENCE:return i===R.INTERIOR&&s!==R.INTERIOR;case he.SYMDIFFERENCE:return i===R.INTERIOR&&s!==R.INTERIOR||i!==R.INTERIOR&&s===R.INTERIOR}return!1}},he.INTERSECTION=1,he.UNION=2,he.DIFFERENCE=3,he.SYMDIFFERENCE=4;var qi=function(){this._g=null,this._boundaryDistanceTolerance=null,this._linework=null,this._ptLocator=new $r,this._seg=new re;var e=arguments[0],t=arguments[1];this._g=e,this._boundaryDistanceTolerance=t,this._linework=this.extractLinework(e)};qi.prototype.isWithinToleranceOfBoundary=function(e){for(var t=this,r=0;r<this._linework.getNumGeometries();r++)for(var i=t._linework.getGeometryN(r),s=i.getCoordinateSequence(),o=0;o<s.size()-1;o++){s.getCoordinate(o,t._seg.p0),s.getCoordinate(o+1,t._seg.p1);var a=t._seg.distance(e);if(a<=t._boundaryDistanceTolerance)return!0}return!1},qi.prototype.getLocation=function(e){return this.isWithinToleranceOfBoundary(e)?R.BOUNDARY:this._ptLocator.locate(e,this._g)},qi.prototype.extractLinework=function(e){var t=new wl;e.apply(t);var r=t.getLinework(),i=ge.toLineStringArray(r);return e.getFactory().createMultiLineString(i)},qi.prototype.interfaces_=function(){return[]},qi.prototype.getClass=function(){return qi};var wl=function(){this._linework=null,this._linework=new W};wl.prototype.getLinework=function(){return this._linework},wl.prototype.filter=function(e){var t=this;if(e instanceof it){var r=e;this._linework.add(r.getExteriorRing());for(var i=0;i<r.getNumInteriorRing();i++)t._linework.add(r.getInteriorRingN(i))}},wl.prototype.interfaces_=function(){return[hn]},wl.prototype.getClass=function(){return wl};var _s=function(){this._g=null,this._doLeft=!0,this._doRight=!0;var e=arguments[0];this._g=e};_s.prototype.extractPoints=function(e,t,r){for(var i=this,s=e.getCoordinates(),o=0;o<s.length-1;o++)i.computeOffsetPoints(s[o],s[o+1],t,r)},_s.prototype.setSidesToGenerate=function(e,t){this._doLeft=e,this._doRight=t},_s.prototype.getPoints=function(e){for(var t=this,r=new W,i=_t.getLines(this._g),s=i.iterator();s.hasNext();){var o=s.next();t.extractPoints(o,e,r)}return r},_s.prototype.computeOffsetPoints=function(e,t,r,i){var s=t.x-e.x,o=t.y-e.y,a=Math.sqrt(s*s+o*o),l=r*s/a,u=r*o/a,h=(t.x+e.x)/2,f=(t.y+e.y)/2;if(this._doLeft){var p=new M(h-u,f+l);i.add(p)}if(this._doRight){var v=new M(h+u,f-l);i.add(v)}},_s.prototype.interfaces_=function(){return[]},_s.prototype.getClass=function(){return _s};var pr=function n(){this._geom=null,this._locFinder=null,this._location=new Array(3).fill(null),this._invalidLocation=null,this._boundaryDistanceTolerance=n.TOLERANCE,this._testCoords=new W;var e=arguments[0],t=arguments[1],r=arguments[2];this._boundaryDistanceTolerance=n.computeBoundaryDistanceTolerance(e,t),this._geom=[e,t,r],this._locFinder=[new qi(this._geom[0],this._boundaryDistanceTolerance),new qi(this._geom[1],this._boundaryDistanceTolerance),new qi(this._geom[2],this._boundaryDistanceTolerance)]},Qf={TOLERANCE:{configurable:!0}};pr.prototype.reportResult=function(e,t,r){mt.out.println("Overlay result invalid - A:"+R.toLocationSymbol(t[0])+" B:"+R.toLocationSymbol(t[1])+" expected:"+(r?"i":"e")+" actual:"+R.toLocationSymbol(t[2]))},pr.prototype.isValid=function(e){this.addTestPts(this._geom[0]),this.addTestPts(this._geom[1]);var t=this.checkValid(e);return t},pr.prototype.checkValid=function(){var e=this;if(arguments.length===1){for(var t=arguments[0],r=0;r<this._testCoords.size();r++){var i=e._testCoords.get(r);if(!e.checkValid(t,i))return e._invalidLocation=i,!1}return!0}else if(arguments.length===2){var s=arguments[0],o=arguments[1];return this._location[0]=this._locFinder[0].getLocation(o),this._location[1]=this._locFinder[1].getLocation(o),this._location[2]=this._locFinder[2].getLocation(o),pr.hasLocation(this._location,R.BOUNDARY)?!0:this.isValidResult(s,this._location)}},pr.prototype.addTestPts=function(e){var t=new _s(e);this._testCoords.addAll(t.getPoints(5*this._boundaryDistanceTolerance))},pr.prototype.isValidResult=function(e,t){var r=he.isResultOfOp(t[0],t[1],e),i=t[2]===R.INTERIOR,s=!(r^i);return s||this.reportResult(e,t,r),s},pr.prototype.getInvalidLocation=function(){return this._invalidLocation},pr.prototype.interfaces_=function(){return[]},pr.prototype.getClass=function(){return pr},pr.hasLocation=function(e,t){for(var r=0;r<3;r++)if(e[r]===t)return!0;return!1},pr.computeBoundaryDistanceTolerance=function(e,t){return Math.min($e.computeSizeBasedSnapTolerance(e),$e.computeSizeBasedSnapTolerance(t))},pr.isValid=function(e,t,r,i){var s=new pr(e,t,i);return s.isValid(r)},Qf.TOLERANCE.get=function(){return 1e-6},Object.defineProperties(pr,Qf);var gr=function n(e){this._geomFactory=null,this._skipEmpty=!1,this._inputGeoms=null,this._geomFactory=n.extractFactory(e),this._inputGeoms=e};gr.prototype.extractElements=function(e,t){var r=this;if(e===null)return null;for(var i=0;i<e.getNumGeometries();i++){var s=e.getGeometryN(i);r._skipEmpty&&s.isEmpty()||t.add(s)}},gr.prototype.combine=function(){for(var e=this,t=new W,r=this._inputGeoms.iterator();r.hasNext();){var i=r.next();e.extractElements(i,t)}return t.size()===0?this._geomFactory!==null?this._geomFactory.createGeometryCollection(null):null:this._geomFactory.buildGeometry(t)},gr.prototype.interfaces_=function(){return[]},gr.prototype.getClass=function(){return gr},gr.combine=function(){if(arguments.length===1){var e=arguments[0],t=new gr(e);return t.combine()}else if(arguments.length===2){var r=arguments[0],i=arguments[1],s=new gr(gr.createList(r,i));return s.combine()}else if(arguments.length===3){var o=arguments[0],a=arguments[1],l=arguments[2],u=new gr(gr.createList(o,a,l));return u.combine()}},gr.extractFactory=function(e){return e.isEmpty()?null:e.iterator().next().getFactory()},gr.createList=function(){if(arguments.length===2){var e=arguments[0],t=arguments[1],r=new W;return r.add(e),r.add(t),r}else if(arguments.length===3){var i=arguments[0],s=arguments[1],o=arguments[2],a=new W;return a.add(i),a.add(s),a.add(o),a}};var tt=function(){this._inputPolys=null,this._geomFactory=null;var e=arguments[0];this._inputPolys=e,this._inputPolys===null&&(this._inputPolys=new W)},Bf={STRTREE_NODE_CAPACITY:{configurable:!0}};tt.prototype.reduceToGeometries=function(e){for(var t=this,r=new W,i=e.iterator();i.hasNext();){var s=i.next(),o=null;ae(s,Hr)?o=t.unionTree(s):s instanceof oe&&(o=s),r.add(o)}return r},tt.prototype.extractByEnvelope=function(e,t,r){for(var i=new W,s=0;s<t.getNumGeometries();s++){var o=t.getGeometryN(s);o.getEnvelopeInternal().intersects(e)?i.add(o):r.add(o)}return this._geomFactory.buildGeometry(i)},tt.prototype.unionOptimized=function(e,t){var r=e.getEnvelopeInternal(),i=t.getEnvelopeInternal();if(!r.intersects(i)){var s=gr.combine(e,t);return s}if(e.getNumGeometries()<=1&&t.getNumGeometries()<=1)return this.unionActual(e,t);var o=r.intersection(i);return this.unionUsingEnvelopeIntersection(e,t,o)},tt.prototype.union=function(){if(this._inputPolys===null)throw new Error("union() method cannot be called twice");if(this._inputPolys.isEmpty())return null;this._geomFactory=this._inputPolys.iterator().next().getFactory();for(var e=new Af(tt.STRTREE_NODE_CAPACITY),t=this._inputPolys.iterator();t.hasNext();){var r=t.next();e.insert(r.getEnvelopeInternal(),r)}this._inputPolys=null;var i=e.itemsTree(),s=this.unionTree(i);return s},tt.prototype.binaryUnion=function(){if(arguments.length===1){var e=arguments[0];return this.binaryUnion(e,0,e.size())}else if(arguments.length===3){var t=arguments[0],r=arguments[1],i=arguments[2];if(i-r<=1){var s=tt.getGeometry(t,r);return this.unionSafe(s,null)}else{if(i-r===2)return this.unionSafe(tt.getGeometry(t,r),tt.getGeometry(t,r+1));var o=Math.trunc((i+r)/2),a=this.binaryUnion(t,r,o),l=this.binaryUnion(t,o,i);return this.unionSafe(a,l)}}},tt.prototype.repeatedUnion=function(e){for(var t=null,r=e.iterator();r.hasNext();){var i=r.next();t===null?t=i.copy():t=t.union(i)}return t},tt.prototype.unionSafe=function(e,t){return e===null&&t===null?null:e===null?t.copy():t===null?e.copy():this.unionOptimized(e,t)},tt.prototype.unionActual=function(e,t){return tt.restrictToPolygons(e.union(t))},tt.prototype.unionTree=function(e){var t=this.reduceToGeometries(e),r=this.binaryUnion(t);return r},tt.prototype.unionUsingEnvelopeIntersection=function(e,t,r){var i=new W,s=this.extractByEnvelope(r,e,i),o=this.extractByEnvelope(r,t,i),a=this.unionActual(s,o);i.add(a);var l=gr.combine(i);return l},tt.prototype.bufferUnion=function(){if(arguments.length===1){var e=arguments[0],t=e.get(0).getFactory(),r=t.buildGeometry(e),i=r.buffer(0);return i}else if(arguments.length===2){var s=arguments[0],o=arguments[1],a=s.getFactory(),l=a.createGeometryCollection([s,o]),u=l.buffer(0);return u}},tt.prototype.interfaces_=function(){return[]},tt.prototype.getClass=function(){return tt},tt.restrictToPolygons=function(e){if(ae(e,Li))return e;var t=di.getPolygons(e);return t.size()===1?t.get(0):e.getFactory().createMultiPolygon(ge.toPolygonArray(t))},tt.getGeometry=function(e,t){return t>=e.size()?null:e.get(t)},tt.union=function(e){var t=new tt(e);return t.union()},Bf.STRTREE_NODE_CAPACITY.get=function(){return 4},Object.defineProperties(tt,Bf);var Yu=function(){};Yu.prototype.interfaces_=function(){return[]},Yu.prototype.getClass=function(){return Yu},Yu.union=function(e,t){if(e.isEmpty()||t.isEmpty()){if(e.isEmpty()&&t.isEmpty())return he.createEmptyResult(he.UNION,e,t,e.getFactory());if(e.isEmpty())return t.copy();if(t.isEmpty())return e.copy()}return e.checkNotGeometryCollection(e),e.checkNotGeometryCollection(t),Vt.overlayOp(e,t,he.UNION)};function ws(){return new Hu}function Hu(){this.reset()}Hu.prototype={constructor:Hu,reset:function(){this.s=this.t=0},add:function(n){$f(Ju,n,this.t),$f(this,Ju.s,this.s),this.s?this.t+=Ju.t:this.s=Ju.t},valueOf:function(){return this.s}};var Ju=new Hu;function $f(n,e,t){var r=n.s=e+t,i=r-e,s=r-i;n.t=e-s+(t-i)}var rt=1e-6,Le=Math.PI,pi=Le/2,jf=Le/4,gi=Le*2,Es=180/Le,Cn=Le/180,zt=Math.abs,sv=Math.atan,El=Math.atan2,ot=Math.cos,at=Math.sin,Sl=Math.sqrt;function ed(n){return n>1?0:n<-1?Le:Math.acos(n)}function ao(n){return n>1?pi:n<-1?-pi:Math.asin(n)}function su(){}function Zu(n,e){n&&rd.hasOwnProperty(n.type)&&rd[n.type](n,e)}var td={Feature:function(n,e){Zu(n.geometry,e)},FeatureCollection:function(n,e){for(var t=n.features,r=-1,i=t.length;++r<i;)Zu(t[r].geometry,e)}},rd={Sphere:function(n,e){e.sphere()},Point:function(n,e){n=n.coordinates,e.point(n[0],n[1],n[2])},MultiPoint:function(n,e){for(var t=n.coordinates,r=-1,i=t.length;++r<i;)n=t[r],e.point(n[0],n[1],n[2])},LineString:function(n,e){jc(n.coordinates,e,0)},MultiLineString:function(n,e){for(var t=n.coordinates,r=-1,i=t.length;++r<i;)jc(t[r],e,0)},Polygon:function(n,e){nd(n.coordinates,e)},MultiPolygon:function(n,e){for(var t=n.coordinates,r=-1,i=t.length;++r<i;)nd(t[r],e)},GeometryCollection:function(n,e){for(var t=n.geometries,r=-1,i=t.length;++r<i;)Zu(t[r],e)}};function jc(n,e,t){var r=-1,i=n.length-t,s;for(e.lineStart();++r<i;)s=n[r],e.point(s[0],s[1],s[2]);e.lineEnd()}function nd(n,e){var t=-1,r=n.length;for(e.polygonStart();++t<r;)jc(n[t],e,1);e.polygonEnd()}function ov(n,e){n&&td.hasOwnProperty(n.type)?td[n.type](n,e):Zu(n,e)}ws(),ws();function eh(n){return[El(n[1],n[0]),ao(n[2])]}function Cl(n){var e=n[0],t=n[1],r=ot(t);return[r*ot(e),r*at(e),at(t)]}function Ku(n,e){return n[0]*e[0]+n[1]*e[1]+n[2]*e[2]}function Qu(n,e){return[n[1]*e[2]-n[2]*e[1],n[2]*e[0]-n[0]*e[2],n[0]*e[1]-n[1]*e[0]]}function th(n,e){n[0]+=e[0],n[1]+=e[1],n[2]+=e[2]}function Bu(n,e){return[n[0]*e,n[1]*e,n[2]*e]}function rh(n){var e=Sl(n[0]*n[0]+n[1]*n[1]+n[2]*n[2]);n[0]/=e,n[1]/=e,n[2]/=e}ws();function id(n,e){function t(r,i){return r=n(r,i),e(r[0],r[1])}return n.invert&&e.invert&&(t.invert=function(r,i){return r=e.invert(r,i),r&&n.invert(r[0],r[1])}),t}function nh(n,e){return[n>Le?n-gi:n<-Le?n+gi:n,e]}nh.invert=nh;function av(n,e,t){return(n%=gi)?e||t?id(od(n),ad(e,t)):od(n):e||t?ad(e,t):nh}function sd(n){return function(e,t){return e+=n,[e>Le?e-gi:e<-Le?e+gi:e,t]}}function od(n){var e=sd(n);return e.invert=sd(-n),e}function ad(n,e){var t=ot(n),r=at(n),i=ot(e),s=at(e);function o(a,l){var u=ot(l),h=ot(a)*u,f=at(a)*u,p=at(l),v=p*t+h*r;return[El(f*i-v*s,h*t-p*r),ao(v*i+f*s)]}return o.invert=function(a,l){var u=ot(l),h=ot(a)*u,f=at(a)*u,p=at(l),v=p*i-f*s;return[El(f*i+p*s,h*t+v*r),ao(v*t-h*r)]},o}function lv(n,e,t,r,i,s){if(t){var o=ot(e),a=at(e),l=r*t;i==null?(i=e+r*gi,s=e-l/2):(i=ld(o,i),s=ld(o,s),(r>0?i<s:i>s)&&(i+=r*gi));for(var u,h=i;r>0?h>s:h<s;h-=l)u=eh([o,-a*ot(h),-a*at(h)]),n.point(u[0],u[1])}}function ld(n,e){e=Cl(e),e[0]-=n,rh(e);var t=ed(-e[1]);return((-e[2]<0?-t:t)+gi-rt)%gi}function ud(){var n=[],e;return{point:function(t,r){e.push([t,r])},lineStart:function(){n.push(e=[])},lineEnd:su,rejoin:function(){n.length>1&&n.push(n.pop().concat(n.shift()))},result:function(){var t=n;return n=[],e=null,t}}}function uv(n,e,t,r,i,s){var o=n[0],a=n[1],l=e[0],u=e[1],h=0,f=1,p=l-o,v=u-a,w;if(w=t-o,!(!p&&w>0)){if(w/=p,p<0){if(w<h)return;w<f&&(f=w)}else if(p>0){if(w>f)return;w>h&&(h=w)}if(w=i-o,!(!p&&w<0)){if(w/=p,p<0){if(w>f)return;w>h&&(h=w)}else if(p>0){if(w<h)return;w<f&&(f=w)}if(w=r-a,!(!v&&w>0)){if(w/=v,v<0){if(w<h)return;w<f&&(f=w)}else if(v>0){if(w>f)return;w>h&&(h=w)}if(w=s-a,!(!v&&w<0)){if(w/=v,v<0){if(w>f)return;w>h&&(h=w)}else if(v>0){if(w<h)return;w<f&&(f=w)}return h>0&&(n[0]=o+h*p,n[1]=a+h*v),f<1&&(e[0]=o+f*p,e[1]=a+f*v),!0}}}}}function $u(n,e){return zt(n[0]-e[0])<rt&&zt(n[1]-e[1])<rt}function ju(n,e,t,r){this.x=n,this.z=e,this.o=t,this.e=r,this.v=!1,this.n=this.p=null}function cd(n,e,t,r,i){var s=[],o=[],a,l;if(n.forEach(function(w){if(!((I=w.length-1)<=0)){var I,T=w[0],L=w[I],m;if($u(T,L)){for(i.lineStart(),a=0;a<I;++a)i.point((T=w[a])[0],T[1]);i.lineEnd();return}s.push(m=new ju(T,w,null,!0)),o.push(m.o=new ju(T,null,m,!1)),s.push(m=new ju(L,w,null,!1)),o.push(m.o=new ju(L,null,m,!0))}}),!!s.length){for(o.sort(e),hd(s),hd(o),a=0,l=o.length;a<l;++a)o[a].e=t=!t;for(var u=s[0],h,f;;){for(var p=u,v=!0;p.v;)if((p=p.n)===u)return;h=p.z,i.lineStart();do{if(p.v=p.o.v=!0,p.e){if(v)for(a=0,l=h.length;a<l;++a)i.point((f=h[a])[0],f[1]);else r(p.x,p.n.x,1,i);p=p.n}else{if(v)for(h=p.p.z,a=h.length-1;a>=0;--a)i.point((f=h[a])[0],f[1]);else r(p.x,p.p.x,-1,i);p=p.p}p=p.o,h=p.z,v=!v}while(!p.v);i.lineEnd()}}}function hd(n){if(e=n.length){for(var e,t=0,r=n[0],i;++t<e;)r.n=i=n[t],i.p=r,r=i;r.n=i=n[0],i.p=r}}function fd(n,e){return n<e?-1:n>e?1:n>=e?0:NaN}function cv(n){return n.length===1&&(n=hv(n)),{left:function(e,t,r,i){for(r==null&&(r=0),i==null&&(i=e.length);r<i;){var s=r+i>>>1;n(e[s],t)<0?r=s+1:i=s}return r},right:function(e,t,r,i){for(r==null&&(r=0),i==null&&(i=e.length);r<i;){var s=r+i>>>1;n(e[s],t)>0?i=s:r=s+1}return r}}}function hv(n){return function(e,t){return fd(n(e),t)}}cv(fd);function dd(n){for(var e=n.length,t,r=-1,i=0,s,o;++r<e;)i+=n[r].length;for(s=new Array(i);--e>=0;)for(o=n[e],t=o.length;--t>=0;)s[--i]=o[t];return s}var ec=1e9,tc=-1e9;function fv(n,e,t,r){function i(u,h){return n<=u&&u<=t&&e<=h&&h<=r}function s(u,h,f,p){var v=0,w=0;if(u==null||(v=o(u,f))!==(w=o(h,f))||l(u,h)<0^f>0)do p.point(v===0||v===3?n:t,v>1?r:e);while((v=(v+f+4)%4)!==w);else p.point(h[0],h[1])}function o(u,h){return zt(u[0]-n)<rt?h>0?0:3:zt(u[0]-t)<rt?h>0?2:1:zt(u[1]-e)<rt?h>0?1:0:h>0?3:2}function a(u,h){return l(u.x,h.x)}function l(u,h){var f=o(u,1),p=o(h,1);return f!==p?f-p:f===0?h[1]-u[1]:f===1?u[0]-h[0]:f===2?u[1]-h[1]:h[0]-u[0]}return function(u){var h=u,f=ud(),p,v,w,I,T,L,m,_,g,y,E,C={point:b,lineStart:O,lineEnd:A,polygonStart:x,polygonEnd:N};function b(B,X){i(B,X)&&h.point(B,X)}function D(){for(var B=0,X=0,ne=v.length;X<ne;++X)for(var ue=v[X],de=1,K=ue.length,$=ue[0],ee,ve,Oe=$[0],Ce=$[1];de<K;++de)ee=Oe,ve=Ce,$=ue[de],Oe=$[0],Ce=$[1],ve<=r?Ce>r&&(Oe-ee)*(r-ve)>(Ce-ve)*(n-ee)&&++B:Ce<=r&&(Oe-ee)*(r-ve)<(Ce-ve)*(n-ee)&&--B;return B}function x(){h=f,p=[],v=[],E=!0}function N(){var B=D(),X=E&&B,ne=(p=dd(p)).length;(X||ne)&&(u.polygonStart(),X&&(u.lineStart(),s(null,null,1,u),u.lineEnd()),ne&&cd(p,a,B,s,u),u.polygonEnd()),h=u,p=v=w=null}function O(){C.point=F,v&&v.push(w=[]),y=!0,g=!1,m=_=NaN}function A(){p&&(F(I,T),L&&g&&f.rejoin(),p.push(f.result())),C.point=b,g&&h.lineEnd()}function F(B,X){var ne=i(B,X);if(v&&w.push([B,X]),y)I=B,T=X,L=ne,y=!1,ne&&(h.lineStart(),h.point(B,X));else if(ne&&g)h.point(B,X);else{var ue=[m=Math.max(tc,Math.min(ec,m)),_=Math.max(tc,Math.min(ec,_))],de=[B=Math.max(tc,Math.min(ec,B)),X=Math.max(tc,Math.min(ec,X))];uv(ue,de,n,e,t,r)?(g||(h.lineStart(),h.point(ue[0],ue[1])),h.point(de[0],de[1]),ne||h.lineEnd(),E=!1):ne&&(h.lineStart(),h.point(B,X),E=!1)}m=B,_=X,g=ne}return C}}var ih=ws();function dv(n,e){var t=e[0],r=e[1],i=[at(t),-ot(t),0],s=0,o=0;ih.reset();for(var a=0,l=n.length;a<l;++a)if(h=(u=n[a]).length)for(var u,h,f=u[h-1],p=f[0],v=f[1]/2+jf,w=at(v),I=ot(v),T=0;T<h;++T,p=m,w=g,I=y,f=L){var L=u[T],m=L[0],_=L[1]/2+jf,g=at(_),y=ot(_),E=m-p,C=E>=0?1:-1,b=C*E,D=b>Le,x=w*g;if(ih.add(El(x*C*at(b),I*y+x*ot(b))),s+=D?E+C*gi:E,D^p>=t^m>=t){var N=Qu(Cl(f),Cl(L));rh(N);var O=Qu(i,N);rh(O);var A=(D^E>=0?-1:1)*ao(O[2]);(r>A||r===A&&(N[0]||N[1]))&&(o+=D^E>=0?1:-1)}}return(s<-1e-6||s<rt&&ih<-1e-6)^o&1}ws();function pd(n){return n}ws(),ws();var Pl=1/0,rc=Pl,ou=-Pl,nc=ou,gd={point:pv,lineStart:su,lineEnd:su,polygonStart:su,polygonEnd:su,result:function(){var n=[[Pl,rc],[ou,nc]];return ou=nc=-(rc=Pl=1/0),n}};function pv(n,e){n<Pl&&(Pl=n),n>ou&&(ou=n),e<rc&&(rc=e),e>nc&&(nc=e)}ws();function md(n,e,t,r){return function(i,s){var o=e(s),a=i.invert(r[0],r[1]),l=ud(),u=e(l),h=!1,f,p,v,w={point:I,lineStart:L,lineEnd:m,polygonStart:function(){w.point=_,w.lineStart=g,w.lineEnd=y,p=[],f=[]},polygonEnd:function(){w.point=I,w.lineStart=L,w.lineEnd=m,p=dd(p);var E=dv(f,a);p.length?(h||(s.polygonStart(),h=!0),cd(p,mv,E,t,s)):E&&(h||(s.polygonStart(),h=!0),s.lineStart(),t(null,null,1,s),s.lineEnd()),h&&(s.polygonEnd(),h=!1),p=f=null},sphere:function(){s.polygonStart(),s.lineStart(),t(null,null,1,s),s.lineEnd(),s.polygonEnd()}};function I(E,C){var b=i(E,C);n(E=b[0],C=b[1])&&s.point(E,C)}function T(E,C){var b=i(E,C);o.point(b[0],b[1])}function L(){w.point=T,o.lineStart()}function m(){w.point=I,o.lineEnd()}function _(E,C){v.push([E,C]);var b=i(E,C);u.point(b[0],b[1])}function g(){u.lineStart(),v=[]}function y(){_(v[0][0],v[0][1]),u.lineEnd();var E=u.clean(),C=l.result(),b,D=C.length,x,N,O;if(v.pop(),f.push(v),v=null,!!D){if(E&1){if(N=C[0],(x=N.length-1)>0){for(h||(s.polygonStart(),h=!0),s.lineStart(),b=0;b<x;++b)s.point((O=N[b])[0],O[1]);s.lineEnd()}return}D>1&&E&2&&C.push(C.pop().concat(C.shift())),p.push(C.filter(gv))}}return w}}function gv(n){return n.length>1}function mv(n,e){return((n=n.x)[0]<0?n[1]-pi-rt:pi-n[1])-((e=e.x)[0]<0?e[1]-pi-rt:pi-e[1])}const vd=md(function(){return!0},vv,_v,[-Le,-pi]);function vv(n){var e=NaN,t=NaN,r=NaN,i;return{lineStart:function(){n.lineStart(),i=1},point:function(s,o){var a=s>0?Le:-Le,l=zt(s-e);zt(l-Le)<rt?(n.point(e,t=(t+o)/2>0?pi:-pi),n.point(r,t),n.lineEnd(),n.lineStart(),n.point(a,t),n.point(s,t),i=0):r!==a&&l>=Le&&(zt(e-r)<rt&&(e-=r*rt),zt(s-a)<rt&&(s-=a*rt),t=yv(e,t,s,o),n.point(r,t),n.lineEnd(),n.lineStart(),n.point(a,t),i=0),n.point(e=s,t=o),r=a},lineEnd:function(){n.lineEnd(),e=t=NaN},clean:function(){return 2-i}}}function yv(n,e,t,r){var i,s,o=at(n-t);return zt(o)>rt?sv((at(e)*(s=ot(r))*at(t)-at(r)*(i=ot(e))*at(n))/(i*s*o)):(e+r)/2}function _v(n,e,t,r){var i;if(n==null)i=t*pi,r.point(-Le,i),r.point(0,i),r.point(Le,i),r.point(Le,0),r.point(Le,-i),r.point(0,-i),r.point(-Le,-i),r.point(-Le,0),r.point(-Le,i);else if(zt(n[0]-e[0])>rt){var s=n[0]<e[0]?Le:-Le;i=t*s/2,r.point(-s,i),r.point(0,i),r.point(s,i)}else r.point(e[0],e[1])}function wv(n,e){var t=ot(n),r=t>0,i=zt(t)>rt;function s(h,f,p,v){lv(v,n,e,p,h,f)}function o(h,f){return ot(h)*ot(f)>t}function a(h){var f,p,v,w,I;return{lineStart:function(){w=v=!1,I=1},point:function(T,L){var m=[T,L],_,g=o(T,L),y=r?g?0:u(T,L):g?u(T+(T<0?Le:-Le),L):0;if(!f&&(w=v=g)&&h.lineStart(),g!==v&&(_=l(f,m),(!_||$u(f,_)||$u(m,_))&&(m[0]+=rt,m[1]+=rt,g=o(m[0],m[1]))),g!==v)I=0,g?(h.lineStart(),_=l(m,f),h.point(_[0],_[1])):(_=l(f,m),h.point(_[0],_[1]),h.lineEnd()),f=_;else if(i&&f&&r^g){var E;!(y&p)&&(E=l(m,f,!0))&&(I=0,r?(h.lineStart(),h.point(E[0][0],E[0][1]),h.point(E[1][0],E[1][1]),h.lineEnd()):(h.point(E[1][0],E[1][1]),h.lineEnd(),h.lineStart(),h.point(E[0][0],E[0][1])))}g&&(!f||!$u(f,m))&&h.point(m[0],m[1]),f=m,v=g,p=y},lineEnd:function(){v&&h.lineEnd(),f=null},clean:function(){return I|(w&&v)<<1}}}function l(h,f,p){var v=Cl(h),w=Cl(f),I=[1,0,0],T=Qu(v,w),L=Ku(T,T),m=T[0],_=L-m*m;if(!_)return!p&&h;var g=t*L/_,y=-t*m/_,E=Qu(I,T),C=Bu(I,g),b=Bu(T,y);th(C,b);var D=E,x=Ku(C,D),N=Ku(D,D),O=x*x-N*(Ku(C,C)-1);if(!(O<0)){var A=Sl(O),F=Bu(D,(-x-A)/N);if(th(F,C),F=eh(F),!p)return F;var B=h[0],X=f[0],ne=h[1],ue=f[1],de;X<B&&(de=B,B=X,X=de);var K=X-B,$=zt(K-Le)<rt,ee=$||K<rt;if(!$&&ue<ne&&(de=ne,ne=ue,ue=de),ee?$?ne+ue>0^F[1]<(zt(F[0]-B)<rt?ne:ue):ne<=F[1]&&F[1]<=ue:K>Le^(B<=F[0]&&F[0]<=X)){var ve=Bu(D,(-x+A)/N);return th(ve,C),[F,eh(ve)]}}}function u(h,f){var p=r?n:Le-n,v=0;return h<-p?v|=1:h>p&&(v|=2),f<-p?v|=4:f>p&&(v|=8),v}return md(o,a,s,r?[0,-n]:[-Le,n-Le])}function yd(n){return function(e){var t=new sh;for(var r in n)t[r]=n[r];return t.stream=e,t}}function sh(){}sh.prototype={constructor:sh,point:function(n,e){this.stream.point(n,e)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}};function _d(n,e,t){var r=e[1][0]-e[0][0],i=e[1][1]-e[0][1],s=n.clipExtent&&n.clipExtent();n.scale(150).translate([0,0]),s!=null&&n.clipExtent(null),ov(t,n.stream(gd));var o=gd.result(),a=Math.min(r/(o[1][0]-o[0][0]),i/(o[1][1]-o[0][1])),l=+e[0][0]+(r-a*(o[1][0]+o[0][0]))/2,u=+e[0][1]+(i-a*(o[1][1]+o[0][1]))/2;return s!=null&&n.clipExtent(s),n.scale(a*150).translate([l,u])}function Ev(n,e,t){return _d(n,[[0,0],e],t)}var wd=16,Sv=ot(30*Cn);function Ed(n,e){return+e?Pv(n,e):Cv(n)}function Cv(n){return yd({point:function(e,t){e=n(e,t),this.stream.point(e[0],e[1])}})}function Pv(n,e){function t(r,i,s,o,a,l,u,h,f,p,v,w,I,T){var L=u-r,m=h-i,_=L*L+m*m;if(_>4*e&&I--){var g=o+p,y=a+v,E=l+w,C=Sl(g*g+y*y+E*E),b=ao(E/=C),D=zt(zt(E)-1)<rt||zt(s-f)<rt?(s+f)/2:El(y,g),x=n(D,b),N=x[0],O=x[1],A=N-r,F=O-i,B=m*A-L*F;(B*B/_>e||zt((L*A+m*F)/_-.5)>.3||o*p+a*v+l*w<Sv)&&(t(r,i,s,o,a,l,N,O,D,g/=C,y/=C,E,I,T),T.point(N,O),t(N,O,D,g,y,E,u,h,f,p,v,w,I,T))}}return function(r){var i,s,o,a,l,u,h,f,p,v,w,I,T={point:L,lineStart:m,lineEnd:g,polygonStart:function(){r.polygonStart(),T.lineStart=y},polygonEnd:function(){r.polygonEnd(),T.lineStart=m}};function L(b,D){b=n(b,D),r.point(b[0],b[1])}function m(){f=NaN,T.point=_,r.lineStart()}function _(b,D){var x=Cl([b,D]),N=n(b,D);t(f,p,h,v,w,I,f=N[0],p=N[1],h=b,v=x[0],w=x[1],I=x[2],wd,r),r.point(f,p)}function g(){T.point=L,r.lineEnd()}function y(){m(),T.point=E,T.lineEnd=C}function E(b,D){_(i=b,D),s=f,o=p,a=v,l=w,u=I,T.point=_}function C(){t(f,p,h,v,w,I,s,o,i,a,l,u,wd,r),T.lineEnd=g,g()}return T}}var Iv=yd({point:function(n,e){this.stream.point(n*Cn,e*Cn)}});function Tv(n){return bv(function(){return n})()}function bv(n){var e,t=150,r=480,i=250,s,o,a=0,l=0,u=0,h=0,f=0,p,v,w=null,I=vd,T=null,L,m,_,g=pd,y=.5,E=Ed(N,y),C,b;function D(F){return F=v(F[0]*Cn,F[1]*Cn),[F[0]*t+s,o-F[1]*t]}function x(F){return F=v.invert((F[0]-s)/t,(o-F[1])/t),F&&[F[0]*Es,F[1]*Es]}function N(F,B){return F=e(F,B),[F[0]*t+s,o-F[1]*t]}D.stream=function(F){return C&&b===F?C:C=Iv(I(p,E(g(b=F))))},D.clipAngle=function(F){return arguments.length?(I=+F?wv(w=F*Cn,6*Cn):(w=null,vd),A()):w*Es},D.clipExtent=function(F){return arguments.length?(g=F==null?(T=L=m=_=null,pd):fv(T=+F[0][0],L=+F[0][1],m=+F[1][0],_=+F[1][1]),A()):T==null?null:[[T,L],[m,_]]},D.scale=function(F){return arguments.length?(t=+F,O()):t},D.translate=function(F){return arguments.length?(r=+F[0],i=+F[1],O()):[r,i]},D.center=function(F){return arguments.length?(a=F[0]%360*Cn,l=F[1]%360*Cn,O()):[a*Es,l*Es]},D.rotate=function(F){return arguments.length?(u=F[0]%360*Cn,h=F[1]%360*Cn,f=F.length>2?F[2]%360*Cn:0,O()):[u*Es,h*Es,f*Es]},D.precision=function(F){return arguments.length?(E=Ed(N,y=F*F),A()):Sl(y)},D.fitExtent=function(F,B){return _d(D,F,B)},D.fitSize=function(F,B){return Ev(D,F,B)};function O(){v=id(p=av(u,h,f),e);var F=e(a,l);return s=r-F[0]*t,o=i+F[1]*t,A()}function A(){return C=b=null,D}return function(){return e=n.apply(this,arguments),D.invert=e.invert&&x,O()}}function Sd(n){return function(e,t){var r=ot(e),i=ot(t),s=n(r*i);return[s*i*at(e),s*at(t)]}}function Cd(n){return function(e,t){var r=Sl(e*e+t*t),i=n(r),s=at(i),o=ot(i);return[El(e*s,r*o),ao(r&&t*s/r)]}}var Nv=Sd(function(n){return Sl(2/(1+n))});Nv.invert=Cd(function(n){return 2*ao(n/2)});var Pd=Sd(function(n){return(n=ed(n))&&n/at(n)});Pd.invert=Cd(function(n){return n});function Dv(){return Tv(Pd).scale(79.4188).clipAngle(180-.001)}function Id(n,e){return[n,e]}Id.invert=Id;function Ov(n,e,t){t=t||{};var r=t.units||"kilometers",i=t.steps||8;if(!n)throw new Error("geojson is required");if(typeof t!="object")throw new Error("options must be an object");if(typeof i!="number")throw new Error("steps must be an number");if(e===void 0)throw new Error("radius is required");if(i<=0)throw new Error("steps must be greater than 0");var s=[];switch(n.type){case"GeometryCollection":return Pu(n,function(o){var a=ic(o,e,r,i);a&&s.push(a)}),Ka(s);case"FeatureCollection":return Cu(n,function(o){var a=ic(o,e,r,i);a&&Cu(a,function(l){l&&s.push(l)})}),Ka(s)}return ic(n,e,r,i)}function ic(n,e,t,r){var i=n.properties||{},s=n.type==="Feature"?n.geometry:n;if(s.type==="GeometryCollection"){var o=[];return Pu(n,function(I){var T=ic(I,e,t,r);T&&o.push(T)}),Ka(o)}var a=Mv(s),l={type:s.type,coordinates:bd(s.coordinates,a)},u=new qc,h=u.read(l),f=Sc(Cc(e,t),"meters"),p=yt.bufferOp(h,f,r),v=new xf;if(p=v.write(p),!Td(p.coordinates)){var w={type:p.type,coordinates:Nd(p.coordinates,a)};return Nn(w,i)}}function Td(n){return Array.isArray(n[0])?Td(n[0]):isNaN(n[0])}function bd(n,e){return typeof n[0]!="object"?e(n):n.map(function(t){return bd(t,e)})}function Nd(n,e){return typeof n[0]!="object"?e.invert(n):n.map(function(t){return Nd(t,e)})}function Mv(n){var e=Gm(n).geometry.coordinates,t=[-e[0],-e[1]];return Dv().rotate(t).scale(Ut)}function xv(n,e,t){t===void 0&&(t={});for(var r=t.steps||64,i=t.properties?t.properties:!Array.isArray(n)&&n.type==="Feature"&&n.properties?n.properties:{},s=[],o=0;o<r;o++)s.push(Qa(n,e,o*-360/r,t).geometry.coordinates);return s.push(s[0]),ar([s],i)}/**
4
7
  * splaytree v3.1.2
5
8
  * Fast Splay tree for Node and browser
6
9
  *
@@ -20,11 +23,9 @@ ${l.map(h=>`${h.id} ${h.typeName}
20
23
 
21
24
  See the Apache Version 2.0 License for specific language governing permissions
22
25
  and limitations under the License.
23
- ***************************************************************************** */function Em(n,e){var t={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},r,i,s,o;return o={next:a(0),throw:a(1),return:a(2)},typeof Symbol=="function"&&(o[Symbol.iterator]=function(){return this}),o;function a(u){return function(h){return l([u,h])}}function l(u){if(r)throw new TypeError("Generator is already executing.");for(;t;)try{if(r=1,i&&(s=u[0]&2?i.return:u[0]?i.throw||((s=i.return)&&s.call(i),0):i.next)&&!(s=s.call(i,u[1])).done)return s;switch(i=0,s&&(u=[u[0]&2,s.value]),u[0]){case 0:case 1:s=u;break;case 4:return t.label++,{value:u[1],done:!1};case 5:t.label++,i=u[1],u=[0];continue;case 7:u=t.ops.pop(),t.trys.pop();continue;default:if(s=t.trys,!(s=s.length>0&&s[s.length-1])&&(u[0]===6||u[0]===2)){t=0;continue}if(u[0]===3&&(!s||u[1]>s[0]&&u[1]<s[3])){t.label=u[1];break}if(u[0]===6&&t.label<s[1]){t.label=s[1],s=u;break}if(s&&t.label<s[2]){t.label=s[2],t.ops.push(u);break}s[2]&&t.ops.pop(),t.trys.pop();continue}u=e.call(n,t)}catch(h){u=[6,h],i=0}finally{r=s=0}if(u[0]&5)throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}var as=function(){function n(e,t){this.next=null,this.key=e,this.data=t,this.left=null,this.right=null}return n}();function Sm(n,e){return n>e?1:n<e?-1:0}function ls(n,e,t){for(var r=new as(null,null),i=r,s=r;;){var o=t(n,e.key);if(o<0){if(e.left===null)break;if(t(n,e.left.key)<0){var a=e.left;if(e.left=a.right,a.right=e,e=a,e.left===null)break}s.left=e,s=e,e=e.left}else if(o>0){if(e.right===null)break;if(t(n,e.right.key)>0){var a=e.right;if(e.right=a.left,a.left=e,e=a,e.right===null)break}i.right=e,i=e,e=e.right}else break}return i.right=e.left,s.left=e.right,e.left=r.right,e.right=r.left,e}function Ac(n,e,t,r){var i=new as(n,e);if(t===null)return i.left=i.right=null,i;t=ls(n,t,r);var s=r(n,t.key);return s<0?(i.left=t.left,i.right=t,t.left=null):s>=0&&(i.right=t.right,i.left=t,t.right=null),i}function vf(n,e,t){var r=null,i=null;if(e){e=ls(n,e,t);var s=t(e.key,n);s===0?(r=e.left,i=e.right):s<0?(i=e.right,e.right=null,r=e):(r=e.left,e.left=null,i=e)}return{left:r,right:i}}function Cm(n,e,t){return e===null?n:(n===null||(e=ls(n.key,e,t),e.left=n),e)}function Rc(n,e,t,r,i){if(n){r(""+e+(t?"└── ":"├── ")+i(n)+`
24
- `);var s=e+(t?" ":"│ ");n.left&&Rc(n.left,s,!1,r,i),n.right&&Rc(n.right,s,!0,r,i)}}var Fc=function(){function n(e){e===void 0&&(e=Sm),this._root=null,this._size=0,this._comparator=e}return n.prototype.insert=function(e,t){return this._size++,this._root=Ac(e,t,this._root,this._comparator)},n.prototype.add=function(e,t){var r=new as(e,t);this._root===null&&(r.left=r.right=null,this._size++,this._root=r);var i=this._comparator,s=ls(e,this._root,i),o=i(e,s.key);return o===0?this._root=s:(o<0?(r.left=s.left,r.right=s,s.left=null):o>0&&(r.right=s.right,r.left=s,s.right=null),this._size++,this._root=r),this._root},n.prototype.remove=function(e){this._root=this._remove(e,this._root,this._comparator)},n.prototype._remove=function(e,t,r){var i;if(t===null)return null;t=ls(e,t,r);var s=r(e,t.key);return s===0?(t.left===null?i=t.right:(i=ls(e,t.left,r),i.right=t.right),this._size--,i):t},n.prototype.pop=function(){var e=this._root;if(e){for(;e.left;)e=e.left;return this._root=ls(e.key,this._root,this._comparator),this._root=this._remove(e.key,this._root,this._comparator),{key:e.key,data:e.data}}return null},n.prototype.findStatic=function(e){for(var t=this._root,r=this._comparator;t;){var i=r(e,t.key);if(i===0)return t;i<0?t=t.left:t=t.right}return null},n.prototype.find=function(e){return this._root&&(this._root=ls(e,this._root,this._comparator),this._comparator(e,this._root.key)!==0)?null:this._root},n.prototype.contains=function(e){for(var t=this._root,r=this._comparator;t;){var i=r(e,t.key);if(i===0)return!0;i<0?t=t.left:t=t.right}return!1},n.prototype.forEach=function(e,t){for(var r=this._root,i=[],s=!1;!s;)r!==null?(i.push(r),r=r.left):i.length!==0?(r=i.pop(),e.call(t,r),r=r.right):s=!0;return this},n.prototype.range=function(e,t,r,i){for(var s=[],o=this._comparator,a=this._root,l;s.length!==0||a;)if(a)s.push(a),a=a.left;else{if(a=s.pop(),l=o(a.key,t),l>0)break;if(o(a.key,e)>=0&&r.call(i,a))return this;a=a.right}return this},n.prototype.keys=function(){var e=[];return this.forEach(function(t){var r=t.key;return e.push(r)}),e},n.prototype.values=function(){var e=[];return this.forEach(function(t){var r=t.data;return e.push(r)}),e},n.prototype.min=function(){return this._root?this.minNode(this._root).key:null},n.prototype.max=function(){return this._root?this.maxNode(this._root).key:null},n.prototype.minNode=function(e){if(e===void 0&&(e=this._root),e)for(;e.left;)e=e.left;return e},n.prototype.maxNode=function(e){if(e===void 0&&(e=this._root),e)for(;e.right;)e=e.right;return e},n.prototype.at=function(e){for(var t=this._root,r=!1,i=0,s=[];!r;)if(t)s.push(t),t=t.left;else if(s.length>0){if(t=s.pop(),i===e)return t;i++,t=t.right}else r=!0;return null},n.prototype.next=function(e){var t=this._root,r=null;if(e.right){for(r=e.right;r.left;)r=r.left;return r}for(var i=this._comparator;t;){var s=i(e.key,t.key);if(s===0)break;s<0?(r=t,t=t.left):t=t.right}return r},n.prototype.prev=function(e){var t=this._root,r=null;if(e.left!==null){for(r=e.left;r.right;)r=r.right;return r}for(var i=this._comparator;t;){var s=i(e.key,t.key);if(s===0)break;s<0?t=t.left:(r=t,t=t.right)}return r},n.prototype.clear=function(){return this._root=null,this._size=0,this},n.prototype.toList=function(){return Im(this._root)},n.prototype.load=function(e,t,r){t===void 0&&(t=[]),r===void 0&&(r=!1);var i=e.length,s=this._comparator;if(r&&zc(e,t,0,i-1,s),this._root===null)this._root=kc(e,t,0,i),this._size=i;else{var o=Tm(this.toList(),Pm(e,t),s);i=this._size+i,this._root=Vc({head:o},0,i)}return this},n.prototype.isEmpty=function(){return this._root===null},Object.defineProperty(n.prototype,"size",{get:function(){return this._size},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"root",{get:function(){return this._root},enumerable:!0,configurable:!0}),n.prototype.toString=function(e){e===void 0&&(e=function(r){return String(r.key)});var t=[];return Rc(this._root,"",!0,function(r){return t.push(r)},e),t.join("")},n.prototype.update=function(e,t,r){var i=this._comparator,s=vf(e,this._root,i),o=s.left,a=s.right;i(e,t)<0?a=Ac(t,r,a,i):o=Ac(t,r,o,i),this._root=Cm(o,a,i)},n.prototype.split=function(e){return vf(e,this._root,this._comparator)},n.prototype[Symbol.iterator]=function(){var e,t,r;return Em(this,function(i){switch(i.label){case 0:e=this._root,t=[],r=!1,i.label=1;case 1:return r?[3,6]:e===null?[3,2]:(t.push(e),e=e.left,[3,5]);case 2:return t.length===0?[3,4]:(e=t.pop(),[4,e]);case 3:return i.sent(),e=e.right,[3,5];case 4:r=!0,i.label=5;case 5:return[3,1];case 6:return[2]}})},n}();function kc(n,e,t,r){var i=r-t;if(i>0){var s=t+Math.floor(i/2),o=n[s],a=e[s],l=new as(o,a);return l.left=kc(n,e,t,s),l.right=kc(n,e,s+1,r),l}return null}function Pm(n,e){for(var t=new as(null,null),r=t,i=0;i<n.length;i++)r=r.next=new as(n[i],e[i]);return r.next=null,t.next}function Im(n){for(var e=n,t=[],r=!1,i=new as(null,null),s=i;!r;)e?(t.push(e),e=e.left):t.length>0?(e=s=s.next=t.pop(),e=e.right):r=!0;return s.next=null,i.next}function Vc(n,e,t){var r=t-e;if(r>0){var i=e+Math.floor(r/2),s=Vc(n,e,i),o=n.head;return o.left=s,n.head=n.head.next,o.right=Vc(n,i+1,t),o}return null}function Tm(n,e,t){for(var r=new as(null,null),i=r,s=n,o=e;s!==null&&o!==null;)t(s.key,o.key)<0?(i.next=s,s=s.next):(i.next=o,o=o.next),i=i.next;return s!==null?i.next=s:o!==null&&(i.next=o),r.next}function zc(n,e,t,r,i){if(!(t>=r)){for(var s=n[t+r>>1],o=t-1,a=r+1;;){do o++;while(i(n[o],s)<0);do a--;while(i(n[a],s)>0);if(o>=a)break;var l=n[o];n[o]=n[a],n[a]=l,l=e[o],e[o]=e[a],e[a]=l}zc(n,e,t,a,i),zc(n,e,a+1,r,i)}}const Mi=11102230246251565e-32,jt=134217729,bm=(3+8*Mi)*Mi;function Uc(n,e,t,r,i){let s,o,a,l,u=e[0],h=r[0],f=0,d=0;h>u==h>-u?(s=u,u=e[++f]):(s=h,h=r[++d]);let v=0;if(f<n&&d<t)for(h>u==h>-u?(o=u+s,a=s-(o-u),u=e[++f]):(o=h+s,a=s-(o-h),h=r[++d]),s=o,a!==0&&(i[v++]=a);f<n&&d<t;)h>u==h>-u?(o=s+u,l=o-s,a=s-(o-l)+(u-l),u=e[++f]):(o=s+h,l=o-s,a=s-(o-l)+(h-l),h=r[++d]),s=o,a!==0&&(i[v++]=a);for(;f<n;)o=s+u,l=o-s,a=s-(o-l)+(u-l),u=e[++f],s=o,a!==0&&(i[v++]=a);for(;d<t;)o=s+h,l=o-s,a=s-(o-l)+(h-l),h=r[++d],s=o,a!==0&&(i[v++]=a);return(s!==0||v===0)&&(i[v++]=s),v}function Nm(n,e){let t=e[0];for(let r=1;r<n;r++)t+=e[r];return t}function Vl(n){return new Float64Array(n)}const Dm=(3+16*Mi)*Mi,Om=(2+12*Mi)*Mi,Mm=(9+64*Mi)*Mi*Mi,$a=Vl(4),yf=Vl(8),_f=Vl(12),wf=Vl(16),ur=Vl(4);function xm(n,e,t,r,i,s,o){let a,l,u,h,f,d,v,w,I,T,L,m,_,g,y,E,C,b;const D=n-i,x=t-i,N=e-s,O=r-s;g=D*O,d=jt*D,v=d-(d-D),w=D-v,d=jt*O,I=d-(d-O),T=O-I,y=w*T-(g-v*I-w*I-v*T),E=N*x,d=jt*N,v=d-(d-N),w=N-v,d=jt*x,I=d-(d-x),T=x-I,C=w*T-(E-v*I-w*I-v*T),L=y-C,f=y-L,$a[0]=y-(L+f)+(f-C),m=g+L,f=m-g,_=g-(m-f)+(L-f),L=_-E,f=_-L,$a[1]=_-(L+f)+(f-E),b=m+L,f=b-m,$a[2]=m-(b-f)+(L-f),$a[3]=b;let A=Nm(4,$a),F=Om*o;if(A>=F||-A>=F||(f=n-D,a=n-(D+f)+(f-i),f=t-x,u=t-(x+f)+(f-i),f=e-N,l=e-(N+f)+(f-s),f=r-O,h=r-(O+f)+(f-s),a===0&&l===0&&u===0&&h===0)||(F=Mm*o+bm*Math.abs(A),A+=D*h+O*a-(N*u+x*l),A>=F||-A>=F))return A;g=a*O,d=jt*a,v=d-(d-a),w=a-v,d=jt*O,I=d-(d-O),T=O-I,y=w*T-(g-v*I-w*I-v*T),E=l*x,d=jt*l,v=d-(d-l),w=l-v,d=jt*x,I=d-(d-x),T=x-I,C=w*T-(E-v*I-w*I-v*T),L=y-C,f=y-L,ur[0]=y-(L+f)+(f-C),m=g+L,f=m-g,_=g-(m-f)+(L-f),L=_-E,f=_-L,ur[1]=_-(L+f)+(f-E),b=m+L,f=b-m,ur[2]=m-(b-f)+(L-f),ur[3]=b;const B=Uc(4,$a,4,ur,yf);g=D*h,d=jt*D,v=d-(d-D),w=D-v,d=jt*h,I=d-(d-h),T=h-I,y=w*T-(g-v*I-w*I-v*T),E=N*u,d=jt*N,v=d-(d-N),w=N-v,d=jt*u,I=d-(d-u),T=u-I,C=w*T-(E-v*I-w*I-v*T),L=y-C,f=y-L,ur[0]=y-(L+f)+(f-C),m=g+L,f=m-g,_=g-(m-f)+(L-f),L=_-E,f=_-L,ur[1]=_-(L+f)+(f-E),b=m+L,f=b-m,ur[2]=m-(b-f)+(L-f),ur[3]=b;const X=Uc(B,yf,4,ur,_f);g=a*h,d=jt*a,v=d-(d-a),w=a-v,d=jt*h,I=d-(d-h),T=h-I,y=w*T-(g-v*I-w*I-v*T),E=l*u,d=jt*l,v=d-(d-l),w=l-v,d=jt*u,I=d-(d-u),T=u-I,C=w*T-(E-v*I-w*I-v*T),L=y-C,f=y-L,ur[0]=y-(L+f)+(f-C),m=g+L,f=m-g,_=g-(m-f)+(L-f),L=_-E,f=_-L,ur[1]=_-(L+f)+(f-E),b=m+L,f=b-m,ur[2]=m-(b-f)+(L-f),ur[3]=b;const ne=Uc(X,_f,4,ur,wf);return wf[ne-1]}function Lm(n,e,t,r,i,s){const o=(e-s)*(t-i),a=(n-i)*(r-s),l=o-a,u=Math.abs(o+a);return Math.abs(l)>=Dm*u?l:-xm(n,e,t,r,i,s,u)}const zl=(n,e)=>n.ll.x<=e.x&&e.x<=n.ur.x&&n.ll.y<=e.y&&e.y<=n.ur.y,Gc=(n,e)=>{if(e.ur.x<n.ll.x||n.ur.x<e.ll.x||e.ur.y<n.ll.y||n.ur.y<e.ll.y)return null;const t=n.ll.x<e.ll.x?e.ll.x:n.ll.x,r=n.ur.x<e.ur.x?n.ur.x:e.ur.x,i=n.ll.y<e.ll.y?e.ll.y:n.ll.y,s=n.ur.y<e.ur.y?n.ur.y:e.ur.y;return{ll:{x:t,y:i},ur:{x:r,y:s}}};let us=Number.EPSILON;us===void 0&&(us=Math.pow(2,-52));const Am=us*us,Ef=(n,e)=>{if(-us<n&&n<us&&-us<e&&e<us)return 0;const t=n-e;return t*t<Am*n*e?0:n<e?-1:1};class Rm{constructor(){this.reset()}reset(){this.xRounder=new Sf,this.yRounder=new Sf}round(e,t){return{x:this.xRounder.round(e),y:this.yRounder.round(t)}}}class Sf{constructor(){this.tree=new Fc,this.round(0)}round(e){const t=this.tree.add(e),r=this.tree.prev(t);if(r!==null&&Ef(t.key,r.key)===0)return this.tree.remove(e),r.key;const i=this.tree.next(t);return i!==null&&Ef(t.key,i.key)===0?(this.tree.remove(e),i.key):e}}const Ul=new Rm,Ou=(n,e)=>n.x*e.y-n.y*e.x,Cf=(n,e)=>n.x*e.x+n.y*e.y,Pf=(n,e,t)=>{const r=Lm(n.x,n.y,e.x,e.y,t.x,t.y);return r>0?-1:r<0?1:0},Mu=n=>Math.sqrt(Cf(n,n)),Fm=(n,e,t)=>{const r={x:e.x-n.x,y:e.y-n.y},i={x:t.x-n.x,y:t.y-n.y};return Ou(i,r)/Mu(i)/Mu(r)},km=(n,e,t)=>{const r={x:e.x-n.x,y:e.y-n.y},i={x:t.x-n.x,y:t.y-n.y};return Cf(i,r)/Mu(i)/Mu(r)},If=(n,e,t)=>e.y===0?null:{x:n.x+e.x/e.y*(t-n.y),y:t},Tf=(n,e,t)=>e.x===0?null:{x:t,y:n.y+e.y/e.x*(t-n.x)},Vm=(n,e,t,r)=>{if(e.x===0)return Tf(t,r,n.x);if(r.x===0)return Tf(n,e,t.x);if(e.y===0)return If(t,r,n.y);if(r.y===0)return If(n,e,t.y);const i=Ou(e,r);if(i==0)return null;const s={x:t.x-n.x,y:t.y-n.y},o=Ou(s,e)/i,a=Ou(s,r)/i,l=n.x+a*e.x,u=t.x+o*r.x,h=n.y+a*e.y,f=t.y+o*r.y,d=(l+u)/2,v=(h+f)/2;return{x:d,y:v}};class on{static compare(e,t){const r=on.comparePoints(e.point,t.point);return r!==0?r:(e.point!==t.point&&e.link(t),e.isLeft!==t.isLeft?e.isLeft?1:-1:cs.compare(e.segment,t.segment))}static comparePoints(e,t){return e.x<t.x?-1:e.x>t.x?1:e.y<t.y?-1:e.y>t.y?1:0}constructor(e,t){e.events===void 0?e.events=[this]:e.events.push(this),this.point=e,this.isLeft=t}link(e){if(e.point===this.point)throw new Error("Tried to link already linked events");const t=e.point.events;for(let r=0,i=t.length;r<i;r++){const s=t[r];this.point.events.push(s),s.point=this.point}this.checkForConsuming()}checkForConsuming(){const e=this.point.events.length;for(let t=0;t<e;t++){const r=this.point.events[t];if(r.segment.consumedBy===void 0)for(let i=t+1;i<e;i++){const s=this.point.events[i];s.consumedBy===void 0&&r.otherSE.point.events===s.otherSE.point.events&&r.segment.consume(s.segment)}}}getAvailableLinkedEvents(){const e=[];for(let t=0,r=this.point.events.length;t<r;t++){const i=this.point.events[t];i!==this&&!i.segment.ringOut&&i.segment.isInResult()&&e.push(i)}return e}getLeftmostComparator(e){const t=new Map,r=i=>{const s=i.otherSE;t.set(i,{sine:Fm(this.point,e.point,s.point),cosine:km(this.point,e.point,s.point)})};return(i,s)=>{t.has(i)||r(i),t.has(s)||r(s);const{sine:o,cosine:a}=t.get(i),{sine:l,cosine:u}=t.get(s);return o>=0&&l>=0?a<u?1:a>u?-1:0:o<0&&l<0?a<u?-1:a>u?1:0:l<o?-1:l>o?1:0}}}let zm=0;class cs{static compare(e,t){const r=e.leftSE.point.x,i=t.leftSE.point.x,s=e.rightSE.point.x,o=t.rightSE.point.x;if(o<r)return 1;if(s<i)return-1;const a=e.leftSE.point.y,l=t.leftSE.point.y,u=e.rightSE.point.y,h=t.rightSE.point.y;if(r<i){if(l<a&&l<u)return 1;if(l>a&&l>u)return-1;const f=e.comparePoint(t.leftSE.point);if(f<0)return 1;if(f>0)return-1;const d=t.comparePoint(e.rightSE.point);return d!==0?d:-1}if(r>i){if(a<l&&a<h)return-1;if(a>l&&a>h)return 1;const f=t.comparePoint(e.leftSE.point);if(f!==0)return f;const d=e.comparePoint(t.rightSE.point);return d<0?1:d>0?-1:1}if(a<l)return-1;if(a>l)return 1;if(s<o){const f=t.comparePoint(e.rightSE.point);if(f!==0)return f}if(s>o){const f=e.comparePoint(t.rightSE.point);if(f<0)return 1;if(f>0)return-1}if(s!==o){const f=u-a,d=s-r,v=h-l,w=o-i;if(f>d&&v<w)return 1;if(f<d&&v>w)return-1}return s>o?1:s<o||u<h?-1:u>h?1:e.id<t.id?-1:e.id>t.id?1:0}constructor(e,t,r,i){this.id=++zm,this.leftSE=e,e.segment=this,e.otherSE=t,this.rightSE=t,t.segment=this,t.otherSE=e,this.rings=r,this.windings=i}static fromRing(e,t,r){let i,s,o;const a=on.comparePoints(e,t);if(a<0)i=e,s=t,o=1;else if(a>0)i=t,s=e,o=-1;else throw new Error(`Tried to create degenerate segment at [${e.x}, ${e.y}]`);const l=new on(i,!0),u=new on(s,!1);return new cs(l,u,[r],[o])}replaceRightSE(e){this.rightSE=e,this.rightSE.segment=this,this.rightSE.otherSE=this.leftSE,this.leftSE.otherSE=this.rightSE}bbox(){const e=this.leftSE.point.y,t=this.rightSE.point.y;return{ll:{x:this.leftSE.point.x,y:e<t?e:t},ur:{x:this.rightSE.point.x,y:e>t?e:t}}}vector(){return{x:this.rightSE.point.x-this.leftSE.point.x,y:this.rightSE.point.y-this.leftSE.point.y}}isAnEndpoint(e){return e.x===this.leftSE.point.x&&e.y===this.leftSE.point.y||e.x===this.rightSE.point.x&&e.y===this.rightSE.point.y}comparePoint(e){if(this.isAnEndpoint(e))return 0;const t=this.leftSE.point,r=this.rightSE.point,i=this.vector();if(t.x===r.x)return e.x===t.x?0:e.x<t.x?1:-1;const s=(e.y-t.y)/i.y,o=t.x+s*i.x;if(e.x===o)return 0;const a=(e.x-t.x)/i.x,l=t.y+a*i.y;return e.y===l?0:e.y<l?-1:1}getIntersection(e){const t=this.bbox(),r=e.bbox(),i=Gc(t,r);if(i===null)return null;const s=this.leftSE.point,o=this.rightSE.point,a=e.leftSE.point,l=e.rightSE.point,u=zl(t,a)&&this.comparePoint(a)===0,h=zl(r,s)&&e.comparePoint(s)===0,f=zl(t,l)&&this.comparePoint(l)===0,d=zl(r,o)&&e.comparePoint(o)===0;if(h&&u)return d&&!f?o:!d&&f?l:null;if(h)return f&&s.x===l.x&&s.y===l.y?null:s;if(u)return d&&o.x===a.x&&o.y===a.y?null:a;if(d&&f)return null;if(d)return o;if(f)return l;const v=Vm(s,this.vector(),a,e.vector());return v===null||!zl(i,v)?null:Ul.round(v.x,v.y)}split(e){const t=[],r=e.events!==void 0,i=new on(e,!0),s=new on(e,!1),o=this.rightSE;this.replaceRightSE(s),t.push(s),t.push(i);const a=new cs(i,o,this.rings.slice(),this.windings.slice());return on.comparePoints(a.leftSE.point,a.rightSE.point)>0&&a.swapEvents(),on.comparePoints(this.leftSE.point,this.rightSE.point)>0&&this.swapEvents(),r&&(i.checkForConsuming(),s.checkForConsuming()),t}swapEvents(){const e=this.rightSE;this.rightSE=this.leftSE,this.leftSE=e,this.leftSE.isLeft=!0,this.rightSE.isLeft=!1;for(let t=0,r=this.windings.length;t<r;t++)this.windings[t]*=-1}consume(e){let t=this,r=e;for(;t.consumedBy;)t=t.consumedBy;for(;r.consumedBy;)r=r.consumedBy;const i=cs.compare(t,r);if(i!==0){if(i>0){const s=t;t=r,r=s}if(t.prev===r){const s=t;t=r,r=s}for(let s=0,o=r.rings.length;s<o;s++){const a=r.rings[s],l=r.windings[s],u=t.rings.indexOf(a);u===-1?(t.rings.push(a),t.windings.push(l)):t.windings[u]+=l}r.rings=null,r.windings=null,r.consumedBy=t,r.leftSE.consumedBy=t.leftSE,r.rightSE.consumedBy=t.rightSE}}prevInResult(){return this._prevInResult!==void 0?this._prevInResult:(this.prev?this.prev.isInResult()?this._prevInResult=this.prev:this._prevInResult=this.prev.prevInResult():this._prevInResult=null,this._prevInResult)}beforeState(){if(this._beforeState!==void 0)return this._beforeState;if(!this.prev)this._beforeState={rings:[],windings:[],multiPolys:[]};else{const e=this.prev.consumedBy||this.prev;this._beforeState=e.afterState()}return this._beforeState}afterState(){if(this._afterState!==void 0)return this._afterState;const e=this.beforeState();this._afterState={rings:e.rings.slice(0),windings:e.windings.slice(0),multiPolys:[]};const t=this._afterState.rings,r=this._afterState.windings,i=this._afterState.multiPolys;for(let a=0,l=this.rings.length;a<l;a++){const u=this.rings[a],h=this.windings[a],f=t.indexOf(u);f===-1?(t.push(u),r.push(h)):r[f]+=h}const s=[],o=[];for(let a=0,l=t.length;a<l;a++){if(r[a]===0)continue;const u=t[a],h=u.poly;if(o.indexOf(h)===-1)if(u.isExterior)s.push(h);else{o.indexOf(h)===-1&&o.push(h);const f=s.indexOf(u.poly);f!==-1&&s.splice(f,1)}}for(let a=0,l=s.length;a<l;a++){const u=s[a].multiPoly;i.indexOf(u)===-1&&i.push(u)}return this._afterState}isInResult(){if(this.consumedBy)return!1;if(this._isInResult!==void 0)return this._isInResult;const e=this.beforeState().multiPolys,t=this.afterState().multiPolys;switch(On.type){case"union":{const r=e.length===0,i=t.length===0;this._isInResult=r!==i;break}case"intersection":{let r,i;e.length<t.length?(r=e.length,i=t.length):(r=t.length,i=e.length),this._isInResult=i===On.numMultiPolys&&r<i;break}case"xor":{const r=Math.abs(e.length-t.length);this._isInResult=r%2===1;break}case"difference":{const r=i=>i.length===1&&i[0].isSubject;this._isInResult=r(e)!==r(t);break}default:throw new Error(`Unrecognized operation type found ${On.type}`)}return this._isInResult}}class bf{constructor(e,t,r){if(!Array.isArray(e)||e.length===0)throw new Error("Input geometry is not a valid Polygon or MultiPolygon");if(this.poly=t,this.isExterior=r,this.segments=[],typeof e[0][0]!="number"||typeof e[0][1]!="number")throw new Error("Input geometry is not a valid Polygon or MultiPolygon");const i=Ul.round(e[0][0],e[0][1]);this.bbox={ll:{x:i.x,y:i.y},ur:{x:i.x,y:i.y}};let s=i;for(let o=1,a=e.length;o<a;o++){if(typeof e[o][0]!="number"||typeof e[o][1]!="number")throw new Error("Input geometry is not a valid Polygon or MultiPolygon");let l=Ul.round(e[o][0],e[o][1]);l.x===s.x&&l.y===s.y||(this.segments.push(cs.fromRing(s,l,this)),l.x<this.bbox.ll.x&&(this.bbox.ll.x=l.x),l.y<this.bbox.ll.y&&(this.bbox.ll.y=l.y),l.x>this.bbox.ur.x&&(this.bbox.ur.x=l.x),l.y>this.bbox.ur.y&&(this.bbox.ur.y=l.y),s=l)}(i.x!==s.x||i.y!==s.y)&&this.segments.push(cs.fromRing(s,i,this))}getSweepEvents(){const e=[];for(let t=0,r=this.segments.length;t<r;t++){const i=this.segments[t];e.push(i.leftSE),e.push(i.rightSE)}return e}}class Um{constructor(e,t){if(!Array.isArray(e))throw new Error("Input geometry is not a valid Polygon or MultiPolygon");this.exteriorRing=new bf(e[0],this,!0),this.bbox={ll:{x:this.exteriorRing.bbox.ll.x,y:this.exteriorRing.bbox.ll.y},ur:{x:this.exteriorRing.bbox.ur.x,y:this.exteriorRing.bbox.ur.y}},this.interiorRings=[];for(let r=1,i=e.length;r<i;r++){const s=new bf(e[r],this,!1);s.bbox.ll.x<this.bbox.ll.x&&(this.bbox.ll.x=s.bbox.ll.x),s.bbox.ll.y<this.bbox.ll.y&&(this.bbox.ll.y=s.bbox.ll.y),s.bbox.ur.x>this.bbox.ur.x&&(this.bbox.ur.x=s.bbox.ur.x),s.bbox.ur.y>this.bbox.ur.y&&(this.bbox.ur.y=s.bbox.ur.y),this.interiorRings.push(s)}this.multiPoly=t}getSweepEvents(){const e=this.exteriorRing.getSweepEvents();for(let t=0,r=this.interiorRings.length;t<r;t++){const i=this.interiorRings[t].getSweepEvents();for(let s=0,o=i.length;s<o;s++)e.push(i[s])}return e}}class Nf{constructor(e,t){if(!Array.isArray(e))throw new Error("Input geometry is not a valid Polygon or MultiPolygon");try{typeof e[0][0][0]=="number"&&(e=[e])}catch{}this.polys=[],this.bbox={ll:{x:Number.POSITIVE_INFINITY,y:Number.POSITIVE_INFINITY},ur:{x:Number.NEGATIVE_INFINITY,y:Number.NEGATIVE_INFINITY}};for(let r=0,i=e.length;r<i;r++){const s=new Um(e[r],this);s.bbox.ll.x<this.bbox.ll.x&&(this.bbox.ll.x=s.bbox.ll.x),s.bbox.ll.y<this.bbox.ll.y&&(this.bbox.ll.y=s.bbox.ll.y),s.bbox.ur.x>this.bbox.ur.x&&(this.bbox.ur.x=s.bbox.ur.x),s.bbox.ur.y>this.bbox.ur.y&&(this.bbox.ur.y=s.bbox.ur.y),this.polys.push(s)}this.isSubject=t}getSweepEvents(){const e=[];for(let t=0,r=this.polys.length;t<r;t++){const i=this.polys[t].getSweepEvents();for(let s=0,o=i.length;s<o;s++)e.push(i[s])}return e}}class xu{static factory(e){const t=[];for(let r=0,i=e.length;r<i;r++){const s=e[r];if(!s.isInResult()||s.ringOut)continue;let o=null,a=s.leftSE,l=s.rightSE;const u=[a],h=a.point,f=[];for(;o=a,a=l,u.push(a),a.point!==h;)for(;;){const d=a.getAvailableLinkedEvents();if(d.length===0){const I=u[0].point,T=u[u.length-1].point;throw new Error(`Unable to complete output ring starting at [${I.x}, ${I.y}]. Last matching segment found ends at [${T.x}, ${T.y}].`)}if(d.length===1){l=d[0].otherSE;break}let v=null;for(let I=0,T=f.length;I<T;I++)if(f[I].point===a.point){v=I;break}if(v!==null){const I=f.splice(v)[0],T=u.splice(I.index);T.unshift(T[0].otherSE),t.push(new xu(T.reverse()));continue}f.push({index:u.length,point:a.point});const w=a.getLeftmostComparator(o);l=d.sort(w)[0].otherSE;break}t.push(new xu(u))}return t}constructor(e){this.events=e;for(let t=0,r=e.length;t<r;t++)e[t].segment.ringOut=this;this.poly=null}getGeom(){let e=this.events[0].point;const t=[e];for(let u=1,h=this.events.length-1;u<h;u++){const f=this.events[u].point,d=this.events[u+1].point;Pf(f,e,d)!==0&&(t.push(f),e=f)}if(t.length===1)return null;const r=t[0],i=t[1];Pf(r,e,i)===0&&t.shift(),t.push(t[0]);const s=this.isExteriorRing()?1:-1,o=this.isExteriorRing()?0:t.length-1,a=this.isExteriorRing()?t.length:-1,l=[];for(let u=o;u!=a;u+=s)l.push([t[u].x,t[u].y]);return l}isExteriorRing(){if(this._isExteriorRing===void 0){const e=this.enclosingRing();this._isExteriorRing=e?!e.isExteriorRing():!0}return this._isExteriorRing}enclosingRing(){return this._enclosingRing===void 0&&(this._enclosingRing=this._calcEnclosingRing()),this._enclosingRing}_calcEnclosingRing(){let e=this.events[0];for(let i=1,s=this.events.length;i<s;i++){const o=this.events[i];on.compare(e,o)>0&&(e=o)}let t=e.segment.prevInResult(),r=t?t.prevInResult():null;for(;;){if(!t)return null;if(!r)return t.ringOut;if(r.ringOut!==t.ringOut)return r.ringOut.enclosingRing()!==t.ringOut?t.ringOut:t.ringOut.enclosingRing();t=r.prevInResult(),r=t?t.prevInResult():null}}}class Df{constructor(e){this.exteriorRing=e,e.poly=this,this.interiorRings=[]}addInterior(e){this.interiorRings.push(e),e.poly=this}getGeom(){const e=[this.exteriorRing.getGeom()];if(e[0]===null)return null;for(let t=0,r=this.interiorRings.length;t<r;t++){const i=this.interiorRings[t].getGeom();i!==null&&e.push(i)}return e}}class Gm{constructor(e){this.rings=e,this.polys=this._composePolys(e)}getGeom(){const e=[];for(let t=0,r=this.polys.length;t<r;t++){const i=this.polys[t].getGeom();i!==null&&e.push(i)}return e}_composePolys(e){const t=[];for(let r=0,i=e.length;r<i;r++){const s=e[r];if(!s.poly)if(s.isExteriorRing())t.push(new Df(s));else{const o=s.enclosingRing();o.poly||t.push(new Df(o)),o.poly.addInterior(s)}}return t}}class Wm{constructor(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:cs.compare;this.queue=e,this.tree=new Fc(t),this.segments=[]}process(e){const t=e.segment,r=[];if(e.consumedBy)return e.isLeft?this.queue.remove(e.otherSE):this.tree.remove(t),r;const i=e.isLeft?this.tree.add(t):this.tree.find(t);if(!i)throw new Error(`Unable to find segment #${t.id} [${t.leftSE.point.x}, ${t.leftSE.point.y}] -> [${t.rightSE.point.x}, ${t.rightSE.point.y}] in SweepLine tree.`);let s=i,o=i,a,l;for(;a===void 0;)s=this.tree.prev(s),s===null?a=null:s.key.consumedBy===void 0&&(a=s.key);for(;l===void 0;)o=this.tree.next(o),o===null?l=null:o.key.consumedBy===void 0&&(l=o.key);if(e.isLeft){let u=null;if(a){const f=a.getIntersection(t);if(f!==null&&(t.isAnEndpoint(f)||(u=f),!a.isAnEndpoint(f))){const d=this._splitSafely(a,f);for(let v=0,w=d.length;v<w;v++)r.push(d[v])}}let h=null;if(l){const f=l.getIntersection(t);if(f!==null&&(t.isAnEndpoint(f)||(h=f),!l.isAnEndpoint(f))){const d=this._splitSafely(l,f);for(let v=0,w=d.length;v<w;v++)r.push(d[v])}}if(u!==null||h!==null){let f=null;u===null?f=h:h===null?f=u:f=on.comparePoints(u,h)<=0?u:h,this.queue.remove(t.rightSE),r.push(t.rightSE);const d=t.split(f);for(let v=0,w=d.length;v<w;v++)r.push(d[v])}r.length>0?(this.tree.remove(t),r.push(e)):(this.segments.push(t),t.prev=a)}else{if(a&&l){const u=a.getIntersection(l);if(u!==null){if(!a.isAnEndpoint(u)){const h=this._splitSafely(a,u);for(let f=0,d=h.length;f<d;f++)r.push(h[f])}if(!l.isAnEndpoint(u)){const h=this._splitSafely(l,u);for(let f=0,d=h.length;f<d;f++)r.push(h[f])}}}this.tree.remove(t)}return r}_splitSafely(e,t){this.tree.remove(e);const r=e.rightSE;this.queue.remove(r);const i=e.split(t);return i.push(r),e.consumedBy===void 0&&this.tree.add(e),i}}const Of=typeof process<"u"&&process.env.POLYGON_CLIPPING_MAX_QUEUE_SIZE||1e6,qm=typeof process<"u"&&process.env.POLYGON_CLIPPING_MAX_SWEEPLINE_SEGMENTS||1e6;class Xm{run(e,t,r){On.type=e,Ul.reset();const i=[new Nf(t,!0)];for(let f=0,d=r.length;f<d;f++)i.push(new Nf(r[f],!1));if(On.numMultiPolys=i.length,On.type==="difference"){const f=i[0];let d=1;for(;d<i.length;)Gc(i[d].bbox,f.bbox)!==null?d++:i.splice(d,1)}if(On.type==="intersection")for(let f=0,d=i.length;f<d;f++){const v=i[f];for(let w=f+1,I=i.length;w<I;w++)if(Gc(v.bbox,i[w].bbox)===null)return[]}const s=new Fc(on.compare);for(let f=0,d=i.length;f<d;f++){const v=i[f].getSweepEvents();for(let w=0,I=v.length;w<I;w++)if(s.insert(v[w]),s.size>Of)throw new Error("Infinite loop when putting segment endpoints in a priority queue (queue size too big).")}const o=new Wm(s);let a=s.size,l=s.pop();for(;l;){const f=l.key;if(s.size===a){const v=f.segment;throw new Error(`Unable to pop() ${f.isLeft?"left":"right"} SweepEvent [${f.point.x}, ${f.point.y}] from segment #${v.id} [${v.leftSE.point.x}, ${v.leftSE.point.y}] -> [${v.rightSE.point.x}, ${v.rightSE.point.y}] from queue.`)}if(s.size>Of)throw new Error("Infinite loop when passing sweep line over endpoints (queue size too big).");if(o.segments.length>qm)throw new Error("Infinite loop when passing sweep line over endpoints (too many sweep line segments).");const d=o.process(f);for(let v=0,w=d.length;v<w;v++){const I=d[v];I.consumedBy===void 0&&s.insert(I)}a=s.size,l=s.pop()}Ul.reset();const u=xu.factory(o.segments);return new Gm(u).getGeom()}}const On=new Xm;var Wc={union:function(n){for(var e=arguments.length,t=new Array(e>1?e-1:0),r=1;r<e;r++)t[r-1]=arguments[r];return On.run("union",n,t)},intersection:function(n){for(var e=arguments.length,t=new Array(e>1?e-1:0),r=1;r<e;r++)t[r-1]=arguments[r];return On.run("intersection",n,t)},xor:function(n){for(var e=arguments.length,t=new Array(e>1?e-1:0),r=1;r<e;r++)t[r-1]=arguments[r];return On.run("xor",n,t)},difference:function(n){for(var e=arguments.length,t=new Array(e>1?e-1:0),r=1;r<e;r++)t[r-1]=arguments[r];return On.run("difference",n,t)}};function Ym(n,e,t){t===void 0&&(t={});var r=Wr(n),i=Wr(e),s=Wc.intersection(r.coordinates,i.coordinates);return s.length===0?null:s.length===1?ar(s[0],t.properties):Ec(s,t.properties)}function Hm(n,e,t){t===void 0&&(t={});var r=Wr(n),i=Wr(e),s=Wc.union(r.coordinates,i.coordinates);return s.length===0?null:s.length===1?ar(s[0],t.properties):Ec(s,t.properties)}function Mn(n){var e=[1/0,1/0,-1/0,-1/0];return Ba(n,function(t){e[0]>t[0]&&(e[0]=t[0]),e[1]>t[1]&&(e[1]=t[1]),e[2]<t[0]&&(e[2]=t[0]),e[3]<t[1]&&(e[3]=t[1])}),e}Mn.default=Mn;function Jm(n,e){e===void 0&&(e={});var t=Mn(n),r=(t[0]+t[2])/2,i=(t[1]+t[3])/2;return Ge([r,i],e.properties,e)}"fill"in Array.prototype||Object.defineProperty(Array.prototype,"fill",{configurable:!0,value:function(e){if(this===void 0||this===null)throw new TypeError(this+" is not an object");var t=Object(this),r=Math.max(Math.min(t.length,9007199254740991),0)||0,i=1 in arguments&&parseInt(Number(arguments[1]),10)||0;i=i<0?Math.max(r+i,0):Math.min(i,r);var s=2 in arguments&&arguments[2]!==void 0?parseInt(Number(arguments[2]),10)||0:r;for(s=s<0?Math.max(r+arguments[2],0):Math.min(s,r);i<s;)t[i]=e,++i;return t},writable:!0}),Number.isFinite=Number.isFinite||function(n){return typeof n=="number"&&isFinite(n)},Number.isInteger=Number.isInteger||function(n){return typeof n=="number"&&isFinite(n)&&Math.floor(n)===n},Number.parseFloat=Number.parseFloat||parseFloat,Number.isNaN=Number.isNaN||function(n){return n!==n},Math.trunc=Math.trunc||function(n){return n<0?Math.ceil(n):Math.floor(n)};var Xs=function(){};Xs.prototype.interfaces_=function(){return[]},Xs.prototype.getClass=function(){return Xs},Xs.prototype.equalsWithTolerance=function(e,t,r){return Math.abs(e-t)<=r};var ze=function(n){function e(t){n.call(this,t),this.name="IllegalArgumentException",this.message=t,this.stack=new n().stack}return n&&(e.__proto__=n),e.prototype=Object.create(n&&n.prototype),e.prototype.constructor=e,e}(Error),le=function(){},Mf={MAX_VALUE:{configurable:!0}};le.isNaN=function(e){return Number.isNaN(e)},le.doubleToLongBits=function(e){return e},le.longBitsToDouble=function(e){return e},le.isInfinite=function(e){return!Number.isFinite(e)},Mf.MAX_VALUE.get=function(){return Number.MAX_VALUE},Object.defineProperties(le,Mf);var Sr=function(){},Lu=function(){},ja=function(){};function Cr(){}var M=function n(){if(this.x=null,this.y=null,this.z=null,arguments.length===0)this.x=0,this.y=0,this.z=n.NULL_ORDINATE;else if(arguments.length===1){var e=arguments[0];this.x=e.x,this.y=e.y,this.z=e.z}else arguments.length===2?(this.x=arguments[0],this.y=arguments[1],this.z=n.NULL_ORDINATE):arguments.length===3&&(this.x=arguments[0],this.y=arguments[1],this.z=arguments[2])},Ys={DimensionalComparator:{configurable:!0},serialVersionUID:{configurable:!0},NULL_ORDINATE:{configurable:!0},X:{configurable:!0},Y:{configurable:!0},Z:{configurable:!0}};M.prototype.setOrdinate=function(e,t){switch(e){case M.X:this.x=t;break;case M.Y:this.y=t;break;case M.Z:this.z=t;break;default:throw new ze("Invalid ordinate index: "+e)}},M.prototype.equals2D=function(){if(arguments.length===1){var e=arguments[0];return!(this.x!==e.x||this.y!==e.y)}else if(arguments.length===2){var t=arguments[0],r=arguments[1];return!(!Xs.equalsWithTolerance(this.x,t.x,r)||!Xs.equalsWithTolerance(this.y,t.y,r))}},M.prototype.getOrdinate=function(e){switch(e){case M.X:return this.x;case M.Y:return this.y;case M.Z:return this.z}throw new ze("Invalid ordinate index: "+e)},M.prototype.equals3D=function(e){return this.x===e.x&&this.y===e.y&&(this.z===e.z||le.isNaN(this.z))&&le.isNaN(e.z)},M.prototype.equals=function(e){return e instanceof M?this.equals2D(e):!1},M.prototype.equalInZ=function(e,t){return Xs.equalsWithTolerance(this.z,e.z,t)},M.prototype.compareTo=function(e){var t=e;return this.x<t.x?-1:this.x>t.x?1:this.y<t.y?-1:this.y>t.y?1:0},M.prototype.clone=function(){},M.prototype.copy=function(){return new M(this)},M.prototype.toString=function(){return"("+this.x+", "+this.y+", "+this.z+")"},M.prototype.distance3D=function(e){var t=this.x-e.x,r=this.y-e.y,i=this.z-e.z;return Math.sqrt(t*t+r*r+i*i)},M.prototype.distance=function(e){var t=this.x-e.x,r=this.y-e.y;return Math.sqrt(t*t+r*r)},M.prototype.hashCode=function(){var e=17;return e=37*e+M.hashCode(this.x),e=37*e+M.hashCode(this.y),e},M.prototype.setCoordinate=function(e){this.x=e.x,this.y=e.y,this.z=e.z},M.prototype.interfaces_=function(){return[Sr,Lu,Cr]},M.prototype.getClass=function(){return M},M.hashCode=function(){if(arguments.length===1){var e=arguments[0],t=le.doubleToLongBits(e);return Math.trunc((t^t)>>>32)}},Ys.DimensionalComparator.get=function(){return xi},Ys.serialVersionUID.get=function(){return 6683108902428367e3},Ys.NULL_ORDINATE.get=function(){return le.NaN},Ys.X.get=function(){return 0},Ys.Y.get=function(){return 1},Ys.Z.get=function(){return 2},Object.defineProperties(M,Ys);var xi=function(e){if(this._dimensionsToTest=2,arguments.length!==0){if(arguments.length===1){var t=arguments[0];if(t!==2&&t!==3)throw new ze("only 2 or 3 dimensions may be specified");this._dimensionsToTest=t}}};xi.prototype.compare=function(e,t){var r=e,i=t,s=xi.compare(r.x,i.x);if(s!==0)return s;var o=xi.compare(r.y,i.y);if(o!==0)return o;if(this._dimensionsToTest<=2)return 0;var a=xi.compare(r.z,i.z);return a},xi.prototype.interfaces_=function(){return[ja]},xi.prototype.getClass=function(){return xi},xi.compare=function(e,t){return e<t?-1:e>t?1:le.isNaN(e)?le.isNaN(t)?0:-1:le.isNaN(t)?1:0};var el=function(){};el.prototype.create=function(){},el.prototype.interfaces_=function(){return[]},el.prototype.getClass=function(){return el};var R=function(){},Gl={INTERIOR:{configurable:!0},BOUNDARY:{configurable:!0},EXTERIOR:{configurable:!0},NONE:{configurable:!0}};R.prototype.interfaces_=function(){return[]},R.prototype.getClass=function(){return R},R.toLocationSymbol=function(e){switch(e){case R.EXTERIOR:return"e";case R.BOUNDARY:return"b";case R.INTERIOR:return"i";case R.NONE:return"-"}throw new ze("Unknown location value: "+e)},Gl.INTERIOR.get=function(){return 0},Gl.BOUNDARY.get=function(){return 1},Gl.EXTERIOR.get=function(){return 2},Gl.NONE.get=function(){return-1},Object.defineProperties(R,Gl);var ae=function(n,e){return n.interfaces_&&n.interfaces_().indexOf(e)>-1},cr=function(){},xf={LOG_10:{configurable:!0}};cr.prototype.interfaces_=function(){return[]},cr.prototype.getClass=function(){return cr},cr.log10=function(e){var t=Math.log(e);return le.isInfinite(t)||le.isNaN(t)?t:t/cr.LOG_10},cr.min=function(e,t,r,i){var s=e;return t<s&&(s=t),r<s&&(s=r),i<s&&(s=i),s},cr.clamp=function(){if(typeof arguments[2]=="number"&&typeof arguments[0]=="number"&&typeof arguments[1]=="number"){var e=arguments[0],t=arguments[1],r=arguments[2];return e<t?t:e>r?r:e}else if(Number.isInteger(arguments[2])&&Number.isInteger(arguments[0])&&Number.isInteger(arguments[1])){var i=arguments[0],s=arguments[1],o=arguments[2];return i<s?s:i>o?o:i}},cr.wrap=function(e,t){return e<0?t- -e%t:e%t},cr.max=function(){if(arguments.length===3){var e=arguments[0],t=arguments[1],r=arguments[2],i=e;return t>i&&(i=t),r>i&&(i=r),i}else if(arguments.length===4){var s=arguments[0],o=arguments[1],a=arguments[2],l=arguments[3],u=s;return o>u&&(u=o),a>u&&(u=a),l>u&&(u=l),u}},cr.average=function(e,t){return(e+t)/2},xf.LOG_10.get=function(){return Math.log(10)},Object.defineProperties(cr,xf);var an=function(e){this.str=e};an.prototype.append=function(e){this.str+=e},an.prototype.setCharAt=function(e,t){this.str=this.str.substr(0,e)+t+this.str.substr(e+1)},an.prototype.toString=function(e){return this.str};var ln=function(e){this.value=e};ln.prototype.intValue=function(){return this.value},ln.prototype.compareTo=function(e){return this.value<e?-1:this.value>e?1:0},ln.isNaN=function(e){return Number.isNaN(e)};var Wl=function(){};Wl.isWhitespace=function(e){return e<=32&&e>=0||e===127},Wl.toUpperCase=function(e){return e.toUpperCase()};var V=function n(){if(this._hi=0,this._lo=0,arguments.length===0)this.init(0);else if(arguments.length===1){if(typeof arguments[0]=="number"){var e=arguments[0];this.init(e)}else if(arguments[0]instanceof n){var t=arguments[0];this.init(t)}else if(typeof arguments[0]=="string"){var r=arguments[0];n.call(this,n.parse(r))}}else if(arguments.length===2){var i=arguments[0],s=arguments[1];this.init(i,s)}},qr={PI:{configurable:!0},TWO_PI:{configurable:!0},PI_2:{configurable:!0},E:{configurable:!0},NaN:{configurable:!0},EPS:{configurable:!0},SPLIT:{configurable:!0},MAX_PRINT_DIGITS:{configurable:!0},TEN:{configurable:!0},ONE:{configurable:!0},SCI_NOT_EXPONENT_CHAR:{configurable:!0},SCI_NOT_ZERO:{configurable:!0}};V.prototype.le=function(e){return(this._hi<e._hi||this._hi===e._hi)&&this._lo<=e._lo},V.prototype.extractSignificantDigits=function(e,t){var r=this.abs(),i=V.magnitude(r._hi),s=V.TEN.pow(i);r=r.divide(s),r.gt(V.TEN)?(r=r.divide(V.TEN),i+=1):r.lt(V.ONE)&&(r=r.multiply(V.TEN),i-=1);for(var o=i+1,a=new an,l=V.MAX_PRINT_DIGITS-1,u=0;u<=l;u++){e&&u===o&&a.append(".");var h=Math.trunc(r._hi);if(h<0)break;var f=!1,d=0;h>9?(f=!0,d="9"):d="0"+h,a.append(d),r=r.subtract(V.valueOf(h)).multiply(V.TEN),f&&r.selfAdd(V.TEN);var v=!0,w=V.magnitude(r._hi);if(w<0&&Math.abs(w)>=l-u&&(v=!1),!v)break}return t[0]=i,a.toString()},V.prototype.sqr=function(){return this.multiply(this)},V.prototype.doubleValue=function(){return this._hi+this._lo},V.prototype.subtract=function(){if(arguments[0]instanceof V){var e=arguments[0];return this.add(e.negate())}else if(typeof arguments[0]=="number"){var t=arguments[0];return this.add(-t)}},V.prototype.equals=function(){if(arguments.length===1){var e=arguments[0];return this._hi===e._hi&&this._lo===e._lo}},V.prototype.isZero=function(){return this._hi===0&&this._lo===0},V.prototype.selfSubtract=function(){if(arguments[0]instanceof V){var e=arguments[0];return this.isNaN()?this:this.selfAdd(-e._hi,-e._lo)}else if(typeof arguments[0]=="number"){var t=arguments[0];return this.isNaN()?this:this.selfAdd(-t,0)}},V.prototype.getSpecialNumberString=function(){return this.isZero()?"0.0":this.isNaN()?"NaN ":null},V.prototype.min=function(e){return this.le(e)?this:e},V.prototype.selfDivide=function(){if(arguments.length===1){if(arguments[0]instanceof V){var e=arguments[0];return this.selfDivide(e._hi,e._lo)}else if(typeof arguments[0]=="number"){var t=arguments[0];return this.selfDivide(t,0)}}else if(arguments.length===2){var r=arguments[0],i=arguments[1],s=null,o=null,a=null,l=null,u=null,h=null,f=null,d=null;return u=this._hi/r,h=V.SPLIT*u,s=h-u,d=V.SPLIT*r,s=h-s,o=u-s,a=d-r,f=u*r,a=d-a,l=r-a,d=s*a-f+s*l+o*a+o*l,h=(this._hi-f-d+this._lo-u*i)/r,d=u+h,this._hi=d,this._lo=u-d+h,this}},V.prototype.dump=function(){return"DD<"+this._hi+", "+this._lo+">"},V.prototype.divide=function(){if(arguments[0]instanceof V){var e=arguments[0],t=null,r=null,i=null,s=null,o=null,a=null,l=null,u=null;o=this._hi/e._hi,a=V.SPLIT*o,t=a-o,u=V.SPLIT*e._hi,t=a-t,r=o-t,i=u-e._hi,l=o*e._hi,i=u-i,s=e._hi-i,u=t*i-l+t*s+r*i+r*s,a=(this._hi-l-u+this._lo-o*e._lo)/e._hi,u=o+a;var h=u,f=o-u+a;return new V(h,f)}else if(typeof arguments[0]=="number"){var d=arguments[0];return le.isNaN(d)?V.createNaN():V.copy(this).selfDivide(d,0)}},V.prototype.ge=function(e){return(this._hi>e._hi||this._hi===e._hi)&&this._lo>=e._lo},V.prototype.pow=function(e){if(e===0)return V.valueOf(1);var t=new V(this),r=V.valueOf(1),i=Math.abs(e);if(i>1)for(;i>0;)i%2===1&&r.selfMultiply(t),i/=2,i>0&&(t=t.sqr());else r=t;return e<0?r.reciprocal():r},V.prototype.ceil=function(){if(this.isNaN())return V.NaN;var e=Math.ceil(this._hi),t=0;return e===this._hi&&(t=Math.ceil(this._lo)),new V(e,t)},V.prototype.compareTo=function(e){var t=e;return this._hi<t._hi?-1:this._hi>t._hi?1:this._lo<t._lo?-1:this._lo>t._lo?1:0},V.prototype.rint=function(){if(this.isNaN())return this;var e=this.add(.5);return e.floor()},V.prototype.setValue=function(){if(arguments[0]instanceof V){var e=arguments[0];return this.init(e),this}else if(typeof arguments[0]=="number"){var t=arguments[0];return this.init(t),this}},V.prototype.max=function(e){return this.ge(e)?this:e},V.prototype.sqrt=function(){if(this.isZero())return V.valueOf(0);if(this.isNegative())return V.NaN;var e=1/Math.sqrt(this._hi),t=this._hi*e,r=V.valueOf(t),i=this.subtract(r.sqr()),s=i._hi*(e*.5);return r.add(s)},V.prototype.selfAdd=function(){if(arguments.length===1){if(arguments[0]instanceof V){var e=arguments[0];return this.selfAdd(e._hi,e._lo)}else if(typeof arguments[0]=="number"){var t=arguments[0],r=null,i=null,s=null,o=null,a=null,l=null;return s=this._hi+t,a=s-this._hi,o=s-a,o=t-a+(this._hi-o),l=o+this._lo,r=s+l,i=l+(s-r),this._hi=r+i,this._lo=i+(r-this._hi),this}}else if(arguments.length===2){var u=arguments[0],h=arguments[1],f=null,d=null,v=null,w=null,I=null,T=null,L=null,m=null;I=this._hi+u,v=this._lo+h,L=I-this._hi,m=v-this._lo,T=I-L,w=v-m,T=u-L+(this._hi-T),w=h-m+(this._lo-w),L=T+v,f=I+L,d=L+(I-f),L=w+d;var _=f+L,g=L+(f-_);return this._hi=_,this._lo=g,this}},V.prototype.selfMultiply=function(){if(arguments.length===1){if(arguments[0]instanceof V){var e=arguments[0];return this.selfMultiply(e._hi,e._lo)}else if(typeof arguments[0]=="number"){var t=arguments[0];return this.selfMultiply(t,0)}}else if(arguments.length===2){var r=arguments[0],i=arguments[1],s=null,o=null,a=null,l=null,u=null,h=null;u=V.SPLIT*this._hi,s=u-this._hi,h=V.SPLIT*r,s=u-s,o=this._hi-s,a=h-r,u=this._hi*r,a=h-a,l=r-a,h=s*a-u+s*l+o*a+o*l+(this._hi*i+this._lo*r);var f=u+h;s=u-f;var d=h+s;return this._hi=f,this._lo=d,this}},V.prototype.selfSqr=function(){return this.selfMultiply(this)},V.prototype.floor=function(){if(this.isNaN())return V.NaN;var e=Math.floor(this._hi),t=0;return e===this._hi&&(t=Math.floor(this._lo)),new V(e,t)},V.prototype.negate=function(){return this.isNaN()?this:new V(-this._hi,-this._lo)},V.prototype.clone=function(){},V.prototype.multiply=function(){if(arguments[0]instanceof V){var e=arguments[0];return e.isNaN()?V.createNaN():V.copy(this).selfMultiply(e)}else if(typeof arguments[0]=="number"){var t=arguments[0];return le.isNaN(t)?V.createNaN():V.copy(this).selfMultiply(t,0)}},V.prototype.isNaN=function(){return le.isNaN(this._hi)},V.prototype.intValue=function(){return Math.trunc(this._hi)},V.prototype.toString=function(){var e=V.magnitude(this._hi);return e>=-3&&e<=20?this.toStandardNotation():this.toSciNotation()},V.prototype.toStandardNotation=function(){var e=this.getSpecialNumberString();if(e!==null)return e;var t=new Array(1).fill(null),r=this.extractSignificantDigits(!0,t),i=t[0]+1,s=r;if(r.charAt(0)===".")s="0"+r;else if(i<0)s="0."+V.stringOfChar("0",-i)+r;else if(r.indexOf(".")===-1){var o=i-r.length,a=V.stringOfChar("0",o);s=r+a+".0"}return this.isNegative()?"-"+s:s},V.prototype.reciprocal=function(){var e=null,t=null,r=null,i=null,s=null,o=null,a=null,l=null;s=1/this._hi,o=V.SPLIT*s,e=o-s,l=V.SPLIT*this._hi,e=o-e,t=s-e,r=l-this._hi,a=s*this._hi,r=l-r,i=this._hi-r,l=e*r-a+e*i+t*r+t*i,o=(1-a-l-s*this._lo)/this._hi;var u=s+o,h=s-u+o;return new V(u,h)},V.prototype.toSciNotation=function(){if(this.isZero())return V.SCI_NOT_ZERO;var e=this.getSpecialNumberString();if(e!==null)return e;var t=new Array(1).fill(null),r=this.extractSignificantDigits(!1,t),i=V.SCI_NOT_EXPONENT_CHAR+t[0];if(r.charAt(0)==="0")throw new Error("Found leading zero: "+r);var s="";r.length>1&&(s=r.substring(1));var o=r.charAt(0)+"."+s;return this.isNegative()?"-"+o+i:o+i},V.prototype.abs=function(){return this.isNaN()?V.NaN:this.isNegative()?this.negate():new V(this)},V.prototype.isPositive=function(){return(this._hi>0||this._hi===0)&&this._lo>0},V.prototype.lt=function(e){return(this._hi<e._hi||this._hi===e._hi)&&this._lo<e._lo},V.prototype.add=function(){if(arguments[0]instanceof V){var e=arguments[0];return V.copy(this).selfAdd(e)}else if(typeof arguments[0]=="number"){var t=arguments[0];return V.copy(this).selfAdd(t)}},V.prototype.init=function(){if(arguments.length===1){if(typeof arguments[0]=="number"){var e=arguments[0];this._hi=e,this._lo=0}else if(arguments[0]instanceof V){var t=arguments[0];this._hi=t._hi,this._lo=t._lo}}else if(arguments.length===2){var r=arguments[0],i=arguments[1];this._hi=r,this._lo=i}},V.prototype.gt=function(e){return(this._hi>e._hi||this._hi===e._hi)&&this._lo>e._lo},V.prototype.isNegative=function(){return(this._hi<0||this._hi===0)&&this._lo<0},V.prototype.trunc=function(){return this.isNaN()?V.NaN:this.isPositive()?this.floor():this.ceil()},V.prototype.signum=function(){return this._hi>0?1:this._hi<0?-1:this._lo>0?1:this._lo<0?-1:0},V.prototype.interfaces_=function(){return[Cr,Sr,Lu]},V.prototype.getClass=function(){return V},V.sqr=function(e){return V.valueOf(e).selfMultiply(e)},V.valueOf=function(){if(typeof arguments[0]=="string"){var e=arguments[0];return V.parse(e)}else if(typeof arguments[0]=="number"){var t=arguments[0];return new V(t)}},V.sqrt=function(e){return V.valueOf(e).sqrt()},V.parse=function(e){for(var t=0,r=e.length;Wl.isWhitespace(e.charAt(t));)t++;var i=!1;if(t<r){var s=e.charAt(t);(s==="-"||s==="+")&&(t++,s==="-"&&(i=!0))}for(var o=new V,a=0,l=0,u=0;!(t>=r);){var h=e.charAt(t);if(t++,Wl.isDigit(h)){var f=h-"0";o.selfMultiply(V.TEN),o.selfAdd(f),a++;continue}if(h==="."){l=a;continue}if(h==="e"||h==="E"){var d=e.substring(t);try{u=ln.parseInt(d)}catch(L){throw L instanceof Error?new Error("Invalid exponent "+d+" in string "+e):L}finally{}break}throw new Error("Unexpected character '"+h+"' at position "+t+" in string "+e)}var v=o,w=a-l-u;if(w===0)v=o;else if(w>0){var I=V.TEN.pow(w);v=o.divide(I)}else if(w<0){var T=V.TEN.pow(-w);v=o.multiply(T)}return i?v.negate():v},V.createNaN=function(){return new V(le.NaN,le.NaN)},V.copy=function(e){return new V(e)},V.magnitude=function(e){var t=Math.abs(e),r=Math.log(t)/Math.log(10),i=Math.trunc(Math.floor(r)),s=Math.pow(10,i);return s*10<=t&&(i+=1),i},V.stringOfChar=function(e,t){for(var r=new an,i=0;i<t;i++)r.append(e);return r.toString()},qr.PI.get=function(){return new V(3.141592653589793,12246467991473532e-32)},qr.TWO_PI.get=function(){return new V(6.283185307179586,24492935982947064e-32)},qr.PI_2.get=function(){return new V(1.5707963267948966,6123233995736766e-32)},qr.E.get=function(){return new V(2.718281828459045,14456468917292502e-32)},qr.NaN.get=function(){return new V(le.NaN,le.NaN)},qr.EPS.get=function(){return 123259516440783e-46},qr.SPLIT.get=function(){return 134217729},qr.MAX_PRINT_DIGITS.get=function(){return 32},qr.TEN.get=function(){return V.valueOf(10)},qr.ONE.get=function(){return V.valueOf(1)},qr.SCI_NOT_EXPONENT_CHAR.get=function(){return"E"},qr.SCI_NOT_ZERO.get=function(){return"0.0E0"},Object.defineProperties(V,qr);var Gt=function(){},Lf={DP_SAFE_EPSILON:{configurable:!0}};Gt.prototype.interfaces_=function(){return[]},Gt.prototype.getClass=function(){return Gt},Gt.orientationIndex=function(e,t,r){var i=Gt.orientationIndexFilter(e,t,r);if(i<=1)return i;var s=V.valueOf(t.x).selfAdd(-e.x),o=V.valueOf(t.y).selfAdd(-e.y),a=V.valueOf(r.x).selfAdd(-t.x),l=V.valueOf(r.y).selfAdd(-t.y);return s.selfMultiply(l).selfSubtract(o.selfMultiply(a)).signum()},Gt.signOfDet2x2=function(e,t,r,i){var s=e.multiply(i).selfSubtract(t.multiply(r));return s.signum()},Gt.intersection=function(e,t,r,i){var s=V.valueOf(i.y).selfSubtract(r.y).selfMultiply(V.valueOf(t.x).selfSubtract(e.x)),o=V.valueOf(i.x).selfSubtract(r.x).selfMultiply(V.valueOf(t.y).selfSubtract(e.y)),a=s.subtract(o),l=V.valueOf(i.x).selfSubtract(r.x).selfMultiply(V.valueOf(e.y).selfSubtract(r.y)),u=V.valueOf(i.y).selfSubtract(r.y).selfMultiply(V.valueOf(e.x).selfSubtract(r.x)),h=l.subtract(u),f=h.selfDivide(a).doubleValue(),d=V.valueOf(e.x).selfAdd(V.valueOf(t.x).selfSubtract(e.x).selfMultiply(f)).doubleValue(),v=V.valueOf(t.x).selfSubtract(e.x).selfMultiply(V.valueOf(e.y).selfSubtract(r.y)),w=V.valueOf(t.y).selfSubtract(e.y).selfMultiply(V.valueOf(e.x).selfSubtract(r.x)),I=v.subtract(w),T=I.selfDivide(a).doubleValue(),L=V.valueOf(r.y).selfAdd(V.valueOf(i.y).selfSubtract(r.y).selfMultiply(T)).doubleValue();return new M(d,L)},Gt.orientationIndexFilter=function(e,t,r){var i=null,s=(e.x-r.x)*(t.y-r.y),o=(e.y-r.y)*(t.x-r.x),a=s-o;if(s>0){if(o<=0)return Gt.signum(a);i=s+o}else if(s<0){if(o>=0)return Gt.signum(a);i=-s-o}else return Gt.signum(a);var l=Gt.DP_SAFE_EPSILON*i;return a>=l||-a>=l?Gt.signum(a):2},Gt.signum=function(e){return e>0?1:e<0?-1:0},Lf.DP_SAFE_EPSILON.get=function(){return 1e-15},Object.defineProperties(Gt,Lf);var Ee=function(){},ql={X:{configurable:!0},Y:{configurable:!0},Z:{configurable:!0},M:{configurable:!0}};ql.X.get=function(){return 0},ql.Y.get=function(){return 1},ql.Z.get=function(){return 2},ql.M.get=function(){return 3},Ee.prototype.setOrdinate=function(e,t,r){},Ee.prototype.size=function(){},Ee.prototype.getOrdinate=function(e,t){},Ee.prototype.getCoordinate=function(){},Ee.prototype.getCoordinateCopy=function(e){},Ee.prototype.getDimension=function(){},Ee.prototype.getX=function(e){},Ee.prototype.clone=function(){},Ee.prototype.expandEnvelope=function(e){},Ee.prototype.copy=function(){},Ee.prototype.getY=function(e){},Ee.prototype.toCoordinateArray=function(){},Ee.prototype.interfaces_=function(){return[Lu]},Ee.prototype.getClass=function(){return Ee},Object.defineProperties(Ee,ql);var Af=function(){},tl=function(n){function e(){n.call(this,"Projective point not representable on the Cartesian plane.")}return n&&(e.__proto__=n),e.prototype=Object.create(n&&n.prototype),e.prototype.constructor=e,e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(Af),mt=function(){};mt.arraycopy=function(e,t,r,i,s){for(var o=0,a=t;a<t+s;a++)r[i+o]=e[a],o++},mt.getProperty=function(e){return{"line.separator":`
25
- `}[e]};var Xr=function n(){if(this.x=null,this.y=null,this.w=null,arguments.length===0)this.x=0,this.y=0,this.w=1;else if(arguments.length===1){var e=arguments[0];this.x=e.x,this.y=e.y,this.w=1}else if(arguments.length===2){if(typeof arguments[0]=="number"&&typeof arguments[1]=="number"){var t=arguments[0],r=arguments[1];this.x=t,this.y=r,this.w=1}else if(arguments[0]instanceof n&&arguments[1]instanceof n){var i=arguments[0],s=arguments[1];this.x=i.y*s.w-s.y*i.w,this.y=s.x*i.w-i.x*s.w,this.w=i.x*s.y-s.x*i.y}else if(arguments[0]instanceof M&&arguments[1]instanceof M){var o=arguments[0],a=arguments[1];this.x=o.y-a.y,this.y=a.x-o.x,this.w=o.x*a.y-a.x*o.y}}else if(arguments.length===3){var l=arguments[0],u=arguments[1],h=arguments[2];this.x=l,this.y=u,this.w=h}else if(arguments.length===4){var f=arguments[0],d=arguments[1],v=arguments[2],w=arguments[3],I=f.y-d.y,T=d.x-f.x,L=f.x*d.y-d.x*f.y,m=v.y-w.y,_=w.x-v.x,g=v.x*w.y-w.x*v.y;this.x=T*g-_*L,this.y=m*L-I*g,this.w=I*_-m*T}};Xr.prototype.getY=function(){var e=this.y/this.w;if(le.isNaN(e)||le.isInfinite(e))throw new tl;return e},Xr.prototype.getX=function(){var e=this.x/this.w;if(le.isNaN(e)||le.isInfinite(e))throw new tl;return e},Xr.prototype.getCoordinate=function(){var e=new M;return e.x=this.getX(),e.y=this.getY(),e},Xr.prototype.interfaces_=function(){return[]},Xr.prototype.getClass=function(){return Xr},Xr.intersection=function(e,t,r,i){var s=e.y-t.y,o=t.x-e.x,a=e.x*t.y-t.x*e.y,l=r.y-i.y,u=i.x-r.x,h=r.x*i.y-i.x*r.y,f=o*h-u*a,d=l*a-s*h,v=s*u-l*o,w=f/v,I=d/v;if(le.isNaN(w)||le.isInfinite(w)||le.isNaN(I)||le.isInfinite(I))throw new tl;return new M(w,I)};var te=function n(){if(this._minx=null,this._maxx=null,this._miny=null,this._maxy=null,arguments.length===0)this.init();else if(arguments.length===1){if(arguments[0]instanceof M){var e=arguments[0];this.init(e.x,e.x,e.y,e.y)}else if(arguments[0]instanceof n){var t=arguments[0];this.init(t)}}else if(arguments.length===2){var r=arguments[0],i=arguments[1];this.init(r.x,i.x,r.y,i.y)}else if(arguments.length===4){var s=arguments[0],o=arguments[1],a=arguments[2],l=arguments[3];this.init(s,o,a,l)}},Rf={serialVersionUID:{configurable:!0}};te.prototype.getArea=function(){return this.getWidth()*this.getHeight()},te.prototype.equals=function(e){if(!(e instanceof te))return!1;var t=e;return this.isNull()?t.isNull():this._maxx===t.getMaxX()&&this._maxy===t.getMaxY()&&this._minx===t.getMinX()&&this._miny===t.getMinY()},te.prototype.intersection=function(e){if(this.isNull()||e.isNull()||!this.intersects(e))return new te;var t=this._minx>e._minx?this._minx:e._minx,r=this._miny>e._miny?this._miny:e._miny,i=this._maxx<e._maxx?this._maxx:e._maxx,s=this._maxy<e._maxy?this._maxy:e._maxy;return new te(t,i,r,s)},te.prototype.isNull=function(){return this._maxx<this._minx},te.prototype.getMaxX=function(){return this._maxx},te.prototype.covers=function(){if(arguments.length===1){if(arguments[0]instanceof M){var e=arguments[0];return this.covers(e.x,e.y)}else if(arguments[0]instanceof te){var t=arguments[0];return this.isNull()||t.isNull()?!1:t.getMinX()>=this._minx&&t.getMaxX()<=this._maxx&&t.getMinY()>=this._miny&&t.getMaxY()<=this._maxy}}else if(arguments.length===2){var r=arguments[0],i=arguments[1];return this.isNull()?!1:r>=this._minx&&r<=this._maxx&&i>=this._miny&&i<=this._maxy}},te.prototype.intersects=function(){if(arguments.length===1){if(arguments[0]instanceof te){var e=arguments[0];return this.isNull()||e.isNull()?!1:!(e._minx>this._maxx||e._maxx<this._minx||e._miny>this._maxy||e._maxy<this._miny)}else if(arguments[0]instanceof M){var t=arguments[0];return this.intersects(t.x,t.y)}}else if(arguments.length===2){var r=arguments[0],i=arguments[1];return this.isNull()?!1:!(r>this._maxx||r<this._minx||i>this._maxy||i<this._miny)}},te.prototype.getMinY=function(){return this._miny},te.prototype.getMinX=function(){return this._minx},te.prototype.expandToInclude=function(){if(arguments.length===1){if(arguments[0]instanceof M){var e=arguments[0];this.expandToInclude(e.x,e.y)}else if(arguments[0]instanceof te){var t=arguments[0];if(t.isNull())return null;this.isNull()?(this._minx=t.getMinX(),this._maxx=t.getMaxX(),this._miny=t.getMinY(),this._maxy=t.getMaxY()):(t._minx<this._minx&&(this._minx=t._minx),t._maxx>this._maxx&&(this._maxx=t._maxx),t._miny<this._miny&&(this._miny=t._miny),t._maxy>this._maxy&&(this._maxy=t._maxy))}}else if(arguments.length===2){var r=arguments[0],i=arguments[1];this.isNull()?(this._minx=r,this._maxx=r,this._miny=i,this._maxy=i):(r<this._minx&&(this._minx=r),r>this._maxx&&(this._maxx=r),i<this._miny&&(this._miny=i),i>this._maxy&&(this._maxy=i))}},te.prototype.minExtent=function(){if(this.isNull())return 0;var e=this.getWidth(),t=this.getHeight();return e<t?e:t},te.prototype.getWidth=function(){return this.isNull()?0:this._maxx-this._minx},te.prototype.compareTo=function(e){var t=e;return this.isNull()?t.isNull()?0:-1:t.isNull()?1:this._minx<t._minx?-1:this._minx>t._minx?1:this._miny<t._miny?-1:this._miny>t._miny?1:this._maxx<t._maxx?-1:this._maxx>t._maxx?1:this._maxy<t._maxy?-1:this._maxy>t._maxy?1:0},te.prototype.translate=function(e,t){if(this.isNull())return null;this.init(this.getMinX()+e,this.getMaxX()+e,this.getMinY()+t,this.getMaxY()+t)},te.prototype.toString=function(){return"Env["+this._minx+" : "+this._maxx+", "+this._miny+" : "+this._maxy+"]"},te.prototype.setToNull=function(){this._minx=0,this._maxx=-1,this._miny=0,this._maxy=-1},te.prototype.getHeight=function(){return this.isNull()?0:this._maxy-this._miny},te.prototype.maxExtent=function(){if(this.isNull())return 0;var e=this.getWidth(),t=this.getHeight();return e>t?e:t},te.prototype.expandBy=function(){if(arguments.length===1){var e=arguments[0];this.expandBy(e,e)}else if(arguments.length===2){var t=arguments[0],r=arguments[1];if(this.isNull())return null;this._minx-=t,this._maxx+=t,this._miny-=r,this._maxy+=r,(this._minx>this._maxx||this._miny>this._maxy)&&this.setToNull()}},te.prototype.contains=function(){if(arguments.length===1){if(arguments[0]instanceof te){var e=arguments[0];return this.covers(e)}else if(arguments[0]instanceof M){var t=arguments[0];return this.covers(t)}}else if(arguments.length===2){var r=arguments[0],i=arguments[1];return this.covers(r,i)}},te.prototype.centre=function(){return this.isNull()?null:new M((this.getMinX()+this.getMaxX())/2,(this.getMinY()+this.getMaxY())/2)},te.prototype.init=function(){if(arguments.length===0)this.setToNull();else if(arguments.length===1){if(arguments[0]instanceof M){var e=arguments[0];this.init(e.x,e.x,e.y,e.y)}else if(arguments[0]instanceof te){var t=arguments[0];this._minx=t._minx,this._maxx=t._maxx,this._miny=t._miny,this._maxy=t._maxy}}else if(arguments.length===2){var r=arguments[0],i=arguments[1];this.init(r.x,i.x,r.y,i.y)}else if(arguments.length===4){var s=arguments[0],o=arguments[1],a=arguments[2],l=arguments[3];s<o?(this._minx=s,this._maxx=o):(this._minx=o,this._maxx=s),a<l?(this._miny=a,this._maxy=l):(this._miny=l,this._maxy=a)}},te.prototype.getMaxY=function(){return this._maxy},te.prototype.distance=function(e){if(this.intersects(e))return 0;var t=0;this._maxx<e._minx?t=e._minx-this._maxx:this._minx>e._maxx&&(t=this._minx-e._maxx);var r=0;return this._maxy<e._miny?r=e._miny-this._maxy:this._miny>e._maxy&&(r=this._miny-e._maxy),t===0?r:r===0?t:Math.sqrt(t*t+r*r)},te.prototype.hashCode=function(){var e=17;return e=37*e+M.hashCode(this._minx),e=37*e+M.hashCode(this._maxx),e=37*e+M.hashCode(this._miny),e=37*e+M.hashCode(this._maxy),e},te.prototype.interfaces_=function(){return[Sr,Cr]},te.prototype.getClass=function(){return te},te.intersects=function(){if(arguments.length===3){var e=arguments[0],t=arguments[1],r=arguments[2];return r.x>=(e.x<t.x?e.x:t.x)&&r.x<=(e.x>t.x?e.x:t.x)&&r.y>=(e.y<t.y?e.y:t.y)&&r.y<=(e.y>t.y?e.y:t.y)}else if(arguments.length===4){var i=arguments[0],s=arguments[1],o=arguments[2],a=arguments[3],l=Math.min(o.x,a.x),u=Math.max(o.x,a.x),h=Math.min(i.x,s.x),f=Math.max(i.x,s.x);return!(h>u||f<l||(l=Math.min(o.y,a.y),u=Math.max(o.y,a.y),h=Math.min(i.y,s.y),f=Math.max(i.y,s.y),h>u)||f<l)}},Rf.serialVersionUID.get=function(){return 5873921885273102e3},Object.defineProperties(te,Rf);var un={typeStr:/^\s*(\w+)\s*\(\s*(.*)\s*\)\s*$/,emptyTypeStr:/^\s*(\w+)\s*EMPTY\s*$/,spaces:/\s+/,parenComma:/\)\s*,\s*\(/,doubleParenComma:/\)\s*\)\s*,\s*\(\s*\(/,trimParens:/^\s*\(?(.*?)\)?\s*$/},Au=function(e){this.geometryFactory=e||new ge};Au.prototype.read=function(e){var t,r,i;e=e.replace(/[\n\r]/g," ");var s=un.typeStr.exec(e);if(e.search("EMPTY")!==-1&&(s=un.emptyTypeStr.exec(e),s[2]=void 0),s&&(r=s[1].toLowerCase(),i=s[2],rl[r]&&(t=rl[r].apply(this,[i]))),t===void 0)throw new Error("Could not parse WKT "+e);return t},Au.prototype.write=function(e){return this.extractGeometry(e)},Au.prototype.extractGeometry=function(e){var t=e.getGeometryType().toLowerCase();if(!ri[t])return null;var r=t.toUpperCase(),i;return e.isEmpty()?i=r+" EMPTY":i=r+"("+ri[t].apply(this,[e])+")",i};var ri={coordinate:function(e){return e.x+" "+e.y},point:function(e){return ri.coordinate.call(this,e._coordinates._coordinates[0])},multipoint:function(e){for(var t=this,r=[],i=0,s=e._geometries.length;i<s;++i)r.push("("+ri.point.apply(t,[e._geometries[i]])+")");return r.join(",")},linestring:function(e){for(var t=this,r=[],i=0,s=e._points._coordinates.length;i<s;++i)r.push(ri.coordinate.apply(t,[e._points._coordinates[i]]));return r.join(",")},linearring:function(e){for(var t=this,r=[],i=0,s=e._points._coordinates.length;i<s;++i)r.push(ri.coordinate.apply(t,[e._points._coordinates[i]]));return r.join(",")},multilinestring:function(e){for(var t=this,r=[],i=0,s=e._geometries.length;i<s;++i)r.push("("+ri.linestring.apply(t,[e._geometries[i]])+")");return r.join(",")},polygon:function(e){var t=this,r=[];r.push("("+ri.linestring.apply(this,[e._shell])+")");for(var i=0,s=e._holes.length;i<s;++i)r.push("("+ri.linestring.apply(t,[e._holes[i]])+")");return r.join(",")},multipolygon:function(e){for(var t=this,r=[],i=0,s=e._geometries.length;i<s;++i)r.push("("+ri.polygon.apply(t,[e._geometries[i]])+")");return r.join(",")},geometrycollection:function(e){for(var t=this,r=[],i=0,s=e._geometries.length;i<s;++i)r.push(t.extractGeometry(e._geometries[i]));return r.join(",")}},rl={point:function(e){if(e===void 0)return this.geometryFactory.createPoint();var t=e.trim().split(un.spaces);return this.geometryFactory.createPoint(new M(Number.parseFloat(t[0]),Number.parseFloat(t[1])))},multipoint:function(e){var t=this;if(e===void 0)return this.geometryFactory.createMultiPoint();for(var r,i=e.trim().split(","),s=[],o=0,a=i.length;o<a;++o)r=i[o].replace(un.trimParens,"$1"),s.push(rl.point.apply(t,[r]));return this.geometryFactory.createMultiPoint(s)},linestring:function(e){if(e===void 0)return this.geometryFactory.createLineString();for(var t=e.trim().split(","),r=[],i,s=0,o=t.length;s<o;++s)i=t[s].trim().split(un.spaces),r.push(new M(Number.parseFloat(i[0]),Number.parseFloat(i[1])));return this.geometryFactory.createLineString(r)},linearring:function(e){if(e===void 0)return this.geometryFactory.createLinearRing();for(var t=e.trim().split(","),r=[],i,s=0,o=t.length;s<o;++s)i=t[s].trim().split(un.spaces),r.push(new M(Number.parseFloat(i[0]),Number.parseFloat(i[1])));return this.geometryFactory.createLinearRing(r)},multilinestring:function(e){var t=this;if(e===void 0)return this.geometryFactory.createMultiLineString();for(var r,i=e.trim().split(un.parenComma),s=[],o=0,a=i.length;o<a;++o)r=i[o].replace(un.trimParens,"$1"),s.push(rl.linestring.apply(t,[r]));return this.geometryFactory.createMultiLineString(s)},polygon:function(e){var t=this;if(e===void 0)return this.geometryFactory.createPolygon();for(var r,i,s,o=e.trim().split(un.parenComma),a,l=[],u=0,h=o.length;u<h;++u)r=o[u].replace(un.trimParens,"$1"),i=rl.linestring.apply(t,[r]),s=t.geometryFactory.createLinearRing(i._points),u===0?a=s:l.push(s);return this.geometryFactory.createPolygon(a,l)},multipolygon:function(e){var t=this;if(e===void 0)return this.geometryFactory.createMultiPolygon();for(var r,i=e.trim().split(un.doubleParenComma),s=[],o=0,a=i.length;o<a;++o)r=i[o].replace(un.trimParens,"$1"),s.push(rl.polygon.apply(t,[r]));return this.geometryFactory.createMultiPolygon(s)},geometrycollection:function(e){var t=this;if(e===void 0)return this.geometryFactory.createGeometryCollection();e=e.replace(/,\s*([A-Za-z])/g,"|$1");for(var r=e.trim().split("|"),i=[],s=0,o=r.length;s<o;++s)i.push(t.read(r[s]));return this.geometryFactory.createGeometryCollection(i)}},Yr=function(e){this.parser=new Au(e)};Yr.prototype.write=function(e){return this.parser.write(e)},Yr.toLineString=function(e,t){if(arguments.length!==2)throw new Error("Not implemented");return"LINESTRING ( "+e.x+" "+e.y+", "+t.x+" "+t.y+" )"};var ni=function(n){function e(t){n.call(this,t),this.name="RuntimeException",this.message=t,this.stack=new n().stack}return n&&(e.__proto__=n),e.prototype=Object.create(n&&n.prototype),e.prototype.constructor=e,e}(Error),Ru=function(n){function e(){if(n.call(this),arguments.length===0)n.call(this);else if(arguments.length===1){var t=arguments[0];n.call(this,t)}}return n&&(e.__proto__=n),e.prototype=Object.create(n&&n.prototype),e.prototype.constructor=e,e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(ni),fe=function(){};fe.prototype.interfaces_=function(){return[]},fe.prototype.getClass=function(){return fe},fe.shouldNeverReachHere=function(){if(arguments.length===0)fe.shouldNeverReachHere(null);else if(arguments.length===1){var e=arguments[0];throw new Ru("Should never reach here"+(e!==null?": "+e:""))}},fe.isTrue=function(){var e,t;if(arguments.length===1)e=arguments[0],fe.isTrue(e,null);else if(arguments.length===2&&(e=arguments[0],t=arguments[1],!e))throw t===null?new Ru:new Ru(t)},fe.equals=function(){var e,t,r;if(arguments.length===2)e=arguments[0],t=arguments[1],fe.equals(e,t,null);else if(arguments.length===3&&(e=arguments[0],t=arguments[1],r=arguments[2],!t.equals(e)))throw new Ru("Expected "+e+" but encountered "+t+(r!==null?": "+r:""))};var We=function(){this._result=null,this._inputLines=Array(2).fill().map(function(){return Array(2)}),this._intPt=new Array(2).fill(null),this._intLineIndex=null,this._isProper=null,this._pa=null,this._pb=null,this._precisionModel=null,this._intPt[0]=new M,this._intPt[1]=new M,this._pa=this._intPt[0],this._pb=this._intPt[1],this._result=0},Hs={DONT_INTERSECT:{configurable:!0},DO_INTERSECT:{configurable:!0},COLLINEAR:{configurable:!0},NO_INTERSECTION:{configurable:!0},POINT_INTERSECTION:{configurable:!0},COLLINEAR_INTERSECTION:{configurable:!0}};We.prototype.getIndexAlongSegment=function(e,t){return this.computeIntLineIndex(),this._intLineIndex[e][t]},We.prototype.getTopologySummary=function(){var e=new an;return this.isEndPoint()&&e.append(" endpoint"),this._isProper&&e.append(" proper"),this.isCollinear()&&e.append(" collinear"),e.toString()},We.prototype.computeIntersection=function(e,t,r,i){this._inputLines[0][0]=e,this._inputLines[0][1]=t,this._inputLines[1][0]=r,this._inputLines[1][1]=i,this._result=this.computeIntersect(e,t,r,i)},We.prototype.getIntersectionNum=function(){return this._result},We.prototype.computeIntLineIndex=function(){if(arguments.length===0)this._intLineIndex===null&&(this._intLineIndex=Array(2).fill().map(function(){return Array(2)}),this.computeIntLineIndex(0),this.computeIntLineIndex(1));else if(arguments.length===1){var e=arguments[0],t=this.getEdgeDistance(e,0),r=this.getEdgeDistance(e,1);t>r?(this._intLineIndex[e][0]=0,this._intLineIndex[e][1]=1):(this._intLineIndex[e][0]=1,this._intLineIndex[e][1]=0)}},We.prototype.isProper=function(){return this.hasIntersection()&&this._isProper},We.prototype.setPrecisionModel=function(e){this._precisionModel=e},We.prototype.isInteriorIntersection=function(){var e=this;if(arguments.length===0)return!!(this.isInteriorIntersection(0)||this.isInteriorIntersection(1));if(arguments.length===1){for(var t=arguments[0],r=0;r<this._result;r++)if(!(e._intPt[r].equals2D(e._inputLines[t][0])||e._intPt[r].equals2D(e._inputLines[t][1])))return!0;return!1}},We.prototype.getIntersection=function(e){return this._intPt[e]},We.prototype.isEndPoint=function(){return this.hasIntersection()&&!this._isProper},We.prototype.hasIntersection=function(){return this._result!==We.NO_INTERSECTION},We.prototype.getEdgeDistance=function(e,t){var r=We.computeEdgeDistance(this._intPt[t],this._inputLines[e][0],this._inputLines[e][1]);return r},We.prototype.isCollinear=function(){return this._result===We.COLLINEAR_INTERSECTION},We.prototype.toString=function(){return Yr.toLineString(this._inputLines[0][0],this._inputLines[0][1])+" - "+Yr.toLineString(this._inputLines[1][0],this._inputLines[1][1])+this.getTopologySummary()},We.prototype.getEndpoint=function(e,t){return this._inputLines[e][t]},We.prototype.isIntersection=function(e){for(var t=this,r=0;r<this._result;r++)if(t._intPt[r].equals2D(e))return!0;return!1},We.prototype.getIntersectionAlongSegment=function(e,t){return this.computeIntLineIndex(),this._intPt[this._intLineIndex[e][t]]},We.prototype.interfaces_=function(){return[]},We.prototype.getClass=function(){return We},We.computeEdgeDistance=function(e,t,r){var i=Math.abs(r.x-t.x),s=Math.abs(r.y-t.y),o=-1;if(e.equals(t))o=0;else if(e.equals(r))i>s?o=i:o=s;else{var a=Math.abs(e.x-t.x),l=Math.abs(e.y-t.y);i>s?o=a:o=l,o===0&&!e.equals(t)&&(o=Math.max(a,l))}return fe.isTrue(!(o===0&&!e.equals(t)),"Bad distance calculation"),o},We.nonRobustComputeEdgeDistance=function(e,t,r){var i=e.x-t.x,s=e.y-t.y,o=Math.sqrt(i*i+s*s);return fe.isTrue(!(o===0&&!e.equals(t)),"Invalid distance calculation"),o},Hs.DONT_INTERSECT.get=function(){return 0},Hs.DO_INTERSECT.get=function(){return 1},Hs.COLLINEAR.get=function(){return 2},Hs.NO_INTERSECTION.get=function(){return 0},Hs.POINT_INTERSECTION.get=function(){return 1},Hs.COLLINEAR_INTERSECTION.get=function(){return 2},Object.defineProperties(We,Hs);var hs=function(n){function e(){n.apply(this,arguments)}return n&&(e.__proto__=n),e.prototype=Object.create(n&&n.prototype),e.prototype.constructor=e,e.prototype.isInSegmentEnvelopes=function(r){var i=new te(this._inputLines[0][0],this._inputLines[0][1]),s=new te(this._inputLines[1][0],this._inputLines[1][1]);return i.contains(r)&&s.contains(r)},e.prototype.computeIntersection=function(){if(arguments.length===3){var r=arguments[0],i=arguments[1],s=arguments[2];if(this._isProper=!1,te.intersects(i,s,r)&&H.orientationIndex(i,s,r)===0&&H.orientationIndex(s,i,r)===0)return this._isProper=!0,(r.equals(i)||r.equals(s))&&(this._isProper=!1),this._result=n.POINT_INTERSECTION,null;this._result=n.NO_INTERSECTION}else return n.prototype.computeIntersection.apply(this,arguments)},e.prototype.normalizeToMinimum=function(r,i,s,o,a){a.x=this.smallestInAbsValue(r.x,i.x,s.x,o.x),a.y=this.smallestInAbsValue(r.y,i.y,s.y,o.y),r.x-=a.x,r.y-=a.y,i.x-=a.x,i.y-=a.y,s.x-=a.x,s.y-=a.y,o.x-=a.x,o.y-=a.y},e.prototype.safeHCoordinateIntersection=function(r,i,s,o){var a=null;try{a=Xr.intersection(r,i,s,o)}catch(l){if(l instanceof tl)a=e.nearestEndpoint(r,i,s,o);else throw l}finally{}return a},e.prototype.intersection=function(r,i,s,o){var a=this.intersectionWithNormalization(r,i,s,o);return this.isInSegmentEnvelopes(a)||(a=new M(e.nearestEndpoint(r,i,s,o))),this._precisionModel!==null&&this._precisionModel.makePrecise(a),a},e.prototype.smallestInAbsValue=function(r,i,s,o){var a=r,l=Math.abs(a);return Math.abs(i)<l&&(a=i,l=Math.abs(i)),Math.abs(s)<l&&(a=s,l=Math.abs(s)),Math.abs(o)<l&&(a=o),a},e.prototype.checkDD=function(r,i,s,o,a){var l=Gt.intersection(r,i,s,o),u=this.isInSegmentEnvelopes(l);mt.out.println("DD in env = "+u+" --------------------- "+l),a.distance(l)>1e-4&&mt.out.println("Distance = "+a.distance(l))},e.prototype.intersectionWithNormalization=function(r,i,s,o){var a=new M(r),l=new M(i),u=new M(s),h=new M(o),f=new M;this.normalizeToEnvCentre(a,l,u,h,f);var d=this.safeHCoordinateIntersection(a,l,u,h);return d.x+=f.x,d.y+=f.y,d},e.prototype.computeCollinearIntersection=function(r,i,s,o){var a=te.intersects(r,i,s),l=te.intersects(r,i,o),u=te.intersects(s,o,r),h=te.intersects(s,o,i);return a&&l?(this._intPt[0]=s,this._intPt[1]=o,n.COLLINEAR_INTERSECTION):u&&h?(this._intPt[0]=r,this._intPt[1]=i,n.COLLINEAR_INTERSECTION):a&&u?(this._intPt[0]=s,this._intPt[1]=r,s.equals(r)&&!l&&!h?n.POINT_INTERSECTION:n.COLLINEAR_INTERSECTION):a&&h?(this._intPt[0]=s,this._intPt[1]=i,s.equals(i)&&!l&&!u?n.POINT_INTERSECTION:n.COLLINEAR_INTERSECTION):l&&u?(this._intPt[0]=o,this._intPt[1]=r,o.equals(r)&&!a&&!h?n.POINT_INTERSECTION:n.COLLINEAR_INTERSECTION):l&&h?(this._intPt[0]=o,this._intPt[1]=i,o.equals(i)&&!a&&!u?n.POINT_INTERSECTION:n.COLLINEAR_INTERSECTION):n.NO_INTERSECTION},e.prototype.normalizeToEnvCentre=function(r,i,s,o,a){var l=r.x<i.x?r.x:i.x,u=r.y<i.y?r.y:i.y,h=r.x>i.x?r.x:i.x,f=r.y>i.y?r.y:i.y,d=s.x<o.x?s.x:o.x,v=s.y<o.y?s.y:o.y,w=s.x>o.x?s.x:o.x,I=s.y>o.y?s.y:o.y,T=l>d?l:d,L=h<w?h:w,m=u>v?u:v,_=f<I?f:I,g=(T+L)/2,y=(m+_)/2;a.x=g,a.y=y,r.x-=a.x,r.y-=a.y,i.x-=a.x,i.y-=a.y,s.x-=a.x,s.y-=a.y,o.x-=a.x,o.y-=a.y},e.prototype.computeIntersect=function(r,i,s,o){if(this._isProper=!1,!te.intersects(r,i,s,o))return n.NO_INTERSECTION;var a=H.orientationIndex(r,i,s),l=H.orientationIndex(r,i,o);if(a>0&&l>0||a<0&&l<0)return n.NO_INTERSECTION;var u=H.orientationIndex(s,o,r),h=H.orientationIndex(s,o,i);if(u>0&&h>0||u<0&&h<0)return n.NO_INTERSECTION;var f=a===0&&l===0&&u===0&&h===0;return f?this.computeCollinearIntersection(r,i,s,o):(a===0||l===0||u===0||h===0?(this._isProper=!1,r.equals2D(s)||r.equals2D(o)?this._intPt[0]=r:i.equals2D(s)||i.equals2D(o)?this._intPt[0]=i:a===0?this._intPt[0]=new M(s):l===0?this._intPt[0]=new M(o):u===0?this._intPt[0]=new M(r):h===0&&(this._intPt[0]=new M(i))):(this._isProper=!0,this._intPt[0]=this.intersection(r,i,s,o)),n.POINT_INTERSECTION)},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e.nearestEndpoint=function(r,i,s,o){var a=r,l=H.distancePointLine(r,s,o),u=H.distancePointLine(i,s,o);return u<l&&(l=u,a=i),u=H.distancePointLine(s,r,i),u<l&&(l=u,a=s),u=H.distancePointLine(o,r,i),u<l&&(l=u,a=o),a},e}(We),Js=function(){};Js.prototype.interfaces_=function(){return[]},Js.prototype.getClass=function(){return Js},Js.orientationIndex=function(e,t,r){var i=t.x-e.x,s=t.y-e.y,o=r.x-t.x,a=r.y-t.y;return Js.signOfDet2x2(i,s,o,a)},Js.signOfDet2x2=function(e,t,r,i){var s=null,o=null,a=null;if(s=1,e===0||i===0)return t===0||r===0?0:t>0?r>0?-s:s:r>0?s:-s;if(t===0||r===0)return i>0?e>0?s:-s:e>0?-s:s;if(t>0?i>0?t<=i||(s=-s,o=e,e=r,r=o,o=t,t=i,i=o):t<=-i?(s=-s,r=-r,i=-i):(o=e,e=-r,r=o,o=t,t=-i,i=o):i>0?-t<=i?(s=-s,e=-e,t=-t):(o=-e,e=r,r=o,o=-t,t=i,i=o):t>=i?(e=-e,t=-t,r=-r,i=-i):(s=-s,o=-e,e=-r,r=o,o=-t,t=-i,i=o),e>0)if(r>0){if(!(e<=r))return s}else return s;else{if(r>0)return-s;if(e>=r)s=-s,e=-e,r=-r;else return-s}for(;;){if(a=Math.floor(r/e),r=r-a*e,i=i-a*t,i<0)return-s;if(i>t)return s;if(e>r+r){if(t<i+i)return s}else{if(t>i+i)return-s;r=e-r,i=t-i,s=-s}if(i===0)return r===0?0:-s;if(r===0||(a=Math.floor(e/r),e=e-a*r,t=t-a*i,t<0))return s;if(t>i)return-s;if(r>e+e){if(i<t+t)return-s}else{if(i>t+t)return s;e=r-e,t=i-t,s=-s}if(t===0)return e===0?0:s;if(e===0)return-s}};var cn=function(){this._p=null,this._crossingCount=0,this._isPointOnSegment=!1;var e=arguments[0];this._p=e};cn.prototype.countSegment=function(e,t){if(e.x<this._p.x&&t.x<this._p.x)return null;if(this._p.x===t.x&&this._p.y===t.y)return this._isPointOnSegment=!0,null;if(e.y===this._p.y&&t.y===this._p.y){var r=e.x,i=t.x;return r>i&&(r=t.x,i=e.x),this._p.x>=r&&this._p.x<=i&&(this._isPointOnSegment=!0),null}if(e.y>this._p.y&&t.y<=this._p.y||t.y>this._p.y&&e.y<=this._p.y){var s=e.x-this._p.x,o=e.y-this._p.y,a=t.x-this._p.x,l=t.y-this._p.y,u=Js.signOfDet2x2(s,o,a,l);if(u===0)return this._isPointOnSegment=!0,null;l<o&&(u=-u),u>0&&this._crossingCount++}},cn.prototype.isPointInPolygon=function(){return this.getLocation()!==R.EXTERIOR},cn.prototype.getLocation=function(){return this._isPointOnSegment?R.BOUNDARY:this._crossingCount%2===1?R.INTERIOR:R.EXTERIOR},cn.prototype.isOnSegment=function(){return this._isPointOnSegment},cn.prototype.interfaces_=function(){return[]},cn.prototype.getClass=function(){return cn},cn.locatePointInRing=function(){if(arguments[0]instanceof M&&ae(arguments[1],Ee)){for(var e=arguments[0],t=arguments[1],r=new cn(e),i=new M,s=new M,o=1;o<t.size();o++)if(t.getCoordinate(o,i),t.getCoordinate(o-1,s),r.countSegment(i,s),r.isOnSegment())return r.getLocation();return r.getLocation()}else if(arguments[0]instanceof M&&arguments[1]instanceof Array){for(var a=arguments[0],l=arguments[1],u=new cn(a),h=1;h<l.length;h++){var f=l[h],d=l[h-1];if(u.countSegment(f,d),u.isOnSegment())return u.getLocation()}return u.getLocation()}};var H=function(){},Zs={CLOCKWISE:{configurable:!0},RIGHT:{configurable:!0},COUNTERCLOCKWISE:{configurable:!0},LEFT:{configurable:!0},COLLINEAR:{configurable:!0},STRAIGHT:{configurable:!0}};H.prototype.interfaces_=function(){return[]},H.prototype.getClass=function(){return H},H.orientationIndex=function(e,t,r){return Gt.orientationIndex(e,t,r)},H.signedArea=function(){if(arguments[0]instanceof Array){var e=arguments[0];if(e.length<3)return 0;for(var t=0,r=e[0].x,i=1;i<e.length-1;i++){var s=e[i].x-r,o=e[i+1].y,a=e[i-1].y;t+=s*(a-o)}return t/2}else if(ae(arguments[0],Ee)){var l=arguments[0],u=l.size();if(u<3)return 0;var h=new M,f=new M,d=new M;l.getCoordinate(0,f),l.getCoordinate(1,d);var v=f.x;d.x-=v;for(var w=0,I=1;I<u-1;I++)h.y=f.y,f.x=d.x,f.y=d.y,l.getCoordinate(I+1,d),d.x-=v,w+=f.x*(h.y-d.y);return w/2}},H.distanceLineLine=function(e,t,r,i){if(e.equals(t))return H.distancePointLine(e,r,i);if(r.equals(i))return H.distancePointLine(i,e,t);var s=!1;if(!te.intersects(e,t,r,i))s=!0;else{var o=(t.x-e.x)*(i.y-r.y)-(t.y-e.y)*(i.x-r.x);if(o===0)s=!0;else{var a=(e.y-r.y)*(i.x-r.x)-(e.x-r.x)*(i.y-r.y),l=(e.y-r.y)*(t.x-e.x)-(e.x-r.x)*(t.y-e.y),u=l/o,h=a/o;(h<0||h>1||u<0||u>1)&&(s=!0)}}return s?cr.min(H.distancePointLine(e,r,i),H.distancePointLine(t,r,i),H.distancePointLine(r,e,t),H.distancePointLine(i,e,t)):0},H.isPointInRing=function(e,t){return H.locatePointInRing(e,t)!==R.EXTERIOR},H.computeLength=function(e){var t=e.size();if(t<=1)return 0;var r=0,i=new M;e.getCoordinate(0,i);for(var s=i.x,o=i.y,a=1;a<t;a++){e.getCoordinate(a,i);var l=i.x,u=i.y,h=l-s,f=u-o;r+=Math.sqrt(h*h+f*f),s=l,o=u}return r},H.isCCW=function(e){var t=e.length-1;if(t<3)throw new ze("Ring has fewer than 4 points, so orientation cannot be determined");for(var r=e[0],i=0,s=1;s<=t;s++){var o=e[s];o.y>r.y&&(r=o,i=s)}var a=i;do a=a-1,a<0&&(a=t);while(e[a].equals2D(r)&&a!==i);var l=i;do l=(l+1)%t;while(e[l].equals2D(r)&&l!==i);var u=e[a],h=e[l];if(u.equals2D(r)||h.equals2D(r)||u.equals2D(h))return!1;var f=H.computeOrientation(u,r,h),d=!1;return f===0?d=u.x>h.x:d=f>0,d},H.locatePointInRing=function(e,t){return cn.locatePointInRing(e,t)},H.distancePointLinePerpendicular=function(e,t,r){var i=(r.x-t.x)*(r.x-t.x)+(r.y-t.y)*(r.y-t.y),s=((t.y-e.y)*(r.x-t.x)-(t.x-e.x)*(r.y-t.y))/i;return Math.abs(s)*Math.sqrt(i)},H.computeOrientation=function(e,t,r){return H.orientationIndex(e,t,r)},H.distancePointLine=function(){if(arguments.length===2){var e=arguments[0],t=arguments[1];if(t.length===0)throw new ze("Line array must contain at least one vertex");for(var r=e.distance(t[0]),i=0;i<t.length-1;i++){var s=H.distancePointLine(e,t[i],t[i+1]);s<r&&(r=s)}return r}else if(arguments.length===3){var o=arguments[0],a=arguments[1],l=arguments[2];if(a.x===l.x&&a.y===l.y)return o.distance(a);var u=(l.x-a.x)*(l.x-a.x)+(l.y-a.y)*(l.y-a.y),h=((o.x-a.x)*(l.x-a.x)+(o.y-a.y)*(l.y-a.y))/u;if(h<=0)return o.distance(a);if(h>=1)return o.distance(l);var f=((a.y-o.y)*(l.x-a.x)-(a.x-o.x)*(l.y-a.y))/u;return Math.abs(f)*Math.sqrt(u)}},H.isOnLine=function(e,t){for(var r=new hs,i=1;i<t.length;i++){var s=t[i-1],o=t[i];if(r.computeIntersection(e,s,o),r.hasIntersection())return!0}return!1},Zs.CLOCKWISE.get=function(){return-1},Zs.RIGHT.get=function(){return H.CLOCKWISE},Zs.COUNTERCLOCKWISE.get=function(){return 1},Zs.LEFT.get=function(){return H.COUNTERCLOCKWISE},Zs.COLLINEAR.get=function(){return 0},Zs.STRAIGHT.get=function(){return H.COLLINEAR},Object.defineProperties(H,Zs);var ii=function(){};ii.prototype.filter=function(e){},ii.prototype.interfaces_=function(){return[]},ii.prototype.getClass=function(){return ii};var oe=function(){var e=arguments[0];this._envelope=null,this._factory=null,this._SRID=null,this._userData=null,this._factory=e,this._SRID=e.getSRID()},xn={serialVersionUID:{configurable:!0},SORTINDEX_POINT:{configurable:!0},SORTINDEX_MULTIPOINT:{configurable:!0},SORTINDEX_LINESTRING:{configurable:!0},SORTINDEX_LINEARRING:{configurable:!0},SORTINDEX_MULTILINESTRING:{configurable:!0},SORTINDEX_POLYGON:{configurable:!0},SORTINDEX_MULTIPOLYGON:{configurable:!0},SORTINDEX_GEOMETRYCOLLECTION:{configurable:!0},geometryChangedFilter:{configurable:!0}};oe.prototype.isGeometryCollection=function(){return this.getSortIndex()===oe.SORTINDEX_GEOMETRYCOLLECTION},oe.prototype.getFactory=function(){return this._factory},oe.prototype.getGeometryN=function(e){return this},oe.prototype.getArea=function(){return 0},oe.prototype.isRectangle=function(){return!1},oe.prototype.equals=function(){if(arguments[0]instanceof oe){var e=arguments[0];return e===null?!1:this.equalsTopo(e)}else if(arguments[0]instanceof Object){var t=arguments[0];if(!(t instanceof oe))return!1;var r=t;return this.equalsExact(r)}},oe.prototype.equalsExact=function(e){return this===e||this.equalsExact(e,0)},oe.prototype.geometryChanged=function(){this.apply(oe.geometryChangedFilter)},oe.prototype.geometryChangedAction=function(){this._envelope=null},oe.prototype.equalsNorm=function(e){return e===null?!1:this.norm().equalsExact(e.norm())},oe.prototype.getLength=function(){return 0},oe.prototype.getNumGeometries=function(){return 1},oe.prototype.compareTo=function(){if(arguments.length===1){var e=arguments[0],t=e;return this.getSortIndex()!==t.getSortIndex()?this.getSortIndex()-t.getSortIndex():this.isEmpty()&&t.isEmpty()?0:this.isEmpty()?-1:t.isEmpty()?1:this.compareToSameClass(e)}else if(arguments.length===2){var r=arguments[0],i=arguments[1];return this.getSortIndex()!==r.getSortIndex()?this.getSortIndex()-r.getSortIndex():this.isEmpty()&&r.isEmpty()?0:this.isEmpty()?-1:r.isEmpty()?1:this.compareToSameClass(r,i)}},oe.prototype.getUserData=function(){return this._userData},oe.prototype.getSRID=function(){return this._SRID},oe.prototype.getEnvelope=function(){return this.getFactory().toGeometry(this.getEnvelopeInternal())},oe.prototype.checkNotGeometryCollection=function(e){if(e.getSortIndex()===oe.SORTINDEX_GEOMETRYCOLLECTION)throw new ze("This method does not support GeometryCollection arguments")},oe.prototype.equal=function(e,t,r){return r===0?e.equals(t):e.distance(t)<=r},oe.prototype.norm=function(){var e=this.copy();return e.normalize(),e},oe.prototype.getPrecisionModel=function(){return this._factory.getPrecisionModel()},oe.prototype.getEnvelopeInternal=function(){return this._envelope===null&&(this._envelope=this.computeEnvelopeInternal()),new te(this._envelope)},oe.prototype.setSRID=function(e){this._SRID=e},oe.prototype.setUserData=function(e){this._userData=e},oe.prototype.compare=function(e,t){for(var r=e.iterator(),i=t.iterator();r.hasNext()&&i.hasNext();){var s=r.next(),o=i.next(),a=s.compareTo(o);if(a!==0)return a}return r.hasNext()?1:i.hasNext()?-1:0},oe.prototype.hashCode=function(){return this.getEnvelopeInternal().hashCode()},oe.prototype.isGeometryCollectionOrDerived=function(){return this.getSortIndex()===oe.SORTINDEX_GEOMETRYCOLLECTION||this.getSortIndex()===oe.SORTINDEX_MULTIPOINT||this.getSortIndex()===oe.SORTINDEX_MULTILINESTRING||this.getSortIndex()===oe.SORTINDEX_MULTIPOLYGON},oe.prototype.interfaces_=function(){return[Lu,Sr,Cr]},oe.prototype.getClass=function(){return oe},oe.hasNonEmptyElements=function(e){for(var t=0;t<e.length;t++)if(!e[t].isEmpty())return!0;return!1},oe.hasNullElements=function(e){for(var t=0;t<e.length;t++)if(e[t]===null)return!0;return!1},xn.serialVersionUID.get=function(){return 8763622679187377e3},xn.SORTINDEX_POINT.get=function(){return 0},xn.SORTINDEX_MULTIPOINT.get=function(){return 1},xn.SORTINDEX_LINESTRING.get=function(){return 2},xn.SORTINDEX_LINEARRING.get=function(){return 3},xn.SORTINDEX_MULTILINESTRING.get=function(){return 4},xn.SORTINDEX_POLYGON.get=function(){return 5},xn.SORTINDEX_MULTIPOLYGON.get=function(){return 6},xn.SORTINDEX_GEOMETRYCOLLECTION.get=function(){return 7},xn.geometryChangedFilter.get=function(){return qc},Object.defineProperties(oe,xn);var qc=function(){};qc.interfaces_=function(){return[ii]},qc.filter=function(e){e.geometryChangedAction()};var Ln=function(){};Ln.prototype.filter=function(e){},Ln.prototype.interfaces_=function(){return[]},Ln.prototype.getClass=function(){return Ln};var Pr=function(){},si={Mod2BoundaryNodeRule:{configurable:!0},EndPointBoundaryNodeRule:{configurable:!0},MultiValentEndPointBoundaryNodeRule:{configurable:!0},MonoValentEndPointBoundaryNodeRule:{configurable:!0},MOD2_BOUNDARY_RULE:{configurable:!0},ENDPOINT_BOUNDARY_RULE:{configurable:!0},MULTIVALENT_ENDPOINT_BOUNDARY_RULE:{configurable:!0},MONOVALENT_ENDPOINT_BOUNDARY_RULE:{configurable:!0},OGC_SFS_BOUNDARY_RULE:{configurable:!0}};Pr.prototype.isInBoundary=function(e){},Pr.prototype.interfaces_=function(){return[]},Pr.prototype.getClass=function(){return Pr},si.Mod2BoundaryNodeRule.get=function(){return nl},si.EndPointBoundaryNodeRule.get=function(){return il},si.MultiValentEndPointBoundaryNodeRule.get=function(){return sl},si.MonoValentEndPointBoundaryNodeRule.get=function(){return ol},si.MOD2_BOUNDARY_RULE.get=function(){return new nl},si.ENDPOINT_BOUNDARY_RULE.get=function(){return new il},si.MULTIVALENT_ENDPOINT_BOUNDARY_RULE.get=function(){return new sl},si.MONOVALENT_ENDPOINT_BOUNDARY_RULE.get=function(){return new ol},si.OGC_SFS_BOUNDARY_RULE.get=function(){return Pr.MOD2_BOUNDARY_RULE},Object.defineProperties(Pr,si);var nl=function(){};nl.prototype.isInBoundary=function(e){return e%2===1},nl.prototype.interfaces_=function(){return[Pr]},nl.prototype.getClass=function(){return nl};var il=function(){};il.prototype.isInBoundary=function(e){return e>0},il.prototype.interfaces_=function(){return[Pr]},il.prototype.getClass=function(){return il};var sl=function(){};sl.prototype.isInBoundary=function(e){return e>1},sl.prototype.interfaces_=function(){return[Pr]},sl.prototype.getClass=function(){return sl};var ol=function(){};ol.prototype.isInBoundary=function(e){return e===1},ol.prototype.interfaces_=function(){return[Pr]},ol.prototype.getClass=function(){return ol};var nt=function(){};nt.prototype.add=function(){},nt.prototype.addAll=function(){},nt.prototype.isEmpty=function(){},nt.prototype.iterator=function(){},nt.prototype.size=function(){},nt.prototype.toArray=function(){},nt.prototype.remove=function(){};function Xc(n){this.message=n||""}Xc.prototype=new Error,Xc.prototype.name="IndexOutOfBoundsException";var al=function(){};al.prototype.hasNext=function(){},al.prototype.next=function(){},al.prototype.remove=function(){};var Hr=function(n){function e(){n.apply(this,arguments)}return n&&(e.__proto__=n),e.prototype=Object.create(n&&n.prototype),e.prototype.constructor=e,e.prototype.get=function(){},e.prototype.set=function(){},e.prototype.isEmpty=function(){},e}(nt);function ll(n){this.message=n||""}ll.prototype=new Error,ll.prototype.name="NoSuchElementException";var W=function(n){function e(){n.call(this),this.array_=[],arguments[0]instanceof nt&&this.addAll(arguments[0])}return n&&(e.__proto__=n),e.prototype=Object.create(n&&n.prototype),e.prototype.constructor=e,e.prototype.ensureCapacity=function(){},e.prototype.interfaces_=function(){return[n,nt]},e.prototype.add=function(r){return arguments.length===1?this.array_.push(r):this.array_.splice(arguments[0],arguments[1]),!0},e.prototype.clear=function(){this.array_=[]},e.prototype.addAll=function(r){for(var i=this,s=r.iterator();s.hasNext();)i.add(s.next());return!0},e.prototype.set=function(r,i){var s=this.array_[r];return this.array_[r]=i,s},e.prototype.iterator=function(){return new Zm(this)},e.prototype.get=function(r){if(r<0||r>=this.size())throw new Xc;return this.array_[r]},e.prototype.isEmpty=function(){return this.array_.length===0},e.prototype.size=function(){return this.array_.length},e.prototype.toArray=function(){for(var r=this,i=[],s=0,o=this.array_.length;s<o;s++)i.push(r.array_[s]);return i},e.prototype.remove=function(r){for(var i=this,s=!1,o=0,a=this.array_.length;o<a;o++)if(i.array_[o]===r){i.array_.splice(o,1),s=!0;break}return s},e}(Hr),Zm=function(n){function e(t){n.call(this),this.arrayList_=t,this.position_=0}return n&&(e.__proto__=n),e.prototype=Object.create(n&&n.prototype),e.prototype.constructor=e,e.prototype.next=function(){if(this.position_===this.arrayList_.size())throw new ll;return this.arrayList_.get(this.position_++)},e.prototype.hasNext=function(){return this.position_<this.arrayList_.size()},e.prototype.set=function(r){return this.arrayList_.set(this.position_-1,r)},e.prototype.remove=function(){this.arrayList_.remove(this.arrayList_.get(this.position_))},e}(al),Xl=function(n){function e(){if(n.call(this),arguments.length!==0){if(arguments.length===1){var r=arguments[0];this.ensureCapacity(r.length),this.add(r,!0)}else if(arguments.length===2){var i=arguments[0],s=arguments[1];this.ensureCapacity(i.length),this.add(i,s)}}}n&&(e.__proto__=n),e.prototype=Object.create(n&&n.prototype),e.prototype.constructor=e;var t={coordArrayType:{configurable:!0}};return t.coordArrayType.get=function(){return new Array(0).fill(null)},e.prototype.getCoordinate=function(i){return this.get(i)},e.prototype.addAll=function(){var i=this;if(arguments.length===2){for(var s=arguments[0],o=arguments[1],a=!1,l=s.iterator();l.hasNext();)i.add(l.next(),o),a=!0;return a}else return n.prototype.addAll.apply(this,arguments)},e.prototype.clone=function(){for(var i=this,s=n.prototype.clone.call(this),o=0;o<this.size();o++)s.add(o,i.get(o).copy());return s},e.prototype.toCoordinateArray=function(){return this.toArray(e.coordArrayType)},e.prototype.add=function(){var i=this;if(arguments.length===1){var s=arguments[0];n.prototype.add.call(this,s)}else if(arguments.length===2){if(arguments[0]instanceof Array&&typeof arguments[1]=="boolean"){var o=arguments[0],a=arguments[1];return this.add(o,a,!0),!0}else if(arguments[0]instanceof M&&typeof arguments[1]=="boolean"){var l=arguments[0],u=arguments[1];if(!u&&this.size()>=1){var h=this.get(this.size()-1);if(h.equals2D(l))return null}n.prototype.add.call(this,l)}else if(arguments[0]instanceof Object&&typeof arguments[1]=="boolean"){var f=arguments[0],d=arguments[1];return this.add(f,d),!0}}else if(arguments.length===3){if(typeof arguments[2]=="boolean"&&arguments[0]instanceof Array&&typeof arguments[1]=="boolean"){var v=arguments[0],w=arguments[1],I=arguments[2];if(I)for(var T=0;T<v.length;T++)i.add(v[T],w);else for(var L=v.length-1;L>=0;L--)i.add(v[L],w);return!0}else if(typeof arguments[2]=="boolean"&&Number.isInteger(arguments[0])&&arguments[1]instanceof M){var m=arguments[0],_=arguments[1],g=arguments[2];if(!g){var y=this.size();if(y>0){if(m>0){var E=this.get(m-1);if(E.equals2D(_))return null}if(m<y){var C=this.get(m);if(C.equals2D(_))return null}}}n.prototype.add.call(this,m,_)}}else if(arguments.length===4){var b=arguments[0],D=arguments[1],x=arguments[2],N=arguments[3],O=1;x>N&&(O=-1);for(var A=x;A!==N;A+=O)i.add(b[A],D);return!0}},e.prototype.closeRing=function(){this.size()>0&&this.add(new M(this.get(0)),!1)},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},Object.defineProperties(e,t),e}(W),de=function(){},Fu={ForwardComparator:{configurable:!0},BidirectionalComparator:{configurable:!0},coordArrayType:{configurable:!0}};Fu.ForwardComparator.get=function(){return Yl},Fu.BidirectionalComparator.get=function(){return ul},Fu.coordArrayType.get=function(){return new Array(0).fill(null)},de.prototype.interfaces_=function(){return[]},de.prototype.getClass=function(){return de},de.isRing=function(e){return!(e.length<4||!e[0].equals2D(e[e.length-1]))},de.ptNotInList=function(e,t){for(var r=0;r<e.length;r++){var i=e[r];if(de.indexOf(i,t)<0)return i}return null},de.scroll=function(e,t){var r=de.indexOf(t,e);if(r<0)return null;var i=new Array(e.length).fill(null);mt.arraycopy(e,r,i,0,e.length-r),mt.arraycopy(e,0,i,e.length-r,r),mt.arraycopy(i,0,e,0,e.length)},de.equals=function(){if(arguments.length===2){var e=arguments[0],t=arguments[1];if(e===t)return!0;if(e===null||t===null||e.length!==t.length)return!1;for(var r=0;r<e.length;r++)if(!e[r].equals(t[r]))return!1;return!0}else if(arguments.length===3){var i=arguments[0],s=arguments[1],o=arguments[2];if(i===s)return!0;if(i===null||s===null||i.length!==s.length)return!1;for(var a=0;a<i.length;a++)if(o.compare(i[a],s[a])!==0)return!1;return!0}},de.intersection=function(e,t){for(var r=new Xl,i=0;i<e.length;i++)t.intersects(e[i])&&r.add(e[i],!0);return r.toCoordinateArray()},de.hasRepeatedPoints=function(e){for(var t=1;t<e.length;t++)if(e[t-1].equals(e[t]))return!0;return!1},de.removeRepeatedPoints=function(e){if(!de.hasRepeatedPoints(e))return e;var t=new Xl(e,!1);return t.toCoordinateArray()},de.reverse=function(e){for(var t=e.length-1,r=Math.trunc(t/2),i=0;i<=r;i++){var s=e[i];e[i]=e[t-i],e[t-i]=s}},de.removeNull=function(e){for(var t=0,r=0;r<e.length;r++)e[r]!==null&&t++;var i=new Array(t).fill(null);if(t===0)return i;for(var s=0,o=0;o<e.length;o++)e[o]!==null&&(i[s++]=e[o]);return i},de.copyDeep=function(){if(arguments.length===1){for(var e=arguments[0],t=new Array(e.length).fill(null),r=0;r<e.length;r++)t[r]=new M(e[r]);return t}else if(arguments.length===5)for(var i=arguments[0],s=arguments[1],o=arguments[2],a=arguments[3],l=arguments[4],u=0;u<l;u++)o[a+u]=new M(i[s+u])},de.isEqualReversed=function(e,t){for(var r=0;r<e.length;r++){var i=e[r],s=t[e.length-r-1];if(i.compareTo(s)!==0)return!1}return!0},de.envelope=function(e){for(var t=new te,r=0;r<e.length;r++)t.expandToInclude(e[r]);return t},de.toCoordinateArray=function(e){return e.toArray(de.coordArrayType)},de.atLeastNCoordinatesOrNothing=function(e,t){return t.length>=e?t:[]},de.indexOf=function(e,t){for(var r=0;r<t.length;r++)if(e.equals(t[r]))return r;return-1},de.increasingDirection=function(e){for(var t=0;t<Math.trunc(e.length/2);t++){var r=e.length-1-t,i=e[t].compareTo(e[r]);if(i!==0)return i}return 1},de.compare=function(e,t){for(var r=0;r<e.length&&r<t.length;){var i=e[r].compareTo(t[r]);if(i!==0)return i;r++}return r<t.length?-1:r<e.length?1:0},de.minCoordinate=function(e){for(var t=null,r=0;r<e.length;r++)(t===null||t.compareTo(e[r])>0)&&(t=e[r]);return t},de.extract=function(e,t,r){t=cr.clamp(t,0,e.length),r=cr.clamp(r,-1,e.length);var i=r-t+1;r<0&&(i=0),t>=e.length&&(i=0),r<t&&(i=0);var s=new Array(i).fill(null);if(i===0)return s;for(var o=0,a=t;a<=r;a++)s[o++]=e[a];return s},Object.defineProperties(de,Fu);var Yl=function(){};Yl.prototype.compare=function(e,t){var r=e,i=t;return de.compare(r,i)},Yl.prototype.interfaces_=function(){return[ja]},Yl.prototype.getClass=function(){return Yl};var ul=function(){};ul.prototype.compare=function(e,t){var r=e,i=t;if(r.length<i.length)return-1;if(r.length>i.length)return 1;if(r.length===0)return 0;var s=de.compare(r,i),o=de.isEqualReversed(r,i);return o?0:s},ul.prototype.OLDcompare=function(e,t){var r=e,i=t;if(r.length<i.length)return-1;if(r.length>i.length)return 1;if(r.length===0)return 0;for(var s=de.increasingDirection(r),o=de.increasingDirection(i),a=s>0?0:r.length-1,l=o>0?0:r.length-1,u=0;u<r.length;u++){var h=r[a].compareTo(i[l]);if(h!==0)return h;a+=s,l+=o}return 0},ul.prototype.interfaces_=function(){return[ja]},ul.prototype.getClass=function(){return ul};var Ks=function(){};Ks.prototype.get=function(){},Ks.prototype.put=function(){},Ks.prototype.size=function(){},Ks.prototype.values=function(){},Ks.prototype.entrySet=function(){};var Km=function(n){function e(){n.apply(this,arguments)}return n&&(e.__proto__=n),e.prototype=Object.create(n&&n.prototype),e.prototype.constructor=e,e}(Ks);function Hl(n){this.message=n||""}Hl.prototype=new Error,Hl.prototype.name="OperationNotSupported";function ku(){}ku.prototype=new nt,ku.prototype.contains=function(){};var Yc=function(n){function e(){n.call(this),this.array_=[],arguments[0]instanceof nt&&this.addAll(arguments[0])}return n&&(e.__proto__=n),e.prototype=Object.create(n&&n.prototype),e.prototype.constructor=e,e.prototype.contains=function(r){for(var i=this,s=0,o=this.array_.length;s<o;s++){var a=i.array_[s];if(a===r)return!0}return!1},e.prototype.add=function(r){return this.contains(r)?!1:(this.array_.push(r),!0)},e.prototype.addAll=function(r){for(var i=this,s=r.iterator();s.hasNext();)i.add(s.next());return!0},e.prototype.remove=function(r){throw new Error},e.prototype.size=function(){return this.array_.length},e.prototype.isEmpty=function(){return this.array_.length===0},e.prototype.toArray=function(){for(var r=this,i=[],s=0,o=this.array_.length;s<o;s++)i.push(r.array_[s]);return i},e.prototype.iterator=function(){return new Qm(this)},e}(ku),Qm=function(n){function e(t){n.call(this),this.hashSet_=t,this.position_=0}return n&&(e.__proto__=n),e.prototype=Object.create(n&&n.prototype),e.prototype.constructor=e,e.prototype.next=function(){if(this.position_===this.hashSet_.size())throw new ll;return this.hashSet_.array_[this.position_++]},e.prototype.hasNext=function(){return this.position_<this.hashSet_.size()},e.prototype.remove=function(){throw new Hl},e}(al),oi=0,fs=1;function Ff(n){return n===null?oi:n.color}function Le(n){return n===null?null:n.parent}function ai(n,e){n!==null&&(n.color=e)}function Hc(n){return n===null?null:n.left}function kf(n){return n===null?null:n.right}function It(){this.root_=null,this.size_=0}It.prototype=new Km,It.prototype.get=function(n){for(var e=this.root_;e!==null;){var t=n.compareTo(e.key);if(t<0)e=e.left;else if(t>0)e=e.right;else return e.value}return null},It.prototype.put=function(n,e){if(this.root_===null)return this.root_={key:n,value:e,left:null,right:null,parent:null,color:oi,getValue:function(){return this.value},getKey:function(){return this.key}},this.size_=1,null;var t=this.root_,r,i;do if(r=t,i=n.compareTo(t.key),i<0)t=t.left;else if(i>0)t=t.right;else{var s=t.value;return t.value=e,s}while(t!==null);var o={key:n,left:null,right:null,value:e,parent:r,color:oi,getValue:function(){return this.value},getKey:function(){return this.key}};return i<0?r.left=o:r.right=o,this.fixAfterInsertion(o),this.size_++,null},It.prototype.fixAfterInsertion=function(n){var e=this;for(n.color=fs;n!=null&&n!==this.root_&&n.parent.color===fs;)if(Le(n)===Hc(Le(Le(n)))){var t=kf(Le(Le(n)));Ff(t)===fs?(ai(Le(n),oi),ai(t,oi),ai(Le(Le(n)),fs),n=Le(Le(n))):(n===kf(Le(n))&&(n=Le(n),e.rotateLeft(n)),ai(Le(n),oi),ai(Le(Le(n)),fs),e.rotateRight(Le(Le(n))))}else{var r=Hc(Le(Le(n)));Ff(r)===fs?(ai(Le(n),oi),ai(r,oi),ai(Le(Le(n)),fs),n=Le(Le(n))):(n===Hc(Le(n))&&(n=Le(n),e.rotateRight(n)),ai(Le(n),oi),ai(Le(Le(n)),fs),e.rotateLeft(Le(Le(n))))}this.root_.color=oi},It.prototype.values=function(){var n=new W,e=this.getFirstEntry();if(e!==null)for(n.add(e.value);(e=It.successor(e))!==null;)n.add(e.value);return n},It.prototype.entrySet=function(){var n=new Yc,e=this.getFirstEntry();if(e!==null)for(n.add(e);(e=It.successor(e))!==null;)n.add(e);return n},It.prototype.rotateLeft=function(n){if(n!=null){var e=n.right;n.right=e.left,e.left!=null&&(e.left.parent=n),e.parent=n.parent,n.parent===null?this.root_=e:n.parent.left===n?n.parent.left=e:n.parent.right=e,e.left=n,n.parent=e}},It.prototype.rotateRight=function(n){if(n!=null){var e=n.left;n.left=e.right,e.right!=null&&(e.right.parent=n),e.parent=n.parent,n.parent===null?this.root_=e:n.parent.right===n?n.parent.right=e:n.parent.left=e,e.right=n,n.parent=e}},It.prototype.getFirstEntry=function(){var n=this.root_;if(n!=null)for(;n.left!=null;)n=n.left;return n},It.successor=function(n){if(n===null)return null;if(n.right!==null){for(var e=n.right;e.left!==null;)e=e.left;return e}else{for(var t=n.parent,r=n;t!==null&&r===t.right;)r=t,t=t.parent;return t}},It.prototype.size=function(){return this.size_};var Jl=function(){};Jl.prototype.interfaces_=function(){return[]},Jl.prototype.getClass=function(){return Jl};function Vf(){}Vf.prototype=new ku;function hn(){this.array_=[],arguments[0]instanceof nt&&this.addAll(arguments[0])}hn.prototype=new Vf,hn.prototype.contains=function(n){for(var e=this,t=0,r=this.array_.length;t<r;t++){var i=e.array_[t];if(i.compareTo(n)===0)return!0}return!1},hn.prototype.add=function(n){var e=this;if(this.contains(n))return!1;for(var t=0,r=this.array_.length;t<r;t++){var i=e.array_[t];if(i.compareTo(n)===1)return e.array_.splice(t,0,n),!0}return this.array_.push(n),!0},hn.prototype.addAll=function(n){for(var e=this,t=n.iterator();t.hasNext();)e.add(t.next());return!0},hn.prototype.remove=function(n){throw new Hl},hn.prototype.size=function(){return this.array_.length},hn.prototype.isEmpty=function(){return this.array_.length===0},hn.prototype.toArray=function(){for(var n=this,e=[],t=0,r=this.array_.length;t<r;t++)e.push(n.array_[t]);return e},hn.prototype.iterator=function(){return new Vu(this)};var Vu=function(n){this.treeSet_=n,this.position_=0};Vu.prototype.next=function(){if(this.position_===this.treeSet_.size())throw new ll;return this.treeSet_.array_[this.position_++]},Vu.prototype.hasNext=function(){return this.position_<this.treeSet_.size()},Vu.prototype.remove=function(){throw new Hl};var ps=function(){};ps.sort=function(){var e=arguments[0],t,r,i,s;if(arguments.length===1)s=function(a,l){return a.compareTo(l)},e.sort(s);else if(arguments.length===2)i=arguments[1],s=function(a,l){return i.compare(a,l)},e.sort(s);else if(arguments.length===3){r=e.slice(arguments[1],arguments[2]),r.sort();var o=e.slice(0,arguments[1]).concat(r,e.slice(arguments[2],e.length));for(e.splice(0,e.length),t=0;t<o.length;t++)e.push(o[t])}else if(arguments.length===4)for(r=e.slice(arguments[1],arguments[2]),i=arguments[3],s=function(a,l){return i.compare(a,l)},r.sort(s),o=e.slice(0,arguments[1]).concat(r,e.slice(arguments[2],e.length)),e.splice(0,e.length),t=0;t<o.length;t++)e.push(o[t])},ps.asList=function(e){for(var t=new W,r=0,i=e.length;r<i;r++)t.add(e[r]);return t};var Ie=function(){},Jr={P:{configurable:!0},L:{configurable:!0},A:{configurable:!0},FALSE:{configurable:!0},TRUE:{configurable:!0},DONTCARE:{configurable:!0},SYM_FALSE:{configurable:!0},SYM_TRUE:{configurable:!0},SYM_DONTCARE:{configurable:!0},SYM_P:{configurable:!0},SYM_L:{configurable:!0},SYM_A:{configurable:!0}};Jr.P.get=function(){return 0},Jr.L.get=function(){return 1},Jr.A.get=function(){return 2},Jr.FALSE.get=function(){return-1},Jr.TRUE.get=function(){return-2},Jr.DONTCARE.get=function(){return-3},Jr.SYM_FALSE.get=function(){return"F"},Jr.SYM_TRUE.get=function(){return"T"},Jr.SYM_DONTCARE.get=function(){return"*"},Jr.SYM_P.get=function(){return"0"},Jr.SYM_L.get=function(){return"1"},Jr.SYM_A.get=function(){return"2"},Ie.prototype.interfaces_=function(){return[]},Ie.prototype.getClass=function(){return Ie},Ie.toDimensionSymbol=function(e){switch(e){case Ie.FALSE:return Ie.SYM_FALSE;case Ie.TRUE:return Ie.SYM_TRUE;case Ie.DONTCARE:return Ie.SYM_DONTCARE;case Ie.P:return Ie.SYM_P;case Ie.L:return Ie.SYM_L;case Ie.A:return Ie.SYM_A}throw new ze("Unknown dimension value: "+e)},Ie.toDimensionValue=function(e){switch(Wl.toUpperCase(e)){case Ie.SYM_FALSE:return Ie.FALSE;case Ie.SYM_TRUE:return Ie.TRUE;case Ie.SYM_DONTCARE:return Ie.DONTCARE;case Ie.SYM_P:return Ie.P;case Ie.SYM_L:return Ie.L;case Ie.SYM_A:return Ie.A}throw new ze("Unknown dimension symbol: "+e)},Object.defineProperties(Ie,Jr);var fn=function(){};fn.prototype.filter=function(e){},fn.prototype.interfaces_=function(){return[]},fn.prototype.getClass=function(){return fn};var Zr=function(){};Zr.prototype.filter=function(e,t){},Zr.prototype.isDone=function(){},Zr.prototype.isGeometryChanged=function(){},Zr.prototype.interfaces_=function(){return[]},Zr.prototype.getClass=function(){return Zr};var Mt=function(n){function e(r,i){if(n.call(this,i),this._geometries=r||[],n.hasNullElements(this._geometries))throw new ze("geometries must not contain null elements")}n&&(e.__proto__=n),e.prototype=Object.create(n&&n.prototype),e.prototype.constructor=e;var t={serialVersionUID:{configurable:!0}};return e.prototype.computeEnvelopeInternal=function(){for(var i=this,s=new te,o=0;o<this._geometries.length;o++)s.expandToInclude(i._geometries[o].getEnvelopeInternal());return s},e.prototype.getGeometryN=function(i){return this._geometries[i]},e.prototype.getSortIndex=function(){return n.SORTINDEX_GEOMETRYCOLLECTION},e.prototype.getCoordinates=function(){for(var i=this,s=new Array(this.getNumPoints()).fill(null),o=-1,a=0;a<this._geometries.length;a++)for(var l=i._geometries[a].getCoordinates(),u=0;u<l.length;u++)o++,s[o]=l[u];return s},e.prototype.getArea=function(){for(var i=this,s=0,o=0;o<this._geometries.length;o++)s+=i._geometries[o].getArea();return s},e.prototype.equalsExact=function(){var i=this;if(arguments.length===2){var s=arguments[0],o=arguments[1];if(!this.isEquivalentClass(s))return!1;var a=s;if(this._geometries.length!==a._geometries.length)return!1;for(var l=0;l<this._geometries.length;l++)if(!i._geometries[l].equalsExact(a._geometries[l],o))return!1;return!0}else return n.prototype.equalsExact.apply(this,arguments)},e.prototype.normalize=function(){for(var i=this,s=0;s<this._geometries.length;s++)i._geometries[s].normalize();ps.sort(this._geometries)},e.prototype.getCoordinate=function(){return this.isEmpty()?null:this._geometries[0].getCoordinate()},e.prototype.getBoundaryDimension=function(){for(var i=this,s=Ie.FALSE,o=0;o<this._geometries.length;o++)s=Math.max(s,i._geometries[o].getBoundaryDimension());return s},e.prototype.getDimension=function(){for(var i=this,s=Ie.FALSE,o=0;o<this._geometries.length;o++)s=Math.max(s,i._geometries[o].getDimension());return s},e.prototype.getLength=function(){for(var i=this,s=0,o=0;o<this._geometries.length;o++)s+=i._geometries[o].getLength();return s},e.prototype.getNumPoints=function(){for(var i=this,s=0,o=0;o<this._geometries.length;o++)s+=i._geometries[o].getNumPoints();return s},e.prototype.getNumGeometries=function(){return this._geometries.length},e.prototype.reverse=function(){for(var i=this,s=this._geometries.length,o=new Array(s).fill(null),a=0;a<this._geometries.length;a++)o[a]=i._geometries[a].reverse();return this.getFactory().createGeometryCollection(o)},e.prototype.compareToSameClass=function(){var i=this;if(arguments.length===1){var s=arguments[0],o=new hn(ps.asList(this._geometries)),a=new hn(ps.asList(s._geometries));return this.compare(o,a)}else if(arguments.length===2){for(var l=arguments[0],u=arguments[1],h=l,f=this.getNumGeometries(),d=h.getNumGeometries(),v=0;v<f&&v<d;){var w=i.getGeometryN(v),I=h.getGeometryN(v),T=w.compareToSameClass(I,u);if(T!==0)return T;v++}return v<f?1:v<d?-1:0}},e.prototype.apply=function(){var i=this;if(ae(arguments[0],Ln))for(var s=arguments[0],o=0;o<this._geometries.length;o++)i._geometries[o].apply(s);else if(ae(arguments[0],Zr)){var a=arguments[0];if(this._geometries.length===0)return null;for(var l=0;l<this._geometries.length&&(i._geometries[l].apply(a),!a.isDone());l++);a.isGeometryChanged()&&this.geometryChanged()}else if(ae(arguments[0],fn)){var u=arguments[0];u.filter(this);for(var h=0;h<this._geometries.length;h++)i._geometries[h].apply(u)}else if(ae(arguments[0],ii)){var f=arguments[0];f.filter(this);for(var d=0;d<this._geometries.length;d++)i._geometries[d].apply(f)}},e.prototype.getBoundary=function(){return this.checkNotGeometryCollection(this),fe.shouldNeverReachHere(),null},e.prototype.clone=function(){var i=this,s=n.prototype.clone.call(this);s._geometries=new Array(this._geometries.length).fill(null);for(var o=0;o<this._geometries.length;o++)s._geometries[o]=i._geometries[o].clone();return s},e.prototype.getGeometryType=function(){return"GeometryCollection"},e.prototype.copy=function(){for(var i=this,s=new Array(this._geometries.length).fill(null),o=0;o<s.length;o++)s[o]=i._geometries[o].copy();return new e(s,this._factory)},e.prototype.isEmpty=function(){for(var i=this,s=0;s<this._geometries.length;s++)if(!i._geometries[s].isEmpty())return!1;return!0},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},t.serialVersionUID.get=function(){return-5694727726395021e3},Object.defineProperties(e,t),e}(oe),ds=function(n){function e(){n.apply(this,arguments)}n&&(e.__proto__=n),e.prototype=Object.create(n&&n.prototype),e.prototype.constructor=e;var t={serialVersionUID:{configurable:!0}};return e.prototype.getSortIndex=function(){return oe.SORTINDEX_MULTILINESTRING},e.prototype.equalsExact=function(){if(arguments.length===2){var i=arguments[0],s=arguments[1];return this.isEquivalentClass(i)?n.prototype.equalsExact.call(this,i,s):!1}else return n.prototype.equalsExact.apply(this,arguments)},e.prototype.getBoundaryDimension=function(){return this.isClosed()?Ie.FALSE:0},e.prototype.isClosed=function(){var i=this;if(this.isEmpty())return!1;for(var s=0;s<this._geometries.length;s++)if(!i._geometries[s].isClosed())return!1;return!0},e.prototype.getDimension=function(){return 1},e.prototype.reverse=function(){for(var i=this,s=this._geometries.length,o=new Array(s).fill(null),a=0;a<this._geometries.length;a++)o[s-1-a]=i._geometries[a].reverse();return this.getFactory().createMultiLineString(o)},e.prototype.getBoundary=function(){return new Ir(this).getBoundary()},e.prototype.getGeometryType=function(){return"MultiLineString"},e.prototype.copy=function(){for(var i=this,s=new Array(this._geometries.length).fill(null),o=0;o<s.length;o++)s[o]=i._geometries[o].copy();return new e(s,this._factory)},e.prototype.interfaces_=function(){return[Jl]},e.prototype.getClass=function(){return e},t.serialVersionUID.get=function(){return 8166665132445434e3},Object.defineProperties(e,t),e}(Mt),Ir=function(){if(this._geom=null,this._geomFact=null,this._bnRule=null,this._endpointMap=null,arguments.length===1){var e=arguments[0],t=Pr.MOD2_BOUNDARY_RULE;this._geom=e,this._geomFact=e.getFactory(),this._bnRule=t}else if(arguments.length===2){var r=arguments[0],i=arguments[1];this._geom=r,this._geomFact=r.getFactory(),this._bnRule=i}};Ir.prototype.boundaryMultiLineString=function(e){if(this._geom.isEmpty())return this.getEmptyMultiPoint();var t=this.computeBoundaryCoordinates(e);return t.length===1?this._geomFact.createPoint(t[0]):this._geomFact.createMultiPointFromCoords(t)},Ir.prototype.getBoundary=function(){return this._geom instanceof Ye?this.boundaryLineString(this._geom):this._geom instanceof ds?this.boundaryMultiLineString(this._geom):this._geom.getBoundary()},Ir.prototype.boundaryLineString=function(e){if(this._geom.isEmpty())return this.getEmptyMultiPoint();if(e.isClosed()){var t=this._bnRule.isInBoundary(2);return t?e.getStartPoint():this._geomFact.createMultiPoint()}return this._geomFact.createMultiPoint([e.getStartPoint(),e.getEndPoint()])},Ir.prototype.getEmptyMultiPoint=function(){return this._geomFact.createMultiPoint()},Ir.prototype.computeBoundaryCoordinates=function(e){var t=this,r=new W;this._endpointMap=new It;for(var i=0;i<e.getNumGeometries();i++){var s=e.getGeometryN(i);s.getNumPoints()!==0&&(t.addEndpoint(s.getCoordinateN(0)),t.addEndpoint(s.getCoordinateN(s.getNumPoints()-1)))}for(var o=this._endpointMap.entrySet().iterator();o.hasNext();){var a=o.next(),l=a.getValue(),u=l.count;t._bnRule.isInBoundary(u)&&r.add(a.getKey())}return de.toCoordinateArray(r)},Ir.prototype.addEndpoint=function(e){var t=this._endpointMap.get(e);t===null&&(t=new zu,this._endpointMap.put(e,t)),t.count++},Ir.prototype.interfaces_=function(){return[]},Ir.prototype.getClass=function(){return Ir},Ir.getBoundary=function(){if(arguments.length===1){var e=arguments[0],t=new Ir(e);return t.getBoundary()}else if(arguments.length===2){var r=arguments[0],i=arguments[1],s=new Ir(r,i);return s.getBoundary()}};var zu=function(){this.count=null};zu.prototype.interfaces_=function(){return[]},zu.prototype.getClass=function(){return zu};function Bm(){}function $m(){}var jm=function(){};function ev(){}function tv(){}function rv(){}var Tr=function(){},Jc={NEWLINE:{configurable:!0},SIMPLE_ORDINATE_FORMAT:{configurable:!0}};Tr.prototype.interfaces_=function(){return[]},Tr.prototype.getClass=function(){return Tr},Tr.chars=function(e,t){for(var r=new Array(t).fill(null),i=0;i<t;i++)r[i]=e;return String(r)},Tr.getStackTrace=function(){if(arguments.length===1){var e=arguments[0],t=new ev,r=new Bm;return e.printStackTrace(r),t.toString()}else if(arguments.length===2){var i=arguments[0],s=arguments[1],o="";new $m(Tr.getStackTrace(i));for(var a=new rv,l=0;l<s;l++)try{o+=a.readLine()+Tr.NEWLINE}catch(u){if(u instanceof tv)fe.shouldNeverReachHere();else throw u}finally{}return o}},Tr.split=function(e,t){for(var r=t.length,i=new W,s=""+e,o=s.indexOf(t);o>=0;){var a=s.substring(0,o);i.add(a),s=s.substring(o+r),o=s.indexOf(t)}s.length>0&&i.add(s);for(var l=new Array(i.size()).fill(null),u=0;u<l.length;u++)l[u]=i.get(u);return l},Tr.toString=function(){if(arguments.length===1){var e=arguments[0];return Tr.SIMPLE_ORDINATE_FORMAT.format(e)}},Tr.spaces=function(e){return Tr.chars(" ",e)},Jc.NEWLINE.get=function(){return mt.getProperty("line.separator")},Jc.SIMPLE_ORDINATE_FORMAT.get=function(){return new jm},Object.defineProperties(Tr,Jc);var Ke=function(){};Ke.prototype.interfaces_=function(){return[]},Ke.prototype.getClass=function(){return Ke},Ke.copyCoord=function(e,t,r,i){for(var s=Math.min(e.getDimension(),r.getDimension()),o=0;o<s;o++)r.setOrdinate(i,o,e.getOrdinate(t,o))},Ke.isRing=function(e){var t=e.size();return t===0?!0:t<=3?!1:e.getOrdinate(0,Ee.X)===e.getOrdinate(t-1,Ee.X)&&e.getOrdinate(0,Ee.Y)===e.getOrdinate(t-1,Ee.Y)},Ke.isEqual=function(e,t){var r=e.size(),i=t.size();if(r!==i)return!1;for(var s=Math.min(e.getDimension(),t.getDimension()),o=0;o<r;o++)for(var a=0;a<s;a++){var l=e.getOrdinate(o,a),u=t.getOrdinate(o,a);if(e.getOrdinate(o,a)!==t.getOrdinate(o,a)&&!(le.isNaN(l)&&le.isNaN(u)))return!1}return!0},Ke.extend=function(e,t,r){var i=e.create(r,t.getDimension()),s=t.size();if(Ke.copy(t,0,i,0,s),s>0)for(var o=s;o<r;o++)Ke.copy(t,s-1,i,o,1);return i},Ke.reverse=function(e){for(var t=e.size()-1,r=Math.trunc(t/2),i=0;i<=r;i++)Ke.swap(e,i,t-i)},Ke.swap=function(e,t,r){if(t===r)return null;for(var i=0;i<e.getDimension();i++){var s=e.getOrdinate(t,i);e.setOrdinate(t,i,e.getOrdinate(r,i)),e.setOrdinate(r,i,s)}},Ke.copy=function(e,t,r,i,s){for(var o=0;o<s;o++)Ke.copyCoord(e,t+o,r,i+o)},Ke.toString=function(){if(arguments.length===1){var e=arguments[0],t=e.size();if(t===0)return"()";var r=e.getDimension(),i=new an;i.append("(");for(var s=0;s<t;s++){s>0&&i.append(" ");for(var o=0;o<r;o++)o>0&&i.append(","),i.append(Tr.toString(e.getOrdinate(s,o)))}return i.append(")"),i.toString()}},Ke.ensureValidRing=function(e,t){var r=t.size();if(r===0)return t;if(r<=3)return Ke.createClosedRing(e,t,4);var i=t.getOrdinate(0,Ee.X)===t.getOrdinate(r-1,Ee.X)&&t.getOrdinate(0,Ee.Y)===t.getOrdinate(r-1,Ee.Y);return i?t:Ke.createClosedRing(e,t,r+1)},Ke.createClosedRing=function(e,t,r){var i=e.create(r,t.getDimension()),s=t.size();Ke.copy(t,0,i,0,s);for(var o=s;o<r;o++)Ke.copy(t,0,i,o,1);return i};var Ye=function(n){function e(r,i){n.call(this,i),this._points=null,this.init(r)}n&&(e.__proto__=n),e.prototype=Object.create(n&&n.prototype),e.prototype.constructor=e;var t={serialVersionUID:{configurable:!0}};return e.prototype.computeEnvelopeInternal=function(){return this.isEmpty()?new te:this._points.expandEnvelope(new te)},e.prototype.isRing=function(){return this.isClosed()&&this.isSimple()},e.prototype.getSortIndex=function(){return n.SORTINDEX_LINESTRING},e.prototype.getCoordinates=function(){return this._points.toCoordinateArray()},e.prototype.equalsExact=function(){var i=this;if(arguments.length===2){var s=arguments[0],o=arguments[1];if(!this.isEquivalentClass(s))return!1;var a=s;if(this._points.size()!==a._points.size())return!1;for(var l=0;l<this._points.size();l++)if(!i.equal(i._points.getCoordinate(l),a._points.getCoordinate(l),o))return!1;return!0}else return n.prototype.equalsExact.apply(this,arguments)},e.prototype.normalize=function(){for(var i=this,s=0;s<Math.trunc(this._points.size()/2);s++){var o=i._points.size()-1-s;if(!i._points.getCoordinate(s).equals(i._points.getCoordinate(o)))return i._points.getCoordinate(s).compareTo(i._points.getCoordinate(o))>0&&Ke.reverse(i._points),null}},e.prototype.getCoordinate=function(){return this.isEmpty()?null:this._points.getCoordinate(0)},e.prototype.getBoundaryDimension=function(){return this.isClosed()?Ie.FALSE:0},e.prototype.isClosed=function(){return this.isEmpty()?!1:this.getCoordinateN(0).equals2D(this.getCoordinateN(this.getNumPoints()-1))},e.prototype.getEndPoint=function(){return this.isEmpty()?null:this.getPointN(this.getNumPoints()-1)},e.prototype.getDimension=function(){return 1},e.prototype.getLength=function(){return H.computeLength(this._points)},e.prototype.getNumPoints=function(){return this._points.size()},e.prototype.reverse=function(){var i=this._points.copy();Ke.reverse(i);var s=this.getFactory().createLineString(i);return s},e.prototype.compareToSameClass=function(){var i=this;if(arguments.length===1){for(var s=arguments[0],o=s,a=0,l=0;a<this._points.size()&&l<o._points.size();){var u=i._points.getCoordinate(a).compareTo(o._points.getCoordinate(l));if(u!==0)return u;a++,l++}return a<this._points.size()?1:l<o._points.size()?-1:0}else if(arguments.length===2){var h=arguments[0],f=arguments[1],d=h;return f.compare(this._points,d._points)}},e.prototype.apply=function(){var i=this;if(ae(arguments[0],Ln))for(var s=arguments[0],o=0;o<this._points.size();o++)s.filter(i._points.getCoordinate(o));else if(ae(arguments[0],Zr)){var a=arguments[0];if(this._points.size()===0)return null;for(var l=0;l<this._points.size()&&(a.filter(i._points,l),!a.isDone());l++);a.isGeometryChanged()&&this.geometryChanged()}else if(ae(arguments[0],fn)){var u=arguments[0];u.filter(this)}else if(ae(arguments[0],ii)){var h=arguments[0];h.filter(this)}},e.prototype.getBoundary=function(){return new Ir(this).getBoundary()},e.prototype.isEquivalentClass=function(i){return i instanceof e},e.prototype.clone=function(){var i=n.prototype.clone.call(this);return i._points=this._points.clone(),i},e.prototype.getCoordinateN=function(i){return this._points.getCoordinate(i)},e.prototype.getGeometryType=function(){return"LineString"},e.prototype.copy=function(){return new e(this._points.copy(),this._factory)},e.prototype.getCoordinateSequence=function(){return this._points},e.prototype.isEmpty=function(){return this._points.size()===0},e.prototype.init=function(i){if(i===null&&(i=this.getFactory().getCoordinateSequenceFactory().create([])),i.size()===1)throw new ze("Invalid number of points in LineString (found "+i.size()+" - must be 0 or >= 2)");this._points=i},e.prototype.isCoordinate=function(i){for(var s=this,o=0;o<this._points.size();o++)if(s._points.getCoordinate(o).equals(i))return!0;return!1},e.prototype.getStartPoint=function(){return this.isEmpty()?null:this.getPointN(0)},e.prototype.getPointN=function(i){return this.getFactory().createPoint(this._points.getCoordinate(i))},e.prototype.interfaces_=function(){return[Jl]},e.prototype.getClass=function(){return e},t.serialVersionUID.get=function(){return 0x2b2b51ba435c8e00},Object.defineProperties(e,t),e}(oe),Zl=function(){};Zl.prototype.interfaces_=function(){return[]},Zl.prototype.getClass=function(){return Zl};var er=function(n){function e(r,i){n.call(this,i),this._coordinates=r||null,this.init(this._coordinates)}n&&(e.__proto__=n),e.prototype=Object.create(n&&n.prototype),e.prototype.constructor=e;var t={serialVersionUID:{configurable:!0}};return e.prototype.computeEnvelopeInternal=function(){if(this.isEmpty())return new te;var i=new te;return i.expandToInclude(this._coordinates.getX(0),this._coordinates.getY(0)),i},e.prototype.getSortIndex=function(){return n.SORTINDEX_POINT},e.prototype.getCoordinates=function(){return this.isEmpty()?[]:[this.getCoordinate()]},e.prototype.equalsExact=function(){if(arguments.length===2){var i=arguments[0],s=arguments[1];return this.isEquivalentClass(i)?this.isEmpty()&&i.isEmpty()?!0:this.isEmpty()!==i.isEmpty()?!1:this.equal(i.getCoordinate(),this.getCoordinate(),s):!1}else return n.prototype.equalsExact.apply(this,arguments)},e.prototype.normalize=function(){},e.prototype.getCoordinate=function(){return this._coordinates.size()!==0?this._coordinates.getCoordinate(0):null},e.prototype.getBoundaryDimension=function(){return Ie.FALSE},e.prototype.getDimension=function(){return 0},e.prototype.getNumPoints=function(){return this.isEmpty()?0:1},e.prototype.reverse=function(){return this.copy()},e.prototype.getX=function(){if(this.getCoordinate()===null)throw new Error("getX called on empty Point");return this.getCoordinate().x},e.prototype.compareToSameClass=function(){if(arguments.length===1){var i=arguments[0],s=i;return this.getCoordinate().compareTo(s.getCoordinate())}else if(arguments.length===2){var o=arguments[0],a=arguments[1],l=o;return a.compare(this._coordinates,l._coordinates)}},e.prototype.apply=function(){if(ae(arguments[0],Ln)){var i=arguments[0];if(this.isEmpty())return null;i.filter(this.getCoordinate())}else if(ae(arguments[0],Zr)){var s=arguments[0];if(this.isEmpty())return null;s.filter(this._coordinates,0),s.isGeometryChanged()&&this.geometryChanged()}else if(ae(arguments[0],fn)){var o=arguments[0];o.filter(this)}else if(ae(arguments[0],ii)){var a=arguments[0];a.filter(this)}},e.prototype.getBoundary=function(){return this.getFactory().createGeometryCollection(null)},e.prototype.clone=function(){var i=n.prototype.clone.call(this);return i._coordinates=this._coordinates.clone(),i},e.prototype.getGeometryType=function(){return"Point"},e.prototype.copy=function(){return new e(this._coordinates.copy(),this._factory)},e.prototype.getCoordinateSequence=function(){return this._coordinates},e.prototype.getY=function(){if(this.getCoordinate()===null)throw new Error("getY called on empty Point");return this.getCoordinate().y},e.prototype.isEmpty=function(){return this._coordinates.size()===0},e.prototype.init=function(i){i===null&&(i=this.getFactory().getCoordinateSequenceFactory().create([])),fe.isTrue(i.size()<=1),this._coordinates=i},e.prototype.isSimple=function(){return!0},e.prototype.interfaces_=function(){return[Zl]},e.prototype.getClass=function(){return e},t.serialVersionUID.get=function(){return 4902022702746615e3},Object.defineProperties(e,t),e}(oe),Li=function(){};Li.prototype.interfaces_=function(){return[]},Li.prototype.getClass=function(){return Li};var it=function(n){function e(r,i,s){if(n.call(this,s),this._shell=null,this._holes=null,r===null&&(r=this.getFactory().createLinearRing()),i===null&&(i=[]),n.hasNullElements(i))throw new ze("holes must not contain null elements");if(r.isEmpty()&&n.hasNonEmptyElements(i))throw new ze("shell is empty but holes are not");this._shell=r,this._holes=i}n&&(e.__proto__=n),e.prototype=Object.create(n&&n.prototype),e.prototype.constructor=e;var t={serialVersionUID:{configurable:!0}};return e.prototype.computeEnvelopeInternal=function(){return this._shell.getEnvelopeInternal()},e.prototype.getSortIndex=function(){return n.SORTINDEX_POLYGON},e.prototype.getCoordinates=function(){var i=this;if(this.isEmpty())return[];for(var s=new Array(this.getNumPoints()).fill(null),o=-1,a=this._shell.getCoordinates(),l=0;l<a.length;l++)o++,s[o]=a[l];for(var u=0;u<this._holes.length;u++)for(var h=i._holes[u].getCoordinates(),f=0;f<h.length;f++)o++,s[o]=h[f];return s},e.prototype.getArea=function(){var i=this,s=0;s+=Math.abs(H.signedArea(this._shell.getCoordinateSequence()));for(var o=0;o<this._holes.length;o++)s-=Math.abs(H.signedArea(i._holes[o].getCoordinateSequence()));return s},e.prototype.isRectangle=function(){if(this.getNumInteriorRing()!==0||this._shell===null||this._shell.getNumPoints()!==5)return!1;for(var i=this._shell.getCoordinateSequence(),s=this.getEnvelopeInternal(),o=0;o<5;o++){var a=i.getX(o);if(!(a===s.getMinX()||a===s.getMaxX()))return!1;var l=i.getY(o);if(!(l===s.getMinY()||l===s.getMaxY()))return!1}for(var u=i.getX(0),h=i.getY(0),f=1;f<=4;f++){var d=i.getX(f),v=i.getY(f),w=d!==u,I=v!==h;if(w===I)return!1;u=d,h=v}return!0},e.prototype.equalsExact=function(){var i=this;if(arguments.length===2){var s=arguments[0],o=arguments[1];if(!this.isEquivalentClass(s))return!1;var a=s,l=this._shell,u=a._shell;if(!l.equalsExact(u,o)||this._holes.length!==a._holes.length)return!1;for(var h=0;h<this._holes.length;h++)if(!i._holes[h].equalsExact(a._holes[h],o))return!1;return!0}else return n.prototype.equalsExact.apply(this,arguments)},e.prototype.normalize=function(){var i=this;if(arguments.length===0){this.normalize(this._shell,!0);for(var s=0;s<this._holes.length;s++)i.normalize(i._holes[s],!1);ps.sort(this._holes)}else if(arguments.length===2){var o=arguments[0],a=arguments[1];if(o.isEmpty())return null;var l=new Array(o.getCoordinates().length-1).fill(null);mt.arraycopy(o.getCoordinates(),0,l,0,l.length);var u=de.minCoordinate(o.getCoordinates());de.scroll(l,u),mt.arraycopy(l,0,o.getCoordinates(),0,l.length),o.getCoordinates()[l.length]=l[0],H.isCCW(o.getCoordinates())===a&&de.reverse(o.getCoordinates())}},e.prototype.getCoordinate=function(){return this._shell.getCoordinate()},e.prototype.getNumInteriorRing=function(){return this._holes.length},e.prototype.getBoundaryDimension=function(){return 1},e.prototype.getDimension=function(){return 2},e.prototype.getLength=function(){var i=this,s=0;s+=this._shell.getLength();for(var o=0;o<this._holes.length;o++)s+=i._holes[o].getLength();return s},e.prototype.getNumPoints=function(){for(var i=this,s=this._shell.getNumPoints(),o=0;o<this._holes.length;o++)s+=i._holes[o].getNumPoints();return s},e.prototype.reverse=function(){var i=this,s=this.copy();s._shell=this._shell.copy().reverse(),s._holes=new Array(this._holes.length).fill(null);for(var o=0;o<this._holes.length;o++)s._holes[o]=i._holes[o].copy().reverse();return s},e.prototype.convexHull=function(){return this.getExteriorRing().convexHull()},e.prototype.compareToSameClass=function(){var i=this;if(arguments.length===1){var s=arguments[0],o=this._shell,a=s._shell;return o.compareToSameClass(a)}else if(arguments.length===2){var l=arguments[0],u=arguments[1],h=l,f=this._shell,d=h._shell,v=f.compareToSameClass(d,u);if(v!==0)return v;for(var w=this.getNumInteriorRing(),I=h.getNumInteriorRing(),T=0;T<w&&T<I;){var L=i.getInteriorRingN(T),m=h.getInteriorRingN(T),_=L.compareToSameClass(m,u);if(_!==0)return _;T++}return T<w?1:T<I?-1:0}},e.prototype.apply=function(i){var s=this;if(ae(i,Ln)){this._shell.apply(i);for(var o=0;o<this._holes.length;o++)s._holes[o].apply(i)}else if(ae(i,Zr)){if(this._shell.apply(i),!i.isDone())for(var a=0;a<this._holes.length&&(s._holes[a].apply(i),!i.isDone());a++);i.isGeometryChanged()&&this.geometryChanged()}else if(ae(i,fn))i.filter(this);else if(ae(i,ii)){i.filter(this),this._shell.apply(i);for(var l=0;l<this._holes.length;l++)s._holes[l].apply(i)}},e.prototype.getBoundary=function(){var i=this;if(this.isEmpty())return this.getFactory().createMultiLineString();var s=new Array(this._holes.length+1).fill(null);s[0]=this._shell;for(var o=0;o<this._holes.length;o++)s[o+1]=i._holes[o];return s.length<=1?this.getFactory().createLinearRing(s[0].getCoordinateSequence()):this.getFactory().createMultiLineString(s)},e.prototype.clone=function(){var i=this,s=n.prototype.clone.call(this);s._shell=this._shell.clone(),s._holes=new Array(this._holes.length).fill(null);for(var o=0;o<this._holes.length;o++)s._holes[o]=i._holes[o].clone();return s},e.prototype.getGeometryType=function(){return"Polygon"},e.prototype.copy=function(){for(var i=this,s=this._shell.copy(),o=new Array(this._holes.length).fill(null),a=0;a<o.length;a++)o[a]=i._holes[a].copy();return new e(s,o,this._factory)},e.prototype.getExteriorRing=function(){return this._shell},e.prototype.isEmpty=function(){return this._shell.isEmpty()},e.prototype.getInteriorRingN=function(i){return this._holes[i]},e.prototype.interfaces_=function(){return[Li]},e.prototype.getClass=function(){return e},t.serialVersionUID.get=function(){return-0x307ffefd8dc97200},Object.defineProperties(e,t),e}(oe),cl=function(n){function e(){n.apply(this,arguments)}n&&(e.__proto__=n),e.prototype=Object.create(n&&n.prototype),e.prototype.constructor=e;var t={serialVersionUID:{configurable:!0}};return e.prototype.getSortIndex=function(){return oe.SORTINDEX_MULTIPOINT},e.prototype.isValid=function(){return!0},e.prototype.equalsExact=function(){if(arguments.length===2){var i=arguments[0],s=arguments[1];return this.isEquivalentClass(i)?n.prototype.equalsExact.call(this,i,s):!1}else return n.prototype.equalsExact.apply(this,arguments)},e.prototype.getCoordinate=function(){if(arguments.length===1){var i=arguments[0];return this._geometries[i].getCoordinate()}else return n.prototype.getCoordinate.apply(this,arguments)},e.prototype.getBoundaryDimension=function(){return Ie.FALSE},e.prototype.getDimension=function(){return 0},e.prototype.getBoundary=function(){return this.getFactory().createGeometryCollection(null)},e.prototype.getGeometryType=function(){return"MultiPoint"},e.prototype.copy=function(){for(var i=this,s=new Array(this._geometries.length).fill(null),o=0;o<s.length;o++)s[o]=i._geometries[o].copy();return new e(s,this._factory)},e.prototype.interfaces_=function(){return[Zl]},e.prototype.getClass=function(){return e},t.serialVersionUID.get=function(){return-8048474874175356e3},Object.defineProperties(e,t),e}(Mt),An=function(n){function e(r,i){r instanceof M&&i instanceof ge&&(r=i.getCoordinateSequenceFactory().create(r)),n.call(this,r,i),this.validateConstruction()}n&&(e.__proto__=n),e.prototype=Object.create(n&&n.prototype),e.prototype.constructor=e;var t={MINIMUM_VALID_SIZE:{configurable:!0},serialVersionUID:{configurable:!0}};return e.prototype.getSortIndex=function(){return oe.SORTINDEX_LINEARRING},e.prototype.getBoundaryDimension=function(){return Ie.FALSE},e.prototype.isClosed=function(){return this.isEmpty()?!0:n.prototype.isClosed.call(this)},e.prototype.reverse=function(){var i=this._points.copy();Ke.reverse(i);var s=this.getFactory().createLinearRing(i);return s},e.prototype.validateConstruction=function(){if(!this.isEmpty()&&!n.prototype.isClosed.call(this))throw new ze("Points of LinearRing do not form a closed linestring");if(this.getCoordinateSequence().size()>=1&&this.getCoordinateSequence().size()<e.MINIMUM_VALID_SIZE)throw new ze("Invalid number of points in LinearRing (found "+this.getCoordinateSequence().size()+" - must be 0 or >= 4)")},e.prototype.getGeometryType=function(){return"LinearRing"},e.prototype.copy=function(){return new e(this._points.copy(),this._factory)},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},t.MINIMUM_VALID_SIZE.get=function(){return 4},t.serialVersionUID.get=function(){return-0x3b229e262367a600},Object.defineProperties(e,t),e}(Ye),Rn=function(n){function e(){n.apply(this,arguments)}n&&(e.__proto__=n),e.prototype=Object.create(n&&n.prototype),e.prototype.constructor=e;var t={serialVersionUID:{configurable:!0}};return e.prototype.getSortIndex=function(){return oe.SORTINDEX_MULTIPOLYGON},e.prototype.equalsExact=function(){if(arguments.length===2){var i=arguments[0],s=arguments[1];return this.isEquivalentClass(i)?n.prototype.equalsExact.call(this,i,s):!1}else return n.prototype.equalsExact.apply(this,arguments)},e.prototype.getBoundaryDimension=function(){return 1},e.prototype.getDimension=function(){return 2},e.prototype.reverse=function(){for(var i=this,s=this._geometries.length,o=new Array(s).fill(null),a=0;a<this._geometries.length;a++)o[a]=i._geometries[a].reverse();return this.getFactory().createMultiPolygon(o)},e.prototype.getBoundary=function(){var i=this;if(this.isEmpty())return this.getFactory().createMultiLineString();for(var s=new W,o=0;o<this._geometries.length;o++)for(var a=i._geometries[o],l=a.getBoundary(),u=0;u<l.getNumGeometries();u++)s.add(l.getGeometryN(u));var h=new Array(s.size()).fill(null);return this.getFactory().createMultiLineString(s.toArray(h))},e.prototype.getGeometryType=function(){return"MultiPolygon"},e.prototype.copy=function(){for(var i=this,s=new Array(this._geometries.length).fill(null),o=0;o<s.length;o++)s[o]=i._geometries[o].copy();return new e(s,this._factory)},e.prototype.interfaces_=function(){return[Li]},e.prototype.getClass=function(){return e},t.serialVersionUID.get=function(){return-0x7a5aa1369171980},Object.defineProperties(e,t),e}(Mt),br=function(e){this._factory=e||null,this._isUserDataCopied=!1},Uu={NoOpGeometryOperation:{configurable:!0},CoordinateOperation:{configurable:!0},CoordinateSequenceOperation:{configurable:!0}};br.prototype.setCopyUserData=function(e){this._isUserDataCopied=e},br.prototype.edit=function(e,t){if(e===null)return null;var r=this.editInternal(e,t);return this._isUserDataCopied&&r.setUserData(e.getUserData()),r},br.prototype.editInternal=function(e,t){return this._factory===null&&(this._factory=e.getFactory()),e instanceof Mt?this.editGeometryCollection(e,t):e instanceof it?this.editPolygon(e,t):e instanceof er?t.edit(e,this._factory):e instanceof Ye?t.edit(e,this._factory):(fe.shouldNeverReachHere("Unsupported Geometry class: "+e.getClass().getName()),null)},br.prototype.editGeometryCollection=function(e,t){for(var r=this,i=t.edit(e,this._factory),s=new W,o=0;o<i.getNumGeometries();o++){var a=r.edit(i.getGeometryN(o),t);a===null||a.isEmpty()||s.add(a)}return i.getClass()===cl?this._factory.createMultiPoint(s.toArray([])):i.getClass()===ds?this._factory.createMultiLineString(s.toArray([])):i.getClass()===Rn?this._factory.createMultiPolygon(s.toArray([])):this._factory.createGeometryCollection(s.toArray([]))},br.prototype.editPolygon=function(e,t){var r=this,i=t.edit(e,this._factory);if(i===null&&(i=this._factory.createPolygon(null)),i.isEmpty())return i;var s=this.edit(i.getExteriorRing(),t);if(s===null||s.isEmpty())return this._factory.createPolygon();for(var o=new W,a=0;a<i.getNumInteriorRing();a++){var l=r.edit(i.getInteriorRingN(a),t);l===null||l.isEmpty()||o.add(l)}return this._factory.createPolygon(s,o.toArray([]))},br.prototype.interfaces_=function(){return[]},br.prototype.getClass=function(){return br},br.GeometryEditorOperation=function(){},Uu.NoOpGeometryOperation.get=function(){return Kl},Uu.CoordinateOperation.get=function(){return Ql},Uu.CoordinateSequenceOperation.get=function(){return Bl},Object.defineProperties(br,Uu);var Kl=function(){};Kl.prototype.edit=function(e,t){return e},Kl.prototype.interfaces_=function(){return[br.GeometryEditorOperation]},Kl.prototype.getClass=function(){return Kl};var Ql=function(){};Ql.prototype.edit=function(e,t){var r=this.editCoordinates(e.getCoordinates(),e);return r===null?e:e instanceof An?t.createLinearRing(r):e instanceof Ye?t.createLineString(r):e instanceof er?r.length>0?t.createPoint(r[0]):t.createPoint():e},Ql.prototype.interfaces_=function(){return[br.GeometryEditorOperation]},Ql.prototype.getClass=function(){return Ql};var Bl=function(){};Bl.prototype.edit=function(e,t){return e instanceof An?t.createLinearRing(this.edit(e.getCoordinateSequence(),e)):e instanceof Ye?t.createLineString(this.edit(e.getCoordinateSequence(),e)):e instanceof er?t.createPoint(this.edit(e.getCoordinateSequence(),e)):e},Bl.prototype.interfaces_=function(){return[br.GeometryEditorOperation]},Bl.prototype.getClass=function(){return Bl};var Qe=function(){var e=this;if(this._dimension=3,this._coordinates=null,arguments.length===1){if(arguments[0]instanceof Array)this._coordinates=arguments[0],this._dimension=3;else if(Number.isInteger(arguments[0])){var t=arguments[0];this._coordinates=new Array(t).fill(null);for(var r=0;r<t;r++)e._coordinates[r]=new M}else if(ae(arguments[0],Ee)){var i=arguments[0];if(i===null)return this._coordinates=new Array(0).fill(null),null;this._dimension=i.getDimension(),this._coordinates=new Array(i.size()).fill(null);for(var s=0;s<this._coordinates.length;s++)e._coordinates[s]=i.getCoordinateCopy(s)}}else if(arguments.length===2){if(arguments[0]instanceof Array&&Number.isInteger(arguments[1])){var o=arguments[0],a=arguments[1];this._coordinates=o,this._dimension=a,o===null&&(this._coordinates=new Array(0).fill(null))}else if(Number.isInteger(arguments[0])&&Number.isInteger(arguments[1])){var l=arguments[0],u=arguments[1];this._coordinates=new Array(l).fill(null),this._dimension=u;for(var h=0;h<l;h++)e._coordinates[h]=new M}}},zf={serialVersionUID:{configurable:!0}};Qe.prototype.setOrdinate=function(e,t,r){switch(t){case Ee.X:this._coordinates[e].x=r;break;case Ee.Y:this._coordinates[e].y=r;break;case Ee.Z:this._coordinates[e].z=r;break;default:throw new ze("invalid ordinateIndex")}},Qe.prototype.size=function(){return this._coordinates.length},Qe.prototype.getOrdinate=function(e,t){switch(t){case Ee.X:return this._coordinates[e].x;case Ee.Y:return this._coordinates[e].y;case Ee.Z:return this._coordinates[e].z}return le.NaN},Qe.prototype.getCoordinate=function(){if(arguments.length===1){var e=arguments[0];return this._coordinates[e]}else if(arguments.length===2){var t=arguments[0],r=arguments[1];r.x=this._coordinates[t].x,r.y=this._coordinates[t].y,r.z=this._coordinates[t].z}},Qe.prototype.getCoordinateCopy=function(e){return new M(this._coordinates[e])},Qe.prototype.getDimension=function(){return this._dimension},Qe.prototype.getX=function(e){return this._coordinates[e].x},Qe.prototype.clone=function(){for(var e=this,t=new Array(this.size()).fill(null),r=0;r<this._coordinates.length;r++)t[r]=e._coordinates[r].clone();return new Qe(t,this._dimension)},Qe.prototype.expandEnvelope=function(e){for(var t=this,r=0;r<this._coordinates.length;r++)e.expandToInclude(t._coordinates[r]);return e},Qe.prototype.copy=function(){for(var e=this,t=new Array(this.size()).fill(null),r=0;r<this._coordinates.length;r++)t[r]=e._coordinates[r].copy();return new Qe(t,this._dimension)},Qe.prototype.toString=function(){var e=this;if(this._coordinates.length>0){var t=new an(17*this._coordinates.length);t.append("("),t.append(this._coordinates[0]);for(var r=1;r<this._coordinates.length;r++)t.append(", "),t.append(e._coordinates[r]);return t.append(")"),t.toString()}else return"()"},Qe.prototype.getY=function(e){return this._coordinates[e].y},Qe.prototype.toCoordinateArray=function(){return this._coordinates},Qe.prototype.interfaces_=function(){return[Ee,Cr]},Qe.prototype.getClass=function(){return Qe},zf.serialVersionUID.get=function(){return-0xcb44a778db18e00},Object.defineProperties(Qe,zf);var Fn=function(){},Zc={serialVersionUID:{configurable:!0},instanceObject:{configurable:!0}};Fn.prototype.readResolve=function(){return Fn.instance()},Fn.prototype.create=function(){if(arguments.length===1){if(arguments[0]instanceof Array){var e=arguments[0];return new Qe(e)}else if(ae(arguments[0],Ee)){var t=arguments[0];return new Qe(t)}}else if(arguments.length===2){var r=arguments[0],i=arguments[1];return i>3&&(i=3),i<2?new Qe(r):new Qe(r,i)}},Fn.prototype.interfaces_=function(){return[el,Cr]},Fn.prototype.getClass=function(){return Fn},Fn.instance=function(){return Fn.instanceObject},Zc.serialVersionUID.get=function(){return-0x38e49fa6cf6f2e00},Zc.instanceObject.get=function(){return new Fn},Object.defineProperties(Fn,Zc);var Uf=function(n){function e(){n.call(this),this.map_=new Map}return n&&(e.__proto__=n),e.prototype=Object.create(n&&n.prototype),e.prototype.constructor=e,e.prototype.get=function(r){return this.map_.get(r)||null},e.prototype.put=function(r,i){return this.map_.set(r,i),i},e.prototype.values=function(){for(var r=new W,i=this.map_.values(),s=i.next();!s.done;)r.add(s.value),s=i.next();return r},e.prototype.entrySet=function(){var r=new Yc;return this.map_.entries().forEach(function(i){return r.add(i)}),r},e.prototype.size=function(){return this.map_.size()},e}(Ks),Te=function n(){if(this._modelType=null,this._scale=null,arguments.length===0)this._modelType=n.FLOATING;else if(arguments.length===1){if(arguments[0]instanceof pn){var e=arguments[0];this._modelType=e,e===n.FIXED&&this.setScale(1)}else if(typeof arguments[0]=="number"){var t=arguments[0];this._modelType=n.FIXED,this.setScale(t)}else if(arguments[0]instanceof n){var r=arguments[0];this._modelType=r._modelType,this._scale=r._scale}}},Kc={serialVersionUID:{configurable:!0},maximumPreciseValue:{configurable:!0}};Te.prototype.equals=function(e){if(!(e instanceof Te))return!1;var t=e;return this._modelType===t._modelType&&this._scale===t._scale},Te.prototype.compareTo=function(e){var t=e,r=this.getMaximumSignificantDigits(),i=t.getMaximumSignificantDigits();return new ln(r).compareTo(new ln(i))},Te.prototype.getScale=function(){return this._scale},Te.prototype.isFloating=function(){return this._modelType===Te.FLOATING||this._modelType===Te.FLOATING_SINGLE},Te.prototype.getType=function(){return this._modelType},Te.prototype.toString=function(){var e="UNKNOWN";return this._modelType===Te.FLOATING?e="Floating":this._modelType===Te.FLOATING_SINGLE?e="Floating-Single":this._modelType===Te.FIXED&&(e="Fixed (Scale="+this.getScale()+")"),e},Te.prototype.makePrecise=function(){if(typeof arguments[0]=="number"){var e=arguments[0];if(le.isNaN(e))return e;if(this._modelType===Te.FLOATING_SINGLE){var t=e;return t}return this._modelType===Te.FIXED?Math.round(e*this._scale)/this._scale:e}else if(arguments[0]instanceof M){var r=arguments[0];if(this._modelType===Te.FLOATING)return null;r.x=this.makePrecise(r.x),r.y=this.makePrecise(r.y)}},Te.prototype.getMaximumSignificantDigits=function(){var e=16;return this._modelType===Te.FLOATING?e=16:this._modelType===Te.FLOATING_SINGLE?e=6:this._modelType===Te.FIXED&&(e=1+Math.trunc(Math.ceil(Math.log(this.getScale())/Math.log(10)))),e},Te.prototype.setScale=function(e){this._scale=Math.abs(e)},Te.prototype.interfaces_=function(){return[Cr,Sr]},Te.prototype.getClass=function(){return Te},Te.mostPrecise=function(e,t){return e.compareTo(t)>=0?e:t},Kc.serialVersionUID.get=function(){return 7777263578777804e3},Kc.maximumPreciseValue.get=function(){return 9007199254740992},Object.defineProperties(Te,Kc);var pn=function n(e){this._name=e||null,n.nameToTypeMap.put(e,this)},Qc={serialVersionUID:{configurable:!0},nameToTypeMap:{configurable:!0}};pn.prototype.readResolve=function(){return pn.nameToTypeMap.get(this._name)},pn.prototype.toString=function(){return this._name},pn.prototype.interfaces_=function(){return[Cr]},pn.prototype.getClass=function(){return pn},Qc.serialVersionUID.get=function(){return-552860263173159e4},Qc.nameToTypeMap.get=function(){return new Uf},Object.defineProperties(pn,Qc),Te.Type=pn,Te.FIXED=new pn("FIXED"),Te.FLOATING=new pn("FLOATING"),Te.FLOATING_SINGLE=new pn("FLOATING SINGLE");var ge=function n(){this._precisionModel=new Te,this._SRID=0,this._coordinateSequenceFactory=n.getDefaultCoordinateSequenceFactory(),arguments.length===0||(arguments.length===1?ae(arguments[0],el)?this._coordinateSequenceFactory=arguments[0]:arguments[0]instanceof Te&&(this._precisionModel=arguments[0]):arguments.length===2?(this._precisionModel=arguments[0],this._SRID=arguments[1]):arguments.length===3&&(this._precisionModel=arguments[0],this._SRID=arguments[1],this._coordinateSequenceFactory=arguments[2]))},Gf={serialVersionUID:{configurable:!0}};ge.prototype.toGeometry=function(e){return e.isNull()?this.createPoint(null):e.getMinX()===e.getMaxX()&&e.getMinY()===e.getMaxY()?this.createPoint(new M(e.getMinX(),e.getMinY())):e.getMinX()===e.getMaxX()||e.getMinY()===e.getMaxY()?this.createLineString([new M(e.getMinX(),e.getMinY()),new M(e.getMaxX(),e.getMaxY())]):this.createPolygon(this.createLinearRing([new M(e.getMinX(),e.getMinY()),new M(e.getMinX(),e.getMaxY()),new M(e.getMaxX(),e.getMaxY()),new M(e.getMaxX(),e.getMinY()),new M(e.getMinX(),e.getMinY())]),null)},ge.prototype.createLineString=function(e){if(e){if(e instanceof Array)return new Ye(this.getCoordinateSequenceFactory().create(e),this);if(ae(e,Ee))return new Ye(e,this)}else return new Ye(this.getCoordinateSequenceFactory().create([]),this)},ge.prototype.createMultiLineString=function(){if(arguments.length===0)return new ds(null,this);if(arguments.length===1){var e=arguments[0];return new ds(e,this)}},ge.prototype.buildGeometry=function(e){for(var t=null,r=!1,i=!1,s=e.iterator();s.hasNext();){var o=s.next(),a=o.getClass();t===null&&(t=a),a!==t&&(r=!0),o.isGeometryCollectionOrDerived()&&(i=!0)}if(t===null)return this.createGeometryCollection();if(r||i)return this.createGeometryCollection(ge.toGeometryArray(e));var l=e.iterator().next(),u=e.size()>1;if(u){if(l instanceof it)return this.createMultiPolygon(ge.toPolygonArray(e));if(l instanceof Ye)return this.createMultiLineString(ge.toLineStringArray(e));if(l instanceof er)return this.createMultiPoint(ge.toPointArray(e));fe.shouldNeverReachHere("Unhandled class: "+l.getClass().getName())}return l},ge.prototype.createMultiPointFromCoords=function(e){return this.createMultiPoint(e!==null?this.getCoordinateSequenceFactory().create(e):null)},ge.prototype.createPoint=function(){if(arguments.length===0)return this.createPoint(this.getCoordinateSequenceFactory().create([]));if(arguments.length===1){if(arguments[0]instanceof M){var e=arguments[0];return this.createPoint(e!==null?this.getCoordinateSequenceFactory().create([e]):null)}else if(ae(arguments[0],Ee)){var t=arguments[0];return new er(t,this)}}},ge.prototype.getCoordinateSequenceFactory=function(){return this._coordinateSequenceFactory},ge.prototype.createPolygon=function(){if(arguments.length===0)return new it(null,null,this);if(arguments.length===1){if(ae(arguments[0],Ee)){var e=arguments[0];return this.createPolygon(this.createLinearRing(e))}else if(arguments[0]instanceof Array){var t=arguments[0];return this.createPolygon(this.createLinearRing(t))}else if(arguments[0]instanceof An){var r=arguments[0];return this.createPolygon(r,null)}}else if(arguments.length===2){var i=arguments[0],s=arguments[1];return new it(i,s,this)}},ge.prototype.getSRID=function(){return this._SRID},ge.prototype.createGeometryCollection=function(){if(arguments.length===0)return new Mt(null,this);if(arguments.length===1){var e=arguments[0];return new Mt(e,this)}},ge.prototype.createGeometry=function(e){var t=new br(this);return t.edit(e,{edit:function(){if(arguments.length===2){var r=arguments[0];return this._coordinateSequenceFactory.create(r)}}})},ge.prototype.getPrecisionModel=function(){return this._precisionModel},ge.prototype.createLinearRing=function(){if(arguments.length===0)return this.createLinearRing(this.getCoordinateSequenceFactory().create([]));if(arguments.length===1){if(arguments[0]instanceof Array){var e=arguments[0];return this.createLinearRing(e!==null?this.getCoordinateSequenceFactory().create(e):null)}else if(ae(arguments[0],Ee)){var t=arguments[0];return new An(t,this)}}},ge.prototype.createMultiPolygon=function(){if(arguments.length===0)return new Rn(null,this);if(arguments.length===1){var e=arguments[0];return new Rn(e,this)}},ge.prototype.createMultiPoint=function(){var e=this;if(arguments.length===0)return new cl(null,this);if(arguments.length===1){if(arguments[0]instanceof Array){var t=arguments[0];return new cl(t,this)}else if(arguments[0]instanceof Array){var r=arguments[0];return this.createMultiPoint(r!==null?this.getCoordinateSequenceFactory().create(r):null)}else if(ae(arguments[0],Ee)){var i=arguments[0];if(i===null)return this.createMultiPoint(new Array(0).fill(null));for(var s=new Array(i.size()).fill(null),o=0;o<i.size();o++){var a=e.getCoordinateSequenceFactory().create(1,i.getDimension());Ke.copy(i,o,a,0,1),s[o]=e.createPoint(a)}return this.createMultiPoint(s)}}},ge.prototype.interfaces_=function(){return[Cr]},ge.prototype.getClass=function(){return ge},ge.toMultiPolygonArray=function(e){var t=new Array(e.size()).fill(null);return e.toArray(t)},ge.toGeometryArray=function(e){if(e===null)return null;var t=new Array(e.size()).fill(null);return e.toArray(t)},ge.getDefaultCoordinateSequenceFactory=function(){return Fn.instance()},ge.toMultiLineStringArray=function(e){var t=new Array(e.size()).fill(null);return e.toArray(t)},ge.toLineStringArray=function(e){var t=new Array(e.size()).fill(null);return e.toArray(t)},ge.toMultiPointArray=function(e){var t=new Array(e.size()).fill(null);return e.toArray(t)},ge.toLinearRingArray=function(e){var t=new Array(e.size()).fill(null);return e.toArray(t)},ge.toPointArray=function(e){var t=new Array(e.size()).fill(null);return e.toArray(t)},ge.toPolygonArray=function(e){var t=new Array(e.size()).fill(null);return e.toArray(t)},ge.createPointFromInternalCoord=function(e,t){return t.getPrecisionModel().makePrecise(e),t.getFactory().createPoint(e)},Gf.serialVersionUID.get=function(){return-6820524753094096e3},Object.defineProperties(ge,Gf);var nv=["Point","MultiPoint","LineString","MultiLineString","Polygon","MultiPolygon"],Gu=function(e){this.geometryFactory=e||new ge};Gu.prototype.read=function(e){var t;typeof e=="string"?t=JSON.parse(e):t=e;var r=t.type;if(!dn[r])throw new Error("Unknown GeoJSON type: "+t.type);return nv.indexOf(r)!==-1?dn[r].apply(this,[t.coordinates]):r==="GeometryCollection"?dn[r].apply(this,[t.geometries]):dn[r].apply(this,[t])},Gu.prototype.write=function(e){var t=e.getGeometryType();if(!li[t])throw new Error("Geometry is not supported");return li[t].apply(this,[e])};var dn={Feature:function(n){var e={};for(var t in n)e[t]=n[t];if(n.geometry){var r=n.geometry.type;if(!dn[r])throw new Error("Unknown GeoJSON type: "+n.type);e.geometry=this.read(n.geometry)}return n.bbox&&(e.bbox=dn.bbox.apply(this,[n.bbox])),e},FeatureCollection:function(n){var e=this,t={};if(n.features){t.features=[];for(var r=0;r<n.features.length;++r)t.features.push(e.read(n.features[r]))}return n.bbox&&(t.bbox=this.parse.bbox.apply(this,[n.bbox])),t},coordinates:function(n){for(var e=[],t=0;t<n.length;++t){var r=n[t];e.push(new M(r[0],r[1]))}return e},bbox:function(n){return this.geometryFactory.createLinearRing([new M(n[0],n[1]),new M(n[2],n[1]),new M(n[2],n[3]),new M(n[0],n[3]),new M(n[0],n[1])])},Point:function(n){var e=new M(n[0],n[1]);return this.geometryFactory.createPoint(e)},MultiPoint:function(n){for(var e=this,t=[],r=0;r<n.length;++r)t.push(dn.Point.apply(e,[n[r]]));return this.geometryFactory.createMultiPoint(t)},LineString:function(n){var e=dn.coordinates.apply(this,[n]);return this.geometryFactory.createLineString(e)},MultiLineString:function(n){for(var e=this,t=[],r=0;r<n.length;++r)t.push(dn.LineString.apply(e,[n[r]]));return this.geometryFactory.createMultiLineString(t)},Polygon:function(n){for(var e=this,t=dn.coordinates.apply(this,[n[0]]),r=this.geometryFactory.createLinearRing(t),i=[],s=1;s<n.length;++s){var o=n[s],a=dn.coordinates.apply(e,[o]),l=e.geometryFactory.createLinearRing(a);i.push(l)}return this.geometryFactory.createPolygon(r,i)},MultiPolygon:function(n){for(var e=this,t=[],r=0;r<n.length;++r){var i=n[r];t.push(dn.Polygon.apply(e,[i]))}return this.geometryFactory.createMultiPolygon(t)},GeometryCollection:function(n){for(var e=this,t=[],r=0;r<n.length;++r){var i=n[r];t.push(e.read(i))}return this.geometryFactory.createGeometryCollection(t)}},li={coordinate:function(n){return[n.x,n.y]},Point:function(n){var e=li.coordinate.apply(this,[n.getCoordinate()]);return{type:"Point",coordinates:e}},MultiPoint:function(n){for(var e=this,t=[],r=0;r<n._geometries.length;++r){var i=n._geometries[r],s=li.Point.apply(e,[i]);t.push(s.coordinates)}return{type:"MultiPoint",coordinates:t}},LineString:function(n){for(var e=this,t=[],r=n.getCoordinates(),i=0;i<r.length;++i){var s=r[i];t.push(li.coordinate.apply(e,[s]))}return{type:"LineString",coordinates:t}},MultiLineString:function(n){for(var e=this,t=[],r=0;r<n._geometries.length;++r){var i=n._geometries[r],s=li.LineString.apply(e,[i]);t.push(s.coordinates)}return{type:"MultiLineString",coordinates:t}},Polygon:function(n){var e=this,t=[],r=li.LineString.apply(this,[n._shell]);t.push(r.coordinates);for(var i=0;i<n._holes.length;++i){var s=n._holes[i],o=li.LineString.apply(e,[s]);t.push(o.coordinates)}return{type:"Polygon",coordinates:t}},MultiPolygon:function(n){for(var e=this,t=[],r=0;r<n._geometries.length;++r){var i=n._geometries[r],s=li.Polygon.apply(e,[i]);t.push(s.coordinates)}return{type:"MultiPolygon",coordinates:t}},GeometryCollection:function(n){for(var e=this,t=[],r=0;r<n._geometries.length;++r){var i=n._geometries[r],s=i.getGeometryType();t.push(li[s].apply(e,[i]))}return{type:"GeometryCollection",geometries:t}}},Bc=function(e){this.geometryFactory=e||new ge,this.precisionModel=this.geometryFactory.getPrecisionModel(),this.parser=new Gu(this.geometryFactory)};Bc.prototype.read=function(e){var t=this.parser.read(e);return this.precisionModel.getType()===Te.FIXED&&this.reducePrecision(t),t},Bc.prototype.reducePrecision=function(e){var t=this,r,i;if(e.coordinate)this.precisionModel.makePrecise(e.coordinate);else if(e.points)for(r=0,i=e.points.length;r<i;r++)t.precisionModel.makePrecise(e.points[r]);else if(e.geometries)for(r=0,i=e.geometries.length;r<i;r++)t.reducePrecision(e.geometries[r])};var Wf=function(){this.parser=new Gu(this.geometryFactory)};Wf.prototype.write=function(e){return this.parser.write(e)};var U=function(){},Wu={ON:{configurable:!0},LEFT:{configurable:!0},RIGHT:{configurable:!0}};U.prototype.interfaces_=function(){return[]},U.prototype.getClass=function(){return U},U.opposite=function(e){return e===U.LEFT?U.RIGHT:e===U.RIGHT?U.LEFT:e},Wu.ON.get=function(){return 0},Wu.LEFT.get=function(){return 1},Wu.RIGHT.get=function(){return 2},Object.defineProperties(U,Wu);function qu(n){this.message=n||""}qu.prototype=new Error,qu.prototype.name="EmptyStackException";function gn(){this.array_=[]}gn.prototype=new Hr,gn.prototype.add=function(n){return this.array_.push(n),!0},gn.prototype.get=function(n){if(n<0||n>=this.size())throw new Error;return this.array_[n]},gn.prototype.push=function(n){return this.array_.push(n),n},gn.prototype.pop=function(n){if(this.array_.length===0)throw new qu;return this.array_.pop()},gn.prototype.peek=function(){if(this.array_.length===0)throw new qu;return this.array_[this.array_.length-1]},gn.prototype.empty=function(){return this.array_.length===0},gn.prototype.isEmpty=function(){return this.empty()},gn.prototype.search=function(n){return this.array_.indexOf(n)},gn.prototype.size=function(){return this.array_.length},gn.prototype.toArray=function(){for(var n=this,e=[],t=0,r=this.array_.length;t<r;t++)e.push(n.array_[t]);return e};var mn=function(){this._minIndex=-1,this._minCoord=null,this._minDe=null,this._orientedDe=null};mn.prototype.getCoordinate=function(){return this._minCoord},mn.prototype.getRightmostSide=function(e,t){var r=this.getRightmostSideOfSegment(e,t);return r<0&&(r=this.getRightmostSideOfSegment(e,t-1)),r<0&&(this._minCoord=null,this.checkForRightmostCoordinate(e)),r},mn.prototype.findRightmostEdgeAtVertex=function(){var e=this._minDe.getEdge().getCoordinates();fe.isTrue(this._minIndex>0&&this._minIndex<e.length,"rightmost point expected to be interior vertex of edge");var t=e[this._minIndex-1],r=e[this._minIndex+1],i=H.computeOrientation(this._minCoord,r,t),s=!1;(t.y<this._minCoord.y&&r.y<this._minCoord.y&&i===H.COUNTERCLOCKWISE||t.y>this._minCoord.y&&r.y>this._minCoord.y&&i===H.CLOCKWISE)&&(s=!0),s&&(this._minIndex=this._minIndex-1)},mn.prototype.getRightmostSideOfSegment=function(e,t){var r=e.getEdge(),i=r.getCoordinates();if(t<0||t+1>=i.length||i[t].y===i[t+1].y)return-1;var s=U.LEFT;return i[t].y<i[t+1].y&&(s=U.RIGHT),s},mn.prototype.getEdge=function(){return this._orientedDe},mn.prototype.checkForRightmostCoordinate=function(e){for(var t=this,r=e.getEdge().getCoordinates(),i=0;i<r.length-1;i++)(t._minCoord===null||r[i].x>t._minCoord.x)&&(t._minDe=e,t._minIndex=i,t._minCoord=r[i])},mn.prototype.findRightmostEdgeAtNode=function(){var e=this._minDe.getNode(),t=e.getEdges();this._minDe=t.getRightmostEdge(),this._minDe.isForward()||(this._minDe=this._minDe.getSym(),this._minIndex=this._minDe.getEdge().getCoordinates().length-1)},mn.prototype.findEdge=function(e){for(var t=this,r=e.iterator();r.hasNext();){var i=r.next();i.isForward()&&t.checkForRightmostCoordinate(i)}fe.isTrue(this._minIndex!==0||this._minCoord.equals(this._minDe.getCoordinate()),"inconsistency in rightmost processing"),this._minIndex===0?this.findRightmostEdgeAtNode():this.findRightmostEdgeAtVertex(),this._orientedDe=this._minDe;var s=this.getRightmostSide(this._minDe,this._minIndex);s===U.LEFT&&(this._orientedDe=this._minDe.getSym())},mn.prototype.interfaces_=function(){return[]},mn.prototype.getClass=function(){return mn};var ui=function(n){function e(t,r){n.call(this,e.msgWithCoord(t,r)),this.pt=r?new M(r):null,this.name="TopologyException"}return n&&(e.__proto__=n),e.prototype=Object.create(n&&n.prototype),e.prototype.constructor=e,e.prototype.getCoordinate=function(){return this.pt},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e.msgWithCoord=function(r,i){return i?r:r+" [ "+i+" ]"},e}(ni),Xu=function(){this.array_=[]};Xu.prototype.addLast=function(e){this.array_.push(e)},Xu.prototype.removeFirst=function(){return this.array_.shift()},Xu.prototype.isEmpty=function(){return this.array_.length===0};var xt=function(){this._finder=null,this._dirEdgeList=new W,this._nodes=new W,this._rightMostCoord=null,this._env=null,this._finder=new mn};xt.prototype.clearVisitedEdges=function(){for(var e=this._dirEdgeList.iterator();e.hasNext();){var t=e.next();t.setVisited(!1)}},xt.prototype.getRightmostCoordinate=function(){return this._rightMostCoord},xt.prototype.computeNodeDepth=function(e){for(var t=this,r=null,i=e.getEdges().iterator();i.hasNext();){var s=i.next();if(s.isVisited()||s.getSym().isVisited()){r=s;break}}if(r===null)throw new ui("unable to find edge to compute depths at "+e.getCoordinate());e.getEdges().computeDepths(r);for(var o=e.getEdges().iterator();o.hasNext();){var a=o.next();a.setVisited(!0),t.copySymDepths(a)}},xt.prototype.computeDepth=function(e){this.clearVisitedEdges();var t=this._finder.getEdge();t.setEdgeDepths(U.RIGHT,e),this.copySymDepths(t),this.computeDepths(t)},xt.prototype.create=function(e){this.addReachable(e),this._finder.findEdge(this._dirEdgeList),this._rightMostCoord=this._finder.getCoordinate()},xt.prototype.findResultEdges=function(){for(var e=this._dirEdgeList.iterator();e.hasNext();){var t=e.next();t.getDepth(U.RIGHT)>=1&&t.getDepth(U.LEFT)<=0&&!t.isInteriorAreaEdge()&&t.setInResult(!0)}},xt.prototype.computeDepths=function(e){var t=this,r=new Yc,i=new Xu,s=e.getNode();for(i.addLast(s),r.add(s),e.setVisited(!0);!i.isEmpty();){var o=i.removeFirst();r.add(o),t.computeNodeDepth(o);for(var a=o.getEdges().iterator();a.hasNext();){var l=a.next(),u=l.getSym();if(!u.isVisited()){var h=u.getNode();r.contains(h)||(i.addLast(h),r.add(h))}}}},xt.prototype.compareTo=function(e){var t=e;return this._rightMostCoord.x<t._rightMostCoord.x?-1:this._rightMostCoord.x>t._rightMostCoord.x?1:0},xt.prototype.getEnvelope=function(){if(this._env===null){for(var e=new te,t=this._dirEdgeList.iterator();t.hasNext();)for(var r=t.next(),i=r.getEdge().getCoordinates(),s=0;s<i.length-1;s++)e.expandToInclude(i[s]);this._env=e}return this._env},xt.prototype.addReachable=function(e){var t=this,r=new gn;for(r.add(e);!r.empty();){var i=r.pop();t.add(i,r)}},xt.prototype.copySymDepths=function(e){var t=e.getSym();t.setDepth(U.LEFT,e.getDepth(U.RIGHT)),t.setDepth(U.RIGHT,e.getDepth(U.LEFT))},xt.prototype.add=function(e,t){var r=this;e.setVisited(!0),this._nodes.add(e);for(var i=e.getEdges().iterator();i.hasNext();){var s=i.next();r._dirEdgeList.add(s);var o=s.getSym(),a=o.getNode();a.isVisited()||t.push(a)}},xt.prototype.getNodes=function(){return this._nodes},xt.prototype.getDirectedEdges=function(){return this._dirEdgeList},xt.prototype.interfaces_=function(){return[Sr]},xt.prototype.getClass=function(){return xt};var Ae=function n(){var e=this;if(this.location=null,arguments.length===1){if(arguments[0]instanceof Array){var t=arguments[0];this.init(t.length)}else if(Number.isInteger(arguments[0])){var r=arguments[0];this.init(1),this.location[U.ON]=r}else if(arguments[0]instanceof n){var i=arguments[0];if(this.init(i.location.length),i!==null)for(var s=0;s<this.location.length;s++)e.location[s]=i.location[s]}}else if(arguments.length===3){var o=arguments[0],a=arguments[1],l=arguments[2];this.init(3),this.location[U.ON]=o,this.location[U.LEFT]=a,this.location[U.RIGHT]=l}};Ae.prototype.setAllLocations=function(e){for(var t=this,r=0;r<this.location.length;r++)t.location[r]=e},Ae.prototype.isNull=function(){for(var e=this,t=0;t<this.location.length;t++)if(e.location[t]!==R.NONE)return!1;return!0},Ae.prototype.setAllLocationsIfNull=function(e){for(var t=this,r=0;r<this.location.length;r++)t.location[r]===R.NONE&&(t.location[r]=e)},Ae.prototype.isLine=function(){return this.location.length===1},Ae.prototype.merge=function(e){var t=this;if(e.location.length>this.location.length){var r=new Array(3).fill(null);r[U.ON]=this.location[U.ON],r[U.LEFT]=R.NONE,r[U.RIGHT]=R.NONE,this.location=r}for(var i=0;i<this.location.length;i++)t.location[i]===R.NONE&&i<e.location.length&&(t.location[i]=e.location[i])},Ae.prototype.getLocations=function(){return this.location},Ae.prototype.flip=function(){if(this.location.length<=1)return null;var e=this.location[U.LEFT];this.location[U.LEFT]=this.location[U.RIGHT],this.location[U.RIGHT]=e},Ae.prototype.toString=function(){var e=new an;return this.location.length>1&&e.append(R.toLocationSymbol(this.location[U.LEFT])),e.append(R.toLocationSymbol(this.location[U.ON])),this.location.length>1&&e.append(R.toLocationSymbol(this.location[U.RIGHT])),e.toString()},Ae.prototype.setLocations=function(e,t,r){this.location[U.ON]=e,this.location[U.LEFT]=t,this.location[U.RIGHT]=r},Ae.prototype.get=function(e){return e<this.location.length?this.location[e]:R.NONE},Ae.prototype.isArea=function(){return this.location.length>1},Ae.prototype.isAnyNull=function(){for(var e=this,t=0;t<this.location.length;t++)if(e.location[t]===R.NONE)return!0;return!1},Ae.prototype.setLocation=function(){if(arguments.length===1){var e=arguments[0];this.setLocation(U.ON,e)}else if(arguments.length===2){var t=arguments[0],r=arguments[1];this.location[t]=r}},Ae.prototype.init=function(e){this.location=new Array(e).fill(null),this.setAllLocations(R.NONE)},Ae.prototype.isEqualOnSide=function(e,t){return this.location[t]===e.location[t]},Ae.prototype.allPositionsEqual=function(e){for(var t=this,r=0;r<this.location.length;r++)if(t.location[r]!==e)return!1;return!0},Ae.prototype.interfaces_=function(){return[]},Ae.prototype.getClass=function(){return Ae};var De=function n(){if(this.elt=new Array(2).fill(null),arguments.length===1){if(Number.isInteger(arguments[0])){var e=arguments[0];this.elt[0]=new Ae(e),this.elt[1]=new Ae(e)}else if(arguments[0]instanceof n){var t=arguments[0];this.elt[0]=new Ae(t.elt[0]),this.elt[1]=new Ae(t.elt[1])}}else if(arguments.length===2){var r=arguments[0],i=arguments[1];this.elt[0]=new Ae(R.NONE),this.elt[1]=new Ae(R.NONE),this.elt[r].setLocation(i)}else if(arguments.length===3){var s=arguments[0],o=arguments[1],a=arguments[2];this.elt[0]=new Ae(s,o,a),this.elt[1]=new Ae(s,o,a)}else if(arguments.length===4){var l=arguments[0],u=arguments[1],h=arguments[2],f=arguments[3];this.elt[0]=new Ae(R.NONE,R.NONE,R.NONE),this.elt[1]=new Ae(R.NONE,R.NONE,R.NONE),this.elt[l].setLocations(u,h,f)}};De.prototype.getGeometryCount=function(){var e=0;return this.elt[0].isNull()||e++,this.elt[1].isNull()||e++,e},De.prototype.setAllLocations=function(e,t){this.elt[e].setAllLocations(t)},De.prototype.isNull=function(e){return this.elt[e].isNull()},De.prototype.setAllLocationsIfNull=function(){if(arguments.length===1){var e=arguments[0];this.setAllLocationsIfNull(0,e),this.setAllLocationsIfNull(1,e)}else if(arguments.length===2){var t=arguments[0],r=arguments[1];this.elt[t].setAllLocationsIfNull(r)}},De.prototype.isLine=function(e){return this.elt[e].isLine()},De.prototype.merge=function(e){for(var t=this,r=0;r<2;r++)t.elt[r]===null&&e.elt[r]!==null?t.elt[r]=new Ae(e.elt[r]):t.elt[r].merge(e.elt[r])},De.prototype.flip=function(){this.elt[0].flip(),this.elt[1].flip()},De.prototype.getLocation=function(){if(arguments.length===1){var e=arguments[0];return this.elt[e].get(U.ON)}else if(arguments.length===2){var t=arguments[0],r=arguments[1];return this.elt[t].get(r)}},De.prototype.toString=function(){var e=new an;return this.elt[0]!==null&&(e.append("A:"),e.append(this.elt[0].toString())),this.elt[1]!==null&&(e.append(" B:"),e.append(this.elt[1].toString())),e.toString()},De.prototype.isArea=function(){if(arguments.length===0)return this.elt[0].isArea()||this.elt[1].isArea();if(arguments.length===1){var e=arguments[0];return this.elt[e].isArea()}},De.prototype.isAnyNull=function(e){return this.elt[e].isAnyNull()},De.prototype.setLocation=function(){if(arguments.length===2){var e=arguments[0],t=arguments[1];this.elt[e].setLocation(U.ON,t)}else if(arguments.length===3){var r=arguments[0],i=arguments[1],s=arguments[2];this.elt[r].setLocation(i,s)}},De.prototype.isEqualOnSide=function(e,t){return this.elt[0].isEqualOnSide(e.elt[0],t)&&this.elt[1].isEqualOnSide(e.elt[1],t)},De.prototype.allPositionsEqual=function(e,t){return this.elt[e].allPositionsEqual(t)},De.prototype.toLine=function(e){this.elt[e].isArea()&&(this.elt[e]=new Ae(this.elt[e].location[0]))},De.prototype.interfaces_=function(){return[]},De.prototype.getClass=function(){return De},De.toLineLabel=function(e){for(var t=new De(R.NONE),r=0;r<2;r++)t.setLocation(r,e.getLocation(r));return t};var je=function(){this._startDe=null,this._maxNodeDegree=-1,this._edges=new W,this._pts=new W,this._label=new De(R.NONE),this._ring=null,this._isHole=null,this._shell=null,this._holes=new W,this._geometryFactory=null;var e=arguments[0],t=arguments[1];this._geometryFactory=t,this.computePoints(e),this.computeRing()};je.prototype.computeRing=function(){var e=this;if(this._ring!==null)return null;for(var t=new Array(this._pts.size()).fill(null),r=0;r<this._pts.size();r++)t[r]=e._pts.get(r);this._ring=this._geometryFactory.createLinearRing(t),this._isHole=H.isCCW(this._ring.getCoordinates())},je.prototype.isIsolated=function(){return this._label.getGeometryCount()===1},je.prototype.computePoints=function(e){var t=this;this._startDe=e;var r=e,i=!0;do{if(r===null)throw new ui("Found null DirectedEdge");if(r.getEdgeRing()===t)throw new ui("Directed Edge visited twice during ring-building at "+r.getCoordinate());t._edges.add(r);var s=r.getLabel();fe.isTrue(s.isArea()),t.mergeLabel(s),t.addPoints(r.getEdge(),r.isForward(),i),i=!1,t.setEdgeRing(r,t),r=t.getNext(r)}while(r!==this._startDe)},je.prototype.getLinearRing=function(){return this._ring},je.prototype.getCoordinate=function(e){return this._pts.get(e)},je.prototype.computeMaxNodeDegree=function(){var e=this;this._maxNodeDegree=0;var t=this._startDe;do{var r=t.getNode(),i=r.getEdges().getOutgoingDegree(e);i>e._maxNodeDegree&&(e._maxNodeDegree=i),t=e.getNext(t)}while(t!==this._startDe);this._maxNodeDegree*=2},je.prototype.addPoints=function(e,t,r){var i=this,s=e.getCoordinates();if(t){var o=1;r&&(o=0);for(var a=o;a<s.length;a++)i._pts.add(s[a])}else{var l=s.length-2;r&&(l=s.length-1);for(var u=l;u>=0;u--)i._pts.add(s[u])}},je.prototype.isHole=function(){return this._isHole},je.prototype.setInResult=function(){var e=this._startDe;do e.getEdge().setInResult(!0),e=e.getNext();while(e!==this._startDe)},je.prototype.containsPoint=function(e){var t=this.getLinearRing(),r=t.getEnvelopeInternal();if(!r.contains(e)||!H.isPointInRing(e,t.getCoordinates()))return!1;for(var i=this._holes.iterator();i.hasNext();){var s=i.next();if(s.containsPoint(e))return!1}return!0},je.prototype.addHole=function(e){this._holes.add(e)},je.prototype.isShell=function(){return this._shell===null},je.prototype.getLabel=function(){return this._label},je.prototype.getEdges=function(){return this._edges},je.prototype.getMaxNodeDegree=function(){return this._maxNodeDegree<0&&this.computeMaxNodeDegree(),this._maxNodeDegree},je.prototype.getShell=function(){return this._shell},je.prototype.mergeLabel=function(){if(arguments.length===1){var e=arguments[0];this.mergeLabel(e,0),this.mergeLabel(e,1)}else if(arguments.length===2){var t=arguments[0],r=arguments[1],i=t.getLocation(r,U.RIGHT);if(i===R.NONE)return null;if(this._label.getLocation(r)===R.NONE)return this._label.setLocation(r,i),null}},je.prototype.setShell=function(e){this._shell=e,e!==null&&e.addHole(this)},je.prototype.toPolygon=function(e){for(var t=this,r=new Array(this._holes.size()).fill(null),i=0;i<this._holes.size();i++)r[i]=t._holes.get(i).getLinearRing();var s=e.createPolygon(this.getLinearRing(),r);return s},je.prototype.interfaces_=function(){return[]},je.prototype.getClass=function(){return je};var iv=function(n){function e(){var t=arguments[0],r=arguments[1];n.call(this,t,r)}return n&&(e.__proto__=n),e.prototype=Object.create(n&&n.prototype),e.prototype.constructor=e,e.prototype.setEdgeRing=function(r,i){r.setMinEdgeRing(i)},e.prototype.getNext=function(r){return r.getNextMin()},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(je),sv=function(n){function e(){var t=arguments[0],r=arguments[1];n.call(this,t,r)}return n&&(e.__proto__=n),e.prototype=Object.create(n&&n.prototype),e.prototype.constructor=e,e.prototype.buildMinimalRings=function(){var r=this,i=new W,s=this._startDe;do{if(s.getMinEdgeRing()===null){var o=new iv(s,r._geometryFactory);i.add(o)}s=s.getNext()}while(s!==this._startDe);return i},e.prototype.setEdgeRing=function(r,i){r.setEdgeRing(i)},e.prototype.linkDirectedEdgesForMinimalEdgeRings=function(){var r=this,i=this._startDe;do{var s=i.getNode();s.getEdges().linkMinimalDirectedEdges(r),i=i.getNext()}while(i!==this._startDe)},e.prototype.getNext=function(r){return r.getNext()},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(je),hr=function(){if(this._label=null,this._isInResult=!1,this._isCovered=!1,this._isCoveredSet=!1,this._isVisited=!1,arguments.length!==0){if(arguments.length===1){var e=arguments[0];this._label=e}}};hr.prototype.setVisited=function(e){this._isVisited=e},hr.prototype.setInResult=function(e){this._isInResult=e},hr.prototype.isCovered=function(){return this._isCovered},hr.prototype.isCoveredSet=function(){return this._isCoveredSet},hr.prototype.setLabel=function(e){this._label=e},hr.prototype.getLabel=function(){return this._label},hr.prototype.setCovered=function(e){this._isCovered=e,this._isCoveredSet=!0},hr.prototype.updateIM=function(e){fe.isTrue(this._label.getGeometryCount()>=2,"found partial label"),this.computeIM(e)},hr.prototype.isInResult=function(){return this._isInResult},hr.prototype.isVisited=function(){return this._isVisited},hr.prototype.interfaces_=function(){return[]},hr.prototype.getClass=function(){return hr};var Yu=function(n){function e(){n.call(this),this._coord=null,this._edges=null;var t=arguments[0],r=arguments[1];this._coord=t,this._edges=r,this._label=new De(0,R.NONE)}return n&&(e.__proto__=n),e.prototype=Object.create(n&&n.prototype),e.prototype.constructor=e,e.prototype.isIncidentEdgeInResult=function(){for(var r=this.getEdges().getEdges().iterator();r.hasNext();){var i=r.next();if(i.getEdge().isInResult())return!0}return!1},e.prototype.isIsolated=function(){return this._label.getGeometryCount()===1},e.prototype.getCoordinate=function(){return this._coord},e.prototype.print=function(r){r.println("node "+this._coord+" lbl: "+this._label)},e.prototype.computeIM=function(r){},e.prototype.computeMergedLocation=function(r,i){var s=R.NONE;if(s=this._label.getLocation(i),!r.isNull(i)){var o=r.getLocation(i);s!==R.BOUNDARY&&(s=o)}return s},e.prototype.setLabel=function(){if(arguments.length===2){var r=arguments[0],i=arguments[1];this._label===null?this._label=new De(r,i):this._label.setLocation(r,i)}else return n.prototype.setLabel.apply(this,arguments)},e.prototype.getEdges=function(){return this._edges},e.prototype.mergeLabel=function(){var r=this;if(arguments[0]instanceof e){var i=arguments[0];this.mergeLabel(i._label)}else if(arguments[0]instanceof De)for(var s=arguments[0],o=0;o<2;o++){var a=r.computeMergedLocation(s,o),l=r._label.getLocation(o);l===R.NONE&&r._label.setLocation(o,a)}},e.prototype.add=function(r){this._edges.insert(r),r.setNode(this)},e.prototype.setLabelBoundary=function(r){if(this._label===null)return null;var i=R.NONE;this._label!==null&&(i=this._label.getLocation(r));var s=null;switch(i){case R.BOUNDARY:s=R.INTERIOR;break;case R.INTERIOR:s=R.BOUNDARY;break;default:s=R.BOUNDARY;break}this._label.setLocation(r,s)},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(hr),vn=function(){this.nodeMap=new It,this.nodeFact=null;var e=arguments[0];this.nodeFact=e};vn.prototype.find=function(e){return this.nodeMap.get(e)},vn.prototype.addNode=function(){if(arguments[0]instanceof M){var e=arguments[0],t=this.nodeMap.get(e);return t===null&&(t=this.nodeFact.createNode(e),this.nodeMap.put(e,t)),t}else if(arguments[0]instanceof Yu){var r=arguments[0],i=this.nodeMap.get(r.getCoordinate());return i===null?(this.nodeMap.put(r.getCoordinate(),r),r):(i.mergeLabel(r),i)}},vn.prototype.print=function(e){for(var t=this.iterator();t.hasNext();){var r=t.next();r.print(e)}},vn.prototype.iterator=function(){return this.nodeMap.values().iterator()},vn.prototype.values=function(){return this.nodeMap.values()},vn.prototype.getBoundaryNodes=function(e){for(var t=new W,r=this.iterator();r.hasNext();){var i=r.next();i.getLabel().getLocation(e)===R.BOUNDARY&&t.add(i)}return t},vn.prototype.add=function(e){var t=e.getCoordinate(),r=this.addNode(t);r.add(e)},vn.prototype.interfaces_=function(){return[]},vn.prototype.getClass=function(){return vn};var Me=function(){},$l={NE:{configurable:!0},NW:{configurable:!0},SW:{configurable:!0},SE:{configurable:!0}};Me.prototype.interfaces_=function(){return[]},Me.prototype.getClass=function(){return Me},Me.isNorthern=function(e){return e===Me.NE||e===Me.NW},Me.isOpposite=function(e,t){if(e===t)return!1;var r=(e-t+4)%4;return r===2},Me.commonHalfPlane=function(e,t){if(e===t)return e;var r=(e-t+4)%4;if(r===2)return-1;var i=e<t?e:t,s=e>t?e:t;return i===0&&s===3?3:i},Me.isInHalfPlane=function(e,t){return t===Me.SE?e===Me.SE||e===Me.SW:e===t||e===t+1},Me.quadrant=function(){if(typeof arguments[0]=="number"&&typeof arguments[1]=="number"){var e=arguments[0],t=arguments[1];if(e===0&&t===0)throw new ze("Cannot compute the quadrant for point ( "+e+", "+t+" )");return e>=0?t>=0?Me.NE:Me.SE:t>=0?Me.NW:Me.SW}else if(arguments[0]instanceof M&&arguments[1]instanceof M){var r=arguments[0],i=arguments[1];if(i.x===r.x&&i.y===r.y)throw new ze("Cannot compute the quadrant for two identical points "+r);return i.x>=r.x?i.y>=r.y?Me.NE:Me.SE:i.y>=r.y?Me.NW:Me.SW}},$l.NE.get=function(){return 0},$l.NW.get=function(){return 1},$l.SW.get=function(){return 2},$l.SE.get=function(){return 3},Object.defineProperties(Me,$l);var Tt=function(){if(this._edge=null,this._label=null,this._node=null,this._p0=null,this._p1=null,this._dx=null,this._dy=null,this._quadrant=null,arguments.length===1){var e=arguments[0];this._edge=e}else if(arguments.length===3){var t=arguments[0],r=arguments[1],i=arguments[2],s=null;this._edge=t,this.init(r,i),this._label=s}else if(arguments.length===4){var o=arguments[0],a=arguments[1],l=arguments[2],u=arguments[3];this._edge=o,this.init(a,l),this._label=u}};Tt.prototype.compareDirection=function(e){return this._dx===e._dx&&this._dy===e._dy?0:this._quadrant>e._quadrant?1:this._quadrant<e._quadrant?-1:H.computeOrientation(e._p0,e._p1,this._p1)},Tt.prototype.getDy=function(){return this._dy},Tt.prototype.getCoordinate=function(){return this._p0},Tt.prototype.setNode=function(e){this._node=e},Tt.prototype.print=function(e){var t=Math.atan2(this._dy,this._dx),r=this.getClass().getName(),i=r.lastIndexOf("."),s=r.substring(i+1);e.print(" "+s+": "+this._p0+" - "+this._p1+" "+this._quadrant+":"+t+" "+this._label)},Tt.prototype.compareTo=function(e){var t=e;return this.compareDirection(t)},Tt.prototype.getDirectedCoordinate=function(){return this._p1},Tt.prototype.getDx=function(){return this._dx},Tt.prototype.getLabel=function(){return this._label},Tt.prototype.getEdge=function(){return this._edge},Tt.prototype.getQuadrant=function(){return this._quadrant},Tt.prototype.getNode=function(){return this._node},Tt.prototype.toString=function(){var e=Math.atan2(this._dy,this._dx),t=this.getClass().getName(),r=t.lastIndexOf("."),i=t.substring(r+1);return" "+i+": "+this._p0+" - "+this._p1+" "+this._quadrant+":"+e+" "+this._label},Tt.prototype.computeLabel=function(e){},Tt.prototype.init=function(e,t){this._p0=e,this._p1=t,this._dx=t.x-e.x,this._dy=t.y-e.y,this._quadrant=Me.quadrant(this._dx,this._dy),fe.isTrue(!(this._dx===0&&this._dy===0),"EdgeEnd with identical endpoints found")},Tt.prototype.interfaces_=function(){return[Sr]},Tt.prototype.getClass=function(){return Tt};var $c=function(n){function e(){var t=arguments[0],r=arguments[1];if(n.call(this,t),this._isForward=null,this._isInResult=!1,this._isVisited=!1,this._sym=null,this._next=null,this._nextMin=null,this._edgeRing=null,this._minEdgeRing=null,this._depth=[0,-999,-999],this._isForward=r,r)this.init(t.getCoordinate(0),t.getCoordinate(1));else{var i=t.getNumPoints()-1;this.init(t.getCoordinate(i),t.getCoordinate(i-1))}this.computeDirectedLabel()}return n&&(e.__proto__=n),e.prototype=Object.create(n&&n.prototype),e.prototype.constructor=e,e.prototype.getNextMin=function(){return this._nextMin},e.prototype.getDepth=function(r){return this._depth[r]},e.prototype.setVisited=function(r){this._isVisited=r},e.prototype.computeDirectedLabel=function(){this._label=new De(this._edge.getLabel()),this._isForward||this._label.flip()},e.prototype.getNext=function(){return this._next},e.prototype.setDepth=function(r,i){if(this._depth[r]!==-999&&this._depth[r]!==i)throw new ui("assigned depths do not match",this.getCoordinate());this._depth[r]=i},e.prototype.isInteriorAreaEdge=function(){for(var r=this,i=!0,s=0;s<2;s++)r._label.isArea(s)&&r._label.getLocation(s,U.LEFT)===R.INTERIOR&&r._label.getLocation(s,U.RIGHT)===R.INTERIOR||(i=!1);return i},e.prototype.setNextMin=function(r){this._nextMin=r},e.prototype.print=function(r){n.prototype.print.call(this,r),r.print(" "+this._depth[U.LEFT]+"/"+this._depth[U.RIGHT]),r.print(" ("+this.getDepthDelta()+")"),this._isInResult&&r.print(" inResult")},e.prototype.setMinEdgeRing=function(r){this._minEdgeRing=r},e.prototype.isLineEdge=function(){var r=this._label.isLine(0)||this._label.isLine(1),i=!this._label.isArea(0)||this._label.allPositionsEqual(0,R.EXTERIOR),s=!this._label.isArea(1)||this._label.allPositionsEqual(1,R.EXTERIOR);return r&&i&&s},e.prototype.setEdgeRing=function(r){this._edgeRing=r},e.prototype.getMinEdgeRing=function(){return this._minEdgeRing},e.prototype.getDepthDelta=function(){var r=this._edge.getDepthDelta();return this._isForward||(r=-r),r},e.prototype.setInResult=function(r){this._isInResult=r},e.prototype.getSym=function(){return this._sym},e.prototype.isForward=function(){return this._isForward},e.prototype.getEdge=function(){return this._edge},e.prototype.printEdge=function(r){this.print(r),r.print(" "),this._isForward?this._edge.print(r):this._edge.printReverse(r)},e.prototype.setSym=function(r){this._sym=r},e.prototype.setVisitedEdge=function(r){this.setVisited(r),this._sym.setVisited(r)},e.prototype.setEdgeDepths=function(r,i){var s=this.getEdge().getDepthDelta();this._isForward||(s=-s);var o=1;r===U.LEFT&&(o=-1);var a=U.opposite(r),l=s*o,u=i+l;this.setDepth(r,i),this.setDepth(a,u)},e.prototype.getEdgeRing=function(){return this._edgeRing},e.prototype.isInResult=function(){return this._isInResult},e.prototype.setNext=function(r){this._next=r},e.prototype.isVisited=function(){return this._isVisited},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e.depthFactor=function(r,i){return r===R.EXTERIOR&&i===R.INTERIOR?1:r===R.INTERIOR&&i===R.EXTERIOR?-1:0},e}(Tt),hl=function(){};hl.prototype.createNode=function(e){return new Yu(e,null)},hl.prototype.interfaces_=function(){return[]},hl.prototype.getClass=function(){return hl};var qe=function(){if(this._edges=new W,this._nodes=null,this._edgeEndList=new W,arguments.length===0)this._nodes=new vn(new hl);else if(arguments.length===1){var e=arguments[0];this._nodes=new vn(e)}};qe.prototype.printEdges=function(e){var t=this;e.println("Edges:");for(var r=0;r<this._edges.size();r++){e.println("edge "+r+":");var i=t._edges.get(r);i.print(e),i.eiList.print(e)}},qe.prototype.find=function(e){return this._nodes.find(e)},qe.prototype.addNode=function(){if(arguments[0]instanceof Yu){var e=arguments[0];return this._nodes.addNode(e)}else if(arguments[0]instanceof M){var t=arguments[0];return this._nodes.addNode(t)}},qe.prototype.getNodeIterator=function(){return this._nodes.iterator()},qe.prototype.linkResultDirectedEdges=function(){for(var e=this._nodes.iterator();e.hasNext();){var t=e.next();t.getEdges().linkResultDirectedEdges()}},qe.prototype.debugPrintln=function(e){mt.out.println(e)},qe.prototype.isBoundaryNode=function(e,t){var r=this._nodes.find(t);if(r===null)return!1;var i=r.getLabel();return i!==null&&i.getLocation(e)===R.BOUNDARY},qe.prototype.linkAllDirectedEdges=function(){for(var e=this._nodes.iterator();e.hasNext();){var t=e.next();t.getEdges().linkAllDirectedEdges()}},qe.prototype.matchInSameDirection=function(e,t,r,i){return e.equals(r)?H.computeOrientation(e,t,i)===H.COLLINEAR&&Me.quadrant(e,t)===Me.quadrant(r,i):!1},qe.prototype.getEdgeEnds=function(){return this._edgeEndList},qe.prototype.debugPrint=function(e){mt.out.print(e)},qe.prototype.getEdgeIterator=function(){return this._edges.iterator()},qe.prototype.findEdgeInSameDirection=function(e,t){for(var r=this,i=0;i<this._edges.size();i++){var s=r._edges.get(i),o=s.getCoordinates();if(r.matchInSameDirection(e,t,o[0],o[1])||r.matchInSameDirection(e,t,o[o.length-1],o[o.length-2]))return s}return null},qe.prototype.insertEdge=function(e){this._edges.add(e)},qe.prototype.findEdgeEnd=function(e){for(var t=this.getEdgeEnds().iterator();t.hasNext();){var r=t.next();if(r.getEdge()===e)return r}return null},qe.prototype.addEdges=function(e){for(var t=this,r=e.iterator();r.hasNext();){var i=r.next();t._edges.add(i);var s=new $c(i,!0),o=new $c(i,!1);s.setSym(o),o.setSym(s),t.add(s),t.add(o)}},qe.prototype.add=function(e){this._nodes.add(e),this._edgeEndList.add(e)},qe.prototype.getNodes=function(){return this._nodes.values()},qe.prototype.findEdge=function(e,t){for(var r=this,i=0;i<this._edges.size();i++){var s=r._edges.get(i),o=s.getCoordinates();if(e.equals(o[0])&&t.equals(o[1]))return s}return null},qe.prototype.interfaces_=function(){return[]},qe.prototype.getClass=function(){return qe},qe.linkResultDirectedEdges=function(e){for(var t=e.iterator();t.hasNext();){var r=t.next();r.getEdges().linkResultDirectedEdges()}};var tr=function(){this._geometryFactory=null,this._shellList=new W;var e=arguments[0];this._geometryFactory=e};tr.prototype.sortShellsAndHoles=function(e,t,r){for(var i=e.iterator();i.hasNext();){var s=i.next();s.isHole()?r.add(s):t.add(s)}},tr.prototype.computePolygons=function(e){for(var t=this,r=new W,i=e.iterator();i.hasNext();){var s=i.next(),o=s.toPolygon(t._geometryFactory);r.add(o)}return r},tr.prototype.placeFreeHoles=function(e,t){for(var r=this,i=t.iterator();i.hasNext();){var s=i.next();if(s.getShell()===null){var o=r.findEdgeRingContaining(s,e);if(o===null)throw new ui("unable to assign hole to a shell",s.getCoordinate(0));s.setShell(o)}}},tr.prototype.buildMinimalEdgeRings=function(e,t,r){for(var i=this,s=new W,o=e.iterator();o.hasNext();){var a=o.next();if(a.getMaxNodeDegree()>2){a.linkDirectedEdgesForMinimalEdgeRings();var l=a.buildMinimalRings(),u=i.findShell(l);u!==null?(i.placePolygonHoles(u,l),t.add(u)):r.addAll(l)}else s.add(a)}return s},tr.prototype.containsPoint=function(e){for(var t=this._shellList.iterator();t.hasNext();){var r=t.next();if(r.containsPoint(e))return!0}return!1},tr.prototype.buildMaximalEdgeRings=function(e){for(var t=this,r=new W,i=e.iterator();i.hasNext();){var s=i.next();if(s.isInResult()&&s.getLabel().isArea()&&s.getEdgeRing()===null){var o=new sv(s,t._geometryFactory);r.add(o),o.setInResult()}}return r},tr.prototype.placePolygonHoles=function(e,t){for(var r=t.iterator();r.hasNext();){var i=r.next();i.isHole()&&i.setShell(e)}},tr.prototype.getPolygons=function(){var e=this.computePolygons(this._shellList);return e},tr.prototype.findEdgeRingContaining=function(e,t){for(var r=e.getLinearRing(),i=r.getEnvelopeInternal(),s=r.getCoordinateN(0),o=null,a=null,l=t.iterator();l.hasNext();){var u=l.next(),h=u.getLinearRing(),f=h.getEnvelopeInternal();o!==null&&(a=o.getLinearRing().getEnvelopeInternal());var d=!1;f.contains(i)&&H.isPointInRing(s,h.getCoordinates())&&(d=!0),d&&(o===null||a.contains(f))&&(o=u)}return o},tr.prototype.findShell=function(e){for(var t=0,r=null,i=e.iterator();i.hasNext();){var s=i.next();s.isHole()||(r=s,t++)}return fe.isTrue(t<=1,"found two shells in MinimalEdgeRing list"),r},tr.prototype.add=function(){if(arguments.length===1){var e=arguments[0];this.add(e.getEdgeEnds(),e.getNodes())}else if(arguments.length===2){var t=arguments[0],r=arguments[1];qe.linkResultDirectedEdges(r);var i=this.buildMaximalEdgeRings(t),s=new W,o=this.buildMinimalEdgeRings(i,this._shellList,s);this.sortShellsAndHoles(o,this._shellList,s),this.placeFreeHoles(this._shellList,s)}},tr.prototype.interfaces_=function(){return[]},tr.prototype.getClass=function(){return tr};var fl=function(){};fl.prototype.getBounds=function(){},fl.prototype.interfaces_=function(){return[]},fl.prototype.getClass=function(){return fl};var Kr=function(){this._bounds=null,this._item=null;var e=arguments[0],t=arguments[1];this._bounds=e,this._item=t};Kr.prototype.getItem=function(){return this._item},Kr.prototype.getBounds=function(){return this._bounds},Kr.prototype.interfaces_=function(){return[fl,Cr]},Kr.prototype.getClass=function(){return Kr};var ci=function(){this._size=null,this._items=null,this._size=0,this._items=new W,this._items.add(null)};ci.prototype.poll=function(){if(this.isEmpty())return null;var e=this._items.get(1);return this._items.set(1,this._items.get(this._size)),this._size-=1,this.reorder(1),e},ci.prototype.size=function(){return this._size},ci.prototype.reorder=function(e){for(var t=this,r=null,i=this._items.get(e);e*2<=this._size&&(r=e*2,r!==t._size&&t._items.get(r+1).compareTo(t._items.get(r))<0&&r++,t._items.get(r).compareTo(i)<0);e=r)t._items.set(e,t._items.get(r));this._items.set(e,i)},ci.prototype.clear=function(){this._size=0,this._items.clear()},ci.prototype.isEmpty=function(){return this._size===0},ci.prototype.add=function(e){var t=this;this._items.add(null),this._size+=1;var r=this._size;for(this._items.set(0,e);e.compareTo(this._items.get(Math.trunc(r/2)))<0;r/=2)t._items.set(r,t._items.get(Math.trunc(r/2)));this._items.set(r,e)},ci.prototype.interfaces_=function(){return[]},ci.prototype.getClass=function(){return ci};var Ai=function(){};Ai.prototype.visitItem=function(e){},Ai.prototype.interfaces_=function(){return[]},Ai.prototype.getClass=function(){return Ai};var Qs=function(){};Qs.prototype.insert=function(e,t){},Qs.prototype.remove=function(e,t){},Qs.prototype.query=function(){},Qs.prototype.interfaces_=function(){return[]},Qs.prototype.getClass=function(){return Qs};var st=function(){if(this._childBoundables=new W,this._bounds=null,this._level=null,arguments.length!==0){if(arguments.length===1){var e=arguments[0];this._level=e}}},qf={serialVersionUID:{configurable:!0}};st.prototype.getLevel=function(){return this._level},st.prototype.size=function(){return this._childBoundables.size()},st.prototype.getChildBoundables=function(){return this._childBoundables},st.prototype.addChildBoundable=function(e){fe.isTrue(this._bounds===null),this._childBoundables.add(e)},st.prototype.isEmpty=function(){return this._childBoundables.isEmpty()},st.prototype.getBounds=function(){return this._bounds===null&&(this._bounds=this.computeBounds()),this._bounds},st.prototype.interfaces_=function(){return[fl,Cr]},st.prototype.getClass=function(){return st},qf.serialVersionUID.get=function(){return 6493722185909574e3},Object.defineProperties(st,qf);var Qr=function(){};Qr.reverseOrder=function(){return{compare:function(t,r){return r.compareTo(t)}}},Qr.min=function(e){return Qr.sort(e),e.get(0)},Qr.sort=function(e,t){var r=e.toArray();t?ps.sort(r,t):ps.sort(r);for(var i=e.iterator(),s=0,o=r.length;s<o;s++)i.next(),i.set(r[s])},Qr.singletonList=function(e){var t=new W;return t.add(e),t};var et=function(){this._boundable1=null,this._boundable2=null,this._distance=null,this._itemDistance=null;var e=arguments[0],t=arguments[1],r=arguments[2];this._boundable1=e,this._boundable2=t,this._itemDistance=r,this._distance=this.distance()};et.prototype.expandToQueue=function(e,t){var r=et.isComposite(this._boundable1),i=et.isComposite(this._boundable2);if(r&&i)return et.area(this._boundable1)>et.area(this._boundable2)?(this.expand(this._boundable1,this._boundable2,e,t),null):(this.expand(this._boundable2,this._boundable1,e,t),null);if(r)return this.expand(this._boundable1,this._boundable2,e,t),null;if(i)return this.expand(this._boundable2,this._boundable1,e,t),null;throw new ze("neither boundable is composite")},et.prototype.isLeaves=function(){return!(et.isComposite(this._boundable1)||et.isComposite(this._boundable2))},et.prototype.compareTo=function(e){var t=e;return this._distance<t._distance?-1:this._distance>t._distance?1:0},et.prototype.expand=function(e,t,r,i){for(var s=this,o=e.getChildBoundables(),a=o.iterator();a.hasNext();){var l=a.next(),u=new et(l,t,s._itemDistance);u.getDistance()<i&&r.add(u)}},et.prototype.getBoundable=function(e){return e===0?this._boundable1:this._boundable2},et.prototype.getDistance=function(){return this._distance},et.prototype.distance=function(){return this.isLeaves()?this._itemDistance.distance(this._boundable1,this._boundable2):this._boundable1.getBounds().distance(this._boundable2.getBounds())},et.prototype.interfaces_=function(){return[Sr]},et.prototype.getClass=function(){return et},et.area=function(e){return e.getBounds().getArea()},et.isComposite=function(e){return e instanceof st};var ut=function n(){if(this._root=null,this._built=!1,this._itemBoundables=new W,this._nodeCapacity=null,arguments.length===0){var e=n.DEFAULT_NODE_CAPACITY;this._nodeCapacity=e}else if(arguments.length===1){var t=arguments[0];fe.isTrue(t>1,"Node capacity must be greater than 1"),this._nodeCapacity=t}},Hu={IntersectsOp:{configurable:!0},serialVersionUID:{configurable:!0},DEFAULT_NODE_CAPACITY:{configurable:!0}};ut.prototype.getNodeCapacity=function(){return this._nodeCapacity},ut.prototype.lastNode=function(e){return e.get(e.size()-1)},ut.prototype.size=function(){var e=this;if(arguments.length===0)return this.isEmpty()?0:(this.build(),this.size(this._root));if(arguments.length===1){for(var t=arguments[0],r=0,i=t.getChildBoundables().iterator();i.hasNext();){var s=i.next();s instanceof st?r+=e.size(s):s instanceof Kr&&(r+=1)}return r}},ut.prototype.removeItem=function(e,t){for(var r=null,i=e.getChildBoundables().iterator();i.hasNext();){var s=i.next();s instanceof Kr&&s.getItem()===t&&(r=s)}return r!==null?(e.getChildBoundables().remove(r),!0):!1},ut.prototype.itemsTree=function(){var e=this;if(arguments.length===0){this.build();var t=this.itemsTree(this._root);return t===null?new W:t}else if(arguments.length===1){for(var r=arguments[0],i=new W,s=r.getChildBoundables().iterator();s.hasNext();){var o=s.next();if(o instanceof st){var a=e.itemsTree(o);a!==null&&i.add(a)}else o instanceof Kr?i.add(o.getItem()):fe.shouldNeverReachHere()}return i.size()<=0?null:i}},ut.prototype.insert=function(e,t){fe.isTrue(!this._built,"Cannot insert items into an STR packed R-tree after it has been built."),this._itemBoundables.add(new Kr(e,t))},ut.prototype.boundablesAtLevel=function(){var e=this;if(arguments.length===1){var t=arguments[0],r=new W;return this.boundablesAtLevel(t,this._root,r),r}else if(arguments.length===3){var i=arguments[0],s=arguments[1],o=arguments[2];if(fe.isTrue(i>-2),s.getLevel()===i)return o.add(s),null;for(var a=s.getChildBoundables().iterator();a.hasNext();){var l=a.next();l instanceof st?e.boundablesAtLevel(i,l,o):(fe.isTrue(l instanceof Kr),i===-1&&o.add(l))}return null}},ut.prototype.query=function(){var e=this;if(arguments.length===1){var t=arguments[0];this.build();var r=new W;return this.isEmpty()||this.getIntersectsOp().intersects(this._root.getBounds(),t)&&this.query(t,this._root,r),r}else if(arguments.length===2){var i=arguments[0],s=arguments[1];if(this.build(),this.isEmpty())return null;this.getIntersectsOp().intersects(this._root.getBounds(),i)&&this.query(i,this._root,s)}else if(arguments.length===3){if(ae(arguments[2],Ai)&&arguments[0]instanceof Object&&arguments[1]instanceof st)for(var o=arguments[0],a=arguments[1],l=arguments[2],u=a.getChildBoundables(),h=0;h<u.size();h++){var f=u.get(h);e.getIntersectsOp().intersects(f.getBounds(),o)&&(f instanceof st?e.query(o,f,l):f instanceof Kr?l.visitItem(f.getItem()):fe.shouldNeverReachHere())}else if(ae(arguments[2],Hr)&&arguments[0]instanceof Object&&arguments[1]instanceof st)for(var d=arguments[0],v=arguments[1],w=arguments[2],I=v.getChildBoundables(),T=0;T<I.size();T++){var L=I.get(T);e.getIntersectsOp().intersects(L.getBounds(),d)&&(L instanceof st?e.query(d,L,w):L instanceof Kr?w.add(L.getItem()):fe.shouldNeverReachHere())}}},ut.prototype.build=function(){if(this._built)return null;this._root=this._itemBoundables.isEmpty()?this.createNode(0):this.createHigherLevels(this._itemBoundables,-1),this._itemBoundables=null,this._built=!0},ut.prototype.getRoot=function(){return this.build(),this._root},ut.prototype.remove=function(){var e=this;if(arguments.length===2){var t=arguments[0],r=arguments[1];return this.build(),this.getIntersectsOp().intersects(this._root.getBounds(),t)?this.remove(t,this._root,r):!1}else if(arguments.length===3){var i=arguments[0],s=arguments[1],o=arguments[2],a=this.removeItem(s,o);if(a)return!0;for(var l=null,u=s.getChildBoundables().iterator();u.hasNext();){var h=u.next();if(e.getIntersectsOp().intersects(h.getBounds(),i)&&h instanceof st&&(a=e.remove(i,h,o),a)){l=h;break}}return l!==null&&l.getChildBoundables().isEmpty()&&s.getChildBoundables().remove(l),a}},ut.prototype.createHigherLevels=function(e,t){fe.isTrue(!e.isEmpty());var r=this.createParentBoundables(e,t+1);return r.size()===1?r.get(0):this.createHigherLevels(r,t+1)},ut.prototype.depth=function(){var e=this;if(arguments.length===0)return this.isEmpty()?0:(this.build(),this.depth(this._root));if(arguments.length===1){for(var t=arguments[0],r=0,i=t.getChildBoundables().iterator();i.hasNext();){var s=i.next();if(s instanceof st){var o=e.depth(s);o>r&&(r=o)}}return r+1}},ut.prototype.createParentBoundables=function(e,t){var r=this;fe.isTrue(!e.isEmpty());var i=new W;i.add(this.createNode(t));var s=new W(e);Qr.sort(s,this.getComparator());for(var o=s.iterator();o.hasNext();){var a=o.next();r.lastNode(i).getChildBoundables().size()===r.getNodeCapacity()&&i.add(r.createNode(t)),r.lastNode(i).addChildBoundable(a)}return i},ut.prototype.isEmpty=function(){return this._built?this._root.isEmpty():this._itemBoundables.isEmpty()},ut.prototype.interfaces_=function(){return[Cr]},ut.prototype.getClass=function(){return ut},ut.compareDoubles=function(e,t){return e>t?1:e<t?-1:0},Hu.IntersectsOp.get=function(){return ov},Hu.serialVersionUID.get=function(){return-3886435814360241e3},Hu.DEFAULT_NODE_CAPACITY.get=function(){return 10},Object.defineProperties(ut,Hu);var ov=function(){},pl=function(){};pl.prototype.distance=function(e,t){},pl.prototype.interfaces_=function(){return[]},pl.prototype.getClass=function(){return pl};var Xf=function(n){function e(r){r=r||e.DEFAULT_NODE_CAPACITY,n.call(this,r)}n&&(e.__proto__=n),e.prototype=Object.create(n&&n.prototype),e.prototype.constructor=e;var t={STRtreeNode:{configurable:!0},serialVersionUID:{configurable:!0},xComparator:{configurable:!0},yComparator:{configurable:!0},intersectsOp:{configurable:!0},DEFAULT_NODE_CAPACITY:{configurable:!0}};return e.prototype.createParentBoundablesFromVerticalSlices=function(i,s){var o=this;fe.isTrue(i.length>0);for(var a=new W,l=0;l<i.length;l++)a.addAll(o.createParentBoundablesFromVerticalSlice(i[l],s));return a},e.prototype.createNode=function(i){return new Yf(i)},e.prototype.size=function(){return arguments.length===0?n.prototype.size.call(this):n.prototype.size.apply(this,arguments)},e.prototype.insert=function(){if(arguments.length===2){var i=arguments[0],s=arguments[1];if(i.isNull())return null;n.prototype.insert.call(this,i,s)}else return n.prototype.insert.apply(this,arguments)},e.prototype.getIntersectsOp=function(){return e.intersectsOp},e.prototype.verticalSlices=function(i,s){for(var o=Math.trunc(Math.ceil(i.size()/s)),a=new Array(s).fill(null),l=i.iterator(),u=0;u<s;u++){a[u]=new W;for(var h=0;l.hasNext()&&h<o;){var f=l.next();a[u].add(f),h++}}return a},e.prototype.query=function(){if(arguments.length===1){var i=arguments[0];return n.prototype.query.call(this,i)}else if(arguments.length===2){var s=arguments[0],o=arguments[1];n.prototype.query.call(this,s,o)}else if(arguments.length===3){if(ae(arguments[2],Ai)&&arguments[0]instanceof Object&&arguments[1]instanceof st){var a=arguments[0],l=arguments[1],u=arguments[2];n.prototype.query.call(this,a,l,u)}else if(ae(arguments[2],Hr)&&arguments[0]instanceof Object&&arguments[1]instanceof st){var h=arguments[0],f=arguments[1],d=arguments[2];n.prototype.query.call(this,h,f,d)}}},e.prototype.getComparator=function(){return e.yComparator},e.prototype.createParentBoundablesFromVerticalSlice=function(i,s){return n.prototype.createParentBoundables.call(this,i,s)},e.prototype.remove=function(){if(arguments.length===2){var i=arguments[0],s=arguments[1];return n.prototype.remove.call(this,i,s)}else return n.prototype.remove.apply(this,arguments)},e.prototype.depth=function(){return arguments.length===0?n.prototype.depth.call(this):n.prototype.depth.apply(this,arguments)},e.prototype.createParentBoundables=function(i,s){fe.isTrue(!i.isEmpty());var o=Math.trunc(Math.ceil(i.size()/this.getNodeCapacity())),a=new W(i);Qr.sort(a,e.xComparator);var l=this.verticalSlices(a,Math.trunc(Math.ceil(Math.sqrt(o))));return this.createParentBoundablesFromVerticalSlices(l,s)},e.prototype.nearestNeighbour=function(){if(arguments.length===1){if(ae(arguments[0],pl)){var i=arguments[0],s=new et(this.getRoot(),this.getRoot(),i);return this.nearestNeighbour(s)}else if(arguments[0]instanceof et){var o=arguments[0];return this.nearestNeighbour(o,le.POSITIVE_INFINITY)}}else if(arguments.length===2){if(arguments[0]instanceof e&&ae(arguments[1],pl)){var a=arguments[0],l=arguments[1],u=new et(this.getRoot(),a.getRoot(),l);return this.nearestNeighbour(u)}else if(arguments[0]instanceof et&&typeof arguments[1]=="number"){var h=arguments[0],f=arguments[1],d=f,v=null,w=new ci;for(w.add(h);!w.isEmpty()&&d>0;){var I=w.poll(),T=I.getDistance();if(T>=d)break;I.isLeaves()?(d=T,v=I):I.expandToQueue(w,d)}return[v.getBoundable(0).getItem(),v.getBoundable(1).getItem()]}}else if(arguments.length===3){var L=arguments[0],m=arguments[1],_=arguments[2],g=new Kr(L,m),y=new et(this.getRoot(),g,_);return this.nearestNeighbour(y)[0]}},e.prototype.interfaces_=function(){return[Qs,Cr]},e.prototype.getClass=function(){return e},e.centreX=function(i){return e.avg(i.getMinX(),i.getMaxX())},e.avg=function(i,s){return(i+s)/2},e.centreY=function(i){return e.avg(i.getMinY(),i.getMaxY())},t.STRtreeNode.get=function(){return Yf},t.serialVersionUID.get=function(){return 0x39920f7d5f261e0},t.xComparator.get=function(){return{interfaces_:function(){return[ja]},compare:function(r,i){return n.compareDoubles(e.centreX(r.getBounds()),e.centreX(i.getBounds()))}}},t.yComparator.get=function(){return{interfaces_:function(){return[ja]},compare:function(r,i){return n.compareDoubles(e.centreY(r.getBounds()),e.centreY(i.getBounds()))}}},t.intersectsOp.get=function(){return{interfaces_:function(){return[n.IntersectsOp]},intersects:function(r,i){return r.intersects(i)}}},t.DEFAULT_NODE_CAPACITY.get=function(){return 10},Object.defineProperties(e,t),e}(ut),Yf=function(n){function e(){var t=arguments[0];n.call(this,t)}return n&&(e.__proto__=n),e.prototype=Object.create(n&&n.prototype),e.prototype.constructor=e,e.prototype.computeBounds=function(){for(var r=null,i=this.getChildBoundables().iterator();i.hasNext();){var s=i.next();r===null?r=new te(s.getBounds()):r.expandToInclude(s.getBounds())}return r},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(st),Wt=function(){};Wt.prototype.interfaces_=function(){return[]},Wt.prototype.getClass=function(){return Wt},Wt.relativeSign=function(e,t){return e<t?-1:e>t?1:0},Wt.compare=function(e,t,r){if(t.equals2D(r))return 0;var i=Wt.relativeSign(t.x,r.x),s=Wt.relativeSign(t.y,r.y);switch(e){case 0:return Wt.compareValue(i,s);case 1:return Wt.compareValue(s,i);case 2:return Wt.compareValue(s,-i);case 3:return Wt.compareValue(-i,s);case 4:return Wt.compareValue(-i,-s);case 5:return Wt.compareValue(-s,-i);case 6:return Wt.compareValue(-s,i);case 7:return Wt.compareValue(i,-s)}return fe.shouldNeverReachHere("invalid octant value"),0},Wt.compareValue=function(e,t){return e<0?-1:e>0?1:t<0?-1:t>0?1:0};var Ri=function(){this._segString=null,this.coord=null,this.segmentIndex=null,this._segmentOctant=null,this._isInterior=null;var e=arguments[0],t=arguments[1],r=arguments[2],i=arguments[3];this._segString=e,this.coord=new M(t),this.segmentIndex=r,this._segmentOctant=i,this._isInterior=!t.equals2D(e.getCoordinate(r))};Ri.prototype.getCoordinate=function(){return this.coord},Ri.prototype.print=function(e){e.print(this.coord),e.print(" seg # = "+this.segmentIndex)},Ri.prototype.compareTo=function(e){var t=e;return this.segmentIndex<t.segmentIndex?-1:this.segmentIndex>t.segmentIndex?1:this.coord.equals2D(t.coord)?0:Wt.compare(this._segmentOctant,this.coord,t.coord)},Ri.prototype.isEndPoint=function(e){return this.segmentIndex===0&&!this._isInterior||this.segmentIndex===e},Ri.prototype.isInterior=function(){return this._isInterior},Ri.prototype.interfaces_=function(){return[Sr]},Ri.prototype.getClass=function(){return Ri};var Lt=function(){this._nodeMap=new It,this._edge=null;var e=arguments[0];this._edge=e};Lt.prototype.getSplitCoordinates=function(){var e=this,t=new Xl;this.addEndpoints();for(var r=this.iterator(),i=r.next();r.hasNext();){var s=r.next();e.addEdgeCoordinates(i,s,t),i=s}return t.toCoordinateArray()},Lt.prototype.addCollapsedNodes=function(){var e=this,t=new W;this.findCollapsesFromInsertedNodes(t),this.findCollapsesFromExistingVertices(t);for(var r=t.iterator();r.hasNext();){var i=r.next().intValue();e.add(e._edge.getCoordinate(i),i)}},Lt.prototype.print=function(e){e.println("Intersections:");for(var t=this.iterator();t.hasNext();){var r=t.next();r.print(e)}},Lt.prototype.findCollapsesFromExistingVertices=function(e){for(var t=this,r=0;r<this._edge.size()-2;r++){var i=t._edge.getCoordinate(r),s=t._edge.getCoordinate(r+2);i.equals2D(s)&&e.add(new ln(r+1))}},Lt.prototype.addEdgeCoordinates=function(e,t,r){var i=this,s=this._edge.getCoordinate(t.segmentIndex),o=t.isInterior()||!t.coord.equals2D(s);r.add(new M(e.coord),!1);for(var a=e.segmentIndex+1;a<=t.segmentIndex;a++)r.add(i._edge.getCoordinate(a));o&&r.add(new M(t.coord))},Lt.prototype.iterator=function(){return this._nodeMap.values().iterator()},Lt.prototype.addSplitEdges=function(e){var t=this;this.addEndpoints(),this.addCollapsedNodes();for(var r=this.iterator(),i=r.next();r.hasNext();){var s=r.next(),o=t.createSplitEdge(i,s);e.add(o),i=s}},Lt.prototype.findCollapseIndex=function(e,t,r){if(!e.coord.equals2D(t.coord))return!1;var i=t.segmentIndex-e.segmentIndex;return t.isInterior()||i--,i===1?(r[0]=e.segmentIndex+1,!0):!1},Lt.prototype.findCollapsesFromInsertedNodes=function(e){for(var t=this,r=new Array(1).fill(null),i=this.iterator(),s=i.next();i.hasNext();){var o=i.next(),a=t.findCollapseIndex(s,o,r);a&&e.add(new ln(r[0])),s=o}},Lt.prototype.getEdge=function(){return this._edge},Lt.prototype.addEndpoints=function(){var e=this._edge.size()-1;this.add(this._edge.getCoordinate(0),0),this.add(this._edge.getCoordinate(e),e)},Lt.prototype.createSplitEdge=function(e,t){var r=this,i=t.segmentIndex-e.segmentIndex+2,s=this._edge.getCoordinate(t.segmentIndex),o=t.isInterior()||!t.coord.equals2D(s);o||i--;var a=new Array(i).fill(null),l=0;a[l++]=new M(e.coord);for(var u=e.segmentIndex+1;u<=t.segmentIndex;u++)a[l++]=r._edge.getCoordinate(u);return o&&(a[l]=new M(t.coord)),new Be(a,this._edge.getData())},Lt.prototype.add=function(e,t){var r=new Ri(this._edge,e,t,this._edge.getSegmentOctant(t)),i=this._nodeMap.get(r);return i!==null?(fe.isTrue(i.coord.equals2D(e),"Found equal nodes with different coordinates"),i):(this._nodeMap.put(r,r),r)},Lt.prototype.checkSplitEdgesCorrectness=function(e){var t=this._edge.getCoordinates(),r=e.get(0),i=r.getCoordinate(0);if(!i.equals2D(t[0]))throw new ni("bad split edge start point at "+i);var s=e.get(e.size()-1),o=s.getCoordinates(),a=o[o.length-1];if(!a.equals2D(t[t.length-1]))throw new ni("bad split edge end point at "+a)},Lt.prototype.interfaces_=function(){return[]},Lt.prototype.getClass=function(){return Lt};var Bs=function(){};Bs.prototype.interfaces_=function(){return[]},Bs.prototype.getClass=function(){return Bs},Bs.octant=function(){if(typeof arguments[0]=="number"&&typeof arguments[1]=="number"){var e=arguments[0],t=arguments[1];if(e===0&&t===0)throw new ze("Cannot compute the octant for point ( "+e+", "+t+" )");var r=Math.abs(e),i=Math.abs(t);return e>=0?t>=0?r>=i?0:1:r>=i?7:6:t>=0?r>=i?3:2:r>=i?4:5}else if(arguments[0]instanceof M&&arguments[1]instanceof M){var s=arguments[0],o=arguments[1],a=o.x-s.x,l=o.y-s.y;if(a===0&&l===0)throw new ze("Cannot compute the octant for two identical points "+s);return Bs.octant(a,l)}};var kn=function(){};kn.prototype.getCoordinates=function(){},kn.prototype.size=function(){},kn.prototype.getCoordinate=function(e){},kn.prototype.isClosed=function(){},kn.prototype.setData=function(e){},kn.prototype.getData=function(){},kn.prototype.interfaces_=function(){return[]},kn.prototype.getClass=function(){return kn};var jl=function(){};jl.prototype.addIntersection=function(e,t){},jl.prototype.interfaces_=function(){return[kn]},jl.prototype.getClass=function(){return jl};var Be=function(){this._nodeList=new Lt(this),this._pts=null,this._data=null;var e=arguments[0],t=arguments[1];this._pts=e,this._data=t};Be.prototype.getCoordinates=function(){return this._pts},Be.prototype.size=function(){return this._pts.length},Be.prototype.getCoordinate=function(e){return this._pts[e]},Be.prototype.isClosed=function(){return this._pts[0].equals(this._pts[this._pts.length-1])},Be.prototype.getSegmentOctant=function(e){return e===this._pts.length-1?-1:this.safeOctant(this.getCoordinate(e),this.getCoordinate(e+1))},Be.prototype.setData=function(e){this._data=e},Be.prototype.safeOctant=function(e,t){return e.equals2D(t)?0:Bs.octant(e,t)},Be.prototype.getData=function(){return this._data},Be.prototype.addIntersection=function(){if(arguments.length===2){var e=arguments[0],t=arguments[1];this.addIntersectionNode(e,t)}else if(arguments.length===4){var r=arguments[0],i=arguments[1],s=arguments[3],o=new M(r.getIntersection(s));this.addIntersection(o,i)}},Be.prototype.toString=function(){return Yr.toLineString(new Qe(this._pts))},Be.prototype.getNodeList=function(){return this._nodeList},Be.prototype.addIntersectionNode=function(e,t){var r=t,i=r+1;if(i<this._pts.length){var s=this._pts[i];e.equals2D(s)&&(r=i)}var o=this._nodeList.add(e,r);return o},Be.prototype.addIntersections=function(e,t,r){for(var i=this,s=0;s<e.getIntersectionNum();s++)i.addIntersection(e,t,r,s)},Be.prototype.interfaces_=function(){return[jl]},Be.prototype.getClass=function(){return Be},Be.getNodedSubstrings=function(){if(arguments.length===1){var e=arguments[0],t=new W;return Be.getNodedSubstrings(e,t),t}else if(arguments.length===2)for(var r=arguments[0],i=arguments[1],s=r.iterator();s.hasNext();){var o=s.next();o.getNodeList().addSplitEdges(i)}};var re=function(){if(this.p0=null,this.p1=null,arguments.length===0)this.p0=new M,this.p1=new M;else if(arguments.length===1){var e=arguments[0];this.p0=new M(e.p0),this.p1=new M(e.p1)}else if(arguments.length===2)this.p0=arguments[0],this.p1=arguments[1];else if(arguments.length===4){var t=arguments[0],r=arguments[1],i=arguments[2],s=arguments[3];this.p0=new M(t,r),this.p1=new M(i,s)}},Hf={serialVersionUID:{configurable:!0}};re.prototype.minX=function(){return Math.min(this.p0.x,this.p1.x)},re.prototype.orientationIndex=function(){if(arguments[0]instanceof re){var e=arguments[0],t=H.orientationIndex(this.p0,this.p1,e.p0),r=H.orientationIndex(this.p0,this.p1,e.p1);return t>=0&&r>=0||t<=0&&r<=0?Math.max(t,r):0}else if(arguments[0]instanceof M){var i=arguments[0];return H.orientationIndex(this.p0,this.p1,i)}},re.prototype.toGeometry=function(e){return e.createLineString([this.p0,this.p1])},re.prototype.isVertical=function(){return this.p0.x===this.p1.x},re.prototype.equals=function(e){if(!(e instanceof re))return!1;var t=e;return this.p0.equals(t.p0)&&this.p1.equals(t.p1)},re.prototype.intersection=function(e){var t=new hs;return t.computeIntersection(this.p0,this.p1,e.p0,e.p1),t.hasIntersection()?t.getIntersection(0):null},re.prototype.project=function(){if(arguments[0]instanceof M){var e=arguments[0];if(e.equals(this.p0)||e.equals(this.p1))return new M(e);var t=this.projectionFactor(e),r=new M;return r.x=this.p0.x+t*(this.p1.x-this.p0.x),r.y=this.p0.y+t*(this.p1.y-this.p0.y),r}else if(arguments[0]instanceof re){var i=arguments[0],s=this.projectionFactor(i.p0),o=this.projectionFactor(i.p1);if(s>=1&&o>=1||s<=0&&o<=0)return null;var a=this.project(i.p0);s<0&&(a=this.p0),s>1&&(a=this.p1);var l=this.project(i.p1);return o<0&&(l=this.p0),o>1&&(l=this.p1),new re(a,l)}},re.prototype.normalize=function(){this.p1.compareTo(this.p0)<0&&this.reverse()},re.prototype.angle=function(){return Math.atan2(this.p1.y-this.p0.y,this.p1.x-this.p0.x)},re.prototype.getCoordinate=function(e){return e===0?this.p0:this.p1},re.prototype.distancePerpendicular=function(e){return H.distancePointLinePerpendicular(e,this.p0,this.p1)},re.prototype.minY=function(){return Math.min(this.p0.y,this.p1.y)},re.prototype.midPoint=function(){return re.midPoint(this.p0,this.p1)},re.prototype.projectionFactor=function(e){if(e.equals(this.p0))return 0;if(e.equals(this.p1))return 1;var t=this.p1.x-this.p0.x,r=this.p1.y-this.p0.y,i=t*t+r*r;if(i<=0)return le.NaN;var s=((e.x-this.p0.x)*t+(e.y-this.p0.y)*r)/i;return s},re.prototype.closestPoints=function(e){var t=this.intersection(e);if(t!==null)return[t,t];var r=new Array(2).fill(null),i=le.MAX_VALUE,s=null,o=this.closestPoint(e.p0);i=o.distance(e.p0),r[0]=o,r[1]=e.p0;var a=this.closestPoint(e.p1);s=a.distance(e.p1),s<i&&(i=s,r[0]=a,r[1]=e.p1);var l=e.closestPoint(this.p0);s=l.distance(this.p0),s<i&&(i=s,r[0]=this.p0,r[1]=l);var u=e.closestPoint(this.p1);return s=u.distance(this.p1),s<i&&(i=s,r[0]=this.p1,r[1]=u),r},re.prototype.closestPoint=function(e){var t=this.projectionFactor(e);if(t>0&&t<1)return this.project(e);var r=this.p0.distance(e),i=this.p1.distance(e);return r<i?this.p0:this.p1},re.prototype.maxX=function(){return Math.max(this.p0.x,this.p1.x)},re.prototype.getLength=function(){return this.p0.distance(this.p1)},re.prototype.compareTo=function(e){var t=e,r=this.p0.compareTo(t.p0);return r!==0?r:this.p1.compareTo(t.p1)},re.prototype.reverse=function(){var e=this.p0;this.p0=this.p1,this.p1=e},re.prototype.equalsTopo=function(e){return this.p0.equals(e.p0)&&(this.p1.equals(e.p1)||this.p0.equals(e.p1))&&this.p1.equals(e.p0)},re.prototype.lineIntersection=function(e){try{var t=Xr.intersection(this.p0,this.p1,e.p0,e.p1);return t}catch(r){if(!(r instanceof tl))throw r}finally{}return null},re.prototype.maxY=function(){return Math.max(this.p0.y,this.p1.y)},re.prototype.pointAlongOffset=function(e,t){var r=this.p0.x+e*(this.p1.x-this.p0.x),i=this.p0.y+e*(this.p1.y-this.p0.y),s=this.p1.x-this.p0.x,o=this.p1.y-this.p0.y,a=Math.sqrt(s*s+o*o),l=0,u=0;if(t!==0){if(a<=0)throw new Error("Cannot compute offset from zero-length line segment");l=t*s/a,u=t*o/a}var h=r-u,f=i+l,d=new M(h,f);return d},re.prototype.setCoordinates=function(){if(arguments.length===1){var e=arguments[0];this.setCoordinates(e.p0,e.p1)}else if(arguments.length===2){var t=arguments[0],r=arguments[1];this.p0.x=t.x,this.p0.y=t.y,this.p1.x=r.x,this.p1.y=r.y}},re.prototype.segmentFraction=function(e){var t=this.projectionFactor(e);return t<0?t=0:(t>1||le.isNaN(t))&&(t=1),t},re.prototype.toString=function(){return"LINESTRING( "+this.p0.x+" "+this.p0.y+", "+this.p1.x+" "+this.p1.y+")"},re.prototype.isHorizontal=function(){return this.p0.y===this.p1.y},re.prototype.distance=function(){if(arguments[0]instanceof re){var e=arguments[0];return H.distanceLineLine(this.p0,this.p1,e.p0,e.p1)}else if(arguments[0]instanceof M){var t=arguments[0];return H.distancePointLine(t,this.p0,this.p1)}},re.prototype.pointAlong=function(e){var t=new M;return t.x=this.p0.x+e*(this.p1.x-this.p0.x),t.y=this.p0.y+e*(this.p1.y-this.p0.y),t},re.prototype.hashCode=function(){var e=le.doubleToLongBits(this.p0.x);e^=le.doubleToLongBits(this.p0.y)*31;var t=Math.trunc(e)^Math.trunc(e>>32),r=le.doubleToLongBits(this.p1.x);r^=le.doubleToLongBits(this.p1.y)*31;var i=Math.trunc(r)^Math.trunc(r>>32);return t^i},re.prototype.interfaces_=function(){return[Sr,Cr]},re.prototype.getClass=function(){return re},re.midPoint=function(e,t){return new M((e.x+t.x)/2,(e.y+t.y)/2)},Hf.serialVersionUID.get=function(){return 0x2d2172135f411c00},Object.defineProperties(re,Hf);var eu=function(){this.tempEnv1=new te,this.tempEnv2=new te,this._overlapSeg1=new re,this._overlapSeg2=new re};eu.prototype.overlap=function(){if(arguments.length!==2){if(arguments.length===4){var e=arguments[0],t=arguments[1],r=arguments[2],i=arguments[3];e.getLineSegment(t,this._overlapSeg1),r.getLineSegment(i,this._overlapSeg2),this.overlap(this._overlapSeg1,this._overlapSeg2)}}},eu.prototype.interfaces_=function(){return[]},eu.prototype.getClass=function(){return eu};var rr=function(){this._pts=null,this._start=null,this._end=null,this._env=null,this._context=null,this._id=null;var e=arguments[0],t=arguments[1],r=arguments[2],i=arguments[3];this._pts=e,this._start=t,this._end=r,this._context=i};rr.prototype.getLineSegment=function(e,t){t.p0=this._pts[e],t.p1=this._pts[e+1]},rr.prototype.computeSelect=function(e,t,r,i){var s=this._pts[t],o=this._pts[r];if(i.tempEnv1.init(s,o),r-t===1)return i.select(this,t),null;if(!e.intersects(i.tempEnv1))return null;var a=Math.trunc((t+r)/2);t<a&&this.computeSelect(e,t,a,i),a<r&&this.computeSelect(e,a,r,i)},rr.prototype.getCoordinates=function(){for(var e=this,t=new Array(this._end-this._start+1).fill(null),r=0,i=this._start;i<=this._end;i++)t[r++]=e._pts[i];return t},rr.prototype.computeOverlaps=function(e,t){this.computeOverlapsInternal(this._start,this._end,e,e._start,e._end,t)},rr.prototype.setId=function(e){this._id=e},rr.prototype.select=function(e,t){this.computeSelect(e,this._start,this._end,t)},rr.prototype.getEnvelope=function(){if(this._env===null){var e=this._pts[this._start],t=this._pts[this._end];this._env=new te(e,t)}return this._env},rr.prototype.getEndIndex=function(){return this._end},rr.prototype.getStartIndex=function(){return this._start},rr.prototype.getContext=function(){return this._context},rr.prototype.getId=function(){return this._id},rr.prototype.computeOverlapsInternal=function(e,t,r,i,s,o){var a=this._pts[e],l=this._pts[t],u=r._pts[i],h=r._pts[s];if(t-e===1&&s-i===1)return o.overlap(this,e,r,i),null;if(o.tempEnv1.init(a,l),o.tempEnv2.init(u,h),!o.tempEnv1.intersects(o.tempEnv2))return null;var f=Math.trunc((e+t)/2),d=Math.trunc((i+s)/2);e<f&&(i<d&&this.computeOverlapsInternal(e,f,r,i,d,o),d<s&&this.computeOverlapsInternal(e,f,r,d,s,o)),f<t&&(i<d&&this.computeOverlapsInternal(f,t,r,i,d,o),d<s&&this.computeOverlapsInternal(f,t,r,d,s,o))},rr.prototype.interfaces_=function(){return[]},rr.prototype.getClass=function(){return rr};var yn=function(){};yn.prototype.interfaces_=function(){return[]},yn.prototype.getClass=function(){return yn},yn.getChainStartIndices=function(e){var t=0,r=new W;r.add(new ln(t));do{var i=yn.findChainEnd(e,t);r.add(new ln(i)),t=i}while(t<e.length-1);var s=yn.toIntArray(r);return s},yn.findChainEnd=function(e,t){for(var r=t;r<e.length-1&&e[r].equals2D(e[r+1]);)r++;if(r>=e.length-1)return e.length-1;for(var i=Me.quadrant(e[r],e[r+1]),s=t+1;s<e.length;){if(!e[s-1].equals2D(e[s])){var o=Me.quadrant(e[s-1],e[s]);if(o!==i)break}s++}return s-1},yn.getChains=function(){if(arguments.length===1){var e=arguments[0];return yn.getChains(e,null)}else if(arguments.length===2){for(var t=arguments[0],r=arguments[1],i=new W,s=yn.getChainStartIndices(t),o=0;o<s.length-1;o++){var a=new rr(t,s[o],s[o+1],r);i.add(a)}return i}},yn.toIntArray=function(e){for(var t=new Array(e.size()).fill(null),r=0;r<t.length;r++)t[r]=e.get(r).intValue();return t};var gs=function(){};gs.prototype.computeNodes=function(e){},gs.prototype.getNodedSubstrings=function(){},gs.prototype.interfaces_=function(){return[]},gs.prototype.getClass=function(){return gs};var tu=function(){if(this._segInt=null,arguments.length!==0){if(arguments.length===1){var e=arguments[0];this.setSegmentIntersector(e)}}};tu.prototype.setSegmentIntersector=function(e){this._segInt=e},tu.prototype.interfaces_=function(){return[gs]},tu.prototype.getClass=function(){return tu};var jc=function(n){function e(r){r?n.call(this,r):n.call(this),this._monoChains=new W,this._index=new Xf,this._idCounter=0,this._nodedSegStrings=null,this._nOverlaps=0}n&&(e.__proto__=n),e.prototype=Object.create(n&&n.prototype),e.prototype.constructor=e;var t={SegmentOverlapAction:{configurable:!0}};return e.prototype.getMonotoneChains=function(){return this._monoChains},e.prototype.getNodedSubstrings=function(){return Be.getNodedSubstrings(this._nodedSegStrings)},e.prototype.getIndex=function(){return this._index},e.prototype.add=function(i){for(var s=this,o=yn.getChains(i.getCoordinates(),i),a=o.iterator();a.hasNext();){var l=a.next();l.setId(s._idCounter++),s._index.insert(l.getEnvelope(),l),s._monoChains.add(l)}},e.prototype.computeNodes=function(i){var s=this;this._nodedSegStrings=i;for(var o=i.iterator();o.hasNext();)s.add(o.next());this.intersectChains()},e.prototype.intersectChains=function(){for(var i=this,s=new Jf(this._segInt),o=this._monoChains.iterator();o.hasNext();)for(var a=o.next(),l=i._index.query(a.getEnvelope()),u=l.iterator();u.hasNext();){var h=u.next();if(h.getId()>a.getId()&&(a.computeOverlaps(h,s),i._nOverlaps++),i._segInt.isDone())return null}},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},t.SegmentOverlapAction.get=function(){return Jf},Object.defineProperties(e,t),e}(tu),Jf=function(n){function e(){n.call(this),this._si=null;var t=arguments[0];this._si=t}return n&&(e.__proto__=n),e.prototype=Object.create(n&&n.prototype),e.prototype.constructor=e,e.prototype.overlap=function(){if(arguments.length===4){var r=arguments[0],i=arguments[1],s=arguments[2],o=arguments[3],a=r.getContext(),l=s.getContext();this._si.processIntersections(a,i,l,o)}else return n.prototype.overlap.apply(this,arguments)},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(eu),be=function n(){if(this._quadrantSegments=n.DEFAULT_QUADRANT_SEGMENTS,this._endCapStyle=n.CAP_ROUND,this._joinStyle=n.JOIN_ROUND,this._mitreLimit=n.DEFAULT_MITRE_LIMIT,this._isSingleSided=!1,this._simplifyFactor=n.DEFAULT_SIMPLIFY_FACTOR,arguments.length!==0){if(arguments.length===1){var e=arguments[0];this.setQuadrantSegments(e)}else if(arguments.length===2){var t=arguments[0],r=arguments[1];this.setQuadrantSegments(t),this.setEndCapStyle(r)}else if(arguments.length===4){var i=arguments[0],s=arguments[1],o=arguments[2],a=arguments[3];this.setQuadrantSegments(i),this.setEndCapStyle(s),this.setJoinStyle(o),this.setMitreLimit(a)}}},hi={CAP_ROUND:{configurable:!0},CAP_FLAT:{configurable:!0},CAP_SQUARE:{configurable:!0},JOIN_ROUND:{configurable:!0},JOIN_MITRE:{configurable:!0},JOIN_BEVEL:{configurable:!0},DEFAULT_QUADRANT_SEGMENTS:{configurable:!0},DEFAULT_MITRE_LIMIT:{configurable:!0},DEFAULT_SIMPLIFY_FACTOR:{configurable:!0}};be.prototype.getEndCapStyle=function(){return this._endCapStyle},be.prototype.isSingleSided=function(){return this._isSingleSided},be.prototype.setQuadrantSegments=function(e){this._quadrantSegments=e,this._quadrantSegments===0&&(this._joinStyle=be.JOIN_BEVEL),this._quadrantSegments<0&&(this._joinStyle=be.JOIN_MITRE,this._mitreLimit=Math.abs(this._quadrantSegments)),e<=0&&(this._quadrantSegments=1),this._joinStyle!==be.JOIN_ROUND&&(this._quadrantSegments=be.DEFAULT_QUADRANT_SEGMENTS)},be.prototype.getJoinStyle=function(){return this._joinStyle},be.prototype.setJoinStyle=function(e){this._joinStyle=e},be.prototype.setSimplifyFactor=function(e){this._simplifyFactor=e<0?0:e},be.prototype.getSimplifyFactor=function(){return this._simplifyFactor},be.prototype.getQuadrantSegments=function(){return this._quadrantSegments},be.prototype.setEndCapStyle=function(e){this._endCapStyle=e},be.prototype.getMitreLimit=function(){return this._mitreLimit},be.prototype.setMitreLimit=function(e){this._mitreLimit=e},be.prototype.setSingleSided=function(e){this._isSingleSided=e},be.prototype.interfaces_=function(){return[]},be.prototype.getClass=function(){return be},be.bufferDistanceError=function(e){var t=Math.PI/2/e;return 1-Math.cos(t/2)},hi.CAP_ROUND.get=function(){return 1},hi.CAP_FLAT.get=function(){return 2},hi.CAP_SQUARE.get=function(){return 3},hi.JOIN_ROUND.get=function(){return 1},hi.JOIN_MITRE.get=function(){return 2},hi.JOIN_BEVEL.get=function(){return 3},hi.DEFAULT_QUADRANT_SEGMENTS.get=function(){return 8},hi.DEFAULT_MITRE_LIMIT.get=function(){return 5},hi.DEFAULT_SIMPLIFY_FACTOR.get=function(){return .01},Object.defineProperties(be,hi);var He=function(e){this._distanceTol=null,this._isDeleted=null,this._angleOrientation=H.COUNTERCLOCKWISE,this._inputLine=e||null},ru={INIT:{configurable:!0},DELETE:{configurable:!0},KEEP:{configurable:!0},NUM_PTS_TO_CHECK:{configurable:!0}};He.prototype.isDeletable=function(e,t,r,i){var s=this._inputLine[e],o=this._inputLine[t],a=this._inputLine[r];return!this.isConcave(s,o,a)||!this.isShallow(s,o,a,i)?!1:this.isShallowSampled(s,o,e,r,i)},He.prototype.deleteShallowConcavities=function(){for(var e=this,t=1,r=this.findNextNonDeletedIndex(t),i=this.findNextNonDeletedIndex(r),s=!1;i<this._inputLine.length;){var o=!1;e.isDeletable(t,r,i,e._distanceTol)&&(e._isDeleted[r]=He.DELETE,o=!0,s=!0),o?t=i:t=r,r=e.findNextNonDeletedIndex(t),i=e.findNextNonDeletedIndex(r)}return s},He.prototype.isShallowConcavity=function(e,t,r,i){var s=H.computeOrientation(e,t,r),o=s===this._angleOrientation;if(!o)return!1;var a=H.distancePointLine(t,e,r);return a<i},He.prototype.isShallowSampled=function(e,t,r,i,s){var o=this,a=Math.trunc((i-r)/He.NUM_PTS_TO_CHECK);a<=0&&(a=1);for(var l=r;l<i;l+=a)if(!o.isShallow(e,t,o._inputLine[l],s))return!1;return!0},He.prototype.isConcave=function(e,t,r){var i=H.computeOrientation(e,t,r),s=i===this._angleOrientation;return s},He.prototype.simplify=function(e){var t=this;this._distanceTol=Math.abs(e),e<0&&(this._angleOrientation=H.CLOCKWISE),this._isDeleted=new Array(this._inputLine.length).fill(null);var r=!1;do r=t.deleteShallowConcavities();while(r);return this.collapseLine()},He.prototype.findNextNonDeletedIndex=function(e){for(var t=e+1;t<this._inputLine.length&&this._isDeleted[t]===He.DELETE;)t++;return t},He.prototype.isShallow=function(e,t,r,i){var s=H.distancePointLine(t,e,r);return s<i},He.prototype.collapseLine=function(){for(var e=this,t=new Xl,r=0;r<this._inputLine.length;r++)e._isDeleted[r]!==He.DELETE&&t.add(e._inputLine[r]);return t.toCoordinateArray()},He.prototype.interfaces_=function(){return[]},He.prototype.getClass=function(){return He},He.simplify=function(e,t){var r=new He(e);return r.simplify(t)},ru.INIT.get=function(){return 0},ru.DELETE.get=function(){return 1},ru.KEEP.get=function(){return 1},ru.NUM_PTS_TO_CHECK.get=function(){return 10},Object.defineProperties(He,ru);var fr=function(){this._ptList=null,this._precisionModel=null,this._minimimVertexDistance=0,this._ptList=new W},Zf={COORDINATE_ARRAY_TYPE:{configurable:!0}};fr.prototype.getCoordinates=function(){var e=this._ptList.toArray(fr.COORDINATE_ARRAY_TYPE);return e},fr.prototype.setPrecisionModel=function(e){this._precisionModel=e},fr.prototype.addPt=function(e){var t=new M(e);if(this._precisionModel.makePrecise(t),this.isRedundant(t))return null;this._ptList.add(t)},fr.prototype.revere=function(){},fr.prototype.addPts=function(e,t){var r=this;if(t)for(var i=0;i<e.length;i++)r.addPt(e[i]);else for(var s=e.length-1;s>=0;s--)r.addPt(e[s])},fr.prototype.isRedundant=function(e){if(this._ptList.size()<1)return!1;var t=this._ptList.get(this._ptList.size()-1),r=e.distance(t);return r<this._minimimVertexDistance},fr.prototype.toString=function(){var e=new ge,t=e.createLineString(this.getCoordinates());return t.toString()},fr.prototype.closeRing=function(){if(this._ptList.size()<1)return null;var e=new M(this._ptList.get(0)),t=this._ptList.get(this._ptList.size()-1);if(e.equals(t))return null;this._ptList.add(e)},fr.prototype.setMinimumVertexDistance=function(e){this._minimimVertexDistance=e},fr.prototype.interfaces_=function(){return[]},fr.prototype.getClass=function(){return fr},Zf.COORDINATE_ARRAY_TYPE.get=function(){return new Array(0).fill(null)},Object.defineProperties(fr,Zf);var _e=function(){},$s={PI_TIMES_2:{configurable:!0},PI_OVER_2:{configurable:!0},PI_OVER_4:{configurable:!0},COUNTERCLOCKWISE:{configurable:!0},CLOCKWISE:{configurable:!0},NONE:{configurable:!0}};_e.prototype.interfaces_=function(){return[]},_e.prototype.getClass=function(){return _e},_e.toDegrees=function(e){return e*180/Math.PI},_e.normalize=function(e){for(;e>Math.PI;)e-=_e.PI_TIMES_2;for(;e<=-Math.PI;)e+=_e.PI_TIMES_2;return e},_e.angle=function(){if(arguments.length===1){var e=arguments[0];return Math.atan2(e.y,e.x)}else if(arguments.length===2){var t=arguments[0],r=arguments[1],i=r.x-t.x,s=r.y-t.y;return Math.atan2(s,i)}},_e.isAcute=function(e,t,r){var i=e.x-t.x,s=e.y-t.y,o=r.x-t.x,a=r.y-t.y,l=i*o+s*a;return l>0},_e.isObtuse=function(e,t,r){var i=e.x-t.x,s=e.y-t.y,o=r.x-t.x,a=r.y-t.y,l=i*o+s*a;return l<0},_e.interiorAngle=function(e,t,r){var i=_e.angle(t,e),s=_e.angle(t,r);return Math.abs(s-i)},_e.normalizePositive=function(e){if(e<0){for(;e<0;)e+=_e.PI_TIMES_2;e>=_e.PI_TIMES_2&&(e=0)}else{for(;e>=_e.PI_TIMES_2;)e-=_e.PI_TIMES_2;e<0&&(e=0)}return e},_e.angleBetween=function(e,t,r){var i=_e.angle(t,e),s=_e.angle(t,r);return _e.diff(i,s)},_e.diff=function(e,t){var r=null;return e<t?r=t-e:r=e-t,r>Math.PI&&(r=2*Math.PI-r),r},_e.toRadians=function(e){return e*Math.PI/180},_e.getTurn=function(e,t){var r=Math.sin(t-e);return r>0?_e.COUNTERCLOCKWISE:r<0?_e.CLOCKWISE:_e.NONE},_e.angleBetweenOriented=function(e,t,r){var i=_e.angle(t,e),s=_e.angle(t,r),o=s-i;return o<=-Math.PI?o+_e.PI_TIMES_2:o>Math.PI?o-_e.PI_TIMES_2:o},$s.PI_TIMES_2.get=function(){return 2*Math.PI},$s.PI_OVER_2.get=function(){return Math.PI/2},$s.PI_OVER_4.get=function(){return Math.PI/4},$s.COUNTERCLOCKWISE.get=function(){return H.COUNTERCLOCKWISE},$s.CLOCKWISE.get=function(){return H.CLOCKWISE},$s.NONE.get=function(){return H.COLLINEAR},Object.defineProperties(_e,$s);var Fe=function n(){this._maxCurveSegmentError=0,this._filletAngleQuantum=null,this._closingSegLengthFactor=1,this._segList=null,this._distance=0,this._precisionModel=null,this._bufParams=null,this._li=null,this._s0=null,this._s1=null,this._s2=null,this._seg0=new re,this._seg1=new re,this._offset0=new re,this._offset1=new re,this._side=0,this._hasNarrowConcaveAngle=!1;var e=arguments[0],t=arguments[1],r=arguments[2];this._precisionModel=e,this._bufParams=t,this._li=new hs,this._filletAngleQuantum=Math.PI/2/t.getQuadrantSegments(),t.getQuadrantSegments()>=8&&t.getJoinStyle()===be.JOIN_ROUND&&(this._closingSegLengthFactor=n.MAX_CLOSING_SEG_LEN_FACTOR),this.init(r)},nu={OFFSET_SEGMENT_SEPARATION_FACTOR:{configurable:!0},INSIDE_TURN_VERTEX_SNAP_DISTANCE_FACTOR:{configurable:!0},CURVE_VERTEX_SNAP_DISTANCE_FACTOR:{configurable:!0},MAX_CLOSING_SEG_LEN_FACTOR:{configurable:!0}};Fe.prototype.addNextSegment=function(e,t){if(this._s0=this._s1,this._s1=this._s2,this._s2=e,this._seg0.setCoordinates(this._s0,this._s1),this.computeOffsetSegment(this._seg0,this._side,this._distance,this._offset0),this._seg1.setCoordinates(this._s1,this._s2),this.computeOffsetSegment(this._seg1,this._side,this._distance,this._offset1),this._s1.equals(this._s2))return null;var r=H.computeOrientation(this._s0,this._s1,this._s2),i=r===H.CLOCKWISE&&this._side===U.LEFT||r===H.COUNTERCLOCKWISE&&this._side===U.RIGHT;r===0?this.addCollinear(t):i?this.addOutsideTurn(r,t):this.addInsideTurn(r,t)},Fe.prototype.addLineEndCap=function(e,t){var r=new re(e,t),i=new re;this.computeOffsetSegment(r,U.LEFT,this._distance,i);var s=new re;this.computeOffsetSegment(r,U.RIGHT,this._distance,s);var o=t.x-e.x,a=t.y-e.y,l=Math.atan2(a,o);switch(this._bufParams.getEndCapStyle()){case be.CAP_ROUND:this._segList.addPt(i.p1),this.addFilletArc(t,l+Math.PI/2,l-Math.PI/2,H.CLOCKWISE,this._distance),this._segList.addPt(s.p1);break;case be.CAP_FLAT:this._segList.addPt(i.p1),this._segList.addPt(s.p1);break;case be.CAP_SQUARE:var u=new M;u.x=Math.abs(this._distance)*Math.cos(l),u.y=Math.abs(this._distance)*Math.sin(l);var h=new M(i.p1.x+u.x,i.p1.y+u.y),f=new M(s.p1.x+u.x,s.p1.y+u.y);this._segList.addPt(h),this._segList.addPt(f);break}},Fe.prototype.getCoordinates=function(){var e=this._segList.getCoordinates();return e},Fe.prototype.addMitreJoin=function(e,t,r,i){var s=!0,o=null;try{o=Xr.intersection(t.p0,t.p1,r.p0,r.p1);var a=i<=0?1:o.distance(e)/Math.abs(i);a>this._bufParams.getMitreLimit()&&(s=!1)}catch(l){if(l instanceof tl)o=new M(0,0),s=!1;else throw l}finally{}s?this._segList.addPt(o):this.addLimitedMitreJoin(t,r,i,this._bufParams.getMitreLimit())},Fe.prototype.addFilletCorner=function(e,t,r,i,s){var o=t.x-e.x,a=t.y-e.y,l=Math.atan2(a,o),u=r.x-e.x,h=r.y-e.y,f=Math.atan2(h,u);i===H.CLOCKWISE?l<=f&&(l+=2*Math.PI):l>=f&&(l-=2*Math.PI),this._segList.addPt(t),this.addFilletArc(e,l,f,i,s),this._segList.addPt(r)},Fe.prototype.addOutsideTurn=function(e,t){if(this._offset0.p1.distance(this._offset1.p0)<this._distance*Fe.OFFSET_SEGMENT_SEPARATION_FACTOR)return this._segList.addPt(this._offset0.p1),null;this._bufParams.getJoinStyle()===be.JOIN_MITRE?this.addMitreJoin(this._s1,this._offset0,this._offset1,this._distance):this._bufParams.getJoinStyle()===be.JOIN_BEVEL?this.addBevelJoin(this._offset0,this._offset1):(t&&this._segList.addPt(this._offset0.p1),this.addFilletCorner(this._s1,this._offset0.p1,this._offset1.p0,e,this._distance),this._segList.addPt(this._offset1.p0))},Fe.prototype.createSquare=function(e){this._segList.addPt(new M(e.x+this._distance,e.y+this._distance)),this._segList.addPt(new M(e.x+this._distance,e.y-this._distance)),this._segList.addPt(new M(e.x-this._distance,e.y-this._distance)),this._segList.addPt(new M(e.x-this._distance,e.y+this._distance)),this._segList.closeRing()},Fe.prototype.addSegments=function(e,t){this._segList.addPts(e,t)},Fe.prototype.addFirstSegment=function(){this._segList.addPt(this._offset1.p0)},Fe.prototype.addLastSegment=function(){this._segList.addPt(this._offset1.p1)},Fe.prototype.initSideSegments=function(e,t,r){this._s1=e,this._s2=t,this._side=r,this._seg1.setCoordinates(e,t),this.computeOffsetSegment(this._seg1,r,this._distance,this._offset1)},Fe.prototype.addLimitedMitreJoin=function(e,t,r,i){var s=this._seg0.p1,o=_e.angle(s,this._seg0.p0),a=_e.angleBetweenOriented(this._seg0.p0,s,this._seg1.p1),l=a/2,u=_e.normalize(o+l),h=_e.normalize(u+Math.PI),f=i*r,d=f*Math.abs(Math.sin(l)),v=r-d,w=s.x+f*Math.cos(h),I=s.y+f*Math.sin(h),T=new M(w,I),L=new re(s,T),m=L.pointAlongOffset(1,v),_=L.pointAlongOffset(1,-v);this._side===U.LEFT?(this._segList.addPt(m),this._segList.addPt(_)):(this._segList.addPt(_),this._segList.addPt(m))},Fe.prototype.computeOffsetSegment=function(e,t,r,i){var s=t===U.LEFT?1:-1,o=e.p1.x-e.p0.x,a=e.p1.y-e.p0.y,l=Math.sqrt(o*o+a*a),u=s*r*o/l,h=s*r*a/l;i.p0.x=e.p0.x-h,i.p0.y=e.p0.y+u,i.p1.x=e.p1.x-h,i.p1.y=e.p1.y+u},Fe.prototype.addFilletArc=function(e,t,r,i,s){var o=this,a=i===H.CLOCKWISE?-1:1,l=Math.abs(t-r),u=Math.trunc(l/this._filletAngleQuantum+.5);if(u<1)return null;for(var h=0,f=l/u,d=h,v=new M;d<l;){var w=t+a*d;v.x=e.x+s*Math.cos(w),v.y=e.y+s*Math.sin(w),o._segList.addPt(v),d+=f}},Fe.prototype.addInsideTurn=function(e,t){if(this._li.computeIntersection(this._offset0.p0,this._offset0.p1,this._offset1.p0,this._offset1.p1),this._li.hasIntersection())this._segList.addPt(this._li.getIntersection(0));else if(this._hasNarrowConcaveAngle=!0,this._offset0.p1.distance(this._offset1.p0)<this._distance*Fe.INSIDE_TURN_VERTEX_SNAP_DISTANCE_FACTOR)this._segList.addPt(this._offset0.p1);else{if(this._segList.addPt(this._offset0.p1),this._closingSegLengthFactor>0){var r=new M((this._closingSegLengthFactor*this._offset0.p1.x+this._s1.x)/(this._closingSegLengthFactor+1),(this._closingSegLengthFactor*this._offset0.p1.y+this._s1.y)/(this._closingSegLengthFactor+1));this._segList.addPt(r);var i=new M((this._closingSegLengthFactor*this._offset1.p0.x+this._s1.x)/(this._closingSegLengthFactor+1),(this._closingSegLengthFactor*this._offset1.p0.y+this._s1.y)/(this._closingSegLengthFactor+1));this._segList.addPt(i)}else this._segList.addPt(this._s1);this._segList.addPt(this._offset1.p0)}},Fe.prototype.createCircle=function(e){var t=new M(e.x+this._distance,e.y);this._segList.addPt(t),this.addFilletArc(e,0,2*Math.PI,-1,this._distance),this._segList.closeRing()},Fe.prototype.addBevelJoin=function(e,t){this._segList.addPt(e.p1),this._segList.addPt(t.p0)},Fe.prototype.init=function(e){this._distance=e,this._maxCurveSegmentError=e*(1-Math.cos(this._filletAngleQuantum/2)),this._segList=new fr,this._segList.setPrecisionModel(this._precisionModel),this._segList.setMinimumVertexDistance(e*Fe.CURVE_VERTEX_SNAP_DISTANCE_FACTOR)},Fe.prototype.addCollinear=function(e){this._li.computeIntersection(this._s0,this._s1,this._s1,this._s2);var t=this._li.getIntersectionNum();t>=2&&(this._bufParams.getJoinStyle()===be.JOIN_BEVEL||this._bufParams.getJoinStyle()===be.JOIN_MITRE?(e&&this._segList.addPt(this._offset0.p1),this._segList.addPt(this._offset1.p0)):this.addFilletCorner(this._s1,this._offset0.p1,this._offset1.p0,H.CLOCKWISE,this._distance))},Fe.prototype.closeRing=function(){this._segList.closeRing()},Fe.prototype.hasNarrowConcaveAngle=function(){return this._hasNarrowConcaveAngle},Fe.prototype.interfaces_=function(){return[]},Fe.prototype.getClass=function(){return Fe},nu.OFFSET_SEGMENT_SEPARATION_FACTOR.get=function(){return .001},nu.INSIDE_TURN_VERTEX_SNAP_DISTANCE_FACTOR.get=function(){return .001},nu.CURVE_VERTEX_SNAP_DISTANCE_FACTOR.get=function(){return 1e-6},nu.MAX_CLOSING_SEG_LEN_FACTOR.get=function(){return 80},Object.defineProperties(Fe,nu);var qt=function(){this._distance=0,this._precisionModel=null,this._bufParams=null;var e=arguments[0],t=arguments[1];this._precisionModel=e,this._bufParams=t};qt.prototype.getOffsetCurve=function(e,t){if(this._distance=t,t===0)return null;var r=t<0,i=Math.abs(t),s=this.getSegGen(i);e.length<=1?this.computePointCurve(e[0],s):this.computeOffsetCurve(e,r,s);var o=s.getCoordinates();return r&&de.reverse(o),o},qt.prototype.computeSingleSidedBufferCurve=function(e,t,r){var i=this.simplifyTolerance(this._distance);if(t){r.addSegments(e,!0);var s=He.simplify(e,-i),o=s.length-1;r.initSideSegments(s[o],s[o-1],U.LEFT),r.addFirstSegment();for(var a=o-2;a>=0;a--)r.addNextSegment(s[a],!0)}else{r.addSegments(e,!1);var l=He.simplify(e,i),u=l.length-1;r.initSideSegments(l[0],l[1],U.LEFT),r.addFirstSegment();for(var h=2;h<=u;h++)r.addNextSegment(l[h],!0)}r.addLastSegment(),r.closeRing()},qt.prototype.computeRingBufferCurve=function(e,t,r){var i=this.simplifyTolerance(this._distance);t===U.RIGHT&&(i=-i);var s=He.simplify(e,i),o=s.length-1;r.initSideSegments(s[o-1],s[0],t);for(var a=1;a<=o;a++){var l=a!==1;r.addNextSegment(s[a],l)}r.closeRing()},qt.prototype.computeLineBufferCurve=function(e,t){var r=this.simplifyTolerance(this._distance),i=He.simplify(e,r),s=i.length-1;t.initSideSegments(i[0],i[1],U.LEFT);for(var o=2;o<=s;o++)t.addNextSegment(i[o],!0);t.addLastSegment(),t.addLineEndCap(i[s-1],i[s]);var a=He.simplify(e,-r),l=a.length-1;t.initSideSegments(a[l],a[l-1],U.LEFT);for(var u=l-2;u>=0;u--)t.addNextSegment(a[u],!0);t.addLastSegment(),t.addLineEndCap(a[1],a[0]),t.closeRing()},qt.prototype.computePointCurve=function(e,t){switch(this._bufParams.getEndCapStyle()){case be.CAP_ROUND:t.createCircle(e);break;case be.CAP_SQUARE:t.createSquare(e);break}},qt.prototype.getLineCurve=function(e,t){if(this._distance=t,t<0&&!this._bufParams.isSingleSided()||t===0)return null;var r=Math.abs(t),i=this.getSegGen(r);if(e.length<=1)this.computePointCurve(e[0],i);else if(this._bufParams.isSingleSided()){var s=t<0;this.computeSingleSidedBufferCurve(e,s,i)}else this.computeLineBufferCurve(e,i);var o=i.getCoordinates();return o},qt.prototype.getBufferParameters=function(){return this._bufParams},qt.prototype.simplifyTolerance=function(e){return e*this._bufParams.getSimplifyFactor()},qt.prototype.getRingCurve=function(e,t,r){if(this._distance=r,e.length<=2)return this.getLineCurve(e,r);if(r===0)return qt.copyCoordinates(e);var i=this.getSegGen(r);return this.computeRingBufferCurve(e,t,i),i.getCoordinates()},qt.prototype.computeOffsetCurve=function(e,t,r){var i=this.simplifyTolerance(this._distance);if(t){var s=He.simplify(e,-i),o=s.length-1;r.initSideSegments(s[o],s[o-1],U.LEFT),r.addFirstSegment();for(var a=o-2;a>=0;a--)r.addNextSegment(s[a],!0)}else{var l=He.simplify(e,i),u=l.length-1;r.initSideSegments(l[0],l[1],U.LEFT),r.addFirstSegment();for(var h=2;h<=u;h++)r.addNextSegment(l[h],!0)}r.addLastSegment()},qt.prototype.getSegGen=function(e){return new Fe(this._precisionModel,this._bufParams,e)},qt.prototype.interfaces_=function(){return[]},qt.prototype.getClass=function(){return qt},qt.copyCoordinates=function(e){for(var t=new Array(e.length).fill(null),r=0;r<t.length;r++)t[r]=new M(e[r]);return t};var js=function(){this._subgraphs=null,this._seg=new re,this._cga=new H;var e=arguments[0];this._subgraphs=e},Kf={DepthSegment:{configurable:!0}};js.prototype.findStabbedSegments=function(){var e=this;if(arguments.length===1){for(var t=arguments[0],r=new W,i=this._subgraphs.iterator();i.hasNext();){var s=i.next(),o=s.getEnvelope();t.y<o.getMinY()||t.y>o.getMaxY()||e.findStabbedSegments(t,s.getDirectedEdges(),r)}return r}else if(arguments.length===3){if(ae(arguments[2],Hr)&&arguments[0]instanceof M&&arguments[1]instanceof $c)for(var a=arguments[0],l=arguments[1],u=arguments[2],h=l.getEdge().getCoordinates(),f=0;f<h.length-1;f++){e._seg.p0=h[f],e._seg.p1=h[f+1],e._seg.p0.y>e._seg.p1.y&&e._seg.reverse();var d=Math.max(e._seg.p0.x,e._seg.p1.x);if(!(d<a.x)&&!e._seg.isHorizontal()&&!(a.y<e._seg.p0.y||a.y>e._seg.p1.y)&&H.computeOrientation(e._seg.p0,e._seg.p1,a)!==H.RIGHT){var v=l.getDepth(U.LEFT);e._seg.p0.equals(h[f])||(v=l.getDepth(U.RIGHT));var w=new ms(e._seg,v);u.add(w)}}else if(ae(arguments[2],Hr)&&arguments[0]instanceof M&&ae(arguments[1],Hr))for(var I=arguments[0],T=arguments[1],L=arguments[2],m=T.iterator();m.hasNext();){var _=m.next();_.isForward()&&e.findStabbedSegments(I,_,L)}}},js.prototype.getDepth=function(e){var t=this.findStabbedSegments(e);if(t.size()===0)return 0;var r=Qr.min(t);return r._leftDepth},js.prototype.interfaces_=function(){return[]},js.prototype.getClass=function(){return js},Kf.DepthSegment.get=function(){return ms},Object.defineProperties(js,Kf);var ms=function(){this._upwardSeg=null,this._leftDepth=null;var e=arguments[0],t=arguments[1];this._upwardSeg=new re(e),this._leftDepth=t};ms.prototype.compareTo=function(e){var t=e;if(this._upwardSeg.minX()>=t._upwardSeg.maxX())return 1;if(this._upwardSeg.maxX()<=t._upwardSeg.minX())return-1;var r=this._upwardSeg.orientationIndex(t._upwardSeg);return r!==0||(r=-1*t._upwardSeg.orientationIndex(this._upwardSeg),r!==0)?r:this._upwardSeg.compareTo(t._upwardSeg)},ms.prototype.compareX=function(e,t){var r=e.p0.compareTo(t.p0);return r!==0?r:e.p1.compareTo(t.p1)},ms.prototype.toString=function(){return this._upwardSeg.toString()},ms.prototype.interfaces_=function(){return[Sr]},ms.prototype.getClass=function(){return ms};var Ne=function(e,t,r){this.p0=e||null,this.p1=t||null,this.p2=r||null};Ne.prototype.area=function(){return Ne.area(this.p0,this.p1,this.p2)},Ne.prototype.signedArea=function(){return Ne.signedArea(this.p0,this.p1,this.p2)},Ne.prototype.interpolateZ=function(e){if(e===null)throw new ze("Supplied point is null.");return Ne.interpolateZ(e,this.p0,this.p1,this.p2)},Ne.prototype.longestSideLength=function(){return Ne.longestSideLength(this.p0,this.p1,this.p2)},Ne.prototype.isAcute=function(){return Ne.isAcute(this.p0,this.p1,this.p2)},Ne.prototype.circumcentre=function(){return Ne.circumcentre(this.p0,this.p1,this.p2)},Ne.prototype.area3D=function(){return Ne.area3D(this.p0,this.p1,this.p2)},Ne.prototype.centroid=function(){return Ne.centroid(this.p0,this.p1,this.p2)},Ne.prototype.inCentre=function(){return Ne.inCentre(this.p0,this.p1,this.p2)},Ne.prototype.interfaces_=function(){return[]},Ne.prototype.getClass=function(){return Ne},Ne.area=function(e,t,r){return Math.abs(((r.x-e.x)*(t.y-e.y)-(t.x-e.x)*(r.y-e.y))/2)},Ne.signedArea=function(e,t,r){return((r.x-e.x)*(t.y-e.y)-(t.x-e.x)*(r.y-e.y))/2},Ne.det=function(e,t,r,i){return e*i-t*r},Ne.interpolateZ=function(e,t,r,i){var s=t.x,o=t.y,a=r.x-s,l=i.x-s,u=r.y-o,h=i.y-o,f=a*h-l*u,d=e.x-s,v=e.y-o,w=(h*d-l*v)/f,I=(-u*d+a*v)/f,T=t.z+w*(r.z-t.z)+I*(i.z-t.z);return T},Ne.longestSideLength=function(e,t,r){var i=e.distance(t),s=t.distance(r),o=r.distance(e),a=i;return s>a&&(a=s),o>a&&(a=o),a},Ne.isAcute=function(e,t,r){return!(!_e.isAcute(e,t,r)||!_e.isAcute(t,r,e)||!_e.isAcute(r,e,t))},Ne.circumcentre=function(e,t,r){var i=r.x,s=r.y,o=e.x-i,a=e.y-s,l=t.x-i,u=t.y-s,h=2*Ne.det(o,a,l,u),f=Ne.det(a,o*o+a*a,u,l*l+u*u),d=Ne.det(o,o*o+a*a,l,l*l+u*u),v=i-f/h,w=s+d/h;return new M(v,w)},Ne.perpendicularBisector=function(e,t){var r=t.x-e.x,i=t.y-e.y,s=new Xr(e.x+r/2,e.y+i/2,1),o=new Xr(e.x-i+r/2,e.y+r+i/2,1);return new Xr(s,o)},Ne.angleBisector=function(e,t,r){var i=t.distance(e),s=t.distance(r),o=i/(i+s),a=r.x-e.x,l=r.y-e.y,u=new M(e.x+o*a,e.y+o*l);return u},Ne.area3D=function(e,t,r){var i=t.x-e.x,s=t.y-e.y,o=t.z-e.z,a=r.x-e.x,l=r.y-e.y,u=r.z-e.z,h=s*u-o*l,f=o*a-i*u,d=i*l-s*a,v=h*h+f*f+d*d,w=Math.sqrt(v)/2;return w},Ne.centroid=function(e,t,r){var i=(e.x+t.x+r.x)/3,s=(e.y+t.y+r.y)/3;return new M(i,s)},Ne.inCentre=function(e,t,r){var i=t.distance(r),s=e.distance(r),o=e.distance(t),a=i+s+o,l=(i*e.x+s*t.x+o*r.x)/a,u=(i*e.y+s*t.y+o*r.y)/a;return new M(l,u)};var Nr=function(){this._inputGeom=null,this._distance=null,this._curveBuilder=null,this._curveList=new W;var e=arguments[0],t=arguments[1],r=arguments[2];this._inputGeom=e,this._distance=t,this._curveBuilder=r};Nr.prototype.addPoint=function(e){if(this._distance<=0)return null;var t=e.getCoordinates(),r=this._curveBuilder.getLineCurve(t,this._distance);this.addCurve(r,R.EXTERIOR,R.INTERIOR)},Nr.prototype.addPolygon=function(e){var t=this,r=this._distance,i=U.LEFT;this._distance<0&&(r=-this._distance,i=U.RIGHT);var s=e.getExteriorRing(),o=de.removeRepeatedPoints(s.getCoordinates());if(this._distance<0&&this.isErodedCompletely(s,this._distance)||this._distance<=0&&o.length<3)return null;this.addPolygonRing(o,r,i,R.EXTERIOR,R.INTERIOR);for(var a=0;a<e.getNumInteriorRing();a++){var l=e.getInteriorRingN(a),u=de.removeRepeatedPoints(l.getCoordinates());t._distance>0&&t.isErodedCompletely(l,-t._distance)||t.addPolygonRing(u,r,U.opposite(i),R.INTERIOR,R.EXTERIOR)}},Nr.prototype.isTriangleErodedCompletely=function(e,t){var r=new Ne(e[0],e[1],e[2]),i=r.inCentre(),s=H.distancePointLine(i,r.p0,r.p1);return s<Math.abs(t)},Nr.prototype.addLineString=function(e){if(this._distance<=0&&!this._curveBuilder.getBufferParameters().isSingleSided())return null;var t=de.removeRepeatedPoints(e.getCoordinates()),r=this._curveBuilder.getLineCurve(t,this._distance);this.addCurve(r,R.EXTERIOR,R.INTERIOR)},Nr.prototype.addCurve=function(e,t,r){if(e===null||e.length<2)return null;var i=new Be(e,new De(0,R.BOUNDARY,t,r));this._curveList.add(i)},Nr.prototype.getCurves=function(){return this.add(this._inputGeom),this._curveList},Nr.prototype.addPolygonRing=function(e,t,r,i,s){if(t===0&&e.length<An.MINIMUM_VALID_SIZE)return null;var o=i,a=s;e.length>=An.MINIMUM_VALID_SIZE&&H.isCCW(e)&&(o=s,a=i,r=U.opposite(r));var l=this._curveBuilder.getRingCurve(e,r,t);this.addCurve(l,o,a)},Nr.prototype.add=function(e){if(e.isEmpty())return null;e instanceof it?this.addPolygon(e):e instanceof Ye?this.addLineString(e):e instanceof er?this.addPoint(e):e instanceof cl?this.addCollection(e):e instanceof ds?this.addCollection(e):e instanceof Rn?this.addCollection(e):e instanceof Mt&&this.addCollection(e)},Nr.prototype.isErodedCompletely=function(e,t){var r=e.getCoordinates();if(r.length<4)return t<0;if(r.length===4)return this.isTriangleErodedCompletely(r,t);var i=e.getEnvelopeInternal(),s=Math.min(i.getHeight(),i.getWidth());return t<0&&2*Math.abs(t)>s},Nr.prototype.addCollection=function(e){for(var t=this,r=0;r<e.getNumGeometries();r++){var i=e.getGeometryN(r);t.add(i)}},Nr.prototype.interfaces_=function(){return[]},Nr.prototype.getClass=function(){return Nr};var dl=function(){};dl.prototype.locate=function(e){},dl.prototype.interfaces_=function(){return[]},dl.prototype.getClass=function(){return dl};var Vn=function(){this._parent=null,this._atStart=null,this._max=null,this._index=null,this._subcollectionIterator=null;var e=arguments[0];this._parent=e,this._atStart=!0,this._index=0,this._max=e.getNumGeometries()};Vn.prototype.next=function(){if(this._atStart)return this._atStart=!1,Vn.isAtomic(this._parent)&&this._index++,this._parent;if(this._subcollectionIterator!==null){if(this._subcollectionIterator.hasNext())return this._subcollectionIterator.next();this._subcollectionIterator=null}if(this._index>=this._max)throw new ll;var e=this._parent.getGeometryN(this._index++);return e instanceof Mt?(this._subcollectionIterator=new Vn(e),this._subcollectionIterator.next()):e},Vn.prototype.remove=function(){throw new Error(this.getClass().getName())},Vn.prototype.hasNext=function(){if(this._atStart)return!0;if(this._subcollectionIterator!==null){if(this._subcollectionIterator.hasNext())return!0;this._subcollectionIterator=null}return!(this._index>=this._max)},Vn.prototype.interfaces_=function(){return[al]},Vn.prototype.getClass=function(){return Vn},Vn.isAtomic=function(e){return!(e instanceof Mt)};var pr=function(){this._geom=null;var e=arguments[0];this._geom=e};pr.prototype.locate=function(e){return pr.locate(e,this._geom)},pr.prototype.interfaces_=function(){return[dl]},pr.prototype.getClass=function(){return pr},pr.isPointInRing=function(e,t){return t.getEnvelopeInternal().intersects(e)?H.isPointInRing(e,t.getCoordinates()):!1},pr.containsPointInPolygon=function(e,t){if(t.isEmpty())return!1;var r=t.getExteriorRing();if(!pr.isPointInRing(e,r))return!1;for(var i=0;i<t.getNumInteriorRing();i++){var s=t.getInteriorRingN(i);if(pr.isPointInRing(e,s))return!1}return!0},pr.containsPoint=function(e,t){if(t instanceof it)return pr.containsPointInPolygon(e,t);if(t instanceof Mt)for(var r=new Vn(t);r.hasNext();){var i=r.next();if(i!==t&&pr.containsPoint(e,i))return!0}return!1},pr.locate=function(e,t){return t.isEmpty()?R.EXTERIOR:pr.containsPoint(e,t)?R.INTERIOR:R.EXTERIOR};var bt=function(){this._edgeMap=new It,this._edgeList=null,this._ptInAreaLocation=[R.NONE,R.NONE]};bt.prototype.getNextCW=function(e){this.getEdges();var t=this._edgeList.indexOf(e),r=t-1;return t===0&&(r=this._edgeList.size()-1),this._edgeList.get(r)},bt.prototype.propagateSideLabels=function(e){for(var t=R.NONE,r=this.iterator();r.hasNext();){var i=r.next(),s=i.getLabel();s.isArea(e)&&s.getLocation(e,U.LEFT)!==R.NONE&&(t=s.getLocation(e,U.LEFT))}if(t===R.NONE)return null;for(var o=t,a=this.iterator();a.hasNext();){var l=a.next(),u=l.getLabel();if(u.getLocation(e,U.ON)===R.NONE&&u.setLocation(e,U.ON,o),u.isArea(e)){var h=u.getLocation(e,U.LEFT),f=u.getLocation(e,U.RIGHT);if(f!==R.NONE){if(f!==o)throw new ui("side location conflict",l.getCoordinate());h===R.NONE&&fe.shouldNeverReachHere("found single null side (at "+l.getCoordinate()+")"),o=h}else fe.isTrue(u.getLocation(e,U.LEFT)===R.NONE,"found single null side"),u.setLocation(e,U.RIGHT,o),u.setLocation(e,U.LEFT,o)}}},bt.prototype.getCoordinate=function(){var e=this.iterator();if(!e.hasNext())return null;var t=e.next();return t.getCoordinate()},bt.prototype.print=function(e){mt.out.println("EdgeEndStar: "+this.getCoordinate());for(var t=this.iterator();t.hasNext();){var r=t.next();r.print(e)}},bt.prototype.isAreaLabelsConsistent=function(e){return this.computeEdgeEndLabels(e.getBoundaryNodeRule()),this.checkAreaLabelsConsistent(0)},bt.prototype.checkAreaLabelsConsistent=function(e){var t=this.getEdges();if(t.size()<=0)return!0;var r=t.size()-1,i=t.get(r).getLabel(),s=i.getLocation(e,U.LEFT);fe.isTrue(s!==R.NONE,"Found unlabelled area edge");for(var o=s,a=this.iterator();a.hasNext();){var l=a.next(),u=l.getLabel();fe.isTrue(u.isArea(e),"Found non-area edge");var h=u.getLocation(e,U.LEFT),f=u.getLocation(e,U.RIGHT);if(h===f||f!==o)return!1;o=h}return!0},bt.prototype.findIndex=function(e){var t=this;this.iterator();for(var r=0;r<this._edgeList.size();r++){var i=t._edgeList.get(r);if(i===e)return r}return-1},bt.prototype.iterator=function(){return this.getEdges().iterator()},bt.prototype.getEdges=function(){return this._edgeList===null&&(this._edgeList=new W(this._edgeMap.values())),this._edgeList},bt.prototype.getLocation=function(e,t,r){return this._ptInAreaLocation[e]===R.NONE&&(this._ptInAreaLocation[e]=pr.locate(t,r[e].getGeometry())),this._ptInAreaLocation[e]},bt.prototype.toString=function(){var e=new an;e.append("EdgeEndStar: "+this.getCoordinate()),e.append(`
26
- `);for(var t=this.iterator();t.hasNext();){var r=t.next();e.append(r),e.append(`
27
- `)}return e.toString()},bt.prototype.computeEdgeEndLabels=function(e){for(var t=this.iterator();t.hasNext();){var r=t.next();r.computeLabel(e)}},bt.prototype.computeLabelling=function(e){var t=this;this.computeEdgeEndLabels(e[0].getBoundaryNodeRule()),this.propagateSideLabels(0),this.propagateSideLabels(1);for(var r=[!1,!1],i=this.iterator();i.hasNext();)for(var s=i.next(),o=s.getLabel(),a=0;a<2;a++)o.isLine(a)&&o.getLocation(a)===R.BOUNDARY&&(r[a]=!0);for(var l=this.iterator();l.hasNext();)for(var u=l.next(),h=u.getLabel(),f=0;f<2;f++)if(h.isAnyNull(f)){var d=R.NONE;if(r[f])d=R.EXTERIOR;else{var v=u.getCoordinate();d=t.getLocation(f,v,e)}h.setAllLocationsIfNull(f,d)}},bt.prototype.getDegree=function(){return this._edgeMap.size()},bt.prototype.insertEdgeEnd=function(e,t){this._edgeMap.put(e,t),this._edgeList=null},bt.prototype.interfaces_=function(){return[]},bt.prototype.getClass=function(){return bt};var av=function(n){function e(){n.call(this),this._resultAreaEdgeList=null,this._label=null,this._SCANNING_FOR_INCOMING=1,this._LINKING_TO_OUTGOING=2}return n&&(e.__proto__=n),e.prototype=Object.create(n&&n.prototype),e.prototype.constructor=e,e.prototype.linkResultDirectedEdges=function(){var r=this;this.getResultAreaEdges();for(var i=null,s=null,o=this._SCANNING_FOR_INCOMING,a=0;a<this._resultAreaEdgeList.size();a++){var l=r._resultAreaEdgeList.get(a),u=l.getSym();if(l.getLabel().isArea())switch(i===null&&l.isInResult()&&(i=l),o){case r._SCANNING_FOR_INCOMING:if(!u.isInResult())continue;s=u,o=r._LINKING_TO_OUTGOING;break;case r._LINKING_TO_OUTGOING:if(!l.isInResult())continue;s.setNext(l),o=r._SCANNING_FOR_INCOMING;break}}if(o===this._LINKING_TO_OUTGOING){if(i===null)throw new ui("no outgoing dirEdge found",this.getCoordinate());fe.isTrue(i.isInResult(),"unable to link last incoming dirEdge"),s.setNext(i)}},e.prototype.insert=function(r){var i=r;this.insertEdgeEnd(i,i)},e.prototype.getRightmostEdge=function(){var r=this.getEdges(),i=r.size();if(i<1)return null;var s=r.get(0);if(i===1)return s;var o=r.get(i-1),a=s.getQuadrant(),l=o.getQuadrant();return Me.isNorthern(a)&&Me.isNorthern(l)?s:!Me.isNorthern(a)&&!Me.isNorthern(l)?o:s.getDy()!==0?s:o.getDy()!==0?o:(fe.shouldNeverReachHere("found two horizontal edges incident on node"),null)},e.prototype.print=function(r){mt.out.println("DirectedEdgeStar: "+this.getCoordinate());for(var i=this.iterator();i.hasNext();){var s=i.next();r.print("out "),s.print(r),r.println(),r.print("in "),s.getSym().print(r),r.println()}},e.prototype.getResultAreaEdges=function(){var r=this;if(this._resultAreaEdgeList!==null)return this._resultAreaEdgeList;this._resultAreaEdgeList=new W;for(var i=this.iterator();i.hasNext();){var s=i.next();(s.isInResult()||s.getSym().isInResult())&&r._resultAreaEdgeList.add(s)}return this._resultAreaEdgeList},e.prototype.updateLabelling=function(r){for(var i=this.iterator();i.hasNext();){var s=i.next(),o=s.getLabel();o.setAllLocationsIfNull(0,r.getLocation(0)),o.setAllLocationsIfNull(1,r.getLocation(1))}},e.prototype.linkAllDirectedEdges=function(){var r=this;this.getEdges();for(var i=null,s=null,o=this._edgeList.size()-1;o>=0;o--){var a=r._edgeList.get(o),l=a.getSym();s===null&&(s=l),i!==null&&l.setNext(i),i=a}s.setNext(i)},e.prototype.computeDepths=function(){var r=this;if(arguments.length===1){var i=arguments[0],s=this.findIndex(i),o=i.getDepth(U.LEFT),a=i.getDepth(U.RIGHT),l=this.computeDepths(s+1,this._edgeList.size(),o),u=this.computeDepths(0,s,l);if(u!==a)throw new ui("depth mismatch at "+i.getCoordinate())}else if(arguments.length===3){for(var h=arguments[0],f=arguments[1],d=arguments[2],v=d,w=h;w<f;w++){var I=r._edgeList.get(w);I.setEdgeDepths(U.RIGHT,v),v=I.getDepth(U.LEFT)}return v}},e.prototype.mergeSymLabels=function(){for(var r=this.iterator();r.hasNext();){var i=r.next(),s=i.getLabel();s.merge(i.getSym().getLabel())}},e.prototype.linkMinimalDirectedEdges=function(r){for(var i=this,s=null,o=null,a=this._SCANNING_FOR_INCOMING,l=this._resultAreaEdgeList.size()-1;l>=0;l--){var u=i._resultAreaEdgeList.get(l),h=u.getSym();switch(s===null&&u.getEdgeRing()===r&&(s=u),a){case i._SCANNING_FOR_INCOMING:if(h.getEdgeRing()!==r)continue;o=h,a=i._LINKING_TO_OUTGOING;break;case i._LINKING_TO_OUTGOING:if(u.getEdgeRing()!==r)continue;o.setNextMin(u),a=i._SCANNING_FOR_INCOMING;break}}a===this._LINKING_TO_OUTGOING&&(fe.isTrue(s!==null,"found null for first outgoing dirEdge"),fe.isTrue(s.getEdgeRing()===r,"unable to link last incoming dirEdge"),o.setNextMin(s))},e.prototype.getOutgoingDegree=function(){if(arguments.length===0){for(var r=0,i=this.iterator();i.hasNext();){var s=i.next();s.isInResult()&&r++}return r}else if(arguments.length===1){for(var o=arguments[0],a=0,l=this.iterator();l.hasNext();){var u=l.next();u.getEdgeRing()===o&&a++}return a}},e.prototype.getLabel=function(){return this._label},e.prototype.findCoveredLineEdges=function(){for(var r=R.NONE,i=this.iterator();i.hasNext();){var s=i.next(),o=s.getSym();if(!s.isLineEdge()){if(s.isInResult()){r=R.INTERIOR;break}if(o.isInResult()){r=R.EXTERIOR;break}}}if(r===R.NONE)return null;for(var a=r,l=this.iterator();l.hasNext();){var u=l.next(),h=u.getSym();u.isLineEdge()?u.getEdge().setCovered(a===R.INTERIOR):(u.isInResult()&&(a=R.EXTERIOR),h.isInResult()&&(a=R.INTERIOR))}},e.prototype.computeLabelling=function(r){var i=this;n.prototype.computeLabelling.call(this,r),this._label=new De(R.NONE);for(var s=this.iterator();s.hasNext();)for(var o=s.next(),a=o.getEdge(),l=a.getLabel(),u=0;u<2;u++){var h=l.getLocation(u);(h===R.INTERIOR||h===R.BOUNDARY)&&i._label.setLocation(u,R.INTERIOR)}},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(bt),Qf=function(n){function e(){n.apply(this,arguments)}return n&&(e.__proto__=n),e.prototype=Object.create(n&&n.prototype),e.prototype.constructor=e,e.prototype.createNode=function(r){return new Yu(r,new av)},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(hl),Fi=function n(){this._pts=null,this._orientation=null;var e=arguments[0];this._pts=e,this._orientation=n.orientation(e)};Fi.prototype.compareTo=function(e){var t=e,r=Fi.compareOriented(this._pts,this._orientation,t._pts,t._orientation);return r},Fi.prototype.interfaces_=function(){return[Sr]},Fi.prototype.getClass=function(){return Fi},Fi.orientation=function(e){return de.increasingDirection(e)===1},Fi.compareOriented=function(e,t,r,i){for(var s=t?1:-1,o=i?1:-1,a=t?e.length:-1,l=i?r.length:-1,u=t?0:e.length-1,h=i?0:r.length-1;;){var f=e[u].compareTo(r[h]);if(f!==0)return f;u+=s,h+=o;var d=u===a,v=h===l;if(d&&!v)return-1;if(!d&&v)return 1;if(d&&v)return 0}};var Br=function(){this._edges=new W,this._ocaMap=new It};Br.prototype.print=function(e){var t=this;e.print("MULTILINESTRING ( ");for(var r=0;r<this._edges.size();r++){var i=t._edges.get(r);r>0&&e.print(","),e.print("(");for(var s=i.getCoordinates(),o=0;o<s.length;o++)o>0&&e.print(","),e.print(s[o].x+" "+s[o].y);e.println(")")}e.print(") ")},Br.prototype.addAll=function(e){for(var t=this,r=e.iterator();r.hasNext();)t.add(r.next())},Br.prototype.findEdgeIndex=function(e){for(var t=this,r=0;r<this._edges.size();r++)if(t._edges.get(r).equals(e))return r;return-1},Br.prototype.iterator=function(){return this._edges.iterator()},Br.prototype.getEdges=function(){return this._edges},Br.prototype.get=function(e){return this._edges.get(e)},Br.prototype.findEqualEdge=function(e){var t=new Fi(e.getCoordinates()),r=this._ocaMap.get(t);return r},Br.prototype.add=function(e){this._edges.add(e);var t=new Fi(e.getCoordinates());this._ocaMap.put(t,e)},Br.prototype.interfaces_=function(){return[]},Br.prototype.getClass=function(){return Br};var vs=function(){};vs.prototype.processIntersections=function(e,t,r,i){},vs.prototype.isDone=function(){},vs.prototype.interfaces_=function(){return[]},vs.prototype.getClass=function(){return vs};var dr=function(){this._hasIntersection=!1,this._hasProper=!1,this._hasProperInterior=!1,this._hasInterior=!1,this._properIntersectionPoint=null,this._li=null,this._isSelfIntersection=null,this.numIntersections=0,this.numInteriorIntersections=0,this.numProperIntersections=0,this.numTests=0;var e=arguments[0];this._li=e};dr.prototype.isTrivialIntersection=function(e,t,r,i){if(e===r&&this._li.getIntersectionNum()===1){if(dr.isAdjacentSegments(t,i))return!0;if(e.isClosed()){var s=e.size()-1;if(t===0&&i===s||i===0&&t===s)return!0}}return!1},dr.prototype.getProperIntersectionPoint=function(){return this._properIntersectionPoint},dr.prototype.hasProperInteriorIntersection=function(){return this._hasProperInterior},dr.prototype.getLineIntersector=function(){return this._li},dr.prototype.hasProperIntersection=function(){return this._hasProper},dr.prototype.processIntersections=function(e,t,r,i){if(e===r&&t===i)return null;this.numTests++;var s=e.getCoordinates()[t],o=e.getCoordinates()[t+1],a=r.getCoordinates()[i],l=r.getCoordinates()[i+1];this._li.computeIntersection(s,o,a,l),this._li.hasIntersection()&&(this.numIntersections++,this._li.isInteriorIntersection()&&(this.numInteriorIntersections++,this._hasInterior=!0),this.isTrivialIntersection(e,t,r,i)||(this._hasIntersection=!0,e.addIntersections(this._li,t,0),r.addIntersections(this._li,i,1),this._li.isProper()&&(this.numProperIntersections++,this._hasProper=!0,this._hasProperInterior=!0)))},dr.prototype.hasIntersection=function(){return this._hasIntersection},dr.prototype.isDone=function(){return!1},dr.prototype.hasInteriorIntersection=function(){return this._hasInterior},dr.prototype.interfaces_=function(){return[vs]},dr.prototype.getClass=function(){return dr},dr.isAdjacentSegments=function(e,t){return Math.abs(e-t)===1};var _n=function(){this.coord=null,this.segmentIndex=null,this.dist=null;var e=arguments[0],t=arguments[1],r=arguments[2];this.coord=new M(e),this.segmentIndex=t,this.dist=r};_n.prototype.getSegmentIndex=function(){return this.segmentIndex},_n.prototype.getCoordinate=function(){return this.coord},_n.prototype.print=function(e){e.print(this.coord),e.print(" seg # = "+this.segmentIndex),e.println(" dist = "+this.dist)},_n.prototype.compareTo=function(e){var t=e;return this.compare(t.segmentIndex,t.dist)},_n.prototype.isEndPoint=function(e){return this.segmentIndex===0&&this.dist===0||this.segmentIndex===e},_n.prototype.toString=function(){return this.coord+" seg # = "+this.segmentIndex+" dist = "+this.dist},_n.prototype.getDistance=function(){return this.dist},_n.prototype.compare=function(e,t){return this.segmentIndex<e?-1:this.segmentIndex>e?1:this.dist<t?-1:this.dist>t?1:0},_n.prototype.interfaces_=function(){return[Sr]},_n.prototype.getClass=function(){return _n};var zn=function(){this._nodeMap=new It,this.edge=null;var e=arguments[0];this.edge=e};zn.prototype.print=function(e){e.println("Intersections:");for(var t=this.iterator();t.hasNext();){var r=t.next();r.print(e)}},zn.prototype.iterator=function(){return this._nodeMap.values().iterator()},zn.prototype.addSplitEdges=function(e){var t=this;this.addEndpoints();for(var r=this.iterator(),i=r.next();r.hasNext();){var s=r.next(),o=t.createSplitEdge(i,s);e.add(o),i=s}},zn.prototype.addEndpoints=function(){var e=this.edge.pts.length-1;this.add(this.edge.pts[0],0,0),this.add(this.edge.pts[e],e,0)},zn.prototype.createSplitEdge=function(e,t){var r=this,i=t.segmentIndex-e.segmentIndex+2,s=this.edge.pts[t.segmentIndex],o=t.dist>0||!t.coord.equals2D(s);o||i--;var a=new Array(i).fill(null),l=0;a[l++]=new M(e.coord);for(var u=e.segmentIndex+1;u<=t.segmentIndex;u++)a[l++]=r.edge.pts[u];return o&&(a[l]=t.coord),new Ju(a,new De(this.edge._label))},zn.prototype.add=function(e,t,r){var i=new _n(e,t,r),s=this._nodeMap.get(i);return s!==null?s:(this._nodeMap.put(i,i),i)},zn.prototype.isIntersection=function(e){for(var t=this.iterator();t.hasNext();){var r=t.next();if(r.coord.equals(e))return!0}return!1},zn.prototype.interfaces_=function(){return[]},zn.prototype.getClass=function(){return zn};var ys=function(){};ys.prototype.getChainStartIndices=function(e){var t=this,r=0,i=new W;i.add(new ln(r));do{var s=t.findChainEnd(e,r);i.add(new ln(s)),r=s}while(r<e.length-1);var o=ys.toIntArray(i);return o},ys.prototype.findChainEnd=function(e,t){for(var r=Me.quadrant(e[t],e[t+1]),i=t+1;i<e.length;){var s=Me.quadrant(e[i-1],e[i]);if(s!==r)break;i++}return i-1},ys.prototype.interfaces_=function(){return[]},ys.prototype.getClass=function(){return ys},ys.toIntArray=function(e){for(var t=new Array(e.size()).fill(null),r=0;r<t.length;r++)t[r]=e.get(r).intValue();return t};var fi=function(){this.e=null,this.pts=null,this.startIndex=null,this.env1=new te,this.env2=new te;var e=arguments[0];this.e=e,this.pts=e.getCoordinates();var t=new ys;this.startIndex=t.getChainStartIndices(this.pts)};fi.prototype.getCoordinates=function(){return this.pts},fi.prototype.getMaxX=function(e){var t=this.pts[this.startIndex[e]].x,r=this.pts[this.startIndex[e+1]].x;return t>r?t:r},fi.prototype.getMinX=function(e){var t=this.pts[this.startIndex[e]].x,r=this.pts[this.startIndex[e+1]].x;return t<r?t:r},fi.prototype.computeIntersectsForChain=function(){if(arguments.length===4){var e=arguments[0],t=arguments[1],r=arguments[2],i=arguments[3];this.computeIntersectsForChain(this.startIndex[e],this.startIndex[e+1],t,t.startIndex[r],t.startIndex[r+1],i)}else if(arguments.length===6){var s=arguments[0],o=arguments[1],a=arguments[2],l=arguments[3],u=arguments[4],h=arguments[5],f=this.pts[s],d=this.pts[o],v=a.pts[l],w=a.pts[u];if(o-s===1&&u-l===1)return h.addIntersections(this.e,s,a.e,l),null;if(this.env1.init(f,d),this.env2.init(v,w),!this.env1.intersects(this.env2))return null;var I=Math.trunc((s+o)/2),T=Math.trunc((l+u)/2);s<I&&(l<T&&this.computeIntersectsForChain(s,I,a,l,T,h),T<u&&this.computeIntersectsForChain(s,I,a,T,u,h)),I<o&&(l<T&&this.computeIntersectsForChain(I,o,a,l,T,h),T<u&&this.computeIntersectsForChain(I,o,a,T,u,h))}},fi.prototype.getStartIndexes=function(){return this.startIndex},fi.prototype.computeIntersects=function(e,t){for(var r=this,i=0;i<this.startIndex.length-1;i++)for(var s=0;s<e.startIndex.length-1;s++)r.computeIntersectsForChain(i,e,s,t)},fi.prototype.interfaces_=function(){return[]},fi.prototype.getClass=function(){return fi};var vt=function n(){var e=this;this._depth=Array(2).fill().map(function(){return Array(3)});for(var t=0;t<2;t++)for(var r=0;r<3;r++)e._depth[t][r]=n.NULL_VALUE},Bf={NULL_VALUE:{configurable:!0}};vt.prototype.getDepth=function(e,t){return this._depth[e][t]},vt.prototype.setDepth=function(e,t,r){this._depth[e][t]=r},vt.prototype.isNull=function(){var e=this;if(arguments.length===0){for(var t=0;t<2;t++)for(var r=0;r<3;r++)if(e._depth[t][r]!==vt.NULL_VALUE)return!1;return!0}else if(arguments.length===1){var i=arguments[0];return this._depth[i][1]===vt.NULL_VALUE}else if(arguments.length===2){var s=arguments[0],o=arguments[1];return this._depth[s][o]===vt.NULL_VALUE}},vt.prototype.normalize=function(){for(var e=this,t=0;t<2;t++)if(!e.isNull(t)){var r=e._depth[t][1];e._depth[t][2]<r&&(r=e._depth[t][2]),r<0&&(r=0);for(var i=1;i<3;i++){var s=0;e._depth[t][i]>r&&(s=1),e._depth[t][i]=s}}},vt.prototype.getDelta=function(e){return this._depth[e][U.RIGHT]-this._depth[e][U.LEFT]},vt.prototype.getLocation=function(e,t){return this._depth[e][t]<=0?R.EXTERIOR:R.INTERIOR},vt.prototype.toString=function(){return"A: "+this._depth[0][1]+","+this._depth[0][2]+" B: "+this._depth[1][1]+","+this._depth[1][2]},vt.prototype.add=function(){var e=this;if(arguments.length===1)for(var t=arguments[0],r=0;r<2;r++)for(var i=1;i<3;i++){var s=t.getLocation(r,i);(s===R.EXTERIOR||s===R.INTERIOR)&&(e.isNull(r,i)?e._depth[r][i]=vt.depthAtLocation(s):e._depth[r][i]+=vt.depthAtLocation(s))}else if(arguments.length===3){var o=arguments[0],a=arguments[1],l=arguments[2];l===R.INTERIOR&&this._depth[o][a]++}},vt.prototype.interfaces_=function(){return[]},vt.prototype.getClass=function(){return vt},vt.depthAtLocation=function(e){return e===R.EXTERIOR?0:e===R.INTERIOR?1:vt.NULL_VALUE},Bf.NULL_VALUE.get=function(){return-1},Object.defineProperties(vt,Bf);var Ju=function(n){function e(){if(n.call(this),this.pts=null,this._env=null,this.eiList=new zn(this),this._name=null,this._mce=null,this._isIsolated=!0,this._depth=new vt,this._depthDelta=0,arguments.length===1){var t=arguments[0];e.call(this,t,null)}else if(arguments.length===2){var r=arguments[0],i=arguments[1];this.pts=r,this._label=i}}return n&&(e.__proto__=n),e.prototype=Object.create(n&&n.prototype),e.prototype.constructor=e,e.prototype.getDepth=function(){return this._depth},e.prototype.getCollapsedEdge=function(){var r=new Array(2).fill(null);r[0]=this.pts[0],r[1]=this.pts[1];var i=new e(r,De.toLineLabel(this._label));return i},e.prototype.isIsolated=function(){return this._isIsolated},e.prototype.getCoordinates=function(){return this.pts},e.prototype.setIsolated=function(r){this._isIsolated=r},e.prototype.setName=function(r){this._name=r},e.prototype.equals=function(r){var i=this;if(!(r instanceof e))return!1;var s=r;if(this.pts.length!==s.pts.length)return!1;for(var o=!0,a=!0,l=this.pts.length,u=0;u<this.pts.length;u++)if(i.pts[u].equals2D(s.pts[u])||(o=!1),i.pts[u].equals2D(s.pts[--l])||(a=!1),!o&&!a)return!1;return!0},e.prototype.getCoordinate=function(){if(arguments.length===0)return this.pts.length>0?this.pts[0]:null;if(arguments.length===1){var r=arguments[0];return this.pts[r]}},e.prototype.print=function(r){var i=this;r.print("edge "+this._name+": "),r.print("LINESTRING (");for(var s=0;s<this.pts.length;s++)s>0&&r.print(","),r.print(i.pts[s].x+" "+i.pts[s].y);r.print(") "+this._label+" "+this._depthDelta)},e.prototype.computeIM=function(r){e.updateIM(this._label,r)},e.prototype.isCollapsed=function(){return!this._label.isArea()||this.pts.length!==3?!1:!!this.pts[0].equals(this.pts[2])},e.prototype.isClosed=function(){return this.pts[0].equals(this.pts[this.pts.length-1])},e.prototype.getMaximumSegmentIndex=function(){return this.pts.length-1},e.prototype.getDepthDelta=function(){return this._depthDelta},e.prototype.getNumPoints=function(){return this.pts.length},e.prototype.printReverse=function(r){var i=this;r.print("edge "+this._name+": ");for(var s=this.pts.length-1;s>=0;s--)r.print(i.pts[s]+" ");r.println("")},e.prototype.getMonotoneChainEdge=function(){return this._mce===null&&(this._mce=new fi(this)),this._mce},e.prototype.getEnvelope=function(){var r=this;if(this._env===null){this._env=new te;for(var i=0;i<this.pts.length;i++)r._env.expandToInclude(r.pts[i])}return this._env},e.prototype.addIntersection=function(r,i,s,o){var a=new M(r.getIntersection(o)),l=i,u=r.getEdgeDistance(s,o),h=l+1;if(h<this.pts.length){var f=this.pts[h];a.equals2D(f)&&(l=h,u=0)}this.eiList.add(a,l,u)},e.prototype.toString=function(){var r=this,i=new an;i.append("edge "+this._name+": "),i.append("LINESTRING (");for(var s=0;s<this.pts.length;s++)s>0&&i.append(","),i.append(r.pts[s].x+" "+r.pts[s].y);return i.append(") "+this._label+" "+this._depthDelta),i.toString()},e.prototype.isPointwiseEqual=function(r){var i=this;if(this.pts.length!==r.pts.length)return!1;for(var s=0;s<this.pts.length;s++)if(!i.pts[s].equals2D(r.pts[s]))return!1;return!0},e.prototype.setDepthDelta=function(r){this._depthDelta=r},e.prototype.getEdgeIntersectionList=function(){return this.eiList},e.prototype.addIntersections=function(r,i,s){for(var o=this,a=0;a<r.getIntersectionNum();a++)o.addIntersection(r,i,s,a)},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e.updateIM=function(){if(arguments.length===2){var r=arguments[0],i=arguments[1];i.setAtLeastIfValid(r.getLocation(0,U.ON),r.getLocation(1,U.ON),1),r.isArea()&&(i.setAtLeastIfValid(r.getLocation(0,U.LEFT),r.getLocation(1,U.LEFT),2),i.setAtLeastIfValid(r.getLocation(0,U.RIGHT),r.getLocation(1,U.RIGHT),2))}else return n.prototype.updateIM.apply(this,arguments)},e}(hr),At=function(e){this._workingPrecisionModel=null,this._workingNoder=null,this._geomFact=null,this._graph=null,this._edgeList=new Br,this._bufParams=e||null};At.prototype.setWorkingPrecisionModel=function(e){this._workingPrecisionModel=e},At.prototype.insertUniqueEdge=function(e){var t=this._edgeList.findEqualEdge(e);if(t!==null){var r=t.getLabel(),i=e.getLabel();t.isPointwiseEqual(e)||(i=new De(e.getLabel()),i.flip()),r.merge(i);var s=At.depthDelta(i),o=t.getDepthDelta(),a=o+s;t.setDepthDelta(a)}else this._edgeList.add(e),e.setDepthDelta(At.depthDelta(e.getLabel()))},At.prototype.buildSubgraphs=function(e,t){for(var r=new W,i=e.iterator();i.hasNext();){var s=i.next(),o=s.getRightmostCoordinate(),a=new js(r),l=a.getDepth(o);s.computeDepth(l),s.findResultEdges(),r.add(s),t.add(s.getDirectedEdges(),s.getNodes())}},At.prototype.createSubgraphs=function(e){for(var t=new W,r=e.getNodes().iterator();r.hasNext();){var i=r.next();if(!i.isVisited()){var s=new xt;s.create(i),t.add(s)}}return Qr.sort(t,Qr.reverseOrder()),t},At.prototype.createEmptyResultGeometry=function(){var e=this._geomFact.createPolygon();return e},At.prototype.getNoder=function(e){if(this._workingNoder!==null)return this._workingNoder;var t=new jc,r=new hs;return r.setPrecisionModel(e),t.setSegmentIntersector(new dr(r)),t},At.prototype.buffer=function(e,t){var r=this._workingPrecisionModel;r===null&&(r=e.getPrecisionModel()),this._geomFact=e.getFactory();var i=new qt(r,this._bufParams),s=new Nr(e,t,i),o=s.getCurves();if(o.size()<=0)return this.createEmptyResultGeometry();this.computeNodedEdges(o,r),this._graph=new qe(new Qf),this._graph.addEdges(this._edgeList.getEdges());var a=this.createSubgraphs(this._graph),l=new tr(this._geomFact);this.buildSubgraphs(a,l);var u=l.getPolygons();if(u.size()<=0)return this.createEmptyResultGeometry();var h=this._geomFact.buildGeometry(u);return h},At.prototype.computeNodedEdges=function(e,t){var r=this,i=this.getNoder(t);i.computeNodes(e);for(var s=i.getNodedSubstrings(),o=s.iterator();o.hasNext();){var a=o.next(),l=a.getCoordinates();if(!(l.length===2&&l[0].equals2D(l[1]))){var u=a.getData(),h=new Ju(a.getCoordinates(),new De(u));r.insertUniqueEdge(h)}}},At.prototype.setNoder=function(e){this._workingNoder=e},At.prototype.interfaces_=function(){return[]},At.prototype.getClass=function(){return At},At.depthDelta=function(e){var t=e.getLocation(0,U.LEFT),r=e.getLocation(0,U.RIGHT);return t===R.INTERIOR&&r===R.EXTERIOR?1:t===R.EXTERIOR&&r===R.INTERIOR?-1:0},At.convertSegStrings=function(e){for(var t=new ge,r=new W;e.hasNext();){var i=e.next(),s=t.createLineString(i.getCoordinates());r.add(s)}return t.buildGeometry(r)};var ki=function(){if(this._noder=null,this._scaleFactor=null,this._offsetX=null,this._offsetY=null,this._isScaled=!1,arguments.length===2){var e=arguments[0],t=arguments[1];this._noder=e,this._scaleFactor=t,this._offsetX=0,this._offsetY=0,this._isScaled=!this.isIntegerPrecision()}else if(arguments.length===4){var r=arguments[0],i=arguments[1],s=arguments[2],o=arguments[3];this._noder=r,this._scaleFactor=i,this._offsetX=s,this._offsetY=o,this._isScaled=!this.isIntegerPrecision()}};ki.prototype.rescale=function(){var e=this;if(ae(arguments[0],nt))for(var t=arguments[0],r=t.iterator();r.hasNext();){var i=r.next();e.rescale(i.getCoordinates())}else if(arguments[0]instanceof Array){for(var s=arguments[0],o=0;o<s.length;o++)s[o].x=s[o].x/e._scaleFactor+e._offsetX,s[o].y=s[o].y/e._scaleFactor+e._offsetY;s.length===2&&s[0].equals2D(s[1])&&mt.out.println(s)}},ki.prototype.scale=function(){var e=this;if(ae(arguments[0],nt)){for(var t=arguments[0],r=new W,i=t.iterator();i.hasNext();){var s=i.next();r.add(new Be(e.scale(s.getCoordinates()),s.getData()))}return r}else if(arguments[0]instanceof Array){for(var o=arguments[0],a=new Array(o.length).fill(null),l=0;l<o.length;l++)a[l]=new M(Math.round((o[l].x-e._offsetX)*e._scaleFactor),Math.round((o[l].y-e._offsetY)*e._scaleFactor),o[l].z);var u=de.removeRepeatedPoints(a);return u}},ki.prototype.isIntegerPrecision=function(){return this._scaleFactor===1},ki.prototype.getNodedSubstrings=function(){var e=this._noder.getNodedSubstrings();return this._isScaled&&this.rescale(e),e},ki.prototype.computeNodes=function(e){var t=e;this._isScaled&&(t=this.scale(e)),this._noder.computeNodes(t)},ki.prototype.interfaces_=function(){return[gs]},ki.prototype.getClass=function(){return ki};var wn=function(){this._li=new hs,this._segStrings=null;var e=arguments[0];this._segStrings=e},$f={fact:{configurable:!0}};wn.prototype.checkEndPtVertexIntersections=function(){var e=this;if(arguments.length===0)for(var t=this._segStrings.iterator();t.hasNext();){var r=t.next(),i=r.getCoordinates();e.checkEndPtVertexIntersections(i[0],e._segStrings),e.checkEndPtVertexIntersections(i[i.length-1],e._segStrings)}else if(arguments.length===2){for(var s=arguments[0],o=arguments[1],a=o.iterator();a.hasNext();)for(var l=a.next(),u=l.getCoordinates(),h=1;h<u.length-1;h++)if(u[h].equals(s))throw new ni("found endpt/interior pt intersection at index "+h+" :pt "+s)}},wn.prototype.checkInteriorIntersections=function(){var e=this;if(arguments.length===0)for(var t=this._segStrings.iterator();t.hasNext();)for(var r=t.next(),i=this._segStrings.iterator();i.hasNext();){var s=i.next();e.checkInteriorIntersections(r,s)}else if(arguments.length===2)for(var o=arguments[0],a=arguments[1],l=o.getCoordinates(),u=a.getCoordinates(),h=0;h<l.length-1;h++)for(var f=0;f<u.length-1;f++)e.checkInteriorIntersections(o,h,a,f);else if(arguments.length===4){var d=arguments[0],v=arguments[1],w=arguments[2],I=arguments[3];if(d===w&&v===I)return null;var T=d.getCoordinates()[v],L=d.getCoordinates()[v+1],m=w.getCoordinates()[I],_=w.getCoordinates()[I+1];if(this._li.computeIntersection(T,L,m,_),this._li.hasIntersection()&&(this._li.isProper()||this.hasInteriorIntersection(this._li,T,L)||this.hasInteriorIntersection(this._li,m,_)))throw new ni("found non-noded intersection at "+T+"-"+L+" and "+m+"-"+_)}},wn.prototype.checkValid=function(){this.checkEndPtVertexIntersections(),this.checkInteriorIntersections(),this.checkCollapses()},wn.prototype.checkCollapses=function(){var e=this;if(arguments.length===0)for(var t=this._segStrings.iterator();t.hasNext();){var r=t.next();e.checkCollapses(r)}else if(arguments.length===1)for(var i=arguments[0],s=i.getCoordinates(),o=0;o<s.length-2;o++)e.checkCollapse(s[o],s[o+1],s[o+2])},wn.prototype.hasInteriorIntersection=function(e,t,r){for(var i=0;i<e.getIntersectionNum();i++){var s=e.getIntersection(i);if(!(s.equals(t)||s.equals(r)))return!0}return!1},wn.prototype.checkCollapse=function(e,t,r){if(e.equals(r))throw new ni("found non-noded collapse at "+wn.fact.createLineString([e,t,r]))},wn.prototype.interfaces_=function(){return[]},wn.prototype.getClass=function(){return wn},$f.fact.get=function(){return new ge},Object.defineProperties(wn,$f);var Xt=function(){this._li=null,this._pt=null,this._originalPt=null,this._ptScaled=null,this._p0Scaled=null,this._p1Scaled=null,this._scaleFactor=null,this._minx=null,this._maxx=null,this._miny=null,this._maxy=null,this._corner=new Array(4).fill(null),this._safeEnv=null;var e=arguments[0],t=arguments[1],r=arguments[2];if(this._originalPt=e,this._pt=e,this._scaleFactor=t,this._li=r,t<=0)throw new ze("Scale factor must be non-zero");t!==1&&(this._pt=new M(this.scale(e.x),this.scale(e.y)),this._p0Scaled=new M,this._p1Scaled=new M),this.initCorners(this._pt)},jf={SAFE_ENV_EXPANSION_FACTOR:{configurable:!0}};Xt.prototype.intersectsScaled=function(e,t){var r=Math.min(e.x,t.x),i=Math.max(e.x,t.x),s=Math.min(e.y,t.y),o=Math.max(e.y,t.y),a=this._maxx<r||this._minx>i||this._maxy<s||this._miny>o;if(a)return!1;var l=this.intersectsToleranceSquare(e,t);return fe.isTrue(!(a&&l),"Found bad envelope test"),l},Xt.prototype.initCorners=function(e){var t=.5;this._minx=e.x-t,this._maxx=e.x+t,this._miny=e.y-t,this._maxy=e.y+t,this._corner[0]=new M(this._maxx,this._maxy),this._corner[1]=new M(this._minx,this._maxy),this._corner[2]=new M(this._minx,this._miny),this._corner[3]=new M(this._maxx,this._miny)},Xt.prototype.intersects=function(e,t){return this._scaleFactor===1?this.intersectsScaled(e,t):(this.copyScaled(e,this._p0Scaled),this.copyScaled(t,this._p1Scaled),this.intersectsScaled(this._p0Scaled,this._p1Scaled))},Xt.prototype.scale=function(e){return Math.round(e*this._scaleFactor)},Xt.prototype.getCoordinate=function(){return this._originalPt},Xt.prototype.copyScaled=function(e,t){t.x=this.scale(e.x),t.y=this.scale(e.y)},Xt.prototype.getSafeEnvelope=function(){if(this._safeEnv===null){var e=Xt.SAFE_ENV_EXPANSION_FACTOR/this._scaleFactor;this._safeEnv=new te(this._originalPt.x-e,this._originalPt.x+e,this._originalPt.y-e,this._originalPt.y+e)}return this._safeEnv},Xt.prototype.intersectsPixelClosure=function(e,t){return this._li.computeIntersection(e,t,this._corner[0],this._corner[1]),!!(this._li.hasIntersection()||(this._li.computeIntersection(e,t,this._corner[1],this._corner[2]),this._li.hasIntersection())||(this._li.computeIntersection(e,t,this._corner[2],this._corner[3]),this._li.hasIntersection())||(this._li.computeIntersection(e,t,this._corner[3],this._corner[0]),this._li.hasIntersection()))},Xt.prototype.intersectsToleranceSquare=function(e,t){var r=!1,i=!1;return this._li.computeIntersection(e,t,this._corner[0],this._corner[1]),!!(this._li.isProper()||(this._li.computeIntersection(e,t,this._corner[1],this._corner[2]),this._li.isProper())||(this._li.hasIntersection()&&(r=!0),this._li.computeIntersection(e,t,this._corner[2],this._corner[3]),this._li.isProper())||(this._li.hasIntersection()&&(i=!0),this._li.computeIntersection(e,t,this._corner[3],this._corner[0]),this._li.isProper())||r&&i||e.equals(this._pt)||t.equals(this._pt))},Xt.prototype.addSnappedNode=function(e,t){var r=e.getCoordinate(t),i=e.getCoordinate(t+1);return this.intersects(r,i)?(e.addIntersection(this.getCoordinate(),t),!0):!1},Xt.prototype.interfaces_=function(){return[]},Xt.prototype.getClass=function(){return Xt},jf.SAFE_ENV_EXPANSION_FACTOR.get=function(){return .75},Object.defineProperties(Xt,jf);var iu=function(){this.tempEnv1=new te,this.selectedSegment=new re};iu.prototype.select=function(){if(arguments.length!==1){if(arguments.length===2){var e=arguments[0],t=arguments[1];e.getLineSegment(t,this.selectedSegment),this.select(this.selectedSegment)}}},iu.prototype.interfaces_=function(){return[]},iu.prototype.getClass=function(){return iu};var gl=function(){this._index=null;var e=arguments[0];this._index=e},ep={HotPixelSnapAction:{configurable:!0}};gl.prototype.snap=function(){if(arguments.length===1){var e=arguments[0];return this.snap(e,null,-1)}else if(arguments.length===3){var t=arguments[0],r=arguments[1],i=arguments[2],s=t.getSafeEnvelope(),o=new tp(t,r,i);return this._index.query(s,{interfaces_:function(){return[Ai]},visitItem:function(a){var l=a;l.select(s,o)}}),o.isNodeAdded()}},gl.prototype.interfaces_=function(){return[]},gl.prototype.getClass=function(){return gl},ep.HotPixelSnapAction.get=function(){return tp},Object.defineProperties(gl,ep);var tp=function(n){function e(){n.call(this),this._hotPixel=null,this._parentEdge=null,this._hotPixelVertexIndex=null,this._isNodeAdded=!1;var t=arguments[0],r=arguments[1],i=arguments[2];this._hotPixel=t,this._parentEdge=r,this._hotPixelVertexIndex=i}return n&&(e.__proto__=n),e.prototype=Object.create(n&&n.prototype),e.prototype.constructor=e,e.prototype.isNodeAdded=function(){return this._isNodeAdded},e.prototype.select=function(){if(arguments.length===2){var r=arguments[0],i=arguments[1],s=r.getContext();if(this._parentEdge!==null&&s===this._parentEdge&&i===this._hotPixelVertexIndex)return null;this._isNodeAdded=this._hotPixel.addSnappedNode(s,i)}else return n.prototype.select.apply(this,arguments)},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(iu),eo=function(){this._li=null,this._interiorIntersections=null;var e=arguments[0];this._li=e,this._interiorIntersections=new W};eo.prototype.processIntersections=function(e,t,r,i){var s=this;if(e===r&&t===i)return null;var o=e.getCoordinates()[t],a=e.getCoordinates()[t+1],l=r.getCoordinates()[i],u=r.getCoordinates()[i+1];if(this._li.computeIntersection(o,a,l,u),this._li.hasIntersection()&&this._li.isInteriorIntersection()){for(var h=0;h<this._li.getIntersectionNum();h++)s._interiorIntersections.add(s._li.getIntersection(h));e.addIntersections(this._li,t,0),r.addIntersections(this._li,i,1)}},eo.prototype.isDone=function(){return!1},eo.prototype.getInteriorIntersections=function(){return this._interiorIntersections},eo.prototype.interfaces_=function(){return[vs]},eo.prototype.getClass=function(){return eo};var Un=function(){this._pm=null,this._li=null,this._scaleFactor=null,this._noder=null,this._pointSnapper=null,this._nodedSegStrings=null;var e=arguments[0];this._pm=e,this._li=new hs,this._li.setPrecisionModel(e),this._scaleFactor=e.getScale()};Un.prototype.checkCorrectness=function(e){var t=Be.getNodedSubstrings(e),r=new wn(t);try{r.checkValid()}catch(i){if(i instanceof Af)i.printStackTrace();else throw i}finally{}},Un.prototype.getNodedSubstrings=function(){return Be.getNodedSubstrings(this._nodedSegStrings)},Un.prototype.snapRound=function(e,t){var r=this.findInteriorIntersections(e,t);this.computeIntersectionSnaps(r),this.computeVertexSnaps(e)},Un.prototype.findInteriorIntersections=function(e,t){var r=new eo(t);return this._noder.setSegmentIntersector(r),this._noder.computeNodes(e),r.getInteriorIntersections()},Un.prototype.computeVertexSnaps=function(){var e=this;if(ae(arguments[0],nt))for(var t=arguments[0],r=t.iterator();r.hasNext();){var i=r.next();e.computeVertexSnaps(i)}else if(arguments[0]instanceof Be)for(var s=arguments[0],o=s.getCoordinates(),a=0;a<o.length;a++){var l=new Xt(o[a],e._scaleFactor,e._li),u=e._pointSnapper.snap(l,s,a);u&&s.addIntersection(o[a],a)}},Un.prototype.computeNodes=function(e){this._nodedSegStrings=e,this._noder=new jc,this._pointSnapper=new gl(this._noder.getIndex()),this.snapRound(e,this._li)},Un.prototype.computeIntersectionSnaps=function(e){for(var t=this,r=e.iterator();r.hasNext();){var i=r.next(),s=new Xt(i,t._scaleFactor,t._li);t._pointSnapper.snap(s)}},Un.prototype.interfaces_=function(){return[gs]},Un.prototype.getClass=function(){return Un};var yt=function(){if(this._argGeom=null,this._distance=null,this._bufParams=new be,this._resultGeometry=null,this._saveException=null,arguments.length===1){var e=arguments[0];this._argGeom=e}else if(arguments.length===2){var t=arguments[0],r=arguments[1];this._argGeom=t,this._bufParams=r}},ml={CAP_ROUND:{configurable:!0},CAP_BUTT:{configurable:!0},CAP_FLAT:{configurable:!0},CAP_SQUARE:{configurable:!0},MAX_PRECISION_DIGITS:{configurable:!0}};yt.prototype.bufferFixedPrecision=function(e){var t=new ki(new Un(new Te(1)),e.getScale()),r=new At(this._bufParams);r.setWorkingPrecisionModel(e),r.setNoder(t),this._resultGeometry=r.buffer(this._argGeom,this._distance)},yt.prototype.bufferReducedPrecision=function(){var e=this;if(arguments.length===0){for(var t=yt.MAX_PRECISION_DIGITS;t>=0;t--){try{e.bufferReducedPrecision(t)}catch(o){if(o instanceof ui)e._saveException=o;else throw o}finally{}if(e._resultGeometry!==null)return null}throw this._saveException}else if(arguments.length===1){var r=arguments[0],i=yt.precisionScaleFactor(this._argGeom,this._distance,r),s=new Te(i);this.bufferFixedPrecision(s)}},yt.prototype.computeGeometry=function(){if(this.bufferOriginalPrecision(),this._resultGeometry!==null)return null;var e=this._argGeom.getFactory().getPrecisionModel();e.getType()===Te.FIXED?this.bufferFixedPrecision(e):this.bufferReducedPrecision()},yt.prototype.setQuadrantSegments=function(e){this._bufParams.setQuadrantSegments(e)},yt.prototype.bufferOriginalPrecision=function(){try{var e=new At(this._bufParams);this._resultGeometry=e.buffer(this._argGeom,this._distance)}catch(t){if(t instanceof ni)this._saveException=t;else throw t}finally{}},yt.prototype.getResultGeometry=function(e){return this._distance=e,this.computeGeometry(),this._resultGeometry},yt.prototype.setEndCapStyle=function(e){this._bufParams.setEndCapStyle(e)},yt.prototype.interfaces_=function(){return[]},yt.prototype.getClass=function(){return yt},yt.bufferOp=function(){if(arguments.length===2){var e=arguments[0],t=arguments[1],r=new yt(e),i=r.getResultGeometry(t);return i}else if(arguments.length===3){if(Number.isInteger(arguments[2])&&arguments[0]instanceof oe&&typeof arguments[1]=="number"){var s=arguments[0],o=arguments[1],a=arguments[2],l=new yt(s);l.setQuadrantSegments(a);var u=l.getResultGeometry(o);return u}else if(arguments[2]instanceof be&&arguments[0]instanceof oe&&typeof arguments[1]=="number"){var h=arguments[0],f=arguments[1],d=arguments[2],v=new yt(h,d),w=v.getResultGeometry(f);return w}}else if(arguments.length===4){var I=arguments[0],T=arguments[1],L=arguments[2],m=arguments[3],_=new yt(I);_.setQuadrantSegments(L),_.setEndCapStyle(m);var g=_.getResultGeometry(T);return g}},yt.precisionScaleFactor=function(e,t,r){var i=e.getEnvelopeInternal(),s=cr.max(Math.abs(i.getMaxX()),Math.abs(i.getMaxY()),Math.abs(i.getMinX()),Math.abs(i.getMinY())),o=t>0?t:0,a=s+2*o,l=Math.trunc(Math.log(a)/Math.log(10)+1),u=r-l,h=Math.pow(10,u);return h},ml.CAP_ROUND.get=function(){return be.CAP_ROUND},ml.CAP_BUTT.get=function(){return be.CAP_FLAT},ml.CAP_FLAT.get=function(){return be.CAP_FLAT},ml.CAP_SQUARE.get=function(){return be.CAP_SQUARE},ml.MAX_PRECISION_DIGITS.get=function(){return 12},Object.defineProperties(yt,ml);var Rt=function(){this._pt=[new M,new M],this._distance=le.NaN,this._isNull=!0};Rt.prototype.getCoordinates=function(){return this._pt},Rt.prototype.getCoordinate=function(e){return this._pt[e]},Rt.prototype.setMinimum=function(){if(arguments.length===1){var e=arguments[0];this.setMinimum(e._pt[0],e._pt[1])}else if(arguments.length===2){var t=arguments[0],r=arguments[1];if(this._isNull)return this.initialize(t,r),null;var i=t.distance(r);i<this._distance&&this.initialize(t,r,i)}},Rt.prototype.initialize=function(){if(arguments.length===0)this._isNull=!0;else if(arguments.length===2){var e=arguments[0],t=arguments[1];this._pt[0].setCoordinate(e),this._pt[1].setCoordinate(t),this._distance=e.distance(t),this._isNull=!1}else if(arguments.length===3){var r=arguments[0],i=arguments[1],s=arguments[2];this._pt[0].setCoordinate(r),this._pt[1].setCoordinate(i),this._distance=s,this._isNull=!1}},Rt.prototype.getDistance=function(){return this._distance},Rt.prototype.setMaximum=function(){if(arguments.length===1){var e=arguments[0];this.setMaximum(e._pt[0],e._pt[1])}else if(arguments.length===2){var t=arguments[0],r=arguments[1];if(this._isNull)return this.initialize(t,r),null;var i=t.distance(r);i>this._distance&&this.initialize(t,r,i)}},Rt.prototype.interfaces_=function(){return[]},Rt.prototype.getClass=function(){return Rt};var Gn=function(){};Gn.prototype.interfaces_=function(){return[]},Gn.prototype.getClass=function(){return Gn},Gn.computeDistance=function(){if(arguments[2]instanceof Rt&&arguments[0]instanceof Ye&&arguments[1]instanceof M)for(var e=arguments[0],t=arguments[1],r=arguments[2],i=e.getCoordinates(),s=new re,o=0;o<i.length-1;o++){s.setCoordinates(i[o],i[o+1]);var a=s.closestPoint(t);r.setMinimum(a,t)}else if(arguments[2]instanceof Rt&&arguments[0]instanceof it&&arguments[1]instanceof M){var l=arguments[0],u=arguments[1],h=arguments[2];Gn.computeDistance(l.getExteriorRing(),u,h);for(var f=0;f<l.getNumInteriorRing();f++)Gn.computeDistance(l.getInteriorRingN(f),u,h)}else if(arguments[2]instanceof Rt&&arguments[0]instanceof oe&&arguments[1]instanceof M){var d=arguments[0],v=arguments[1],w=arguments[2];if(d instanceof Ye)Gn.computeDistance(d,v,w);else if(d instanceof it)Gn.computeDistance(d,v,w);else if(d instanceof Mt)for(var I=d,T=0;T<I.getNumGeometries();T++){var L=I.getGeometryN(T);Gn.computeDistance(L,v,w)}else w.setMinimum(d.getCoordinate(),v)}else if(arguments[2]instanceof Rt&&arguments[0]instanceof re&&arguments[1]instanceof M){var m=arguments[0],_=arguments[1],g=arguments[2],y=m.closestPoint(_);g.setMinimum(y,_)}};var _s=function(e){this._maxPtDist=new Rt,this._inputGeom=e||null},eh={MaxPointDistanceFilter:{configurable:!0},MaxMidpointDistanceFilter:{configurable:!0}};_s.prototype.computeMaxMidpointDistance=function(e){var t=new Vi(this._inputGeom);e.apply(t),this._maxPtDist.setMaximum(t.getMaxPointDistance())},_s.prototype.computeMaxVertexDistance=function(e){var t=new to(this._inputGeom);e.apply(t),this._maxPtDist.setMaximum(t.getMaxPointDistance())},_s.prototype.findDistance=function(e){return this.computeMaxVertexDistance(e),this.computeMaxMidpointDistance(e),this._maxPtDist.getDistance()},_s.prototype.getDistancePoints=function(){return this._maxPtDist},_s.prototype.interfaces_=function(){return[]},_s.prototype.getClass=function(){return _s},eh.MaxPointDistanceFilter.get=function(){return to},eh.MaxMidpointDistanceFilter.get=function(){return Vi},Object.defineProperties(_s,eh);var to=function(e){this._maxPtDist=new Rt,this._minPtDist=new Rt,this._geom=e||null};to.prototype.filter=function(e){this._minPtDist.initialize(),Gn.computeDistance(this._geom,e,this._minPtDist),this._maxPtDist.setMaximum(this._minPtDist)},to.prototype.getMaxPointDistance=function(){return this._maxPtDist},to.prototype.interfaces_=function(){return[Ln]},to.prototype.getClass=function(){return to};var Vi=function(e){this._maxPtDist=new Rt,this._minPtDist=new Rt,this._geom=e||null};Vi.prototype.filter=function(e,t){if(t===0)return null;var r=e.getCoordinate(t-1),i=e.getCoordinate(t),s=new M((r.x+i.x)/2,(r.y+i.y)/2);this._minPtDist.initialize(),Gn.computeDistance(this._geom,s,this._minPtDist),this._maxPtDist.setMaximum(this._minPtDist)},Vi.prototype.isDone=function(){return!1},Vi.prototype.isGeometryChanged=function(){return!1},Vi.prototype.getMaxPointDistance=function(){return this._maxPtDist},Vi.prototype.interfaces_=function(){return[Zr]},Vi.prototype.getClass=function(){return Vi};var pi=function(e){this._comps=e||null};pi.prototype.filter=function(e){e instanceof it&&this._comps.add(e)},pi.prototype.interfaces_=function(){return[fn]},pi.prototype.getClass=function(){return pi},pi.getPolygons=function(){if(arguments.length===1){var e=arguments[0];return pi.getPolygons(e,new W)}else if(arguments.length===2){var t=arguments[0],r=arguments[1];return t instanceof it?r.add(t):t instanceof Mt&&t.apply(new pi(r)),r}};var _t=function(){if(this._lines=null,this._isForcedToLineString=!1,arguments.length===1){var e=arguments[0];this._lines=e}else if(arguments.length===2){var t=arguments[0],r=arguments[1];this._lines=t,this._isForcedToLineString=r}};_t.prototype.filter=function(e){if(this._isForcedToLineString&&e instanceof An){var t=e.getFactory().createLineString(e.getCoordinateSequence());return this._lines.add(t),null}e instanceof Ye&&this._lines.add(e)},_t.prototype.setForceToLineString=function(e){this._isForcedToLineString=e},_t.prototype.interfaces_=function(){return[ii]},_t.prototype.getClass=function(){return _t},_t.getGeometry=function(){if(arguments.length===1){var e=arguments[0];return e.getFactory().buildGeometry(_t.getLines(e))}else if(arguments.length===2){var t=arguments[0],r=arguments[1];return t.getFactory().buildGeometry(_t.getLines(t,r))}},_t.getLines=function(){if(arguments.length===1){var e=arguments[0];return _t.getLines(e,!1)}else if(arguments.length===2){if(ae(arguments[0],nt)&&ae(arguments[1],nt)){for(var t=arguments[0],r=arguments[1],i=t.iterator();i.hasNext();){var s=i.next();_t.getLines(s,r)}return r}else if(arguments[0]instanceof oe&&typeof arguments[1]=="boolean"){var o=arguments[0],a=arguments[1],l=new W;return o.apply(new _t(l,a)),l}else if(arguments[0]instanceof oe&&ae(arguments[1],nt)){var u=arguments[0],h=arguments[1];return u instanceof Ye?h.add(u):u.apply(new _t(h)),h}}else if(arguments.length===3){if(typeof arguments[2]=="boolean"&&ae(arguments[0],nt)&&ae(arguments[1],nt)){for(var f=arguments[0],d=arguments[1],v=arguments[2],w=f.iterator();w.hasNext();){var I=w.next();_t.getLines(I,d,v)}return d}else if(typeof arguments[2]=="boolean"&&arguments[0]instanceof oe&&ae(arguments[1],nt)){var T=arguments[0],L=arguments[1],m=arguments[2];return T.apply(new _t(L,m)),L}}};var $r=function(){if(this._boundaryRule=Pr.OGC_SFS_BOUNDARY_RULE,this._isIn=null,this._numBoundaries=null,arguments.length!==0){if(arguments.length===1){var e=arguments[0];if(e===null)throw new ze("Rule must be non-null");this._boundaryRule=e}}};$r.prototype.locateInternal=function(){var e=this;if(arguments[0]instanceof M&&arguments[1]instanceof it){var t=arguments[0],r=arguments[1];if(r.isEmpty())return R.EXTERIOR;var i=r.getExteriorRing(),s=this.locateInPolygonRing(t,i);if(s===R.EXTERIOR)return R.EXTERIOR;if(s===R.BOUNDARY)return R.BOUNDARY;for(var o=0;o<r.getNumInteriorRing();o++){var a=r.getInteriorRingN(o),l=e.locateInPolygonRing(t,a);if(l===R.INTERIOR)return R.EXTERIOR;if(l===R.BOUNDARY)return R.BOUNDARY}return R.INTERIOR}else if(arguments[0]instanceof M&&arguments[1]instanceof Ye){var u=arguments[0],h=arguments[1];if(!h.getEnvelopeInternal().intersects(u))return R.EXTERIOR;var f=h.getCoordinates();return!h.isClosed()&&(u.equals(f[0])||u.equals(f[f.length-1]))?R.BOUNDARY:H.isOnLine(u,f)?R.INTERIOR:R.EXTERIOR}else if(arguments[0]instanceof M&&arguments[1]instanceof er){var d=arguments[0],v=arguments[1],w=v.getCoordinate();return w.equals2D(d)?R.INTERIOR:R.EXTERIOR}},$r.prototype.locateInPolygonRing=function(e,t){return t.getEnvelopeInternal().intersects(e)?H.locatePointInRing(e,t.getCoordinates()):R.EXTERIOR},$r.prototype.intersects=function(e,t){return this.locate(e,t)!==R.EXTERIOR},$r.prototype.updateLocationInfo=function(e){e===R.INTERIOR&&(this._isIn=!0),e===R.BOUNDARY&&this._numBoundaries++},$r.prototype.computeLocation=function(e,t){var r=this;if(t instanceof er&&this.updateLocationInfo(this.locateInternal(e,t)),t instanceof Ye)this.updateLocationInfo(this.locateInternal(e,t));else if(t instanceof it)this.updateLocationInfo(this.locateInternal(e,t));else if(t instanceof ds)for(var i=t,s=0;s<i.getNumGeometries();s++){var o=i.getGeometryN(s);r.updateLocationInfo(r.locateInternal(e,o))}else if(t instanceof Rn)for(var a=t,l=0;l<a.getNumGeometries();l++){var u=a.getGeometryN(l);r.updateLocationInfo(r.locateInternal(e,u))}else if(t instanceof Mt)for(var h=new Vn(t);h.hasNext();){var f=h.next();f!==t&&r.computeLocation(e,f)}},$r.prototype.locate=function(e,t){return t.isEmpty()?R.EXTERIOR:t instanceof Ye?this.locateInternal(e,t):t instanceof it?this.locateInternal(e,t):(this._isIn=!1,this._numBoundaries=0,this.computeLocation(e,t),this._boundaryRule.isInBoundary(this._numBoundaries)?R.BOUNDARY:this._numBoundaries>0||this._isIn?R.INTERIOR:R.EXTERIOR)},$r.prototype.interfaces_=function(){return[]},$r.prototype.getClass=function(){return $r};var Ft=function n(){if(this._component=null,this._segIndex=null,this._pt=null,arguments.length===2){var e=arguments[0],t=arguments[1];n.call(this,e,n.INSIDE_AREA,t)}else if(arguments.length===3){var r=arguments[0],i=arguments[1],s=arguments[2];this._component=r,this._segIndex=i,this._pt=s}},rp={INSIDE_AREA:{configurable:!0}};Ft.prototype.isInsideArea=function(){return this._segIndex===Ft.INSIDE_AREA},Ft.prototype.getCoordinate=function(){return this._pt},Ft.prototype.getGeometryComponent=function(){return this._component},Ft.prototype.getSegmentIndex=function(){return this._segIndex},Ft.prototype.interfaces_=function(){return[]},Ft.prototype.getClass=function(){return Ft},rp.INSIDE_AREA.get=function(){return-1},Object.defineProperties(Ft,rp);var zi=function(e){this._pts=e||null};zi.prototype.filter=function(e){e instanceof er&&this._pts.add(e)},zi.prototype.interfaces_=function(){return[fn]},zi.prototype.getClass=function(){return zi},zi.getPoints=function(){if(arguments.length===1){var e=arguments[0];return e instanceof er?Qr.singletonList(e):zi.getPoints(e,new W)}else if(arguments.length===2){var t=arguments[0],r=arguments[1];return t instanceof er?r.add(t):t instanceof Mt&&t.apply(new zi(r)),r}};var ro=function(){this._locations=null;var e=arguments[0];this._locations=e};ro.prototype.filter=function(e){(e instanceof er||e instanceof Ye||e instanceof it)&&this._locations.add(new Ft(e,0,e.getCoordinate()))},ro.prototype.interfaces_=function(){return[fn]},ro.prototype.getClass=function(){return ro},ro.getLocations=function(e){var t=new W;return e.apply(new ro(t)),t};var wt=function(){if(this._geom=null,this._terminateDistance=0,this._ptLocator=new $r,this._minDistanceLocation=null,this._minDistance=le.MAX_VALUE,arguments.length===2){var e=arguments[0],t=arguments[1];this._geom=[e,t],this._terminateDistance=0}else if(arguments.length===3){var r=arguments[0],i=arguments[1],s=arguments[2];this._geom=new Array(2).fill(null),this._geom[0]=r,this._geom[1]=i,this._terminateDistance=s}};wt.prototype.computeContainmentDistance=function(){var e=this;if(arguments.length===0){var t=new Array(2).fill(null);if(this.computeContainmentDistance(0,t),this._minDistance<=this._terminateDistance)return null;this.computeContainmentDistance(1,t)}else if(arguments.length===2){var r=arguments[0],i=arguments[1],s=1-r,o=pi.getPolygons(this._geom[r]);if(o.size()>0){var a=ro.getLocations(this._geom[s]);if(this.computeContainmentDistance(a,o,i),this._minDistance<=this._terminateDistance)return this._minDistanceLocation[s]=i[0],this._minDistanceLocation[r]=i[1],null}}else if(arguments.length===3){if(arguments[2]instanceof Array&&ae(arguments[0],Hr)&&ae(arguments[1],Hr)){for(var l=arguments[0],u=arguments[1],h=arguments[2],f=0;f<l.size();f++)for(var d=l.get(f),v=0;v<u.size();v++)if(e.computeContainmentDistance(d,u.get(v),h),e._minDistance<=e._terminateDistance)return null}else if(arguments[2]instanceof Array&&arguments[0]instanceof Ft&&arguments[1]instanceof it){var w=arguments[0],I=arguments[1],T=arguments[2],L=w.getCoordinate();if(R.EXTERIOR!==this._ptLocator.locate(L,I))return this._minDistance=0,T[0]=w,T[1]=new Ft(I,L),null}}},wt.prototype.computeMinDistanceLinesPoints=function(e,t,r){for(var i=this,s=0;s<e.size();s++)for(var o=e.get(s),a=0;a<t.size();a++){var l=t.get(a);if(i.computeMinDistance(o,l,r),i._minDistance<=i._terminateDistance)return null}},wt.prototype.computeFacetDistance=function(){var e=new Array(2).fill(null),t=_t.getLines(this._geom[0]),r=_t.getLines(this._geom[1]),i=zi.getPoints(this._geom[0]),s=zi.getPoints(this._geom[1]);if(this.computeMinDistanceLines(t,r,e),this.updateMinDistance(e,!1),this._minDistance<=this._terminateDistance||(e[0]=null,e[1]=null,this.computeMinDistanceLinesPoints(t,s,e),this.updateMinDistance(e,!1),this._minDistance<=this._terminateDistance)||(e[0]=null,e[1]=null,this.computeMinDistanceLinesPoints(r,i,e),this.updateMinDistance(e,!0),this._minDistance<=this._terminateDistance))return null;e[0]=null,e[1]=null,this.computeMinDistancePoints(i,s,e),this.updateMinDistance(e,!1)},wt.prototype.nearestLocations=function(){return this.computeMinDistance(),this._minDistanceLocation},wt.prototype.updateMinDistance=function(e,t){if(e[0]===null)return null;t?(this._minDistanceLocation[0]=e[1],this._minDistanceLocation[1]=e[0]):(this._minDistanceLocation[0]=e[0],this._minDistanceLocation[1]=e[1])},wt.prototype.nearestPoints=function(){this.computeMinDistance();var e=[this._minDistanceLocation[0].getCoordinate(),this._minDistanceLocation[1].getCoordinate()];return e},wt.prototype.computeMinDistance=function(){var e=this;if(arguments.length===0){if(this._minDistanceLocation!==null||(this._minDistanceLocation=new Array(2).fill(null),this.computeContainmentDistance(),this._minDistance<=this._terminateDistance))return null;this.computeFacetDistance()}else if(arguments.length===3){if(arguments[2]instanceof Array&&arguments[0]instanceof Ye&&arguments[1]instanceof er){var t=arguments[0],r=arguments[1],i=arguments[2];if(t.getEnvelopeInternal().distance(r.getEnvelopeInternal())>this._minDistance)return null;for(var s=t.getCoordinates(),o=r.getCoordinate(),a=0;a<s.length-1;a++){var l=H.distancePointLine(o,s[a],s[a+1]);if(l<e._minDistance){e._minDistance=l;var u=new re(s[a],s[a+1]),h=u.closestPoint(o);i[0]=new Ft(t,a,h),i[1]=new Ft(r,0,o)}if(e._minDistance<=e._terminateDistance)return null}}else if(arguments[2]instanceof Array&&arguments[0]instanceof Ye&&arguments[1]instanceof Ye){var f=arguments[0],d=arguments[1],v=arguments[2];if(f.getEnvelopeInternal().distance(d.getEnvelopeInternal())>this._minDistance)return null;for(var w=f.getCoordinates(),I=d.getCoordinates(),T=0;T<w.length-1;T++)for(var L=0;L<I.length-1;L++){var m=H.distanceLineLine(w[T],w[T+1],I[L],I[L+1]);if(m<e._minDistance){e._minDistance=m;var _=new re(w[T],w[T+1]),g=new re(I[L],I[L+1]),y=_.closestPoints(g);v[0]=new Ft(f,T,y[0]),v[1]=new Ft(d,L,y[1])}if(e._minDistance<=e._terminateDistance)return null}}}},wt.prototype.computeMinDistancePoints=function(e,t,r){for(var i=this,s=0;s<e.size();s++)for(var o=e.get(s),a=0;a<t.size();a++){var l=t.get(a),u=o.getCoordinate().distance(l.getCoordinate());if(u<i._minDistance&&(i._minDistance=u,r[0]=new Ft(o,0,o.getCoordinate()),r[1]=new Ft(l,0,l.getCoordinate())),i._minDistance<=i._terminateDistance)return null}},wt.prototype.distance=function(){if(this._geom[0]===null||this._geom[1]===null)throw new ze("null geometries are not supported");return this._geom[0].isEmpty()||this._geom[1].isEmpty()?0:(this.computeMinDistance(),this._minDistance)},wt.prototype.computeMinDistanceLines=function(e,t,r){for(var i=this,s=0;s<e.size();s++)for(var o=e.get(s),a=0;a<t.size();a++){var l=t.get(a);if(i.computeMinDistance(o,l,r),i._minDistance<=i._terminateDistance)return null}},wt.prototype.interfaces_=function(){return[]},wt.prototype.getClass=function(){return wt},wt.distance=function(e,t){var r=new wt(e,t);return r.distance()},wt.isWithinDistance=function(e,t,r){var i=new wt(e,t,r);return i.distance()<=r},wt.nearestPoints=function(e,t){var r=new wt(e,t);return r.nearestPoints()};var Nt=function(){this._pt=[new M,new M],this._distance=le.NaN,this._isNull=!0};Nt.prototype.getCoordinates=function(){return this._pt},Nt.prototype.getCoordinate=function(e){return this._pt[e]},Nt.prototype.setMinimum=function(){if(arguments.length===1){var e=arguments[0];this.setMinimum(e._pt[0],e._pt[1])}else if(arguments.length===2){var t=arguments[0],r=arguments[1];if(this._isNull)return this.initialize(t,r),null;var i=t.distance(r);i<this._distance&&this.initialize(t,r,i)}},Nt.prototype.initialize=function(){if(arguments.length===0)this._isNull=!0;else if(arguments.length===2){var e=arguments[0],t=arguments[1];this._pt[0].setCoordinate(e),this._pt[1].setCoordinate(t),this._distance=e.distance(t),this._isNull=!1}else if(arguments.length===3){var r=arguments[0],i=arguments[1],s=arguments[2];this._pt[0].setCoordinate(r),this._pt[1].setCoordinate(i),this._distance=s,this._isNull=!1}},Nt.prototype.toString=function(){return Yr.toLineString(this._pt[0],this._pt[1])},Nt.prototype.getDistance=function(){return this._distance},Nt.prototype.setMaximum=function(){if(arguments.length===1){var e=arguments[0];this.setMaximum(e._pt[0],e._pt[1])}else if(arguments.length===2){var t=arguments[0],r=arguments[1];if(this._isNull)return this.initialize(t,r),null;var i=t.distance(r);i>this._distance&&this.initialize(t,r,i)}},Nt.prototype.interfaces_=function(){return[]},Nt.prototype.getClass=function(){return Nt};var En=function(){};En.prototype.interfaces_=function(){return[]},En.prototype.getClass=function(){return En},En.computeDistance=function(){if(arguments[2]instanceof Nt&&arguments[0]instanceof Ye&&arguments[1]instanceof M)for(var e=arguments[0],t=arguments[1],r=arguments[2],i=new re,s=e.getCoordinates(),o=0;o<s.length-1;o++){i.setCoordinates(s[o],s[o+1]);var a=i.closestPoint(t);r.setMinimum(a,t)}else if(arguments[2]instanceof Nt&&arguments[0]instanceof it&&arguments[1]instanceof M){var l=arguments[0],u=arguments[1],h=arguments[2];En.computeDistance(l.getExteriorRing(),u,h);for(var f=0;f<l.getNumInteriorRing();f++)En.computeDistance(l.getInteriorRingN(f),u,h)}else if(arguments[2]instanceof Nt&&arguments[0]instanceof oe&&arguments[1]instanceof M){var d=arguments[0],v=arguments[1],w=arguments[2];if(d instanceof Ye)En.computeDistance(d,v,w);else if(d instanceof it)En.computeDistance(d,v,w);else if(d instanceof Mt)for(var I=d,T=0;T<I.getNumGeometries();T++){var L=I.getGeometryN(T);En.computeDistance(L,v,w)}else w.setMinimum(d.getCoordinate(),v)}else if(arguments[2]instanceof Nt&&arguments[0]instanceof re&&arguments[1]instanceof M){var m=arguments[0],_=arguments[1],g=arguments[2],y=m.closestPoint(_);g.setMinimum(y,_)}};var Dr=function(){this._g0=null,this._g1=null,this._ptDist=new Nt,this._densifyFrac=0;var e=arguments[0],t=arguments[1];this._g0=e,this._g1=t},th={MaxPointDistanceFilter:{configurable:!0},MaxDensifiedByFractionDistanceFilter:{configurable:!0}};Dr.prototype.getCoordinates=function(){return this._ptDist.getCoordinates()},Dr.prototype.setDensifyFraction=function(e){if(e>1||e<=0)throw new ze("Fraction is not in range (0.0 - 1.0]");this._densifyFrac=e},Dr.prototype.compute=function(e,t){this.computeOrientedDistance(e,t,this._ptDist),this.computeOrientedDistance(t,e,this._ptDist)},Dr.prototype.distance=function(){return this.compute(this._g0,this._g1),this._ptDist.getDistance()},Dr.prototype.computeOrientedDistance=function(e,t,r){var i=new no(t);if(e.apply(i),r.setMaximum(i.getMaxPointDistance()),this._densifyFrac>0){var s=new Ui(t,this._densifyFrac);e.apply(s),r.setMaximum(s.getMaxPointDistance())}},Dr.prototype.orientedDistance=function(){return this.computeOrientedDistance(this._g0,this._g1,this._ptDist),this._ptDist.getDistance()},Dr.prototype.interfaces_=function(){return[]},Dr.prototype.getClass=function(){return Dr},Dr.distance=function(){if(arguments.length===2){var e=arguments[0],t=arguments[1],r=new Dr(e,t);return r.distance()}else if(arguments.length===3){var i=arguments[0],s=arguments[1],o=arguments[2],a=new Dr(i,s);return a.setDensifyFraction(o),a.distance()}},th.MaxPointDistanceFilter.get=function(){return no},th.MaxDensifiedByFractionDistanceFilter.get=function(){return Ui},Object.defineProperties(Dr,th);var no=function(){this._maxPtDist=new Nt,this._minPtDist=new Nt,this._euclideanDist=new En,this._geom=null;var e=arguments[0];this._geom=e};no.prototype.filter=function(e){this._minPtDist.initialize(),En.computeDistance(this._geom,e,this._minPtDist),this._maxPtDist.setMaximum(this._minPtDist)},no.prototype.getMaxPointDistance=function(){return this._maxPtDist},no.prototype.interfaces_=function(){return[Ln]},no.prototype.getClass=function(){return no};var Ui=function(){this._maxPtDist=new Nt,this._minPtDist=new Nt,this._geom=null,this._numSubSegs=0;var e=arguments[0],t=arguments[1];this._geom=e,this._numSubSegs=Math.trunc(Math.round(1/t))};Ui.prototype.filter=function(e,t){var r=this;if(t===0)return null;for(var i=e.getCoordinate(t-1),s=e.getCoordinate(t),o=(s.x-i.x)/this._numSubSegs,a=(s.y-i.y)/this._numSubSegs,l=0;l<this._numSubSegs;l++){var u=i.x+l*o,h=i.y+l*a,f=new M(u,h);r._minPtDist.initialize(),En.computeDistance(r._geom,f,r._minPtDist),r._maxPtDist.setMaximum(r._minPtDist)}},Ui.prototype.isDone=function(){return!1},Ui.prototype.isGeometryChanged=function(){return!1},Ui.prototype.getMaxPointDistance=function(){return this._maxPtDist},Ui.prototype.interfaces_=function(){return[Zr]},Ui.prototype.getClass=function(){return Ui};var nr=function(e,t,r){this._minValidDistance=null,this._maxValidDistance=null,this._minDistanceFound=null,this._maxDistanceFound=null,this._isValid=!0,this._errMsg=null,this._errorLocation=null,this._errorIndicator=null,this._input=e||null,this._bufDistance=t||null,this._result=r||null},rh={VERBOSE:{configurable:!0},MAX_DISTANCE_DIFF_FRAC:{configurable:!0}};nr.prototype.checkMaximumDistance=function(e,t,r){var i=new Dr(t,e);if(i.setDensifyFraction(.25),this._maxDistanceFound=i.orientedDistance(),this._maxDistanceFound>r){this._isValid=!1;var s=i.getCoordinates();this._errorLocation=s[1],this._errorIndicator=e.getFactory().createLineString(s),this._errMsg="Distance between buffer curve and input is too large ("+this._maxDistanceFound+" at "+Yr.toLineString(s[0],s[1])+")"}},nr.prototype.isValid=function(){var e=Math.abs(this._bufDistance),t=nr.MAX_DISTANCE_DIFF_FRAC*e;return this._minValidDistance=e-t,this._maxValidDistance=e+t,this._input.isEmpty()||this._result.isEmpty()?!0:(this._bufDistance>0?this.checkPositiveValid():this.checkNegativeValid(),nr.VERBOSE&&mt.out.println("Min Dist= "+this._minDistanceFound+" err= "+(1-this._minDistanceFound/this._bufDistance)+" Max Dist= "+this._maxDistanceFound+" err= "+(this._maxDistanceFound/this._bufDistance-1)),this._isValid)},nr.prototype.checkNegativeValid=function(){if(!(this._input instanceof it||this._input instanceof Rn||this._input instanceof Mt))return null;var e=this.getPolygonLines(this._input);if(this.checkMinimumDistance(e,this._result,this._minValidDistance),!this._isValid)return null;this.checkMaximumDistance(e,this._result,this._maxValidDistance)},nr.prototype.getErrorIndicator=function(){return this._errorIndicator},nr.prototype.checkMinimumDistance=function(e,t,r){var i=new wt(e,t,r);if(this._minDistanceFound=i.distance(),this._minDistanceFound<r){this._isValid=!1;var s=i.nearestPoints();this._errorLocation=i.nearestPoints()[1],this._errorIndicator=e.getFactory().createLineString(s),this._errMsg="Distance between buffer curve and input is too small ("+this._minDistanceFound+" at "+Yr.toLineString(s[0],s[1])+" )"}},nr.prototype.checkPositiveValid=function(){var e=this._result.getBoundary();if(this.checkMinimumDistance(this._input,e,this._minValidDistance),!this._isValid)return null;this.checkMaximumDistance(this._input,e,this._maxValidDistance)},nr.prototype.getErrorLocation=function(){return this._errorLocation},nr.prototype.getPolygonLines=function(e){for(var t=new W,r=new _t(t),i=pi.getPolygons(e),s=i.iterator();s.hasNext();){var o=s.next();o.apply(r)}return e.getFactory().buildGeometry(t)},nr.prototype.getErrorMessage=function(){return this._errMsg},nr.prototype.interfaces_=function(){return[]},nr.prototype.getClass=function(){return nr},rh.VERBOSE.get=function(){return!1},rh.MAX_DISTANCE_DIFF_FRAC.get=function(){return .012},Object.defineProperties(nr,rh);var Et=function(e,t,r){this._isValid=!0,this._errorMsg=null,this._errorLocation=null,this._errorIndicator=null,this._input=e||null,this._distance=t||null,this._result=r||null},nh={VERBOSE:{configurable:!0},MAX_ENV_DIFF_FRAC:{configurable:!0}};Et.prototype.isValid=function(){return this.checkPolygonal(),this._isValid?(this.checkExpectedEmpty(),this._isValid?(this.checkEnvelope(),this._isValid?(this.checkArea(),this._isValid?(this.checkDistance(),this._isValid):this._isValid):this._isValid):this._isValid):this._isValid},Et.prototype.checkEnvelope=function(){if(this._distance<0)return null;var e=this._distance*Et.MAX_ENV_DIFF_FRAC;e===0&&(e=.001);var t=new te(this._input.getEnvelopeInternal());t.expandBy(this._distance);var r=new te(this._result.getEnvelopeInternal());r.expandBy(e),r.contains(t)||(this._isValid=!1,this._errorMsg="Buffer envelope is incorrect",this._errorIndicator=this._input.getFactory().toGeometry(r)),this.report("Envelope")},Et.prototype.checkDistance=function(){var e=new nr(this._input,this._distance,this._result);e.isValid()||(this._isValid=!1,this._errorMsg=e.getErrorMessage(),this._errorLocation=e.getErrorLocation(),this._errorIndicator=e.getErrorIndicator()),this.report("Distance")},Et.prototype.checkArea=function(){var e=this._input.getArea(),t=this._result.getArea();this._distance>0&&e>t&&(this._isValid=!1,this._errorMsg="Area of positive buffer is smaller than input",this._errorIndicator=this._result),this._distance<0&&e<t&&(this._isValid=!1,this._errorMsg="Area of negative buffer is larger than input",this._errorIndicator=this._result),this.report("Area")},Et.prototype.checkPolygonal=function(){this._result instanceof it||this._result instanceof Rn||(this._isValid=!1),this._errorMsg="Result is not polygonal",this._errorIndicator=this._result,this.report("Polygonal")},Et.prototype.getErrorIndicator=function(){return this._errorIndicator},Et.prototype.getErrorLocation=function(){return this._errorLocation},Et.prototype.checkExpectedEmpty=function(){if(this._input.getDimension()>=2||this._distance>0)return null;this._result.isEmpty()||(this._isValid=!1,this._errorMsg="Result is non-empty",this._errorIndicator=this._result),this.report("ExpectedEmpty")},Et.prototype.report=function(e){if(!Et.VERBOSE)return null;mt.out.println("Check "+e+": "+(this._isValid?"passed":"FAILED"))},Et.prototype.getErrorMessage=function(){return this._errorMsg},Et.prototype.interfaces_=function(){return[]},Et.prototype.getClass=function(){return Et},Et.isValidMsg=function(e,t,r){var i=new Et(e,t,r);return i.isValid()?null:i.getErrorMessage()},Et.isValid=function(e,t,r){var i=new Et(e,t,r);return!!i.isValid()},nh.VERBOSE.get=function(){return!1},nh.MAX_ENV_DIFF_FRAC.get=function(){return .012},Object.defineProperties(Et,nh);var Sn=function(){this._pts=null,this._data=null;var e=arguments[0],t=arguments[1];this._pts=e,this._data=t};Sn.prototype.getCoordinates=function(){return this._pts},Sn.prototype.size=function(){return this._pts.length},Sn.prototype.getCoordinate=function(e){return this._pts[e]},Sn.prototype.isClosed=function(){return this._pts[0].equals(this._pts[this._pts.length-1])},Sn.prototype.getSegmentOctant=function(e){return e===this._pts.length-1?-1:Bs.octant(this.getCoordinate(e),this.getCoordinate(e+1))},Sn.prototype.setData=function(e){this._data=e},Sn.prototype.getData=function(){return this._data},Sn.prototype.toString=function(){return Yr.toLineString(new Qe(this._pts))},Sn.prototype.interfaces_=function(){return[kn]},Sn.prototype.getClass=function(){return Sn};var ct=function(){this._findAllIntersections=!1,this._isCheckEndSegmentsOnly=!1,this._li=null,this._interiorIntersection=null,this._intSegments=null,this._intersections=new W,this._intersectionCount=0,this._keepIntersections=!0;var e=arguments[0];this._li=e,this._interiorIntersection=null};ct.prototype.getInteriorIntersection=function(){return this._interiorIntersection},ct.prototype.setCheckEndSegmentsOnly=function(e){this._isCheckEndSegmentsOnly=e},ct.prototype.getIntersectionSegments=function(){return this._intSegments},ct.prototype.count=function(){return this._intersectionCount},ct.prototype.getIntersections=function(){return this._intersections},ct.prototype.setFindAllIntersections=function(e){this._findAllIntersections=e},ct.prototype.setKeepIntersections=function(e){this._keepIntersections=e},ct.prototype.processIntersections=function(e,t,r,i){if(!this._findAllIntersections&&this.hasIntersection()||e===r&&t===i)return null;if(this._isCheckEndSegmentsOnly){var s=this.isEndSegment(e,t)||this.isEndSegment(r,i);if(!s)return null}var o=e.getCoordinates()[t],a=e.getCoordinates()[t+1],l=r.getCoordinates()[i],u=r.getCoordinates()[i+1];this._li.computeIntersection(o,a,l,u),this._li.hasIntersection()&&this._li.isInteriorIntersection()&&(this._intSegments=new Array(4).fill(null),this._intSegments[0]=o,this._intSegments[1]=a,this._intSegments[2]=l,this._intSegments[3]=u,this._interiorIntersection=this._li.getIntersection(0),this._keepIntersections&&this._intersections.add(this._interiorIntersection),this._intersectionCount++)},ct.prototype.isEndSegment=function(e,t){return t===0||t>=e.size()-2},ct.prototype.hasIntersection=function(){return this._interiorIntersection!==null},ct.prototype.isDone=function(){return this._findAllIntersections?!1:this._interiorIntersection!==null},ct.prototype.interfaces_=function(){return[vs]},ct.prototype.getClass=function(){return ct},ct.createAllIntersectionsFinder=function(e){var t=new ct(e);return t.setFindAllIntersections(!0),t},ct.createAnyIntersectionFinder=function(e){return new ct(e)},ct.createIntersectionCounter=function(e){var t=new ct(e);return t.setFindAllIntersections(!0),t.setKeepIntersections(!1),t};var jr=function(){this._li=new hs,this._segStrings=null,this._findAllIntersections=!1,this._segInt=null,this._isValid=!0;var e=arguments[0];this._segStrings=e};jr.prototype.execute=function(){if(this._segInt!==null)return null;this.checkInteriorIntersections()},jr.prototype.getIntersections=function(){return this._segInt.getIntersections()},jr.prototype.isValid=function(){return this.execute(),this._isValid},jr.prototype.setFindAllIntersections=function(e){this._findAllIntersections=e},jr.prototype.checkInteriorIntersections=function(){this._isValid=!0,this._segInt=new ct(this._li),this._segInt.setFindAllIntersections(this._findAllIntersections);var e=new jc;if(e.setSegmentIntersector(this._segInt),e.computeNodes(this._segStrings),this._segInt.hasIntersection())return this._isValid=!1,null},jr.prototype.checkValid=function(){if(this.execute(),!this._isValid)throw new ui(this.getErrorMessage(),this._segInt.getInteriorIntersection())},jr.prototype.getErrorMessage=function(){if(this._isValid)return"no intersections found";var e=this._segInt.getIntersectionSegments();return"found non-noded intersection between "+Yr.toLineString(e[0],e[1])+" and "+Yr.toLineString(e[2],e[3])},jr.prototype.interfaces_=function(){return[]},jr.prototype.getClass=function(){return jr},jr.computeIntersections=function(e){var t=new jr(e);return t.setFindAllIntersections(!0),t.isValid(),t.getIntersections()};var ws=function n(){this._nv=null;var e=arguments[0];this._nv=new jr(n.toSegmentStrings(e))};ws.prototype.checkValid=function(){this._nv.checkValid()},ws.prototype.interfaces_=function(){return[]},ws.prototype.getClass=function(){return ws},ws.toSegmentStrings=function(e){for(var t=new W,r=e.iterator();r.hasNext();){var i=r.next();t.add(new Sn(i.getCoordinates(),i))}return t},ws.checkValid=function(e){var t=new ws(e);t.checkValid()};var io=function(e){this._mapOp=e};io.prototype.map=function(e){for(var t=this,r=new W,i=0;i<e.getNumGeometries();i++){var s=t._mapOp.map(e.getGeometryN(i));s.isEmpty()||r.add(s)}return e.getFactory().createGeometryCollection(ge.toGeometryArray(r))},io.prototype.interfaces_=function(){return[]},io.prototype.getClass=function(){return io},io.map=function(e,t){var r=new io(t);return r.map(e)};var Cn=function(){this._op=null,this._geometryFactory=null,this._ptLocator=null,this._lineEdgesList=new W,this._resultLineList=new W;var e=arguments[0],t=arguments[1],r=arguments[2];this._op=e,this._geometryFactory=t,this._ptLocator=r};Cn.prototype.collectLines=function(e){for(var t=this,r=this._op.getGraph().getEdgeEnds().iterator();r.hasNext();){var i=r.next();t.collectLineEdge(i,e,t._lineEdgesList),t.collectBoundaryTouchEdge(i,e,t._lineEdgesList)}},Cn.prototype.labelIsolatedLine=function(e,t){var r=this._ptLocator.locate(e.getCoordinate(),this._op.getArgGeometry(t));e.getLabel().setLocation(t,r)},Cn.prototype.build=function(e){return this.findCoveredLineEdges(),this.collectLines(e),this.buildLines(e),this._resultLineList},Cn.prototype.collectLineEdge=function(e,t,r){var i=e.getLabel(),s=e.getEdge();e.isLineEdge()&&!e.isVisited()&&he.isResultOfOp(i,t)&&!s.isCovered()&&(r.add(s),e.setVisitedEdge(!0))},Cn.prototype.findCoveredLineEdges=function(){for(var e=this,t=this._op.getGraph().getNodes().iterator();t.hasNext();){var r=t.next();r.getEdges().findCoveredLineEdges()}for(var i=this._op.getGraph().getEdgeEnds().iterator();i.hasNext();){var s=i.next(),o=s.getEdge();if(s.isLineEdge()&&!o.isCoveredSet()){var a=e._op.isCoveredByA(s.getCoordinate());o.setCovered(a)}}},Cn.prototype.labelIsolatedLines=function(e){for(var t=this,r=e.iterator();r.hasNext();){var i=r.next(),s=i.getLabel();i.isIsolated()&&(s.isNull(0)?t.labelIsolatedLine(i,0):t.labelIsolatedLine(i,1))}},Cn.prototype.buildLines=function(e){for(var t=this,r=this._lineEdgesList.iterator();r.hasNext();){var i=r.next(),s=t._geometryFactory.createLineString(i.getCoordinates());t._resultLineList.add(s),i.setInResult(!0)}},Cn.prototype.collectBoundaryTouchEdge=function(e,t,r){var i=e.getLabel();if(e.isLineEdge()||e.isVisited()||e.isInteriorAreaEdge()||e.getEdge().isInResult())return null;fe.isTrue(!(e.isInResult()||e.getSym().isInResult())||!e.getEdge().isInResult()),he.isResultOfOp(i,t)&&t===he.INTERSECTION&&(r.add(e.getEdge()),e.setVisitedEdge(!0))},Cn.prototype.interfaces_=function(){return[]},Cn.prototype.getClass=function(){return Cn};var so=function(){this._op=null,this._geometryFactory=null,this._resultPointList=new W;var e=arguments[0],t=arguments[1];this._op=e,this._geometryFactory=t};so.prototype.filterCoveredNodeToPoint=function(e){var t=e.getCoordinate();if(!this._op.isCoveredByLA(t)){var r=this._geometryFactory.createPoint(t);this._resultPointList.add(r)}},so.prototype.extractNonCoveredResultNodes=function(e){for(var t=this,r=this._op.getGraph().getNodes().iterator();r.hasNext();){var i=r.next();if(!i.isInResult()&&!i.isIncidentEdgeInResult()&&(i.getEdges().getDegree()===0||e===he.INTERSECTION)){var s=i.getLabel();he.isResultOfOp(s,e)&&t.filterCoveredNodeToPoint(i)}}},so.prototype.build=function(e){return this.extractNonCoveredResultNodes(e),this._resultPointList},so.prototype.interfaces_=function(){return[]},so.prototype.getClass=function(){return so};var Yt=function(){this._inputGeom=null,this._factory=null,this._pruneEmptyGeometry=!0,this._preserveGeometryCollectionType=!0,this._preserveCollections=!1,this._preserveType=!1};Yt.prototype.transformPoint=function(e,t){return this._factory.createPoint(this.transformCoordinates(e.getCoordinateSequence(),e))},Yt.prototype.transformPolygon=function(e,t){var r=this,i=!0,s=this.transformLinearRing(e.getExteriorRing(),e);(s===null||!(s instanceof An)||s.isEmpty())&&(i=!1);for(var o=new W,a=0;a<e.getNumInteriorRing();a++){var l=r.transformLinearRing(e.getInteriorRingN(a),e);l===null||l.isEmpty()||(l instanceof An||(i=!1),o.add(l))}if(i)return this._factory.createPolygon(s,o.toArray([]));var u=new W;return s!==null&&u.add(s),u.addAll(o),this._factory.buildGeometry(u)},Yt.prototype.createCoordinateSequence=function(e){return this._factory.getCoordinateSequenceFactory().create(e)},Yt.prototype.getInputGeometry=function(){return this._inputGeom},Yt.prototype.transformMultiLineString=function(e,t){for(var r=this,i=new W,s=0;s<e.getNumGeometries();s++){var o=r.transformLineString(e.getGeometryN(s),e);o!==null&&(o.isEmpty()||i.add(o))}return this._factory.buildGeometry(i)},Yt.prototype.transformCoordinates=function(e,t){return this.copy(e)},Yt.prototype.transformLineString=function(e,t){return this._factory.createLineString(this.transformCoordinates(e.getCoordinateSequence(),e))},Yt.prototype.transformMultiPoint=function(e,t){for(var r=this,i=new W,s=0;s<e.getNumGeometries();s++){var o=r.transformPoint(e.getGeometryN(s),e);o!==null&&(o.isEmpty()||i.add(o))}return this._factory.buildGeometry(i)},Yt.prototype.transformMultiPolygon=function(e,t){for(var r=this,i=new W,s=0;s<e.getNumGeometries();s++){var o=r.transformPolygon(e.getGeometryN(s),e);o!==null&&(o.isEmpty()||i.add(o))}return this._factory.buildGeometry(i)},Yt.prototype.copy=function(e){return e.copy()},Yt.prototype.transformGeometryCollection=function(e,t){for(var r=this,i=new W,s=0;s<e.getNumGeometries();s++){var o=r.transform(e.getGeometryN(s));o!==null&&(r._pruneEmptyGeometry&&o.isEmpty()||i.add(o))}return this._preserveGeometryCollectionType?this._factory.createGeometryCollection(ge.toGeometryArray(i)):this._factory.buildGeometry(i)},Yt.prototype.transform=function(e){if(this._inputGeom=e,this._factory=e.getFactory(),e instanceof er)return this.transformPoint(e,null);if(e instanceof cl)return this.transformMultiPoint(e,null);if(e instanceof An)return this.transformLinearRing(e,null);if(e instanceof Ye)return this.transformLineString(e,null);if(e instanceof ds)return this.transformMultiLineString(e,null);if(e instanceof it)return this.transformPolygon(e,null);if(e instanceof Rn)return this.transformMultiPolygon(e,null);if(e instanceof Mt)return this.transformGeometryCollection(e,null);throw new ze("Unknown Geometry subtype: "+e.getClass().getName())},Yt.prototype.transformLinearRing=function(e,t){var r=this.transformCoordinates(e.getCoordinateSequence(),e);if(r===null)return this._factory.createLinearRing(null);var i=r.size();return i>0&&i<4&&!this._preserveType?this._factory.createLineString(r):this._factory.createLinearRing(r)},Yt.prototype.interfaces_=function(){return[]},Yt.prototype.getClass=function(){return Yt};var Wn=function n(){if(this._snapTolerance=0,this._srcPts=null,this._seg=new re,this._allowSnappingToSourceVertices=!1,this._isClosed=!1,arguments[0]instanceof Ye&&typeof arguments[1]=="number"){var e=arguments[0],t=arguments[1];n.call(this,e.getCoordinates(),t)}else if(arguments[0]instanceof Array&&typeof arguments[1]=="number"){var r=arguments[0],i=arguments[1];this._srcPts=r,this._isClosed=n.isClosed(r),this._snapTolerance=i}};Wn.prototype.snapVertices=function(e,t){for(var r=this,i=this._isClosed?e.size()-1:e.size(),s=0;s<i;s++){var o=e.get(s),a=r.findSnapForVertex(o,t);a!==null&&(e.set(s,new M(a)),s===0&&r._isClosed&&e.set(e.size()-1,new M(a)))}},Wn.prototype.findSnapForVertex=function(e,t){for(var r=this,i=0;i<t.length;i++){if(e.equals2D(t[i]))return null;if(e.distance(t[i])<r._snapTolerance)return t[i]}return null},Wn.prototype.snapTo=function(e){var t=new Xl(this._srcPts);this.snapVertices(t,e),this.snapSegments(t,e);var r=t.toCoordinateArray();return r},Wn.prototype.snapSegments=function(e,t){var r=this;if(t.length===0)return null;var i=t.length;t[0].equals2D(t[t.length-1])&&(i=t.length-1);for(var s=0;s<i;s++){var o=t[s],a=r.findSegmentIndexToSnap(o,e);a>=0&&e.add(a+1,new M(o),!1)}},Wn.prototype.findSegmentIndexToSnap=function(e,t){for(var r=this,i=le.MAX_VALUE,s=-1,o=0;o<t.size()-1;o++){if(r._seg.p0=t.get(o),r._seg.p1=t.get(o+1),r._seg.p0.equals2D(e)||r._seg.p1.equals2D(e)){if(r._allowSnappingToSourceVertices)continue;return-1}var a=r._seg.distance(e);a<r._snapTolerance&&a<i&&(i=a,s=o)}return s},Wn.prototype.setAllowSnappingToSourceVertices=function(e){this._allowSnappingToSourceVertices=e},Wn.prototype.interfaces_=function(){return[]},Wn.prototype.getClass=function(){return Wn},Wn.isClosed=function(e){return e.length<=1?!1:e[0].equals2D(e[e.length-1])};var $e=function(e){this._srcGeom=e||null},np={SNAP_PRECISION_FACTOR:{configurable:!0}};$e.prototype.snapTo=function(e,t){var r=this.extractTargetCoordinates(e),i=new ip(t,r);return i.transform(this._srcGeom)},$e.prototype.snapToSelf=function(e,t){var r=this.extractTargetCoordinates(this._srcGeom),i=new ip(e,r,!0),s=i.transform(this._srcGeom),o=s;return t&&ae(o,Li)&&(o=s.buffer(0)),o},$e.prototype.computeSnapTolerance=function(e){var t=this.computeMinimumSegmentLength(e),r=t/10;return r},$e.prototype.extractTargetCoordinates=function(e){for(var t=new hn,r=e.getCoordinates(),i=0;i<r.length;i++)t.add(r[i]);return t.toArray(new Array(0).fill(null))},$e.prototype.computeMinimumSegmentLength=function(e){for(var t=le.MAX_VALUE,r=0;r<e.length-1;r++){var i=e[r].distance(e[r+1]);i<t&&(t=i)}return t},$e.prototype.interfaces_=function(){return[]},$e.prototype.getClass=function(){return $e},$e.snap=function(e,t,r){var i=new Array(2).fill(null),s=new $e(e);i[0]=s.snapTo(t,r);var o=new $e(t);return i[1]=o.snapTo(i[0],r),i},$e.computeOverlaySnapTolerance=function(){if(arguments.length===1){var e=arguments[0],t=$e.computeSizeBasedSnapTolerance(e),r=e.getPrecisionModel();if(r.getType()===Te.FIXED){var i=1/r.getScale()*2/1.415;i>t&&(t=i)}return t}else if(arguments.length===2){var s=arguments[0],o=arguments[1];return Math.min($e.computeOverlaySnapTolerance(s),$e.computeOverlaySnapTolerance(o))}},$e.computeSizeBasedSnapTolerance=function(e){var t=e.getEnvelopeInternal(),r=Math.min(t.getHeight(),t.getWidth()),i=r*$e.SNAP_PRECISION_FACTOR;return i},$e.snapToSelf=function(e,t,r){var i=new $e(e);return i.snapToSelf(t,r)},np.SNAP_PRECISION_FACTOR.get=function(){return 1e-9},Object.defineProperties($e,np);var ip=function(n){function e(t,r,i){n.call(this),this._snapTolerance=t||null,this._snapPts=r||null,this._isSelfSnap=i!==void 0?i:!1}return n&&(e.__proto__=n),e.prototype=Object.create(n&&n.prototype),e.prototype.constructor=e,e.prototype.snapLine=function(r,i){var s=new Wn(r,this._snapTolerance);return s.setAllowSnappingToSourceVertices(this._isSelfSnap),s.snapTo(i)},e.prototype.transformCoordinates=function(r,i){var s=r.toCoordinateArray(),o=this.snapLine(s,this._snapPts);return this._factory.getCoordinateSequenceFactory().create(o)},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(Yt),kt=function(){this._isFirst=!0,this._commonMantissaBitsCount=53,this._commonBits=0,this._commonSignExp=null};kt.prototype.getCommon=function(){return le.longBitsToDouble(this._commonBits)},kt.prototype.add=function(e){var t=le.doubleToLongBits(e);if(this._isFirst)return this._commonBits=t,this._commonSignExp=kt.signExpBits(this._commonBits),this._isFirst=!1,null;var r=kt.signExpBits(t);if(r!==this._commonSignExp)return this._commonBits=0,null;this._commonMantissaBitsCount=kt.numCommonMostSigMantissaBits(this._commonBits,t),this._commonBits=kt.zeroLowerBits(this._commonBits,64-(12+this._commonMantissaBitsCount))},kt.prototype.toString=function(){if(arguments.length===1){var e=arguments[0],t=le.longBitsToDouble(e),r=le.toBinaryString(e),i="0000000000000000000000000000000000000000000000000000000000000000"+r,s=i.substring(i.length-64),o=s.substring(0,1)+" "+s.substring(1,12)+"(exp) "+s.substring(12)+" [ "+t+" ]";return o}},kt.prototype.interfaces_=function(){return[]},kt.prototype.getClass=function(){return kt},kt.getBit=function(e,t){var r=1<<t;return(e&r)!==0?1:0},kt.signExpBits=function(e){return e>>52},kt.zeroLowerBits=function(e,t){var r=(1<<t)-1,i=~r,s=e&i;return s},kt.numCommonMostSigMantissaBits=function(e,t){for(var r=0,i=52;i>=0;i--){if(kt.getBit(e,i)!==kt.getBit(t,i))return r;r++}return 52};var Gi=function(){this._commonCoord=null,this._ccFilter=new oo},ih={CommonCoordinateFilter:{configurable:!0},Translater:{configurable:!0}};Gi.prototype.addCommonBits=function(e){var t=new Wi(this._commonCoord);e.apply(t),e.geometryChanged()},Gi.prototype.removeCommonBits=function(e){if(this._commonCoord.x===0&&this._commonCoord.y===0)return e;var t=new M(this._commonCoord);t.x=-t.x,t.y=-t.y;var r=new Wi(t);return e.apply(r),e.geometryChanged(),e},Gi.prototype.getCommonCoordinate=function(){return this._commonCoord},Gi.prototype.add=function(e){e.apply(this._ccFilter),this._commonCoord=this._ccFilter.getCommonCoordinate()},Gi.prototype.interfaces_=function(){return[]},Gi.prototype.getClass=function(){return Gi},ih.CommonCoordinateFilter.get=function(){return oo},ih.Translater.get=function(){return Wi},Object.defineProperties(Gi,ih);var oo=function(){this._commonBitsX=new kt,this._commonBitsY=new kt};oo.prototype.filter=function(e){this._commonBitsX.add(e.x),this._commonBitsY.add(e.y)},oo.prototype.getCommonCoordinate=function(){return new M(this._commonBitsX.getCommon(),this._commonBitsY.getCommon())},oo.prototype.interfaces_=function(){return[Ln]},oo.prototype.getClass=function(){return oo};var Wi=function(){this.trans=null;var e=arguments[0];this.trans=e};Wi.prototype.filter=function(e,t){var r=e.getOrdinate(t,0)+this.trans.x,i=e.getOrdinate(t,1)+this.trans.y;e.setOrdinate(t,0,r),e.setOrdinate(t,1,i)},Wi.prototype.isDone=function(){return!1},Wi.prototype.isGeometryChanged=function(){return!0},Wi.prototype.interfaces_=function(){return[Zr]},Wi.prototype.getClass=function(){return Wi};var ht=function(e,t){this._geom=new Array(2).fill(null),this._snapTolerance=null,this._cbr=null,this._geom[0]=e,this._geom[1]=t,this.computeSnapTolerance()};ht.prototype.selfSnap=function(e){var t=new $e(e),r=t.snapTo(e,this._snapTolerance);return r},ht.prototype.removeCommonBits=function(e){this._cbr=new Gi,this._cbr.add(e[0]),this._cbr.add(e[1]);var t=new Array(2).fill(null);return t[0]=this._cbr.removeCommonBits(e[0].copy()),t[1]=this._cbr.removeCommonBits(e[1].copy()),t},ht.prototype.prepareResult=function(e){return this._cbr.addCommonBits(e),e},ht.prototype.getResultGeometry=function(e){var t=this.snap(this._geom),r=he.overlayOp(t[0],t[1],e);return this.prepareResult(r)},ht.prototype.checkValid=function(e){e.isValid()||mt.out.println("Snapped geometry is invalid")},ht.prototype.computeSnapTolerance=function(){this._snapTolerance=$e.computeOverlaySnapTolerance(this._geom[0],this._geom[1])},ht.prototype.snap=function(e){var t=this.removeCommonBits(e),r=$e.snap(t[0],t[1],this._snapTolerance);return r},ht.prototype.interfaces_=function(){return[]},ht.prototype.getClass=function(){return ht},ht.overlayOp=function(e,t,r){var i=new ht(e,t);return i.getResultGeometry(r)},ht.union=function(e,t){return ht.overlayOp(e,t,he.UNION)},ht.intersection=function(e,t){return ht.overlayOp(e,t,he.INTERSECTION)},ht.symDifference=function(e,t){return ht.overlayOp(e,t,he.SYMDIFFERENCE)},ht.difference=function(e,t){return ht.overlayOp(e,t,he.DIFFERENCE)};var Vt=function(e,t){this._geom=new Array(2).fill(null),this._geom[0]=e,this._geom[1]=t};Vt.prototype.getResultGeometry=function(e){var t=null,r=!1,i=null;try{t=he.overlayOp(this._geom[0],this._geom[1],e);var s=!0;s&&(r=!0)}catch(o){if(o instanceof ni)i=o;else throw o}finally{}if(!r)try{t=ht.overlayOp(this._geom[0],this._geom[1],e)}catch(o){throw o instanceof ni?i:o}finally{}return t},Vt.prototype.interfaces_=function(){return[]},Vt.prototype.getClass=function(){return Vt},Vt.overlayOp=function(e,t,r){var i=new Vt(e,t);return i.getResultGeometry(r)},Vt.union=function(e,t){return Vt.overlayOp(e,t,he.UNION)},Vt.intersection=function(e,t){return Vt.overlayOp(e,t,he.INTERSECTION)},Vt.symDifference=function(e,t){return Vt.overlayOp(e,t,he.SYMDIFFERENCE)},Vt.difference=function(e,t){return Vt.overlayOp(e,t,he.DIFFERENCE)};var su=function(){this.mce=null,this.chainIndex=null;var e=arguments[0],t=arguments[1];this.mce=e,this.chainIndex=t};su.prototype.computeIntersections=function(e,t){this.mce.computeIntersectsForChain(this.chainIndex,e.mce,e.chainIndex,t)},su.prototype.interfaces_=function(){return[]},su.prototype.getClass=function(){return su};var ir=function n(){if(this._label=null,this._xValue=null,this._eventType=null,this._insertEvent=null,this._deleteEventIndex=null,this._obj=null,arguments.length===2){var e=arguments[0],t=arguments[1];this._eventType=n.DELETE,this._xValue=e,this._insertEvent=t}else if(arguments.length===3){var r=arguments[0],i=arguments[1],s=arguments[2];this._eventType=n.INSERT,this._label=r,this._xValue=i,this._obj=s}},sh={INSERT:{configurable:!0},DELETE:{configurable:!0}};ir.prototype.isDelete=function(){return this._eventType===ir.DELETE},ir.prototype.setDeleteEventIndex=function(e){this._deleteEventIndex=e},ir.prototype.getObject=function(){return this._obj},ir.prototype.compareTo=function(e){var t=e;return this._xValue<t._xValue?-1:this._xValue>t._xValue?1:this._eventType<t._eventType?-1:this._eventType>t._eventType?1:0},ir.prototype.getInsertEvent=function(){return this._insertEvent},ir.prototype.isInsert=function(){return this._eventType===ir.INSERT},ir.prototype.isSameLabel=function(e){return this._label===null?!1:this._label===e._label},ir.prototype.getDeleteEventIndex=function(){return this._deleteEventIndex},ir.prototype.interfaces_=function(){return[Sr]},ir.prototype.getClass=function(){return ir},sh.INSERT.get=function(){return 1},sh.DELETE.get=function(){return 2},Object.defineProperties(ir,sh);var Zu=function(){};Zu.prototype.interfaces_=function(){return[]},Zu.prototype.getClass=function(){return Zu};var St=function(){this._hasIntersection=!1,this._hasProper=!1,this._hasProperInterior=!1,this._properIntersectionPoint=null,this._li=null,this._includeProper=null,this._recordIsolated=null,this._isSelfIntersection=null,this._numIntersections=0,this.numTests=0,this._bdyNodes=null,this._isDone=!1,this._isDoneWhenProperInt=!1;var e=arguments[0],t=arguments[1],r=arguments[2];this._li=e,this._includeProper=t,this._recordIsolated=r};St.prototype.isTrivialIntersection=function(e,t,r,i){if(e===r&&this._li.getIntersectionNum()===1){if(St.isAdjacentSegments(t,i))return!0;if(e.isClosed()){var s=e.getNumPoints()-1;if(t===0&&i===s||i===0&&t===s)return!0}}return!1},St.prototype.getProperIntersectionPoint=function(){return this._properIntersectionPoint},St.prototype.setIsDoneIfProperInt=function(e){this._isDoneWhenProperInt=e},St.prototype.hasProperInteriorIntersection=function(){return this._hasProperInterior},St.prototype.isBoundaryPointInternal=function(e,t){for(var r=t.iterator();r.hasNext();){var i=r.next(),s=i.getCoordinate();if(e.isIntersection(s))return!0}return!1},St.prototype.hasProperIntersection=function(){return this._hasProper},St.prototype.hasIntersection=function(){return this._hasIntersection},St.prototype.isDone=function(){return this._isDone},St.prototype.isBoundaryPoint=function(e,t){return t===null?!1:!!(this.isBoundaryPointInternal(e,t[0])||this.isBoundaryPointInternal(e,t[1]))},St.prototype.setBoundaryNodes=function(e,t){this._bdyNodes=new Array(2).fill(null),this._bdyNodes[0]=e,this._bdyNodes[1]=t},St.prototype.addIntersections=function(e,t,r,i){if(e===r&&t===i)return null;this.numTests++;var s=e.getCoordinates()[t],o=e.getCoordinates()[t+1],a=r.getCoordinates()[i],l=r.getCoordinates()[i+1];this._li.computeIntersection(s,o,a,l),this._li.hasIntersection()&&(this._recordIsolated&&(e.setIsolated(!1),r.setIsolated(!1)),this._numIntersections++,this.isTrivialIntersection(e,t,r,i)||(this._hasIntersection=!0,(this._includeProper||!this._li.isProper())&&(e.addIntersections(this._li,t,0),r.addIntersections(this._li,i,1)),this._li.isProper()&&(this._properIntersectionPoint=this._li.getIntersection(0).copy(),this._hasProper=!0,this._isDoneWhenProperInt&&(this._isDone=!0),this.isBoundaryPoint(this._li,this._bdyNodes)||(this._hasProperInterior=!0))))},St.prototype.interfaces_=function(){return[]},St.prototype.getClass=function(){return St},St.isAdjacentSegments=function(e,t){return Math.abs(e-t)===1};var lv=function(n){function e(){n.call(this),this.events=new W,this.nOverlaps=null}return n&&(e.__proto__=n),e.prototype=Object.create(n&&n.prototype),e.prototype.constructor=e,e.prototype.prepareEvents=function(){var r=this;Qr.sort(this.events);for(var i=0;i<this.events.size();i++){var s=r.events.get(i);s.isDelete()&&s.getInsertEvent().setDeleteEventIndex(i)}},e.prototype.computeIntersections=function(){var r=this;if(arguments.length===1){var i=arguments[0];this.nOverlaps=0,this.prepareEvents();for(var s=0;s<this.events.size();s++){var o=r.events.get(s);if(o.isInsert()&&r.processOverlaps(s,o.getDeleteEventIndex(),o,i),i.isDone())break}}else if(arguments.length===3){if(arguments[2]instanceof St&&ae(arguments[0],Hr)&&ae(arguments[1],Hr)){var a=arguments[0],l=arguments[1],u=arguments[2];this.addEdges(a,a),this.addEdges(l,l),this.computeIntersections(u)}else if(typeof arguments[2]=="boolean"&&ae(arguments[0],Hr)&&arguments[1]instanceof St){var h=arguments[0],f=arguments[1],d=arguments[2];d?this.addEdges(h,null):this.addEdges(h),this.computeIntersections(f)}}},e.prototype.addEdge=function(r,i){for(var s=this,o=r.getMonotoneChainEdge(),a=o.getStartIndexes(),l=0;l<a.length-1;l++){var u=new su(o,l),h=new ir(i,o.getMinX(l),u);s.events.add(h),s.events.add(new ir(o.getMaxX(l),h))}},e.prototype.processOverlaps=function(r,i,s,o){for(var a=this,l=s.getObject(),u=r;u<i;u++){var h=a.events.get(u);if(h.isInsert()){var f=h.getObject();s.isSameLabel(h)||(l.computeIntersections(f,o),a.nOverlaps++)}}},e.prototype.addEdges=function(){var r=this;if(arguments.length===1)for(var i=arguments[0],s=i.iterator();s.hasNext();){var o=s.next();r.addEdge(o,o)}else if(arguments.length===2)for(var a=arguments[0],l=arguments[1],u=a.iterator();u.hasNext();){var h=u.next();r.addEdge(h,l)}},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(Zu),qn=function(){this._min=le.POSITIVE_INFINITY,this._max=le.NEGATIVE_INFINITY},sp={NodeComparator:{configurable:!0}};qn.prototype.getMin=function(){return this._min},qn.prototype.intersects=function(e,t){return!(this._min>t||this._max<e)},qn.prototype.getMax=function(){return this._max},qn.prototype.toString=function(){return Yr.toLineString(new M(this._min,0),new M(this._max,0))},qn.prototype.interfaces_=function(){return[]},qn.prototype.getClass=function(){return qn},sp.NodeComparator.get=function(){return ou},Object.defineProperties(qn,sp);var ou=function(){};ou.prototype.compare=function(e,t){var r=e,i=t,s=(r._min+r._max)/2,o=(i._min+i._max)/2;return s<o?-1:s>o?1:0},ou.prototype.interfaces_=function(){return[ja]},ou.prototype.getClass=function(){return ou};var uv=function(n){function e(){n.call(this),this._item=null;var t=arguments[0],r=arguments[1],i=arguments[2];this._min=t,this._max=r,this._item=i}return n&&(e.__proto__=n),e.prototype=Object.create(n&&n.prototype),e.prototype.constructor=e,e.prototype.query=function(r,i,s){if(!this.intersects(r,i))return null;s.visitItem(this._item)},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(qn),cv=function(n){function e(){n.call(this),this._node1=null,this._node2=null;var t=arguments[0],r=arguments[1];this._node1=t,this._node2=r,this.buildExtent(this._node1,this._node2)}return n&&(e.__proto__=n),e.prototype=Object.create(n&&n.prototype),e.prototype.constructor=e,e.prototype.buildExtent=function(r,i){this._min=Math.min(r._min,i._min),this._max=Math.max(r._max,i._max)},e.prototype.query=function(r,i,s){if(!this.intersects(r,i))return null;this._node1!==null&&this._node1.query(r,i,s),this._node2!==null&&this._node2.query(r,i,s)},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(qn),Xn=function(){this._leaves=new W,this._root=null,this._level=0};Xn.prototype.buildTree=function(){var e=this;Qr.sort(this._leaves,new qn.NodeComparator);for(var t=this._leaves,r=null,i=new W;;){if(e.buildLevel(t,i),i.size()===1)return i.get(0);r=t,t=i,i=r}},Xn.prototype.insert=function(e,t,r){if(this._root!==null)throw new Error("Index cannot be added to once it has been queried");this._leaves.add(new uv(e,t,r))},Xn.prototype.query=function(e,t,r){this.init(),this._root.query(e,t,r)},Xn.prototype.buildRoot=function(){if(this._root!==null)return null;this._root=this.buildTree()},Xn.prototype.printNode=function(e){mt.out.println(Yr.toLineString(new M(e._min,this._level),new M(e._max,this._level)))},Xn.prototype.init=function(){if(this._root!==null)return null;this.buildRoot()},Xn.prototype.buildLevel=function(e,t){this._level++,t.clear();for(var r=0;r<e.size();r+=2){var i=e.get(r),s=r+1<e.size()?e.get(r):null;if(s===null)t.add(i);else{var o=new cv(e.get(r),e.get(r+1));t.add(o)}}},Xn.prototype.interfaces_=function(){return[]},Xn.prototype.getClass=function(){return Xn};var vl=function(){this._items=new W};vl.prototype.visitItem=function(e){this._items.add(e)},vl.prototype.getItems=function(){return this._items},vl.prototype.interfaces_=function(){return[Ai]},vl.prototype.getClass=function(){return vl};var yl=function(){this._index=null;var e=arguments[0];if(!ae(e,Li))throw new ze("Argument must be Polygonal");this._index=new Es(e)},oh={SegmentVisitor:{configurable:!0},IntervalIndexedGeometry:{configurable:!0}};yl.prototype.locate=function(e){var t=new cn(e),r=new _l(t);return this._index.query(e.y,e.y,r),t.getLocation()},yl.prototype.interfaces_=function(){return[dl]},yl.prototype.getClass=function(){return yl},oh.SegmentVisitor.get=function(){return _l},oh.IntervalIndexedGeometry.get=function(){return Es},Object.defineProperties(yl,oh);var _l=function(){this._counter=null;var e=arguments[0];this._counter=e};_l.prototype.visitItem=function(e){var t=e;this._counter.countSegment(t.getCoordinate(0),t.getCoordinate(1))},_l.prototype.interfaces_=function(){return[Ai]},_l.prototype.getClass=function(){return _l};var Es=function(){this._index=new Xn;var e=arguments[0];this.init(e)};Es.prototype.init=function(e){for(var t=this,r=_t.getLines(e),i=r.iterator();i.hasNext();){var s=i.next(),o=s.getCoordinates();t.addLine(o)}},Es.prototype.addLine=function(e){for(var t=this,r=1;r<e.length;r++){var i=new re(e[r-1],e[r]),s=Math.min(i.p0.y,i.p1.y),o=Math.max(i.p0.y,i.p1.y);t._index.insert(s,o,i)}},Es.prototype.query=function(){if(arguments.length===2){var e=arguments[0],t=arguments[1],r=new vl;return this._index.query(e,t,r),r.getItems()}else if(arguments.length===3){var i=arguments[0],s=arguments[1],o=arguments[2];this._index.query(i,s,o)}},Es.prototype.interfaces_=function(){return[]},Es.prototype.getClass=function(){return Es};var au=function(n){function e(){if(n.call(this),this._parentGeom=null,this._lineEdgeMap=new Uf,this._boundaryNodeRule=null,this._useBoundaryDeterminationRule=!0,this._argIndex=null,this._boundaryNodes=null,this._hasTooFewPoints=!1,this._invalidPoint=null,this._areaPtLocator=null,this._ptLocator=new $r,arguments.length===2){var t=arguments[0],r=arguments[1],i=Pr.OGC_SFS_BOUNDARY_RULE;this._argIndex=t,this._parentGeom=r,this._boundaryNodeRule=i,r!==null&&this.add(r)}else if(arguments.length===3){var s=arguments[0],o=arguments[1],a=arguments[2];this._argIndex=s,this._parentGeom=o,this._boundaryNodeRule=a,o!==null&&this.add(o)}}return n&&(e.__proto__=n),e.prototype=Object.create(n&&n.prototype),e.prototype.constructor=e,e.prototype.insertBoundaryPoint=function(r,i){var s=this._nodes.addNode(i),o=s.getLabel(),a=1,l=R.NONE;l=o.getLocation(r,U.ON),l===R.BOUNDARY&&a++;var u=e.determineBoundary(this._boundaryNodeRule,a);o.setLocation(r,u)},e.prototype.computeSelfNodes=function(){if(arguments.length===2){var r=arguments[0],i=arguments[1];return this.computeSelfNodes(r,i,!1)}else if(arguments.length===3){var s=arguments[0],o=arguments[1],a=arguments[2],l=new St(s,!0,!1);l.setIsDoneIfProperInt(a);var u=this.createEdgeSetIntersector(),h=this._parentGeom instanceof An||this._parentGeom instanceof it||this._parentGeom instanceof Rn,f=o||!h;return u.computeIntersections(this._edges,l,f),this.addSelfIntersectionNodes(this._argIndex),l}},e.prototype.computeSplitEdges=function(r){for(var i=this._edges.iterator();i.hasNext();){var s=i.next();s.eiList.addSplitEdges(r)}},e.prototype.computeEdgeIntersections=function(r,i,s){var o=new St(i,s,!0);o.setBoundaryNodes(this.getBoundaryNodes(),r.getBoundaryNodes());var a=this.createEdgeSetIntersector();return a.computeIntersections(this._edges,r._edges,o),o},e.prototype.getGeometry=function(){return this._parentGeom},e.prototype.getBoundaryNodeRule=function(){return this._boundaryNodeRule},e.prototype.hasTooFewPoints=function(){return this._hasTooFewPoints},e.prototype.addPoint=function(){if(arguments[0]instanceof er){var r=arguments[0],i=r.getCoordinate();this.insertPoint(this._argIndex,i,R.INTERIOR)}else if(arguments[0]instanceof M){var s=arguments[0];this.insertPoint(this._argIndex,s,R.INTERIOR)}},e.prototype.addPolygon=function(r){var i=this;this.addPolygonRing(r.getExteriorRing(),R.EXTERIOR,R.INTERIOR);for(var s=0;s<r.getNumInteriorRing();s++){var o=r.getInteriorRingN(s);i.addPolygonRing(o,R.INTERIOR,R.EXTERIOR)}},e.prototype.addEdge=function(r){this.insertEdge(r);var i=r.getCoordinates();this.insertPoint(this._argIndex,i[0],R.BOUNDARY),this.insertPoint(this._argIndex,i[i.length-1],R.BOUNDARY)},e.prototype.addLineString=function(r){var i=de.removeRepeatedPoints(r.getCoordinates());if(i.length<2)return this._hasTooFewPoints=!0,this._invalidPoint=i[0],null;var s=new Ju(i,new De(this._argIndex,R.INTERIOR));this._lineEdgeMap.put(r,s),this.insertEdge(s),fe.isTrue(i.length>=2,"found LineString with single point"),this.insertBoundaryPoint(this._argIndex,i[0]),this.insertBoundaryPoint(this._argIndex,i[i.length-1])},e.prototype.getInvalidPoint=function(){return this._invalidPoint},e.prototype.getBoundaryPoints=function(){for(var r=this.getBoundaryNodes(),i=new Array(r.size()).fill(null),s=0,o=r.iterator();o.hasNext();){var a=o.next();i[s++]=a.getCoordinate().copy()}return i},e.prototype.getBoundaryNodes=function(){return this._boundaryNodes===null&&(this._boundaryNodes=this._nodes.getBoundaryNodes(this._argIndex)),this._boundaryNodes},e.prototype.addSelfIntersectionNode=function(r,i,s){if(this.isBoundaryNode(r,i))return null;s===R.BOUNDARY&&this._useBoundaryDeterminationRule?this.insertBoundaryPoint(r,i):this.insertPoint(r,i,s)},e.prototype.addPolygonRing=function(r,i,s){if(r.isEmpty())return null;var o=de.removeRepeatedPoints(r.getCoordinates());if(o.length<4)return this._hasTooFewPoints=!0,this._invalidPoint=o[0],null;var a=i,l=s;H.isCCW(o)&&(a=s,l=i);var u=new Ju(o,new De(this._argIndex,R.BOUNDARY,a,l));this._lineEdgeMap.put(r,u),this.insertEdge(u),this.insertPoint(this._argIndex,o[0],R.BOUNDARY)},e.prototype.insertPoint=function(r,i,s){var o=this._nodes.addNode(i),a=o.getLabel();a===null?o._label=new De(r,s):a.setLocation(r,s)},e.prototype.createEdgeSetIntersector=function(){return new lv},e.prototype.addSelfIntersectionNodes=function(r){for(var i=this,s=this._edges.iterator();s.hasNext();)for(var o=s.next(),a=o.getLabel().getLocation(r),l=o.eiList.iterator();l.hasNext();){var u=l.next();i.addSelfIntersectionNode(r,u.coord,a)}},e.prototype.add=function(){if(arguments.length===1){var r=arguments[0];if(r.isEmpty())return null;if(r instanceof Rn&&(this._useBoundaryDeterminationRule=!1),r instanceof it)this.addPolygon(r);else if(r instanceof Ye)this.addLineString(r);else if(r instanceof er)this.addPoint(r);else if(r instanceof cl)this.addCollection(r);else if(r instanceof ds)this.addCollection(r);else if(r instanceof Rn)this.addCollection(r);else if(r instanceof Mt)this.addCollection(r);else throw new Error(r.getClass().getName())}else return n.prototype.add.apply(this,arguments)},e.prototype.addCollection=function(r){for(var i=this,s=0;s<r.getNumGeometries();s++){var o=r.getGeometryN(s);i.add(o)}},e.prototype.locate=function(r){return ae(this._parentGeom,Li)&&this._parentGeom.getNumGeometries()>50?(this._areaPtLocator===null&&(this._areaPtLocator=new yl(this._parentGeom)),this._areaPtLocator.locate(r)):this._ptLocator.locate(r,this._parentGeom)},e.prototype.findEdge=function(){if(arguments.length===1){var r=arguments[0];return this._lineEdgeMap.get(r)}else return n.prototype.findEdge.apply(this,arguments)},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e.determineBoundary=function(r,i){return r.isInBoundary(i)?R.BOUNDARY:R.INTERIOR},e}(qe),wl=function(){if(this._li=new hs,this._resultPrecisionModel=null,this._arg=null,arguments.length===1){var e=arguments[0];this.setComputationPrecision(e.getPrecisionModel()),this._arg=new Array(1).fill(null),this._arg[0]=new au(0,e)}else if(arguments.length===2){var t=arguments[0],r=arguments[1],i=Pr.OGC_SFS_BOUNDARY_RULE;t.getPrecisionModel().compareTo(r.getPrecisionModel())>=0?this.setComputationPrecision(t.getPrecisionModel()):this.setComputationPrecision(r.getPrecisionModel()),this._arg=new Array(2).fill(null),this._arg[0]=new au(0,t,i),this._arg[1]=new au(1,r,i)}else if(arguments.length===3){var s=arguments[0],o=arguments[1],a=arguments[2];s.getPrecisionModel().compareTo(o.getPrecisionModel())>=0?this.setComputationPrecision(s.getPrecisionModel()):this.setComputationPrecision(o.getPrecisionModel()),this._arg=new Array(2).fill(null),this._arg[0]=new au(0,s,a),this._arg[1]=new au(1,o,a)}};wl.prototype.getArgGeometry=function(e){return this._arg[e].getGeometry()},wl.prototype.setComputationPrecision=function(e){this._resultPrecisionModel=e,this._li.setPrecisionModel(this._resultPrecisionModel)},wl.prototype.interfaces_=function(){return[]},wl.prototype.getClass=function(){return wl};var Ss=function(){};Ss.prototype.interfaces_=function(){return[]},Ss.prototype.getClass=function(){return Ss},Ss.map=function(){if(arguments[0]instanceof oe&&ae(arguments[1],Ss.MapOp)){for(var e=arguments[0],t=arguments[1],r=new W,i=0;i<e.getNumGeometries();i++){var s=t.map(e.getGeometryN(i));s!==null&&r.add(s)}return e.getFactory().buildGeometry(r)}else if(ae(arguments[0],nt)&&ae(arguments[1],Ss.MapOp)){for(var o=arguments[0],a=arguments[1],l=new W,u=o.iterator();u.hasNext();){var h=u.next(),f=a.map(h);f!==null&&l.add(f)}return l}},Ss.MapOp=function(){};var he=function(n){function e(){var t=arguments[0],r=arguments[1];n.call(this,t,r),this._ptLocator=new $r,this._geomFact=null,this._resultGeom=null,this._graph=null,this._edgeList=new Br,this._resultPolyList=new W,this._resultLineList=new W,this._resultPointList=new W,this._graph=new qe(new Qf),this._geomFact=t.getFactory()}return n&&(e.__proto__=n),e.prototype=Object.create(n&&n.prototype),e.prototype.constructor=e,e.prototype.insertUniqueEdge=function(r){var i=this._edgeList.findEqualEdge(r);if(i!==null){var s=i.getLabel(),o=r.getLabel();i.isPointwiseEqual(r)||(o=new De(r.getLabel()),o.flip());var a=i.getDepth();a.isNull()&&a.add(s),a.add(o),s.merge(o)}else this._edgeList.add(r)},e.prototype.getGraph=function(){return this._graph},e.prototype.cancelDuplicateResultEdges=function(){for(var r=this._graph.getEdgeEnds().iterator();r.hasNext();){var i=r.next(),s=i.getSym();i.isInResult()&&s.isInResult()&&(i.setInResult(!1),s.setInResult(!1))}},e.prototype.isCoveredByLA=function(r){return!!(this.isCovered(r,this._resultLineList)||this.isCovered(r,this._resultPolyList))},e.prototype.computeGeometry=function(r,i,s,o){var a=new W;return a.addAll(r),a.addAll(i),a.addAll(s),a.isEmpty()?e.createEmptyResult(o,this._arg[0].getGeometry(),this._arg[1].getGeometry(),this._geomFact):this._geomFact.buildGeometry(a)},e.prototype.mergeSymLabels=function(){for(var r=this._graph.getNodes().iterator();r.hasNext();){var i=r.next();i.getEdges().mergeSymLabels()}},e.prototype.isCovered=function(r,i){for(var s=this,o=i.iterator();o.hasNext();){var a=o.next(),l=s._ptLocator.locate(r,a);if(l!==R.EXTERIOR)return!0}return!1},e.prototype.replaceCollapsedEdges=function(){for(var r=new W,i=this._edgeList.iterator();i.hasNext();){var s=i.next();s.isCollapsed()&&(i.remove(),r.add(s.getCollapsedEdge()))}this._edgeList.addAll(r)},e.prototype.updateNodeLabelling=function(){for(var r=this._graph.getNodes().iterator();r.hasNext();){var i=r.next(),s=i.getEdges().getLabel();i.getLabel().merge(s)}},e.prototype.getResultGeometry=function(r){return this.computeOverlay(r),this._resultGeom},e.prototype.insertUniqueEdges=function(r){for(var i=this,s=r.iterator();s.hasNext();){var o=s.next();i.insertUniqueEdge(o)}},e.prototype.computeOverlay=function(r){this.copyPoints(0),this.copyPoints(1),this._arg[0].computeSelfNodes(this._li,!1),this._arg[1].computeSelfNodes(this._li,!1),this._arg[0].computeEdgeIntersections(this._arg[1],this._li,!0);var i=new W;this._arg[0].computeSplitEdges(i),this._arg[1].computeSplitEdges(i),this.insertUniqueEdges(i),this.computeLabelsFromDepths(),this.replaceCollapsedEdges(),ws.checkValid(this._edgeList.getEdges()),this._graph.addEdges(this._edgeList.getEdges()),this.computeLabelling(),this.labelIncompleteNodes(),this.findResultAreaEdges(r),this.cancelDuplicateResultEdges();var s=new tr(this._geomFact);s.add(this._graph),this._resultPolyList=s.getPolygons();var o=new Cn(this,this._geomFact,this._ptLocator);this._resultLineList=o.build(r);var a=new so(this,this._geomFact,this._ptLocator);this._resultPointList=a.build(r),this._resultGeom=this.computeGeometry(this._resultPointList,this._resultLineList,this._resultPolyList,r)},e.prototype.labelIncompleteNode=function(r,i){var s=this._ptLocator.locate(r.getCoordinate(),this._arg[i].getGeometry());r.getLabel().setLocation(i,s)},e.prototype.copyPoints=function(r){for(var i=this,s=this._arg[r].getNodeIterator();s.hasNext();){var o=s.next(),a=i._graph.addNode(o.getCoordinate());a.setLabel(r,o.getLabel().getLocation(r))}},e.prototype.findResultAreaEdges=function(r){for(var i=this._graph.getEdgeEnds().iterator();i.hasNext();){var s=i.next(),o=s.getLabel();o.isArea()&&!s.isInteriorAreaEdge()&&e.isResultOfOp(o.getLocation(0,U.RIGHT),o.getLocation(1,U.RIGHT),r)&&s.setInResult(!0)}},e.prototype.computeLabelsFromDepths=function(){for(var r=this._edgeList.iterator();r.hasNext();){var i=r.next(),s=i.getLabel(),o=i.getDepth();if(!o.isNull()){o.normalize();for(var a=0;a<2;a++)!s.isNull(a)&&s.isArea()&&!o.isNull(a)&&(o.getDelta(a)===0?s.toLine(a):(fe.isTrue(!o.isNull(a,U.LEFT),"depth of LEFT side has not been initialized"),s.setLocation(a,U.LEFT,o.getLocation(a,U.LEFT)),fe.isTrue(!o.isNull(a,U.RIGHT),"depth of RIGHT side has not been initialized"),s.setLocation(a,U.RIGHT,o.getLocation(a,U.RIGHT))))}}},e.prototype.computeLabelling=function(){for(var r=this,i=this._graph.getNodes().iterator();i.hasNext();){var s=i.next();s.getEdges().computeLabelling(r._arg)}this.mergeSymLabels(),this.updateNodeLabelling()},e.prototype.labelIncompleteNodes=function(){for(var r=this,i=this._graph.getNodes().iterator();i.hasNext();){var s=i.next(),o=s.getLabel();s.isIsolated()&&(o.isNull(0)?r.labelIncompleteNode(s,0):r.labelIncompleteNode(s,1)),s.getEdges().updateLabelling(o)}},e.prototype.isCoveredByA=function(r){return!!this.isCovered(r,this._resultPolyList)},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(wl);he.overlayOp=function(n,e,t){var r=new he(n,e),i=r.getResultGeometry(t);return i},he.intersection=function(n,e){if(n.isEmpty()||e.isEmpty())return he.createEmptyResult(he.INTERSECTION,n,e,n.getFactory());if(n.isGeometryCollection()){var t=e;return io.map(n,{interfaces_:function(){return[Ss.MapOp]},map:function(r){return r.intersection(t)}})}return n.checkNotGeometryCollection(n),n.checkNotGeometryCollection(e),Vt.overlayOp(n,e,he.INTERSECTION)},he.symDifference=function(n,e){if(n.isEmpty()||e.isEmpty()){if(n.isEmpty()&&e.isEmpty())return he.createEmptyResult(he.SYMDIFFERENCE,n,e,n.getFactory());if(n.isEmpty())return e.copy();if(e.isEmpty())return n.copy()}return n.checkNotGeometryCollection(n),n.checkNotGeometryCollection(e),Vt.overlayOp(n,e,he.SYMDIFFERENCE)},he.resultDimension=function(n,e,t){var r=e.getDimension(),i=t.getDimension(),s=-1;switch(n){case he.INTERSECTION:s=Math.min(r,i);break;case he.UNION:s=Math.max(r,i);break;case he.DIFFERENCE:s=r;break;case he.SYMDIFFERENCE:s=Math.max(r,i);break}return s},he.createEmptyResult=function(n,e,t,r){var i=null;switch(he.resultDimension(n,e,t)){case-1:i=r.createGeometryCollection(new Array(0).fill(null));break;case 0:i=r.createPoint();break;case 1:i=r.createLineString();break;case 2:i=r.createPolygon();break}return i},he.difference=function(n,e){return n.isEmpty()?he.createEmptyResult(he.DIFFERENCE,n,e,n.getFactory()):e.isEmpty()?n.copy():(n.checkNotGeometryCollection(n),n.checkNotGeometryCollection(e),Vt.overlayOp(n,e,he.DIFFERENCE))},he.isResultOfOp=function(){if(arguments.length===2){var n=arguments[0],e=arguments[1],t=n.getLocation(0),r=n.getLocation(1);return he.isResultOfOp(t,r,e)}else if(arguments.length===3){var i=arguments[0],s=arguments[1],o=arguments[2];switch(i===R.BOUNDARY&&(i=R.INTERIOR),s===R.BOUNDARY&&(s=R.INTERIOR),o){case he.INTERSECTION:return i===R.INTERIOR&&s===R.INTERIOR;case he.UNION:return i===R.INTERIOR||s===R.INTERIOR;case he.DIFFERENCE:return i===R.INTERIOR&&s!==R.INTERIOR;case he.SYMDIFFERENCE:return i===R.INTERIOR&&s!==R.INTERIOR||i!==R.INTERIOR&&s===R.INTERIOR}return!1}},he.INTERSECTION=1,he.UNION=2,he.DIFFERENCE=3,he.SYMDIFFERENCE=4;var qi=function(){this._g=null,this._boundaryDistanceTolerance=null,this._linework=null,this._ptLocator=new $r,this._seg=new re;var e=arguments[0],t=arguments[1];this._g=e,this._boundaryDistanceTolerance=t,this._linework=this.extractLinework(e)};qi.prototype.isWithinToleranceOfBoundary=function(e){for(var t=this,r=0;r<this._linework.getNumGeometries();r++)for(var i=t._linework.getGeometryN(r),s=i.getCoordinateSequence(),o=0;o<s.size()-1;o++){s.getCoordinate(o,t._seg.p0),s.getCoordinate(o+1,t._seg.p1);var a=t._seg.distance(e);if(a<=t._boundaryDistanceTolerance)return!0}return!1},qi.prototype.getLocation=function(e){return this.isWithinToleranceOfBoundary(e)?R.BOUNDARY:this._ptLocator.locate(e,this._g)},qi.prototype.extractLinework=function(e){var t=new El;e.apply(t);var r=t.getLinework(),i=ge.toLineStringArray(r);return e.getFactory().createMultiLineString(i)},qi.prototype.interfaces_=function(){return[]},qi.prototype.getClass=function(){return qi};var El=function(){this._linework=null,this._linework=new W};El.prototype.getLinework=function(){return this._linework},El.prototype.filter=function(e){var t=this;if(e instanceof it){var r=e;this._linework.add(r.getExteriorRing());for(var i=0;i<r.getNumInteriorRing();i++)t._linework.add(r.getInteriorRingN(i))}},El.prototype.interfaces_=function(){return[fn]},El.prototype.getClass=function(){return El};var Cs=function(){this._g=null,this._doLeft=!0,this._doRight=!0;var e=arguments[0];this._g=e};Cs.prototype.extractPoints=function(e,t,r){for(var i=this,s=e.getCoordinates(),o=0;o<s.length-1;o++)i.computeOffsetPoints(s[o],s[o+1],t,r)},Cs.prototype.setSidesToGenerate=function(e,t){this._doLeft=e,this._doRight=t},Cs.prototype.getPoints=function(e){for(var t=this,r=new W,i=_t.getLines(this._g),s=i.iterator();s.hasNext();){var o=s.next();t.extractPoints(o,e,r)}return r},Cs.prototype.computeOffsetPoints=function(e,t,r,i){var s=t.x-e.x,o=t.y-e.y,a=Math.sqrt(s*s+o*o),l=r*s/a,u=r*o/a,h=(t.x+e.x)/2,f=(t.y+e.y)/2;if(this._doLeft){var d=new M(h-u,f+l);i.add(d)}if(this._doRight){var v=new M(h+u,f-l);i.add(v)}},Cs.prototype.interfaces_=function(){return[]},Cs.prototype.getClass=function(){return Cs};var gr=function n(){this._geom=null,this._locFinder=null,this._location=new Array(3).fill(null),this._invalidLocation=null,this._boundaryDistanceTolerance=n.TOLERANCE,this._testCoords=new W;var e=arguments[0],t=arguments[1],r=arguments[2];this._boundaryDistanceTolerance=n.computeBoundaryDistanceTolerance(e,t),this._geom=[e,t,r],this._locFinder=[new qi(this._geom[0],this._boundaryDistanceTolerance),new qi(this._geom[1],this._boundaryDistanceTolerance),new qi(this._geom[2],this._boundaryDistanceTolerance)]},op={TOLERANCE:{configurable:!0}};gr.prototype.reportResult=function(e,t,r){mt.out.println("Overlay result invalid - A:"+R.toLocationSymbol(t[0])+" B:"+R.toLocationSymbol(t[1])+" expected:"+(r?"i":"e")+" actual:"+R.toLocationSymbol(t[2]))},gr.prototype.isValid=function(e){this.addTestPts(this._geom[0]),this.addTestPts(this._geom[1]);var t=this.checkValid(e);return t},gr.prototype.checkValid=function(){var e=this;if(arguments.length===1){for(var t=arguments[0],r=0;r<this._testCoords.size();r++){var i=e._testCoords.get(r);if(!e.checkValid(t,i))return e._invalidLocation=i,!1}return!0}else if(arguments.length===2){var s=arguments[0],o=arguments[1];return this._location[0]=this._locFinder[0].getLocation(o),this._location[1]=this._locFinder[1].getLocation(o),this._location[2]=this._locFinder[2].getLocation(o),gr.hasLocation(this._location,R.BOUNDARY)?!0:this.isValidResult(s,this._location)}},gr.prototype.addTestPts=function(e){var t=new Cs(e);this._testCoords.addAll(t.getPoints(5*this._boundaryDistanceTolerance))},gr.prototype.isValidResult=function(e,t){var r=he.isResultOfOp(t[0],t[1],e),i=t[2]===R.INTERIOR,s=!(r^i);return s||this.reportResult(e,t,r),s},gr.prototype.getInvalidLocation=function(){return this._invalidLocation},gr.prototype.interfaces_=function(){return[]},gr.prototype.getClass=function(){return gr},gr.hasLocation=function(e,t){for(var r=0;r<3;r++)if(e[r]===t)return!0;return!1},gr.computeBoundaryDistanceTolerance=function(e,t){return Math.min($e.computeSizeBasedSnapTolerance(e),$e.computeSizeBasedSnapTolerance(t))},gr.isValid=function(e,t,r,i){var s=new gr(e,t,i);return s.isValid(r)},op.TOLERANCE.get=function(){return 1e-6},Object.defineProperties(gr,op);var mr=function n(e){this._geomFactory=null,this._skipEmpty=!1,this._inputGeoms=null,this._geomFactory=n.extractFactory(e),this._inputGeoms=e};mr.prototype.extractElements=function(e,t){var r=this;if(e===null)return null;for(var i=0;i<e.getNumGeometries();i++){var s=e.getGeometryN(i);r._skipEmpty&&s.isEmpty()||t.add(s)}},mr.prototype.combine=function(){for(var e=this,t=new W,r=this._inputGeoms.iterator();r.hasNext();){var i=r.next();e.extractElements(i,t)}return t.size()===0?this._geomFactory!==null?this._geomFactory.createGeometryCollection(null):null:this._geomFactory.buildGeometry(t)},mr.prototype.interfaces_=function(){return[]},mr.prototype.getClass=function(){return mr},mr.combine=function(){if(arguments.length===1){var e=arguments[0],t=new mr(e);return t.combine()}else if(arguments.length===2){var r=arguments[0],i=arguments[1],s=new mr(mr.createList(r,i));return s.combine()}else if(arguments.length===3){var o=arguments[0],a=arguments[1],l=arguments[2],u=new mr(mr.createList(o,a,l));return u.combine()}},mr.extractFactory=function(e){return e.isEmpty()?null:e.iterator().next().getFactory()},mr.createList=function(){if(arguments.length===2){var e=arguments[0],t=arguments[1],r=new W;return r.add(e),r.add(t),r}else if(arguments.length===3){var i=arguments[0],s=arguments[1],o=arguments[2],a=new W;return a.add(i),a.add(s),a.add(o),a}};var tt=function(){this._inputPolys=null,this._geomFactory=null;var e=arguments[0];this._inputPolys=e,this._inputPolys===null&&(this._inputPolys=new W)},ap={STRTREE_NODE_CAPACITY:{configurable:!0}};tt.prototype.reduceToGeometries=function(e){for(var t=this,r=new W,i=e.iterator();i.hasNext();){var s=i.next(),o=null;ae(s,Hr)?o=t.unionTree(s):s instanceof oe&&(o=s),r.add(o)}return r},tt.prototype.extractByEnvelope=function(e,t,r){for(var i=new W,s=0;s<t.getNumGeometries();s++){var o=t.getGeometryN(s);o.getEnvelopeInternal().intersects(e)?i.add(o):r.add(o)}return this._geomFactory.buildGeometry(i)},tt.prototype.unionOptimized=function(e,t){var r=e.getEnvelopeInternal(),i=t.getEnvelopeInternal();if(!r.intersects(i)){var s=mr.combine(e,t);return s}if(e.getNumGeometries()<=1&&t.getNumGeometries()<=1)return this.unionActual(e,t);var o=r.intersection(i);return this.unionUsingEnvelopeIntersection(e,t,o)},tt.prototype.union=function(){if(this._inputPolys===null)throw new Error("union() method cannot be called twice");if(this._inputPolys.isEmpty())return null;this._geomFactory=this._inputPolys.iterator().next().getFactory();for(var e=new Xf(tt.STRTREE_NODE_CAPACITY),t=this._inputPolys.iterator();t.hasNext();){var r=t.next();e.insert(r.getEnvelopeInternal(),r)}this._inputPolys=null;var i=e.itemsTree(),s=this.unionTree(i);return s},tt.prototype.binaryUnion=function(){if(arguments.length===1){var e=arguments[0];return this.binaryUnion(e,0,e.size())}else if(arguments.length===3){var t=arguments[0],r=arguments[1],i=arguments[2];if(i-r<=1){var s=tt.getGeometry(t,r);return this.unionSafe(s,null)}else{if(i-r===2)return this.unionSafe(tt.getGeometry(t,r),tt.getGeometry(t,r+1));var o=Math.trunc((i+r)/2),a=this.binaryUnion(t,r,o),l=this.binaryUnion(t,o,i);return this.unionSafe(a,l)}}},tt.prototype.repeatedUnion=function(e){for(var t=null,r=e.iterator();r.hasNext();){var i=r.next();t===null?t=i.copy():t=t.union(i)}return t},tt.prototype.unionSafe=function(e,t){return e===null&&t===null?null:e===null?t.copy():t===null?e.copy():this.unionOptimized(e,t)},tt.prototype.unionActual=function(e,t){return tt.restrictToPolygons(e.union(t))},tt.prototype.unionTree=function(e){var t=this.reduceToGeometries(e),r=this.binaryUnion(t);return r},tt.prototype.unionUsingEnvelopeIntersection=function(e,t,r){var i=new W,s=this.extractByEnvelope(r,e,i),o=this.extractByEnvelope(r,t,i),a=this.unionActual(s,o);i.add(a);var l=mr.combine(i);return l},tt.prototype.bufferUnion=function(){if(arguments.length===1){var e=arguments[0],t=e.get(0).getFactory(),r=t.buildGeometry(e),i=r.buffer(0);return i}else if(arguments.length===2){var s=arguments[0],o=arguments[1],a=s.getFactory(),l=a.createGeometryCollection([s,o]),u=l.buffer(0);return u}},tt.prototype.interfaces_=function(){return[]},tt.prototype.getClass=function(){return tt},tt.restrictToPolygons=function(e){if(ae(e,Li))return e;var t=pi.getPolygons(e);return t.size()===1?t.get(0):e.getFactory().createMultiPolygon(ge.toPolygonArray(t))},tt.getGeometry=function(e,t){return t>=e.size()?null:e.get(t)},tt.union=function(e){var t=new tt(e);return t.union()},ap.STRTREE_NODE_CAPACITY.get=function(){return 4},Object.defineProperties(tt,ap);var Ku=function(){};Ku.prototype.interfaces_=function(){return[]},Ku.prototype.getClass=function(){return Ku},Ku.union=function(e,t){if(e.isEmpty()||t.isEmpty()){if(e.isEmpty()&&t.isEmpty())return he.createEmptyResult(he.UNION,e,t,e.getFactory());if(e.isEmpty())return t.copy();if(t.isEmpty())return e.copy()}return e.checkNotGeometryCollection(e),e.checkNotGeometryCollection(t),Vt.overlayOp(e,t,he.UNION)};function Ps(){return new Qu}function Qu(){this.reset()}Qu.prototype={constructor:Qu,reset:function(){this.s=this.t=0},add:function(n){lp(Bu,n,this.t),lp(this,Bu.s,this.s),this.s?this.t+=Bu.t:this.s=Bu.t},valueOf:function(){return this.s}};var Bu=new Qu;function lp(n,e,t){var r=n.s=e+t,i=r-e,s=r-i;n.t=e-s+(t-i)}var rt=1e-6,xe=Math.PI,di=xe/2,up=xe/4,gi=xe*2,Is=180/xe,Pn=xe/180,zt=Math.abs,hv=Math.atan,Sl=Math.atan2,ot=Math.cos,at=Math.sin,Cl=Math.sqrt;function cp(n){return n>1?0:n<-1?xe:Math.acos(n)}function ao(n){return n>1?di:n<-1?-di:Math.asin(n)}function lu(){}function $u(n,e){n&&fp.hasOwnProperty(n.type)&&fp[n.type](n,e)}var hp={Feature:function(n,e){$u(n.geometry,e)},FeatureCollection:function(n,e){for(var t=n.features,r=-1,i=t.length;++r<i;)$u(t[r].geometry,e)}},fp={Sphere:function(n,e){e.sphere()},Point:function(n,e){n=n.coordinates,e.point(n[0],n[1],n[2])},MultiPoint:function(n,e){for(var t=n.coordinates,r=-1,i=t.length;++r<i;)n=t[r],e.point(n[0],n[1],n[2])},LineString:function(n,e){ah(n.coordinates,e,0)},MultiLineString:function(n,e){for(var t=n.coordinates,r=-1,i=t.length;++r<i;)ah(t[r],e,0)},Polygon:function(n,e){pp(n.coordinates,e)},MultiPolygon:function(n,e){for(var t=n.coordinates,r=-1,i=t.length;++r<i;)pp(t[r],e)},GeometryCollection:function(n,e){for(var t=n.geometries,r=-1,i=t.length;++r<i;)$u(t[r],e)}};function ah(n,e,t){var r=-1,i=n.length-t,s;for(e.lineStart();++r<i;)s=n[r],e.point(s[0],s[1],s[2]);e.lineEnd()}function pp(n,e){var t=-1,r=n.length;for(e.polygonStart();++t<r;)ah(n[t],e,1);e.polygonEnd()}function fv(n,e){n&&hp.hasOwnProperty(n.type)?hp[n.type](n,e):$u(n,e)}Ps(),Ps();function lh(n){return[Sl(n[1],n[0]),ao(n[2])]}function Pl(n){var e=n[0],t=n[1],r=ot(t);return[r*ot(e),r*at(e),at(t)]}function ju(n,e){return n[0]*e[0]+n[1]*e[1]+n[2]*e[2]}function ec(n,e){return[n[1]*e[2]-n[2]*e[1],n[2]*e[0]-n[0]*e[2],n[0]*e[1]-n[1]*e[0]]}function uh(n,e){n[0]+=e[0],n[1]+=e[1],n[2]+=e[2]}function tc(n,e){return[n[0]*e,n[1]*e,n[2]*e]}function ch(n){var e=Cl(n[0]*n[0]+n[1]*n[1]+n[2]*n[2]);n[0]/=e,n[1]/=e,n[2]/=e}Ps();function dp(n,e){function t(r,i){return r=n(r,i),e(r[0],r[1])}return n.invert&&e.invert&&(t.invert=function(r,i){return r=e.invert(r,i),r&&n.invert(r[0],r[1])}),t}function hh(n,e){return[n>xe?n-gi:n<-xe?n+gi:n,e]}hh.invert=hh;function pv(n,e,t){return(n%=gi)?e||t?dp(mp(n),vp(e,t)):mp(n):e||t?vp(e,t):hh}function gp(n){return function(e,t){return e+=n,[e>xe?e-gi:e<-xe?e+gi:e,t]}}function mp(n){var e=gp(n);return e.invert=gp(-n),e}function vp(n,e){var t=ot(n),r=at(n),i=ot(e),s=at(e);function o(a,l){var u=ot(l),h=ot(a)*u,f=at(a)*u,d=at(l),v=d*t+h*r;return[Sl(f*i-v*s,h*t-d*r),ao(v*i+f*s)]}return o.invert=function(a,l){var u=ot(l),h=ot(a)*u,f=at(a)*u,d=at(l),v=d*i-f*s;return[Sl(f*i+d*s,h*t+v*r),ao(v*t-h*r)]},o}function dv(n,e,t,r,i,s){if(t){var o=ot(e),a=at(e),l=r*t;i==null?(i=e+r*gi,s=e-l/2):(i=yp(o,i),s=yp(o,s),(r>0?i<s:i>s)&&(i+=r*gi));for(var u,h=i;r>0?h>s:h<s;h-=l)u=lh([o,-a*ot(h),-a*at(h)]),n.point(u[0],u[1])}}function yp(n,e){e=Pl(e),e[0]-=n,ch(e);var t=cp(-e[1]);return((-e[2]<0?-t:t)+gi-rt)%gi}function _p(){var n=[],e;return{point:function(t,r){e.push([t,r])},lineStart:function(){n.push(e=[])},lineEnd:lu,rejoin:function(){n.length>1&&n.push(n.pop().concat(n.shift()))},result:function(){var t=n;return n=[],e=null,t}}}function gv(n,e,t,r,i,s){var o=n[0],a=n[1],l=e[0],u=e[1],h=0,f=1,d=l-o,v=u-a,w;if(w=t-o,!(!d&&w>0)){if(w/=d,d<0){if(w<h)return;w<f&&(f=w)}else if(d>0){if(w>f)return;w>h&&(h=w)}if(w=i-o,!(!d&&w<0)){if(w/=d,d<0){if(w>f)return;w>h&&(h=w)}else if(d>0){if(w<h)return;w<f&&(f=w)}if(w=r-a,!(!v&&w>0)){if(w/=v,v<0){if(w<h)return;w<f&&(f=w)}else if(v>0){if(w>f)return;w>h&&(h=w)}if(w=s-a,!(!v&&w<0)){if(w/=v,v<0){if(w>f)return;w>h&&(h=w)}else if(v>0){if(w<h)return;w<f&&(f=w)}return h>0&&(n[0]=o+h*d,n[1]=a+h*v),f<1&&(e[0]=o+f*d,e[1]=a+f*v),!0}}}}}function rc(n,e){return zt(n[0]-e[0])<rt&&zt(n[1]-e[1])<rt}function nc(n,e,t,r){this.x=n,this.z=e,this.o=t,this.e=r,this.v=!1,this.n=this.p=null}function wp(n,e,t,r,i){var s=[],o=[],a,l;if(n.forEach(function(w){if(!((I=w.length-1)<=0)){var I,T=w[0],L=w[I],m;if(rc(T,L)){for(i.lineStart(),a=0;a<I;++a)i.point((T=w[a])[0],T[1]);i.lineEnd();return}s.push(m=new nc(T,w,null,!0)),o.push(m.o=new nc(T,null,m,!1)),s.push(m=new nc(L,w,null,!1)),o.push(m.o=new nc(L,null,m,!0))}}),!!s.length){for(o.sort(e),Ep(s),Ep(o),a=0,l=o.length;a<l;++a)o[a].e=t=!t;for(var u=s[0],h,f;;){for(var d=u,v=!0;d.v;)if((d=d.n)===u)return;h=d.z,i.lineStart();do{if(d.v=d.o.v=!0,d.e){if(v)for(a=0,l=h.length;a<l;++a)i.point((f=h[a])[0],f[1]);else r(d.x,d.n.x,1,i);d=d.n}else{if(v)for(h=d.p.z,a=h.length-1;a>=0;--a)i.point((f=h[a])[0],f[1]);else r(d.x,d.p.x,-1,i);d=d.p}d=d.o,h=d.z,v=!v}while(!d.v);i.lineEnd()}}}function Ep(n){if(e=n.length){for(var e,t=0,r=n[0],i;++t<e;)r.n=i=n[t],i.p=r,r=i;r.n=i=n[0],i.p=r}}function Sp(n,e){return n<e?-1:n>e?1:n>=e?0:NaN}function mv(n){return n.length===1&&(n=vv(n)),{left:function(e,t,r,i){for(r==null&&(r=0),i==null&&(i=e.length);r<i;){var s=r+i>>>1;n(e[s],t)<0?r=s+1:i=s}return r},right:function(e,t,r,i){for(r==null&&(r=0),i==null&&(i=e.length);r<i;){var s=r+i>>>1;n(e[s],t)>0?i=s:r=s+1}return r}}}function vv(n){return function(e,t){return Sp(n(e),t)}}mv(Sp);function Cp(n){for(var e=n.length,t,r=-1,i=0,s,o;++r<e;)i+=n[r].length;for(s=new Array(i);--e>=0;)for(o=n[e],t=o.length;--t>=0;)s[--i]=o[t];return s}var ic=1e9,sc=-1e9;function yv(n,e,t,r){function i(u,h){return n<=u&&u<=t&&e<=h&&h<=r}function s(u,h,f,d){var v=0,w=0;if(u==null||(v=o(u,f))!==(w=o(h,f))||l(u,h)<0^f>0)do d.point(v===0||v===3?n:t,v>1?r:e);while((v=(v+f+4)%4)!==w);else d.point(h[0],h[1])}function o(u,h){return zt(u[0]-n)<rt?h>0?0:3:zt(u[0]-t)<rt?h>0?2:1:zt(u[1]-e)<rt?h>0?1:0:h>0?3:2}function a(u,h){return l(u.x,h.x)}function l(u,h){var f=o(u,1),d=o(h,1);return f!==d?f-d:f===0?h[1]-u[1]:f===1?u[0]-h[0]:f===2?u[1]-h[1]:h[0]-u[0]}return function(u){var h=u,f=_p(),d,v,w,I,T,L,m,_,g,y,E,C={point:b,lineStart:O,lineEnd:A,polygonStart:x,polygonEnd:N};function b(B,X){i(B,X)&&h.point(B,X)}function D(){for(var B=0,X=0,ne=v.length;X<ne;++X)for(var ue=v[X],pe=1,K=ue.length,$=ue[0],ee,ve,Oe=$[0],Ce=$[1];pe<K;++pe)ee=Oe,ve=Ce,$=ue[pe],Oe=$[0],Ce=$[1],ve<=r?Ce>r&&(Oe-ee)*(r-ve)>(Ce-ve)*(n-ee)&&++B:Ce<=r&&(Oe-ee)*(r-ve)<(Ce-ve)*(n-ee)&&--B;return B}function x(){h=f,d=[],v=[],E=!0}function N(){var B=D(),X=E&&B,ne=(d=Cp(d)).length;(X||ne)&&(u.polygonStart(),X&&(u.lineStart(),s(null,null,1,u),u.lineEnd()),ne&&wp(d,a,B,s,u),u.polygonEnd()),h=u,d=v=w=null}function O(){C.point=F,v&&v.push(w=[]),y=!0,g=!1,m=_=NaN}function A(){d&&(F(I,T),L&&g&&f.rejoin(),d.push(f.result())),C.point=b,g&&h.lineEnd()}function F(B,X){var ne=i(B,X);if(v&&w.push([B,X]),y)I=B,T=X,L=ne,y=!1,ne&&(h.lineStart(),h.point(B,X));else if(ne&&g)h.point(B,X);else{var ue=[m=Math.max(sc,Math.min(ic,m)),_=Math.max(sc,Math.min(ic,_))],pe=[B=Math.max(sc,Math.min(ic,B)),X=Math.max(sc,Math.min(ic,X))];gv(ue,pe,n,e,t,r)?(g||(h.lineStart(),h.point(ue[0],ue[1])),h.point(pe[0],pe[1]),ne||h.lineEnd(),E=!1):ne&&(h.lineStart(),h.point(B,X),E=!1)}m=B,_=X,g=ne}return C}}var fh=Ps();function _v(n,e){var t=e[0],r=e[1],i=[at(t),-ot(t),0],s=0,o=0;fh.reset();for(var a=0,l=n.length;a<l;++a)if(h=(u=n[a]).length)for(var u,h,f=u[h-1],d=f[0],v=f[1]/2+up,w=at(v),I=ot(v),T=0;T<h;++T,d=m,w=g,I=y,f=L){var L=u[T],m=L[0],_=L[1]/2+up,g=at(_),y=ot(_),E=m-d,C=E>=0?1:-1,b=C*E,D=b>xe,x=w*g;if(fh.add(Sl(x*C*at(b),I*y+x*ot(b))),s+=D?E+C*gi:E,D^d>=t^m>=t){var N=ec(Pl(f),Pl(L));ch(N);var O=ec(i,N);ch(O);var A=(D^E>=0?-1:1)*ao(O[2]);(r>A||r===A&&(N[0]||N[1]))&&(o+=D^E>=0?1:-1)}}return(s<-1e-6||s<rt&&fh<-1e-6)^o&1}Ps();function Pp(n){return n}Ps(),Ps();var Il=1/0,oc=Il,uu=-Il,ac=uu,Ip={point:wv,lineStart:lu,lineEnd:lu,polygonStart:lu,polygonEnd:lu,result:function(){var n=[[Il,oc],[uu,ac]];return uu=ac=-(oc=Il=1/0),n}};function wv(n,e){n<Il&&(Il=n),n>uu&&(uu=n),e<oc&&(oc=e),e>ac&&(ac=e)}Ps();function Tp(n,e,t,r){return function(i,s){var o=e(s),a=i.invert(r[0],r[1]),l=_p(),u=e(l),h=!1,f,d,v,w={point:I,lineStart:L,lineEnd:m,polygonStart:function(){w.point=_,w.lineStart=g,w.lineEnd=y,d=[],f=[]},polygonEnd:function(){w.point=I,w.lineStart=L,w.lineEnd=m,d=Cp(d);var E=_v(f,a);d.length?(h||(s.polygonStart(),h=!0),wp(d,Sv,E,t,s)):E&&(h||(s.polygonStart(),h=!0),s.lineStart(),t(null,null,1,s),s.lineEnd()),h&&(s.polygonEnd(),h=!1),d=f=null},sphere:function(){s.polygonStart(),s.lineStart(),t(null,null,1,s),s.lineEnd(),s.polygonEnd()}};function I(E,C){var b=i(E,C);n(E=b[0],C=b[1])&&s.point(E,C)}function T(E,C){var b=i(E,C);o.point(b[0],b[1])}function L(){w.point=T,o.lineStart()}function m(){w.point=I,o.lineEnd()}function _(E,C){v.push([E,C]);var b=i(E,C);u.point(b[0],b[1])}function g(){u.lineStart(),v=[]}function y(){_(v[0][0],v[0][1]),u.lineEnd();var E=u.clean(),C=l.result(),b,D=C.length,x,N,O;if(v.pop(),f.push(v),v=null,!!D){if(E&1){if(N=C[0],(x=N.length-1)>0){for(h||(s.polygonStart(),h=!0),s.lineStart(),b=0;b<x;++b)s.point((O=N[b])[0],O[1]);s.lineEnd()}return}D>1&&E&2&&C.push(C.pop().concat(C.shift())),d.push(C.filter(Ev))}}return w}}function Ev(n){return n.length>1}function Sv(n,e){return((n=n.x)[0]<0?n[1]-di-rt:di-n[1])-((e=e.x)[0]<0?e[1]-di-rt:di-e[1])}const bp=Tp(function(){return!0},Cv,Iv,[-xe,-di]);function Cv(n){var e=NaN,t=NaN,r=NaN,i;return{lineStart:function(){n.lineStart(),i=1},point:function(s,o){var a=s>0?xe:-xe,l=zt(s-e);zt(l-xe)<rt?(n.point(e,t=(t+o)/2>0?di:-di),n.point(r,t),n.lineEnd(),n.lineStart(),n.point(a,t),n.point(s,t),i=0):r!==a&&l>=xe&&(zt(e-r)<rt&&(e-=r*rt),zt(s-a)<rt&&(s-=a*rt),t=Pv(e,t,s,o),n.point(r,t),n.lineEnd(),n.lineStart(),n.point(a,t),i=0),n.point(e=s,t=o),r=a},lineEnd:function(){n.lineEnd(),e=t=NaN},clean:function(){return 2-i}}}function Pv(n,e,t,r){var i,s,o=at(n-t);return zt(o)>rt?hv((at(e)*(s=ot(r))*at(t)-at(r)*(i=ot(e))*at(n))/(i*s*o)):(e+r)/2}function Iv(n,e,t,r){var i;if(n==null)i=t*di,r.point(-xe,i),r.point(0,i),r.point(xe,i),r.point(xe,0),r.point(xe,-i),r.point(0,-i),r.point(-xe,-i),r.point(-xe,0),r.point(-xe,i);else if(zt(n[0]-e[0])>rt){var s=n[0]<e[0]?xe:-xe;i=t*s/2,r.point(-s,i),r.point(0,i),r.point(s,i)}else r.point(e[0],e[1])}function Tv(n,e){var t=ot(n),r=t>0,i=zt(t)>rt;function s(h,f,d,v){dv(v,n,e,d,h,f)}function o(h,f){return ot(h)*ot(f)>t}function a(h){var f,d,v,w,I;return{lineStart:function(){w=v=!1,I=1},point:function(T,L){var m=[T,L],_,g=o(T,L),y=r?g?0:u(T,L):g?u(T+(T<0?xe:-xe),L):0;if(!f&&(w=v=g)&&h.lineStart(),g!==v&&(_=l(f,m),(!_||rc(f,_)||rc(m,_))&&(m[0]+=rt,m[1]+=rt,g=o(m[0],m[1]))),g!==v)I=0,g?(h.lineStart(),_=l(m,f),h.point(_[0],_[1])):(_=l(f,m),h.point(_[0],_[1]),h.lineEnd()),f=_;else if(i&&f&&r^g){var E;!(y&d)&&(E=l(m,f,!0))&&(I=0,r?(h.lineStart(),h.point(E[0][0],E[0][1]),h.point(E[1][0],E[1][1]),h.lineEnd()):(h.point(E[1][0],E[1][1]),h.lineEnd(),h.lineStart(),h.point(E[0][0],E[0][1])))}g&&(!f||!rc(f,m))&&h.point(m[0],m[1]),f=m,v=g,d=y},lineEnd:function(){v&&h.lineEnd(),f=null},clean:function(){return I|(w&&v)<<1}}}function l(h,f,d){var v=Pl(h),w=Pl(f),I=[1,0,0],T=ec(v,w),L=ju(T,T),m=T[0],_=L-m*m;if(!_)return!d&&h;var g=t*L/_,y=-t*m/_,E=ec(I,T),C=tc(I,g),b=tc(T,y);uh(C,b);var D=E,x=ju(C,D),N=ju(D,D),O=x*x-N*(ju(C,C)-1);if(!(O<0)){var A=Cl(O),F=tc(D,(-x-A)/N);if(uh(F,C),F=lh(F),!d)return F;var B=h[0],X=f[0],ne=h[1],ue=f[1],pe;X<B&&(pe=B,B=X,X=pe);var K=X-B,$=zt(K-xe)<rt,ee=$||K<rt;if(!$&&ue<ne&&(pe=ne,ne=ue,ue=pe),ee?$?ne+ue>0^F[1]<(zt(F[0]-B)<rt?ne:ue):ne<=F[1]&&F[1]<=ue:K>xe^(B<=F[0]&&F[0]<=X)){var ve=tc(D,(-x+A)/N);return uh(ve,C),[F,lh(ve)]}}}function u(h,f){var d=r?n:xe-n,v=0;return h<-d?v|=1:h>d&&(v|=2),f<-d?v|=4:f>d&&(v|=8),v}return Tp(o,a,s,r?[0,-n]:[-xe,n-xe])}function Np(n){return function(e){var t=new ph;for(var r in n)t[r]=n[r];return t.stream=e,t}}function ph(){}ph.prototype={constructor:ph,point:function(n,e){this.stream.point(n,e)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}};function Dp(n,e,t){var r=e[1][0]-e[0][0],i=e[1][1]-e[0][1],s=n.clipExtent&&n.clipExtent();n.scale(150).translate([0,0]),s!=null&&n.clipExtent(null),fv(t,n.stream(Ip));var o=Ip.result(),a=Math.min(r/(o[1][0]-o[0][0]),i/(o[1][1]-o[0][1])),l=+e[0][0]+(r-a*(o[1][0]+o[0][0]))/2,u=+e[0][1]+(i-a*(o[1][1]+o[0][1]))/2;return s!=null&&n.clipExtent(s),n.scale(a*150).translate([l,u])}function bv(n,e,t){return Dp(n,[[0,0],e],t)}var Op=16,Nv=ot(30*Pn);function Mp(n,e){return+e?Ov(n,e):Dv(n)}function Dv(n){return Np({point:function(e,t){e=n(e,t),this.stream.point(e[0],e[1])}})}function Ov(n,e){function t(r,i,s,o,a,l,u,h,f,d,v,w,I,T){var L=u-r,m=h-i,_=L*L+m*m;if(_>4*e&&I--){var g=o+d,y=a+v,E=l+w,C=Cl(g*g+y*y+E*E),b=ao(E/=C),D=zt(zt(E)-1)<rt||zt(s-f)<rt?(s+f)/2:Sl(y,g),x=n(D,b),N=x[0],O=x[1],A=N-r,F=O-i,B=m*A-L*F;(B*B/_>e||zt((L*A+m*F)/_-.5)>.3||o*d+a*v+l*w<Nv)&&(t(r,i,s,o,a,l,N,O,D,g/=C,y/=C,E,I,T),T.point(N,O),t(N,O,D,g,y,E,u,h,f,d,v,w,I,T))}}return function(r){var i,s,o,a,l,u,h,f,d,v,w,I,T={point:L,lineStart:m,lineEnd:g,polygonStart:function(){r.polygonStart(),T.lineStart=y},polygonEnd:function(){r.polygonEnd(),T.lineStart=m}};function L(b,D){b=n(b,D),r.point(b[0],b[1])}function m(){f=NaN,T.point=_,r.lineStart()}function _(b,D){var x=Pl([b,D]),N=n(b,D);t(f,d,h,v,w,I,f=N[0],d=N[1],h=b,v=x[0],w=x[1],I=x[2],Op,r),r.point(f,d)}function g(){T.point=L,r.lineEnd()}function y(){m(),T.point=E,T.lineEnd=C}function E(b,D){_(i=b,D),s=f,o=d,a=v,l=w,u=I,T.point=_}function C(){t(f,d,h,v,w,I,s,o,i,a,l,u,Op,r),T.lineEnd=g,g()}return T}}var Mv=Np({point:function(n,e){this.stream.point(n*Pn,e*Pn)}});function xv(n){return Lv(function(){return n})()}function Lv(n){var e,t=150,r=480,i=250,s,o,a=0,l=0,u=0,h=0,f=0,d,v,w=null,I=bp,T=null,L,m,_,g=Pp,y=.5,E=Mp(N,y),C,b;function D(F){return F=v(F[0]*Pn,F[1]*Pn),[F[0]*t+s,o-F[1]*t]}function x(F){return F=v.invert((F[0]-s)/t,(o-F[1])/t),F&&[F[0]*Is,F[1]*Is]}function N(F,B){return F=e(F,B),[F[0]*t+s,o-F[1]*t]}D.stream=function(F){return C&&b===F?C:C=Mv(I(d,E(g(b=F))))},D.clipAngle=function(F){return arguments.length?(I=+F?Tv(w=F*Pn,6*Pn):(w=null,bp),A()):w*Is},D.clipExtent=function(F){return arguments.length?(g=F==null?(T=L=m=_=null,Pp):yv(T=+F[0][0],L=+F[0][1],m=+F[1][0],_=+F[1][1]),A()):T==null?null:[[T,L],[m,_]]},D.scale=function(F){return arguments.length?(t=+F,O()):t},D.translate=function(F){return arguments.length?(r=+F[0],i=+F[1],O()):[r,i]},D.center=function(F){return arguments.length?(a=F[0]%360*Pn,l=F[1]%360*Pn,O()):[a*Is,l*Is]},D.rotate=function(F){return arguments.length?(u=F[0]%360*Pn,h=F[1]%360*Pn,f=F.length>2?F[2]%360*Pn:0,O()):[u*Is,h*Is,f*Is]},D.precision=function(F){return arguments.length?(E=Mp(N,y=F*F),A()):Cl(y)},D.fitExtent=function(F,B){return Dp(D,F,B)},D.fitSize=function(F,B){return bv(D,F,B)};function O(){v=dp(d=pv(u,h,f),e);var F=e(a,l);return s=r-F[0]*t,o=i+F[1]*t,A()}function A(){return C=b=null,D}return function(){return e=n.apply(this,arguments),D.invert=e.invert&&x,O()}}function xp(n){return function(e,t){var r=ot(e),i=ot(t),s=n(r*i);return[s*i*at(e),s*at(t)]}}function Lp(n){return function(e,t){var r=Cl(e*e+t*t),i=n(r),s=at(i),o=ot(i);return[Sl(e*s,r*o),ao(r&&t*s/r)]}}var Av=xp(function(n){return Cl(2/(1+n))});Av.invert=Lp(function(n){return 2*ao(n/2)});var Ap=xp(function(n){return(n=cp(n))&&n/at(n)});Ap.invert=Lp(function(n){return n});function Rv(){return xv(Ap).scale(79.4188).clipAngle(180-.001)}function Rp(n,e){return[n,e]}Rp.invert=Rp;function Fv(n,e,t){t=t||{};var r=t.units||"kilometers",i=t.steps||8;if(!n)throw new Error("geojson is required");if(typeof t!="object")throw new Error("options must be an object");if(typeof i!="number")throw new Error("steps must be an number");if(e===void 0)throw new Error("radius is required");if(i<=0)throw new Error("steps must be greater than 0");var s=[];switch(n.type){case"GeometryCollection":return Iu(n,function(o){var a=lc(o,e,r,i);a&&s.push(a)}),Ka(s);case"FeatureCollection":return Pu(n,function(o){var a=lc(o,e,r,i);a&&Pu(a,function(l){l&&s.push(l)})}),Ka(s)}return lc(n,e,r,i)}function lc(n,e,t,r){var i=n.properties||{},s=n.type==="Feature"?n.geometry:n;if(s.type==="GeometryCollection"){var o=[];return Iu(n,function(I){var T=lc(I,e,t,r);T&&o.push(T)}),Ka(o)}var a=kv(s),l={type:s.type,coordinates:kp(s.coordinates,a)},u=new Bc,h=u.read(l),f=Sc(Cc(e,t),"meters"),d=yt.bufferOp(h,f,r),v=new Wf;if(d=v.write(d),!Fp(d.coordinates)){var w={type:d.type,coordinates:Vp(d.coordinates,a)};return Nn(w,i)}}function Fp(n){return Array.isArray(n[0])?Fp(n[0]):isNaN(n[0])}function kp(n,e){return typeof n[0]!="object"?e(n):n.map(function(t){return kp(t,e)})}function Vp(n,e){return typeof n[0]!="object"?e.invert(n):n.map(function(t){return Vp(t,e)})}function kv(n){var e=Jm(n).geometry.coordinates,t=[-e[0],-e[1]];return Rv().rotate(t).scale(Ut)}function Vv(n,e){var t=Wr(n),r=Wr(e),i=n.properties||{},s=Wc.difference(t.coordinates,r.coordinates);return s.length===0?null:s.length===1?ar(s[0],i):Ec(s,i)}function zv(n,e,t){t===void 0&&(t={});for(var r=t.steps||64,i=t.properties?t.properties:!Array.isArray(n)&&n.type==="Feature"&&n.properties?n.properties:{},s=[],o=0;o<r;o++)s.push(Qa(n,e,o*-360/r,t).geometry.coordinates);return s.push(s[0]),ar([s],i)}function Yn(n,e,t){if(t===void 0&&(t={}),!n)throw new Error("point is required");if(!e)throw new Error("polygon is required");var r=lr(n),i=Wr(e),s=i.type,o=e.bbox,a=i.coordinates;if(o&&Uv(r,o)===!1)return!1;s==="Polygon"&&(a=[a]);for(var l=!1,u=0;u<a.length&&!l;u++)if(zp(r,a[u][0],t.ignoreBoundary)){for(var h=!1,f=1;f<a[u].length&&!h;)zp(r,a[u][f],!t.ignoreBoundary)&&(h=!0),f++;h||(l=!0)}return l}function zp(n,e,t){var r=!1;e[0][0]===e[e.length-1][0]&&e[0][1]===e[e.length-1][1]&&(e=e.slice(0,e.length-1));for(var i=0,s=e.length-1;i<e.length;s=i++){var o=e[i][0],a=e[i][1],l=e[s][0],u=e[s][1],h=n[1]*(o-l)+a*(l-n[0])+u*(n[0]-o)===0&&(o-n[0])*(l-n[0])<=0&&(a-n[1])*(u-n[1])<=0;if(h)return!t;var f=a>n[1]!=u>n[1]&&n[0]<(l-o)*(n[1]-a)/(u-a)+o;f&&(r=!r)}return r}function Uv(n,e){return e[0]<=n[0]&&e[1]<=n[1]&&e[2]>=n[0]&&e[3]>=n[1]}function Xi(n,e,t){t===void 0&&(t={});for(var r=lr(n),i=qs(e),s=0;s<i.length-1;s++){var o=!1;if(t.ignoreEndVertices&&(s===0&&(o="start"),s===i.length-2&&(o="end"),s===0&&s+1===i.length-1&&(o="both")),Gv(i[s],i[s+1],r,o,typeof t.epsilon>"u"?null:t.epsilon))return!0}return!1}function Gv(n,e,t,r,i){var s=t[0],o=t[1],a=n[0],l=n[1],u=e[0],h=e[1],f=t[0]-a,d=t[1]-l,v=u-a,w=h-l,I=f*w-d*v;if(i!==null){if(Math.abs(I)>i)return!1}else if(I!==0)return!1;if(r){if(r==="start")return Math.abs(v)>=Math.abs(w)?v>0?a<s&&s<=u:u<=s&&s<a:w>0?l<o&&o<=h:h<=o&&o<l;if(r==="end")return Math.abs(v)>=Math.abs(w)?v>0?a<=s&&s<u:u<s&&s<=a:w>0?l<=o&&o<h:h<o&&o<=l;if(r==="both")return Math.abs(v)>=Math.abs(w)?v>0?a<s&&s<u:u<s&&s<a:w>0?l<o&&o<h:h<o&&o<l}else return Math.abs(v)>=Math.abs(w)?v>0?a<=s&&s<=u:u<=s&&s<=a:w>0?l<=o&&o<=h:h<=o&&o<=l;return!1}function Wv(n,e){var t=Wr(n),r=Wr(e),i=t.type,s=r.type,o=t.coordinates,a=r.coordinates;switch(i){case"Point":switch(s){case"Point":return dh(o,a);default:throw new Error("feature2 "+s+" geometry not supported")}case"MultiPoint":switch(s){case"Point":return qv(t,r);case"MultiPoint":return Xv(t,r);default:throw new Error("feature2 "+s+" geometry not supported")}case"LineString":switch(s){case"Point":return Xi(r,t,{ignoreEndVertices:!0});case"LineString":return Jv(t,r);case"MultiPoint":return Yv(t,r);default:throw new Error("feature2 "+s+" geometry not supported")}case"Polygon":switch(s){case"Point":return Yn(r,t,{ignoreBoundary:!0});case"LineString":return Zv(t,r);case"Polygon":return Kv(t,r);case"MultiPoint":return Hv(t,r);default:throw new Error("feature2 "+s+" geometry not supported")}default:throw new Error("feature1 "+i+" geometry not supported")}}function qv(n,e){var t,r=!1;for(t=0;t<n.coordinates.length;t++)if(dh(n.coordinates[t],e.coordinates)){r=!0;break}return r}function Xv(n,e){for(var t=0,r=e.coordinates;t<r.length;t++){for(var i=r[t],s=!1,o=0,a=n.coordinates;o<a.length;o++){var l=a[o];if(dh(i,l)){s=!0;break}}if(!s)return!1}return!0}function Yv(n,e){for(var t=!1,r=0,i=e.coordinates;r<i.length;r++){var s=i[r];if(Xi(s,n,{ignoreEndVertices:!0})&&(t=!0),!Xi(s,n))return!1}return!!t}function Hv(n,e){for(var t=0,r=e.coordinates;t<r.length;t++){var i=r[t];if(!Yn(i,n,{ignoreBoundary:!0}))return!1}return!0}function Jv(n,e){for(var t=!1,r=0,i=e.coordinates;r<i.length;r++){var s=i[r];if(Xi({type:"Point",coordinates:s},n,{ignoreEndVertices:!0})&&(t=!0),!Xi({type:"Point",coordinates:s},n,{ignoreEndVertices:!1}))return!1}return t}function Zv(n,e){var t=!1,r=0,i=Mn(n),s=Mn(e);if(!Up(i,s))return!1;for(r;r<e.coordinates.length-1;r++){var o=Qv(e.coordinates[r],e.coordinates[r+1]);if(Yn({type:"Point",coordinates:o},n,{ignoreBoundary:!0})){t=!0;break}}return t}function Kv(n,e){if(n.type==="Feature"&&n.geometry===null||e.type==="Feature"&&e.geometry===null)return!1;var t=Mn(n),r=Mn(e);if(!Up(t,r))return!1;for(var i=Wr(e).coordinates,s=0,o=i;s<o.length;s++)for(var a=o[s],l=0,u=a;l<u.length;l++){var h=u[l];if(!Yn(h,n))return!1}return!0}function Up(n,e){return!(n[0]>e[0]||n[2]<e[2]||n[1]>e[1]||n[3]<e[3])}function dh(n,e){return n[0]===e[0]&&n[1]===e[1]}function Qv(n,e){return[(n[0]+e[0])/2,(n[1]+e[1])/2]}function Bv(n,e){var t=Wr(n),r=Wr(e),i=t.type,s=r.type;switch(i){case"Point":switch(s){case"MultiPoint":return $v(t,r);case"LineString":return Xi(t,r,{ignoreEndVertices:!0});case"Polygon":case"MultiPolygon":return Yn(t,r,{ignoreBoundary:!0});default:throw new Error("feature2 "+s+" geometry not supported")}case"MultiPoint":switch(s){case"MultiPoint":return jv(t,r);case"LineString":return ey(t,r);case"Polygon":case"MultiPolygon":return ty(t,r);default:throw new Error("feature2 "+s+" geometry not supported")}case"LineString":switch(s){case"LineString":return ry(t,r);case"Polygon":case"MultiPolygon":return ny(t,r);default:throw new Error("feature2 "+s+" geometry not supported")}case"Polygon":switch(s){case"Polygon":case"MultiPolygon":return iy(t,r);default:throw new Error("feature2 "+s+" geometry not supported")}default:throw new Error("feature1 "+i+" geometry not supported")}}function $v(n,e){var t,r=!1;for(t=0;t<e.coordinates.length;t++)if(Wp(e.coordinates[t],n.coordinates)){r=!0;break}return r}function jv(n,e){for(var t=0;t<n.coordinates.length;t++){for(var r=!1,i=0;i<e.coordinates.length;i++)Wp(n.coordinates[t],e.coordinates[i])&&(r=!0);if(!r)return!1}return!0}function ey(n,e){for(var t=!1,r=0;r<n.coordinates.length;r++){if(!Xi(n.coordinates[r],e))return!1;t||(t=Xi(n.coordinates[r],e,{ignoreEndVertices:!0}))}return t}function ty(n,e){for(var t=!0,r=!1,i=0;i<n.coordinates.length;i++){if(r=Yn(n.coordinates[1],e),!r){t=!1;break}r=Yn(n.coordinates[1],e,{ignoreBoundary:!0})}return t&&r}function ry(n,e){for(var t=0;t<n.coordinates.length;t++)if(!Xi(n.coordinates[t],e))return!1;return!0}function ny(n,e){var t=Mn(e),r=Mn(n);if(!Gp(t,r))return!1;for(var i=!1,s=0;s<n.coordinates.length-1;s++){if(!Yn(n.coordinates[s],e))return!1;if(i||(i=Yn(n.coordinates[s],e,{ignoreBoundary:!0})),!i){var o=sy(n.coordinates[s],n.coordinates[s+1]);i=Yn(o,e,{ignoreBoundary:!0})}}return i}function iy(n,e){var t=Mn(n),r=Mn(e);if(!Gp(r,t))return!1;for(var i=0;i<n.coordinates[0].length;i++)if(!Yn(n.coordinates[0][i],e))return!1;return!0}function Gp(n,e){return!(n[0]>e[0]||n[2]<e[2]||n[1]>e[1]||n[3]<e[3])}function Wp(n,e){return n[0]===e[0]&&n[1]===e[1]}function sy(n,e){return[(n[0]+e[0])/2,(n[1]+e[1])/2]}function qp(n,e){(n[0][0]!==n[n.length-1][0]||n[0][1]!==n[n.length-1][1]||n[0][2]!==n[n.length-1][2])&&n.push(n[0]),(e[0][0]!==e[e.length-1][0]||e[0][1]!==e[e.length-1][1]||e[0][2]!==e[e.length-1][2])&&e.push(e[0]);const t=Ym(ar([n]),ar([e]));if(t)return t.geometry.coordinates}function Xp(n,e){(n[0][0]!==n[n.length-1][0]||n[0][1]!==n[n.length-1][1]||n[0][2]!==n[n.length-1][2])&&n.push(n[0]),(e[0][0]!==e[e.length-1][0]||e[0][1]!==e[e.length-1][1]||e[0][2]!==e[e.length-1][2])&&e.push(e[0]);const t=Hm(ar([n]),ar([e]));if(t)return t.geometry.coordinates}function Yp(n,e=500,t="meters"){const r=Fv(Dn(n),e,{units:t});if(r)return r.geometry.coordinates}function Hp(n,e){(n[0][0]!==n[n.length-1][0]||n[0][1]!==n[n.length-1][1]||n[0][2]!==n[n.length-1][2])&&n.push(n[0]),(e[0][0]!==e[e.length-1][0]||e[0][1]!==e[e.length-1][1]||e[0][2]!==e[e.length-1][2])&&e.push(e[0]);const t=Vv(ar([n]),ar([e]));if(t)return t.geometry.coordinates}function Jp(n,e,t=10,r="meters"){return zv(n,e,{steps:t,units:r}).geometry.coordinates}function gh(n,e){(n[0][0]!==n[n.length-1][0]||n[0][1]!==n[n.length-1][1]||n[0][2]!==n[n.length-1][2])&&n.push(n[0]),(e[0][0]!==e[e.length-1][0]||e[0][1]!==e[e.length-1][1]||e[0][2]!==e[e.length-1][2])&&e.push(e[0]);const t=ar([n]),r=ar([e]);return Wv(t,r)?"oneBig":Bv(t,r)?"twoBig":!1}function Zp(n){const e=c.min(c.objsIterator(n,["0"])),t=c.min(c.objsIterator(n,["1"])),r=c.min(c.objsIterator(n,["2"])),i=c.max(c.objsIterator(n,["0"])),s=c.max(c.objsIterator(n,["1"])),o=c.max(c.objsIterator(n,["2"]));return{minPos:[e,t,r],maxPos:[i,s,o],center:[(e+i)*.5,(t+s)*.5,(r+o)*.5]}}function oy(n){const{minPos:e,maxPos:t,center:r}=Zp(n);if(e.some(a=>!Number.isFinite(a)||t.some(l=>!Number.isFinite(l))||r.some(l=>!Number.isFinite(l)))){console.warn("geoCenterAndRadiusFromPositions error: minPos.some(e => !Number.isFinite(e) || maxPos.some(e => !Number.isFinite(e)) || center.some(e => !Number.isFinite(e))");return}const i=Oc(e,t);let s=i*.5;const o=Math.abs(e[2]-t[2]);return o!=0&&(s=Math.sqrt(i*i+o*o)*.5),{center:r,radius:s}}const Kp=Dh("+title=WGS 84 (long/lat) +proj=longlat +ellps=WGS84 +datum=WGS84 +units=degrees","+proj=geocent +datum=WGS84");function mi(n){return Kp.forward(n)}function Qp(n){return Kp.inverse(n)}const Bp=Dh("+title=WGS 84 (long/lat) +proj=longlat +ellps=WGS84 +datum=WGS84 +units=degrees","+proj=merc +a=6378137 +b=6378137 +lat_ts=0 +lon_0=0 +x_0=0 +y_0=0 +k=1 +units=m +nadgrids=@null +wktext +no_defs +type=crs");function ay(n){const e=Bp.forward([n[0],n[1]]);return[e[0],e[1],n[2]]}function ly(n){const e=Bp.inverse([n[0],n[1]]);return[e[0],e[1],n[2]]}function $p(n,e){const t=mi(n),r=mi(e);return c.Vector.distance(t,r)}function Tl(n,e){const t=[];do{const r=n.length;let i=0;for(let s=0;s<r-1;++s){if(e===void 0||e==="GEODESIC"){const o=Oc(n[s],n[s+1]),a=Math.abs(n[s][2]-n[s+1][2]);if(a===0)i+=o;else{const l=Math.sqrt(o*o+a*a);i+=l}}else if(e==="RHUMB"){const o=gf(n[s],n[s+1]),a=Math.abs(n[s][2]-n[s+1][2]);if(a===0)i+=o;else{const l=Math.sqrt(o*o+a*a);i+=l}}else if(e==="NONE"){const o=$p(n[s],n[s+1]);i+=o}else console.warn(`未知的arcType: ${e},导致距离无法计算!`);t.push(i)}}while(!1);return t}function mh(n){const e="__getXyzFromPostion";let t=c.getExtProp(n,e);return(!t||!c.Vector.equals(t[0],n))&&(t=[[...n],mi(n)],c.setExtProp(n,e,t)),t[1]}class jp extends c.Destroyable{constructor(){super();p(this,"_data",this.dv(c.react(void 0)))}set data(t){this._data.value=t}get data(){return this._data.value}get dataChanged(){return this._data.changed}}class ed extends c.Destroyable{constructor(){super(...arguments);p(this,"_dragStartEvent",this.dv(new c.Event));p(this,"_dragOverEvent",this.dv(new c.Event));p(this,"_dragLeaveEvent",this.dv(new c.Event));p(this,"_dropEvent",this.dv(new c.Event))}dragStart(t){this._dragStartEvent.emit(t)}dragOver(t){this._dragOverEvent.emit(t)}dragLeave(t){this._dragLeaveEvent.emit(t)}drop(t){this._dropEvent.emit(t)}}function uy(n,e){e&&(Reflect.has(e,"editing")?e.editing=!0:Reflect.has(e,"positionEditing")&&(e.positionEditing=!0))}function cy(n){["Czm3DTiles","View","ESCameraView","OlView","GeoCameraController"].includes(n.typeName)||(Reflect.has(n,"editing")?n.editing=!0:Reflect.has(n,"positionEditing")&&(n.positionEditing=!0)),typeof n.execOnCreating=="function"&&n.execOnCreating()}function cu(n,e){c.getExtProp(n,"__treeItem")&&console.error("setSceneObjectTreeItem error!"),c.setExtProp(n,"__treeItem",e)}function hy(n){return c.getExtProp(n,"__treeItem")}function fy(n){if(!(n.startsWith("./")||n.startsWith("../")||n.startsWith("/")))return n;const e=document.createElement("a");e.href=n;const t=e.href;return e.remove(),t}function py(n){try{return JSON.parse(n),!0}catch{return!1}}function dy(n){return n instanceof Function?n():n}function td(n,e){for(let t of n)if(e.includes(t))return!0;return!1}function Yi(n,e){const t=n,r=e;return t===void 0||t.length===0||r===void 0||r.length===0?!0:td(t,r)}function gy(n){const e=setTimeout(()=>{n(),clearTimeout(e)})}function hu(n){let e=n%360;return e=e<0?360+e:e,e}function rd(n){return hu(n+180)-180}function uc(n,e,t){let r=hu(n),i=hu(e);Math.abs(r-i)>180&&(r<i?r+=360:i+=360);const s=r*(1-t)+i*t;return rd(s)}function vh(n,e,t,r){return r=r||[0,0,0],r[0]=uc(n[0],e[0],t),r[1]=uc(n[1],e[1],t),r[2]=uc(n[2],e[2],t),r}async function nd(n,e,t="editing"){const r=new c.Destroyable;n.ad(r);const i=e.bind(n);let s=n.viewer;if(s||await new Promise(o=>{r.ad(n.viewerChanged.don(a=>{s=a,o()}))}),!s){console.warn("viewer is undefined!,无法绑定编辑");return}return r.ad(n[`${t}Changed`].don(()=>{var o;n[`${t}`]?i():(o=(n.combinationClass?n.getMainClass():n).editingID)!=null&&o.includes("inner")&&s&&s.stopEditing()})),r.ad(s.editingEvent.don(o=>{if(o.objectIDs.includes(n.id)&&o.type==="end"){const a=n.combinationClass?n.getMainClass():n;a.editingID&&o.editingID.includes(a.editingID)?n[`${t}`]=!1:n[`${t}`]=!a.editingID.includes("outer")}})),n[`${t}`]&&i(),r}function id(n){const e=n.children&&c.every(n.children,r=>{if(!(r instanceof sr))throw new Error("!(treeItem instanceof SceneTreeItem)");return!r.show})||!1,t=n.sceneTree.getSceneObjectShowFunc(n.sceneObject);return!e||t}class sr extends c.TreeItem{constructor(t,r=!1,i,s,o=!0){super(t,r,i);p(this,"_dragDrop");p(this,"_showChangedNotAffectChildren",!1);p(this,"_showChangedNotAffectParent",!1);p(this,"_type",this.dv(c.react("Unknown")));p(this,"_isExport",this.dv(c.react(!0)));const a=()=>this.tree&&this.tree.itemsChanged.emit([this]);this.dispose(this.nameChanged.disposableOn(a)),this.name=`未命名条目(${this.id})`,this.extras=s,this._isExport.value=o;let l;const u=()=>{l&&(l(),l=void 0)};this.dispose(u),this.dispose(this.sceneObjectChanged.disposableOn(h=>{u(),h&&(l=c.bind([this,"name"],[h,"name"]))})),this.dispose(this.showChanged.disposableOn(h=>{if(t.setSceneObjectShowFunc(this.sceneObject,h),this.tree&&this.tree.forceRedraw(),this.children&&!this._showChangedNotAffectChildren)for(let f of this.children)f instanceof sr&&(f._showChangedNotAffectParent=!0,f.show=h,f._showChangedNotAffectParent=!1);this.parent&&this.parent instanceof sr&&!this._showChangedNotAffectParent&&(this.parent._showChangedNotAffectChildren=!0,this.parent.show=id(this.parent),this.parent._showChangedNotAffectChildren=!1)})),this.dv(new c.ObjResettingWithEvent(this.sceneObjectChanged,()=>{if(!this.sceneObject)return;const h=new c.Destroyable;if("show"in this.sceneObject&&"showChanged"in this.sceneObject&&this.sceneObject.showChanged instanceof Event){const f=()=>{this.show=t.getSceneObjectShowFunc(this.sceneObject)};f(),h.dispose(this.sceneObject.showChanged.disposableOn(f))}else if("enabled"in this.sceneObject&&"enabledChanged"in this.sceneObject&&this.sceneObject.enabledChanged instanceof Event){const f=()=>{this.show=t.getSceneObjectShowFunc(this.sceneObject)};f(),h.dispose(this.sceneObject.enabledChanged.disposableOn(f))}return h})),this.childrenChangedEvent.disposableOn(()=>{const h=id(this);this._showChangedNotAffectChildren=!0,this.show=h,this._showChangedNotAffectChildren=!1});{const h=()=>{let f="Unknown";this.sceneObject?f=this.sceneObject.typeName:this.children&&(f="Folder"),this._type.value=f};this.dispose(this.sceneObjectChanged.disposableOn(h)),this.dispose(this.childrenResetedEvent.disposableOn(h)),h()}}get dragDrop(){return this._dragDrop||(this._dragDrop=this.dv(this.sceneTree.createTreeItemDragDropFunc(this))),this._dragDrop}get type(){return this._type.value}get typeChanged(){return this._type.changed}get isExport(){return this._isExport.value}get isExportChanged(){return this._isExport.changed}set isExport(t){this._isExport.value=t}get sceneTree(){return this.tree}get jsonStr(){return JSON.stringify(this.json,void 0," ")}set jsonStr(t){try{this.json=JSON.parse(t)}catch(r){console.error(`sceneTreeItem.jsonStr error ${r}`,r)}}get json(){const t=this.children&&[...this.children].filter(r=>r.isExport).map(r=>r.json);return{name:this.name,show:this.show?void 0:!1,collapsed:this.uiTreeObject.collapsed?!0:void 0,sceneObj:this.sceneObject&&this.sceneObject.json,children:t,extras:this.extras}}set json(t){if(t.name!==void 0&&(this.name=t.name),this.extras=t.extras,this._showChangedNotAffectChildren=!0,this._showChangedNotAffectParent=!0,this.show=t.show??!0,this._showChangedNotAffectChildren=!1,this._showChangedNotAffectParent=!1,this.uiTreeObject.collapsed=t.collapsed??!1,this.sceneObject=void 0,t.sceneObj&&(this.sceneObject=this.sceneTree.createSceneObjectFunc(t.sceneObj,this)),!!t.children){if(this.resetChildren(!0),!this.children)throw new Error("resetChildren(true) cannot get children!");for(let r of t.children){const i=new sr(this.tree,!0);i.json=r,this.children.push(i)}}}clone(){try{const t=new sr(this.sceneTree,!!this.children,void 0,this.extras,this.isExport);return t.json=this.json,t.name=this.sceneTree.getSceneTreeItemCloneNameFunc(this),t}catch(t){console.error(`SceneTreeItem.clone error: ${t}`,t)}}insertNewTreeItem(t,r){if(t==="FolderInnerOrAfter"||t==="FolderInnerOrBefore"||t==="FolderInner"){if(r&&r.tree!==this.tree)return console.warn("newTreeItem.tree !== this.tree"),!1;do{if(!this.children||t.includes("Or")&&this.sceneObject)break;return r&&this.children.push(r),!0}while(!1);if(t==="FolderInner")return!1;if(t==="FolderInnerOrAfter")return super.insertNewTreeItem("After",r);if(t==="FolderInnerOrBefore")return super.insertNewTreeItem("Before",r);throw new Error("should not be here!")}else return super.insertNewTreeItem(t,r)}}(n=>{n.createDefaultProps=()=>({name:"未命名条目",nameEditing:!1,sceneObject:void 0,show:!0,extras:c.reactJsonWithUndefined(void 0)})})(sr||(sr={})),c.extendClassProps(sr.prototype,sr.createDefaultProps);class my extends c.Destroyable{constructor(t){super();p(this,"_jsonLoadingEvent",this.disposeVar(new c.Event));p(this,"_setJsonProcessing",this.disposeVar(c.createProcessingFromAsyncFunc(async(t,r)=>{this._jsonLoadingEvent.emit({type:"init"}),this._jsonLoadingEvent.emit({type:"loading"}),r&&await t.promise(this._sceneTree.preloadFunc(r)),this._setJson(r),this._jsonLoadingEvent.emit({type:"loaded"})})));this._sceneTree=t,this._setJsonProcessing.errorFunc=r=>{this._jsonLoadingEvent.emit({type:"error",error:r})}}get jsonLoadingEvent(){return this._jsonLoadingEvent}_setJson(t){try{this._sceneTree.setJson(t||{})}catch(r){console.error(`json数据装配时发生错误!error: ${r}`)}}get json(){return this._sceneTree.getJson()}set json(t){this._setJsonProcessing.restart(new c.CancelError("JSON重新赋值!"),t)}get jsonStr(){return JSON.stringify(this.json,void 0," ")}set jsonStr(t){this.json=JSON.parse(t)}}function vy(n,e){const{type:t,id:r}=n;if(t){const i=j.create(t,r);if(i)return i.json=n,i;console.warn(`cannot create sceneObject from type(${t})`)}else console.warn(`cannot create sceneObject from type(${t})`)}function yy(n){let e=!1;do{if(!n)break;"show"in n?e=n.show??!0:"enabled"in n&&(e=n.enabled??!0)}while(!1);return e}function _y(n,e){n&&("show"in n?n.show=e:"enabled"in n&&(n.enabled=e))}function sd(n,e,t){let{offsetY:r}=e;if(!e.target||!("clientTop"in e.target))return"none";r+=2,r+=e.target.clientTop;let i="none";return n.children?r<=t*.3?i="before":r>=t*.7?!n.uiTreeObject.collapsed&&n.children.length>0?i="inner":i="after":i="inner":r<=t*.5?i="before":i="after",i}class od extends ed{constructor(e){super(),this._treeItem=e;const{dragStartDataManager:t}=this._treeItem.sceneTree;let r="none";const i=this.disposeVar(c.createTimeoutWithStartValues(()=>{this._treeItem.uiTreeObject.moveToPositionMode=r,console.log(`uiTreeObject.moveToPositionMode = lastDragMode(${r});`)},200));function s(o){r!==o&&(r=o,i.restart())}this.dispose(this._dragStartEvent.disposableOn(o=>{t.data={type:"UITreeA",value:this._treeItem}})),this.dispose(this._dragOverEvent.disposableOn(o=>{if(o.dataTransfer){o.preventDefault();do{const a=t;if(!(a.data&&a.data.type==="UITreeA"&&a.data.value!==void 0))break;const l=a.data.value,u=this._treeItem,{tree:h}=u;if(!h)break;const f=[...h.selectedItems];~f.indexOf(l)||f.push(l);const d=sd(u,o,h.itemDivHeight);if(d==="none"||!c.Tree.canMoveToTreeItems(f,u,d))break;o.dataTransfer.dropEffect="move",s(d);return}while(!1);o.dataTransfer.dropEffect="none",s("none")}})),this.dispose(this._dropEvent.disposableOn(o=>{const a=t;if(!(a.data&&a.data.type==="UITreeA"&&a.data.value!==void 0))return;const l=a.data.value,u=this._treeItem,{tree:h}=u;if(!h)return;const f=[...h.selectedItems];~f.indexOf(l)||f.push(l);const d=sd(u,o,h.itemDivHeight);d!=="none"&&c.Tree.canMoveToTreeItems(f,u,d)&&(c.Tree.moveToTreeItems(f,u,d),a.data=void 0,s("none"))})),this.dispose(this._dragLeaveEvent.disposableOn(()=>{r="none",i.restart()}))}}function wy(n){if(!(n instanceof sr))throw new Error("defaultCreateTreeItemDragDrop !(treeItem instanceof SceneTreeItem)");return new od(n)}const Ey=["EnvironmentVariables","ScriptsLoader","SceneScript","ScriptLoader"];function Sy(n){const e=[],{root:t={}}=n,r=[t];for(;r.length>0;){const i=r.pop();if(!i)throw new Error("!todo");if(i.children){for(let s of i.children)if(s.children&&r.unshift(s),s.sceneObj){const{type:o=void 0}=s.sceneObj;o||(console.warn("sceneObjJson has no type! treeItem.sceneObj: "),console.warn(s.sceneObj)),o&&Ey.includes(o)&&e.push(s.sceneObj)}}}return e}async function Cy(n,e){const t=Sy(n);let r=0;const i=t.length;for(let s of t)if(++r,e){const o=r/i;e(o,r,i)}}class ad extends c.Destroyable{constructor(t,r){super();p(this,"treeItemContexMenuCallback");this._sceneTree=t,this._projectManager=r}get sceneTree(){return this._sceneTree}}function Py(n){return n.name+"_clone"}function yh(n,e,t){if(n instanceof sr)return n.insertNewTreeItem(e,t);{const r={FolderInnerOrAfter:"InnerOrAfter",FolderInnerOrBefore:"InnerOrBefore",FolderInner:"Inner",InnerOrAfter:"InnerOrAfter",InnerOrBefore:"InnerOrBefore",Inner:"Inner",After:"After",Before:"Before"};return n.insertNewTreeItem(r[e],t)}}function Iy(n){[n,...n.getDescendants()].forEach(e=>e.destroy())}const Mr=class Mr extends c.Tree{constructor(t,r,i,s){super(i);p(this,"_jsonLoading",this.disposeVar(new my(this)));p(this,"createSceneObjectFunc",Mr.defaultCreateSceneObjectFunc);p(this,"createTreeItemDragDropFunc",Mr.defaultCreateTreeItemDragDropFunc);p(this,"preloadFunc",Mr.defaultPreload);p(this,"getSceneObjectShowFunc",Mr.defaultGetSceneObjectShow);p(this,"setSceneObjectShowFunc",Mr.defaultSetSceneObjectShow);p(this,"getSceneTreeItemCloneNameFunc",Mr.defaultGetSceneTreeItemCloneNameFunc);p(this,"debug",!1);p(this,"_contextMenu",this.disposeVar(new ad(this,this.projectManager)));p(this,"_showPropUiOnSelecting",this.disposeVar(c.react(!0)));this._name=t,this._dragStartDataManager=r,this._projectManager=s,this.dispose(this.selectedItems.changedEvent.disposableOn(()=>{var a,l;window.lssn=this.lastSelectedItem,window.lsso=(a=this.lastSelectedItem)==null?void 0:a.sceneObject,this.debug&&console.log(((l=this.lastSelectedItem)==null?void 0:l.sceneObject)??"select null")}));const{sceneObjectsManager:o}=this._projectManager;this.dispose(this.itemsDeleted.disposableOn(a=>{for(let l of a){const u=l,{sceneObject:h}=u;h&&o.deleteSceneObject(h)&&h.destroy()&&cu(h,void 0);for(let f of u.getDescendants()){const{sceneObject:d}=f;d&&o.deleteSceneObject(d)&&d.destroy()&&cu(d,void 0)}Iy(l)}})),this.dispose(this.itemsAdded.disposableOn(a=>{for(let l of a){const u=l;u.sceneObject&&o.addSceneObject(u.sceneObject)&&cu(u.sceneObject,u);for(let h of u.getDescendants()){const f=h;f.sceneObject&&o.addSceneObject(f.sceneObject)&&cu(f.sceneObject,f)}}})),this.dispose(this.selectedItems.changedEvent.disposableOn(()=>{if(!this.showPropUiOnSelecting)return;this._projectManager.propUiTreeManager.sceneObject=void 0;const{lastSelectedItem:a}=this;a&&(this._projectManager.propUiTreeManager.sceneObject=a.sceneObject)}))}get json(){return this._jsonLoading.json}set json(t){this._jsonLoading.json=t}get jsonStr(){return this._jsonLoading.jsonStr}set jsonStr(t){this._jsonLoading.jsonStr=t}get jsonLoadingEvent(){return this._jsonLoading.jsonLoadingEvent}get name(){return this._name}get projectManager(){return this._projectManager}get contextMenu(){return this._contextMenu}get showPropUiOnSelecting(){return this._showPropUiOnSelecting.value}set showPropUiOnSelecting(t){this._showPropUiOnSelecting.value=t}get showPropUiOnSelectingChanged(){return this._showPropUiOnSelecting.changed}get sceneUiTree(){return this.uiTree}getTreeItemFromSceneObjId(t){const r=this.getDescendants();let i;for(let s of r)if(s.sceneObject&&s.sceneObject.id===t){i=s;break}return i}get dragStartDataManager(){return this._dragStartDataManager}getJson(){return{root:{children:[...this.children].filter(t=>t.isExport).map(t=>t.json)}}}setJson(t){var i;t.root=t.root||{};const r=t.root.children??[];this.root.resetChildren(!0);for(let s of r){const o=new sr(this,!0);o.json=s,(i=this.root.children)==null||i.push(o)}}testAddNewTreeItem(t,r){const i=t||this.lastSelectedItem||this.root;return i?yh(i,r):!1}addNewTreeItem(t,r,i,s){const o=t||this.lastSelectedItem||this.root;if(o&&yh(o,r)){const a=new sr(this,i);if(a.sceneObject=s,!yh(o,r,a))throw new Error("currentTreeItem.insertNewTreeItem return false!");return a}}createSceneObjectTreeItem(t,r,i,s){const o=s??"FolderInnerOrAfter";if(!this.testAddNewTreeItem(i,o)){console.warn(`cannot addNewTreeItem! currentTreeItem(${i?i.id:"root"})`);return}const a=j.create(t,r);return a?this.addNewTreeItem(i,s??"FolderInnerOrAfter",!0,a):void 0}createGroupTreeItem(t,r,i,s){const o=s??"FolderInnerOrAfter";if(!this.testAddNewTreeItem(i,o)){console.warn(`cannot addNewTreeItem! currentTreeItem(${i?i.id:"root"})`);return}const a=this.addNewTreeItem(i,s??"FolderInnerOrAfter",!0);if(!a){console.warn("addNewTreeItem error!");return}return a.name=t??"未命名组节点",a}createSceneObjectTreeItemFromClass(t,r,i,s){const o=s??"FolderInnerOrAfter";if(!this.testAddNewTreeItem(i,o))return;const a=j.createFromClass(t,r);return a?this.addNewTreeItem(i,o,!0,a):void 0}createSceneObjectTreeItemFromJson(t,r,i){const s=i??"FolderInnerOrAfter";if(!this.testAddNewTreeItem(r,s))return;const o=j.createFromJson(t);return o?this.addNewTreeItem(r,i??"FolderInnerOrAfter",!0,o):void 0}destroySceneObjectTreeItem(t){if(t===this.root){console.warn("cannot destroy root! please use function destroyAllSceneObjectTreeItems!");return}t.detachFromParent()}destroyAllSceneObjectTreeItems(){if(!this.root.children)return;const t=[...this.root.children];for(let r of t)this.destroySceneObjectTreeItem(r)}};p(Mr,"defaultCreateSceneObjectFunc",vy),p(Mr,"defaultCreateTreeItemDragDropFunc",wy),p(Mr,"defaultPreload",Cy),p(Mr,"defaultGetSceneObjectShow",yy),p(Mr,"defaultSetSceneObjectShow",_y),p(Mr,"defaultGetSceneTreeItemCloneNameFunc",Py);let fu=Mr;const _h={saturation:.35,brightness:1.4,gamma:.8,atmosphereScatteringIntensity:5,groundColor:[0,.09411764705882353,.3137254901960784,1]};class ld extends c.Tree{constructor(e){super(e)}get propUiTree(){return this.uiTree}}class wh extends c.TreeItem{constructor(e,t,r){super(e,t),this._property=r}get property(){return this._property}}class Eh extends wh{constructor(e,t){super(e,!1,t)}}class Sh extends wh{constructor(e,t){super(e,!0,t)}get groupChildren(){return this.children}}function ud(n,e){const t=new ld(e),r=n.getProperties("chinese"),i=[];for(let s of r)if(s instanceof z){const o=new Sh(t,s);o.dispose(()=>s.destroy()),t.children.push(o),i.push(o)}else{const o=new Eh(t,s);t.children.push(o),o.dispose(()=>s.destroy())}for(;i.length>0;){const s=i.pop();if(!s)throw new Error("should not be here!");const o=s;if(!(o.property instanceof z))throw new Error("!(treeItem.property instanceof GroupProperty)");for(let a of o.property.children)if(a instanceof z){const l=new Sh(t,a);l.dispose(()=>a.destroy()),o.groupChildren.push(l),i.push(l)}else{const l=new Eh(t,a);o.groupChildren.push(l),l.dispose(()=>a.destroy())}}return t.dispose(()=>{t.itemChildrenChanged.reset(),t.itemChildrenToChange.reset();const s=[...t.getDescendants()];s.forEach(o=>{o.children&&(o.children.length=0),o.destroy()}),s.length=0}),t}class bl extends c.Destroyable{constructor(t){super();p(this,"_propTreeReact",this.disposeVar(c.react(void 0)));this.dispose(()=>this._propTreeReact.value=void 0),this.disposeVar(new c.ObjResettingWithEvent(this.sceneObjectChanged,r=>{if(!r)return;const i=new c.Destroyable;return i.dispose(r.toDestroyEvent.disposableOn(()=>{this.sceneObject=void 0})),i})),this.dispose(this.sceneObjectChanged.disposableOn(r=>{this._propTreeReact.value=void 0,!(!r||!(r instanceof j))&&(this._propTreeReact.value=ud(r,t))}))}get propTree(){return this._propTreeReact.value}get propTreeChanged(){return this._propTreeReact.changed}}(n=>{n.createDefaultProps=()=>({sceneObject:void 0})})(bl||(bl={})),c.extendClassProps(bl.prototype,bl.createDefaultProps);function Ty(n,e,t,r=!0){r&&t(),n.dispose(e.disposableOn(t))}class by extends c.Destroyable{constructor(t,r,i,s){super();p(this,"_sceneObjectId",this.disposeVar(new c.SceneObjectWithId));this._id=t,this._startTimeStamp=r,this._duration=i,this._parent=s,this._sceneObjectId.id=this._id;const o=()=>{if(!this.player)return;const{currentTime:a=0}=this._parent,l=a-this._startTimeStamp;this.player.currentTime=c.clamp(l,0,this._duration)*(this.player.speed??1)};o(),this.dispose(this._parent.currentTimeChanged.disposableOn(o)),this.dispose(this.playerChanged.disposableOn(o))}get player(){return this._sceneObjectId.sceneObject instanceof Hn?this._sceneObjectId.sceneObject:void 0}get playerChanged(){return this._sceneObjectId.sceneObjectChanged}}const Ny=`用来配置子播放器,它是一个数组形式,数组的每个元素仍然是一个数组,形式是[子播放器的ID, 起始时间, 持续时间]。
26
+ ***************************************************************************** */function Lv(n,e){var t={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},r,i,s,o;return o={next:a(0),throw:a(1),return:a(2)},typeof Symbol=="function"&&(o[Symbol.iterator]=function(){return this}),o;function a(u){return function(h){return l([u,h])}}function l(u){if(r)throw new TypeError("Generator is already executing.");for(;t;)try{if(r=1,i&&(s=u[0]&2?i.return:u[0]?i.throw||((s=i.return)&&s.call(i),0):i.next)&&!(s=s.call(i,u[1])).done)return s;switch(i=0,s&&(u=[u[0]&2,s.value]),u[0]){case 0:case 1:s=u;break;case 4:return t.label++,{value:u[1],done:!1};case 5:t.label++,i=u[1],u=[0];continue;case 7:u=t.ops.pop(),t.trys.pop();continue;default:if(s=t.trys,!(s=s.length>0&&s[s.length-1])&&(u[0]===6||u[0]===2)){t=0;continue}if(u[0]===3&&(!s||u[1]>s[0]&&u[1]<s[3])){t.label=u[1];break}if(u[0]===6&&t.label<s[1]){t.label=s[1],s=u;break}if(s&&t.label<s[2]){t.label=s[2],t.ops.push(u);break}s[2]&&t.ops.pop(),t.trys.pop();continue}u=e.call(n,t)}catch(h){u=[6,h],i=0}finally{r=s=0}if(u[0]&5)throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}var Ss=function(){function n(e,t){this.next=null,this.key=e,this.data=t,this.left=null,this.right=null}return n}();function Av(n,e){return n>e?1:n<e?-1:0}function Cs(n,e,t){for(var r=new Ss(null,null),i=r,s=r;;){var o=t(n,e.key);if(o<0){if(e.left===null)break;if(t(n,e.left.key)<0){var a=e.left;if(e.left=a.right,a.right=e,e=a,e.left===null)break}s.left=e,s=e,e=e.left}else if(o>0){if(e.right===null)break;if(t(n,e.right.key)>0){var a=e.right;if(e.right=a.left,a.left=e,e=a,e.right===null)break}i.right=e,i=e,e=e.right}else break}return i.right=e.left,s.left=e.right,e.left=r.right,e.right=r.left,e}function oh(n,e,t,r){var i=new Ss(n,e);if(t===null)return i.left=i.right=null,i;t=Cs(n,t,r);var s=r(n,t.key);return s<0?(i.left=t.left,i.right=t,t.left=null):s>=0&&(i.right=t.right,i.left=t,t.right=null),i}function Dd(n,e,t){var r=null,i=null;if(e){e=Cs(n,e,t);var s=t(e.key,n);s===0?(r=e.left,i=e.right):s<0?(i=e.right,e.right=null,r=e):(r=e.left,e.left=null,i=e)}return{left:r,right:i}}function Rv(n,e,t){return e===null?n:(n===null||(e=Cs(n.key,e,t),e.left=n),e)}function ah(n,e,t,r,i){if(n){r(""+e+(t?"└── ":"├── ")+i(n)+`
27
+ `);var s=e+(t?" ":"│ ");n.left&&ah(n.left,s,!1,r,i),n.right&&ah(n.right,s,!0,r,i)}}var lh=function(){function n(e){e===void 0&&(e=Av),this._root=null,this._size=0,this._comparator=e}return n.prototype.insert=function(e,t){return this._size++,this._root=oh(e,t,this._root,this._comparator)},n.prototype.add=function(e,t){var r=new Ss(e,t);this._root===null&&(r.left=r.right=null,this._size++,this._root=r);var i=this._comparator,s=Cs(e,this._root,i),o=i(e,s.key);return o===0?this._root=s:(o<0?(r.left=s.left,r.right=s,s.left=null):o>0&&(r.right=s.right,r.left=s,s.right=null),this._size++,this._root=r),this._root},n.prototype.remove=function(e){this._root=this._remove(e,this._root,this._comparator)},n.prototype._remove=function(e,t,r){var i;if(t===null)return null;t=Cs(e,t,r);var s=r(e,t.key);return s===0?(t.left===null?i=t.right:(i=Cs(e,t.left,r),i.right=t.right),this._size--,i):t},n.prototype.pop=function(){var e=this._root;if(e){for(;e.left;)e=e.left;return this._root=Cs(e.key,this._root,this._comparator),this._root=this._remove(e.key,this._root,this._comparator),{key:e.key,data:e.data}}return null},n.prototype.findStatic=function(e){for(var t=this._root,r=this._comparator;t;){var i=r(e,t.key);if(i===0)return t;i<0?t=t.left:t=t.right}return null},n.prototype.find=function(e){return this._root&&(this._root=Cs(e,this._root,this._comparator),this._comparator(e,this._root.key)!==0)?null:this._root},n.prototype.contains=function(e){for(var t=this._root,r=this._comparator;t;){var i=r(e,t.key);if(i===0)return!0;i<0?t=t.left:t=t.right}return!1},n.prototype.forEach=function(e,t){for(var r=this._root,i=[],s=!1;!s;)r!==null?(i.push(r),r=r.left):i.length!==0?(r=i.pop(),e.call(t,r),r=r.right):s=!0;return this},n.prototype.range=function(e,t,r,i){for(var s=[],o=this._comparator,a=this._root,l;s.length!==0||a;)if(a)s.push(a),a=a.left;else{if(a=s.pop(),l=o(a.key,t),l>0)break;if(o(a.key,e)>=0&&r.call(i,a))return this;a=a.right}return this},n.prototype.keys=function(){var e=[];return this.forEach(function(t){var r=t.key;return e.push(r)}),e},n.prototype.values=function(){var e=[];return this.forEach(function(t){var r=t.data;return e.push(r)}),e},n.prototype.min=function(){return this._root?this.minNode(this._root).key:null},n.prototype.max=function(){return this._root?this.maxNode(this._root).key:null},n.prototype.minNode=function(e){if(e===void 0&&(e=this._root),e)for(;e.left;)e=e.left;return e},n.prototype.maxNode=function(e){if(e===void 0&&(e=this._root),e)for(;e.right;)e=e.right;return e},n.prototype.at=function(e){for(var t=this._root,r=!1,i=0,s=[];!r;)if(t)s.push(t),t=t.left;else if(s.length>0){if(t=s.pop(),i===e)return t;i++,t=t.right}else r=!0;return null},n.prototype.next=function(e){var t=this._root,r=null;if(e.right){for(r=e.right;r.left;)r=r.left;return r}for(var i=this._comparator;t;){var s=i(e.key,t.key);if(s===0)break;s<0?(r=t,t=t.left):t=t.right}return r},n.prototype.prev=function(e){var t=this._root,r=null;if(e.left!==null){for(r=e.left;r.right;)r=r.right;return r}for(var i=this._comparator;t;){var s=i(e.key,t.key);if(s===0)break;s<0?t=t.left:(r=t,t=t.right)}return r},n.prototype.clear=function(){return this._root=null,this._size=0,this},n.prototype.toList=function(){return kv(this._root)},n.prototype.load=function(e,t,r){t===void 0&&(t=[]),r===void 0&&(r=!1);var i=e.length,s=this._comparator;if(r&&hh(e,t,0,i-1,s),this._root===null)this._root=uh(e,t,0,i),this._size=i;else{var o=Vv(this.toList(),Fv(e,t),s);i=this._size+i,this._root=ch({head:o},0,i)}return this},n.prototype.isEmpty=function(){return this._root===null},Object.defineProperty(n.prototype,"size",{get:function(){return this._size},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"root",{get:function(){return this._root},enumerable:!0,configurable:!0}),n.prototype.toString=function(e){e===void 0&&(e=function(r){return String(r.key)});var t=[];return ah(this._root,"",!0,function(r){return t.push(r)},e),t.join("")},n.prototype.update=function(e,t,r){var i=this._comparator,s=Dd(e,this._root,i),o=s.left,a=s.right;i(e,t)<0?a=oh(t,r,a,i):o=oh(t,r,o,i),this._root=Rv(o,a,i)},n.prototype.split=function(e){return Dd(e,this._root,this._comparator)},n.prototype[Symbol.iterator]=function(){var e,t,r;return Lv(this,function(i){switch(i.label){case 0:e=this._root,t=[],r=!1,i.label=1;case 1:return r?[3,6]:e===null?[3,2]:(t.push(e),e=e.left,[3,5]);case 2:return t.length===0?[3,4]:(e=t.pop(),[4,e]);case 3:return i.sent(),e=e.right,[3,5];case 4:r=!0,i.label=5;case 5:return[3,1];case 6:return[2]}})},n}();function uh(n,e,t,r){var i=r-t;if(i>0){var s=t+Math.floor(i/2),o=n[s],a=e[s],l=new Ss(o,a);return l.left=uh(n,e,t,s),l.right=uh(n,e,s+1,r),l}return null}function Fv(n,e){for(var t=new Ss(null,null),r=t,i=0;i<n.length;i++)r=r.next=new Ss(n[i],e[i]);return r.next=null,t.next}function kv(n){for(var e=n,t=[],r=!1,i=new Ss(null,null),s=i;!r;)e?(t.push(e),e=e.left):t.length>0?(e=s=s.next=t.pop(),e=e.right):r=!0;return s.next=null,i.next}function ch(n,e,t){var r=t-e;if(r>0){var i=e+Math.floor(r/2),s=ch(n,e,i),o=n.head;return o.left=s,n.head=n.head.next,o.right=ch(n,i+1,t),o}return null}function Vv(n,e,t){for(var r=new Ss(null,null),i=r,s=n,o=e;s!==null&&o!==null;)t(s.key,o.key)<0?(i.next=s,s=s.next):(i.next=o,o=o.next),i=i.next;return s!==null?i.next=s:o!==null&&(i.next=o),r.next}function hh(n,e,t,r,i){if(!(t>=r)){for(var s=n[t+r>>1],o=t-1,a=r+1;;){do o++;while(i(n[o],s)<0);do a--;while(i(n[a],s)>0);if(o>=a)break;var l=n[o];n[o]=n[a],n[a]=l,l=e[o],e[o]=e[a],e[a]=l}hh(n,e,t,a,i),hh(n,e,a+1,r,i)}}const Xi=11102230246251565e-32,ir=134217729,zv=(3+8*Xi)*Xi;function fh(n,e,t,r,i){let s,o,a,l,u=e[0],h=r[0],f=0,p=0;h>u==h>-u?(s=u,u=e[++f]):(s=h,h=r[++p]);let v=0;if(f<n&&p<t)for(h>u==h>-u?(o=u+s,a=s-(o-u),u=e[++f]):(o=h+s,a=s-(o-h),h=r[++p]),s=o,a!==0&&(i[v++]=a);f<n&&p<t;)h>u==h>-u?(o=s+u,l=o-s,a=s-(o-l)+(u-l),u=e[++f]):(o=s+h,l=o-s,a=s-(o-l)+(h-l),h=r[++p]),s=o,a!==0&&(i[v++]=a);for(;f<n;)o=s+u,l=o-s,a=s-(o-l)+(u-l),u=e[++f],s=o,a!==0&&(i[v++]=a);for(;p<t;)o=s+h,l=o-s,a=s-(o-l)+(h-l),h=r[++p],s=o,a!==0&&(i[v++]=a);return(s!==0||v===0)&&(i[v++]=s),v}function Uv(n,e){let t=e[0];for(let r=1;r<n;r++)t+=e[r];return t}function au(n){return new Float64Array(n)}const Gv=(3+16*Xi)*Xi,Wv=(2+12*Xi)*Xi,qv=(9+64*Xi)*Xi*Xi,Il=au(4),Od=au(8),Md=au(12),xd=au(16),mr=au(4);function Xv(n,e,t,r,i,s,o){let a,l,u,h,f,p,v,w,I,T,L,m,_,g,y,E,C,b;const D=n-i,x=t-i,N=e-s,O=r-s;g=D*O,p=ir*D,v=p-(p-D),w=D-v,p=ir*O,I=p-(p-O),T=O-I,y=w*T-(g-v*I-w*I-v*T),E=N*x,p=ir*N,v=p-(p-N),w=N-v,p=ir*x,I=p-(p-x),T=x-I,C=w*T-(E-v*I-w*I-v*T),L=y-C,f=y-L,Il[0]=y-(L+f)+(f-C),m=g+L,f=m-g,_=g-(m-f)+(L-f),L=_-E,f=_-L,Il[1]=_-(L+f)+(f-E),b=m+L,f=b-m,Il[2]=m-(b-f)+(L-f),Il[3]=b;let A=Uv(4,Il),F=Wv*o;if(A>=F||-A>=F||(f=n-D,a=n-(D+f)+(f-i),f=t-x,u=t-(x+f)+(f-i),f=e-N,l=e-(N+f)+(f-s),f=r-O,h=r-(O+f)+(f-s),a===0&&l===0&&u===0&&h===0)||(F=qv*o+zv*Math.abs(A),A+=D*h+O*a-(N*u+x*l),A>=F||-A>=F))return A;g=a*O,p=ir*a,v=p-(p-a),w=a-v,p=ir*O,I=p-(p-O),T=O-I,y=w*T-(g-v*I-w*I-v*T),E=l*x,p=ir*l,v=p-(p-l),w=l-v,p=ir*x,I=p-(p-x),T=x-I,C=w*T-(E-v*I-w*I-v*T),L=y-C,f=y-L,mr[0]=y-(L+f)+(f-C),m=g+L,f=m-g,_=g-(m-f)+(L-f),L=_-E,f=_-L,mr[1]=_-(L+f)+(f-E),b=m+L,f=b-m,mr[2]=m-(b-f)+(L-f),mr[3]=b;const B=fh(4,Il,4,mr,Od);g=D*h,p=ir*D,v=p-(p-D),w=D-v,p=ir*h,I=p-(p-h),T=h-I,y=w*T-(g-v*I-w*I-v*T),E=N*u,p=ir*N,v=p-(p-N),w=N-v,p=ir*u,I=p-(p-u),T=u-I,C=w*T-(E-v*I-w*I-v*T),L=y-C,f=y-L,mr[0]=y-(L+f)+(f-C),m=g+L,f=m-g,_=g-(m-f)+(L-f),L=_-E,f=_-L,mr[1]=_-(L+f)+(f-E),b=m+L,f=b-m,mr[2]=m-(b-f)+(L-f),mr[3]=b;const X=fh(B,Od,4,mr,Md);g=a*h,p=ir*a,v=p-(p-a),w=a-v,p=ir*h,I=p-(p-h),T=h-I,y=w*T-(g-v*I-w*I-v*T),E=l*u,p=ir*l,v=p-(p-l),w=l-v,p=ir*u,I=p-(p-u),T=u-I,C=w*T-(E-v*I-w*I-v*T),L=y-C,f=y-L,mr[0]=y-(L+f)+(f-C),m=g+L,f=m-g,_=g-(m-f)+(L-f),L=_-E,f=_-L,mr[1]=_-(L+f)+(f-E),b=m+L,f=b-m,mr[2]=m-(b-f)+(L-f),mr[3]=b;const ne=fh(X,Md,4,mr,xd);return xd[ne-1]}function Yv(n,e,t,r,i,s){const o=(e-s)*(t-i),a=(n-i)*(r-s),l=o-a,u=Math.abs(o+a);return Math.abs(l)>=Gv*u?l:-Xv(n,e,t,r,i,s,u)}const lu=(n,e)=>n.ll.x<=e.x&&e.x<=n.ur.x&&n.ll.y<=e.y&&e.y<=n.ur.y,dh=(n,e)=>{if(e.ur.x<n.ll.x||n.ur.x<e.ll.x||e.ur.y<n.ll.y||n.ur.y<e.ll.y)return null;const t=n.ll.x<e.ll.x?e.ll.x:n.ll.x,r=n.ur.x<e.ur.x?n.ur.x:e.ur.x,i=n.ll.y<e.ll.y?e.ll.y:n.ll.y,s=n.ur.y<e.ur.y?n.ur.y:e.ur.y;return{ll:{x:t,y:i},ur:{x:r,y:s}}};let Ps=Number.EPSILON;Ps===void 0&&(Ps=Math.pow(2,-52));const Hv=Ps*Ps,Ld=(n,e)=>{if(-Ps<n&&n<Ps&&-Ps<e&&e<Ps)return 0;const t=n-e;return t*t<Hv*n*e?0:n<e?-1:1};class Jv{constructor(){this.reset()}reset(){this.xRounder=new Ad,this.yRounder=new Ad}round(e,t){return{x:this.xRounder.round(e),y:this.yRounder.round(t)}}}class Ad{constructor(){this.tree=new lh,this.round(0)}round(e){const t=this.tree.add(e),r=this.tree.prev(t);if(r!==null&&Ld(t.key,r.key)===0)return this.tree.remove(e),r.key;const i=this.tree.next(t);return i!==null&&Ld(t.key,i.key)===0?(this.tree.remove(e),i.key):e}}const uu=new Jv,sc=(n,e)=>n.x*e.y-n.y*e.x,Rd=(n,e)=>n.x*e.x+n.y*e.y,Fd=(n,e,t)=>{const r=Yv(n.x,n.y,e.x,e.y,t.x,t.y);return r>0?-1:r<0?1:0},oc=n=>Math.sqrt(Rd(n,n)),Zv=(n,e,t)=>{const r={x:e.x-n.x,y:e.y-n.y},i={x:t.x-n.x,y:t.y-n.y};return sc(i,r)/oc(i)/oc(r)},Kv=(n,e,t)=>{const r={x:e.x-n.x,y:e.y-n.y},i={x:t.x-n.x,y:t.y-n.y};return Rd(i,r)/oc(i)/oc(r)},kd=(n,e,t)=>e.y===0?null:{x:n.x+e.x/e.y*(t-n.y),y:t},Vd=(n,e,t)=>e.x===0?null:{x:t,y:n.y+e.y/e.x*(t-n.x)},Qv=(n,e,t,r)=>{if(e.x===0)return Vd(t,r,n.x);if(r.x===0)return Vd(n,e,t.x);if(e.y===0)return kd(t,r,n.y);if(r.y===0)return kd(n,e,t.y);const i=sc(e,r);if(i==0)return null;const s={x:t.x-n.x,y:t.y-n.y},o=sc(s,e)/i,a=sc(s,r)/i,l=n.x+a*e.x,u=t.x+o*r.x,h=n.y+a*e.y,f=t.y+o*r.y,p=(l+u)/2,v=(h+f)/2;return{x:p,y:v}};class Pn{static compare(e,t){const r=Pn.comparePoints(e.point,t.point);return r!==0?r:(e.point!==t.point&&e.link(t),e.isLeft!==t.isLeft?e.isLeft?1:-1:Is.compare(e.segment,t.segment))}static comparePoints(e,t){return e.x<t.x?-1:e.x>t.x?1:e.y<t.y?-1:e.y>t.y?1:0}constructor(e,t){e.events===void 0?e.events=[this]:e.events.push(this),this.point=e,this.isLeft=t}link(e){if(e.point===this.point)throw new Error("Tried to link already linked events");const t=e.point.events;for(let r=0,i=t.length;r<i;r++){const s=t[r];this.point.events.push(s),s.point=this.point}this.checkForConsuming()}checkForConsuming(){const e=this.point.events.length;for(let t=0;t<e;t++){const r=this.point.events[t];if(r.segment.consumedBy===void 0)for(let i=t+1;i<e;i++){const s=this.point.events[i];s.consumedBy===void 0&&r.otherSE.point.events===s.otherSE.point.events&&r.segment.consume(s.segment)}}}getAvailableLinkedEvents(){const e=[];for(let t=0,r=this.point.events.length;t<r;t++){const i=this.point.events[t];i!==this&&!i.segment.ringOut&&i.segment.isInResult()&&e.push(i)}return e}getLeftmostComparator(e){const t=new Map,r=i=>{const s=i.otherSE;t.set(i,{sine:Zv(this.point,e.point,s.point),cosine:Kv(this.point,e.point,s.point)})};return(i,s)=>{t.has(i)||r(i),t.has(s)||r(s);const{sine:o,cosine:a}=t.get(i),{sine:l,cosine:u}=t.get(s);return o>=0&&l>=0?a<u?1:a>u?-1:0:o<0&&l<0?a<u?-1:a>u?1:0:l<o?-1:l>o?1:0}}}let Bv=0;class Is{static compare(e,t){const r=e.leftSE.point.x,i=t.leftSE.point.x,s=e.rightSE.point.x,o=t.rightSE.point.x;if(o<r)return 1;if(s<i)return-1;const a=e.leftSE.point.y,l=t.leftSE.point.y,u=e.rightSE.point.y,h=t.rightSE.point.y;if(r<i){if(l<a&&l<u)return 1;if(l>a&&l>u)return-1;const f=e.comparePoint(t.leftSE.point);if(f<0)return 1;if(f>0)return-1;const p=t.comparePoint(e.rightSE.point);return p!==0?p:-1}if(r>i){if(a<l&&a<h)return-1;if(a>l&&a>h)return 1;const f=t.comparePoint(e.leftSE.point);if(f!==0)return f;const p=e.comparePoint(t.rightSE.point);return p<0?1:p>0?-1:1}if(a<l)return-1;if(a>l)return 1;if(s<o){const f=t.comparePoint(e.rightSE.point);if(f!==0)return f}if(s>o){const f=e.comparePoint(t.rightSE.point);if(f<0)return 1;if(f>0)return-1}if(s!==o){const f=u-a,p=s-r,v=h-l,w=o-i;if(f>p&&v<w)return 1;if(f<p&&v>w)return-1}return s>o?1:s<o||u<h?-1:u>h?1:e.id<t.id?-1:e.id>t.id?1:0}constructor(e,t,r,i){this.id=++Bv,this.leftSE=e,e.segment=this,e.otherSE=t,this.rightSE=t,t.segment=this,t.otherSE=e,this.rings=r,this.windings=i}static fromRing(e,t,r){let i,s,o;const a=Pn.comparePoints(e,t);if(a<0)i=e,s=t,o=1;else if(a>0)i=t,s=e,o=-1;else throw new Error(`Tried to create degenerate segment at [${e.x}, ${e.y}]`);const l=new Pn(i,!0),u=new Pn(s,!1);return new Is(l,u,[r],[o])}replaceRightSE(e){this.rightSE=e,this.rightSE.segment=this,this.rightSE.otherSE=this.leftSE,this.leftSE.otherSE=this.rightSE}bbox(){const e=this.leftSE.point.y,t=this.rightSE.point.y;return{ll:{x:this.leftSE.point.x,y:e<t?e:t},ur:{x:this.rightSE.point.x,y:e>t?e:t}}}vector(){return{x:this.rightSE.point.x-this.leftSE.point.x,y:this.rightSE.point.y-this.leftSE.point.y}}isAnEndpoint(e){return e.x===this.leftSE.point.x&&e.y===this.leftSE.point.y||e.x===this.rightSE.point.x&&e.y===this.rightSE.point.y}comparePoint(e){if(this.isAnEndpoint(e))return 0;const t=this.leftSE.point,r=this.rightSE.point,i=this.vector();if(t.x===r.x)return e.x===t.x?0:e.x<t.x?1:-1;const s=(e.y-t.y)/i.y,o=t.x+s*i.x;if(e.x===o)return 0;const a=(e.x-t.x)/i.x,l=t.y+a*i.y;return e.y===l?0:e.y<l?-1:1}getIntersection(e){const t=this.bbox(),r=e.bbox(),i=dh(t,r);if(i===null)return null;const s=this.leftSE.point,o=this.rightSE.point,a=e.leftSE.point,l=e.rightSE.point,u=lu(t,a)&&this.comparePoint(a)===0,h=lu(r,s)&&e.comparePoint(s)===0,f=lu(t,l)&&this.comparePoint(l)===0,p=lu(r,o)&&e.comparePoint(o)===0;if(h&&u)return p&&!f?o:!p&&f?l:null;if(h)return f&&s.x===l.x&&s.y===l.y?null:s;if(u)return p&&o.x===a.x&&o.y===a.y?null:a;if(p&&f)return null;if(p)return o;if(f)return l;const v=Qv(s,this.vector(),a,e.vector());return v===null||!lu(i,v)?null:uu.round(v.x,v.y)}split(e){const t=[],r=e.events!==void 0,i=new Pn(e,!0),s=new Pn(e,!1),o=this.rightSE;this.replaceRightSE(s),t.push(s),t.push(i);const a=new Is(i,o,this.rings.slice(),this.windings.slice());return Pn.comparePoints(a.leftSE.point,a.rightSE.point)>0&&a.swapEvents(),Pn.comparePoints(this.leftSE.point,this.rightSE.point)>0&&this.swapEvents(),r&&(i.checkForConsuming(),s.checkForConsuming()),t}swapEvents(){const e=this.rightSE;this.rightSE=this.leftSE,this.leftSE=e,this.leftSE.isLeft=!0,this.rightSE.isLeft=!1;for(let t=0,r=this.windings.length;t<r;t++)this.windings[t]*=-1}consume(e){let t=this,r=e;for(;t.consumedBy;)t=t.consumedBy;for(;r.consumedBy;)r=r.consumedBy;const i=Is.compare(t,r);if(i!==0){if(i>0){const s=t;t=r,r=s}if(t.prev===r){const s=t;t=r,r=s}for(let s=0,o=r.rings.length;s<o;s++){const a=r.rings[s],l=r.windings[s],u=t.rings.indexOf(a);u===-1?(t.rings.push(a),t.windings.push(l)):t.windings[u]+=l}r.rings=null,r.windings=null,r.consumedBy=t,r.leftSE.consumedBy=t.leftSE,r.rightSE.consumedBy=t.rightSE}}prevInResult(){return this._prevInResult!==void 0?this._prevInResult:(this.prev?this.prev.isInResult()?this._prevInResult=this.prev:this._prevInResult=this.prev.prevInResult():this._prevInResult=null,this._prevInResult)}beforeState(){if(this._beforeState!==void 0)return this._beforeState;if(!this.prev)this._beforeState={rings:[],windings:[],multiPolys:[]};else{const e=this.prev.consumedBy||this.prev;this._beforeState=e.afterState()}return this._beforeState}afterState(){if(this._afterState!==void 0)return this._afterState;const e=this.beforeState();this._afterState={rings:e.rings.slice(0),windings:e.windings.slice(0),multiPolys:[]};const t=this._afterState.rings,r=this._afterState.windings,i=this._afterState.multiPolys;for(let a=0,l=this.rings.length;a<l;a++){const u=this.rings[a],h=this.windings[a],f=t.indexOf(u);f===-1?(t.push(u),r.push(h)):r[f]+=h}const s=[],o=[];for(let a=0,l=t.length;a<l;a++){if(r[a]===0)continue;const u=t[a],h=u.poly;if(o.indexOf(h)===-1)if(u.isExterior)s.push(h);else{o.indexOf(h)===-1&&o.push(h);const f=s.indexOf(u.poly);f!==-1&&s.splice(f,1)}}for(let a=0,l=s.length;a<l;a++){const u=s[a].multiPoly;i.indexOf(u)===-1&&i.push(u)}return this._afterState}isInResult(){if(this.consumedBy)return!1;if(this._isInResult!==void 0)return this._isInResult;const e=this.beforeState().multiPolys,t=this.afterState().multiPolys;switch(Yn.type){case"union":{const r=e.length===0,i=t.length===0;this._isInResult=r!==i;break}case"intersection":{let r,i;e.length<t.length?(r=e.length,i=t.length):(r=t.length,i=e.length),this._isInResult=i===Yn.numMultiPolys&&r<i;break}case"xor":{const r=Math.abs(e.length-t.length);this._isInResult=r%2===1;break}case"difference":{const r=i=>i.length===1&&i[0].isSubject;this._isInResult=r(e)!==r(t);break}default:throw new Error(`Unrecognized operation type found ${Yn.type}`)}return this._isInResult}}class zd{constructor(e,t,r){if(!Array.isArray(e)||e.length===0)throw new Error("Input geometry is not a valid Polygon or MultiPolygon");if(this.poly=t,this.isExterior=r,this.segments=[],typeof e[0][0]!="number"||typeof e[0][1]!="number")throw new Error("Input geometry is not a valid Polygon or MultiPolygon");const i=uu.round(e[0][0],e[0][1]);this.bbox={ll:{x:i.x,y:i.y},ur:{x:i.x,y:i.y}};let s=i;for(let o=1,a=e.length;o<a;o++){if(typeof e[o][0]!="number"||typeof e[o][1]!="number")throw new Error("Input geometry is not a valid Polygon or MultiPolygon");let l=uu.round(e[o][0],e[o][1]);l.x===s.x&&l.y===s.y||(this.segments.push(Is.fromRing(s,l,this)),l.x<this.bbox.ll.x&&(this.bbox.ll.x=l.x),l.y<this.bbox.ll.y&&(this.bbox.ll.y=l.y),l.x>this.bbox.ur.x&&(this.bbox.ur.x=l.x),l.y>this.bbox.ur.y&&(this.bbox.ur.y=l.y),s=l)}(i.x!==s.x||i.y!==s.y)&&this.segments.push(Is.fromRing(s,i,this))}getSweepEvents(){const e=[];for(let t=0,r=this.segments.length;t<r;t++){const i=this.segments[t];e.push(i.leftSE),e.push(i.rightSE)}return e}}class $v{constructor(e,t){if(!Array.isArray(e))throw new Error("Input geometry is not a valid Polygon or MultiPolygon");this.exteriorRing=new zd(e[0],this,!0),this.bbox={ll:{x:this.exteriorRing.bbox.ll.x,y:this.exteriorRing.bbox.ll.y},ur:{x:this.exteriorRing.bbox.ur.x,y:this.exteriorRing.bbox.ur.y}},this.interiorRings=[];for(let r=1,i=e.length;r<i;r++){const s=new zd(e[r],this,!1);s.bbox.ll.x<this.bbox.ll.x&&(this.bbox.ll.x=s.bbox.ll.x),s.bbox.ll.y<this.bbox.ll.y&&(this.bbox.ll.y=s.bbox.ll.y),s.bbox.ur.x>this.bbox.ur.x&&(this.bbox.ur.x=s.bbox.ur.x),s.bbox.ur.y>this.bbox.ur.y&&(this.bbox.ur.y=s.bbox.ur.y),this.interiorRings.push(s)}this.multiPoly=t}getSweepEvents(){const e=this.exteriorRing.getSweepEvents();for(let t=0,r=this.interiorRings.length;t<r;t++){const i=this.interiorRings[t].getSweepEvents();for(let s=0,o=i.length;s<o;s++)e.push(i[s])}return e}}class Ud{constructor(e,t){if(!Array.isArray(e))throw new Error("Input geometry is not a valid Polygon or MultiPolygon");try{typeof e[0][0][0]=="number"&&(e=[e])}catch{}this.polys=[],this.bbox={ll:{x:Number.POSITIVE_INFINITY,y:Number.POSITIVE_INFINITY},ur:{x:Number.NEGATIVE_INFINITY,y:Number.NEGATIVE_INFINITY}};for(let r=0,i=e.length;r<i;r++){const s=new $v(e[r],this);s.bbox.ll.x<this.bbox.ll.x&&(this.bbox.ll.x=s.bbox.ll.x),s.bbox.ll.y<this.bbox.ll.y&&(this.bbox.ll.y=s.bbox.ll.y),s.bbox.ur.x>this.bbox.ur.x&&(this.bbox.ur.x=s.bbox.ur.x),s.bbox.ur.y>this.bbox.ur.y&&(this.bbox.ur.y=s.bbox.ur.y),this.polys.push(s)}this.isSubject=t}getSweepEvents(){const e=[];for(let t=0,r=this.polys.length;t<r;t++){const i=this.polys[t].getSweepEvents();for(let s=0,o=i.length;s<o;s++)e.push(i[s])}return e}}class ac{static factory(e){const t=[];for(let r=0,i=e.length;r<i;r++){const s=e[r];if(!s.isInResult()||s.ringOut)continue;let o=null,a=s.leftSE,l=s.rightSE;const u=[a],h=a.point,f=[];for(;o=a,a=l,u.push(a),a.point!==h;)for(;;){const p=a.getAvailableLinkedEvents();if(p.length===0){const I=u[0].point,T=u[u.length-1].point;throw new Error(`Unable to complete output ring starting at [${I.x}, ${I.y}]. Last matching segment found ends at [${T.x}, ${T.y}].`)}if(p.length===1){l=p[0].otherSE;break}let v=null;for(let I=0,T=f.length;I<T;I++)if(f[I].point===a.point){v=I;break}if(v!==null){const I=f.splice(v)[0],T=u.splice(I.index);T.unshift(T[0].otherSE),t.push(new ac(T.reverse()));continue}f.push({index:u.length,point:a.point});const w=a.getLeftmostComparator(o);l=p.sort(w)[0].otherSE;break}t.push(new ac(u))}return t}constructor(e){this.events=e;for(let t=0,r=e.length;t<r;t++)e[t].segment.ringOut=this;this.poly=null}getGeom(){let e=this.events[0].point;const t=[e];for(let u=1,h=this.events.length-1;u<h;u++){const f=this.events[u].point,p=this.events[u+1].point;Fd(f,e,p)!==0&&(t.push(f),e=f)}if(t.length===1)return null;const r=t[0],i=t[1];Fd(r,e,i)===0&&t.shift(),t.push(t[0]);const s=this.isExteriorRing()?1:-1,o=this.isExteriorRing()?0:t.length-1,a=this.isExteriorRing()?t.length:-1,l=[];for(let u=o;u!=a;u+=s)l.push([t[u].x,t[u].y]);return l}isExteriorRing(){if(this._isExteriorRing===void 0){const e=this.enclosingRing();this._isExteriorRing=e?!e.isExteriorRing():!0}return this._isExteriorRing}enclosingRing(){return this._enclosingRing===void 0&&(this._enclosingRing=this._calcEnclosingRing()),this._enclosingRing}_calcEnclosingRing(){let e=this.events[0];for(let i=1,s=this.events.length;i<s;i++){const o=this.events[i];Pn.compare(e,o)>0&&(e=o)}let t=e.segment.prevInResult(),r=t?t.prevInResult():null;for(;;){if(!t)return null;if(!r)return t.ringOut;if(r.ringOut!==t.ringOut)return r.ringOut.enclosingRing()!==t.ringOut?t.ringOut:t.ringOut.enclosingRing();t=r.prevInResult(),r=t?t.prevInResult():null}}}class Gd{constructor(e){this.exteriorRing=e,e.poly=this,this.interiorRings=[]}addInterior(e){this.interiorRings.push(e),e.poly=this}getGeom(){const e=[this.exteriorRing.getGeom()];if(e[0]===null)return null;for(let t=0,r=this.interiorRings.length;t<r;t++){const i=this.interiorRings[t].getGeom();i!==null&&e.push(i)}return e}}class jv{constructor(e){this.rings=e,this.polys=this._composePolys(e)}getGeom(){const e=[];for(let t=0,r=this.polys.length;t<r;t++){const i=this.polys[t].getGeom();i!==null&&e.push(i)}return e}_composePolys(e){const t=[];for(let r=0,i=e.length;r<i;r++){const s=e[r];if(!s.poly)if(s.isExteriorRing())t.push(new Gd(s));else{const o=s.enclosingRing();o.poly||t.push(new Gd(o)),o.poly.addInterior(s)}}return t}}class ey{constructor(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Is.compare;this.queue=e,this.tree=new lh(t),this.segments=[]}process(e){const t=e.segment,r=[];if(e.consumedBy)return e.isLeft?this.queue.remove(e.otherSE):this.tree.remove(t),r;const i=e.isLeft?this.tree.add(t):this.tree.find(t);if(!i)throw new Error(`Unable to find segment #${t.id} [${t.leftSE.point.x}, ${t.leftSE.point.y}] -> [${t.rightSE.point.x}, ${t.rightSE.point.y}] in SweepLine tree.`);let s=i,o=i,a,l;for(;a===void 0;)s=this.tree.prev(s),s===null?a=null:s.key.consumedBy===void 0&&(a=s.key);for(;l===void 0;)o=this.tree.next(o),o===null?l=null:o.key.consumedBy===void 0&&(l=o.key);if(e.isLeft){let u=null;if(a){const f=a.getIntersection(t);if(f!==null&&(t.isAnEndpoint(f)||(u=f),!a.isAnEndpoint(f))){const p=this._splitSafely(a,f);for(let v=0,w=p.length;v<w;v++)r.push(p[v])}}let h=null;if(l){const f=l.getIntersection(t);if(f!==null&&(t.isAnEndpoint(f)||(h=f),!l.isAnEndpoint(f))){const p=this._splitSafely(l,f);for(let v=0,w=p.length;v<w;v++)r.push(p[v])}}if(u!==null||h!==null){let f=null;u===null?f=h:h===null?f=u:f=Pn.comparePoints(u,h)<=0?u:h,this.queue.remove(t.rightSE),r.push(t.rightSE);const p=t.split(f);for(let v=0,w=p.length;v<w;v++)r.push(p[v])}r.length>0?(this.tree.remove(t),r.push(e)):(this.segments.push(t),t.prev=a)}else{if(a&&l){const u=a.getIntersection(l);if(u!==null){if(!a.isAnEndpoint(u)){const h=this._splitSafely(a,u);for(let f=0,p=h.length;f<p;f++)r.push(h[f])}if(!l.isAnEndpoint(u)){const h=this._splitSafely(l,u);for(let f=0,p=h.length;f<p;f++)r.push(h[f])}}}this.tree.remove(t)}return r}_splitSafely(e,t){this.tree.remove(e);const r=e.rightSE;this.queue.remove(r);const i=e.split(t);return i.push(r),e.consumedBy===void 0&&this.tree.add(e),i}}const Wd=typeof process<"u"&&process.env.POLYGON_CLIPPING_MAX_QUEUE_SIZE||1e6,ty=typeof process<"u"&&process.env.POLYGON_CLIPPING_MAX_SWEEPLINE_SEGMENTS||1e6;class ry{run(e,t,r){Yn.type=e,uu.reset();const i=[new Ud(t,!0)];for(let f=0,p=r.length;f<p;f++)i.push(new Ud(r[f],!1));if(Yn.numMultiPolys=i.length,Yn.type==="difference"){const f=i[0];let p=1;for(;p<i.length;)dh(i[p].bbox,f.bbox)!==null?p++:i.splice(p,1)}if(Yn.type==="intersection")for(let f=0,p=i.length;f<p;f++){const v=i[f];for(let w=f+1,I=i.length;w<I;w++)if(dh(v.bbox,i[w].bbox)===null)return[]}const s=new lh(Pn.compare);for(let f=0,p=i.length;f<p;f++){const v=i[f].getSweepEvents();for(let w=0,I=v.length;w<I;w++)if(s.insert(v[w]),s.size>Wd)throw new Error("Infinite loop when putting segment endpoints in a priority queue (queue size too big).")}const o=new ey(s);let a=s.size,l=s.pop();for(;l;){const f=l.key;if(s.size===a){const v=f.segment;throw new Error(`Unable to pop() ${f.isLeft?"left":"right"} SweepEvent [${f.point.x}, ${f.point.y}] from segment #${v.id} [${v.leftSE.point.x}, ${v.leftSE.point.y}] -> [${v.rightSE.point.x}, ${v.rightSE.point.y}] from queue.`)}if(s.size>Wd)throw new Error("Infinite loop when passing sweep line over endpoints (queue size too big).");if(o.segments.length>ty)throw new Error("Infinite loop when passing sweep line over endpoints (too many sweep line segments).");const p=o.process(f);for(let v=0,w=p.length;v<w;v++){const I=p[v];I.consumedBy===void 0&&s.insert(I)}a=s.size,l=s.pop()}uu.reset();const u=ac.factory(o.segments);return new jv(u).getGeom()}}const Yn=new ry;var ph={union:function(n){for(var e=arguments.length,t=new Array(e>1?e-1:0),r=1;r<e;r++)t[r-1]=arguments[r];return Yn.run("union",n,t)},intersection:function(n){for(var e=arguments.length,t=new Array(e>1?e-1:0),r=1;r<e;r++)t[r-1]=arguments[r];return Yn.run("intersection",n,t)},xor:function(n){for(var e=arguments.length,t=new Array(e>1?e-1:0),r=1;r<e;r++)t[r-1]=arguments[r];return Yn.run("xor",n,t)},difference:function(n){for(var e=arguments.length,t=new Array(e>1?e-1:0),r=1;r<e;r++)t[r-1]=arguments[r];return Yn.run("difference",n,t)}};function ny(n,e){var t=Wr(n),r=Wr(e),i=n.properties||{},s=ph.difference(t.coordinates,r.coordinates);return s.length===0?null:s.length===1?ar(s[0],i):Ec(s,i)}function iy(n,e,t){t===void 0&&(t={});var r=Wr(n),i=Wr(e),s=ph.intersection(r.coordinates,i.coordinates);return s.length===0?null:s.length===1?ar(s[0],t.properties):Ec(s,t.properties)}function sy(n,e,t){t===void 0&&(t={});var r=Wr(n),i=Wr(e),s=ph.union(r.coordinates,i.coordinates);return s.length===0?null:s.length===1?ar(s[0],t.properties):Ec(s,t.properties)}function qd(n,e){(n[0][0]!==n[n.length-1][0]||n[0][1]!==n[n.length-1][1]||n[0][2]!==n[n.length-1][2])&&n.push(n[0]),(e[0][0]!==e[e.length-1][0]||e[0][1]!==e[e.length-1][1]||e[0][2]!==e[e.length-1][2])&&e.push(e[0]);const t=iy(ar([n]),ar([e]));if(t)return t.geometry.coordinates}function Xd(n,e){(n[0][0]!==n[n.length-1][0]||n[0][1]!==n[n.length-1][1]||n[0][2]!==n[n.length-1][2])&&n.push(n[0]),(e[0][0]!==e[e.length-1][0]||e[0][1]!==e[e.length-1][1]||e[0][2]!==e[e.length-1][2])&&e.push(e[0]);const t=sy(ar([n]),ar([e]));if(t)return t.geometry.coordinates}function Yd(n,e=500,t="meters"){const r=Ov(Dn(n),e,{units:t});if(r)return r.geometry.coordinates}function Hd(n,e){(n[0][0]!==n[n.length-1][0]||n[0][1]!==n[n.length-1][1]||n[0][2]!==n[n.length-1][2])&&n.push(n[0]),(e[0][0]!==e[e.length-1][0]||e[0][1]!==e[e.length-1][1]||e[0][2]!==e[e.length-1][2])&&e.push(e[0]);const t=ny(ar([n]),ar([e]));if(t)return t.geometry.coordinates}function Jd(n,e,t=10,r="meters"){return xv(n,e,{steps:t,units:r}).geometry.coordinates}function gh(n,e){(n[0][0]!==n[n.length-1][0]||n[0][1]!==n[n.length-1][1]||n[0][2]!==n[n.length-1][2])&&n.push(n[0]),(e[0][0]!==e[e.length-1][0]||e[0][1]!==e[e.length-1][1]||e[0][2]!==e[e.length-1][2])&&e.push(e[0]);const t=ar([n]),r=ar([e]);return Cm(t,r)?"oneBig":xm(t,r)?"twoBig":!1}function Zd(n){const e=c.min(c.objsIterator(n,["0"])),t=c.min(c.objsIterator(n,["1"])),r=c.min(c.objsIterator(n,["2"])),i=c.max(c.objsIterator(n,["0"])),s=c.max(c.objsIterator(n,["1"])),o=c.max(c.objsIterator(n,["2"]));return{minPos:[e,t,r],maxPos:[i,s,o],center:[(e+i)*.5,(t+s)*.5,(r+o)*.5]}}function oy(n){const{minPos:e,maxPos:t,center:r}=Zd(n);if(e.some(a=>!Number.isFinite(a)||t.some(l=>!Number.isFinite(l))||r.some(l=>!Number.isFinite(l)))){console.warn("geoCenterAndRadiusFromPositions error: minPos.some(e => !Number.isFinite(e) || maxPos.some(e => !Number.isFinite(e)) || center.some(e => !Number.isFinite(e))");return}const i=Oc(e,t);let s=i*.5;const o=Math.abs(e[2]-t[2]);return o!=0&&(s=Math.sqrt(i*i+o*o)*.5),{center:r,radius:s}}const Kd=Dh("+title=WGS 84 (long/lat) +proj=longlat +ellps=WGS84 +datum=WGS84 +units=degrees","+proj=geocent +datum=WGS84");function mi(n){return Kd.forward(n)}function Qd(n){return Kd.inverse(n)}const Bd=Dh("+title=WGS 84 (long/lat) +proj=longlat +ellps=WGS84 +datum=WGS84 +units=degrees","+proj=merc +a=6378137 +b=6378137 +lat_ts=0 +lon_0=0 +x_0=0 +y_0=0 +k=1 +units=m +nadgrids=@null +wktext +no_defs +type=crs");function ay(n){const e=Bd.forward([n[0],n[1]]);return[e[0],e[1],n[2]]}function ly(n){const e=Bd.inverse([n[0],n[1]]);return[e[0],e[1],n[2]]}function $d(n,e){const t=mi(n),r=mi(e);return c.Vector.distance(t,r)}function Tl(n,e){const t=[];do{const r=n.length;let i=0;for(let s=0;s<r-1;++s){if(e===void 0||e==="GEODESIC"){const o=Oc(n[s],n[s+1]),a=Math.abs(n[s][2]-n[s+1][2]);if(a===0)i+=o;else{const l=Math.sqrt(o*o+a*a);i+=l}}else if(e==="RHUMB"){const o=gf(n[s],n[s+1]),a=Math.abs(n[s][2]-n[s+1][2]);if(a===0)i+=o;else{const l=Math.sqrt(o*o+a*a);i+=l}}else if(e==="NONE"){const o=$d(n[s],n[s+1]);i+=o}else console.warn(`未知的arcType: ${e},导致距离无法计算!`);t.push(i)}}while(!1);return t}function mh(n){const e="__getXyzFromPostion";let t=c.getExtProp(n,e);return(!t||!c.Vector.equals(t[0],n))&&(t=[[...n],mi(n)],c.setExtProp(n,e,t)),t[1]}class jd extends c.Destroyable{constructor(){super();d(this,"_data",this.dv(c.react(void 0)))}set data(t){this._data.value=t}get data(){return this._data.value}get dataChanged(){return this._data.changed}}class ep extends c.Destroyable{constructor(){super(...arguments);d(this,"_dragStartEvent",this.dv(new c.Event));d(this,"_dragOverEvent",this.dv(new c.Event));d(this,"_dragLeaveEvent",this.dv(new c.Event));d(this,"_dropEvent",this.dv(new c.Event))}dragStart(t){this._dragStartEvent.emit(t)}dragOver(t){this._dragOverEvent.emit(t)}dragLeave(t){this._dragLeaveEvent.emit(t)}drop(t){this._dropEvent.emit(t)}}function uy(n,e){e&&(Reflect.has(e,"editing")?e.editing=!0:Reflect.has(e,"positionEditing")&&(e.positionEditing=!0))}function cy(n){["Czm3DTiles","View","ESCameraView","OlView","GeoCameraController"].includes(n.typeName)||(Reflect.has(n,"editing")?n.editing=!0:Reflect.has(n,"positionEditing")&&(n.positionEditing=!0)),typeof n.execOnCreating=="function"&&n.execOnCreating()}function lc(n,e){c.getExtProp(n,"__treeItem")&&console.error("setSceneObjectTreeItem error!"),c.setExtProp(n,"__treeItem",e)}function hy(n){return c.getExtProp(n,"__treeItem")}function fy(n){if(!(n.startsWith("./")||n.startsWith("../")||n.startsWith("/")))return n;const e=document.createElement("a");e.href=n;const t=e.href;return e.remove(),t}function dy(n){try{return JSON.parse(n),!0}catch{return!1}}function py(n){return n instanceof Function?n():n}function tp(n,e){for(let t of n)if(e.includes(t))return!0;return!1}function Yi(n,e){const t=n,r=e;return t===void 0||t.length===0||r===void 0||r.length===0?!0:tp(t,r)}function gy(n){const e=setTimeout(()=>{n(),clearTimeout(e)})}function cu(n){let e=n%360;return e=e<0?360+e:e,e}function rp(n){return cu(n+180)-180}function uc(n,e,t){let r=cu(n),i=cu(e);Math.abs(r-i)>180&&(r<i?r+=360:i+=360);const s=r*(1-t)+i*t;return rp(s)}function vh(n,e,t,r){return r=r||[0,0,0],r[0]=uc(n[0],e[0],t),r[1]=uc(n[1],e[1],t),r[2]=uc(n[2],e[2],t),r}async function np(n,e,t="editing"){const r=new c.Destroyable;n.ad(r);const i=e.bind(n);let s=n.viewer;if(s||await new Promise(o=>{r.ad(n.viewerChanged.don(a=>{s=a,o()}))}),!s){console.warn("viewer is undefined!,无法绑定编辑");return}return r.ad(n[`${t}Changed`].don(()=>{var o;n[`${t}`]?i():(o=(n.combinationClass?n.getMainClass():n).editingID)!=null&&o.includes("inner")&&s&&s.stopEditing()})),r.ad(s.editingEvent.don(o=>{if(o.objectIDs.includes(n.id)&&o.type==="end"){const a=n.combinationClass?n.getMainClass():n;a.editingID&&o.editingID.includes(a.editingID)?n[`${t}`]=!1:n[`${t}`]=!a.editingID.includes("outer")}})),n[`${t}`]&&i(),r}function my(n,e){const{type:t,id:r}=n;if(t){const i=j.create(t,r);if(i)return i.json=n,i;console.warn(`cannot create sceneObject from type(${t})`)}else console.warn(`cannot create sceneObject from type(${t})`)}function ip(n){const e=n.children&&c.every(n.children,r=>{if(!(r instanceof sr))throw new Error("!(treeItem instanceof SceneTreeItem)");return!r.show})||!1,t=n.sceneTree.getSceneObjectShowFunc(n.sceneObject);return!e||t}class sr extends c.TreeItem{constructor(t,r=!1,i,s,o=!0){super(t,r,i);d(this,"_dragDrop");d(this,"_showChangedNotAffectChildren",!1);d(this,"_showChangedNotAffectParent",!1);d(this,"_type",this.dv(c.react("Unknown")));d(this,"_isExport",this.dv(c.react(!0)));const a=()=>this.tree&&this.tree.itemsChanged.emit([this]);this.dispose(this.nameChanged.disposableOn(a)),this.name=`未命名条目(${this.id})`,this.extras=s,this._isExport.value=o;let l;const u=()=>{l&&(l(),l=void 0)};this.dispose(u),this.dispose(this.sceneObjectChanged.disposableOn(h=>{u(),h&&(l=c.bind([this,"name"],[h,"name"]))})),this.dispose(this.showChanged.disposableOn(h=>{if(t.setSceneObjectShowFunc(this.sceneObject,h),this.tree&&this.tree.forceRedraw(),this.children&&!this._showChangedNotAffectChildren)for(let f of this.children)f instanceof sr&&(f._showChangedNotAffectParent=!0,f.show=h,f._showChangedNotAffectParent=!1);this.parent&&this.parent instanceof sr&&!this._showChangedNotAffectParent&&(this.parent._showChangedNotAffectChildren=!0,this.parent.show=ip(this.parent),this.parent._showChangedNotAffectChildren=!1)})),this.dv(new c.ObjResettingWithEvent(this.sceneObjectChanged,()=>{if(!this.sceneObject)return;const h=new c.Destroyable;if("show"in this.sceneObject&&"showChanged"in this.sceneObject&&this.sceneObject.showChanged instanceof Event){const f=()=>{this.show=t.getSceneObjectShowFunc(this.sceneObject)};f(),h.dispose(this.sceneObject.showChanged.disposableOn(f))}else if("enabled"in this.sceneObject&&"enabledChanged"in this.sceneObject&&this.sceneObject.enabledChanged instanceof Event){const f=()=>{this.show=t.getSceneObjectShowFunc(this.sceneObject)};f(),h.dispose(this.sceneObject.enabledChanged.disposableOn(f))}return h})),this.childrenChangedEvent.disposableOn(()=>{const h=ip(this);this._showChangedNotAffectChildren=!0,this.show=h,this._showChangedNotAffectChildren=!1});{const h=()=>{let f="Unknown";this.sceneObject?f=this.sceneObject.typeName:this.children&&(f="Folder"),this._type.value=f};this.dispose(this.sceneObjectChanged.disposableOn(h)),this.dispose(this.childrenResetedEvent.disposableOn(h)),h()}}get dragDrop(){return this._dragDrop||(this._dragDrop=this.dv(this.sceneTree.createTreeItemDragDropFunc(this))),this._dragDrop}get type(){return this._type.value}get typeChanged(){return this._type.changed}get isExport(){return this._isExport.value}get isExportChanged(){return this._isExport.changed}set isExport(t){this._isExport.value=t}get sceneTree(){return this.tree}get jsonStr(){return JSON.stringify(this.json,void 0," ")}set jsonStr(t){try{this.json=JSON.parse(t)}catch(r){console.error(`sceneTreeItem.jsonStr error ${r}`,r)}}get json(){const t=this.children&&[...this.children].filter(r=>r.isExport).map(r=>r.json);return{name:this.name,show:this.show?void 0:!1,collapsed:this.uiTreeObject.collapsed?!0:void 0,sceneObj:this.sceneObject&&this.sceneObject.json,children:t,extras:this.extras}}set json(t){if(t.name!==void 0&&(this.name=t.name),this.extras=t.extras,this._showChangedNotAffectChildren=!0,this._showChangedNotAffectParent=!0,this.show=t.show??!0,this._showChangedNotAffectChildren=!1,this._showChangedNotAffectParent=!1,this.uiTreeObject.collapsed=t.collapsed??!1,this.sceneObject=void 0,t.sceneObj&&(this.sceneObject=this.sceneTree.createSceneObjectFunc(t.sceneObj,this)),!!t.children){if(this.resetChildren(!0),!this.children)throw new Error("resetChildren(true) cannot get children!");for(let r of t.children){const i=new sr(this.tree,!0);i.json=r,this.children.push(i)}}}clone(){try{const t=new sr(this.sceneTree,!!this.children,void 0,this.extras,this.isExport);return t.json=this.json,t.name=this.sceneTree.getSceneTreeItemCloneNameFunc(this),t}catch(t){console.error(`SceneTreeItem.clone error: ${t}`,t)}}insertNewTreeItem(t,r){if(t==="FolderInnerOrAfter"||t==="FolderInnerOrBefore"||t==="FolderInner"){if(r&&r.tree!==this.tree)return console.warn("newTreeItem.tree !== this.tree"),!1;do{if(!this.children||t.includes("Or")&&this.sceneObject)break;return r&&this.children.push(r),!0}while(!1);if(t==="FolderInner")return!1;if(t==="FolderInnerOrAfter")return super.insertNewTreeItem("After",r);if(t==="FolderInnerOrBefore")return super.insertNewTreeItem("Before",r);throw new Error("should not be here!")}else return super.insertNewTreeItem(t,r)}}(n=>{n.createDefaultProps=()=>({name:"未命名条目",nameEditing:!1,sceneObject:void 0,show:!0,extras:c.reactJsonWithUndefined(void 0)})})(sr||(sr={})),c.extendClassProps(sr.prototype,sr.createDefaultProps);function sp(n,e,t){let{offsetY:r}=e;if(!e.target||!("clientTop"in e.target))return"none";r+=2,r+=e.target.clientTop;let i="none";return n.children?r<=t*.3?i="before":r>=t*.7?!n.uiTreeObject.collapsed&&n.children.length>0?i="inner":i="after":i="inner":r<=t*.5?i="before":i="after",i}class op extends ep{constructor(e){super(),this._treeItem=e;const{dragStartDataManager:t}=this._treeItem.sceneTree;let r="none";const i=this.disposeVar(c.createTimeoutWithStartValues(()=>{this._treeItem.uiTreeObject.moveToPositionMode=r,console.log(`uiTreeObject.moveToPositionMode = lastDragMode(${r});`)},200));function s(o){r!==o&&(r=o,i.restart())}this.dispose(this._dragStartEvent.disposableOn(o=>{t.data={type:"UITreeA",value:this._treeItem}})),this.dispose(this._dragOverEvent.disposableOn(o=>{if(o.dataTransfer){o.preventDefault();do{const a=t;if(!(a.data&&a.data.type==="UITreeA"&&a.data.value!==void 0))break;const l=a.data.value,u=this._treeItem,{tree:h}=u;if(!h)break;const f=[...h.selectedItems];~f.indexOf(l)||f.push(l);const p=sp(u,o,h.itemDivHeight);if(p==="none"||!c.Tree.canMoveToTreeItems(f,u,p))break;o.dataTransfer.dropEffect="move",s(p);return}while(!1);o.dataTransfer.dropEffect="none",s("none")}})),this.dispose(this._dropEvent.disposableOn(o=>{const a=t;if(!(a.data&&a.data.type==="UITreeA"&&a.data.value!==void 0))return;const l=a.data.value,u=this._treeItem,{tree:h}=u;if(!h)return;const f=[...h.selectedItems];~f.indexOf(l)||f.push(l);const p=sp(u,o,h.itemDivHeight);p!=="none"&&c.Tree.canMoveToTreeItems(f,u,p)&&(c.Tree.moveToTreeItems(f,u,p),a.data=void 0,s("none"))})),this.dispose(this._dragLeaveEvent.disposableOn(()=>{r="none",i.restart()}))}}function vy(n){if(!(n instanceof sr))throw new Error("defaultCreateTreeItemDragDrop !(treeItem instanceof SceneTreeItem)");return new op(n)}function yy(n){let e=!1;do{if(!n)break;"show"in n?e=n.show??!0:"enabled"in n&&(e=n.enabled??!0)}while(!1);return e}function _y(n,e){n&&("show"in n?n.show=e:"enabled"in n&&(n.enabled=e))}const wy=["EnvironmentVariables","ScriptsLoader","SceneScript","ScriptLoader"];function Ey(n){const e=[],{root:t={}}=n,r=[t];for(;r.length>0;){const i=r.pop();if(!i)throw new Error("!todo");if(i.children){for(let s of i.children)if(s.children&&r.unshift(s),s.sceneObj){const{type:o=void 0}=s.sceneObj;o||(console.warn("sceneObjJson has no type! treeItem.sceneObj: "),console.warn(s.sceneObj)),o&&wy.includes(o)&&e.push(s.sceneObj)}}}return e}async function Sy(n,e){const t=Ey(n);let r=0;const i=t.length;for(let s of t)if(++r,e){const o=r/i;e(o,r,i)}}class ap extends c.Destroyable{constructor(t,r){super();d(this,"treeItemContexMenuCallback");this._sceneTree=t,this._projectManager=r}get sceneTree(){return this._sceneTree}}class Cy extends c.Destroyable{constructor(t){super();d(this,"_jsonLoadingEvent",this.disposeVar(new c.Event));d(this,"_setJsonProcessing",this.disposeVar(c.createProcessingFromAsyncFunc(async(t,r)=>{this._jsonLoadingEvent.emit({type:"init"}),this._jsonLoadingEvent.emit({type:"loading"}),r&&await t.promise(this._sceneTree.preloadFunc(r)),this._setJson(r),this._jsonLoadingEvent.emit({type:"loaded"})})));this._sceneTree=t,this._setJsonProcessing.errorFunc=r=>{this._jsonLoadingEvent.emit({type:"error",error:r})}}get jsonLoadingEvent(){return this._jsonLoadingEvent}_setJson(t){try{this._sceneTree.setJson(t||{})}catch(r){console.error(`json数据装配时发生错误!error: ${r}`)}}get json(){return this._sceneTree.getJson()}set json(t){this._setJsonProcessing.restart(new c.CancelError("JSON重新赋值!"),t)}get jsonStr(){return JSON.stringify(this.json,void 0," ")}set jsonStr(t){this.json=JSON.parse(t)}}function Py(n){return n.name+"_clone"}function yh(n,e,t){if(n instanceof sr)return n.insertNewTreeItem(e,t);{const r={FolderInnerOrAfter:"InnerOrAfter",FolderInnerOrBefore:"InnerOrBefore",FolderInner:"Inner",InnerOrAfter:"InnerOrAfter",InnerOrBefore:"InnerOrBefore",Inner:"Inner",After:"After",Before:"Before"};return n.insertNewTreeItem(r[e],t)}}function Iy(n){[n,...n.getDescendants()].forEach(e=>e.destroy())}const Mr=class Mr extends c.Tree{constructor(t,r,i,s){super(i);d(this,"_jsonLoading",this.disposeVar(new Cy(this)));d(this,"createSceneObjectFunc",Mr.defaultCreateSceneObjectFunc);d(this,"createTreeItemDragDropFunc",Mr.defaultCreateTreeItemDragDropFunc);d(this,"preloadFunc",Mr.defaultPreload);d(this,"getSceneObjectShowFunc",Mr.defaultGetSceneObjectShow);d(this,"setSceneObjectShowFunc",Mr.defaultSetSceneObjectShow);d(this,"getSceneTreeItemCloneNameFunc",Mr.defaultGetSceneTreeItemCloneNameFunc);d(this,"debug",!1);d(this,"_contextMenu",this.disposeVar(new ap(this,this.projectManager)));d(this,"_showPropUiOnSelecting",this.disposeVar(c.react(!0)));this._name=t,this._dragStartDataManager=r,this._projectManager=s,this.dispose(this.selectedItems.changedEvent.disposableOn(()=>{var a,l;window.lssn=this.lastSelectedItem,window.lsso=(a=this.lastSelectedItem)==null?void 0:a.sceneObject,this.debug&&console.log(((l=this.lastSelectedItem)==null?void 0:l.sceneObject)??"select null")}));const{sceneObjectsManager:o}=this._projectManager;this.dispose(this.itemsDeleted.disposableOn(a=>{for(let l of a){const u=l,{sceneObject:h}=u;h&&o.deleteSceneObject(h)&&h.destroy()&&lc(h,void 0);for(let f of u.getDescendants()){const{sceneObject:p}=f;p&&o.deleteSceneObject(p)&&p.destroy()&&lc(p,void 0)}Iy(l)}})),this.dispose(this.itemsAdded.disposableOn(a=>{for(let l of a){const u=l;u.sceneObject&&o.addSceneObject(u.sceneObject)&&lc(u.sceneObject,u)}})),this.dispose(this.selectedItems.changedEvent.disposableOn(()=>{if(!this.showPropUiOnSelecting)return;this._projectManager.propUiTreeManager.sceneObject=void 0;const{lastSelectedItem:a}=this;a&&(this._projectManager.propUiTreeManager.sceneObject=a.sceneObject)}))}get json(){return this._jsonLoading.json}set json(t){this._jsonLoading.json=t}get jsonStr(){return this._jsonLoading.jsonStr}set jsonStr(t){this._jsonLoading.jsonStr=t}get jsonLoadingEvent(){return this._jsonLoading.jsonLoadingEvent}get name(){return this._name}get projectManager(){return this._projectManager}get contextMenu(){return this._contextMenu}get showPropUiOnSelecting(){return this._showPropUiOnSelecting.value}set showPropUiOnSelecting(t){this._showPropUiOnSelecting.value=t}get showPropUiOnSelectingChanged(){return this._showPropUiOnSelecting.changed}get sceneUiTree(){return this.uiTree}getTreeItemFromSceneObjId(t){const r=this.getDescendants();let i;for(let s of r)if(s.sceneObject&&s.sceneObject.id===t){i=s;break}return i}get dragStartDataManager(){return this._dragStartDataManager}getJson(){return{root:{children:[...this.children].filter(t=>t.isExport).map(t=>t.json)}}}setJson(t){var i;t.root=t.root||{};const r=t.root.children??[];this.root.resetChildren(!0);for(let s of r){const o=new sr(this,!0);o.json=s,(i=this.root.children)==null||i.push(o)}}testAddNewTreeItem(t,r){const i=t||this.lastSelectedItem||this.root;return i?yh(i,r):!1}addNewTreeItem(t,r,i,s){const o=t||this.lastSelectedItem||this.root;if(o&&yh(o,r)){const a=new sr(this,i);if(a.sceneObject=s,!yh(o,r,a))throw new Error("currentTreeItem.insertNewTreeItem return false!");return a}}createSceneObjectTreeItem(t,r,i,s){const o=s??"FolderInnerOrAfter";if(!this.testAddNewTreeItem(i,o)){console.warn(`cannot addNewTreeItem! currentTreeItem(${i?i.id:"root"})`);return}const a=j.create(t,r);return a?this.addNewTreeItem(i,s??"FolderInnerOrAfter",!0,a):void 0}createGroupTreeItem(t,r,i,s){const o=s??"FolderInnerOrAfter";if(!this.testAddNewTreeItem(i,o)){console.warn(`cannot addNewTreeItem! currentTreeItem(${i?i.id:"root"})`);return}const a=this.addNewTreeItem(i,s??"FolderInnerOrAfter",!0);if(!a){console.warn("addNewTreeItem error!");return}return a.name=t??"未命名组节点",a}createSceneObjectTreeItemFromClass(t,r,i,s){const o=s??"FolderInnerOrAfter";if(!this.testAddNewTreeItem(i,o))return;const a=j.createFromClass(t,r);return a?this.addNewTreeItem(i,o,!0,a):void 0}createSceneObjectTreeItemFromJson(t,r,i){const s=i??"FolderInnerOrAfter";if(!this.testAddNewTreeItem(r,s))return;const o=j.createFromJson(t);return o?this.addNewTreeItem(r,i??"FolderInnerOrAfter",!0,o):void 0}destroySceneObjectTreeItem(t){if(t===this.root){console.warn("cannot destroy root! please use function destroyAllSceneObjectTreeItems!");return}t.detachFromParent()}destroyAllSceneObjectTreeItems(){if(!this.root.children)return;const t=[...this.root.children];for(let r of t)this.destroySceneObjectTreeItem(r)}};d(Mr,"defaultCreateSceneObjectFunc",my),d(Mr,"defaultCreateTreeItemDragDropFunc",vy),d(Mr,"defaultPreload",Sy),d(Mr,"defaultGetSceneObjectShow",yy),d(Mr,"defaultSetSceneObjectShow",_y),d(Mr,"defaultGetSceneTreeItemCloneNameFunc",Py);let hu=Mr;const _h={saturation:.35,brightness:1.4,gamma:.8,atmosphereScatteringIntensity:5,groundColor:[0,.09411764705882353,.3137254901960784,1]};class lp extends c.Tree{constructor(e){super(e)}get propUiTree(){return this.uiTree}}class wh extends c.TreeItem{constructor(e,t,r){super(e,t),this._property=r}get property(){return this._property}}class Eh extends wh{constructor(e,t){super(e,!1,t)}}class Sh extends wh{constructor(e,t){super(e,!0,t)}get groupChildren(){return this.children}}function up(n,e){const t=new lp(e),r=n.getProperties("chinese"),i=[];for(let s of r)if(s instanceof z){const o=new Sh(t,s);o.d(()=>s.destroy()),t.children.push(o),i.push(o)}else{const o=new Eh(t,s);t.children.push(o),o.d(()=>s.destroy())}for(;i.length>0;){const s=i.pop();if(!s)throw new Error("should not be here!");const o=s;if(!(o.property instanceof z))throw new Error("!(treeItem.property instanceof GroupProperty)");for(let a of o.property.children)if(a instanceof z){const l=new Sh(t,a);l.d(()=>a.destroy()),o.groupChildren.push(l),i.push(l)}else{const l=new Eh(t,a);o.groupChildren.push(l),l.d(()=>a.destroy())}}return t.d(()=>{t.itemChildrenChanged.reset(),t.itemChildrenToChange.reset();const s=[...t.getDescendants()];s.forEach(o=>{o.children&&(o.children.length=0),o.destroy()}),s.length=0}),t}class bl extends c.Destroyable{constructor(t){super();d(this,"_propTreeReact",this.dv(c.react(void 0)));this.d(()=>this._propTreeReact.value=void 0),this.dv(new c.ObjResettingWithEvent(this.sceneObjectChanged,r=>{if(!r)return;const i=new c.Destroyable;return i.d(r.toDestroyEvent.don(()=>{this.sceneObject=void 0})),i})),this.d(this.sceneObjectChanged.don(r=>{this._propTreeReact.value=void 0,!(!r||!(r instanceof j))&&(this._propTreeReact.value=up(r,t))}))}get propTree(){return this._propTreeReact.value}get propTreeChanged(){return this._propTreeReact.changed}}(n=>{n.createDefaultProps=()=>({sceneObject:void 0})})(bl||(bl={})),c.extendClassProps(bl.prototype,bl.createDefaultProps);function Ty(n,e,t,r=!0){r&&t(),n.dispose(e.disposableOn(t))}class by extends c.Destroyable{constructor(t,r,i,s){super();d(this,"_sceneObjectId",this.dv(new c.SceneObjectWithId));this._id=t,this._startTimeStamp=r,this._duration=i,this._parent=s,this._sceneObjectId.id=this._id;const o=()=>{if(!this.player)return;const{currentTime:a=0}=this._parent,l=a-this._startTimeStamp;this.player.currentTime=c.clamp(l,0,this._duration)*(this.player.speed??1)};o(),this.d(this._parent.currentTimeChanged.don(o)),this.d(this.playerChanged.don(o))}get player(){return this._sceneObjectId.sceneObject instanceof Hn?this._sceneObjectId.sceneObject:void 0}get playerChanged(){return this._sceneObjectId.sceneObjectChanged}}const Ny=`
28
+ 用来配置子播放器,它是一个数组形式,数组的每个元素仍然是一个数组,形式是[子播放器的ID, 起始时间, 持续时间]。
28
29
  注意时间的单位是毫秒。
29
30
  示例如下:
30
31
  \`\`\`
@@ -41,10 +42,10 @@ ${l.map(h=>`${h.id} ${h.typeName}
41
42
  ]
42
43
  ]
43
44
  \`\`\`
44
- `,Ht=class Ht extends c.Destroyable{constructor(){super();p(this,"_ratio",this.disposeVar(c.react(0)));p(this,"_subPlayers",this.disposeVar(new c.ObservableArray));const t=this.disposeVar(new c.Player);{const o=()=>{t.loop=this.loop??Ht.defaults.loop};o(),this.dispose(this.loopChanged.disposableOn(o))}{const o=()=>{(this.loop??Ht.defaults.loop)!==t.loop&&(this.loop=t.loop)};o(),this.dispose(t.loopChangedEvent.disposableOn(o))}{const o=()=>{t.currentTime=this.currentTime??Ht.defaults.currentTime};o(),this.dispose(this.currentTimeChanged.disposableOn(o))}{const o=()=>{(this.currentTime??Ht.defaults.currentTime)!==t.currentTime&&(this.currentTime=t.currentTime)};o(),this.dispose(t.currentTimeChangedEvent.disposableOn(o))}{const o=()=>{t.duration=this.duration??Ht.defaults.duration};o(),this.dispose(this.durationChanged.disposableOn(o))}{const o=()=>{(this.duration??Ht.defaults.duration)!==t.duration&&(this.duration=t.duration)};o(),this.dispose(t.durationChangedEvent.disposableOn(o))}{const o=()=>{t.speed=this.speed??Ht.defaults.speed};o(),this.dispose(this.speedChanged.disposableOn(o))}{const o=()=>{(this.speed??Ht.defaults.speed)!==t.speed&&(this.speed=t.speed)};o(),this.dispose(t.speedChangedEvent.disposableOn(o))}{const o=()=>{t.playing=this.playing??Ht.defaults.playing};o(),this.dispose(this.playingChanged.disposableOn(o))}{const o=()=>{(this.playing??Ht.defaults.playing)!==t.playing&&(this.playing=t.playing)};o(),this.dispose(t.playingChangedEvent.disposableOn(o))}const r=()=>{const o=this.duration??Ht.defaults.duration;o>0&&(this._ratio.value=(this.currentTime??Ht.defaults.currentTime)/o)};r();const i=this.disposeVar(c.createNextAnimateFrameEvent(this.currentTimeChanged,this.durationChanged));this.dispose(i.disposableOn(r)),this.dispose(()=>{const{length:o}=this._subPlayers;for(let a=0;a<o;++a)this._subPlayers.get(a).destroy();this._subPlayers.length=0});const s=()=>{for(let a of this._subPlayers)a.destroy();if(this._subPlayers.length=0,!this.channels)return;const o=this.channels.map(a=>{const[l,u,h]=a;return new by(l,u,h,this)});this._subPlayers.splice(0,0,...o)};s(),this.dispose(this.channelsChanged.disposableOn(s))}get ratio(){return this._ratio.value}set ratio(t){Math.abs(this._ratio.value-t)<.001||(this.currentTime=(this.duration??Ht.defaults.duration)*t)}get ratioChanged(){return this._ratio.changed}};p(Ht,"defaults",{loop:!1,currentTime:0,duration:3e3,speed:1,playing:!1,channels:!0,ratio:0}),p(Ht,"channelsReadMe",Ny);let Hn=Ht;(n=>{n.createDefaultProps=()=>({loop:!1,currentTime:0,duration:3e3,speed:1,playing:!1,channels:c.reactDeepArrayWithUndefined(void 0,(e,t)=>e==null?void 0:e.every((r,i)=>r===t[i]),e=>[...e])})})(Hn||(Hn={})),c.extendClassProps(Hn.prototype,Hn.createDefaultProps);class Ch extends c.Destroyable{constructor(t){super();p(this,"_sceneObject",this.disposeVar(c.react(void 0)));this._id=t,this.dispose(()=>{this._sceneObject.value=void 0});const r=j.getSceneObjById(this._id);r&&(this._sceneObject.value=r),this.dispose(j.context.sceneObjCreatedEvent.disposableOn(i=>{i.id===this._id&&(this._sceneObject.value=i)})),this.dispose(j.context.sceneObjToDestroyEvent.disposableOn(i=>{i.id===this._id&&(this._sceneObject.value=void 0)}))}get sceneObject(){return this._sceneObject.value}get sceneObjectChanged(){return this._sceneObject.changed}get id(){return this._id}}class Dy extends c.Destroyable{constructor(t,r){super();p(this,"_sofi");this._id=t,this._sofi=this.disposeVar(new Ch(this._id));{const i=()=>{r.sceneObject=this._sofi.sceneObject};i(),this.dispose(this._sofi.sceneObjectChanged.disposableOn(i))}}}class Oy extends c.Destroyable{constructor(){super();p(this,"_id",this.disposeVar(c.react(void 0)));p(this,"_sceneObject",this.disposeVar(c.react(void 0)));p(this,"_resetting",this.disposeVar(new c.ObjResettingWithEvent(this.idChanged,()=>{const{id:t}=this;if(t===void 0||t===""){this.sceneObject=void 0;return}return new Dy(t,this)})))}get id(){return this._id.value}get idChanged(){return this._id.changed}set id(t){this._id.value=t}get sceneObject(){return this._sceneObject.value}get sceneObjectChanged(){return this._sceneObject.changed}set sceneObject(t){this._sceneObject.value=t}get resetting(){return this._resetting}}class My extends c.Destroyable{constructor(e,t,r,i){super(),this.disposeVar(new c.ObjResettingWithEvent(e.sceneObjectChanged,()=>{let s;i.debug&&console.log("正在获取Event事件...");do{const o=e.sceneObject;if(!o||!t)break;const a=t.split(".");if(a.length===0){i.debug&&console.warn("propNames.length === 0");break}let l=c.pluckProperty(o,!1,...a);if((!l||!(l instanceof c.Event))&&(a[a.length-1]=a[a.length-1]+"Changed",i.debug&&console.warn(`event未能获取,那么将属性名的最后一项加上Changed(${a[a.length-1]})再试试!`),l=c.pluckProperty(o,!1,...a),i.debug&&l&&console.warn("event仍然获取不到!")),!l){i.debug&&console.warn(`cannot get changed from ${o.id}-${o.name}-${o.ref}-${t}`);break}if(!(l instanceof c.Event)){i.debug&&console.warn(`the prop is not event from ${o.id}-${o.name}-${o.ref}-${t}`);break}s=l,i.debug&&console.log(`Event获取成功 propChangedName: ${t}`,s)}while(!1);if(s){const o=new c.Destroyable;return o.dispose(s.dwon(()=>r.emit())),o}else{i.debug&&console.log(`未获取到Event!propChangedName: ${t}`);return}}))}}let xy=class extends c.Destroyable{constructor(t,r,i){super();p(this,"_doEvalEvent",this.dv(new c.Event));const s=this._doEvalEvent,o=this.disposeVar(c.createNextAnimateFrameEvent(s)),a=t.map(([l,u])=>{const h=new Ch(l),f=u&&new My(h,u,s,r)||void 0;return[h,f]});this.dispose(()=>{a.forEach(([l,u])=>{u==null||u.destroy(),l.destroy()}),a.length=0}),this.dispose(s.disposableOn(()=>{const{evalMode:l="NextAnimateFrame",evalOnlyWhenObjsAllExist:u=!0}=r;if(l==="Immediate"){const h=a.map(([f])=>f.sceneObject);(!u||h.every(f=>f!==void 0))&&i(h)}})),this.dispose(o.disposableOn(()=>{const{evalMode:l="NextAnimateFrame",evalOnlyWhenObjsAllExist:u=!0}=r;if(l==="NextAnimateFrame"){const h=a.map(([f])=>f.sceneObject);(!u||h.every(f=>f!==void 0))&&i(h)}}))}forceExecute(){this._doEvalEvent.emit()}};const cd=Object.freeze(Object.defineProperty({__proto__:null,WatcherObjects:xy},Symbol.toStringTag,{value:"Module"})),{WatcherObjects:Ly}=cd;class pu extends c.Destroyable{constructor(){super();p(this,"_evalFunc");p(this,"_forceExecute",new c.Event);const t=this.dv(c.react(void 0)),r=()=>{try{t.value=this.evalFuncStr&&Function('"use strict";return ('+this.evalFuncStr+")")(),this.debug&&console.log("evalFunc成功构建",t.value)}catch(o){console.error(`evalFunc get error! ${o}`),t.value=void 0}};r(),this.dispose(this.evalFuncStrChanged.disposableOn(r));const i=o=>{this.enabled&&(this.debug&&console.log("执行evalFunc..."),this._evalFunc&&this._evalFunc(o),t.value&&t.value(o))},s=this.disposeVar(new c.ObjResettingWithEvent(this.objIdAndPropChangedNamesChanged,()=>{if(this.objIdAndPropChangedNames.length>0)return this.debug&&console.log("监视对象发生变化,重新创建WatcherObjects"),new Ly(this.objIdAndPropChangedNames,this,i)}));this.dispose(this._forceExecute.disposableOn(()=>{var o;(o=s.obj)==null||o.forceExecute()}))}get evalFunc(){return this._evalFunc}set evalFunc(t){this._evalFunc=t}forceExecute(){this._forceExecute.emit()}}(n=>{n.createDefaultProps=()=>({enabled:!1,objIdAndPropChangedNames:c.reactDeepArray([],(e,t)=>e[0]===t[0]&&e[1]===t[1],e=>[e[0],e[1]]),evalFuncStr:"",evalMode:"NextAnimateFrame",evalOnlyWhenObjsAllExist:!0,debug:!1,name:"未命名场景对象",ref:void 0,extras:c.reactJson(void 0),devTags:c.reactArrayWithUndefined(void 0),execOnceFuncStr:void 0,updateFuncStr:void 0,toDestroyFuncStr:void 0})})(pu||(pu={})),c.extendClassProps(pu.prototype,pu.createDefaultProps);function Ay(n,e,t){var i;((i=e.viewer)==null?void 0:i.getEngineObject(e))?t.call(n):n.dispose(e.createdEvent.don(()=>t.call(n)))}const Ue=class Ue extends j{constructor(t){super(t);p(this,"_editing",this.dv(c.react(!1)));p(this,"editingID");p(this,"editingBindMode","singlePoint");p(this,"_deprecated",[]);p(this,"_flyInEvent",this.dv(new c.Event));p(this,"_flyToEvent",this.dv(new c.Event));p(this,"_flyOverEvent",this.disposeVar(new c.Event));p(this,"_pickedEvent",this.dv(new c.Event));p(this,"_calcFlyToParamEvent",this.dv(new c.Event));p(this,"_calcFlyInParamEvent",this.dv(new c.Event));p(this,"useCalcFlyToParamInESObjectWithLocation",!1);nd(this,this.updateEditing)}supportEditingModes(){return this.constructor.supportEditingModes}get editing(){return this._editing.value}set editing(t){this._editing.value=t}get editingChanged(){return this._editing.changed}updateEditing(){}_deprecatedWarning(){const t=this._deprecated;for(let r=0;r<t.length;r++){const i=t[r];typeof i=="string"?Reflect.has(this,i+"Changed")&&this.d(this[i+"Changed"].don(()=>{console.warn(`注意:${this.typeName} 的 ${i} 属性下版本将会被移除!`)})):Object.keys(i).forEach(s=>{Reflect.has(this,s+"Changed")&&this.d(this[s+"Changed"].don(a=>{const l=i[s];typeof l=="string"?console.warn(`注意:${this.typeName} 的 ${s} 属性下版本将会被移除!`):Object.keys(l).forEach(u=>{a===u&&console.warn(`注意:${this.typeName} 的 ${s} 属性值 ${u} 下版本将会被移除,推荐使用属性值 ${l[u]}`)})}))})}}get flyInEvent(){return this._flyInEvent}flyIn(t=1){this._flyInEvent.emit(t,Ue._lastFlyInId)}get flyToEvent(){return this._flyToEvent}flyTo(t=1){this._flyToEvent.emit(t,Ue._lastFlyToId)}get flyOverEvent(){return this._flyOverEvent}get pickedEvent(){return this._pickedEvent}get calcFlyToParamEvent(){return this._calcFlyToParamEvent}calcFlyToParam(){this._calcFlyToParamEvent.emit()}get calcFlyInParamEvent(){return this._calcFlyInParamEvent}calcFlyInParam(){this._calcFlyInParamEvent.emit()}emptyFlyToParam(){this.flyToParam=void 0}emptyFlyInParam(){this.flyInParam=void 0}async getBoundSphere(t){return await t.getBoundSphere(this.id)}getESProperties(){const t={...super.getESProperties()};return{...t,defaultMenu:"general",general:[...t.general,new J("唯一标识","id",!1,!0,[this,"id"]),new J("名称","name",!0,!1,[this,"name"]),new k("是否显示","show",!1,!1,[this,"show"],Ue.defaults.show),new k("开启碰撞","collision",!1,!1,[this,"collision"],Ue.defaults.collision),new k("允许拾取","allowPicking",!1,!1,[this,"allowPicking"],Ue.defaults.allowPicking),new ie("保存观察视角","保存当前flyToParam",[],()=>this.calcFlyToParam(),[]),new ie("清空飞向参数","清空飞向参数",[],()=>this.emptyFlyToParam(),[]),new ie("清空飞入参数","清空飞入参数",[],()=>this.emptyFlyInParam(),[]),new ie("保存飞入参数","保存飞入参数flyInParam",[],()=>this.calcFlyInParam(),[])]}}getProperties(t){return[...super.getProperties(t),new z("ESVisualObject","ESVisualObject",[new k("是否显示","是否显示.",!1,!1,[this,"show"],Ue.defaults.show),new k("是否开启碰撞监测","collision,是否开启碰撞监测.",!1,!1,[this,"collision"],Ue.defaults.collision),new k("是否允许拾取","是否允许被鼠标点击拾取.",!1,!1,[this,"allowPicking"],Ue.defaults.allowPicking),new z("飞行定位","飞向参数",[new ie("飞向","飞向",["number"],r=>this.flyTo(r),[1]),new G("flyToParam","flyToParam",!0,!1,[this,"flyToParam"],Ue.defaults.flyToParam),new ie("获取当前参数","获取当前flyToParam",[],()=>this.calcFlyToParam(),[]),new S("flyToDistance","flyToDistance",!0,!1,[this,"flyToDistance"],Ue.defaults.flyToParam.distance),new S("flyToHeading","flyToHeading",!0,!1,[this,"flyToHeading"],Ue.defaults.flyToParam.heading),new S("flyToPitch","flyToPitch",!0,!1,[this,"flyToPitch"],Ue.defaults.flyToParam.pitch),new S("flyToFlyDuration","flyToFlyDuration",!0,!1,[this,"flyToFlyDuration"],Ue.defaults.flyToParam.flyDuration),new S("flyToHDelta","flyToHDelta",!0,!1,[this,"flyToHDelta"],Ue.defaults.flyToParam.hDelta),new S("flyToPDelta","flyToPDelta",!0,!1,[this,"flyToPDelta"],Ue.defaults.flyToParam.pDelta)]),new z("飞入定位","飞入参数",[new ie("飞入","飞入",["number"],r=>this.flyIn(r),[1]),new G("flyInParam","flyInParam",!0,!1,[this,"flyInParam"],Ue.defaults.flyInParam),new ie("获取当前相机参数","获取当前相机参数",[],()=>this.calcFlyInParam(),[])])])]}get flyToDistance(){return this.flyToParam&&this.flyToParam.distance}get flyToHeading(){return this.flyToParam&&this.flyToParam.heading}get flyToPitch(){return this.flyToParam&&this.flyToParam.pitch}get flyToFlyDuration(){return this.flyToParam&&this.flyToParam.flyDuration}get flyToHDelta(){return this.flyToParam&&this.flyToParam.hDelta}get flyToPDelta(){return this.flyToParam&&this.flyToParam.pDelta}get flyToDistanceChanged(){return this.flyToParamChanged}get flyToHeadingChanged(){return this.flyToParamChanged}get flyToPitchChanged(){return this.flyToParamChanged}get flyToFlyDurationChanged(){return this.flyToParamChanged}get flyToHDeltaChanged(){return this.flyToParamChanged}get flyToPDeltaChanged(){return this.flyToParamChanged}set flyToDistance(t){this.flyToParam=t!==void 0?{...this.flyToParam??Ue.defaults.flyToParam,distance:t}:void 0}set flyToHeading(t){this.flyToParam=t!==void 0?{...this.flyToParam??Ue.defaults.flyToParam,heading:t}:void 0}set flyToPitch(t){this.flyToParam=t!==void 0?{...this.flyToParam??Ue.defaults.flyToParam,pitch:t}:void 0}set flyToFlyDuration(t){this.flyToParam=t!==void 0?{...this.flyToParam??Ue.defaults.flyToParam,flyDuration:t}:void 0}set flyToHDelta(t){this.flyToParam=t!==void 0?{...this.flyToParam??Ue.defaults.flyToParam,hDelta:t}:void 0}set flyToPDelta(t){this.flyToParam=t!==void 0?{...this.flyToParam??Ue.defaults.flyToParam,pDelta:t}:void 0}};p(Ue,"supportEditingModes",[]),p(Ue,"_lastFlyInId",0),p(Ue,"_lastFlyToId",0),p(Ue,"defaults",{...j.defaults,show:!0,collision:!0,allowPicking:!1,flyToParam:{distance:0,heading:0,pitch:0,flyDuration:1,hDelta:0,pDelta:0},flyInParam:{position:[0,0,0],rotation:[0,0,0],flyDuration:1}});let Se=Ue;(n=>{n.createDefaultProps=()=>({...j.createDefaultProps(),show:!0,collision:!0,allowPicking:!1,flyToParam:c.reactJsonWithUndefined(void 0),flyInParam:c.reactJsonWithUndefined(void 0)})})(Se||(Se={})),c.extendClassProps(Se.prototype,Se.createDefaultProps);function hd(n){let e=0;function t(r,i){i++,e=Math.max(i,e),r.forEach(s=>{Array.isArray(s)&&t(s,i)})}return t(n,0),e}const gu=class gu extends Se{constructor(t){super(t);p(this,"editingBindMode","lineString");p(this,"_area",this.dv(c.react(0)));p(this,"_perimeter",this.dv(c.react(0)));const r=()=>{this._updateArea(),this._updatePerimeter()};r(),this.d(this.pointsChanged.don(r))}updateEditing(){var r;const t=[];do{if(this.editingBindMode=="doublePoints"){t.push(se.DoublePointsAppend,se.DoublePointsModify);break}if(this.editingBindMode=="lineString"){t.push(se.LineStringAppend,se.LineStringInsert,se.Translation);break}if(this.editingBindMode=="circular"){t.push(se.CircularAppend,se.CircularInsert,se.Translation),this.supportEditingModes().includes(se.HeightModify)&&t.push(se.HeightModify);break}if(this.editingBindMode=="visibility"){t.push(se.VisibilityAppend,se.VisibilityModify);break}}while(!1);(r=this.viewer)==null||r.startEditing(this,t,{callSource:"inner"})}get area(){return this._area.value}get areaChanged(){return this._area.changed}get perimeter(){return this._perimeter.value}get perimeterChanged(){return this._perimeter.changed}_updateArea(){this._area.value=this.getArea()??0}_updatePerimeter(){this._perimeter.value=this.getPerimeter()??0}getArea(){if(this.points&&this.points.length>=3)return bc([...this.points])}getDistance(){if(this.points&&this.points.length>=2){const t=Tl(this.points,"NONE");return t[t.length-1]}else return}getPerimeter(){if(this.points&&this.points.length>=3){const t=[...this.points,this.points[0]],r=Tl(t,"NONE");return r[r.length-1]}else return}getIntersect(t){if(this.points&&this.points.length>=3&&t.length>=3){const r=qp(this.points,t);if(!r)return;const i=r[0][0][0];if(Array.isArray(i)){const s=[...r],o=[];return s.forEach(a=>{const l=a[0].map(u=>[...u,0]);o.push(l)}),o}else return[[...r][0].map(a=>[...a,0])]}else return}getUnion(t){if(this.points&&this.points.length>=3&&t.length>=3){const r=Xp(this.points,t);if(!r)return;const i=r[0][0][0];if(Array.isArray(i)){const s=[...r],o=[];return s.forEach(a=>{const l=a[0].map(u=>[...u,0]);o.push(l)}),o}else return[[...r][0].map(a=>[...a,0])]}else return}getDifference(t){if(this.points&&this.points.length>=3&&t.length>=3){let r=[...t];const i=t[0],s=t[t.length-1];i[0]===s[0]&&i[1]===s[1]&&i[2]===s[2]||r.push(i);const o=Hp([...this.points,this.points[0]],[...r]);if(!o)return{status:"undefined",positions:void 0};const a=[...o];if(hd(a)===3){const l=a.map(d=>d.map(v=>[...v,0]));if(l.length<=1)return{status:"notIncluded",positions:l};const u=l[0],h=l[1];return gh([...u],[...h])==="oneBig"?{status:"included",positions:l}:{status:"notIncluded",positions:l}}else if(hd(a)===4){const u=[...a.map(f=>f.map(d=>d.map(v=>[...v,0])))],h=[];return u.forEach(f=>{h.push(f[0])}),{status:"notIncluded",positions:h}}else return{status:"undefined",positions:void 0}}else return{status:"undefined",positions:void 0}}getBuffer(t=500,r){if(this.points&&this.points.length>=2){const i=Yp(this.points,t,r);return i?[i[0].map(s=>[...s,0])]:void 0}else return}geoPolygonOverlap(t){if(this.points&&this.points.length>=3&&t.length>=3){const r=gh(this.points,t);return r==="oneBig"?!0:r==="twoBig"?!1:void 0}else return}getESProperties(){const t={...super.getESProperties()};return{...t,defaultMenu:"style",coordinate:[...t.coordinate,new k("编辑","编辑",!1,!1,[this,"editing"],!1),new G("位置数组","位置数组(经纬高数组)",!0,!1,[this,"points"],gu.defaults.points)],style:[...t.style,new z("点样式","点样式集合",[]),new k("开启","开启点样式",!1,!1,[this,"pointed"],!1),new S("点大小","点大小(pointSize)",!1,!1,[this,"pointSize"],1),new Y("点类型","点类型(pointSizeType)",!1,!1,[this,"pointSizeType"],[["screen","screen"],["world","world"]],"screen"),new Z("点颜色","点颜色(pointColor)",!1,!1,[this,"pointColor"],[1,1,1,1]),new z("线样式","线样式集合",[]),new k("开启","开启线样式",!1,!1,[this,"stroked"],!0),new k("贴地","是否贴地",!1,!1,[this,"strokeGround"],!1),new S("线宽","线宽(strokeWidth)",!1,!1,[this,"strokeWidth"],1),new Y("线类型","线类型(strokeWidthType)",!1,!1,[this,"strokeWidthType"],[["screen","screen"],["world","world"]],"screen"),new Z("线颜色","线颜色(strokeColor)",!1,!1,[this,"strokeColor"],[1,1,1,1]),new z("面样式","面样式集合",[]),new k("开启","开启填充样式",!1,!1,[this,"filled"],!1),new k("贴地","是否贴地",!1,!1,[this,"fillGround"],!1),new Z("填充颜色","填充颜色(fillColor)",!1,!1,[this,"fillColor"],[1,1,1,1])]}}getProperties(t){return[...super.getProperties(t),new z("ESGeoVector","ESGeoVector",[new k("是否编辑","是否编辑",!1,!1,[this,"editing"]),new G("位置数组","位置数组(经纬高数组)",!1,!1,[this,"points"]),new z("点样式","点样式",[new k("开启点样式","开启点样式",!1,!1,[this,"pointed"]),new S("点大小","点大小(pointSize)",!1,!1,[this,"pointSize"]),new Y("点类型","点类型(pointSizeType)",!1,!1,[this,"pointSizeType"],[["screen","screen"],["world","world"]]),new Z("点颜色","点颜色(pointColor)",!1,!1,[this,"pointColor"]),new J("点材质","点材质(pointMaterial)",!1,!1,[this,"pointMaterial"]),new G("点材质参数","点材质参数(pointMaterialParams)",!1,!1,[this,"pointMaterialParams"])]),new z("线样式","线样式",[new k("开启线样式","开启线样式",!1,!1,[this,"stroked"]),new S("线宽","线宽(strokeWidth)",!1,!1,[this,"strokeWidth"]),new Y("线类型","线类型(strokeWidthType)",!1,!1,[this,"strokeWidthType"],[["screen","screen"],["world","world"]]),new Z("线颜色","线颜色(strokeColor)",!1,!1,[this,"strokeColor"]),new J("线材质","线材质(strokeMaterial)",!1,!1,[this,"strokeMaterial"]),new G("线材质参数","线材质参数(strokeMaterialParams)",!1,!1,[this,"strokeMaterialParams"]),new k("是否贴地","是否贴地",!1,!1,[this,"strokeGround"])]),new z("填充样式","填充样式",[new k("开启填充样式","开启填充样式",!1,!1,[this,"filled"]),new Z("填充颜色","填充颜色(fillColor)",!1,!1,[this,"fillColor"]),new J("面材质","面材质(fillMaterial)",!1,!1,[this,"fillMaterial"]),new G("面材质参数","面材质参数(fillMaterialParams)",!1,!1,[this,"fillMaterialParams"]),new k("是否贴地","是否贴地",!1,!1,[this,"fillGround"])])])]}get pointSize(){return this.pointStyle.size}set pointSize(t){this.pointStyle={...this.pointStyle,size:t}}get pointSizeChanged(){return this.pointStyleChanged}get pointSizeType(){return this.pointStyle.sizeType}set pointSizeType(t){this.pointStyle={...this.pointStyle,sizeType:t}}get pointSizeTypeChanged(){return this.pointStyleChanged}get pointColor(){return this.pointStyle.color}set pointColor(t){this.pointStyle={...this.pointStyle,color:[...t]}}get pointColorChanged(){return this.pointStyleChanged}get pointMaterial(){return this.pointStyle.material}set pointMaterial(t){this.pointStyle={...this.pointStyle,material:t}}get pointMaterialChanged(){return this.pointStyleChanged}get pointMaterialParams(){return this.pointStyle.materialParams}set pointMaterialParams(t){this.pointStyle={...this.pointStyle,materialParams:t}}get pointMaterialParamsChanged(){return this.pointStyleChanged}get strokeWidth(){return this.strokeStyle.width}set strokeWidth(t){this.strokeStyle={...this.strokeStyle,width:t}}get strokeWidthChanged(){return this.strokeStyleChanged}get strokeWidthType(){return this.strokeStyle.widthType}set strokeWidthType(t){this.strokeStyle={...this.strokeStyle,widthType:t}}get strokeWidthTypeChanged(){return this.strokeStyleChanged}get strokeColor(){return this.strokeStyle.color}set strokeColor(t){this.strokeStyle={...this.strokeStyle,color:[...t]}}get strokeColorChanged(){return this.strokeStyleChanged}get strokeMaterial(){return this.strokeStyle.material}set strokeMaterial(t){this.strokeStyle={...this.strokeStyle,material:t}}get strokeMaterialChanged(){return this.strokeStyleChanged}get strokeMaterialParams(){return this.strokeStyle.materialParams}set strokeMaterialParams(t){this.strokeStyle={...this.strokeStyle,materialParams:t}}get strokeMaterialParamsChanged(){return this.strokeStyleChanged}get strokeGround(){return this.strokeStyle.ground}set strokeGround(t){this.strokeStyle={...this.strokeStyle,ground:t}}get strokeGroundChanged(){return this.strokeStyleChanged}get fillColor(){return this.fillStyle.color}set fillColor(t){this.fillStyle={...this.fillStyle,color:[...t]}}get fillColorChanged(){return this.fillStyleChanged}get fillMaterial(){return this.fillStyle.material}set fillMaterial(t){this.fillStyle={...this.fillStyle,material:t}}get fillMaterialChanged(){return this.fillStyleChanged}get fillMaterialParams(){return this.fillStyle.materialParams}set fillMaterialParams(t){this.fillStyle={...this.fillStyle,materialParams:t}}get fillMaterialParamsChanged(){return this.fillStyleChanged}get fillGround(){return this.fillStyle.ground}set fillGround(t){this.fillStyle={...this.fillStyle,ground:t}}get fillGroundChanged(){return this.fillStyleChanged}};p(gu,"supportEditingModes",[...Se.supportEditingModes,se.Translation]),p(gu,"defaults",{...Se.defaults,points:[],pointStyle:{size:1,sizeType:"screen",color:[1,1,1,1],material:"",materialParams:{}},strokeStyle:{width:1,widthType:"screen",color:[1,1,1,1],material:"",materialParams:{},ground:!1},fillStyle:{color:[1,1,1,1],material:"",materialParams:{},ground:!1},pointed:!1,stroked:!1,filled:!1});let ce=gu;(n=>{n.createDefaultProps=()=>({...Se.createDefaultProps(),pointed:!1,pointStyle:c.reactJson(n.defaults.pointStyle),stroked:!1,strokeStyle:c.reactJson(n.defaults.strokeStyle),filled:!1,fillStyle:c.reactJson(n.defaults.fillStyle),points:c.reactPositions(void 0)})})(ce||(ce={})),c.extendClassProps(ce.prototype,ce.createDefaultProps);class q extends Se{constructor(){super(...arguments);p(this,"_statusDis",this.dv(c.react(!0)));p(this,"_smoothMoveEvent",this.dv(new c.Event));p(this,"_smoothMoveWithRotationEvent",this.dv(new c.Event));p(this,"_smoothMoveOnGroundEvent",this.dv(new c.Event));p(this,"_smoothMoveWithRotationOnGroundEvent",this.dv(new c.Event));p(this,"_automaticLandingEvent",this.dv(new c.Event));p(this,"_smoothMoveKeepPitchEvent",this.dv(new c.Event));p(this,"_smoothMoveRelativelyEvent",this.dv(new c.Event));p(this,"_smoothMoveRelativelyWithRotationEvent",this.dv(new c.Event));p(this,"useCalcFlyToParamInESObjectWithLocation",!0)}updateEditing(){var r;const t=[];do{if(this.editingBindMode=="singlePoint"){t.push(se.Place,se.Translation),["ESLocationMeasurement"].includes(this.typeName)||t.push(se.Rotation),["ESClippingPlane","ESLocationMeasurement","ESLocalRectangle","ESBoxClipping"].includes(this.typeName)||t.push(se.Scale);break}if(this.editingBindMode=="doublePoints"){t.push(se.DoublePointsAppend,se.DoublePointsModify);break}}while(!1);(r=this.viewer)==null||r.startEditing(this,t,{callSource:"inner"})}get statusDis(){return this._statusDis.value}get statusDisChanged(){return this._statusDis.changed}get smoothMoveEvent(){return this._smoothMoveEvent}smoothMove(t,r){this._smoothMoveEvent.emit(t,r)}get smoothMoveWithRotationEvent(){return this._smoothMoveWithRotationEvent}smoothMoveWithRotation(t,r,i){this._smoothMoveWithRotationEvent.emit(t,r,i)}get smoothMoveOnGroundEvent(){return this._smoothMoveOnGroundEvent}smoothMoveOnGround(t,r,i,s){this._smoothMoveOnGroundEvent.emit(t,r,i,s)}get smoothMoveWithRotationOnGroundEvent(){return this._smoothMoveWithRotationOnGroundEvent}smoothMoveWithRotationOnGround(t,r,i,s,o){this._smoothMoveWithRotationOnGroundEvent.emit(t,r,i,s,o)}get automaticLandingEvent(){return this._automaticLandingEvent}automaticLanding(){const t=this.collision;this.collision=!1,setTimeout(()=>{this._automaticLandingEvent.emit(t)},100)}get smoothMoveKeepPitchEvent(){return this._smoothMoveKeepPitchEvent}smoothMoveKeepPitch(t,r){this._smoothMoveKeepPitchEvent.emit(t,r)}get smoothMoveRelativelyEvent(){return this._smoothMoveRelativelyEvent}smoothMoveRelatively(t,r){this._smoothMoveRelativelyEvent.emit(t,r)}get smoothMoveRelativelyWithRotationEvent(){return this._smoothMoveRelativelyWithRotationEvent}smoothMoveRelativelyWithRotation(t,r,i){this._smoothMoveRelativelyWithRotationEvent.emit(t,r,i)}getESProperties(){const t={...super.getESProperties()};return{...t,defaultMenu:"basic",location:[...t.location,new k("是否编辑","是否编辑",!1,!1,[this,"editing"]),new ie("自动落地","自动落地",[],()=>this.automaticLanding(),[]),new bn("位置数组","经度,纬度,高度,度为单位",!1,!1,[this,"position"],[0,0,0]),new wu("姿态数组","偏航角,俯仰角,翻转角,度为单位",!1,!1,[this,"rotation"],[0,0,0]),new Pt("缩放","缩放",!1,!1,[this,"scale"],[1,1,1]),new S("最小可见距离","单位米",!1,!1,[this,"minVisibleDistance"],0),new S("最大可见距离","单位米",!1,!1,[this,"maxVisibleDistance"],0)]}}getProperties(t){return[...super.getProperties(t),new z("位置姿态对象","位置姿态对象ESObjectWithLocation",[new ie("平滑移动","smoothMove",["numbers","number"],(r,i)=>this.smoothMove(r,i),[[0,0,0],0]),new ie("固定方向平滑移动","smoothMoveKeepPitch",["numbers","number"],(r,i)=>this.smoothMoveKeepPitch(r,i),[[0,0,0],0]),new ie("平滑偏移","smoothMoveWithRotation",["numbers","numbers","number"],(r,i,s)=>this.smoothMoveWithRotation(r,i,s),[[0,0,0],[0,0,0],0]),new ie("贴地平滑移动","smoothMoveOnGround",["number","number","number","string"],(r,i,s,o)=>this.smoothMoveOnGround(r,i,s,o),[0,0,0,""]),new ie("贴地平滑偏移","smoothMoveWithRotationOnGround",["numbers","number","number","number","string"],(r,i,s,o,a)=>this.smoothMoveWithRotationOnGround(r,i,s,o,a),[[0,0,0],0,0,0,""]),new ie("smoothMoveRelatively","smoothMoveRelatively",["numbers","number"],(r,i)=>this.smoothMoveRelatively(r,i),[[0,0,0],0]),new ie("smoothMoveRelativelyWithRotation","smoothMoveRelativelyWithRotation",["numbers","numbers","number"],(r,i,s)=>this.smoothMoveRelativelyWithRotation(r,i,s),[[0,0,0],[0,0,0],0]),new bn("位置数组","经度,纬度,高度,度为单位",!1,!1,[this,"position"]),new wu("姿态数组","偏航角,俯仰角,翻转角,度为单位",!1,!1,[this,"rotation"]),new Pt("缩放","缩放",!1,!1,[this,"scale"]),new k("是否编辑","是否开启编辑状态",!0,!1,[this,"editing"],!1),new S("最小可见距离","单位米",!1,!1,[this,"minVisibleDistance"]),new S("最大可见距离","单位米",!1,!1,[this,"maxVisibleDistance"]),new k("是否应用距离显隐","是否应用距离显隐",!1,!1,[this,"enableVisibleDistance"])])]}}p(q,"supportEditingModes",[...Se.supportEditingModes,se.Place,se.Translation,se.Rotation,se.Scale,se.DoublePointsAppend,se.DoublePointsModify]),p(q,"defaults",{...Se.defaults}),(n=>{n.createDefaultProps=()=>({...Se.createDefaultProps(),position:c.reactArray([0,0,0]),rotation:c.reactArray([0,0,0]),scale:c.reactArray([1,1,1]),minVisibleDistance:c.react(0),maxVisibleDistance:c.react(0)})})(q||(q={})),c.extendClassProps(q.prototype,q.createDefaultProps);class Jn extends q{getESProperties(){const e={...super.getESProperties()};return{...e,style:[...e.style,new z("点样式","点样式集合",[]),new k("开启点样式","开启点样式",!1,!1,[this,"pointed"],!1),new S("点大小","点大小(pointSize)",!1,!1,[this,"pointSize"],1),new Y("点类型","点类型(pointSizeType)",!1,!1,[this,"pointSizeType"],[["screen","screen"],["world","world"]],"screen"),new Z("点颜色","点颜色(pointColor)",!1,!1,[this,"pointColor"],[1,1,1,1]),new z("线样式","线样式集合",[]),new k("开启线样式","开启线样式",!1,!1,[this,"stroked"],!1),new k("是否贴地(线)","是否贴地(线)",!1,!1,[this,"strokeGround"],!1),new S("线宽","线宽(strokeWidth)",!1,!1,[this,"strokeWidth"],1),new Y("线类型","线类型(strokeWidthType)",!1,!1,[this,"strokeWidthType"],[["screen","screen"],["world","world"]],"screen"),new Z("线颜色","线颜色(strokeColor)",!1,!1,[this,"strokeColor"],[1,1,1,1]),new z("面样式","面样式集合",[]),new k("开启填充样式","开启填充样式",!1,!1,[this,"filled"],!1),new k("是否贴地","是否贴地",!1,!1,[this,"fillGround"],!1),new Z("填充颜色","填充颜色(fillColor)",!1,!1,[this,"fillColor"],[1,1,1,1])]}}getProperties(e){return[...super.getProperties(e),new z("ESLocalVector","ESLocalVector",[new G("点样式","点样式(pointMaterialParams)",!1,!1,[this,"pointStyle"]),new G("线样式","线样式(strokeMaterialParams)",!1,!1,[this,"strokeStyle"]),new G("填充样式","填充样式(fillMaterialParams)",!1,!1,[this,"fillStyle"]),new z("点样式","点样式",[new k("开启点样式","开启点样式",!1,!1,[this,"pointed"]),new S("点大小","点大小(pointSize)",!1,!1,[this,"pointSize"]),new Y("点类型","点类型(pointSizeType)",!1,!1,[this,"pointSizeType"],[["screen","screen"],["world","world"]]),new Z("点颜色","点颜色(pointColor)",!1,!1,[this,"pointColor"]),new J("点材质","点材质(pointMaterial)",!1,!1,[this,"pointMaterial"]),new G("点材质参数","点材质参数(pointMaterialParams)",!1,!1,[this,"pointMaterialParams"])]),new z("线样式","线样式",[new k("开启线样式","开启线样式",!1,!1,[this,"stroked"]),new S("线宽","线宽(strokeWidth)",!1,!1,[this,"strokeWidth"]),new Y("线类型","线类型(strokeWidthType)",!1,!1,[this,"strokeWidthType"],[["screen","screen"],["world","world"]]),new Z("线颜色","线颜色(strokeColor)",!1,!1,[this,"strokeColor"]),new J("线材质","线材质(strokeMaterial)",!1,!1,[this,"strokeMaterial"]),new G("线材质参数","线材质参数(strokeMaterialParams)",!1,!1,[this,"strokeMaterialParams"]),new k("是否贴地(线)","是否贴地(线)",!1,!1,[this,"strokeGround"],!1)]),new z("填充样式","填充样式",[new k("开启填充样式","开启填充样式",!1,!1,[this,"filled"]),new Z("填充颜色","填充颜色(fillColor)",!1,!1,[this,"fillColor"]),new J("面材质","面材质(fillMaterial)",!1,!1,[this,"fillMaterial"]),new G("面材质参数","面材质参数(fillMaterialParams)",!1,!1,[this,"fillMaterialParams"]),new k("是否贴地","是否贴地",!1,!1,[this,"fillGround"])])])]}get pointSize(){return this.pointStyle.size}set pointSize(e){this.pointStyle={...this.pointStyle,size:e}}get pointSizeChanged(){return this.pointStyleChanged}get pointSizeType(){return this.pointStyle.sizeType}set pointSizeType(e){this.pointStyle={...this.pointStyle,sizeType:e}}get pointSizeTypeChanged(){return this.pointStyleChanged}get pointColor(){return this.pointStyle.color}set pointColor(e){this.pointStyle={...this.pointStyle,color:[...e]}}get pointColorChanged(){return this.pointStyleChanged}get pointMaterial(){return this.pointStyle.material}set pointMaterial(e){this.pointStyle={...this.pointStyle,material:e}}get pointMaterialChanged(){return this.pointStyleChanged}get pointMaterialParams(){return this.pointStyle.materialParams}set pointMaterialParams(e){this.pointStyle={...this.pointStyle,materialParams:e}}get pointMaterialParamsChanged(){return this.pointStyleChanged}get strokeWidth(){return this.strokeStyle.width}set strokeWidth(e){this.strokeStyle={...this.strokeStyle,width:e}}get strokeWidthChanged(){return this.strokeStyleChanged}get strokeWidthType(){return this.strokeStyle.widthType}set strokeWidthType(e){this.strokeStyle={...this.strokeStyle,widthType:e}}get strokeWidthTypeChanged(){return this.strokeStyleChanged}get strokeColor(){return this.strokeStyle.color}set strokeColor(e){this.strokeStyle={...this.strokeStyle,color:[...e]}}get strokeColorChanged(){return this.strokeStyleChanged}get strokeMaterial(){return this.strokeStyle.material}set strokeMaterial(e){this.strokeStyle={...this.strokeStyle,material:e}}get strokeMaterialChanged(){return this.strokeStyleChanged}get strokeMaterialParams(){return this.strokeStyle.materialParams}set strokeMaterialParams(e){this.strokeStyle={...this.strokeStyle,materialParams:e}}get strokeMaterialParamsChanged(){return this.strokeStyleChanged}get strokeGround(){return this.strokeStyle.ground}set strokeGround(e){this.strokeStyle={...this.strokeStyle,ground:e}}get strokeGroundChanged(){return this.strokeStyleChanged}get fillColor(){return this.fillStyle.color}set fillColor(e){this.fillStyle={...this.fillStyle,color:[...e]}}get fillColorChanged(){return this.fillStyleChanged}get fillMaterial(){return this.fillStyle.material}set fillMaterial(e){this.fillStyle={...this.fillStyle,material:e}}get fillMaterialChanged(){return this.fillStyleChanged}get fillMaterialParams(){return this.fillStyle.materialParams}set fillMaterialParams(e){this.fillStyle={...this.fillStyle,materialParams:e}}get fillMaterialParamsChanged(){return this.fillStyleChanged}get fillGround(){return this.fillStyle.ground}set fillGround(e){this.fillStyle={...this.fillStyle,ground:e}}get fillGroundChanged(){return this.fillStyleChanged}}p(Jn,"defaults",{...q.defaults,pointStyle:{size:1,sizeType:"screen",color:[1,1,1,1],material:"",materialParams:{}},strokeStyle:{width:1,widthType:"screen",color:[1,1,1,1],material:"",materialParams:{},ground:!1},fillStyle:{color:[1,1,1,1],material:"",materialParams:{},ground:!1},pointed:!1,stroked:!1,filled:!1}),(n=>{n.createDefaultProps=()=>({...q.createDefaultProps(),pointed:!1,pointStyle:c.reactJson(n.defaults.pointStyle),stroked:!1,strokeStyle:c.reactJson(n.defaults.strokeStyle),filled:!1,fillStyle:c.reactJson(n.defaults.fillStyle)})})(Jn||(Jn={})),c.extendClassProps(Jn.prototype,Jn.createDefaultProps);class vr extends Jn{getESProperties(){return{...super.getESProperties()}}getProperties(e){return[...super.getProperties(e)]}}p(vr,"defaults",{...Jn.defaults}),(n=>{n.createDefaultProps=()=>({...Jn.createDefaultProps()})})(vr||(vr={})),c.extendClassProps(vr.prototype,vr.createDefaultProps);const fd=[["固定朝向",0],["面向屏幕旋转",1],["绕自身Z轴旋转",2]],pd=[["单面不透明",0],["双面不透明",1],["单面遮罩",2],["双面遮罩",3],["单面透明",4],["双面透明",5],["单面未遮挡透明",6],["双面未遮挡透明",7]];class ft extends q{constructor(){super(...arguments);p(this,"_widgetEvent",this.dv(new c.Event))}get widgetEvent(){return this._widgetEvent}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new k("屏幕渲染","是否开启屏幕渲染模式",!1,!1,[this,"screenRender"],!0),new k("尺寸自适应","尺寸是否根据内容自动计算",!1,!1,[this,"sizeByContent"],!0),new ke("尺寸大小","尺寸自适应关闭才会生效",!1,!1,[this,"size"],[100,100]),new ke("偏移比例","偏移比例(anchor)",!1,!1,[this,"anchor"],[.5,1]),new ke("像素偏移","像素偏移(offset)",!1,!1,[this,"offset"],[0,0]),new Y("渲染模式","八种渲染模式(0~7),当Widget中透明度只有(0,1)两种时可以选择2",!1,!1,[this,"renderMode"],pd,0),new Y("漫游旋转类型","三种漫游旋转类型(0,1,2)",!1,!1,[this,"rotationType"],fd,1),new J("绑定对象","actorTag",!1,!1,[this,"actorTag"]),new J("插槽名称","socketName",!1,!1,[this,"socketName"]),new Pt("位置偏移","positionOffset(米)",!1,!1,[this,"positionOffset"]),new Pt("相对姿态","rotationOffset(米)",!1,!1,[this,"rotationOffset"])]}}getProperties(t){return[...super.getProperties(t),new z("标签属性","标签对象ESLabel的属性",[new k("屏幕渲染","是否开启屏幕渲染模式",!1,!1,[this,"screenRender"],!0),new k("尺寸自适应","尺寸是否根据内容自动计算",!1,!1,[this,"sizeByContent"],!0),new ke("尺寸大小","尺寸自适应关闭才会生效",!1,!1,[this,"size"],[100,100]),new ke("偏移比例","偏移比例(anchor)",!1,!1,[this,"anchor"],[.5,1]),new ke("像素偏移","像素偏移(offset)",!1,!1,[this,"offset"],[0,0]),new Y("渲染模式","八种渲染模式(0~7),当Widget中透明度只有(0,1)两种时可以选择2",!1,!1,[this,"renderMode"],pd,0),new Y("漫游旋转类型","三种漫游旋转类型(0,1,2)",!1,!1,[this,"rotationType"],fd,1),new S("排序","zOrder排序",!1,!1,[this,"zOrder"],0)])]}}p(ft,"defaults",{...q.defaults,screenRender:!0,size:[100,100],anchor:[.5,.5],sizeByContent:!0,renderMode:0,rotationType:1}),(n=>{n.createDefaultProps=()=>({...q.createDefaultProps(),screenRender:!0,size:c.reactArray([100,100]),anchor:c.reactArray([.5,1]),offset:c.reactArray([0,0]),sizeByContent:!0,renderMode:0,rotationType:1,zOrder:0,actorTag:"",socketName:"",positionOffset:c.reactArray([0,0,0]),rotationOffset:c.reactArray([0,0,0])})})(ft||(ft={})),c.extendClassProps(ft.prototype,ft.createDefaultProps);const yr=class yr extends Se{constructor(){super(...arguments);p(this,"_refreshTilesetEvent",this.dv(new c.Event));p(this,"_tilesetReadyEvent",this.dv(new c.Event));p(this,"_supportEdit",this.dv(c.react(!0)));p(this,"_highlightFeatureEvent",this.dv(new c.Event));p(this,"_highlightFeatureAndFlyToEvent",this.dv(new c.Event));p(this,"_getFeatureTableEvent",this.dv(new c.Event));p(this,"_featureTableResultEvent",this.dv(new c.Event));p(this,"_getMaterialNameListEvent",this.disposeVar(new c.Event));p(this,"_setFeatureStyleEvent",this.dv(new c.Event));p(this,"_setFeatureColorEvent",this.dv(new c.Event));p(this,"_setFeatureVisableEvent",this.dv(new c.Event));p(this,"_resetFeatureStyleEvent",this.dv(new c.Event));p(this,"setMaterialInfoEvent",this.ad(new c.Event));p(this,"_setMaterialEvent",this.disposeVar(new c.Event));p(this,"_clippingPlanesId",this.dv(c.react("")));p(this,"_clippingPlaneIds",this.dv(c.react([])));p(this,"_flattenedPlaneId",this.dv(c.react("")));p(this,"_flattenedPlaneEnabled",this.dv(c.react(!1)));p(this,"_clippingPlaneId",this.dv(c.react("")));p(this,"_excavateId",this.dv(c.reactArray([])))}get typeName(){return"ES3DTileset"}get defaultProps(){return yr.createDefaultProps()}updateEditing(){var t;(t=this.viewer)==null||t.startEditing(this,[se.Translation,se.Rotation],{callSource:"inner"})}get refreshTilesetEvent(){return this._refreshTilesetEvent}refreshTileset(){this._refreshTilesetEvent.emit()}get tilesetReady(){return this._tilesetReadyEvent}get supportEdit(){return this._supportEdit.value}set supportEdit(t){this._supportEdit.value=t}get supportEditChanged(){return this._supportEdit.changed}get highlightFeatureEvent(){return this._highlightFeatureEvent}highlightFeature(t,r){this._highlightFeatureEvent.emit(t,r)}get highlightFeatureAndFlyToEvent(){return this._highlightFeatureAndFlyToEvent}highlightFeatureAndFlyTo(t,r,i,s){this._highlightFeatureAndFlyToEvent.emit(t,r,i,s)}get getFeatureTableEvent(){return this._getFeatureTableEvent}getFeatureTable(){return Promise.race([new Promise(t=>{const r=this.d(this._featureTableResultEvent.donce(t));this._getFeatureTableEvent.emit(),setTimeout(()=>{r(),t(void 0)},2e3)})])}get getMaterialNameListEvent(){return this._getMaterialNameListEvent}getMaterialNameList(){return new Promise(t=>{const r=new c.Destroyable;r.d(this.getMaterialNameListEvent.don(i=>{i!=="start"&&(r.destroy(),t(i))})),this.getMaterialNameListEvent.emit("start"),setTimeout(()=>{r.isDestroyed()||(r.destroy(),t(void 0))},2e3)})}get setFeatureStyleEvent(){return this._setFeatureStyleEvent}setFeatureStyle(t){this._setFeatureStyleEvent.emit(t)}get setFeatureColorEvent(){return this._setFeatureColorEvent}setFeatureColor(t,r){this._setFeatureColorEvent.emit(t,typeof r=="string"?JSON.parse(r):r)}get setFeatureVisableEvent(){return this._setFeatureVisableEvent}setFeatureVisable(t,r){this._setFeatureVisableEvent.emit(t,typeof r=="string"?JSON.parse(r):r)}get resetFeatureStyleEvent(){return this._resetFeatureStyleEvent}resetFeatureStyle(){this._resetFeatureStyleEvent.emit()}get setMaterialEvent(){return this._setMaterialEvent}setMaterial(t){return new Promise(r=>{const i=new c.Destroyable;i.ad(this.setMaterialInfoEvent.donce(s=>{i.destroy(),r(s)})),this._setMaterialEvent.emit(t)})}get clippingPlanesId(){return this._clippingPlanesId.value}set clippingPlanesId(t){this._clippingPlanesId.value=t}get clippingPlanesIdChanged(){return this._clippingPlanesId.changed}get clippingPlaneIds(){return this._clippingPlaneIds.value}set clippingPlaneIds(t){this._clippingPlaneIds.value=t}get clippingPlaneIdsChanged(){return this._clippingPlaneIds.changed}get flattenedPlaneId(){return this._flattenedPlaneId.value}set flattenedPlaneId(t){this._flattenedPlaneId.value=t}get flattenedPlaneIdChanged(){return this._flattenedPlaneId.changed}get flattenedPlaneEnabled(){return this._flattenedPlaneEnabled.value}set flattenedPlaneEnabled(t){this._flattenedPlaneEnabled.value=t}get flattenedPlaneEnabledChanged(){return this._flattenedPlaneEnabled.changed}get clippingPlaneId(){return this._clippingPlaneId.value}set clippingPlaneId(t){this._clippingPlaneId.value=t}get clippingPlaneIdChanged(){return this._clippingPlaneId.changed}get excavateId(){return this._excavateId.value}set excavateId(t){this._excavateId.value=t}get excavateIdChanged(){return this._excavateId.changed}setLight122(){this.czmEnvironmentMapManager={..._h}}getESProperties(){const t={...super.getESProperties()};return{...t,defaultMenu:"dataSource",basic:[...t.basic,new Ve("精度","精度.",!1,!1,[this,"maximumScreenSpaceError"],1,[0,256],16),new Y("材质模式","materialMode",!0,!1,[this,"materialMode"],yr.defaults.materialModes,"normal"),new Y("颜色模式","颜色混合模式",!1,!1,[this,"colorBlendMode"],[["默认","HIGHLIGHT"],["替换","REPLACE"],["混合","MIX"]],"HIGHLIGHT"),new G("materialOverrideMap","材质替换",!1,!1,[this,"materialOverrideMap"],yr.defaults.materialOverrideMap)],dataSource:[...t.dataSource,new G("服务地址","服务地址",!0,!1,[this,"url"],yr.defaults.url)],coordinate:[...t.coordinate,new k("编辑","编辑",!0,!1,[this,"editing"],!1),new Pt("偏移","偏移量",!0,!1,[this,"offset"],[0,0,0]),new wu("旋转","旋转",!1,!1,[this,"rotation"],[0,0,0])]}}getProperties(t){return[...super.getProperties(t),new z("ES3DTileset","ES3DTileset",[new G("服务地址","服务地址",!1,!1,[this,"url"],yr.defaults.url),new Y("materialMode","materialMode",!1,!1,[this,"materialMode"],yr.defaults.materialModes),new G("materialParams","materialParams",!1,!1,[this,"materialParams"],yr.defaults.materialParams),new S("maximumScreenSpaceError","显示精度,maximumScreenSpaceError",!1,!1,[this,"maximumScreenSpaceError"]),new k("编辑","编辑",!1,!1,[this,"editing"],!1),new bn("offset","offset",!0,!1,[this,"offset"]),new bn("rotation","rotation",!1,!1,[this,"rotation"]),new Ve("精度","精度.",!1,!1,[this,"maximumScreenSpaceError"],1,[0,256],16),new ie("highlightFeature","highlightFeature",["string","string"],(r,i)=>this.highlightFeature(r,i),["","rgba(255,0,0,1)"]),new ie("setFeatureColor","setFeatureColor",["string","string"],(r,i)=>this.setFeatureColor(r,i),["",""]),new ie("setFeatureVisable","setFeatureVisable",["string","string"],(r,i)=>this.setFeatureVisable(r,i),["",""]),new ie("resetFeatureStyle","resetFeatureStyle",[],()=>this.resetFeatureStyle(),[]),new z("ue","ue",[new ie("refreshTileset","refreshTileset",[],()=>this.refreshTileset(),[]),new J("actorTag","actorTag",!1,!1,[this,"actorTag"]),new k("是否高亮","是否高亮.",!1,!1,[this,"highlight"]),new Z("highlightColor"," highlightColor.",!1,!1,[this,"highlightColor"]),new S("highlightID","highlightID",!1,!1,[this,"highlightID"]),new G("materialOverrideMap","材质替换",!1,!1,[this,"materialOverrideMap"],yr.defaults.materialOverrideMap)]),new z("czm","czm",[new z("可视化","可视化",[new ke("czmImageBasedLightingFactor","反射强度 ,imageBasedLightingFactor",!1,!1,[this,"czmImageBasedLightingFactor"]),new S("czmAtmosphereScatteringIntensity","大气散射强度 ,atmosphereScatteringIntensity",!1,!1,[this,"czmAtmosphereScatteringIntensity"]),new G("czmEnvironmentMapManager","动态环境贴图管理器",!1,!1,[this,"czmEnvironmentMapManager"]),new S("czmMaximumMemoryUsage","最大内存,maximumMemoryUsage",!1,!1,[this,"czmMaximumMemoryUsage"])]),new z("常用","常用",[new Y("czmClassificationType","Determines whether terrain, 3D Tiles or both will be classified by this tileset. See Cesium3DTileset#czmClassificationType for details about restrictions and limitations.",!0,!1,[this,"czmClassificationType"],[["NONE","NONE"],["TERRAIN","TERRAIN"],["CESIUM_3D_TILE","CESIUM_3D_TILE"],["BOTH","BOTH"]]),new G("czmStyle","czmStyle",!1,!1,[this,"czmStyleJson"]),new k("czmBackFaceCulling","czmBackFaceCulling",!1,!1,[this,"czmBackFaceCulling"]),new k("czmSkipLevelOfDetail","czmSkipLevelOfDetail",!1,!1,[this,"czmSkipLevelOfDetail"]),new Y("colorBlendMode","颜色混合模式",!1,!1,[this,"colorBlendMode"],[["HIGHLIGHT","HIGHLIGHT"],["REPLACE","REPLACE"],["MIX","MIX"]],"HIGHLIGHT"),new S("cacheBytes","最大缓存占用,超过的会自动卸载,但是视野范围内能看见的保留。单位字节。Cesium1.110(含)以后的版本起作用。",!1,!1,[this,"cacheBytes"],512*1024*1024)]),new z("调试信息","调试信息",[new k("czmDebugShowBoundingVolume","For debugging only.When true, renders the bounding volume for each tile.",!1,!1,[this,"czmDebugShowBoundingVolume"]),new k("czmDebugShowContentBoundingVolume","czmDebugShowContentBoundingVolume.",!1,!1,[this,"czmDebugShowContentBoundingVolume"])]),new z("clippingPlanes","clippingPlanes",[new k("clippingPlaneEnabled","clippingPlaneEnabled",!1,!1,[this,"clippingPlaneEnabled"]),new k("unionClippingRegions","unionClippingRegions",!1,!1,[this,"unionClippingRegions"]),new Z("clippingPlaneEdgeColor","clippingPlaneEdgeColor",!1,!1,[this,"clippingPlaneEdgeColor"]),new S("clippingPlaneEdgeWidth","clippingPlaneEdgeWidth",!1,!1,[this,"clippingPlaneEdgeWidth"])])])])]}};p(yr,"type",yr.register("ES3DTileset",yr,{chsName:"3DTileset",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"3DTileset"})),p(yr,"supportEditingModes",[...Se.supportEditingModes,se.Translation,se.Rotation]),p(yr,"defaults",{...Se.defaults,url:"",actorTag:"",materialMode:"normal",materialModes:[["常规","normal"],["科技感","technology"]],offset:[0,0,0],materialParams:{baseColor:[0,.5,1]},cacheBytes:512*1024*1024,materialOverrideMap:{},featureIdLabel:0});let Ct=yr;(n=>{n.createDefaultProps=()=>({...Se.createDefaultProps(),url:"",actorTag:"",materialMode:"normal",highlight:!1,maximumScreenSpaceError:16,highlightID:0,highlightColor:c.reactArray([1,0,0,1]),offset:c.reactArrayWithUndefined(void 0),rotation:c.reactArray([0,0,0]),czmImageBasedLightingFactor:c.reactArray([1,1]),czmEnvironmentMapManager:c.reactJsonWithUndefined(void 0),czmLuminanceAtZenith:2,czmAtmosphereScatteringIntensity:2,czmMaximumMemoryUsage:512,czmClassificationType:"NONE",czmStyleJson:c.reactJson({}),czmBackFaceCulling:!0,czmDebugShowBoundingVolume:!1,czmDebugShowContentBoundingVolume:!1,czmSkipLevelOfDetail:!1,cacheBytes:512*1024*1024,colorBlendMode:"HIGHLIGHT",clippingPlaneEnabled:!0,unionClippingRegions:!0,clippingPlaneEdgeColor:c.reactArray([1,1,1,1]),clippingPlaneEdgeWidth:2,materialParams:{baseColor:[0,.5,1]},allowPicking:!0,materialOverrideMap:c.reactJsonWithUndefined(void 0),featureIdLabel:0})})(Ct||(Ct={})),c.extendClassProps(Ct.prototype,Ct.createDefaultProps);const Ki=class Ki extends q{constructor(t){super(t);p(this,"_isFlyInCreated",this.dv(c.react(!1)));this.collision=!1,this.d(this.createdEvent.don(()=>{setTimeout(()=>{if((this.editing??!1)||!this.position){const i=this.dv(c.createNextAnimateFrameEvent(this.positionChanged,this.editingChanged));this.d(i.donce(()=>{this.editing||!this.position||this.isFlyInCreated&&this.flyTo()}))}else{if(!this.isFlyInCreated)return;this.flyTo()}},1e3)}))}get typeName(){return"ESAlarm"}get defaultProps(){return Ki.createDefaultProps()}get isFlyInCreated(){return this._isFlyInCreated.value}set isFlyInCreated(t){this._isFlyInCreated.value=t}get isFlyInCreatedChanged(){return this._isFlyInCreated.changed}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new Y("模式","mode",!1,!1,[this,"mode"],Ki.defaults.modes,"cylinder"),new S("半径","radius",!1,!1,[this,"radius"],10)]}}getProperties(t){return[...super.getProperties(t),new z("通用","通用",[new Y("mode","mode",!1,!1,[this,"mode"],Ki.defaults.modes),new S("半径","radius",!1,!1,[this,"radius"])])]}};p(Ki,"type",Ki.register("ESAlarm",Ki,{chsName:"报警",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"警告类"})),p(Ki,"defaults",{...q.defaults,modes:[["柱状警告","cylinder"],["圆形警告","circle"]],radius:100,czmAnimations:[{index:0,loop:"REPEAT",animationTime:"(duration) => Date.now() / 1000 / duration * 2"}]});let lo=Ki;(n=>{n.createDefaultProps=()=>({...q.createDefaultProps(),mode:"cylinder",radius:10})})(lo||(lo={})),c.extendClassProps(lo.prototype,lo.createDefaultProps);const Pa=class Pa extends q{get typeName(){return"ESApertureEffect"}get defaultProps(){return Pa.createDefaultProps()}constructor(e){super(e),this.collision=!1}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new S("半径","radius",!1,!1,[this,"radius"],1)]}}getProperties(e){return[...super.getProperties(e),new S("半径","radius",!1,!1,[this,"radius"])]}};p(Pa,"type",Pa.register("ESApertureEffect",Pa,{chsName:"光圈特效",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"光圈特效"})),p(Pa,"defaults",{...q.defaults,radius:1});let uo=Pa;(n=>{n.createDefaultProps=()=>({...q.createDefaultProps(),radius:1})})(uo||(uo={})),c.extendClassProps(uo.prototype,uo.createDefaultProps);const en=class en extends ce{constructor(t){super(t);p(this,"editingBindMode","circular");this.collision=en.defaults.collision,this.filled=en.defaults.filled,this.stroked=en.defaults.stroked,this.fillStyle=en.defaults.fillStyle,this.strokeStyle=en.defaults.strokeStyle}get typeName(){return"ESGeoPolygon"}get defaultProps(){return en.createDefaultProps()}getESProperties(){const t={...super.getESProperties()};return{...t,coordinate:[...t.coordinate,new S("面积","面积",!1,!0,[this,"area"]),new S("周长","周长",!1,!0,[this,"perimeter"])]}}getProperties(t){return[...super.getProperties(t),new z("ESGeoPolygon","ESGeoPolygon",[])]}};p(en,"type",en.register("ESGeoPolygon",en,{chsName:"地理多边形",tags:["ESObjects"],description:"地理多边形"})),p(en,"supportEditingModes",[...ce.supportEditingModes,se.CircularAppend,se.CircularInsert]),p(en,"defaults",{...ce.defaults,fillStyle:{color:[1,1,1,.5],material:"",materialParams:{},ground:!1},strokeStyle:{width:1,widthType:"screen",color:[1,1,1,1],material:"",materialParams:{},ground:!1},filled:!0,stroked:!1,collision:!1});let ye=en;(n=>{n.createDefaultProps=()=>({...ce.createDefaultProps()})})(ye||(ye={})),c.extendClassProps(ye.prototype,ye.createDefaultProps);const Ei=class Ei extends ye{get typeName(){return"ESAreaMeasurement"}get defaultProps(){return Ei.createDefaultProps()}get fillMaterial(){return this.fillStyle.material}set fillMaterial(e){this.fillStyle={...this.fillStyle,material:e}}get fillMaterialParams(){return this.fillStyle?this.fillStyle.materialParams:Ei.defaults.fillStyle.materialParams}set fillMaterialParams(e){this.fillStyle={...this.fillStyle??Ei.defaults.fillStyle,materialParams:e??Ei.defaults.fillStyle.materialParams}}constructor(e){super(e),this.fillStyle.ground=!0,this.strokeStyle.width=2}getProperties(e){return[...super.getProperties(e)]}};p(Ei,"type",Ei.register("ESAreaMeasurement",Ei,{chsName:"面积测量",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"面积测量"})),p(Ei,"defaults",{...ye.defaults,fillStyle:{color:[1,1,1,1],material:"Material'/EarthSDKForUE/M_ES_Material.M_ES_Material'",materialParams:{Opacity:.4},ground:!1}});let co=Ei;(n=>{n.createDefaultProps=()=>({...ye.createDefaultProps(),stroked:!0,filled:!0})})(co||(co={})),c.extendClassProps(co.prototype,co.createDefaultProps);const Ia=class Ia extends q{get typeName(){return"ESBlastParticleSystem"}get defaultProps(){return Ia.createDefaultProps()}constructor(e){super(e)}getESProperties(){return{...{...super.getESProperties()},defaultMenu:"general"}}getProperties(e){return[...super.getProperties(e),new z("通用","通用",[new z("czm","czm",[new Al("图片","The URI, HTMLImageElement, or HTMLCanvasElement to use for the billboard.",!1,!1,[this,"image"]),new Pt("偏移","translation",!1,!1,[this,"translation"])])])]}};p(Ia,"type",Ia.register("ESBlastParticleSystem",Ia,{chsName:"粒子爆炸",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"粒子爆炸"})),p(Ia,"defaults",{...q.defaults,image:"${earthsdk3-assets-script-dir}/assets/img/smoke.png",translation:[0,0,0]});let ho=Ia;(n=>{n.createDefaultProps=()=>({...q.createDefaultProps(),image:"${earthsdk3-assets-script-dir}/assets/img/smoke.png",positionEditing:void 0,translation:c.reactArray([0,0,0])})})(ho||(ho={})),c.extendClassProps(ho.prototype,ho.createDefaultProps);const Jt=class Jt extends q{get typeName(){return"ESBoxClipping"}get defaultProps(){return{...Jt.createDefaultProps()}}constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new k("反转","reverse",!1,!1,[this,"reverse"],Jt.defaults.reverse),new Pt("尺寸","长宽高",!1,!1,[this,"size"],Jt.defaults.size),new Z("边框颜色","edgeColor",!1,!1,[this,"edgeColor"],Jt.defaults.edgeColor),new S("边框宽度","edgeWidth",!1,!1,[this,"edgeWidth"],Jt.defaults.edgeWidth),new J("瓦片图层","targetID",!1,!1,[this,"targetID"],Jt.defaults.targetID)]}}getProperties(e){return[...super.getProperties(e),new z("通用","通用",[new k("reverse","reverse",!1,!1,[this,"reverse"],Jt.defaults.reverse),new Z("edgeColor","edgeColor",!1,!1,[this,"edgeColor"],Jt.defaults.edgeColor),new S("edgeWidth","edgeWidth",!1,!1,[this,"edgeWidth"],Jt.defaults.edgeWidth),new Pt("尺寸","长宽高",!1,!1,[this,"size"],Jt.defaults.size),new J("targetID","targetID",!1,!1,[this,"targetID"],Jt.defaults.targetID)])]}};p(Jt,"type",Jt.register("ESBoxClipping",Jt,{chsName:"体剖切",tags:["ESObjects","_ES_Impl_Cesium"],description:"体剖切,体裁剪,体裁切,盒裁切"})),p(Jt,"defaults",{...q.defaults,reverse:!1,edgeColor:[1,1,1,1],edgeWidth:1,size:[10,10,10],targetID:""});let fo=Jt;(n=>{n.createDefaultProps=()=>({...q.createDefaultProps(),reverse:!1,edgeColor:c.reactArray([1,1,1,1]),edgeWidth:2,size:c.reactArray([10,10,10]),targetID:""})})(fo||(fo={})),c.extendClassProps(fo.prototype,fo.createDefaultProps);const Qi=class Qi extends q{constructor(){super(...arguments);p(this,"_thumbnail",this.dv(c.react("")));p(this,"_duration",this.dv(c.react(1)));p(this,"_resetWithCurrentCameraEvent",this.dv(new c.Event));p(this,"_captureEvent",this.dv(new c.Event))}get typeName(){return"ESCameraView"}get defaultProps(){return Qi.createDefaultProps()}get thumbnail(){return this._thumbnail.value}set thumbnail(t){this._thumbnail.value=t}get thumbnailChanged(){return this._thumbnail.changed}get duration(){return this._duration.value}set duration(t){this._duration.value=t}get durationChanged(){return this._duration.changed}flyIn(t=1,r="default"){this.flyInEvent.emit(t,-1,r)}get resetWithCurrentCameraEvent(){return this._resetWithCurrentCameraEvent}resetWithCurrentCamera(){this._resetWithCurrentCameraEvent.emit()}get captureEvent(){return this._captureEvent}capture(t,r){this._captureEvent.emit(t,r)}execOnCreating(){this.resetWithCurrentCamera()}async initByCurrent(){this.resetWithCurrentCamera()}getProperties(t){return[...super.getProperties(t),new z("ESCameraView","ESCameraView",[new ie("设置为当前视角","resetWithCurrentCamera",[],()=>this.resetWithCurrentCamera(),[]),new ie("获取缩略图","获取缩略图",["number","number"],(r,i)=>this.capture(r,i),[Qi.defaults.thumbnailWidth,Qi.defaults.thumbnailHeight]),new J("缩略图","缩略图",!0,!1,[this,"thumbnail"]),new S("飞行时间","飞行时间(秒)",!0,!1,[this,"duration"])])]}};p(Qi,"type",Qi.register("ESCameraView",Qi,{chsName:"视角",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"视角"})),p(Qi,"defaults",{...q.defaults,thumbnailWidth:64,thumbnailHeight:64,duration:1,thumbnail:""});let Ts=Qi;(n=>{n.createDefaultProps=()=>({...q.createDefaultProps()})})(Ts||(Ts={})),c.extendClassProps(Ts.prototype,Ts.createDefaultProps);class cc extends c.Destroyable{constructor(t,r,i){super();p(this,"_view",this.dv(new Ts));if(this.d(t.components.disposableAdd(this._view)),this._view.name=(i==null?void 0:i.name)??`视角${t.views.length+1}`,r){const a=this._view,l=r;a.duration=l.duration??1,a.position=l.position,a.rotation=l.rotation??[0,0,0],a.thumbnail=l.thumbnail??"",a.name=l.name}else{const a=(i==null?void 0:i.size)??[64,64];this.d(c.nextAnimateFrame(()=>{this._view.resetWithCurrentCamera(),this._view.capture(a[0],a[1])}))}const s=this._view,o=this.dv(c.createNextAnimateFrameEvent(s.durationChanged,s.positionChanged,s.rotationChanged,s.thumbnailChanged,s.nameChanged));this.d(o.don(()=>t.emitViewsWarpper()))}get view(){return this._view}get viewInfo(){const t=this._view;return{duration:t.duration,position:t.position,rotation:t.rotation,thumbnail:t.thumbnail,name:t.name}}}const _r=class _r extends j{constructor(t){super(t);p(this,"_currentViewIndex",this.dv(c.react(-1)));p(this,"_viewWrappers",this.dv(new c.ObservableArray));p(this,"_currentViewWrapper",this.dv(c.react(void 0)));p(this,"_container",this.dv(c.react(void 0)));{const r=this.dv(c.createProcessingFromAsyncFunc(async s=>{var o;do{if(!this.flyToNextView())break;const a=this.intervalTime??_r.defaults.intervalTime,u=((((o=this._currentViewWrapper.value)==null?void 0:o.viewInfo.duration)??0)+a)*1e3;await s.promise(c.sleep(u))}while(!0);this.playing=!1})),i=()=>{this.playing?r.restart():r.cancel()};i(),this.d(this.playingChanged.don(i))}{const r=()=>{if(!this._currentViewWrapper.value)return;this._viewWrappers.indexOf(this._currentViewWrapper.value)===-1&&(this._currentViewWrapper.value=void 0)};r(),this.d(this._viewWrappers.changedEvent.don(r))}{const r=()=>{const i=this._currentViewWrapper.value;this._currentViewIndex.value=i?this._getIndex(i):-1};r(),this.d(this._viewWrappers.changedEvent.don(r)),this.d(this._currentViewWrapper.changed.don(r))}this.d(()=>{this.clearAllViews()})}get typeName(){return"ESCameraViewCollection"}get defaultProps(){return _r.createDefaultProps()}get json(){return{...this._innerGetJson(),views:this.views}}set json(t){this._innerSetJson(t),this.views=t.views}get currentViewIndex(){return this._currentViewIndex.value}get currentViewIndexChanged(){return this._currentViewIndex.changed}emitViewsWarpper(){this._viewWrappers.changedEvent.emit(this._viewWrappers)}get container(){return this._container.value}get containerChanged(){return this._container.changed}set container(t){this._container.value=t}get views(){return Uh(this._viewWrappers,t=>t.viewInfo)}get viewsChanged(){return this._viewWrappers.changedEvent}set views(t){if(t.length===this._viewWrappers.length){const r=this._viewWrappers;if(t.every((i,s)=>{const o=r.get(s).view;return i.duration===o.duration&&wc(i.position,o.position)&&wc(i.rotation,o.rotation)&&i.thumbnail===o.thumbnail&&i.name===o.name}))return}this.clearAllViews();for(let r of t)this._viewWrappers.push(new cc(this,r))}_getIndex(t){return this._viewWrappers.indexOf(t)}clearAllViews(){for(let t of this._viewWrappers)t.destroy();this._viewWrappers.length=0}add(t=`视角${this.views.length+1}`,r=[64,64]){this._viewWrappers.push(new cc(this,void 0,{name:t,size:r}))}update(t,r,i=[64,64]){if(t>=this._viewWrappers.length||t<0)return console.warn("index >= this._viewWrappers.length || index < 0"),!1;const s=this._viewWrappers.get(t);r&&(s.view.name=r),s.view.resetWithCurrentCamera(),s.view.capture(i[0],i[1])}addView(){this._viewWrappers.push(new cc(this))}insertView(t){if(this._viewWrappers.length+1<=t||t<0){console.error("this._views.length <= index || index < 0");return}this._viewWrappers.splice(t,0,new cc(this))}setCurrentView(t){if(t>=this._viewWrappers.length||t<0)return console.warn("index >= this._viewWrappers.length || index < 0"),!1;const r=this._viewWrappers.get(t);return this._currentViewWrapper.value=r,!0}resetView(t){if(t>=this._viewWrappers.length||t<0){console.warn("index >= this._viewWrappers.length || index < 0");return}const r=this._viewWrappers.get(t);r.view.resetWithCurrentCamera(),r.view.capture()}resetViewName(t,r){if(t>=this._viewWrappers.length||t<0){console.warn("index >= this._viewWrappers.length || index < 0");return}const i=this._viewWrappers.get(t);i.view.name=r}updateView(t,r){if(t>=this._viewWrappers.length||t<0)return console.warn("index >= this._viewWrappers.length || index < 0"),!1;const i=this._viewWrappers.get(t);i.view.position=r.position,i.view.rotation=r.rotation??[0,0,0],i.view.duration=r.duration??1,i.view.thumbnail=r.thumbnail??"",i.view.name=r.name??""}flyToView(t){if(this.setCurrentView(t)){if(!this._currentViewWrapper.value)throw new Error("this._currentViewWrapper.value");const r=this._currentViewWrapper.value.view.duration;this._currentViewWrapper.value.view.flyIn(r,this.flyMode??_r.defaults.flyMode)}}flyToPrevView(){const t=this._currentViewWrapper.value;if(!t)return this.flyToView(0),!0;const r=this._getIndex(t);return this.loop??_r.defaults.loop?(this.flyToView((this._viewWrappers.length+r-1)%this._viewWrappers.length),!0):r-1<0?!1:(this.flyToView(r-1),!0)}moveToPreView(){const t=this._currentViewWrapper.value;if(!t)return;const r=this._getIndex(t);if(r===0)return;const i=this._viewWrappers.splice(r-1,1,t)[0];this._viewWrappers.set(r,i)}moveToNextView(){const t=this._currentViewWrapper.value;if(!t)return;const r=this._getIndex(t);if(r===this._viewWrappers.length-1)return;const i=this._viewWrappers.splice(r+1,1,t)[0];this._viewWrappers.set(r,i)}flyToNextView(){const t=this._currentViewWrapper.value;if(!t)return this.flyToView(0),!0;const r=this._getIndex(t);return this.loop??_r.defaults.loop?(this.flyToView((r+1)%this._viewWrappers.length),!0):r+1>this._viewWrappers.length-1?!1:(this.flyToView(r+1),!0)}stop(){this._currentViewWrapper.value=void 0,this.playing=!1}deleteView(t){if(t<0||t>=this._viewWrappers.length){console.warn("index < 0 || index >= this._viewWrappers.length");return}this._viewWrappers.get(t).destroy(),this._viewWrappers.splice(t,1)}deleteCurrentView(){const t=this._currentViewWrapper.value;if(!t){console.warn("!this._currentViewWrapper.value");return}const r=this._getIndex(t);if(r===-1){console.warn("index === -1");return}this.deleteView(r)}transitionImageUrl(t){return j.context.getStrFromEnv(t)}getProperties(t){return[...super.getProperties(t),new z("ESCameraViewCollection","ESCameraViewCollection",[new Y("飞行模式","flyMode",!1,!1,[this,"flyMode"],_r.defaults.flyModes,_r.defaults.flyMode),new ie("添加视角","添加视角",[],()=>this.addView(),[]),new ie("插入视角","插入视角",["number"],r=>this.insertView(r),[0]),new ie("清空所有视角","清空所有视角",[],()=>this.clearAllViews(),[]),new ie("当前位置插入视角","当前位置插入视角",[],()=>this.insertView(this.currentViewIndex+1),[]),new ie("上一个视角","上一个视角",[],()=>this.flyToPrevView(),[]),new ie("下一个视角","下一个视角",[],()=>this.flyToNextView(),[]),new ie("当前视角移动到上一个视角","当前视角移动到上一个视角",[],()=>this.moveToPreView(),[]),new ie("当前视角移动到下一个视角","当前视角移动到下一个视角",[],()=>this.moveToNextView(),[]),new ie("飞入指定视角","飞入指定视角",["number"],r=>this.flyToView(r),[0]),new ie("设置当前视角","设置当前视角",["number"],r=>this.setCurrentView(r),[0]),new ie("删除当前视角","删除当前视角",[],()=>this.deleteCurrentView(),[]),new ie("删除指定视角","删除指定视角",["number"],r=>this.deleteView(r),[0]),new ie("重置视角","重置视角",["number"],r=>this.resetView(r),[0]),new S("当前序号","当前序号",!1,!0,[this,"currentViewIndex"]),new Rh("播放","播放",[this,"playing"],()=>this.stop(),[this,"loop"],_r.defaults),new k("是否播放","是否播放.",!1,!1,[this,"playing"]),new ie("停止","停止",[],()=>this.stop(),[]),new k("是否循环","是否循环.",!1,!1,[this,"loop"]),new S("间隔时间","间隔时间(s)",!1,!1,[this,"intervalTime"]),new G("视角集合","类型为ESJViewInfo[]",!0,!1,[this,"views"],_r.defaults.views)])]}};p(_r,"type",_r.register("ESCameraViewCollection",_r,{chsName:"视角集合",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"视角集合"})),p(_r,"defaults",{...j.defaults,loop:!0,playing:!1,intervalTime:5,duration:1,views:[],flyMode:"default",flyModes:[["默认","default"],["直线飞行","uniform"]]});let bs=_r;(n=>{n.createDefaultProps=()=>({...j.createDefaultProps(),playing:!1,loop:!0,intervalTime:5,flyMode:"default"})})(bs||(bs={})),c.extendClassProps(bs.prototype,bs.createDefaultProps);const Ta=class Ta extends q{constructor(t){super(t);p(this,"editingBindMode","doublePoints")}get typeName(){return"ESCameraVisibleRange"}get defaultProps(){return Ta.createDefaultProps()}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new S("宽高比","aspectRatio",!1,!1,[this,"aspectRatio"],1.77778),new S("横向夹角","fov",!1,!1,[this,"fov"],90),new S("视野长度","far",!1,!1,[this,"far"],100),new S("近面距离","near",!1,!1,[this,"near"],5)]}}getProperties(t){return[...super.getProperties(t),new S("横向夹角","fov",!1,!1,[this,"fov"]),new S("宽高比","aspectRatio",!1,!1,[this,"aspectRatio"]),new S("视野长度","far",!1,!1,[this,"far"]),new S("近面距离","near",!1,!1,[this,"near"])]}};p(Ta,"type",Ta.register("ESCameraVisibleRange",Ta,{chsName:"摄像头可视域",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"摄像头可视域"})),p(Ta,"defaults",{...q.defaults,fov:90,aspectRatio:1.77778,far:100,near:5,collision:!1});let po=Ta;(n=>{n.createDefaultProps=()=>({...q.createDefaultProps(),fov:90,aspectRatio:1.77778,far:100,near:5,collision:!1})})(po||(po={})),c.extendClassProps(po.prototype,po.createDefaultProps);const Bi=class Bi extends q{get typeName(){return"ESCar"}get defaultProps(){return Bi.createDefaultProps()}constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new Y("模式","mode",!1,!1,[this,"mode"],Bi.defaults.modeEnum,"policeCar")]}}getProperties(e){return[...super.getProperties(e),new z("通用","通用",[new Y("mode","mode",!1,!1,[this,"mode"],Bi.defaults.modeEnum)])]}};p(Bi,"type",Bi.register("ESCar",Bi,{chsName:"车辆",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"警车等基础车辆模型"})),p(Bi,"defaults",{...q.defaults,modeEnum:[["警车","policeCar"]],mode:"policeCar"});let go=Bi;(n=>{n.createDefaultProps=()=>({...q.createDefaultProps(),mode:"policeCar",allowPicking:!0})})(go||(go={})),c.extendClassProps(go.prototype,go.createDefaultProps);const Ls=class Ls extends ce{constructor(t){super(t);p(this,"editingBindMode","circular");this.fillGround=!0}get typeName(){return"ESClassification"}get defaultProps(){return Ls.createDefaultProps()}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new S("高度","高度",!1,!1,[this,"height"],10)],coordinate:[...t.coordinate,new S("面积","面积",!1,!0,[this,"area"]),new S("周长","周长",!1,!0,[this,"perimeter"])]}}getProperties(t){return[...super.getProperties(t),new z("通用","通用",[new S("高度","高度",!1,!1,[this,"height"])])]}};p(Ls,"type",Ls.register("ESClassification",Ls,{chsName:"倾斜单体化",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"平尾箭头"})),p(Ls,"supportEditingModes",[...ce.supportEditingModes,se.CircularAppend,se.CircularInsert,se.HeightModify]),p(Ls,"defaults",{...ce.defaults,fillStyle:{material:"",materialParams:{},ground:!0,color:[1,1,1,1]},filled:!0});let Ns=Ls;(n=>{n.createDefaultProps=()=>({...ce.createDefaultProps(),height:10,filled:!0})})(Ns||(Ns={})),c.extendClassProps(Ns.prototype,Ns.createDefaultProps);const ba=class ba extends q{get typeName(){return"ESClippingPlane"}get defaultProps(){return ba.createDefaultProps()}constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new k("显示箭头","显示箭头",!1,!1,[this,"showArrow"],!0),new Z("线框颜色","edgeColor",!1,!1,[this,"edgeColor"],[1,1,1,1]),new S("线框宽度","edgetWidth",!1,!1,[this,"edgetWidth"],2),new S("裁剪宽度","width",!1,!1,[this,"width"],200),new S("裁剪高度","height",!1,!1,[this,"height"],200),new J("瓦片图层","targetID",!1,!1,[this,"targetID"],"")]}}getProperties(e){return[...super.getProperties(e),new z("通用","通用",[new z("czm","czm",[new k("显示箭头","显示箭头",!1,!1,[this,"showArrow"]),new Z("edgeColor","edgeColor",!1,!1,[this,"edgeColor"]),new S("edgetWidth","edgetWidth",!1,!1,[this,"edgetWidth"]),new S("width","width",!1,!1,[this,"width"]),new S("height","height",!1,!1,[this,"height"]),new J("targetID","targetID",!1,!1,[this,"targetID"])])])]}};p(ba,"type",ba.register("ESClippingPlane",ba,{chsName:"裁切",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESClippingPlane"})),p(ba,"defaults",{...q.defaults});let mo=ba;(n=>{n.createDefaultProps=()=>({...q.createDefaultProps(),showArrow:!0,edgeColor:c.reactArray([1,1,1,1]),edgetWidth:2,width:200,height:200,targetID:""})})(mo||(mo={})),c.extendClassProps(mo.prototype,mo.createDefaultProps);class Ry extends c.Destroyable{constructor(e,t,r){super();const i=document.createElement("div");i.setAttribute("xe2-div",`ESCustomDiv(${t.id})(viewer: ${r.id}) container`);{const l=()=>{const h=`${t.cssText}
45
+ `,Ht=class Ht extends c.Destroyable{constructor(){super();d(this,"_ratio",this.dv(c.react(0)));d(this,"_subPlayers",this.dv(new c.ObservableArray));const t=this.dv(new c.Player);{const o=()=>{t.loop=this.loop??Ht.defaults.loop};o(),this.d(this.loopChanged.don(o))}{const o=()=>{(this.loop??Ht.defaults.loop)!==t.loop&&(this.loop=t.loop)};o(),this.d(t.loopChangedEvent.don(o))}{const o=()=>{t.currentTime=this.currentTime??Ht.defaults.currentTime};o(),this.d(this.currentTimeChanged.don(o))}{const o=()=>{(this.currentTime??Ht.defaults.currentTime)!==t.currentTime&&(this.currentTime=t.currentTime)};o(),this.d(t.currentTimeChangedEvent.don(o))}{const o=()=>{t.duration=this.duration??Ht.defaults.duration};o(),this.d(this.durationChanged.don(o))}{const o=()=>{(this.duration??Ht.defaults.duration)!==t.duration&&(this.duration=t.duration)};o(),this.d(t.durationChangedEvent.don(o))}{const o=()=>{t.speed=this.speed??Ht.defaults.speed};o(),this.d(this.speedChanged.don(o))}{const o=()=>{(this.speed??Ht.defaults.speed)!==t.speed&&(this.speed=t.speed)};o(),this.d(t.speedChangedEvent.don(o))}{const o=()=>{t.playing=this.playing??Ht.defaults.playing};o(),this.d(this.playingChanged.don(o))}{const o=()=>{(this.playing??Ht.defaults.playing)!==t.playing&&(this.playing=t.playing)};o(),this.d(t.playingChangedEvent.don(o))}const r=()=>{const o=this.duration??Ht.defaults.duration;o>0&&(this._ratio.value=(this.currentTime??Ht.defaults.currentTime)/o)};r();const i=this.dv(c.createNextAnimateFrameEvent(this.currentTimeChanged,this.durationChanged));this.d(i.don(r)),this.d(()=>{const{length:o}=this._subPlayers;for(let a=0;a<o;++a)this._subPlayers.get(a).destroy();this._subPlayers.length=0});const s=()=>{for(let a of this._subPlayers)a.destroy();if(this._subPlayers.length=0,!this.channels)return;const o=this.channels.map(a=>{const[l,u,h]=a;return new by(l,u,h,this)});this._subPlayers.splice(0,0,...o)};s(),this.d(this.channelsChanged.don(s))}get ratio(){return this._ratio.value}set ratio(t){Math.abs(this._ratio.value-t)<.001||(this.currentTime=(this.duration??Ht.defaults.duration)*t)}get ratioChanged(){return this._ratio.changed}};d(Ht,"defaults",{loop:!1,currentTime:0,duration:3e3,speed:1,playing:!1,channels:!0,ratio:0}),d(Ht,"channelsReadMe",Ny);let Hn=Ht;(n=>{n.createDefaultProps=()=>({loop:!1,currentTime:0,duration:3e3,speed:1,playing:!1,channels:c.reactDeepArrayWithUndefined(void 0,(e,t)=>e==null?void 0:e.every((r,i)=>r===t[i]),e=>[...e])})})(Hn||(Hn={})),c.extendClassProps(Hn.prototype,Hn.createDefaultProps);class Ch extends c.Destroyable{constructor(t){super();d(this,"_sceneObject",this.dv(c.react(void 0)));this._id=t,this.d(()=>{this._sceneObject.value=void 0});const r=j.getSceneObjById(this._id);r&&(this._sceneObject.value=r),this.d(j.context.sceneObjCreatedEvent.don(i=>{i.id===this._id&&(this._sceneObject.value=i)})),this.d(j.context.sceneObjToDestroyEvent.don(i=>{i.id===this._id&&(this._sceneObject.value=void 0)}))}get sceneObject(){return this._sceneObject.value}get sceneObjectChanged(){return this._sceneObject.changed}get id(){return this._id}}class Dy extends c.Destroyable{constructor(t,r){super();d(this,"_sofi");this._id=t,this._sofi=this.dv(new Ch(this._id));{const i=()=>{r.sceneObject=this._sofi.sceneObject};i(),this.d(this._sofi.sceneObjectChanged.don(i))}}}class Oy extends c.Destroyable{constructor(){super();d(this,"_id",this.dv(c.react(void 0)));d(this,"_sceneObject",this.dv(c.react(void 0)));d(this,"_resetting",this.dv(new c.ObjResettingWithEvent(this.idChanged,()=>{const{id:t}=this;if(t===void 0||t===""){this.sceneObject=void 0;return}return new Dy(t,this)})))}get id(){return this._id.value}get idChanged(){return this._id.changed}set id(t){this._id.value=t}get sceneObject(){return this._sceneObject.value}get sceneObjectChanged(){return this._sceneObject.changed}set sceneObject(t){this._sceneObject.value=t}get resetting(){return this._resetting}}class My extends c.Destroyable{constructor(e,t,r,i){super(),this.disposeVar(new c.ObjResettingWithEvent(e.sceneObjectChanged,()=>{let s;i.debug&&console.log("正在获取Event事件...");do{const o=e.sceneObject;if(!o||!t)break;const a=t.split(".");if(a.length===0){i.debug&&console.warn("propNames.length === 0");break}let l=c.pluckProperty(o,!1,...a);if((!l||!(l instanceof c.Event))&&(a[a.length-1]=a[a.length-1]+"Changed",i.debug&&console.warn(`event未能获取,那么将属性名的最后一项加上Changed(${a[a.length-1]})再试试!`),l=c.pluckProperty(o,!1,...a),i.debug&&l&&console.warn("event仍然获取不到!")),!l){i.debug&&console.warn(`cannot get changed from ${o.id}-${o.name}-${o.ref}-${t}`);break}if(!(l instanceof c.Event)){i.debug&&console.warn(`the prop is not event from ${o.id}-${o.name}-${o.ref}-${t}`);break}s=l,i.debug&&console.log(`Event获取成功 propChangedName: ${t}`,s)}while(!1);if(s){const o=new c.Destroyable;return o.d(s.dwon(()=>r.emit())),o}else{i.debug&&console.log(`未获取到Event!propChangedName: ${t}`);return}}))}}let xy=class extends c.Destroyable{constructor(t,r,i){super();d(this,"_doEvalEvent",this.dv(new c.Event));const s=this._doEvalEvent,o=this.disposeVar(c.createNextAnimateFrameEvent(s)),a=t.map(([l,u])=>{const h=new Ch(l),f=u&&new My(h,u,s,r)||void 0;return[h,f]});this.d(()=>{a.forEach(([l,u])=>{u==null||u.destroy(),l.destroy()}),a.length=0}),this.d(s.don(()=>{const{evalMode:l="NextAnimateFrame",evalOnlyWhenObjsAllExist:u=!0}=r;if(l==="Immediate"){const h=a.map(([f])=>f.sceneObject);(!u||h.every(f=>f!==void 0))&&i(h)}})),this.d(o.don(()=>{const{evalMode:l="NextAnimateFrame",evalOnlyWhenObjsAllExist:u=!0}=r;if(l==="NextAnimateFrame"){const h=a.map(([f])=>f.sceneObject);(!u||h.every(f=>f!==void 0))&&i(h)}}))}forceExecute(){this._doEvalEvent.emit()}};const cp=Object.freeze(Object.defineProperty({__proto__:null,WatcherObjects:xy},Symbol.toStringTag,{value:"Module"})),{WatcherObjects:Ly}=cp;class fu extends c.Destroyable{constructor(){super();d(this,"_evalFunc");d(this,"_forceExecute",new c.Event);const t=this.dv(c.react(void 0)),r=()=>{try{t.value=this.evalFuncStr&&Function('"use strict";return ('+this.evalFuncStr+")")(),this.debug&&console.log("evalFunc成功构建",t.value)}catch(o){console.error(`evalFunc get error! ${o}`),t.value=void 0}};r(),this.dispose(this.evalFuncStrChanged.disposableOn(r));const i=o=>{this.enabled&&(this.debug&&console.log("执行evalFunc..."),this._evalFunc&&this._evalFunc(o),t.value&&t.value(o))},s=this.disposeVar(new c.ObjResettingWithEvent(this.objIdAndPropChangedNamesChanged,()=>{if(this.objIdAndPropChangedNames.length>0)return this.debug&&console.log("监视对象发生变化,重新创建WatcherObjects"),new Ly(this.objIdAndPropChangedNames,this,i)}));this.dispose(this._forceExecute.disposableOn(()=>{var o;(o=s.obj)==null||o.forceExecute()}))}get evalFunc(){return this._evalFunc}set evalFunc(t){this._evalFunc=t}forceExecute(){this._forceExecute.emit()}}(n=>{n.createDefaultProps=()=>({enabled:!1,objIdAndPropChangedNames:c.reactDeepArray([],(e,t)=>e[0]===t[0]&&e[1]===t[1],e=>[e[0],e[1]]),evalFuncStr:"",evalMode:"NextAnimateFrame",evalOnlyWhenObjsAllExist:!0,debug:!1,name:"未命名场景对象",ref:void 0,extras:c.reactJson(void 0),devTags:c.reactArrayWithUndefined(void 0),execOnceFuncStr:void 0,updateFuncStr:void 0,toDestroyFuncStr:void 0})})(fu||(fu={})),c.extendClassProps(fu.prototype,fu.createDefaultProps);function Ay(n,e,t){var i;((i=e.viewer)==null?void 0:i.getEngineObject(e))?t.call(n):n.dispose(e.createdEvent.don(()=>t.call(n)))}const Ge=class Ge extends j{constructor(t){super(t);d(this,"_editing",this.dv(c.react(!1)));d(this,"editingID");d(this,"editingBindMode","singlePoint");d(this,"_deprecated",[]);d(this,"_flyInEvent",this.dv(new c.Event));d(this,"_flyToEvent",this.dv(new c.Event));d(this,"_flyOverEvent",this.disposeVar(new c.Event));d(this,"_pickedEvent",this.dv(new c.Event));d(this,"_calcFlyToParamEvent",this.dv(new c.Event));d(this,"_calcFlyInParamEvent",this.dv(new c.Event));d(this,"useCalcFlyToParamInESObjectWithLocation",!1);np(this,this.updateEditing)}supportEditingModes(){return this.constructor.supportEditingModes}get editing(){return this._editing.value}set editing(t){this._editing.value=t}get editingChanged(){return this._editing.changed}updateEditing(){}_deprecatedWarning(){const t=this._deprecated;for(let r=0;r<t.length;r++){const i=t[r];typeof i=="string"?Reflect.has(this,i+"Changed")&&this.d(this[i+"Changed"].don(()=>{console.warn(`注意:${this.typeName} 的 ${i} 属性下版本将会被移除!`)})):Object.keys(i).forEach(s=>{Reflect.has(this,s+"Changed")&&this.d(this[s+"Changed"].don(a=>{const l=i[s];typeof l=="string"?console.warn(`注意:${this.typeName} 的 ${s} 属性下版本将会被移除!`):Object.keys(l).forEach(u=>{a===u&&console.warn(`注意:${this.typeName} 的 ${s} 属性值 ${u} 下版本将会被移除,推荐使用属性值 ${l[u]}`)})}))})}}get flyInEvent(){return this._flyInEvent}flyIn(t=1){this._flyInEvent.emit(t,Ge._lastFlyInId)}get flyToEvent(){return this._flyToEvent}flyTo(t=1){this._flyToEvent.emit(t,Ge._lastFlyToId)}get flyOverEvent(){return this._flyOverEvent}get pickedEvent(){return this._pickedEvent}get calcFlyToParamEvent(){return this._calcFlyToParamEvent}calcFlyToParam(){this._calcFlyToParamEvent.emit()}get calcFlyInParamEvent(){return this._calcFlyInParamEvent}calcFlyInParam(){this._calcFlyInParamEvent.emit()}emptyFlyToParam(){this.flyToParam=void 0}emptyFlyInParam(){this.flyInParam=void 0}async getBoundSphere(t){return await t.getBoundSphere(this.id)}getESProperties(){const t={...super.getESProperties()};return{...t,defaultMenu:"general",general:[...t.general,new J("唯一标识","id",!1,!0,[this,"id"]),new J("名称","name",!0,!1,[this,"name"]),new k("是否显示","show",!1,!1,[this,"show"],Ge.defaults.show),new k("开启碰撞","collision",!1,!1,[this,"collision"],Ge.defaults.collision),new k("允许拾取","allowPicking",!1,!1,[this,"allowPicking"],Ge.defaults.allowPicking),new ie("保存观察视角","保存当前flyToParam",[],()=>this.calcFlyToParam(),[]),new ie("清空飞向参数","清空飞向参数",[],()=>this.emptyFlyToParam(),[]),new ie("清空飞入参数","清空飞入参数",[],()=>this.emptyFlyInParam(),[]),new ie("保存飞入参数","保存飞入参数flyInParam",[],()=>this.calcFlyInParam(),[])]}}getProperties(t){return[...super.getProperties(t),new z("ESVisualObject","ESVisualObject",[new k("是否显示","是否显示.",!1,!1,[this,"show"],Ge.defaults.show),new k("是否开启碰撞监测","collision,是否开启碰撞监测.",!1,!1,[this,"collision"],Ge.defaults.collision),new k("是否允许拾取","是否允许被鼠标点击拾取.",!1,!1,[this,"allowPicking"],Ge.defaults.allowPicking),new z("飞行定位","飞向参数",[new ie("飞向","飞向",["number"],r=>this.flyTo(r),[1]),new G("flyToParam","flyToParam",!0,!1,[this,"flyToParam"],Ge.defaults.flyToParam),new ie("获取当前参数","获取当前flyToParam",[],()=>this.calcFlyToParam(),[]),new S("flyToDistance","flyToDistance",!0,!1,[this,"flyToDistance"],Ge.defaults.flyToParam.distance),new S("flyToHeading","flyToHeading",!0,!1,[this,"flyToHeading"],Ge.defaults.flyToParam.heading),new S("flyToPitch","flyToPitch",!0,!1,[this,"flyToPitch"],Ge.defaults.flyToParam.pitch),new S("flyToFlyDuration","flyToFlyDuration",!0,!1,[this,"flyToFlyDuration"],Ge.defaults.flyToParam.flyDuration),new S("flyToHDelta","flyToHDelta",!0,!1,[this,"flyToHDelta"],Ge.defaults.flyToParam.hDelta),new S("flyToPDelta","flyToPDelta",!0,!1,[this,"flyToPDelta"],Ge.defaults.flyToParam.pDelta)]),new z("飞入定位","飞入参数",[new ie("飞入","飞入",["number"],r=>this.flyIn(r),[1]),new G("flyInParam","flyInParam",!0,!1,[this,"flyInParam"],Ge.defaults.flyInParam),new ie("获取当前相机参数","获取当前相机参数",[],()=>this.calcFlyInParam(),[])])])]}get flyToDistance(){return this.flyToParam&&this.flyToParam.distance}get flyToHeading(){return this.flyToParam&&this.flyToParam.heading}get flyToPitch(){return this.flyToParam&&this.flyToParam.pitch}get flyToFlyDuration(){return this.flyToParam&&this.flyToParam.flyDuration}get flyToHDelta(){return this.flyToParam&&this.flyToParam.hDelta}get flyToPDelta(){return this.flyToParam&&this.flyToParam.pDelta}get flyToDistanceChanged(){return this.flyToParamChanged}get flyToHeadingChanged(){return this.flyToParamChanged}get flyToPitchChanged(){return this.flyToParamChanged}get flyToFlyDurationChanged(){return this.flyToParamChanged}get flyToHDeltaChanged(){return this.flyToParamChanged}get flyToPDeltaChanged(){return this.flyToParamChanged}set flyToDistance(t){this.flyToParam=t!==void 0?{...this.flyToParam??Ge.defaults.flyToParam,distance:t}:void 0}set flyToHeading(t){this.flyToParam=t!==void 0?{...this.flyToParam??Ge.defaults.flyToParam,heading:t}:void 0}set flyToPitch(t){this.flyToParam=t!==void 0?{...this.flyToParam??Ge.defaults.flyToParam,pitch:t}:void 0}set flyToFlyDuration(t){this.flyToParam=t!==void 0?{...this.flyToParam??Ge.defaults.flyToParam,flyDuration:t}:void 0}set flyToHDelta(t){this.flyToParam=t!==void 0?{...this.flyToParam??Ge.defaults.flyToParam,hDelta:t}:void 0}set flyToPDelta(t){this.flyToParam=t!==void 0?{...this.flyToParam??Ge.defaults.flyToParam,pDelta:t}:void 0}};d(Ge,"supportEditingModes",[]),d(Ge,"_lastFlyInId",0),d(Ge,"_lastFlyToId",0),d(Ge,"defaults",{...j.defaults,show:!0,collision:!0,allowPicking:!1,flyToParam:{distance:0,heading:0,pitch:0,flyDuration:1,hDelta:0,pDelta:0},flyInParam:{position:[0,0,0],rotation:[0,0,0],flyDuration:1}});let Se=Ge;(n=>{n.createDefaultProps=()=>({...j.createDefaultProps(),show:!0,collision:!0,allowPicking:!1,flyToParam:c.reactJsonWithUndefined(void 0),flyInParam:c.reactJsonWithUndefined(void 0)})})(Se||(Se={})),c.extendClassProps(Se.prototype,Se.createDefaultProps);function hp(n){let e=0;function t(r,i){i++,e=Math.max(i,e),r.forEach(s=>{Array.isArray(s)&&t(s,i)})}return t(n,0),e}const pu=class pu extends Se{constructor(t){super(t);d(this,"editingBindMode","lineString");d(this,"_area",this.dv(c.react(0)));d(this,"_perimeter",this.dv(c.react(0)));const r=()=>{this._updateArea(),this._updatePerimeter()};r(),this.d(this.pointsChanged.don(r))}updateEditing(){var r;const t=[];do{if(this.editingBindMode=="doublePoints"){t.push(se.DoublePointsAppend,se.DoublePointsModify);break}if(this.editingBindMode=="lineString"){t.push(se.LineStringAppend,se.LineStringInsert,se.Translation);break}if(this.editingBindMode=="circular"){t.push(se.CircularAppend,se.CircularInsert,se.Translation),this.supportEditingModes().includes(se.HeightModify)&&t.push(se.HeightModify);break}if(this.editingBindMode=="visibility"){t.push(se.VisibilityAppend,se.VisibilityModify);break}}while(!1);(r=this.viewer)==null||r.startEditing(this,t,{callSource:"inner"})}get area(){return this._area.value}get areaChanged(){return this._area.changed}get perimeter(){return this._perimeter.value}get perimeterChanged(){return this._perimeter.changed}_updateArea(){this._area.value=this.getArea()??0}_updatePerimeter(){this._perimeter.value=this.getPerimeter()??0}getArea(){if(this.points&&this.points.length>=3)return bc([...this.points])}getDistance(){if(this.points&&this.points.length>=2){const t=Tl(this.points,"NONE");return t[t.length-1]}else return}getPerimeter(){if(this.points&&this.points.length>=3){const t=[...this.points,this.points[0]],r=Tl(t,"NONE");return r[r.length-1]}else return}getIntersect(t){if(this.points&&this.points.length>=3&&t.length>=3){const r=qd(this.points,t);if(!r)return;const i=r[0][0][0];if(Array.isArray(i)){const s=[...r],o=[];return s.forEach(a=>{const l=a[0].map(u=>[...u,0]);o.push(l)}),o}else return[[...r][0].map(a=>[...a,0])]}else return}getUnion(t){if(this.points&&this.points.length>=3&&t.length>=3){const r=Xd(this.points,t);if(!r)return;const i=r[0][0][0];if(Array.isArray(i)){const s=[...r],o=[];return s.forEach(a=>{const l=a[0].map(u=>[...u,0]);o.push(l)}),o}else return[[...r][0].map(a=>[...a,0])]}else return}getDifference(t){if(this.points&&this.points.length>=3&&t.length>=3){let r=[...t];const i=t[0],s=t[t.length-1];i[0]===s[0]&&i[1]===s[1]&&i[2]===s[2]||r.push(i);const o=Hd([...this.points,this.points[0]],[...r]);if(!o)return{status:"undefined",positions:void 0};const a=[...o];if(hp(a)===3){const l=a.map(p=>p.map(v=>[...v,0]));if(l.length<=1)return{status:"notIncluded",positions:l};const u=l[0],h=l[1];return gh([...u],[...h])==="oneBig"?{status:"included",positions:l}:{status:"notIncluded",positions:l}}else if(hp(a)===4){const u=[...a.map(f=>f.map(p=>p.map(v=>[...v,0])))],h=[];return u.forEach(f=>{h.push(f[0])}),{status:"notIncluded",positions:h}}else return{status:"undefined",positions:void 0}}else return{status:"undefined",positions:void 0}}getBuffer(t=500,r){if(this.points&&this.points.length>=2){const i=Yd(this.points,t,r);return i?[i[0].map(s=>[...s,0])]:void 0}else return}geoPolygonOverlap(t){if(this.points&&this.points.length>=3&&t.length>=3){const r=gh(this.points,t);return r==="oneBig"?!0:r==="twoBig"?!1:void 0}else return}getESProperties(){const t={...super.getESProperties()};return{...t,defaultMenu:"style",coordinate:[...t.coordinate,new k("编辑","编辑",!1,!1,[this,"editing"],!1),new G("位置数组","位置数组(经纬高数组)",!0,!1,[this,"points"],pu.defaults.points)],style:[...t.style,new z("点样式","点样式集合",[]),new k("开启","开启点样式",!1,!1,[this,"pointed"],!1),new S("点大小","点大小(pointSize)",!1,!1,[this,"pointSize"],1),new Y("点类型","点类型(pointSizeType)",!1,!1,[this,"pointSizeType"],[["screen","screen"],["world","world"]],"screen"),new Z("点颜色","点颜色(pointColor)",!1,!1,[this,"pointColor"],[1,1,1,1]),new z("线样式","线样式集合",[]),new k("开启","开启线样式",!1,!1,[this,"stroked"],!0),new k("贴地","是否贴地",!1,!1,[this,"strokeGround"],!1),new S("线宽","线宽(strokeWidth)",!1,!1,[this,"strokeWidth"],1),new Y("线类型","线类型(strokeWidthType)",!1,!1,[this,"strokeWidthType"],[["screen","screen"],["world","world"]],"screen"),new Z("线颜色","线颜色(strokeColor)",!1,!1,[this,"strokeColor"],[1,1,1,1]),new z("面样式","面样式集合",[]),new k("开启","开启填充样式",!1,!1,[this,"filled"],!1),new k("贴地","是否贴地",!1,!1,[this,"fillGround"],!1),new Z("填充颜色","填充颜色(fillColor)",!1,!1,[this,"fillColor"],[1,1,1,1])]}}getProperties(t){return[...super.getProperties(t),new z("ESGeoVector","ESGeoVector",[new k("是否编辑","是否编辑",!1,!1,[this,"editing"]),new G("位置数组","位置数组(经纬高数组)",!1,!1,[this,"points"]),new z("点样式","点样式",[new k("开启点样式","开启点样式",!1,!1,[this,"pointed"]),new S("点大小","点大小(pointSize)",!1,!1,[this,"pointSize"]),new Y("点类型","点类型(pointSizeType)",!1,!1,[this,"pointSizeType"],[["screen","screen"],["world","world"]]),new Z("点颜色","点颜色(pointColor)",!1,!1,[this,"pointColor"]),new J("点材质","点材质(pointMaterial)",!1,!1,[this,"pointMaterial"]),new G("点材质参数","点材质参数(pointMaterialParams)",!1,!1,[this,"pointMaterialParams"])]),new z("线样式","线样式",[new k("开启线样式","开启线样式",!1,!1,[this,"stroked"]),new S("线宽","线宽(strokeWidth)",!1,!1,[this,"strokeWidth"]),new Y("线类型","线类型(strokeWidthType)",!1,!1,[this,"strokeWidthType"],[["screen","screen"],["world","world"]]),new Z("线颜色","线颜色(strokeColor)",!1,!1,[this,"strokeColor"]),new J("线材质","线材质(strokeMaterial)",!1,!1,[this,"strokeMaterial"]),new G("线材质参数","线材质参数(strokeMaterialParams)",!1,!1,[this,"strokeMaterialParams"]),new k("是否贴地","是否贴地",!1,!1,[this,"strokeGround"])]),new z("填充样式","填充样式",[new k("开启填充样式","开启填充样式",!1,!1,[this,"filled"]),new Z("填充颜色","填充颜色(fillColor)",!1,!1,[this,"fillColor"]),new J("面材质","面材质(fillMaterial)",!1,!1,[this,"fillMaterial"]),new G("面材质参数","面材质参数(fillMaterialParams)",!1,!1,[this,"fillMaterialParams"]),new k("是否贴地","是否贴地",!1,!1,[this,"fillGround"])])])]}get pointSize(){return this.pointStyle.size}set pointSize(t){this.pointStyle={...this.pointStyle,size:t}}get pointSizeChanged(){return this.pointStyleChanged}get pointSizeType(){return this.pointStyle.sizeType}set pointSizeType(t){this.pointStyle={...this.pointStyle,sizeType:t}}get pointSizeTypeChanged(){return this.pointStyleChanged}get pointColor(){return this.pointStyle.color}set pointColor(t){this.pointStyle={...this.pointStyle,color:[...t]}}get pointColorChanged(){return this.pointStyleChanged}get pointMaterial(){return this.pointStyle.material}set pointMaterial(t){this.pointStyle={...this.pointStyle,material:t}}get pointMaterialChanged(){return this.pointStyleChanged}get pointMaterialParams(){return this.pointStyle.materialParams}set pointMaterialParams(t){this.pointStyle={...this.pointStyle,materialParams:t}}get pointMaterialParamsChanged(){return this.pointStyleChanged}get strokeWidth(){return this.strokeStyle.width}set strokeWidth(t){this.strokeStyle={...this.strokeStyle,width:t}}get strokeWidthChanged(){return this.strokeStyleChanged}get strokeWidthType(){return this.strokeStyle.widthType}set strokeWidthType(t){this.strokeStyle={...this.strokeStyle,widthType:t}}get strokeWidthTypeChanged(){return this.strokeStyleChanged}get strokeColor(){return this.strokeStyle.color}set strokeColor(t){this.strokeStyle={...this.strokeStyle,color:[...t]}}get strokeColorChanged(){return this.strokeStyleChanged}get strokeMaterial(){return this.strokeStyle.material}set strokeMaterial(t){this.strokeStyle={...this.strokeStyle,material:t}}get strokeMaterialChanged(){return this.strokeStyleChanged}get strokeMaterialParams(){return this.strokeStyle.materialParams}set strokeMaterialParams(t){this.strokeStyle={...this.strokeStyle,materialParams:t}}get strokeMaterialParamsChanged(){return this.strokeStyleChanged}get strokeGround(){return this.strokeStyle.ground}set strokeGround(t){this.strokeStyle={...this.strokeStyle,ground:t}}get strokeGroundChanged(){return this.strokeStyleChanged}get fillColor(){return this.fillStyle.color}set fillColor(t){this.fillStyle={...this.fillStyle,color:[...t]}}get fillColorChanged(){return this.fillStyleChanged}get fillMaterial(){return this.fillStyle.material}set fillMaterial(t){this.fillStyle={...this.fillStyle,material:t}}get fillMaterialChanged(){return this.fillStyleChanged}get fillMaterialParams(){return this.fillStyle.materialParams}set fillMaterialParams(t){this.fillStyle={...this.fillStyle,materialParams:t}}get fillMaterialParamsChanged(){return this.fillStyleChanged}get fillGround(){return this.fillStyle.ground}set fillGround(t){this.fillStyle={...this.fillStyle,ground:t}}get fillGroundChanged(){return this.fillStyleChanged}};d(pu,"supportEditingModes",[...Se.supportEditingModes,se.Translation]),d(pu,"defaults",{...Se.defaults,points:[],pointStyle:{size:1,sizeType:"screen",color:[1,1,1,1],material:"",materialParams:{}},strokeStyle:{width:1,widthType:"screen",color:[1,1,1,1],material:"",materialParams:{},ground:!1},fillStyle:{color:[1,1,1,1],material:"",materialParams:{},ground:!1},pointed:!1,stroked:!1,filled:!1});let ce=pu;(n=>{n.createDefaultProps=()=>({...Se.createDefaultProps(),pointed:!1,pointStyle:c.reactJson(n.defaults.pointStyle),stroked:!1,strokeStyle:c.reactJson(n.defaults.strokeStyle),filled:!1,fillStyle:c.reactJson(n.defaults.fillStyle),points:c.reactPositions(void 0)})})(ce||(ce={})),c.extendClassProps(ce.prototype,ce.createDefaultProps);class q extends Se{constructor(){super(...arguments);d(this,"_statusDis",this.dv(c.react(!0)));d(this,"_smoothMoveEvent",this.dv(new c.Event));d(this,"_smoothMoveWithRotationEvent",this.dv(new c.Event));d(this,"_smoothMoveOnGroundEvent",this.dv(new c.Event));d(this,"_smoothMoveWithRotationOnGroundEvent",this.dv(new c.Event));d(this,"_automaticLandingEvent",this.dv(new c.Event));d(this,"_smoothMoveKeepPitchEvent",this.dv(new c.Event));d(this,"_smoothMoveRelativelyEvent",this.dv(new c.Event));d(this,"_smoothMoveRelativelyWithRotationEvent",this.dv(new c.Event));d(this,"useCalcFlyToParamInESObjectWithLocation",!0)}updateEditing(){var r;const t=[];do{if(this.editingBindMode=="singlePoint"){t.push(se.Place,se.Translation),["ESLocationMeasurement"].includes(this.typeName)||t.push(se.Rotation),["ESClippingPlane","ESLocationMeasurement","ESLocalRectangle","ESBoxClipping"].includes(this.typeName)||t.push(se.Scale);break}if(this.editingBindMode=="doublePoints"){t.push(se.DoublePointsAppend,se.DoublePointsModify);break}}while(!1);(r=this.viewer)==null||r.startEditing(this,t,{callSource:"inner"})}get statusDis(){return this._statusDis.value}get statusDisChanged(){return this._statusDis.changed}get smoothMoveEvent(){return this._smoothMoveEvent}smoothMove(t,r){this._smoothMoveEvent.emit(t,r)}get smoothMoveWithRotationEvent(){return this._smoothMoveWithRotationEvent}smoothMoveWithRotation(t,r,i){this._smoothMoveWithRotationEvent.emit(t,r,i)}get smoothMoveOnGroundEvent(){return this._smoothMoveOnGroundEvent}smoothMoveOnGround(t,r,i,s){this._smoothMoveOnGroundEvent.emit(t,r,i,s)}get smoothMoveWithRotationOnGroundEvent(){return this._smoothMoveWithRotationOnGroundEvent}smoothMoveWithRotationOnGround(t,r,i,s,o){this._smoothMoveWithRotationOnGroundEvent.emit(t,r,i,s,o)}get automaticLandingEvent(){return this._automaticLandingEvent}automaticLanding(){const t=this.collision;this.collision=!1,setTimeout(()=>{this._automaticLandingEvent.emit(t)},100)}get smoothMoveKeepPitchEvent(){return this._smoothMoveKeepPitchEvent}smoothMoveKeepPitch(t,r){this._smoothMoveKeepPitchEvent.emit(t,r)}get smoothMoveRelativelyEvent(){return this._smoothMoveRelativelyEvent}smoothMoveRelatively(t,r){this._smoothMoveRelativelyEvent.emit(t,r)}get smoothMoveRelativelyWithRotationEvent(){return this._smoothMoveRelativelyWithRotationEvent}smoothMoveRelativelyWithRotation(t,r,i){this._smoothMoveRelativelyWithRotationEvent.emit(t,r,i)}getESProperties(){const t={...super.getESProperties()};return{...t,defaultMenu:"basic",location:[...t.location,new k("是否编辑","是否编辑",!1,!1,[this,"editing"]),new ie("自动落地","自动落地",[],()=>this.automaticLanding(),[]),new bn("位置数组","经度,纬度,高度,度为单位",!1,!1,[this,"position"],[0,0,0]),new _u("姿态数组","偏航角,俯仰角,翻转角,度为单位",!1,!1,[this,"rotation"],[0,0,0]),new Pt("缩放","缩放",!1,!1,[this,"scale"],[1,1,1]),new S("最小可见距离","单位米",!1,!1,[this,"minVisibleDistance"],0),new S("最大可见距离","单位米",!1,!1,[this,"maxVisibleDistance"],0)]}}getProperties(t){return[...super.getProperties(t),new z("位置姿态对象","位置姿态对象ESObjectWithLocation",[new ie("平滑移动","smoothMove",["numbers","number"],(r,i)=>this.smoothMove(r,i),[[0,0,0],0]),new ie("固定方向平滑移动","smoothMoveKeepPitch",["numbers","number"],(r,i)=>this.smoothMoveKeepPitch(r,i),[[0,0,0],0]),new ie("平滑偏移","smoothMoveWithRotation",["numbers","numbers","number"],(r,i,s)=>this.smoothMoveWithRotation(r,i,s),[[0,0,0],[0,0,0],0]),new ie("贴地平滑移动","smoothMoveOnGround",["number","number","number","string"],(r,i,s,o)=>this.smoothMoveOnGround(r,i,s,o),[0,0,0,""]),new ie("贴地平滑偏移","smoothMoveWithRotationOnGround",["numbers","number","number","number","string"],(r,i,s,o,a)=>this.smoothMoveWithRotationOnGround(r,i,s,o,a),[[0,0,0],0,0,0,""]),new ie("smoothMoveRelatively","smoothMoveRelatively",["numbers","number"],(r,i)=>this.smoothMoveRelatively(r,i),[[0,0,0],0]),new ie("smoothMoveRelativelyWithRotation","smoothMoveRelativelyWithRotation",["numbers","numbers","number"],(r,i,s)=>this.smoothMoveRelativelyWithRotation(r,i,s),[[0,0,0],[0,0,0],0]),new bn("位置数组","经度,纬度,高度,度为单位",!1,!1,[this,"position"]),new _u("姿态数组","偏航角,俯仰角,翻转角,度为单位",!1,!1,[this,"rotation"]),new Pt("缩放","缩放",!1,!1,[this,"scale"]),new k("是否编辑","是否开启编辑状态",!0,!1,[this,"editing"],!1),new S("最小可见距离","单位米",!1,!1,[this,"minVisibleDistance"]),new S("最大可见距离","单位米",!1,!1,[this,"maxVisibleDistance"]),new k("是否应用距离显隐","是否应用距离显隐",!1,!1,[this,"enableVisibleDistance"])])]}}d(q,"supportEditingModes",[...Se.supportEditingModes,se.Place,se.Translation,se.Rotation,se.Scale,se.DoublePointsAppend,se.DoublePointsModify]),d(q,"defaults",{...Se.defaults}),(n=>{n.createDefaultProps=()=>({...Se.createDefaultProps(),position:c.reactArray([0,0,0]),rotation:c.reactArray([0,0,0]),scale:c.reactArray([1,1,1]),minVisibleDistance:c.react(0),maxVisibleDistance:c.react(0)})})(q||(q={})),c.extendClassProps(q.prototype,q.createDefaultProps);class Jn extends q{getESProperties(){const e={...super.getESProperties()};return{...e,style:[...e.style,new z("点样式","点样式集合",[]),new k("开启点样式","开启点样式",!1,!1,[this,"pointed"],!1),new S("点大小","点大小(pointSize)",!1,!1,[this,"pointSize"],1),new Y("点类型","点类型(pointSizeType)",!1,!1,[this,"pointSizeType"],[["screen","screen"],["world","world"]],"screen"),new Z("点颜色","点颜色(pointColor)",!1,!1,[this,"pointColor"],[1,1,1,1]),new z("线样式","线样式集合",[]),new k("开启线样式","开启线样式",!1,!1,[this,"stroked"],!1),new k("是否贴地(线)","是否贴地(线)",!1,!1,[this,"strokeGround"],!1),new S("线宽","线宽(strokeWidth)",!1,!1,[this,"strokeWidth"],1),new Y("线类型","线类型(strokeWidthType)",!1,!1,[this,"strokeWidthType"],[["screen","screen"],["world","world"]],"screen"),new Z("线颜色","线颜色(strokeColor)",!1,!1,[this,"strokeColor"],[1,1,1,1]),new z("面样式","面样式集合",[]),new k("开启填充样式","开启填充样式",!1,!1,[this,"filled"],!1),new k("是否贴地","是否贴地",!1,!1,[this,"fillGround"],!1),new Z("填充颜色","填充颜色(fillColor)",!1,!1,[this,"fillColor"],[1,1,1,1])]}}getProperties(e){return[...super.getProperties(e),new z("ESLocalVector","ESLocalVector",[new G("点样式","点样式(pointMaterialParams)",!1,!1,[this,"pointStyle"]),new G("线样式","线样式(strokeMaterialParams)",!1,!1,[this,"strokeStyle"]),new G("填充样式","填充样式(fillMaterialParams)",!1,!1,[this,"fillStyle"]),new z("点样式","点样式",[new k("开启点样式","开启点样式",!1,!1,[this,"pointed"]),new S("点大小","点大小(pointSize)",!1,!1,[this,"pointSize"]),new Y("点类型","点类型(pointSizeType)",!1,!1,[this,"pointSizeType"],[["screen","screen"],["world","world"]]),new Z("点颜色","点颜色(pointColor)",!1,!1,[this,"pointColor"]),new J("点材质","点材质(pointMaterial)",!1,!1,[this,"pointMaterial"]),new G("点材质参数","点材质参数(pointMaterialParams)",!1,!1,[this,"pointMaterialParams"])]),new z("线样式","线样式",[new k("开启线样式","开启线样式",!1,!1,[this,"stroked"]),new S("线宽","线宽(strokeWidth)",!1,!1,[this,"strokeWidth"]),new Y("线类型","线类型(strokeWidthType)",!1,!1,[this,"strokeWidthType"],[["screen","screen"],["world","world"]]),new Z("线颜色","线颜色(strokeColor)",!1,!1,[this,"strokeColor"]),new J("线材质","线材质(strokeMaterial)",!1,!1,[this,"strokeMaterial"]),new G("线材质参数","线材质参数(strokeMaterialParams)",!1,!1,[this,"strokeMaterialParams"]),new k("是否贴地(线)","是否贴地(线)",!1,!1,[this,"strokeGround"],!1)]),new z("填充样式","填充样式",[new k("开启填充样式","开启填充样式",!1,!1,[this,"filled"]),new Z("填充颜色","填充颜色(fillColor)",!1,!1,[this,"fillColor"]),new J("面材质","面材质(fillMaterial)",!1,!1,[this,"fillMaterial"]),new G("面材质参数","面材质参数(fillMaterialParams)",!1,!1,[this,"fillMaterialParams"]),new k("是否贴地","是否贴地",!1,!1,[this,"fillGround"])])])]}get pointSize(){return this.pointStyle.size}set pointSize(e){this.pointStyle={...this.pointStyle,size:e}}get pointSizeChanged(){return this.pointStyleChanged}get pointSizeType(){return this.pointStyle.sizeType}set pointSizeType(e){this.pointStyle={...this.pointStyle,sizeType:e}}get pointSizeTypeChanged(){return this.pointStyleChanged}get pointColor(){return this.pointStyle.color}set pointColor(e){this.pointStyle={...this.pointStyle,color:[...e]}}get pointColorChanged(){return this.pointStyleChanged}get pointMaterial(){return this.pointStyle.material}set pointMaterial(e){this.pointStyle={...this.pointStyle,material:e}}get pointMaterialChanged(){return this.pointStyleChanged}get pointMaterialParams(){return this.pointStyle.materialParams}set pointMaterialParams(e){this.pointStyle={...this.pointStyle,materialParams:e}}get pointMaterialParamsChanged(){return this.pointStyleChanged}get strokeWidth(){return this.strokeStyle.width}set strokeWidth(e){this.strokeStyle={...this.strokeStyle,width:e}}get strokeWidthChanged(){return this.strokeStyleChanged}get strokeWidthType(){return this.strokeStyle.widthType}set strokeWidthType(e){this.strokeStyle={...this.strokeStyle,widthType:e}}get strokeWidthTypeChanged(){return this.strokeStyleChanged}get strokeColor(){return this.strokeStyle.color}set strokeColor(e){this.strokeStyle={...this.strokeStyle,color:[...e]}}get strokeColorChanged(){return this.strokeStyleChanged}get strokeMaterial(){return this.strokeStyle.material}set strokeMaterial(e){this.strokeStyle={...this.strokeStyle,material:e}}get strokeMaterialChanged(){return this.strokeStyleChanged}get strokeMaterialParams(){return this.strokeStyle.materialParams}set strokeMaterialParams(e){this.strokeStyle={...this.strokeStyle,materialParams:e}}get strokeMaterialParamsChanged(){return this.strokeStyleChanged}get strokeGround(){return this.strokeStyle.ground}set strokeGround(e){this.strokeStyle={...this.strokeStyle,ground:e}}get strokeGroundChanged(){return this.strokeStyleChanged}get fillColor(){return this.fillStyle.color}set fillColor(e){this.fillStyle={...this.fillStyle,color:[...e]}}get fillColorChanged(){return this.fillStyleChanged}get fillMaterial(){return this.fillStyle.material}set fillMaterial(e){this.fillStyle={...this.fillStyle,material:e}}get fillMaterialChanged(){return this.fillStyleChanged}get fillMaterialParams(){return this.fillStyle.materialParams}set fillMaterialParams(e){this.fillStyle={...this.fillStyle,materialParams:e}}get fillMaterialParamsChanged(){return this.fillStyleChanged}get fillGround(){return this.fillStyle.ground}set fillGround(e){this.fillStyle={...this.fillStyle,ground:e}}get fillGroundChanged(){return this.fillStyleChanged}}d(Jn,"defaults",{...q.defaults,pointStyle:{size:1,sizeType:"screen",color:[1,1,1,1],material:"",materialParams:{}},strokeStyle:{width:1,widthType:"screen",color:[1,1,1,1],material:"",materialParams:{},ground:!1},fillStyle:{color:[1,1,1,1],material:"",materialParams:{},ground:!1},pointed:!1,stroked:!1,filled:!1}),(n=>{n.createDefaultProps=()=>({...q.createDefaultProps(),pointed:!1,pointStyle:c.reactJson(n.defaults.pointStyle),stroked:!1,strokeStyle:c.reactJson(n.defaults.strokeStyle),filled:!1,fillStyle:c.reactJson(n.defaults.fillStyle)})})(Jn||(Jn={})),c.extendClassProps(Jn.prototype,Jn.createDefaultProps);class vr extends Jn{getESProperties(){return{...super.getESProperties()}}getProperties(e){return[...super.getProperties(e)]}}d(vr,"defaults",{...Jn.defaults}),(n=>{n.createDefaultProps=()=>({...Jn.createDefaultProps()})})(vr||(vr={})),c.extendClassProps(vr.prototype,vr.createDefaultProps);const fp=[["固定朝向",0],["面向屏幕旋转",1],["绕自身Z轴旋转",2]],dp=[["单面不透明",0],["双面不透明",1],["单面遮罩",2],["双面遮罩",3],["单面透明",4],["双面透明",5],["单面未遮挡透明",6],["双面未遮挡透明",7]];class ft extends q{constructor(){super(...arguments);d(this,"_widgetEvent",this.dv(new c.Event))}get widgetEvent(){return this._widgetEvent}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new k("屏幕渲染","是否开启屏幕渲染模式",!1,!1,[this,"screenRender"],!0),new k("尺寸自适应","尺寸是否根据内容自动计算",!1,!1,[this,"sizeByContent"],!0),new ze("尺寸大小","尺寸自适应关闭才会生效",!1,!1,[this,"size"],[100,100]),new ze("偏移比例","偏移比例(anchor)",!1,!1,[this,"anchor"],[.5,1]),new ze("像素偏移","像素偏移(offset)",!1,!1,[this,"offset"],[0,0]),new Y("渲染模式","八种渲染模式(0~7),当Widget中透明度只有(0,1)两种时可以选择2",!1,!1,[this,"renderMode"],dp,0),new Y("漫游旋转类型","三种漫游旋转类型(0,1,2)",!1,!1,[this,"rotationType"],fp,1),new J("绑定对象","actorTag",!1,!1,[this,"actorTag"]),new J("插槽名称","socketName",!1,!1,[this,"socketName"]),new Pt("位置偏移","positionOffset(米)",!1,!1,[this,"positionOffset"]),new Pt("相对姿态","rotationOffset(米)",!1,!1,[this,"rotationOffset"])]}}getProperties(t){return[...super.getProperties(t),new z("标签属性","标签对象ESLabel的属性",[new k("屏幕渲染","是否开启屏幕渲染模式",!1,!1,[this,"screenRender"],!0),new k("尺寸自适应","尺寸是否根据内容自动计算",!1,!1,[this,"sizeByContent"],!0),new ze("尺寸大小","尺寸自适应关闭才会生效",!1,!1,[this,"size"],[100,100]),new ze("偏移比例","偏移比例(anchor)",!1,!1,[this,"anchor"],[.5,1]),new ze("像素偏移","像素偏移(offset)",!1,!1,[this,"offset"],[0,0]),new Y("渲染模式","八种渲染模式(0~7),当Widget中透明度只有(0,1)两种时可以选择2",!1,!1,[this,"renderMode"],dp,0),new Y("漫游旋转类型","三种漫游旋转类型(0,1,2)",!1,!1,[this,"rotationType"],fp,1),new S("排序","zOrder排序",!1,!1,[this,"zOrder"],0)])]}}d(ft,"defaults",{...q.defaults,screenRender:!0,size:[100,100],anchor:[.5,.5],sizeByContent:!0,renderMode:0,rotationType:1}),(n=>{n.createDefaultProps=()=>({...q.createDefaultProps(),screenRender:!0,size:c.reactArray([100,100]),anchor:c.reactArray([.5,1]),offset:c.reactArray([0,0]),sizeByContent:!0,renderMode:0,rotationType:1,zOrder:0,actorTag:"",socketName:"",positionOffset:c.reactArray([0,0,0]),rotationOffset:c.reactArray([0,0,0])})})(ft||(ft={})),c.extendClassProps(ft.prototype,ft.createDefaultProps);const yr=class yr extends Se{constructor(){super(...arguments);d(this,"_refreshTilesetEvent",this.dv(new c.Event));d(this,"_tilesetReadyEvent",this.dv(new c.Event));d(this,"_supportEdit",this.dv(c.react(!0)));d(this,"_highlightFeatureEvent",this.dv(new c.Event));d(this,"_highlightFeatureAndFlyToEvent",this.dv(new c.Event));d(this,"_getFeatureTableEvent",this.dv(new c.Event));d(this,"_featureTableResultEvent",this.dv(new c.Event));d(this,"_getMaterialNameListEvent",this.disposeVar(new c.Event));d(this,"_setFeatureStyleEvent",this.dv(new c.Event));d(this,"_setFeatureColorEvent",this.dv(new c.Event));d(this,"_setFeatureVisableEvent",this.dv(new c.Event));d(this,"_resetFeatureStyleEvent",this.dv(new c.Event));d(this,"setMaterialInfoEvent",this.ad(new c.Event));d(this,"_setMaterialEvent",this.disposeVar(new c.Event));d(this,"_clippingPlanesId",this.dv(c.react("")));d(this,"_clippingPlaneIds",this.dv(c.react([])));d(this,"_flattenedPlaneId",this.dv(c.react("")));d(this,"_flattenedPlaneEnabled",this.dv(c.react(!1)));d(this,"_clippingPlaneId",this.dv(c.react("")));d(this,"_excavateId",this.dv(c.reactArray([])))}get typeName(){return"ES3DTileset"}get defaultProps(){return yr.createDefaultProps()}updateEditing(){var t;(t=this.viewer)==null||t.startEditing(this,[se.Translation,se.Rotation],{callSource:"inner"})}get refreshTilesetEvent(){return this._refreshTilesetEvent}refreshTileset(){this._refreshTilesetEvent.emit()}get tilesetReady(){return this._tilesetReadyEvent}get supportEdit(){return this._supportEdit.value}set supportEdit(t){this._supportEdit.value=t}get supportEditChanged(){return this._supportEdit.changed}get highlightFeatureEvent(){return this._highlightFeatureEvent}highlightFeature(t,r){this._highlightFeatureEvent.emit(t,r)}get highlightFeatureAndFlyToEvent(){return this._highlightFeatureAndFlyToEvent}highlightFeatureAndFlyTo(t,r,i,s){this._highlightFeatureAndFlyToEvent.emit(t,r,i,s)}get getFeatureTableEvent(){return this._getFeatureTableEvent}getFeatureTable(){return Promise.race([new Promise(t=>{const r=this.d(this._featureTableResultEvent.donce(t));this._getFeatureTableEvent.emit(),setTimeout(()=>{r(),t(void 0)},2e3)})])}get getMaterialNameListEvent(){return this._getMaterialNameListEvent}getMaterialNameList(){return new Promise(t=>{const r=new c.Destroyable;r.d(this.getMaterialNameListEvent.don(i=>{i!=="start"&&(r.destroy(),t(i))})),this.getMaterialNameListEvent.emit("start"),setTimeout(()=>{r.isDestroyed()||(r.destroy(),t(void 0))},2e3)})}get setFeatureStyleEvent(){return this._setFeatureStyleEvent}setFeatureStyle(t){this._setFeatureStyleEvent.emit(t)}get setFeatureColorEvent(){return this._setFeatureColorEvent}setFeatureColor(t,r){this._setFeatureColorEvent.emit(t,typeof r=="string"?JSON.parse(r):r)}get setFeatureVisableEvent(){return this._setFeatureVisableEvent}setFeatureVisable(t,r){this._setFeatureVisableEvent.emit(t,typeof r=="string"?JSON.parse(r):r)}get resetFeatureStyleEvent(){return this._resetFeatureStyleEvent}resetFeatureStyle(){this._resetFeatureStyleEvent.emit()}get setMaterialEvent(){return this._setMaterialEvent}setMaterial(t){return new Promise(r=>{const i=new c.Destroyable;i.ad(this.setMaterialInfoEvent.donce(s=>{i.destroy(),r(s)})),this._setMaterialEvent.emit(t)})}get clippingPlanesId(){return this._clippingPlanesId.value}set clippingPlanesId(t){this._clippingPlanesId.value=t}get clippingPlanesIdChanged(){return this._clippingPlanesId.changed}get clippingPlaneIds(){return this._clippingPlaneIds.value}set clippingPlaneIds(t){this._clippingPlaneIds.value=t}get clippingPlaneIdsChanged(){return this._clippingPlaneIds.changed}get flattenedPlaneId(){return this._flattenedPlaneId.value}set flattenedPlaneId(t){this._flattenedPlaneId.value=t}get flattenedPlaneIdChanged(){return this._flattenedPlaneId.changed}get flattenedPlaneEnabled(){return this._flattenedPlaneEnabled.value}set flattenedPlaneEnabled(t){this._flattenedPlaneEnabled.value=t}get flattenedPlaneEnabledChanged(){return this._flattenedPlaneEnabled.changed}get clippingPlaneId(){return this._clippingPlaneId.value}set clippingPlaneId(t){this._clippingPlaneId.value=t}get clippingPlaneIdChanged(){return this._clippingPlaneId.changed}get excavateId(){return this._excavateId.value}set excavateId(t){this._excavateId.value=t}get excavateIdChanged(){return this._excavateId.changed}setLight122(){this.czmEnvironmentMapManager={..._h}}getESProperties(){const t={...super.getESProperties()};return{...t,defaultMenu:"dataSource",basic:[...t.basic,new Me("精度","精度.",!1,!1,[this,"maximumScreenSpaceError"],1,[0,256],16),new Y("材质模式","materialMode",!0,!1,[this,"materialMode"],yr.defaults.materialModes,"normal"),new Y("颜色模式","颜色混合模式",!1,!1,[this,"colorBlendMode"],[["默认","HIGHLIGHT"],["替换","REPLACE"],["混合","MIX"]],"HIGHLIGHT"),new G("materialOverrideMap","材质替换",!1,!1,[this,"materialOverrideMap"],yr.defaults.materialOverrideMap)],dataSource:[...t.dataSource,new G("服务地址","服务地址",!0,!1,[this,"url"],yr.defaults.url)],coordinate:[...t.coordinate,new k("编辑","编辑",!0,!1,[this,"editing"],!1),new Pt("偏移","偏移量",!0,!1,[this,"offset"],[0,0,0]),new _u("旋转","旋转",!1,!1,[this,"rotation"],[0,0,0])]}}getProperties(t){return[...super.getProperties(t),new z("ES3DTileset","ES3DTileset",[new G("服务地址","服务地址",!1,!1,[this,"url"],yr.defaults.url),new Y("materialMode","materialMode",!1,!1,[this,"materialMode"],yr.defaults.materialModes),new G("materialParams","materialParams",!1,!1,[this,"materialParams"],yr.defaults.materialParams),new S("maximumScreenSpaceError","显示精度,maximumScreenSpaceError",!1,!1,[this,"maximumScreenSpaceError"]),new k("编辑","编辑",!1,!1,[this,"editing"],!1),new bn("offset","offset",!0,!1,[this,"offset"]),new bn("rotation","rotation",!1,!1,[this,"rotation"]),new Me("精度","精度.",!1,!1,[this,"maximumScreenSpaceError"],1,[0,256],16),new ie("highlightFeature","highlightFeature",["string","string"],(r,i)=>this.highlightFeature(r,i),["","rgba(255,0,0,1)"]),new ie("setFeatureColor","setFeatureColor",["string","string"],(r,i)=>this.setFeatureColor(r,i),["",""]),new ie("setFeatureVisable","setFeatureVisable",["string","string"],(r,i)=>this.setFeatureVisable(r,i),["",""]),new ie("resetFeatureStyle","resetFeatureStyle",[],()=>this.resetFeatureStyle(),[]),new z("ue","ue",[new ie("refreshTileset","refreshTileset",[],()=>this.refreshTileset(),[]),new J("actorTag","actorTag",!1,!1,[this,"actorTag"]),new k("是否高亮","是否高亮.",!1,!1,[this,"highlight"]),new Z("highlightColor"," highlightColor.",!1,!1,[this,"highlightColor"]),new S("highlightID","highlightID",!1,!1,[this,"highlightID"]),new G("materialOverrideMap","材质替换",!1,!1,[this,"materialOverrideMap"],yr.defaults.materialOverrideMap)]),new z("czm","czm",[new z("可视化","可视化",[new ze("czmImageBasedLightingFactor","反射强度 ,imageBasedLightingFactor",!1,!1,[this,"czmImageBasedLightingFactor"]),new S("czmAtmosphereScatteringIntensity","大气散射强度 ,atmosphereScatteringIntensity",!1,!1,[this,"czmAtmosphereScatteringIntensity"]),new G("czmEnvironmentMapManager","动态环境贴图管理器",!1,!1,[this,"czmEnvironmentMapManager"]),new S("czmMaximumMemoryUsage","最大内存,maximumMemoryUsage",!1,!1,[this,"czmMaximumMemoryUsage"])]),new z("常用","常用",[new Y("czmClassificationType","Determines whether terrain, 3D Tiles or both will be classified by this tileset. See Cesium3DTileset#czmClassificationType for details about restrictions and limitations.",!0,!1,[this,"czmClassificationType"],[["NONE","NONE"],["TERRAIN","TERRAIN"],["CESIUM_3D_TILE","CESIUM_3D_TILE"],["BOTH","BOTH"]]),new G("czmStyle","czmStyle",!1,!1,[this,"czmStyleJson"]),new k("czmBackFaceCulling","czmBackFaceCulling",!1,!1,[this,"czmBackFaceCulling"]),new k("czmSkipLevelOfDetail","czmSkipLevelOfDetail",!1,!1,[this,"czmSkipLevelOfDetail"]),new Y("colorBlendMode","颜色混合模式",!1,!1,[this,"colorBlendMode"],[["HIGHLIGHT","HIGHLIGHT"],["REPLACE","REPLACE"],["MIX","MIX"]],"HIGHLIGHT"),new S("cacheBytes","最大缓存占用,超过的会自动卸载,但是视野范围内能看见的保留。单位字节。Cesium1.110(含)以后的版本起作用。",!1,!1,[this,"cacheBytes"],512*1024*1024)]),new z("调试信息","调试信息",[new k("czmDebugShowBoundingVolume","For debugging only.When true, renders the bounding volume for each tile.",!1,!1,[this,"czmDebugShowBoundingVolume"]),new k("czmDebugShowContentBoundingVolume","czmDebugShowContentBoundingVolume.",!1,!1,[this,"czmDebugShowContentBoundingVolume"])]),new z("clippingPlanes","clippingPlanes",[new k("clippingPlaneEnabled","clippingPlaneEnabled",!1,!1,[this,"clippingPlaneEnabled"]),new k("unionClippingRegions","unionClippingRegions",!1,!1,[this,"unionClippingRegions"]),new Z("clippingPlaneEdgeColor","clippingPlaneEdgeColor",!1,!1,[this,"clippingPlaneEdgeColor"]),new S("clippingPlaneEdgeWidth","clippingPlaneEdgeWidth",!1,!1,[this,"clippingPlaneEdgeWidth"])])])])]}};d(yr,"type",yr.register("ES3DTileset",yr,{chsName:"3DTileset",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"3DTileset"})),d(yr,"supportEditingModes",[...Se.supportEditingModes,se.Translation,se.Rotation]),d(yr,"defaults",{...Se.defaults,url:"",actorTag:"",materialMode:"normal",materialModes:[["常规","normal"],["科技感","technology"]],offset:[0,0,0],materialParams:{baseColor:[0,.5,1]},cacheBytes:512*1024*1024,materialOverrideMap:{},featureIdLabel:0});let Ct=yr;(n=>{n.createDefaultProps=()=>({...Se.createDefaultProps(),url:"",actorTag:"",materialMode:"normal",highlight:!1,maximumScreenSpaceError:16,highlightID:0,highlightColor:c.reactArray([1,0,0,1]),offset:c.reactArrayWithUndefined(void 0),rotation:c.reactArray([0,0,0]),czmImageBasedLightingFactor:c.reactArray([1,1]),czmEnvironmentMapManager:c.reactJsonWithUndefined(void 0),czmLuminanceAtZenith:2,czmAtmosphereScatteringIntensity:2,czmMaximumMemoryUsage:512,czmClassificationType:"NONE",czmStyleJson:c.reactJson({}),czmBackFaceCulling:!0,czmDebugShowBoundingVolume:!1,czmDebugShowContentBoundingVolume:!1,czmSkipLevelOfDetail:!1,cacheBytes:512*1024*1024,colorBlendMode:"HIGHLIGHT",clippingPlaneEnabled:!0,unionClippingRegions:!0,clippingPlaneEdgeColor:c.reactArray([1,1,1,1]),clippingPlaneEdgeWidth:2,materialParams:{baseColor:[0,.5,1]},allowPicking:!0,materialOverrideMap:c.reactJsonWithUndefined(void 0),featureIdLabel:0})})(Ct||(Ct={})),c.extendClassProps(Ct.prototype,Ct.createDefaultProps);const Ki=class Ki extends q{constructor(t){super(t);d(this,"_isFlyInCreated",this.dv(c.react(!1)));this.collision=!1,this.d(this.createdEvent.don(()=>{setTimeout(()=>{if((this.editing??!1)||!this.position){const i=this.dv(c.createNextAnimateFrameEvent(this.positionChanged,this.editingChanged));this.d(i.donce(()=>{this.editing||!this.position||this.isFlyInCreated&&this.flyTo()}))}else{if(!this.isFlyInCreated)return;this.flyTo()}},1e3)}))}get typeName(){return"ESAlarm"}get defaultProps(){return Ki.createDefaultProps()}get isFlyInCreated(){return this._isFlyInCreated.value}set isFlyInCreated(t){this._isFlyInCreated.value=t}get isFlyInCreatedChanged(){return this._isFlyInCreated.changed}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new Y("模式","mode",!1,!1,[this,"mode"],Ki.defaults.modes,"cylinder"),new S("半径","radius",!1,!1,[this,"radius"],10)]}}getProperties(t){return[...super.getProperties(t),new z("通用","通用",[new Y("mode","mode",!1,!1,[this,"mode"],Ki.defaults.modes),new S("半径","radius",!1,!1,[this,"radius"])])]}};d(Ki,"type",Ki.register("ESAlarm",Ki,{chsName:"报警",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"警告类"})),d(Ki,"defaults",{...q.defaults,modes:[["柱状警告","cylinder"],["圆形警告","circle"]],radius:100,czmAnimations:[{index:0,loop:"REPEAT",animationTime:"(duration) => Date.now() / 1000 / duration * 2"}]});let lo=Ki;(n=>{n.createDefaultProps=()=>({...q.createDefaultProps(),mode:"cylinder",radius:10})})(lo||(lo={})),c.extendClassProps(lo.prototype,lo.createDefaultProps);const Pa=class Pa extends q{get typeName(){return"ESApertureEffect"}get defaultProps(){return Pa.createDefaultProps()}constructor(e){super(e),this.collision=!1}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new S("半径","radius",!1,!1,[this,"radius"],1)]}}getProperties(e){return[...super.getProperties(e),new S("半径","radius",!1,!1,[this,"radius"])]}};d(Pa,"type",Pa.register("ESApertureEffect",Pa,{chsName:"光圈特效",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"光圈特效"})),d(Pa,"defaults",{...q.defaults,radius:1});let uo=Pa;(n=>{n.createDefaultProps=()=>({...q.createDefaultProps(),radius:1})})(uo||(uo={})),c.extendClassProps(uo.prototype,uo.createDefaultProps);const en=class en extends ce{constructor(t){super(t);d(this,"editingBindMode","circular");this.collision=en.defaults.collision,this.filled=en.defaults.filled,this.stroked=en.defaults.stroked,this.fillStyle=en.defaults.fillStyle,this.strokeStyle=en.defaults.strokeStyle}get typeName(){return"ESGeoPolygon"}get defaultProps(){return en.createDefaultProps()}getESProperties(){const t={...super.getESProperties()};return{...t,coordinate:[...t.coordinate,new S("面积","面积",!1,!0,[this,"area"]),new S("周长","周长",!1,!0,[this,"perimeter"])]}}getProperties(t){return[...super.getProperties(t),new z("ESGeoPolygon","ESGeoPolygon",[])]}};d(en,"type",en.register("ESGeoPolygon",en,{chsName:"地理多边形",tags:["ESObjects"],description:"地理多边形"})),d(en,"supportEditingModes",[...ce.supportEditingModes,se.CircularAppend,se.CircularInsert]),d(en,"defaults",{...ce.defaults,fillStyle:{color:[1,1,1,.5],material:"",materialParams:{},ground:!1},strokeStyle:{width:1,widthType:"screen",color:[1,1,1,1],material:"",materialParams:{},ground:!1},filled:!0,stroked:!1,collision:!1});let ye=en;(n=>{n.createDefaultProps=()=>({...ce.createDefaultProps()})})(ye||(ye={})),c.extendClassProps(ye.prototype,ye.createDefaultProps);const Ei=class Ei extends ye{get typeName(){return"ESAreaMeasurement"}get defaultProps(){return Ei.createDefaultProps()}get fillMaterial(){return this.fillStyle.material}set fillMaterial(e){this.fillStyle={...this.fillStyle,material:e}}get fillMaterialParams(){return this.fillStyle?this.fillStyle.materialParams:Ei.defaults.fillStyle.materialParams}set fillMaterialParams(e){this.fillStyle={...this.fillStyle??Ei.defaults.fillStyle,materialParams:e??Ei.defaults.fillStyle.materialParams}}constructor(e){super(e),this.fillStyle.ground=!0,this.strokeStyle.width=2}getProperties(e){return[...super.getProperties(e)]}};d(Ei,"type",Ei.register("ESAreaMeasurement",Ei,{chsName:"面积测量",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"面积测量"})),d(Ei,"defaults",{...ye.defaults,fillStyle:{color:[1,1,1,1],material:"Material'/EarthSDKForUE/M_ES_Material.M_ES_Material'",materialParams:{Opacity:.4},ground:!1}});let co=Ei;(n=>{n.createDefaultProps=()=>({...ye.createDefaultProps(),stroked:!0,filled:!0})})(co||(co={})),c.extendClassProps(co.prototype,co.createDefaultProps);const Ia=class Ia extends q{get typeName(){return"ESBlastParticleSystem"}get defaultProps(){return Ia.createDefaultProps()}constructor(e){super(e)}getESProperties(){return{...{...super.getESProperties()},defaultMenu:"general"}}getProperties(e){return[...super.getProperties(e),new z("通用","通用",[new z("czm","czm",[new Al("图片","The URI, HTMLImageElement, or HTMLCanvasElement to use for the billboard.",!1,!1,[this,"image"]),new Pt("偏移","translation",!1,!1,[this,"translation"])])])]}};d(Ia,"type",Ia.register("ESBlastParticleSystem",Ia,{chsName:"粒子爆炸",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"粒子爆炸"})),d(Ia,"defaults",{...q.defaults,image:"${earthsdk3-assets-script-dir}/assets/img/smoke.png",translation:[0,0,0]});let ho=Ia;(n=>{n.createDefaultProps=()=>({...q.createDefaultProps(),image:"${earthsdk3-assets-script-dir}/assets/img/smoke.png",positionEditing:void 0,translation:c.reactArray([0,0,0])})})(ho||(ho={})),c.extendClassProps(ho.prototype,ho.createDefaultProps);const Jt=class Jt extends q{get typeName(){return"ESBoxClipping"}get defaultProps(){return{...Jt.createDefaultProps()}}constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new k("反转","reverse",!1,!1,[this,"reverse"],Jt.defaults.reverse),new Pt("尺寸","长宽高",!1,!1,[this,"size"],Jt.defaults.size),new Z("边框颜色","edgeColor",!1,!1,[this,"edgeColor"],Jt.defaults.edgeColor),new S("边框宽度","edgeWidth",!1,!1,[this,"edgeWidth"],Jt.defaults.edgeWidth),new J("瓦片图层","targetID",!1,!1,[this,"targetID"],Jt.defaults.targetID)]}}getProperties(e){return[...super.getProperties(e),new z("通用","通用",[new k("reverse","reverse",!1,!1,[this,"reverse"],Jt.defaults.reverse),new Z("edgeColor","edgeColor",!1,!1,[this,"edgeColor"],Jt.defaults.edgeColor),new S("edgeWidth","edgeWidth",!1,!1,[this,"edgeWidth"],Jt.defaults.edgeWidth),new Pt("尺寸","长宽高",!1,!1,[this,"size"],Jt.defaults.size),new J("targetID","targetID",!1,!1,[this,"targetID"],Jt.defaults.targetID)])]}};d(Jt,"type",Jt.register("ESBoxClipping",Jt,{chsName:"体剖切",tags:["ESObjects","_ES_Impl_Cesium"],description:"体剖切,体裁剪,体裁切,盒裁切"})),d(Jt,"defaults",{...q.defaults,reverse:!1,edgeColor:[1,1,1,1],edgeWidth:1,size:[10,10,10],targetID:""});let fo=Jt;(n=>{n.createDefaultProps=()=>({...q.createDefaultProps(),reverse:!1,edgeColor:c.reactArray([1,1,1,1]),edgeWidth:2,size:c.reactArray([10,10,10]),targetID:""})})(fo||(fo={})),c.extendClassProps(fo.prototype,fo.createDefaultProps);const Qi=class Qi extends q{constructor(){super(...arguments);d(this,"_thumbnail",this.dv(c.react("")));d(this,"_duration",this.dv(c.react(1)));d(this,"_resetWithCurrentCameraEvent",this.dv(new c.Event));d(this,"_captureEvent",this.dv(new c.Event))}get typeName(){return"ESCameraView"}get defaultProps(){return Qi.createDefaultProps()}get thumbnail(){return this._thumbnail.value}set thumbnail(t){this._thumbnail.value=t}get thumbnailChanged(){return this._thumbnail.changed}get duration(){return this._duration.value}set duration(t){this._duration.value=t}get durationChanged(){return this._duration.changed}flyIn(t=1,r="default"){this.flyInEvent.emit(t,-1,r)}get resetWithCurrentCameraEvent(){return this._resetWithCurrentCameraEvent}resetWithCurrentCamera(){this._resetWithCurrentCameraEvent.emit()}get captureEvent(){return this._captureEvent}capture(t,r){this._captureEvent.emit(t,r)}execOnCreating(){this.resetWithCurrentCamera()}async initByCurrent(){this.resetWithCurrentCamera()}getProperties(t){return[...super.getProperties(t),new z("ESCameraView","ESCameraView",[new ie("设置为当前视角","resetWithCurrentCamera",[],()=>this.resetWithCurrentCamera(),[]),new ie("获取缩略图","获取缩略图",["number","number"],(r,i)=>this.capture(r,i),[Qi.defaults.thumbnailWidth,Qi.defaults.thumbnailHeight]),new J("缩略图","缩略图",!0,!1,[this,"thumbnail"]),new S("飞行时间","飞行时间(秒)",!0,!1,[this,"duration"])])]}};d(Qi,"type",Qi.register("ESCameraView",Qi,{chsName:"视角",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"视角"})),d(Qi,"defaults",{...q.defaults,thumbnailWidth:64,thumbnailHeight:64,duration:1,thumbnail:""});let Ts=Qi;(n=>{n.createDefaultProps=()=>({...q.createDefaultProps()})})(Ts||(Ts={})),c.extendClassProps(Ts.prototype,Ts.createDefaultProps);class cc extends c.Destroyable{constructor(t,r,i){super();d(this,"_view",this.dv(new Ts));if(this.d(t.components.disposableAdd(this._view)),this._view.name=(i==null?void 0:i.name)??`视角${t.views.length+1}`,r){const a=this._view,l=r;a.duration=l.duration??1,a.position=l.position,a.rotation=l.rotation??[0,0,0],a.thumbnail=l.thumbnail??"",a.name=l.name}else{const a=(i==null?void 0:i.size)??[64,64];this.d(c.nextAnimateFrame(()=>{this._view.resetWithCurrentCamera(),this._view.capture(a[0],a[1])}))}const s=this._view,o=this.dv(c.createNextAnimateFrameEvent(s.durationChanged,s.positionChanged,s.rotationChanged,s.thumbnailChanged,s.nameChanged));this.d(o.don(()=>t.emitViewsWarpper()))}get view(){return this._view}get viewInfo(){const t=this._view;return{duration:t.duration,position:t.position,rotation:t.rotation,thumbnail:t.thumbnail,name:t.name}}}const _r=class _r extends j{constructor(t){super(t);d(this,"_currentViewIndex",this.dv(c.react(-1)));d(this,"_viewWrappers",this.dv(new c.ObservableArray));d(this,"_currentViewWrapper",this.dv(c.react(void 0)));d(this,"_container",this.dv(c.react(void 0)));{const r=this.dv(c.createProcessingFromAsyncFunc(async s=>{var o;do{if(!this.flyToNextView())break;const a=this.intervalTime??_r.defaults.intervalTime,u=((((o=this._currentViewWrapper.value)==null?void 0:o.viewInfo.duration)??0)+a)*1e3;await s.promise(c.sleep(u))}while(!0);this.playing=!1})),i=()=>{this.playing?r.restart():r.cancel()};i(),this.d(this.playingChanged.don(i))}{const r=()=>{if(!this._currentViewWrapper.value)return;this._viewWrappers.indexOf(this._currentViewWrapper.value)===-1&&(this._currentViewWrapper.value=void 0)};r(),this.d(this._viewWrappers.changedEvent.don(r))}{const r=()=>{const i=this._currentViewWrapper.value;this._currentViewIndex.value=i?this._getIndex(i):-1};r(),this.d(this._viewWrappers.changedEvent.don(r)),this.d(this._currentViewWrapper.changed.don(r))}this.d(()=>{this.clearAllViews()})}get typeName(){return"ESCameraViewCollection"}get defaultProps(){return _r.createDefaultProps()}get json(){return{...this._innerGetJson(),views:this.views}}set json(t){this._innerSetJson(t),this.views=t.views}get currentViewIndex(){return this._currentViewIndex.value}get currentViewIndexChanged(){return this._currentViewIndex.changed}emitViewsWarpper(){this._viewWrappers.changedEvent.emit(this._viewWrappers)}get container(){return this._container.value}get containerChanged(){return this._container.changed}set container(t){this._container.value=t}get views(){return Uh(this._viewWrappers,t=>t.viewInfo)}get viewsChanged(){return this._viewWrappers.changedEvent}set views(t){if(t.length===this._viewWrappers.length){const r=this._viewWrappers;if(t.every((i,s)=>{const o=r.get(s).view;return i.duration===o.duration&&wc(i.position,o.position)&&wc(i.rotation,o.rotation)&&i.thumbnail===o.thumbnail&&i.name===o.name}))return}this.clearAllViews();for(let r of t)this._viewWrappers.push(new cc(this,r))}_getIndex(t){return this._viewWrappers.indexOf(t)}clearAllViews(){for(let t of this._viewWrappers)t.destroy();this._viewWrappers.length=0}add(t=`视角${this.views.length+1}`,r=[64,64]){this._viewWrappers.push(new cc(this,void 0,{name:t,size:r}))}update(t,r,i=[64,64]){if(t>=this._viewWrappers.length||t<0)return console.warn("index >= this._viewWrappers.length || index < 0"),!1;const s=this._viewWrappers.get(t);r&&(s.view.name=r),s.view.resetWithCurrentCamera(),s.view.capture(i[0],i[1])}addView(){this._viewWrappers.push(new cc(this))}insertView(t){if(this._viewWrappers.length+1<=t||t<0){console.error("this._views.length <= index || index < 0");return}this._viewWrappers.splice(t,0,new cc(this))}setCurrentView(t){if(t>=this._viewWrappers.length||t<0)return console.warn("index >= this._viewWrappers.length || index < 0"),!1;const r=this._viewWrappers.get(t);return this._currentViewWrapper.value=r,!0}resetView(t){if(t>=this._viewWrappers.length||t<0){console.warn("index >= this._viewWrappers.length || index < 0");return}const r=this._viewWrappers.get(t);r.view.resetWithCurrentCamera(),r.view.capture()}resetViewName(t,r){if(t>=this._viewWrappers.length||t<0){console.warn("index >= this._viewWrappers.length || index < 0");return}const i=this._viewWrappers.get(t);i.view.name=r}updateView(t,r){if(t>=this._viewWrappers.length||t<0)return console.warn("index >= this._viewWrappers.length || index < 0"),!1;const i=this._viewWrappers.get(t);i.view.position=r.position,i.view.rotation=r.rotation??[0,0,0],i.view.duration=r.duration??1,i.view.thumbnail=r.thumbnail??"",i.view.name=r.name??""}flyToView(t){if(this.setCurrentView(t)){if(!this._currentViewWrapper.value)throw new Error("this._currentViewWrapper.value");const r=this._currentViewWrapper.value.view.duration;this._currentViewWrapper.value.view.flyIn(r,this.flyMode??_r.defaults.flyMode)}}flyToPrevView(){const t=this._currentViewWrapper.value;if(!t)return this.flyToView(0),!0;const r=this._getIndex(t);return this.loop??_r.defaults.loop?(this.flyToView((this._viewWrappers.length+r-1)%this._viewWrappers.length),!0):r-1<0?!1:(this.flyToView(r-1),!0)}moveToPreView(){const t=this._currentViewWrapper.value;if(!t)return;const r=this._getIndex(t);if(r===0)return;const i=this._viewWrappers.splice(r-1,1,t)[0];this._viewWrappers.set(r,i)}moveToNextView(){const t=this._currentViewWrapper.value;if(!t)return;const r=this._getIndex(t);if(r===this._viewWrappers.length-1)return;const i=this._viewWrappers.splice(r+1,1,t)[0];this._viewWrappers.set(r,i)}flyToNextView(){const t=this._currentViewWrapper.value;if(!t)return this.flyToView(0),!0;const r=this._getIndex(t);return this.loop??_r.defaults.loop?(this.flyToView((r+1)%this._viewWrappers.length),!0):r+1>this._viewWrappers.length-1?!1:(this.flyToView(r+1),!0)}stop(){this._currentViewWrapper.value=void 0,this.playing=!1}deleteView(t){if(t<0||t>=this._viewWrappers.length){console.warn("index < 0 || index >= this._viewWrappers.length");return}this._viewWrappers.get(t).destroy(),this._viewWrappers.splice(t,1)}deleteCurrentView(){const t=this._currentViewWrapper.value;if(!t){console.warn("!this._currentViewWrapper.value");return}const r=this._getIndex(t);if(r===-1){console.warn("index === -1");return}this.deleteView(r)}transitionImageUrl(t){return j.context.getStrFromEnv(t)}getProperties(t){return[...super.getProperties(t),new z("ESCameraViewCollection","ESCameraViewCollection",[new Y("飞行模式","flyMode",!1,!1,[this,"flyMode"],_r.defaults.flyModes,_r.defaults.flyMode),new ie("添加视角","添加视角",[],()=>this.addView(),[]),new ie("插入视角","插入视角",["number"],r=>this.insertView(r),[0]),new ie("清空所有视角","清空所有视角",[],()=>this.clearAllViews(),[]),new ie("当前位置插入视角","当前位置插入视角",[],()=>this.insertView(this.currentViewIndex+1),[]),new ie("上一个视角","上一个视角",[],()=>this.flyToPrevView(),[]),new ie("下一个视角","下一个视角",[],()=>this.flyToNextView(),[]),new ie("当前视角移动到上一个视角","当前视角移动到上一个视角",[],()=>this.moveToPreView(),[]),new ie("当前视角移动到下一个视角","当前视角移动到下一个视角",[],()=>this.moveToNextView(),[]),new ie("飞入指定视角","飞入指定视角",["number"],r=>this.flyToView(r),[0]),new ie("设置当前视角","设置当前视角",["number"],r=>this.setCurrentView(r),[0]),new ie("删除当前视角","删除当前视角",[],()=>this.deleteCurrentView(),[]),new ie("删除指定视角","删除指定视角",["number"],r=>this.deleteView(r),[0]),new ie("重置视角","重置视角",["number"],r=>this.resetView(r),[0]),new S("当前序号","当前序号",!1,!0,[this,"currentViewIndex"]),new Rh("播放","播放",[this,"playing"],()=>this.stop(),[this,"loop"],_r.defaults),new k("是否播放","是否播放.",!1,!1,[this,"playing"]),new ie("停止","停止",[],()=>this.stop(),[]),new k("是否循环","是否循环.",!1,!1,[this,"loop"]),new S("间隔时间","间隔时间(s)",!1,!1,[this,"intervalTime"]),new G("视角集合","类型为ESJViewInfo[]",!0,!1,[this,"views"],_r.defaults.views)])]}};d(_r,"type",_r.register("ESCameraViewCollection",_r,{chsName:"视角集合",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"视角集合"})),d(_r,"defaults",{...j.defaults,loop:!0,playing:!1,intervalTime:5,duration:1,views:[],flyMode:"default",flyModes:[["默认","default"],["直线飞行","uniform"]]});let bs=_r;(n=>{n.createDefaultProps=()=>({...j.createDefaultProps(),playing:!1,loop:!0,intervalTime:5,flyMode:"default"})})(bs||(bs={})),c.extendClassProps(bs.prototype,bs.createDefaultProps);const Ta=class Ta extends q{constructor(t){super(t);d(this,"editingBindMode","doublePoints")}get typeName(){return"ESCameraVisibleRange"}get defaultProps(){return Ta.createDefaultProps()}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new S("宽高比","aspectRatio",!1,!1,[this,"aspectRatio"],1.77778),new S("横向夹角","fov",!1,!1,[this,"fov"],90),new S("视野长度","far",!1,!1,[this,"far"],100),new S("近面距离","near",!1,!1,[this,"near"],5)]}}getProperties(t){return[...super.getProperties(t),new S("横向夹角","fov",!1,!1,[this,"fov"]),new S("宽高比","aspectRatio",!1,!1,[this,"aspectRatio"]),new S("视野长度","far",!1,!1,[this,"far"]),new S("近面距离","near",!1,!1,[this,"near"])]}};d(Ta,"type",Ta.register("ESCameraVisibleRange",Ta,{chsName:"摄像头可视域",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"摄像头可视域"})),d(Ta,"defaults",{...q.defaults,fov:90,aspectRatio:1.77778,far:100,near:5,collision:!1});let po=Ta;(n=>{n.createDefaultProps=()=>({...q.createDefaultProps(),fov:90,aspectRatio:1.77778,far:100,near:5,collision:!1})})(po||(po={})),c.extendClassProps(po.prototype,po.createDefaultProps);const Bi=class Bi extends q{get typeName(){return"ESCar"}get defaultProps(){return Bi.createDefaultProps()}constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new Y("模式","mode",!1,!1,[this,"mode"],Bi.defaults.modeEnum,"policeCar")]}}getProperties(e){return[...super.getProperties(e),new z("通用","通用",[new Y("mode","mode",!1,!1,[this,"mode"],Bi.defaults.modeEnum)])]}};d(Bi,"type",Bi.register("ESCar",Bi,{chsName:"车辆",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"警车等基础车辆模型"})),d(Bi,"defaults",{...q.defaults,modeEnum:[["警车","policeCar"]],mode:"policeCar"});let go=Bi;(n=>{n.createDefaultProps=()=>({...q.createDefaultProps(),mode:"policeCar",allowPicking:!0})})(go||(go={})),c.extendClassProps(go.prototype,go.createDefaultProps);const Ls=class Ls extends ce{constructor(t){super(t);d(this,"editingBindMode","circular");this.fillGround=!0}get typeName(){return"ESClassification"}get defaultProps(){return Ls.createDefaultProps()}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new S("高度","高度",!1,!1,[this,"height"],10)],coordinate:[...t.coordinate,new S("面积","面积",!1,!0,[this,"area"]),new S("周长","周长",!1,!0,[this,"perimeter"])]}}getProperties(t){return[...super.getProperties(t),new z("通用","通用",[new S("高度","高度",!1,!1,[this,"height"])])]}};d(Ls,"type",Ls.register("ESClassification",Ls,{chsName:"倾斜单体化",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"平尾箭头"})),d(Ls,"supportEditingModes",[...ce.supportEditingModes,se.CircularAppend,se.CircularInsert,se.HeightModify]),d(Ls,"defaults",{...ce.defaults,fillStyle:{material:"",materialParams:{},ground:!0,color:[1,1,1,1]},filled:!0});let Ns=Ls;(n=>{n.createDefaultProps=()=>({...ce.createDefaultProps(),height:10,filled:!0})})(Ns||(Ns={})),c.extendClassProps(Ns.prototype,Ns.createDefaultProps);const ba=class ba extends q{get typeName(){return"ESClippingPlane"}get defaultProps(){return ba.createDefaultProps()}constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new k("显示箭头","显示箭头",!1,!1,[this,"showArrow"],!0),new Z("线框颜色","edgeColor",!1,!1,[this,"edgeColor"],[1,1,1,1]),new S("线框宽度","edgetWidth",!1,!1,[this,"edgetWidth"],2),new S("裁剪宽度","width",!1,!1,[this,"width"],200),new S("裁剪高度","height",!1,!1,[this,"height"],200),new J("瓦片图层","targetID",!1,!1,[this,"targetID"],"")]}}getProperties(e){return[...super.getProperties(e),new z("通用","通用",[new z("czm","czm",[new k("显示箭头","显示箭头",!1,!1,[this,"showArrow"]),new Z("edgeColor","edgeColor",!1,!1,[this,"edgeColor"]),new S("edgetWidth","edgetWidth",!1,!1,[this,"edgetWidth"]),new S("width","width",!1,!1,[this,"width"]),new S("height","height",!1,!1,[this,"height"]),new J("targetID","targetID",!1,!1,[this,"targetID"])])])]}};d(ba,"type",ba.register("ESClippingPlane",ba,{chsName:"裁切",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESClippingPlane"})),d(ba,"defaults",{...q.defaults});let mo=ba;(n=>{n.createDefaultProps=()=>({...q.createDefaultProps(),showArrow:!0,edgeColor:c.reactArray([1,1,1,1]),edgetWidth:2,width:200,height:200,targetID:""})})(mo||(mo={})),c.extendClassProps(mo.prototype,mo.createDefaultProps);class Ry extends c.Destroyable{constructor(e,t,r){super();const i=document.createElement("div");i.setAttribute("xe2-div",`ESCustomDiv(${t.id})(viewer: ${r.id}) container`);{const l=()=>{const h=`${t.cssText}
45
46
  ${t.cssAllInitial?"all: initial;":""}
46
47
  ${t.show?"":"display: none"}
47
- `;i.style.cssText=h};l();const u=this.dv(c.createNextAnimateFrameEvent(t.cssAllInitialChanged,t.cssTextChanged,t.showChanged));this.d(u.don(l))}e.appendChild(i),this.d(()=>e.removeChild(i));const s=this.dv(c.createNextAnimateFrameEvent(t.instanceClassChanged,t.containerChanged,t.shadowDomChanged)),o=this.dv(new c.ObjResettingWithEvent(s,()=>{const{instanceClass:l,container:u}=t;if(!l||u)return;let h=i;if(i.firstElementChild&&i.removeChild(i.firstElementChild),t.shadowDom){const f=i.appendChild(document.createElement("div"));f.setAttribute("xe2-div",`ESCustomDiv(${t.id})(viewer: ${r.id}) container shadowDiv`),h=f.attachShadow({mode:"open"}).appendChild(document.createElement("div")),h.setAttribute("xe2-div",`ESCustomDiv(${t.id})(viewer: ${r.id}) container shadowDiv div`)}return new l(h,t,r)})),{_updateEvent:a}=t;this.d(a.don(l=>{if(o.obj)try{l(o.obj,t,r)}catch(u){console.error(`ESCustomDiv update error! ${u}`)}}))}}const dd=`class MyDiv extends XE2['xe2-base-utils'].Destroyable {
48
+ `;i.style.cssText=h};l();const u=this.dv(c.createNextAnimateFrameEvent(t.cssAllInitialChanged,t.cssTextChanged,t.showChanged));this.d(u.don(l))}e.appendChild(i),this.d(()=>e.removeChild(i));const s=this.dv(c.createNextAnimateFrameEvent(t.instanceClassChanged,t.containerChanged,t.shadowDomChanged)),o=this.dv(new c.ObjResettingWithEvent(s,()=>{const{instanceClass:l,container:u}=t;if(!l||u)return;let h=i;if(i.firstElementChild&&i.removeChild(i.firstElementChild),t.shadowDom){const f=i.appendChild(document.createElement("div"));f.setAttribute("xe2-div",`ESCustomDiv(${t.id})(viewer: ${r.id}) container shadowDiv`),h=f.attachShadow({mode:"open"}).appendChild(document.createElement("div")),h.setAttribute("xe2-div",`ESCustomDiv(${t.id})(viewer: ${r.id}) container shadowDiv div`)}return new l(h,t,r)})),{_updateEvent:a}=t;this.d(a.don(l=>{if(o.obj)try{l(o.obj,t,r)}catch(u){console.error(`ESCustomDiv update error! ${u}`)}}))}}const pp=`class MyDiv extends XE2['xe2-base-utils'].Destroyable {
48
49
  // subContainer是外部视口的div容器,可以在这里创建自己需要的DOM元素
49
50
  // customDiv指向当前的CustomDiv场景对象
50
51
  // viewer指定当前的视口
@@ -90,9 +91,9 @@ ${t.show?"":"display: none"}
90
91
  }
91
92
  }`,Fy=`示例代码:
92
93
  \`\`\`
93
- ${dd}
94
+ ${pp}
94
95
  \`\`\`
95
- `,tn=class tn extends j{constructor(t){super(t);p(this,"_updateEvent",this.dv(new c.Event));p(this,"_instanceClassReact",this.dv(c.react(void 0)));p(this,"_innerHtmlMounted",this.dv(new c.Event));p(this,"_container",this.dv(c.react(void 0)));this.registerAttachedObjectForContainer((i,s)=>new Ry(s,this,i));{const i=()=>{try{this.instanceClass=this.instanceClassStr&&Function(`"use strict";return (${this.instanceClassStr})`)()}catch{this.instanceClass=void 0}};i(),this.d(this.instanceClassStrChanged.don(i))}{const i=()=>{if(this.innerHTML===void 0){this.instanceClassStr=void 0;return}const s=`class MyDiv extends XE2['xe2-base-utils'].Destroyable {
96
+ `,tn=class tn extends j{constructor(t){super(t);d(this,"_updateEvent",this.dv(new c.Event));d(this,"_instanceClassReact",this.dv(c.react(void 0)));d(this,"_innerHtmlMounted",this.dv(new c.Event));d(this,"_container",this.dv(c.react(void 0)));this.registerAttachedObjectForContainer((i,s)=>new Ry(s,this,i));{const i=()=>{try{this.instanceClass=this.instanceClassStr&&Function(`"use strict";return (${this.instanceClassStr})`)()}catch{this.instanceClass=void 0}};i(),this.d(this.instanceClassStrChanged.don(i))}{const i=()=>{if(this.innerHTML===void 0){this.instanceClassStr=void 0;return}const s=`class MyDiv extends XE2['xe2-base-utils'].Destroyable {
96
97
  // subContainer是外部视口的div容器,可以在这里创建自己需要的DOM元素
97
98
  // customDiv指向当前的CustomDiv场景对象
98
99
  // viewer指定当前的视口
@@ -120,13 +121,13 @@ ${dd}
120
121
  }`;this.instanceClassStr=s};i(),this.d(this.innerHTMLChanged.don(i))}const r=document.createElement("div");r.setAttribute("xe2-div",`ESCustomDiv(${this.id}) container`);{const i=()=>{const o=`${this.cssText};
121
122
  ${this.cssAllInitial?"all: initial;":""}
122
123
  ${this.show?"":"display: none;"}
123
- `;r.style.cssText=o};i();const s=this.dv(c.createNextAnimateFrameEvent(this.cssAllInitialChanged,this.cssTextChanged,this.showChanged));this.d(s.don(i))}{const i=()=>{if(this.containerId===void 0||this.containerId==="")this.container=void 0;else{const s=document.getElementById(this.containerId);s instanceof HTMLElement?this.container=s:(this.container=void 0,console.warn(`Div from containerId(${this.containerId}) is not HTMLDivElement!`))}};i(),this.d(this.containerIdChanged.don(i))}{class i extends c.Destroyable{constructor(o){super(),o.appendChild(r),this.d(()=>o.removeChild(r))}}this.dv(new c.ObjResettingWithEvent(this.containerChanged,()=>{if(this.container)return new i(this.container)}))}{const i=this.dv(c.createNextAnimateFrameEvent(this.containerChanged,this.instanceClassChanged,this.shadowDomChanged));this.dv(new c.ObjResettingWithEvent(i,()=>{if(!this.container||!this.instanceClass)return;let s=r;if(r.firstElementChild&&r.removeChild(r.firstElementChild),this.shadowDom){const o=r.appendChild(document.createElement("div"));o.setAttribute("xe2-div","ESCustomDiv container shadowDiv"),s=o.attachShadow({mode:"open"}).appendChild(document.createElement("div")),s.setAttribute("xe2-div","ESCustomDiv container shadowDiv div")}return new this.instanceClass(s,this,void 0)}))}}get typeName(){return"ESCustomDiv"}get defaultProps(){return tn.createDefaultProps()}update(t){this._updateEvent.emit(t)}get instanceClass(){return this._instanceClassReact.value}set instanceClass(t){this._instanceClassReact.value=t}get instanceClassChanged(){return this._instanceClassReact.changed}get innerHtmlMounted(){return this._innerHtmlMounted}get container(){return this._container.value}get containerChanged(){return this._container.changed}set container(t){this._container.value=t}getProperties(t){const r=i=>{i||alert("evalFuncStr为空,无法执行!");try{const s=i&&Function(`"use strict";return (${i})`)();this.update(s)}catch(s){alert(`updateDivFunc error: ${s}`)}};return[...super.getProperties(t),new z("ESCustomDiv","ESCustomDiv",[new k("显示","显示",!1,!1,[this,"show"]),new ei("实例类","实例类",!0,!1,[this,"instanceClassStr"],dd,Fy),new ei("innerHTML","注意设置此属性设置此属性会自动更新instanceClassStr变量",!0,!1,[this,"innerHTML"],tn.defaultInnerHTML,tn.innerHTMLReadMe),new ie("强制更新","强制更新",["string"],r,["(divClass, dom, viewer) => divClass.update && divClass.update()"]),new k("允许拾取","是否允许拾取",!0,!1,[this,"allowPicking"]),new J("容器ID","容器的ID,如果设置,CustomDiv将自动放入容器,否则放入各个视口中。",!0,!1,[this,"containerId"],tn.defaults.containerId),new k("shadowDom","shadowDom",!1,!1,[this,"shadowDom"]),new k("cssAllInitial","cssAllInitial",!1,!1,[this,"cssAllInitial"]),new J("cssText","cssText",!1,!1,[this,"cssText"])])]}};p(tn,"type",tn.register("ESCustomDiv",tn,{chsName:"ESCustomDiv",tags:["ESObjects"],description:"自定义div"})),p(tn,"defaults",{...j.defaults,show:!0,containerId:""}),p(tn,"defaultInnerHTML",`<!-- z-index样式需要设置,否则可能导致看不到!-->
124
+ `;r.style.cssText=o};i();const s=this.dv(c.createNextAnimateFrameEvent(this.cssAllInitialChanged,this.cssTextChanged,this.showChanged));this.d(s.don(i))}{const i=()=>{if(this.containerId===void 0||this.containerId==="")this.container=void 0;else{const s=document.getElementById(this.containerId);s instanceof HTMLElement?this.container=s:(this.container=void 0,console.warn(`Div from containerId(${this.containerId}) is not HTMLDivElement!`))}};i(),this.d(this.containerIdChanged.don(i))}{class i extends c.Destroyable{constructor(o){super(),o.appendChild(r),this.d(()=>o.removeChild(r))}}this.dv(new c.ObjResettingWithEvent(this.containerChanged,()=>{if(this.container)return new i(this.container)}))}{const i=this.dv(c.createNextAnimateFrameEvent(this.containerChanged,this.instanceClassChanged,this.shadowDomChanged));this.dv(new c.ObjResettingWithEvent(i,()=>{if(!this.container||!this.instanceClass)return;let s=r;if(r.firstElementChild&&r.removeChild(r.firstElementChild),this.shadowDom){const o=r.appendChild(document.createElement("div"));o.setAttribute("xe2-div","ESCustomDiv container shadowDiv"),s=o.attachShadow({mode:"open"}).appendChild(document.createElement("div")),s.setAttribute("xe2-div","ESCustomDiv container shadowDiv div")}return new this.instanceClass(s,this,void 0)}))}}get typeName(){return"ESCustomDiv"}get defaultProps(){return tn.createDefaultProps()}update(t){this._updateEvent.emit(t)}get instanceClass(){return this._instanceClassReact.value}set instanceClass(t){this._instanceClassReact.value=t}get instanceClassChanged(){return this._instanceClassReact.changed}get innerHtmlMounted(){return this._innerHtmlMounted}get container(){return this._container.value}get containerChanged(){return this._container.changed}set container(t){this._container.value=t}getProperties(t){const r=i=>{i||alert("evalFuncStr为空,无法执行!");try{const s=i&&Function(`"use strict";return (${i})`)();this.update(s)}catch(s){alert(`updateDivFunc error: ${s}`)}};return[...super.getProperties(t),new z("ESCustomDiv","ESCustomDiv",[new k("显示","显示",!1,!1,[this,"show"]),new ei("实例类","实例类",!0,!1,[this,"instanceClassStr"],pp,Fy),new ei("innerHTML","注意设置此属性设置此属性会自动更新instanceClassStr变量",!0,!1,[this,"innerHTML"],tn.defaultInnerHTML,tn.innerHTMLReadMe),new ie("强制更新","强制更新",["string"],r,["(divClass, dom, viewer) => divClass.update && divClass.update()"]),new k("允许拾取","是否允许拾取",!0,!1,[this,"allowPicking"]),new J("容器ID","容器的ID,如果设置,CustomDiv将自动放入容器,否则放入各个视口中。",!0,!1,[this,"containerId"],tn.defaults.containerId),new k("shadowDom","shadowDom",!1,!1,[this,"shadowDom"]),new k("cssAllInitial","cssAllInitial",!1,!1,[this,"cssAllInitial"]),new J("cssText","cssText",!1,!1,[this,"cssText"])])]}};d(tn,"type",tn.register("ESCustomDiv",tn,{chsName:"ESCustomDiv",tags:["ESObjects"],description:"自定义div"})),d(tn,"defaults",{...j.defaults,show:!0,containerId:""}),d(tn,"defaultInnerHTML",`<!-- z-index样式需要设置,否则可能导致看不到!-->
124
125
  <div style="width: 300px; height: 50px; z-index: 100; position: absolute; left: 10px; top: 10px; background: rgba(120, 120, 0, 0.7); color: white; font-size: 30px; line-height: 50px; border: 1px solid white;">Hello world!</div>
125
- `),p(tn,"innerHTMLReadMe",`示例代码:
126
+ `),d(tn,"innerHTMLReadMe",`示例代码:
126
127
  \`\`\`
127
128
  ${tn.defaultInnerHTML}
128
129
  \`\`\`
129
- `);let Ds=tn;(n=>{n.createDefaultProps=()=>({...j.createDefaultProps(),show:!0,instanceClassStr:void 0,innerHTML:void 0,allowPicking:void 0,containerId:void 0,shadowDom:!1,cssAllInitial:!1,cssText:""})})(Ds||(Ds={})),c.extendClassProps(Ds.prototype,Ds.createDefaultProps);const Si=class Si extends q{constructor(t){super(t);p(this,"_maxTime",this.dv(c.react(Si.defaults.maxTime)))}get typeName(){return"ESDataMesh"}get defaultProps(){return Si.createDefaultProps()}get maxTime(){return this._maxTime.value}get maxTimeChanged(){return this._maxTime.changed}getProperties(t){return[...super.getProperties(t),new z("通用","通用",[new G("url","url",!1,!1,[this,"url"]),new S("maxTime","maxTime",!0,!0,[this,"maxTime"],Si.defaults.maxTime),new S("currentTime","currentTime",!1,!1,[this,"currentTime"]),new S("minPropValue","minPropValue",!1,!1,[this,"minPropValue"]),new S("maxPropValue","maxPropValue",!1,!1,[this,"maxPropValue"]),new G("colorStops","colorStops",!0,!1,[this,"colorStops"],Si.defaults.colorStops)])]}};p(Si,"type",Si.register("ESDataMesh",Si,{chsName:"数值面着色",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"数值面着色"})),p(Si,"defaults",{...q.defaults,url:"http://114.242.26.126:6003/ESDataMesh/water-assets2/",maxTime:23,currentTime:0,minPropValue:0,maxPropValue:1,colorStops:[{ratio:0,rgba:[0,0,1,1]},{ratio:.2,rgba:[0,1,0,1]},{ratio:.8,rgba:[1,1,0,1]},{ratio:1,rgba:[1,0,0,1]}]});let vo=Si;(n=>{n.createDefaultProps=()=>({...q.createDefaultProps(),url:"http://114.242.26.126:6003/ESDataMesh/water-assets2/",currentTime:0,minPropValue:0,maxPropValue:1,colorStops:c.reactJsonWithUndefined(void 0)})})(vo||(vo={})),c.extendClassProps(vo.prototype,vo.createDefaultProps);const As=class As extends ce{constructor(t){super(t);p(this,"_distance",this.dv(c.react(0)));p(this,"editingBindMode","lineString");const r=()=>{if(this.points&&this.points.length>=2){const i=Tl(this.points,"GEODESIC"),s=i[i.length-1];this._distance.value=s}else this._distance.value=0};r(),this.d(this.pointsChanged.don(r))}get typeName(){return"ESGeoLineString"}get defaultProps(){return As.createDefaultProps()}get distance(){return this._distance.value}get distanceChanged(){return this._distance.changed}getESProperties(){const t={...super.getESProperties()};return{...t,coordinate:[...t.coordinate,new S("长度","距离",!1,!0,[this,"distance"])],style:[new z("点样式","点样式集合",[]),new k("开启","开启点样式",!1,!1,[this,"pointed"],!1),new S("点大小","点大小(pointSize)",!1,!1,[this,"pointSize"],1),new Y("点类型","点类型(pointSizeType)",!1,!1,[this,"pointSizeType"],[["screen","screen"],["world","world"]],"screen"),new Z("点颜色","点颜色(pointColor)",!1,!1,[this,"pointColor"],[1,1,1,1]),new z("线样式","线样式集合",[]),new k("开启","开启线样式",!1,!1,[this,"stroked"],!0),new k("贴地","是否贴地(线)",!1,!1,[this,"strokeGround"]),new S("线宽","线宽(strokeWidth)",!1,!1,[this,"strokeWidth"],1),new Y("线类型","线类型(strokeWidthType)",!1,!1,[this,"strokeWidthType"],[["screen","screen"],["world","world"]],"screen"),new Z("线颜色","线颜色(strokeColor)",!1,!1,[this,"strokeColor"],[1,1,1,1])]}}getProperties(t){return[...super.getProperties(t),new z("计算","计算",[new S("距离","距离",!1,!0,[this,"distance"])])]}};p(As,"type",As.register("ESGeoLineString",As,{chsName:"地理折线",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"地理折线"})),p(As,"supportEditingModes",[...ce.supportEditingModes,se.LineStringAppend,se.LineStringInsert]),p(As,"defaults",{...ce.defaults,strokeStyle:{width:1,widthType:"screen",color:[1,1,1,1],material:"",materialParams:{},ground:!1},stroked:!0});let Or=As;(n=>{n.createDefaultProps=()=>({...ce.createDefaultProps(),stroked:!0,strokeStyle:c.reactJson(n.defaults.strokeStyle)})})(Or||(Or={})),c.extendClassProps(Or.prototype,Or.createDefaultProps);const Na=class Na extends Or{get typeName(){return"ESDistanceMeasurement"}get defaultProps(){return Na.createDefaultProps()}get strokeColor(){return this.strokeStyle.color}set strokeColor(e){this.strokeStyle={...this.strokeStyle,color:[...e]}}constructor(e){super(e)}getProperties(e){return[...super.getProperties(e)]}};p(Na,"type",Na.register("ESDistanceMeasurement",Na,{chsName:"距离测量",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"距离测量"})),p(Na,"defaults",{...Or.defaults,strokeStyle:{width:2,widthType:"screen",color:[1,1,1,1],material:"",materialParams:{},ground:!1}});let yo=Na;(n=>{n.createDefaultProps=()=>({...Or.createDefaultProps(),strokeStyle:c.reactJson(n.defaults.strokeStyle)})})(yo||(yo={})),c.extendClassProps(yo.prototype,yo.createDefaultProps);const $i=class $i extends ye{get typeName(){return"ESExcavate"}get defaultProps(){return $i.createDefaultProps()}constructor(e){super(e),this.filled=!1}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new Y("模式","mode",!1,!1,[this,"mode"],$i.defaults.modes,"in"),new J("瓦片图层","targetID",!1,!1,[this,"targetID"],"")],style:[new z("点样式","点样式集合",[]),new k("开启","开启点样式",!1,!1,[this,"pointed"],!1),new S("点大小","点大小(pointSize)",!1,!1,[this,"pointSize"],1),new Y("点类型","点类型(pointSizeType)",!1,!1,[this,"pointSizeType"],[["screen","screen"],["world","world"]],"screen"),new Z("点颜色","点颜色(pointColor)",!1,!1,[this,"pointColor"],[1,1,1,1]),new z("线样式","线样式集合",[]),new k("开启","开启线样式",!1,!1,[this,"stroked"],!0),new S("线宽","线宽(strokeWidth)",!1,!1,[this,"strokeWidth"],1),new Y("线类型","线类型(strokeWidthType)",!1,!1,[this,"strokeWidthType"],[["screen","screen"],["world","world"]],"screen"),new Z("线颜色","线颜色(strokeColor)",!1,!1,[this,"strokeColor"],[1,1,1,1]),new k("是否贴地","是否贴地(线)",!1,!1,[this,"strokeGround"],!1),new z("面样式","面样式集合",[]),new k("开启","开启填充样式",!1,!1,[this,"filled"],!0),new Z("填充颜色","填充颜色(fillColor)",!1,!1,[this,"fillColor"],[1,1,1,1]),new k("是否贴地","是否贴地",!1,!1,[this,"fillGround"],!1)]}}getProperties(e){return[...super.getProperties(e),new z("通用","通用",[new Y("模式","mode",!1,!1,[this,"mode"],$i.defaults.modes),new J("目标ID","targetID",!1,!1,[this,"targetID"])])]}};p($i,"type",$i.register("ESExcavate",$i,{chsName:"挖坑",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"挖坑"})),p($i,"defaults",{...ye.defaults,stroked:!1,ground:!0,modes:[["向内","in"],["向外","out"]],targetID:"",filled:!1});let Hi=$i;(n=>{n.createDefaultProps=()=>({...ye.createDefaultProps(),mode:"in",targetID:"",filled:!1})})(Hi||(Hi={})),c.extendClassProps(Hi.prototype,Hi.createDefaultProps);const Da=class Da extends q{get typeName(){return"ESFireParticleSystem"}get defaultProps(){return Da.createDefaultProps()}constructor(e){super(e)}getESProperties(){return{...{...super.getESProperties()},defaultMenu:"general"}}getProperties(e){return[...super.getProperties(e),new z("通用","通用",[new z("czm","czm",[new Al("图片","The URI, HTMLImageElement, or HTMLCanvasElement to use for the billboard.",!1,!1,[this,"image"]),new Pt("偏移","translation",!1,!1,[this,"translation"])])])]}};p(Da,"type",Da.register("ESFireParticleSystem",Da,{chsName:"粒子烟火",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"粒子烟火"})),p(Da,"defaults",{...q.defaults,image:"${earthsdk3-assets-script-dir}/assets/img/smoke.png",translation:[0,0,0]});let _o=Da;(n=>{n.createDefaultProps=()=>({...q.createDefaultProps(),image:"",translation:c.reactArray([0,0,0])})})(_o||(_o={})),c.extendClassProps(_o.prototype,_o.createDefaultProps);const ji=class ji extends Se{get typeName(){return"ESForestTileset"}get defaultProps(){return ji.createDefaultProps()}constructor(e){super(e)}getProperties(e){return[...super.getProperties(e),new z("通用","通用",[new G("路径","路径",!0,!1,[this,"url"]),new G("treeTypes","类型为 { name: string, mesh: string, cullingDistance: number, scale: number }[]",!0,!1,[this,"treeTypes"],[]),new G("xiaoBanWidget","类型为 { class: string, pivot: [number,number], space: number }",!0,!1,[this,"xiaoBanWidget"],ji.defaults.xiaoBanWidgetDefault,ji.defaults.XiaoBanWidgetSampleValue),new J("youShiSZ","youShiSZ",!1,!1,[this,"youShiSZ"]),new J("diLei","diLei",!1,!1,[this,"diLei"]),new J("senLinLB","senLinLB",!1,!1,[this,"senLinLB"]),new J("labelMaterial","labelMaterial",!1,!1,[this,"labelMaterial"]),new S("heightOffset","heightOffset",!1,!1,[this,"heightOffset"])])]}};p(ji,"type",ji.register("ESForestTileset",ji,{chsName:"森林切片图层",tags:["ESObjects","_ES_Impl_UE"],description:"ESForestTileset"})),p(ji,"defaults",{...Se.defaults,url:"",treeTypes:[],xiaoBanWidgetDefault:{class:"WidgetBlueprint'/ESFoliage/ESDefaultXiaoBan.ESDefaultXiaoBan",pivot:[.5,1],space:1},youShiSZ:"StringTable'/ESFoliage/You_Shi_SZ.You_Shi_SZ'",diLei:"StringTable'/ESFoliage/Di_Lei.Di_Lei'",senLinLB:"StringTable'/ESFoliage/Sen_Lin_LB.Sen_Lin_LB'",labelMaterial:"Material'/ESFoliage/ES3DWidgetMaterial.ES3DWidgetMaterial'",heightOffset:40,XiaoBanWidgetSampleValue:`
130
+ `);let Ds=tn;(n=>{n.createDefaultProps=()=>({...j.createDefaultProps(),show:!0,instanceClassStr:void 0,innerHTML:void 0,allowPicking:void 0,containerId:void 0,shadowDom:!1,cssAllInitial:!1,cssText:""})})(Ds||(Ds={})),c.extendClassProps(Ds.prototype,Ds.createDefaultProps);const Si=class Si extends q{constructor(t){super(t);d(this,"_maxTime",this.dv(c.react(Si.defaults.maxTime)))}get typeName(){return"ESDataMesh"}get defaultProps(){return Si.createDefaultProps()}get maxTime(){return this._maxTime.value}get maxTimeChanged(){return this._maxTime.changed}getProperties(t){return[...super.getProperties(t),new z("通用","通用",[new G("url","url",!1,!1,[this,"url"]),new S("maxTime","maxTime",!0,!0,[this,"maxTime"],Si.defaults.maxTime),new S("currentTime","currentTime",!1,!1,[this,"currentTime"]),new S("minPropValue","minPropValue",!1,!1,[this,"minPropValue"]),new S("maxPropValue","maxPropValue",!1,!1,[this,"maxPropValue"]),new G("colorStops","colorStops",!0,!1,[this,"colorStops"],Si.defaults.colorStops)])]}};d(Si,"type",Si.register("ESDataMesh",Si,{chsName:"数值面着色",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"数值面着色"})),d(Si,"defaults",{...q.defaults,url:"http://114.242.26.126:6003/ESDataMesh/water-assets2/",maxTime:23,currentTime:0,minPropValue:0,maxPropValue:1,colorStops:[{ratio:0,rgba:[0,0,1,1]},{ratio:.2,rgba:[0,1,0,1]},{ratio:.8,rgba:[1,1,0,1]},{ratio:1,rgba:[1,0,0,1]}]});let vo=Si;(n=>{n.createDefaultProps=()=>({...q.createDefaultProps(),url:"http://114.242.26.126:6003/ESDataMesh/water-assets2/",currentTime:0,minPropValue:0,maxPropValue:1,colorStops:c.reactJsonWithUndefined(void 0)})})(vo||(vo={})),c.extendClassProps(vo.prototype,vo.createDefaultProps);const As=class As extends ce{constructor(t){super(t);d(this,"_distance",this.dv(c.react(0)));d(this,"editingBindMode","lineString");const r=()=>{if(this.points&&this.points.length>=2){const i=Tl(this.points,"GEODESIC"),s=i[i.length-1];this._distance.value=s}else this._distance.value=0};r(),this.d(this.pointsChanged.don(r))}get typeName(){return"ESGeoLineString"}get defaultProps(){return As.createDefaultProps()}get distance(){return this._distance.value}get distanceChanged(){return this._distance.changed}getESProperties(){const t={...super.getESProperties()};return{...t,coordinate:[...t.coordinate,new S("长度","距离",!1,!0,[this,"distance"])],style:[new z("点样式","点样式集合",[]),new k("开启","开启点样式",!1,!1,[this,"pointed"],!1),new S("点大小","点大小(pointSize)",!1,!1,[this,"pointSize"],1),new Y("点类型","点类型(pointSizeType)",!1,!1,[this,"pointSizeType"],[["screen","screen"],["world","world"]],"screen"),new Z("点颜色","点颜色(pointColor)",!1,!1,[this,"pointColor"],[1,1,1,1]),new z("线样式","线样式集合",[]),new k("开启","开启线样式",!1,!1,[this,"stroked"],!0),new k("贴地","是否贴地(线)",!1,!1,[this,"strokeGround"]),new S("线宽","线宽(strokeWidth)",!1,!1,[this,"strokeWidth"],1),new Y("线类型","线类型(strokeWidthType)",!1,!1,[this,"strokeWidthType"],[["screen","screen"],["world","world"]],"screen"),new Z("线颜色","线颜色(strokeColor)",!1,!1,[this,"strokeColor"],[1,1,1,1])]}}getProperties(t){return[...super.getProperties(t),new z("计算","计算",[new S("距离","距离",!1,!0,[this,"distance"])])]}};d(As,"type",As.register("ESGeoLineString",As,{chsName:"地理折线",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"地理折线"})),d(As,"supportEditingModes",[...ce.supportEditingModes,se.LineStringAppend,se.LineStringInsert]),d(As,"defaults",{...ce.defaults,strokeStyle:{width:1,widthType:"screen",color:[1,1,1,1],material:"",materialParams:{},ground:!1},stroked:!0});let Or=As;(n=>{n.createDefaultProps=()=>({...ce.createDefaultProps(),stroked:!0,strokeStyle:c.reactJson(n.defaults.strokeStyle)})})(Or||(Or={})),c.extendClassProps(Or.prototype,Or.createDefaultProps);const Na=class Na extends Or{get typeName(){return"ESDistanceMeasurement"}get defaultProps(){return Na.createDefaultProps()}get strokeColor(){return this.strokeStyle.color}set strokeColor(e){this.strokeStyle={...this.strokeStyle,color:[...e]}}constructor(e){super(e)}getProperties(e){return[...super.getProperties(e)]}};d(Na,"type",Na.register("ESDistanceMeasurement",Na,{chsName:"距离测量",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"距离测量"})),d(Na,"defaults",{...Or.defaults,strokeStyle:{width:2,widthType:"screen",color:[1,1,1,1],material:"",materialParams:{},ground:!1}});let yo=Na;(n=>{n.createDefaultProps=()=>({...Or.createDefaultProps(),strokeStyle:c.reactJson(n.defaults.strokeStyle)})})(yo||(yo={})),c.extendClassProps(yo.prototype,yo.createDefaultProps);const $i=class $i extends ye{get typeName(){return"ESExcavate"}get defaultProps(){return $i.createDefaultProps()}constructor(e){super(e),this.filled=!1}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new Y("模式","mode",!1,!1,[this,"mode"],$i.defaults.modes,"in"),new J("瓦片图层","targetID",!1,!1,[this,"targetID"],"")],style:[new z("点样式","点样式集合",[]),new k("开启","开启点样式",!1,!1,[this,"pointed"],!1),new S("点大小","点大小(pointSize)",!1,!1,[this,"pointSize"],1),new Y("点类型","点类型(pointSizeType)",!1,!1,[this,"pointSizeType"],[["screen","screen"],["world","world"]],"screen"),new Z("点颜色","点颜色(pointColor)",!1,!1,[this,"pointColor"],[1,1,1,1]),new z("线样式","线样式集合",[]),new k("开启","开启线样式",!1,!1,[this,"stroked"],!0),new S("线宽","线宽(strokeWidth)",!1,!1,[this,"strokeWidth"],1),new Y("线类型","线类型(strokeWidthType)",!1,!1,[this,"strokeWidthType"],[["screen","screen"],["world","world"]],"screen"),new Z("线颜色","线颜色(strokeColor)",!1,!1,[this,"strokeColor"],[1,1,1,1]),new k("是否贴地","是否贴地(线)",!1,!1,[this,"strokeGround"],!1),new z("面样式","面样式集合",[]),new k("开启","开启填充样式",!1,!1,[this,"filled"],!0),new Z("填充颜色","填充颜色(fillColor)",!1,!1,[this,"fillColor"],[1,1,1,1]),new k("是否贴地","是否贴地",!1,!1,[this,"fillGround"],!1)]}}getProperties(e){return[...super.getProperties(e),new z("通用","通用",[new Y("模式","mode",!1,!1,[this,"mode"],$i.defaults.modes),new J("目标ID","targetID",!1,!1,[this,"targetID"])])]}};d($i,"type",$i.register("ESExcavate",$i,{chsName:"挖坑",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"挖坑"})),d($i,"defaults",{...ye.defaults,stroked:!1,ground:!0,modes:[["向内","in"],["向外","out"]],targetID:"",filled:!1});let Hi=$i;(n=>{n.createDefaultProps=()=>({...ye.createDefaultProps(),mode:"in",targetID:"",filled:!1})})(Hi||(Hi={})),c.extendClassProps(Hi.prototype,Hi.createDefaultProps);const Da=class Da extends q{get typeName(){return"ESFireParticleSystem"}get defaultProps(){return Da.createDefaultProps()}constructor(e){super(e)}getESProperties(){return{...{...super.getESProperties()},defaultMenu:"general"}}getProperties(e){return[...super.getProperties(e),new z("通用","通用",[new z("czm","czm",[new Al("图片","The URI, HTMLImageElement, or HTMLCanvasElement to use for the billboard.",!1,!1,[this,"image"]),new Pt("偏移","translation",!1,!1,[this,"translation"])])])]}};d(Da,"type",Da.register("ESFireParticleSystem",Da,{chsName:"粒子烟火",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"粒子烟火"})),d(Da,"defaults",{...q.defaults,image:"${earthsdk3-assets-script-dir}/assets/img/smoke.png",translation:[0,0,0]});let _o=Da;(n=>{n.createDefaultProps=()=>({...q.createDefaultProps(),image:"",translation:c.reactArray([0,0,0])})})(_o||(_o={})),c.extendClassProps(_o.prototype,_o.createDefaultProps);const ji=class ji extends Se{get typeName(){return"ESForestTileset"}get defaultProps(){return ji.createDefaultProps()}constructor(e){super(e)}getProperties(e){return[...super.getProperties(e),new z("通用","通用",[new G("路径","路径",!0,!1,[this,"url"]),new G("treeTypes","类型为 { name: string, mesh: string, cullingDistance: number, scale: number }[]",!0,!1,[this,"treeTypes"],[]),new G("xiaoBanWidget","类型为 { class: string, pivot: [number,number], space: number }",!0,!1,[this,"xiaoBanWidget"],ji.defaults.xiaoBanWidgetDefault,ji.defaults.XiaoBanWidgetSampleValue),new J("youShiSZ","youShiSZ",!1,!1,[this,"youShiSZ"]),new J("diLei","diLei",!1,!1,[this,"diLei"]),new J("senLinLB","senLinLB",!1,!1,[this,"senLinLB"]),new J("labelMaterial","labelMaterial",!1,!1,[this,"labelMaterial"]),new S("heightOffset","heightOffset",!1,!1,[this,"heightOffset"])])]}};d(ji,"type",ji.register("ESForestTileset",ji,{chsName:"森林切片图层",tags:["ESObjects","_ES_Impl_UE"],description:"ESForestTileset"})),d(ji,"defaults",{...Se.defaults,url:"",treeTypes:[],xiaoBanWidgetDefault:{class:"WidgetBlueprint'/ESFoliage/ESDefaultXiaoBan.ESDefaultXiaoBan",pivot:[.5,1],space:1},youShiSZ:"StringTable'/ESFoliage/You_Shi_SZ.You_Shi_SZ'",diLei:"StringTable'/ESFoliage/Di_Lei.Di_Lei'",senLinLB:"StringTable'/ESFoliage/Sen_Lin_LB.Sen_Lin_LB'",labelMaterial:"Material'/ESFoliage/ES3DWidgetMaterial.ES3DWidgetMaterial'",heightOffset:40,XiaoBanWidgetSampleValue:`
130
131
  ## 参数类型为 ESTreeType
131
132
  \`\`\`js
132
133
 
@@ -151,7 +152,7 @@ ${tn.defaultInnerHTML}
151
152
  }
152
153
 
153
154
  \`\`\`
154
- `});let wo=ji;(n=>{n.createDefaultProps=()=>({...Se.createDefaultProps(),url:"",treeTypes:c.reactJsonWithUndefined(void 0),xiaoBanWidget:c.reactJsonWithUndefined(void 0),youShiSZ:"StringTable'/ESFoliage/You_Shi_SZ.You_Shi_SZ'",diLei:"StringTable'/ESFoliage/Di_Lei.Di_Lei'",senLinLB:"StringTable'/ESFoliage/Sen_Lin_LB.Sen_Lin_LB'",labelMaterial:"Material'/ESFoliage/ES3DWidgetMaterial.ES3DWidgetMaterial'",heightOffset:40})})(wo||(wo={})),c.extendClassProps(wo.prototype,wo.createDefaultProps);const gd=`class MyDiv {
155
+ `});let wo=ji;(n=>{n.createDefaultProps=()=>({...Se.createDefaultProps(),url:"",treeTypes:c.reactJsonWithUndefined(void 0),xiaoBanWidget:c.reactJsonWithUndefined(void 0),youShiSZ:"StringTable'/ESFoliage/You_Shi_SZ.You_Shi_SZ'",diLei:"StringTable'/ESFoliage/Di_Lei.Di_Lei'",senLinLB:"StringTable'/ESFoliage/Sen_Lin_LB.Sen_Lin_LB'",labelMaterial:"Material'/ESFoliage/ES3DWidgetMaterial.ES3DWidgetMaterial'",heightOffset:40})})(wo||(wo={})),c.extendClassProps(wo.prototype,wo.createDefaultProps);const gp=`class MyDiv {
155
156
  // container是Poi的div
156
157
  // geoCustomDivPoi指向当前的GeoCustomDivPoi场景对象
157
158
  // viewer指定当前的视口
@@ -184,10 +185,10 @@ ${tn.defaultInnerHTML}
184
185
  }
185
186
  }`,ky=`示例代码:
186
187
  \`\`\`
187
- ${gd}
188
+ ${gp}
188
189
  \`\`\`
189
- `,md=`<div style="width: 300px; height: 50px; background: rgba(120, 120, 0, 0.7); color: white; font-size: 30px; line-height: 50px; border: 1px solid white;">Hello world!</div>
190
- `,Dt=class Dt extends q{constructor(t){super(t);p(this,"combinationClass",!0);p(this,"_widgetEvent",this.dv(new c.Event));p(this,"_echartsFunReact",this.dv(c.react(void 0)));p(this,"_instanceClassReact",this.dv(c.react(void 0)));const r=()=>{try{this.instanceClass=this.instanceClassStr&&Function(`"use strict";return (${this.instanceClassStr})`)()}catch{this.instanceClass=void 0}};r(),this.d(this.instanceClassStrChanged.don(r));{const i=()=>{if(this.innerHTML===void 0){this.instanceClassStr=void 0;return}const s=`class MyDiv {
190
+ `,mp=`<div style="width: 300px; height: 50px; background: rgba(120, 120, 0, 0.7); color: white; font-size: 30px; line-height: 50px; border: 1px solid white;">Hello world!</div>
191
+ `,Dt=class Dt extends q{constructor(t){super(t);d(this,"combinationClass",!0);d(this,"_widgetEvent",this.dv(new c.Event));d(this,"_echartsFunReact",this.dv(c.react(void 0)));d(this,"_instanceClassReact",this.dv(c.react(void 0)));const r=()=>{try{this.instanceClass=this.instanceClassStr&&Function(`"use strict";return (${this.instanceClassStr})`)()}catch{this.instanceClass=void 0}};r(),this.d(this.instanceClassStrChanged.don(r));{const i=()=>{if(this.innerHTML===void 0){this.instanceClassStr=void 0;return}const s=`class MyDiv {
191
192
  // container是Poi的div
192
193
  // geoCustomDivPoi指向当前的GeoCustomDivPoi场景对象
193
194
  // viewer指定当前的视口
@@ -203,7 +204,7 @@ ${gd}
203
204
  destroy() {
204
205
  this._container.removeChild(this._div);
205
206
  }
206
- }`;this.instanceClassStr=s};i(),this.d(this.innerHTMLChanged.don(i))}}get typeName(){return"ESGeoDiv"}get defaultProps(){return Dt.createDefaultProps()}get widgetEvent(){return this._widgetEvent}get echartsFun(){return this._echartsFunReact.value}set echartsFun(t){this._echartsFunReact.value=t}get echartsFunChanged(){return this._echartsFunReact.changed}get instanceClass(){return this._instanceClassReact.value}set instanceClass(t){this._instanceClassReact.value=t}get instanceClassChanged(){return this._instanceClassReact.changed}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new S("透明度","透明度",!0,!1,[this,"opacity"],Dt.defaults.opacity),new S("zOrder","zOrder",!0,!1,[this,"zOrder"],Dt.defaults.zOrder),new ke("偏移比例","偏移比例.",!0,!1,[this,"anchor"],Dt.defaults.anchor),new ei("innerHTML","注意设置此属性设置此属性会自动更新instanceClassStr变量",!0,!1,[this,"innerHTML"],Dt.defaults.innerHTML),new ei("实例类","实例类",!0,!1,[this,"instanceClassStr"],Dt.defaults.instanceClassStr,Dt.defaults.instanceClassStrReadMe)]}}getProperties(t){return[...super.getProperties(t),new z("通用","通用",[new ke("偏移比例","偏移比例.",!0,!1,[this,"anchor"],Dt.defaults.anchor),new S("透明度","透明度",!0,!1,[this,"opacity"],Dt.defaults.opacity),new ei("实例类","实例类",!0,!1,[this,"instanceClassStr"],Dt.defaults.instanceClassStr,Dt.defaults.instanceClassStrReadMe),new ei("innerHTML","注意设置此属性设置此属性会自动更新instanceClassStr变量",!0,!1,[this,"innerHTML"],Dt.defaults.innerHTML),new S("zOrder","zOrder",!0,!1,[this,"zOrder"],Dt.defaults.zOrder)])]}};p(Dt,"type",Dt.register("ESGeoDiv",Dt,{chsName:"ESGeoDiv",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESGeoDiv"})),p(Dt,"defaults",{...q.defaults,opacity:1,anchor:[.5,1],instanceClassStr:gd,instanceClassStrReadMe:ky,innerHTML:md,zOrder:0});let Eo=Dt;(n=>{n.createDefaultProps=()=>({...q.createDefaultProps(),opacity:1,anchor:c.reactArray([.5,1]),instanceClassStr:void 0,innerHTML:md,zOrder:0})})(Eo||(Eo={})),c.extendClassProps(Eo.prototype,Eo.createDefaultProps);const Rs=class Rs extends ce{constructor(t){super(t);p(this,"editingBindMode","doublePoints");this.collision=!1,this.stroked=!0,this.filled=!0,this.fillStyle={color:[1,1,1,.5],material:"",materialParams:{},ground:!1}}get typeName(){return"ESGeoRectangle"}get defaultProps(){return Rs.createDefaultProps()}toPolygon(){if(this.points&&this.points.length>=2){const t=[...this.points][0],r=[...this.points][1];return[t,[t[0],r[1],t[2]],r,[r[0],t[1],r[2]]]}else return}_updateArea(){if(this.points&&this.points.length>=2){const t=[...this.points],r=t[0],i=t[1],s=[r,[r[0],i[1],r[2]],i,[i[0],r[1],i[2]]];this._area.value=bc(s)}else this._area.value=0}_updatePerimeter(){if(this.points&&this.points.length>=2){const t=[...this.points],r=t[0],i=t[1],s=[r,[r[0],i[1],r[2]],i,[i[0],r[1],i[2]]],o=[...s,s[0]],a=Tl(o,"NONE"),l=a[a.length-1];this._perimeter.value=l}else this._perimeter.value=0}getESProperties(){const t=super.getESProperties();return{...t,coordinate:[...t.coordinate,new S("面积","面积",!1,!0,[this,"area"]),new S("周长","周长",!1,!0,[this,"perimeter"])]}}getProperties(t){return[...super.getProperties(t),new z("计算","计算",[new S("面积","面积",!1,!0,[this,"area"]),new S("周长","周长",!1,!0,[this,"perimeter"])])]}};p(Rs,"type",Rs.register("ESGeoRectangle",Rs,{chsName:"矩形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"矩形"})),p(Rs,"supportEditingModes",[...ce.supportEditingModes,se.DoublePointsAppend,se.DoublePointsModify]),p(Rs,"defaults",{...ce.defaults});let So=Rs;(n=>{n.createDefaultProps=()=>({...ce.createDefaultProps()})})(So||(So={})),c.extendClassProps(So.prototype,So.createDefaultProps);const Ph={translationX:0,translationY:0,translationZ:0,rotationHeading:0,rotationPitch:0,rotationRoll:0,scaleX:1,scaleY:1,scaleZ:1},Ci=class Ci extends q{constructor(t){super(t);p(this,"_nodeTransformations",this.dv(c.react(void 0)));p(this,"_czmModelReadyEvent",this.dv(new c.Event));p(this,"_setNodePositionEvent",this.dv(new c.Event));p(this,"_setNodeRotationEvent",this.dv(new c.Event));p(this,"_setNodeScaleEvent",this.dv(new c.Event));p(this,"_printDebugInfoEvent",this.dv(new c.Event));p(this,"setMaterialInfoEvent",this.ad(new c.Event));p(this,"_setMaterialEvent",this.disposeVar(new c.Event))}get typeName(){return"ESGltfModel"}get defaultProps(){return Ci.createDefaultProps()}get nodeTransformations(){return this._nodeTransformations.value}set nodeTransformations(t){this._nodeTransformations.value=t}get nodeTransformationsChanged(){return this._nodeTransformations.changed}get czmModelReadyEvent(){return this._czmModelReadyEvent}deleteNodeTransformation(t){if(!this.nodeTransformations||!this.nodeTransformations[t])return;const r={...this.nodeTransformations};delete r[t],this.nodeTransformations=r}get setNodePositionEvent(){return this._setNodePositionEvent}setNodePosition(t,r){this._setNodePositionEvent.emit(t,r),this._nodeTransformations.value||(this._nodeTransformations.value={});const i=this._nodeTransformations.value[t]??{...Ph};if(r.some(s=>!Number.isFinite(s))){console.error(`setNodePosition error: ${t} ${r}`);return}this._nodeTransformations.value={...this.nodeTransformations,[t]:{...i,translationX:r[0],translationY:r[1],translationZ:r[2]}}}get setNodeRotationEvent(){return this._setNodeRotationEvent}setNodeRotation(t,r){this._setNodeRotationEvent.emit(t,r),this._nodeTransformations.value||(this._nodeTransformations.value={});const i=this._nodeTransformations.value[t]??{...Ph};if(r.some(s=>!Number.isFinite(s))){console.error(`setNodeRotation error: ${t} ${r}`);return}this._nodeTransformations.value={...this.nodeTransformations,[t]:{...i,rotationHeading:r[0],rotationPitch:r[1],rotationRoll:r[2]}}}get setNodeScaleEvent(){return this._setNodeScaleEvent}setNodeScale(t,r){this._setNodeScaleEvent.emit(t,r),this._nodeTransformations.value||(this._nodeTransformations.value={});const i=this._nodeTransformations.value[t]??{...Ph};if(r.some(s=>!Number.isFinite(s)||s<0)){console.error(`setNodeScale error: !Number.isFinite(e) || e < 0 ${t} ${r}`);return}this._nodeTransformations.value={...this.nodeTransformations,[t]:{...i,scaleX:r[0],scaleY:r[1],scaleZ:r[2]}}}getNodePosition(t){if(!this.nodeTransformations)return;const r=this.nodeTransformations[t];if(r)return[r.translationX,r.translationY,r.translationZ]}getNodeRotation(t){if(!this.nodeTransformations)return;const r=this.nodeTransformations[t];if(r)return[r.rotationHeading,r.rotationPitch,r.rotationRoll]}getNodeScale(t){if(!this.nodeTransformations)return;const r=this.nodeTransformations[t];if(r)return[r.scaleX,r.scaleY,r.scaleZ]}get printDebugInfoEvent(){return this._printDebugInfoEvent}printDebugInfo(){this._printDebugInfoEvent.emit()}get setMaterialEvent(){return this._setMaterialEvent}setMaterial(t){return new Promise(r=>{const i=new c.Destroyable;i.ad(this.setMaterialInfoEvent.donce(s=>{i.destroy(),r(s)})),this._setMaterialEvent.emit(t)})}setLight122(){this.czmEnvironmentMapManager={..._h}}getESProperties(){const t={...super.getESProperties()};return{...t,defaultMenu:"dataSource",dataSource:[...t.dataSource,new G("模型路径","模型路径地址",!0,!1,[this,"url"],Ci.defaults.url),new G("实例化矩阵","实例化矩阵",!0,!1,[this,"instances"],Ci.defaults.instances)]}}getProperties(t){return[...super.getProperties(t),new z("通用","通用",[new G("模型路径","模型路径地址",!1,!1,[this,"url"]),new z("czm","czm",[new ke("czmImageBasedLightingFactor","反射强度 ,imageBasedLightingFactor",!1,!1,[this,"czmImageBasedLightingFactor"]),new S("czmAtmosphereScatteringIntensity","大气散射强度 ,atmosphereScatteringIntensity",!1,!1,[this,"czmAtmosphereScatteringIntensity"]),new G("czmEnvironmentMapManager","动态环境贴图管理器",!1,!1,[this,"czmEnvironmentMapManager"]),new ie("控制台输出模型信息","控制台输出模型信息",[],()=>this.printDebugInfo(),[]),new S("最大缩放比例","最大缩放值",!0,!1,[this,"czmMaximumScale"]),new S("统一缩放值","统一缩放值",!1,!1,[this,"czmNativeScale"]),new S("最小像素尺寸","最小像素尺寸,若为0表示不使用最小像素尺寸。",!1,!1,[this,"czmMinimumPixelSize"]),new Z("颜色"," A Property specifying the color.",!1,!1,[this,"czmColor"]),new G("实例化矩阵","实例化矩阵",!0,!1,[this,"instances"],Ci.defaults.instances)])])]}};p(Ci,"type",Ci.register("ESGltfModel",Ci,{chsName:"模型",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"gltf模型"})),p(Ci,"defaults",{...q.defaults,url:"${earthsdk3-assets-script-dir}/assets/glb/building.glb",instances:[]});let Co=Ci;(n=>{n.createDefaultProps=()=>({...q.createDefaultProps(),url:n.defaults.url,czmMaximumScale:void 0,czmMinimumPixelSize:0,czmNativeScale:1,czmColor:c.reactArray([1,1,1,1]),allowPicking:!0,instances:c.reactArrayWithUndefined(void 0),czmImageBasedLightingFactor:c.reactArray([1,1]),czmAtmosphereScatteringIntensity:2,czmEnvironmentMapManager:c.reactJsonWithUndefined(void 0)})})(Co||(Co={})),c.extendClassProps(Co.prototype,Co.createDefaultProps);const rn=class rn extends q{constructor(t){super(t);p(this,"_aiMoveToEvent",this.dv(new c.Event));p(this,"_stopAIMoveEvent",this.dv(new c.Event))}get typeName(){return"ESHuman"}get defaultProps(){return rn.createDefaultProps()}get aiMoveToEvent(){return this._aiMoveToEvent}aiMoveTo(t,r){this._aiMoveToEvent.emit(t,r)}get stopAIMoveEvent(){return this._stopAIMoveEvent}stopAIMove(){this._stopAIMoveEvent.emit()}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new Y("模式","mode",!0,!1,[this,"mode"],rn.defaults.modes,rn.defaults.mode),new Y("动画","animation",!0,!1,[this,"animation"],rn.defaults.animations,rn.defaults.animation)]}}getProperties(t){return[...super.getProperties(t),new z("通用","通用",[new ie("自动寻路","aiMoveTo",["numbers","number"],(r,i)=>this.aiMoveTo(r,i),[[0,0,0],0]),new ie("stopAIMove","stopAIMove",[],()=>this.stopAIMove(),[]),new Y("mode","mode",!1,!1,[this,"mode"],rn.defaults.modes),new Y("动画","animation",!1,!1,[this,"animation"],rn.defaults.animations)])]}};p(rn,"type",rn.register("ESHuman",rn,{chsName:"人员",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"工人 警察 路人"})),p(rn,"defaults",{...q.defaults,modes:[["工人","worker"],["警察","police"],["路人","pedestrian"],["陌生人","stranger"],["男士","suitMan"],["女士","suitWoman"]],mode:"worker",animations:[["站立","standing"],["行走","walking"],["奔跑","running"]],animation:"standing",czmAnimationsStand:[{index:0,name:"Stand",loop:"REPEAT",animationTime:"(duration) => Date.now() / 1000 / duration"}],czmAnimationsWalk:[{index:2,name:"Walk",loop:"REPEAT",animationTime:"(duration) => Date.now() / 1000 / duration"}],czmAnimationsRun:[{index:1,name:"Run",loop:"REPEAT",animationTime:"(duration) => Date.now() / 1000 / duration"}]});let vi=rn;(n=>{n.createDefaultProps=()=>({...q.createDefaultProps(),mode:"worker",animation:"standing",allowPicking:!0})})(vi||(vi={})),c.extendClassProps(vi.prototype,vi.createDefaultProps);const Pi=class Pi extends ft{get typeName(){return"ESImageLabel"}get defaultProps(){return Pi.createDefaultProps()}constructor(e){super(e),this.anchor=Pi.defaults.anchor,this.renderMode=Pi.defaults.renderMode}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new G("图片路径","图片路径",!1,!1,[this,"url"],Pi.defaults.url)]}}getProperties(e){return[...super.getProperties(e),new z("通用","通用",[new G("图片路径","图片路径",!1,!1,[this,"url"])])]}};p(Pi,"type",Pi.register("ESImageLabel",Pi,{chsName:"图片标签",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"基础图片标签。"})),p(Pi,"defaults",{...ft.defaults,url:"inner://CameraBlue.png",anchor:[.5,1],renderMode:4});let Po=Pi;(n=>{n.createDefaultProps=()=>({...ft.createDefaultProps(),url:"inner://CameraBlue.png"})})(Po||(Po={})),c.extendClassProps(Po.prototype,Po.createDefaultProps);const vd=`
207
+ }`;this.instanceClassStr=s};i(),this.d(this.innerHTMLChanged.don(i))}}get typeName(){return"ESGeoDiv"}get defaultProps(){return Dt.createDefaultProps()}get widgetEvent(){return this._widgetEvent}get echartsFun(){return this._echartsFunReact.value}set echartsFun(t){this._echartsFunReact.value=t}get echartsFunChanged(){return this._echartsFunReact.changed}get instanceClass(){return this._instanceClassReact.value}set instanceClass(t){this._instanceClassReact.value=t}get instanceClassChanged(){return this._instanceClassReact.changed}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new S("透明度","透明度",!0,!1,[this,"opacity"],Dt.defaults.opacity),new S("zOrder","zOrder",!0,!1,[this,"zOrder"],Dt.defaults.zOrder),new ze("偏移比例","偏移比例.",!0,!1,[this,"anchor"],Dt.defaults.anchor),new ei("innerHTML","注意设置此属性设置此属性会自动更新instanceClassStr变量",!0,!1,[this,"innerHTML"],Dt.defaults.innerHTML),new ei("实例类","实例类",!0,!1,[this,"instanceClassStr"],Dt.defaults.instanceClassStr,Dt.defaults.instanceClassStrReadMe)]}}getProperties(t){return[...super.getProperties(t),new z("通用","通用",[new ze("偏移比例","偏移比例.",!0,!1,[this,"anchor"],Dt.defaults.anchor),new S("透明度","透明度",!0,!1,[this,"opacity"],Dt.defaults.opacity),new ei("实例类","实例类",!0,!1,[this,"instanceClassStr"],Dt.defaults.instanceClassStr,Dt.defaults.instanceClassStrReadMe),new ei("innerHTML","注意设置此属性设置此属性会自动更新instanceClassStr变量",!0,!1,[this,"innerHTML"],Dt.defaults.innerHTML),new S("zOrder","zOrder",!0,!1,[this,"zOrder"],Dt.defaults.zOrder)])]}};d(Dt,"type",Dt.register("ESGeoDiv",Dt,{chsName:"ESGeoDiv",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESGeoDiv"})),d(Dt,"defaults",{...q.defaults,opacity:1,anchor:[.5,1],instanceClassStr:gp,instanceClassStrReadMe:ky,innerHTML:mp,zOrder:0});let Eo=Dt;(n=>{n.createDefaultProps=()=>({...q.createDefaultProps(),opacity:1,anchor:c.reactArray([.5,1]),instanceClassStr:void 0,innerHTML:mp,zOrder:0})})(Eo||(Eo={})),c.extendClassProps(Eo.prototype,Eo.createDefaultProps);const Rs=class Rs extends ce{constructor(t){super(t);d(this,"editingBindMode","doublePoints");this.collision=!1,this.stroked=!0,this.filled=!0,this.fillStyle={color:[1,1,1,.5],material:"",materialParams:{},ground:!1}}get typeName(){return"ESGeoRectangle"}get defaultProps(){return Rs.createDefaultProps()}toPolygon(){if(this.points&&this.points.length>=2){const t=[...this.points][0],r=[...this.points][1];return[t,[t[0],r[1],t[2]],r,[r[0],t[1],r[2]]]}else return}_updateArea(){if(this.points&&this.points.length>=2){const t=[...this.points],r=t[0],i=t[1],s=[r,[r[0],i[1],r[2]],i,[i[0],r[1],i[2]]];this._area.value=bc(s)}else this._area.value=0}_updatePerimeter(){if(this.points&&this.points.length>=2){const t=[...this.points],r=t[0],i=t[1],s=[r,[r[0],i[1],r[2]],i,[i[0],r[1],i[2]]],o=[...s,s[0]],a=Tl(o,"NONE"),l=a[a.length-1];this._perimeter.value=l}else this._perimeter.value=0}getESProperties(){const t=super.getESProperties();return{...t,coordinate:[...t.coordinate,new S("面积","面积",!1,!0,[this,"area"]),new S("周长","周长",!1,!0,[this,"perimeter"])]}}getProperties(t){return[...super.getProperties(t),new z("计算","计算",[new S("面积","面积",!1,!0,[this,"area"]),new S("周长","周长",!1,!0,[this,"perimeter"])])]}};d(Rs,"type",Rs.register("ESGeoRectangle",Rs,{chsName:"矩形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"矩形"})),d(Rs,"supportEditingModes",[...ce.supportEditingModes,se.DoublePointsAppend,se.DoublePointsModify]),d(Rs,"defaults",{...ce.defaults});let So=Rs;(n=>{n.createDefaultProps=()=>({...ce.createDefaultProps()})})(So||(So={})),c.extendClassProps(So.prototype,So.createDefaultProps);const Ph={translationX:0,translationY:0,translationZ:0,rotationHeading:0,rotationPitch:0,rotationRoll:0,scaleX:1,scaleY:1,scaleZ:1},Ci=class Ci extends q{constructor(t){super(t);d(this,"_nodeTransformations",this.dv(c.react(void 0)));d(this,"_czmModelReadyEvent",this.dv(new c.Event));d(this,"_setNodePositionEvent",this.dv(new c.Event));d(this,"_setNodeRotationEvent",this.dv(new c.Event));d(this,"_setNodeScaleEvent",this.dv(new c.Event));d(this,"_printDebugInfoEvent",this.dv(new c.Event));d(this,"setMaterialInfoEvent",this.ad(new c.Event));d(this,"_setMaterialEvent",this.disposeVar(new c.Event))}get typeName(){return"ESGltfModel"}get defaultProps(){return Ci.createDefaultProps()}get nodeTransformations(){return this._nodeTransformations.value}set nodeTransformations(t){this._nodeTransformations.value=t}get nodeTransformationsChanged(){return this._nodeTransformations.changed}get czmModelReadyEvent(){return this._czmModelReadyEvent}deleteNodeTransformation(t){if(!this.nodeTransformations||!this.nodeTransformations[t])return;const r={...this.nodeTransformations};delete r[t],this.nodeTransformations=r}get setNodePositionEvent(){return this._setNodePositionEvent}setNodePosition(t,r){this._setNodePositionEvent.emit(t,r),this._nodeTransformations.value||(this._nodeTransformations.value={});const i=this._nodeTransformations.value[t]??{...Ph};if(r.some(s=>!Number.isFinite(s))){console.error(`setNodePosition error: ${t} ${r}`);return}this._nodeTransformations.value={...this.nodeTransformations,[t]:{...i,translationX:r[0],translationY:r[1],translationZ:r[2]}}}get setNodeRotationEvent(){return this._setNodeRotationEvent}setNodeRotation(t,r){this._setNodeRotationEvent.emit(t,r),this._nodeTransformations.value||(this._nodeTransformations.value={});const i=this._nodeTransformations.value[t]??{...Ph};if(r.some(s=>!Number.isFinite(s))){console.error(`setNodeRotation error: ${t} ${r}`);return}this._nodeTransformations.value={...this.nodeTransformations,[t]:{...i,rotationHeading:r[0],rotationPitch:r[1],rotationRoll:r[2]}}}get setNodeScaleEvent(){return this._setNodeScaleEvent}setNodeScale(t,r){this._setNodeScaleEvent.emit(t,r),this._nodeTransformations.value||(this._nodeTransformations.value={});const i=this._nodeTransformations.value[t]??{...Ph};if(r.some(s=>!Number.isFinite(s)||s<0)){console.error(`setNodeScale error: !Number.isFinite(e) || e < 0 ${t} ${r}`);return}this._nodeTransformations.value={...this.nodeTransformations,[t]:{...i,scaleX:r[0],scaleY:r[1],scaleZ:r[2]}}}getNodePosition(t){if(!this.nodeTransformations)return;const r=this.nodeTransformations[t];if(r)return[r.translationX,r.translationY,r.translationZ]}getNodeRotation(t){if(!this.nodeTransformations)return;const r=this.nodeTransformations[t];if(r)return[r.rotationHeading,r.rotationPitch,r.rotationRoll]}getNodeScale(t){if(!this.nodeTransformations)return;const r=this.nodeTransformations[t];if(r)return[r.scaleX,r.scaleY,r.scaleZ]}get printDebugInfoEvent(){return this._printDebugInfoEvent}printDebugInfo(){this._printDebugInfoEvent.emit()}get setMaterialEvent(){return this._setMaterialEvent}setMaterial(t){return new Promise(r=>{const i=new c.Destroyable;i.ad(this.setMaterialInfoEvent.donce(s=>{i.destroy(),r(s)})),this._setMaterialEvent.emit(t)})}setLight122(){this.czmEnvironmentMapManager={..._h}}getESProperties(){const t={...super.getESProperties()};return{...t,defaultMenu:"dataSource",dataSource:[...t.dataSource,new G("模型路径","模型路径地址",!0,!1,[this,"url"],Ci.defaults.url),new G("实例化矩阵","实例化矩阵",!0,!1,[this,"instances"],Ci.defaults.instances)]}}getProperties(t){return[...super.getProperties(t),new z("通用","通用",[new G("模型路径","模型路径地址",!1,!1,[this,"url"]),new z("czm","czm",[new ze("czmImageBasedLightingFactor","反射强度 ,imageBasedLightingFactor",!1,!1,[this,"czmImageBasedLightingFactor"]),new S("czmAtmosphereScatteringIntensity","大气散射强度 ,atmosphereScatteringIntensity",!1,!1,[this,"czmAtmosphereScatteringIntensity"]),new G("czmEnvironmentMapManager","动态环境贴图管理器",!1,!1,[this,"czmEnvironmentMapManager"]),new ie("控制台输出模型信息","控制台输出模型信息",[],()=>this.printDebugInfo(),[]),new S("最大缩放比例","最大缩放值",!0,!1,[this,"czmMaximumScale"]),new S("统一缩放值","统一缩放值",!1,!1,[this,"czmNativeScale"]),new S("最小像素尺寸","最小像素尺寸,若为0表示不使用最小像素尺寸。",!1,!1,[this,"czmMinimumPixelSize"]),new Z("颜色"," A Property specifying the color.",!1,!1,[this,"czmColor"]),new G("实例化矩阵","实例化矩阵",!0,!1,[this,"instances"],Ci.defaults.instances)])])]}};d(Ci,"type",Ci.register("ESGltfModel",Ci,{chsName:"模型",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"gltf模型"})),d(Ci,"defaults",{...q.defaults,url:"${earthsdk3-assets-script-dir}/assets/glb/building.glb",instances:[]});let Co=Ci;(n=>{n.createDefaultProps=()=>({...q.createDefaultProps(),url:n.defaults.url,czmMaximumScale:void 0,czmMinimumPixelSize:0,czmNativeScale:1,czmColor:c.reactArray([1,1,1,1]),allowPicking:!0,instances:c.reactArrayWithUndefined(void 0),czmImageBasedLightingFactor:c.reactArray([1,1]),czmAtmosphereScatteringIntensity:2,czmEnvironmentMapManager:c.reactJsonWithUndefined(void 0)})})(Co||(Co={})),c.extendClassProps(Co.prototype,Co.createDefaultProps);const rn=class rn extends q{constructor(t){super(t);d(this,"_aiMoveToEvent",this.dv(new c.Event));d(this,"_stopAIMoveEvent",this.dv(new c.Event))}get typeName(){return"ESHuman"}get defaultProps(){return rn.createDefaultProps()}get aiMoveToEvent(){return this._aiMoveToEvent}aiMoveTo(t,r){this._aiMoveToEvent.emit(t,r)}get stopAIMoveEvent(){return this._stopAIMoveEvent}stopAIMove(){this._stopAIMoveEvent.emit()}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new Y("模式","mode",!0,!1,[this,"mode"],rn.defaults.modes,rn.defaults.mode),new Y("动画","animation",!0,!1,[this,"animation"],rn.defaults.animations,rn.defaults.animation)]}}getProperties(t){return[...super.getProperties(t),new z("通用","通用",[new ie("自动寻路","aiMoveTo",["numbers","number"],(r,i)=>this.aiMoveTo(r,i),[[0,0,0],0]),new ie("stopAIMove","stopAIMove",[],()=>this.stopAIMove(),[]),new Y("mode","mode",!1,!1,[this,"mode"],rn.defaults.modes),new Y("动画","animation",!1,!1,[this,"animation"],rn.defaults.animations)])]}};d(rn,"type",rn.register("ESHuman",rn,{chsName:"人员",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"工人 警察 路人"})),d(rn,"defaults",{...q.defaults,modes:[["工人","worker"],["警察","police"],["路人","pedestrian"],["陌生人","stranger"],["男士","suitMan"],["女士","suitWoman"]],mode:"worker",animations:[["站立","standing"],["行走","walking"],["奔跑","running"]],animation:"standing",czmAnimationsStand:[{index:0,name:"Stand",loop:"REPEAT",animationTime:"(duration) => Date.now() / 1000 / duration"}],czmAnimationsWalk:[{index:2,name:"Walk",loop:"REPEAT",animationTime:"(duration) => Date.now() / 1000 / duration"}],czmAnimationsRun:[{index:1,name:"Run",loop:"REPEAT",animationTime:"(duration) => Date.now() / 1000 / duration"}]});let vi=rn;(n=>{n.createDefaultProps=()=>({...q.createDefaultProps(),mode:"worker",animation:"standing",allowPicking:!0})})(vi||(vi={})),c.extendClassProps(vi.prototype,vi.createDefaultProps);const Pi=class Pi extends ft{get typeName(){return"ESImageLabel"}get defaultProps(){return Pi.createDefaultProps()}constructor(e){super(e),this.anchor=Pi.defaults.anchor,this.renderMode=Pi.defaults.renderMode}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new G("图片路径","图片路径",!1,!1,[this,"url"],Pi.defaults.url)]}}getProperties(e){return[...super.getProperties(e),new z("通用","通用",[new G("图片路径","图片路径",!1,!1,[this,"url"])])]}};d(Pi,"type",Pi.register("ESImageLabel",Pi,{chsName:"图片标签",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"基础图片标签。"})),d(Pi,"defaults",{...ft.defaults,url:"inner://CameraBlue.png",anchor:[.5,1],renderMode:4});let Po=Pi;(n=>{n.createDefaultProps=()=>({...ft.createDefaultProps(),url:"inner://CameraBlue.png"})})(Po||(Po={})),c.extendClassProps(Po.prototype,Po.createDefaultProps);const vp=`
207
208
  # 声明文件
208
209
  ### options 类型
209
210
  \`\`\`javascript
@@ -309,14 +310,14 @@ export type ESJTimeIntervalCollectionJsonType = {
309
310
  };
310
311
 
311
312
  \`\`\`
312
- `,nn=class nn extends Se{get typeName(){return"ESImageryLayer"}get defaultProps(){return nn.createDefaultProps()}constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,defaultMenu:"dataSource",basic:[...e.basic,new S("层级序号","层级序号",!1,!1,[this,"zIndex"],nn.defaults.zIndex)],dataSource:[...e.dataSource,new G("影像服务地址","影像服务地址",!1,!1,[this,"url"]),new or("矩形范围","西南东北",!0,!1,[this,"rectangle"],nn.defaults.rectangle),new Ve("最大级别","最大级别.",!0,!1,[this,"maximumLevel"],1,[1,24],nn.defaults.maximumLevel),new G("options","options",!0,!1,[this,"options"],nn.defaults.options),new J("targetID","targetID",!1,!1,[this,"targetID"],""),new Ve("opacity","opacity",!1,!1,[this,"opacity"],.01,[0,1],1)]}}getProperties(e){return[...super.getProperties(e),new z("ESImageryLayer","ESImageryLayer",[new G("影像服务地址","影像服务地址",!1,!1,[this,"url"]),new z("通用","通用",[new or("矩形范围","西南东北",!0,!1,[this,"rectangle"],nn.defaults.rectangle),new S("高度","A numeric Property specifying the height.",!1,!1,[this,"height"]),new S("zIndex","层级",!1,!1,[this,"zIndex"]),new J("actorTag","actorTag",!1,!1,[this,"actorTag"]),new J("componentTag","componentTag",!1,!1,[this,"componentTag"]),new S("minimumLevel","minimumLevel",!1,!1,[this,"minimumLevel"]),new S("maximumLevel","maximumLevel",!1,!1,[this,"maximumLevel"]),new G("options","options",!0,!1,[this,"options"],{},vd),new J("targetID","targetID",!1,!1,[this,"targetID"]),new Ve("opacity","opacity",!1,!1,[this,"opacity"],.01,[0,1],1)]),new z("czm","czm",[new Y("czmSplitDirection","The ImagerySplitDirection split to apply to this layer.",!1,!1,[this,"czmSplitDirection"],nn.defaults.czmSplitDirectionEnum),new S("透明度","透明度,The alpha blending value of this layer, from 0.0 to 1.0.",!1,!1,[this,"czmAlpha"]),new S("亮度","亮度,The brightness of this layer. 1.0 uses the unmodified imagery color.",!1,!1,[this,"czmBrightness"]),new S("对比度","对比度,The contrast of this layer. 1.0 uses the unmodified imagery color.",!1,!1,[this,"czmContrast"]),new S("色相","色相,The hue of this layer. 0.0 uses the unmodified imagery color. ",!1,!1,[this,"czmHue"]),new S("饱和度","饱和度,The saturation of this layer. 1.0 uses the unmodified imagery color. ",!1,!1,[this,"czmSaturation"]),new S("伽马值","伽马,The gamma correction to apply to this layer. 1.0 uses the unmodified imagery color.",!1,!1,[this,"czmGamma"])])])]}};p(nn,"type",nn.register("ESImageryLayer",nn,{chsName:"影像图层",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"影像图层"})),p(nn,"defaults",{...Se.defaults,url:"",rectangle:[-180,-90,180,90],options:{},zIndex:0,actorTag:"",componentTag:"",minimumLevel:0,maximumLevel:22,targetID:"",opacity:1,czmSplitDirection:"NONE",czmSplitDirectionEnum:[["LEFT","LEFT"],["NONE","NONE"],["RIGHT","RIGHT"]],czmAlpha:1,czmBrightness:1,czmContrast:1,czmHue:0,czmSaturation:1,czmGamma:1,czmSubdomains:[]});let Io=nn;(n=>{n.createDefaultProps=()=>({...Se.createDefaultProps(),url:"",rectangle:c.reactJsonWithUndefined(void 0),options:c.reactJsonWithUndefined(void 0),zIndex:0,actorTag:"",componentTag:"",maximumLevel:22,minimumLevel:0,targetID:"",opacity:1,czmSplitDirection:"NONE",czmAlpha:1,czmBrightness:1,czmContrast:1,czmHue:0,czmSaturation:1,czmGamma:1})})(Io||(Io={})),c.extendClassProps(Io.prototype,Io.createDefaultProps);const xr=class xr extends q{get typeName(){return"ESLocalSkyBox"}get defaultProps(){return xr.createDefaultProps()}constructor(e){super(e),this.collision=!1,this.allowPicking=!1}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new S("尺寸","圆直径或包围盒边长",!1,!1,[this,"size"],xr.defaults.size),new k("自动跟随","是否跟随相机",!1,!1,[this,"autoFollow"],xr.defaults.autoFollow),new Y("mode","模式",!1,!1,[this,"mode"],xr.defaults.modes,"blueSky")]}}getProperties(e){return[...super.getProperties(e),new z("通用","通用",[new S("size","圆直径或包围盒边长",!1,!1,[this,"size"],xr.defaults.size),new k("autoFollow","是否跟随相机(自动跟随效果为渐变,会在5000米左右消失)",!1,!1,[this,"autoFollow"],xr.defaults.autoFollow),new S("autoOpacityFactor","自动消失系数",!1,!1,[this,"autoOpacityFactor"],xr.defaults.autoOpacityFactor),new Y("mode","模式",!1,!1,[this,"mode"],xr.defaults.modes)])]}};p(xr,"type",xr.register("ESLocalSkyBox",xr,{chsName:"局部天空盒",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"效果类"})),p(xr,"defaults",{...q.defaults,size:1e4,autoFollow:!0,autoOpacityFactor:2,modes:[["baiyun","baiyun"],["blueSky","blueSky"],["clearSky","clearSky"],["dream","dream"],["starrySky","starrySky"],["sunnySky","sunnySky"],["sunSets","sunSets"]]});let To=xr;(n=>{n.createDefaultProps=()=>({...q.createDefaultProps(),size:1e4,autoFollow:!0,autoOpacityFactor:2,mode:"blueSky"})})(To||(To={})),c.extendClassProps(To.prototype,To.createDefaultProps);const Oa=class Oa extends q{get typeName(){return"ESLocationMeasurement"}get defaultProps(){return Oa.createDefaultProps()}constructor(e){super(e)}getProperties(e){return[...super.getProperties(e)]}};p(Oa,"type",Oa.register("ESLocationMeasurement",Oa,{chsName:"位置测量点",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"位置测量点"})),p(Oa,"defaults",{...q.defaults});let bo=Oa;(n=>{n.createDefaultProps=()=>({...q.createDefaultProps()})})(bo||(bo={})),c.extendClassProps(bo.prototype,bo.createDefaultProps);const Ot=class Ot extends q{constructor(t){super(t);p(this,"_player",this.dv(new Hn));{const r=Ot.defaults;this.d(c.bind([this._player,"loop"],[this,"playingLoop"],i=>i??r.playingLoop,i=>i??r.playingLoop)),this.d(c.bind([this._player,"currentTime"],[this,"currentTime"],i=>i??r.currentTime,i=>i??r.currentTime)),this.d(c.bind([this._player,"duration"],[this,"duration"],i=>i??r.duration,i=>i??r.duration)),this.d(c.bind([this._player,"playing"],[this,"playing"],i=>i??r.playing,i=>i??r.playing)),this.d(c.bind([this._player,"speed"],[this,"playingSpeed"],i=>i??r.playingSpeed,i=>i??r.playingSpeed))}}get typeName(){return"ESParticleSystemPrimitive"}get defaultProps(){return Ot.createDefaultProps()}get player(){return this._player}get ratio(){return this._player.ratio}set ratio(t){this._player.ratio=t}get ratioChanged(){return this._player.ratioChanged}getProperties(t){return[...super.getProperties(t),new z("通用","通用",[new ie("飞入","飞入",["number"],r=>this.flyTo(r),[1e3]),new ei("更新回调函数","The callback function to be called each frame to update a particle.",!0,!1,[this,"updateCallback"]),new S("发射率","emissionRate,The number of particles to emit per second.",!0,!1,[this,"emissionRate"],5),new k("是否循环","loop,Whether the particle system should loop its bursts when it is complete.",!0,!1,[this,"loop"],!0),new S("等级","scale,Sets the scale to apply to the image of the particle for the duration of its particleLife.",!0,!1,[this,"particleScale"],1),new S("初始等级","startScale,The initial scale to apply to the image of the particle at the beginning of its life.",!0,!1,[this,"startScale"]),new S("结束等级","endScale,The final scale to apply to the image of the particle at the end of its life.",!0,!1,[this,"endScale"],Ot.defaults.endScale),new Z("颜色","Sets the color of a particle for the duration of its particleLife.",!0,!1,[this,"color"]),new Z("初始颜色","The color of the particle at the beginning of its life.",!0,!1,[this,"startColor"]),new Z("结束颜色","The color of the particle at the end of its life.",!0,!1,[this,"endColor"]),new k("尺寸单位为米","Sets if the size of particles is in meters or pixels. true to size the particles in meters; otherwise, the size is in pixels.",!0,!1,[this,"sizeInMeters"]),new S("速度","speed,If set, overrides the minimumSpeed and maximumSpeed inputs with this value.",!0,!1,[this,"speed"],1),new S("最小速度","minimumSpeed,Sets the minimum bound in meters per second above which a particles actual speed will be randomly chosen.",!0,!1,[this,"minimumSpeed"]),new S("最大速度","maximumSpeed,Sets the maximum bound in meters per second below which a particles actual speed will be randomly chosen.",!0,!1,[this,"maximumSpeed"]),new S("生命周期","lifetime,How long the particle system will emit particles, in seconds.",!0,!1,[this,"lifetime"],Number.MAX_VALUE),new S("粒子生命周期","particleLife,If set, overrides the minimumParticleLife and maximumParticleLife inputs with this value.",!0,!1,[this,"particleLife"],Ot.defaults.particleLife),new S("最小粒子生命周期","minimumParticleLife,Sets the minimum bound in seconds for the possible duration of a particles life above which a particles actual life will be randomly chosen.",!0,!1,[this,"minimumParticleLife"]),new S("最大粒子生命周期","maximumParticleLife,Sets the maximum bound in seconds for the possible duration of a particles life below which a particles actual life will be randomly chosen.",!0,!1,[this,"maximumParticleLife"]),new S("块数量","mass,Sets the minimum and maximum mass of particles in kilograms.",!0,!1,[this,"mass"],1),new S("最小块数量","minimumMass,Sets the minimum bound for the mass of a particle in kilograms. A particles actual mass will be chosen as a random amount above this value.",!0,!1,[this,"minimumMass"]),new S("最大块数量","maximumMass,Sets the maximum mass of particles in kilograms. A particles actual mass will be chosen as a random amount below this value.",!0,!1,[this,"maximumMass"]),new ke("图片尺寸","imageSize",!0,!1,[this,"imageSize"],Ot.defaults.imageSize),new ke("最小图片尺寸","minimumImageSize",!0,!1,[this,"minimumImageSize"]),new ke("最大图片尺寸","maximumImageSize",!0,!1,[this,"maximumImageSize"]),new Al("图片","The URI, HTMLImageElement, or HTMLCanvasElement to use for the billboard.",!0,!1,[this,"image"],Ot.defaults.image),new Pt("偏移","translation",!0,!1,[this,"translation"],[0,0,0]),new yc("bursts","bursts",!0,!1,[this,"bursts"]),new G("emitter","emitter",!1,!1,[this,"emitter"],Ot.defaults.emitter)]),new z("播放器","播放器",[new S("播放比率","播放比率(0-1)",!0,!1,[this,"ratio"],Ot.defaults.ratio),new yu("播放器","播放器",[this,"playing"],[this,"ratio"],[this,"playingLoop"]),new k("是否循环","是否循环.",!0,!1,[this,"playingLoop"],Ot.defaults.playingLoop),new S("当前时间","当前时间",!0,!1,[this,"currentTime"],Ot.defaults.currentTime),new S("过渡时间","过渡时间",!0,!1,[this,"duration"],Ot.defaults.duration),new k("是否播放","是否播放.",!0,!1,[this,"playing"],Ot.defaults.playing),new S("播放速度","播放速度.",!0,!1,[this,"playingSpeed"],Ot.defaults.playingSpeed)])]}};p(Ot,"type",Ot.register("ESParticleSystemPrimitive",Ot,{chsName:"粒子",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"通过Cesium的Primitive API 实现的粒子特效。"})),p(Ot,"defaults",{...q.defaults,playingLoop:!0,currentTime:0,playerCurrentTime:0,duration:6e3,playingSpeed:1,playing:!0,ratio:0,particleLife:.5,endScale:4,imageSize:[20,20],image:"${earthsdk3-assets-script-dir}/assets/img/smoke.png",emitter:{type:"CircleEmitter",radius:.5}});let No=Ot;(n=>{n.createDefaultProps=()=>({...q.createDefaultProps(),emitter:c.reactJsonWithUndefined(void 0),bursts:c.reactArrayCollectionWithUndefined(void 0),translation:c.reactArrayWithUndefined(void 0),positionEditing:void 0,image:void 0,imageSize:c.reactArrayWithUndefined(void 0),minimumImageSize:c.reactArrayWithUndefined(void 0),maximumImageSize:c.reactArrayWithUndefined(void 0),updateCallback:void 0,emissionRate:void 0,loop:void 0,particleScale:void 0,startScale:void 0,endScale:void 0,color:c.reactArrayWithUndefined(void 0),startColor:c.reactArrayWithUndefined(void 0),endColor:c.reactArrayWithUndefined(void 0),sizeInMeters:void 0,speed:void 0,minimumSpeed:void 0,maximumSpeed:void 0,lifetime:void 0,particleLife:void 0,minimumParticleLife:void 0,maximumParticleLife:void 0,mass:void 0,minimumMass:void 0,maximumMass:void 0,playingLoop:void 0,currentTime:void 0,duration:void 0,playingSpeed:void 0,playing:void 0})})(No||(No={})),c.extendClassProps(No.prototype,No.createDefaultProps);const Lr=class Lr extends ft{constructor(t){super(t);p(this,"initialStyle",this.ad(c.reactJsonWithUndefined(void 0)));p(this,"_getInitialStyleEvent",this.disposeVar(new c.Event))}get typeName(){return"ESPoi2D"}get defaultProps(){return Lr.createDefaultProps()}get getInitialStyleEvent(){return this._getInitialStyleEvent}getInitialStyle(){return Promise.race([new Promise(t=>{const r=this.d(this.initialStyle.changed.disposableOnce(t));this.getInitialStyleEvent.emit(),setTimeout(()=>{r(),t(void 0)},2e3)})])}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new Y("模式","mode",!1,!1,[this,"mode"],Lr.defaults.modes,Lr.defaults.mode),new G("样式","style",!1,!1,[this,"style"],Lr.defaults.style),new k("自动锚点对齐","autoAnchor",!1,!1,[this,"autoAnchor"],Lr.defaults.autoAnchor)]}}getProperties(t){return[...super.getProperties(t),new z("通用","通用",[new Y("模式","mode",!1,!1,[this,"mode"],Lr.defaults.modes),new G("样式","style",!1,!1,[this,"style"],Lr.defaults.style),new k("自动锚点对齐","autoAnchor",!1,!1,[this,"autoAnchor"],Lr.defaults.autoAnchor)])]}};p(Lr,"type",Lr.register("ESPoi2D",Lr,{chsName:"ESPoi2D",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"三角形,菱形"})),p(Lr,"defaults",{...ft.defaults,modes:[["自定义","Custom"],["SquareH01","SquareH01"],["SquareH02","SquareH02"],["SquareV01","SquareV01"],["SquareV02","SquareV02"],["SquareV03","SquareV03"],["SquareV04","SquareV04"],["Flag01","Flag01"],["Flag02","Flag02"],["Linear01","Linear01"],["Linear02","Linear02"],["Linear03","Linear03"],["CircularH01","CircularH01"],["CircularH02","CircularH02"],["CircularV01","CircularV01"],["CircularV02","CircularV02"],["CircularV03","CircularV03"],["CircularV04","CircularV04"],["CircularV05","CircularV05"],["P3D01","P3D01"],["P3D02","P3D02"],["P3D03","P3D03"],["P3D04","P3D04"],["P3D05","P3D05"],["P3D06","P3D06"],["P3D07","P3D07"],["Diamond01","Diamond01"],["Diamond02","Diamond02"],["Stranger","Stranger"],["ManNormal","ManNormal"],["ManAbnormal","ManAbnormal"],["WomanNormal","WomanNormal"],["WomanAbnormal","WomanAbnormal"],["Camera","Camera"]],mode:"SquareH01",style:{},autoAnchor:!0});let yi=Lr;(n=>{n.createDefaultProps=()=>({...ft.createDefaultProps(),mode:"SquareH01",style:c.reactJson({}),autoAnchor:!0})})(yi||(yi={})),c.extendClassProps(yi.prototype,yi.createDefaultProps);const Kn=class Kn extends q{get typeName(){return"ESPoi3D"}get defaultProps(){return Kn.createDefaultProps()}constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new Y("模式","mode",!1,!1,[this,"mode"],Kn.defaults.modes),new G("样式","style",!1,!1,[this,"style"],Kn.defaults.style)]}}getProperties(e){return[...super.getProperties(e),new z("通用","通用",[new Y("模式","mode",!1,!1,[this,"mode"],Kn.defaults.modes),new G("样式","style",!1,!1,[this,"style"],Kn.defaults.style)])]}};p(Kn,"type",Kn.register("ESPoi3D",Kn,{chsName:"ESPoi3D",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"三角形,菱形"})),p(Kn,"defaults",{...q.defaults,modes:[["三角形","triangle"],["菱形","diamond"]],mode:"triangle",style:{UI_Color:[.09803921568627451,.40784313725490196,.8,1],FX_Color:[.09803921568627451,.40784313725490196,.8,1]}});let Do=Kn;(n=>{n.createDefaultProps=()=>({...q.createDefaultProps(),mode:"triangle",style:c.reactJson(n.defaults.style)})})(Do||(Do={})),c.extendClassProps(Do.prototype,Do.createDefaultProps);const Ma=class Ma extends ye{constructor(t){super(t);p(this,"_czmFlattenedPlaneId",this.disposeVar(c.react("")));this.filled=!1}get typeName(){return"ESPolygonFlattenedPlane"}get defaultProps(){return Ma.createDefaultProps()}get czmFlattenedPlaneId(){return this._czmFlattenedPlaneId.value}set czmFlattenedPlaneId(t){this._czmFlattenedPlaneId.value=t}get czmFlattenedPlaneIdChanged(){return this._czmFlattenedPlaneId.changed}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new J("瓦片图层","targetID",!1,!1,[this,"targetID"],"")]}}getProperties(t){return[...super.getProperties(t),new z("通用","通用",[new J("瓦片图层","targetID",!1,!1,[this,"targetID"])])]}};p(Ma,"type",Ma.register("ESPolygonFlattenedPlane",Ma,{chsName:"压平",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESPolygonFlattenedPlane"})),p(Ma,"defaults",{...ye.defaults});let Oo=Ma;(n=>{n.createDefaultProps=()=>({...ye.createDefaultProps(),targetID:""})})(Oo||(Oo={})),c.extendClassProps(Oo.prototype,Oo.createDefaultProps);const yd=async(n,e,t)=>{const{viewer:r}=n;if(!r){console.error("AddTrees: ueViewer.viewer is undefined");return}const i=await r.callUeFunc({f:"AddTrees",p:{id:e,TreeParams:t}});return i.error&&console.error("AddTrees:",i.error),i},_d=async(n,e)=>{const{viewer:t}=n;if(!t){console.error("RemoveAllTrees: ueViewer.viewer is undefined");return}const r=await t.callUeFunc({f:"RemoveAllTrees",p:{id:e}});return r.error&&console.error("RemoveAllTrees:",r.error),r},wd=async(n,e,t)=>{const{viewer:r}=n;if(!r){console.error("UpdateTreeParams: ueViewer.viewer is undefined");return}const i=await r.callUeFunc({f:"UpdateTreeParams",p:{id:e,TreeParams:t}});return i.error&&console.error("UpdateTreeParams:",i.error),i},Ed=async(n,e,t,r)=>{const{viewer:i}=n;if(!i){console.error("CutDownTrees: ueViewer.viewer is undefined");return}const s=await i.callUeFunc({f:"CutDownTrees",p:{id:e,TreeIds:t,TimeLength:r}});return s.error&&console.error("CutDownTrees:",s.error),s},Sd=async(n,e,t,r,i)=>{const{viewer:s}=n;if(!s){console.error("GrowthSimulation: ueViewer.viewer is undefined");return}const o=await s.callUeFunc({f:"GrowthSimulation",p:{id:e,ToParams:t,SwitchTime:i,TimeLength:r}});return o.error&&console.error("GrowthSimulation:",o.error),o},xa=class xa extends Se{constructor(t){super(t);p(this,"_addTreesEvent",this.dv(new c.Event));p(this,"_removeAllTreesEvent",this.dv(new c.Event));p(this,"_updateTreeParamsEvent",this.dv(new c.Event));p(this,"_cutDownTreesEvent",this.dv(new c.Event));p(this,"_growthSimulationEvent",this.dv(new c.Event))}get typeName(){return"ESSeparateFoliage"}get defaultProps(){return xa.createDefaultProps()}async addTreesCallFunc(t,r){return await yd(t,this.id,r)}async updateTreeParamsCallFunc(t,r){return await wd(t,this.id,r)}async cutDownTreesCallFunc(t,r,i){return await Ed(t,this.id,r,i)}async removeAllTreesCallFunc(t){return await _d(t,this.id)}async growthSimulationCallFunc(t,r,i,s){return await Sd(t,this.id,r,i,s)}async getIdByComponentNameAndHitItem(t,r,i){return await t.getIdByComponentNameAndHitItem(this.id,r,i)}get addTreesEvent(){return this._addTreesEvent}addTrees(t){this._addTreesEvent.emit(t)}get removeAllTreesEvent(){return this._removeAllTreesEvent}removeAllTrees(){this._removeAllTreesEvent.emit()}get updateTreeParamsEvent(){return this._updateTreeParamsEvent}updateTreeParams(t){this._updateTreeParamsEvent.emit(t)}get cutDownTreesEvent(){return this._cutDownTreesEvent}cutDownTrees(t,r){this._cutDownTreesEvent.emit(t,r)}get growthSimulationEvent(){return this._growthSimulationEvent}growthSimulation(t,r,i){this._growthSimulationEvent.emit(t,r,i)}getProperties(t){return[...super.getProperties(t),new z("通用","通用",[new G("treeTypes","类型为 { name: string, meshPath: string }[]",!0,!1,[this,"treeTypes"],[],"{ name: string, meshPath: string }[]"),new S("树桩id","树桩id",!1,!1,[this,"stumpId"]),new S("动画间隔时间","动画间隔时间",!1,!1,[this,"intervalTime"]),new S("切换间隔时间","切换间隔时间",!1,!1,[this,"switchIntervalTime"])])]}};p(xa,"type",xa.register("ESSeparateFoliage",xa,{chsName:"单体控制森林",tags:["ESObjects","_ES_Impl_UE"],description:"ESSeparateFoliage"})),p(xa,"defaults",{...Se.defaults,treeTypes:[],stumpId:-1,intervalTime:.1,switchIntervalTime:.5});let Mo=xa;(n=>{n.createDefaultProps=()=>({...Se.createDefaultProps(),treeTypes:c.reactJsonWithUndefined(void 0),stumpId:-1,intervalTime:.1,switchIntervalTime:.5})})(Mo||(Mo={})),c.extendClassProps(Mo.prototype,Mo.createDefaultProps);function hc(n,e,t){const r="buffer"in n,i=r?n.buffer:n;r&&(e+=n.byteOffset);const s=new Array(t),o=new DataView(i);for(let a=0;a<t;++a){const l=o.getUint8(e+a);s[a]=String.fromCharCode(l)}return s.join("")}function fc(n,e){const t="buffer"in n,r=t?n.buffer:n;return t&&(e+=n.byteOffset),new DataView(r).getUint32(e,!0)}function Cd(n,e,t){const r="buffer"in n,i=r?n.buffer:n;if(r&&(e+=n.byteOffset),e+t>i.byteLength){console.error("byteOffset + length > buffer.byteLength");return}return new Uint8Array(i,e,t)}function Vy(n,e,t){const r="buffer"in n,i=r?n.buffer:n;if(r&&(e+=n.byteOffset),e+t*2>i.byteLength){console.error("byteOffset + length * 4 > buffer.byteLength");return}return new Uint16Array(i,e,t)}function zy(n,e,t){const r="buffer"in n,i=r?n.buffer:n;if(r&&(e+=n.byteOffset),e+t*4>i.byteLength){console.error("byteOffset + length * 4 > buffer.byteLength");return}return new Uint32Array(i,e,t)}function Uy(n,e,t){const r="buffer"in n,i=r?n.buffer:n;if(r&&(e+=n.byteOffset),e+t*4>i.byteLength){console.error("byteOffset + length * 4 > buffer.byteLength");return}return new Float32Array(i,e,t)}function Pd(n){if(hc(n,0,4)!=="glTF"){console.error("Not a glTF file");return}const t=fc(n,4);if(t!==2){console.error("Unsupported glTF version");return}const r=fc(n,8);if(r!==n.byteLength){console.error("Invalid glTF length");return}const i=fc(n,12);if(i+12+4>r){console.error("Invalid glTF chunk length");return}if(hc(n,16,4)!=="JSON"){console.error("Invalid glTF chunk type");return}const o=hc(n,20,i),a={version:t,length:r,gltfJson:o};do{if(20+i>=n.byteLength)break;const l=fc(n,20+i);if(hc(n,20+i+4,4)!=="BIN\0"){console.error("Invalid glTF chunk type");return}const h=Cd(n,20+i+8,l);a.gltfBinary=h}while(!1);return a}window.parseGlb=Pd;function Id(n){const e=Pd(n);if(e===void 0||!e.gltfBinary)return;const t=JSON.parse(e.gltfJson);return t.nodes.map(r=>{var i=t.meshes[r.mesh],s=i.primitives[0].attributes.POSITION,o=i.primitives[0].indices,a=t.accessors[s],l=t.bufferViews[a.bufferView];if(!e.gltfBinary)throw new Error("!glbParseResult.gltfBinary");const u=Uy(e.gltfBinary,l.byteOffset??0,l.byteLength/4);var h=t.accessors[o],f=t.bufferViews[h.bufferView];if(!e.gltfBinary)throw new Error("!glbParseResult.gltfBinary");let d;return h.componentType===5121?d=Cd(e.gltfBinary,f.byteOffset??0,f.byteLength/1):h.componentType===5123?d=Vy(e.gltfBinary,f.byteOffset??0,f.byteLength/2):h.componentType===5125&&(d=zy(e.gltfBinary,f.byteOffset??0,f.byteLength/4)),{name:r.name,posBuffer:u,indicesBuffer:d}})}window.parseWaterGlb=Id;const Xe=class Xe extends q{constructor(t){super(t);p(this,"_submergingData");p(this,"_allMoments",[]);p(this,"readyEvent",this.dv(new c.Event));{const r=()=>{this.url!=""&&fetch(this.url).then(i=>{i.status==200&&i.ok&&i.arrayBuffer().then(s=>{this._submergingData=Id(s);const o=this._submergingData.map(a=>Date.parse(a.name)).sort();this._allMoments=o,this.currentTime==0&&(this.currentTime=o[0]),this.readyEvent.emit()})}).catch(i=>{console.log(i)})};r(),this.d(this.urlChanged.don(()=>{r()}))}}get typeName(){return"ESSubmergingAnalysis"}get defaultProps(){return Xe.createDefaultProps()}get getSubmergingData(){return this._submergingData}getAllMoments(){return this._allMoments}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new J("Url地址","url",!1,!1,[this,"url"],Xe.defaults.url),new Ve("振幅","控制水波振幅的数值",!1,!1,[this,"amplitude"],.01,[0,1],Xe.defaults.amplitude),new S("频率","控制波数的数值(次/千米)",!1,!1,[this,"frequency"],Xe.defaults.frequency),new S("当前时间","currentTime",!1,!1,[this,"currentTime"],Xe.defaults.currentTime),new G("材质参数","materialParams",!1,!1,[this,"materialParams"],Xe.defaults.materialParams),new Y("水域类型","当为custom是其他控制效果的参数生效,否则不生效,使用对应水域类型的预定效果",!1,!1,[this,"waterType"],Xe.defaults.waterTypes,"river"),new Z("水的底色","waterColor",!1,!1,[this,"waterColor"],Xe.defaults.waterColor),new Ve("波动频率","控制水波纹扰动的速率",!1,!1,[this,"waveVelocity"],.01,[0,1],Xe.defaults.waveVelocity),new S("水流速度","控制水流速度,单位 米/秒",!1,!1,[this,"flowSpeed"],Xe.defaults.flowSpeed),new Ve("镜面反射强度","控制镜面反射强度的数值",!1,!1,[this,"specularIntensity"],.01,[0,1],Xe.defaults.specularIntensity)]}}getProperties(t){return[...super.getProperties(t),new z("通用","通用",[new J("模型Url地址","url",!1,!1,[this,"url"],Xe.defaults.url),new S("当前时间","currentTime",!1,!1,[this,"currentTime"],Xe.defaults.currentTime),new G("材质参数","materialParams",!1,!1,[this,"materialParams"],Xe.defaults.materialParams),new Y("水域类型","当为custom是其他控制效果的参数生效,否则不生效,使用对应水域类型的预定效果",!1,!1,[this,"waterType"],Xe.defaults.waterTypes),new Z("水的底色","waterColor",!1,!1,[this,"waterColor"],Xe.defaults.waterColor),new S("频率","控制波数的数值(次/千米)",!1,!1,[this,"frequency"],Xe.defaults.frequency),new Ve("波动频率","控制水波纹扰动的速率",!1,!1,[this,"waveVelocity"],.01,[0,1],Xe.defaults.waveVelocity),new Ve("振幅","控制水波振幅的数值",!1,!1,[this,"amplitude"],.01,[0,1],Xe.defaults.amplitude),new Ve("镜面反射强度","控制镜面反射强度的数值",!1,!1,[this,"specularIntensity"],.01,[0,1],Xe.defaults.specularIntensity),new S("水流速度","控制水流速度,单位 米/秒",!1,!1,[this,"flowSpeed"],Xe.defaults.flowSpeed)])]}};p(Xe,"type",Xe.register("ESSubmergingAnalysis",Xe,{chsName:"淹没分析",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESSubmergingAnalysis"})),p(Xe,"defaults",{...q.defaults,url:"",currentTime:0,materialParams:{},waterColor:[.1497,.165,.0031,1],frequency:1e3,waveVelocity:.5,amplitude:.1,specularIntensity:.8,waterTypes:[["river","river"],["ocean","ocean"],["lake","lake"],["custom","custom"]],waterType:"river",flowSpeed:0});let xo=Xe;(n=>{n.createDefaultProps=()=>({...q.createDefaultProps(),url:"",currentTime:0,materialParams:c.reactJson({}),waterColor:[.1497,.165,.0031,1],frequency:1e3,waveVelocity:.5,amplitude:.1,specularIntensity:.8,waterType:"river",flowSpeed:0,allowPicking:!0})})(xo||(xo={})),c.extendClassProps(xo.prototype,xo.createDefaultProps);const Fs=class Fs extends ye{constructor(t){super(t);p(this,"_startEvent",this.dv(new c.Event));p(this,"_stopEvent",this.dv(new c.Event));this.filled=!1,this.stroked=!1}get typeName(){return"ESSunshineAnalysis"}get defaultProps(){return Fs.createDefaultProps()}get startEvent(){return this._startEvent}start(){this._startEvent.emit()}get stopEvent(){return this._stopEvent}stop(){this._stopEvent.emit()}getProperties(t){return[...super.getProperties(t),new Z("起始颜色","起始颜色",!1,!1,[this,"startColor"]),new Z("结束颜色","结束颜色",!1,!1,[this,"endColor"]),new S("计算进度","计算进度",!0,!0,[this,"progress"]),new S("高度","高度m",!1,!1,[this,"extrudedHeight"]),new S("底面高度","底面高度",!1,!1,[this,"height"]),new S("采样间距","采样间距m",!1,!1,[this,"sampleDistance"]),new S("起始时间","startTime,时间戳",!1,!1,[this,"startTime"]),new S("结束时间","endTime,时间戳",!1,!1,[this,"endTime"]),new S("时间跨度","时间跨度,默认1小时时间戳",!1,!1,[this,"spanTime"]),new ie("开始分析","开始分析",[],()=>this.start(),[]),new ie("结束分析","结束分析",[],()=>this.stop(),[])]}};p(Fs,"type",Fs.register("ESSunshineAnalysis",Fs,{chsName:"日照分析",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"日照分析"})),p(Fs,"supportEditingModes",[...ye.supportEditingModes,se.HeightModify]),p(Fs,"defaults",{...ye.defaults});let Lo=Fs;(n=>{n.createDefaultProps=()=>({...ye.createDefaultProps(),extrudedHeight:30,height:0,sampleDistance:10,startColor:c.reactArray([1,1,0,1]),endColor:c.reactArray([1,0,0,1]),startTime:0,endTime:36e6,spanTime:1,progress:0})})(Lo||(Lo={})),c.extendClassProps(Lo.prototype,Lo.createDefaultProps);const wr=class wr extends Se{constructor(t){super(t);p(this,"_activateEvent",this.disposeVar(new c.Event));p(this,"activate",!1)}get typeName(){return"ESTerrainLayer"}get defaultProps(){return wr.createDefaultProps()}get activateEvent(){return this._activateEvent}getESProperties(){const t={...super.getESProperties()},r=[new S("层级序号","层级序号",!1,!1,[this,"zIndex"],wr.defaults.zIndex),new Y("渲染模式","renderMode",!1,!1,[this,"renderMode"],wr.defaults.renderModes,"default"),new S("透明度","opacity",!1,!1,[this,"opacity"],wr.defaults.opacity)],i=[new G("地形服务地址","地形服务地址",!1,!1,[this,"url"],wr.defaults.url),new or("矩形范围","西南东北",!1,!1,[this,"rectangle"],wr.defaults.rectangle)];return t.basic.push(...r),t.dataSource.push(...i),t.defaultMenu="dataSource",t}getProperties(t){return[...super.getProperties(t),new z("ESTerrainLayer","ESTerrainLayer",[new G("地形服务地址","地形服务地址",!1,!1,[this,"url"]),new or("矩形范围","西南东北",!1,!1,[this,"rectangle"]),new S("层级","zIndex",!1,!1,[this,"zIndex"]),new Y("渲染模式","renderMode",!1,!1,[this,"renderMode"],wr.defaults.renderModes,wr.defaults.renderMode),new S("透明度","opacity",!1,!1,[this,"opacity"],wr.defaults.opacity),new z("czm","czm",[new S("czmMinzoom","czmMinzoom",!0,!1,[this,"czmMinzoom"]),new S("czmMaxzoom","czmMaxzoom",!0,!1,[this,"czmMaxzoom"])])])]}};p(wr,"type",wr.register("ESTerrainLayer",wr,{chsName:"地形图层",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"地形图层"})),p(wr,"defaults",{...Se.defaults,show:!0,url:"http://inner.earthsdk.com/layer.json",rectangle:[-180,-90,180,90],zIndex:0,renderMode:"default",renderModes:[["使用深度检测","default"],["不使用深度检测","disableDepthTest"],["透明","transparent"]],opacity:1});let Ao=wr;(n=>{n.createDefaultProps=()=>({...Se.createDefaultProps(),url:"http://inner.earthsdk.com/layer.json",rectangle:c.reactArray([-180,-90,180,90]),zIndex:0,czmMaxzoom:void 0,czmMinzoom:void 0,renderMode:"default",opacity:1})})(Ao||(Ao={})),c.extendClassProps(Ao.prototype,Ao.createDefaultProps);const Tn=class Tn extends ft{get typeName(){return"ESTextLabel"}get defaultProps(){return Tn.createDefaultProps()}constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new Z("文本颜色","指定文本标签的字体颜色.",!1,!1,[this,"color"],[1,1,1,1]),new S("文字大小","fontSize",!1,!1,[this,"fontSize"],14),new vu("内容","内容",!0,!1,[this,"text"],Tn.defaults.text),new Z("背景颜色"," 指定文本标签的背景颜色.",!1,!1,[this,"backgroundColor"],Tn.defaults.backgroundColor),new or("内边距","上,右,下,左顺序.",!1,!1,[this,"padding"],Tn.defaults.padding)]}}getProperties(e){return[...super.getProperties(e),new z("通用","通用",[new vu("内容","内容",!0,!1,[this,"text"],Tn.defaults.text),new Z("文本颜色","指定文本标签的字体颜色.",!1,!1,[this,"color"]),new S("文字大小","fontSize",!1,!1,[this,"fontSize"]),new Z("背景颜色"," 指定文本标签的背景颜色.",!1,!1,[this,"backgroundColor"]),new or("内边距","上,右,下,左顺序.",!1,!1,[this,"padding"])]),new z("czm","czm",[new k("文本编辑交互","文本编辑交互.",!1,!1,[this,"textEditingInteraction"]),new k("文本编辑","文本编辑.",!1,!1,[this,"textEditing"]),new S("宽度","宽度",!0,!1,[this,"width"],Tn.defaults.width),new or("原点比例和偏移","原点比例和偏移.",!1,!1,[this,"originRatioAndOffset"]),new S("透明度","透明度",!1,!1,[this,"opacity"]),new or("边框圆角","左上,右上,右下,左下.",!1,!1,[this,"borderRadius"]),new Z("边框颜色"," 边框色.",!1,!1,[this,"borderColor"]),new S("边框宽度","边框宽度",!1,!1,[this,"borderWidth"]),new Y("文字位置","文字位置",!1,!1,[this,"textAlign"],[["center","center"],["left","left"],["right","right"]]),new Y("边框类型","边框类型",!1,!1,[this,"borderStyle"],[["none","none"],["hidden","hidden"],["dotted","dotted"],["dashed","dashed"],["solid","solid"],["double","double"],["groove","groove"],["ridge","ridge"],["inset","inset"],["outset","outset"]])])]}};p(Tn,"type",Tn.register("ESTextLabel",Tn,{chsName:"文本标签",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"文本标签。"})),p(Tn,"defaults",{...ft.defaults,allowTextEditing:!0,width:80,text:"请输入文字",originRatioAndOffset:[.5,1,0,0],opacity:1,backgroundColor:[0,0,0,.8],padding:[5,5,5,5],borderRadius:[6,6,6,6],borderColor:[1,1,1,1],borderWidth:0,textAlign:"left",borderStyle:"solid"});let Ro=Tn;(n=>{n.createDefaultProps=()=>({...ft.createDefaultProps(),text:void 0,width:void 0,textEditing:!1,textEditingInteraction:!1,opacity:1,fontSize:14,textAlign:"left",color:c.reactArray([1,1,1,1]),backgroundColor:c.reactArray([0,0,0,.8]),padding:c.reactArray([5,5,5,5]),borderRadius:c.reactArray([6,6,6,6]),borderWidth:0,borderColor:c.reactArray([1,1,1,1]),borderStyle:"solid"})})(Ro||(Ro={})),c.extendClassProps(Ro.prototype,Ro.createDefaultProps);const Td=`
313
+ `,nn=class nn extends Se{get typeName(){return"ESImageryLayer"}get defaultProps(){return nn.createDefaultProps()}constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,defaultMenu:"dataSource",basic:[...e.basic,new S("层级序号","层级序号",!1,!1,[this,"zIndex"],nn.defaults.zIndex)],dataSource:[...e.dataSource,new G("影像服务地址","影像服务地址",!1,!1,[this,"url"]),new or("矩形范围","西南东北",!0,!1,[this,"rectangle"],nn.defaults.rectangle),new Me("最大级别","最大级别.",!0,!1,[this,"maximumLevel"],1,[1,24],nn.defaults.maximumLevel),new G("options","options",!0,!1,[this,"options"],nn.defaults.options),new J("targetID","targetID",!1,!1,[this,"targetID"],""),new Me("opacity","opacity",!1,!1,[this,"opacity"],.01,[0,1],1)]}}getProperties(e){return[...super.getProperties(e),new z("ESImageryLayer","ESImageryLayer",[new G("影像服务地址","影像服务地址",!1,!1,[this,"url"]),new z("通用","通用",[new or("矩形范围","西南东北",!0,!1,[this,"rectangle"],nn.defaults.rectangle),new S("高度","A numeric Property specifying the height.",!1,!1,[this,"height"]),new S("zIndex","层级",!1,!1,[this,"zIndex"]),new J("actorTag","actorTag",!1,!1,[this,"actorTag"]),new J("componentTag","componentTag",!1,!1,[this,"componentTag"]),new S("minimumLevel","minimumLevel",!1,!1,[this,"minimumLevel"]),new S("maximumLevel","maximumLevel",!1,!1,[this,"maximumLevel"]),new G("options","options",!0,!1,[this,"options"],{},vp),new J("targetID","targetID",!1,!1,[this,"targetID"]),new Me("opacity","opacity",!1,!1,[this,"opacity"],.01,[0,1],1)]),new z("czm","czm",[new Y("czmSplitDirection","The ImagerySplitDirection split to apply to this layer.",!1,!1,[this,"czmSplitDirection"],nn.defaults.czmSplitDirectionEnum),new S("透明度","透明度,The alpha blending value of this layer, from 0.0 to 1.0.",!1,!1,[this,"czmAlpha"]),new S("亮度","亮度,The brightness of this layer. 1.0 uses the unmodified imagery color.",!1,!1,[this,"czmBrightness"]),new S("对比度","对比度,The contrast of this layer. 1.0 uses the unmodified imagery color.",!1,!1,[this,"czmContrast"]),new S("色相","色相,The hue of this layer. 0.0 uses the unmodified imagery color. ",!1,!1,[this,"czmHue"]),new S("饱和度","饱和度,The saturation of this layer. 1.0 uses the unmodified imagery color. ",!1,!1,[this,"czmSaturation"]),new S("伽马值","伽马,The gamma correction to apply to this layer. 1.0 uses the unmodified imagery color.",!1,!1,[this,"czmGamma"])])])]}};d(nn,"type",nn.register("ESImageryLayer",nn,{chsName:"影像图层",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"影像图层"})),d(nn,"defaults",{...Se.defaults,url:"",rectangle:[-180,-90,180,90],options:{},zIndex:0,actorTag:"",componentTag:"",minimumLevel:0,maximumLevel:22,targetID:"",opacity:1,czmSplitDirection:"NONE",czmSplitDirectionEnum:[["LEFT","LEFT"],["NONE","NONE"],["RIGHT","RIGHT"]],czmAlpha:1,czmBrightness:1,czmContrast:1,czmHue:0,czmSaturation:1,czmGamma:1,czmSubdomains:[]});let Io=nn;(n=>{n.createDefaultProps=()=>({...Se.createDefaultProps(),url:"",rectangle:c.reactJsonWithUndefined(void 0),options:c.reactJsonWithUndefined(void 0),zIndex:0,actorTag:"",componentTag:"",maximumLevel:22,minimumLevel:0,targetID:"",opacity:1,czmSplitDirection:"NONE",czmAlpha:1,czmBrightness:1,czmContrast:1,czmHue:0,czmSaturation:1,czmGamma:1})})(Io||(Io={})),c.extendClassProps(Io.prototype,Io.createDefaultProps);const xr=class xr extends q{get typeName(){return"ESLocalSkyBox"}get defaultProps(){return xr.createDefaultProps()}constructor(e){super(e),this.collision=!1,this.allowPicking=!1}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new S("尺寸","圆直径或包围盒边长",!1,!1,[this,"size"],xr.defaults.size),new k("自动跟随","是否跟随相机",!1,!1,[this,"autoFollow"],xr.defaults.autoFollow),new Y("mode","模式",!1,!1,[this,"mode"],xr.defaults.modes,"blueSky")]}}getProperties(e){return[...super.getProperties(e),new z("通用","通用",[new S("size","圆直径或包围盒边长",!1,!1,[this,"size"],xr.defaults.size),new k("autoFollow","是否跟随相机(自动跟随效果为渐变,会在5000米左右消失)",!1,!1,[this,"autoFollow"],xr.defaults.autoFollow),new S("autoOpacityFactor","自动消失系数",!1,!1,[this,"autoOpacityFactor"],xr.defaults.autoOpacityFactor),new Y("mode","模式",!1,!1,[this,"mode"],xr.defaults.modes)])]}};d(xr,"type",xr.register("ESLocalSkyBox",xr,{chsName:"局部天空盒",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"效果类"})),d(xr,"defaults",{...q.defaults,size:1e4,autoFollow:!0,autoOpacityFactor:2,modes:[["baiyun","baiyun"],["blueSky","blueSky"],["clearSky","clearSky"],["dream","dream"],["starrySky","starrySky"],["sunnySky","sunnySky"],["sunSets","sunSets"]]});let To=xr;(n=>{n.createDefaultProps=()=>({...q.createDefaultProps(),size:1e4,autoFollow:!0,autoOpacityFactor:2,mode:"blueSky"})})(To||(To={})),c.extendClassProps(To.prototype,To.createDefaultProps);const Oa=class Oa extends q{get typeName(){return"ESLocationMeasurement"}get defaultProps(){return Oa.createDefaultProps()}constructor(e){super(e)}getProperties(e){return[...super.getProperties(e)]}};d(Oa,"type",Oa.register("ESLocationMeasurement",Oa,{chsName:"位置测量点",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"位置测量点"})),d(Oa,"defaults",{...q.defaults});let bo=Oa;(n=>{n.createDefaultProps=()=>({...q.createDefaultProps()})})(bo||(bo={})),c.extendClassProps(bo.prototype,bo.createDefaultProps);const Ot=class Ot extends q{constructor(t){super(t);d(this,"_player",this.dv(new Hn));{const r=Ot.defaults;this.d(c.bind([this._player,"loop"],[this,"playingLoop"],i=>i??r.playingLoop,i=>i??r.playingLoop)),this.d(c.bind([this._player,"currentTime"],[this,"currentTime"],i=>i??r.currentTime,i=>i??r.currentTime)),this.d(c.bind([this._player,"duration"],[this,"duration"],i=>i??r.duration,i=>i??r.duration)),this.d(c.bind([this._player,"playing"],[this,"playing"],i=>i??r.playing,i=>i??r.playing)),this.d(c.bind([this._player,"speed"],[this,"playingSpeed"],i=>i??r.playingSpeed,i=>i??r.playingSpeed))}}get typeName(){return"ESParticleSystemPrimitive"}get defaultProps(){return Ot.createDefaultProps()}get player(){return this._player}get ratio(){return this._player.ratio}set ratio(t){this._player.ratio=t}get ratioChanged(){return this._player.ratioChanged}getProperties(t){return[...super.getProperties(t),new z("通用","通用",[new ie("飞入","飞入",["number"],r=>this.flyTo(r),[1e3]),new ei("更新回调函数","The callback function to be called each frame to update a particle.",!0,!1,[this,"updateCallback"]),new S("发射率","emissionRate,The number of particles to emit per second.",!0,!1,[this,"emissionRate"],5),new k("是否循环","loop,Whether the particle system should loop its bursts when it is complete.",!0,!1,[this,"loop"],!0),new S("等级","scale,Sets the scale to apply to the image of the particle for the duration of its particleLife.",!0,!1,[this,"particleScale"],1),new S("初始等级","startScale,The initial scale to apply to the image of the particle at the beginning of its life.",!0,!1,[this,"startScale"]),new S("结束等级","endScale,The final scale to apply to the image of the particle at the end of its life.",!0,!1,[this,"endScale"],Ot.defaults.endScale),new Z("颜色","Sets the color of a particle for the duration of its particleLife.",!0,!1,[this,"color"]),new Z("初始颜色","The color of the particle at the beginning of its life.",!0,!1,[this,"startColor"]),new Z("结束颜色","The color of the particle at the end of its life.",!0,!1,[this,"endColor"]),new k("尺寸单位为米","Sets if the size of particles is in meters or pixels. true to size the particles in meters; otherwise, the size is in pixels.",!0,!1,[this,"sizeInMeters"]),new S("速度","speed,If set, overrides the minimumSpeed and maximumSpeed inputs with this value.",!0,!1,[this,"speed"],1),new S("最小速度","minimumSpeed,Sets the minimum bound in meters per second above which a particles actual speed will be randomly chosen.",!0,!1,[this,"minimumSpeed"]),new S("最大速度","maximumSpeed,Sets the maximum bound in meters per second below which a particles actual speed will be randomly chosen.",!0,!1,[this,"maximumSpeed"]),new S("生命周期","lifetime,How long the particle system will emit particles, in seconds.",!0,!1,[this,"lifetime"],Number.MAX_VALUE),new S("粒子生命周期","particleLife,If set, overrides the minimumParticleLife and maximumParticleLife inputs with this value.",!0,!1,[this,"particleLife"],Ot.defaults.particleLife),new S("最小粒子生命周期","minimumParticleLife,Sets the minimum bound in seconds for the possible duration of a particles life above which a particles actual life will be randomly chosen.",!0,!1,[this,"minimumParticleLife"]),new S("最大粒子生命周期","maximumParticleLife,Sets the maximum bound in seconds for the possible duration of a particles life below which a particles actual life will be randomly chosen.",!0,!1,[this,"maximumParticleLife"]),new S("块数量","mass,Sets the minimum and maximum mass of particles in kilograms.",!0,!1,[this,"mass"],1),new S("最小块数量","minimumMass,Sets the minimum bound for the mass of a particle in kilograms. A particles actual mass will be chosen as a random amount above this value.",!0,!1,[this,"minimumMass"]),new S("最大块数量","maximumMass,Sets the maximum mass of particles in kilograms. A particles actual mass will be chosen as a random amount below this value.",!0,!1,[this,"maximumMass"]),new ze("图片尺寸","imageSize",!0,!1,[this,"imageSize"],Ot.defaults.imageSize),new ze("最小图片尺寸","minimumImageSize",!0,!1,[this,"minimumImageSize"]),new ze("最大图片尺寸","maximumImageSize",!0,!1,[this,"maximumImageSize"]),new Al("图片","The URI, HTMLImageElement, or HTMLCanvasElement to use for the billboard.",!0,!1,[this,"image"],Ot.defaults.image),new Pt("偏移","translation",!0,!1,[this,"translation"],[0,0,0]),new yc("bursts","bursts",!0,!1,[this,"bursts"]),new G("emitter","emitter",!1,!1,[this,"emitter"],Ot.defaults.emitter)]),new z("播放器","播放器",[new S("播放比率","播放比率(0-1)",!0,!1,[this,"ratio"],Ot.defaults.ratio),new vu("播放器","播放器",[this,"playing"],[this,"ratio"],[this,"playingLoop"]),new k("是否循环","是否循环.",!0,!1,[this,"playingLoop"],Ot.defaults.playingLoop),new S("当前时间","当前时间",!0,!1,[this,"currentTime"],Ot.defaults.currentTime),new S("过渡时间","过渡时间",!0,!1,[this,"duration"],Ot.defaults.duration),new k("是否播放","是否播放.",!0,!1,[this,"playing"],Ot.defaults.playing),new S("播放速度","播放速度.",!0,!1,[this,"playingSpeed"],Ot.defaults.playingSpeed)])]}};d(Ot,"type",Ot.register("ESParticleSystemPrimitive",Ot,{chsName:"粒子",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"通过Cesium的Primitive API 实现的粒子特效。"})),d(Ot,"defaults",{...q.defaults,playingLoop:!0,currentTime:0,playerCurrentTime:0,duration:6e3,playingSpeed:1,playing:!0,ratio:0,particleLife:.5,endScale:4,imageSize:[20,20],image:"${earthsdk3-assets-script-dir}/assets/img/smoke.png",emitter:{type:"CircleEmitter",radius:.5}});let No=Ot;(n=>{n.createDefaultProps=()=>({...q.createDefaultProps(),emitter:c.reactJsonWithUndefined(void 0),bursts:c.reactArrayCollectionWithUndefined(void 0),translation:c.reactArrayWithUndefined(void 0),positionEditing:void 0,image:void 0,imageSize:c.reactArrayWithUndefined(void 0),minimumImageSize:c.reactArrayWithUndefined(void 0),maximumImageSize:c.reactArrayWithUndefined(void 0),updateCallback:void 0,emissionRate:void 0,loop:void 0,particleScale:void 0,startScale:void 0,endScale:void 0,color:c.reactArrayWithUndefined(void 0),startColor:c.reactArrayWithUndefined(void 0),endColor:c.reactArrayWithUndefined(void 0),sizeInMeters:void 0,speed:void 0,minimumSpeed:void 0,maximumSpeed:void 0,lifetime:void 0,particleLife:void 0,minimumParticleLife:void 0,maximumParticleLife:void 0,mass:void 0,minimumMass:void 0,maximumMass:void 0,playingLoop:void 0,currentTime:void 0,duration:void 0,playingSpeed:void 0,playing:void 0})})(No||(No={})),c.extendClassProps(No.prototype,No.createDefaultProps);const Lr=class Lr extends ft{constructor(t){super(t);d(this,"initialStyle",this.ad(c.reactJsonWithUndefined(void 0)));d(this,"_getInitialStyleEvent",this.disposeVar(new c.Event))}get typeName(){return"ESPoi2D"}get defaultProps(){return Lr.createDefaultProps()}get getInitialStyleEvent(){return this._getInitialStyleEvent}getInitialStyle(){return Promise.race([new Promise(t=>{const r=this.d(this.initialStyle.changed.disposableOnce(t));this.getInitialStyleEvent.emit(),setTimeout(()=>{r(),t(void 0)},2e3)})])}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new Y("模式","mode",!1,!1,[this,"mode"],Lr.defaults.modes,Lr.defaults.mode),new G("样式","style",!1,!1,[this,"style"],Lr.defaults.style),new k("自动锚点对齐","autoAnchor",!1,!1,[this,"autoAnchor"],Lr.defaults.autoAnchor)]}}getProperties(t){return[...super.getProperties(t),new z("通用","通用",[new Y("模式","mode",!1,!1,[this,"mode"],Lr.defaults.modes),new G("样式","style",!1,!1,[this,"style"],Lr.defaults.style),new k("自动锚点对齐","autoAnchor",!1,!1,[this,"autoAnchor"],Lr.defaults.autoAnchor)])]}};d(Lr,"type",Lr.register("ESPoi2D",Lr,{chsName:"ESPoi2D",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"三角形,菱形"})),d(Lr,"defaults",{...ft.defaults,modes:[["自定义","Custom"],["SquareH01","SquareH01"],["SquareH02","SquareH02"],["SquareV01","SquareV01"],["SquareV02","SquareV02"],["SquareV03","SquareV03"],["SquareV04","SquareV04"],["Flag01","Flag01"],["Flag02","Flag02"],["Linear01","Linear01"],["Linear02","Linear02"],["Linear03","Linear03"],["CircularH01","CircularH01"],["CircularH02","CircularH02"],["CircularV01","CircularV01"],["CircularV02","CircularV02"],["CircularV03","CircularV03"],["CircularV04","CircularV04"],["CircularV05","CircularV05"],["P3D01","P3D01"],["P3D02","P3D02"],["P3D03","P3D03"],["P3D04","P3D04"],["P3D05","P3D05"],["P3D06","P3D06"],["P3D07","P3D07"],["Diamond01","Diamond01"],["Diamond02","Diamond02"],["Stranger","Stranger"],["ManNormal","ManNormal"],["ManAbnormal","ManAbnormal"],["WomanNormal","WomanNormal"],["WomanAbnormal","WomanAbnormal"],["Camera","Camera"]],mode:"SquareH01",style:{},autoAnchor:!0});let yi=Lr;(n=>{n.createDefaultProps=()=>({...ft.createDefaultProps(),mode:"SquareH01",style:c.reactJson({}),autoAnchor:!0})})(yi||(yi={})),c.extendClassProps(yi.prototype,yi.createDefaultProps);const Kn=class Kn extends q{get typeName(){return"ESPoi3D"}get defaultProps(){return Kn.createDefaultProps()}constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new Y("模式","mode",!1,!1,[this,"mode"],Kn.defaults.modes),new G("样式","style",!1,!1,[this,"style"],Kn.defaults.style)]}}getProperties(e){return[...super.getProperties(e),new z("通用","通用",[new Y("模式","mode",!1,!1,[this,"mode"],Kn.defaults.modes),new G("样式","style",!1,!1,[this,"style"],Kn.defaults.style)])]}};d(Kn,"type",Kn.register("ESPoi3D",Kn,{chsName:"ESPoi3D",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"三角形,菱形"})),d(Kn,"defaults",{...q.defaults,modes:[["三角形","triangle"],["菱形","diamond"]],mode:"triangle",style:{UI_Color:[.09803921568627451,.40784313725490196,.8,1],FX_Color:[.09803921568627451,.40784313725490196,.8,1]}});let Do=Kn;(n=>{n.createDefaultProps=()=>({...q.createDefaultProps(),mode:"triangle",style:c.reactJson(n.defaults.style)})})(Do||(Do={})),c.extendClassProps(Do.prototype,Do.createDefaultProps);const Ma=class Ma extends ye{constructor(t){super(t);d(this,"_czmFlattenedPlaneId",this.disposeVar(c.react("")));this.filled=!1}get typeName(){return"ESPolygonFlattenedPlane"}get defaultProps(){return Ma.createDefaultProps()}get czmFlattenedPlaneId(){return this._czmFlattenedPlaneId.value}set czmFlattenedPlaneId(t){this._czmFlattenedPlaneId.value=t}get czmFlattenedPlaneIdChanged(){return this._czmFlattenedPlaneId.changed}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new J("瓦片图层","targetID",!1,!1,[this,"targetID"],"")]}}getProperties(t){return[...super.getProperties(t),new z("通用","通用",[new J("瓦片图层","targetID",!1,!1,[this,"targetID"])])]}};d(Ma,"type",Ma.register("ESPolygonFlattenedPlane",Ma,{chsName:"压平",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESPolygonFlattenedPlane"})),d(Ma,"defaults",{...ye.defaults});let Oo=Ma;(n=>{n.createDefaultProps=()=>({...ye.createDefaultProps(),targetID:""})})(Oo||(Oo={})),c.extendClassProps(Oo.prototype,Oo.createDefaultProps);const yp=async(n,e,t)=>{const{viewer:r}=n;if(!r){console.error("AddTrees: ueViewer.viewer is undefined");return}const i=await r.callUeFunc({f:"AddTrees",p:{id:e,TreeParams:t}});return i.error&&console.error("AddTrees:",i.error),i},_p=async(n,e)=>{const{viewer:t}=n;if(!t){console.error("RemoveAllTrees: ueViewer.viewer is undefined");return}const r=await t.callUeFunc({f:"RemoveAllTrees",p:{id:e}});return r.error&&console.error("RemoveAllTrees:",r.error),r},wp=async(n,e,t)=>{const{viewer:r}=n;if(!r){console.error("UpdateTreeParams: ueViewer.viewer is undefined");return}const i=await r.callUeFunc({f:"UpdateTreeParams",p:{id:e,TreeParams:t}});return i.error&&console.error("UpdateTreeParams:",i.error),i},Ep=async(n,e,t,r)=>{const{viewer:i}=n;if(!i){console.error("CutDownTrees: ueViewer.viewer is undefined");return}const s=await i.callUeFunc({f:"CutDownTrees",p:{id:e,TreeIds:t,TimeLength:r}});return s.error&&console.error("CutDownTrees:",s.error),s},Sp=async(n,e,t,r,i)=>{const{viewer:s}=n;if(!s){console.error("GrowthSimulation: ueViewer.viewer is undefined");return}const o=await s.callUeFunc({f:"GrowthSimulation",p:{id:e,ToParams:t,SwitchTime:i,TimeLength:r}});return o.error&&console.error("GrowthSimulation:",o.error),o},xa=class xa extends Se{constructor(t){super(t);d(this,"_addTreesEvent",this.dv(new c.Event));d(this,"_removeAllTreesEvent",this.dv(new c.Event));d(this,"_updateTreeParamsEvent",this.dv(new c.Event));d(this,"_cutDownTreesEvent",this.dv(new c.Event));d(this,"_growthSimulationEvent",this.dv(new c.Event))}get typeName(){return"ESSeparateFoliage"}get defaultProps(){return xa.createDefaultProps()}async addTreesCallFunc(t,r){return await yp(t,this.id,r)}async updateTreeParamsCallFunc(t,r){return await wp(t,this.id,r)}async cutDownTreesCallFunc(t,r,i){return await Ep(t,this.id,r,i)}async removeAllTreesCallFunc(t){return await _p(t,this.id)}async growthSimulationCallFunc(t,r,i,s){return await Sp(t,this.id,r,i,s)}async getIdByComponentNameAndHitItem(t,r,i){return await t.getIdByComponentNameAndHitItem(this.id,r,i)}get addTreesEvent(){return this._addTreesEvent}addTrees(t){this._addTreesEvent.emit(t)}get removeAllTreesEvent(){return this._removeAllTreesEvent}removeAllTrees(){this._removeAllTreesEvent.emit()}get updateTreeParamsEvent(){return this._updateTreeParamsEvent}updateTreeParams(t){this._updateTreeParamsEvent.emit(t)}get cutDownTreesEvent(){return this._cutDownTreesEvent}cutDownTrees(t,r){this._cutDownTreesEvent.emit(t,r)}get growthSimulationEvent(){return this._growthSimulationEvent}growthSimulation(t,r,i){this._growthSimulationEvent.emit(t,r,i)}getProperties(t){return[...super.getProperties(t),new z("通用","通用",[new G("treeTypes","类型为 { name: string, meshPath: string }[]",!0,!1,[this,"treeTypes"],[],"{ name: string, meshPath: string }[]"),new S("树桩id","树桩id",!1,!1,[this,"stumpId"]),new S("动画间隔时间","动画间隔时间",!1,!1,[this,"intervalTime"]),new S("切换间隔时间","切换间隔时间",!1,!1,[this,"switchIntervalTime"])])]}};d(xa,"type",xa.register("ESSeparateFoliage",xa,{chsName:"单体控制森林",tags:["ESObjects","_ES_Impl_UE"],description:"ESSeparateFoliage"})),d(xa,"defaults",{...Se.defaults,treeTypes:[],stumpId:-1,intervalTime:.1,switchIntervalTime:.5});let Mo=xa;(n=>{n.createDefaultProps=()=>({...Se.createDefaultProps(),treeTypes:c.reactJsonWithUndefined(void 0),stumpId:-1,intervalTime:.1,switchIntervalTime:.5})})(Mo||(Mo={})),c.extendClassProps(Mo.prototype,Mo.createDefaultProps);function hc(n,e,t){const r="buffer"in n,i=r?n.buffer:n;r&&(e+=n.byteOffset);const s=new Array(t),o=new DataView(i);for(let a=0;a<t;++a){const l=o.getUint8(e+a);s[a]=String.fromCharCode(l)}return s.join("")}function fc(n,e){const t="buffer"in n,r=t?n.buffer:n;return t&&(e+=n.byteOffset),new DataView(r).getUint32(e,!0)}function Cp(n,e,t){const r="buffer"in n,i=r?n.buffer:n;if(r&&(e+=n.byteOffset),e+t>i.byteLength){console.error("byteOffset + length > buffer.byteLength");return}return new Uint8Array(i,e,t)}function Vy(n,e,t){const r="buffer"in n,i=r?n.buffer:n;if(r&&(e+=n.byteOffset),e+t*2>i.byteLength){console.error("byteOffset + length * 4 > buffer.byteLength");return}return new Uint16Array(i,e,t)}function zy(n,e,t){const r="buffer"in n,i=r?n.buffer:n;if(r&&(e+=n.byteOffset),e+t*4>i.byteLength){console.error("byteOffset + length * 4 > buffer.byteLength");return}return new Uint32Array(i,e,t)}function Uy(n,e,t){const r="buffer"in n,i=r?n.buffer:n;if(r&&(e+=n.byteOffset),e+t*4>i.byteLength){console.error("byteOffset + length * 4 > buffer.byteLength");return}return new Float32Array(i,e,t)}function Pp(n){if(hc(n,0,4)!=="glTF"){console.error("Not a glTF file");return}const t=fc(n,4);if(t!==2){console.error("Unsupported glTF version");return}const r=fc(n,8);if(r!==n.byteLength){console.error("Invalid glTF length");return}const i=fc(n,12);if(i+12+4>r){console.error("Invalid glTF chunk length");return}if(hc(n,16,4)!=="JSON"){console.error("Invalid glTF chunk type");return}const o=hc(n,20,i),a={version:t,length:r,gltfJson:o};do{if(20+i>=n.byteLength)break;const l=fc(n,20+i);if(hc(n,20+i+4,4)!=="BIN\0"){console.error("Invalid glTF chunk type");return}const h=Cp(n,20+i+8,l);a.gltfBinary=h}while(!1);return a}window.parseGlb=Pp;function Ip(n){const e=Pp(n);if(e===void 0||!e.gltfBinary)return;const t=JSON.parse(e.gltfJson);return t.nodes.map(r=>{var i=t.meshes[r.mesh],s=i.primitives[0].attributes.POSITION,o=i.primitives[0].indices,a=t.accessors[s],l=t.bufferViews[a.bufferView];if(!e.gltfBinary)throw new Error("!glbParseResult.gltfBinary");const u=Uy(e.gltfBinary,l.byteOffset??0,l.byteLength/4);var h=t.accessors[o],f=t.bufferViews[h.bufferView];if(!e.gltfBinary)throw new Error("!glbParseResult.gltfBinary");let p;return h.componentType===5121?p=Cp(e.gltfBinary,f.byteOffset??0,f.byteLength/1):h.componentType===5123?p=Vy(e.gltfBinary,f.byteOffset??0,f.byteLength/2):h.componentType===5125&&(p=zy(e.gltfBinary,f.byteOffset??0,f.byteLength/4)),{name:r.name,posBuffer:u,indicesBuffer:p}})}window.parseWaterGlb=Ip;const Ve=class Ve extends q{constructor(t){super(t);d(this,"_submergingData");d(this,"_allMoments",[]);d(this,"readyEvent",this.dv(new c.Event));{const r=()=>{this.url!=""&&fetch(this.url).then(i=>{i.status==200&&i.ok&&i.arrayBuffer().then(s=>{this._submergingData=Ip(s);const o=this._submergingData.map(a=>Date.parse(a.name)).sort();this._allMoments=o,this.currentTime==0&&(this.currentTime=o[0]),this.readyEvent.emit()})}).catch(i=>{console.log(i)})};r(),this.d(this.urlChanged.don(()=>{r()}))}}get typeName(){return"ESSubmergingAnalysis"}get defaultProps(){return Ve.createDefaultProps()}get getSubmergingData(){return this._submergingData}getAllMoments(){return this._allMoments}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new J("Url地址","url",!1,!1,[this,"url"],Ve.defaults.url),new Me("振幅","控制水波振幅的数值",!1,!1,[this,"amplitude"],.01,[0,1],Ve.defaults.amplitude),new S("频率","控制波数的数值(次/千米)",!1,!1,[this,"frequency"],Ve.defaults.frequency),new S("当前时间","currentTime",!1,!1,[this,"currentTime"],Ve.defaults.currentTime),new G("材质参数","materialParams",!1,!1,[this,"materialParams"],Ve.defaults.materialParams),new Y("水域类型","当为custom是其他控制效果的参数生效,否则不生效,使用对应水域类型的预定效果",!1,!1,[this,"waterType"],Ve.defaults.waterTypes,"river"),new Z("水的底色","waterColor",!1,!1,[this,"waterColor"],Ve.defaults.waterColor),new Me("波动频率","控制水波纹扰动的速率",!1,!1,[this,"waveVelocity"],.01,[0,1],Ve.defaults.waveVelocity),new S("水流速度","控制水流速度,单位 米/秒",!1,!1,[this,"flowSpeed"],Ve.defaults.flowSpeed),new Me("镜面反射强度","控制镜面反射强度的数值",!1,!1,[this,"specularIntensity"],.01,[0,1],Ve.defaults.specularIntensity),new Me("水体浑浊度","控制水体的浑浊程度,数值越大,浑浊程度越大,取值范围0-10。",!1,!1,[this,"murkiness"],.01,[0,10],Ve.defaults.murkiness)]}}getProperties(t){return[...super.getProperties(t),new z("通用","通用",[new J("模型Url地址","url",!1,!1,[this,"url"],Ve.defaults.url),new S("当前时间","currentTime",!1,!1,[this,"currentTime"],Ve.defaults.currentTime),new G("材质参数","materialParams",!1,!1,[this,"materialParams"],Ve.defaults.materialParams),new Y("水域类型","当为custom是其他控制效果的参数生效,否则不生效,使用对应水域类型的预定效果",!1,!1,[this,"waterType"],Ve.defaults.waterTypes),new Z("水的底色","waterColor",!1,!1,[this,"waterColor"],Ve.defaults.waterColor),new S("频率","控制波数的数值(次/千米)",!1,!1,[this,"frequency"],Ve.defaults.frequency),new Me("波动频率","控制水波纹扰动的速率",!1,!1,[this,"waveVelocity"],.01,[0,1],Ve.defaults.waveVelocity),new Me("振幅","控制水波振幅的数值",!1,!1,[this,"amplitude"],.01,[0,1],Ve.defaults.amplitude),new Me("镜面反射强度","控制镜面反射强度的数值",!1,!1,[this,"specularIntensity"],.01,[0,1],Ve.defaults.specularIntensity),new Me("水体浑浊度","控制水体的浑浊程度,数值越大,浑浊程度越大,取值范围0-10。",!1,!1,[this,"murkiness"],.01,[0,10],Ve.defaults.murkiness),new S("水流速度","控制水流速度,单位 米/秒",!1,!1,[this,"flowSpeed"],Ve.defaults.flowSpeed)])]}};d(Ve,"type",Ve.register("ESSubmergingAnalysis",Ve,{chsName:"淹没分析",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESSubmergingAnalysis"})),d(Ve,"defaults",{...q.defaults,url:"",currentTime:0,materialParams:{},waterColor:[.1497,.165,.0031,1],frequency:1e3,waveVelocity:.5,amplitude:.1,specularIntensity:.8,waterTypes:[["river","river"],["ocean","ocean"],["lake","lake"],["custom","custom"]],waterType:"river",flowSpeed:0,murkiness:5});let xo=Ve;(n=>{n.createDefaultProps=()=>({...q.createDefaultProps(),allowPicking:!0,url:"",currentTime:0,materialParams:c.reactJson({}),waterColor:[.1497,.165,.0031,1],frequency:1e3,waveVelocity:.5,amplitude:.1,specularIntensity:.8,waterType:"river",flowSpeed:0,murkiness:5})})(xo||(xo={})),c.extendClassProps(xo.prototype,xo.createDefaultProps);const Fs=class Fs extends ye{constructor(t){super(t);d(this,"_startEvent",this.dv(new c.Event));d(this,"_stopEvent",this.dv(new c.Event));this.filled=!1,this.stroked=!1}get typeName(){return"ESSunshineAnalysis"}get defaultProps(){return Fs.createDefaultProps()}get startEvent(){return this._startEvent}start(){this._startEvent.emit()}get stopEvent(){return this._stopEvent}stop(){this._stopEvent.emit()}getProperties(t){return[...super.getProperties(t),new Z("起始颜色","起始颜色",!1,!1,[this,"startColor"]),new Z("结束颜色","结束颜色",!1,!1,[this,"endColor"]),new S("计算进度","计算进度",!0,!0,[this,"progress"]),new S("高度","高度m",!1,!1,[this,"extrudedHeight"]),new S("底面高度","底面高度",!1,!1,[this,"height"]),new S("采样间距","采样间距m",!1,!1,[this,"sampleDistance"]),new S("起始时间","startTime,时间戳",!1,!1,[this,"startTime"]),new S("结束时间","endTime,时间戳",!1,!1,[this,"endTime"]),new S("时间跨度","时间跨度,默认1小时时间戳",!1,!1,[this,"spanTime"]),new ie("开始分析","开始分析",[],()=>this.start(),[]),new ie("结束分析","结束分析",[],()=>this.stop(),[])]}};d(Fs,"type",Fs.register("ESSunshineAnalysis",Fs,{chsName:"日照分析",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"日照分析"})),d(Fs,"supportEditingModes",[...ye.supportEditingModes,se.HeightModify]),d(Fs,"defaults",{...ye.defaults});let Lo=Fs;(n=>{n.createDefaultProps=()=>({...ye.createDefaultProps(),extrudedHeight:30,height:0,sampleDistance:10,startColor:c.reactArray([1,1,0,1]),endColor:c.reactArray([1,0,0,1]),startTime:0,endTime:36e6,spanTime:1,progress:0})})(Lo||(Lo={})),c.extendClassProps(Lo.prototype,Lo.createDefaultProps);const wr=class wr extends Se{constructor(t){super(t);d(this,"_activateEvent",this.disposeVar(new c.Event));d(this,"activate",!1)}get typeName(){return"ESTerrainLayer"}get defaultProps(){return wr.createDefaultProps()}get activateEvent(){return this._activateEvent}getESProperties(){const t={...super.getESProperties()},r=[new S("层级序号","层级序号",!1,!1,[this,"zIndex"],wr.defaults.zIndex),new Y("渲染模式","renderMode",!1,!1,[this,"renderMode"],wr.defaults.renderModes,"default"),new S("透明度","opacity",!1,!1,[this,"opacity"],wr.defaults.opacity)],i=[new G("地形服务地址","地形服务地址",!1,!1,[this,"url"],wr.defaults.url),new or("矩形范围","西南东北",!1,!1,[this,"rectangle"],wr.defaults.rectangle)];return t.basic.push(...r),t.dataSource.push(...i),t.defaultMenu="dataSource",t}getProperties(t){return[...super.getProperties(t),new z("ESTerrainLayer","ESTerrainLayer",[new G("地形服务地址","地形服务地址",!1,!1,[this,"url"]),new or("矩形范围","西南东北",!1,!1,[this,"rectangle"]),new S("层级","zIndex",!1,!1,[this,"zIndex"]),new Y("渲染模式","renderMode",!1,!1,[this,"renderMode"],wr.defaults.renderModes,wr.defaults.renderMode),new S("透明度","opacity",!1,!1,[this,"opacity"],wr.defaults.opacity),new z("czm","czm",[new S("czmMinzoom","czmMinzoom",!0,!1,[this,"czmMinzoom"]),new S("czmMaxzoom","czmMaxzoom",!0,!1,[this,"czmMaxzoom"])])])]}};d(wr,"type",wr.register("ESTerrainLayer",wr,{chsName:"地形图层",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"地形图层"})),d(wr,"defaults",{...Se.defaults,show:!0,url:"http://inner.earthsdk.com/layer.json",rectangle:[-180,-90,180,90],zIndex:0,renderMode:"default",renderModes:[["使用深度检测","default"],["不使用深度检测","disableDepthTest"],["透明","transparent"]],opacity:1});let Ao=wr;(n=>{n.createDefaultProps=()=>({...Se.createDefaultProps(),url:"http://inner.earthsdk.com/layer.json",rectangle:c.reactArray([-180,-90,180,90]),zIndex:0,czmMaxzoom:void 0,czmMinzoom:void 0,renderMode:"default",opacity:1})})(Ao||(Ao={})),c.extendClassProps(Ao.prototype,Ao.createDefaultProps);const Tn=class Tn extends ft{get typeName(){return"ESTextLabel"}get defaultProps(){return Tn.createDefaultProps()}constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new Z("文本颜色","指定文本标签的字体颜色.",!1,!1,[this,"color"],[1,1,1,1]),new S("文字大小","fontSize",!1,!1,[this,"fontSize"],14),new mu("内容","内容",!0,!1,[this,"text"],Tn.defaults.text),new Z("背景颜色"," 指定文本标签的背景颜色.",!1,!1,[this,"backgroundColor"],Tn.defaults.backgroundColor),new or("内边距","上,右,下,左顺序.",!1,!1,[this,"padding"],Tn.defaults.padding),new Z("边界颜色"," 边界色.",!1,!1,[this,"borderColor"]),new or("边界圆角","左上,右上,右下,左下.",!1,!1,[this,"borderRadius"]),new S("边界宽度","边界宽度",!1,!1,[this,"borderWidth"])]}}getProperties(e){return[...super.getProperties(e),new z("通用","通用",[new mu("内容","内容",!0,!1,[this,"text"],Tn.defaults.text),new Z("文本颜色","指定文本标签的字体颜色.",!1,!1,[this,"color"]),new S("文字大小","fontSize",!1,!1,[this,"fontSize"]),new Z("背景颜色"," 指定文本标签的背景颜色.",!1,!1,[this,"backgroundColor"]),new or("内边距","上,右,下,左顺序.",!1,!1,[this,"padding"]),new Z("边界颜色"," 边界色.",!1,!1,[this,"borderColor"]),new or("边界圆角","左上,右上,右下,左下.",!1,!1,[this,"borderRadius"]),new S("边界宽度","边界宽度",!1,!1,[this,"borderWidth"])]),new z("czm","czm",[new k("文本编辑交互","文本编辑交互.",!1,!1,[this,"textEditingInteraction"]),new k("文本编辑","文本编辑.",!1,!1,[this,"textEditing"]),new S("宽度","宽度",!0,!1,[this,"width"],Tn.defaults.width),new S("透明度","透明度",!1,!1,[this,"opacity"]),new Y("文字位置","文字位置",!1,!1,[this,"textAlign"],[["center","center"],["left","left"],["right","right"]]),new Y("边框类型","边框类型",!1,!1,[this,"borderStyle"],[["none","none"],["hidden","hidden"],["dotted","dotted"],["dashed","dashed"],["solid","solid"],["double","double"],["groove","groove"],["ridge","ridge"],["inset","inset"],["outset","outset"]])])]}};d(Tn,"type",Tn.register("ESTextLabel",Tn,{chsName:"文本标签",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"文本标签。"})),d(Tn,"defaults",{...ft.defaults,allowTextEditing:!0,width:80,text:"请输入文字",opacity:1,backgroundColor:[0,0,0,.8],padding:[5,5,5,5],borderRadius:[6,6,6,6],borderColor:[1,1,1,1],borderWidth:0,textAlign:"left",borderStyle:"solid"});let Ro=Tn;(n=>{n.createDefaultProps=()=>({...ft.createDefaultProps(),text:void 0,width:void 0,textEditing:!1,textEditingInteraction:!1,opacity:1,fontSize:14,textAlign:"left",color:c.reactArray([1,1,1,1]),backgroundColor:c.reactArray([0,0,0,.8]),padding:c.reactArray([5,5,5,5]),borderRadius:c.reactArray([6,6,6,6]),borderWidth:0,borderColor:c.reactArray([1,1,1,1]),borderStyle:"solid"})})(Ro||(Ro={})),c.extendClassProps(Ro.prototype,Ro.createDefaultProps);const Tp=`
313
314
  #### 默认值如下
314
315
  \`\`\`js
315
316
  {
316
317
  "Title": "示例",
317
318
  "Content": "这是一个示例\\n帮助你理解info的数据形式\\nnum:1\\nkey:'value'\\n"
318
319
  }
319
- \`\`\``,Ar=class Ar extends ft{constructor(t){super(t);p(this,"_callFunctionEvent",this.disposeVar(new c.Event))}get typeName(){return"ESUEWidget"}get defaultProps(){return Ar.createDefaultProps()}get callFunctionEvent(){return this._callFunctionEvent}callFunction(t,r){this._callFunctionEvent.emit(t,r)}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new Pt("positionOffset","positionOffset(米)",!1,!1,[this,"positionOffset"],Ar.defaults.positionOffset),new Pt("rotationOffset","rotationOffset(米)",!1,!1,[this,"rotationOffset"],Ar.defaults.rotationOffset),new J("actorTag","actorTag",!1,!1,[this,"actorTag"],Ar.defaults.actorTag),new J("widgetClass","widgetClass",!1,!1,[this,"widgetClass"],Ar.defaults.widgetClass),new J("socketName","socketName",!1,!1,[this,"socketName"],Ar.defaults.socketName),new G("info","info",!0,!1,[this,"info"],Ar.defaults.info,Td)]}}getProperties(t){return[...super.getProperties(t),new z("通用","通用",[new ie("callFunction","callFunction",["string","string"],(r,i)=>this.callFunction(r,JSON.parse(i)),["",""]),new bn("positionOffset","positionOffset(米)",!1,!1,[this,"positionOffset"]),new bn("rotationOffset","rotationOffset(米)",!1,!1,[this,"rotationOffset"]),new J("actorTag","actorTag",!1,!1,[this,"actorTag"]),new J("widgetClass","widgetClass",!1,!1,[this,"widgetClass"]),new J("socketName","socketName",!1,!1,[this,"socketName"]),new G("info","info",!0,!1,[this,"info"],Ar.defaults.info,Td)])]}};p(Ar,"type",Ar.register("ESUEWidget",Ar,{chsName:"部件",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"3DTileset"})),p(Ar,"defaults",{...ft.defaults,info:{Title:"标题示例",Content:"内容示例"},widgetClass:"",socketName:"",positionOffset:[0,0,0],actorTag:"",rotationOffset:[0,0,0]});let Fo=Ar;(n=>{n.createDefaultProps=()=>({widgetClass:"",info:c.reactJsonWithUndefined(void 0),...ft.createDefaultProps()})})(Fo||(Fo={})),c.extendClassProps(Fo.prototype,Fo.createDefaultProps);const Nl=class Nl extends q{constructor(){super(...arguments);p(this,"_callFunctionEvent",this.dv(new c.Event));p(this,"_actorEvent",this.dv(new c.Event));p(this,"_lastActorStatus",this.dv(c.react("null")))}get typeName(){return"ESUnrealActor"}get defaultProps(){return Nl.createDefaultProps()}get callFunctionEvent(){return this._callFunctionEvent}callFunction(t,r){this._callFunctionEvent.emit(t,r)}getBoundSphereWithChildren(t){return new Promise((r,i)=>{r(void 0)})}get actorEvent(){return this._actorEvent}get lastActorStatus(){return this._lastActorStatus.value}set lastActorStatus(t){this._lastActorStatus.value=t}get lastActorStatusChanged(){return this._lastActorStatus.changed}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new J("actorTag","actorTag",!1,!1,[this,"actorTag"],""),new J("actorClass","actorClass",!1,!1,[this,"actorClass"],""),new k("是否高亮","是否高亮highlight.",!1,!1,[this,"highlight"],!1)]}}getProperties(t){return[...super.getProperties(t),new ie("callFunction","callFunction",["string","string"],(r,i)=>this.callFunction(r,JSON.parse(i)),["",""]),new J("actorTag","actorTag",!1,!1,[this,"actorTag"]),new J("actorClass","actorClass",!1,!1,[this,"actorClass"]),new k("是否高亮","是否高亮highlight.",!1,!1,[this,"highlight"])]}};p(Nl,"type",Nl.register("ESUnrealActor",Nl,{chsName:"UnrealActor",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"UnrealActor"}));let ko=Nl;(n=>{n.createDefaultProps=()=>({...q.createDefaultProps(),actorTag:"",actorClass:"",highlight:!1,allowPicking:!0})})(ko||(ko={})),c.extendClassProps(ko.prototype,ko.createDefaultProps);const Zt=class Zt extends q{constructor(t){super(t);p(this,"editingBindMode","doublePoints");p(this,"_resetWithCameraInfoEvent",this.dv(new c.Event));this.collision=!1}get typeName(){return"ESVideoFusion"}get defaultProps(){return Zt.createDefaultProps()}get resetWithCameraInfoEvent(){return this._resetWithCameraInfoEvent}resetWithCameraInfo(){this._resetWithCameraInfoEvent.emit()}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new k("循环","looping",!1,!1,[this,"looping"],Zt.defaults.looping),new k("视椎体","showFrustum",!1,!1,[this,"showFrustum"],Zt.defaults.showFrustum),new S("宽高比","aspectRatio",!1,!1,[this,"aspectRatio"],Zt.defaults.aspectRatio),new S("横向夹角","fov",!1,!1,[this,"fov"],Zt.defaults.fov),new S("视野长度","far",!1,!1,[this,"far"],Zt.defaults.far),new S("近面距离","near",!1,!1,[this,"near"],Zt.defaults.near),new G("视频路径","videoStreamUrl",!1,!1,[this,"videoStreamUrl"],Zt.defaults.videoStreamUrl),new S("显示优先级","zIndex",!1,!1,[this,"zIndex"],Zt.defaults.zIndex),new Y("视频类型","视频类型",!1,!1,[this,"videoStreamType"],Zt.defaults.videoStreamTypes,"video")]}}getProperties(t){return[...super.getProperties(t),new z("通用","通用",[new S("横向夹角","fov",!1,!1,[this,"fov"]),new S("宽高比","aspectRatio",!1,!1,[this,"aspectRatio"]),new S("视野长度","far",!1,!1,[this,"far"]),new S("近面距离","near",!1,!1,[this,"near"]),new G("视频路径","videoStreamUrl",!1,!1,[this,"videoStreamUrl"]),new S("显示优先级","zIndex",!1,!1,[this,"zIndex"]),new k("视椎体","showFrustum",!1,!1,[this,"showFrustum"]),new k("循环","looping",!1,!1,[this,"looping"])]),new z("czm","czm",[new Y("视频类型","视频类型",!1,!1,[this,"videoStreamType"],Zt.defaults.videoStreamTypes),new ie("重置","以当前相机状态",[],()=>this.resetWithCameraInfo(),[])])]}};p(Zt,"type",Zt.register("ESVideoFusion",Zt,{chsName:"视频融合",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"视频融合"})),p(Zt,"defaults",{...q.defaults,fov:90,aspectRatio:1.77778,far:100,near:5,videoStreamUrl:"",zIndex:1,showFrustum:!0,looping:!0,videoStreamTypes:[["video","video"],["hls","hls"],["flv","flv"],["img","img"],["gif","gif"]]});let Vo=Zt;(n=>{n.createDefaultProps=()=>({...q.createDefaultProps(),fov:90,aspectRatio:1.77778,far:100,near:5,videoStreamUrl:"",zIndex:1,showFrustum:!0,looping:!0,videoStreamType:"video"})})(Vo||(Vo={})),c.extendClassProps(Vo.prototype,Vo.createDefaultProps);const sn=class sn extends q{constructor(t){super(t);p(this,"editingBindMode","doublePoints");this.collision=!1}get typeName(){return"ESViewShed"}get defaultProps(){return sn.createDefaultProps()}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new k("视椎体","showFrustum",!1,!1,[this,"showFrustum"],sn.defaults.showFrustum),new S("宽高比","aspectRatio",!1,!1,[this,"aspectRatio"],sn.defaults.aspectRatio),new S("横向夹角","fov",!1,!1,[this,"fov"],sn.defaults.fov),new S("近面距离","near",!1,!1,[this,"near"],sn.defaults.near),new S("视野长度","far",!1,!1,[this,"far"],sn.defaults.far),new S("显示优先级","zIndex",!1,!1,[this,"zIndex"],sn.defaults.zIndex)]}}getProperties(t){return[...super.getProperties(t),new z("通用","通用",[new S("横向夹角","fov",!1,!1,[this,"fov"]),new S("宽高比","aspectRatio",!1,!1,[this,"aspectRatio"]),new S("近面距离","near",!1,!1,[this,"near"]),new S("视野长度","far",!1,!1,[this,"far"]),new S("显示优先级","zIndex",!1,!1,[this,"zIndex"]),new k("视椎体","showFrustum",!1,!1,[this,"showFrustum"])])]}};p(sn,"type",sn.register("ESViewShed",sn,{chsName:"视域分析",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"信号传输器"})),p(sn,"defaults",{...q.defaults,fov:90,aspectRatio:1.77778,near:10,far:100,zIndex:1,showFrustum:!0});let zo=sn;(n=>{n.createDefaultProps=()=>({...q.createDefaultProps(),fov:90,aspectRatio:1.77778,near:10,far:100,zIndex:1,showFrustum:!0})})(zo||(zo={})),c.extendClassProps(zo.prototype,zo.createDefaultProps);const bd=`
320
+ \`\`\``,Ar=class Ar extends ft{constructor(t){super(t);d(this,"_callFunctionEvent",this.disposeVar(new c.Event))}get typeName(){return"ESUEWidget"}get defaultProps(){return Ar.createDefaultProps()}get callFunctionEvent(){return this._callFunctionEvent}callFunction(t,r){this._callFunctionEvent.emit(t,r)}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new Pt("positionOffset","positionOffset(米)",!1,!1,[this,"positionOffset"],Ar.defaults.positionOffset),new Pt("rotationOffset","rotationOffset(米)",!1,!1,[this,"rotationOffset"],Ar.defaults.rotationOffset),new J("actorTag","actorTag",!1,!1,[this,"actorTag"],Ar.defaults.actorTag),new J("widgetClass","widgetClass",!1,!1,[this,"widgetClass"],Ar.defaults.widgetClass),new J("socketName","socketName",!1,!1,[this,"socketName"],Ar.defaults.socketName),new G("info","info",!0,!1,[this,"info"],Ar.defaults.info,Tp)]}}getProperties(t){return[...super.getProperties(t),new z("通用","通用",[new ie("callFunction","callFunction",["string","string"],(r,i)=>this.callFunction(r,JSON.parse(i)),["",""]),new bn("positionOffset","positionOffset(米)",!1,!1,[this,"positionOffset"]),new bn("rotationOffset","rotationOffset(米)",!1,!1,[this,"rotationOffset"]),new J("actorTag","actorTag",!1,!1,[this,"actorTag"]),new J("widgetClass","widgetClass",!1,!1,[this,"widgetClass"]),new J("socketName","socketName",!1,!1,[this,"socketName"]),new G("info","info",!0,!1,[this,"info"],Ar.defaults.info,Tp)])]}};d(Ar,"type",Ar.register("ESUEWidget",Ar,{chsName:"部件",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"3DTileset"})),d(Ar,"defaults",{...ft.defaults,info:{Title:"标题示例",Content:"内容示例"},widgetClass:"",socketName:"",positionOffset:[0,0,0],actorTag:"",rotationOffset:[0,0,0]});let Fo=Ar;(n=>{n.createDefaultProps=()=>({widgetClass:"",info:c.reactJsonWithUndefined(void 0),...ft.createDefaultProps()})})(Fo||(Fo={})),c.extendClassProps(Fo.prototype,Fo.createDefaultProps);const Nl=class Nl extends q{constructor(){super(...arguments);d(this,"_callFunctionEvent",this.dv(new c.Event));d(this,"_actorEvent",this.dv(new c.Event));d(this,"_lastActorStatus",this.dv(c.react("null")))}get typeName(){return"ESUnrealActor"}get defaultProps(){return Nl.createDefaultProps()}get callFunctionEvent(){return this._callFunctionEvent}callFunction(t,r){this._callFunctionEvent.emit(t,r)}getBoundSphereWithChildren(t){return new Promise((r,i)=>{r(void 0)})}get actorEvent(){return this._actorEvent}get lastActorStatus(){return this._lastActorStatus.value}set lastActorStatus(t){this._lastActorStatus.value=t}get lastActorStatusChanged(){return this._lastActorStatus.changed}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new J("actorTag","actorTag",!1,!1,[this,"actorTag"],""),new J("actorClass","actorClass",!1,!1,[this,"actorClass"],""),new k("是否高亮","是否高亮highlight.",!1,!1,[this,"highlight"],!1)]}}getProperties(t){return[...super.getProperties(t),new ie("callFunction","callFunction",["string","string"],(r,i)=>this.callFunction(r,JSON.parse(i)),["",""]),new J("actorTag","actorTag",!1,!1,[this,"actorTag"]),new J("actorClass","actorClass",!1,!1,[this,"actorClass"]),new k("是否高亮","是否高亮highlight.",!1,!1,[this,"highlight"])]}};d(Nl,"type",Nl.register("ESUnrealActor",Nl,{chsName:"UnrealActor",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"UnrealActor"}));let ko=Nl;(n=>{n.createDefaultProps=()=>({...q.createDefaultProps(),actorTag:"",actorClass:"",highlight:!1,allowPicking:!0})})(ko||(ko={})),c.extendClassProps(ko.prototype,ko.createDefaultProps);const Zt=class Zt extends q{constructor(t){super(t);d(this,"editingBindMode","doublePoints");d(this,"_resetWithCameraInfoEvent",this.dv(new c.Event));this.collision=!1}get typeName(){return"ESVideoFusion"}get defaultProps(){return Zt.createDefaultProps()}get resetWithCameraInfoEvent(){return this._resetWithCameraInfoEvent}resetWithCameraInfo(){this._resetWithCameraInfoEvent.emit()}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new k("循环","looping",!1,!1,[this,"looping"],Zt.defaults.looping),new k("视椎体","showFrustum",!1,!1,[this,"showFrustum"],Zt.defaults.showFrustum),new S("宽高比","aspectRatio",!1,!1,[this,"aspectRatio"],Zt.defaults.aspectRatio),new S("横向夹角","fov",!1,!1,[this,"fov"],Zt.defaults.fov),new S("视野长度","far",!1,!1,[this,"far"],Zt.defaults.far),new S("近面距离","near",!1,!1,[this,"near"],Zt.defaults.near),new G("视频路径","videoStreamUrl",!1,!1,[this,"videoStreamUrl"],Zt.defaults.videoStreamUrl),new S("显示优先级","zIndex",!1,!1,[this,"zIndex"],Zt.defaults.zIndex),new Y("视频类型","视频类型",!1,!1,[this,"videoStreamType"],Zt.defaults.videoStreamTypes,"video")]}}getProperties(t){return[...super.getProperties(t),new z("通用","通用",[new S("横向夹角","fov",!1,!1,[this,"fov"]),new S("宽高比","aspectRatio",!1,!1,[this,"aspectRatio"]),new S("视野长度","far",!1,!1,[this,"far"]),new S("近面距离","near",!1,!1,[this,"near"]),new G("视频路径","videoStreamUrl",!1,!1,[this,"videoStreamUrl"]),new S("显示优先级","zIndex",!1,!1,[this,"zIndex"]),new k("视椎体","showFrustum",!1,!1,[this,"showFrustum"]),new k("循环","looping",!1,!1,[this,"looping"])]),new z("czm","czm",[new Y("视频类型","视频类型",!1,!1,[this,"videoStreamType"],Zt.defaults.videoStreamTypes),new ie("重置","以当前相机状态",[],()=>this.resetWithCameraInfo(),[])])]}};d(Zt,"type",Zt.register("ESVideoFusion",Zt,{chsName:"视频融合",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"视频融合"})),d(Zt,"defaults",{...q.defaults,fov:90,aspectRatio:1.77778,far:100,near:5,videoStreamUrl:"",zIndex:1,showFrustum:!0,looping:!0,videoStreamTypes:[["video","video"],["hls","hls"],["flv","flv"],["img","img"],["gif","gif"]]});let Vo=Zt;(n=>{n.createDefaultProps=()=>({...q.createDefaultProps(),fov:90,aspectRatio:1.77778,far:100,near:5,videoStreamUrl:"",zIndex:1,showFrustum:!0,looping:!0,videoStreamType:"video"})})(Vo||(Vo={})),c.extendClassProps(Vo.prototype,Vo.createDefaultProps);const sn=class sn extends q{constructor(t){super(t);d(this,"editingBindMode","doublePoints");this.collision=!1}get typeName(){return"ESViewShed"}get defaultProps(){return sn.createDefaultProps()}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new k("视椎体","showFrustum",!1,!1,[this,"showFrustum"],sn.defaults.showFrustum),new S("宽高比","aspectRatio",!1,!1,[this,"aspectRatio"],sn.defaults.aspectRatio),new S("横向夹角","fov",!1,!1,[this,"fov"],sn.defaults.fov),new S("近面距离","near",!1,!1,[this,"near"],sn.defaults.near),new S("视野长度","far",!1,!1,[this,"far"],sn.defaults.far),new S("显示优先级","zIndex",!1,!1,[this,"zIndex"],sn.defaults.zIndex)]}}getProperties(t){return[...super.getProperties(t),new z("通用","通用",[new S("横向夹角","fov",!1,!1,[this,"fov"]),new S("宽高比","aspectRatio",!1,!1,[this,"aspectRatio"]),new S("近面距离","near",!1,!1,[this,"near"]),new S("视野长度","far",!1,!1,[this,"far"]),new S("显示优先级","zIndex",!1,!1,[this,"zIndex"]),new k("视椎体","showFrustum",!1,!1,[this,"showFrustum"])])]}};d(sn,"type",sn.register("ESViewShed",sn,{chsName:"视域分析",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"信号传输器"})),d(sn,"defaults",{...q.defaults,fov:90,aspectRatio:1.77778,near:10,far:100,zIndex:1,showFrustum:!0});let zo=sn;(n=>{n.createDefaultProps=()=>({...q.createDefaultProps(),fov:90,aspectRatio:1.77778,near:10,far:100,zIndex:1,showFrustum:!0})})(zo||(zo={})),c.extendClassProps(zo.prototype,zo.createDefaultProps);const bp=`
320
321
  #### 默认值如下
321
322
  \`\`\`js
322
323
  {
@@ -324,7 +325,7 @@ export type ESJTimeIntervalCollectionJsonType = {
324
325
  "Key":"Value",
325
326
  "内容": "这是一个示例\\n帮助你理解info的数据形式\\nnum:1\\nkey:'value'\\n"
326
327
  }
327
- \`\`\``,Ii=class Ii extends ft{get typeName(){return"ESWidget"}get defaultProps(){return Ii.createDefaultProps()}constructor(e){super(e),this.anchor=[.5,1]}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new G("信息","info",!0,!1,[this,"info"],Ii.defaults.info,bd)]}}getProperties(e){return[...super.getProperties(e),new z("通用","通用",[new G("信息","info",!0,!1,[this,"info"],Ii.defaults.info,bd)]),new z("ue","ue",[new bn("坐标偏移","positionOffset(米)",!1,!1,[this,"positionOffset"]),new bn("旋转偏移","rotationOffset(米)",!1,!1,[this,"rotationOffset"]),new J("actorTag","actorTag",!1,!1,[this,"actorTag"]),new J("widgetClass","widgetClass",!1,!1,[this,"widgetClass"]),new J("socketName","socketName",!1,!1,[this,"socketName"])]),new z("czm","czm",[new S("透明度","透明度",!0,!1,[this,"opacity"],Ii.defaults.opacity)])]}};p(Ii,"type",Ii.register("ESWidget",Ii,{chsName:"部件",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ES组件"})),p(Ii,"defaults",{...ft.defaults,info:{title:"标题示例",内容:"内容示例"},widgetClass:"WidgetBlueprint'/EarthSDKForUE/Widget/WBP_ES_DefaultInfo.WBP_ES_DefaultInfo'",actorTag:"",socketName:"",positionOffset:[0,0,0],rotationOffset:[0,0,0],allowTextEditing:!0,opacity:1});let Uo=Ii;(n=>{n.createDefaultProps=()=>({...ft.createDefaultProps(),info:{title:"标题示例",内容:"内容示例"},widgetClass:void 0,actorTag:"",socketName:"",positionOffset:c.reactArray([0,0,0]),rotationOffset:c.reactArray([0,0,0]),opacity:1})})(Uo||(Uo={})),c.extendClassProps(Uo.prototype,Uo.createDefaultProps);const ks=class ks extends ce{constructor(t){super(t);p(this,"editingBindMode","doublePoints");this.stroked=!0,this.strokeStyle={width:10,widthType:"screen",color:[1,1,1,1],material:"",materialParams:{},ground:!1}}get typeName(){return"ESDirectionMeasurement"}get defaultProps(){return ks.createDefaultProps()}get strokeWidth(){return this.strokeStyle.width}set strokeWidth(t){this.strokeStyle={...this.strokeStyle,width:t}}getProperties(t){return[...super.getProperties(t)]}};p(ks,"type",ks.register("ESDirectionMeasurement",ks,{chsName:"方位角测量",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"方位角测量"})),p(ks,"supportEditingModes",[...ce.supportEditingModes,se.Rotation,se.Scale,se.DoublePointsAppend,se.DoublePointsModify]),p(ks,"defaults",{...ce.defaults});let Go=ks;(n=>{n.createDefaultProps=()=>({...ce.createDefaultProps()})})(Go||(Go={})),c.extendClassProps(Go.prototype,Go.createDefaultProps);const Gy={type:"FeatureCollection",features:[{type:"Feature",geometry:{type:"Point",coordinates:[116.2,39.56]},properties:{title:"swimming","marker-symbol":"swimming","marker-color":"#8F1312"}},{type:"Feature",geometry:{type:"Point",coordinates:[115.2,38.56]},properties:{title:"8","marker-symbol":"8","marker-color":"#46117E"}},{type:"Feature",geometry:{type:"Point",coordinates:[114.2,37.56]},properties:{title:"6","marker-symbol":"6","marker-color":"#713291"}}]},Wy=`properties是一个包含三个属性的对象,title表示标题,marker-symbol表示点位的文字内容,marker-color表示点位颜色,properties可以删除,然后使用场景对象属性设置。
328
+ \`\`\``,Ii=class Ii extends ft{get typeName(){return"ESWidget"}get defaultProps(){return Ii.createDefaultProps()}constructor(e){super(e),this.anchor=[.5,1]}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new G("信息","info",!0,!1,[this,"info"],Ii.defaults.info,bp)]}}getProperties(e){return[...super.getProperties(e),new z("通用","通用",[new G("信息","info",!0,!1,[this,"info"],Ii.defaults.info,bp)]),new z("ue","ue",[new bn("坐标偏移","positionOffset(米)",!1,!1,[this,"positionOffset"]),new bn("旋转偏移","rotationOffset(米)",!1,!1,[this,"rotationOffset"]),new J("actorTag","actorTag",!1,!1,[this,"actorTag"]),new J("widgetClass","widgetClass",!1,!1,[this,"widgetClass"]),new J("socketName","socketName",!1,!1,[this,"socketName"])]),new z("czm","czm",[new S("透明度","透明度",!0,!1,[this,"opacity"],Ii.defaults.opacity)])]}};d(Ii,"type",Ii.register("ESWidget",Ii,{chsName:"部件",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ES组件"})),d(Ii,"defaults",{...ft.defaults,info:{title:"标题示例",内容:"内容示例"},widgetClass:"WidgetBlueprint'/EarthSDKForUE/Widget/WBP_ES_DefaultInfo.WBP_ES_DefaultInfo'",actorTag:"",socketName:"",positionOffset:[0,0,0],rotationOffset:[0,0,0],allowTextEditing:!0,opacity:1});let Uo=Ii;(n=>{n.createDefaultProps=()=>({...ft.createDefaultProps(),info:{title:"标题示例",内容:"内容示例"},widgetClass:void 0,actorTag:"",socketName:"",positionOffset:c.reactArray([0,0,0]),rotationOffset:c.reactArray([0,0,0]),opacity:1})})(Uo||(Uo={})),c.extendClassProps(Uo.prototype,Uo.createDefaultProps);const ks=class ks extends ce{constructor(t){super(t);d(this,"editingBindMode","doublePoints");this.stroked=!0,this.strokeStyle={width:10,widthType:"screen",color:[1,1,1,1],material:"",materialParams:{},ground:!1}}get typeName(){return"ESDirectionMeasurement"}get defaultProps(){return ks.createDefaultProps()}get strokeWidth(){return this.strokeStyle.width}set strokeWidth(t){this.strokeStyle={...this.strokeStyle,width:t}}getProperties(t){return[...super.getProperties(t)]}};d(ks,"type",ks.register("ESDirectionMeasurement",ks,{chsName:"方位角测量",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"方位角测量"})),d(ks,"supportEditingModes",[...ce.supportEditingModes,se.Rotation,se.Scale,se.DoublePointsAppend,se.DoublePointsModify]),d(ks,"defaults",{...ce.defaults});let Go=ks;(n=>{n.createDefaultProps=()=>({...ce.createDefaultProps()})})(Go||(Go={})),c.extendClassProps(Go.prototype,Go.createDefaultProps);const Gy={type:"FeatureCollection",features:[{type:"Feature",geometry:{type:"Point",coordinates:[116.2,39.56]},properties:{title:"swimming","marker-symbol":"swimming","marker-color":"#8F1312"}},{type:"Feature",geometry:{type:"Point",coordinates:[115.2,38.56]},properties:{title:"8","marker-symbol":"8","marker-color":"#46117E"}},{type:"Feature",geometry:{type:"Point",coordinates:[114.2,37.56]},properties:{title:"6","marker-symbol":"6","marker-color":"#713291"}}]},Wy=`properties是一个包含三个属性的对象,title表示标题,marker-symbol表示点位的文字内容,marker-color表示点位颜色,properties可以删除,然后使用场景对象属性设置。
328
329
  \`\`\`
329
330
  {
330
331
  "type": "FeatureCollection",
@@ -377,7 +378,7 @@ export type ESJTimeIntervalCollectionJsonType = {
377
378
  ]
378
379
  }
379
380
  \`\`\`
380
- `,Nd=`// dataSource
381
+ `,Np=`// dataSource
381
382
  (dataSource) => {
382
383
  if (dataSource) {
383
384
  dataSource.show = true;
@@ -405,9 +406,9 @@ export type ESJTimeIntervalCollectionJsonType = {
405
406
  }
406
407
  `,qy=`示例代码
407
408
  \`\`\`
408
- ${Nd}
409
+ ${Np}
409
410
  \`\`\`
410
- `;function Dd(n){try{return JSON.parse(n),!0}catch{return!1}}const Xy="${earthsdk3-assets-script-dir}/assets/misc/2.geojson",Q=class Q extends Se{constructor(t){super(t);p(this,"_flyToFeatureEvent",this.dv(new c.Event));p(this,"_flyToFeatureIndexEvent",this.dv(new c.Event));p(this,"_features",this.disposeVar(c.reactJsonWithUndefined(void 0)));p(this,"pickedInfoType","FeatureCollection");this.ad(this.urlChanged.don(async()=>{var r;if(!this.url){this.features=void 0;return}do{if(typeof this.url=="object"){this.features=this.url;break}if(Dd(this.url)){this.features=JSON.parse(this.url);break}await fetch(j.context.getStrFromEnv(this.url)).then(i=>i.json()).then(i=>{this.features=i}).catch(i=>{console.warn("ESEntityCluster数据加载失败",i)})}while(!1);this.pickedInfoType=((r=this.features)==null?void 0:r.type)??"FeatureCollection"})),this.ad(this.editingChanged.don(()=>{console.warn("ESGeoJson暂不支持编辑!")}))}get typeName(){return"ESGeoJson"}get defaultProps(){return Q.createDefaultProps()}get flyToFeatureEvent(){return this._flyToFeatureEvent}flyToFeature(t,r,i){this._flyToFeatureEvent.emit(t,r,i)}get flyToFeatureIndexEvent(){return this._flyToFeatureIndexEvent}flyToFeatureIndex(t,r){this._flyToFeatureIndexEvent.emit(t,r)}get features(){return this._features.value}set features(t){this._features.value=t}get featuresChanged(){return this._features.changed}getFeatures(){if(this.features)return this.features;console.log("数据未加载完成,请稍后调用此方法getFeatures()")}getESProperties(){return{defaultMenu:"style",basic:[],general:[new J("名称","name",!0,!1,[this,"name"]),new J("唯一标识","id",!1,!0,[this,"id"]),new k("是否显示","show",!1,!1,[this,"show"],!0),new k("开启碰撞","collision",!1,!1,[this,"collision"],!1),new k("允许拾取","allowPicking",!1,!1,[this,"allowPicking"],!1),new ie("保存观察视角","保存当前视角",[],()=>this.calcFlyInParam(),[])],dataSource:[new G("服务地址","服务地址",!0,!1,[this,"url"],Q.defaults.url),new S("要素最小可视距离","要素最小可视距离",!1,!1,[this,"minFeatureVisibleDistance"],Q.defaults.minFeatureVisibleDistance),new S("要素最大可视距离","要素最大可视距离",!1,!1,[this,"maxFeatureVisibleDistance"],Q.defaults.maxFeatureVisibleDistance),new Y("高度参考","高度参考",!1,!1,[this,"heightReference"],Q.defaults.heightReferences)],location:[],coordinate:[],style:[new z("点文字样式","点样式集合",[]),new k("是否显示","是否显示",!1,!1,[this,"textShow"],Q.defaults.textShow),new ke("锚点","锚点",!1,!1,[this,"textAnchor"],Q.defaults.textAnchor),new J("标注显示属性","要用于显示的文本属性",!1,!1,[this,"textProperty"],Q.defaults.textProperty),new J("默认文本","默认统一显示的文本",!1,!1,[this,"textDefaultText"],Q.defaults.textDefaultText),new Z("文本颜色","文本颜色",!1,!1,[this,"textColor"],Q.defaults.textColor),new Z("背景颜色","背景颜色",!0,!1,[this,"textBackgroundColor"],Q.defaults.textBackgroundColor),new J("字体样式","字体样式",!1,!1,[this,"textFontStyle"],Q.defaults.textFontStyle),new J("字体粗细","字体粗细",!1,!1,[this,"textFontWeight"],Q.defaults.textFontWeight),new S("字体大小","字体大小",!1,!1,[this,"textFontSize"],Q.defaults.textFontSize),new ke("像素偏移","像素偏移",!1,!1,[this,"textOffset"],Q.defaults.textOffset),new z("点图片样式","图片样式集合",[]),new k("是否显示","是否显示",!1,!1,[this,"imageShow"],Q.defaults.imageShow),new ke("锚点","锚点",!1,!1,[this,"imageAnchor"],Q.defaults.imageAnchor),new G("图片地址","图片地址",!1,!1,[this,"imageUrl"],Q.defaults.imageUrl),new ke("图片大小","图片大小",!1,!1,[this,"imageSize"],Q.defaults.imageSize),new ke("像素偏移","像素偏移",!1,!1,[this,"imageOffset"],Q.defaults.imageOffset),new z("线样式","线样式集合",[]),new k("是否显示","是否显示",!1,!1,[this,"stroked"],Q.defaults.stroked),new k("贴地","贴地(线)",!1,!1,[this,"strokeGround"],Q.defaults.strokeGround),new S("线宽","线宽",!1,!1,[this,"strokeWidth"],Q.defaults.strokeWidth),new Y("线宽类型","线宽类型",!1,!1,[this,"strokeWidthType"],Q.defaults.strokeWidthTypes),new Z("线颜色","线颜色",!1,!1,[this,"strokeColor"],Q.defaults.strokeColor),new J("线材质","线材质",!1,!1,[this,"strokeMaterial"],Q.defaults.strokeMaterial),new G("线材质参数","线材质参数",!1,!1,[this,"strokeMaterialParams"],Q.defaults.strokeMaterialParams),new z("面样式","面样式集合",[]),new k("是否显示","是否显示",!1,!1,[this,"filled"],Q.defaults.filled),new k("贴地","贴地(面)",!1,!1,[this,"fillGround"],Q.defaults.fillGround),new Z("填充颜色","填充颜色",!1,!1,[this,"fillColor"],Q.defaults.fillColor),new J("填充材质","填充材质",!1,!1,[this,"fillMaterial"],Q.defaults.fillMaterial),new G("填充材质参数","填充材质参数",!1,!1,[this,"fillMaterialParams"],Q.defaults.fillMaterialParams)]}}getProperties(t){return[...super.getProperties(t),new z("通用","通用",[new k("是否显示","A boolean Property specifying the visibility .",!1,!1,[this,"show"],Q.defaults.show),new k("允许拾取","是否允许拾取",!1,!1,[this,"allowPicking"],Q.defaults.allowPicking),new ie("飞入","飞入",["number"],r=>this.flyTo(r),[1]),new ie("清空飞入参数","清空飞入参数",[],()=>this.emptyFlyInParam(),[]),new ie("保存飞入参数","保存飞入参数flyInParam",[],()=>this.calcFlyInParam(),[]),new G("flyInParam","flyInParam",!0,!1,[this,"flyInParam"],Q.defaults.flyInParam)]),new z("标注文本样式","标注文本样式",[new k("是否显示","是否显示",!1,!1,[this,"textShow"],Q.defaults.textShow),new J("标注显示属性","要用于显示的文本属性",!1,!1,[this,"textProperty"],Q.defaults.textProperty),new J("默认文本","默认统一显示的文本",!1,!1,[this,"textDefaultText"],Q.defaults.textDefaultText),new Z("文本颜色","文本颜色",!1,!1,[this,"textColor"],Q.defaults.textColor),new Z("背景颜色","背景颜色",!0,!1,[this,"textBackgroundColor"],Q.defaults.textBackgroundColor),new J("字体","字体",!1,!1,[this,"textFontFamily"],Q.defaults.textFontFamily),new J("字体样式","字体样式",!1,!1,[this,"textFontStyle"],Q.defaults.textFontStyle),new J("字体粗细","字体粗细",!1,!1,[this,"textFontWeight"],Q.defaults.textFontWeight),new S("字体大小","字体大小",!1,!1,[this,"textFontSize"],Q.defaults.textFontSize),new ke("锚点","锚点",!1,!1,[this,"textAnchor"],Q.defaults.textAnchor),new ke("像素偏移","像素偏移",!1,!1,[this,"textOffset"],Q.defaults.textOffset)]),new z("标注图标样式","标注图标样式",[new k("是否显示","是否显示",!1,!1,[this,"imageShow"],Q.defaults.imageShow),new G("图片地址","图片地址",!1,!1,[this,"imageUrl"],Q.defaults.imageUrl),new ke("图片大小","图片大小",!1,!1,[this,"imageSize"],Q.defaults.imageSize),new ke("锚点","锚点",!1,!1,[this,"imageAnchor"],Q.defaults.imageAnchor),new ke("像素偏移","像素偏移",!1,!1,[this,"imageOffset"],Q.defaults.imageOffset)]),new z("线样式","线样式",[new k("是否显示","是否显示",!1,!1,[this,"stroked"],Q.defaults.stroked),new S("线宽","线宽",!1,!1,[this,"strokeWidth"],Q.defaults.strokeWidth),new Y("线宽类型","线宽类型",!1,!1,[this,"strokeWidthType"],Q.defaults.strokeWidthTypes),new Z("线颜色","线颜色",!1,!1,[this,"strokeColor"],Q.defaults.strokeColor),new J("线材质","线材质",!1,!1,[this,"strokeMaterial"],Q.defaults.strokeMaterial),new G("线材质参数","线材质参数",!1,!1,[this,"strokeMaterialParams"],Q.defaults.strokeMaterialParams),new k("贴地(线)","贴地(线)",!1,!1,[this,"strokeGround"],Q.defaults.strokeGround)]),new z("填充样式","填充样式",[new k("是否显示","是否显示",!1,!1,[this,"filled"],Q.defaults.filled),new Z("填充颜色","填充颜色",!1,!1,[this,"fillColor"],Q.defaults.fillColor),new J("填充材质","填充材质",!1,!1,[this,"fillMaterial"],Q.defaults.fillMaterial),new G("填充材质参数","填充材质参数",!1,!1,[this,"fillMaterialParams"],Q.defaults.fillMaterialParams),new k("贴地(面)","贴地(面)",!1,!1,[this,"fillGround"],Q.defaults.fillGround)]),new z("通用","通用",[new G("服务地址","服务地址",!0,!1,[this,"url"],Q.defaults.url),new ei("loadFnStr","loadFnStr",!0,!1,[this,"loadFuncStr"],Q.defaults.defaultLoadFuncStr,Q.defaults.defaultLoadFuncDocStr),new S("要素最小可视距离","要素最小可视距离",!1,!1,[this,"minFeatureVisibleDistance"],Q.defaults.minFeatureVisibleDistance),new S("要素最大可视距离","要素最大可视距离",!1,!1,[this,"maxFeatureVisibleDistance"],Q.defaults.maxFeatureVisibleDistance),new Y("高度参考","高度参考",!1,!1,[this,"heightReference"],Q.defaults.heightReferences)])]}get strokeWidth(){return this.strokeStyle.width}set strokeWidth(t){this.strokeStyle={...this.strokeStyle,width:t}}get strokeWidthChanged(){return this.strokeStyleChanged}get strokeWidthType(){return this.strokeStyle.widthType}set strokeWidthType(t){this.strokeStyle={...this.strokeStyle,widthType:t}}get strokeWidthTypeChanged(){return this.strokeStyleChanged}get strokeColor(){return this.strokeStyle.color}set strokeColor(t){this.strokeStyle={...this.strokeStyle,color:[...t]}}get strokeColorChanged(){return this.strokeStyleChanged}get strokeMaterial(){return this.strokeStyle.material}set strokeMaterial(t){this.strokeStyle={...this.strokeStyle,material:t}}get strokeMaterialChanged(){return this.strokeStyleChanged}get strokeMaterialParams(){return this.strokeStyle.materialParams}set strokeMaterialParams(t){this.strokeStyle={...this.strokeStyle,materialParams:t}}get strokeMaterialParamsChanged(){return this.strokeStyleChanged}get strokeGround(){return this.strokeStyle.ground}set strokeGround(t){this.strokeStyle={...this.strokeStyle,ground:t}}get strokeGroundChanged(){return this.strokeStyleChanged}get fillColor(){return this.fillStyle.color}set fillColor(t){this.fillStyle={...this.fillStyle,color:[...t]}}get fillColorChanged(){return this.fillStyleChanged}get fillMaterial(){return this.fillStyle.material}set fillMaterial(t){this.fillStyle={...this.fillStyle,material:t}}get fillMaterialChanged(){return this.fillStyleChanged}get fillMaterialParams(){return this.fillStyle.materialParams}set fillMaterialParams(t){this.fillStyle={...this.fillStyle,materialParams:t}}get fillMaterialParamsChanged(){return this.fillStyleChanged}get fillGround(){return this.fillStyle.ground}set fillGround(t){this.fillStyle={...this.fillStyle,ground:t}}get fillGroundChanged(){return this.fillStyleChanged}get textProperty(){return this.textStyle.textProperty}set textProperty(t){this.textStyle={...this.textStyle,textProperty:t}}get textPropertyChanged(){return this.textStyleChanged}get textDefaultText(){return this.textStyle.defaultText}set textDefaultText(t){this.textStyle={...this.textStyle,defaultText:t}}get textDefaultTextChanged(){return this.textStyleChanged}get textColor(){return this.textStyle.color}set textColor(t){this.textStyle={...this.textStyle,color:t}}get textColorChanged(){return this.textStyleChanged}get textBackgroundColor(){return this.textStyle.backgroundColor}set textBackgroundColor(t){this.textStyle={...this.textStyle,backgroundColor:t}}get textBackgroundColorChanged(){return this.textStyleChanged}get textFontFamily(){return this.textStyle.fontFamily}set textFontFamily(t){this.textStyle={...this.textStyle,fontFamily:t}}get textFontFamilyChanged(){return this.textStyleChanged}get textFontStyle(){return this.textStyle.fontStyle}set textFontStyle(t){this.textStyle={...this.textStyle,fontStyle:t}}get textFontStyleChanged(){return this.textStyleChanged}get textFontWeight(){return this.textStyle.fontWeight}set textFontWeight(t){this.textStyle={...this.textStyle,fontWeight:t}}get textFontWeightChanged(){return this.textStyleChanged}get textFontSize(){return this.textStyle.fontSize}set textFontSize(t){this.textStyle={...this.textStyle,fontSize:t}}get textFontSizeChanged(){return this.textStyleChanged}get textAnchor(){return this.textStyle.anchor}set textAnchor(t){this.textStyle={...this.textStyle,anchor:t}}get textAnchorChanged(){return this.textStyleChanged}get textOffset(){return this.textStyle.offset}set textOffset(t){this.textStyle={...this.textStyle,offset:t}}get textOffsetChanged(){return this.textStyleChanged}get imageUrl(){return this.imageStyle.url}set imageUrl(t){this.imageStyle={...this.imageStyle,url:t}}get imageUrlChanged(){return this.imageStyleChanged}get imageSize(){return this.imageStyle.size}set imageSize(t){this.imageStyle={...this.imageStyle,size:t}}get imageSizeChanged(){return this.imageStyleChanged}get imageAnchor(){return this.imageStyle.anchor}set imageAnchor(t){this.imageStyle={...this.imageStyle,anchor:t}}get imageAnchorChanged(){return this.imageStyleChanged}get imageOffset(){return this.imageStyle.offset}set imageOffset(t){this.imageStyle={...this.imageStyle,offset:t}}get imageOffsetChanged(){return this.imageStyleChanged}};p(Q,"type",Q.register("ESGeoJson",Q,{chsName:"ESGeoJson",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"GeoJson数据加载"})),p(Q,"defaults",{...Se.defaults,show:!0,allowPicking:!0,url:Xy,defaultLoadFuncStr:Nd,defaultLoadFuncDocStr:qy,data:Gy,dataMd:Wy,stroked:!0,strokeWidth:1,strokeWidthType:"world",strokeColor:[.79,.91,.06,1],strokeMaterial:"",strokeMaterialParams:{},strokeGround:!1,filled:!0,fillColor:[.79,.91,.06,.2],fillMaterial:"",fillMaterialParams:{},fillGround:!1,imageShow:!0,imageUrl:"${earthsdk3-assets-script-dir}/assets/img/location.png",imageSize:[32,32],imageAnchor:[.5,1],imageOffset:[0,0],textShow:!0,textProperty:"",textDefaultText:"默认标注",textColor:[1,1,1,1],textBackgroundColor:void 0,textFontFamily:"Arial",textFontStyle:"normal",textFontSize:16,textFontWeight:"normal",textAnchor:[0,1],textOffset:[-16,8],strokeWidthTypes:[["screen","screen"],["world","world"]],flyInParam:{position:[0,0,0],rotation:[0,0,0],flyDuration:1},minFeatureVisibleDistance:0,maxFeatureVisibleDistance:0,heightReferences:[["NONE","NONE"],["CLAMP_TO_GROUND","CLAMP_TO_GROUND"],["RELATIVE_TO_GROUND","RELATIVE_TO_GROUND"]]});let Wo=Q;(n=>{n.createDefaultProps=()=>({...Se.createDefaultProps(),show:!0,allowPicking:!0,loadFuncStr:void 0,url:void 0,stroked:!0,strokeStyle:c.reactJson({width:1,widthType:"world",color:[.79,.91,.06,1],material:"",materialParams:{},ground:!1}),filled:!0,fillStyle:c.reactJson({color:[.79,.91,.06,.2],material:"",materialParams:{},ground:!1}),imageShow:!0,imageStyle:c.reactJson({url:"${earthsdk3-assets-script-dir}/assets/img/location.png",size:[32,32],anchor:[.5,1],offset:[0,0]}),textShow:!0,textStyle:c.reactJson({textProperty:"",defaultText:"默认标注",color:[1,1,1,1],backgroundColor:void 0,fontFamily:"Arial",fontSize:16,fontStyle:"normal",fontWeight:"normal",anchor:[0,1],offset:[16,-8]}),minFeatureVisibleDistance:0,maxFeatureVisibleDistance:0,flyInParam:c.reactJsonWithUndefined(void 0),heightReference:"NONE"})})(Wo||(Wo={})),c.extendClassProps(Wo.prototype,Wo.createDefaultProps);const Vs=class Vs extends ce{constructor(t){super(t);p(this,"editingBindMode","doublePoints");this.stroked=!0,this.strokeStyle.width=2}get typeName(){return"ESHeightMeasurement"}get defaultProps(){return Vs.createDefaultProps()}getProperties(t){return[...super.getProperties(t)]}};p(Vs,"type",Vs.register("ESHeightMeasurement",Vs,{chsName:"高度测量",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"高度测量"})),p(Vs,"supportEditingModes",[...ce.supportEditingModes,se.DoublePointsAppend,se.DoublePointsModify]),p(Vs,"defaults",{...ce.defaults});let qo=Vs;(n=>{n.createDefaultProps=()=>({...ce.createDefaultProps()})})(qo||(qo={})),c.extendClassProps(qo.prototype,qo.createDefaultProps);const La=class La extends vr{constructor(t){super(t);p(this,"_area",this.dv(c.react(0)));p(this,"_perimeter",this.dv(c.react(0)));p(this,"editingBindMode","doublePoints");this.radius=1,this.filled=!0,this.stroked=!1,this.collision=!1,this.strokeColor=[1,1,1,1],this.fillColor=[1,1,1,.5];const r=()=>{this._area.value=Math.PI*this.radius*this.radius,this._perimeter.value=2*Math.PI*this.radius};r(),this.d(this.radiusChanged.don(r))}get typeName(){return"ESLocalCircle"}get defaultProps(){return{...La.createDefaultProps()}}get area(){return this._area.value}get areaChanged(){return this._area.changed}get perimeter(){return this._perimeter.value}get perimeterChanged(){return this._perimeter.changed}toPolygon(t=10,r){return Jp([...this.position],this.radius,t,r)[0].map(s=>[...s,this.position?this.position[2]:0])}getESProperties(){const t={...super.getESProperties()};return{...t,defaultMenu:"style",basic:[...t.basic,new S("圆半径","圆半径",!0,!1,[this,"radius"],1)],general:[...t.general],dataSource:[...t.dataSource],location:[],coordinate:[new k("是否编辑","是否编辑",!1,!1,[this,"editing"]),new S("面积","面积",!1,!0,[this,"area"]),new S("周长","周长",!1,!0,[this,"perimeter"]),new bn("三维坐标","三维坐标",!0,!1,[this,"position"],[0,0,0])],style:[...t.style]}}getProperties(t){return[...super.getProperties(t),new z("ESLocalCircle","ESLocalCircle",[new S("圆半径","圆半径",!1,!1,[this,"radius"]),new S("面积","面积",!1,!0,[this,"area"]),new S("周长","周长",!1,!0,[this,"perimeter"])])]}};p(La,"type",La.register("ESLocalCircle",La,{chsName:"局部坐标圆形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESLocalCircle"})),p(La,"defaults",{...vr.defaults,fillStyle:{color:[1,1,1,.5],material:"",materialParams:{}}});let Xo=La;(n=>{n.createDefaultProps=()=>({...vr.createDefaultProps(),radius:1})})(Xo||(Xo={})),c.extendClassProps(Xo.prototype,Xo.createDefaultProps);const Aa=class Aa extends vr{get typeName(){return"ESLocalPolygon"}get defaultProps(){return{...Aa.createDefaultProps()}}constructor(e){super(e),this.filled=!0}getESProperties(){const e={...super.getESProperties()};return{...e,coordinate:[...e.coordinate,new xh("坐标","偏移量[x,y],单位米,不含高度",!1,!1,[this,"points"],[])]}}getProperties(e){return[...super.getProperties(e),new z("ESLocalPolygon","ESLocalPolygon",[new G("位置偏移数组","偏移量[x,y],单位米,不含高度",!1,!1,[this,"points"])])]}};p(Aa,"type",Aa.register("ESLocalPolygon",Aa,{chsName:"局部2D坐标多边形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESLocalPolygon"})),p(Aa,"defaults",{...vr.defaults,points:[],filled:!0});let _i=Aa;(n=>{n.createDefaultProps=()=>({...vr.createDefaultProps(),points:zh(void 0)})})(_i||(_i={})),c.extendClassProps(_i.prototype,_i.createDefaultProps);const Dl=class Dl extends Jn{get typeName(){return"ESLocalPolygonZ"}get defaultProps(){return{...Dl.createDefaultProps()}}constructor(e){super(e),this.filled=!0}getProperties(e){return[...super.getProperties(e),new z("通用","通用",[new yc("本地位置数组","本地位置数组",!0,!1,[this,"points"])])]}};p(Dl,"type",Dl.register("ESLocalPolygonZ",Dl,{chsName:"局部坐标多边形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESLocalPolygonZ"}));let Yo=Dl;(n=>{n.createDefaultProps=()=>({...Jn.createDefaultProps(),points:c.reactPositions(void 0)})})(Yo||(Yo={})),c.extendClassProps(Yo.prototype,Yo.createDefaultProps);const Ra=class Ra extends vr{get typeName(){return"ESLocalRectangle"}get defaultProps(){return{...Ra.createDefaultProps()}}constructor(e){super(e),this.filled=!0}getProperties(e){return[...super.getProperties(e),new z("ESLocalRectangle","ESLocalRectangle",[new S("宽度","宽度",!1,!1,[this,"width"]),new S("高度","高度",!1,!1,[this,"height"])])]}};p(Ra,"type",Ra.register("ESLocalRectangle",Ra,{chsName:"局部坐标四边形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESLocalRectangle"})),p(Ra,"defaults",{...vr.defaults,width:5e5,height:3e5});let Ho=Ra;(n=>{n.createDefaultProps=()=>({...vr.createDefaultProps(),width:5e5,height:3e5})})(Ho||(Ho={})),c.extendClassProps(Ho.prototype,Ho.createDefaultProps);const Ti=class Ti extends ce{constructor(t){super(t);p(this,"editingBindMode","lineString");p(this,"_distance",this.dv(c.react(0)));p(this,"_deprecated",[{materialMode:{blue:"multipleArrows",purple:"singleArrow"}},"show"]);p(this,"_deprecatedWarningFunc",(()=>{this._deprecatedWarning()})());this.fillColor=[1,0,.73,1];const r=()=>{if(this.points&&this.points.length>=2){const i=Tl(this.points,"GEODESIC"),s=i[i.length-1];this._distance.value=s}else this._distance.value=0};r(),this.d(this.pointsChanged.don(r))}get typeName(){return"ESPipeFence"}get defaultProps(){return Ti.createDefaultProps()}get distance(){return this._distance.value}get distanceChanged(){return this._distance.changed}getESProperties(){const t={...super.getESProperties()};return{...t,defaultMenu:"basic",basic:[...t.basic,new S("高度","height",!1,!1,[this,"height"],10),new S("宽度","width",!1,!1,[this,"width"],10),new Y("模式","materialMode",!1,!1,[this,"materialMode"],Ti.defaults.materialModes,"purple")],coordinate:[...t.coordinate,new S("长度","距离",!1,!0,[this,"distance"])]}}getProperties(t){return[...super.getProperties(t),new z("ESPipeFence","ESPipeFence",[new S("高度","height",!1,!1,[this,"height"]),new S("宽度","width",!1,!1,[this,"width"]),new Y("materialMode","materialMode",!1,!1,[this,"materialMode"],Ti.defaults.materialModes)])]}};p(Ti,"type",Ti.register("ESPipeFence",Ti,{chsName:"管道电子围栏",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"管道电子围栏"})),p(Ti,"supportEditingModes",[...ce.supportEditingModes,se.LineStringAppend,se.LineStringInsert]),p(Ti,"defaults",{...ce.defaults,strokeStyle:{width:1,widthType:"screen",color:[1,1,1,1],material:"",materialParams:{}},fillStyle:{color:[1,1,1,1],material:"",materialParams:{}},filled:!0,stroked:!0,materialModes:[["单箭头","singleArrow"],["多箭头","multipleArrows"]]});let Jo=Ti;(n=>{n.createDefaultProps=()=>({...ce.createDefaultProps(),height:10,width:10,materialMode:"singleArrow",filled:!0})})(Jo||(Jo={})),c.extendClassProps(Jo.prototype,Jo.createDefaultProps);const zs=class zs extends Ct{constructor(t){super(t);p(this,"_setLayerVisibleEvent",this.dv(new c.Event));p(this,"_setLayerColorEvent",this.dv(new c.Event))}get typeName(){return"ESPipeserTileset"}get defaultProps(){return zs.createDefaultProps()}get setLayerVisibleEvent(){return this._setLayerVisibleEvent}setLayerVisible(t,r){this._setLayerVisibleEvent.emit(t,r)}get setLayerColorEvent(){return this._setLayerColorEvent}setLayerColor(t,r){this._setLayerColorEvent.emit(t,r)}getProperties(t){return[...super.getProperties(t),new z("ESPipeserTileset","ESPipeserTileset",[new ie("setLayerVisible","setLayerVisible",["string","string"],(r,i)=>this.setLayerVisible(r,i),["",""]),new ie("setLayerColor","setLayerColor",["string","string"],(r,i)=>this.setLayerColor(r,i),["",""]),new Y("colorMode","colorMode",!0,!1,[this,"colorMode"],zs.description.colorMode,"default")])]}};p(zs,"type",zs.register("ESPipeserTileset",zs,{chsName:"PipeSer图层",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"PipeSer图层"})),p(zs,"description",{colorMode:[["default","default"],["color","color"],["blend","blend"]]});let Zo=zs;(n=>{n.createDefaultProps=()=>({colorMode:"default",...Ct.createDefaultProps()})})(Zo||(Zo={})),c.extendClassProps(Zo.prototype,Zo.createDefaultProps);const bi=class bi extends ce{constructor(t){super(t);p(this,"editingBindMode","circular");this.filled=!0,this.collision=!1}get typeName(){return"ESPolygonFence"}get defaultProps(){return bi.createDefaultProps()}getESProperties(){const t={...super.getESProperties()};return{...t,defaultMenu:"basic",coordinate:[...t.coordinate,new S("面积","面积",!1,!0,[this,"area"]),new S("周长","周长",!1,!0,[this,"perimeter"])],basic:[...t.basic,new S("高度","height",!1,!1,[this,"height"],10),new Y("模式","materialMode",!1,!1,[this,"materialMode"],bi.defaults.materialModes,"danger")]}}getProperties(t){return[...super.getProperties(t),new z("通用","通用",[new S("高度","height",!1,!1,[this,"height"]),new Y("materialMode","materialMode",!1,!1,[this,"materialMode"],bi.defaults.materialModes)]),new z("计算","计算",[new S("面积","面积",!1,!0,[this,"area"]),new S("周长","周长",!1,!0,[this,"perimeter"])])]}};p(bi,"type",bi.register("ESPolygonFence",bi,{chsName:"多边形电子围栏",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"多边形电子围栏"})),p(bi,"supportEditingModes",[...ce.supportEditingModes,se.CircularAppend,se.CircularInsert,se.HeightModify]),p(bi,"defaults",{...ce.defaults,fillStyle:{color:[1,1,1,1],material:"",materialParams:{}},filled:!0,materialModes:[["模式一","danger"],["模式二","checkerboard"],["模式三","warning"],["模式四","cord"],["模式五","scanline"],["模式六","honeycomb"],["模式七","gradientColor"]]});let Ko=bi;(n=>{n.createDefaultProps=()=>({height:10,materialMode:"danger",...ce.createDefaultProps()})})(Ko||(Ko={})),c.extendClassProps(Ko.prototype,Ko.createDefaultProps);const es=class es extends ce{constructor(t){super(t);p(this,"_deprecated",["ground"]);p(this,"_deprecatedWarningFunc",(()=>{this._deprecatedWarning()})());p(this,"editingBindMode","doublePoints")}get typeName(){return"ESRectangle"}get defaultProps(){return es.createDefaultProps()}getProperties(t){return[...super.getProperties(t),new z("通用","通用",[new k("是否贴地","A boolean Property specifying the visibility.",!1,!1,[this,"ground"]),new k("轮廓线半透明","轮廓线半透明.",!1,!1,[this,"outlineTranslucent"]),new S("高度","高度",!1,!1,[this,"height"]),new S("拉伸高度","拉伸高度",!1,!1,[this,"extrudedHeight"]),new or("范围","西南东北",!0,!1,[this,"rectangle"],es.defaults.rectangle),new S("纹理旋转角度","纹理旋转角度.",!1,!1,[this,"stRotation"]),new S("旋转角度","rotation",!1,!1,[this,"rotation"]),new k("是否单点编辑","是否单点编辑.",!1,!1,[this,"pointEditing"])])]}};p(es,"type",es.register("ESRectangle",es,{chsName:"矩形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"矩形"})),p(es,"supportEditingModes",[...ce.supportEditingModes,se.DoublePointsAppend,se.DoublePointsModify]),p(es,"defaults",{...ce.defaults,ground:!1,outlineTranslucent:!0,height:0,extrudedHeight:0,rectangle:void 0,stRotation:0,rotation:0,pointEditing:!1,allowPicking:!1});let Qo=es;(n=>{n.createDefaultProps=()=>({...ce.createDefaultProps(),ground:!1,outlineTranslucent:!0,height:0,extrudedHeight:0,rectangle:c.reactArrayWithUndefined(void 0),rotation:0,stRotation:0,pointEditing:!1,filled:!0})})(Qo||(Qo={})),c.extendClassProps(Qo.prototype,Qo.createDefaultProps);const Fa=class Fa extends ye{get typeName(){return"ESPolygonWithHole"}get defaultProps(){return Fa.createDefaultProps()}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new G("裁切多边形数组","必须在内部,且没有相交,裁切的多边形数组",!0,!1,[this,"innerRings"],[])]}}getProperties(e){return[...super.getProperties(e),new z("通用","通用",[new G("裁切多边形数组","必须在内部,且没有相交,裁切的多边形数组",!0,!1,[this,"innerRings"],[])])]}};p(Fa,"type",Fa.register("ESPolygonWithHole",Fa,{chsName:"内部裁切多边形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"带洞多边形"})),p(Fa,"defaults",{...ye.defaults,innerRings:[]});let Bo=Fa;(n=>{n.createDefaultProps=()=>({...ye.createDefaultProps(),innerRings:c.reactPositionsSet(void 0)})})(Bo||(Bo={})),c.extendClassProps(Bo.prototype,Bo.createDefaultProps);const ts=class ts extends ye{constructor(t){super(t);p(this,"_startEvent",this.disposeVar(new c.Event));this.fillStyle.ground=!0}get typeName(){return"ESSurfaceAreaMeasurement"}get defaultProps(){return ts.createDefaultProps()}get startEvent(){return this._startEvent}start(){this._startEvent.emit()}getProperties(t){return[...super.getProperties(t),new z("ESSurfaceAreaMeasurement","表面积测量",[new ie("开始计算","开始计算",[],()=>this.start(),[]),new S("插值距离","插值距离,单位米,为0时不插值",!1,!1,[this,"interpolation"],ts.defaults.interpolation),new S("偏移高度","三角面整体偏移高度,单位米",!1,!1,[this,"offsetHeight"],ts.defaults.offsetHeight)])]}};p(ts,"type",ts.register("ESSurfaceAreaMeasurement",ts,{chsName:"表面积测量",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"表面积测量"})),p(ts,"defaults",{...ye.defaults,interpolation:.5,offsetHeight:0});let $o=ts;(n=>{n.createDefaultProps=()=>({...ye.createDefaultProps(),interpolation:void 0,offsetHeight:void 0})})($o||($o={})),c.extendClassProps($o.prototype,$o.createDefaultProps);const rs=class rs extends q{get typeName(){return"ESDatasmithRuntimeModel"}get defaultProps(){return rs.createDefaultProps()}constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new S("下载进度","下载进度",!0,!0,[this,"downloadProgress"]),new G("importOptions","导入参数",!0,!1,[this,"importOptions"],rs.defaults.importOptions)],dataSource:[...e.dataSource,new G("路径","url",!1,!1,[this,"url"])]}}getProperties(e){return[...super.getProperties(e),new z("通用","通用",[new G("url","url",!1,!1,[this,"url"]),new S("下载进度","下载进度",!0,!0,[this,"downloadProgress"]),new G("importOptions","导入参数",!0,!1,[this,"importOptions"],rs.defaults.importOptions)])]}};p(rs,"type",rs.register("ESDatasmithRuntimeModel",rs,{chsName:"Datasmith Model",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"Datasmith Model"})),p(rs,"defaults",{...q.defaults,url:"",importOptions:{buildCollisions:"QueryAndPhysics",buildHierarchy:"Simplified",collisionType:"CTF_UseComplexAsSimple",bImportMetaData:!0}});let jo=rs;(n=>{n.createDefaultProps=()=>({...q.createDefaultProps(),url:"",importOptions:c.reactJsonWithUndefined(void 0),downloadProgress:0})})(jo||(jo={})),c.extendClassProps(jo.prototype,jo.createDefaultProps);const Je=class Je extends _i{get typeName(){return"ESDynamicWater"}get defaultProps(){return{...Je.createDefaultProps()}}constructor(e){super(e),this.stroked=!1,this.filled=!0}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new Y("水域类型","当为custom是其他控制效果的参数生效,否则不生效,使用对应水域类型的预定效果",!1,!1,[this,"waterType"],Je.defaults.waterTypes,Je.defaults.waterType),new S("频率","控制波数的数值(次/千米)",!1,!1,[this,"frequency"],Je.defaults.frequency),new Ve("振幅","控制水波振幅的数值",!1,!1,[this,"amplitude"],.01,[0,1],Je.defaults.amplitude),new Ve("流向","控制水流方向,局部坐标方向",!1,!1,[this,"flowDirection"],.1,[0,360],Je.defaults.flowDirection),new Ve("波动频率","控制水波纹扰动的速率",!1,!1,[this,"waveVelocity"],.01,[0,1],Je.defaults.waveVelocity),new Ve("镜面反射强度","控制镜面反射强度的数值",!1,!1,[this,"specularIntensity"],.01,[0,1],Je.defaults.specularIntensity),new S("水流速度","控制水流速度,单位 米/秒",!1,!1,[this,"flowSpeed"],Je.defaults.flowSpeed),new Z("水的底色","waterColor",!1,!1,[this,"waterColor"],Je.defaults.waterColor),new G("水的图片","waterImage",!1,!1,[this,"waterImage"],Je.defaults.waterImage)]}}getProperties(e){return[...super.getProperties(e),new Y("水域类型","当为custom是其他控制效果的参数生效,否则不生效,使用对应水域类型的预定效果",!1,!1,[this,"waterType"],Je.defaults.waterTypes),new G("水的图片","waterImage",!1,!1,[this,"waterImage"],Je.defaults.waterImage),new Z("水的底色","waterColor",!1,!1,[this,"waterColor"],Je.defaults.waterColor),new S("频率","控制波数的数值(次/千米)",!1,!1,[this,"frequency"],Je.defaults.frequency),new Ve("波动频率","控制水波纹扰动的速率",!1,!1,[this,"waveVelocity"],.01,[0,1],Je.defaults.waveVelocity),new Ve("振幅","控制水波振幅的数值",!1,!1,[this,"amplitude"],.01,[0,1],Je.defaults.amplitude),new Ve("镜面反射强度","控制镜面反射强度的数值",!1,!1,[this,"specularIntensity"],.01,[0,1],Je.defaults.specularIntensity),new Ve("流向","控制水流方向,局部坐标方向",!1,!1,[this,"flowDirection"],.1,[0,360],Je.defaults.flowDirection),new S("水流速度","控制水流速度,单位 米/秒",!1,!1,[this,"flowSpeed"],Je.defaults.flowSpeed)]}};p(Je,"type",Je.register("ESDynamicWater",Je,{chsName:"动态水面",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"局部多边形水面"})),p(Je,"defaults",{..._i.defaults,waterColor:[.1497,.165,.0031,1],frequency:1e3,waveVelocity:.5,amplitude:.1,specularIntensity:.8,waterTypes:[["river","river"],["ocean","ocean"],["lake","lake"],["custom","custom"]],waterType:"river",flowDirection:0,flowSpeed:0,waterImage:void 0});let ea=Je;(n=>{n.createDefaultProps=()=>({..._i.createDefaultProps(),waterImage:c.reactJsonWithUndefined(void 0),waterColor:[.1497,.165,.0031,1],frequency:1e3,waveVelocity:.5,amplitude:.1,specularIntensity:.8,waterType:"river",flowDirection:0,flowSpeed:0,allowPicking:!0})})(ea||(ea={})),c.extendClassProps(ea.prototype,ea.createDefaultProps);const Ze=class Ze extends ye{get typeName(){return"ESGeoWater"}get defaultProps(){return Ze.createDefaultProps()}constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,defaultMenu:"basic",basic:[...e.basic,new Y("水域类型","当为custom是其他控制效果的参数生效,否则不生效,使用对应水域类型的预定效果",!1,!1,[this,"waterType"],Ze.defaults.waterTypes,Ze.defaults.waterType),new S("频率","控制波数的数值(次/千米)",!1,!1,[this,"frequency"],Ze.defaults.frequency),new Ve("振幅","控制水波振幅的数值",!1,!1,[this,"amplitude"],.01,[0,1],Ze.defaults.amplitude),new Ve("流向","控制水流方向,局部坐标方向",!1,!1,[this,"flowDirection"],.1,[0,360],Ze.defaults.flowDirection),new Ve("波动频率","控制水波纹扰动的速率",!1,!1,[this,"waveVelocity"],.01,[0,1],Ze.defaults.waveVelocity),new Ve("镜面反射强度","控制镜面反射强度的数值",!1,!1,[this,"specularIntensity"],.01,[0,1],Ze.defaults.specularIntensity),new S("水流速度","控制水流速度,单位 米/秒",!1,!1,[this,"flowSpeed"],Ze.defaults.flowSpeed),new Z("水的底色","waterColor",!1,!1,[this,"waterColor"],Ze.defaults.waterColor),new G("水的图片","waterImage",!1,!1,[this,"waterImage"],Ze.defaults.waterImage)]}}getProperties(e){return[...super.getProperties(e),new z("ESGeoWater","ESGeoWater",[new Y("水域类型","当为custom是其他控制效果的参数生效,否则不生效,使用对应水域类型的预定效果",!1,!1,[this,"waterType"],Ze.defaults.waterTypes),new G("水的图片","waterImage",!1,!1,[this,"waterImage"],Ze.defaults.waterImage),new Z("水的底色","waterColor",!1,!1,[this,"waterColor"],Ze.defaults.waterColor),new S("频率","控制波数的数值(次/千米)",!1,!1,[this,"frequency"],Ze.defaults.frequency),new Ve("波动频率","控制水波纹扰动的速率",!1,!1,[this,"waveVelocity"],.01,[0,1],Ze.defaults.waveVelocity),new Ve("振幅","控制水波振幅的数值",!1,!1,[this,"amplitude"],.01,[0,1],Ze.defaults.amplitude),new Ve("镜面反射强度","控制镜面反射强度的数值",!1,!1,[this,"specularIntensity"],.01,[0,1],Ze.defaults.specularIntensity),new Ve("流向","控制水流方向,局部坐标方向",!1,!1,[this,"flowDirection"],.1,[0,360],Ze.defaults.flowDirection),new S("水流速度","控制水流速度,单位 米/秒",!1,!1,[this,"flowSpeed"],Ze.defaults.flowSpeed)])]}};p(Ze,"type",Ze.register("ESGeoWater",Ze,{chsName:"地理水面",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"地理动态水面"})),p(Ze,"defaults",{...ye.defaults,waterColor:[.1497,.165,.0031,.8],frequency:1e3,waveVelocity:.5,amplitude:.1,specularIntensity:.8,waterTypes:[["river","river"],["ocean","ocean"],["lake","lake"],["custom","custom"]],waterType:"river",flowDirection:0,flowSpeed:0,waterImage:{}});let ta=Ze;(n=>{n.createDefaultProps=()=>({...ye.createDefaultProps(),waterImage:c.reactJsonWithUndefined(void 0),waterColor:[.1497,.165,.0031,.8],frequency:1e3,waveVelocity:.5,amplitude:.1,specularIntensity:.8,waterType:"river",flowDirection:0,flowSpeed:0,allowPicking:!0})})(ta||(ta={})),c.extendClassProps(ta.prototype,ta.createDefaultProps);const ka=class ka extends q{get typeName(){return"ESLevelRuntimeModel"}get defaultProps(){return ka.createDefaultProps()}constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new S("下载进度","下载进度",!0,!0,[this,"downloadProgress"]),new J("levelName","levelName",!1,!1,[this,"levelName"],""),new S("levelLoadDistance","levelLoadDistance",!1,!1,[this,"levelLoadDistance"],1e3),new Pt("levelOffset","levelOffset",!1,!1,[this,"levelOffset"],[0,0,0])],dataSource:[...e.dataSource,new G("url","url",!1,!1,[this,"url"],"")]}}getProperties(e){return[...super.getProperties(e),new z("通用","通用",[new G("url","url",!1,!1,[this,"url"]),new J("levelName","levelName",!1,!1,[this,"levelName"]),new S("下载进度","下载进度",!0,!0,[this,"downloadProgress"]),new S("levelLoadDistance","levelLoadDistance",!1,!1,[this,"levelLoadDistance"]),new Pt("levelOffset","levelOffset",!1,!1,[this,"levelOffset"])])]}};p(ka,"type",ka.register("ESLevelRuntimeModel",ka,{chsName:"关卡包模型",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"关卡包模型"})),p(ka,"defaults",{...q.defaults,url:""});let ra=ka;(n=>{n.createDefaultProps=()=>({...q.createDefaultProps(),url:"",downloadProgress:0,levelName:"",levelOffset:c.reactArray([0,0,0]),levelLoadDistance:1e3})})(ra||(ra={})),c.extendClassProps(ra.prototype,ra.createDefaultProps);const Kt=class Kt extends Or{constructor(t){super(t);p(this,"_deprecated",[{materialMode:{blue:"multipleArrows",purple:"singleArrow"}},"show"]);p(this,"_deprecatedWarningFunc",(()=>{this._deprecatedWarning()})());this.filled=!0,this.stroked=!1,this.fillColor=[1,0,.73,1]}get typeName(){return"ESPipeline"}get defaultProps(){return Kt.createDefaultProps()}getESProperties(){const t={...super.getESProperties()};return{...t,defaultMenu:"basic",basic:[...t.basic,new S("半径","radius(米)",!1,!1,[this,"radius"],Kt.defaults.radius),new S("圆边数","sides(圆细分边)",!1,!1,[this,"sides"],Kt.defaults.sides),new S("材质速度","speed",!1,!1,[this,"speed"],Kt.defaults.speed),new Y("材质模式","materialMode",!1,!1,[this,"materialMode"],Kt.defaults.materialModes),new G("材质图片和重复度","materialImage",!1,!1,[this,"materialImage"],Kt.defaults.materialImage)],style:[new z("点样式","点样式集合",[]),new k("开启","开启点样式",!1,!1,[this,"pointed"],!1),new S("点大小","点大小(pointSize)",!1,!1,[this,"pointSize"],1),new Y("点类型","点类型(pointSizeType)",!1,!1,[this,"pointSizeType"],[["screen","screen"],["world","world"]],"screen"),new Z("点颜色","点颜色(pointColor)",!1,!1,[this,"pointColor"],[1,1,1,1]),new z("线样式","线样式集合",[]),new k("开启线样式","开启线样式",!1,!1,[this,"stroked"],!0),new S("线宽","线宽(strokeWidth)",!1,!1,[this,"strokeWidth"],1),new Y("线类型","线类型(strokeWidthType)",!1,!1,[this,"strokeWidthType"],[["screen","screen"],["world","world"]],"screen"),new Z("线颜色","线颜色(strokeColor)",!1,!1,[this,"strokeColor"],[1,1,1,1]),new k("是否贴地","是否贴地(线)",!1,!1,[this,"strokeGround"],!1),new z("面样式","面样式集合",[]),new k("开启","开启填充样式",!1,!1,[this,"filled"],!1),new Z("填充颜色","填充颜色(fillColor)",!1,!1,[this,"fillColor"],[1,1,1,1]),new k("是否贴地","是否贴地",!1,!1,[this,"fillGround"],!1)]}}getProperties(t){return[...super.getProperties(t),new z("通用","通用",[new S("半径","radius(米)",!1,!1,[this,"radius"],Kt.defaults.radius),new S("圆边数","sides(圆细分边)",!1,!1,[this,"sides"],Kt.defaults.sides),new G("材质图片和重复度","materialImage",!1,!1,[this,"materialImage"],Kt.defaults.materialImage),new S("材质速度","speed",!1,!1,[this,"speed"],Kt.defaults.speed),new Y("材质模式","materialMode",!1,!1,[this,"materialMode"],Kt.defaults.materialModes)])]}};p(Kt,"type",Kt.register("ESPipeline",Kt,{chsName:"管线",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESPipeline"})),p(Kt,"defaults",{...Or.defaults,radius:10,sides:10,materialImage:{url:"",uDis:50,vDis:10},speed:1,materialModes:[["单箭头","singleArrow"],["多箭头","multipleArrows"]]});let na=Kt;(n=>{n.createDefaultProps=()=>({...Or.createDefaultProps(),radius:10,sides:10,materialMode:"singleArrow",materialImage:c.reactJson(n.defaults.materialImage),speed:1})})(na||(na={})),c.extendClassProps(na.prototype,na.createDefaultProps);const Rr=class Rr extends ce{constructor(t){super(t);p(this,"editingBindMode","visibility")}get typeName(){return"ESVisibilityAnalysis"}get defaultProps(){return Rr.createDefaultProps()}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new Z("可视区域颜色","可视区域颜色.",!1,!1,[this,"visibleColor"],Rr.defaults.visibleColor),new Z("遮挡区域颜色","遮挡区域颜色.",!1,!1,[this,"invisibleColor"],Rr.defaults.invisibleColor),new S("视点高度偏移","heightOffset",!1,!1,[this,"heightOffset"],Rr.defaults.heightOffset)]}}getProperties(t){return[...super.getProperties(t),new z("通用","通用",[new Z("可视区域颜色","可视区域颜色.",!1,!1,[this,"visibleColor"],Rr.defaults.visibleColor),new Z("遮挡区域颜色","遮挡区域颜色.",!1,!1,[this,"invisibleColor"],Rr.defaults.invisibleColor),new S("视点高度偏移","heightOffset",!1,!1,[this,"heightOffset"],Rr.defaults.heightOffset)])]}};p(Rr,"type",Rr.register("ESVisibilityAnalysis",Rr,{chsName:"通视分析,视线分析",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"通视分析,视线分析"})),p(Rr,"supportEditingModes",[...ce.supportEditingModes,se.VisibilityAppend,se.VisibilityModify]),p(Rr,"defaults",{...ce.defaults,visibleColor:[0,1,0,1],invisibleColor:[1,0,0,1],heightOffset:0});let ia=Rr;(n=>{n.createDefaultProps=()=>({...ce.createDefaultProps(),visibleColor:c.reactArray([0,1,0,1]),invisibleColor:c.reactArray([1,0,0,1]),heightOffset:0})})(ia||(ia={})),c.extendClassProps(ia.prototype,ia.createDefaultProps);const Va=class Va extends ye{constructor(t){super(t);p(this,"_startEvent",this.dv(new c.Event));p(this,"_clearEvent",this.dv(new c.Event));this.filled=!1,this.stroked=!0,this.strokeStyle.width=2}get typeName(){return"ESVolumeMeasurement"}get defaultProps(){return Va.createDefaultProps()}get startEvent(){return this._startEvent}start(){this._startEvent.emit()}get clearEvent(){return this._clearEvent}clear(){this._clearEvent.emit()}getProperties(t){return[...super.getProperties(t),new z("通用","通用",[new S("基准面高程","基准面高程",!0,!1,[this,"planeHeight"]),new S("采样间距 m","采样间距 m",!1,!1,[this,"gridWidth"]),new S("挖方","挖方 m³",!1,!0,[this,"cutVolume"]),new S("填方","填方 m³",!1,!0,[this,"fillVolume"]),new S("挖填方","挖填方 m³",!1,!0,[this,"cutAndFillVolume"]),new S("计算进度","计算进度",!1,!0,[this,"progress"]),new ie("开始分析","开始分析",[],()=>this.start(),[]),new ie("清空分析结果","清空分析结果",[],()=>this.clear(),[]),new k("是否开启深度检测","A boolean Property specifying the visibility.",!1,!1,[this,"depthTest"])])]}};p(Va,"type",Va.register("ESVolumeMeasurement",Va,{chsName:"体积测量",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"体积测量"})),p(Va,"defaults",{...ye.defaults});let sa=Va;(n=>{n.createDefaultProps=()=>({...ye.createDefaultProps(),planeHeight:c.react(void 0),gridWidth:1,cutVolume:0,fillVolume:0,cutAndFillVolume:0,progress:0,depthTest:!1})})(sa||(sa={})),c.extendClassProps(sa.prototype,sa.createDefaultProps);const Ol=class Ol extends vi{constructor(t){super(t);p(this,"_human",this.dv(new vi(`${this.id}_ESHuman`)));p(this,"_poi",this.dv(new yi(`${this.id}_ESPoi2D`)));p(this,"combinationClass",!0);this.mainClass=this._human,this.d(this.components.disposableAdd(this._human)),this.d(this.components.disposableAdd(this._poi));{const{_human:r,_poi:i}=this;this.d(c.track([r,"show"],[this,"show"])),this.d(c.track([i,"show"],[this,"show"])),this.d(c.track([r,"allowPicking"],[this,"allowPicking"])),this.d(c.track([i,"allowPicking"],[this,"allowPicking"])),this.d(c.bind([r,"scale"],[this,"scale"])),this.d(c.bind([i,"scale"],[this,"scale"])),this.d(c.track([r,"collision"],[this,"collision"])),this.d(c.track([i,"collision"],[this,"collision"])),this.d(c.bind([r,"flyInParam"],[this,"flyInParam"])),this.d(c.bind([r,"flyToParam"],[this,"flyToParam"])),this.d(c.track([r,"animation"],[this,"animation"])),this.d(c.track([r,"mode"],[this,"mode"])),this.d(c.track([r,"minVisibleDistance"],[this,"minVisibleDistance"])),this.d(c.track([r,"maxVisibleDistance"],[this,"maxVisibleDistance"])),this.d(c.track([i,"name"],[this,"name"])),this.d(c.track([i,"mode"],[this,"poiMode"])),this.d(c.track([i,"autoAnchor"],[this,"autoAnchor"])),this.d(c.track([i,"screenRender"],[this,"screenRender"])),this.d(c.track([i,"size"],[this,"size"])),this.d(c.track([i,"anchor"],[this,"anchor"])),this.d(c.track([i,"sizeByContent"],[this,"sizeByContent"])),this.d(c.track([i,"renderMode"],[this,"renderMode"])),this.d(c.track([i,"rotationType"],[this,"rotationType"])),this.d(c.track([i,"zOrder"],[this,"zOrder"])),this.d(c.track([i,"minVisibleDistance"],[this,"minVisibleDistance"])),this.d(c.track([i,"maxVisibleDistance"],[this,"maxVisibleDistance"])),this.d(c.bind([r,"position"],[this,"position"])),this.d(c.bind([r,"rotation"],[this,"rotation"])),this.d(this.flyInEvent.don(s=>{r.flyIn(s)})),this.d(this.flyToEvent.don(s=>{r.flyTo(s)})),this.d(this.calcFlyToParamEvent.don(()=>{r.calcFlyToParam()})),this.d(this.calcFlyInParamEvent.don(()=>{r.calcFlyInParam()})),this.d(this.smoothMoveEvent.don((s,o)=>{r.smoothMove(s,o)})),this.d(this.smoothMoveWithRotationEvent.don((s,o,a)=>{r.smoothMoveWithRotation(s,o,a)})),this.d(this.smoothMoveOnGroundEvent.don((s,o,a,l)=>{r.smoothMoveOnGround(s,o,a,l)})),this.d(this.smoothMoveWithRotationOnGroundEvent.don((s,o,a,l,u)=>{r.smoothMoveWithRotationOnGround(s,o,a,l,u)})),this.d(this.automaticLandingEvent.don(()=>{r.automaticLanding()}))}}get typeName(){return"ESHumanPoi"}get defaultProps(){return Ol.createDefaultProps()}get human(){return this._human}get poi(){return this._poi}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new Y("poi模式","poiMode",!1,!1,[this,"poiMode"],yi.defaults.modes,"SquareH01"),new S("poi高度偏移","poi高度偏移",!1,!1,[this,"poiOffsetHeight"],1.8)]}}getProperties(t){return[...super.getProperties(t),new Y("poi模式","poiMode",!1,!1,[this,"poiMode"],yi.defaults.modes),new S("poi高度偏移","poi高度偏移",!1,!1,[this,"poiOffsetHeight"],1.8)]}};p(Ol,"type",Ol.register("ESHumanPoi",Ol,{chsName:"人员poi",tags:["ESObjects"],description:"ESHuman + ESPoi2D组合对象"}));let oa=Ol;(n=>{n.createDefaultProps=()=>({poiOffsetHeight:1.8,poiMode:"SquareH01",style:c.reactJson({}),autoAnchor:!0,screenRender:!0,size:c.reactArray([100,100]),anchor:c.reactArray([.5,1]),sizeByContent:!0,renderMode:0,rotationType:1,zOrder:0,...vi.createDefaultProps()})})(oa||(oa={})),c.extendClassProps(oa.prototype,oa.createDefaultProps);const Qt=class Qt extends ye{get typeName(){return"ESPit"}get defaultProps(){return Qt.createDefaultProps()}constructor(e){super(e),this.collision=!1,this.allowPicking=!1,this.filled=!0}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new S("深度","坑深度(米)",!1,!1,[this,"depth"],Qt.defaults.depth),new S("插值","插值距离(米)",!1,!1,[this,"interpolation"],Qt.defaults.interpolation),new S("透明度","透明度",!1,!1,[this,"opacity"],Qt.defaults.opacity),new G("侧面图片","侧面图片",!1,!1,[this,"sideImage"],Qt.defaults.sideImage),new G("底面图片","底面图片",!1,!1,[this,"bottomImage"],Qt.defaults.bottomImage)],style:[new z("点样式","点样式集合",[]),new k("开启","开启点样式",!1,!1,[this,"pointed"],!1),new S("点大小","点大小(pointSize)",!1,!1,[this,"pointSize"],1),new Y("点类型","点类型(pointSizeType)",!1,!1,[this,"pointSizeType"],[["screen","screen"],["world","world"]],"screen"),new Z("点颜色","点颜色(pointColor)",!1,!1,[this,"pointColor"],[1,1,1,1]),new z("线样式","线样式集合",[]),new k("开启","开启线样式",!1,!1,[this,"stroked"],!0),new S("线宽","线宽(strokeWidth)",!1,!1,[this,"strokeWidth"],1),new Y("线类型","线类型(strokeWidthType)",!1,!1,[this,"strokeWidthType"],[["screen","screen"],["world","world"]],"screen"),new Z("线颜色","线颜色(strokeColor)",!1,!1,[this,"strokeColor"],[1,1,1,1]),new k("是否贴地","是否贴地(线)",!1,!1,[this,"strokeGround"],!1),new z("面样式","面样式集合",[]),new k("开启","开启填充样式",!1,!1,[this,"filled"],!0),new Z("填充颜色","填充颜色(fillColor)",!1,!1,[this,"fillColor"],[1,1,1,1]),new k("是否贴地","是否贴地",!1,!1,[this,"fillGround"],!1)]}}getProperties(e){return[...super.getProperties(e),new z("通用","通用",[new S("深度","坑深度(米)",!1,!1,[this,"depth"],Qt.defaults.depth),new S("插值","插值距离(米)",!1,!1,[this,"interpolation"],Qt.defaults.interpolation),new G("侧面图片","侧面图片",!1,!1,[this,"sideImage"],Qt.defaults.sideImage),new G("底面图片","底面图片",!1,!1,[this,"bottomImage"],Qt.defaults.bottomImage),new S("opacity","透明度",!1,!1,[this,"opacity"],Qt.defaults.opacity)])]}};p(Qt,"type",Qt.register("ESPit",Qt,{chsName:"坑",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"坑"})),p(Qt,"defaults",{...ye.defaults,depth:100,sideImage:{url:j.context.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/img/ESPit/side.jpg"),uDis:50,vDis:50},bottomImage:{url:j.context.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/img/ESPit/bottom.jpg"),uDis:50,vDis:50},opacity:1,interpolation:50});let wi=Qt;(n=>{n.createDefaultProps=()=>({...ye.createDefaultProps(),depth:100,sideImage:c.reactJson(n.defaults.sideImage),bottomImage:c.reactJson(n.defaults.bottomImage),opacity:1,interpolation:50})})(wi||(wi={})),c.extendClassProps(wi.prototype,wi.createDefaultProps);const Ml=class Ml extends wi{constructor(t){super(t);p(this,"_excavate",this.dv(new Hi(`${this.id}_ESExcavate`)));p(this,"_pit",this.dv(new wi(`${this.id}_ESPit`)));p(this,"combinationClass",!0);this.mainClass=this._pit,this.d(this.components.disposableAdd(this._excavate)),this.d(this.components.disposableAdd(this._pit));{const{_excavate:r,_pit:i}=this;this.d(c.track([r,"show"],[this,"show"])),this.d(c.track([i,"show"],[this,"show"])),this.d(c.track([r,"allowPicking"],[this,"allowPicking"])),this.d(c.track([i,"allowPicking"],[this,"allowPicking"])),this.d(c.track([r,"collision"],[this,"collision"])),this.d(c.track([i,"collision"],[this,"collision"])),this.d(c.bind([i,"points"],[this,"points"])),this.d(c.track([r,"points"],[this,"points"])),this.d(c.track([i,"pointed"],[this,"pointed"])),this.d(c.track([r,"pointed"],[this,"pointed"])),this.d(c.track([i,"pointStyle"],[this,"pointStyle"])),this.d(c.track([r,"pointStyle"],[this,"pointStyle"])),this.d(c.track([i,"stroked"],[this,"stroked"])),this.d(c.track([r,"stroked"],[this,"stroked"])),this.d(c.track([i,"strokeStyle"],[this,"strokeStyle"])),this.d(c.track([r,"strokeStyle"],[this,"strokeStyle"])),this.d(c.track([i,"filled"],[this,"filled"])),this.d(c.track([i,"fillStyle"],[this,"fillStyle"])),this.d(c.track([r,"fillStyle"],[this,"fillStyle"])),this.d(c.track([r,"mode"],[this,"mode"])),this.d(c.track([r,"targetID"],[this,"targetID"])),this.d(c.track([i,"depth"],[this,"depth"])),this.d(c.track([i,"sideImage"],[this,"sideImage"])),this.d(c.track([i,"bottomImage"],[this,"bottomImage"])),this.d(c.track([i,"opacity"],[this,"opacity"])),this.d(c.track([i,"interpolation"],[this,"interpolation"])),this.d(c.bind([i,"flyInParam"],[this,"flyInParam"])),this.d(c.bind([i,"flyToParam"],[this,"flyToParam"])),this.d(this.flyInEvent.don(s=>{i.flyIn(s)})),this.d(this.flyToEvent.don(s=>{i.flyTo(s)})),this.d(this.calcFlyToParamEvent.don(()=>{i.calcFlyToParam()})),this.d(this.calcFlyInParamEvent.don(()=>{i.calcFlyInParam()}))}}get typeName(){return"ESHole"}get defaultProps(){return Ml.createDefaultProps()}get excavate(){return this._excavate}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new Y("模式","mode",!1,!1,[this,"mode"],Hi.defaults.modes,"in"),new J("瓦片图层","targetID",!1,!1,[this,"targetID"],"")]}}};p(Ml,"type",Ml.register("ESHole",Ml,{chsName:"挖坑(带材质+深度)",tags:["ESObjects"],description:"挖坑"}));let aa=Ml;(n=>{n.createDefaultProps=()=>({mode:"in",targetID:"",...wi.createDefaultProps()})})(aa||(aa={})),c.extendClassProps(aa.prototype,aa.createDefaultProps);const Ih={layerconfigfind:"/ts/layer/config/get",layerconfigsave:"/ts/layer/config/put",featureproperty:"/ts/editor/property",featureeditormuti:"/ts/editor/update",getts:"/ts/info"},Yy=async(n,e)=>{try{const t=window.localStorage.getItem("Authorization"),r={headers:{...t?{Authorization:t}:{}},mode:"cors"},s=await(await fetch(n+`${Ih.layerconfigfind}?tileServiceName=${e}`,r)).text();return JSON.parse(s)}catch(t){console.error(t)}},Hy=async(n,e,t)=>{try{const r=window.localStorage.getItem("Authorization"),i=t??{},s={method:"POST",headers:{"Content-Type":"application/json",...r?{Authorization:r}:{}},mode:"cors",body:JSON.stringify({tileServiceName:e,layerConfig:JSON.stringify(i)})},a=await(await fetch(n+Ih.layerconfigsave,s)).text();return JSON.parse(a)}catch(r){console.error(r)}},Jy=async n=>{try{const e=window.localStorage.getItem("Authorization"),t={headers:{...e?{Authorization:e}:{}},mode:"cors"},i=await(await fetch(n,t)).text(),s=JSON.parse(i);if(s.status=="ok")return s.data.port;console.error(s.status);return}catch(e){console.error(e)}},Zy=async(n,e,t)=>{try{const r={tileServiceName:e,featureId:t},i=window.localStorage.getItem("Authorization"),o=await(await fetch(n+Ih.featureproperty,{method:"post",headers:{"Content-Type":"application/json",...i?{Authorization:i}:{}},body:JSON.stringify(r),mode:"cors"})).text(),a=JSON.parse(o);if(a.status=="ok")return a.data;console.error(a.data.status);return}catch(r){console.error(r)}},za=class za extends Ct{constructor(t){super(t);p(this,"_es3DTileset",this.dv(new Ct(`${this.id}_ES3DTileset`)));p(this,"_ids",this.dv(c.reactJson([])));p(this,"combinationClass",!0);p(this,"_highlightInner3DtilesetEvent",this.dv(new c.Event));p(this,"_removeHighlightInner3DtilesetEvent",this.dv(new c.Event));p(this,"_tilesetServePort",this.dv(c.react("")));this.mainClass=this._es3DTileset;{const r=async()=>{if(typeof this.url!="string"){console.error("服务地址不合法, Init Error! 示例: http://localhost:9009/ts/info/ts01");return}this.url?this.refresh():this._es3DTileset.url=""};this.d(this.urlChanged.don(()=>{r()}))}{this.d(this.components.disposableAdd(this._es3DTileset));const r=this._es3DTileset;this.d(c.track([r,"allowPicking"],[this,"allowPicking"])),this.d(c.track([r,"collision"],[this,"collision"])),this.d(c.bind([r,"flyToParam"],[this,"flyToParam"])),this.d(c.bind([r,"flyToParam"],[this,"flyToParam"])),this.d(c.track([r,"actorTag"],[this,"actorTag"])),this.d(c.track([r,"materialMode"],[this,"materialMode"])),this.d(c.track([r,"highlight"],[this,"highlight"])),this.d(c.track([r,"maximumScreenSpaceError"],[this,"maximumScreenSpaceError"])),this.d(c.track([r,"highlightID"],[this,"highlightID"])),this.d(c.track([r,"highlightColor"],[this,"highlightColor"])),this.d(c.bind([r,"offset"],[this,"offset"])),this.d(c.bind([r,"rotation"],[this,"rotation"])),this.d(c.track([r,"czmImageBasedLightingFactor"],[this,"czmImageBasedLightingFactor"])),this.d(c.track([r,"czmLuminanceAtZenith"],[this,"czmLuminanceAtZenith"])),this.d(c.track([r,"czmMaximumMemoryUsage"],[this,"czmMaximumMemoryUsage"])),this.d(c.track([r,"czmClassificationType"],[this,"czmClassificationType"])),this.d(c.track([r,"czmStyleJson"],[this,"czmStyleJson"])),this.d(c.track([r,"czmBackFaceCulling"],[this,"czmBackFaceCulling"])),this.d(c.track([r,"czmDebugShowBoundingVolume"],[this,"czmDebugShowBoundingVolume"])),this.d(c.track([r,"czmDebugShowContentBoundingVolume"],[this,"czmDebugShowContentBoundingVolume"])),this.d(c.track([r,"czmSkipLevelOfDetail"],[this,"czmSkipLevelOfDetail"])),this.d(c.track([r,"colorBlendMode"],[this,"colorBlendMode"])),this.d(c.track([r,"cacheBytes"],[this,"cacheBytes"])),this.d(c.track([r,"clippingPlaneEnabled"],[this,"clippingPlaneEnabled"])),this.d(c.track([r,"unionClippingRegions"],[this,"unionClippingRegions"])),this.d(c.track([r,"clippingPlaneEdgeColor"],[this,"clippingPlaneEdgeColor"])),this.d(c.track([r,"clippingPlaneEdgeWidth"],[this,"clippingPlaneEdgeWidth"])),this.d(c.track([r,"materialParams"],[this,"materialParams"])),this.d(c.bind([r,"supportEdit"],[this,"supportEdit"])),this.d(c.bind([r,"clippingPlanesId"],[this,"clippingPlanesId"])),this.d(c.bind([r,"clippingPlaneIds"],[this,"clippingPlaneIds"])),this.d(c.bind([r,"flattenedPlaneId"],[this,"flattenedPlaneId"])),this.d(c.bind([r,"flattenedPlaneEnabled"],[this,"flattenedPlaneEnabled"])),this.d(c.bind([r,"clippingPlaneId"],[this,"clippingPlaneId"])),this.d(c.bind([r,"excavateId"],[this,"excavateId"]))}{const r=this._es3DTileset;this.d(this.refreshTilesetEvent.don(()=>{r.refreshTileset()})),this.d(this.highlightFeatureEvent.don((...i)=>{r.highlightFeature(...i)})),this.d(this.highlightFeatureAndFlyToEvent.don((...i)=>{r.highlightFeatureAndFlyTo(...i)})),this.d(this.setFeatureColorEvent.don((...i)=>{r.setFeatureColor(...i)})),this.d(this.setFeatureVisableEvent.don((...i)=>{r.setFeatureVisable(...i)})),this.d(this.resetFeatureStyleEvent.don((...i)=>{r.resetFeatureStyle(...i)})),this.d(this.setFeatureStyleEvent.don((...i)=>{r.setFeatureStyle(...i)})),this.d(this.flyInEvent.don((...i)=>{r.flyIn(i[0])})),this.d(this.flyToEvent.don((...i)=>{r.flyTo(i[0])})),this.d(this.calcFlyToParamEvent.don((...i)=>{r.calcFlyToParam(...i)})),this.d(this.calcFlyInParamEvent.don((...i)=>{r.calcFlyInParam(...i)}))}{const r=this._es3DTileset;this.d(r.tilesetReady.don(i=>{this.tilesetReady.emit(i)})),this.d(r.pickedEvent.don(i=>{this.pickedEvent.emit(new Su(this,i.childPickedInfo))}))}{const r=()=>{this.es3DTileset.show=this.show};r(),this.d(this.showChanged.don(()=>{r()}))}}get typeName(){return"ESRtsTileset"}get defaultProps(){return za.createDefaultProps()}get json(){return this._innerGetJson()}set json(t){this._innerSetJson(t)}get es3DTileset(){return this._es3DTileset}get ids(){return this._ids.value}get idsChanged(){return this._ids.changed}set ids(t){this._ids.value=t}async getFeatureProperty(t){return await Zy(this.baseUrl,this.tileServiceName,t)}async getLayerConfig(){const t=await Yy(this.baseUrl,this.tileServiceName);return this.layerConfig=t,t}async saveLayerConfig(){const t=this.layerConfig;return await Hy(this.baseUrl,this.tileServiceName,t)}get highlightInner3DtilesetEvent(){return this._highlightInner3DtilesetEvent}_highlightInner3Dtileset(t){this._highlightInner3DtilesetEvent.emit(t)}async highlightDSFeature(t){this._highlightInner3Dtileset(t)}get removeHighlightInner3DtilesetEvent(){return this._removeHighlightInner3DtilesetEvent}_removeHighlightInner3Dtileset(t){this._removeHighlightInner3DtilesetEvent.emit(t)}async removeHighlightDSFeature(t){this._removeHighlightInner3Dtileset(t)}async pickFeature(t,r){var a,l,u;const i=await t.pick(r),s=i.sceneObject;return!s||s.id!==this.id&&s.typeName!="ESRtsFeatureEditing"?void 0:s.typeName!="ESRtsFeatureEditing"?(this.ids=[...this.ids,(a=i==null?void 0:i.tilesetPickInfo)==null?void 0:a.id],{featureId:(l=i==null?void 0:i.tilesetPickInfo)==null?void 0:l.id,pickInnerFields:i==null?void 0:i.tilesetPickInfo}):{featureId:(u=i==null?void 0:i.sceneObject)==null?void 0:u.id,pickInnerFields:i==null?void 0:i.tilesetPickInfo}}get tilesetServePort(){return this._tilesetServePort.value}get tilesetServePortChanged(){return this._tilesetServePort.changed}set tilesetServePort(t){this._tilesetServePort.value=t}async getport(){const t=await Jy(this.url);if(t)return this.tilesetServePort=t,t;throw new Error("服务地址port获取失败!")}async refresh(){var i;if(!this.url||typeof this.url!="string")return;const t=(i=this.url.match(/\/ts\/info\/(.*)/))==null?void 0:i[1],r=+new Date;if(t){const s=this.tileServiceIp,o=await this.getport();await this.getLayerConfig(),this._es3DTileset.url=`${s}:${o}/tiles/tileset.json?t=${r}`}console.log("3dtileset url:",this._es3DTileset.url)}get baseUrl(){var t;if(this.url&&typeof this.url=="string"){const r=(t=this.url.match(/^(https?:\/\/[^\/]+)/))==null?void 0:t[1];if(!r)throw new Error("服务地址不合法,baseUrl is not found! 示例: http://localhost:9009/ts/info/ts01");return r}else throw new Error("服务地址不合法,baseUrl is not found! 示例: http://localhost:9009/ts/info/ts01")}get tileServiceName(){var t;if(this.url&&typeof this.url=="string"){const r=(t=this.url.match(/\/ts\/info\/(.*)/))==null?void 0:t[1];if(!r)throw console.log(this.url),new Error("服务地址不合法,tileServiceName is not found! 示例: http://localhost:9009/ts/info/ms01,");return r}else throw new Error("服务地址不合法,tileServiceName is not found! 示例: http://localhost:9009/ts/info/ms01")}get tileServiceIp(){var t;if(this.url&&typeof this.url=="string"){const r=(t=this.url.match(/^(https?:\/\/[^:]+)/))==null?void 0:t[1];if(!r)throw new Error("服务地址不合法,ip is not found! 示例: http://localhost:9009/ts/info/ts01");return r}else throw new Error("服务地址不合法,ip is not found! 示例: http://localhost:9009/ts/info/ts01")}getProperties(t){return[...super.getProperties(t),new z("ESRtsTileset","ESRtsTileset",[new G("图层配置","图层配置(layerConfig)",!0,!1,[this,"layerConfig"],[])])]}};p(za,"type",za.register("ESRtsTileset",za,{chsName:"CIMRTS实时3DTileset图层",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"实时3DTileset图层"})),p(za,"defaults",{...Ct.defaults,layerConfig:[]});let la=za;(n=>{n.createDefaultProps=()=>({layerConfig:c.reactJsonWithUndefined(void 0),...Ct.createDefaultProps()})})(la||(la={})),c.extendClassProps(la.prototype,la.createDefaultProps);function Ky(n){return typeof n=="number"&&!isNaN(n)}const Ua=class Ua extends Ct{constructor(t){super(t);p(this,"combinationClass",!0)}get typeName(){return"ESRtsFeatureEditing"}get defaultProps(){return Ua.createDefaultProps()}get json(){return{...this._innerGetJson(),show:this.show,materials:this.materials,beautifyMaterails:this.beautifyMaterails,props:this.props,rotation:this.rotation}}set json(t){this._innerSetJson(t)}async init(t,r){this.featureId=r;const i=await t.getFeatureProperty(r);this.uiShowprops=i.allFields.map(a=>({featureClassName:a.featureClassName,fields:a.fields.map(l=>({key:l.name,type:l.type,value:l.type!="Double"?l.value:Ky(l.value)?Number(l.value.toFixed(3)):""}))})),this.datasetName=i.datasetName,t.setFeatureVisable("id",[{value:this.featureId,visable:!1}]),this.d(()=>{t.setFeatureVisable("id",[{value:this.featureId,visable:!0}])});const s=t.tileServiceIp,o=t.tilesetServePort;if(!o)throw new Error("ESRtsFeatureEditing: port is not defined");this.url=`${s}:${o}/featuretiles/${this.featureId}/tileset.json`,this.allowPicking=!0,this.d(this.pickedEvent.don(a=>{t.pickedEvent.emit(new Su(t,a))})),this.d(()=>{this.editing=!1,t.removeHighlightDSFeature(this)})}getProperties(t){return[...super.getProperties(t)]}};p(Ua,"type",Ua.register("ESRtsFeatureEditing",Ua,{chsName:"ESRtsFeatureEditing",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"实时3DTileset图层"})),p(Ua,"defaults",{...Ct.defaults,layerConfig:{}});let ua=Ua;(n=>{n.createDefaultProps=()=>({...Ct.createDefaultProps(),datasetName:void 0,featureId:void 0,materials:c.reactJson({}),beautifyMaterails:c.reactJson({}),uiShowprops:c.reactJson({}),props:c.reactJson({})})})(ua||(ua={})),c.extendClassProps(ua.prototype,ua.createDefaultProps);const Qy=async n=>{try{const e=window.localStorage.getItem("Authorization"),t={headers:{...e?{Authorization:e}:{}},mode:"cors"},i=await(await fetch(n,t)).text(),s=JSON.parse(i);if(s.status=="ok")return s.data.port;console.error(s.status);return}catch(e){console.error(e)}},Ga=class Ga extends Ct{constructor(t){super(t);p(this,"_es3DTileset",this.dv(new Ct(`${this.id}_ES3DTileset`)));p(this,"combinationClass",!0);p(this,"_tilesetServePort",this.dv(c.react("")));this.mainClass=this._es3DTileset;{const r=async()=>{if(typeof this.url!="string"){console.error("服务地址不合法, Init Error! 示例: http://localhost:9009/ts/info/ms01");return}this.url?this.refresh():this._es3DTileset.url=""};this.d(this.urlChanged.don(()=>{r()}))}{this.d(this.components.disposableAdd(this._es3DTileset));const r=this._es3DTileset;this.d(c.track([r,"allowPicking"],[this,"allowPicking"])),this.d(c.track([r,"collision"],[this,"collision"])),this.d(c.bind([r,"flyToParam"],[this,"flyToParam"])),this.d(c.bind([r,"flyToParam"],[this,"flyToParam"])),this.d(c.track([r,"actorTag"],[this,"actorTag"])),this.d(c.track([r,"materialMode"],[this,"materialMode"])),this.d(c.track([r,"highlight"],[this,"highlight"])),this.d(c.track([r,"maximumScreenSpaceError"],[this,"maximumScreenSpaceError"])),this.d(c.track([r,"highlightID"],[this,"highlightID"])),this.d(c.track([r,"highlightColor"],[this,"highlightColor"])),this.d(c.bind([r,"offset"],[this,"offset"])),this.d(c.bind([r,"rotation"],[this,"rotation"])),this.d(c.track([r,"czmImageBasedLightingFactor"],[this,"czmImageBasedLightingFactor"])),this.d(c.track([r,"czmLuminanceAtZenith"],[this,"czmLuminanceAtZenith"])),this.d(c.track([r,"czmMaximumMemoryUsage"],[this,"czmMaximumMemoryUsage"])),this.d(c.track([r,"czmClassificationType"],[this,"czmClassificationType"])),this.d(c.track([r,"czmStyleJson"],[this,"czmStyleJson"])),this.d(c.track([r,"czmBackFaceCulling"],[this,"czmBackFaceCulling"])),this.d(c.track([r,"czmDebugShowBoundingVolume"],[this,"czmDebugShowBoundingVolume"])),this.d(c.track([r,"czmDebugShowContentBoundingVolume"],[this,"czmDebugShowContentBoundingVolume"])),this.d(c.track([r,"czmSkipLevelOfDetail"],[this,"czmSkipLevelOfDetail"])),this.d(c.track([r,"colorBlendMode"],[this,"colorBlendMode"])),this.d(c.track([r,"cacheBytes"],[this,"cacheBytes"])),this.d(c.track([r,"clippingPlaneEnabled"],[this,"clippingPlaneEnabled"])),this.d(c.track([r,"unionClippingRegions"],[this,"unionClippingRegions"])),this.d(c.track([r,"clippingPlaneEdgeColor"],[this,"clippingPlaneEdgeColor"])),this.d(c.track([r,"clippingPlaneEdgeWidth"],[this,"clippingPlaneEdgeWidth"])),this.d(c.track([r,"materialParams"],[this,"materialParams"])),this.d(c.bind([r,"supportEdit"],[this,"supportEdit"])),this.d(c.bind([r,"clippingPlanesId"],[this,"clippingPlanesId"])),this.d(c.bind([r,"clippingPlaneIds"],[this,"clippingPlaneIds"])),this.d(c.bind([r,"flattenedPlaneId"],[this,"flattenedPlaneId"])),this.d(c.bind([r,"flattenedPlaneEnabled"],[this,"flattenedPlaneEnabled"])),this.d(c.bind([r,"clippingPlaneId"],[this,"clippingPlaneId"])),this.d(c.bind([r,"excavateId"],[this,"excavateId"]))}{const r=this._es3DTileset;this.d(this.refreshTilesetEvent.don(()=>{r.refreshTileset()})),this.d(this.highlightFeatureEvent.don((...i)=>{r.highlightFeature(...i)})),this.d(this.highlightFeatureAndFlyToEvent.don((...i)=>{r.highlightFeatureAndFlyTo(...i)})),this.d(this.setFeatureColorEvent.don((...i)=>{r.setFeatureColor(...i)})),this.d(this.setFeatureVisableEvent.don((...i)=>{r.setFeatureVisable(...i)})),this.d(this.resetFeatureStyleEvent.don((...i)=>{r.resetFeatureStyle(...i)})),this.d(this.flyInEvent.don((...i)=>{r.flyIn(i[0])})),this.d(this.flyToEvent.don((...i)=>{r.flyTo(i[0])})),this.d(this.calcFlyToParamEvent.don((...i)=>{r.calcFlyToParam(...i)})),this.d(this.calcFlyInParamEvent.don((...i)=>{r.calcFlyInParam(...i)}))}{const r=this._es3DTileset;this.d(r.tilesetReady.don(i=>{this.tilesetReady.emit(i)})),this.d(r.pickedEvent.don(i=>{this.pickedEvent.emit(new Su(this,i.childPickedInfo))}))}{const r=()=>{this.es3DTileset.show=this.show};r(),this.d(this.showChanged.don(()=>{r()}))}}get typeName(){return"ESMsTileset"}get defaultProps(){return Ga.createDefaultProps()}get json(){return this._innerGetJson()}set json(t){this._innerSetJson(t)}get es3DTileset(){return this._es3DTileset}get tilesetServePort(){return this._tilesetServePort.value}get tilesetServePortChanged(){return this._tilesetServePort.changed}set tilesetServePort(t){this._tilesetServePort.value=t}async getport(){const t=await Qy(this.url);if(t)return this.tilesetServePort=t,t;throw new Error("服务地址port获取失败!")}async refresh(){var i;if(!this.url||typeof this.url!="string")return;const t=(i=this.url.match(/\/ts\/info\/(.*)/))==null?void 0:i[1],r=+new Date;if(t){const s=this.tileServiceIp,o=await this.getport();this._es3DTileset.url=`${s}:${o}/tiles/tileset.json?t=${r}`}console.log("3dtileset url:",this._es3DTileset.url)}get baseUrl(){var t;if(this.url&&typeof this.url=="string"){const r=(t=this.url.match(/^(https?:\/\/[^\/]+)/))==null?void 0:t[1];if(!r)throw new Error("服务地址不合法,baseUrl is not found! 示例: http://localhost:9009/ts/info/ms01");return r}else throw new Error("服务地址不合法,baseUrl is not found! 示例: http://localhost:9009/ts/info/ms01")}get tileServiceIp(){var t;if(this.url&&typeof this.url=="string"){const r=(t=this.url.match(/^(https?:\/\/[^:]+)/))==null?void 0:t[1];if(!r)throw new Error("服务地址不合法,ip is not found! 示例: http://localhost:9009/ts/info/ms01");return r}else throw new Error("服务地址不合法,ip is not found! 示例: http://localhost:9009/ts/info/ms01")}get tileServiceName(){var t;if(this.url&&typeof this.url=="string"){const r=(t=this.url.match(/\/ts\/info\/(.*)/))==null?void 0:t[1];if(!r)throw console.log(this.url),new Error("服务地址不合法,tileServiceName is not found! 示例: http://localhost:9009/ts/info/ms01,");return r}else throw new Error("服务地址不合法,tileServiceName is not found! 示例: http://localhost:9009/ts/info/ms01")}getProperties(t){return[...super.getProperties(t)]}};p(Ga,"type",Ga.register("ESMsTileset",Ga,{chsName:"Modelser实时3DTileset图层",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"实时3DTileset图层"})),p(Ga,"defaults",{...Ct.defaults,layerConfig:{}});let ca=Ga;(n=>{n.createDefaultProps=()=>({...Ct.createDefaultProps()})})(ca||(ca={})),c.extendClassProps(ca.prototype,ca.createDefaultProps);const Od={defaultValue:[{type:"2",widget:"WidgetBlueprint'/ESFoliage/PoiSheng.PoiSheng'",povit:[.5,1],worldScale:.1,hiddenDistance:40},{type:"3",widget:"WidgetBlueprint'/ESFoliage/PoiShi.PoiShi'",povit:[.5,1],worldScale:.1,hiddenDistance:40},{type:"4",widget:"WidgetBlueprint'/ESFoliage/PoiShi.PoiShi'",povit:[.5,1],worldScale:.1,hiddenDistance:40},{type:"5",widget:"WidgetBlueprint'/ESFoliage/PoiXiang.PoiXiang'",povit:[.5,1],worldScale:.1,hiddenDistance:40},{type:"6",widget:"WidgetBlueprint'/ESFoliage/PoiCun.PoiCun'",povit:[.5,1],worldScale:.1,hiddenDistance:40}],sampleValue:`
411
+ `;function Dp(n){try{return JSON.parse(n),!0}catch{return!1}}const Xy="${earthsdk3-assets-script-dir}/assets/misc/2.geojson",Q=class Q extends Se{constructor(t){super(t);d(this,"_flyToFeatureEvent",this.dv(new c.Event));d(this,"_flyToFeatureIndexEvent",this.dv(new c.Event));d(this,"_features",this.disposeVar(c.reactJsonWithUndefined(void 0)));d(this,"pickedInfoType","FeatureCollection");this.ad(this.urlChanged.don(async()=>{var r;if(!this.url){this.features=void 0;return}do{if(typeof this.url=="object"){this.features=this.url;break}if(Dp(this.url)){this.features=JSON.parse(this.url);break}await fetch(j.context.getStrFromEnv(this.url)).then(i=>i.json()).then(i=>{this.features=i}).catch(i=>{console.warn("ESEntityCluster数据加载失败",i)})}while(!1);this.pickedInfoType=((r=this.features)==null?void 0:r.type)??"FeatureCollection"})),this.ad(this.editingChanged.don(()=>{console.warn("ESGeoJson暂不支持编辑!")}))}get typeName(){return"ESGeoJson"}get defaultProps(){return Q.createDefaultProps()}get flyToFeatureEvent(){return this._flyToFeatureEvent}flyToFeature(t,r,i){this._flyToFeatureEvent.emit(t,r,i)}get flyToFeatureIndexEvent(){return this._flyToFeatureIndexEvent}flyToFeatureIndex(t,r){this._flyToFeatureIndexEvent.emit(t,r)}get features(){return this._features.value}set features(t){this._features.value=t}get featuresChanged(){return this._features.changed}getFeatures(){if(this.features)return this.features;console.log("数据未加载完成,请稍后调用此方法getFeatures()")}getESProperties(){return{defaultMenu:"style",basic:[],general:[new J("名称","name",!0,!1,[this,"name"]),new J("唯一标识","id",!1,!0,[this,"id"]),new k("是否显示","show",!1,!1,[this,"show"],!0),new k("开启碰撞","collision",!1,!1,[this,"collision"],!1),new k("允许拾取","allowPicking",!1,!1,[this,"allowPicking"],!1),new ie("保存观察视角","保存当前视角",[],()=>this.calcFlyInParam(),[])],dataSource:[new G("服务地址","服务地址",!0,!1,[this,"url"],Q.defaults.url),new S("要素最小可视距离","要素最小可视距离",!1,!1,[this,"minFeatureVisibleDistance"],Q.defaults.minFeatureVisibleDistance),new S("要素最大可视距离","要素最大可视距离",!1,!1,[this,"maxFeatureVisibleDistance"],Q.defaults.maxFeatureVisibleDistance),new Y("高度参考","高度参考",!1,!1,[this,"heightReference"],Q.defaults.heightReferences)],location:[],coordinate:[],style:[new z("点文字样式","点样式集合",[]),new k("是否显示","是否显示",!1,!1,[this,"textShow"],Q.defaults.textShow),new ze("锚点","锚点",!1,!1,[this,"textAnchor"],Q.defaults.textAnchor),new J("标注显示属性","要用于显示的文本属性",!1,!1,[this,"textProperty"],Q.defaults.textProperty),new J("默认文本","默认统一显示的文本",!1,!1,[this,"textDefaultText"],Q.defaults.textDefaultText),new Z("文本颜色","文本颜色",!1,!1,[this,"textColor"],Q.defaults.textColor),new Z("背景颜色","背景颜色",!0,!1,[this,"textBackgroundColor"],Q.defaults.textBackgroundColor),new J("字体样式","字体样式",!1,!1,[this,"textFontStyle"],Q.defaults.textFontStyle),new J("字体粗细","字体粗细",!1,!1,[this,"textFontWeight"],Q.defaults.textFontWeight),new S("字体大小","字体大小",!1,!1,[this,"textFontSize"],Q.defaults.textFontSize),new ze("像素偏移","像素偏移",!1,!1,[this,"textOffset"],Q.defaults.textOffset),new z("点图片样式","图片样式集合",[]),new k("是否显示","是否显示",!1,!1,[this,"imageShow"],Q.defaults.imageShow),new ze("锚点","锚点",!1,!1,[this,"imageAnchor"],Q.defaults.imageAnchor),new G("图片地址","图片地址",!1,!1,[this,"imageUrl"],Q.defaults.imageUrl),new ze("图片大小","图片大小",!1,!1,[this,"imageSize"],Q.defaults.imageSize),new ze("像素偏移","像素偏移",!1,!1,[this,"imageOffset"],Q.defaults.imageOffset),new z("线样式","线样式集合",[]),new k("是否显示","是否显示",!1,!1,[this,"stroked"],Q.defaults.stroked),new k("贴地","贴地(线)",!1,!1,[this,"strokeGround"],Q.defaults.strokeGround),new S("线宽","线宽",!1,!1,[this,"strokeWidth"],Q.defaults.strokeWidth),new Y("线宽类型","线宽类型",!1,!1,[this,"strokeWidthType"],Q.defaults.strokeWidthTypes),new Z("线颜色","线颜色",!1,!1,[this,"strokeColor"],Q.defaults.strokeColor),new J("线材质","线材质",!1,!1,[this,"strokeMaterial"],Q.defaults.strokeMaterial),new G("线材质参数","线材质参数",!1,!1,[this,"strokeMaterialParams"],Q.defaults.strokeMaterialParams),new z("面样式","面样式集合",[]),new k("是否显示","是否显示",!1,!1,[this,"filled"],Q.defaults.filled),new k("贴地","贴地(面)",!1,!1,[this,"fillGround"],Q.defaults.fillGround),new Z("填充颜色","填充颜色",!1,!1,[this,"fillColor"],Q.defaults.fillColor),new J("填充材质","填充材质",!1,!1,[this,"fillMaterial"],Q.defaults.fillMaterial),new G("填充材质参数","填充材质参数",!1,!1,[this,"fillMaterialParams"],Q.defaults.fillMaterialParams)]}}getProperties(t){return[...super.getProperties(t),new z("通用","通用",[new k("是否显示","A boolean Property specifying the visibility .",!1,!1,[this,"show"],Q.defaults.show),new k("允许拾取","是否允许拾取",!1,!1,[this,"allowPicking"],Q.defaults.allowPicking),new ie("飞入","飞入",["number"],r=>this.flyTo(r),[1]),new ie("清空飞入参数","清空飞入参数",[],()=>this.emptyFlyInParam(),[]),new ie("保存飞入参数","保存飞入参数flyInParam",[],()=>this.calcFlyInParam(),[]),new G("flyInParam","flyInParam",!0,!1,[this,"flyInParam"],Q.defaults.flyInParam)]),new z("标注文本样式","标注文本样式",[new k("是否显示","是否显示",!1,!1,[this,"textShow"],Q.defaults.textShow),new J("标注显示属性","要用于显示的文本属性",!1,!1,[this,"textProperty"],Q.defaults.textProperty),new J("默认文本","默认统一显示的文本",!1,!1,[this,"textDefaultText"],Q.defaults.textDefaultText),new Z("文本颜色","文本颜色",!1,!1,[this,"textColor"],Q.defaults.textColor),new Z("背景颜色","背景颜色",!0,!1,[this,"textBackgroundColor"],Q.defaults.textBackgroundColor),new J("字体","字体",!1,!1,[this,"textFontFamily"],Q.defaults.textFontFamily),new J("字体样式","字体样式",!1,!1,[this,"textFontStyle"],Q.defaults.textFontStyle),new J("字体粗细","字体粗细",!1,!1,[this,"textFontWeight"],Q.defaults.textFontWeight),new S("字体大小","字体大小",!1,!1,[this,"textFontSize"],Q.defaults.textFontSize),new ze("锚点","锚点",!1,!1,[this,"textAnchor"],Q.defaults.textAnchor),new ze("像素偏移","像素偏移",!1,!1,[this,"textOffset"],Q.defaults.textOffset)]),new z("标注图标样式","标注图标样式",[new k("是否显示","是否显示",!1,!1,[this,"imageShow"],Q.defaults.imageShow),new G("图片地址","图片地址",!1,!1,[this,"imageUrl"],Q.defaults.imageUrl),new ze("图片大小","图片大小",!1,!1,[this,"imageSize"],Q.defaults.imageSize),new ze("锚点","锚点",!1,!1,[this,"imageAnchor"],Q.defaults.imageAnchor),new ze("像素偏移","像素偏移",!1,!1,[this,"imageOffset"],Q.defaults.imageOffset)]),new z("线样式","线样式",[new k("是否显示","是否显示",!1,!1,[this,"stroked"],Q.defaults.stroked),new S("线宽","线宽",!1,!1,[this,"strokeWidth"],Q.defaults.strokeWidth),new Y("线宽类型","线宽类型",!1,!1,[this,"strokeWidthType"],Q.defaults.strokeWidthTypes),new Z("线颜色","线颜色",!1,!1,[this,"strokeColor"],Q.defaults.strokeColor),new J("线材质","线材质",!1,!1,[this,"strokeMaterial"],Q.defaults.strokeMaterial),new G("线材质参数","线材质参数",!1,!1,[this,"strokeMaterialParams"],Q.defaults.strokeMaterialParams),new k("贴地(线)","贴地(线)",!1,!1,[this,"strokeGround"],Q.defaults.strokeGround)]),new z("填充样式","填充样式",[new k("是否显示","是否显示",!1,!1,[this,"filled"],Q.defaults.filled),new Z("填充颜色","填充颜色",!1,!1,[this,"fillColor"],Q.defaults.fillColor),new J("填充材质","填充材质",!1,!1,[this,"fillMaterial"],Q.defaults.fillMaterial),new G("填充材质参数","填充材质参数",!1,!1,[this,"fillMaterialParams"],Q.defaults.fillMaterialParams),new k("贴地(面)","贴地(面)",!1,!1,[this,"fillGround"],Q.defaults.fillGround)]),new z("通用","通用",[new G("服务地址","服务地址",!0,!1,[this,"url"],Q.defaults.url),new ei("loadFnStr","loadFnStr",!0,!1,[this,"loadFuncStr"],Q.defaults.defaultLoadFuncStr,Q.defaults.defaultLoadFuncDocStr),new S("要素最小可视距离","要素最小可视距离",!1,!1,[this,"minFeatureVisibleDistance"],Q.defaults.minFeatureVisibleDistance),new S("要素最大可视距离","要素最大可视距离",!1,!1,[this,"maxFeatureVisibleDistance"],Q.defaults.maxFeatureVisibleDistance),new Y("高度参考","高度参考",!1,!1,[this,"heightReference"],Q.defaults.heightReferences)])]}get strokeWidth(){return this.strokeStyle.width}set strokeWidth(t){this.strokeStyle={...this.strokeStyle,width:t}}get strokeWidthChanged(){return this.strokeStyleChanged}get strokeWidthType(){return this.strokeStyle.widthType}set strokeWidthType(t){this.strokeStyle={...this.strokeStyle,widthType:t}}get strokeWidthTypeChanged(){return this.strokeStyleChanged}get strokeColor(){return this.strokeStyle.color}set strokeColor(t){this.strokeStyle={...this.strokeStyle,color:[...t]}}get strokeColorChanged(){return this.strokeStyleChanged}get strokeMaterial(){return this.strokeStyle.material}set strokeMaterial(t){this.strokeStyle={...this.strokeStyle,material:t}}get strokeMaterialChanged(){return this.strokeStyleChanged}get strokeMaterialParams(){return this.strokeStyle.materialParams}set strokeMaterialParams(t){this.strokeStyle={...this.strokeStyle,materialParams:t}}get strokeMaterialParamsChanged(){return this.strokeStyleChanged}get strokeGround(){return this.strokeStyle.ground}set strokeGround(t){this.strokeStyle={...this.strokeStyle,ground:t}}get strokeGroundChanged(){return this.strokeStyleChanged}get fillColor(){return this.fillStyle.color}set fillColor(t){this.fillStyle={...this.fillStyle,color:[...t]}}get fillColorChanged(){return this.fillStyleChanged}get fillMaterial(){return this.fillStyle.material}set fillMaterial(t){this.fillStyle={...this.fillStyle,material:t}}get fillMaterialChanged(){return this.fillStyleChanged}get fillMaterialParams(){return this.fillStyle.materialParams}set fillMaterialParams(t){this.fillStyle={...this.fillStyle,materialParams:t}}get fillMaterialParamsChanged(){return this.fillStyleChanged}get fillGround(){return this.fillStyle.ground}set fillGround(t){this.fillStyle={...this.fillStyle,ground:t}}get fillGroundChanged(){return this.fillStyleChanged}get textProperty(){return this.textStyle.textProperty}set textProperty(t){this.textStyle={...this.textStyle,textProperty:t}}get textPropertyChanged(){return this.textStyleChanged}get textDefaultText(){return this.textStyle.defaultText}set textDefaultText(t){this.textStyle={...this.textStyle,defaultText:t}}get textDefaultTextChanged(){return this.textStyleChanged}get textColor(){return this.textStyle.color}set textColor(t){this.textStyle={...this.textStyle,color:t}}get textColorChanged(){return this.textStyleChanged}get textBackgroundColor(){return this.textStyle.backgroundColor}set textBackgroundColor(t){this.textStyle={...this.textStyle,backgroundColor:t}}get textBackgroundColorChanged(){return this.textStyleChanged}get textFontFamily(){return this.textStyle.fontFamily}set textFontFamily(t){this.textStyle={...this.textStyle,fontFamily:t}}get textFontFamilyChanged(){return this.textStyleChanged}get textFontStyle(){return this.textStyle.fontStyle}set textFontStyle(t){this.textStyle={...this.textStyle,fontStyle:t}}get textFontStyleChanged(){return this.textStyleChanged}get textFontWeight(){return this.textStyle.fontWeight}set textFontWeight(t){this.textStyle={...this.textStyle,fontWeight:t}}get textFontWeightChanged(){return this.textStyleChanged}get textFontSize(){return this.textStyle.fontSize}set textFontSize(t){this.textStyle={...this.textStyle,fontSize:t}}get textFontSizeChanged(){return this.textStyleChanged}get textAnchor(){return this.textStyle.anchor}set textAnchor(t){this.textStyle={...this.textStyle,anchor:t}}get textAnchorChanged(){return this.textStyleChanged}get textOffset(){return this.textStyle.offset}set textOffset(t){this.textStyle={...this.textStyle,offset:t}}get textOffsetChanged(){return this.textStyleChanged}get imageUrl(){return this.imageStyle.url}set imageUrl(t){this.imageStyle={...this.imageStyle,url:t}}get imageUrlChanged(){return this.imageStyleChanged}get imageSize(){return this.imageStyle.size}set imageSize(t){this.imageStyle={...this.imageStyle,size:t}}get imageSizeChanged(){return this.imageStyleChanged}get imageAnchor(){return this.imageStyle.anchor}set imageAnchor(t){this.imageStyle={...this.imageStyle,anchor:t}}get imageAnchorChanged(){return this.imageStyleChanged}get imageOffset(){return this.imageStyle.offset}set imageOffset(t){this.imageStyle={...this.imageStyle,offset:t}}get imageOffsetChanged(){return this.imageStyleChanged}};d(Q,"type",Q.register("ESGeoJson",Q,{chsName:"ESGeoJson",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"GeoJson数据加载"})),d(Q,"defaults",{...Se.defaults,show:!0,allowPicking:!0,url:Xy,defaultLoadFuncStr:Np,defaultLoadFuncDocStr:qy,data:Gy,dataMd:Wy,stroked:!0,strokeWidth:1,strokeWidthType:"world",strokeColor:[.79,.91,.06,1],strokeMaterial:"",strokeMaterialParams:{},strokeGround:!1,filled:!0,fillColor:[.79,.91,.06,.2],fillMaterial:"",fillMaterialParams:{},fillGround:!1,imageShow:!0,imageUrl:"${earthsdk3-assets-script-dir}/assets/img/location.png",imageSize:[32,32],imageAnchor:[.5,1],imageOffset:[0,0],textShow:!0,textProperty:"",textDefaultText:"默认标注",textColor:[1,1,1,1],textBackgroundColor:void 0,textFontFamily:"Arial",textFontStyle:"normal",textFontSize:16,textFontWeight:"normal",textAnchor:[0,1],textOffset:[-16,8],strokeWidthTypes:[["screen","screen"],["world","world"]],flyInParam:{position:[0,0,0],rotation:[0,0,0],flyDuration:1},minFeatureVisibleDistance:0,maxFeatureVisibleDistance:0,heightReferences:[["NONE","NONE"],["CLAMP_TO_GROUND","CLAMP_TO_GROUND"],["RELATIVE_TO_GROUND","RELATIVE_TO_GROUND"]]});let Wo=Q;(n=>{n.createDefaultProps=()=>({...Se.createDefaultProps(),show:!0,allowPicking:!0,loadFuncStr:void 0,url:void 0,stroked:!0,strokeStyle:c.reactJson({width:1,widthType:"world",color:[.79,.91,.06,1],material:"",materialParams:{},ground:!1}),filled:!0,fillStyle:c.reactJson({color:[.79,.91,.06,.2],material:"",materialParams:{},ground:!1}),imageShow:!0,imageStyle:c.reactJson({url:"${earthsdk3-assets-script-dir}/assets/img/location.png",size:[32,32],anchor:[.5,1],offset:[0,0]}),textShow:!0,textStyle:c.reactJson({textProperty:"",defaultText:"默认标注",color:[1,1,1,1],backgroundColor:void 0,fontFamily:"Arial",fontSize:16,fontStyle:"normal",fontWeight:"normal",anchor:[0,1],offset:[16,-8]}),minFeatureVisibleDistance:0,maxFeatureVisibleDistance:0,flyInParam:c.reactJsonWithUndefined(void 0),heightReference:"NONE"})})(Wo||(Wo={})),c.extendClassProps(Wo.prototype,Wo.createDefaultProps);const Vs=class Vs extends ce{constructor(t){super(t);d(this,"editingBindMode","doublePoints");this.stroked=!0,this.strokeStyle.width=2}get typeName(){return"ESHeightMeasurement"}get defaultProps(){return Vs.createDefaultProps()}getProperties(t){return[...super.getProperties(t)]}};d(Vs,"type",Vs.register("ESHeightMeasurement",Vs,{chsName:"高度测量",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"高度测量"})),d(Vs,"supportEditingModes",[...ce.supportEditingModes,se.DoublePointsAppend,se.DoublePointsModify]),d(Vs,"defaults",{...ce.defaults});let qo=Vs;(n=>{n.createDefaultProps=()=>({...ce.createDefaultProps()})})(qo||(qo={})),c.extendClassProps(qo.prototype,qo.createDefaultProps);const La=class La extends vr{constructor(t){super(t);d(this,"_area",this.dv(c.react(0)));d(this,"_perimeter",this.dv(c.react(0)));d(this,"editingBindMode","doublePoints");this.radius=1,this.filled=!0,this.stroked=!1,this.collision=!1,this.strokeColor=[1,1,1,1],this.fillColor=[1,1,1,.5];const r=()=>{this._area.value=Math.PI*this.radius*this.radius,this._perimeter.value=2*Math.PI*this.radius};r(),this.d(this.radiusChanged.don(r))}get typeName(){return"ESLocalCircle"}get defaultProps(){return{...La.createDefaultProps()}}get area(){return this._area.value}get areaChanged(){return this._area.changed}get perimeter(){return this._perimeter.value}get perimeterChanged(){return this._perimeter.changed}toPolygon(t=10,r){return Jd([...this.position],this.radius,t,r)[0].map(s=>[...s,this.position?this.position[2]:0])}getESProperties(){const t={...super.getESProperties()};return{...t,defaultMenu:"style",basic:[...t.basic,new S("圆半径","圆半径",!0,!1,[this,"radius"],1)],general:[...t.general],dataSource:[...t.dataSource],location:[],coordinate:[new k("是否编辑","是否编辑",!1,!1,[this,"editing"]),new S("面积","面积",!1,!0,[this,"area"]),new S("周长","周长",!1,!0,[this,"perimeter"]),new bn("三维坐标","三维坐标",!0,!1,[this,"position"],[0,0,0])],style:[...t.style]}}getProperties(t){return[...super.getProperties(t),new z("ESLocalCircle","ESLocalCircle",[new S("圆半径","圆半径",!1,!1,[this,"radius"]),new S("面积","面积",!1,!0,[this,"area"]),new S("周长","周长",!1,!0,[this,"perimeter"])])]}};d(La,"type",La.register("ESLocalCircle",La,{chsName:"局部坐标圆形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESLocalCircle"})),d(La,"defaults",{...vr.defaults,fillStyle:{color:[1,1,1,.5],material:"",materialParams:{}}});let Xo=La;(n=>{n.createDefaultProps=()=>({...vr.createDefaultProps(),radius:1})})(Xo||(Xo={})),c.extendClassProps(Xo.prototype,Xo.createDefaultProps);const Aa=class Aa extends vr{get typeName(){return"ESLocalPolygon"}get defaultProps(){return{...Aa.createDefaultProps()}}constructor(e){super(e),this.filled=!0}getESProperties(){const e={...super.getESProperties()};return{...e,coordinate:[...e.coordinate,new xh("坐标","偏移量[x,y],单位米,不含高度",!1,!1,[this,"points"],[])]}}getProperties(e){return[...super.getProperties(e),new z("ESLocalPolygon","ESLocalPolygon",[new G("位置偏移数组","偏移量[x,y],单位米,不含高度",!1,!1,[this,"points"])])]}};d(Aa,"type",Aa.register("ESLocalPolygon",Aa,{chsName:"局部2D坐标多边形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESLocalPolygon"})),d(Aa,"defaults",{...vr.defaults,points:[],filled:!0});let _i=Aa;(n=>{n.createDefaultProps=()=>({...vr.createDefaultProps(),points:zh(void 0)})})(_i||(_i={})),c.extendClassProps(_i.prototype,_i.createDefaultProps);const Dl=class Dl extends Jn{get typeName(){return"ESLocalPolygonZ"}get defaultProps(){return{...Dl.createDefaultProps()}}constructor(e){super(e),this.filled=!0}getProperties(e){return[...super.getProperties(e),new z("通用","通用",[new yc("本地位置数组","本地位置数组",!0,!1,[this,"points"])])]}};d(Dl,"type",Dl.register("ESLocalPolygonZ",Dl,{chsName:"局部坐标多边形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESLocalPolygonZ"}));let Yo=Dl;(n=>{n.createDefaultProps=()=>({...Jn.createDefaultProps(),points:c.reactPositions(void 0)})})(Yo||(Yo={})),c.extendClassProps(Yo.prototype,Yo.createDefaultProps);const Ra=class Ra extends vr{get typeName(){return"ESLocalRectangle"}get defaultProps(){return{...Ra.createDefaultProps()}}constructor(e){super(e),this.filled=!0}getProperties(e){return[...super.getProperties(e),new z("ESLocalRectangle","ESLocalRectangle",[new S("宽度","宽度",!1,!1,[this,"width"]),new S("高度","高度",!1,!1,[this,"height"])])]}};d(Ra,"type",Ra.register("ESLocalRectangle",Ra,{chsName:"局部坐标四边形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESLocalRectangle"})),d(Ra,"defaults",{...vr.defaults,width:5e5,height:3e5});let Ho=Ra;(n=>{n.createDefaultProps=()=>({...vr.createDefaultProps(),width:5e5,height:3e5})})(Ho||(Ho={})),c.extendClassProps(Ho.prototype,Ho.createDefaultProps);const Ti=class Ti extends ce{constructor(t){super(t);d(this,"editingBindMode","lineString");d(this,"_distance",this.dv(c.react(0)));d(this,"_deprecated",[{materialMode:{blue:"multipleArrows",purple:"singleArrow"}},"show"]);d(this,"_deprecatedWarningFunc",(()=>{this._deprecatedWarning()})());this.fillColor=[1,0,.73,1];const r=()=>{if(this.points&&this.points.length>=2){const i=Tl(this.points,"GEODESIC"),s=i[i.length-1];this._distance.value=s}else this._distance.value=0};r(),this.d(this.pointsChanged.don(r))}get typeName(){return"ESPipeFence"}get defaultProps(){return Ti.createDefaultProps()}get distance(){return this._distance.value}get distanceChanged(){return this._distance.changed}getESProperties(){const t={...super.getESProperties()};return{...t,defaultMenu:"basic",basic:[...t.basic,new S("高度","height",!1,!1,[this,"height"],10),new S("宽度","width",!1,!1,[this,"width"],10),new Y("模式","materialMode",!1,!1,[this,"materialMode"],Ti.defaults.materialModes,"purple")],coordinate:[...t.coordinate,new S("长度","距离",!1,!0,[this,"distance"])]}}getProperties(t){return[...super.getProperties(t),new z("ESPipeFence","ESPipeFence",[new S("高度","height",!1,!1,[this,"height"]),new S("宽度","width",!1,!1,[this,"width"]),new Y("materialMode","materialMode",!1,!1,[this,"materialMode"],Ti.defaults.materialModes)])]}};d(Ti,"type",Ti.register("ESPipeFence",Ti,{chsName:"管道电子围栏",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"管道电子围栏"})),d(Ti,"supportEditingModes",[...ce.supportEditingModes,se.LineStringAppend,se.LineStringInsert]),d(Ti,"defaults",{...ce.defaults,strokeStyle:{width:1,widthType:"screen",color:[1,1,1,1],material:"",materialParams:{}},fillStyle:{color:[1,1,1,1],material:"",materialParams:{}},filled:!0,stroked:!0,materialModes:[["单箭头","singleArrow"],["多箭头","multipleArrows"]]});let Jo=Ti;(n=>{n.createDefaultProps=()=>({...ce.createDefaultProps(),height:10,width:10,materialMode:"singleArrow",filled:!0})})(Jo||(Jo={})),c.extendClassProps(Jo.prototype,Jo.createDefaultProps);const zs=class zs extends Ct{constructor(t){super(t);d(this,"_setLayerVisibleEvent",this.dv(new c.Event));d(this,"_setLayerColorEvent",this.dv(new c.Event))}get typeName(){return"ESPipeserTileset"}get defaultProps(){return zs.createDefaultProps()}get setLayerVisibleEvent(){return this._setLayerVisibleEvent}setLayerVisible(t,r){this._setLayerVisibleEvent.emit(t,r)}get setLayerColorEvent(){return this._setLayerColorEvent}setLayerColor(t,r){this._setLayerColorEvent.emit(t,r)}getProperties(t){return[...super.getProperties(t),new z("ESPipeserTileset","ESPipeserTileset",[new ie("setLayerVisible","setLayerVisible",["string","string"],(r,i)=>this.setLayerVisible(r,i),["",""]),new ie("setLayerColor","setLayerColor",["string","string"],(r,i)=>this.setLayerColor(r,i),["",""]),new Y("colorMode","colorMode",!0,!1,[this,"colorMode"],zs.description.colorMode,"default")])]}};d(zs,"type",zs.register("ESPipeserTileset",zs,{chsName:"PipeSer图层",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"PipeSer图层"})),d(zs,"description",{colorMode:[["default","default"],["color","color"],["blend","blend"]]});let Zo=zs;(n=>{n.createDefaultProps=()=>({colorMode:"default",...Ct.createDefaultProps()})})(Zo||(Zo={})),c.extendClassProps(Zo.prototype,Zo.createDefaultProps);const bi=class bi extends ce{constructor(t){super(t);d(this,"editingBindMode","circular");this.filled=!0,this.collision=!1}get typeName(){return"ESPolygonFence"}get defaultProps(){return bi.createDefaultProps()}getESProperties(){const t={...super.getESProperties()};return{...t,defaultMenu:"basic",coordinate:[...t.coordinate,new S("面积","面积",!1,!0,[this,"area"]),new S("周长","周长",!1,!0,[this,"perimeter"])],basic:[...t.basic,new S("高度","height",!1,!1,[this,"height"],10),new Y("模式","materialMode",!1,!1,[this,"materialMode"],bi.defaults.materialModes,"danger")]}}getProperties(t){return[...super.getProperties(t),new z("通用","通用",[new S("高度","height",!1,!1,[this,"height"]),new Y("materialMode","materialMode",!1,!1,[this,"materialMode"],bi.defaults.materialModes)]),new z("计算","计算",[new S("面积","面积",!1,!0,[this,"area"]),new S("周长","周长",!1,!0,[this,"perimeter"])])]}};d(bi,"type",bi.register("ESPolygonFence",bi,{chsName:"多边形电子围栏",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"多边形电子围栏"})),d(bi,"supportEditingModes",[...ce.supportEditingModes,se.CircularAppend,se.CircularInsert,se.HeightModify]),d(bi,"defaults",{...ce.defaults,fillStyle:{color:[1,1,1,1],material:"",materialParams:{}},filled:!0,materialModes:[["模式一","danger"],["模式二","checkerboard"],["模式三","warning"],["模式四","cord"],["模式五","scanline"],["模式六","honeycomb"],["模式七","gradientColor"]]});let Ko=bi;(n=>{n.createDefaultProps=()=>({height:10,materialMode:"danger",...ce.createDefaultProps()})})(Ko||(Ko={})),c.extendClassProps(Ko.prototype,Ko.createDefaultProps);const es=class es extends ce{constructor(t){super(t);d(this,"_deprecated",["ground"]);d(this,"_deprecatedWarningFunc",(()=>{this._deprecatedWarning()})());d(this,"editingBindMode","doublePoints")}get typeName(){return"ESRectangle"}get defaultProps(){return es.createDefaultProps()}getProperties(t){return[...super.getProperties(t),new z("通用","通用",[new k("是否贴地","A boolean Property specifying the visibility.",!1,!1,[this,"ground"]),new k("轮廓线半透明","轮廓线半透明.",!1,!1,[this,"outlineTranslucent"]),new S("高度","高度",!1,!1,[this,"height"]),new S("拉伸高度","拉伸高度",!1,!1,[this,"extrudedHeight"]),new or("范围","西南东北",!0,!1,[this,"rectangle"],es.defaults.rectangle),new S("纹理旋转角度","纹理旋转角度.",!1,!1,[this,"stRotation"]),new S("旋转角度","rotation",!1,!1,[this,"rotation"]),new k("是否单点编辑","是否单点编辑.",!1,!1,[this,"pointEditing"])])]}};d(es,"type",es.register("ESRectangle",es,{chsName:"矩形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"矩形"})),d(es,"supportEditingModes",[...ce.supportEditingModes,se.DoublePointsAppend,se.DoublePointsModify]),d(es,"defaults",{...ce.defaults,ground:!1,outlineTranslucent:!0,height:0,extrudedHeight:0,rectangle:void 0,stRotation:0,rotation:0,pointEditing:!1,allowPicking:!1});let Qo=es;(n=>{n.createDefaultProps=()=>({...ce.createDefaultProps(),ground:!1,outlineTranslucent:!0,height:0,extrudedHeight:0,rectangle:c.reactArrayWithUndefined(void 0),rotation:0,stRotation:0,pointEditing:!1,filled:!0})})(Qo||(Qo={})),c.extendClassProps(Qo.prototype,Qo.createDefaultProps);const Fa=class Fa extends ye{get typeName(){return"ESPolygonWithHole"}get defaultProps(){return Fa.createDefaultProps()}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new G("裁切多边形数组","必须在内部,且没有相交,裁切的多边形数组",!0,!1,[this,"innerRings"],[])]}}getProperties(e){return[...super.getProperties(e),new z("通用","通用",[new G("裁切多边形数组","必须在内部,且没有相交,裁切的多边形数组",!0,!1,[this,"innerRings"],[])])]}};d(Fa,"type",Fa.register("ESPolygonWithHole",Fa,{chsName:"内部裁切多边形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"带洞多边形"})),d(Fa,"defaults",{...ye.defaults,innerRings:[]});let Bo=Fa;(n=>{n.createDefaultProps=()=>({...ye.createDefaultProps(),innerRings:c.reactPositionsSet(void 0)})})(Bo||(Bo={})),c.extendClassProps(Bo.prototype,Bo.createDefaultProps);const ts=class ts extends ye{constructor(t){super(t);d(this,"_startEvent",this.disposeVar(new c.Event));this.fillStyle.ground=!0}get typeName(){return"ESSurfaceAreaMeasurement"}get defaultProps(){return ts.createDefaultProps()}get startEvent(){return this._startEvent}start(){this._startEvent.emit()}getProperties(t){return[...super.getProperties(t),new z("ESSurfaceAreaMeasurement","表面积测量",[new ie("开始计算","开始计算",[],()=>this.start(),[]),new S("插值距离","插值距离,单位米,为0时不插值",!1,!1,[this,"interpolation"],ts.defaults.interpolation),new S("偏移高度","三角面整体偏移高度,单位米",!1,!1,[this,"offsetHeight"],ts.defaults.offsetHeight)])]}};d(ts,"type",ts.register("ESSurfaceAreaMeasurement",ts,{chsName:"表面积测量",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"表面积测量"})),d(ts,"defaults",{...ye.defaults,interpolation:.5,offsetHeight:0});let $o=ts;(n=>{n.createDefaultProps=()=>({...ye.createDefaultProps(),interpolation:void 0,offsetHeight:void 0})})($o||($o={})),c.extendClassProps($o.prototype,$o.createDefaultProps);const rs=class rs extends q{get typeName(){return"ESDatasmithRuntimeModel"}get defaultProps(){return rs.createDefaultProps()}constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new S("下载进度","下载进度",!0,!0,[this,"downloadProgress"]),new G("importOptions","导入参数",!0,!1,[this,"importOptions"],rs.defaults.importOptions)],dataSource:[...e.dataSource,new G("路径","url",!1,!1,[this,"url"])]}}getProperties(e){return[...super.getProperties(e),new z("通用","通用",[new G("url","url",!1,!1,[this,"url"]),new S("下载进度","下载进度",!0,!0,[this,"downloadProgress"]),new G("importOptions","导入参数",!0,!1,[this,"importOptions"],rs.defaults.importOptions)])]}};d(rs,"type",rs.register("ESDatasmithRuntimeModel",rs,{chsName:"Datasmith Model",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"Datasmith Model"})),d(rs,"defaults",{...q.defaults,url:"",importOptions:{buildCollisions:"QueryAndPhysics",buildHierarchy:"Simplified",collisionType:"CTF_UseComplexAsSimple",bImportMetaData:!0}});let jo=rs;(n=>{n.createDefaultProps=()=>({...q.createDefaultProps(),url:"",importOptions:c.reactJsonWithUndefined(void 0),downloadProgress:0})})(jo||(jo={})),c.extendClassProps(jo.prototype,jo.createDefaultProps);const We=class We extends _i{get typeName(){return"ESDynamicWater"}get defaultProps(){return{...We.createDefaultProps()}}constructor(e){super(e),this.stroked=!1,this.filled=!0}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new Y("水域类型","当为custom是其他控制效果的参数生效,否则不生效,使用对应水域类型的预定效果",!1,!1,[this,"waterType"],We.defaults.waterTypes,We.defaults.waterType),new S("频率","控制波数的数值(次/千米)",!1,!1,[this,"frequency"],We.defaults.frequency),new Me("振幅","控制水波振幅的数值",!1,!1,[this,"amplitude"],.01,[0,1],We.defaults.amplitude),new Me("流向","控制水流方向,局部坐标方向",!1,!1,[this,"flowDirection"],.1,[0,360],We.defaults.flowDirection),new Me("波动频率","控制水波纹扰动的速率",!1,!1,[this,"waveVelocity"],.01,[0,1],We.defaults.waveVelocity),new Me("镜面反射强度","控制镜面反射强度的数值",!1,!1,[this,"specularIntensity"],.01,[0,1],We.defaults.specularIntensity),new Me("水体浑浊度","控制水体的浑浊程度,数值越大,浑浊程度越大,取值范围0-10。",!1,!1,[this,"murkiness"],.01,[0,10],We.defaults.murkiness),new S("水流速度","控制水流速度,单位 米/秒",!1,!1,[this,"flowSpeed"],We.defaults.flowSpeed),new Z("水的底色","waterColor",!1,!1,[this,"waterColor"],We.defaults.waterColor),new G("水的图片","waterImage",!1,!1,[this,"waterImage"],We.defaults.waterImage)]}}getProperties(e){return[...super.getProperties(e),new Y("水域类型","当为custom是其他控制效果的参数生效,否则不生效,使用对应水域类型的预定效果",!1,!1,[this,"waterType"],We.defaults.waterTypes),new G("水的图片","waterImage",!1,!1,[this,"waterImage"],We.defaults.waterImage),new Z("水的底色","waterColor",!1,!1,[this,"waterColor"],We.defaults.waterColor),new S("频率","控制波数的数值(次/千米)",!1,!1,[this,"frequency"],We.defaults.frequency),new Me("波动频率","控制水波纹扰动的速率",!1,!1,[this,"waveVelocity"],.01,[0,1],We.defaults.waveVelocity),new Me("振幅","控制水波振幅的数值",!1,!1,[this,"amplitude"],.01,[0,1],We.defaults.amplitude),new Me("镜面反射强度","控制镜面反射强度的数值",!1,!1,[this,"specularIntensity"],.01,[0,1],We.defaults.specularIntensity),new Me("流向","控制水流方向,局部坐标方向",!1,!1,[this,"flowDirection"],.1,[0,360],We.defaults.flowDirection),new Me("水体浑浊度","控制水体的浑浊程度,数值越大,浑浊程度越大,取值范围0-10。",!1,!1,[this,"murkiness"],.01,[0,10],We.defaults.murkiness),new S("水流速度","控制水流速度,单位 米/秒",!1,!1,[this,"flowSpeed"],We.defaults.flowSpeed)]}};d(We,"type",We.register("ESDynamicWater",We,{chsName:"动态水面",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"局部多边形水面"})),d(We,"defaults",{..._i.defaults,waterColor:[.1497,.165,.0031,1],frequency:1e3,waveVelocity:.5,amplitude:.1,specularIntensity:.8,waterTypes:[["river","river"],["ocean","ocean"],["lake","lake"],["custom","custom"]],waterType:"river",flowDirection:0,flowSpeed:0,waterImage:void 0,murkiness:5});let ea=We;(n=>{n.createDefaultProps=()=>({..._i.createDefaultProps(),allowPicking:!0,waterImage:c.reactJsonWithUndefined(void 0),waterColor:[.1497,.165,.0031,1],frequency:1e3,waveVelocity:.5,amplitude:.1,specularIntensity:.8,waterType:"river",flowDirection:0,flowSpeed:0,murkiness:5})})(ea||(ea={})),c.extendClassProps(ea.prototype,ea.createDefaultProps);const qe=class qe extends ye{get typeName(){return"ESGeoWater"}get defaultProps(){return qe.createDefaultProps()}constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,defaultMenu:"basic",basic:[...e.basic,new Y("水域类型","当为custom是其他控制效果的参数生效,否则不生效,使用对应水域类型的预定效果",!1,!1,[this,"waterType"],qe.defaults.waterTypes,qe.defaults.waterType),new S("频率","控制波数的数值(次/千米)",!1,!1,[this,"frequency"],qe.defaults.frequency),new Me("振幅","控制水波振幅的数值",!1,!1,[this,"amplitude"],.01,[0,1],qe.defaults.amplitude),new Me("流向","控制水流方向,局部坐标方向",!1,!1,[this,"flowDirection"],.1,[0,360],qe.defaults.flowDirection),new Me("波动频率","控制水波纹扰动的速率",!1,!1,[this,"waveVelocity"],.01,[0,1],qe.defaults.waveVelocity),new Me("镜面反射强度","控制镜面反射强度的数值",!1,!1,[this,"specularIntensity"],.01,[0,1],qe.defaults.specularIntensity),new Me("水体浑浊度","控制水体的浑浊程度,数值越大,浑浊程度越大,取值范围0-10。",!1,!1,[this,"murkiness"],.01,[0,10],qe.defaults.murkiness),new S("水流速度","控制水流速度,单位 米/秒",!1,!1,[this,"flowSpeed"],qe.defaults.flowSpeed),new Z("水的底色","waterColor",!1,!1,[this,"waterColor"],qe.defaults.waterColor),new G("水的图片","waterImage",!1,!1,[this,"waterImage"],qe.defaults.waterImage)]}}getProperties(e){return[...super.getProperties(e),new z("ESGeoWater","ESGeoWater",[new Y("水域类型","当为custom是其他控制效果的参数生效,否则不生效,使用对应水域类型的预定效果",!1,!1,[this,"waterType"],qe.defaults.waterTypes),new G("水的图片","waterImage",!1,!1,[this,"waterImage"],qe.defaults.waterImage),new Z("水的底色","waterColor",!1,!1,[this,"waterColor"],qe.defaults.waterColor),new S("频率","控制波数的数值(次/千米)",!1,!1,[this,"frequency"],qe.defaults.frequency),new Me("波动频率","控制水波纹扰动的速率",!1,!1,[this,"waveVelocity"],.01,[0,1],qe.defaults.waveVelocity),new Me("振幅","控制水波振幅的数值",!1,!1,[this,"amplitude"],.01,[0,1],qe.defaults.amplitude),new Me("镜面反射强度","控制镜面反射强度的数值",!1,!1,[this,"specularIntensity"],.01,[0,1],qe.defaults.specularIntensity),new Me("流向","控制水流方向,局部坐标方向",!1,!1,[this,"flowDirection"],.1,[0,360],qe.defaults.flowDirection),new Me("水体浑浊度","控制水体的浑浊程度,数值越大,浑浊程度越大,取值范围0-10。",!1,!1,[this,"murkiness"],.01,[0,10],qe.defaults.murkiness),new S("水流速度","控制水流速度,单位 米/秒",!1,!1,[this,"flowSpeed"],qe.defaults.flowSpeed)])]}};d(qe,"type",qe.register("ESGeoWater",qe,{chsName:"地理水面",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"地理动态水面"})),d(qe,"defaults",{...ye.defaults,waterColor:[.1497,.165,.0031,.8],frequency:1e3,waveVelocity:.5,amplitude:.1,specularIntensity:.8,waterTypes:[["river","river"],["ocean","ocean"],["lake","lake"],["custom","custom"]],waterType:"river",flowDirection:0,flowSpeed:0,waterImage:{},murkiness:5});let ta=qe;(n=>{n.createDefaultProps=()=>({...ye.createDefaultProps(),allowPicking:!0,waterImage:c.reactJsonWithUndefined(void 0),waterColor:[.1497,.165,.0031,.8],frequency:1e3,waveVelocity:.5,amplitude:.1,specularIntensity:.8,waterType:"river",flowDirection:0,flowSpeed:0,murkiness:5})})(ta||(ta={})),c.extendClassProps(ta.prototype,ta.createDefaultProps);const ka=class ka extends q{get typeName(){return"ESLevelRuntimeModel"}get defaultProps(){return ka.createDefaultProps()}constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new S("下载进度","下载进度",!0,!0,[this,"downloadProgress"]),new J("levelName","levelName",!1,!1,[this,"levelName"],""),new S("levelLoadDistance","levelLoadDistance",!1,!1,[this,"levelLoadDistance"],1e3),new Pt("levelOffset","levelOffset",!1,!1,[this,"levelOffset"],[0,0,0])],dataSource:[...e.dataSource,new G("url","url",!1,!1,[this,"url"],"")]}}getProperties(e){return[...super.getProperties(e),new z("通用","通用",[new G("url","url",!1,!1,[this,"url"]),new J("levelName","levelName",!1,!1,[this,"levelName"]),new S("下载进度","下载进度",!0,!0,[this,"downloadProgress"]),new S("levelLoadDistance","levelLoadDistance",!1,!1,[this,"levelLoadDistance"]),new Pt("levelOffset","levelOffset",!1,!1,[this,"levelOffset"])])]}};d(ka,"type",ka.register("ESLevelRuntimeModel",ka,{chsName:"关卡包模型",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"关卡包模型"})),d(ka,"defaults",{...q.defaults,url:""});let ra=ka;(n=>{n.createDefaultProps=()=>({...q.createDefaultProps(),url:"",downloadProgress:0,levelName:"",levelOffset:c.reactArray([0,0,0]),levelLoadDistance:1e3})})(ra||(ra={})),c.extendClassProps(ra.prototype,ra.createDefaultProps);const Kt=class Kt extends Or{constructor(t){super(t);d(this,"_deprecated",[{materialMode:{blue:"multipleArrows",purple:"singleArrow"}},"show"]);d(this,"_deprecatedWarningFunc",(()=>{this._deprecatedWarning()})());this.filled=!0,this.stroked=!1,this.fillColor=[1,0,.73,1]}get typeName(){return"ESPipeline"}get defaultProps(){return Kt.createDefaultProps()}getESProperties(){const t={...super.getESProperties()};return{...t,defaultMenu:"basic",basic:[...t.basic,new S("半径","radius(米)",!1,!1,[this,"radius"],Kt.defaults.radius),new S("圆边数","sides(圆细分边)",!1,!1,[this,"sides"],Kt.defaults.sides),new S("材质速度","speed",!1,!1,[this,"speed"],Kt.defaults.speed),new Y("材质模式","materialMode",!1,!1,[this,"materialMode"],Kt.defaults.materialModes),new G("材质图片和重复度","materialImage",!1,!1,[this,"materialImage"],Kt.defaults.materialImage)],style:[new z("点样式","点样式集合",[]),new k("开启","开启点样式",!1,!1,[this,"pointed"],!1),new S("点大小","点大小(pointSize)",!1,!1,[this,"pointSize"],1),new Y("点类型","点类型(pointSizeType)",!1,!1,[this,"pointSizeType"],[["screen","screen"],["world","world"]],"screen"),new Z("点颜色","点颜色(pointColor)",!1,!1,[this,"pointColor"],[1,1,1,1]),new z("线样式","线样式集合",[]),new k("开启线样式","开启线样式",!1,!1,[this,"stroked"],!0),new S("线宽","线宽(strokeWidth)",!1,!1,[this,"strokeWidth"],1),new Y("线类型","线类型(strokeWidthType)",!1,!1,[this,"strokeWidthType"],[["screen","screen"],["world","world"]],"screen"),new Z("线颜色","线颜色(strokeColor)",!1,!1,[this,"strokeColor"],[1,1,1,1]),new k("是否贴地","是否贴地(线)",!1,!1,[this,"strokeGround"],!1),new z("面样式","面样式集合",[]),new k("开启","开启填充样式",!1,!1,[this,"filled"],!1),new Z("填充颜色","填充颜色(fillColor)",!1,!1,[this,"fillColor"],[1,1,1,1]),new k("是否贴地","是否贴地",!1,!1,[this,"fillGround"],!1)]}}getProperties(t){return[...super.getProperties(t),new z("通用","通用",[new S("半径","radius(米)",!1,!1,[this,"radius"],Kt.defaults.radius),new S("圆边数","sides(圆细分边)",!1,!1,[this,"sides"],Kt.defaults.sides),new G("材质图片和重复度","materialImage",!1,!1,[this,"materialImage"],Kt.defaults.materialImage),new S("材质速度","speed",!1,!1,[this,"speed"],Kt.defaults.speed),new Y("材质模式","materialMode",!1,!1,[this,"materialMode"],Kt.defaults.materialModes)])]}};d(Kt,"type",Kt.register("ESPipeline",Kt,{chsName:"管线",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESPipeline"})),d(Kt,"defaults",{...Or.defaults,radius:10,sides:10,materialImage:{url:"",uDis:50,vDis:10},speed:1,materialModes:[["单箭头","singleArrow"],["多箭头","multipleArrows"]]});let na=Kt;(n=>{n.createDefaultProps=()=>({...Or.createDefaultProps(),radius:10,sides:10,materialMode:"singleArrow",materialImage:c.reactJson(n.defaults.materialImage),speed:1})})(na||(na={})),c.extendClassProps(na.prototype,na.createDefaultProps);const Rr=class Rr extends ce{constructor(t){super(t);d(this,"editingBindMode","visibility")}get typeName(){return"ESVisibilityAnalysis"}get defaultProps(){return Rr.createDefaultProps()}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new Z("可视区域颜色","可视区域颜色.",!1,!1,[this,"visibleColor"],Rr.defaults.visibleColor),new Z("遮挡区域颜色","遮挡区域颜色.",!1,!1,[this,"invisibleColor"],Rr.defaults.invisibleColor),new S("视点高度偏移","heightOffset",!1,!1,[this,"heightOffset"],Rr.defaults.heightOffset)]}}getProperties(t){return[...super.getProperties(t),new z("通用","通用",[new Z("可视区域颜色","可视区域颜色.",!1,!1,[this,"visibleColor"],Rr.defaults.visibleColor),new Z("遮挡区域颜色","遮挡区域颜色.",!1,!1,[this,"invisibleColor"],Rr.defaults.invisibleColor),new S("视点高度偏移","heightOffset",!1,!1,[this,"heightOffset"],Rr.defaults.heightOffset)])]}};d(Rr,"type",Rr.register("ESVisibilityAnalysis",Rr,{chsName:"通视分析,视线分析",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"通视分析,视线分析"})),d(Rr,"supportEditingModes",[...ce.supportEditingModes,se.VisibilityAppend,se.VisibilityModify]),d(Rr,"defaults",{...ce.defaults,visibleColor:[0,1,0,1],invisibleColor:[1,0,0,1],heightOffset:0});let ia=Rr;(n=>{n.createDefaultProps=()=>({...ce.createDefaultProps(),visibleColor:c.reactArray([0,1,0,1]),invisibleColor:c.reactArray([1,0,0,1]),heightOffset:0})})(ia||(ia={})),c.extendClassProps(ia.prototype,ia.createDefaultProps);const Va=class Va extends ye{constructor(t){super(t);d(this,"_startEvent",this.dv(new c.Event));d(this,"_clearEvent",this.dv(new c.Event));this.filled=!1,this.stroked=!0,this.strokeStyle.width=2}get typeName(){return"ESVolumeMeasurement"}get defaultProps(){return Va.createDefaultProps()}get startEvent(){return this._startEvent}start(){this._startEvent.emit()}get clearEvent(){return this._clearEvent}clear(){this._clearEvent.emit()}getProperties(t){return[...super.getProperties(t),new z("通用","通用",[new S("基准面高程","基准面高程",!0,!1,[this,"planeHeight"]),new S("采样间距 m","采样间距 m",!1,!1,[this,"gridWidth"]),new S("挖方","挖方 m³",!1,!0,[this,"cutVolume"]),new S("填方","填方 m³",!1,!0,[this,"fillVolume"]),new S("挖填方","挖填方 m³",!1,!0,[this,"cutAndFillVolume"]),new S("计算进度","计算进度",!1,!0,[this,"progress"]),new ie("开始分析","开始分析",[],()=>this.start(),[]),new ie("清空分析结果","清空分析结果",[],()=>this.clear(),[]),new k("是否开启深度检测","A boolean Property specifying the visibility.",!1,!1,[this,"depthTest"])])]}};d(Va,"type",Va.register("ESVolumeMeasurement",Va,{chsName:"体积测量",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"体积测量"})),d(Va,"defaults",{...ye.defaults});let sa=Va;(n=>{n.createDefaultProps=()=>({...ye.createDefaultProps(),planeHeight:c.react(void 0),gridWidth:1,cutVolume:0,fillVolume:0,cutAndFillVolume:0,progress:0,depthTest:!1})})(sa||(sa={})),c.extendClassProps(sa.prototype,sa.createDefaultProps);const Ol=class Ol extends vi{constructor(t){super(t);d(this,"_human",this.dv(new vi(`${this.id}_ESHuman`)));d(this,"_poi",this.dv(new yi(`${this.id}_ESPoi2D`)));d(this,"combinationClass",!0);this.mainClass=this._human,this.d(this.components.disposableAdd(this._human)),this.d(this.components.disposableAdd(this._poi));{const{_human:r,_poi:i}=this;this.d(c.track([r,"show"],[this,"show"])),this.d(c.track([i,"show"],[this,"show"])),this.d(c.track([r,"allowPicking"],[this,"allowPicking"])),this.d(c.track([i,"allowPicking"],[this,"allowPicking"])),this.d(c.bind([r,"scale"],[this,"scale"])),this.d(c.bind([i,"scale"],[this,"scale"])),this.d(c.track([r,"collision"],[this,"collision"])),this.d(c.track([i,"collision"],[this,"collision"])),this.d(c.bind([r,"flyInParam"],[this,"flyInParam"])),this.d(c.bind([r,"flyToParam"],[this,"flyToParam"])),this.d(c.track([r,"animation"],[this,"animation"])),this.d(c.track([r,"mode"],[this,"mode"])),this.d(c.track([r,"minVisibleDistance"],[this,"minVisibleDistance"])),this.d(c.track([r,"maxVisibleDistance"],[this,"maxVisibleDistance"])),this.d(c.track([i,"name"],[this,"name"])),this.d(c.track([i,"mode"],[this,"poiMode"])),this.d(c.track([i,"autoAnchor"],[this,"autoAnchor"])),this.d(c.track([i,"screenRender"],[this,"screenRender"])),this.d(c.track([i,"size"],[this,"size"])),this.d(c.track([i,"anchor"],[this,"anchor"])),this.d(c.track([i,"sizeByContent"],[this,"sizeByContent"])),this.d(c.track([i,"renderMode"],[this,"renderMode"])),this.d(c.track([i,"rotationType"],[this,"rotationType"])),this.d(c.track([i,"zOrder"],[this,"zOrder"])),this.d(c.track([i,"minVisibleDistance"],[this,"minVisibleDistance"])),this.d(c.track([i,"maxVisibleDistance"],[this,"maxVisibleDistance"])),this.d(c.bind([r,"position"],[this,"position"])),this.d(c.bind([r,"rotation"],[this,"rotation"])),this.d(this.flyInEvent.don(s=>{r.flyIn(s)})),this.d(this.flyToEvent.don(s=>{r.flyTo(s)})),this.d(this.calcFlyToParamEvent.don(()=>{r.calcFlyToParam()})),this.d(this.calcFlyInParamEvent.don(()=>{r.calcFlyInParam()})),this.d(this.smoothMoveEvent.don((s,o)=>{r.smoothMove(s,o)})),this.d(this.smoothMoveWithRotationEvent.don((s,o,a)=>{r.smoothMoveWithRotation(s,o,a)})),this.d(this.smoothMoveOnGroundEvent.don((s,o,a,l)=>{r.smoothMoveOnGround(s,o,a,l)})),this.d(this.smoothMoveWithRotationOnGroundEvent.don((s,o,a,l,u)=>{r.smoothMoveWithRotationOnGround(s,o,a,l,u)})),this.d(this.automaticLandingEvent.don(()=>{r.automaticLanding()}))}}get typeName(){return"ESHumanPoi"}get defaultProps(){return Ol.createDefaultProps()}get human(){return this._human}get poi(){return this._poi}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new Y("poi模式","poiMode",!1,!1,[this,"poiMode"],yi.defaults.modes,"SquareH01"),new S("poi高度偏移","poi高度偏移",!1,!1,[this,"poiOffsetHeight"],1.8)]}}getProperties(t){return[...super.getProperties(t),new Y("poi模式","poiMode",!1,!1,[this,"poiMode"],yi.defaults.modes),new S("poi高度偏移","poi高度偏移",!1,!1,[this,"poiOffsetHeight"],1.8)]}};d(Ol,"type",Ol.register("ESHumanPoi",Ol,{chsName:"人员poi",tags:["ESObjects"],description:"ESHuman + ESPoi2D组合对象"}));let oa=Ol;(n=>{n.createDefaultProps=()=>({poiOffsetHeight:1.8,poiMode:"SquareH01",style:c.reactJson({}),autoAnchor:!0,screenRender:!0,size:c.reactArray([100,100]),anchor:c.reactArray([.5,1]),sizeByContent:!0,renderMode:0,rotationType:1,zOrder:0,...vi.createDefaultProps()})})(oa||(oa={})),c.extendClassProps(oa.prototype,oa.createDefaultProps);const Qt=class Qt extends ye{get typeName(){return"ESPit"}get defaultProps(){return Qt.createDefaultProps()}constructor(e){super(e),this.collision=!1,this.allowPicking=!1,this.filled=!0}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new S("深度","坑深度(米)",!1,!1,[this,"depth"],Qt.defaults.depth),new S("插值","插值距离(米)",!1,!1,[this,"interpolation"],Qt.defaults.interpolation),new S("透明度","透明度",!1,!1,[this,"opacity"],Qt.defaults.opacity),new G("侧面图片","侧面图片",!1,!1,[this,"sideImage"],Qt.defaults.sideImage),new G("底面图片","底面图片",!1,!1,[this,"bottomImage"],Qt.defaults.bottomImage)],style:[new z("点样式","点样式集合",[]),new k("开启","开启点样式",!1,!1,[this,"pointed"],!1),new S("点大小","点大小(pointSize)",!1,!1,[this,"pointSize"],1),new Y("点类型","点类型(pointSizeType)",!1,!1,[this,"pointSizeType"],[["screen","screen"],["world","world"]],"screen"),new Z("点颜色","点颜色(pointColor)",!1,!1,[this,"pointColor"],[1,1,1,1]),new z("线样式","线样式集合",[]),new k("开启","开启线样式",!1,!1,[this,"stroked"],!0),new S("线宽","线宽(strokeWidth)",!1,!1,[this,"strokeWidth"],1),new Y("线类型","线类型(strokeWidthType)",!1,!1,[this,"strokeWidthType"],[["screen","screen"],["world","world"]],"screen"),new Z("线颜色","线颜色(strokeColor)",!1,!1,[this,"strokeColor"],[1,1,1,1]),new k("是否贴地","是否贴地(线)",!1,!1,[this,"strokeGround"],!1),new z("面样式","面样式集合",[]),new k("开启","开启填充样式",!1,!1,[this,"filled"],!0),new Z("填充颜色","填充颜色(fillColor)",!1,!1,[this,"fillColor"],[1,1,1,1]),new k("是否贴地","是否贴地",!1,!1,[this,"fillGround"],!1)]}}getProperties(e){return[...super.getProperties(e),new z("通用","通用",[new S("深度","坑深度(米)",!1,!1,[this,"depth"],Qt.defaults.depth),new S("插值","插值距离(米)",!1,!1,[this,"interpolation"],Qt.defaults.interpolation),new G("侧面图片","侧面图片",!1,!1,[this,"sideImage"],Qt.defaults.sideImage),new G("底面图片","底面图片",!1,!1,[this,"bottomImage"],Qt.defaults.bottomImage),new S("opacity","透明度",!1,!1,[this,"opacity"],Qt.defaults.opacity)])]}};d(Qt,"type",Qt.register("ESPit",Qt,{chsName:"坑",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"坑"})),d(Qt,"defaults",{...ye.defaults,depth:100,sideImage:{url:j.context.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/img/ESPit/side.jpg"),uDis:50,vDis:50},bottomImage:{url:j.context.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/img/ESPit/bottom.jpg"),uDis:50,vDis:50},opacity:1,interpolation:50});let wi=Qt;(n=>{n.createDefaultProps=()=>({...ye.createDefaultProps(),depth:100,sideImage:c.reactJson(n.defaults.sideImage),bottomImage:c.reactJson(n.defaults.bottomImage),opacity:1,interpolation:50})})(wi||(wi={})),c.extendClassProps(wi.prototype,wi.createDefaultProps);const Ml=class Ml extends wi{constructor(t){super(t);d(this,"_excavate",this.dv(new Hi(`${this.id}_ESExcavate`)));d(this,"_pit",this.dv(new wi(`${this.id}_ESPit`)));d(this,"combinationClass",!0);this.mainClass=this._pit,this.d(this.components.disposableAdd(this._excavate)),this.d(this.components.disposableAdd(this._pit));{const{_excavate:r,_pit:i}=this;this.d(c.track([r,"show"],[this,"show"])),this.d(c.track([i,"show"],[this,"show"])),this.d(c.track([r,"allowPicking"],[this,"allowPicking"])),this.d(c.track([i,"allowPicking"],[this,"allowPicking"])),this.d(c.track([r,"collision"],[this,"collision"])),this.d(c.track([i,"collision"],[this,"collision"])),this.d(c.bind([i,"points"],[this,"points"])),this.d(c.track([r,"points"],[this,"points"])),this.d(c.track([i,"pointed"],[this,"pointed"])),this.d(c.track([r,"pointed"],[this,"pointed"])),this.d(c.track([i,"pointStyle"],[this,"pointStyle"])),this.d(c.track([r,"pointStyle"],[this,"pointStyle"])),this.d(c.track([i,"stroked"],[this,"stroked"])),this.d(c.track([r,"stroked"],[this,"stroked"])),this.d(c.track([i,"strokeStyle"],[this,"strokeStyle"])),this.d(c.track([r,"strokeStyle"],[this,"strokeStyle"])),this.d(c.track([i,"filled"],[this,"filled"])),this.d(c.track([i,"fillStyle"],[this,"fillStyle"])),this.d(c.track([r,"fillStyle"],[this,"fillStyle"])),this.d(c.track([r,"mode"],[this,"mode"])),this.d(c.track([r,"targetID"],[this,"targetID"])),this.d(c.track([i,"depth"],[this,"depth"])),this.d(c.track([i,"sideImage"],[this,"sideImage"])),this.d(c.track([i,"bottomImage"],[this,"bottomImage"])),this.d(c.track([i,"opacity"],[this,"opacity"])),this.d(c.track([i,"interpolation"],[this,"interpolation"])),this.d(c.bind([i,"flyInParam"],[this,"flyInParam"])),this.d(c.bind([i,"flyToParam"],[this,"flyToParam"])),this.d(this.flyInEvent.don(s=>{i.flyIn(s)})),this.d(this.flyToEvent.don(s=>{i.flyTo(s)})),this.d(this.calcFlyToParamEvent.don(()=>{i.calcFlyToParam()})),this.d(this.calcFlyInParamEvent.don(()=>{i.calcFlyInParam()}))}}get typeName(){return"ESHole"}get defaultProps(){return Ml.createDefaultProps()}get excavate(){return this._excavate}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new Y("模式","mode",!1,!1,[this,"mode"],Hi.defaults.modes,"in"),new J("瓦片图层","targetID",!1,!1,[this,"targetID"],"")]}}};d(Ml,"type",Ml.register("ESHole",Ml,{chsName:"挖坑(带材质+深度)",tags:["ESObjects"],description:"挖坑"}));let aa=Ml;(n=>{n.createDefaultProps=()=>({mode:"in",targetID:"",...wi.createDefaultProps()})})(aa||(aa={})),c.extendClassProps(aa.prototype,aa.createDefaultProps);const Ih={layerconfigfind:"/ts/layer/config/get",layerconfigsave:"/ts/layer/config/put",featureproperty:"/ts/editor/property",featureeditormuti:"/ts/editor/update",getts:"/ts/info"},Yy=async(n,e)=>{try{const t=window.localStorage.getItem("Authorization"),r={headers:{...t?{Authorization:t}:{}},mode:"cors"},s=await(await fetch(n+`${Ih.layerconfigfind}?tileServiceName=${e}`,r)).text();return JSON.parse(s)}catch(t){console.error(t)}},Hy=async(n,e,t)=>{try{const r=window.localStorage.getItem("Authorization"),i=t??{},s={method:"POST",headers:{"Content-Type":"application/json",...r?{Authorization:r}:{}},mode:"cors",body:JSON.stringify({tileServiceName:e,layerConfig:JSON.stringify(i)})},a=await(await fetch(n+Ih.layerconfigsave,s)).text();return JSON.parse(a)}catch(r){console.error(r)}},Jy=async n=>{try{const e=window.localStorage.getItem("Authorization"),t={headers:{...e?{Authorization:e}:{}},mode:"cors"},i=await(await fetch(n,t)).text(),s=JSON.parse(i);if(s.status=="ok")return s.data.port;console.error(s.status);return}catch(e){console.error(e)}},Zy=async(n,e,t)=>{try{const r={tileServiceName:e,featureId:t},i=window.localStorage.getItem("Authorization"),o=await(await fetch(n+Ih.featureproperty,{method:"post",headers:{"Content-Type":"application/json",...i?{Authorization:i}:{}},body:JSON.stringify(r),mode:"cors"})).text(),a=JSON.parse(o);if(a.status=="ok")return a.data;console.error(a.data.status);return}catch(r){console.error(r)}},za=class za extends Ct{constructor(t){super(t);d(this,"_es3DTileset",this.dv(new Ct(`${this.id}_ES3DTileset`)));d(this,"_ids",this.dv(c.reactJson([])));d(this,"combinationClass",!0);d(this,"_highlightInner3DtilesetEvent",this.dv(new c.Event));d(this,"_removeHighlightInner3DtilesetEvent",this.dv(new c.Event));d(this,"_tilesetServePort",this.dv(c.react("")));this.mainClass=this._es3DTileset;{const r=async()=>{if(typeof this.url!="string"){console.error("服务地址不合法, Init Error! 示例: http://localhost:9009/ts/info/ts01");return}this.url?this.refresh():this._es3DTileset.url=""};this.d(this.urlChanged.don(()=>{r()}))}{this.d(this.components.disposableAdd(this._es3DTileset));const r=this._es3DTileset;this.d(c.track([r,"allowPicking"],[this,"allowPicking"])),this.d(c.track([r,"collision"],[this,"collision"])),this.d(c.bind([r,"flyToParam"],[this,"flyToParam"])),this.d(c.bind([r,"flyToParam"],[this,"flyToParam"])),this.d(c.track([r,"actorTag"],[this,"actorTag"])),this.d(c.track([r,"materialMode"],[this,"materialMode"])),this.d(c.track([r,"highlight"],[this,"highlight"])),this.d(c.track([r,"maximumScreenSpaceError"],[this,"maximumScreenSpaceError"])),this.d(c.track([r,"highlightID"],[this,"highlightID"])),this.d(c.track([r,"highlightColor"],[this,"highlightColor"])),this.d(c.bind([r,"offset"],[this,"offset"])),this.d(c.bind([r,"rotation"],[this,"rotation"])),this.d(c.track([r,"czmImageBasedLightingFactor"],[this,"czmImageBasedLightingFactor"])),this.d(c.track([r,"czmLuminanceAtZenith"],[this,"czmLuminanceAtZenith"])),this.d(c.track([r,"czmMaximumMemoryUsage"],[this,"czmMaximumMemoryUsage"])),this.d(c.track([r,"czmClassificationType"],[this,"czmClassificationType"])),this.d(c.track([r,"czmStyleJson"],[this,"czmStyleJson"])),this.d(c.track([r,"czmBackFaceCulling"],[this,"czmBackFaceCulling"])),this.d(c.track([r,"czmDebugShowBoundingVolume"],[this,"czmDebugShowBoundingVolume"])),this.d(c.track([r,"czmDebugShowContentBoundingVolume"],[this,"czmDebugShowContentBoundingVolume"])),this.d(c.track([r,"czmSkipLevelOfDetail"],[this,"czmSkipLevelOfDetail"])),this.d(c.track([r,"colorBlendMode"],[this,"colorBlendMode"])),this.d(c.track([r,"cacheBytes"],[this,"cacheBytes"])),this.d(c.track([r,"clippingPlaneEnabled"],[this,"clippingPlaneEnabled"])),this.d(c.track([r,"unionClippingRegions"],[this,"unionClippingRegions"])),this.d(c.track([r,"clippingPlaneEdgeColor"],[this,"clippingPlaneEdgeColor"])),this.d(c.track([r,"clippingPlaneEdgeWidth"],[this,"clippingPlaneEdgeWidth"])),this.d(c.track([r,"materialParams"],[this,"materialParams"])),this.d(c.bind([r,"supportEdit"],[this,"supportEdit"])),this.d(c.bind([r,"clippingPlanesId"],[this,"clippingPlanesId"])),this.d(c.bind([r,"clippingPlaneIds"],[this,"clippingPlaneIds"])),this.d(c.bind([r,"flattenedPlaneId"],[this,"flattenedPlaneId"])),this.d(c.bind([r,"flattenedPlaneEnabled"],[this,"flattenedPlaneEnabled"])),this.d(c.bind([r,"clippingPlaneId"],[this,"clippingPlaneId"])),this.d(c.bind([r,"excavateId"],[this,"excavateId"]))}{const r=this._es3DTileset;this.d(this.refreshTilesetEvent.don(()=>{r.refreshTileset()})),this.d(this.highlightFeatureEvent.don((...i)=>{r.highlightFeature(...i)})),this.d(this.highlightFeatureAndFlyToEvent.don((...i)=>{r.highlightFeatureAndFlyTo(...i)})),this.d(this.setFeatureColorEvent.don((...i)=>{r.setFeatureColor(...i)})),this.d(this.setFeatureVisableEvent.don((...i)=>{r.setFeatureVisable(...i)})),this.d(this.resetFeatureStyleEvent.don((...i)=>{r.resetFeatureStyle(...i)})),this.d(this.setFeatureStyleEvent.don((...i)=>{r.setFeatureStyle(...i)})),this.d(this.flyInEvent.don((...i)=>{r.flyIn(i[0])})),this.d(this.flyToEvent.don((...i)=>{r.flyTo(i[0])})),this.d(this.calcFlyToParamEvent.don((...i)=>{r.calcFlyToParam(...i)})),this.d(this.calcFlyInParamEvent.don((...i)=>{r.calcFlyInParam(...i)}))}{const r=this._es3DTileset;this.d(r.tilesetReady.don(i=>{this.tilesetReady.emit(i)})),this.d(r.pickedEvent.don(i=>{this.pickedEvent.emit(new Eu(this,i.childPickedInfo))}))}{const r=()=>{this.es3DTileset.show=this.show};r(),this.d(this.showChanged.don(()=>{r()}))}}get typeName(){return"ESRtsTileset"}get defaultProps(){return za.createDefaultProps()}get json(){return this._innerGetJson()}set json(t){this._innerSetJson(t)}get es3DTileset(){return this._es3DTileset}get ids(){return this._ids.value}get idsChanged(){return this._ids.changed}set ids(t){this._ids.value=t}async getFeatureProperty(t){return await Zy(this.baseUrl,this.tileServiceName,t)}async getLayerConfig(){const t=await Yy(this.baseUrl,this.tileServiceName);return!t||!Array.isArray(t)?this.layerConfig=[]:this.layerConfig=t,this.layerConfig}async saveLayerConfig(){const t=this.layerConfig;return await Hy(this.baseUrl,this.tileServiceName,t)}get highlightInner3DtilesetEvent(){return this._highlightInner3DtilesetEvent}_highlightInner3Dtileset(t){this._highlightInner3DtilesetEvent.emit(t)}async highlightDSFeature(t){this._highlightInner3Dtileset(t)}get removeHighlightInner3DtilesetEvent(){return this._removeHighlightInner3DtilesetEvent}_removeHighlightInner3Dtileset(t){this._removeHighlightInner3DtilesetEvent.emit(t)}async removeHighlightDSFeature(t){this._removeHighlightInner3Dtileset(t)}async pickFeature(t,r){var a,l,u;const i=await t.pick(r),s=i.sceneObject;return!s||s.id!==this.id&&s.typeName!="ESRtsFeatureEditing"?void 0:s.typeName!="ESRtsFeatureEditing"?(this.ids=[...this.ids,(a=i==null?void 0:i.tilesetPickInfo)==null?void 0:a.id],{featureId:(l=i==null?void 0:i.tilesetPickInfo)==null?void 0:l.id,pickInnerFields:i==null?void 0:i.tilesetPickInfo}):{featureId:(u=i==null?void 0:i.sceneObject)==null?void 0:u.id,pickInnerFields:i==null?void 0:i.tilesetPickInfo}}get tilesetServePort(){return this._tilesetServePort.value}get tilesetServePortChanged(){return this._tilesetServePort.changed}set tilesetServePort(t){this._tilesetServePort.value=t}async getport(){const t=await Jy(this.url);if(t)return this.tilesetServePort=t,t;throw new Error("服务地址port获取失败!")}async refresh(){var i;if(!this.url||typeof this.url!="string")return;const t=(i=this.url.match(/\/ts\/info\/(.*)/))==null?void 0:i[1],r=+new Date;if(t){const s=this.tileServiceIp,o=await this.getport();await this.getLayerConfig(),this._es3DTileset.url=`${s}:${o}/tiles/tileset.json?t=${r}`}console.log("3dtileset url:",this._es3DTileset.url)}get baseUrl(){var t;if(this.url&&typeof this.url=="string"){const r=(t=this.url.match(/^(https?:\/\/[^\/]+)/))==null?void 0:t[1];if(!r)throw new Error("服务地址不合法,baseUrl is not found! 示例: http://localhost:9009/ts/info/ts01");return r}else throw new Error("服务地址不合法,baseUrl is not found! 示例: http://localhost:9009/ts/info/ts01")}get tileServiceName(){var t;if(this.url&&typeof this.url=="string"){const r=(t=this.url.match(/\/ts\/info\/(.*)/))==null?void 0:t[1];if(!r)throw console.log(this.url),new Error("服务地址不合法,tileServiceName is not found! 示例: http://localhost:9009/ts/info/ms01,");return r}else throw new Error("服务地址不合法,tileServiceName is not found! 示例: http://localhost:9009/ts/info/ms01")}get tileServiceIp(){var t;if(this.url&&typeof this.url=="string"){const r=(t=this.url.match(/^(https?:\/\/[^:]+)/))==null?void 0:t[1];if(!r)throw new Error("服务地址不合法,ip is not found! 示例: http://localhost:9009/ts/info/ts01");return r}else throw new Error("服务地址不合法,ip is not found! 示例: http://localhost:9009/ts/info/ts01")}getProperties(t){return[...super.getProperties(t),new z("ESRtsTileset","ESRtsTileset",[new G("图层配置","图层配置(layerConfig)",!0,!1,[this,"layerConfig"],[])])]}};d(za,"type",za.register("ESRtsTileset",za,{chsName:"CIMRTS实时3DTileset图层",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"实时3DTileset图层"})),d(za,"defaults",{...Ct.defaults,layerConfig:[]});let la=za;(n=>{n.createDefaultProps=()=>({layerConfig:c.reactJsonWithUndefined(void 0),...Ct.createDefaultProps()})})(la||(la={})),c.extendClassProps(la.prototype,la.createDefaultProps);function Ky(n){return typeof n=="number"&&!isNaN(n)}const Ua=class Ua extends Ct{constructor(t){super(t);d(this,"combinationClass",!0)}get typeName(){return"ESRtsFeatureEditing"}get defaultProps(){return Ua.createDefaultProps()}get json(){return{...this._innerGetJson(),show:this.show,materials:this.materials,changeMaterial:this.changeMaterial,props:this.props,rotation:this.rotation}}set json(t){this._innerSetJson(t)}async init(t,r){this.featureId=r;const i=await t.getFeatureProperty(r);this.uiShowprops=i.allFields.map(a=>({featureClassName:a.featureClassName,fields:a.fields.map(l=>({key:l.name,type:l.type,value:l.type!="Double"?l.value:Ky(l.value)?Number(l.value.toFixed(3)):""}))})),this.datasetName=i.datasetName,t.setFeatureVisable("id",[{value:this.featureId,visable:!1}]),this.d(()=>{t.setFeatureVisable("id",[{value:this.featureId,visable:!0}])});const s=t.tileServiceIp,o=t.tilesetServePort;if(!o)throw new Error("ESRtsFeatureEditing: port is not defined");this.url=`${s}:${o}/featuretiles/${this.featureId}/tileset.json`,this.allowPicking=!0,this.d(this.pickedEvent.don(a=>{t.pickedEvent.emit(new Eu(t,a))})),this.d(()=>{this.editing=!1,t.removeHighlightDSFeature(this)})}getProperties(t){return[...super.getProperties(t)]}};d(Ua,"type",Ua.register("ESRtsFeatureEditing",Ua,{chsName:"ESRtsFeatureEditing",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"实时3DTileset图层"})),d(Ua,"defaults",{...Ct.defaults,layerConfig:{}});let ua=Ua;(n=>{n.createDefaultProps=()=>({...Ct.createDefaultProps(),datasetName:void 0,featureId:void 0,materials:c.reactJson({}),changeMaterial:c.reactJsonWithUndefined(void 0),uiShowprops:c.reactJson({}),props:c.reactJson({})})})(ua||(ua={})),c.extendClassProps(ua.prototype,ua.createDefaultProps);const Qy=async n=>{try{const e=window.localStorage.getItem("Authorization"),t={headers:{...e?{Authorization:e}:{}},mode:"cors"},i=await(await fetch(n,t)).text(),s=JSON.parse(i);if(s.status=="ok")return s.data.port;console.error(s.status);return}catch(e){console.error(e)}},Ga=class Ga extends Ct{constructor(t){super(t);d(this,"_es3DTileset",this.dv(new Ct(`${this.id}_ES3DTileset`)));d(this,"combinationClass",!0);d(this,"_tilesetServePort",this.dv(c.react("")));this.mainClass=this._es3DTileset;{const r=async()=>{if(typeof this.url!="string"){console.error("服务地址不合法, Init Error! 示例: http://localhost:9009/ts/info/ms01");return}this.url?this.refresh():this._es3DTileset.url=""};this.d(this.urlChanged.don(()=>{r()}))}{this.d(this.components.disposableAdd(this._es3DTileset));const r=this._es3DTileset;this.d(c.track([r,"allowPicking"],[this,"allowPicking"])),this.d(c.track([r,"collision"],[this,"collision"])),this.d(c.bind([r,"flyToParam"],[this,"flyToParam"])),this.d(c.bind([r,"flyToParam"],[this,"flyToParam"])),this.d(c.track([r,"actorTag"],[this,"actorTag"])),this.d(c.track([r,"materialMode"],[this,"materialMode"])),this.d(c.track([r,"highlight"],[this,"highlight"])),this.d(c.track([r,"maximumScreenSpaceError"],[this,"maximumScreenSpaceError"])),this.d(c.track([r,"highlightID"],[this,"highlightID"])),this.d(c.track([r,"highlightColor"],[this,"highlightColor"])),this.d(c.bind([r,"offset"],[this,"offset"])),this.d(c.bind([r,"rotation"],[this,"rotation"])),this.d(c.track([r,"czmImageBasedLightingFactor"],[this,"czmImageBasedLightingFactor"])),this.d(c.track([r,"czmLuminanceAtZenith"],[this,"czmLuminanceAtZenith"])),this.d(c.track([r,"czmMaximumMemoryUsage"],[this,"czmMaximumMemoryUsage"])),this.d(c.track([r,"czmClassificationType"],[this,"czmClassificationType"])),this.d(c.track([r,"czmStyleJson"],[this,"czmStyleJson"])),this.d(c.track([r,"czmBackFaceCulling"],[this,"czmBackFaceCulling"])),this.d(c.track([r,"czmDebugShowBoundingVolume"],[this,"czmDebugShowBoundingVolume"])),this.d(c.track([r,"czmDebugShowContentBoundingVolume"],[this,"czmDebugShowContentBoundingVolume"])),this.d(c.track([r,"czmSkipLevelOfDetail"],[this,"czmSkipLevelOfDetail"])),this.d(c.track([r,"colorBlendMode"],[this,"colorBlendMode"])),this.d(c.track([r,"cacheBytes"],[this,"cacheBytes"])),this.d(c.track([r,"clippingPlaneEnabled"],[this,"clippingPlaneEnabled"])),this.d(c.track([r,"unionClippingRegions"],[this,"unionClippingRegions"])),this.d(c.track([r,"clippingPlaneEdgeColor"],[this,"clippingPlaneEdgeColor"])),this.d(c.track([r,"clippingPlaneEdgeWidth"],[this,"clippingPlaneEdgeWidth"])),this.d(c.track([r,"materialParams"],[this,"materialParams"])),this.d(c.bind([r,"supportEdit"],[this,"supportEdit"])),this.d(c.bind([r,"clippingPlanesId"],[this,"clippingPlanesId"])),this.d(c.bind([r,"clippingPlaneIds"],[this,"clippingPlaneIds"])),this.d(c.bind([r,"flattenedPlaneId"],[this,"flattenedPlaneId"])),this.d(c.bind([r,"flattenedPlaneEnabled"],[this,"flattenedPlaneEnabled"])),this.d(c.bind([r,"clippingPlaneId"],[this,"clippingPlaneId"])),this.d(c.bind([r,"excavateId"],[this,"excavateId"]))}{const r=this._es3DTileset;this.d(this.refreshTilesetEvent.don(()=>{r.refreshTileset()})),this.d(this.highlightFeatureEvent.don((...i)=>{r.highlightFeature(...i)})),this.d(this.highlightFeatureAndFlyToEvent.don((...i)=>{r.highlightFeatureAndFlyTo(...i)})),this.d(this.setFeatureColorEvent.don((...i)=>{r.setFeatureColor(...i)})),this.d(this.setFeatureVisableEvent.don((...i)=>{r.setFeatureVisable(...i)})),this.d(this.resetFeatureStyleEvent.don((...i)=>{r.resetFeatureStyle(...i)})),this.d(this.flyInEvent.don((...i)=>{r.flyIn(i[0])})),this.d(this.flyToEvent.don((...i)=>{r.flyTo(i[0])})),this.d(this.calcFlyToParamEvent.don((...i)=>{r.calcFlyToParam(...i)})),this.d(this.calcFlyInParamEvent.don((...i)=>{r.calcFlyInParam(...i)}))}{const r=this._es3DTileset;this.d(r.tilesetReady.don(i=>{this.tilesetReady.emit(i)})),this.d(r.pickedEvent.don(i=>{this.pickedEvent.emit(new Eu(this,i.childPickedInfo))}))}{const r=()=>{this.es3DTileset.show=this.show};r(),this.d(this.showChanged.don(()=>{r()}))}}get typeName(){return"ESMsTileset"}get defaultProps(){return Ga.createDefaultProps()}get json(){return this._innerGetJson()}set json(t){this._innerSetJson(t)}get es3DTileset(){return this._es3DTileset}get tilesetServePort(){return this._tilesetServePort.value}get tilesetServePortChanged(){return this._tilesetServePort.changed}set tilesetServePort(t){this._tilesetServePort.value=t}async getport(){const t=await Qy(this.url);if(t)return this.tilesetServePort=t,t;throw new Error("服务地址port获取失败!")}async refresh(){var i;if(!this.url||typeof this.url!="string")return;const t=(i=this.url.match(/\/ts\/info\/(.*)/))==null?void 0:i[1],r=+new Date;if(t){const s=this.tileServiceIp,o=await this.getport();this._es3DTileset.url=`${s}:${o}/tiles/tileset.json?t=${r}`}console.log("3dtileset url:",this._es3DTileset.url)}get baseUrl(){var t;if(this.url&&typeof this.url=="string"){const r=(t=this.url.match(/^(https?:\/\/[^\/]+)/))==null?void 0:t[1];if(!r)throw new Error("服务地址不合法,baseUrl is not found! 示例: http://localhost:9009/ts/info/ms01");return r}else throw new Error("服务地址不合法,baseUrl is not found! 示例: http://localhost:9009/ts/info/ms01")}get tileServiceIp(){var t;if(this.url&&typeof this.url=="string"){const r=(t=this.url.match(/^(https?:\/\/[^:]+)/))==null?void 0:t[1];if(!r)throw new Error("服务地址不合法,ip is not found! 示例: http://localhost:9009/ts/info/ms01");return r}else throw new Error("服务地址不合法,ip is not found! 示例: http://localhost:9009/ts/info/ms01")}get tileServiceName(){var t;if(this.url&&typeof this.url=="string"){const r=(t=this.url.match(/\/ts\/info\/(.*)/))==null?void 0:t[1];if(!r)throw console.log(this.url),new Error("服务地址不合法,tileServiceName is not found! 示例: http://localhost:9009/ts/info/ms01,");return r}else throw new Error("服务地址不合法,tileServiceName is not found! 示例: http://localhost:9009/ts/info/ms01")}getProperties(t){return[...super.getProperties(t)]}};d(Ga,"type",Ga.register("ESMsTileset",Ga,{chsName:"Modelser实时3DTileset图层",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"实时3DTileset图层"})),d(Ga,"defaults",{...Ct.defaults,layerConfig:{}});let ca=Ga;(n=>{n.createDefaultProps=()=>({...Ct.createDefaultProps()})})(ca||(ca={})),c.extendClassProps(ca.prototype,ca.createDefaultProps);const Op={defaultValue:[{type:"2",widget:"WidgetBlueprint'/ESFoliage/PoiSheng.PoiSheng'",povit:[.5,1],worldScale:.1,hiddenDistance:40},{type:"3",widget:"WidgetBlueprint'/ESFoliage/PoiShi.PoiShi'",povit:[.5,1],worldScale:.1,hiddenDistance:40},{type:"4",widget:"WidgetBlueprint'/ESFoliage/PoiShi.PoiShi'",povit:[.5,1],worldScale:.1,hiddenDistance:40},{type:"5",widget:"WidgetBlueprint'/ESFoliage/PoiXiang.PoiXiang'",povit:[.5,1],worldScale:.1,hiddenDistance:40},{type:"6",widget:"WidgetBlueprint'/ESFoliage/PoiCun.PoiCun'",povit:[.5,1],worldScale:.1,hiddenDistance:40}],sampleValue:`
411
412
  ## 参数类型为 ESPoiType[]
412
413
  \`\`\`js
413
414
  type Vector2D = [number, number]
@@ -421,7 +422,7 @@ type ESPoiType = {
421
422
  }
422
423
 
423
424
  \`\`\`
424
- `},Us=class Us extends Se{get typeName(){return"ESPoiTileset"}get defaultProps(){return Us.createDefaultProps()}constructor(e){super(e)}getProperties(e){return[...super.getProperties(e),new z("通用","通用",[new G("路径","路径",!1,!1,[this,"url"]),new G("poiTypes","类型为 {type: string, povit: Vector2D, widget: string, worldScale: number, hiddenDistance: number}[]",!1,!1,[this,"poiTypes"],Us.defaults.poiTypes,Od.sampleValue),new S("heightOffset","heightOffset",!1,!1,[this,"heightOffset"])])]}};p(Us,"type",Us.register("ESPoiTileset",Us,{chsName:"ESPoiTileset",tags:["ESObjects","_ES_Impl_UE"],description:"ESPoiTileset"})),p(Us,"defaults",{...Se.defaults,poiTypes:Od.defaultValue});let ha=Us;(n=>{n.createDefaultProps=()=>({...Se.createDefaultProps(),url:"",poiTypes:c.reactJsonWithUndefined(void 0),heightOffset:40})})(ha||(ha={})),c.extendClassProps(ha.prototype,ha.createDefaultProps);const Wa=class Wa extends j{get typeName(){return"ESScale"}get defaultProps(){return Wa.createDefaultProps()}getProperties(e){return[...super.getProperties(e),new z("通用","通用",[new k("是否显示","A boolean Property specifying the visibility .",!1,!1,[this,"show"]),new Y("定位","放到屏幕的哪个位置",!1,!1,[this,"screenPosition"],[["left","left"],["right","right"]]),new ke("位置","位置(bottom,right/left)",!1,!1,[this,"cssPosition"])])]}};p(Wa,"type",Wa.register("ESScale",Wa,{chsName:"比例尺",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"比例尺"})),p(Wa,"defaults",{...j.defaults,show:!0,screenPosition:"right",cssPosition:[40,18]});let fa=Wa;(n=>{n.createDefaultProps=()=>({...j.createDefaultProps(),show:!0,screenPosition:"right",cssPosition:[40,30]})})(fa||(fa={})),c.extendClassProps(fa.prototype,fa.createDefaultProps);const Fr=class Fr extends ye{get typeName(){return"ESGeoExtrudedPolygon"}get defaultProps(){return Fr.createDefaultProps()}constructor(e){super(e),this.collision=!1}getESProperties(){const e={...super.getESProperties()};return{...e,coordinate:[...e.coordinate,new S("高度","高度 m",!0,!1,[this,"height"],Fr.defaults.height),new S("拉伸高度","拉伸高度 m",!0,!1,[this,"extrudedHeight"],Fr.defaults.extrudedHeight),new k("应用每个位置高度","应用每个位置高度",!0,!1,[this,"perPositionHeight"],Fr.defaults.perPositionHeight)],style:[new z("点样式","点样式集合",[]),new k("开启","开启点样式",!1,!1,[this,"pointed"],!1),new S("点大小","点大小(pointSize)",!1,!1,[this,"pointSize"],1),new Y("点类型","点类型(pointSizeType)",!1,!1,[this,"pointSizeType"],[["screen","screen"],["world","world"]],"screen"),new Z("点颜色","点颜色(pointColor)",!1,!1,[this,"pointColor"],[1,1,1,1]),new z("线样式","线样式集合",[]),new k("开启","开启线样式",!1,!1,[this,"stroked"],!1),new k("贴地","是否贴地",!1,!1,[this,"strokeGround"],!1),new S("线宽","线宽(strokeWidth)",!1,!1,[this,"strokeWidth"],1),new Y("线类型","线类型(strokeWidthType)",!1,!1,[this,"strokeWidthType"],[["screen","screen"],["world","world"]],"screen"),new Z("线颜色","线颜色(strokeColor)",!1,!1,[this,"strokeColor"],[1,1,1,1]),new z("面样式","面样式集合",[]),new k("开启","开启填充样式",!1,!1,[this,"filled"],!0),new k("贴地","是否贴地",!1,!1,[this,"fillGround"],!1),new Z("填充颜色","填充颜色(fillColor)",!1,!1,[this,"fillColor"],[1,1,1,1])]}}getProperties(e){return[...super.getProperties(e),new z("通用","通用",[new S("高度","高度 m",!0,!1,[this,"height"],Fr.defaults.height),new S("拉伸高度","拉伸高度 m",!0,!1,[this,"extrudedHeight"],Fr.defaults.extrudedHeight),new k("应用每个位置高度","应用每个位置高度",!0,!1,[this,"perPositionHeight"],Fr.defaults.perPositionHeight)])]}};p(Fr,"type",Fr.register("ESGeoExtrudedPolygon",Fr,{chsName:"挤压多边形体",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"挤压多边形体"})),p(Fr,"supportEditingModes",[...ye.supportEditingModes,se.HeightModify]),p(Fr,"defaults",{...ye.defaults,height:0,extrudedHeight:10,perPositionHeight:!1});let Os=Fr;(n=>{n.createDefaultProps=()=>({...ye.createDefaultProps(),height:0,extrudedHeight:10,perPositionHeight:!1})})(Os||(Os={})),c.extendClassProps(Os.prototype,Os.createDefaultProps);const qa=class qa extends ye{constructor(t){super(t);p(this,"_classification",this.dv(new Ns(`${this.id}_ESClassification`)));p(this,"_geoExtrudedPolygon",this.dv(new Os(`${this.id}_ESGeoExtrudedPolygon`)));p(this,"combinationClass",!0);this.mainClass=this._geoExtrudedPolygon,this.d(this.components.disposableAdd(this._classification)),this.d(this.components.disposableAdd(this._geoExtrudedPolygon));{const{_classification:r,_geoExtrudedPolygon:i}=this;i.perPositionHeight=!0,this.d(c.track([r,"collision"],[this,"collision"])),this.d(c.track([i,"collision"],[this,"collision"])),this.d(c.bind([i,"flyInParam"],[this,"flyInParam"])),this.d(c.bind([i,"flyToParam"],[this,"flyToParam"])),this.d(c.bind([i,"points"],[this,"points"])),this.d(c.bind([i,"extrudedHeight"],[this,"height"])),this.d(c.bind([r,"fillColor"],[this,"overheightColor"])),this.d(c.bind([i,"fillColor"],[this,"standardColor"]));{const s=()=>{const{height:a,points:l,maxHeight:u}=this;if(!l)return;const h=l.map(f=>[f[0],f[1],a]);r.points=h,r.height=u-a,u-a<=0?r.show=!1:r.show=this.show&&this.filled};s();const o=this.dv(c.createNextAnimateFrameEvent(this.heightChanged,this.pointsChanged,this.maxHeightChanged));this.d(o.don(s))}{const s=()=>{const{show:a,filled:l}=this;r.show=a&&l,i.show=a&&l};s();const o=this.dv(c.createNextAnimateFrameEvent(this.showChanged,this.filledChanged));this.d(o.don(s))}this.dispose(this.flyInEvent.don(s=>{i.flyIn(s)})),this.dispose(this.flyToEvent.don(s=>{i.flyTo(s)})),this.dispose(this.calcFlyToParamEvent.don(()=>{i.calcFlyToParam()})),this.dispose(this.calcFlyInParamEvent.don(()=>{i.calcFlyInParam()}))}}get typeName(){return"ESHeightLimitAnalysis"}get defaultProps(){return qa.createDefaultProps()}get json(){return this._innerGetJson()}set json(t){this._innerSetJson(t)}get classification(){return this._classification}get geoExtrudedPolygon(){return this._geoExtrudedPolygon}getESProperties(){const t={...super.getESProperties()};return{...t,defaultMenu:"basic",basic:[...t.basic,new S("高度","控高的高度",!1,!1,[this,"height"],10),new S("最高高度","最高高度",!1,!1,[this,"maxHeight"],200),new Z("超高颜色","超高颜色",!1,!1,[this,"overheightColor"],[1,0,0,.5]),new Z("标准颜色","标准颜色",!1,!1,[this,"standardColor"],[0,1,0,.5])],style:[new z("点样式","点样式集合",[]),new k("开启","开启点样式",!1,!1,[this,"pointed"],!1),new S("点大小","点大小(pointSize)",!1,!1,[this,"pointSize"],1),new Y("点类型","点类型(pointSizeType)",!1,!1,[this,"pointSizeType"],[["screen","screen"],["world","world"]],"screen"),new Z("点颜色","点颜色(pointColor)",!1,!1,[this,"pointColor"],[1,1,1,1]),new z("线样式","线样式集合",[]),new k("开启","开启线样式",!1,!1,[this,"stroked"],!1),new k("贴地","是否贴地",!1,!1,[this,"strokeGround"],!1),new S("线宽","线宽(strokeWidth)",!1,!1,[this,"strokeWidth"],1),new Y("线类型","线类型(strokeWidthType)",!1,!1,[this,"strokeWidthType"],[["screen","screen"],["world","world"]],"screen"),new Z("线颜色","线颜色(strokeColor)",!1,!1,[this,"strokeColor"],[1,1,1,1]),new z("面样式","面样式集合",[]),new k("开启","开启填充样式",!1,!1,[this,"filled"],!0),new k("贴地","是否贴地",!1,!1,[this,"fillGround"],!1),new Z("填充颜色","填充颜色(fillColor)",!1,!1,[this,"fillColor"],[1,1,1,1])]}}getProperties(t){return[...super.getProperties(t),new S("高度","控高的高度",!1,!1,[this,"height"],10),new S("最高高度","最高高度",!1,!1,[this,"maxHeight"],200),new Z("超高颜色","超高颜色",!1,!1,[this,"overheightColor"],[1,0,0,.5]),new Z("标准颜色","标准颜色",!1,!1,[this,"standardColor"],[0,1,0,.5])]}};p(qa,"type",qa.register("ESHeightLimitAnalysis",qa,{chsName:"控高分析",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"控高分析对象"})),p(qa,"supportEditingModes",[...ye.supportEditingModes,se.HeightModify]);let pa=qa;(n=>{n.createDefaultProps=()=>({height:10,maxHeight:200,overheightColor:[1,0,0,.5],standardColor:[0,1,0,.5],...ye.createDefaultProps()})})(pa||(pa={})),c.extendClassProps(pa.prototype,pa.createDefaultProps);const Bt=class Bt extends Se{constructor(t){super(t);p(this,"_widgetEvent",this.dv(new c.Event));p(this,"_data",this.dv(c.react(void 0)));{const r=()=>{if(this.url)do{if(typeof this.url=="object"){this.data=this.url;break}if(Dd(this.url)){this.data=JSON.parse(this.url);break}fetch(j.context.getStrFromEnv(this.url)).then(i=>i.json()).then(i=>{this.data=i}).catch(i=>{console.warn("ESEntityCluster数据加载失败",i)})}while(!1)};r(),this.d(this.urlChanged.don(r))}}get typeName(){return"ESEntityCluster"}get defaultProps(){return Bt.createDefaultProps()}get widgetEvent(){return this._widgetEvent}get data(){return this._data.value}set data(t){this._data.value=t}get dataChanged(){return this._data.changed}getFeatures(){if(this._data)return this._data;console.log("数据未加载完成,请稍后重试")}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new G("地址","数据Url地址",!1,!1,[this,"url"],Bt.defaults.url),new S("集合范围","用于扩展屏幕空间边界框的像素范围",!1,!1,[this,"pixelRange"],Bt.defaults.pixelRange),new S("最小数量","可以聚合的屏幕空间对象的最小数量",!1,!1,[this,"minimumClusterSize"],Bt.defaults.minimumClusterSize),new Y("高度模式","高度获取模式",!1,!1,[this,"heightReference"],Bt.defaults.heightReferences,"None")]}}getProperties(t){return[...super.getProperties(t),new z("通用","通用",[new G("url","数据Url地址",!1,!1,[this,"url"],Bt.defaults.url),new S("pixelRange","用于扩展屏幕空间边界框的像素范围",!1,!1,[this,"pixelRange"],Bt.defaults.pixelRange),new S("minimumClusterSize","可以聚合的屏幕空间对象的最小数量",!1,!1,[this,"minimumClusterSize"],Bt.defaults.minimumClusterSize),new G("style","用于设置聚合和非聚合的显示样式",!1,!1,[this,"style"],Bt.defaults.style),new Y("heightReference","高度获取模式",!1,!1,[this,"heightReference"],Bt.defaults.heightReferences)]),new z("UE","UE",[new k("perspective","是否启用透视效果,自动缩放远处标签",!1,!1,[this,"perspective"],Bt.defaults.perspective)])]}};p(Bt,"type",Bt.register("ESEntityCluster",Bt,{chsName:"Poi聚合",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"用于聚合POI标注,提高性能。"})),p(Bt,"defaults",{...Se.defaults,url:"",pixelRange:200,minimumClusterSize:2,style:{cluster:[{minValue:2,mode:"SquareV02",style:{}}],nonCluster:{mode:"SquareV03",style:{}}},heightReferences:[["None","None"],["CLAMP_TO_GROUND","CLAMP_TO_GROUND"],["CLAMP_TO_TERRAIN","CLAMP_TO_TERRAIN"]],perspective:!1});let da=Bt;(n=>{n.createDefaultProps=()=>({...Se.createDefaultProps(),url:"",pixelRange:200,minimumClusterSize:2,style:c.reactJsonWithUndefined(void 0),heightReference:"None",perspective:!1})})(da||(da={})),c.extendClassProps(da.prototype,da.createDefaultProps);class du extends c.Destroyable{constructor(){super();p(this,"_player",this.disposeVar(new Hn));const t=this._player;{const r=()=>{const i=(this.stopTime??0)-(this.startTime??0);t.duration=i>0?i:0};r(),this.d(this.startTimeChanged.don(r)),this.d(this.stopTimeChanged.don(r))}this.d(c.bind([t,"playing"],[this,"playing"])),this.d(c.bind([t,"loop"],[this,"loop"])),this.d(c.bind([t,"speed"],[this,"speed"])),this.d(t.currentTimeChanged.don(()=>{this.startTime!==void 0&&t.currentTime!==void 0&&(this.currentTime=t.currentTime+this.startTime)})),this.d(this.currentTimeChanged.don(()=>{if(this.currentTime===void 0||this.startTime===void 0)return;const r=this.currentTime-this.startTime;t.currentTime=c.clamp(r,0,t.duration)}))}get player(){return this._player}get ratio(){return this._player.ratio}get ratioChanged(){return this._player.ratioChanged}set ratio(t){this._player.ratio=t}}(n=>{n.createDefaultProps=()=>({...j.createDefaultProps(),currentTime:void 0,startTime:void 0,stopTime:void 0,playing:void 0,loop:void 0,speed:void 0})})(du||(du={})),c.extendClassProps(du.prototype,du.createDefaultProps);const Xa=class Xa extends j{constructor(t){super(t);p(this,"_absolutePlayer",this.dv(new du));const r=this.absolutePlayer;this.d(c.bind([r,"currentTime"],[this,"currentTime"])),this.d(c.bind([r,"startTime"],[this,"startTime"])),this.d(c.bind([r,"stopTime"],[this,"stopTime"])),this.d(c.bind([r,"playing"],[this,"playing"])),this.d(c.bind([r,"loop"],[this,"loop"])),this.d(c.bind([r,"speed"],[this,"speed"]))}get typeName(){return"ESPlayer"}get defaultProps(){return Xa.createDefaultProps()}get absolutePlayer(){return this._absolutePlayer}get ratio(){return this._absolutePlayer.ratio}get ratioChanged(){return this._absolutePlayer.ratioChanged}set ratio(t){this._absolutePlayer.ratio=t}getProperties(t){return[...super.getProperties(t),new z("通用","通用",[new yu("播放器","播放器",[this,"playing"],[this,"ratio"],[this,"loop"]),new ti("currentTime","currentTime",!1,!1,[this,"currentTime"]),new ti("startTime","startTime",!1,!1,[this,"startTime"]),new ti("stopTime","stopTime",!1,!1,[this,"stopTime"]),new k("playing","playing",!1,!1,[this,"playing"]),new k("loop","loop",!1,!1,[this,"loop"]),new S("speed","speed",!1,!1,[this,"speed"])])]}};p(Xa,"type",Xa.register("ESPlayer",Xa,{chsName:"ESPlayer",tags:["ESObjects","_ES_Impl_UE"],description:"ESPlayer"})),p(Xa,"defaults",{...j.defaults,currentTime:0,startTime:0,stopTime:0,playing:!1,loop:!1,speed:1});let Ji=Xa;(n=>{n.createDefaultProps=()=>({...j.createDefaultProps(),currentTime:0,startTime:0,stopTime:0,playing:!1,loop:!1,speed:1})})(Ji||(Ji={})),c.extendClassProps(Ji.prototype,Ji.createDefaultProps);function Md(n,e){if(e<0)return[void 0,0];if(e>n.length-1)return[void 0,n.length-1];let t;do{if(t=n[e][2],t||e-1<0)break;--e}while(!0);return[t,e]}function xd(n,e){if(e<0)return[void 0,0];if(e>n.length-1)return[void 0,n.length-1];let t;do{if(t=n[e][2],t||e+1>=n.length)break;++e}while(!0);return[t,e]}function By(n,e,t="Lerp"){let r,i,s,o;if(n.length!==0){do{if(e<=n[0][0]){r=n[0][1],i=n[0][2],s=0,o=0;break}else if(e>=n[n.length-1][0]){const[u,h,f]=n[n.length-1];r=h,i=f,s=n.length-2,o=1;break}const l=n.findIndex(([u])=>e<=u);if(l===-1)throw new Error("nextIndex === -1");s=l-1;{const[u,h]=n[s],[f,d]=n[l],v=(e-u)/(f-u),w=mh(h),I=mh(d),T=c.Vector.lerp(w,I,v);r=Qp(T),o=v}{let[u,h]=Md(n,s),[f,d]=xd(n,l);if(t==="Lerp")if(u&&f){if(h<0||d>=n.length)throw new Error("Invalid rotation index");const v=(e-n[h][0])/(n[d][0]-n[h][0]);i=vh(u,f,v)}else u?i=u:f?i=f:i=void 0;else t==="Prev"?u&&(i=u):t==="Next"&&f&&(i=f)}}while(!1);return{position:r,rotation:i,index:s,ratio:o}}}function $y(n,e,t){const{timePosRots:r}=n;if(!r)throw new Error("!timePosRots");if(r.length===0)throw new Error("timePosRots.length === 0");e=Math.max(e,r[0][0]),t=Math.min(t,r[r.length-1][0]);const i=n.getCurrent(e),s=n.getCurrent(t);if(!i||!s)return;const o=[];i.ratio<1&&o.push([e,i.position,i.rotation]);for(let a=i.index+1;a<=s.index;++a)o.push(r[a]);return s.ratio>0&&o.push([t,s.position,s.rotation]),o}function Ld(n,e=!1){const t=n.map(i=>[i[0],[...i[1]],i[2]?[...i[2]]:void 0]),r=t.length;if(r===0)return t;if(r===1)return(!t[0][2]===void 0||e)&&(t[0][2]=void 0),t;for(let i=1;i<r;++i){if(t[i][2]!==void 0&&!e)continue;const s=t[i-1][1],o=t[i][1],a=mi(s),l=mi(o),u=c.Vector.distance(a,l);if(u===0){t[i][2]=t[i-1][2];continue}const h=Mc(s,o),f=o[2]-s[2],d=Math.asin(f/u)*180/Math.PI,v=Number.isFinite(h)?h:0,w=Number.isFinite(d)?d:0;t[i][2]=[v,w,0]}return(t[0][2]===void 0||e)&&(t[0][2]=r>1?t[1][2]:void 0),t}function Ad(n,e=!1){const t=n.map(i=>[i[0],[...i[1]],i[2]?[...i[2]]:void 0]),r=t.length;if(r===0)return t;if(r===1)return(!t[0][2]===void 0||e)&&(t[0][2]=void 0),t;for(let i=r-2;i>=0;--i){if(t[i][2]!==void 0&&!e)continue;const s=t[i][1],o=t[i+1][1],a=mi(s),l=mi(o),u=c.Vector.distance(a,l);if(u===0){t[i][2]=t[i+1][2];continue}const h=Mc(s,o),f=o[2]-s[2],d=Math.asin(f/u)*180/Math.PI,v=Number.isFinite(h)?h:0,w=Number.isFinite(d)?d:0;t[i][2]=[v,w,0]}return(t[r-1][2]===void 0||e)&&(t[r-1][2]=r>1?t[r-2][2]:[0,0,0]),t}function jy(n,e=!1){const t=Ld(n,e),r=Ad(n,e);if(t.length!==r.length)throw new Error("p.length !== n.length");const i=t.length;for(let s=0;s<i;s++){const o=t[s][2],a=r[s][2];o===void 0&&a===void 0?t[s][2]=void 0:o===void 0?t[s][2]=a:a===void 0?t[s][2]=o:t[s][2]=vh(o,a,.5)}return t}function e0(n,e,t){let i;if(!n.timePosRots)return;const s=[],o=n.timePosRots.length;if(!(o<=2)){s.push(n.timePosRots[0]);for(let a=1;a<o-1;++a){const l=n.timePosRots[a-1][0],u=n.timePosRots[a][0],h=n.timePosRots[a+1][0],f=n.accumDistances[a-1],d=n.accumDistances[a],v=n.accumDistances[a+1];do{const w=d-f;if(w===0)continue;const I=w-(i??(e.length==1?e[0]:e[a-1]||e[e.length-1])*.5);let T=(I<0?0:I)/w;Number.isNaN(T)&&(T=0);const L=(1-T)*l+T*u,m=n.getCurrent(L);if(!m)break;s.push([L,m.position,m.rotation])}while(!1);t&&s.push(n.timePosRots[a]);do{const w=v-d;if(w===0)continue;let I=(e.length==1?e[0]:e[a-1]||e[e.length-1])*.5;const T=(e.length==1?e[0]:e[a]||e[e.length-1])*.5||0;I+T>w?(I=w*(I/(I+T)),i=w-I):i=void 0;let L=(I<0?0:I)/w;const m=(1-L)*u+L*h,_=n.getCurrent(m);if(!_)break;s.push([m,_.position,_.rotation])}while(!1)}s.push(n.timePosRots[o-1]),n.timePosRots=s}}const t0=`
425
+ `},Us=class Us extends Se{get typeName(){return"ESPoiTileset"}get defaultProps(){return Us.createDefaultProps()}constructor(e){super(e)}getProperties(e){return[...super.getProperties(e),new z("通用","通用",[new G("路径","路径",!1,!1,[this,"url"]),new G("poiTypes","类型为 {type: string, povit: Vector2D, widget: string, worldScale: number, hiddenDistance: number}[]",!1,!1,[this,"poiTypes"],Us.defaults.poiTypes,Op.sampleValue),new S("heightOffset","heightOffset",!1,!1,[this,"heightOffset"])])]}};d(Us,"type",Us.register("ESPoiTileset",Us,{chsName:"ESPoiTileset",tags:["ESObjects","_ES_Impl_UE"],description:"ESPoiTileset"})),d(Us,"defaults",{...Se.defaults,poiTypes:Op.defaultValue});let ha=Us;(n=>{n.createDefaultProps=()=>({...Se.createDefaultProps(),url:"",poiTypes:c.reactJsonWithUndefined(void 0),heightOffset:40})})(ha||(ha={})),c.extendClassProps(ha.prototype,ha.createDefaultProps);const Wa=class Wa extends j{get typeName(){return"ESScale"}get defaultProps(){return Wa.createDefaultProps()}getProperties(e){return[...super.getProperties(e),new z("通用","通用",[new k("是否显示","A boolean Property specifying the visibility .",!1,!1,[this,"show"]),new Y("定位","放到屏幕的哪个位置",!1,!1,[this,"screenPosition"],[["left","left"],["right","right"]]),new ze("位置","位置(bottom,right/left)",!1,!1,[this,"cssPosition"])])]}};d(Wa,"type",Wa.register("ESScale",Wa,{chsName:"比例尺",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"比例尺"})),d(Wa,"defaults",{...j.defaults,show:!0,screenPosition:"right",cssPosition:[40,18]});let fa=Wa;(n=>{n.createDefaultProps=()=>({...j.createDefaultProps(),show:!0,screenPosition:"right",cssPosition:[40,30]})})(fa||(fa={})),c.extendClassProps(fa.prototype,fa.createDefaultProps);const Fr=class Fr extends ye{get typeName(){return"ESGeoExtrudedPolygon"}get defaultProps(){return Fr.createDefaultProps()}constructor(e){super(e),this.collision=!1}getESProperties(){const e={...super.getESProperties()};return{...e,coordinate:[...e.coordinate,new S("高度","高度 m",!0,!1,[this,"height"],Fr.defaults.height),new S("拉伸高度","拉伸高度 m",!0,!1,[this,"extrudedHeight"],Fr.defaults.extrudedHeight),new k("应用每个位置高度","应用每个位置高度",!0,!1,[this,"perPositionHeight"],Fr.defaults.perPositionHeight)],style:[new z("点样式","点样式集合",[]),new k("开启","开启点样式",!1,!1,[this,"pointed"],!1),new S("点大小","点大小(pointSize)",!1,!1,[this,"pointSize"],1),new Y("点类型","点类型(pointSizeType)",!1,!1,[this,"pointSizeType"],[["screen","screen"],["world","world"]],"screen"),new Z("点颜色","点颜色(pointColor)",!1,!1,[this,"pointColor"],[1,1,1,1]),new z("线样式","线样式集合",[]),new k("开启","开启线样式",!1,!1,[this,"stroked"],!1),new k("贴地","是否贴地",!1,!1,[this,"strokeGround"],!1),new S("线宽","线宽(strokeWidth)",!1,!1,[this,"strokeWidth"],1),new Y("线类型","线类型(strokeWidthType)",!1,!1,[this,"strokeWidthType"],[["screen","screen"],["world","world"]],"screen"),new Z("线颜色","线颜色(strokeColor)",!1,!1,[this,"strokeColor"],[1,1,1,1]),new z("面样式","面样式集合",[]),new k("开启","开启填充样式",!1,!1,[this,"filled"],!0),new k("贴地","是否贴地",!1,!1,[this,"fillGround"],!1),new Z("填充颜色","填充颜色(fillColor)",!1,!1,[this,"fillColor"],[1,1,1,1])]}}getProperties(e){return[...super.getProperties(e),new z("通用","通用",[new S("高度","高度 m",!0,!1,[this,"height"],Fr.defaults.height),new S("拉伸高度","拉伸高度 m",!0,!1,[this,"extrudedHeight"],Fr.defaults.extrudedHeight),new k("应用每个位置高度","应用每个位置高度",!0,!1,[this,"perPositionHeight"],Fr.defaults.perPositionHeight)])]}};d(Fr,"type",Fr.register("ESGeoExtrudedPolygon",Fr,{chsName:"挤压多边形体",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"挤压多边形体"})),d(Fr,"supportEditingModes",[...ye.supportEditingModes,se.HeightModify]),d(Fr,"defaults",{...ye.defaults,height:0,extrudedHeight:10,perPositionHeight:!1});let Os=Fr;(n=>{n.createDefaultProps=()=>({...ye.createDefaultProps(),height:0,extrudedHeight:10,perPositionHeight:!1})})(Os||(Os={})),c.extendClassProps(Os.prototype,Os.createDefaultProps);const qa=class qa extends ye{constructor(t){super(t);d(this,"_classification",this.dv(new Ns(`${this.id}_ESClassification`)));d(this,"_geoExtrudedPolygon",this.dv(new Os(`${this.id}_ESGeoExtrudedPolygon`)));d(this,"combinationClass",!0);this.mainClass=this._geoExtrudedPolygon,this.d(this.components.disposableAdd(this._classification)),this.d(this.components.disposableAdd(this._geoExtrudedPolygon));{const{_classification:r,_geoExtrudedPolygon:i}=this;i.perPositionHeight=!0,this.d(c.track([r,"collision"],[this,"collision"])),this.d(c.track([i,"collision"],[this,"collision"])),this.d(c.bind([i,"flyInParam"],[this,"flyInParam"])),this.d(c.bind([i,"flyToParam"],[this,"flyToParam"])),this.d(c.bind([i,"points"],[this,"points"])),this.d(c.bind([i,"extrudedHeight"],[this,"height"])),this.d(c.bind([r,"fillColor"],[this,"overheightColor"])),this.d(c.bind([i,"fillColor"],[this,"standardColor"]));{const s=()=>{const{height:a,points:l,maxHeight:u}=this;if(!l)return;const h=l.map(f=>[f[0],f[1],a]);r.points=h,r.height=u-a,u-a<=0?r.show=!1:r.show=this.show&&this.filled};s();const o=this.dv(c.createNextAnimateFrameEvent(this.heightChanged,this.pointsChanged,this.maxHeightChanged));this.d(o.don(s))}{const s=()=>{const{show:a,filled:l}=this;r.show=a&&l,i.show=a&&l};s();const o=this.dv(c.createNextAnimateFrameEvent(this.showChanged,this.filledChanged));this.d(o.don(s))}this.dispose(this.flyInEvent.don(s=>{i.flyIn(s)})),this.dispose(this.flyToEvent.don(s=>{i.flyTo(s)})),this.dispose(this.calcFlyToParamEvent.don(()=>{i.calcFlyToParam()})),this.dispose(this.calcFlyInParamEvent.don(()=>{i.calcFlyInParam()}))}}get typeName(){return"ESHeightLimitAnalysis"}get defaultProps(){return qa.createDefaultProps()}get json(){return this._innerGetJson()}set json(t){this._innerSetJson(t)}get classification(){return this._classification}get geoExtrudedPolygon(){return this._geoExtrudedPolygon}getESProperties(){const t={...super.getESProperties()};return{...t,defaultMenu:"basic",basic:[...t.basic,new S("高度","控高的高度",!1,!1,[this,"height"],10),new S("最高高度","最高高度",!1,!1,[this,"maxHeight"],200),new Z("超高颜色","超高颜色",!1,!1,[this,"overheightColor"],[1,0,0,.5]),new Z("标准颜色","标准颜色",!1,!1,[this,"standardColor"],[0,1,0,.5])],style:[new z("点样式","点样式集合",[]),new k("开启","开启点样式",!1,!1,[this,"pointed"],!1),new S("点大小","点大小(pointSize)",!1,!1,[this,"pointSize"],1),new Y("点类型","点类型(pointSizeType)",!1,!1,[this,"pointSizeType"],[["screen","screen"],["world","world"]],"screen"),new Z("点颜色","点颜色(pointColor)",!1,!1,[this,"pointColor"],[1,1,1,1]),new z("线样式","线样式集合",[]),new k("开启","开启线样式",!1,!1,[this,"stroked"],!1),new k("贴地","是否贴地",!1,!1,[this,"strokeGround"],!1),new S("线宽","线宽(strokeWidth)",!1,!1,[this,"strokeWidth"],1),new Y("线类型","线类型(strokeWidthType)",!1,!1,[this,"strokeWidthType"],[["screen","screen"],["world","world"]],"screen"),new Z("线颜色","线颜色(strokeColor)",!1,!1,[this,"strokeColor"],[1,1,1,1]),new z("面样式","面样式集合",[]),new k("开启","开启填充样式",!1,!1,[this,"filled"],!0),new k("贴地","是否贴地",!1,!1,[this,"fillGround"],!1),new Z("填充颜色","填充颜色(fillColor)",!1,!1,[this,"fillColor"],[1,1,1,1])]}}getProperties(t){return[...super.getProperties(t),new S("高度","控高的高度",!1,!1,[this,"height"],10),new S("最高高度","最高高度",!1,!1,[this,"maxHeight"],200),new Z("超高颜色","超高颜色",!1,!1,[this,"overheightColor"],[1,0,0,.5]),new Z("标准颜色","标准颜色",!1,!1,[this,"standardColor"],[0,1,0,.5])]}};d(qa,"type",qa.register("ESHeightLimitAnalysis",qa,{chsName:"控高分析",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"控高分析对象"})),d(qa,"supportEditingModes",[...ye.supportEditingModes,se.HeightModify]);let da=qa;(n=>{n.createDefaultProps=()=>({height:10,maxHeight:200,overheightColor:[1,0,0,.5],standardColor:[0,1,0,.5],...ye.createDefaultProps()})})(da||(da={})),c.extendClassProps(da.prototype,da.createDefaultProps);const Bt=class Bt extends Se{constructor(t){super(t);d(this,"_widgetEvent",this.dv(new c.Event));d(this,"_data",this.dv(c.react(void 0)));{const r=()=>{if(this.url)do{if(typeof this.url=="object"){this.data=this.url;break}if(Dp(this.url)){this.data=JSON.parse(this.url);break}fetch(j.context.getStrFromEnv(this.url)).then(i=>i.json()).then(i=>{this.data=i}).catch(i=>{console.warn("ESEntityCluster数据加载失败",i)})}while(!1)};r(),this.d(this.urlChanged.don(r))}}get typeName(){return"ESEntityCluster"}get defaultProps(){return Bt.createDefaultProps()}get widgetEvent(){return this._widgetEvent}get data(){return this._data.value}set data(t){this._data.value=t}get dataChanged(){return this._data.changed}getFeatures(){if(this._data)return this._data;console.log("数据未加载完成,请稍后重试")}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new G("地址","数据Url地址",!1,!1,[this,"url"],Bt.defaults.url),new S("集合范围","用于扩展屏幕空间边界框的像素范围",!1,!1,[this,"pixelRange"],Bt.defaults.pixelRange),new S("最小数量","可以聚合的屏幕空间对象的最小数量",!1,!1,[this,"minimumClusterSize"],Bt.defaults.minimumClusterSize),new Y("高度模式","高度获取模式",!1,!1,[this,"heightReference"],Bt.defaults.heightReferences,"None")]}}getProperties(t){return[...super.getProperties(t),new z("通用","通用",[new G("url","数据Url地址",!1,!1,[this,"url"],Bt.defaults.url),new S("pixelRange","用于扩展屏幕空间边界框的像素范围",!1,!1,[this,"pixelRange"],Bt.defaults.pixelRange),new S("minimumClusterSize","可以聚合的屏幕空间对象的最小数量",!1,!1,[this,"minimumClusterSize"],Bt.defaults.minimumClusterSize),new G("style","用于设置聚合和非聚合的显示样式",!1,!1,[this,"style"],Bt.defaults.style),new Y("heightReference","高度获取模式",!1,!1,[this,"heightReference"],Bt.defaults.heightReferences)]),new z("UE","UE",[new k("perspective","是否启用透视效果,自动缩放远处标签",!1,!1,[this,"perspective"],Bt.defaults.perspective)])]}};d(Bt,"type",Bt.register("ESEntityCluster",Bt,{chsName:"Poi聚合",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"用于聚合POI标注,提高性能。"})),d(Bt,"defaults",{...Se.defaults,url:"",pixelRange:200,minimumClusterSize:2,style:{cluster:[{minValue:2,mode:"SquareV02",style:{}}],nonCluster:{mode:"SquareV03",style:{}}},heightReferences:[["None","None"],["CLAMP_TO_GROUND","CLAMP_TO_GROUND"],["CLAMP_TO_TERRAIN","CLAMP_TO_TERRAIN"]],perspective:!1});let pa=Bt;(n=>{n.createDefaultProps=()=>({...Se.createDefaultProps(),url:"",pixelRange:200,minimumClusterSize:2,style:c.reactJsonWithUndefined(void 0),heightReference:"None",perspective:!1})})(pa||(pa={})),c.extendClassProps(pa.prototype,pa.createDefaultProps);class du extends c.Destroyable{constructor(){super();d(this,"_player",this.disposeVar(new Hn));const t=this._player;{const r=()=>{const i=(this.stopTime??0)-(this.startTime??0);t.duration=i>0?i:0};r(),this.d(this.startTimeChanged.don(r)),this.d(this.stopTimeChanged.don(r))}this.d(c.bind([t,"playing"],[this,"playing"])),this.d(c.bind([t,"loop"],[this,"loop"])),this.d(c.bind([t,"speed"],[this,"speed"])),this.d(t.currentTimeChanged.don(()=>{this.startTime!==void 0&&t.currentTime!==void 0&&(this.currentTime=t.currentTime+this.startTime)})),this.d(this.currentTimeChanged.don(()=>{if(this.currentTime===void 0||this.startTime===void 0)return;const r=this.currentTime-this.startTime;t.currentTime=c.clamp(r,0,t.duration)}))}get player(){return this._player}get ratio(){return this._player.ratio}get ratioChanged(){return this._player.ratioChanged}set ratio(t){this._player.ratio=t}}(n=>{n.createDefaultProps=()=>({...j.createDefaultProps(),currentTime:void 0,startTime:void 0,stopTime:void 0,playing:void 0,loop:void 0,speed:void 0})})(du||(du={})),c.extendClassProps(du.prototype,du.createDefaultProps);const Xa=class Xa extends j{constructor(t){super(t);d(this,"_absolutePlayer",this.dv(new du));const r=this.absolutePlayer;this.d(c.bind([r,"currentTime"],[this,"currentTime"])),this.d(c.bind([r,"startTime"],[this,"startTime"])),this.d(c.bind([r,"stopTime"],[this,"stopTime"])),this.d(c.bind([r,"playing"],[this,"playing"])),this.d(c.bind([r,"loop"],[this,"loop"])),this.d(c.bind([r,"speed"],[this,"speed"]))}get typeName(){return"ESPlayer"}get defaultProps(){return Xa.createDefaultProps()}get absolutePlayer(){return this._absolutePlayer}get ratio(){return this._absolutePlayer.ratio}get ratioChanged(){return this._absolutePlayer.ratioChanged}set ratio(t){this._absolutePlayer.ratio=t}getProperties(t){return[...super.getProperties(t),new z("通用","通用",[new vu("播放器","播放器",[this,"playing"],[this,"ratio"],[this,"loop"]),new ti("currentTime","currentTime",!1,!1,[this,"currentTime"]),new ti("startTime","startTime",!1,!1,[this,"startTime"]),new ti("stopTime","stopTime",!1,!1,[this,"stopTime"]),new k("playing","playing",!1,!1,[this,"playing"]),new k("loop","loop",!1,!1,[this,"loop"]),new S("speed","speed",!1,!1,[this,"speed"])])]}};d(Xa,"type",Xa.register("ESPlayer",Xa,{chsName:"ESPlayer",tags:["ESObjects","_ES_Impl_UE"],description:"ESPlayer"})),d(Xa,"defaults",{...j.defaults,currentTime:0,startTime:0,stopTime:0,playing:!1,loop:!1,speed:1});let Ji=Xa;(n=>{n.createDefaultProps=()=>({...j.createDefaultProps(),currentTime:0,startTime:0,stopTime:0,playing:!1,loop:!1,speed:1})})(Ji||(Ji={})),c.extendClassProps(Ji.prototype,Ji.createDefaultProps);function Mp(n,e){if(e<0)return[void 0,0];if(e>n.length-1)return[void 0,n.length-1];let t;do{if(t=n[e][2],t||e-1<0)break;--e}while(!0);return[t,e]}function xp(n,e){if(e<0)return[void 0,0];if(e>n.length-1)return[void 0,n.length-1];let t;do{if(t=n[e][2],t||e+1>=n.length)break;++e}while(!0);return[t,e]}function By(n,e,t="Lerp"){let r,i,s,o;if(n.length!==0){do{if(e<=n[0][0]){r=n[0][1],i=n[0][2],s=0,o=0;break}else if(e>=n[n.length-1][0]){const[u,h,f]=n[n.length-1];r=h,i=f,s=n.length-2,o=1;break}const l=n.findIndex(([u])=>e<=u);if(l===-1)throw new Error("nextIndex === -1");s=l-1;{const[u,h]=n[s],[f,p]=n[l],v=(e-u)/(f-u),w=mh(h),I=mh(p),T=c.Vector.lerp(w,I,v);r=Qd(T),o=v}{let[u,h]=Mp(n,s),[f,p]=xp(n,l);if(t==="Lerp")if(u&&f){if(h<0||p>=n.length)throw new Error("Invalid rotation index");const v=(e-n[h][0])/(n[p][0]-n[h][0]);i=vh(u,f,v)}else u?i=u:f?i=f:i=void 0;else t==="Prev"?u&&(i=u):t==="Next"&&f&&(i=f)}}while(!1);return{position:r,rotation:i,index:s,ratio:o}}}function $y(n,e,t){const{timePosRots:r}=n;if(!r)throw new Error("!timePosRots");if(r.length===0)throw new Error("timePosRots.length === 0");e=Math.max(e,r[0][0]),t=Math.min(t,r[r.length-1][0]);const i=n.getCurrent(e),s=n.getCurrent(t);if(!i||!s)return;const o=[];i.ratio<1&&o.push([e,i.position,i.rotation]);for(let a=i.index+1;a<=s.index;++a)o.push(r[a]);return s.ratio>0&&o.push([t,s.position,s.rotation]),o}function Lp(n,e=!1){const t=n.map(i=>[i[0],[...i[1]],i[2]?[...i[2]]:void 0]),r=t.length;if(r===0)return t;if(r===1)return(!t[0][2]===void 0||e)&&(t[0][2]=void 0),t;for(let i=1;i<r;++i){if(t[i][2]!==void 0&&!e)continue;const s=t[i-1][1],o=t[i][1],a=mi(s),l=mi(o),u=c.Vector.distance(a,l);if(u===0){t[i][2]=t[i-1][2];continue}const h=Mc(s,o),f=o[2]-s[2],p=Math.asin(f/u)*180/Math.PI,v=Number.isFinite(h)?h:0,w=Number.isFinite(p)?p:0;t[i][2]=[v,w,0]}return(t[0][2]===void 0||e)&&(t[0][2]=r>1?t[1][2]:void 0),t}function Ap(n,e=!1){const t=n.map(i=>[i[0],[...i[1]],i[2]?[...i[2]]:void 0]),r=t.length;if(r===0)return t;if(r===1)return(!t[0][2]===void 0||e)&&(t[0][2]=void 0),t;for(let i=r-2;i>=0;--i){if(t[i][2]!==void 0&&!e)continue;const s=t[i][1],o=t[i+1][1],a=mi(s),l=mi(o),u=c.Vector.distance(a,l);if(u===0){t[i][2]=t[i+1][2];continue}const h=Mc(s,o),f=o[2]-s[2],p=Math.asin(f/u)*180/Math.PI,v=Number.isFinite(h)?h:0,w=Number.isFinite(p)?p:0;t[i][2]=[v,w,0]}return(t[r-1][2]===void 0||e)&&(t[r-1][2]=r>1?t[r-2][2]:[0,0,0]),t}function jy(n,e=!1){const t=Lp(n,e),r=Ap(n,e);if(t.length!==r.length)throw new Error("p.length !== n.length");const i=t.length;for(let s=0;s<i;s++){const o=t[s][2],a=r[s][2];o===void 0&&a===void 0?t[s][2]=void 0:o===void 0?t[s][2]=a:a===void 0?t[s][2]=o:t[s][2]=vh(o,a,.5)}return t}function e0(n,e,t){let i;if(!n.timePosRots)return;const s=[],o=n.timePosRots.length;if(!(o<=2)){s.push(n.timePosRots[0]);for(let a=1;a<o-1;++a){const l=n.timePosRots[a-1][0],u=n.timePosRots[a][0],h=n.timePosRots[a+1][0],f=n.accumDistances[a-1],p=n.accumDistances[a],v=n.accumDistances[a+1];do{const w=p-f;if(w===0)continue;const I=w-(i??(e.length==1?e[0]:e[a-1]||e[e.length-1])*.5);let T=(I<0?0:I)/w;Number.isNaN(T)&&(T=0);const L=(1-T)*l+T*u,m=n.getCurrent(L);if(!m)break;s.push([L,m.position,m.rotation])}while(!1);t&&s.push(n.timePosRots[a]);do{const w=v-p;if(w===0)continue;let I=(e.length==1?e[0]:e[a-1]||e[e.length-1])*.5;const T=(e.length==1?e[0]:e[a]||e[e.length-1])*.5||0;I+T>w?(I=w*(I/(I+T)),i=w-I):i=void 0;let L=(I<0?0:I)/w;const m=(1-L)*u+L*h,_=n.getCurrent(m);if(!_)break;s.push([m,_.position,_.rotation])}while(!1)}s.push(n.timePosRots[o-1]),n.timePosRots=s}}const t0=`
425
426
  timePosRots是一个内部包含三个元素的数组,第一个表示时间戳,单位毫秒,第二个表示经纬度,第三个表示姿态(偏航、俯仰、翻转)。示例代码如下:
426
427
  \`\`\`
427
428
  [
@@ -466,7 +467,7 @@ timePosRots是一个内部包含三个元素的数组,第一个表示时间戳
466
467
  ]
467
468
  ]
468
469
  \`\`\`
469
- `;function r0(n){try{const e=JSON.parse(n);if(Array.isArray(e)&&e.length>0){const t=typeof e[0][0]=="number",r=Array.isArray(e[0][1])&&e[0][1].length===3;return t&&r?e:void 0}throw new Error("解析有问题")}catch{const t=n.split(/\n|\r\n/),r=[],i=t.length;for(let s=0;s<i;++s){const o=t[s],a=o.split(/[^0-9e\.\+\-]+/).filter(l=>l!=="").map(l=>+l);a.length<4?console.warn(`第${s+1}行数据无法解析成路径的数据, 原内容为: ${o}`):a.length<7?r.push([a[0],[a[1],a[2],a[3]],void 0]):r.push([a[0],[a[1],a[2],a[3]],[a[4],a[5],a[6]]])}return r}}const Er=class Er extends c.Destroyable{constructor(t,r){super();p(this,"_scratchCurrentInfo",{position:[0,0,0],rotation:[0,0,0],index:0});p(this,"_currentInfo",this.disposeVar(c.react(void 0,(t,r)=>!1)));p(this,"_player");p(this,"_flyToEvent",this.disposeVar(new c.Event));p(this,"_accumDistancesChanged",this.disposeVar(new c.Event));p(this,"_accumDistancesChangedInit",this.dispose(this.timePosRotsChanged.disposableOn(()=>(this._accumDistancesDirty=!0,this._accumDistancesChanged.emit()))));p(this,"_accumDistancesDirty",!1);p(this,"_accumDistances",[]);p(this,"_getCurrentFunc",this.disposeVar(c.react(void 0)));this._player=this.disposeVar(new Hn);const i=()=>{const s=this.getCurrent(this.currentTime??0);if(s===void 0)this._currentInfo.value=void 0;else{const{index:o,position:a,rotation:l,ratio:u}=s;this._scratchCurrentInfo.index=o,this._scratchCurrentInfo.position=a,this._scratchCurrentInfo.rotation=l,this._scratchCurrentInfo.ratio=u,this._currentInfo.value=this._scratchCurrentInfo}};i(),this.currentTimeChanged.disposableOn(i),this.timePosRotsChanged.disposableOn(i),this.rotLerpModeChanged.disposableOn(i),this.dispose(c.bind([this._player,"loop"],[this,"loop"]));{const s=()=>{if(this.startTime===void 0||this.currentTime===void 0)return;const o=this.currentTime-this.startTime;(this._player.currentTime===void 0||Math.abs(o-this._player.currentTime)>.01)&&(this._player.currentTime=o)};s(),this.dispose(this.currentTimeChanged.disposableOn(s))}{const s=()=>{if(this.startTime===void 0||this._player.currentTime===void 0)return;const o=this._player.currentTime+this.startTime;(this.currentTime===void 0||Math.abs(o-this.currentTime)>.01)&&(this.currentTime=o)};s(),this.dispose(this._player.currentTimeChanged.disposableOn(s))}this.dispose(c.bind([this._player,"duration"],[this,"duration"])),this.dispose(c.bind([this._player,"playing"],[this,"playing"])),this.dispose(c.bind([this._player,"speed"],[this,"speed"]));{const s=()=>{(this.autoComputeTimeFromTimePosRots??!0)&&this.computeTimeFromTimePosRots()};s();const o=this.disposeVar(c.createNextAnimateFrameEvent(this.autoComputeTimeFromTimePosRotsChanged,this.timePosRotsChanged));this.dispose(o.disposableOn(s))}{const s=()=>{const o=this.timePosRots;if(!o)return;let a=0;const l=o.length;for(let u=0;u<l;++u){const h=o[u][0];if(h<0)console.warn("地理路径的时间戳不能小于0!");else if(h<a){console.warn(`地理路径的时间戳需要满足从小到大的数据,元素越靠后,时间越靠后!当前不满足条件的元素是index: ${u} time: ${h}`);break}}};s(),this.dispose(this.timePosRotsChanged.disposableOn(s))}{const s=this.disposeVar(c.createProcessingFromAsyncFunc(async o=>{if(!this.dataUri)return;await o.promise(c.sleep(1e3));const a=await o.promise(fetch(this.dataUri)),l=await o.promise(a.text());this.timePosRots=Er.parseData(l)}));this.dispose(this.dataUriChanged.disposableOn(()=>{s.restart()})),this.dispose(this.dataTextChanged.disposableOn(()=>{this.dataText&&(this.timePosRots=Er.parseData(this.dataText))}))}}get currentInfo(){return this._currentInfo.value}get currentInfoChanged(){return this._currentInfo.changed}get currentIndex(){return this._currentInfo.value&&this._currentInfo.value.index}get currentIndexChanged(){return this._currentInfo.changed}get currentPosition(){return this._currentInfo.value&&this._currentInfo.value.position}get currentPositionChanged(){return this._currentInfo.changed}get currentRotation(){return this._currentInfo.value&&this._currentInfo.value.rotation}get currentRotationChanged(){return this._currentInfo.changed}get player(){return this._player}get flyToEvent(){return this._flyToEvent}flyTo(t){this._flyToEvent.emit(t)}get accumDistancesChanged(){return this._accumDistancesChanged}get accumDistances(){do{if(!this._accumDistancesDirty)break;if(!this.timePosRots||this.timePosRots.length<2){this._accumDistances=[];break}const t=this.timePosRots.length;let r=0;const i=[];let s=mi(this.timePosRots[0][1]);i.push(r);for(let o=1;o<t;++o){const a=mi(this.timePosRots[o][1]),l=c.Vector.distance(a,s);s=a,r+=l,i.push(r)}this._accumDistances=i}while(!1);return this._accumDistances}get totalDistanceChanged(){return this._accumDistancesChanged}get totalDistance(){return this.accumDistances.length>0?this.accumDistances[this.accumDistances.length-1]:0}getCurrent(t){return this.getCurrentFunc?this.getCurrentFunc(t,this):this.timePosRots&&By(this.timePosRots,t,this.rotLerpMode)}subPath(t,r){return this.timePosRots&&$y(this,t,r)}computeRotIfUndefinedUsingPrevLine(t=!1){if(!this.timePosRots){console.warn("timePosRots不存在,无法计算!");return}this.timePosRots=Er.computeRotIfUndefinedUsingPrevLine(this.timePosRots,t)}computeRotIfUndefinedUsingNextLine(t=!1){if(!this.timePosRots){console.warn("timePosRots不存在,无法计算!");return}this.timePosRots=Er.computeRotIfUndefinedUsingNextLine(this.timePosRots,t)}computeRotIfUndefinedUsingLerp(t=!1){if(!this.timePosRots){console.warn("timePosRots不存在,无法计算!");return}this.timePosRots=Er.computeRotIfUndefinedUsingLerp(this.timePosRots,t)}computeRotIfUndefined(t=!1){this.computeRotIfUndefinedUsingPrevLine(t)}addAroundPoints(t,r){e0(this,t,r)}get getCurrentFunc(){return this._getCurrentFunc.value}set getCurrentFunc(t){this._getCurrentFunc.value=t}get getCurrentFuncChanged(){return this._getCurrentFunc.changed}computeTimeFromTimePosRots(){const t=this.timePosRots;if(!t||t.length<=1){this.startTime=void 0,this.stopTime=void 0,this.duration=void 0;return}this.startTime=t[0][0],this.stopTime=t[t.length-1][0],this.duration=this.stopTime-this.startTime}get ratio(){return this.player.ratio}set ratio(t){this.player.ratio=t}get ratioChanged(){return this.player.ratioChanged}};p(Er,"computeRotIfUndefinedUsingPrevLine",Ld),p(Er,"computeRotIfUndefinedUsingNextLine",Ad),p(Er,"computeRotIfUndefinedUsingLerp",jy),p(Er,"getLeftRotation",Md),p(Er,"getRightRotation",xd),p(Er,"parseData",r0),p(Er,"defaults",{timePosRots:[],startTime:0,stopTime:3e3,loop:!1,duration:3e3,playing:!1,dataText:""}),p(Er,"timePosRotsMd",t0);let Ms=Er;(n=>{n.createDefaultProps=()=>({show:!1,currentPoiShow:!0,timePosRots:c.reactDeepArrayWithUndefined(void 0,(e,t)=>e[0]===t[0]&&e[1].every((r,i)=>r===t[1][i])&&e[2]===t[2]===void 0||e[2]!==void 0&&t[2]!==void 0&&e[2].every((r,i)=>t[2][i]),e=>[e[0],[...e[1]],e[2]&&[...e[2]]||void 0]),autoComputeTimeFromTimePosRots:!0,leadTime:0,trailTime:0,startTime:void 0,stopTime:void 0,loop:!1,currentTime:0,duration:void 0,speed:1,playing:!1,polylineShow:!0,width:1,ground:!1,color:c.reactArray([1,1,1,1]),hasDash:!1,gapColor:c.reactArray([0,0,0,0]),dashLength:16,dashPattern:255,hasArrow:!1,depthTest:!1,arcType:"GEODESIC",allowPicking:!1,dataUri:"",dataText:void 0,rotLerpMode:"Lerp",debug:!1})})(Ms||(Ms={})),c.extendClassProps(Ms.prototype,Ms.createDefaultProps);const ns=class ns extends Or{constructor(t){super(t);p(this,"_path");p(this,"_currentPositionChanged",this.disposeVar(new c.Event));p(this,"_currentRotationChanged",this.disposeVar(new c.Event));p(this,"_currentChanged",this.disposeVar(new c.Event));p(this,"_deprecated",[{materialMode:{blue:"multipleArrows",purple:"singleArrow"}},"show"]);p(this,"_deprecatedWarningFunc",(()=>{this._deprecatedWarning()})());this.strokeStyle={width:10,widthType:"world",color:[1,0,.73,1],material:"",materialParams:{},ground:!1},this._path=this.disposeVar(new Ms),this.dispose(this._path.currentInfoChanged.disposableOn(()=>this._currentPositionChanged.emit(this._path.currentPosition))),this.dispose(this._path.currentInfoChanged.disposableOn(()=>this._currentRotationChanged.emit(this.currentRotation))),this.dispose(this._path.currentInfoChanged.disposableOn(()=>this._currentChanged.emit(this.current))),this._path.show=!0,this._path.polylineShow=!1,this._path.currentPoiShow=!1;{const r=()=>{if(!this.timeStamps||!this.points){this._path.timePosRots=void 0;return}const s=this.timeStamps.length,o=this.points.length,a=Math.min(s,o),l=[];for(let u=0;u<a;++u)l.push([this.timeStamps[u],this.points[u]]);this._path.timePosRots=l,this.rotationRadius.some(u=>u>0)?(this._path.addAroundPoints(this.rotationRadius,!0),this._path.computeRotIfUndefinedUsingLerp(!0),this._path.rotLerpMode="Lerp"):(this._path.computeRotIfUndefinedUsingPrevLine(!0),this._path.rotLerpMode="Next")},i=this.disposeVar(c.createNextAnimateFrameEvent(this.timeStampsChanged,this.pointsChanged,this.rotationRadiusChanged));r(),this.dispose(i.disposableOn(r))}}get typeName(){return"ESPath"}get defaultProps(){return ns.createDefaultProps()}get path(){return this._path}get currentPosition(){return this._path.currentPosition}get currentPositionChanged(){return this._currentPositionChanged}get currentRotation(){const t=this._path.currentRotation;if(t)return[hu(t[0]-90),t[1],t[2]]}get currentRotationChanged(){return this._currentRotationChanged}get current(){return{position:this.currentPosition,rotation:this.currentRotation}}get currentChanged(){return this._currentChanged}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new _c("时间序列","时间序列",!0,!1,[this,"timeStamps"],[]),new S("线条流速","速度 m/s",!1,!1,[this,"speed"],1),new Y("模式","materialMode",!1,!1,[this,"materialMode"],ns.defaults.materialModes,"singleArrow"),new G("拐弯半径","拐弯半径,单位米",!1,!1,[this,"rotationRadius"])]}}getProperties(t){return[...super.getProperties(t),new z("通用","通用",[new _c("时间序列","时间序列",!0,!1,[this,"timeStamps"],[]),new Pt("当前位置","当前位置",!0,!0,[this,"currentPosition"]),new S("速度","速度 m/s",!1,!1,[this,"speed"]),new Y("materialMode","materialMode",!1,!1,[this,"materialMode"],ns.defaults.materialModes),new G("拐弯半径","拐弯半径,单位米",!1,!1,[this,"rotationRadius"],[5])])]}};p(ns,"type",ns.register("ESPath",ns,{chsName:"ESPath",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESPath"})),p(ns,"defaults",{...ce.defaults,materialModes:[["单箭头","singleArrow"],["多箭头","multipleArrows"],["纯色","pureColor"]]});let Zi=ns;(n=>{n.createDefaultProps=()=>({...ce.createDefaultProps(),timeStamps:c.reactArrayWithUndefined(void 0),speed:1,materialMode:"singleArrow",stroked:!0,strokeStyle:c.reactJson({width:10,widthType:"world",color:[1,0,.73,1],material:"",materialParams:{},ground:!1}),rotationRadius:[5]})})(Zi||(Zi={})),c.extendClassProps(Zi.prototype,Zi.createDefaultProps);const is=class is extends q{get typeName(){return"ESGeoDivTextPoi"}get defaultProps(){return is.createDefaultProps()}constructor(e){super(e)}getProperties(e){return[...super.getProperties(e),new z("通用","通用",[new k("文本编辑交互","文本编辑交互.",!1,!1,[this,"textEditingInteraction"]),new k("文本编辑","文本编辑.",!1,!1,[this,"textEditing"]),new S("宽度","宽度",!0,!1,[this,"width"],is.defaults.width),new vu("内容","内容",!0,!1,[this,"text"],is.defaults.text),new or("原点比例和偏移","原点比例和偏移.",!1,!1,[this,"originRatioAndOffset"]),new S("透明度","透明度",!1,!1,[this,"opacity"]),new S("字体大小","字体大小",!1,!1,[this,"fontSize"]),new Z("字体颜色"," 字体颜色.",!1,!1,[this,"color"]),new Z("背景颜色"," 背景颜色.",!1,!1,[this,"backgroundColor"]),new or("内边距","上,右,下,左顺序.",!1,!1,[this,"padding"]),new or("边框圆角","左上,右上,右下,左下.",!1,!1,[this,"borderRadius"]),new Z("边框颜色"," 边框色.",!1,!1,[this,"borderColor"]),new S("边框宽度","边框宽度",!1,!1,[this,"borderWidth"]),new Y("文字位置","文字位置",!1,!1,[this,"textAlign"],[["center","center"],["left","left"],["right","right"]]),new Y("边框类型","边框类型",!1,!1,[this,"borderStyle"],[["none","none"],["hidden","hidden"],["dotted","dotted"],["dashed","dashed"],["solid","solid"],["double","double"],["groove","groove"],["ridge","ridge"],["inset","inset"],["outset","outset"]])])]}};p(is,"type",is.register("ESGeoDivTextPoi",is,{chsName:"图标点",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"图标点"})),p(is,"defaults",{...q.defaults,allowTextEditing:!0,width:80,text:"请输入文字",originRatioAndOffset:[.5,1,0,0],opacity:1,fontSize:14,color:[1,1,1,1],backgroundColor:[0,0,0,.8],padding:[5,5,5,5],borderRadius:[6,6,6,6],borderColor:[1,1,1,1],borderWidth:0,textAlign:"left",borderStyle:"solid"});let ga=is;(n=>{n.createDefaultProps=()=>({text:void 0,width:void 0,textEditingInteraction:!1,textEditing:!1,originRatioAndOffset:c.reactArray([.5,1,0,0]),opacity:1,fontSize:14,textAlign:"left",color:c.reactArray([1,1,1,1]),backgroundColor:c.reactArray([0,0,0,.8]),padding:c.reactArray([5,5,5,5]),borderRadius:c.reactArray([6,6,6,6]),borderWidth:0,borderColor:c.reactArray([1,1,1,1]),borderStyle:"solid",...q.createDefaultProps()})})(ga||(ga={})),c.extendClassProps(ga.prototype,ga.createDefaultProps);const xl=class xl extends q{get typeName(){return"ESCityBasePoint"}get defaultProps(){return{...xl.createDefaultProps()}}constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new Z("颜色","颜色",!1,!1,[this,"color"],[1,1,0,1])]}}getProperties(e){return[...super.getProperties(e),new z("通用","通用",[new Z("颜色","颜色",!1,!1,[this,"color"])])]}};p(xl,"type",xl.register("ESCityBasePoint",xl,{chsName:"城市基点(Czm)",tags:["ESObjects","CityObjects","_ES_Impl_Cesium"],description:"城市基点(Czm)"}));let ma=xl;(n=>{n.createDefaultProps=()=>({...q.createDefaultProps(),color:c.reactArray([1,1,0,1])})})(ma||(ma={})),c.extendClassProps(ma.prototype,ma.createDefaultProps);const n0=[{id:"document",version:"1.0"},{id:"Vehicle",availability:"2012-08-04T16:00:00Z/2012-08-04T16:14:15.251Z",billboard:{eyeOffset:{cartesian:[0,0,0]},horizontalOrigin:"CENTER",image:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAEISURBVEhLvVXBDYQwDOuojHKj8LhBbpTbpBCEkZsmIVTXq1RVQGrHiWlLmTTqPiZBlyLgy/KSZQ5JSHDQ/mCYCsC8106kDU0AdwRnvYZArWRcAl0dcYJq1hWCb3hBrumbDAVMwAC82WoRvgMnVMDBnB0nYZFTbE6BBvdUGqVqCbjBIk3PyFFR/NU7EKzru+qZsau3ryPwwCRLKYOzutZuCL6fUmWeJGzNzL/RxAMrUmASSCkkAayk2IxPlwhAAYGpsiHQjbLccfdOY5gKkCXAMi7SscAwbQpAnKyctWyUZ6z8ja3OGMepwD8asz+9FnSvbhU8uVOHFIwQsI3/p0CfhuqCSQuxLqsN6mu8SS+N42MAAAAASUVORK5CYII=",pixelOffset:{cartesian2:[0,0]},scale:.8333333333333334,show:[{interval:"2012-08-04T16:00:00Z/2012-08-04T18:00:00Z",boolean:!0}],verticalOrigin:"BOTTOM"},label:{fillColor:[{interval:"2012-08-04T16:00:00Z/2012-08-04T18:00:00Z",rgba:[255,255,0,255]}],font:"bold 10pt Segoe UI Semibold",horizontalOrigin:"LEFT",outlineColor:{rgba:[0,0,0,255]},pixelOffset:{cartesian2:[10,0]},scale:1,show:[{interval:"2012-08-04T16:00:00Z/2012-08-04T18:00:00Z",boolean:!0}],style:"FILL",text:"Vehicle",verticalOrigin:"CENTER"},path:{material:{solidColor:{color:{interval:"2012-08-04T16:00:00Z/2012-08-04T18:00:00Z",rgba:[255,255,0,255]}}},width:[{interval:"2012-08-04T16:00:00Z/2012-08-04T18:00:00Z",number:5}],show:[{interval:"2012-08-04T16:00:00Z/2012-08-04T18:00:00Z",boolean:!0}]},position:{interpolationAlgorithm:"LAGRANGE",interpolationDegree:1,epoch:"2012-08-04T16:00:00Z",cartesian:[0,-23797546637012e-7,-466533288013588e-8,362813368924173e-8,100,-237951008905552e-8,-466541964840452e-8,362818220006795e-8,200,-23795684769522e-7,-46655553441867e-7,362797083323261e-8,300,-237963893786855e-8,-466569163561896e-8,362775082085873e-8,400,-237970929834665e-8,-46658279679646e-7,362753080187124e-8,500,-237983728064915e-8,-46658477494347e-7,362742212874017e-8,600,-237962498289073e-8,-466590750853722e-8,36274841191848e-7,700,-237938612743523e-8,-466602954174431e-8,362748383297459e-8,800,-237914726777171e-8,-466615156669944e-8,36274835403492e-7,900,-237890840390057e-8,-466627358340244e-8,362748324130864e-8,1e3]}}],i0=`第一个packet代表了cesium场景(cesium时间轴的范围,当前时刻,倍速等信息)之外,其他的packet都可以理解为描述某一时间范围内的entity的行为。
470
+ `;function r0(n){try{const e=JSON.parse(n);if(Array.isArray(e)&&e.length>0){const t=typeof e[0][0]=="number",r=Array.isArray(e[0][1])&&e[0][1].length===3;return t&&r?e:void 0}throw new Error("解析有问题")}catch{const t=n.split(/\n|\r\n/),r=[],i=t.length;for(let s=0;s<i;++s){const o=t[s],a=o.split(/[^0-9e\.\+\-]+/).filter(l=>l!=="").map(l=>+l);a.length<4?console.warn(`第${s+1}行数据无法解析成路径的数据, 原内容为: ${o}`):a.length<7?r.push([a[0],[a[1],a[2],a[3]],void 0]):r.push([a[0],[a[1],a[2],a[3]],[a[4],a[5],a[6]]])}return r}}const Er=class Er extends c.Destroyable{constructor(t,r){super();d(this,"_scratchCurrentInfo",{position:[0,0,0],rotation:[0,0,0],index:0});d(this,"_currentInfo",this.disposeVar(c.react(void 0,(t,r)=>!1)));d(this,"_player");d(this,"_flyToEvent",this.disposeVar(new c.Event));d(this,"_accumDistancesChanged",this.disposeVar(new c.Event));d(this,"_accumDistancesChangedInit",this.dispose(this.timePosRotsChanged.disposableOn(()=>(this._accumDistancesDirty=!0,this._accumDistancesChanged.emit()))));d(this,"_accumDistancesDirty",!1);d(this,"_accumDistances",[]);d(this,"_getCurrentFunc",this.disposeVar(c.react(void 0)));this._player=this.disposeVar(new Hn);const i=()=>{const s=this.getCurrent(this.currentTime??0);if(s===void 0)this._currentInfo.value=void 0;else{const{index:o,position:a,rotation:l,ratio:u}=s;this._scratchCurrentInfo.index=o,this._scratchCurrentInfo.position=a,this._scratchCurrentInfo.rotation=l,this._scratchCurrentInfo.ratio=u,this._currentInfo.value=this._scratchCurrentInfo}};i(),this.currentTimeChanged.disposableOn(i),this.timePosRotsChanged.disposableOn(i),this.rotLerpModeChanged.disposableOn(i),this.dispose(c.bind([this._player,"loop"],[this,"loop"]));{const s=()=>{if(this.startTime===void 0||this.currentTime===void 0)return;const o=this.currentTime-this.startTime;(this._player.currentTime===void 0||Math.abs(o-this._player.currentTime)>.01)&&(this._player.currentTime=o)};s(),this.dispose(this.currentTimeChanged.disposableOn(s))}{const s=()=>{if(this.startTime===void 0||this._player.currentTime===void 0)return;const o=this._player.currentTime+this.startTime;(this.currentTime===void 0||Math.abs(o-this.currentTime)>.01)&&(this.currentTime=o)};s(),this.dispose(this._player.currentTimeChanged.disposableOn(s))}this.dispose(c.bind([this._player,"duration"],[this,"duration"])),this.dispose(c.bind([this._player,"playing"],[this,"playing"])),this.dispose(c.bind([this._player,"speed"],[this,"speed"]));{const s=()=>{(this.autoComputeTimeFromTimePosRots??!0)&&this.computeTimeFromTimePosRots()};s();const o=this.disposeVar(c.createNextAnimateFrameEvent(this.autoComputeTimeFromTimePosRotsChanged,this.timePosRotsChanged));this.dispose(o.disposableOn(s))}{const s=()=>{const o=this.timePosRots;if(!o)return;let a=0;const l=o.length;for(let u=0;u<l;++u){const h=o[u][0];if(h<0)console.warn("地理路径的时间戳不能小于0!");else if(h<a){console.warn(`地理路径的时间戳需要满足从小到大的数据,元素越靠后,时间越靠后!当前不满足条件的元素是index: ${u} time: ${h}`);break}}};s(),this.dispose(this.timePosRotsChanged.disposableOn(s))}{const s=this.disposeVar(c.createProcessingFromAsyncFunc(async o=>{if(!this.dataUri)return;await o.promise(c.sleep(1e3));const a=await o.promise(fetch(this.dataUri)),l=await o.promise(a.text());this.timePosRots=Er.parseData(l)}));this.dispose(this.dataUriChanged.disposableOn(()=>{s.restart()})),this.dispose(this.dataTextChanged.disposableOn(()=>{this.dataText&&(this.timePosRots=Er.parseData(this.dataText))}))}}get currentInfo(){return this._currentInfo.value}get currentInfoChanged(){return this._currentInfo.changed}get currentIndex(){return this._currentInfo.value&&this._currentInfo.value.index}get currentIndexChanged(){return this._currentInfo.changed}get currentPosition(){return this._currentInfo.value&&this._currentInfo.value.position}get currentPositionChanged(){return this._currentInfo.changed}get currentRotation(){return this._currentInfo.value&&this._currentInfo.value.rotation}get currentRotationChanged(){return this._currentInfo.changed}get player(){return this._player}get flyToEvent(){return this._flyToEvent}flyTo(t){this._flyToEvent.emit(t)}get accumDistancesChanged(){return this._accumDistancesChanged}get accumDistances(){do{if(!this._accumDistancesDirty)break;if(!this.timePosRots||this.timePosRots.length<2){this._accumDistances=[];break}const t=this.timePosRots.length;let r=0;const i=[];let s=mi(this.timePosRots[0][1]);i.push(r);for(let o=1;o<t;++o){const a=mi(this.timePosRots[o][1]),l=c.Vector.distance(a,s);s=a,r+=l,i.push(r)}this._accumDistances=i}while(!1);return this._accumDistances}get totalDistanceChanged(){return this._accumDistancesChanged}get totalDistance(){return this.accumDistances.length>0?this.accumDistances[this.accumDistances.length-1]:0}getCurrent(t){return this.getCurrentFunc?this.getCurrentFunc(t,this):this.timePosRots&&By(this.timePosRots,t,this.rotLerpMode)}subPath(t,r){return this.timePosRots&&$y(this,t,r)}computeRotIfUndefinedUsingPrevLine(t=!1){if(!this.timePosRots){console.warn("timePosRots不存在,无法计算!");return}this.timePosRots=Er.computeRotIfUndefinedUsingPrevLine(this.timePosRots,t)}computeRotIfUndefinedUsingNextLine(t=!1){if(!this.timePosRots){console.warn("timePosRots不存在,无法计算!");return}this.timePosRots=Er.computeRotIfUndefinedUsingNextLine(this.timePosRots,t)}computeRotIfUndefinedUsingLerp(t=!1){if(!this.timePosRots){console.warn("timePosRots不存在,无法计算!");return}this.timePosRots=Er.computeRotIfUndefinedUsingLerp(this.timePosRots,t)}computeRotIfUndefined(t=!1){this.computeRotIfUndefinedUsingPrevLine(t)}addAroundPoints(t,r){e0(this,t,r)}get getCurrentFunc(){return this._getCurrentFunc.value}set getCurrentFunc(t){this._getCurrentFunc.value=t}get getCurrentFuncChanged(){return this._getCurrentFunc.changed}computeTimeFromTimePosRots(){const t=this.timePosRots;if(!t||t.length<=1){this.startTime=void 0,this.stopTime=void 0,this.duration=void 0;return}this.startTime=t[0][0],this.stopTime=t[t.length-1][0],this.duration=this.stopTime-this.startTime}get ratio(){return this.player.ratio}set ratio(t){this.player.ratio=t}get ratioChanged(){return this.player.ratioChanged}};d(Er,"computeRotIfUndefinedUsingPrevLine",Lp),d(Er,"computeRotIfUndefinedUsingNextLine",Ap),d(Er,"computeRotIfUndefinedUsingLerp",jy),d(Er,"getLeftRotation",Mp),d(Er,"getRightRotation",xp),d(Er,"parseData",r0),d(Er,"defaults",{timePosRots:[],startTime:0,stopTime:3e3,loop:!1,duration:3e3,playing:!1,dataText:""}),d(Er,"timePosRotsMd",t0);let Ms=Er;(n=>{n.createDefaultProps=()=>({show:!1,currentPoiShow:!0,timePosRots:c.reactDeepArrayWithUndefined(void 0,(e,t)=>e[0]===t[0]&&e[1].every((r,i)=>r===t[1][i])&&e[2]===t[2]===void 0||e[2]!==void 0&&t[2]!==void 0&&e[2].every((r,i)=>t[2][i]),e=>[e[0],[...e[1]],e[2]&&[...e[2]]||void 0]),autoComputeTimeFromTimePosRots:!0,leadTime:0,trailTime:0,startTime:void 0,stopTime:void 0,loop:!1,currentTime:0,duration:void 0,speed:1,playing:!1,polylineShow:!0,width:1,ground:!1,color:c.reactArray([1,1,1,1]),hasDash:!1,gapColor:c.reactArray([0,0,0,0]),dashLength:16,dashPattern:255,hasArrow:!1,depthTest:!1,arcType:"GEODESIC",allowPicking:!1,dataUri:"",dataText:void 0,rotLerpMode:"Lerp",debug:!1})})(Ms||(Ms={})),c.extendClassProps(Ms.prototype,Ms.createDefaultProps);const ns=class ns extends Or{constructor(t){super(t);d(this,"_path");d(this,"_currentPositionChanged",this.disposeVar(new c.Event));d(this,"_currentRotationChanged",this.disposeVar(new c.Event));d(this,"_currentChanged",this.disposeVar(new c.Event));d(this,"_deprecated",[{materialMode:{blue:"multipleArrows",purple:"singleArrow"}},"show"]);d(this,"_deprecatedWarningFunc",(()=>{this._deprecatedWarning()})());this.strokeStyle={width:10,widthType:"world",color:[1,0,.73,1],material:"",materialParams:{},ground:!1},this._path=this.disposeVar(new Ms),this.dispose(this._path.currentInfoChanged.disposableOn(()=>this._currentPositionChanged.emit(this._path.currentPosition))),this.dispose(this._path.currentInfoChanged.disposableOn(()=>this._currentRotationChanged.emit(this.currentRotation))),this.dispose(this._path.currentInfoChanged.disposableOn(()=>this._currentChanged.emit(this.current))),this._path.show=!0,this._path.polylineShow=!1,this._path.currentPoiShow=!1;{const r=()=>{if(!this.timeStamps||!this.points){this._path.timePosRots=void 0;return}const s=this.timeStamps.length,o=this.points.length,a=Math.min(s,o),l=[];for(let u=0;u<a;++u)l.push([this.timeStamps[u],this.points[u]]);this._path.timePosRots=l,this.rotationRadius.some(u=>u>0)?(this._path.addAroundPoints(this.rotationRadius,!0),this._path.computeRotIfUndefinedUsingLerp(!0),this._path.rotLerpMode="Lerp"):(this._path.computeRotIfUndefinedUsingPrevLine(!0),this._path.rotLerpMode="Next")},i=this.disposeVar(c.createNextAnimateFrameEvent(this.timeStampsChanged,this.pointsChanged,this.rotationRadiusChanged));r(),this.dispose(i.disposableOn(r))}}get typeName(){return"ESPath"}get defaultProps(){return ns.createDefaultProps()}get path(){return this._path}get currentPosition(){return this._path.currentPosition}get currentPositionChanged(){return this._currentPositionChanged}get currentRotation(){const t=this._path.currentRotation;if(t)return[cu(t[0]-90),t[1],t[2]]}get currentRotationChanged(){return this._currentRotationChanged}get current(){return{position:this.currentPosition,rotation:this.currentRotation}}get currentChanged(){return this._currentChanged}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new _c("时间序列","时间序列",!0,!1,[this,"timeStamps"],[]),new S("线条流速","速度 m/s",!1,!1,[this,"speed"],1),new Y("模式","materialMode",!1,!1,[this,"materialMode"],ns.defaults.materialModes,"singleArrow"),new G("拐弯半径","拐弯半径,单位米",!1,!1,[this,"rotationRadius"])]}}getProperties(t){return[...super.getProperties(t),new z("通用","通用",[new _c("时间序列","时间序列",!0,!1,[this,"timeStamps"],[]),new Pt("当前位置","当前位置",!0,!0,[this,"currentPosition"]),new S("速度","速度 m/s",!1,!1,[this,"speed"]),new Y("materialMode","materialMode",!1,!1,[this,"materialMode"],ns.defaults.materialModes),new G("拐弯半径","拐弯半径,单位米",!1,!1,[this,"rotationRadius"],[5])])]}};d(ns,"type",ns.register("ESPath",ns,{chsName:"ESPath",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESPath"})),d(ns,"defaults",{...ce.defaults,materialModes:[["单箭头","singleArrow"],["多箭头","multipleArrows"],["纯色","pureColor"]]});let Zi=ns;(n=>{n.createDefaultProps=()=>({...ce.createDefaultProps(),timeStamps:c.reactArrayWithUndefined(void 0),speed:1,materialMode:"singleArrow",stroked:!0,strokeStyle:c.reactJson({width:10,widthType:"world",color:[1,0,.73,1],material:"",materialParams:{},ground:!1}),rotationRadius:[5]})})(Zi||(Zi={})),c.extendClassProps(Zi.prototype,Zi.createDefaultProps);const is=class is extends q{get typeName(){return"ESGeoDivTextPoi"}get defaultProps(){return is.createDefaultProps()}constructor(e){super(e)}getProperties(e){return[...super.getProperties(e),new z("通用","通用",[new k("文本编辑交互","文本编辑交互.",!1,!1,[this,"textEditingInteraction"]),new k("文本编辑","文本编辑.",!1,!1,[this,"textEditing"]),new S("宽度","宽度",!0,!1,[this,"width"],is.defaults.width),new mu("内容","内容",!0,!1,[this,"text"],is.defaults.text),new or("原点比例和偏移","原点比例和偏移.",!1,!1,[this,"originRatioAndOffset"]),new S("透明度","透明度",!1,!1,[this,"opacity"]),new S("字体大小","字体大小",!1,!1,[this,"fontSize"]),new Z("字体颜色"," 字体颜色.",!1,!1,[this,"color"]),new Z("背景颜色"," 背景颜色.",!1,!1,[this,"backgroundColor"]),new or("内边距","上,右,下,左顺序.",!1,!1,[this,"padding"]),new or("边框圆角","左上,右上,右下,左下.",!1,!1,[this,"borderRadius"]),new Z("边框颜色"," 边框色.",!1,!1,[this,"borderColor"]),new S("边框宽度","边框宽度",!1,!1,[this,"borderWidth"]),new Y("文字位置","文字位置",!1,!1,[this,"textAlign"],[["center","center"],["left","left"],["right","right"]]),new Y("边框类型","边框类型",!1,!1,[this,"borderStyle"],[["none","none"],["hidden","hidden"],["dotted","dotted"],["dashed","dashed"],["solid","solid"],["double","double"],["groove","groove"],["ridge","ridge"],["inset","inset"],["outset","outset"]])])]}};d(is,"type",is.register("ESGeoDivTextPoi",is,{chsName:"图标点",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"图标点"})),d(is,"defaults",{...q.defaults,allowTextEditing:!0,width:80,text:"请输入文字",originRatioAndOffset:[.5,1,0,0],opacity:1,fontSize:14,color:[1,1,1,1],backgroundColor:[0,0,0,.8],padding:[5,5,5,5],borderRadius:[6,6,6,6],borderColor:[1,1,1,1],borderWidth:0,textAlign:"left",borderStyle:"solid"});let ga=is;(n=>{n.createDefaultProps=()=>({text:void 0,width:void 0,textEditingInteraction:!1,textEditing:!1,originRatioAndOffset:c.reactArray([.5,1,0,0]),opacity:1,fontSize:14,textAlign:"left",color:c.reactArray([1,1,1,1]),backgroundColor:c.reactArray([0,0,0,.8]),padding:c.reactArray([5,5,5,5]),borderRadius:c.reactArray([6,6,6,6]),borderWidth:0,borderColor:c.reactArray([1,1,1,1]),borderStyle:"solid",...q.createDefaultProps()})})(ga||(ga={})),c.extendClassProps(ga.prototype,ga.createDefaultProps);const xl=class xl extends q{get typeName(){return"ESCityBasePoint"}get defaultProps(){return{...xl.createDefaultProps()}}constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new Z("颜色","颜色",!1,!1,[this,"color"],[1,1,0,1])]}}getProperties(e){return[...super.getProperties(e),new z("通用","通用",[new Z("颜色","颜色",!1,!1,[this,"color"])])]}};d(xl,"type",xl.register("ESCityBasePoint",xl,{chsName:"城市基点(Czm)",tags:["ESObjects","CityObjects","_ES_Impl_Cesium"],description:"城市基点(Czm)"}));let ma=xl;(n=>{n.createDefaultProps=()=>({...q.createDefaultProps(),color:c.reactArray([1,1,0,1])})})(ma||(ma={})),c.extendClassProps(ma.prototype,ma.createDefaultProps);const n0=[{id:"document",version:"1.0"},{id:"Vehicle",availability:"2012-08-04T16:00:00Z/2012-08-04T16:14:15.251Z",billboard:{eyeOffset:{cartesian:[0,0,0]},horizontalOrigin:"CENTER",image:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAEISURBVEhLvVXBDYQwDOuojHKj8LhBbpTbpBCEkZsmIVTXq1RVQGrHiWlLmTTqPiZBlyLgy/KSZQ5JSHDQ/mCYCsC8106kDU0AdwRnvYZArWRcAl0dcYJq1hWCb3hBrumbDAVMwAC82WoRvgMnVMDBnB0nYZFTbE6BBvdUGqVqCbjBIk3PyFFR/NU7EKzru+qZsau3ryPwwCRLKYOzutZuCL6fUmWeJGzNzL/RxAMrUmASSCkkAayk2IxPlwhAAYGpsiHQjbLccfdOY5gKkCXAMi7SscAwbQpAnKyctWyUZ6z8ja3OGMepwD8asz+9FnSvbhU8uVOHFIwQsI3/p0CfhuqCSQuxLqsN6mu8SS+N42MAAAAASUVORK5CYII=",pixelOffset:{cartesian2:[0,0]},scale:.8333333333333334,show:[{interval:"2012-08-04T16:00:00Z/2012-08-04T18:00:00Z",boolean:!0}],verticalOrigin:"BOTTOM"},label:{fillColor:[{interval:"2012-08-04T16:00:00Z/2012-08-04T18:00:00Z",rgba:[255,255,0,255]}],font:"bold 10pt Segoe UI Semibold",horizontalOrigin:"LEFT",outlineColor:{rgba:[0,0,0,255]},pixelOffset:{cartesian2:[10,0]},scale:1,show:[{interval:"2012-08-04T16:00:00Z/2012-08-04T18:00:00Z",boolean:!0}],style:"FILL",text:"Vehicle",verticalOrigin:"CENTER"},path:{material:{solidColor:{color:{interval:"2012-08-04T16:00:00Z/2012-08-04T18:00:00Z",rgba:[255,255,0,255]}}},width:[{interval:"2012-08-04T16:00:00Z/2012-08-04T18:00:00Z",number:5}],show:[{interval:"2012-08-04T16:00:00Z/2012-08-04T18:00:00Z",boolean:!0}]},position:{interpolationAlgorithm:"LAGRANGE",interpolationDegree:1,epoch:"2012-08-04T16:00:00Z",cartesian:[0,-23797546637012e-7,-466533288013588e-8,362813368924173e-8,100,-237951008905552e-8,-466541964840452e-8,362818220006795e-8,200,-23795684769522e-7,-46655553441867e-7,362797083323261e-8,300,-237963893786855e-8,-466569163561896e-8,362775082085873e-8,400,-237970929834665e-8,-46658279679646e-7,362753080187124e-8,500,-237983728064915e-8,-46658477494347e-7,362742212874017e-8,600,-237962498289073e-8,-466590750853722e-8,36274841191848e-7,700,-237938612743523e-8,-466602954174431e-8,362748383297459e-8,800,-237914726777171e-8,-466615156669944e-8,36274835403492e-7,900,-237890840390057e-8,-466627358340244e-8,362748324130864e-8,1e3]}}],i0=`第一个packet代表了cesium场景(cesium时间轴的范围,当前时刻,倍速等信息)之外,其他的packet都可以理解为描述某一时间范围内的entity的行为。
470
471
  \`\`\`
471
472
  [{
472
473
  "id": "document",
@@ -521,7 +522,7 @@ timePosRots是一个内部包含三个元素的数组,第一个表示时间戳
521
522
  }
522
523
  }]
523
524
  \`\`\`
524
- `,Rd=`(dataSource) => {
525
+ `,Rp=`(dataSource) => {
525
526
  var entities = dataSource.entities.values;
526
527
 
527
528
  for (var i = 0; i < entities.length; i++) {
@@ -538,16 +539,16 @@ timePosRots是一个内部包含三个元素的数组,第一个表示时间戳
538
539
  }
539
540
  `,s0=`data 路径都可以使用下面回调函数
540
541
  \`\`\`
541
- ${Rd}
542
+ ${Rp}
542
543
  \`\`\`
543
544
 
544
- `,Fd=Date.now();new Date(Fd).toISOString(),new Date(Fd+24*60*60*1e3).toISOString();const pt=class pt extends j{constructor(t){super(t);p(this,"_flyToEvent",this.disposeVar(new c.Event));p(this,"_resetClockEvent",this.disposeVar(new c.Event))}get typeName(){return"ESCzml"}get defaultProps(){return pt.createDefaultProps()}get flyToEvent(){return this._flyToEvent}flyTo(t){this._flyToEvent.emit(t)}get resetClockEvent(){return this._resetClockEvent}resetClock(){this._resetClockEvent.emit()}getESProperties(){const t={...super.getESProperties()};return{...t,defaultMenu:"basic",basic:[...t.basic,new G("数据","数据",!0,!1,[this,"data"],pt.defaults.data,pt.defaults.dataMd),new G("路径","路径",!1,!1,[this,"uri"],""),new k("启用","启用",!1,!1,[this,"clockEnabled"],!1),new S("倍速","倍速.",!1,!1,[this,"multiplier"],pt.defaults.multiplier),new k("自动设置时钟","自动设置时钟",!1,!1,[this,"autoResetClock"],!0),new ti("开始时间","开始时间",!0,!1,[this,"startTime"],pt.defaults.startTime),new ti("结束时间","结束时间",!0,!1,[this,"stopTime"],pt.defaults.stopTime),new ti("当前时间","当前时间",!0,!1,[this,"currentTime"],pt.defaults.currentTime),new Y("clockStep","clockStep",!1,!1,[this,"clockStep"],[["TICK_DEPENDENT","TICK_DEPENDENT"],["SYSTEM_CLOCK_MULTIPLIER","SYSTEM_CLOCK_MULTIPLIER"],["SYSTEM_CLOCK","SYSTEM_CLOCK"]],"SYSTEM_CLOCK_MULTIPLIER"),new Y("clockRange","clockRange",!1,!1,[this,"clockRange"],[["UNBOUNDED","UNBOUNDED"],["CLAMPED","CLAMPED"],["LOOP_STOP","LOOP_STOP"]],"UNBOUNDED"),new k("是否启用动画","是否启用动画",!1,!1,[this,"shouldAnimate"],!1)],general:[...t.general,new J("唯一标识","id",!1,!0,[this,"id"]),new J("名称","name",!0,!1,[this,"name"]),new k("是否显示","show",!1,!1,[this,"show"],!0),new k("开启碰撞","collision",!1,!1,[this,"collision"],!1),new k("允许拾取","allowPicking",!1,!1,[this,"allowPicking"],!1)]}}getProperties(t){return[...super.getProperties(t),new z("通用","通用",[new k("是否显示","A boolean Property specifying the visibility .",!1,!1,[this,"show"]),new k("允许拾取","是否允许拾取",!1,!1,[this,"allowPicking"]),new ie("飞入","飞入",["number"],r=>this.flyTo(r),[1e3]),new G("数据","数据",!0,!1,[this,"data"],pt.defaults.data,pt.defaults.dataMd),new G("路径","路径",!1,!1,[this,"uri"]),new k("自动设置时钟","自动设置时钟",!1,!1,[this,"autoResetClock"]),new ie("重设时钟","根据当前加载的数据重设始终",[],()=>this.resetClock(),[]),new ei("loadFnStr","loadFnStr",!0,!1,[this,"loadFuncStr"],pt.defaults.defaultLoadFuncStr,pt.defaults.defaultLoadFuncDocStr)]),new z("时钟","时钟",[new k("启用","启用",!1,!1,[this,"clockEnabled"]),new ti("开始时间","开始时间",!0,!1,[this,"startTime"],pt.defaults.startTime),new ti("结束时间","结束时间",!0,!1,[this,"stopTime"],pt.defaults.stopTime),new ti("当前时间","当前时间",!0,!1,[this,"currentTime"],pt.defaults.currentTime),new S("倍速","倍速.",!1,!1,[this,"multiplier"],pt.defaults.multiplier),new Y("clockStep","clockStep",!1,!1,[this,"clockStep"],[["TICK_DEPENDENT","TICK_DEPENDENT"],["SYSTEM_CLOCK_MULTIPLIER","SYSTEM_CLOCK_MULTIPLIER"],["SYSTEM_CLOCK","SYSTEM_CLOCK"]]),new Y("clockRange","clockRange",!1,!1,[this,"clockRange"],[["UNBOUNDED","UNBOUNDED"],["CLAMPED","CLAMPED"],["LOOP_STOP","LOOP_STOP"]]),new k("是否启用动画","是否启用动画",!1,!1,[this,"shouldAnimate"])])]}};p(pt,"type",pt.register("ESCzml",pt,{chsName:"ESCzml",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"Czml数据加载"})),p(pt,"defaults",{...j.defaults,show:!0,allowPicking:!0,data:n0,dataMd:i0,autoResetClock:!0,clockEnabled:!1,startTime:()=>Date.now(),stopTime:()=>Date.now()+24*60*60*1e3,currentTime:()=>Date.now(),multiplier:1,clockStep:"SYSTEM_CLOCK_MULTIPLIER",clockRange:"UNBOUNDED",shouldAnimate:!1,uri:"${earthsdk3-assets-script-dir}/assets/misc/simple.czml",defaultLoadFuncStr:Rd,defaultLoadFuncDocStr:s0});let va=pt;(n=>{n.createDefaultProps=()=>({show:!0,uri:"",allowPicking:!1,data:c.reactJsonWithUndefined(void 0),autoResetClock:!0,clockEnabled:!1,startTime:void 0,stopTime:void 0,currentTime:void 0,multiplier:1,clockStep:"SYSTEM_CLOCK_MULTIPLIER",clockRange:"UNBOUNDED",shouldAnimate:!1,loadFuncStr:void 0,...j.createDefaultProps()})})(va||(va={})),c.extendClassProps(va.prototype,va.createDefaultProps);const Ya=class Ya extends j{get typeName(){return"ESNavigator"}get defaultProps(){return Ya.createDefaultProps()}getProperties(e){return[...super.getProperties(e),new z("通用","通用",[new k("是否显示","A boolean Property specifying the visibility .",!1,!1,[this,"show"]),new S("尺寸","尺寸",!1,!1,[this,"cssSize"]),new ke("位置","位置(top,right)",!1,!1,[this,"cssPosition"]),new Al("图片地址","图片地址",!1,!1,[this,"imgUrl"])])]}};p(Ya,"type",Ya.register("ESNavigator",Ya,{chsName:"导航控件",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"导航控件"})),p(Ya,"defaults",{...j.defaults,show:!0,cssPosition:[170,30],cssSize:100,imgUrl:j.context.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/img/zhinanzhen.png")});let ya=Ya;(n=>{n.createDefaultProps=()=>({...j.createDefaultProps(),show:!0,cssSize:100,cssPosition:[170,30],imgUrl:n.defaults.imgUrl})})(ya||(ya={})),c.extendClassProps(ya.prototype,ya.createDefaultProps);const Qn=class Qn extends j{get typeName(){return"ESViewerStatusBar"}get defaultProps(){return Qn.createDefaultProps()}constructor(e){super(e)}getProperties(e){return[...super.getProperties(e),new z("通用","通用",[new k("是否显示","A boolean Property specifying the visibility .",!1,!1,[this,"show"],Qn.defaults.show),new S("高度","height",!0,!1,[this,"height"],Qn.defaults.height),new S("文字大小","fontSize",!0,!1,[this,"fontSize"],Qn.defaults.fontSize),new Z("背景颜色"," 背景颜色",!0,!1,[this,"bgColor"],Qn.defaults.bgColor)])]}};p(Qn,"type",Qn.register("ESViewerStatusBar",Qn,{chsName:"状态栏",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"状态栏"})),p(Qn,"defaults",{...j.defaults,show:!0,height:30,fontSize:14,bgColor:[71,71,71,.8]});let _a=Qn;(n=>{n.createDefaultProps=()=>({...j.createDefaultProps(),show:!0,height:30,fontSize:14,bgColor:[71/255,71/255,71/255,.8]})})(_a||(_a={})),c.extendClassProps(_a.prototype,_a.createDefaultProps);const Bn=class Bn extends j{get typeName(){return"ESViewerStatusBarScale"}get defaultProps(){return Bn.createDefaultProps()}constructor(e){super(e)}getProperties(e){return[...super.getProperties(e),new z("通用","通用",[new k("是否显示","A boolean Property specifying the visibility .",!1,!1,[this,"show"],Bn.defaults.show),new S("高度","height",!0,!1,[this,"height"],Bn.defaults.height),new S("文字大小","fontSize",!0,!1,[this,"fontSize"],Bn.defaults.fontSize),new Z("背景颜色"," 背景颜色",!0,!1,[this,"bgColor"],Bn.defaults.bgColor)])]}};p(Bn,"type",Bn.register("ESViewerStatusBarScale",Bn,{chsName:"比例尺状态栏",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"状态栏"})),p(Bn,"defaults",{...j.defaults,show:!0,height:30,fontSize:14,bgColor:[71,71,71,.8]});let wa=Bn;(n=>{n.createDefaultProps=()=>({...j.createDefaultProps(),show:!0,height:30,fontSize:14,bgColor:[71/255,71/255,71/255,.8]})})(wa||(wa={})),c.extendClassProps(wa.prototype,wa.createDefaultProps);const Ha=class Ha extends q{get typeName(){return"ESGaussianSplatting"}get defaultProps(){return Ha.createDefaultProps()}constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new J("路径","url",!0,!1,[this,"url"]),new S("进度","progress",!1,!0,[this,"progress"],0)]}}getProperties(e){return[...super.getProperties(e),new z("通用","通用",[new J("路径","url",!0,!1,[this,"url"]),new S("进度","progress",!1,!0,[this,"progress"],0)])]}};p(Ha,"type",Ha.register("ESGaussianSplatting",Ha,{chsName:"高斯溅射模型",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"用于加载高斯溅射模型的ES对象"})),p(Ha,"defaults",{...q.defaults});let Ea=Ha;(n=>{n.createDefaultProps=()=>({...q.createDefaultProps(),url:"",progress:0})})(Ea||(Ea={})),c.extendClassProps(Ea.prototype,Ea.createDefaultProps);const ss=class ss extends q{get typeName(){return"ESStaticMesh"}get defaultProps(){return ss.createDefaultProps()}constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()},t=[new J("mesh地址","mesh地址",!1,!1,[this,"mesh"],ss.defaults.mesh)];return e.basic.push(...t),e}getProperties(e){return[...super.getProperties(e),new z("ESStaticMesh","ESStaticMesh",[new J("mesh地址","mesh地址",!1,!1,[this,"mesh"],ss.defaults.mesh)])]}};p(ss,"type",ss.register("ESStaticMesh",ss,{chsName:"静态网格",tags:["ESObjects","_ES_Impl_UE"],description:"Unreal的Mesh对象"})),p(ss,"defaults",{...q.defaults,mesh:"StaticMesh'/Engine/BasicShapes/Sphere.Sphere'"});let Sa=ss;(n=>{n.createDefaultProps=()=>({...q.createDefaultProps(),mesh:""})})(Sa||(Sa={})),c.extendClassProps(Sa.prototype,Sa.createDefaultProps);const Ll=class Ll extends ce{constructor(t){super(t);p(this,"_startEvent",this.disposeVar(new c.Event));p(this,"_clearEvent",this.disposeVar(new c.Event))}get typeName(){return"ESSkylineAnalysis"}get defaultProps(){return Ll.createDefaultProps()}get startEvent(){return this._startEvent}start(){this._startEvent.emit()}get clearEvent(){return this._clearEvent}clear(){this._clearEvent.emit()}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new ie("开始分析","开始分析",[],()=>this.start(),[]),new ie("清除分析","清除分析",[],()=>this.clear(),[]),new _u("分析结果","screenPoints",!1,!1,[this,"screenPoints"])]}}getProperties(t){return[...super.getProperties(t),new z("通用","通用",[new ie("开始分析","开始分析",[],()=>this.start(),[]),new ie("清除分析","清除分析",[],()=>this.clear(),[]),new _u("分析结果","screenPoints",!1,!1,[this,"screenPoints"])])]}};p(Ll,"type",Ll.register("ESSkylineAnalysis",Ll,{chsName:"天际线分析",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"分析类"}));let Ca=Ll;(n=>{n.createDefaultProps=()=>({...ce.createDefaultProps(),screenPoints:c.reactArrayWithUndefined(void 0)})})(Ca||(Ca={})),c.extendClassProps(Ca.prototype,Ca.createDefaultProps);function kd(n){return typeof n=="string"?document.getElementById(n):n}function Th(n){if(!n)throw new Error("container is not defined");n.innerHTML="";const e=document.createElement("div");return e.style.cssText="width: 100%; height: 100%; margin: 0px; padding: 0px; border: none; overflow: hidden; position: relative; z-index: 0; background: rgba(0,0,0,0);",n.appendChild(e),e}class Vd extends c.Destroyable{constructor(t,r){super();p(this,"_listeningSceneObjects",new Map);this._sceneObjectsMananger=t,this._createSceneObjectListeningFunc=r;const i=this._listeningSceneObjects,s=(o,a)=>{if(o)for(let l of o){const u=i.get(l);u&&(u.destroy(),i.delete(l))}if(a)for(let l of a){if(i.get(l)){console.warn(`listeningSceneObjects已存在某对象:${l.name}`,l);debugger}const h=this.createSceneObjectListeningFunc(l);h&&i.set(l,h)}};s(void 0,this._sceneObjectsMananger.sceneObjects),this.dispose(this._sceneObjectsMananger.sceneObjectsToChange.disposableOn(s)),this.dispose(()=>{for(let o of this._listeningSceneObjects.values())o.destroy();this._listeningSceneObjects.clear()})}get listeningSceneObjects(){return this._listeningSceneObjects}get createSceneObjectListeningFunc(){return this._createSceneObjectListeningFunc}}class o0 extends c.Destroyable{constructor(e){super(),this._esObjectsManager=e;{const t=this._esObjectsManager;class r extends c.Destroyable{constructor(s){super(),this._esPath=s,this.dv(new c.ObjResettingWithEvent(t.activeViewerChanged,()=>{const o=t.activeViewer;if(!o)return;class a extends c.Destroyable{constructor(u){if(super(),this._esPath=u,!o)throw new Error("!viewer");const h=()=>{const f=t.activeViewer;f&&(this._esPath.path.currentTime=f.simulationTime)};h(),this.d(o.simulationTimeChanged.don(h))}}return new a(this._esPath)}))}}this.dv(new Vd(t.sceneObjectsManager,i=>{if(i instanceof Zi)return new r(i)}))}{const t=this._esObjectsManager;class r extends c.Destroyable{constructor(s){super();{const o=()=>{const a=t.activeViewer;a&&(a.simulationTime=s.currentTime??0)};o(),this.d(s.currentTimeChanged.don(o))}}}this.dv(new Vd(t.sceneObjectsManager,i=>{if(i instanceof Ji)return new r(i)}))}}}class a0 extends c.Destroyable{constructor(e){super(),e.forEach(t=>{this.d(t.path.currentPositionChanged.don(r=>{r&&t.sceneObjects.forEach(i=>{Reflect.has(i,"position")&&(i.position=[...r])})})),this.d(t.path.currentRotationChanged.don(r=>{r&&t.sceneObjects.forEach(i=>{Reflect.has(i,"rotation")&&(i.rotation=[...r])})}))})}}class l0 extends c.Destroyable{constructor(t){super();p(this,"_player");p(this,"_channels",this.dv(c.reactArray([])));this._objectManager=t,this._player=this._objectManager.player,this.dv(new c.ObjResettingWithEvent(this.channelsChanged,()=>{if(this.channels.length===0)return;const r=[];for(let i=0;i<this.channels.length;i++){const s=this.channels[i],o=j.getSceneObjById(s.pathId);if(!o||!(o instanceof Zi))continue;const l=s.sceneObjectIds.map(u=>j.getSceneObjById(u)).filter(u=>u!==void 0);l.length!==0&&r.push({path:o,sceneObjects:l})}if(r.length!==0)return new a0(r)}))}get player(){return this._player}get channels(){return this._channels.value}get channelsChanged(){return this._channels.changed}set channels(t){this._channels.value=t}}function pc(n){if(n.data){const{type:e,value:t}=n.data;if(e==="UITreeA"&&t instanceof sr){const{sceneObject:r}=t;if(r)return r.id}}}function u0(n,e){const{property:t,customEventName:r,otherParams:i}=e,{dragstartDataMananger:s}=n;if(!(t instanceof bn)){if(!(t instanceof _u)){if(t instanceof J){const[o,a]=c.getReactFuncs(t.reactVar);if(r==="ondragover"){if(console.log("ondragover"),!i)throw new Error("!otherParams");const l=i[0];if(l.preventDefault(),!l.dataTransfer)return;pc(s)?l.dataTransfer.dropEffect="move":l.dataTransfer.dropEffect="none"}else if(r==="ondrop"){if(!i)throw new Error("!otherParams");i[0].preventDefault();const u=pc(s);u!==void 0&&a(u)}}else if(t instanceof Oh){const[o,a]=c.getReactFuncs(t.reactVar);if(r==="ondragover"){if(console.log("ondragover"),!i)throw new Error("!otherParams");const l=i[0];if(l.preventDefault(),!l.dataTransfer)return;pc(s)?l.dataTransfer.dropEffect="move":l.dataTransfer.dropEffect="none"}else if(r==="ondrop"){if(!i)throw new Error("!otherParams");const l=i[0].$event,u=i[0].strinsPropDom,h=i[0].index;l.preventDefault();const f=pc(s);if(f!==void 0){u[h].firstChild.value=f;const d=new Event("input",{bubbles:!0,cancelable:!0});u[h].firstChild.dispatchEvent(d)}}}else if(t instanceof Mh){const[o,a]=c.getReactFuncs(t.reactVar)}}}}class c0 extends c.Destroyable{constructor(){super();p(this,"_sceneObjects",new Set);p(this,"_sceneObjectsToChange",this.dv(new c.Event));this.d(()=>{const t=c.length(this._sceneObjects);t!==0&&console.warn(`场景对象管理器销毁时仍然管理着${t}个场景对象!`)})}get sceneObjects(){return this._sceneObjects}get sceneObjectsToChange(){return this._sceneObjectsToChange}addSceneObject(t){if(this._sceneObjects.has(t))return console.warn(`创建失败:对象${t}已经存在于场景对象管理器中!}`),!1;do this._sceneObjectsToChange.emit([],[t]),this._sceneObjects.add(t);while(!1);return!0}deleteSceneObject(t){if(!this._sceneObjects.has(t))return console.warn(`删除失败:对象${t}不存在于场景对象管理器中!}`),!1;do this._sceneObjectsToChange.emit([t],[]),this._sceneObjects.delete(t);while(!1);return!0}createSceneObject(t,r){const i=j.context.createSceneObject(t,r);return i&&this.addSceneObject(i),i}createSceneObjectFromClass(t,r){const i=j.context.createSceneObjectFromClass(t,r);return i&&this.addSceneObject(i),i}createSceneObjectFromJson(t){const r=j.context.createSceneObjectFromJson(t);return r&&this.addSceneObject(r),r}}function zd(n,e){return n.length===e.length&&n.every((t,r)=>t===e[r])}class h0 extends c.Destroyable{constructor(e){super(),this._viewer=e,this.d(c.track([this._viewer,"currentTime"],[this._viewer,"simulationTime"]))}}class f0 extends c.Destroyable{constructor(e,t){super(),this._viewer=e,this._activeViewer=t;const r=Zn.createCommonProps(),i=[];Object.keys(r).forEach(l=>{const u=this._activeViewer[l+"Changed"];i.push(u)});const s=this.dv(c.createNextAnimateFrameEvent(...i)),o=()=>{this._viewer.status!=="Created"||this._activeViewer.status!=="Created"||Object.keys(r).forEach(l=>{this._viewer[l]=this._activeViewer[l]})};this.d(s.don(o));const a=this.dv(c.createAnimateFrame());a.restart(void 0,async()=>{if(this._viewer.status!=="Created"||this._activeViewer.status!=="Created")return;const l=this._activeViewer.getCurrentCameraInfo(),u=this._viewer.getCurrentCameraInfo();if(!l)return;const{position:h,rotation:f}=l;u&&zd(h,u.position)&&zd(f,u.rotation)||this._viewer.flyIn(h,f,0)}),this.d(()=>a.cancel())}}const p0=`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" preserveAspectRatio="xMidYMid" width="40" height="40" style="shape-rendering: auto; display: block; background: rgba(255, 255, 255, 0);" xmlns:xlink="http://www.w3.org/1999/xlink"><g><circle stroke-linecap="round" fill="none" stroke-dasharray="50.26548245743669 50.26548245743669" stroke="#ffffff" stroke-width="8" r="32" cy="50" cx="50">
545
+ `,Fp=Date.now();new Date(Fp).toISOString(),new Date(Fp+24*60*60*1e3).toISOString();const dt=class dt extends j{constructor(t){super(t);d(this,"_flyToEvent",this.disposeVar(new c.Event));d(this,"_resetClockEvent",this.disposeVar(new c.Event))}get typeName(){return"ESCzml"}get defaultProps(){return dt.createDefaultProps()}get flyToEvent(){return this._flyToEvent}flyTo(t){this._flyToEvent.emit(t)}get resetClockEvent(){return this._resetClockEvent}resetClock(){this._resetClockEvent.emit()}getESProperties(){const t={...super.getESProperties()};return{...t,defaultMenu:"basic",basic:[...t.basic,new G("数据","数据",!0,!1,[this,"data"],dt.defaults.data,dt.defaults.dataMd),new G("路径","路径",!1,!1,[this,"uri"],""),new k("启用","启用",!1,!1,[this,"clockEnabled"],!1),new S("倍速","倍速.",!1,!1,[this,"multiplier"],dt.defaults.multiplier),new k("自动设置时钟","自动设置时钟",!1,!1,[this,"autoResetClock"],!0),new ti("开始时间","开始时间",!0,!1,[this,"startTime"],dt.defaults.startTime),new ti("结束时间","结束时间",!0,!1,[this,"stopTime"],dt.defaults.stopTime),new ti("当前时间","当前时间",!0,!1,[this,"currentTime"],dt.defaults.currentTime),new Y("clockStep","clockStep",!1,!1,[this,"clockStep"],[["TICK_DEPENDENT","TICK_DEPENDENT"],["SYSTEM_CLOCK_MULTIPLIER","SYSTEM_CLOCK_MULTIPLIER"],["SYSTEM_CLOCK","SYSTEM_CLOCK"]],"SYSTEM_CLOCK_MULTIPLIER"),new Y("clockRange","clockRange",!1,!1,[this,"clockRange"],[["UNBOUNDED","UNBOUNDED"],["CLAMPED","CLAMPED"],["LOOP_STOP","LOOP_STOP"]],"UNBOUNDED"),new k("是否启用动画","是否启用动画",!1,!1,[this,"shouldAnimate"],!1)],general:[...t.general,new J("唯一标识","id",!1,!0,[this,"id"]),new J("名称","name",!0,!1,[this,"name"]),new k("是否显示","show",!1,!1,[this,"show"],!0),new k("开启碰撞","collision",!1,!1,[this,"collision"],!1),new k("允许拾取","allowPicking",!1,!1,[this,"allowPicking"],!1)]}}getProperties(t){return[...super.getProperties(t),new z("通用","通用",[new k("是否显示","A boolean Property specifying the visibility .",!1,!1,[this,"show"]),new k("允许拾取","是否允许拾取",!1,!1,[this,"allowPicking"]),new ie("飞入","飞入",["number"],r=>this.flyTo(r),[1e3]),new G("数据","数据",!0,!1,[this,"data"],dt.defaults.data,dt.defaults.dataMd),new G("路径","路径",!1,!1,[this,"uri"]),new k("自动设置时钟","自动设置时钟",!1,!1,[this,"autoResetClock"]),new ie("重设时钟","根据当前加载的数据重设始终",[],()=>this.resetClock(),[]),new ei("loadFnStr","loadFnStr",!0,!1,[this,"loadFuncStr"],dt.defaults.defaultLoadFuncStr,dt.defaults.defaultLoadFuncDocStr)]),new z("时钟","时钟",[new k("启用","启用",!1,!1,[this,"clockEnabled"]),new ti("开始时间","开始时间",!0,!1,[this,"startTime"],dt.defaults.startTime),new ti("结束时间","结束时间",!0,!1,[this,"stopTime"],dt.defaults.stopTime),new ti("当前时间","当前时间",!0,!1,[this,"currentTime"],dt.defaults.currentTime),new S("倍速","倍速.",!1,!1,[this,"multiplier"],dt.defaults.multiplier),new Y("clockStep","clockStep",!1,!1,[this,"clockStep"],[["TICK_DEPENDENT","TICK_DEPENDENT"],["SYSTEM_CLOCK_MULTIPLIER","SYSTEM_CLOCK_MULTIPLIER"],["SYSTEM_CLOCK","SYSTEM_CLOCK"]]),new Y("clockRange","clockRange",!1,!1,[this,"clockRange"],[["UNBOUNDED","UNBOUNDED"],["CLAMPED","CLAMPED"],["LOOP_STOP","LOOP_STOP"]]),new k("是否启用动画","是否启用动画",!1,!1,[this,"shouldAnimate"])])]}};d(dt,"type",dt.register("ESCzml",dt,{chsName:"ESCzml",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"Czml数据加载"})),d(dt,"defaults",{...j.defaults,show:!0,allowPicking:!0,data:n0,dataMd:i0,autoResetClock:!0,clockEnabled:!1,startTime:()=>Date.now(),stopTime:()=>Date.now()+24*60*60*1e3,currentTime:()=>Date.now(),multiplier:1,clockStep:"SYSTEM_CLOCK_MULTIPLIER",clockRange:"UNBOUNDED",shouldAnimate:!1,uri:"${earthsdk3-assets-script-dir}/assets/misc/simple.czml",defaultLoadFuncStr:Rp,defaultLoadFuncDocStr:s0});let va=dt;(n=>{n.createDefaultProps=()=>({show:!0,uri:"",allowPicking:!1,data:c.reactJsonWithUndefined(void 0),autoResetClock:!0,clockEnabled:!1,startTime:void 0,stopTime:void 0,currentTime:void 0,multiplier:1,clockStep:"SYSTEM_CLOCK_MULTIPLIER",clockRange:"UNBOUNDED",shouldAnimate:!1,loadFuncStr:void 0,...j.createDefaultProps()})})(va||(va={})),c.extendClassProps(va.prototype,va.createDefaultProps);const Ya=class Ya extends j{get typeName(){return"ESNavigator"}get defaultProps(){return Ya.createDefaultProps()}getProperties(e){return[...super.getProperties(e),new z("通用","通用",[new k("是否显示","A boolean Property specifying the visibility .",!1,!1,[this,"show"]),new S("尺寸","尺寸",!1,!1,[this,"cssSize"]),new ze("位置","位置(top,right)",!1,!1,[this,"cssPosition"]),new Al("图片地址","图片地址",!1,!1,[this,"imgUrl"])])]}};d(Ya,"type",Ya.register("ESNavigator",Ya,{chsName:"导航控件",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"导航控件"})),d(Ya,"defaults",{...j.defaults,show:!0,cssPosition:[170,30],cssSize:100,imgUrl:j.context.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/img/zhinanzhen.png")});let ya=Ya;(n=>{n.createDefaultProps=()=>({...j.createDefaultProps(),show:!0,cssSize:100,cssPosition:[170,30],imgUrl:n.defaults.imgUrl})})(ya||(ya={})),c.extendClassProps(ya.prototype,ya.createDefaultProps);const Qn=class Qn extends j{get typeName(){return"ESViewerStatusBar"}get defaultProps(){return Qn.createDefaultProps()}constructor(e){super(e)}getProperties(e){return[...super.getProperties(e),new z("通用","通用",[new k("是否显示","A boolean Property specifying the visibility .",!1,!1,[this,"show"],Qn.defaults.show),new S("高度","height",!0,!1,[this,"height"],Qn.defaults.height),new S("文字大小","fontSize",!0,!1,[this,"fontSize"],Qn.defaults.fontSize),new Z("背景颜色"," 背景颜色",!0,!1,[this,"bgColor"],Qn.defaults.bgColor)])]}};d(Qn,"type",Qn.register("ESViewerStatusBar",Qn,{chsName:"状态栏",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"状态栏"})),d(Qn,"defaults",{...j.defaults,show:!0,height:30,fontSize:14,bgColor:[71,71,71,.8]});let _a=Qn;(n=>{n.createDefaultProps=()=>({...j.createDefaultProps(),show:!0,height:30,fontSize:14,bgColor:[71/255,71/255,71/255,.8]})})(_a||(_a={})),c.extendClassProps(_a.prototype,_a.createDefaultProps);const Bn=class Bn extends j{get typeName(){return"ESViewerStatusBarScale"}get defaultProps(){return Bn.createDefaultProps()}constructor(e){super(e)}getProperties(e){return[...super.getProperties(e),new z("通用","通用",[new k("是否显示","A boolean Property specifying the visibility .",!1,!1,[this,"show"],Bn.defaults.show),new S("高度","height",!0,!1,[this,"height"],Bn.defaults.height),new S("文字大小","fontSize",!0,!1,[this,"fontSize"],Bn.defaults.fontSize),new Z("背景颜色"," 背景颜色",!0,!1,[this,"bgColor"],Bn.defaults.bgColor)])]}};d(Bn,"type",Bn.register("ESViewerStatusBarScale",Bn,{chsName:"比例尺状态栏",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"状态栏"})),d(Bn,"defaults",{...j.defaults,show:!0,height:30,fontSize:14,bgColor:[71,71,71,.8]});let wa=Bn;(n=>{n.createDefaultProps=()=>({...j.createDefaultProps(),show:!0,height:30,fontSize:14,bgColor:[71/255,71/255,71/255,.8]})})(wa||(wa={})),c.extendClassProps(wa.prototype,wa.createDefaultProps);const Ha=class Ha extends q{get typeName(){return"ESGaussianSplatting"}get defaultProps(){return Ha.createDefaultProps()}constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new J("路径","url",!0,!1,[this,"url"]),new S("进度","progress",!1,!0,[this,"progress"],0)]}}getProperties(e){return[...super.getProperties(e),new z("通用","通用",[new J("路径","url",!0,!1,[this,"url"]),new S("进度","progress",!1,!0,[this,"progress"],0)])]}};d(Ha,"type",Ha.register("ESGaussianSplatting",Ha,{chsName:"高斯溅射模型",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"用于加载高斯溅射模型的ES对象"})),d(Ha,"defaults",{...q.defaults});let Ea=Ha;(n=>{n.createDefaultProps=()=>({...q.createDefaultProps(),url:"",progress:0})})(Ea||(Ea={})),c.extendClassProps(Ea.prototype,Ea.createDefaultProps);const ss=class ss extends q{get typeName(){return"ESStaticMesh"}get defaultProps(){return ss.createDefaultProps()}constructor(e){super(e)}getESProperties(){const e={...super.getESProperties()},t=[new J("mesh地址","mesh地址",!1,!1,[this,"mesh"],ss.defaults.mesh)];return e.basic.push(...t),e}getProperties(e){return[...super.getProperties(e),new z("ESStaticMesh","ESStaticMesh",[new J("mesh地址","mesh地址",!1,!1,[this,"mesh"],ss.defaults.mesh)])]}};d(ss,"type",ss.register("ESStaticMesh",ss,{chsName:"静态网格",tags:["ESObjects","_ES_Impl_UE"],description:"Unreal的Mesh对象"})),d(ss,"defaults",{...q.defaults,mesh:"StaticMesh'/Engine/BasicShapes/Sphere.Sphere'"});let Sa=ss;(n=>{n.createDefaultProps=()=>({...q.createDefaultProps(),mesh:""})})(Sa||(Sa={})),c.extendClassProps(Sa.prototype,Sa.createDefaultProps);const Ll=class Ll extends ce{constructor(t){super(t);d(this,"_startEvent",this.disposeVar(new c.Event));d(this,"_clearEvent",this.disposeVar(new c.Event))}get typeName(){return"ESSkylineAnalysis"}get defaultProps(){return Ll.createDefaultProps()}get startEvent(){return this._startEvent}start(){this._startEvent.emit()}get clearEvent(){return this._clearEvent}clear(){this._clearEvent.emit()}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new ie("开始分析","开始分析",[],()=>this.start(),[]),new ie("清除分析","清除分析",[],()=>this.clear(),[]),new yu("分析结果","screenPoints",!1,!1,[this,"screenPoints"])]}}getProperties(t){return[...super.getProperties(t),new z("通用","通用",[new ie("开始分析","开始分析",[],()=>this.start(),[]),new ie("清除分析","清除分析",[],()=>this.clear(),[]),new yu("分析结果","screenPoints",!1,!1,[this,"screenPoints"])])]}};d(Ll,"type",Ll.register("ESSkylineAnalysis",Ll,{chsName:"天际线分析",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"分析类"}));let Ca=Ll;(n=>{n.createDefaultProps=()=>({...ce.createDefaultProps(),screenPoints:c.reactArrayWithUndefined(void 0)})})(Ca||(Ca={})),c.extendClassProps(Ca.prototype,Ca.createDefaultProps);function kp(n){return typeof n=="string"?document.getElementById(n):n}function Th(n){if(!n)throw new Error("container is not defined");n.innerHTML="";const e=document.createElement("div");return e.style.cssText="width: 100%; height: 100%; margin: 0px; padding: 0px; border: none; overflow: hidden; position: relative; z-index: 0; background: rgba(0,0,0,0);",n.appendChild(e),e}class Vp extends c.Destroyable{constructor(t,r){super();d(this,"_listeningSceneObjects",new Map);this._sceneObjectsMananger=t,this._createSceneObjectListeningFunc=r;const i=this._listeningSceneObjects,s=(o,a)=>{if(o)for(let l of o){const u=i.get(l);u&&(u.destroy(),i.delete(l))}if(a)for(let l of a){if(i.get(l)){console.warn(`listeningSceneObjects已存在某对象:${l.name}`,l);debugger}const h=this.createSceneObjectListeningFunc(l);h&&i.set(l,h)}};s(void 0,this._sceneObjectsMananger.sceneObjects),this.dispose(this._sceneObjectsMananger.sceneObjectsToChange.disposableOn(s)),this.dispose(()=>{for(let o of this._listeningSceneObjects.values())o.destroy();this._listeningSceneObjects.clear()})}get listeningSceneObjects(){return this._listeningSceneObjects}get createSceneObjectListeningFunc(){return this._createSceneObjectListeningFunc}}class o0 extends c.Destroyable{constructor(e){super(),this._esObjectsManager=e;{const t=this._esObjectsManager;class r extends c.Destroyable{constructor(s){super(),this._esPath=s,this.dv(new c.ObjResettingWithEvent(t.activeViewerChanged,()=>{const o=t.activeViewer;if(!o)return;class a extends c.Destroyable{constructor(u){if(super(),this._esPath=u,!o)throw new Error("!viewer");const h=()=>{const f=t.activeViewer;f&&(this._esPath.path.currentTime=f.simulationTime)};h(),this.d(o.simulationTimeChanged.don(h))}}return new a(this._esPath)}))}}this.dv(new Vp(t.sceneObjectsManager,i=>{if(i instanceof Zi)return new r(i)}))}{const t=this._esObjectsManager;class r extends c.Destroyable{constructor(s){super();const o=()=>{const a=t.activeViewer;a&&(a.simulationTime=s.currentTime??0)};o(),this.d(s.currentTimeChanged.don(o))}}this.dv(new Vp(t.sceneObjectsManager,i=>{if(i instanceof Ji)return new r(i)}))}}}class a0 extends c.Destroyable{constructor(e){super(),e.forEach(t=>{this.d(t.path.currentPositionChanged.don(r=>{r&&t.sceneObjects.forEach(i=>{Reflect.has(i,"position")&&(i.position=[...r])})})),this.d(t.path.currentRotationChanged.don(r=>{r&&t.sceneObjects.forEach(i=>{Reflect.has(i,"rotation")&&(i.rotation=[...r])})}))})}}class l0 extends c.Destroyable{constructor(t){super();d(this,"_player");d(this,"_channels",this.dv(c.reactArray([])));this._objectManager=t,this._player=this._objectManager.player,this.dv(new c.ObjResettingWithEvent(this.channelsChanged,()=>{if(this.channels.length===0)return;const r=[];for(let i=0;i<this.channels.length;i++){const s=this.channels[i],o=j.getSceneObjById(s.pathId);if(!o||!(o instanceof Zi))continue;const l=s.sceneObjectIds.map(u=>j.getSceneObjById(u)).filter(u=>u!==void 0);l.length!==0&&r.push({path:o,sceneObjects:l})}if(r.length!==0)return new a0(r)}))}get player(){return this._player}get channels(){return this._channels.value}get channelsChanged(){return this._channels.changed}set channels(t){this._channels.value=t}}function dc(n){if(n.data){const{type:e,value:t}=n.data;if(e==="UITreeA"&&t instanceof sr){const{sceneObject:r}=t;if(r)return r.id}}}function u0(n,e){const{property:t,customEventName:r,otherParams:i}=e,{dragstartDataMananger:s}=n;if(!(t instanceof bn)){if(!(t instanceof yu)){if(t instanceof J){const[o,a]=c.getReactFuncs(t.reactVar);if(r==="ondragover"){if(console.log("ondragover"),!i)throw new Error("!otherParams");const l=i[0];if(l.preventDefault(),!l.dataTransfer)return;dc(s)?l.dataTransfer.dropEffect="move":l.dataTransfer.dropEffect="none"}else if(r==="ondrop"){if(!i)throw new Error("!otherParams");i[0].preventDefault();const u=dc(s);u!==void 0&&a(u)}}else if(t instanceof Oh){const[o,a]=c.getReactFuncs(t.reactVar);if(r==="ondragover"){if(console.log("ondragover"),!i)throw new Error("!otherParams");const l=i[0];if(l.preventDefault(),!l.dataTransfer)return;dc(s)?l.dataTransfer.dropEffect="move":l.dataTransfer.dropEffect="none"}else if(r==="ondrop"){if(!i)throw new Error("!otherParams");const l=i[0].$event,u=i[0].strinsPropDom,h=i[0].index;l.preventDefault();const f=dc(s);if(f!==void 0){u[h].firstChild.value=f;const p=new Event("input",{bubbles:!0,cancelable:!0});u[h].firstChild.dispatchEvent(p)}}}else if(t instanceof Mh){const[o,a]=c.getReactFuncs(t.reactVar)}}}}function zp(n,e,t,r){if(t)r.currentActiveEditing=[n,e];else if(r.currentActiveEditing){const[i,s]=r.currentActiveEditing;i===n&&s===e&&(t||(r.currentActiveEditing=void 0))}}const c0=["editing","positionEditing","locationEditing","pointEditing","rotationEditing"];class h0 extends c.Destroyable{constructor(e,t){super(),this._sceneObject=e;const r=this._sceneObject;for(let i of c0){const s=i+"Changed",o=r[s];if(o){{const a=r[i];zp(r,i,a,t)}this.dispose(o.disposableOn(a=>zp(r,i,a,t)))}}}get sceneObject(){return this._sceneObject}}class f0 extends c.Destroyable{constructor(){super();d(this,"_currentActiveEditing",this.disposeVar(c.reactArrayWithUndefined(void 0)));d(this,"_currentActiveEditingLastChangedTime",0);this.dispose(this._currentActiveEditing.changed.disposableOn((t,r)=>{if(this._currentActiveEditingLastChangedTime=Date.now(),r){const[i,s]=r;i[s]===!0&&(i[s]=!1)}if(t){const[i,s]=t;i[s]=!0}})),j.context.sceneObjCreatedEvent.don(t=>{t.dv(new h0(t,this))})}get currentActiveEditing(){return this._currentActiveEditing.value}set currentActiveEditing(t){this._currentActiveEditing.value=t}get currentActiveEditingChanged(){return this._currentActiveEditing.changed}get currentActiveEditingLastChangedTime(){return this._currentActiveEditingLastChangedTime}}class d0 extends c.Destroyable{constructor(){super();d(this,"_sceneObjects",new Set);d(this,"_sceneObjectsToChange",this.dv(new c.Event));this.d(()=>{const t=c.length(this._sceneObjects);t!==0&&console.warn(`场景对象管理器销毁时仍然管理着${t}个场景对象!`)})}get sceneObjects(){return this._sceneObjects}get sceneObjectsToChange(){return this._sceneObjectsToChange}addSceneObject(t){if(this._sceneObjects.has(t))return console.warn(`创建失败:对象${t.typeName+":"+t.id}已经存在于场景对象管理器中!}`),!1;do this._sceneObjectsToChange.emit([],[t]),this._sceneObjects.add(t);while(!1);return!0}deleteSceneObject(t){if(!this._sceneObjects.has(t))return console.warn(`删除失败:对象${t.typeName+":"+t.id}不存在于场景对象管理器中!}`),!1;do this._sceneObjectsToChange.emit([t],[]),this._sceneObjects.delete(t);while(!1);return!0}createSceneObject(t,r){const i=j.context.createSceneObject(t,r);return i&&this.addSceneObject(i),i}createSceneObjectFromClass(t,r){const i=j.context.createSceneObjectFromClass(t,r);return i&&this.addSceneObject(i),i}createSceneObjectFromJson(t){const r=j.context.createSceneObjectFromJson(t);return r&&this.addSceneObject(r),r}}function Up(n,e){return n.length===e.length&&n.every((t,r)=>t===e[r])}class p0 extends c.Destroyable{constructor(e){super(),this._viewer=e,this.d(c.track([this._viewer,"currentTime"],[this._viewer,"simulationTime"]))}}class g0 extends c.Destroyable{constructor(e,t){super(),this._viewer=e,this._activeViewer=t;const r=Zn.createCommonProps(),i=[];Object.keys(r).forEach(l=>{const u=this._activeViewer[l+"Changed"];i.push(u)});const s=this.dv(c.createNextAnimateFrameEvent(...i)),o=()=>{this._viewer.status!=="Created"||this._activeViewer.status!=="Created"||Object.keys(r).forEach(l=>{this._viewer[l]=this._activeViewer[l]})};this.d(s.don(o));const a=this.dv(c.createAnimateFrame());a.restart(void 0,async()=>{if(this._viewer.status!=="Created"||this._activeViewer.status!=="Created")return;const l=this._activeViewer.getCurrentCameraInfo(),u=this._viewer.getCurrentCameraInfo();if(!l)return;const{position:h,rotation:f}=l;u&&Up(h,u.position)&&Up(f,u.rotation)||this._viewer.flyIn(h,f,0)}),this.d(()=>a.cancel())}}const m0=`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" preserveAspectRatio="xMidYMid" width="40" height="40" style="shape-rendering: auto; display: block; background: rgba(255, 255, 255, 0);" xmlns:xlink="http://www.w3.org/1999/xlink"><g><circle stroke-linecap="round" fill="none" stroke-dasharray="50.26548245743669 50.26548245743669" stroke="#ffffff" stroke-width="8" r="32" cy="50" cx="50">
545
546
  <animateTransform values="0 50 50;360 50 50" keyTimes="0;1" dur="1s" repeatCount="indefinite" type="rotate" attributeName="transform"></animateTransform>
546
547
  </circle><g></g></g></svg>
547
- `,d0='<svg t="1747028305766" class="icon" viewBox="0 0 1032 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3881" width="40" height="40"><path d="M0.1536 547.700736c-0.205824-0.187392-0.205824-0.49152 0.008192-0.68608l80.672768-73.590784a0.63488 0.63488 0 0 1 0.7936-0.029696l263.043072 203.0336c0.667648 0.515072 1.738752 0.498688 2.393088-0.038912l609.191936-500.133888a0.605184 0.605184 0 0 1 0.768 0.022528l74.84928 67.229696a0.454656 0.454656 0 0 1-0.002048 0.685056l-685.234176 618.19904a1.14688 1.14688 0 0 1-1.518592-0.012288L0.1536 547.700736z" fill="#ffffff" p-id="3882"></path></svg>',g0='<svg t="1747028398107" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1146" width="40" height="40"><path d="M415.744006 1.033277A0.992256 0.992256 0 0 1 416.747526 0.000061h189.5045c0.569344 0 1.017856 0.45056 1.001472 1.033216l-21.227518 754.803667a1.062912 1.062912 0 0 1-1.05984 1.032192h-146.933752c-0.569344 0-1.04448-0.45056-1.059839-1.032192L415.744006 1.033277zM511.510528 1024c-52.595709 0-95.231994-39.866366-95.231994-89.043963 0-49.176573 42.636285-89.042939 95.231994-89.042938 52.594685 0 95.231994 39.866366 95.231994 89.042938 0 49.177597-42.637309 89.043963-95.231994 89.043963z" fill="#ffffff" p-id="1147"></path></svg>',Ja=class Ja extends c.Destroyable{constructor(e){super();const t=()=>{const r=this.dv(new Ds);this.d(c.track([r,"show"],[e,"useDefaultStatusDiv"]));{const i=()=>{r.show=(e.useDefaultStatusDiv??!0)&&e.status!=="Created"};i(),this.d(e.useDefaultStatusDivChanged.don(i)),this.d(e.statusChanged.don(i)),r.cssText="width:100%;height:100%;position:absolute;left:0px;top:0px;"}e.add(r),this.d(()=>e.delete(r)),r.instanceClass=class extends c.Destroyable{constructor(o,a,l){super();p(this,"_div",document.createElement("div"));if(this._subContainer=o,!l)return;this._subContainer.appendChild(this._div),this.d(()=>this._subContainer.removeChild(this._div));{const w=()=>{a.show?this._div.style.opacity="1":this._div.style.opacity="0"};w(),this.d(a.showChanged.don(w))}let u,h,f,d,v;this._div.style.pointerEvents="none",this._div.style.position="absolute",this._div.style.width="100%",this._div.style.height="100%",this._div.style.backgroundColor="rgba(0, 0, 0, 0.4)",this._div.style.zIndex="100",this._div.style.transition="opacity 2s",u=document.createElement("div"),this._div.appendChild(u),u.style.width="auto",u.style.position="absolute",u.style.left="50%",u.style.top="50%",u.style.transform="translate(-50%,-50%)",u.style.background="rgba(120, 120, 0, 0.7)",u.style.color="white",u.style.fontSize="10px",u.style.background="none",u.style.display="flex",u.style.justifyContent="center",u.style.alignItems="center",h=document.createElement("div"),u.appendChild(h),h.style.pointerEvents="none",h.style.display="block",h.style.width="40px",h.innerHTML=Ja.defaultsSvg.loadingSvg,h.style.filter="drop-shadow(0px 0px 1px black)",f=document.createElement("div"),u.appendChild(f),f.style.pointerEvents="none",f.style.marginLeft="10px",f.style.display="flex",f.style.flexFlow="column",f.style.maxWidth="300px",d=document.createElement("div"),f.appendChild(d),d.style.fontSize="14px",d.style.fontWeight="800",d.style.marginBottom="5px",d.style.textShadow="0 0 2px black",v=document.createElement("div"),f.appendChild(v),v.style.fontWeight="400",v.style.textShadow="0 0 2px black";{const w=()=>{let T="Raw";l.status==="Raw"?T="初始状态":l.status==="Creating"?T="正在创建":l.status==="Created"?T="创建完成":l.status==="Error"?T="创建失败":l.status==="Reconnecting"&&(T="重新连接"),d.innerText=`${T}(${l.status})`,v.innerText=`${l.statusLog}`,(l.status==="Creating"||l.status==="Reconnecting")&&(h.innerHTML=Ja.defaultsSvg.loadingSvg),l.status==="Created"&&(h.innerHTML=Ja.defaultsSvg.successSvg),l.status==="Error"&&(h.innerHTML=Ja.defaultsSvg.warnSvg)};w();const I=this.dv(c.createNextAnimateFrameEvent(l.statusLogChanged,l.statusChanged));this.d(I.don(w))}}update(){const o=255*Math.random()|0,a=255*Math.random()|0,l=255*Math.random()|0;this._div.style.background=`rgba(${o}, ${a}, ${l}, 0.8)`}}};this.d(e.containerChanged.don(()=>{t()}))}};p(Ja,"defaultsSvg",{loadingSvg:p0,successSvg:d0,warnSvg:g0});let bh=Ja;class m0 extends c.Destroyable{constructor(e,t,r){super(),this._subContainer=e,this._overlayContainer=t,this._viewer=r;const i=this._subContainer,s=this._overlayContainer,o=this._viewer,a=()=>{const h=o.zIndex??"";i.style.zIndex=h,s.style.zIndex=h};a(),this.d(o.zIndexChanged.don(a));const l=()=>{i.style.display=o.show??!0?"block":"none"};l(),this.d(o.showChanged.don(l));const u=()=>{i.style.opacity=`${o.opacity??1}`};u(),this.d(o.opacityChanged.don(u))}}function dc(n){let e=c.getExtProp(n,"_relativeContainer");return e||(e=document.createElement("div"),e.style.position="relative",e.style.width="100%",e.style.height="100%",e.style.padding="0",e.style.margin="0",n.appendChild(e),c.setExtProp(n,"_relativeContainer",e)),e}class v0 extends c.Destroyable{constructor(t,r){super();p(this,"_subContainer",document.createElement("div"));p(this,"_overlayContainer",document.createElement("div"));p(this,"_containerStyleController");this._container=t,this._viewer=r,this._containerStyleController=this.dv(new m0(this._subContainer,this._overlayContainer,this._viewer));const{subContainer:i,overlayContainer:s}=this;i.tabIndex=-1,i.style.outline="none",i.style.width="100%",i.style.height="100%",i.onpointerdown=()=>i.focus(),s.style.position="relative",s.setAttribute("earthsdk3","earthsdk3-overlayContainer"),i.setAttribute("earthsdk3","earthsdk3-subContainer"),dc(this._container).appendChild(i),this.d(()=>dc(this._container).removeChild(i)),dc(this._container).appendChild(s),this.d(()=>dc(this._container).removeChild(s))}get subContainer(){return this._subContainer}get overlayContainer(){return this._overlayContainer}get containerStyleController(){return this._containerStyleController}get container(){return this._container}}class y0 extends c.Destroyable{constructor(){super(...arguments);p(this,"registerObjsMap",new Map)}register(t,r){return this.registerObjsMap.has(t)&&console.warn(`register warn:${t}已经被注册,再次注册会覆盖。`),this.registerObjsMap.set(t,r),t}getViewerConstructor(t){const r=this.registerObjsMap.get(t);if(!r){console.warn(`未找到${t}类!`);return}return r}createViewer(t){const r=t.type,i=this.getViewerConstructor(r);if(!i)throw new Error(`没有找到类型为${r}的Viewer构造器!`);return new i(t)}}class Ud extends c.Destroyable{constructor(e,t,r=!1,i=!1){if(super(),this._viewer=e,!t)throw new Error("ViewerCustomInteraction: container is null");const s=this.dv(c.DomElementEvent.create(t,"pointerdown")),o=this.dv(c.DomElementEvent.create(t,"pointermove")),a=this.dv(c.DomElementEvent.create(t,"pointerup")),l=this.dv(c.DomElementEvent.create(t,"pointerout")),u=this.dv(c.DomElementEvent.create(t,"pointerover")),h=this.dv(new c.PointerClick),f=this.dv(new c.PointerHover),d=()=>{const g=this._viewer.hoverTime*1e3;f.delayTime=g};this.d(this._viewer.hoverTimeChanged.don(()=>{d()})),this.d(s.don(g=>h.pointerDown(g))),this.d(o.don(g=>h.pointerMove(g))),this.d(a.don(g=>h.pointerUp(g))),this.d(l.don(g=>h.pointerOut(g))),this.d(s.don(g=>f.pointerDown(g))),this.d(o.don(g=>f.pointerMove(g))),this.d(a.don(g=>f.pointerUp(g))),this.d(l.don(g=>f.pointerOut(g)));const{x:v,y:w}=t.getBoundingClientRect(),I=i?v:0,T=i?w:0;this.d(f.hoverEvent.don(g=>{const[y,E]=c.getDomEventCurrentTargetPos(g,r);this._viewer.hoverEvent.emit({screenPosition:[y+I,E+T],pointerEvent:g})})),this.d(h.clickEvent.don(g=>{const[y,E]=c.getDomEventCurrentTargetPos(g,r);this._viewer.clickEvent.emit({screenPosition:[y+I,E+T],pointerEvent:g})})),this.d(h.dbclickEvent.don(g=>{const[y,E]=c.getDomEventCurrentTargetPos(g,r);g.button===0&&this._viewer.dblclickEvent.emit({screenPosition:[y+I,E+T],pointerEvent:g})})),this.d(s.don(g=>{const[y,E]=c.getDomEventCurrentTargetPos(g,r);g.button===0&&this._viewer.pointerDownEvent.emit({screenPosition:[y+I,E+T],pointerEvent:g})})),this.d(a.don(g=>{const[y,E]=c.getDomEventCurrentTargetPos(g,r);g.button===0&&this._viewer.pointerUpEvent.emit({screenPosition:[y+I,E+T],pointerEvent:g})})),this.d(o.don(g=>{const[y,E]=c.getDomEventCurrentTargetPos(g,r);this._viewer.pointerMoveEvent.emit({screenPosition:[y+I,E+T],pointerEvent:g})})),this.d(u.don(g=>{const[y,E]=c.getDomEventCurrentTargetPos(g,r);this._viewer.pointerOverEvent.emit({screenPosition:[y+I,E+T],pointerEvent:g})})),this.d(l.don(g=>{const[y,E]=c.getDomEventCurrentTargetPos(g,r);this._viewer.pointerOutEvent.emit({screenPosition:[y+I,E+T],pointerEvent:g})}));const L=this.dv(c.DomElementEvent.create(t,"keydown"));this.d(L.don(g=>this._viewer.keyDownEvent.emit(g)));const m=this.dv(c.DomElementEvent.create(t,"keyup"));this.d(m.don(g=>this._viewer.keyUpEvent.emit(g)));const _=this.dv(c.DomElementEvent.create(t,"wheel"));this.d(_.don(g=>this._viewer.wheelEvent.emit(g)))}}const Ni=class Ni extends c.Destroyable{constructor(t){super();p(this,"_forceRecreateEvent",this.dv(new c.Event));p(this,"_container",this.dv(c.react(void 0)));p(this,"_containerSize",this.dv(c.react(void 0)));p(this,"_editingEvent",this.disposeVar(new c.Event));p(this,"_status",this.dv(c.react("Raw")));p(this,"_statusLog",this.dv(c.react("")));p(this,"_statusContainer",this.dv(new bh(this)));p(this,"_useCustomInteraction",this.dv(c.react(!0)));p(this,"_resetInteractionEvent",this.dv(c.createNextAnimateFrameEvent(this.containerChanged,this._useCustomInteraction.changed,this._forceRecreateEvent)));p(this,"_interactionResetting",this.dv(new c.ObjResettingWithEvent(this._resetInteractionEvent,()=>{if(!(!this.container||!this._useCustomInteraction.value))return new Ud(this,this.container)})));p(this,"_viewerChanged",this.dv(new c.Event));p(this,"_containerResetEvent",this.dv(c.createNextAnimateFrameEvent(this.containerChanged,this._forceRecreateEvent)));p(this,"_containerResetting",this.dv(new c.ObjResettingWithEvent(this._containerResetEvent,()=>{if(this.container)return new v0(this.container,this)})));p(this,"_sceneObjectsMap",new Map);p(this,"_id");p(this,"_typeName");p(this,"_updateFuncReact",this.dv(c.react(void 0)));p(this,"_toDestroyFuncReact",this.dv(c.react(void 0)));p(this,"_statusInfo",Ni.defaults.statusInfo);p(this,"_navigationMode",this.dv(c.react("Map")));p(this,"_syncViewer",this.dv(c.react(void 0)));p(this,"_syncEventDon",this.dv(new c.ObjResettingWithEvent(this.syncViewerChanged,()=>{const t=this.syncViewer;if(t)return new f0(this,t)})));p(this,"_timeSyncdon",this.dv(new c.ObjResettingWithEvent(this.timeSyncChanged,()=>{if(this.timeSync)return new h0(this)})));p(this,"_hoverEvent",this.dv(new c.Event));p(this,"_pointerOverEvent",this.dv(new c.Event));p(this,"_pointerMoveEvent",this.dv(new c.Event));p(this,"_pointerDownEvent",this.dv(new c.Event));p(this,"_pointerUpEvent",this.dv(new c.Event));p(this,"_pointerOutEvent",this.dv(new c.Event));p(this,"_clickEvent",this.dv(new c.Event));p(this,"_dblclickEvent",this.dv(new c.Event));p(this,"_keyDownEvent",this.dv(new c.Event));p(this,"_keyUpEvent",this.dv(new c.Event));p(this,"_wheelEvent",this.dv(new c.Event));p(this,"_actived",this.dv(c.react(!1)));this._id=t.id??c.createGuid();const r=kd(t.container);if(r)this._container.value=Th(r),this._typeName=t.type,this._initName();else throw new Error("container is not defined");{const i=()=>{r&&(this.show??!0?r.style.display="block":r.style.display="none")};i(),this.d(this.showChanged.don(i))}{const i=this._sceneObjectsMap,s=()=>{for(let[a,l]of i.entries())if(!l&&a){const u=Ws.context.createEngineObject(a,this);u&&i.set(a,u)}},o=()=>{for(let[a,l]of i.entries())l&&!l.isDestroyed()&&l.destroy(),i.set(a,void 0)};this.d(o),this.d(this.viewerChanged.don(a=>{o(),a&&s()}))}{{const i=()=>{if(this.execOnceFuncStr)try{Function(`"use strict";return (${this.execOnceFuncStr})`)()(this)}catch(s){console.warn(`execOnceFuncStr不能转成函数!或者函数执行时错误!id: ${this.id} ${this.typeName} error: ${s}`)}};i(),this.d(this.execOnceFuncStrChanged.don(i))}{const i=()=>{if(this.updateFuncStr)try{this.updateFunc=Function(`"use strict";return (${this.updateFuncStr})`)()}catch(o){console.warn(`updateFuncStr不能转成函数!或者函数执行时错误!id: ${this.id} ${this.typeName} error: ${o}`)}};i(),this.d(this.updateFuncStrChanged.don(i));let s;this.d(()=>s&&s.destroy()),this.d(this.updateFuncChanged.don(()=>{s&&s.cancel(),this.updateFunc&&(s=s||c.createAnimateFrame(),s.restart(void 0,o=>{this.updateFunc&&this.updateFunc(this,o)}))}))}{const i=()=>{try{this.toDestroyFunc=this.toDestroyFuncStr&&Function(`"use strict";return (${this.toDestroyFuncStr})`)()||void 0}catch(s){console.warn(`toDestroyFuncStr不能转成函数!或者函数执行时错误!id: ${this.id} ${this.typeName} error: ${s}`),this.toDestroyFunc=void 0}};i(),this.d(this.toDestroyFuncStrChanged.don(i)),this.d(this.toDestroyEvent.don(()=>{this.toDestroyFunc&&this.toDestroyFunc(this)}))}}}forceRecreate(){this._forceRecreateEvent.emit()}get container(){return this._container.value}set container(t){this._container.value=t}set containerOrId(t){if(typeof t=="string"){const r=document.getElementById(t);r&&r instanceof HTMLDivElement?this._container.value=Th(r):console.warn("containerOrId warn: !(container instanceof HTMLDivElement)")}else t instanceof HTMLDivElement?this._container.value=Th(t):console.warn("containerOrId warn: setting container failed!")}get containerChanged(){return this._container.changed}get containerSize(){return this._containerSize.value}set containerSize(t){this._containerSize.value=t}get containerSizeChanged(){return this._containerSize.changed}get editingEvent(){return this._editingEvent}get status(){return this._status.value}get statusChanged(){return this._status.changed}setStatus(t){this._status.value=t}get statusLog(){return this._statusLog.value}get statusLogChanged(){return this._statusLog.changed}setStatusLog(t){this._statusLog.value=t}get useCustomInteraction(){return this._useCustomInteraction.value}set useCustomInteraction(t){this._useCustomInteraction.value=t}get viewerChanged(){return this._viewerChanged}get containerResetEvent(){return this._containerResetEvent}get subContainer(){var t;return(t=this._containerResetting.obj)==null?void 0:t.subContainer}get subContainerChanged(){return this._containerResetting.objChanged}get overlayContainer(){var t;return(t=this._containerResetting.obj)==null?void 0:t.overlayContainer}get overlayContainerChanged(){return this._containerResetting.objChanged}get sceneObjectsMap(){return this._sceneObjectsMap}get sceneObjects(){return this._sceneObjectsMap.keys()}getEngineObject(t){return this.sceneObjectsMap.get(t)}add(...t){for(let r of t)if(!this.has(r)){const i=Ws.context.createEngineObject(r,this);i&&this._sceneObjectsMap.set(r,i),r.viewerAttached.emit(this)}}delete(...t){for(let r of t)if(this.has(r)){const i=this._sceneObjectsMap.get(r);i&&i.destroy(),this._sceneObjectsMap.delete(r),r.viewerDetached.emit(this)}}disposableAdd(...t){return this.add(...t),()=>this.delete(...t)}disAdd(...t){return this.disposableAdd(...t)}has(t){return this._sceneObjectsMap.has(t)}clearAllSceneObjects(){for(let t of this.sceneObjects)this.delete(t)}get id(){return this._id}set id(t){console.warn("ESViewer id is readonly")}get typeName(){return this._typeName}_initName(){this.name=`${this.typeName}_${(""+this.id).slice(-4)}`}get defaultProps(){return Ni.createDefaultProps()}_getJson(t=!0){const r={id:this.id,type:this.typeName};for(let i of Object.keys(this.defaultProps))if(t){let s,o=this.defaultProps[i];o instanceof c.ReactiveVariable?s=o.equals(this[i]):s=o===this[i],s||(r[i]=this[i])}else r[i]=this[i];return r}_setJson(t,r,i){if(!(t instanceof Object)||t.type&&t.type!==this.typeName){console.error(`value.type && value.type${t.type} !== this.typeName${this.typeName}`);return}t.id&&t.id!==this.id&&console.warn(`value.id === undefined || value.id${t.id} !== this.id(${this.id})`);const s=r||[];s.push("id","type");const o=Object.keys(this.defaultProps).filter(a=>!s.includes(a));for(let a of o)if(a in t)this[a]=t[a]===null?void 0:t[a];else if(!(i??!1)){let l=this.defaultProps[a];l instanceof c.ReactiveVariable&&(l=l.value),this[a]=l}}get json(){return this._getJson()}set json(t){this._setJson(t,["devTags"])}get updateFunc(){return this._updateFuncReact.value}set updateFunc(t){this._updateFuncReact.value=t}get updateFuncChanged(){return this._updateFuncReact.changed}get toDestroyFunc(){return this._toDestroyFuncReact.value}set toDestroyFunc(t){this._toDestroyFuncReact.value=t}get toDestroyFuncChanged(){return this._toDestroyFuncReact.changed}get navigationMode(){return this._navigationMode.value}get navigationModeChanged(){return this._navigationMode.changed}getNavigationMode(){return this._navigationMode.value}getEngineType(){return this._typeName}get syncViewer(){return this._syncViewer.value}set syncViewer(t){this._syncViewer.value=t}get syncViewerChanged(){return this._syncViewer.changed}syncOtherViewer(t){t&&t.syncViewer&&(t.syncViewer=void 0),t===this?this._syncViewer.value=void 0:this._syncViewer.value=t}setCurrentTime(t){try{this.currentTime=typeof t=="string"?Date.parse(t):t}catch(r){console.warn(`时间格式不正确! value: ${t} error: ${r}`)}}async getVersion(){return window.g_XE3CopyRights??{}}get hoverEvent(){return this._hoverEvent}get pointerOverEvent(){return this._pointerOverEvent}get pointerMoveEvent(){return this._pointerMoveEvent}get pointerDownEvent(){return this._pointerDownEvent}get pointerUpEvent(){return this._pointerUpEvent}get pointerOutEvent(){return this._pointerOutEvent}get clickEvent(){return this._clickEvent}get dblclickEvent(){return this._dblclickEvent}get keyDownEvent(){return this._keyDownEvent}get keyUpEvent(){return this._keyUpEvent}get wheelEvent(){return this._wheelEvent}getProperties(t){return[new z("ESViewer","ESViewer",[new ie("强制刷新","重载",[],()=>this.forceRecreate(),[]),new k("debug","debug",!0,!1,[this,"debug"],Ni.defaults.debug),new k("是否可见","是否可见",!0,!1,[this,"show"]),new Y("位置点单位","lonLatFormat",!0,!1,[this,"lonLatFormat"],[["度","DECIMAL_DEGREE"],["度分","DEGREES_DECIMAL_MINUTES"],["度分秒","SEXAGESIMAL_DEGREE"]]),new k("是否开启文字避让","textAvoidance",!0,!1,[this,"textAvoidance"],!1),new J("ionAccessToken","ionAccessToken",!1,!1,[this,"ionAccessToken"]),new S("时钟","时钟",!1,!1,[this,"currentTime"]),new k("globeShow","globeShow",!0,!1,[this,"globeShow"]),new k("atmosphere","atmosphere",!1,!1,[this,"atmosphere"])]),new S("飞行像素范围","默认飞行定位时对象包围球所占的屏幕像素大小",!1,!1,[this,"flyToBoundingSize"]),new S("编辑高度偏移","编辑时默认的高度偏移",!1,!1,[this,"editingHeightOffset"]),new z("Globe","Globe",[new G("地形着色器","可以设置地形全局坡度,坡向,高程带,等高线等",!1,!1,[this,"terrainShader"])])]}get actived(){return this._actived.value}set actived(t){this._actived.value=t}get activedChanged(){return this._actived.changed}};p(Ni,"context",new y0),p(Ni,"register",Ni.context.register.bind(Ni.context)),p(Ni,"defaults",{show:!0,debug:!1,statusInfo:{fps:0,position:[0,0,0],rotation:[0,0,0],length:0},terrainShader:{slope:{show:!1},aspect:{show:!1},elevationRamp:{show:!1,minHeight:-414,maxHeight:8777,color:[]},elevationContour:{show:!1,color:[1,0,0,1],spacing:150,width:2}},globeShow:!0});let Zn=Ni;(n=>{n.createBaseProps=()=>({name:"未命名场景对象",extras:c.reactJson(void 0),devTags:c.reactArrayWithUndefined(void 0),debug:void 0,show:void 0,opacity:void 0,zIndex:void 0,useDefaultStatusDiv:!0,execOnceFuncStr:void 0,updateFuncStr:void 0,toDestroyFuncStr:void 0}),n.createCommonProps=()=>({globeShow:!0,ionAccessToken:"",lonLatFormat:"DECIMAL_DEGREE",fov:60,textAvoidance:!1,flyToBoundingSize:256,hoverTime:2,currentTime:Date.now(),simulationTime:Date.now(),timeSync:!1,rain:0,snow:0,cloud:0,fog:0,depthOfField:0,atmosphere:!0,editingPointSize:void 0,editingPointColor:c.reactArrayWithUndefined(void 0),editingAuxiliaryPointColor:c.reactArrayWithUndefined(void 0),editingLineWidth:void 0,editingLineColor:c.reactArrayWithUndefined(void 0),editingAxisSize:void 0,editingAuxiliaryPointSize:void 0,editingHeightOffset:0,editingLineShow:!0,editingEventListening:!0,terrainShader:n.defaults.terrainShader}),n.createDefaultProps=()=>({...(0,n.createBaseProps)(),...(0,n.createCommonProps)()})})(Zn||(Zn={})),c.extendClassProps(Zn.prototype,Zn.createDefaultProps);function Gd(n,e){const t=n._lastCameraInfo;if(t){const r=e.viewerChanged.don(i=>{if(!i||!t)return;const{position:s,rotation:o}=t;e.flyIn(s,o,0),n._lastCameraInfo=void 0,r()})}}const _0=n=>{const e=Zn.createCommonProps(),t={};try{Object.keys(e).forEach(r=>{t[r]=n[r]})}catch(r){console.warn(r)}return t},Wd=(n,e)=>{const t=Zn.createCommonProps();try{Object.keys(t).forEach(r=>{n[r]=e[r]})}catch(r){console.warn(r)}};class w0 extends c.Destroyable{constructor(t){super();p(this,"_viewersChanged",this.disposeVar(new c.Event));p(this,"_viewers",new Set);p(this,"_viewersToChange",this.dv(new c.Event));this._sceneObjectsManager=t,this.d(()=>{for(const r of this._viewers)this.destroyViewer(r);this._viewers.clear()}),this.viewers.forEach(r=>{const i=this._sceneObjectsManager.sceneObjects;r.add(...i)}),this.d(()=>{const r=this._sceneObjectsManager.sceneObjects;this.viewers.forEach(i=>{i.delete(...r)})}),this.d(this._sceneObjectsManager.sceneObjectsToChange.don((r,i)=>{this.viewers.forEach(s=>{i.forEach(o=>{Yi(s.devTags,o.devTags)&&(s.has(o)?console.warn(`${s.typeName}中已存${o.typeName},检查逻辑是否有问题!`):s.add(o))}),r.forEach(o=>{Yi(s.devTags,o.devTags)&&(s.has(o)?s.delete(o):console.warn(`${s.typeName}中不存在${o.typeName},检查逻辑是否有问题!`))})}),i.length>0&&i.forEach(s=>{s.d(s.devTagsChanged.don(()=>{this.viewers.forEach(o=>{o.has(s)&&o.delete(s),console.log("sceneObjectsToChange",o.devTags,s.devTags,Yi(o.devTags,s.devTags)),Yi(o.devTags,s.devTags)&&(o.has(s)?console.warn(`${o.typeName}中已存${s.typeName},检查逻辑是否有问题!`):o.add(s))})}))})})),this.d(this.viewersChanged.don((r,i)=>{const s=this._sceneObjectsManager.sceneObjects;i.forEach(o=>{for(let a of s)Yi(o.devTags,a.devTags)&&(o.has(a)?console.warn(`${o.typeName}中已存${a.typeName},检查逻辑是否有问题!`):o.add(a))}),r.forEach(o=>{for(let a of s)Yi(o.devTags,a.devTags)&&(o.has(a)?o.delete(a):console.warn(`${o.typeName}中不存在${a.typeName},检查逻辑是否有问题!`))}),i.length>0&&i.forEach(o=>{o.d(o.devTagsChanged.don(()=>{o.clearAllSceneObjects();const a=this._sceneObjectsManager.sceneObjects;for(let l of a)console.log("viewersChanged",o.devTags,l.devTags,Yi(o.devTags,l.devTags)),Yi(o.devTags,l.devTags)&&(o.has(l)?console.warn(`${o.typeName}中已存${l.typeName},检查逻辑是否有问题!`):o.add(l))}))})}))}get viewersChanged(){return this._viewersChanged}get viewers(){return this._viewers}getViewers(){return[...this._viewers]}get viewersToChange(){return this._viewersToChange}createViewer(t){const r=Zn.context.createViewer(t);return this._viewers.add(r),this._viewersChanged.emit([],[r]),r}destroyViewer(t){return t.isDestroyed()?!0:(this._viewers.delete(t),this._viewersChanged.emit([t],[]),t.destroy(),t.isDestroyed())}}function qd(n,e,t,r){if(t)r.currentActiveEditing=[n,e];else if(r.currentActiveEditing){const[i,s]=r.currentActiveEditing;i===n&&s===e&&(t||(r.currentActiveEditing=void 0))}}const E0=["editing","positionEditing","locationEditing","pointEditing","rotationEditing"];class S0 extends c.Destroyable{constructor(e,t){super(),this._sceneObject=e;const r=this._sceneObject;for(let i of E0){const s=i+"Changed",o=r[s];if(o){{const a=r[i];qd(r,i,a,t)}this.dispose(o.disposableOn(a=>qd(r,i,a,t)))}}}get sceneObject(){return this._sceneObject}}class C0 extends c.Destroyable{constructor(){super();p(this,"_currentActiveEditing",this.disposeVar(c.reactArrayWithUndefined(void 0)));p(this,"_currentActiveEditingLastChangedTime",0);this.dispose(this._currentActiveEditing.changed.disposableOn((t,r)=>{if(this._currentActiveEditingLastChangedTime=Date.now(),r){const[i,s]=r;i[s]===!0&&(i[s]=!1)}if(t){const[i,s]=t;i[s]=!0}})),j.context.sceneObjCreatedEvent.don(t=>{t.dv(new S0(t,this))})}get currentActiveEditing(){return this._currentActiveEditing.value}set currentActiveEditing(t){this._currentActiveEditing.value=t}get currentActiveEditingChanged(){return this._currentActiveEditing.changed}get currentActiveEditingLastChangedTime(){return this._currentActiveEditingLastChangedTime}}class xs extends c.Destroyable{constructor(...t){super();p(this,"_drgm",this.dv(new jp));p(this,"_sobjm",this.dv(new c0));p(this,"_vrm",this.dv(new w0(this._sobjm)));p(this,"_sceneObjectEditingManager",this.disposeVar(new C0));p(this,"_activeViewer",this.dv(c.react(void 0)));p(this,"_syncOtherViewersToActived",this.dv(c.react(!1)));p(this,"_cmrvm",this.createSceneObjectFromClass(bs));p(this,"_cmrvmdon",this.d(()=>this._cmrvm&&this.destroySceneObject(this._cmrvm)));p(this,"_asset",{type:"ESObjectsManager",version:"0.1.0",createdTime:"",modifiedTime:"",name:"未命名项目"});p(this,"_sceneTree",this.dv(new fu("default",this.dragstartDataMananger,24,this)));p(this,"_propUiTreeManager",this.dv(new bl(24)));p(this,"_sceneTreeMap",new Map);p(this,"_viewerCreatedEvent",this.dv(new c.Event));p(this,"_lastCameraInfo");p(this,"_lastActiveViewerJson");p(this,"syncEvent",this.dv(c.createNextAnimateFrameEvent(this.activeViewerChanged,this.syncOtherViewersToActivedChanged)));p(this,"_syncEventDon",this.d(this.syncEvent.don(()=>{const t=this.syncOtherViewersToActived;this.viewers.forEach(r=>{t?r.syncOtherViewer(this.activeViewer):r.syncOtherViewer(void 0)})})));p(this,"_player",this.createSceneObjectFromClass(Ji));p(this,"_playerdon",this.d(()=>this._player&&this.destroySceneObject(this._player)));p(this,"_esPlyarAndPathTime",this.dv(new o0(this)));p(this,"_pathAnimationManager",this.dv(new l0(this)))}static get envs(){return j.context.environmentVariables}getSceneObjectById(t){return j.getSceneObjectById(t)}getSceneObject(t){return j.getSceneObject(t)}get $refs(){return j.$refs}get dragstartDataMananger(){return this._drgm}get sceneObjectsManager(){return this._sobjm}get viewers(){return this._vrm.viewers}getViewers(){return this._vrm.getViewers()}get sceneObjectEditingManager(){return this._sceneObjectEditingManager}get activeViewer(){return this._activeViewer.value}set activeViewer(t){this._activeViewer.value=t}get activeViewerChanged(){return this._activeViewer.changed}get syncOtherViewersToActived(){return this._syncOtherViewersToActived.value}set syncOtherViewersToActived(t){this._syncOtherViewersToActived.value=t}get syncOtherViewersToActivedChanged(){return this._syncOtherViewersToActived.changed}get cameraViewsManager(){return this._cmrvm}get json(){var f;const t=this._asset.createdTime||new Date().toISOString(),r=new Date().toISOString(),i=this._asset.name||"未命名项目",o={type:"ESObjectsManager",version:this._asset.version||"0.1.0",createdTime:t,modifiedTime:r,name:i},a=this.sceneTree.json,l=this._cmrvm.views,u=[...this._vrm.viewers].map(d=>d.json),h=(f=this.activeViewer)==null?void 0:f.getCurrentCameraInfo();return{asset:o,viewers:u,sceneTree:a,viewCollection:l,lastView:h}}set json(t){try{if(!t.asset)return;if(!t.asset.type||t.asset.type!=="ESObjectsManager"){console.warn("json装配失败! asset.type 不存在或者不是'ESObjectsManager'");return}if(this._asset.createdTime=t.asset&&t.asset.createdTime||new Date().toISOString(),this._asset.modifiedTime=t.asset&&t.asset.modifiedTime||"",this._asset.name=t.asset&&t.asset.name||"未命名项目",this._asset.version=t.asset&&t.asset.version||"0.1.0",t.sceneTree&&(this.sceneTree.json=t.sceneTree),t.viewCollection&&(this._cmrvm.views=t.viewCollection),!t.viewers||!Array.isArray(t.viewers)){console.warn("viewers is not an array or does not exist !");return}if(this._vrm.viewers.size===0||t.viewers.length===0){console.warn("viewers is empty !");return}this._vrm.viewers.forEach(r=>{const i=t.viewers.find(s=>s.id===r.id);i&&(r.json=i)})}catch(r){console.error(`ESObjectsManager解析json数据时发生错误! error: ${r}`)}}get sceneTree(){return this._sceneTree}get jsonLoadingEvent(){return this._sceneTree.jsonLoadingEvent}get propUiTreeManager(){return this._propUiTreeManager}propTreeCallback(t){return u0(this,t)}getSceneTrees(){return[...this._sceneTreeMap.values()]}getSceneTree(t="default"){if(t==="default")return this._sceneTree;if(!this._sceneTreeMap.has(t)){console.warn(`id为${t}的SceneTree不存在!`);return}return this._sceneTreeMap.get(t)}createSceneTree(t,r=24){if(this._sceneTreeMap.has(t)||t==="default")console.warn(`id为${t}的SceneTree已存在!`);else{const i=this.dv(new fu(t,this.dragstartDataMananger,r,this));this._sceneTreeMap.set(t,i)}return this.getSceneTree(t)}get viewerCreatedEvent(){return this._viewerCreatedEvent}createViewer(t){const r=this._vrm.createViewer(t);this.activeViewer||(this.activeViewer=r);const i=this.d(r.viewerChanged.don(s=>{s&&(this._viewerCreatedEvent.emit(r),i())}));return r}destroyViewer(t){return this._activeViewer.value===t&&(this._activeViewer.value=void 0),this._vrm.destroyViewer(t)}switchViewer(t,r=!0,i=!0,s=!0){var u;this.activeViewer&&this.activeViewer.getNavigationMode()!=="Map"&&this.activeViewer.changeToMap(),!this._lastCameraInfo&&r&&(this._lastCameraInfo=(u=this.activeViewer)==null?void 0:u.getCurrentCameraInfo()),!this._lastActiveViewerJson&&i&&(this._lastActiveViewerJson=this.activeViewer?_0(this.activeViewer):void 0),s&&this.activeViewer&&this.destroyViewer(this.activeViewer);const o=t.id,a=o?[...this.getViewers()].find(h=>h.id===o):[...this.getViewers()].find(h=>h.typeName===t.type);if(a)if(o&&a.typeName!==t.type)console.warn(`id为${o}的viewer的typeName和option.type${t.type}不相同!,虽然id一致但是typeName不同,所以会销毁并创建新的viewer`),this.destroyViewer(a);else return console.log("ESViewer exists, will be used"),r&&Gd(this,a),i&&this._lastActiveViewerJson&&(Wd(a,this._lastActiveViewerJson),this._lastActiveViewerJson=void 0),a.container===kd(t.container)?(a.containerOrId=t.container,a.forceRecreate()):a.containerOrId=t.container,this.activeViewer=a,a;console.log("No ESViewer exists, will be created");const l=this.createViewer(t);return r&&Gd(this,l),i&&this._lastActiveViewerJson&&(Wd(l,this._lastActiveViewerJson),this._lastActiveViewerJson=void 0),this.activeViewer=l,l}switchToCesiumViewer(...t){if(typeof t[0]=="object"&&!(t[0]instanceof HTMLDivElement)){const{container:r,viewSync:i,attributeSync:s,destroy:o,id:a}=t[0];return this.switchViewer({type:"ESCesiumViewer",container:r,id:a},i??!0,s??!0,o??!0)}else if(typeof t[0]=="string"||t[0]instanceof HTMLDivElement){const r={container:t[0],viewSync:t[1]??!0,attributeSync:t[2]??!0,destroy:t[3]??!0,id:t[4]},{container:i,viewSync:s,attributeSync:o,destroy:a,id:l}=r;return this.switchViewer({type:"ESCesiumViewer",container:i,id:l},s,o,a)}}switchToUEViewer(...t){let r,i={viewSync:!0,attributeSync:!0,destroy:!0};if(typeof t[0]=="object"&&!(t[0]instanceof HTMLDivElement)&&t[0].hasOwnProperty("uri")){const{container:l,uri:u,app:h,token:f,viewSync:d,attributeSync:v,destroy:w,id:I}=t[0];r={type:"ESUeViewer",container:l,id:I,options:{uri:u,app:h,token:f}},i={viewSync:d??!0,attributeSync:v??!0,destroy:w??!0}}else if(typeof t[0]=="object"&&!(t[0]instanceof HTMLDivElement)&&t[0].hasOwnProperty("ws")){const{container:l,ws:u,esmsg:h,viewSync:f,attributeSync:d,id:v,destroy:w}=t[0];r={type:"ESUeViewer",container:l,id:v,options:{ws:u,esmsg:h}},i={viewSync:f??!0,attributeSync:d??!0,destroy:w??!0}}else if(typeof t[0]=="object"&&!(t[0]instanceof HTMLDivElement)&&t[0].hasOwnProperty("project")){const{container:l,project:u,baseUrl:h,viewSync:f,attributeSync:d,id:v,destroy:w}=t[0];r={type:"ESUeViewer",container:l,id:v,options:{project:u,baseUrl:h}},i={viewSync:f??!0,attributeSync:d??!0,destroy:w??!0}}else(typeof t[0]=="string"||t[0]instanceof HTMLDivElement)&&(typeof t[1]=="string"&&t[1].startsWith("ws")?(r={type:"ESUeViewer",container:t[0],id:t[6],options:{ws:t[1],esmsg:t[2]??void 0}},i={viewSync:t[3]??!0,attributeSync:t[4]??!0,destroy:t[5]??!0}):typeof t[1]=="string"&&t[1].startsWith("http")?(r={type:"ESUeViewer",container:t[0],id:t[7],options:{uri:t[1],app:t[2],token:t[3]??void 0}},i={viewSync:t[4]??!0,attributeSync:t[5]??!0,destroy:t[6]??!0}):(r={type:"ESUeViewer",container:t[0],id:t[6],options:{project:t[1],baseUrl:t[2]??void 0}},i={viewSync:t[3]??!0,attributeSync:t[4]??!0,destroy:t[5]??!0}));if(!r)throw new Error("参数错误");const{viewSync:s,attributeSync:o,destroy:a}=i;return this.switchViewer(r,s,o,a)}createCesiumViewer(...t){let r;if(typeof t[0]=="object"&&!(t[0]instanceof HTMLDivElement)?r={...t[0],type:"ESCesiumViewer"}:(typeof t[0]=="string"||t[0]instanceof HTMLDivElement)&&(r={container:t[0],options:t[1]??void 0,id:t[2]??void 0,type:"ESCesiumViewer"}),!r)throw new Error("参数错误");return this.createViewer(r)}createUeViewer(...t){let r;if(typeof t[0]=="object"&&!(t[0]instanceof HTMLDivElement)?r={...t[0],type:"ESUeViewer"}:(typeof t[0]=="string"||t[0]instanceof HTMLDivElement)&&(typeof t[1]=="string"&&t[1].startsWith("ws")?r={type:"ESUeViewer",container:t[0],id:t[3]??void 0,options:{ws:t[1],esmsg:t[2]??void 0}}:typeof t[1]=="string"&&t[1].startsWith("http")?r={type:"ESUeViewer",container:t[0],id:t[4]??void 0,options:{uri:t[1],app:t[2],token:t[3]??void 0}}:r={type:"ESUeViewer",container:t[0],id:t[3]??void 0,options:{project:t[1],baseUrl:t[2]??void 0}}),!r)throw new Error("参数错误");return this.createViewer(r)}createSceneObject(t,r){return this._sobjm.createSceneObject(t,r)}createSceneObjectFromClass(t,r){return this._sobjm.createSceneObjectFromClass(t,r)}createSceneObjectFromJson(t){return this._sobjm.createSceneObjectFromJson(t)}destroySceneObject(t){const r=this._sobjm.deleteSceneObject(t);return t.destroy(),r}destroyAllSceneObjects(){const t=[...this._sobjm.sceneObjects];for(let r of t)r!=this._player&&r!=this._cmrvm&&this.destroySceneObject(r)}get player(){return this._player}get esPlyarAndPathTime(){return this._esPlyarAndPathTime}get pathAnimationManager(){return this._pathAnimationManager}}p(xs,"getSceneObjById",j.context.getSceneObjectById.bind(j.context)),p(xs,"getEnv",j.context.getEnv.bind(j.context)),p(xs,"setEnv",j.context.setEnv.bind(j.context)),(n=>{n.createDefaultProps=()=>({})})(xs||(xs={})),c.extendClassProps(xs.prototype,xs.createDefaultProps);function P0(){const n=navigator.userAgent;let e="Unknown";/Windows/.test(n)?e="Windows":/Macintosh/.test(n)?e="MacOS":/Linux/.test(n)?e="Linux":/Android/.test(n)?e="Android":/iOS|iPhone|iPad|iPod/.test(n)&&(e="iOS");let t="Unknown";return/x64|x86_64|Win64|WOW64/.test(n)?t="x64":/x86|i686|Win32/.test(n)?t="x86":/arm64|aarch64/.test(n)?t="arm64":/arm/.test(n)&&(t="arm"),{os:e.toLocaleLowerCase(),arch:t.toLocaleLowerCase()}}const I0=Date.now();function Xd(n){const{os:e,arch:t}=P0(),r={version:n.version,commitdate:n.date,commitId:n.commitId,runningTime:(Date.now()-I0)/1e3/60|0,date:new Date().toLocaleString(),href:window.location.href,os:e,arch:t},s={method:"GET",headers:new Headers,redirect:"follow"},o=window.encodeURIComponent(JSON.stringify(r));fetch(`https://account.bjxbsj.cn/api/product/record?product=EarthSDKJS&content=${o}`,s).then(a=>a.text()).then(a=>console.log(a)).catch(a=>console.log("error",a))}P.copyright=void 0;try{const n="earthsdk3",e="3.0.7-beta.7",t="2025-05-23T02:41:15.000Z",r="北京西部世界科技有限公司",i="地球可视化实验室 (EarthSDK&CesiumLab) https://www.bjxbsj.cn",s="07a3f1b090e4fa89f3e9b464480993ab681c3edb",a=((Date.now()-1747968075e3)/36e5).toFixed(1),l=`%c🌏 ${n}%c ${e}.${s.slice(0,8)}.${t} (距今${a}个小时)
548
+ `,v0='<svg t="1747028305766" class="icon" viewBox="0 0 1032 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3881" width="40" height="40"><path d="M0.1536 547.700736c-0.205824-0.187392-0.205824-0.49152 0.008192-0.68608l80.672768-73.590784a0.63488 0.63488 0 0 1 0.7936-0.029696l263.043072 203.0336c0.667648 0.515072 1.738752 0.498688 2.393088-0.038912l609.191936-500.133888a0.605184 0.605184 0 0 1 0.768 0.022528l74.84928 67.229696a0.454656 0.454656 0 0 1-0.002048 0.685056l-685.234176 618.19904a1.14688 1.14688 0 0 1-1.518592-0.012288L0.1536 547.700736z" fill="#ffffff" p-id="3882"></path></svg>',y0='<svg t="1747028398107" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1146" width="40" height="40"><path d="M415.744006 1.033277A0.992256 0.992256 0 0 1 416.747526 0.000061h189.5045c0.569344 0 1.017856 0.45056 1.001472 1.033216l-21.227518 754.803667a1.062912 1.062912 0 0 1-1.05984 1.032192h-146.933752c-0.569344 0-1.04448-0.45056-1.059839-1.032192L415.744006 1.033277zM511.510528 1024c-52.595709 0-95.231994-39.866366-95.231994-89.043963 0-49.176573 42.636285-89.042939 95.231994-89.042938 52.594685 0 95.231994 39.866366 95.231994 89.042938 0 49.177597-42.637309 89.043963-95.231994 89.043963z" fill="#ffffff" p-id="1147"></path></svg>',Ja=class Ja extends c.Destroyable{constructor(e){super();const t=()=>{const r=this.dv(new Ds);this.d(c.track([r,"show"],[e,"useDefaultStatusDiv"]));{const i=()=>{r.show=(e.useDefaultStatusDiv??!0)&&e.status!=="Created"};i(),this.d(e.useDefaultStatusDivChanged.don(i)),this.d(e.statusChanged.don(i)),r.cssText="width:100%;height:100%;position:absolute;left:0px;top:0px;"}e.add(r),this.d(()=>e.delete(r)),r.instanceClass=class extends c.Destroyable{constructor(o,a,l){super();d(this,"_div",document.createElement("div"));if(this._subContainer=o,!l)return;this._subContainer.appendChild(this._div),this.d(()=>this._subContainer.removeChild(this._div));{const w=()=>{a.show?this._div.style.opacity="1":this._div.style.opacity="0"};w(),this.d(a.showChanged.don(w))}let u,h,f,p,v;this._div.style.pointerEvents="none",this._div.style.position="absolute",this._div.style.width="100%",this._div.style.height="100%",this._div.style.backgroundColor="rgba(0, 0, 0, 0.4)",this._div.style.zIndex="100",this._div.style.transition="opacity 2s",u=document.createElement("div"),this._div.appendChild(u),u.style.width="auto",u.style.position="absolute",u.style.left="50%",u.style.top="50%",u.style.transform="translate(-50%,-50%)",u.style.background="rgba(120, 120, 0, 0.7)",u.style.color="white",u.style.fontSize="10px",u.style.background="none",u.style.display="flex",u.style.justifyContent="center",u.style.alignItems="center",h=document.createElement("div"),u.appendChild(h),h.style.pointerEvents="none",h.style.display="block",h.style.width="40px",h.innerHTML=Ja.defaultsSvg.loadingSvg,h.style.filter="drop-shadow(0px 0px 1px black)",f=document.createElement("div"),u.appendChild(f),f.style.pointerEvents="none",f.style.marginLeft="10px",f.style.display="flex",f.style.flexFlow="column",f.style.maxWidth="300px",p=document.createElement("div"),f.appendChild(p),p.style.fontSize="14px",p.style.fontWeight="800",p.style.marginBottom="5px",p.style.textShadow="0 0 2px black",v=document.createElement("div"),f.appendChild(v),v.style.fontWeight="400",v.style.textShadow="0 0 2px black";{const w=()=>{let T="Raw";l.status==="Raw"?T="初始状态":l.status==="Creating"?T="正在创建":l.status==="Created"?T="创建完成":l.status==="Error"?T="创建失败":l.status==="Reconnecting"&&(T="重新连接"),p.innerText=`${T}(${l.status})`,v.innerText=`${l.statusLog}`,(l.status==="Creating"||l.status==="Reconnecting")&&(h.innerHTML=Ja.defaultsSvg.loadingSvg),l.status==="Created"&&(h.innerHTML=Ja.defaultsSvg.successSvg),l.status==="Error"&&(h.innerHTML=Ja.defaultsSvg.warnSvg)};w();const I=this.dv(c.createNextAnimateFrameEvent(l.statusLogChanged,l.statusChanged));this.d(I.don(w))}}update(){const o=255*Math.random()|0,a=255*Math.random()|0,l=255*Math.random()|0;this._div.style.background=`rgba(${o}, ${a}, ${l}, 0.8)`}}};this.d(e.containerChanged.don(()=>{t()}))}};d(Ja,"defaultsSvg",{loadingSvg:m0,successSvg:v0,warnSvg:y0});let bh=Ja;class _0 extends c.Destroyable{constructor(e,t,r){super(),this._subContainer=e,this._overlayContainer=t,this._viewer=r;const i=this._subContainer,s=this._overlayContainer,o=this._viewer,a=()=>{const h=o.zIndex??"";i.style.zIndex=h,s.style.zIndex=h};a(),this.d(o.zIndexChanged.don(a));const l=()=>{i.style.display=o.show??!0?"block":"none"};l(),this.d(o.showChanged.don(l));const u=()=>{i.style.opacity=`${o.opacity??1}`};u(),this.d(o.opacityChanged.don(u))}}function pc(n){let e=c.getExtProp(n,"_relativeContainer");return e||(e=document.createElement("div"),e.style.position="relative",e.style.width="100%",e.style.height="100%",e.style.padding="0",e.style.margin="0",n.appendChild(e),c.setExtProp(n,"_relativeContainer",e)),e}class w0 extends c.Destroyable{constructor(t,r){super();d(this,"_subContainer",document.createElement("div"));d(this,"_overlayContainer",document.createElement("div"));d(this,"_containerStyleController");this._container=t,this._viewer=r,this._containerStyleController=this.dv(new _0(this._subContainer,this._overlayContainer,this._viewer));const{subContainer:i,overlayContainer:s}=this;i.tabIndex=-1,i.style.outline="none",i.style.width="100%",i.style.height="100%",i.onpointerdown=()=>i.focus(),s.style.position="relative",s.setAttribute("earthsdk3","earthsdk3-overlayContainer"),i.setAttribute("earthsdk3","earthsdk3-subContainer"),pc(this._container).appendChild(i),this.d(()=>pc(this._container).removeChild(i)),pc(this._container).appendChild(s),this.d(()=>pc(this._container).removeChild(s))}get subContainer(){return this._subContainer}get overlayContainer(){return this._overlayContainer}get containerStyleController(){return this._containerStyleController}get container(){return this._container}}class E0 extends c.Destroyable{constructor(){super(...arguments);d(this,"registerObjsMap",new Map)}register(t,r){return this.registerObjsMap.has(t)&&console.warn(`register warn:${t}已经被注册,再次注册会覆盖。`),this.registerObjsMap.set(t,r),t}getViewerConstructor(t){const r=this.registerObjsMap.get(t);if(!r){console.warn(`未找到${t}类!`);return}return r}createViewer(t){const r=t.type,i=this.getViewerConstructor(r);if(!i)throw new Error(`没有找到类型为${r}的Viewer构造器!`);return new i(t)}}class Gp extends c.Destroyable{constructor(e,t,r=!1,i=!1){if(super(),this._viewer=e,!t)throw new Error("ViewerCustomInteraction: container is null");const s=this.dv(c.DomElementEvent.create(t,"pointerdown")),o=this.dv(c.DomElementEvent.create(t,"pointermove")),a=this.dv(c.DomElementEvent.create(t,"pointerup")),l=this.dv(c.DomElementEvent.create(t,"pointerout")),u=this.dv(c.DomElementEvent.create(t,"pointerover")),h=this.dv(new c.PointerClick),f=this.dv(new c.PointerHover),p=()=>{const g=this._viewer.hoverTime*1e3;f.delayTime=g};this.d(this._viewer.hoverTimeChanged.don(()=>{p()})),this.d(s.don(g=>h.pointerDown(g))),this.d(o.don(g=>h.pointerMove(g))),this.d(a.don(g=>h.pointerUp(g))),this.d(l.don(g=>h.pointerOut(g))),this.d(s.don(g=>f.pointerDown(g))),this.d(o.don(g=>f.pointerMove(g))),this.d(a.don(g=>f.pointerUp(g))),this.d(l.don(g=>f.pointerOut(g)));const{x:v,y:w}=t.getBoundingClientRect(),I=i?v:0,T=i?w:0;this.d(f.hoverEvent.don(g=>{const[y,E]=c.getDomEventCurrentTargetPos(g,r);this._viewer.hoverEvent.emit({screenPosition:[y+I,E+T],pointerEvent:g})})),this.d(h.clickEvent.don(g=>{const[y,E]=c.getDomEventCurrentTargetPos(g,r);this._viewer.clickEvent.emit({screenPosition:[y+I,E+T],pointerEvent:g})})),this.d(h.dbclickEvent.don(g=>{const[y,E]=c.getDomEventCurrentTargetPos(g,r);g.button===0&&this._viewer.dblclickEvent.emit({screenPosition:[y+I,E+T],pointerEvent:g})})),this.d(s.don(g=>{const[y,E]=c.getDomEventCurrentTargetPos(g,r);g.button===0&&this._viewer.pointerDownEvent.emit({screenPosition:[y+I,E+T],pointerEvent:g})})),this.d(a.don(g=>{const[y,E]=c.getDomEventCurrentTargetPos(g,r);g.button===0&&this._viewer.pointerUpEvent.emit({screenPosition:[y+I,E+T],pointerEvent:g})})),this.d(o.don(g=>{const[y,E]=c.getDomEventCurrentTargetPos(g,r);this._viewer.pointerMoveEvent.emit({screenPosition:[y+I,E+T],pointerEvent:g})})),this.d(u.don(g=>{const[y,E]=c.getDomEventCurrentTargetPos(g,r);this._viewer.pointerOverEvent.emit({screenPosition:[y+I,E+T],pointerEvent:g})})),this.d(l.don(g=>{const[y,E]=c.getDomEventCurrentTargetPos(g,r);this._viewer.pointerOutEvent.emit({screenPosition:[y+I,E+T],pointerEvent:g})}));const L=this.dv(c.DomElementEvent.create(t,"keydown"));this.d(L.don(g=>this._viewer.keyDownEvent.emit(g)));const m=this.dv(c.DomElementEvent.create(t,"keyup"));this.d(m.don(g=>this._viewer.keyUpEvent.emit(g)));const _=this.dv(c.DomElementEvent.create(t,"wheel"));this.d(_.don(g=>this._viewer.wheelEvent.emit(g)))}}const Ni=class Ni extends c.Destroyable{constructor(t){super();d(this,"_forceRecreateEvent",this.dv(new c.Event));d(this,"_container",this.dv(c.react(void 0)));d(this,"_containerSize",this.dv(c.react(void 0)));d(this,"_editingEvent",this.disposeVar(new c.Event));d(this,"_status",this.dv(c.react("Raw")));d(this,"_statusLog",this.dv(c.react("")));d(this,"_statusContainer",this.dv(new bh(this)));d(this,"_useCustomInteraction",this.dv(c.react(!0)));d(this,"_resetInteractionEvent",this.dv(c.createNextAnimateFrameEvent(this.containerChanged,this._useCustomInteraction.changed,this._forceRecreateEvent)));d(this,"_interactionResetting",this.dv(new c.ObjResettingWithEvent(this._resetInteractionEvent,()=>{if(!(!this.container||!this._useCustomInteraction.value))return new Gp(this,this.container)})));d(this,"_viewerChanged",this.dv(new c.Event));d(this,"_containerResetEvent",this.dv(c.createNextAnimateFrameEvent(this.containerChanged,this._forceRecreateEvent)));d(this,"_containerResetting",this.dv(new c.ObjResettingWithEvent(this._containerResetEvent,()=>{if(this.container)return new w0(this.container,this)})));d(this,"_sceneObjectsMap",new Map);d(this,"_id");d(this,"_typeName");d(this,"_updateFuncReact",this.dv(c.react(void 0)));d(this,"_toDestroyFuncReact",this.dv(c.react(void 0)));d(this,"_statusInfo",Ni.defaults.statusInfo);d(this,"_navigationMode",this.dv(c.react("Map")));d(this,"_syncViewer",this.dv(c.react(void 0)));d(this,"_syncEventDon",this.dv(new c.ObjResettingWithEvent(this.syncViewerChanged,()=>{const t=this.syncViewer;if(t)return new g0(this,t)})));d(this,"_timeSyncdon",this.dv(new c.ObjResettingWithEvent(this.timeSyncChanged,()=>{if(this.timeSync)return new p0(this)})));d(this,"_hoverEvent",this.dv(new c.Event));d(this,"_pointerOverEvent",this.dv(new c.Event));d(this,"_pointerMoveEvent",this.dv(new c.Event));d(this,"_pointerDownEvent",this.dv(new c.Event));d(this,"_pointerUpEvent",this.dv(new c.Event));d(this,"_pointerOutEvent",this.dv(new c.Event));d(this,"_clickEvent",this.dv(new c.Event));d(this,"_dblclickEvent",this.dv(new c.Event));d(this,"_keyDownEvent",this.dv(new c.Event));d(this,"_keyUpEvent",this.dv(new c.Event));d(this,"_wheelEvent",this.dv(new c.Event));d(this,"_actived",this.dv(c.react(!1)));this._id=t.id??c.createGuid();const r=kp(t.container);if(r)this._container.value=Th(r),this._typeName=t.type,this._initName();else throw new Error("container is not defined");{const i=()=>{r&&(this.show??!0?r.style.display="block":r.style.display="none")};i(),this.d(this.showChanged.don(i))}{const i=this._sceneObjectsMap,s=()=>{for(let[a,l]of i.entries())if(!l&&a){const u=Ws.context.createEngineObject(a,this);u&&i.set(a,u)}},o=()=>{for(let[a,l]of i.entries())l&&!l.isDestroyed()&&l.destroy(),i.set(a,void 0)};this.d(o),this.d(this.viewerChanged.don(a=>{o(),a&&s()}))}{const i=()=>{if(this.execOnceFuncStr)try{Function(`"use strict";return (${this.execOnceFuncStr})`)()(this)}catch(s){console.warn(`execOnceFuncStr不能转成函数!或者函数执行时错误!id: ${this.id} ${this.typeName} error: ${s}`)}};i(),this.d(this.execOnceFuncStrChanged.don(i))}{const i=()=>{if(this.updateFuncStr)try{this.updateFunc=Function(`"use strict";return (${this.updateFuncStr})`)()}catch(o){console.warn(`updateFuncStr不能转成函数!或者函数执行时错误!id: ${this.id} ${this.typeName} error: ${o}`)}};i(),this.d(this.updateFuncStrChanged.don(i));let s;this.d(()=>s&&s.destroy()),this.d(this.updateFuncChanged.don(()=>{s&&s.cancel(),this.updateFunc&&(s=s||c.createAnimateFrame(),s.restart(void 0,o=>{this.updateFunc&&this.updateFunc(this,o)}))}))}{const i=()=>{try{this.toDestroyFunc=this.toDestroyFuncStr&&Function(`"use strict";return (${this.toDestroyFuncStr})`)()||void 0}catch(s){console.warn(`toDestroyFuncStr不能转成函数!或者函数执行时错误!id: ${this.id} ${this.typeName} error: ${s}`),this.toDestroyFunc=void 0}};i(),this.d(this.toDestroyFuncStrChanged.don(i)),this.d(this.toDestroyEvent.don(()=>{this.toDestroyFunc&&this.toDestroyFunc(this)}))}}forceRecreate(){this._forceRecreateEvent.emit()}get container(){return this._container.value}set container(t){this._container.value=t}set containerOrId(t){if(typeof t=="string"){const r=document.getElementById(t);r&&r instanceof HTMLDivElement?this._container.value=Th(r):console.warn("containerOrId warn: !(container instanceof HTMLDivElement)")}else t instanceof HTMLDivElement?this._container.value=Th(t):console.warn("containerOrId warn: setting container failed!")}get containerChanged(){return this._container.changed}get containerSize(){return this._containerSize.value}set containerSize(t){this._containerSize.value=t}get containerSizeChanged(){return this._containerSize.changed}get editingEvent(){return this._editingEvent}get status(){return this._status.value}get statusChanged(){return this._status.changed}setStatus(t){this._status.value=t}get statusLog(){return this._statusLog.value}get statusLogChanged(){return this._statusLog.changed}setStatusLog(t){this._statusLog.value=t}get useCustomInteraction(){return this._useCustomInteraction.value}set useCustomInteraction(t){this._useCustomInteraction.value=t}get viewerChanged(){return this._viewerChanged}get containerResetEvent(){return this._containerResetEvent}get subContainer(){var t;return(t=this._containerResetting.obj)==null?void 0:t.subContainer}get subContainerChanged(){return this._containerResetting.objChanged}get overlayContainer(){var t;return(t=this._containerResetting.obj)==null?void 0:t.overlayContainer}get overlayContainerChanged(){return this._containerResetting.objChanged}get sceneObjectsMap(){return this._sceneObjectsMap}get sceneObjects(){return this._sceneObjectsMap.keys()}getEngineObject(t){return this.sceneObjectsMap.get(t)}add(...t){for(let r of t)if(!this.has(r)){const i=Ws.context.createEngineObject(r,this);i&&this._sceneObjectsMap.set(r,i),r.viewerAttached.emit(this)}}delete(...t){for(let r of t)if(this.has(r)){const i=this._sceneObjectsMap.get(r);i&&i.destroy(),this._sceneObjectsMap.delete(r),r.viewerDetached.emit(this)}}disposableAdd(...t){return this.add(...t),()=>this.delete(...t)}disAdd(...t){return this.disposableAdd(...t)}has(t){return this._sceneObjectsMap.has(t)}clearAllSceneObjects(){for(let t of this.sceneObjects)this.delete(t)}get id(){return this._id}set id(t){console.warn("ESViewer id is readonly")}get typeName(){return this._typeName}_initName(){this.name=`${this.typeName}_${(""+this.id).slice(-4)}`}get defaultProps(){return Ni.createDefaultProps()}_getJson(t=!0){const r={id:this.id,type:this.typeName};for(let i of Object.keys(this.defaultProps))if(t){let s,o=this.defaultProps[i];o instanceof c.ReactiveVariable?s=o.equals(this[i]):s=o===this[i],s||(r[i]=this[i])}else r[i]=this[i];return r}_setJson(t,r,i){if(!(t instanceof Object)||t.type&&t.type!==this.typeName){console.error(`value.type && value.type${t.type} !== this.typeName${this.typeName}`);return}t.id&&t.id!==this.id&&console.warn(`value.id === undefined || value.id${t.id} !== this.id(${this.id})`);const s=r||[];s.push("id","type");const o=Object.keys(this.defaultProps).filter(a=>!s.includes(a));for(let a of o)if(a in t)this[a]=t[a]===null?void 0:t[a];else if(!(i??!1)){let l=this.defaultProps[a];l instanceof c.ReactiveVariable&&(l=l.value),this[a]=l}}get json(){return this._getJson()}set json(t){this._setJson(t,["devTags"])}get updateFunc(){return this._updateFuncReact.value}set updateFunc(t){this._updateFuncReact.value=t}get updateFuncChanged(){return this._updateFuncReact.changed}get toDestroyFunc(){return this._toDestroyFuncReact.value}set toDestroyFunc(t){this._toDestroyFuncReact.value=t}get toDestroyFuncChanged(){return this._toDestroyFuncReact.changed}get navigationMode(){return this._navigationMode.value}get navigationModeChanged(){return this._navigationMode.changed}getNavigationMode(){return this._navigationMode.value}getEngineType(){return this._typeName}get syncViewer(){return this._syncViewer.value}set syncViewer(t){this._syncViewer.value=t}get syncViewerChanged(){return this._syncViewer.changed}syncOtherViewer(t){t&&t.syncViewer&&(t.syncViewer=void 0),t===this?this._syncViewer.value=void 0:this._syncViewer.value=t}setCurrentTime(t){try{this.currentTime=typeof t=="string"?Date.parse(t):t}catch(r){console.warn(`时间格式不正确! value: ${t} error: ${r}`)}}async getVersion(){return window.g_XE3CopyRights??{}}get hoverEvent(){return this._hoverEvent}get pointerOverEvent(){return this._pointerOverEvent}get pointerMoveEvent(){return this._pointerMoveEvent}get pointerDownEvent(){return this._pointerDownEvent}get pointerUpEvent(){return this._pointerUpEvent}get pointerOutEvent(){return this._pointerOutEvent}get clickEvent(){return this._clickEvent}get dblclickEvent(){return this._dblclickEvent}get keyDownEvent(){return this._keyDownEvent}get keyUpEvent(){return this._keyUpEvent}get wheelEvent(){return this._wheelEvent}getProperties(t){return[new z("ESViewer","ESViewer",[new ie("强制刷新","重载",[],()=>this.forceRecreate(),[]),new k("debug","debug",!0,!1,[this,"debug"],Ni.defaults.debug),new k("是否可见","是否可见",!0,!1,[this,"show"]),new Y("位置点单位","lonLatFormat",!0,!1,[this,"lonLatFormat"],[["度","DECIMAL_DEGREE"],["度分","DEGREES_DECIMAL_MINUTES"],["度分秒","SEXAGESIMAL_DEGREE"]]),new k("是否开启文字避让","textAvoidance",!0,!1,[this,"textAvoidance"],!1),new J("ionAccessToken","ionAccessToken",!1,!1,[this,"ionAccessToken"]),new S("时钟","时钟",!1,!1,[this,"currentTime"]),new k("globeShow","globeShow",!0,!1,[this,"globeShow"]),new k("atmosphere","atmosphere",!1,!1,[this,"atmosphere"])]),new S("飞行像素范围","默认飞行定位时对象包围球所占的屏幕像素大小",!1,!1,[this,"flyToBoundingSize"]),new S("编辑高度偏移","编辑时默认的高度偏移",!1,!1,[this,"editingHeightOffset"]),new z("Globe","Globe",[new G("地形着色器","可以设置地形全局坡度,坡向,高程带,等高线等",!1,!1,[this,"terrainShader"])])]}get actived(){return this._actived.value}set actived(t){this._actived.value=t}get activedChanged(){return this._actived.changed}};d(Ni,"context",new E0),d(Ni,"register",Ni.context.register.bind(Ni.context)),d(Ni,"defaults",{show:!0,debug:!1,statusInfo:{fps:0,position:[0,0,0],rotation:[0,0,0],length:0},terrainShader:{slope:{show:!1},aspect:{show:!1},elevationRamp:{show:!1,minHeight:-414,maxHeight:8777,color:[]},elevationContour:{show:!1,color:[1,0,0,1],spacing:150,width:2}},globeShow:!0});let Zn=Ni;(n=>{n.createBaseProps=()=>({name:"未命名场景对象",extras:c.reactJson(void 0),devTags:c.reactArrayWithUndefined(void 0),debug:void 0,show:void 0,opacity:void 0,zIndex:void 0,useDefaultStatusDiv:!0,execOnceFuncStr:void 0,updateFuncStr:void 0,toDestroyFuncStr:void 0}),n.createCommonProps=()=>({globeShow:!0,ionAccessToken:"",lonLatFormat:"DECIMAL_DEGREE",fov:60,textAvoidance:!1,flyToBoundingSize:256,hoverTime:2,currentTime:Date.now(),simulationTime:Date.now(),timeSync:!1,rain:0,snow:0,cloud:0,fog:0,depthOfField:0,atmosphere:!0,editingPointSize:void 0,editingPointColor:c.reactArrayWithUndefined(void 0),editingAuxiliaryPointColor:c.reactArrayWithUndefined(void 0),editingLineWidth:void 0,editingLineColor:c.reactArrayWithUndefined(void 0),editingAxisSize:void 0,editingAuxiliaryPointSize:void 0,editingHeightOffset:0,editingLineShow:!0,editingEventListening:!0,terrainShader:n.defaults.terrainShader}),n.createDefaultProps=()=>({...(0,n.createBaseProps)(),...(0,n.createCommonProps)()})})(Zn||(Zn={})),c.extendClassProps(Zn.prototype,Zn.createDefaultProps);function Wp(n,e){const t=n._lastCameraInfo;if(t){const r=e.viewerChanged.don(i=>{if(!i||!t)return;const{position:s,rotation:o}=t;e.flyIn(s,o,0),n._lastCameraInfo=void 0,r()})}}const S0=n=>{const e=Zn.createCommonProps(),t={};try{Object.keys(e).forEach(r=>{t[r]=n[r]})}catch(r){console.warn(r)}return t},qp=(n,e)=>{const t=Zn.createCommonProps();try{Object.keys(t).forEach(r=>{n[r]=e[r]})}catch(r){console.warn(r)}};class C0 extends c.Destroyable{constructor(t){super();d(this,"_viewersChanged",this.disposeVar(new c.Event));d(this,"_viewers",new Set);d(this,"_viewersToChange",this.dv(new c.Event));this._sceneObjectsManager=t,this.d(()=>{for(const r of this._viewers)this.destroyViewer(r);this._viewers.clear()}),this.viewers.forEach(r=>{const i=this._sceneObjectsManager.sceneObjects;r.add(...i)}),this.d(()=>{const r=this._sceneObjectsManager.sceneObjects;this.viewers.forEach(i=>{i.delete(...r)})}),this.d(this._sceneObjectsManager.sceneObjectsToChange.don((r,i)=>{this.viewers.forEach(s=>{i.forEach(o=>{Yi(s.devTags,o.devTags)&&(s.has(o)?console.warn(`${s.typeName}中已存${o.typeName},检查逻辑是否有问题!`):s.add(o))}),r.forEach(o=>{Yi(s.devTags,o.devTags)&&(s.has(o)?s.delete(o):console.warn(`${s.typeName}中不存在${o.typeName},检查逻辑是否有问题!`))})}),i.length>0&&i.forEach(s=>{s.d(s.devTagsChanged.don(()=>{this.viewers.forEach(o=>{o.has(s)&&o.delete(s),console.log("sceneObjectsToChange",o.devTags,s.devTags,Yi(o.devTags,s.devTags)),Yi(o.devTags,s.devTags)&&(o.has(s)?console.warn(`${o.typeName}中已存${s.typeName},检查逻辑是否有问题!`):o.add(s))})}))})})),this.d(this.viewersChanged.don((r,i)=>{const s=this._sceneObjectsManager.sceneObjects;i.forEach(o=>{for(let a of s)Yi(o.devTags,a.devTags)&&(o.has(a)?console.warn(`${o.typeName}中已存${a.typeName},检查逻辑是否有问题!`):o.add(a))}),r.forEach(o=>{for(let a of s)Yi(o.devTags,a.devTags)&&(o.has(a)?o.delete(a):console.warn(`${o.typeName}中不存在${a.typeName},检查逻辑是否有问题!`))}),i.length>0&&i.forEach(o=>{o.d(o.devTagsChanged.don(()=>{o.clearAllSceneObjects();const a=this._sceneObjectsManager.sceneObjects;for(let l of a)console.log("viewersChanged",o.devTags,l.devTags,Yi(o.devTags,l.devTags)),Yi(o.devTags,l.devTags)&&(o.has(l)?console.warn(`${o.typeName}中已存${l.typeName},检查逻辑是否有问题!`):o.add(l))}))})}))}get viewersChanged(){return this._viewersChanged}get viewers(){return this._viewers}getViewers(){return[...this._viewers]}get viewersToChange(){return this._viewersToChange}createViewer(t){const r=Zn.context.createViewer(t);return this._viewers.add(r),this._viewersChanged.emit([],[r]),r}destroyViewer(t){return t.isDestroyed()?!0:(this._viewers.delete(t),this._viewersChanged.emit([t],[]),t.destroy(),t.isDestroyed())}}class xs extends c.Destroyable{constructor(...t){super();d(this,"_drgm",this.dv(new jd));d(this,"_sobjm",this.dv(new d0));d(this,"_vrm",this.dv(new C0(this._sobjm)));d(this,"_sceneObjectEditingManager",this.disposeVar(new f0));d(this,"_activeViewer",this.dv(c.react(void 0)));d(this,"_syncOtherViewersToActived",this.dv(c.react(!1)));d(this,"_cmrvm",this.createSceneObjectFromClass(bs));d(this,"_cmrvmdon",this.d(()=>this._cmrvm&&this.destroySceneObject(this._cmrvm)));d(this,"_asset",{type:"ESObjectsManager",version:"0.1.0",createdTime:"",modifiedTime:"",name:"未命名项目"});d(this,"_sceneTree",this.dv(new hu("default",this.dragstartDataMananger,24,this)));d(this,"_propUiTreeManager",this.dv(new bl(24)));d(this,"_sceneTreeMap",new Map);d(this,"_viewerCreatedEvent",this.dv(new c.Event));d(this,"_lastCameraInfo");d(this,"_lastActiveViewerJson");d(this,"syncEvent",this.dv(c.createNextAnimateFrameEvent(this.activeViewerChanged,this.syncOtherViewersToActivedChanged)));d(this,"_syncEventDon",this.d(this.syncEvent.don(()=>{const t=this.syncOtherViewersToActived;this.viewers.forEach(r=>{t?r.syncOtherViewer(this.activeViewer):r.syncOtherViewer(void 0)})})));d(this,"_player",this.createSceneObjectFromClass(Ji));d(this,"_playerdon",this.d(()=>this._player&&this.destroySceneObject(this._player)));d(this,"_esPlyarAndPathTime",this.dv(new o0(this)));d(this,"_pathAnimationManager",this.dv(new l0(this)))}static get envs(){return j.context.environmentVariables}getSceneObjectById(t){return j.getSceneObjectById(t)}getSceneObject(t){return j.getSceneObject(t)}get $refs(){return j.$refs}get dragstartDataMananger(){return this._drgm}get sceneObjectsManager(){return this._sobjm}get viewers(){return this._vrm.viewers}getViewers(){return this._vrm.getViewers()}get sceneObjectEditingManager(){return this._sceneObjectEditingManager}get activeViewer(){return this._activeViewer.value}set activeViewer(t){this._activeViewer.value=t}get activeViewerChanged(){return this._activeViewer.changed}get syncOtherViewersToActived(){return this._syncOtherViewersToActived.value}set syncOtherViewersToActived(t){this._syncOtherViewersToActived.value=t}get syncOtherViewersToActivedChanged(){return this._syncOtherViewersToActived.changed}get cameraViewsManager(){return this._cmrvm}get json(){var f;const t=this._asset.createdTime||new Date().toISOString(),r=new Date().toISOString(),i=this._asset.name||"未命名项目",o={type:"ESObjectsManager",version:this._asset.version||"0.1.0",createdTime:t,modifiedTime:r,name:i},a=this.sceneTree.json,l=this._cmrvm.views,u=[...this._vrm.viewers].map(p=>p.json),h=(f=this.activeViewer)==null?void 0:f.getCurrentCameraInfo();return{asset:o,viewers:u,sceneTree:a,viewCollection:l,lastView:h}}set json(t){try{if(!t.asset)return;if(!t.asset.type||t.asset.type!=="ESObjectsManager"){console.warn("json装配失败! asset.type 不存在或者不是'ESObjectsManager'");return}if(this._asset.createdTime=t.asset&&t.asset.createdTime||new Date().toISOString(),this._asset.modifiedTime=t.asset&&t.asset.modifiedTime||"",this._asset.name=t.asset&&t.asset.name||"未命名项目",this._asset.version=t.asset&&t.asset.version||"0.1.0",t.sceneTree&&(this.sceneTree.json=t.sceneTree),t.viewCollection&&(this._cmrvm.views=t.viewCollection),!t.viewers||!Array.isArray(t.viewers)){console.warn("viewers is not an array or does not exist !");return}if(this._vrm.viewers.size===0||t.viewers.length===0){console.warn("viewers is empty !");return}this._vrm.viewers.forEach(r=>{const i=t.viewers.find(s=>s.id===r.id);i&&(r.json=i)})}catch(r){console.error(`ESObjectsManager解析json数据时发生错误! error: ${r}`)}}get sceneTree(){return this._sceneTree}get jsonLoadingEvent(){return this._sceneTree.jsonLoadingEvent}get propUiTreeManager(){return this._propUiTreeManager}propTreeCallback(t){return u0(this,t)}getSceneTrees(){return[...this._sceneTreeMap.values()]}getSceneTree(t="default"){if(t==="default")return this._sceneTree;if(!this._sceneTreeMap.has(t)){console.warn(`id为${t}的SceneTree不存在!`);return}return this._sceneTreeMap.get(t)}createSceneTree(t,r=24){if(this._sceneTreeMap.has(t)||t==="default")console.warn(`id为${t}的SceneTree已存在!`);else{const i=this.dv(new hu(t,this.dragstartDataMananger,r,this));this._sceneTreeMap.set(t,i)}return this.getSceneTree(t)}get viewerCreatedEvent(){return this._viewerCreatedEvent}createViewer(t){const r=this._vrm.createViewer(t);this.activeViewer||(this.activeViewer=r);const i=this.d(r.viewerChanged.don(s=>{s&&(this._viewerCreatedEvent.emit(r),i())}));return r}destroyViewer(t){return this._activeViewer.value===t&&(this._activeViewer.value=void 0),this._vrm.destroyViewer(t)}switchViewer(t,r=!0,i=!0,s=!0){var u;this.activeViewer&&this.activeViewer.getNavigationMode()!=="Map"&&this.activeViewer.changeToMap(),!this._lastCameraInfo&&r&&(this._lastCameraInfo=(u=this.activeViewer)==null?void 0:u.getCurrentCameraInfo()),!this._lastActiveViewerJson&&i&&(this._lastActiveViewerJson=this.activeViewer?S0(this.activeViewer):void 0),s&&this.activeViewer&&this.destroyViewer(this.activeViewer);const o=t.id,a=o?[...this.getViewers()].find(h=>h.id===o):[...this.getViewers()].find(h=>h.typeName===t.type);if(a)if(o&&a.typeName!==t.type)console.warn(`id为${o}的viewer的typeName和option.type${t.type}不相同!,虽然id一致但是typeName不同,所以会销毁并创建新的viewer`),this.destroyViewer(a);else return console.log("ESViewer exists, will be used"),r&&Wp(this,a),i&&this._lastActiveViewerJson&&(qp(a,this._lastActiveViewerJson),this._lastActiveViewerJson=void 0),a.container===kp(t.container)?(a.containerOrId=t.container,a.forceRecreate()):a.containerOrId=t.container,this.activeViewer=a,a;console.log("No ESViewer exists, will be created");const l=this.createViewer(t);return r&&Wp(this,l),i&&this._lastActiveViewerJson&&(qp(l,this._lastActiveViewerJson),this._lastActiveViewerJson=void 0),this.activeViewer=l,l}switchToCesiumViewer(...t){if(typeof t[0]=="object"&&!(t[0]instanceof HTMLDivElement)){const{container:r,viewSync:i,attributeSync:s,destroy:o,id:a}=t[0];return this.switchViewer({type:"ESCesiumViewer",container:r,id:a},i??!0,s??!0,o??!0)}else if(typeof t[0]=="string"||t[0]instanceof HTMLDivElement){const r={container:t[0],viewSync:t[1]??!0,attributeSync:t[2]??!0,destroy:t[3]??!0,id:t[4]},{container:i,viewSync:s,attributeSync:o,destroy:a,id:l}=r;return this.switchViewer({type:"ESCesiumViewer",container:i,id:l},s,o,a)}}switchToUEViewer(...t){let r,i={viewSync:!0,attributeSync:!0,destroy:!0};if(typeof t[0]=="object"&&!(t[0]instanceof HTMLDivElement)&&t[0].hasOwnProperty("uri")){const{container:l,uri:u,app:h,token:f,viewSync:p,attributeSync:v,destroy:w,id:I}=t[0];r={type:"ESUeViewer",container:l,id:I,options:{uri:u,app:h,token:f}},i={viewSync:p??!0,attributeSync:v??!0,destroy:w??!0}}else if(typeof t[0]=="object"&&!(t[0]instanceof HTMLDivElement)&&t[0].hasOwnProperty("ws")){const{container:l,ws:u,esmsg:h,viewSync:f,attributeSync:p,id:v,destroy:w}=t[0];r={type:"ESUeViewer",container:l,id:v,options:{ws:u,esmsg:h}},i={viewSync:f??!0,attributeSync:p??!0,destroy:w??!0}}else if(typeof t[0]=="object"&&!(t[0]instanceof HTMLDivElement)&&t[0].hasOwnProperty("project")){const{container:l,project:u,baseUrl:h,viewSync:f,attributeSync:p,id:v,destroy:w}=t[0];r={type:"ESUeViewer",container:l,id:v,options:{project:u,baseUrl:h}},i={viewSync:f??!0,attributeSync:p??!0,destroy:w??!0}}else(typeof t[0]=="string"||t[0]instanceof HTMLDivElement)&&(typeof t[1]=="string"&&t[1].startsWith("ws")?(r={type:"ESUeViewer",container:t[0],id:t[6],options:{ws:t[1],esmsg:t[2]??void 0}},i={viewSync:t[3]??!0,attributeSync:t[4]??!0,destroy:t[5]??!0}):typeof t[1]=="string"&&t[1].startsWith("http")?(r={type:"ESUeViewer",container:t[0],id:t[7],options:{uri:t[1],app:t[2],token:t[3]??void 0}},i={viewSync:t[4]??!0,attributeSync:t[5]??!0,destroy:t[6]??!0}):(r={type:"ESUeViewer",container:t[0],id:t[6],options:{project:t[1],baseUrl:t[2]??void 0}},i={viewSync:t[3]??!0,attributeSync:t[4]??!0,destroy:t[5]??!0}));if(!r)throw new Error("参数错误");const{viewSync:s,attributeSync:o,destroy:a}=i;return this.switchViewer(r,s,o,a)}createCesiumViewer(...t){let r;if(typeof t[0]=="object"&&!(t[0]instanceof HTMLDivElement)?r={...t[0],type:"ESCesiumViewer"}:(typeof t[0]=="string"||t[0]instanceof HTMLDivElement)&&(r={container:t[0],options:t[1]??void 0,id:t[2]??void 0,type:"ESCesiumViewer"}),!r)throw new Error("参数错误");return this.createViewer(r)}createUeViewer(...t){let r;if(typeof t[0]=="object"&&!(t[0]instanceof HTMLDivElement)?r={...t[0],type:"ESUeViewer"}:(typeof t[0]=="string"||t[0]instanceof HTMLDivElement)&&(typeof t[1]=="string"&&t[1].startsWith("ws")?r={type:"ESUeViewer",container:t[0],id:t[3]??void 0,options:{ws:t[1],esmsg:t[2]??void 0}}:typeof t[1]=="string"&&t[1].startsWith("http")?r={type:"ESUeViewer",container:t[0],id:t[4]??void 0,options:{uri:t[1],app:t[2],token:t[3]??void 0}}:r={type:"ESUeViewer",container:t[0],id:t[3]??void 0,options:{project:t[1],baseUrl:t[2]??void 0}}),!r)throw new Error("参数错误");return this.createViewer(r)}createSceneObject(t,r){return this._sobjm.createSceneObject(t,r)}createSceneObjectFromClass(t,r){return this._sobjm.createSceneObjectFromClass(t,r)}createSceneObjectFromJson(t){return this._sobjm.createSceneObjectFromJson(t)}destroySceneObject(t){const r=this._sobjm.deleteSceneObject(t);return t.destroy(),r}destroyAllSceneObjects(){const t=[...this._sobjm.sceneObjects];for(let r of t)r!=this._player&&r!=this._cmrvm&&this.destroySceneObject(r)}get player(){return this._player}get esPlyarAndPathTime(){return this._esPlyarAndPathTime}get pathAnimationManager(){return this._pathAnimationManager}}d(xs,"getSceneObjById",j.context.getSceneObjectById.bind(j.context)),d(xs,"getEnv",j.context.getEnv.bind(j.context)),d(xs,"setEnv",j.context.setEnv.bind(j.context)),(n=>{n.createDefaultProps=()=>({})})(xs||(xs={})),c.extendClassProps(xs.prototype,xs.createDefaultProps);function P0(){const n=navigator.userAgent;let e="Unknown";/Windows/.test(n)?e="Windows":/Macintosh/.test(n)?e="MacOS":/Linux/.test(n)?e="Linux":/Android/.test(n)?e="Android":/iOS|iPhone|iPad|iPod/.test(n)&&(e="iOS");let t="Unknown";return/x64|x86_64|Win64|WOW64/.test(n)?t="x64":/x86|i686|Win32/.test(n)?t="x86":/arm64|aarch64/.test(n)?t="arm64":/arm/.test(n)&&(t="arm"),{os:e.toLocaleLowerCase(),arch:t.toLocaleLowerCase()}}const I0=Date.now();function Xp(n){const{os:e,arch:t}=P0(),r={version:n.version,commitdate:n.date,commitId:n.commitId,runningTime:(Date.now()-I0)/1e3/60|0,date:new Date().toLocaleString(),href:window.location.href,os:e,arch:t},s={method:"GET",headers:new Headers,redirect:"follow"},o=window.encodeURIComponent(JSON.stringify(r));fetch(`https://account.bjxbsj.cn/api/product/record?product=EarthSDKJS&content=${o}`,s).then(a=>a.text()).then(a=>console.log(a)).catch(a=>console.log("error",a))}P.copyright=void 0;try{const n="earthsdk3",e="3.0.7-beta.9",t="2025-05-28T07:49:19.000Z",r="北京西部世界科技有限公司",i="地球可视化实验室 (EarthSDK&CesiumLab) https://www.bjxbsj.cn",s="0d6ba67efebdbe7e25679e935b0aeab0b45cc8e1",a=((Date.now()-1748418559e3)/36e5).toFixed(1),l=`%c🌏 ${n}%c ${e}.${s.slice(0,8)}.${t} (距今${a}个小时)
548
549
  %c${i?i+`
549
550
  `:""}当前网站正在使用${n},此软件版权归${r}所有
550
- `;P.copyright=Object.freeze({get owner(){return"北京西部世界科技有限公司"},get ownerlink(){},get gituri(){return GITURI_&&GITURI_.replace("${commitId}","07a3f1b090e4fa89f3e9b464480993ab681c3edb")},get info(){return l},get date(){return"2025-05-23T02:41:15.000Z"},get author(){return"suplyang"},get version(){return"3.0.7-beta.7"},get name(){return"earthsdk3"},get commitId(){return"07a3f1b090e4fa89f3e9b464480993ab681c3edb"},print(){console.info(this.info,`
551
+ `;P.copyright=Object.freeze({get owner(){return"北京西部世界科技有限公司"},get ownerlink(){},get gituri(){return GITURI_&&GITURI_.replace("${commitId}","0d6ba67efebdbe7e25679e935b0aeab0b45cc8e1")},get info(){return l},get date(){return"2025-05-28T07:49:19.000Z"},get author(){return"suplyang"},get version(){return"3.0.7-beta.9"},get name(){return"earthsdk3"},get commitId(){return"0d6ba67efebdbe7e25679e935b0aeab0b45cc8e1"},print(){console.info(this.info,`
551
552
  font-size: 18px;
552
553
  font-weight: 1000;
553
554
  line-height: 1;
@@ -564,4 +565,4 @@ ${Rd}
564
565
  color: rgb(0, 120, 215);
565
566
  padding-bottom: 2px;
566
567
  padding-left: 35px;
567
- `)}}),window.g_XE3CopyRights=window.g_XE3CopyRights||{},window.g_XE3CopyRights[n]=P.copyright,window.g_XE3SendProductUsageInfo=window.g_XE3SendProductUsageInfo||!0,window.g_XE3SendProductUsageInfo&&(setTimeout(()=>Xd(P.copyright),1e3*60),setInterval(()=>Xd(P.copyright),24*60*60*1e3)),window.g_earthsdk_copyright_print=window.g_earthsdk_copyright_print??!0,window.g_earthsdk_copyright_print&&P.copyright.print()}catch{console.warn("版本信息有误!")}P.AttachedPickedInfo=kh,P.BasePropTreeItem=wh,P.Boolean2Property=og,P.Boolean2sProperty=ug,P.Boolean3Property=ag,P.Boolean3sProperty=cg,P.Boolean4Property=lg,P.Boolean4sProperty=hg,P.BooleanProperty=k,P.BooleansProperty=$d,P.ColorProperty=Z,P.ColorRgbProperty=dg,P.DashPatternProperty=gg,P.DateProperty=ti,P.DatesProperty=_c,P.DivPickedInfo=Cg,P.DragStartDataManager=jp,P.ES3DTileset=Ct,P.ESAlarm=lo,P.ESApertureEffect=uo,P.ESAreaMeasurement=co,P.ESBlastParticleSystem=ho,P.ESBoxClipping=fo,P.ESCameraView=Ts,P.ESCameraViewCollection=bs,P.ESCameraVisibleRange=po,P.ESCar=go,P.ESCityBasePoint=ma,P.ESClassification=Ns,P.ESClippingPlane=mo,P.ESCustomDiv=Ds,P.ESCzml=va,P.ESDataMesh=vo,P.ESDatasmithRuntimeModel=jo,P.ESDirectionMeasurement=Go,P.ESDistanceMeasurement=yo,P.ESDynamicWater=ea,P.ESEntityCluster=da,P.ESExcavate=Hi,P.ESFireParticleSystem=_o,P.ESForestTileset=wo,P.ESGaussianSplatting=Ea,P.ESGeoDiv=Eo,P.ESGeoDivTextPoi=ga,P.ESGeoExtrudedPolygon=Os,P.ESGeoJson=Wo,P.ESGeoLineString=Or,P.ESGeoPolygon=ye,P.ESGeoRectangle=So,P.ESGeoVector=ce,P.ESGeoWater=ta,P.ESGltfModel=Co,P.ESHeightLimitAnalysis=pa,P.ESHeightMeasurement=qo,P.ESHole=aa,P.ESHuman=vi,P.ESHumanPoi=oa,P.ESImageLabel=Po,P.ESImageryLayer=Io,P.ESJEditingMode=se,P.ESJLonLatFormat=Fh,P.ESJPickedInfo=Sg,P.ESLabel=ft,P.ESLevelRuntimeModel=ra,P.ESLocalCircle=Xo,P.ESLocalPolygon=_i,P.ESLocalPolygonZ=Yo,P.ESLocalRectangle=Ho,P.ESLocalSkyBox=To,P.ESLocalVector=Jn,P.ESLocalVector2D=vr,P.ESLocationMeasurement=bo,P.ESMsTileset=ca,P.ESNavigator=ya,P.ESObjectWithLocation=q,P.ESObjectsManager=xs,P.ESParticleSystemPrimitive=No,P.ESPath=Zi,P.ESPathImpl=Ms,P.ESPipeFence=Jo,P.ESPipeline=na,P.ESPipeserTileset=Zo,P.ESPit=wi,P.ESPlayer=Ji,P.ESPoi2D=yi,P.ESPoi3D=Do,P.ESPoiTileset=ha,P.ESPolygonFence=Ko,P.ESPolygonFlattenedPlane=Oo,P.ESPolygonWithHole=Bo,P.ESRectangle=Qo,P.ESRtsFeatureEditing=ua,P.ESRtsTileset=la,P.ESScale=fa,P.ESSceneObject=j,P.ESSceneObjectWithId=Oy,P.ESSeparateFoliage=Mo,P.ESSkylineAnalysis=Ca,P.ESStaticMesh=Sa,P.ESSubmergingAnalysis=xo,P.ESSunshineAnalysis=Lo,P.ESSurfaceAreaMeasurement=$o,P.ESTerrainLayer=Ao,P.ESTextLabel=Ro,P.ESUEWidget=Fo,P.ESUnrealActor=ko,P.ESVideoFusion=Vo,P.ESViewShed=zo,P.ESViewer=Zn,P.ESViewerStatusBar=_a,P.ESViewerStatusBarScale=wa,P.ESVisibilityAnalysis=ia,P.ESVisualObject=Se,P.ESVolumeMeasurement=sa,P.ESWidget=Uo,P.EngineObject=Ws,P.EnumProperty=Y,P.EnumStringsProperty=mg,P.EvalStringProperty=ei,P.FunctionProperty=ie,P.GroupPropTreeItem=Sh,P.GroupProperty=z,P.JsonProperty=G,P.LeafPropTreeItem=Eh,P.LongStringProperty=vu,P.MaximumScreenSpaceErrorProperty=Qd,P.MinmaxProperty=vg,P.NearFarScalerProperty=yg,P.NonreactiveJsonStringProperty=Ah,P.Number2Property=ke,P.Number2sProperty=xh,P.Number3Property=Pt,P.Number3sProperty=yc,P.Number4Property=or,P.Number4WithUndefinedProperty=ig,P.Number4sProperty=sg,P.NumberProperty=S,P.NumberRangeProperty=_g,P.NumberSliderProperty=Ve,P.NumbersProperty=Bd,P.ParamsProperty=Lh,P.PickedInfo=Eu,P.PickedResult=Pg,P.Player=Hn,P.PlayerProperty=yu,P.PositionProperty=bn,P.PositionsProperty=_u,P.PositionsSetPropety=Eg,P.PropTree=ld,P.PropUiTreeManager=bl,P.Property=os,P.ReactVarProperty=we,P.RotationProperty=wu,P.SceneObjectFromId=Ch,P.SceneObjectPickedInfo=Su,P.SceneTree=fu,P.SceneTreeContextMenu=ad,P.SceneTreeItem=sr,P.SceneTreeItemDragDrop=od,P.String2Property=jd,P.String2sProperty=Mh,P.String3Property=eg,P.String3sProperty=rg,P.String4Property=tg,P.String4sProperty=ng,P.StringNumberProperty=fg,P.StringNumbersProperty=pg,P.StringProperty=J,P.StringsProperty=Oh,P.TreeItemDragDrop=ed,P.UriProperty=Al,P.ViewPlayerProperty=Rh,P.ViewerCustomInteraction=Ud,P.Watcher=pu,P.WatcherTools=cd,P.WithUndefinedProperty=vc,P.addTreesCallFunc=yd,P.bindCustomEditing=nd,P.booleanPointInPolygon=Dg,P.cartesianDistance=$p,P.clamp0_360=hu,P.clampN180_180=rd,P.createPropTreeFromSceneObject=ud,P.cutDownTreesCallFunc=Ed,P.defaultInitSceneObjectOnCreatingFunc=cy,P.defaultLight122FromEnvironmentMapManager=_h,P.defaultUpdateSceneObjectOnPickingFunc=uy,P.equalsN3=wc,P.geoAlong=Lg,P.geoArea=bc,P.geoBuffer=Yp,P.geoCenterOfMass=$g,P.geoDestination=jg,P.geoDifference=Hp,P.geoDistance=Oc,P.geoHeading=Mc,P.geoIntersect=qp,P.geoLineIntersect=am,P.geoNearestPointOnLine=hm,P.geoPointToLineDistance=gm,P.geoPolygonFromCircle=Jp,P.geoPolygonOverlap=gh,P.geoRhumbDestination=ym,P.geoRhumbDistance=gf,P.geoRhumbHeading=wm,P.geoUnion=Xp,P.getDefaultValue=dy,P.getDistancesFromPositions=Tl,P.getGeoBoundingSphereFromPositions=oy,P.getMidpoint=um,P.getMinMaxCorner=Zp,P.getSceneObjectTreeItem=hy,P.getXyzFromPostion=mh,P.growthSimulationCallFunc=Sd,P.hasSameTags=td,P.hasSameViewerTags=Yi,P.inOrderRunning=gy,P.isJSONString=py,P.lbhToWebMerc=ay,P.lbhToXyz=mi,P.lerpAngle=uc,P.lerpRotation=vh,P.map=Uh,P.optionsStr=vd,P.reactPosition2Ds=zh,P.registerCreatedEventUpdate=Ay,P.registerEventUpdate=Ty,P.removeAllTreesCallFunc=_d,P.rpToap=fy,P.setSceneObjectTreeItem=cu,P.updateTreeParamsCallFunc=wd,P.webMercToLbh=ly,P.xyzToLbh=Qp,Object.defineProperty(P,Symbol.toStringTag,{value:"Module"})});
568
+ `)}}),window.g_XE3CopyRights=window.g_XE3CopyRights||{},window.g_XE3CopyRights[n]=P.copyright,window.g_XE3SendProductUsageInfo=window.g_XE3SendProductUsageInfo||!0,window.g_XE3SendProductUsageInfo&&(setTimeout(()=>Xp(P.copyright),1e3*60),setInterval(()=>Xp(P.copyright),24*60*60*1e3)),window.g_earthsdk_copyright_print=window.g_earthsdk_copyright_print??!0,window.g_earthsdk_copyright_print&&P.copyright.print()}catch{console.warn("版本信息有误!")}P.AttachedPickedInfo=kh,P.BasePropTreeItem=wh,P.Boolean2Property=og,P.Boolean2sProperty=ug,P.Boolean3Property=ag,P.Boolean3sProperty=cg,P.Boolean4Property=lg,P.Boolean4sProperty=hg,P.BooleanProperty=k,P.BooleansProperty=$p,P.ColorProperty=Z,P.ColorRgbProperty=pg,P.DashPatternProperty=gg,P.DateProperty=ti,P.DatesProperty=_c,P.DivPickedInfo=Cg,P.DragStartDataManager=jd,P.ES3DTileset=Ct,P.ESAlarm=lo,P.ESApertureEffect=uo,P.ESAreaMeasurement=co,P.ESBlastParticleSystem=ho,P.ESBoxClipping=fo,P.ESCameraView=Ts,P.ESCameraViewCollection=bs,P.ESCameraVisibleRange=po,P.ESCar=go,P.ESCityBasePoint=ma,P.ESClassification=Ns,P.ESClippingPlane=mo,P.ESCustomDiv=Ds,P.ESCzml=va,P.ESDataMesh=vo,P.ESDatasmithRuntimeModel=jo,P.ESDirectionMeasurement=Go,P.ESDistanceMeasurement=yo,P.ESDynamicWater=ea,P.ESEntityCluster=pa,P.ESExcavate=Hi,P.ESFireParticleSystem=_o,P.ESForestTileset=wo,P.ESGaussianSplatting=Ea,P.ESGeoDiv=Eo,P.ESGeoDivTextPoi=ga,P.ESGeoExtrudedPolygon=Os,P.ESGeoJson=Wo,P.ESGeoLineString=Or,P.ESGeoPolygon=ye,P.ESGeoRectangle=So,P.ESGeoVector=ce,P.ESGeoWater=ta,P.ESGltfModel=Co,P.ESHeightLimitAnalysis=da,P.ESHeightMeasurement=qo,P.ESHole=aa,P.ESHuman=vi,P.ESHumanPoi=oa,P.ESImageLabel=Po,P.ESImageryLayer=Io,P.ESJEditingMode=se,P.ESJLonLatFormat=Fh,P.ESJPickedInfo=Sg,P.ESLabel=ft,P.ESLevelRuntimeModel=ra,P.ESLocalCircle=Xo,P.ESLocalPolygon=_i,P.ESLocalPolygonZ=Yo,P.ESLocalRectangle=Ho,P.ESLocalSkyBox=To,P.ESLocalVector=Jn,P.ESLocalVector2D=vr,P.ESLocationMeasurement=bo,P.ESMsTileset=ca,P.ESNavigator=ya,P.ESObjectWithLocation=q,P.ESObjectsManager=xs,P.ESParticleSystemPrimitive=No,P.ESPath=Zi,P.ESPathImpl=Ms,P.ESPipeFence=Jo,P.ESPipeline=na,P.ESPipeserTileset=Zo,P.ESPit=wi,P.ESPlayer=Ji,P.ESPoi2D=yi,P.ESPoi3D=Do,P.ESPoiTileset=ha,P.ESPolygonFence=Ko,P.ESPolygonFlattenedPlane=Oo,P.ESPolygonWithHole=Bo,P.ESRectangle=Qo,P.ESRtsFeatureEditing=ua,P.ESRtsTileset=la,P.ESScale=fa,P.ESSceneObject=j,P.ESSceneObjectWithId=Oy,P.ESSeparateFoliage=Mo,P.ESSkylineAnalysis=Ca,P.ESStaticMesh=Sa,P.ESSubmergingAnalysis=xo,P.ESSunshineAnalysis=Lo,P.ESSurfaceAreaMeasurement=$o,P.ESTerrainLayer=Ao,P.ESTextLabel=Ro,P.ESUEWidget=Fo,P.ESUnrealActor=ko,P.ESVideoFusion=Vo,P.ESViewShed=zo,P.ESViewer=Zn,P.ESViewerStatusBar=_a,P.ESViewerStatusBarScale=wa,P.ESVisibilityAnalysis=ia,P.ESVisualObject=Se,P.ESVolumeMeasurement=sa,P.ESWidget=Uo,P.EngineObject=Ws,P.EnumProperty=Y,P.EnumStringsProperty=mg,P.EvalStringProperty=ei,P.FunctionProperty=ie,P.GroupPropTreeItem=Sh,P.GroupProperty=z,P.JsonProperty=G,P.LeafPropTreeItem=Eh,P.LongStringProperty=mu,P.MaximumScreenSpaceErrorProperty=Qp,P.MinmaxProperty=vg,P.NearFarScalerProperty=yg,P.NonreactiveJsonStringProperty=Ah,P.Number2Property=ze,P.Number2sProperty=xh,P.Number3Property=Pt,P.Number3sProperty=yc,P.Number4Property=or,P.Number4WithUndefinedProperty=ig,P.Number4sProperty=sg,P.NumberProperty=S,P.NumberRangeProperty=_g,P.NumberSliderProperty=Me,P.NumbersProperty=Bp,P.ParamsProperty=Lh,P.PickedInfo=wu,P.PickedResult=Pg,P.Player=Hn,P.PlayerProperty=vu,P.PositionProperty=bn,P.PositionsProperty=yu,P.PositionsSetPropety=Eg,P.PropTree=lp,P.PropUiTreeManager=bl,P.Property=os,P.ReactVarProperty=we,P.RotationProperty=_u,P.SceneObjectFromId=Ch,P.SceneObjectPickedInfo=Eu,P.SceneTree=hu,P.SceneTreeContextMenu=ap,P.SceneTreeItem=sr,P.SceneTreeItemDragDrop=op,P.String2Property=jp,P.String2sProperty=Mh,P.String3Property=eg,P.String3sProperty=rg,P.String4Property=tg,P.String4sProperty=ng,P.StringNumberProperty=fg,P.StringNumbersProperty=dg,P.StringProperty=J,P.StringsProperty=Oh,P.TreeItemDragDrop=ep,P.UriProperty=Al,P.ViewPlayerProperty=Rh,P.ViewerCustomInteraction=Gp,P.Watcher=fu,P.WatcherTools=cp,P.WithUndefinedProperty=vc,P.addTreesCallFunc=yp,P.bindCustomEditing=np,P.booleanPointInPolygon=Dg,P.cartesianDistance=$d,P.clamp0_360=cu,P.clampN180_180=rp,P.createPropTreeFromSceneObject=up,P.cutDownTreesCallFunc=Ep,P.defaultInitSceneObjectOnCreatingFunc=cy,P.defaultLight122FromEnvironmentMapManager=_h,P.defaultUpdateSceneObjectOnPickingFunc=uy,P.equalsN3=wc,P.geoAlong=Lg,P.geoArea=bc,P.geoBuffer=Yd,P.geoCenterOfMass=$g,P.geoDestination=jg,P.geoDifference=Hd,P.geoDistance=Oc,P.geoHeading=Mc,P.geoIntersect=qd,P.geoLineIntersect=am,P.geoNearestPointOnLine=hm,P.geoPointToLineDistance=gm,P.geoPolygonFromCircle=Jd,P.geoPolygonOverlap=gh,P.geoRhumbDestination=ym,P.geoRhumbDistance=gf,P.geoRhumbHeading=wm,P.geoUnion=Xd,P.getDefaultValue=py,P.getDistancesFromPositions=Tl,P.getGeoBoundingSphereFromPositions=oy,P.getMidpoint=um,P.getMinMaxCorner=Zd,P.getSceneObjectTreeItem=hy,P.getXyzFromPostion=mh,P.growthSimulationCallFunc=Sp,P.hasSameTags=tp,P.hasSameViewerTags=Yi,P.inOrderRunning=gy,P.isJSONString=dy,P.lbhToWebMerc=ay,P.lbhToXyz=mi,P.lerpAngle=uc,P.lerpRotation=vh,P.map=Uh,P.optionsStr=vp,P.reactPosition2Ds=zh,P.registerCreatedEventUpdate=Ay,P.registerEventUpdate=Ty,P.removeAllTreesCallFunc=_p,P.rpToap=fy,P.setSceneObjectTreeItem=lc,P.updateTreeParamsCallFunc=wp,P.webMercToLbh=ly,P.xyzToLbh=Qd,Object.defineProperty(P,Symbol.toStringTag,{value:"Module"})});