deeptwins-engine-3d 0.1.76 → 0.2.1

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 (237) hide show
  1. package/dist/assets/Build/DeepTwins/Image/noise.png +0 -0
  2. package/dist/assets/Build/DeepTwins/Workers/CustomRasterClip.worker.js +1 -2
  3. package/dist/assets/Build/DeepTwins/Workers/MvtVector.worker.js +1 -1
  4. package/dist/assets/Build/Map3d/ThirdParty/Workers/zip-web-worker.js +640 -0
  5. package/dist/assets/Build/Map3d/ThirdParty/wasm_splats_bg.wasm +0 -0
  6. package/dist/assets/Build/Map3d/ThirdParty/zip-module.wasm +0 -0
  7. package/dist/assets/Build/Map3d/Workers/chunk-27NG6PQR.js +456 -0
  8. package/dist/assets/Build/Map3d/Workers/chunk-2JVMMMWT.js +353 -0
  9. package/dist/assets/Build/Map3d/Workers/chunk-2Y2XYQCS.js +1481 -0
  10. package/dist/assets/Build/Map3d/Workers/chunk-34RF3V5G.js +220 -0
  11. package/dist/assets/Build/Map3d/Workers/chunk-35H7BYLJ.js +1800 -0
  12. package/dist/assets/Build/Map3d/Workers/chunk-57OGEF5V.js +435 -0
  13. package/dist/assets/Build/Map3d/Workers/chunk-5PX3DYJA.js +196 -0
  14. package/dist/assets/Build/Map3d/Workers/chunk-7B5XGQRN.js +171 -0
  15. package/dist/assets/Build/Map3d/Workers/chunk-ATLWOZFF.js +39 -0
  16. package/dist/assets/Build/Map3d/Workers/chunk-BMSUECTA.js +1055 -0
  17. package/dist/assets/Build/Map3d/Workers/chunk-C6IA4TKW.js +476 -0
  18. package/dist/assets/Build/Map3d/Workers/chunk-CZ44I32U.js +157 -0
  19. package/dist/assets/Build/Map3d/Workers/chunk-DE6UV44R.js +122 -0
  20. package/dist/assets/Build/Map3d/Workers/chunk-DUCCKVOG.js +834 -0
  21. package/dist/assets/Build/Map3d/Workers/chunk-EBJBPIYX.js +239 -0
  22. package/dist/assets/Build/Map3d/Workers/chunk-EYSYQ2R6.js +138 -0
  23. package/dist/assets/Build/Map3d/Workers/chunk-FMCAAUQI.js +368 -0
  24. package/dist/assets/Build/Map3d/Workers/chunk-GMYZNRRQ.js +2717 -0
  25. package/dist/assets/Build/Map3d/Workers/chunk-GWPNZZV4.js +781 -0
  26. package/dist/assets/Build/Map3d/Workers/chunk-HLP2U4KW.js +758 -0
  27. package/dist/assets/Build/Map3d/Workers/chunk-HSJSUPQV.js +500 -0
  28. package/dist/assets/Build/Map3d/Workers/chunk-I73Q3AG7.js +58 -0
  29. package/dist/assets/Build/Map3d/Workers/chunk-IMZ4YIMV.js +511 -0
  30. package/dist/assets/Build/Map3d/Workers/chunk-IZSK4DVF.js +421 -0
  31. package/dist/assets/Build/Map3d/Workers/chunk-JKLMRPKK.js +75 -0
  32. package/dist/assets/Build/Map3d/Workers/chunk-KGM345JM.js +691 -0
  33. package/dist/assets/Build/Map3d/Workers/chunk-L4IR5U4G.js +102 -0
  34. package/dist/assets/Build/Map3d/Workers/chunk-MG4EVQH2.js +44 -0
  35. package/dist/assets/Build/Map3d/Workers/chunk-NXWEFAZJ.js +300 -0
  36. package/dist/assets/Build/Map3d/Workers/chunk-PDFAJISJ.js +59 -0
  37. package/dist/assets/Build/Map3d/Workers/chunk-PHWZFJR5.js +100 -0
  38. package/dist/assets/Build/Map3d/Workers/chunk-PLE7CHBE.js +101 -0
  39. package/dist/assets/Build/Map3d/Workers/chunk-PN3GIZ5Q.js +163 -0
  40. package/dist/assets/Build/Map3d/Workers/chunk-PXL5XLHV.js +1073 -0
  41. package/dist/assets/Build/Map3d/Workers/chunk-QYXOF5JC.js +959 -0
  42. package/dist/assets/Build/Map3d/Workers/chunk-R2LIFXV3.js +115 -0
  43. package/dist/assets/Build/Map3d/Workers/chunk-R4W6IRJZ.js +10357 -0
  44. package/dist/assets/Build/Map3d/Workers/chunk-R5PZXG56.js +1258 -0
  45. package/dist/assets/Build/Map3d/Workers/chunk-RZQLZIUI.js +629 -0
  46. package/dist/assets/Build/Map3d/Workers/chunk-SIBDD6Y4.js +390 -0
  47. package/dist/assets/Build/Map3d/Workers/chunk-U5NN6JTQ.js +398 -0
  48. package/dist/assets/Build/Map3d/Workers/chunk-UA5RPPP3.js +73 -0
  49. package/dist/assets/Build/Map3d/Workers/chunk-UXLKFS3C.js +305 -0
  50. package/dist/assets/Build/Map3d/Workers/chunk-VUX4BQIM.js +37 -0
  51. package/dist/assets/Build/Map3d/Workers/chunk-WJDUUUJS.js +684 -0
  52. package/dist/assets/Build/Map3d/Workers/chunk-XBJOJHWX.js +139 -0
  53. package/dist/assets/Build/Map3d/Workers/chunk-XJDMTNKD.js +634 -0
  54. package/dist/assets/Build/Map3d/Workers/chunk-XUCXZZE5.js +963 -0
  55. package/dist/assets/Build/Map3d/Workers/chunk-YIKGVMJ5.js +287 -0
  56. package/dist/assets/Build/Map3d/Workers/chunk-YTNCIBPQ.js +262 -0
  57. package/dist/assets/Build/Map3d/Workers/chunk-ZMDUYETO.js +55 -0
  58. package/dist/assets/Build/Map3d/Workers/chunk-ZW52HXFN.js +2857 -0
  59. package/dist/esm/analyze/LineOfSightAnalysis.js +1 -326
  60. package/dist/esm/analyze/SubmergenceAnalysis.js +1 -137
  61. package/dist/esm/analyze/SunLightAnalysis.js +1 -91
  62. package/dist/esm/analyze/TerrainExcavationAnalysis.js +1 -612
  63. package/dist/esm/analyze/ViewshedAnalysis.js +1 -292
  64. package/dist/esm/cameraControl/ModelRoamHistory.js +1 -639
  65. package/dist/esm/cameraControl/ModelRoamRealTime.js +1 -874
  66. package/dist/esm/cameraControl/Roam.js +1 -418
  67. package/dist/esm/cameraControl/Rotate.js +1 -134
  68. package/dist/esm/cameraControl/RotateInPlace.js +1 -99
  69. package/dist/esm/constant.d.ts +90 -0
  70. package/dist/esm/constant.js +1 -1287
  71. package/dist/esm/deepTwins/index.js +1 -121
  72. package/dist/esm/drawCommand/index.js +1 -3
  73. package/dist/esm/drawCommand/viewShed/Event.js +1 -142
  74. package/dist/esm/drawCommand/viewShed/RectangularSensorPrimitive.js +1 -1306
  75. package/dist/esm/drawCommand/viewShed/ViewShadowPrimitive.js +1 -66
  76. package/dist/esm/drawCommand/viewShed/ViewShedAnalyserLayer.js +1 -466
  77. package/dist/esm/drawCommand/viewShed/ViewShedMap.js +1 -1238
  78. package/dist/esm/drawCommand/viewShed/config.js +1 -21
  79. package/dist/esm/drawCommand/volumeCloud/GeometryPrimitive.js +1 -89
  80. package/dist/esm/drawCommand/volumeCloud/ImprovedNoise.js +1 -112
  81. package/dist/esm/drawCommand/volumeCloud/VolumeClouds.js +1 -91
  82. package/dist/esm/drawer/algorithm.js +1 -314
  83. package/dist/esm/drawer/common.js +1 -965
  84. package/dist/esm/drawer/coordinate.js +1 -184
  85. package/dist/esm/drawer/index.js +1 -688
  86. package/dist/esm/drawer/plotUtil.js +1 -266
  87. package/dist/esm/drawer/shape/Assemble.js +1 -415
  88. package/dist/esm/drawer/shape/AttackArrow.js +1 -442
  89. package/dist/esm/drawer/shape/BaseShape.js +1 -383
  90. package/dist/esm/drawer/shape/Bow.js +1 -375
  91. package/dist/esm/drawer/shape/Circle.js +1 -461
  92. package/dist/esm/drawer/shape/Curve.js +1 -386
  93. package/dist/esm/drawer/shape/DragPoint.js +1 -211
  94. package/dist/esm/drawer/shape/Elliptic.js +1 -491
  95. package/dist/esm/drawer/shape/Formation.js +1 -395
  96. package/dist/esm/drawer/shape/PincerArrow.js +1 -445
  97. package/dist/esm/drawer/shape/Point.js +1 -131
  98. package/dist/esm/drawer/shape/Polygon.js +1 -368
  99. package/dist/esm/drawer/shape/Polyline.js +1 -325
  100. package/dist/esm/drawer/shape/RegularPolygon.js +1 -468
  101. package/dist/esm/drawer/shape/RightAngleArrow.js +1 -423
  102. package/dist/esm/drawer/shape/Sector.js +1 -568
  103. package/dist/esm/drawer/shape/StraightArrow.js +1 -422
  104. package/dist/esm/drawer/shape/SwallowtailArrow.js +1 -438
  105. package/dist/esm/drawer/types.js +1 -11
  106. package/dist/esm/drawer/utils.js +1 -381
  107. package/dist/esm/global.css +22 -1
  108. package/dist/esm/graphicLayer/BaseEntity.js +1 -51
  109. package/dist/esm/graphicLayer/BaseLayer.js +1 -730
  110. package/dist/esm/graphicLayer/BasePointPrimitive.js +1 -45
  111. package/dist/esm/graphicLayer/BasePrimitive.js +1 -36
  112. package/dist/esm/graphicLayer/BasePrimitiveInstance.js +1 -37
  113. package/dist/esm/graphicLayer/BaseSource.d.ts +1 -1
  114. package/dist/esm/graphicLayer/BaseSource.js +1 -630
  115. package/dist/esm/graphicLayer/BillboardEntity.js +1 -106
  116. package/dist/esm/graphicLayer/BillboardPrimitive.js +1 -119
  117. package/dist/esm/graphicLayer/BoxEntity.js +1 -99
  118. package/dist/esm/graphicLayer/BoxPrimitive.js +1 -48
  119. package/dist/esm/graphicLayer/BoxPrimitiveInstance.js +1 -91
  120. package/dist/esm/graphicLayer/EllipseEntity.js +1 -110
  121. package/dist/esm/graphicLayer/EllipsePrimitive.js +1 -47
  122. package/dist/esm/graphicLayer/EllipsePrimitiveInstance.js +1 -98
  123. package/dist/esm/graphicLayer/EllipsoidEntity.js +1 -118
  124. package/dist/esm/graphicLayer/EllipsoidPrimitive.js +1 -48
  125. package/dist/esm/graphicLayer/EllipsoidPrimitiveInstance.js +1 -113
  126. package/dist/esm/graphicLayer/GraphicLayerCollection.js +1 -491
  127. package/dist/esm/graphicLayer/HtmlEntity.d.ts +4 -0
  128. package/dist/esm/graphicLayer/HtmlEntity.js +1 -189
  129. package/dist/esm/graphicLayer/LabelEntity.js +1 -110
  130. package/dist/esm/graphicLayer/LabelPrimitive.js +1 -127
  131. package/dist/esm/graphicLayer/ModelEntity.js +1 -122
  132. package/dist/esm/graphicLayer/ModelPrimitive.js +1 -59
  133. package/dist/esm/graphicLayer/ModelPrimitiveInstance.js +1 -86
  134. package/dist/esm/graphicLayer/PointEntity.js +1 -94
  135. package/dist/esm/graphicLayer/PointPrimitive.js +1 -107
  136. package/dist/esm/graphicLayer/PolygonEntity.js +1 -103
  137. package/dist/esm/graphicLayer/PolygonGroundPrimitive.js +1 -49
  138. package/dist/esm/graphicLayer/PolygonGroundPrimitiveImageMaterialInstance.js +1 -87
  139. package/dist/esm/graphicLayer/PolygonPrimitive.js +1 -60
  140. package/dist/esm/graphicLayer/PolygonPrimitiveImageMaterialInstance.js +1 -84
  141. package/dist/esm/graphicLayer/PolygonPrimitiveInstance.js +1 -101
  142. package/dist/esm/graphicLayer/PolylineEntity.js +1 -96
  143. package/dist/esm/graphicLayer/PolylineGroundPrimitive.js +1 -55
  144. package/dist/esm/graphicLayer/PolylineGroundPrimitiveInstance.js +1 -85
  145. package/dist/esm/graphicLayer/PolylinePrimitive.js +1 -53
  146. package/dist/esm/graphicLayer/PolylinePrimitiveInstance.js +1 -85
  147. package/dist/esm/graphicLayer/PolylineVolumeEntity.js +1 -105
  148. package/dist/esm/graphicLayer/PolylineVolumePrimitive.js +1 -47
  149. package/dist/esm/graphicLayer/PolylineVolumePrimitiveInstance.js +1 -94
  150. package/dist/esm/graphicLayer/WallEntity.js +1 -96
  151. package/dist/esm/graphicLayer/WallPrimitive.js +1 -47
  152. package/dist/esm/graphicLayer/WallPrimitiveInstance.js +1 -88
  153. package/dist/esm/index.d.ts +4 -0
  154. package/dist/esm/index.js +1 -175
  155. package/dist/esm/lowAltitude/BarrierLayer.js +1 -172
  156. package/dist/esm/lowAltitude/BaseGridMvtLayer.js +1 -122
  157. package/dist/esm/lowAltitude/FactorLayer.js +1 -199
  158. package/dist/esm/lowAltitude/FlightPlanning.js +1 -411
  159. package/dist/esm/lowAltitude/FlightRiskEvaluation.js +1 -543
  160. package/dist/esm/lowAltitude/GridDraw.js +1 -137
  161. package/dist/esm/lowAltitude/PoiLayer.js +1 -74
  162. package/dist/esm/lowAltitude/RoutePlanning.js +1 -318
  163. package/dist/esm/lowAltitude/VisitLayer.js +1 -180
  164. package/dist/esm/map/Event.js +1 -377
  165. package/dist/esm/map/GroundSkyBox.js +1 -166
  166. package/dist/esm/map/Map.js +1 -881
  167. package/dist/esm/map/Property.js +1 -35
  168. package/dist/esm/material/AtmosphericDispersion.js +1 -569
  169. package/dist/esm/material/GlobalVolumetricCloud.js +1 -377
  170. package/dist/esm/material/VolumeCloud.js +1 -115
  171. package/dist/esm/material/WeatherEffects.js +1 -351
  172. package/dist/esm/material/entity/BaseMaterialProperty.js +1 -51
  173. package/dist/esm/material/entity/CircleWaveMaterialProperty.js +1 -101
  174. package/dist/esm/material/entity/DynamicWallMaterialProperty.js +1 -101
  175. package/dist/esm/material/entity/ImageGlowingMaterialProperty.js +1 -89
  176. package/dist/esm/material/entity/ImageMaterialProperty.js +1 -34
  177. package/dist/esm/material/entity/PolylineTrailLinkMaterialProperty.js +1 -132
  178. package/dist/esm/material/primitive/BaseMaterialAppearance.js +1 -28
  179. package/dist/esm/material/primitive/ImageGlowingMaterialAppearance.js +1 -77
  180. package/dist/esm/material/primitive/ImageMaterialAppearance.js +1 -77
  181. package/dist/esm/measure/Area.js +1 -220
  182. package/dist/esm/measure/BaseDraw.js +1 -105
  183. package/dist/esm/measure/Distance.js +1 -223
  184. package/dist/esm/measure/index.js +1 -266
  185. package/dist/esm/measure/types.js +1 -17
  186. package/dist/esm/measure/utils.js +1 -319
  187. package/dist/esm/particle/BaseParticle.js +1 -196
  188. package/dist/esm/particle/FireParticle.js +1 -65
  189. package/dist/esm/particle/FountainParticle.js +1 -80
  190. package/dist/esm/particle/SmokeParticle.js +1 -65
  191. package/dist/esm/particle/common.js +1 -23
  192. package/dist/esm/particle/index.js +1 -5
  193. package/dist/esm/property/PositionProperty.js +1 -56
  194. package/dist/esm/tileLayer/ArcGisLayer.js +1 -41
  195. package/dist/esm/tileLayer/CustomRasterClipWorkerClient.js +1 -147
  196. package/dist/esm/tileLayer/CustomRasterLayer.js +1 -1136
  197. package/dist/esm/tileLayer/ImageryLayer.js +1 -44
  198. package/dist/esm/tileLayer/MvtVectorLoad.js +1 -1549
  199. package/dist/esm/tileLayer/MvtVectorWorkerClient.js +1 -126
  200. package/dist/esm/tileLayer/RasterLayer.js +1 -23
  201. package/dist/esm/tileLayer/WmsLayer.js +1 -26
  202. package/dist/esm/tileLayer/WmtsLayer.js +1 -23
  203. package/dist/esm/tool/BuildClampedPolygonGrid.js +1 -278
  204. package/dist/esm/tool/Compass.js +1 -282
  205. package/dist/esm/tool/PrimitiveCluster.js +1 -706
  206. package/dist/esm/tool/TimerInterval.js +1 -58
  207. package/dist/esm/tool/common.js +1 -405
  208. package/dist/esm/tool/fetch.js +1 -222
  209. package/dist/esm/tool/heatmap.js +1 -631
  210. package/dist/esm/tool/utils.d.ts +1 -0
  211. package/dist/esm/tool/utils.js +1 -501
  212. package/dist/esm/toolTip/index.js +1 -79
  213. package/dist/esm/videoFusion/BaseVideo.d.ts +7 -0
  214. package/dist/esm/videoFusion/BaseVideo.js +1 -330
  215. package/dist/esm/videoFusion/VideoProject.js +1 -230
  216. package/dist/esm/videoFusion/VideoTexture.js +1 -163
  217. package/dist/esm/visualization/BaseHeatmap.js +1 -271
  218. package/dist/esm/visualization/BoundaryHighlight.d.ts +135 -0
  219. package/dist/esm/visualization/BoundaryHighlight.js +1 -0
  220. package/dist/esm/visualization/DynamicWater.js +1 -289
  221. package/dist/esm/visualization/Frustum.js +1 -248
  222. package/dist/esm/visualization/Heatmap2d.js +1 -97
  223. package/dist/esm/visualization/Heatmap3d.js +1 -281
  224. package/dist/esm/visualization/MigrationEffect.js +1 -397
  225. package/dist/esm/visualization/PointCluster.js +1 -220
  226. package/dist/esm/visualization/RadarScan.js +1 -333
  227. package/dist/esm/visualization/SampledTerrainRiver.d.ts +180 -0
  228. package/dist/esm/visualization/SampledTerrainRiver.js +1 -0
  229. package/dist/esm/visualization/SampledTerrainWater.d.ts +170 -0
  230. package/dist/esm/visualization/SampledTerrainWater.js +1 -0
  231. package/dist/esm/visualization/WindField.d.ts +72 -0
  232. package/dist/esm/visualization/WindField.js +1 -0
  233. package/dist/esm/visualization/windCore.d.ts +161 -0
  234. package/dist/esm/visualization/windCore.js +8 -0
  235. package/dist/umd/deeptwins-engine-3d.min.css +1 -1
  236. package/dist/umd/deeptwins-engine-3d.min.js +1 -1
  237. package/package.json +6 -4
@@ -1,1549 +1 @@
1
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
2
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
3
- function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
4
- function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
5
- function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
6
- function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
7
- function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw new Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
8
- function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
9
- function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
10
- function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
11
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
12
- function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
13
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
14
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
15
- function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
16
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
17
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
18
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
19
- function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
20
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
21
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
22
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
23
- function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
24
- // @ts-ignore
25
- import { decodeTile } from '@deepinnet/geojson-to-mvt';
26
- import * as Cesium from 'deeptwins-cesium';
27
- import MvtVectorWorkerClient from "./MvtVectorWorkerClient";
28
- var MVT_VECTOR_LOAD_EVENT_TYPES = ['ready', 'error', 'tileLoad', 'tileDisplay', 'tileEvict'];
29
- // deeptwins-cesium 运行时暴露了 TileBoundingRegion,但声明文件里没有导出,这里补一层最小类型。
30
- var CesiumRuntime = Cesium;
31
- var CesiumMath = Cesium.Math;
32
- function addCesiumEventListener(event, listener) {
33
- return event.addEventListener(listener);
34
- }
35
- function removeAllEventListeners(event) {
36
- var _removeAll, _ref;
37
- (_removeAll = (_ref = event).removeAll) === null || _removeAll === void 0 || _removeAll.call(_ref);
38
- }
39
- function createListenerRegistry() {
40
- return {
41
- ready: [],
42
- error: [],
43
- tileLoad: [],
44
- tileDisplay: [],
45
- tileEvict: []
46
- };
47
- }
48
-
49
- // 最大并发请求数,默认 6。
50
- var MAX_CONCURRENT_TILE_REQUESTS = 6;
51
-
52
- // 矢量瓦片加载器
53
- var MvtVectorLoad = /*#__PURE__*/function () {
54
- function MvtVectorLoad(map) {
55
- var _options$url,
56
- _options$minzoom,
57
- _options$maxzoom,
58
- _options$maxCacheSize,
59
- _options$autoDisplayL,
60
- _options$decodeWithWo,
61
- _options$workerUrl,
62
- _this = this;
63
- var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
64
- _classCallCheck(this, MvtVectorLoad);
65
- _defineProperty(this, "_mapContext", void 0);
66
- // 矢量瓦片服务 URL 模板。
67
- _defineProperty(this, "url", void 0);
68
- // 允许加载的最小瓦片层级。
69
- // 低于该层级时不会显示,也不会发起请求。
70
- _defineProperty(this, "minzoom", void 0);
71
- // 允许加载的最大瓦片层级。
72
- _defineProperty(this, "maximumLevel", void 0);
73
- // 已加载瓦片缓存上限,默认 300。
74
- _defineProperty(this, "maxCacheSize", void 0);
75
- // 是否已完成初始化。
76
- _defineProperty(this, "ready", void 0);
77
- // 当前视角计算出的工作层级。
78
- _defineProperty(this, "zoom", void 0);
79
- // 当前加载器使用的 Cesium 切片方案。
80
- _defineProperty(this, "tilingScheme", void 0);
81
- // 初始化完成时触发的事件。
82
- _defineProperty(this, "readyEvent", void 0);
83
- // 请求或解析失败时触发的事件。
84
- _defineProperty(this, "errorEvent", void 0);
85
- // 单个瓦片加载完成时触发的事件。
86
- _defineProperty(this, "tileLoadEvent", void 0);
87
- // 瓦片显示状态变化时触发的事件。
88
- _defineProperty(this, "tileDisplayEvent", void 0);
89
- // 单个瓦片被 LRU 缓存淘汰时触发的事件。
90
- _defineProperty(this, "tileEvictEvent", void 0);
91
- // 当前实例是否已销毁。
92
- _defineProperty(this, "_destroyed", void 0);
93
- // 初始化 Promise 缓存,保证初始化过程只执行一次。
94
- _defineProperty(this, "_initPromise", void 0);
95
- // 第 0 层根瓦片节点。
96
- _defineProperty(this, "_rootTiles", void 0);
97
- // 当前帧需要更新的瓦片节点。
98
- _defineProperty(this, "_tilesToUpdate", void 0);
99
- // 已加载完成的瓦片缓存。
100
- _defineProperty(this, "_loadedTiles", void 0);
101
- // 正在请求中的瓦片 Promise,避免重复请求。
102
- _defineProperty(this, "_pendingTiles", void 0);
103
- // 正在执行网络请求的瓦片控制器,用于主动取消过期请求。
104
- _defineProperty(this, "_pendingRequestControllers", void 0);
105
- // 正在执行网络请求的瓦片对象,用于回退状态和日志定位。
106
- _defineProperty(this, "_pendingRequestTiles", void 0);
107
- // LRU 缓存访问顺序,越靠后表示越新。
108
- _defineProperty(this, "_cacheOrder", void 0);
109
- // 请求版本号,用于在清缓存后废弃旧请求结果。
110
- _defineProperty(this, "_requestToken", void 0);
111
- // 等待发起请求的瓦片队列,按进入顺序消费。
112
- _defineProperty(this, "_requestQueue", void 0);
113
- // 队列中的瓦片 key 集合,避免同一瓦片重复排队。
114
- _defineProperty(this, "_queuedTileKeys", void 0);
115
- // 当前已占用的请求槽位数量,限制瞬时并发数。
116
- _defineProperty(this, "_activeRequestCount", void 0);
117
- // 第 0 层瓦片的几何误差缓存。
118
- _defineProperty(this, "_levelZeroMaximumGeometricError", void 0);
119
- // 是否优先使用 Worker 解析 MVT 二进制。
120
- _defineProperty(this, "_decodeWithWorker", void 0);
121
- // 是否自动根据瓦片显示状态切换托管图层显隐。
122
- _defineProperty(this, "_autoDisplayLayers", void 0);
123
- // 自定义 Worker 地址,优先于默认 DeepTwins 静态资源地址。
124
- _defineProperty(this, "_workerUrl", void 0);
125
- // 延迟创建的解码 Worker 客户端。
126
- _defineProperty(this, "_decodeWorkerClient", void 0);
127
- // 统一事件监听注册表,供 on/off 管理解绑。
128
- _defineProperty(this, "_listenerRegistry", void 0);
129
- // 当前真正处于显示状态的瓦片集合。
130
- _defineProperty(this, "_displayedTiles", void 0);
131
- // tileLoad 返回的图层实例,按瓦片 key 自动显隐和移除。
132
- _defineProperty(this, "_managedTileLayers", void 0);
133
- // 是否已自动挂载到 map.scene.primitives。
134
- _defineProperty(this, "_addedToMap", void 0);
135
- this._mapContext = map;
136
- this.url = (_options$url = options.url) !== null && _options$url !== void 0 ? _options$url : '';
137
- this.minzoom = (_options$minzoom = options.minzoom) !== null && _options$minzoom !== void 0 ? _options$minzoom : 0;
138
- this.maximumLevel = (_options$maxzoom = options.maxzoom) !== null && _options$maxzoom !== void 0 ? _options$maxzoom : 24;
139
- this.maxCacheSize = (_options$maxCacheSize = options.maxCacheSize) !== null && _options$maxCacheSize !== void 0 ? _options$maxCacheSize : 300;
140
- this._autoDisplayLayers = (_options$autoDisplayL = options.autoDisplayLayers) !== null && _options$autoDisplayL !== void 0 ? _options$autoDisplayL : true;
141
- this._decodeWithWorker = (_options$decodeWithWo = options.decodeWithWorker) !== null && _options$decodeWithWo !== void 0 ? _options$decodeWithWo : true;
142
- this._workerUrl = (_options$workerUrl = options.workerUrl) !== null && _options$workerUrl !== void 0 ? _options$workerUrl : '';
143
- this.ready = false;
144
- this.zoom = this.maximumLevel;
145
- this.tilingScheme = new Cesium.WebMercatorTilingScheme();
146
- this.readyEvent = new Cesium.Event();
147
- this.errorEvent = new Cesium.Event();
148
- this.tileLoadEvent = new Cesium.Event();
149
- this.tileDisplayEvent = new Cesium.Event();
150
- this.tileEvictEvent = new Cesium.Event();
151
- this._destroyed = false;
152
- this._initPromise = null;
153
- this._rootTiles = [];
154
- this._tilesToUpdate = [];
155
- this._loadedTiles = {};
156
- this._pendingTiles = new Map();
157
- this._pendingRequestControllers = new Map();
158
- this._pendingRequestTiles = new Map();
159
- this._cacheOrder = new Map();
160
- this._requestToken = 0;
161
- this._requestQueue = [];
162
- this._queuedTileKeys = new Set();
163
- this._activeRequestCount = 0;
164
- this._levelZeroMaximumGeometricError = null;
165
- this._decodeWorkerClient = null;
166
- this._listenerRegistry = createListenerRegistry();
167
- this._displayedTiles = new Map();
168
- this._managedTileLayers = new Map();
169
- this._addedToMap = false;
170
- this._addToMap();
171
- var autoInit = function autoInit() {
172
- _this.init().catch(function () {
173
- return undefined;
174
- });
175
- };
176
- if (typeof requestAnimationFrame === 'function') {
177
- requestAnimationFrame(autoInit);
178
- return;
179
- }
180
- Promise.resolve().then(autoInit);
181
- }
182
- _createClass(MvtVectorLoad, [{
183
- key: "getMap",
184
- value: function getMap() {
185
- return this._mapContext.getMap();
186
- }
187
-
188
- // 构造后自动把当前 primitive 加到场景里。
189
- }, {
190
- key: "_addToMap",
191
- value: function _addToMap() {
192
- var map = this.getMap();
193
- if (!map || this._addedToMap) {
194
- return;
195
- }
196
- if (typeof map.isDestroyed === 'function' && map.isDestroyed()) {
197
- return;
198
- }
199
- map.scene.primitives.add(this);
200
- this._addedToMap = true;
201
- }
202
-
203
- // 销毁时自动从场景里移除,兼容外部仍然显式调用 remove 的场景。
204
- }, {
205
- key: "_removeFromMap",
206
- value: function _removeFromMap() {
207
- var map = this.getMap();
208
- var addedToMap = this._addedToMap;
209
- this._addedToMap = false;
210
- if (!map || !addedToMap) {
211
- return;
212
- }
213
- if (typeof map.isDestroyed === 'function' && map.isDestroyed()) {
214
- return;
215
- }
216
- map.scene.primitives.remove(this);
217
- }
218
-
219
- // 初始化加载器,返回同一个初始化 Promise。
220
- }, {
221
- key: "init",
222
- value: function init() {
223
- if (!this._initPromise) {
224
- this._initPromise = this._doInit();
225
- }
226
- return this._initPromise;
227
- }
228
-
229
- // 统一监听入口,返回订阅对象。
230
- }, {
231
- key: "on",
232
- value: function on(type, handler) {
233
- var _this2 = this;
234
- var event = this._getEventByType(type);
235
- var wrapped = this._wrapEventHandler(type, handler);
236
- var listener = {
237
- original: handler,
238
- wrapped: wrapped,
239
- remove: function remove() {
240
- return undefined;
241
- },
242
- removed: false
243
- };
244
- listener.remove = addCesiumEventListener(event, listener.wrapped);
245
- this._listenerRegistry[type].push(listener);
246
- return {
247
- off: function off() {
248
- _this2._removeRegisteredListener(type, listener);
249
- }
250
- };
251
- }
252
-
253
- // tileLoad 支持返回图层实例,由加载器自动托管显隐和销毁。
254
- }, {
255
- key: "_wrapEventHandler",
256
- value: function _wrapEventHandler(type, handler) {
257
- var _this3 = this;
258
- if (type !== 'tileLoad') {
259
- return handler;
260
- }
261
- var tileLoadHandler = handler;
262
- return function (tile) {
263
- var result = tileLoadHandler(tile);
264
- if (result && _typeof(result) === 'object' && 'then' in result) {
265
- return Promise.resolve(result).then(function (resolvedResult) {
266
- _this3._registerManagedTileLayers(tile, resolvedResult);
267
- _this3._syncTileDisplayState(_this3._tilesToUpdate);
268
- return resolvedResult;
269
- }).catch(function (error) {
270
- throw _this3._emitError(_this3._toError(error, 'tileLoad 监听回调执行失败'));
271
- });
272
- }
273
- _this3._registerManagedTileLayers(tile, result);
274
- _this3._syncTileDisplayState(_this3._tilesToUpdate);
275
- return result;
276
- };
277
- }
278
-
279
- // 统一解绑入口,按注册顺序移除首个匹配监听。
280
- }, {
281
- key: "off",
282
- value: function off(type, handler) {
283
- var listeners = this._listenerRegistry[type];
284
- var index = listeners.findIndex(function (listener) {
285
- return listener.original === handler && !listener.removed;
286
- });
287
- if (index === -1) {
288
- return;
289
- }
290
- var _listeners$splice = listeners.splice(index, 1),
291
- _listeners$splice2 = _slicedToArray(_listeners$splice, 1),
292
- listener = _listeners$splice2[0];
293
- if (!listener) {
294
- return;
295
- }
296
- listener.removed = true;
297
- listener.remove();
298
- }
299
-
300
- // 根据事件类型返回底层 Cesium.Event。
301
- }, {
302
- key: "_getEventByType",
303
- value: function _getEventByType(type) {
304
- switch (type) {
305
- case 'ready':
306
- return this.readyEvent;
307
- case 'error':
308
- return this.errorEvent;
309
- case 'tileLoad':
310
- return this.tileLoadEvent;
311
- case 'tileDisplay':
312
- return this.tileDisplayEvent;
313
- case 'tileEvict':
314
- return this.tileEvictEvent;
315
- default:
316
- throw this._createInvalidEventTypeError(String(type));
317
- }
318
- }
319
-
320
- // 非法事件类型统一走错误事件并抛出异常。
321
- }, {
322
- key: "_createInvalidEventTypeError",
323
- value: function _createInvalidEventTypeError(type) {
324
- return this._emitError(new Error("\u4E0D\u652F\u6301\u7684\u4E8B\u4EF6\u7C7B\u578B \"".concat(type, "\"\uFF0C\u53EF\u9009\u503C\uFF1A").concat(MVT_VECTOR_LOAD_EVENT_TYPES.join('、'))));
325
- }
326
-
327
- // 移除指定注册监听,并同步更新注册表。
328
- }, {
329
- key: "_removeRegisteredListener",
330
- value: function _removeRegisteredListener(type, listener) {
331
- if (listener.removed) {
332
- return;
333
- }
334
- listener.removed = true;
335
- var listeners = this._listenerRegistry[type];
336
- var index = listeners.indexOf(listener);
337
- if (index !== -1) {
338
- listeners.splice(index, 1);
339
- }
340
- listener.remove();
341
- }
342
-
343
- // 清空统一监听注册表,避免 destroy 后仍持有外部回调引用。
344
- }, {
345
- key: "_clearListenerRegistry",
346
- value: function _clearListenerRegistry() {
347
- for (var _i = 0, _MVT_VECTOR_LOAD_EVEN = MVT_VECTOR_LOAD_EVENT_TYPES; _i < _MVT_VECTOR_LOAD_EVEN.length; _i++) {
348
- var type = _MVT_VECTOR_LOAD_EVEN[_i];
349
- var listeners = this._listenerRegistry[type];
350
- var _iterator = _createForOfIteratorHelper(listeners),
351
- _step;
352
- try {
353
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
354
- var listener = _step.value;
355
- listener.removed = true;
356
- }
357
- } catch (err) {
358
- _iterator.e(err);
359
- } finally {
360
- _iterator.f();
361
- }
362
- listeners.length = 0;
363
- }
364
- }
365
-
366
- // 执行实际初始化流程。
367
- }, {
368
- key: "_doInit",
369
- value: function () {
370
- var _doInit2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
371
- return _regeneratorRuntime().wrap(function _callee$(_context) {
372
- while (1) switch (_context.prev = _context.next) {
373
- case 0:
374
- this._validateOptions();
375
- this._createRootTiles();
376
- this.ready = true;
377
- this.readyEvent.raiseEvent(this);
378
- return _context.abrupt("return", this);
379
- case 5:
380
- case "end":
381
- return _context.stop();
382
- }
383
- }, _callee, this);
384
- }));
385
- function _doInit() {
386
- return _doInit2.apply(this, arguments);
387
- }
388
- return _doInit;
389
- }() // 校验外部传入的配置是否合法。
390
- }, {
391
- key: "_validateOptions",
392
- value: function _validateOptions() {
393
- if (!this.url) {
394
- throw this._emitError(new Error('请传入 url 参数'));
395
- }
396
- if (!this.url.includes('{z}') || !this.url.includes('{x}') || !this.url.includes('{y}')) {
397
- throw this._emitError(new Error('url 必须包含 {z}、{x}、{y} 占位符'));
398
- }
399
- if (this.minzoom < 0 || this.maximumLevel < this.minzoom) {
400
- throw this._emitError(new Error('minzoom/maxzoom 配置无效'));
401
- }
402
- if (!Number.isSafeInteger(this.maxCacheSize) || this.maxCacheSize <= 0) {
403
- throw this._emitError(new Error('maxCacheSize 必须是大于 0 的整数'));
404
- }
405
- }
406
-
407
- // 统一抛出错误并派发错误事件。
408
- }, {
409
- key: "_emitError",
410
- value: function _emitError(error) {
411
- this.errorEvent.raiseEvent(error);
412
- return error;
413
- }
414
-
415
- // 判断错误是否来自 AbortController 主动取消。
416
- }, {
417
- key: "_isAbortError",
418
- value: function _isAbortError(error) {
419
- return error instanceof Error && error.name === 'AbortError';
420
- }
421
-
422
- // 让瓦片进入新的加载批次,并返回本次批次号用于并发回写保护。
423
- }, {
424
- key: "_markTileLoading",
425
- value: function _markTileLoading(tile) {
426
- tile.requestVersion += 1;
427
- tile.state = 'loading';
428
- return tile.requestVersion;
429
- }
430
-
431
- // 让瓦片回到未加载状态,并废弃此前尚未完成的批次回调。
432
- }, {
433
- key: "_resetTileRequestState",
434
- value: function _resetTileRequestState(tile) {
435
- tile.requestVersion += 1;
436
- tile.state = 'none';
437
- }
438
-
439
- // 创建第 0 层根瓦片,作为后续遍历入口。
440
- }, {
441
- key: "_createRootTiles",
442
- value: function _createRootTiles() {
443
- if (this._rootTiles.length > 0) {
444
- return;
445
- }
446
- var numX = this.tilingScheme.getNumberOfXTilesAtLevel(0);
447
- var numY = this.tilingScheme.getNumberOfYTilesAtLevel(0);
448
- for (var y = 0; y < numY; y += 1) {
449
- for (var x = 0; x < numX; x += 1) {
450
- var _tile = new VectorLoadTile({
451
- x: x,
452
- y: y,
453
- z: 0,
454
- tilingScheme: this.tilingScheme,
455
- parent: this
456
- });
457
- this._rootTiles.push(_tile);
458
- }
459
- }
460
- }
461
-
462
- // 生成瓦片缓存键。
463
- }, {
464
- key: "_getTileKey",
465
- value: function _getTileKey(x, y, z) {
466
- return "".concat(x, ",").concat(y, ",").concat(z);
467
- }
468
-
469
- // 更新瓦片缓存访问顺序,使当前 key 成为最近使用项。
470
- }, {
471
- key: "_touchTileCache",
472
- value: function _touchTileCache(key) {
473
- this._cacheOrder.delete(key);
474
- this._cacheOrder.set(key, true);
475
- }
476
-
477
- // 当缓存超过上限时,按 LRU 顺序淘汰最久未使用的瓦片。
478
- }, {
479
- key: "_pruneLoadedTiles",
480
- value: function _pruneLoadedTiles() {
481
- var evictedTiles = [];
482
- var protectedTileKeys = new Set([].concat(_toConsumableArray(this._displayedTiles.keys()), _toConsumableArray(this._tilesToUpdate.map(function (tile) {
483
- return tile.key;
484
- }))));
485
- while (this._cacheOrder.size > this.maxCacheSize) {
486
- var oldestKey = void 0;
487
- var _iterator2 = _createForOfIteratorHelper(this._cacheOrder.keys()),
488
- _step2;
489
- try {
490
- for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
491
- var key = _step2.value;
492
- if (!protectedTileKeys.has(key)) {
493
- oldestKey = key;
494
- break;
495
- }
496
- }
497
- } catch (err) {
498
- _iterator2.e(err);
499
- } finally {
500
- _iterator2.f();
501
- }
502
- if (typeof oldestKey !== 'string') {
503
- break;
504
- }
505
- this._cacheOrder.delete(oldestKey);
506
- var loadedTile = this._loadedTiles[oldestKey];
507
- if (!loadedTile) {
508
- continue;
509
- }
510
- delete this._loadedTiles[oldestKey];
511
- this._displayedTiles.delete(oldestKey);
512
- evictedTiles.push({
513
- key: oldestKey,
514
- x: loadedTile.x,
515
- y: loadedTile.y,
516
- z: loadedTile.z
517
- });
518
- }
519
- this._resetTileStatesByKeys(evictedTiles.map(function (tile) {
520
- return tile.key;
521
- }));
522
- for (var _i2 = 0, _evictedTiles = evictedTiles; _i2 < _evictedTiles.length; _i2++) {
523
- var _tile2 = _evictedTiles[_i2];
524
- this.tileEvictEvent.raiseEvent(_tile2);
525
- this._removeManagedTileLayers(_tile2.key);
526
- }
527
- }
528
-
529
- // 根据当前视锥和 SSE 结果,筛出这一帧需要继续加载的瓦片。
530
- }, {
531
- key: "_getTilesToUpdate",
532
- value: function _getTilesToUpdate(frameState) {
533
- var _this4 = this;
534
- var queue = _toConsumableArray(this._rootTiles);
535
- var tilesToUpdate = this._tilesToUpdate;
536
- var zoom = this.maximumLevel;
537
- var nearDist = Number.POSITIVE_INFINITY;
538
- var getScreenSpaceError = function getScreenSpaceError(currentFrameState, tile) {
539
- return _this4._getScreenSpaceError(currentFrameState, tile);
540
- };
541
- var visitor = {
542
- visitChildren: function visitChildren(tile) {
543
- if (tile.z >= _this4.maximumLevel) {
544
- if (tile.distanceToCamera < nearDist) {
545
- nearDist = tile.distanceToCamera;
546
- zoom = tile.z;
547
- }
548
- tilesToUpdate.push(tile);
549
- return;
550
- }
551
- if (tile.children.length === 0) {
552
- tile.createChildren();
553
- }
554
- var _iterator3 = _createForOfIteratorHelper(tile.children),
555
- _step3;
556
- try {
557
- for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
558
- var child = _step3.value;
559
- queue.push(child);
560
- }
561
- } catch (err) {
562
- _iterator3.e(err);
563
- } finally {
564
- _iterator3.f();
565
- }
566
- },
567
- accept: function accept(tile) {
568
- if (tile.distanceToCamera < nearDist) {
569
- nearDist = tile.distanceToCamera;
570
- zoom = tile.z;
571
- }
572
- tilesToUpdate.push(tile);
573
- }
574
- };
575
- tilesToUpdate.length = 0;
576
- for (var index = 0; index < queue.length; index += 1) {
577
- var _tile3 = queue[index];
578
- _tile3.visit(frameState, visitor, getScreenSpaceError);
579
- }
580
- this.zoom = zoom;
581
- return tilesToUpdate;
582
- }
583
-
584
- // 把运行时瓦片对象转换为显示状态事件所需的最小数据。
585
- }, {
586
- key: "_toDisplayedTileState",
587
- value: function _toDisplayedTileState(tile) {
588
- return {
589
- key: tile.key,
590
- x: tile.x,
591
- y: tile.y,
592
- z: tile.z
593
- };
594
- }
595
-
596
- // 判断缓存中是否已持有指定瓦片的数据内容。
597
- }, {
598
- key: "_isTileLoaded",
599
- value: function _isTileLoaded(key) {
600
- return Boolean(this._loadedTiles[key]);
601
- }
602
-
603
- // 判断 ancestor 是否为 descendant 的同一瓦片或祖先瓦片。
604
- }, {
605
- key: "_isSameOrAncestorTile",
606
- value: function _isSameOrAncestorTile(ancestor, descendant) {
607
- if (ancestor.z > descendant.z) {
608
- return false;
609
- }
610
- var levelDelta = descendant.z - ancestor.z;
611
- return descendant.x >> levelDelta === ancestor.x && descendant.y >> levelDelta === ancestor.y;
612
- }
613
-
614
- // 四叉树瓦片的重叠关系只会出现在祖先/子孙之间。
615
- }, {
616
- key: "_tilesOverlap",
617
- value: function _tilesOverlap(a, b) {
618
- return this._isSameOrAncestorTile(a, b) || this._isSameOrAncestorTile(b, a);
619
- }
620
-
621
- // 目标瓦片尚未 ready 时,保留重叠的旧瓦片作为视觉兜底。
622
- }, {
623
- key: "_shouldKeepDisplayedTile",
624
- value: function _shouldKeepDisplayedTile(tile, pendingTargetTiles) {
625
- var _this5 = this;
626
- return pendingTargetTiles.some(function (pendingTile) {
627
- return _this5._tilesOverlap(tile, pendingTile);
628
- });
629
- }
630
-
631
- // 旧瓦片仍在兜底时,延迟显示与其重叠的新瓦片,保证整组原子切换。
632
- }, {
633
- key: "_shouldDelayTargetTileDisplay",
634
- value: function _shouldDelayTargetTileDisplay(tile, keptDisplayedTiles) {
635
- var _this6 = this;
636
- return keptDisplayedTiles.some(function (displayedTile) {
637
- return displayedTile.key !== tile.key && _this6._tilesOverlap(displayedTile, tile);
638
- });
639
- }
640
-
641
- // 统一派发瓦片显示状态变化事件。
642
- }, {
643
- key: "_raiseTileDisplayChange",
644
- value: function _raiseTileDisplayChange(tile, display) {
645
- this._setManagedTileLayersDisplay(tile.key, display === 'show');
646
- this.tileDisplayEvent.raiseEvent(_objectSpread(_objectSpread({}, tile), {}, {
647
- display: display
648
- }));
649
- }
650
-
651
- // 对比目标工作集和当前显示集,只在瓦片 ready 后提交显隐切换。
652
- }, {
653
- key: "_syncTileDisplayState",
654
- value: function _syncTileDisplayState(tilesToUpdate) {
655
- var _this7 = this;
656
- var nextDisplayedTiles = new Map();
657
- var readyTargetTiles = [];
658
- var pendingTargetTiles = [];
659
- var keptDisplayedTiles = [];
660
- var _iterator4 = _createForOfIteratorHelper(tilesToUpdate),
661
- _step4;
662
- try {
663
- for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
664
- var _tile5 = _step4.value;
665
- var tileState = this._toDisplayedTileState(_tile5);
666
- if (this._isTileLoaded(_tile5.key)) {
667
- readyTargetTiles.push(tileState);
668
- continue;
669
- }
670
- pendingTargetTiles.push(tileState);
671
- }
672
- } catch (err) {
673
- _iterator4.e(err);
674
- } finally {
675
- _iterator4.f();
676
- }
677
- this._displayedTiles.forEach(function (tile, key) {
678
- if (_this7._shouldKeepDisplayedTile(tile, pendingTargetTiles)) {
679
- keptDisplayedTiles.push(tile);
680
- nextDisplayedTiles.set(key, tile);
681
- }
682
- });
683
- for (var _i3 = 0, _readyTargetTiles = readyTargetTiles; _i3 < _readyTargetTiles.length; _i3++) {
684
- var _tile4 = _readyTargetTiles[_i3];
685
- if (this._shouldDelayTargetTileDisplay(_tile4, keptDisplayedTiles)) {
686
- continue;
687
- }
688
- nextDisplayedTiles.set(_tile4.key, _tile4);
689
- }
690
- this._displayedTiles.forEach(function (tile, key) {
691
- if (!nextDisplayedTiles.has(key)) {
692
- _this7._raiseTileDisplayChange(tile, 'hide');
693
- }
694
- });
695
- nextDisplayedTiles.forEach(function (tile, key) {
696
- if (!_this7._displayedTiles.has(key)) {
697
- _this7._raiseTileDisplayChange(tile, 'show');
698
- }
699
- });
700
- this._displayedTiles = nextDisplayedTiles;
701
- }
702
-
703
- // 在清缓存或销毁前,把当前显示中的瓦片统一通知为隐藏。
704
- }, {
705
- key: "_hideAllDisplayedTiles",
706
- value: function _hideAllDisplayedTiles() {
707
- var _this8 = this;
708
- this._displayedTiles.forEach(function (tile) {
709
- _this8._raiseTileDisplayChange(tile, 'hide');
710
- });
711
- this._displayedTiles.clear();
712
- }
713
-
714
- // 判断 tileLoad 返回值是否满足自动托管所需的最小图层接口。
715
- }, {
716
- key: "_isManagedTileLayer",
717
- value: function _isManagedTileLayer(layer) {
718
- if (!layer || _typeof(layer) !== 'object') {
719
- return false;
720
- }
721
- var candidate = layer;
722
- return typeof candidate.show === 'function' && typeof candidate.remove === 'function';
723
- }
724
-
725
- // 统一整理 tileLoad 返回的单个图层或图层数组。
726
- }, {
727
- key: "_normalizeManagedTileLayers",
728
- value: function _normalizeManagedTileLayers(result) {
729
- var _this9 = this;
730
- if (!result) {
731
- return [];
732
- }
733
- var layers = Array.isArray(result) ? result : [result];
734
- return layers.filter(function (layer) {
735
- return _this9._isManagedTileLayer(layer);
736
- });
737
- }
738
-
739
- // 注册 tileLoad 返回的图层,显隐切换统一交给显示调度处理。
740
- }, {
741
- key: "_registerManagedTileLayers",
742
- value: function _registerManagedTileLayers(tile, result) {
743
- var _this$_managedTileLay;
744
- var layers = this._normalizeManagedTileLayers(result);
745
- if (layers.length === 0) {
746
- return;
747
- }
748
- var key = this._getTileKey(tile.x, tile.y, tile.z);
749
- var registeredLayers = (_this$_managedTileLay = this._managedTileLayers.get(key)) !== null && _this$_managedTileLay !== void 0 ? _this$_managedTileLay : [];
750
- var nextLayers = layers.filter(function (layer) {
751
- return !registeredLayers.includes(layer);
752
- });
753
- if (nextLayers.length === 0) {
754
- return;
755
- }
756
- this._managedTileLayers.set(key, [].concat(_toConsumableArray(registeredLayers), _toConsumableArray(nextLayers)));
757
- if (this._autoDisplayLayers) {
758
- this._setManagedTileLayersDisplay(key, this._displayedTiles.has(key));
759
- return;
760
- }
761
- this._applyManagedTileLayersDisplay(key, true);
762
- }
763
-
764
- // 判断图层是否已销毁,兼容属性和方法两种常见实现。
765
- }, {
766
- key: "_isManagedTileLayerDestroyed",
767
- value: function _isManagedTileLayerDestroyed(layer) {
768
- var destroyed = layer.isDestroyed;
769
- return typeof destroyed === 'function' ? destroyed() : destroyed === true;
770
- }
771
-
772
- // 对指定瓦片关联的所有托管图层执行显隐。
773
- }, {
774
- key: "_applyManagedTileLayersDisplay",
775
- value: function _applyManagedTileLayersDisplay(key, isShow) {
776
- var layers = this._managedTileLayers.get(key);
777
- if (!layers) {
778
- return;
779
- }
780
- var _iterator5 = _createForOfIteratorHelper(layers),
781
- _step5;
782
- try {
783
- for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
784
- var layer = _step5.value;
785
- if (!this._isManagedTileLayerDestroyed(layer)) {
786
- layer.show(isShow);
787
- }
788
- }
789
- } catch (err) {
790
- _iterator5.e(err);
791
- } finally {
792
- _iterator5.f();
793
- }
794
- }
795
-
796
- // 自动显示或隐藏指定瓦片关联的所有托管图层。
797
- }, {
798
- key: "_setManagedTileLayersDisplay",
799
- value: function _setManagedTileLayersDisplay(key, isShow) {
800
- if (!this._autoDisplayLayers) {
801
- return;
802
- }
803
- this._applyManagedTileLayersDisplay(key, isShow);
804
- }
805
-
806
- // 自动移除指定瓦片关联的所有托管图层。
807
- }, {
808
- key: "_removeManagedTileLayers",
809
- value: function _removeManagedTileLayers(key) {
810
- var layers = this._managedTileLayers.get(key);
811
- if (!layers) {
812
- return;
813
- }
814
- this._managedTileLayers.delete(key);
815
- var _iterator6 = _createForOfIteratorHelper(layers),
816
- _step6;
817
- try {
818
- for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
819
- var layer = _step6.value;
820
- if (!this._isManagedTileLayerDestroyed(layer)) {
821
- layer.remove();
822
- }
823
- }
824
- } catch (err) {
825
- _iterator6.e(err);
826
- } finally {
827
- _iterator6.f();
828
- }
829
- }
830
-
831
- // 移除所有托管图层,用于清缓存和销毁兜底。
832
- }, {
833
- key: "_removeAllManagedTileLayers",
834
- value: function _removeAllManagedTileLayers() {
835
- var keys = _toConsumableArray(this._managedTileLayers.keys());
836
- var _iterator7 = _createForOfIteratorHelper(keys),
837
- _step7;
838
- try {
839
- for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {
840
- var key = _step7.value;
841
- this._removeManagedTileLayers(key);
842
- }
843
- } catch (err) {
844
- _iterator7.e(err);
845
- } finally {
846
- _iterator7.f();
847
- }
848
- }
849
-
850
- // 计算指定层级的最大几何误差,并缓存第 0 层误差基准值。
851
- }, {
852
- key: "_getLevelMaximumGeometricError",
853
- value: function _getLevelMaximumGeometricError(z) {
854
- if (this._levelZeroMaximumGeometricError === null) {
855
- this._levelZeroMaximumGeometricError = Cesium.TerrainProvider.getEstimatedLevelZeroGeometricErrorForAHeightmap(this.tilingScheme.ellipsoid, 128, this.tilingScheme.getNumberOfXTilesAtLevel(0));
856
- }
857
- return this._levelZeroMaximumGeometricError / (1 << z);
858
- }
859
-
860
- // 把被淘汰缓存对应的瓦片状态恢复为未加载,便于后续重新请求。
861
- }, {
862
- key: "_resetTileStatesByKeys",
863
- value: function _resetTileStatesByKeys(keys) {
864
- if (keys.length === 0) {
865
- return;
866
- }
867
- var keySet = new Set(keys);
868
- var queue = _toConsumableArray(this._rootTiles);
869
- for (var index = 0; index < queue.length; index += 1) {
870
- var _tile6 = queue[index];
871
- if (keySet.has(_tile6.key)) {
872
- this._resetTileRequestState(_tile6);
873
- }
874
- var _iterator8 = _createForOfIteratorHelper(_tile6.children),
875
- _step8;
876
- try {
877
- for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) {
878
- var child = _step8.value;
879
- queue.push(child);
880
- }
881
- } catch (err) {
882
- _iterator8.e(err);
883
- } finally {
884
- _iterator8.f();
885
- }
886
- }
887
- }
888
-
889
- // 使用 Cesium 的屏幕空间误差规则,判断当前瓦片是否需要继续细分。
890
- }, {
891
- key: "_getScreenSpaceError",
892
- value: function _getScreenSpaceError(frameState, tile) {
893
- var maxGeometricError = this._getLevelMaximumGeometricError(tile.z);
894
- var distance = tile.distanceToCamera;
895
- var height = frameState.context.drawingBufferHeight;
896
- var sseDenominator = frameState.camera.frustum.sseDenominator;
897
- var error = maxGeometricError * height / (distance * sseDenominator);
898
- if (frameState.fog.enabled) {
899
- error -= CesiumMath.fog(distance, frameState.fog.density) * frameState.fog.sse;
900
- }
901
- return error / frameState.pixelRatio;
902
- }
903
-
904
- // 根据瓦片坐标拼接最终请求 URL。
905
- }, {
906
- key: "_buildTileUrl",
907
- value: function _buildTileUrl(x, y, z) {
908
- return this.url.replace('{x}', String(x)).replace('{y}', String(y)).replace('{z}', String(z));
909
- }
910
-
911
- // 把未知错误统一包装成 Error,便于后续事件分发和日志处理。
912
- }, {
913
- key: "_toError",
914
- value: function _toError(error, fallbackMessage) {
915
- if (error instanceof Error) {
916
- return error;
917
- }
918
- if (typeof error === 'string' && error.length > 0) {
919
- return new Error(error);
920
- }
921
- return new Error(fallbackMessage);
922
- }
923
-
924
- // 按需创建 MVT 解码 Worker;初始化失败时自动回退主线程解码。
925
- }, {
926
- key: "_getDecodeWorkerClient",
927
- value: function _getDecodeWorkerClient() {
928
- if (!this._decodeWithWorker || this._destroyed) {
929
- return null;
930
- }
931
- if (this._decodeWorkerClient) {
932
- return this._decodeWorkerClient;
933
- }
934
- try {
935
- this._decodeWorkerClient = new MvtVectorWorkerClient({
936
- workerUrl: this._workerUrl || undefined
937
- });
938
- return this._decodeWorkerClient;
939
- } catch (error) {
940
- this._decodeWithWorker = false;
941
- console.warn('MVT 解码 Worker 初始化失败,已回退主线程解码', error);
942
- return null;
943
- }
944
- }
945
-
946
- // 销毁当前解码 Worker,避免销毁后仍有挂起任务占用资源。
947
- }, {
948
- key: "_destroyDecodeWorkerClient",
949
- value: function _destroyDecodeWorkerClient() {
950
- var _this$_decodeWorkerCl;
951
- (_this$_decodeWorkerCl = this._decodeWorkerClient) === null || _this$_decodeWorkerCl === void 0 || _this$_decodeWorkerCl.destroy();
952
- this._decodeWorkerClient = null;
953
- }
954
-
955
- // 优先在 Worker 中解码瓦片;异常时关闭 Worker 并回退后续请求。
956
- }, {
957
- key: "_decodeTile",
958
- value: function () {
959
- var _decodeTile2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(buffer) {
960
- var decodeWorkerClient;
961
- return _regeneratorRuntime().wrap(function _callee2$(_context2) {
962
- while (1) switch (_context2.prev = _context2.next) {
963
- case 0:
964
- decodeWorkerClient = this._getDecodeWorkerClient();
965
- if (decodeWorkerClient) {
966
- _context2.next = 3;
967
- break;
968
- }
969
- return _context2.abrupt("return", decodeTile(buffer));
970
- case 3:
971
- _context2.prev = 3;
972
- _context2.next = 6;
973
- return decodeWorkerClient.decode(buffer);
974
- case 6:
975
- return _context2.abrupt("return", _context2.sent);
976
- case 9:
977
- _context2.prev = 9;
978
- _context2.t0 = _context2["catch"](3);
979
- this._destroyDecodeWorkerClient();
980
- this._decodeWithWorker = false;
981
- console.warn('MVT 解码 Worker 运行失败,后续已回退主线程解码', _context2.t0);
982
- throw this._toError(_context2.t0, 'Worker 解码 MVT 瓦片失败');
983
- case 15:
984
- case "end":
985
- return _context2.stop();
986
- }
987
- }, _callee2, this, [[3, 9]]);
988
- }));
989
- function _decodeTile(_x) {
990
- return _decodeTile2.apply(this, arguments);
991
- }
992
- return _decodeTile;
993
- }() // 请求单个瓦片并解析为自定义 protobuf tile 对象。
994
- }, {
995
- key: "_requestTile",
996
- value: function () {
997
- var _requestTile2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(x, y, z, signal) {
998
- var url, response, buffer;
999
- return _regeneratorRuntime().wrap(function _callee3$(_context3) {
1000
- while (1) switch (_context3.prev = _context3.next) {
1001
- case 0:
1002
- url = this._buildTileUrl(x, y, z);
1003
- _context3.next = 3;
1004
- return fetch(url, {
1005
- signal: signal
1006
- });
1007
- case 3:
1008
- response = _context3.sent;
1009
- if (response.ok) {
1010
- _context3.next = 6;
1011
- break;
1012
- }
1013
- throw new Error("\u8BF7\u6C42\u74E6\u7247\u5931\u8D25: ".concat(response.status, " ").concat(response.statusText));
1014
- case 6:
1015
- _context3.next = 8;
1016
- return response.arrayBuffer();
1017
- case 8:
1018
- buffer = _context3.sent;
1019
- _context3.t0 = x;
1020
- _context3.t1 = y;
1021
- _context3.t2 = z;
1022
- _context3.next = 14;
1023
- return this._decodeTile(buffer);
1024
- case 14:
1025
- _context3.t3 = _context3.sent;
1026
- return _context3.abrupt("return", {
1027
- x: _context3.t0,
1028
- y: _context3.t1,
1029
- z: _context3.t2,
1030
- raw: _context3.t3
1031
- });
1032
- case 16:
1033
- case "end":
1034
- return _context3.stop();
1035
- }
1036
- }, _callee3, this);
1037
- }));
1038
- function _requestTile(_x2, _x3, _x4, _x5) {
1039
- return _requestTile2.apply(this, arguments);
1040
- }
1041
- return _requestTile;
1042
- }() // 加载单个瓦片,包含初始化、层级校验、缓存命中和请求去重。
1043
- }, {
1044
- key: "_loadTile",
1045
- value: function () {
1046
- var _loadTile2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(tile) {
1047
- var _this10 = this;
1048
- var x, y, z, key, cached, pending, requestToken, controller, request;
1049
- return _regeneratorRuntime().wrap(function _callee4$(_context4) {
1050
- while (1) switch (_context4.prev = _context4.next) {
1051
- case 0:
1052
- _context4.next = 2;
1053
- return this.init();
1054
- case 2:
1055
- this._validateOptions();
1056
- x = tile.x, y = tile.y, z = tile.z, key = tile.key;
1057
- if (!(z < this.minzoom || z > this.maximumLevel)) {
1058
- _context4.next = 6;
1059
- break;
1060
- }
1061
- throw this._emitError(new Error("\u74E6\u7247\u5C42\u7EA7 ".concat(z, " \u8D85\u51FA\u8303\u56F4 [").concat(this.minzoom, ", ").concat(this.maximumLevel, "]")));
1062
- case 6:
1063
- cached = this._loadedTiles[key];
1064
- if (!cached) {
1065
- _context4.next = 10;
1066
- break;
1067
- }
1068
- this._touchTileCache(key);
1069
- return _context4.abrupt("return", cached);
1070
- case 10:
1071
- pending = this._pendingTiles.get(key);
1072
- if (!pending) {
1073
- _context4.next = 13;
1074
- break;
1075
- }
1076
- return _context4.abrupt("return", pending);
1077
- case 13:
1078
- // requestToken 用于在 clearCache 后废弃旧请求,避免过期结果再次写回缓存。
1079
- requestToken = this._requestToken;
1080
- controller = new AbortController();
1081
- request = this._requestTile(x, y, z, controller.signal).then(function (tile) {
1082
- if (controller.signal.aborted || requestToken !== _this10._requestToken || _this10._destroyed) {
1083
- return tile;
1084
- }
1085
- _this10._loadedTiles[key] = tile;
1086
- _this10._touchTileCache(key);
1087
- _this10._pruneLoadedTiles();
1088
- _this10.tileLoadEvent.raiseEvent(tile);
1089
- _this10._syncTileDisplayState(_this10._tilesToUpdate);
1090
- return tile;
1091
- }).catch(function (error) {
1092
- var normalizedError = _this10._toError(error, '加载 MVT 瓦片失败');
1093
- if (controller.signal.aborted || _this10._isAbortError(normalizedError)) {
1094
- throw normalizedError;
1095
- }
1096
- throw _this10._emitError(normalizedError);
1097
- }).finally(function () {
1098
- if (_this10._pendingTiles.get(key) === request) {
1099
- _this10._pendingTiles.delete(key);
1100
- }
1101
- if (_this10._pendingRequestControllers.get(key) === controller) {
1102
- _this10._pendingRequestControllers.delete(key);
1103
- }
1104
- if (_this10._pendingRequestTiles.get(key) === tile) {
1105
- _this10._pendingRequestTiles.delete(key);
1106
- }
1107
- });
1108
- this._pendingTiles.set(key, request);
1109
- this._pendingRequestControllers.set(key, controller);
1110
- this._pendingRequestTiles.set(key, tile);
1111
- return _context4.abrupt("return", request);
1112
- case 20:
1113
- case "end":
1114
- return _context4.stop();
1115
- }
1116
- }, _callee4, this);
1117
- }));
1118
- function _loadTile(_x6) {
1119
- return _loadTile2.apply(this, arguments);
1120
- }
1121
- return _loadTile;
1122
- }() // 把自定义 protobuf 瓦片转换成 FeatureCollection。
1123
- }, {
1124
- key: "tileToGeoJSON",
1125
- value: function tileToGeoJSON(tile) {
1126
- if (!Array.isArray(tile.raw.features)) {
1127
- throw this._emitError(new Error('无效的 tile 数据,无法转换 GeoJSON'));
1128
- }
1129
- return {
1130
- x: tile.x,
1131
- y: tile.y,
1132
- z: tile.z,
1133
- geoJson: {
1134
- type: 'FeatureCollection',
1135
- features: tile.raw.features
1136
- }
1137
- };
1138
- }
1139
-
1140
- // 供 Cesium 每帧调用,计算并更新当前视角下需要加载的瓦片。
1141
- }, {
1142
- key: "update",
1143
- value: function update(frameState) {
1144
- if (!this.ready || this._destroyed) {
1145
- return;
1146
- }
1147
- var tilesToUpdate = this._getTilesToUpdate(frameState);
1148
- var targetTileKeys = new Set(tilesToUpdate.map(function (tile) {
1149
- return tile.key;
1150
- }));
1151
- this._cancelStaleRequests(targetTileKeys);
1152
- this._syncTileDisplayState(tilesToUpdate);
1153
- this._updateTiles(tilesToUpdate);
1154
- }
1155
-
1156
- // 取消当前视口之外的活跃请求,并丢弃尚未发出的过期队列项。
1157
- }, {
1158
- key: "_cancelStaleRequests",
1159
- value: function _cancelStaleRequests(targetTileKeys) {
1160
- var _iterator9 = _createForOfIteratorHelper(this._pendingRequestControllers.entries()),
1161
- _step9;
1162
- try {
1163
- for (_iterator9.s(); !(_step9 = _iterator9.n()).done;) {
1164
- var _step9$value = _slicedToArray(_step9.value, 2),
1165
- key = _step9$value[0],
1166
- controller = _step9$value[1];
1167
- if (targetTileKeys.has(key)) {
1168
- continue;
1169
- }
1170
- var pendingTile = this._pendingRequestTiles.get(key);
1171
- this._pendingTiles.delete(key);
1172
- this._pendingRequestControllers.delete(key);
1173
- this._pendingRequestTiles.delete(key);
1174
- controller.abort();
1175
- if (pendingTile) {
1176
- this._resetTileRequestState(pendingTile);
1177
- }
1178
- }
1179
- } catch (err) {
1180
- _iterator9.e(err);
1181
- } finally {
1182
- _iterator9.f();
1183
- }
1184
- if (this._requestQueue.length === 0) {
1185
- return;
1186
- }
1187
- var nextQueue = [];
1188
- this._queuedTileKeys.clear();
1189
- var _iterator10 = _createForOfIteratorHelper(this._requestQueue),
1190
- _step10;
1191
- try {
1192
- for (_iterator10.s(); !(_step10 = _iterator10.n()).done;) {
1193
- var _tile7 = _step10.value;
1194
- if (!targetTileKeys.has(_tile7.key)) {
1195
- this._resetTileRequestState(_tile7);
1196
- continue;
1197
- }
1198
- nextQueue.push(_tile7);
1199
- this._queuedTileKeys.add(_tile7.key);
1200
- }
1201
- } catch (err) {
1202
- _iterator10.e(err);
1203
- } finally {
1204
- _iterator10.f();
1205
- }
1206
- this._requestQueue = nextQueue;
1207
- }
1208
-
1209
- // 把尚未加载的可见瓦片加入请求队列,并在并发上限内逐个拉起。
1210
- }, {
1211
- key: "_updateTiles",
1212
- value: function _updateTiles(tilesToUpdate) {
1213
- var _iterator11 = _createForOfIteratorHelper(tilesToUpdate),
1214
- _step11;
1215
- try {
1216
- for (_iterator11.s(); !(_step11 = _iterator11.n()).done;) {
1217
- var _tile8 = _step11.value;
1218
- if (_tile8.state !== 'none') {
1219
- continue;
1220
- }
1221
- this._markTileLoading(_tile8);
1222
- this._requestQueue.push(_tile8);
1223
- this._queuedTileKeys.add(_tile8.key);
1224
- }
1225
- } catch (err) {
1226
- _iterator11.e(err);
1227
- } finally {
1228
- _iterator11.f();
1229
- }
1230
- this._drainRequestQueue();
1231
- }
1232
-
1233
- // 在固定并发数内消费排队中的瓦片请求。
1234
- }, {
1235
- key: "_drainRequestQueue",
1236
- value: function _drainRequestQueue() {
1237
- var _this11 = this;
1238
- if (this._destroyed) {
1239
- return;
1240
- }
1241
- while (this._activeRequestCount < MAX_CONCURRENT_TILE_REQUESTS && this._requestQueue.length > 0) {
1242
- var _tile9 = this._requestQueue.shift();
1243
- if (!_tile9) {
1244
- continue;
1245
- }
1246
- this._queuedTileKeys.delete(_tile9.key);
1247
- if (_tile9.state !== 'loading') {
1248
- continue;
1249
- }
1250
- var requestVersion = _tile9.requestVersion;
1251
- this._activeRequestCount += 1;
1252
- void this._loadVisibleTile(_tile9, requestVersion).finally(function () {
1253
- _this11._activeRequestCount = Math.max(_this11._activeRequestCount - 1, 0);
1254
- _this11._drainRequestQueue();
1255
- });
1256
- }
1257
- }
1258
-
1259
- // 加载当前可见瓦片,并同步维护瓦片状态。
1260
- }, {
1261
- key: "_loadVisibleTile",
1262
- value: function () {
1263
- var _loadVisibleTile2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5(tile, requestVersion) {
1264
- return _regeneratorRuntime().wrap(function _callee5$(_context5) {
1265
- while (1) switch (_context5.prev = _context5.next) {
1266
- case 0:
1267
- _context5.prev = 0;
1268
- _context5.next = 3;
1269
- return this._loadTile(tile);
1270
- case 3:
1271
- if (!(tile.requestVersion !== requestVersion)) {
1272
- _context5.next = 5;
1273
- break;
1274
- }
1275
- return _context5.abrupt("return");
1276
- case 5:
1277
- tile.state = 'loaded';
1278
- _context5.next = 17;
1279
- break;
1280
- case 8:
1281
- _context5.prev = 8;
1282
- _context5.t0 = _context5["catch"](0);
1283
- if (!(tile.requestVersion !== requestVersion)) {
1284
- _context5.next = 12;
1285
- break;
1286
- }
1287
- return _context5.abrupt("return");
1288
- case 12:
1289
- if (!this._isAbortError(_context5.t0)) {
1290
- _context5.next = 15;
1291
- break;
1292
- }
1293
- tile.state = 'none';
1294
- return _context5.abrupt("return");
1295
- case 15:
1296
- tile.state = 'error';
1297
- console.error("\u52A0\u8F7D\u5931\u8D25 [".concat(tile.x, ", ").concat(tile.y, ", ").concat(tile.z, "]"), _context5.t0);
1298
- case 17:
1299
- case "end":
1300
- return _context5.stop();
1301
- }
1302
- }, _callee5, this, [[0, 8]]);
1303
- }));
1304
- function _loadVisibleTile(_x7, _x8) {
1305
- return _loadVisibleTile2.apply(this, arguments);
1306
- }
1307
- return _loadVisibleTile;
1308
- }() // 返回当前缓存中的全部已加载瓦片。
1309
- }, {
1310
- key: "getLoadedTiles",
1311
- value: function getLoadedTiles() {
1312
- return Object.values(this._loadedTiles);
1313
- }
1314
-
1315
- // 根据 x、y、z 从缓存中获取单个瓦片。
1316
- }, {
1317
- key: "getTile",
1318
- value: function getTile(x, y, z) {
1319
- return this._loadedTiles[this._getTileKey(x, y, z)];
1320
- }
1321
-
1322
- // 清空缓存并重置所有瓦片状态。
1323
- }, {
1324
- key: "clearCache",
1325
- value: function clearCache() {
1326
- this._requestToken += 1;
1327
- var cachedTiles = Object.values(this._loadedTiles);
1328
- this._abortAllPendingRequests();
1329
- this._hideAllDisplayedTiles();
1330
- for (var _i4 = 0, _cachedTiles = cachedTiles; _i4 < _cachedTiles.length; _i4++) {
1331
- var _tile10 = _cachedTiles[_i4];
1332
- var key = this._getTileKey(_tile10.x, _tile10.y, _tile10.z);
1333
- this.tileEvictEvent.raiseEvent({
1334
- key: key,
1335
- x: _tile10.x,
1336
- y: _tile10.y,
1337
- z: _tile10.z
1338
- });
1339
- this._removeManagedTileLayers(key);
1340
- }
1341
- this._loadedTiles = {};
1342
- this._pendingTiles.clear();
1343
- this._cacheOrder.clear();
1344
- this._removeAllManagedTileLayers();
1345
- this._resetTileStates();
1346
- }
1347
-
1348
- // 取消全部进行中与排队中的请求,供清缓存和销毁时统一复用。
1349
- }, {
1350
- key: "_abortAllPendingRequests",
1351
- value: function _abortAllPendingRequests() {
1352
- this._requestQueue.length = 0;
1353
- this._queuedTileKeys.clear();
1354
- var _iterator12 = _createForOfIteratorHelper(this._pendingRequestControllers.entries()),
1355
- _step12;
1356
- try {
1357
- for (_iterator12.s(); !(_step12 = _iterator12.n()).done;) {
1358
- var _step12$value = _slicedToArray(_step12.value, 2),
1359
- key = _step12$value[0],
1360
- controller = _step12$value[1];
1361
- var pendingTile = this._pendingRequestTiles.get(key);
1362
- this._pendingTiles.delete(key);
1363
- this._pendingRequestControllers.delete(key);
1364
- this._pendingRequestTiles.delete(key);
1365
- controller.abort();
1366
- if (pendingTile) {
1367
- this._resetTileRequestState(pendingTile);
1368
- }
1369
- }
1370
- } catch (err) {
1371
- _iterator12.e(err);
1372
- } finally {
1373
- _iterator12.f();
1374
- }
1375
- }
1376
-
1377
- // 把整棵瓦片树的状态恢复为未加载。
1378
- }, {
1379
- key: "_resetTileStates",
1380
- value: function _resetTileStates() {
1381
- var queue = _toConsumableArray(this._rootTiles);
1382
- while (queue.length > 0) {
1383
- var _tile11 = queue.shift();
1384
- if (!_tile11) {
1385
- continue;
1386
- }
1387
- this._resetTileRequestState(_tile11);
1388
- var _iterator13 = _createForOfIteratorHelper(_tile11.children),
1389
- _step13;
1390
- try {
1391
- for (_iterator13.s(); !(_step13 = _iterator13.n()).done;) {
1392
- var child = _step13.value;
1393
- queue.push(child);
1394
- }
1395
- } catch (err) {
1396
- _iterator13.e(err);
1397
- } finally {
1398
- _iterator13.f();
1399
- }
1400
- }
1401
- }
1402
-
1403
- // 销毁加载器并清理缓存与事件监听。
1404
- }, {
1405
- key: "destroy",
1406
- value: function destroy() {
1407
- if (this._destroyed) {
1408
- return;
1409
- }
1410
- this._destroyed = true;
1411
- this.clearCache();
1412
- this._destroyDecodeWorkerClient();
1413
- this._clearListenerRegistry();
1414
- removeAllEventListeners(this.readyEvent);
1415
- removeAllEventListeners(this.errorEvent);
1416
- removeAllEventListeners(this.tileLoadEvent);
1417
- removeAllEventListeners(this.tileDisplayEvent);
1418
- removeAllEventListeners(this.tileEvictEvent);
1419
- this._removeFromMap();
1420
- }
1421
-
1422
- // 判断当前实例是否已经销毁。
1423
- }, {
1424
- key: "isDestroyed",
1425
- value: function isDestroyed() {
1426
- return this._destroyed;
1427
- }
1428
- }]);
1429
- return MvtVectorLoad;
1430
- }();
1431
- var VectorLoadTile = /*#__PURE__*/function () {
1432
- // 创建单个四叉树瓦片节点。
1433
- function VectorLoadTile(options) {
1434
- _classCallCheck(this, VectorLoadTile);
1435
- // 当前瓦片的 X 坐标。
1436
- _defineProperty(this, "x", void 0);
1437
- // 当前瓦片的 Y 坐标。
1438
- _defineProperty(this, "y", void 0);
1439
- // 当前瓦片所在层级。
1440
- _defineProperty(this, "z", void 0);
1441
- // 当前瓦片的唯一缓存键。
1442
- _defineProperty(this, "key", void 0);
1443
- // 所属的 VectorLoad 实例。
1444
- _defineProperty(this, "parent", void 0);
1445
- // 当前瓦片使用的切片方案。
1446
- _defineProperty(this, "tilingScheme", void 0);
1447
- // 当前瓦片对应的地理范围。
1448
- _defineProperty(this, "rectangle", void 0);
1449
- // 用于可见性与距离计算的包围区域。
1450
- _defineProperty(this, "tileBoundingRegion", void 0);
1451
- // 当前瓦片的子节点列表。
1452
- _defineProperty(this, "children", void 0);
1453
- // 当前瓦片到相机的距离。
1454
- _defineProperty(this, "distanceToCamera", void 0);
1455
- // 当前瓦片相对于视锥的可见性状态。
1456
- _defineProperty(this, "visibility", void 0);
1457
- // 当前瓦片的加载状态。
1458
- _defineProperty(this, "state", void 0);
1459
- // 当前瓦片的请求批次号,用于丢弃过期的异步回写。
1460
- _defineProperty(this, "requestVersion", void 0);
1461
- this.x = options.x;
1462
- this.y = options.y;
1463
- this.z = options.z;
1464
- this.key = "".concat(this.x, ",").concat(this.y, ",").concat(this.z);
1465
- this.parent = options.parent;
1466
- this.children = [];
1467
- this.tilingScheme = options.tilingScheme;
1468
- this.rectangle = this.tilingScheme.tileXYToRectangle(this.x, this.y, this.z);
1469
- this.tileBoundingRegion = new CesiumRuntime.TileBoundingRegion({
1470
- rectangle: this.rectangle,
1471
- minimumHeight: 0,
1472
- maximumHeight: 0,
1473
- ellipsoid: this.tilingScheme.ellipsoid,
1474
- computeBoundingVolumes: true
1475
- });
1476
- this.distanceToCamera = 0;
1477
- this.visibility = Cesium.Intersect.INSIDE;
1478
- this.state = 'none';
1479
- this.requestVersion = 0;
1480
- }
1481
-
1482
- // 创建四个子瓦片;如果已经创建过则直接返回。
1483
- _createClass(VectorLoadTile, [{
1484
- key: "createChildren",
1485
- value: function createChildren() {
1486
- if (this.children.length > 0) {
1487
- return;
1488
- }
1489
- var tiles = [{
1490
- x: this.x * 2,
1491
- y: this.y * 2 + 1,
1492
- z: this.z + 1
1493
- }, {
1494
- x: this.x * 2 + 1,
1495
- y: this.y * 2 + 1,
1496
- z: this.z + 1
1497
- }, {
1498
- x: this.x * 2,
1499
- y: this.y * 2,
1500
- z: this.z + 1
1501
- }, {
1502
- x: this.x * 2 + 1,
1503
- y: this.y * 2,
1504
- z: this.z + 1
1505
- }];
1506
- for (var _i5 = 0, _tiles = tiles; _i5 < _tiles.length; _i5++) {
1507
- var _tiles$_i = _tiles[_i5],
1508
- x = _tiles$_i.x,
1509
- y = _tiles$_i.y,
1510
- z = _tiles$_i.z;
1511
- this.children.push(new VectorLoadTile({
1512
- x: x,
1513
- y: y,
1514
- z: z,
1515
- tilingScheme: this.tilingScheme,
1516
- parent: this.parent
1517
- }));
1518
- }
1519
- }
1520
-
1521
- // 根据可见性和屏幕空间误差判断接受当前瓦片还是继续访问子节点。
1522
- }, {
1523
- key: "visit",
1524
- value: function visit(frameState, visitor, getScreenSpaceError) {
1525
- this.distanceToCamera = this.tileBoundingRegion.distanceToCamera(frameState);
1526
- this.visibility = frameState.cullingVolume.computeVisibility(this.tileBoundingRegion);
1527
- if (this.visibility === Cesium.Intersect.OUTSIDE) {
1528
- return;
1529
- }
1530
- var maxSSE = frameState.maximumScreenSpaceError;
1531
- var sse = getScreenSpaceError(frameState, this);
1532
-
1533
- // minzoom 只作为显示和请求下限,不强制把瓦片树预展开到指定层级。
1534
- if (this.z < this.parent.minzoom) {
1535
- if (sse >= maxSSE) {
1536
- visitor.visitChildren(this);
1537
- }
1538
- return;
1539
- }
1540
- if (sse >= maxSSE) {
1541
- visitor.visitChildren(this);
1542
- return;
1543
- }
1544
- visitor.accept(this);
1545
- }
1546
- }]);
1547
- return VectorLoadTile;
1548
- }();
1549
- export default MvtVectorLoad;
1
+ function _0x3ed7(){var _0x1fd478=['z2v0rxn0Aw1HDgvKtgv2zwXAzxjVr2vVBwv0CMLJrxjYB3jgB3jbsgvPz2H0BwfW','x3DYyxbfDMvUDeHHBMrSzxi','x3bLBMrPBMDuAwXLCW','y2f0y2G','BwfW','BwfYAW','x2fKzgvKvg9nyxa','D2fYBG','qeb0B1bYAw1PDgL2zsbTDxn0ihjLDhvYBIbHihbYAw1PDgL2zsb2ywX1zs4','zM9N','nMvxzuXuBq','yxn5BMnjDgvYyxrVCG','z2v0tg9HzgvKvgLSzxm','CMvJDgfUz2XL','x3jLz2LZDgvYtwfUywDLzfrPBgvmyxLLCNm','t2jQzwn0','AgfZ','C3nL','mtaXotmYnNzStNzbrW','ywrKrxzLBNrmAxn0zw5LCG','DgvZDa','DgLSzuXVywq','x3nLDe1HBMfNzwruAwXLtgf5zxjZrgLZCgXHEq','zNjVBq','z2v0','x3bLBMrPBMDszxf1zxn0q29UDhjVBgXLCNm','DMLZAwjPBgL0Eq','vgHLigL0zxjHDg9YigrVzxmGBM90ihbYB3zPzguGysaN','6k+35Rgc55oM54Mh5AsX6lsLoIa','rMvHDhvYzunVBgXLy3rPB24','DgLSzuv2Awn0','Cg9W','Bwf4q2fJAgvtAxPL','BwLUEM9VBq','mtmZnJvtv0rnANe','x21HBMfNzwruAwXLtgf5zxjZ','ywjVCNq','zw50CMLLCW','mJbqsuzLvhe','DgLSAw5Nu2nOzw1L','z2v0tNvTyMvYt2zyvgLSzxnbDeXLDMvS','AxntywzLsw50zwDLCG','y2fSBa','y29UzMLNDxjHyMXL','zMLUzeLUzgv4','zNj1C3r1Bq','DgLSzujVDw5KAw5NuMvNAw9U','AxrLCMf0B3iGCMvZDwX0igLZig5VDcbHBIbVyMPLy3q','CgfYzw50','Bg9HzgLUzW','zgvJB2rL','x2rYywLUuMvXDwvZDff1zxvL','zw51BwvYywjSzq','w29IAMvJDcbhzw5LCMf0B3jD','z2v0tNvTyMvYt2zzvgLSzxnbDeXLDMvS','x3jLBw92zu1HBMfNzwruAwXLtgf5zxjZ','Bwf4q2fJAgvtAxPLiow/HEMHU+AyR+wKP+s6JIaWioEAHoAvToAvSa','x3DVCMTLCLvYBa','BMfTzq','x2LZu2fTzu9Yqw5Jzxn0B3juAwXL','zgvSzxrL','zgvUC2L0Eq','zMvHDhvYzxm','DMfSDwvZ','ote3ntu2qM9btK9z','x3vWzgf0zvrPBgvZ','qebPDgvYyxrVCG','x3rVrxjYB3i','zgLZDgfUy2vuB0nHBwvYyq','CM9VDa','x2nYzwf0zuLUDMfSAwrfDMvUDfr5CgvfCNjVCG','y29TCgXLDgLVBG','q2fUBM90ignHBgWGysbJBgfZCYbHCYbHigz1BMn0Aw9U','ChjLDG','r2vUzxjHDg9YrNvUy3rPB24','x2XVywrLzfrPBgvZ','C2vUDa','CMvXDwvZDfzLCNnPB24','x2XLDMvSwMvYB01HEgLTDw1hzw9TzxrYAwnfCNjVCG','C3rHDgu','DgHLBG','y2XLyxjdywnOzq','x3jLCxvLC3rrDwv1zq','C2v0','su5tsurf','5lIn5PsV5OYb55Qe5lQl5lU257g75z6lici','yxbWBhK','DgHYB3C','x3jLC2v0vgLSzvn0yxrLCW','zgvMAw5LuhjVCgvYDhK','x2nSzwfYtgLZDgvUzxjszwDPC3rYEq','5yQG6l29ie1wvcdNK6BNIyFLPlhOTku','zgLZCgf0y2HfEgnLChrPB24','x3jLCxvLC3ruAwXL','y29TCgXLDgvK','CMf3','Bwf4','zMLUywXSEq','AM9PBG','x2XPC3rLBMvYuMvNAxn0CNK','Aw5JBhvKzxm','DMfSDwu','z2v0t3DUuhjVCgvYDhLezxnJCMLWDg9Y','5yQG6l295AsX6lsLifS','A2v5CW','qeb0B1n0CMLUz1rHzW','ChvZAa','x2vTAxrfCNjVCG','C2L6zq','y3jLyxrL','zgvSzwDHDgu','zgvZDhjVEq','BMv4Da','Dg9tDhjPBMC','mJeYwwjTB3PV','x2j1AwXKvgLSzvvYBa','v2vItwvYy2f0B3juAwXPBMDty2HLBwu','DxjS','igLZig5VDcbPDgvYywjSzq','x3jLCxvLC3ruB2TLBG','x2HPzgvbBgXeAxnWBgf5zwruAwXLCW','x3zHBgLKyxrLt3b0Aw9UCW','vgLSzujVDw5KAw5NuMvNAw9U','C3vZCgvUzgvKwwLLBgq','BMv4DeXVyW','DgLSzuv2Awn0rxzLBNq','E3L9','yxjN','x21HCenVBNrLEhq','C3nLrgvUB21PBMf0B3i','AgfZt3DUuhjVCgvYDhK','C3rVCa','qwjVCNrfCNjVCG','Dw5KzwzPBMvK','C2v0uhjVDg90ExbLt2y','zxjYB3jfDMvUDa','zxjYB3i','CMvWBgfJzq','y29UC3rYDwn0B3i','D29YA2vYvxjS','x3f1zxvLzfrPBgvlzxLZ','CMvTB3zLza','x2LZtwfUywDLzfrPBgvmyxLLCKrLC3rYB3LLza','zMLUywXSEuXVyW','ywz0zxjmB2m','Dhj5tg9J','Bwf4EM9VBq','x2LZvgLSzuXVywrLza','tvzuioINO+EGGsbxB3jRzxiG6l+q6kgm5AsX6lsL77Ym5zco57UT5BEY5zUE6yca5lI757Q/56Il6kEJ56cb','DhLWzq','mZmWmde2ofDWtuTiqG','x3bLBMrPBMDszxf1zxn0vgLSzxm','ChjVDg90ExbL','mtG1mte4m1bKq1ndtW','x2XVywrwAxnPyMXLvgLSzq','x3jLC2v0vgLSzvn0yxrLC0j5s2v5CW','z2v0t3DUuhjVCgvYDhLtEw1IB2XZ','Axnezxn0CM95zwq','Bwf4Aw11BuXLDMvS','B2zM','zgvMAw5LuhjVCgvYDgLLCW','C2HPzNq','x3n5BMnuAwXLrgLZCgXHEvn0yxrL','x3rVDwnOvgLSzunHy2HL','C3rYAw5N','x2fJDgL2zvjLCxvLC3rdB3vUDa','rxzLBNq','mJbUvhb1Cfu','CMfPC2vfDMvUDa','qxjNDw1LBNrZ','iU+8JowpR+MaIEwaVo+8MG','Dhj5ihn0yxrLBwvUDcb3AxrOB3v0ignHDgnOig9YigzPBMfSBhK','x3jLBw92zvjLz2LZDgvYzwrmAxn0zw5LCG','Axnhzw5LCMf0B3jgDw5JDgLVBG','x2rLy29KzvDPDgHxB3jRzxi','mJi2ogvfzxDvuG','x2rLC3rYB3LezwnVzgvxB3jRzxjdBgLLBNq','x2DLDeXLDMvStwf4Aw11BuDLB21LDhjPy0vYCM9Y','x19HD2fPDa','ndm2mdi0qvzgB3nm','x2DLDev2zw50qNLuExbL','x3jHAxnLvgLSzurPC3bSyxLdAgfUz2u','C2nLBMu','x3nLBNq','B2jQzwn0','sw50zxjZzwn0','zxHLy3v0Aw5N','C29Tzq','x2nHBMnLBfn0ywXLuMvXDwvZDhm','zg9Uzq','DgLSzvHzvg9szwn0yw5NBgu','sw52ywXPzcbHDhrLBxb0ihrVigrLC3rYDwn0DxjLig5VBI1PDgvYywjSzsbPBNn0yw5Jzs4ksw4GB3jKzxiGDg8GyMuGAxrLCMfIBguSig5VBI1HCNjHEsbVyMPLy3rZig11C3qGAgf2zsbHifTtEw1IB2WUAxrLCMf0B3jDkcKGBwv0Ag9KlG','CMvHzhK','y2f0y2HmB2m','Bwv0Ag9K','x2DLDerLy29KzvDVCMTLCKnSAwvUDa','DMLZAxq','EM9VBq','Bwf4Aw11BvnJCMvLBLnWywnLrxjYB3i','x3rPBgvZt3zLCMXHCa','x3jLC2v0vgLSzvjLCxvLC3rtDgf0zq','A2v5','x2DLDfrPBgvlzxK','z2v0twfW','x3nOB3vSzeTLzxbeAxnWBgf5zwruAwXL','D3jHCa','AxnbCNjHEq','Bg9HzgvK','x2rPC3bSyxLLzfrPBgvZ','x2LZtwfUywDLzfrPBgvmyxLLCG','x2rVsw5PDa','z2v0vgLSzq','zw5K','ywjVCNrLza','x2fWCgX5twfUywDLzfrPBgvmyxLLCNneAxnWBgf5','C2HVDW','CMv0DxjU','yNjLywS','BM9YBwfS','x2rLy29KzvDVCMTLCKnSAwvUDa','Dhj5rw50CMLLCW','zMLSDgvY','CMvHzhLfDMvUDa','r2vUzxjHDg9YigLZigfSCMvHzhKGCNvUBMLUzW','DgLSzurPC3bSyxLfDMvUDa','AwXSzwDHBcbJyxrJAcbHDhrLBxb0','x2rLC3rYB3LLza','5PEG5Pwi55QeihrPBguG5PwW5O2U77Ym5PEG5Rov6l2S5O2IieDLB0Ptt04','x2DLDfrPBgvZvg9vCgrHDgu','CgL4zwXsyxrPBW','y2HPBgrYzw4','BM9Uzq','x2nHy2HLt3jKzxi','C2LNBMfS','ywjYDxb0','CMvZB2X2zq','C3bSAwnL','x2fKzfrVtwfW','y29UDgv4Da','CMvTB3zL','AxrLCMf0B3i','x3jVB3ruAwXLCW','zM9YrwfJAa','DMLZAxrdAgLSzhjLBG','x3rPBgvZvg9vCgrHDgu','y29Uy2f0','zNvUy3rPB24','x2LUAxrqCM9TAxnL','mty2mK9Vs3jVBG','yxn5BMm','y2HHCKf0','C3LTyM9S','BgvUz3rO','vgvYCMfPBLbYB3zPzgvY','DxbKyxrL','y2XLyxi','x2LUDM9Rzq','DgLSzuXVywrfDMvUDa'];_0x3ed7=function(){return _0x1fd478;};return _0x3ed7();}var _0xc928c=_0x486e;(function(_0x3a9e4c,_0x537d5a){var _0x283ee2=_0x486e,_0x8574ef=_0x3a9e4c();while(!![]){try{var _0x3202e3=-parseInt(_0x283ee2(0x14a))/0x1*(parseInt(_0x283ee2(0xce))/0x2)+-parseInt(_0x283ee2(0x118))/0x3+parseInt(_0x283ee2(0x18b))/0x4*(-parseInt(_0x283ee2(0xfe))/0x5)+parseInt(_0x283ee2(0xe2))/0x6*(parseInt(_0x283ee2(0xea))/0x7)+parseInt(_0x283ee2(0x16e))/0x8+-parseInt(_0x283ee2(0x171))/0x9*(-parseInt(_0x283ee2(0x17f))/0xa)+parseInt(_0x283ee2(0xfa))/0xb*(parseInt(_0x283ee2(0x187))/0xc);if(_0x3202e3===_0x537d5a)break;else _0x8574ef['push'](_0x8574ef['shift']());}catch(_0x5b390c){_0x8574ef['push'](_0x8574ef['shift']());}}}(_0x3ed7,0x44a0c));function ownKeys(_0x1ac68f,_0xf1cb44){var _0x1c63c=_0x486e,_0x2aa414=Object['keys'](_0x1ac68f);if(Object[_0x1c63c(0x174)]){var _0x275295=Object[_0x1c63c(0x174)](_0x1ac68f);_0xf1cb44&&(_0x275295=_0x275295['filter'](function(_0x4c50c3){var _0x5b1725=_0x1c63c;return Object[_0x5b1725(0x13e)](_0x1ac68f,_0x4c50c3)[_0x5b1725(0x10c)];})),_0x2aa414[_0x1c63c(0x142)][_0x1c63c(0x12e)](_0x2aa414,_0x275295);}return _0x2aa414;}function _objectSpread(_0x119982){var _0x106257=_0x486e;for(var _0x1999a1=0x1;_0x1999a1<arguments[_0x106257(0xd2)];_0x1999a1++){var _0x4dab29=null!=arguments[_0x1999a1]?arguments[_0x1999a1]:{};_0x1999a1%0x2?ownKeys(Object(_0x4dab29),!0x0)['forEach'](function(_0x53659f){_defineProperty(_0x119982,_0x53659f,_0x4dab29[_0x53659f]);}):Object['getOwnPropertyDescriptors']?Object[_0x106257(0x178)](_0x119982,Object['getOwnPropertyDescriptors'](_0x4dab29)):ownKeys(Object(_0x4dab29))[_0x106257(0xc8)](function(_0x5e5eef){var _0x222e06=_0x106257;Object[_0x222e06(0x131)](_0x119982,_0x5e5eef,Object[_0x222e06(0x13e)](_0x4dab29,_0x5e5eef));});}return _0x119982;}function _toConsumableArray(_0x2bc37a){return _arrayWithoutHoles(_0x2bc37a)||_iterableToArray(_0x2bc37a)||_unsupportedIterableToArray(_0x2bc37a)||_nonIterableSpread();}function _nonIterableSpread(){throw new TypeError('Invalid\x20attempt\x20to\x20spread\x20non-iterable\x20instance.\x0aIn\x20order\x20to\x20be\x20iterable,\x20non-array\x20objects\x20must\x20have\x20a\x20[Symbol.iterator]()\x20method.');}function _iterableToArray(_0x277cba){var _0x52b9a9=_0x486e;if(typeof Symbol!==_0x52b9a9(0x15d)&&_0x277cba[Symbol[_0x52b9a9(0xc6)]]!=null||_0x277cba[_0x52b9a9(0x11a)]!=null)return Array['from'](_0x277cba);}function _arrayWithoutHoles(_0xb3860d){if(Array['isArray'](_0xb3860d))return _arrayLikeToArray(_0xb3860d);}function _regeneratorRuntime(){'use strict';var _0x3b9623=_0x486e;_regeneratorRuntime=function _0x507388(){return _0x4ffde8;};var _0x2cc910,_0x4ffde8={},_0x56b918=Object[_0x3b9623(0x170)],_0x5e7443=_0x56b918[_0x3b9623(0x15a)],_0x3991db=Object[_0x3b9623(0x131)]||function(_0x17f1cf,_0x2304a9,_0x256dfa){_0x17f1cf[_0x2304a9]=_0x256dfa['value'];},_0x3794fa='function'==typeof Symbol?Symbol:{},_0x2f8904=_0x3794fa[_0x3b9623(0xc6)]||'@@iterator',_0x1140f9=_0x3794fa[_0x3b9623(0xe3)]||'@@asyncIterator',_0x24e822=_0x3794fa['toStringTag']||_0x3b9623(0x141);function _0x2e768e(_0x42a98f,_0x5adcc1,_0x243e2c){var _0xf0fb0b=_0x3b9623;return Object[_0xf0fb0b(0x131)](_0x42a98f,_0x5adcc1,{'value':_0x243e2c,'enumerable':!0x0,'configurable':!0x0,'writable':!0x0}),_0x42a98f[_0x5adcc1];}try{_0x2e768e({},'');}catch(_0x50b1d8){_0x2e768e=function _0x2179c9(_0x8022cb,_0x3dd90f,_0x444539){return _0x8022cb[_0x3dd90f]=_0x444539;};}function _0x50cc1b(_0x105bda,_0x561cf3,_0x247fd0,_0x3e25f6){var _0x1511e1=_0x3b9623,_0x206586=_0x561cf3&&_0x561cf3[_0x1511e1(0x170)]instanceof _0x4f8f40?_0x561cf3:_0x4f8f40,_0x2ae6f1=Object[_0x1511e1(0x145)](_0x206586[_0x1511e1(0x170)]),_0x9564fb=new _0x832c17(_0x3e25f6||[]);return _0x3991db(_0x2ae6f1,_0x1511e1(0xd6),{'value':_0xb92869(_0x105bda,_0x247fd0,_0x9564fb)}),_0x2ae6f1;}function _0x41574e(_0x58f5e0,_0x33e638,_0x30a595){var _0x3d6bea=_0x3b9623;try{return{'type':'normal','arg':_0x58f5e0[_0x3d6bea(0x102)](_0x33e638,_0x30a595)};}catch(_0xfecc75){return{'type':'throw','arg':_0xfecc75};}}_0x4ffde8['wrap']=_0x50cc1b;var _0xd2a7d7='suspendedStart',_0x149ac3=_0x3b9623(0x153),_0x4698f6=_0x3b9623(0x192),_0xa348b3=_0x3b9623(0x136),_0x13084e={};function _0x4f8f40(){}function _0x5a1a54(){}function _0x261444(){}var _0x29c315={};_0x2e768e(_0x29c315,_0x2f8904,function(){return this;});var _0x5038e1=Object['getPrototypeOf'],_0x2c2f48=_0x5038e1&&_0x5038e1(_0x5038e1(_0x169748([])));_0x2c2f48&&_0x2c2f48!==_0x56b918&&_0x5e7443['call'](_0x2c2f48,_0x2f8904)&&(_0x29c315=_0x2c2f48);var _0x30e19e=_0x261444['prototype']=_0x4f8f40['prototype']=Object[_0x3b9623(0x145)](_0x29c315);function _0xcd3a11(_0x1ef5bb){var _0x3941ac=_0x3b9623;['next','throw',_0x3941ac(0x1b0)][_0x3941ac(0xc8)](function(_0x245f8f){_0x2e768e(_0x1ef5bb,_0x245f8f,function(_0x33411d){return this['_invoke'](_0x245f8f,_0x33411d);});});}function _0xd0496c(_0x2257aa,_0x14e327){var _0x4e27e6=_0x3b9623;function _0x3b1481(_0x1e9816,_0x37884e,_0x38ca90,_0x5f171b){var _0xc4c58f=_0x486e,_0x484401=_0x41574e(_0x2257aa[_0x1e9816],_0x2257aa,_0x37884e);if('throw'!==_0x484401[_0xc4c58f(0x16d)]){var _0x3a02ac=_0x484401['arg'],_0x13fabe=_0x3a02ac['value'];return _0x13fabe&&_0xc4c58f(0x190)==_typeof(_0x13fabe)&&_0x5e7443[_0xc4c58f(0x102)](_0x13fabe,'__await')?_0x14e327[_0xc4c58f(0xc1)](_0x13fabe[_0xc4c58f(0x18a)])['then'](function(_0x3ac2ae){_0x3b1481('next',_0x3ac2ae,_0x38ca90,_0x5f171b);},function(_0x29cc95){var _0x19525a=_0xc4c58f;_0x3b1481(_0x19525a(0x12f),_0x29cc95,_0x38ca90,_0x5f171b);}):_0x14e327['resolve'](_0x13fabe)[_0xc4c58f(0x128)](function(_0x2c7c40){var _0x30e43c=_0xc4c58f;_0x3a02ac[_0x30e43c(0x13d)]=_0x2c7c40,_0x38ca90(_0x3a02ac);},function(_0x1d0be9){var _0x3225ae=_0xc4c58f;return _0x3b1481(_0x3225ae(0x12f),_0x1d0be9,_0x38ca90,_0x5f171b);});}_0x5f171b(_0x484401[_0xc4c58f(0x157)]);}var _0x5efa71;_0x3991db(this,_0x4e27e6(0xd6),{'value':function _0x243a3d(_0x3bd2c9,_0x55b659){function _0x5c78d4(){return new _0x14e327(function(_0x494923,_0x25a1a9){_0x3b1481(_0x3bd2c9,_0x55b659,_0x494923,_0x25a1a9);});}return _0x5efa71=_0x5efa71?_0x5efa71['then'](_0x5c78d4,_0x5c78d4):_0x5c78d4();}});}function _0xb92869(_0x154708,_0x183c82,_0x5b84fc){var _0x1baa59=_0xd2a7d7;return function(_0x2645df,_0x26e39d){var _0x47e5a3=_0x486e;if(_0x1baa59===_0x4698f6)throw new Error(_0x47e5a3(0x1b7));if(_0x1baa59===_0xa348b3){if('throw'===_0x2645df)throw _0x26e39d;return{'value':_0x2cc910,'done':!0x0};}for(_0x5b84fc[_0x47e5a3(0x19a)]=_0x2645df,_0x5b84fc['arg']=_0x26e39d;;){var _0x5b4b89=_0x5b84fc[_0x47e5a3(0x146)];if(_0x5b4b89){var _0x19a3a6=_0x516455(_0x5b4b89,_0x5b84fc);if(_0x19a3a6){if(_0x19a3a6===_0x13084e)continue;return _0x19a3a6;}}if('next'===_0x5b84fc['method'])_0x5b84fc[_0x47e5a3(0x124)]=_0x5b84fc['_sent']=_0x5b84fc['arg'];else{if('throw'===_0x5b84fc['method']){if(_0x1baa59===_0xd2a7d7)throw _0x1baa59=_0xa348b3,_0x5b84fc[_0x47e5a3(0x157)];_0x5b84fc[_0x47e5a3(0x134)](_0x5b84fc[_0x47e5a3(0x157)]);}else'return'===_0x5b84fc['method']&&_0x5b84fc['abrupt']('return',_0x5b84fc['arg']);}_0x1baa59=_0x4698f6;var _0xad4de3=_0x41574e(_0x154708,_0x183c82,_0x5b84fc);if(_0x47e5a3(0x1b2)===_0xad4de3[_0x47e5a3(0x16d)]){if(_0x1baa59=_0x5b84fc['done']?_0xa348b3:_0x149ac3,_0xad4de3['arg']===_0x13084e)continue;return{'value':_0xad4de3['arg'],'done':_0x5b84fc[_0x47e5a3(0x195)]};}_0x47e5a3(0x12f)===_0xad4de3[_0x47e5a3(0x16d)]&&(_0x1baa59=_0xa348b3,_0x5b84fc['method']='throw',_0x5b84fc['arg']=_0xad4de3['arg']);}};}function _0x516455(_0x41711a,_0x107791){var _0x2b4b45=_0x3b9623,_0x105458=_0x107791['method'],_0x2402c3=_0x41711a[_0x2b4b45(0xc6)][_0x105458];if(_0x2402c3===_0x2cc910)return _0x107791['delegate']=null,_0x2b4b45(0x12f)===_0x105458&&_0x41711a['iterator']['return']&&(_0x107791['method']='return',_0x107791['arg']=_0x2cc910,_0x516455(_0x41711a,_0x107791),_0x2b4b45(0x12f)===_0x107791[_0x2b4b45(0x19a)])||'return'!==_0x105458&&(_0x107791['method']=_0x2b4b45(0x12f),_0x107791[_0x2b4b45(0x157)]=new TypeError(_0x2b4b45(0xf3)+_0x105458+'\x27\x20method')),_0x13084e;var _0x13bab4=_0x41574e(_0x2402c3,_0x41711a['iterator'],_0x107791[_0x2b4b45(0x157)]);if('throw'===_0x13bab4['type'])return _0x107791[_0x2b4b45(0x19a)]=_0x2b4b45(0x12f),_0x107791['arg']=_0x13bab4[_0x2b4b45(0x157)],_0x107791[_0x2b4b45(0x146)]=null,_0x13084e;var _0x515def=_0x13bab4['arg'];return _0x515def?_0x515def[_0x2b4b45(0x195)]?(_0x107791[_0x41711a['resultName']]=_0x515def[_0x2b4b45(0x13d)],_0x107791['next']=_0x41711a[_0x2b4b45(0x154)],'return'!==_0x107791['method']&&(_0x107791[_0x2b4b45(0x19a)]='next',_0x107791['arg']=_0x2cc910),_0x107791['delegate']=null,_0x13084e):_0x515def:(_0x107791['method']='throw',_0x107791['arg']=new TypeError(_0x2b4b45(0x107)),_0x107791['delegate']=null,_0x13084e);}function _0xeb41f0(_0x2a3241){var _0x5a6da0=_0x3b9623,_0x491833={'tryLoc':_0x2a3241[0x0]};0x1 in _0x2a3241&&(_0x491833[_0x5a6da0(0x199)]=_0x2a3241[0x1]),0x2 in _0x2a3241&&(_0x491833[_0x5a6da0(0x167)]=_0x2a3241[0x2],_0x491833[_0x5a6da0(0x168)]=_0x2a3241[0x3]),this[_0x5a6da0(0x1b4)][_0x5a6da0(0x142)](_0x491833);}function _0x8e5b1a(_0x20fb33){var _0x139cd8=_0x3b9623,_0x3006f4=_0x20fb33['completion']||{};_0x3006f4['type']=_0x139cd8(0x1b2),delete _0x3006f4[_0x139cd8(0x157)],_0x20fb33[_0x139cd8(0x11f)]=_0x3006f4;}function _0x832c17(_0x3bb0f9){var _0x3313e9=_0x3b9623;this['tryEntries']=[{'tryLoc':'root'}],_0x3bb0f9[_0x3313e9(0xc8)](_0xeb41f0,this),this['reset'](!0x0);}function _0x169748(_0x2fe393){var _0x1d1f11=_0x3b9623;if(_0x2fe393||''===_0x2fe393){var _0x575b18=_0x2fe393[_0x2f8904];if(_0x575b18)return _0x575b18['call'](_0x2fe393);if(_0x1d1f11(0xcc)==typeof _0x2fe393[_0x1d1f11(0x148)])return _0x2fe393;if(!isNaN(_0x2fe393[_0x1d1f11(0xd2)])){var _0x161819=-0x1,_0x5ba38c=function _0x527296(){var _0xfe0e97=_0x1d1f11;for(;++_0x161819<_0x2fe393['length'];)if(_0x5e7443[_0xfe0e97(0x102)](_0x2fe393,_0x161819))return _0x527296['value']=_0x2fe393[_0x161819],_0x527296[_0xfe0e97(0x195)]=!0x1,_0x527296;return _0x527296[_0xfe0e97(0x13d)]=_0x2cc910,_0x527296['done']=!0x0,_0x527296;};return _0x5ba38c['next']=_0x5ba38c;}}throw new TypeError(_typeof(_0x2fe393)+_0x1d1f11(0x14e));}return _0x5a1a54['prototype']=_0x261444,_0x3991db(_0x30e19e,'constructor',{'value':_0x261444,'configurable':!0x0}),_0x3991db(_0x261444,'constructor',{'value':_0x5a1a54,'configurable':!0x0}),_0x5a1a54['displayName']=_0x2e768e(_0x261444,_0x24e822,'GeneratorFunction'),_0x4ffde8[_0x3b9623(0x185)]=function(_0x40f6d7){var _0x5b6292=_0x3b9623,_0x2b660a=_0x5b6292(0xcc)==typeof _0x40f6d7&&_0x40f6d7[_0x5b6292(0x162)];return!!_0x2b660a&&(_0x2b660a===_0x5a1a54||_0x5b6292(0x122)===(_0x2b660a['displayName']||_0x2b660a[_0x5b6292(0x112)]));},_0x4ffde8['mark']=function(_0x2d694d){var _0x4aa42f=_0x3b9623;return Object['setPrototypeOf']?Object[_0x4aa42f(0x15e)](_0x2d694d,_0x261444):(_0x2d694d['__proto__']=_0x261444,_0x2e768e(_0x2d694d,_0x24e822,_0x4aa42f(0x122))),_0x2d694d['prototype']=Object[_0x4aa42f(0x145)](_0x30e19e),_0x2d694d;},_0x4ffde8['awrap']=function(_0x5ac243){return{'__await':_0x5ac243};},_0xcd3a11(_0xd0496c[_0x3b9623(0x170)]),_0x2e768e(_0xd0496c[_0x3b9623(0x170)],_0x1140f9,function(){return this;}),_0x4ffde8['AsyncIterator']=_0xd0496c,_0x4ffde8[_0x3b9623(0xcf)]=function(_0x110a53,_0x5e1b7a,_0x3beb0a,_0x147c37,_0x318b38){var _0x2ebd04=_0x3b9623;void 0x0===_0x318b38&&(_0x318b38=Promise);var _0x28d5cd=new _0xd0496c(_0x50cc1b(_0x110a53,_0x5e1b7a,_0x3beb0a,_0x147c37),_0x318b38);return _0x4ffde8['isGeneratorFunction'](_0x5e1b7a)?_0x28d5cd:_0x28d5cd[_0x2ebd04(0x148)]()['then'](function(_0x7f4bf9){return _0x7f4bf9['done']?_0x7f4bf9['value']:_0x28d5cd['next']();});},_0xcd3a11(_0x30e19e),_0x2e768e(_0x30e19e,_0x24e822,'Generator'),_0x2e768e(_0x30e19e,_0x2f8904,function(){return this;}),_0x2e768e(_0x30e19e,_0x3b9623(0x149),function(){var _0x3ceeff=_0x3b9623;return _0x3ceeff(0x10d);}),_0x4ffde8['keys']=function(_0x505cad){var _0x3e8851=_0x3b9623,_0x46eace=Object(_0x505cad),_0x3faf8a=[];for(var _0x5d5893 in _0x46eace)_0x3faf8a[_0x3e8851(0x142)](_0x5d5893);return _0x3faf8a['reverse'](),function _0x4203e1(){var _0x455b13=_0x3e8851;for(;_0x3faf8a[_0x455b13(0xd2)];){var _0x54f740=_0x3faf8a[_0x455b13(0xf7)]();if(_0x54f740 in _0x46eace)return _0x4203e1['value']=_0x54f740,_0x4203e1[_0x455b13(0x195)]=!0x1,_0x4203e1;}return _0x4203e1[_0x455b13(0x195)]=!0x0,_0x4203e1;};},_0x4ffde8[_0x3b9623(0x117)]=_0x169748,_0x832c17['prototype']={'constructor':_0x832c17,'reset':function _0x5883b3(_0x5836f0){var _0x573800=_0x3b9623;if(this['prev']=0x0,this['next']=0x0,this[_0x573800(0x124)]=this[_0x573800(0x18f)]=_0x2cc910,this[_0x573800(0x195)]=!0x1,this['delegate']=null,this['method']='next',this['arg']=_0x2cc910,this[_0x573800(0x1b4)]['forEach'](_0x8e5b1a),!_0x5836f0){for(var _0x2300f6 in this)'t'===_0x2300f6[_0x573800(0xd0)](0x0)&&_0x5e7443[_0x573800(0x102)](this,_0x2300f6)&&!isNaN(+_0x2300f6['slice'](0x1))&&(this[_0x2300f6]=_0x2cc910);}},'stop':function _0x51e5b4(){var _0x1fa1cb=_0x3b9623;this[_0x1fa1cb(0x195)]=!0x0;var _0x2edf00=this[_0x1fa1cb(0x1b4)][0x0]['completion'];if(_0x1fa1cb(0x12f)===_0x2edf00['type'])throw _0x2edf00[_0x1fa1cb(0x157)];return this['rval'];},'dispatchException':function _0x4f5e5c(_0x42674e){var _0xba426e=_0x3b9623;if(this['done'])throw _0x42674e;var _0x57741a=this;function _0x4381e3(_0x3eff59,_0x280c4d){var _0x1aa08c=_0x486e;return _0x17849e[_0x1aa08c(0x16d)]=_0x1aa08c(0x12f),_0x17849e['arg']=_0x42674e,_0x57741a[_0x1aa08c(0x148)]=_0x3eff59,_0x280c4d&&(_0x57741a[_0x1aa08c(0x19a)]=_0x1aa08c(0x148),_0x57741a['arg']=_0x2cc910),!!_0x280c4d;}for(var _0xc58f7d=this[_0xba426e(0x1b4)][_0xba426e(0xd2)]-0x1;_0xc58f7d>=0x0;--_0xc58f7d){var _0x594a98=this[_0xba426e(0x1b4)][_0xc58f7d],_0x17849e=_0x594a98[_0xba426e(0x11f)];if(_0xba426e(0x11d)===_0x594a98[_0xba426e(0x169)])return _0x4381e3('end');if(_0x594a98['tryLoc']<=this[_0xba426e(0x121)]){var _0x7e8355=_0x5e7443['call'](_0x594a98,'catchLoc'),_0x46bd85=_0x5e7443[_0xba426e(0x102)](_0x594a98,_0xba426e(0x167));if(_0x7e8355&&_0x46bd85){if(this['prev']<_0x594a98[_0xba426e(0x199)])return _0x4381e3(_0x594a98['catchLoc'],!0x0);if(this[_0xba426e(0x121)]<_0x594a98[_0xba426e(0x167)])return _0x4381e3(_0x594a98[_0xba426e(0x167)]);}else{if(_0x7e8355){if(this[_0xba426e(0x121)]<_0x594a98[_0xba426e(0x199)])return _0x4381e3(_0x594a98[_0xba426e(0x199)],!0x0);}else{if(!_0x46bd85)throw new Error(_0xba426e(0x183));if(this['prev']<_0x594a98['finallyLoc'])return _0x4381e3(_0x594a98[_0xba426e(0x167)]);}}}}},'abrupt':function _0x56cdff(_0x2d039f,_0xc7dd71){var _0x5df713=_0x3b9623;for(var _0x246fb4=this[_0x5df713(0x1b4)][_0x5df713(0xd2)]-0x1;_0x246fb4>=0x0;--_0x246fb4){var _0x50e1bb=this[_0x5df713(0x1b4)][_0x246fb4];if(_0x50e1bb['tryLoc']<=this['prev']&&_0x5e7443['call'](_0x50e1bb,'finallyLoc')&&this[_0x5df713(0x121)]<_0x50e1bb[_0x5df713(0x167)]){var _0x566397=_0x50e1bb;break;}}_0x566397&&(_0x5df713(0x1b1)===_0x2d039f||'continue'===_0x2d039f)&&_0x566397['tryLoc']<=_0xc7dd71&&_0xc7dd71<=_0x566397['finallyLoc']&&(_0x566397=null);var _0x1ac52c=_0x566397?_0x566397[_0x5df713(0x11f)]:{};return _0x1ac52c['type']=_0x2d039f,_0x1ac52c['arg']=_0xc7dd71,_0x566397?(this[_0x5df713(0x19a)]='next',this[_0x5df713(0x148)]=_0x566397[_0x5df713(0x167)],_0x13084e):this['complete'](_0x1ac52c);},'complete':function _0x2c4c42(_0x3bf762,_0xde628f){var _0x2be909=_0x3b9623;if('throw'===_0x3bf762[_0x2be909(0x16d)])throw _0x3bf762[_0x2be909(0x157)];return'break'===_0x3bf762[_0x2be909(0x16d)]||'continue'===_0x3bf762[_0x2be909(0x16d)]?this['next']=_0x3bf762[_0x2be909(0x157)]:'return'===_0x3bf762['type']?(this['rval']=this[_0x2be909(0x157)]=_0x3bf762[_0x2be909(0x157)],this[_0x2be909(0x19a)]=_0x2be909(0x1b0),this[_0x2be909(0x148)]=_0x2be909(0x1ac)):_0x2be909(0x1b2)===_0x3bf762['type']&&_0xde628f&&(this['next']=_0xde628f),_0x13084e;},'finish':function _0xcb2638(_0x255afa){var _0x4bbfbb=_0x3b9623;for(var _0x351df7=this[_0x4bbfbb(0x1b4)][_0x4bbfbb(0xd2)]-0x1;_0x351df7>=0x0;--_0x351df7){var _0x56c712=this['tryEntries'][_0x351df7];if(_0x56c712['finallyLoc']===_0x255afa)return this['complete'](_0x56c712['completion'],_0x56c712[_0x4bbfbb(0x168)]),_0x8e5b1a(_0x56c712),_0x13084e;}},'catch':function _0x578c92(_0x5e16b3){var _0x28e706=_0x3b9623;for(var _0x21c7ab=this[_0x28e706(0x1b4)][_0x28e706(0xd2)]-0x1;_0x21c7ab>=0x0;--_0x21c7ab){var _0x50c1eb=this['tryEntries'][_0x21c7ab];if(_0x50c1eb['tryLoc']===_0x5e16b3){var _0x5a40a5=_0x50c1eb['completion'];if(_0x28e706(0x12f)===_0x5a40a5[_0x28e706(0x16d)]){var _0x3be0bf=_0x5a40a5[_0x28e706(0x157)];_0x8e5b1a(_0x50c1eb);}return _0x3be0bf;}}throw new Error(_0x28e706(0xb7));},'delegateYield':function _0x27bff5(_0x22c5de,_0x261724,_0x47b12c){var _0x1319fd=_0x3b9623;return this[_0x1319fd(0x146)]={'iterator':_0x169748(_0x22c5de),'resultName':_0x261724,'nextLoc':_0x47b12c},_0x1319fd(0x148)===this[_0x1319fd(0x19a)]&&(this['arg']=_0x2cc910),_0x13084e;}},_0x4ffde8;}function asyncGeneratorStep(_0x422619,_0x34fdd2,_0x3a16df,_0x452cba,_0x43797e,_0x2e97c1,_0x1e1f52){try{var _0x98cd48=_0x422619[_0x2e97c1](_0x1e1f52),_0x92caca=_0x98cd48['value'];}catch(_0x183f36){_0x3a16df(_0x183f36);return;}_0x98cd48['done']?_0x34fdd2(_0x92caca):Promise['resolve'](_0x92caca)['then'](_0x452cba,_0x43797e);}function _asyncToGenerator(_0x161daf){return function(){var _0xc2461=this,_0x202777=arguments;return new Promise(function(_0x227f99,_0x59f1ba){var _0x3ac667=_0x486e,_0x26e063=_0x161daf[_0x3ac667(0x12e)](_0xc2461,_0x202777);function _0x3a5694(_0x3c1c81){asyncGeneratorStep(_0x26e063,_0x227f99,_0x59f1ba,_0x3a5694,_0xf96473,'next',_0x3c1c81);}function _0xf96473(_0x58a655){asyncGeneratorStep(_0x26e063,_0x227f99,_0x59f1ba,_0x3a5694,_0xf96473,'throw',_0x58a655);}_0x3a5694(undefined);});};}function _createForOfIteratorHelper(_0x4717b1,_0x2021f1){var _0x1c7b3c=_0x486e,_0x1bce8d=typeof Symbol!==_0x1c7b3c(0x15d)&&_0x4717b1[Symbol['iterator']]||_0x4717b1['@@iterator'];if(!_0x1bce8d){if(Array['isArray'](_0x4717b1)||(_0x1bce8d=_unsupportedIterableToArray(_0x4717b1))||_0x2021f1&&_0x4717b1&&typeof _0x4717b1[_0x1c7b3c(0xd2)]==='number'){if(_0x1bce8d)_0x4717b1=_0x1bce8d;var _0x114e21=0x0,_0xbb1a0a=function _0x15d0c0(){};return{'s':_0xbb1a0a,'n':function _0x9fe8ca(){var _0x5d35ce=_0x1c7b3c;if(_0x114e21>=_0x4717b1[_0x5d35ce(0xd2)])return{'done':!![]};return{'done':![],'value':_0x4717b1[_0x114e21++]};},'e':function _0x3d85f0(_0x3bf06a){throw _0x3bf06a;},'f':_0xbb1a0a};}throw new TypeError('Invalid\x20attempt\x20to\x20iterate\x20non-iterable\x20instance.\x0aIn\x20order\x20to\x20be\x20iterable,\x20non-array\x20objects\x20must\x20have\x20a\x20[Symbol.iterator]()\x20method.');}var _0x1188cc=!![],_0x1291cf=![],_0x426567;return{'s':function _0x3e8b7f(){_0x1bce8d=_0x1bce8d['call'](_0x4717b1);},'n':function _0x2f8b4c(){var _0x3a81c2=_0x1c7b3c,_0x14ca66=_0x1bce8d['next']();return _0x1188cc=_0x14ca66[_0x3a81c2(0x195)],_0x14ca66;},'e':function _0x9b0b72(_0x5664e6){_0x1291cf=!![],_0x426567=_0x5664e6;},'f':function _0x298c78(){try{if(!_0x1188cc&&_0x1bce8d['return']!=null)_0x1bce8d['return']();}finally{if(_0x1291cf)throw _0x426567;}}};}function _0x486e(_0x3e8956,_0x348221){_0x3e8956=_0x3e8956-0xb7;var _0x3ed7e4=_0x3ed7();var _0x486e88=_0x3ed7e4[_0x3e8956];if(_0x486e['gFSaZQ']===undefined){var _0x5797e0=function(_0x187c90){var _0x55acd8='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x2f889f='',_0x50eac1='';for(var _0x1ac68f=0x0,_0xf1cb44,_0x2aa414,_0x275295=0x0;_0x2aa414=_0x187c90['charAt'](_0x275295++);~_0x2aa414&&(_0xf1cb44=_0x1ac68f%0x4?_0xf1cb44*0x40+_0x2aa414:_0x2aa414,_0x1ac68f++%0x4)?_0x2f889f+=String['fromCharCode'](0xff&_0xf1cb44>>(-0x2*_0x1ac68f&0x6)):0x0){_0x2aa414=_0x55acd8['indexOf'](_0x2aa414);}for(var _0x4c50c3=0x0,_0x119982=_0x2f889f['length'];_0x4c50c3<_0x119982;_0x4c50c3++){_0x50eac1+='%'+('00'+_0x2f889f['charCodeAt'](_0x4c50c3)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x50eac1);};_0x486e['IhBinw']=_0x5797e0,_0x486e['OKiBIY']={},_0x486e['gFSaZQ']=!![];}var _0x1f6f2b=_0x3ed7e4[0x0],_0x349b0e=_0x3e8956+_0x1f6f2b,_0x3d148e=_0x486e['OKiBIY'][_0x349b0e];return!_0x3d148e?(_0x486e88=_0x486e['IhBinw'](_0x486e88),_0x486e['OKiBIY'][_0x349b0e]=_0x486e88):_0x486e88=_0x3d148e,_0x486e88;}function _slicedToArray(_0x45cf65,_0x461d91){return _arrayWithHoles(_0x45cf65)||_iterableToArrayLimit(_0x45cf65,_0x461d91)||_unsupportedIterableToArray(_0x45cf65,_0x461d91)||_nonIterableRest();}function _nonIterableRest(){var _0x3ff23b=_0x486e;throw new TypeError(_0x3ff23b(0x197));}function _unsupportedIterableToArray(_0x4d8741,_0x55b8ab){var _0xd60658=_0x486e;if(!_0x4d8741)return;if(typeof _0x4d8741===_0xd60658(0x17c))return _arrayLikeToArray(_0x4d8741,_0x55b8ab);var _0x383197=Object['prototype'][_0xd60658(0x149)][_0xd60658(0x102)](_0x4d8741)['slice'](0x8,-0x1);if(_0x383197===_0xd60658(0xe7)&&_0x4d8741['constructor'])_0x383197=_0x4d8741['constructor']['name'];if(_0x383197==='Map'||_0x383197==='Set')return Array[_0xd60658(0xef)](_0x4d8741);if(_0x383197===_0xd60658(0x181)||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/[_0xd60658(0xec)](_0x383197))return _arrayLikeToArray(_0x4d8741,_0x55b8ab);}function _arrayLikeToArray(_0x29eaa1,_0x35ea35){var _0x17a930=_0x486e;if(_0x35ea35==null||_0x35ea35>_0x29eaa1[_0x17a930(0xd2)])_0x35ea35=_0x29eaa1['length'];for(var _0x771213=0x0,_0x57f26e=new Array(_0x35ea35);_0x771213<_0x35ea35;_0x771213++)_0x57f26e[_0x771213]=_0x29eaa1[_0x771213];return _0x57f26e;}function _iterableToArrayLimit(_0x4a7391,_0x275ee9){var _0x28dec6=_0x486e,_0x17e4ae=null==_0x4a7391?null:_0x28dec6(0x15d)!=typeof Symbol&&_0x4a7391[Symbol['iterator']]||_0x4a7391['@@iterator'];if(null!=_0x17e4ae){var _0xbed2c0,_0x5c9f1f,_0x55539f,_0x4afa7d,_0x1cb33e=[],_0x25916d=!0x0,_0x2bdf7d=!0x1;try{if(_0x55539f=(_0x17e4ae=_0x17e4ae['call'](_0x4a7391))[_0x28dec6(0x148)],0x0===_0x275ee9){if(Object(_0x17e4ae)!==_0x17e4ae)return;_0x25916d=!0x1;}else{for(;!(_0x25916d=(_0xbed2c0=_0x55539f['call'](_0x17e4ae))['done'])&&(_0x1cb33e['push'](_0xbed2c0[_0x28dec6(0x13d)]),_0x1cb33e['length']!==_0x275ee9);_0x25916d=!0x0);}}catch(_0x35b605){_0x2bdf7d=!0x0,_0x5c9f1f=_0x35b605;}finally{try{if(!_0x25916d&&null!=_0x17e4ae[_0x28dec6(0x1b0)]&&(_0x4afa7d=_0x17e4ae[_0x28dec6(0x1b0)](),Object(_0x4afa7d)!==_0x4afa7d))return;}finally{if(_0x2bdf7d)throw _0x5c9f1f;}}return _0x1cb33e;}}function _arrayWithHoles(_0x2febea){var _0x1de480=_0x486e;if(Array[_0x1de480(0x1a6)](_0x2febea))return _0x2febea;}function _typeof(_0x52c99c){'@babel/helpers - typeof';return _typeof='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(_0x364353){return typeof _0x364353;}:function(_0x1d4f69){var _0x5b2e13=_0x486e;return _0x1d4f69&&'function'==typeof Symbol&&_0x1d4f69[_0x5b2e13(0x162)]===Symbol&&_0x1d4f69!==Symbol['prototype']?'symbol':typeof _0x1d4f69;},_typeof(_0x52c99c);}function _classCallCheck(_0x85903e,_0x2c5743){var _0x316c8d=_0x486e;if(!(_0x85903e instanceof _0x2c5743))throw new TypeError(_0x316c8d(0x120));}function _defineProperties(_0x1ea3d0,_0x1733c0){var _0x89e0cb=_0x486e;for(var _0x123777=0x0;_0x123777<_0x1733c0['length'];_0x123777++){var _0x443144=_0x1733c0[_0x123777];_0x443144['enumerable']=_0x443144['enumerable']||![],_0x443144[_0x89e0cb(0x103)]=!![];if(_0x89e0cb(0x13d)in _0x443144)_0x443144['writable']=!![];Object[_0x89e0cb(0x131)](_0x1ea3d0,_toPropertyKey(_0x443144['key']),_0x443144);}}function _createClass(_0x2d5de2,_0x23ea2c,_0xc14907){if(_0x23ea2c)_defineProperties(_0x2d5de2['prototype'],_0x23ea2c);if(_0xc14907)_defineProperties(_0x2d5de2,_0xc14907);return Object['defineProperty'](_0x2d5de2,'prototype',{'writable':![]}),_0x2d5de2;}function _defineProperty(_0x558fd2,_0x20c88b,_0x47a268){return _0x20c88b=_toPropertyKey(_0x20c88b),_0x20c88b in _0x558fd2?Object['defineProperty'](_0x558fd2,_0x20c88b,{'value':_0x47a268,'enumerable':!![],'configurable':!![],'writable':!![]}):_0x558fd2[_0x20c88b]=_0x47a268,_0x558fd2;}function _toPropertyKey(_0x53b70f){var _0x212ef0=_0x486e,_0x1b337d=_toPrimitive(_0x53b70f,_0x212ef0(0x17c));return _0x212ef0(0xd1)==_typeof(_0x1b337d)?_0x1b337d:String(_0x1b337d);}function _toPrimitive(_0x1db235,_0x244367){var _0x1beffe=_0x486e;if('object'!=_typeof(_0x1db235)||!_0x1db235)return _0x1db235;var _0x541027=_0x1db235[Symbol['toPrimitive']];if(void 0x0!==_0x541027){var _0x544b8f=_0x541027[_0x1beffe(0x102)](_0x1db235,_0x244367||'default');if('object'!=_typeof(_0x544b8f))return _0x544b8f;throw new TypeError(_0x1beffe(0xe0));}return(_0x1beffe(0x17c)===_0x244367?String:Number)(_0x1db235);}import{decodeTile}from'@deepinnet/geojson-to-mvt';import*as _0x2f889f from'deeptwins-cesium';import _0x50eac1 from'./MvtVectorWorkerClient';var MVT_VECTOR_LOAD_EVENT_TYPES=[_0xc928c(0x198),_0xc928c(0x160),_0xc928c(0xed),'tileDisplay',_0xc928c(0xf6)],CesiumRuntime=_0x2f889f,CesiumMath=_0x2f889f['Math'];function addCesiumEventListener(_0x3778d3,_0x3fc91b){var _0x39b12a=_0xc928c;return _0x3778d3[_0x39b12a(0xeb)](_0x3fc91b);}function removeAllEventListeners(_0x4d0d22){var _0x4f8941=_0xc928c,_0x48ae07,_0x32c16b;(_0x48ae07=(_0x32c16b=_0x4d0d22)['removeAll'])===null||_0x48ae07===void 0x0||_0x48ae07[_0x4f8941(0x102)](_0x32c16b);}function createListenerRegistry(){return{'ready':[],'error':[],'tileLoad':[],'tileDisplay':[],'tileEvict':[]};}var MAX_CONCURRENT_TILE_REQUESTS=0x6,MvtVectorLoad=(function(){var _0x112336=_0xc928c;function _0x43fdbf(_0x1e9914){var _0x1468a3=_0x486e,_0x28e524,_0x3e9fdd,_0x53d1cf,_0x108868,_0xbb59ac,_0x5e594a,_0x592a5e,_0x3678bb=this,_0x525205=arguments['length']>0x1&&arguments[0x1]!==undefined?arguments[0x1]:{};_classCallCheck(this,_0x43fdbf),_defineProperty(this,_0x1468a3(0x158),void 0x0),_defineProperty(this,'url',void 0x0),_defineProperty(this,'minzoom',void 0x0),_defineProperty(this,'maximumLevel',void 0x0),_defineProperty(this,_0x1468a3(0xf8),void 0x0),_defineProperty(this,'ready',void 0x0),_defineProperty(this,'zoom',void 0x0),_defineProperty(this,'tilingScheme',void 0x0),_defineProperty(this,'readyEvent',void 0x0),_defineProperty(this,_0x1468a3(0x15f),void 0x0),_defineProperty(this,'tileLoadEvent',void 0x0),_defineProperty(this,'tileDisplayEvent',void 0x0),_defineProperty(this,'tileEvictEvent',void 0x0),_defineProperty(this,'_destroyed',void 0x0),_defineProperty(this,'_initPromise',void 0x0),_defineProperty(this,_0x1468a3(0xc7),void 0x0),_defineProperty(this,'_tilesToUpdate',void 0x0),_defineProperty(this,'_loadedTiles',void 0x0),_defineProperty(this,'_pendingTiles',void 0x0),_defineProperty(this,_0x1468a3(0xf1),void 0x0),_defineProperty(this,'_pendingRequestTiles',void 0x0),_defineProperty(this,_0x1468a3(0xbe),void 0x0),_defineProperty(this,'_requestToken',void 0x0),_defineProperty(this,_0x1468a3(0x12a),void 0x0),_defineProperty(this,'_queuedTileKeys',void 0x0),_defineProperty(this,_0x1468a3(0x17d),void 0x0),_defineProperty(this,'_levelZeroMaximumGeometricError',void 0x0),_defineProperty(this,_0x1468a3(0x186),void 0x0),_defineProperty(this,'_autoDisplayLayers',void 0x0),_defineProperty(this,'_workerUrl',void 0x0),_defineProperty(this,_0x1468a3(0x1b3),void 0x0),_defineProperty(this,'_listenerRegistry',void 0x0),_defineProperty(this,_0x1468a3(0x1a8),void 0x0),_defineProperty(this,'_managedTileLayers',void 0x0),_defineProperty(this,_0x1468a3(0xde),void 0x0),this[_0x1468a3(0x158)]=_0x1e9914,this['url']=(_0x28e524=_0x525205[_0x1468a3(0x14d)])!==null&&_0x28e524!==void 0x0?_0x28e524:'',this['minzoom']=(_0x3e9fdd=_0x525205['minzoom'])!==null&&_0x3e9fdd!==void 0x0?_0x3e9fdd:0x0,this['maximumLevel']=(_0x53d1cf=_0x525205[_0x1468a3(0x16a)])!==null&&_0x53d1cf!==void 0x0?_0x53d1cf:0x18,this[_0x1468a3(0xf8)]=(_0x108868=_0x525205[_0x1468a3(0xf8)])!==null&&_0x108868!==void 0x0?_0x108868:0x12c,this['_autoDisplayLayers']=(_0xbb59ac=_0x525205['autoDisplayLayers'])!==null&&_0xbb59ac!==void 0x0?_0xbb59ac:!![],this['_decodeWithWorker']=(_0x5e594a=_0x525205['decodeWithWorker'])!==null&&_0x5e594a!==void 0x0?_0x5e594a:!![],this[_0x1468a3(0x111)]=(_0x592a5e=_0x525205[_0x1468a3(0x163)])!==null&&_0x592a5e!==void 0x0?_0x592a5e:'',this[_0x1468a3(0x198)]=![],this[_0x1468a3(0x19d)]=this['maximumLevel'],this['tilingScheme']=new _0x2f889f[(_0x1468a3(0x14c))](),this[_0x1468a3(0x1b6)]=new _0x2f889f['Event'](),this['errorEvent']=new _0x2f889f[(_0x1468a3(0x17e))](),this[_0x1468a3(0xd7)]=new _0x2f889f['Event'](),this[_0x1468a3(0x1b8)]=new _0x2f889f[(_0x1468a3(0x17e))](),this['tileEvictEvent']=new _0x2f889f[(_0x1468a3(0x17e))](),this[_0x1468a3(0xb8)]=![],this[_0x1468a3(0xcd)]=null,this['_rootTiles']=[],this[_0x1468a3(0xca)]=[],this[_0x1468a3(0x123)]={},this['_pendingTiles']=new Map(),this['_pendingRequestControllers']=new Map(),this['_pendingRequestTiles']=new Map(),this['_cacheOrder']=new Map(),this[_0x1468a3(0x14f)]=0x0,this['_requestQueue']=[],this['_queuedTileKeys']=new Set(),this[_0x1468a3(0x17d)]=0x0,this[_0x1468a3(0x126)]=null,this[_0x1468a3(0x1b3)]=null,this[_0x1468a3(0x13b)]=createListenerRegistry(),this[_0x1468a3(0x1a8)]=new Map(),this[_0x1468a3(0xfb)]=new Map(),this['_addedToMap']=![],this[_0x1468a3(0xc3)]();var _0x5f40ef=function _0x447a6c(){var _0x43e792=_0x1468a3;_0x3678bb['init']()[_0x43e792(0xdb)](function(){return undefined;});};if(typeof requestAnimationFrame==='function'){requestAnimationFrame(_0x5f40ef);return;}Promise[_0x1468a3(0xc1)]()[_0x1468a3(0x128)](_0x5f40ef);}return _createClass(_0x43fdbf,[{'key':_0x112336(0x1a3),'value':function _0x158a1a(){return this['_mapContext']['getMap']();}},{'key':'_addToMap','value':function _0x2216a0(){var _0x41cc76=_0x112336,_0x227433=this[_0x41cc76(0x1a3)]();if(!_0x227433||this['_addedToMap'])return;if(typeof _0x227433[_0x41cc76(0x175)]===_0x41cc76(0xcc)&&_0x227433[_0x41cc76(0x175)]())return;_0x227433[_0x41cc76(0x18e)]['primitives']['add'](this),this[_0x41cc76(0xde)]=!![];}},{'key':'_removeFromMap','value':function _0xbd39be(){var _0x44380e=_0x112336,_0x14fe02=this[_0x44380e(0x1a3)](),_0x1405fc=this[_0x44380e(0xde)];this['_addedToMap']=![];if(!_0x14fe02||!_0x1405fc)return;if(typeof _0x14fe02[_0x44380e(0x175)]===_0x44380e(0xcc)&&_0x14fe02['isDestroyed']())return;_0x14fe02['scene']['primitives'][_0x44380e(0xc5)](this);}},{'key':'init','value':function _0x322f8a(){var _0x428cb9=_0x112336;return!this['_initPromise']&&(this[_0x428cb9(0xcd)]=this[_0x428cb9(0x1aa)]()),this[_0x428cb9(0xcd)];}},{'key':'on','value':function _0x25a231(_0x5c6a08,_0x4c4ad7){var _0x116b6b=_0x112336,_0x1edbfe=this,_0xd93d89=this[_0x116b6b(0x18c)](_0x5c6a08),_0x178f1=this[_0x116b6b(0xd9)](_0x5c6a08,_0x4c4ad7),_0x1e2f60={'original':_0x4c4ad7,'wrapped':_0x178f1,'remove':function _0x55c65c(){return undefined;},'removed':![]};return _0x1e2f60['remove']=addCesiumEventListener(_0xd93d89,_0x1e2f60['wrapped']),this[_0x116b6b(0x13b)][_0x5c6a08]['push'](_0x1e2f60),{'off':function _0x48c328(){var _0x5406af=_0x116b6b;_0x1edbfe[_0x5406af(0x184)](_0x5c6a08,_0x1e2f60);}};}},{'key':_0x112336(0xd9),'value':function _0x1dd65b(_0x259f23,_0x334fdd){var _0x2e8f43=_0x112336,_0x454944=this;if(_0x259f23!==_0x2e8f43(0xed))return _0x334fdd;var _0x55936a=_0x334fdd;return function(_0x5743c6){var _0x826fe5=_0x2e8f43,_0xb5a88=_0x55936a(_0x5743c6);if(_0xb5a88&&_typeof(_0xb5a88)===_0x826fe5(0x190)&&'then'in _0xb5a88)return Promise['resolve'](_0xb5a88)['then'](function(_0x31b9ed){var _0x98f2b4=_0x826fe5;return _0x454944['_registerManagedTileLayers'](_0x5743c6,_0x31b9ed),_0x454944[_0x98f2b4(0x17a)](_0x454944[_0x98f2b4(0xca)]),_0x31b9ed;})[_0x826fe5(0xdb)](function(_0x10eda8){var _0x572c98=_0x826fe5;throw _0x454944[_0x572c98(0x143)](_0x454944['_toError'](_0x10eda8,'tileLoad\x20监听回调执行失败'));});return _0x454944[_0x826fe5(0xe6)](_0x5743c6,_0xb5a88),_0x454944[_0x826fe5(0x17a)](_0x454944[_0x826fe5(0xca)]),_0xb5a88;};}},{'key':_0x112336(0x177),'value':function _0x57f3d5(_0x269b86,_0x2a9d6e){var _0x404609=_0x112336,_0x5028d4=this[_0x404609(0x13b)][_0x269b86],_0x1ec6d6=_0x5028d4[_0x404609(0x104)](function(_0x43a0dc){var _0x261316=_0x404609;return _0x43a0dc['original']===_0x2a9d6e&&!_0x43a0dc[_0x261316(0x165)];});if(_0x1ec6d6===-0x1)return;var _0x4468a3=_0x5028d4[_0x404609(0xc2)](_0x1ec6d6,0x1),_0x4307ac=_slicedToArray(_0x4468a3,0x1),_0xfe4680=_0x4307ac[0x0];if(!_0xfe4680)return;_0xfe4680[_0x404609(0x165)]=!![],_0xfe4680[_0x404609(0xc5)]();}},{'key':_0x112336(0x18c),'value':function _0x4a535d(_0x28a2ff){var _0x3d7b5a=_0x112336;switch(_0x28a2ff){case _0x3d7b5a(0x198):return this[_0x3d7b5a(0x1b6)];case'error':return this['errorEvent'];case _0x3d7b5a(0xed):return this[_0x3d7b5a(0xd7)];case'tileDisplay':return this[_0x3d7b5a(0x1b8)];case'tileEvict':return this['tileEvictEvent'];default:throw this[_0x3d7b5a(0x11e)](String(_0x28a2ff));}}},{'key':_0x112336(0x11e),'value':function _0x45aade(_0x2c7243){var _0x1d9949=_0x112336;return this[_0x1d9949(0x143)](new Error(_0x1d9949(0x12d)[_0x1d9949(0xcb)](_0x2c7243,_0x1d9949(0x182))['concat'](MVT_VECTOR_LOAD_EVENT_TYPES[_0x1d9949(0x13a)]('、'))));}},{'key':'_removeRegisteredListener','value':function _0x7a75d6(_0x1bc417,_0x14ae9d){var _0x746095=_0x112336;if(_0x14ae9d[_0x746095(0x165)])return;_0x14ae9d['removed']=!![];var _0x1ea188=this['_listenerRegistry'][_0x1bc417],_0x2ee66f=_0x1ea188['indexOf'](_0x14ae9d);_0x2ee66f!==-0x1&&_0x1ea188['splice'](_0x2ee66f,0x1),_0x14ae9d['remove']();}},{'key':_0x112336(0x132),'value':function _0x5681fe(){var _0x634723=_0x112336;for(var _0x31f25a=0x0,_0xf7debf=MVT_VECTOR_LOAD_EVENT_TYPES;_0x31f25a<_0xf7debf[_0x634723(0xd2)];_0x31f25a++){var _0x3d006e=_0xf7debf[_0x31f25a],_0x17ff95=this[_0x634723(0x13b)][_0x3d006e],_0x5383c6=_createForOfIteratorHelper(_0x17ff95),_0x29ac5b;try{for(_0x5383c6['s']();!(_0x29ac5b=_0x5383c6['n']())[_0x634723(0x195)];){var _0x311d2a=_0x29ac5b[_0x634723(0x13d)];_0x311d2a['removed']=!![];}}catch(_0x49ebd3){_0x5383c6['e'](_0x49ebd3);}finally{_0x5383c6['f']();}_0x17ff95['length']=0x0;}}},{'key':'_doInit','value':(function(){var _0x1c45a4=_asyncToGenerator(_regeneratorRuntime()['mark'](function _0x1aa2e5(){return _regeneratorRuntime()['wrap'](function _0x1dca54(_0x56f2b0){var _0x3efa40=_0x486e;while(0x1)switch(_0x56f2b0['prev']=_0x56f2b0['next']){case 0x0:this[_0x3efa40(0x151)](),this['_createRootTiles'](),this['ready']=!![],this['readyEvent']['raiseEvent'](this);return _0x56f2b0[_0x3efa40(0xc0)](_0x3efa40(0x1b0),this);case 0x5:case _0x3efa40(0x1ac):return _0x56f2b0[_0x3efa40(0x15b)]();}},_0x1aa2e5,this);}));function _0x231599(){var _0x177c50=_0x486e;return _0x1c45a4[_0x177c50(0x12e)](this,arguments);}return _0x231599;}())},{'key':_0x112336(0x151),'value':function _0x2d2601(){var _0x527847=_0x112336;if(!this[_0x527847(0x14d)])throw this['_emitError'](new Error('请传入\x20url\x20参数'));if(!this['url'][_0x527847(0x13c)]('{z}')||!this['url'][_0x527847(0x13c)]('{x}')||!this[_0x527847(0x14d)][_0x527847(0x13c)]('{y}'))throw this[_0x527847(0x143)](new Error('url\x20必须包含\x20{z}、{x}、{y}\x20占位符'));if(this[_0x527847(0xf9)]<0x0||this['maximumLevel']<this[_0x527847(0xf9)])throw this[_0x527847(0x143)](new Error('minzoom/maxzoom\x20配置无效'));if(!Number[_0x527847(0x101)](this['maxCacheSize'])||this['maxCacheSize']<=0x0)throw this[_0x527847(0x143)](new Error(_0x527847(0x110)));}},{'key':_0x112336(0x143),'value':function _0x3bdba8(_0x40a1a4){var _0x4df44d=_0x112336;return this['errorEvent'][_0x4df44d(0x180)](_0x40a1a4),_0x40a1a4;}},{'key':'_isAbortError','value':function _0x2f6cc6(_0x4c5c25){var _0x17538b=_0x112336;return _0x4c5c25 instanceof Error&&_0x4c5c25[_0x17538b(0x112)]===_0x17538b(0x15c);}},{'key':'_markTileLoading','value':function _0x1b1f8d(_0x196739){var _0x4f83d9=_0x112336;return _0x196739[_0x4f83d9(0x125)]+=0x1,_0x196739[_0x4f83d9(0x127)]=_0x4f83d9(0x109),_0x196739['requestVersion'];}},{'key':_0x112336(0x1a0),'value':function _0x1edc57(_0x4f5a9a){var _0x29235e=_0x112336;_0x4f5a9a['requestVersion']+=0x1,_0x4f5a9a[_0x29235e(0x127)]=_0x29235e(0xbd);}},{'key':'_createRootTiles','value':function _0x2e3e2d(){var _0x216256=_0x112336;if(this[_0x216256(0xc7)]['length']>0x0)return;var _0x3c2c1e=this[_0x216256(0xff)]['getNumberOfXTilesAtLevel'](0x0),_0x2f3af7=this['tilingScheme'][_0x216256(0x10e)](0x0);for(var _0x4ac979=0x0;_0x4ac979<_0x2f3af7;_0x4ac979+=0x1){for(var _0xdc1408=0x0;_0xdc1408<_0x3c2c1e;_0xdc1408+=0x1){var _0x4b1fbc=new VectorLoadTile({'x':_0xdc1408,'y':_0x4ac979,'z':0x0,'tilingScheme':this[_0x216256(0xff)],'parent':this});this['_rootTiles'][_0x216256(0x142)](_0x4b1fbc);}}}},{'key':'_getTileKey','value':function _0x48c123(_0x332ce3,_0x179cb3,_0x53b78f){var _0x370614=_0x112336;return''[_0x370614(0xcb)](_0x332ce3,',')[_0x370614(0xcb)](_0x179cb3,',')['concat'](_0x53b78f);}},{'key':_0x112336(0x17b),'value':function _0xd47c05(_0x5de4e0){var _0x4f1a1b=_0x112336;this[_0x4f1a1b(0xbe)][_0x4f1a1b(0x114)](_0x5de4e0),this['_cacheOrder']['set'](_0x5de4e0,!![]);}},{'key':'_pruneLoadedTiles','value':function _0x473103(){var _0x44d693=_0x112336,_0x3afde7=[],_0x546a40=new Set([]['concat'](_toConsumableArray(this[_0x44d693(0x1a8)][_0x44d693(0x140)]()),_toConsumableArray(this['_tilesToUpdate'][_0x44d693(0xdc)](function(_0x288555){var _0x2ea0fd=_0x44d693;return _0x288555[_0x2ea0fd(0x1a1)];}))));while(this[_0x44d693(0xbe)][_0x44d693(0x144)]>this[_0x44d693(0xf8)]){var _0x553c84=void 0x0,_0x4cbe7d=_createForOfIteratorHelper(this[_0x44d693(0xbe)][_0x44d693(0x140)]()),_0x5d59a9;try{for(_0x4cbe7d['s']();!(_0x5d59a9=_0x4cbe7d['n']())[_0x44d693(0x195)];){var _0xd0953=_0x5d59a9[_0x44d693(0x13d)];if(!_0x546a40['has'](_0xd0953)){_0x553c84=_0xd0953;break;}}}catch(_0x50c048){_0x4cbe7d['e'](_0x50c048);}finally{_0x4cbe7d['f']();}if(typeof _0x553c84!==_0x44d693(0x17c))break;this['_cacheOrder']['delete'](_0x553c84);var _0x123079=this[_0x44d693(0x123)][_0x553c84];if(!_0x123079)continue;delete this[_0x44d693(0x123)][_0x553c84],this[_0x44d693(0x1a8)][_0x44d693(0x114)](_0x553c84),_0x3afde7[_0x44d693(0x142)]({'key':_0x553c84,'x':_0x123079['x'],'y':_0x123079['y'],'z':_0x123079['z']});}this[_0x44d693(0x173)](_0x3afde7['map'](function(_0x545250){return _0x545250['key'];}));for(var _0x20e9d3=0x0,_0x18872e=_0x3afde7;_0x20e9d3<_0x18872e[_0x44d693(0xd2)];_0x20e9d3++){var _0x173d50=_0x18872e[_0x20e9d3];this['tileEvictEvent'][_0x44d693(0x180)](_0x173d50),this['_removeManagedTileLayers'](_0x173d50['key']);}}},{'key':'_getTilesToUpdate','value':function _0x39000a(_0x547736){var _0x127f85=_0x112336,_0x3349dd=this,_0x1b993c=_toConsumableArray(this[_0x127f85(0xc7)]),_0x22d42f=this['_tilesToUpdate'],_0x452792=this['maximumLevel'],_0x53f03d=Number['POSITIVE_INFINITY'],_0x27f70a=function _0x298941(_0x3684a4,_0xa054a9){return _0x3349dd['_getScreenSpaceError'](_0x3684a4,_0xa054a9);},_0x53acf6={'visitChildren':function _0x3226a2(_0x374f5b){var _0x21d416=_0x127f85;if(_0x374f5b['z']>=_0x3349dd[_0x21d416(0x176)]){_0x374f5b['distanceToCamera']<_0x53f03d&&(_0x53f03d=_0x374f5b['distanceToCamera'],_0x452792=_0x374f5b['z']);_0x22d42f[_0x21d416(0x142)](_0x374f5b);return;}_0x374f5b[_0x21d416(0xbc)][_0x21d416(0xd2)]===0x0&&_0x374f5b['createChildren']();var _0x2d56b9=_createForOfIteratorHelper(_0x374f5b['children']),_0x5e0567;try{for(_0x2d56b9['s']();!(_0x5e0567=_0x2d56b9['n']())[_0x21d416(0x195)];){var _0x426a9b=_0x5e0567[_0x21d416(0x13d)];_0x1b993c[_0x21d416(0x142)](_0x426a9b);}}catch(_0x2c9615){_0x2d56b9['e'](_0x2c9615);}finally{_0x2d56b9['f']();}},'accept':function _0x3b429e(_0x3e5b9a){var _0x12b432=_0x127f85;_0x3e5b9a[_0x12b432(0x11c)]<_0x53f03d&&(_0x53f03d=_0x3e5b9a['distanceToCamera'],_0x452792=_0x3e5b9a['z']),_0x22d42f[_0x12b432(0x142)](_0x3e5b9a);}};_0x22d42f['length']=0x0;for(var _0x4c2608=0x0;_0x4c2608<_0x1b993c[_0x127f85(0xd2)];_0x4c2608+=0x1){var _0x5273c8=_0x1b993c[_0x4c2608];_0x5273c8[_0x127f85(0x19c)](_0x547736,_0x53acf6,_0x27f70a);}return this[_0x127f85(0x19d)]=_0x452792,_0x22d42f;}},{'key':'_toDisplayedTileState','value':function _0x2bb121(_0x3574f0){return{'key':_0x3574f0['key'],'x':_0x3574f0['x'],'y':_0x3574f0['y'],'z':_0x3574f0['z']};}},{'key':_0x112336(0x16b),'value':function _0x5e1f60(_0x1fe332){var _0x33cf5f=_0x112336;return Boolean(this[_0x33cf5f(0x123)][_0x1fe332]);}},{'key':'_isSameOrAncestorTile','value':function _0x53cbf1(_0x2a9c9b,_0x1c7001){if(_0x2a9c9b['z']>_0x1c7001['z'])return![];var _0xeb1a5c=_0x1c7001['z']-_0x2a9c9b['z'];return _0x1c7001['x']>>_0xeb1a5c===_0x2a9c9b['x']&&_0x1c7001['y']>>_0xeb1a5c===_0x2a9c9b['y'];}},{'key':_0x112336(0x19f),'value':function _0x711b0b(_0x628184,_0x38caa0){var _0x471b7b=_0x112336;return this['_isSameOrAncestorTile'](_0x628184,_0x38caa0)||this[_0x471b7b(0x113)](_0x38caa0,_0x628184);}},{'key':_0x112336(0x1a4),'value':function _0x3cdca5(_0x275a87,_0x3a23e3){var _0x55c6b0=this;return _0x3a23e3['some'](function(_0x56de9e){var _0x34475f=_0x486e;return _0x55c6b0[_0x34475f(0x19f)](_0x275a87,_0x56de9e);});}},{'key':'_shouldDelayTargetTileDisplay','value':function _0x1516e2(_0x1192e0,_0x1b4fcb){var _0x59dcf2=_0x112336,_0xc4a7=this;return _0x1b4fcb[_0x59dcf2(0x193)](function(_0xf3fc82){var _0x5b3d68=_0x59dcf2;return _0xf3fc82['key']!==_0x1192e0['key']&&_0xc4a7[_0x5b3d68(0x19f)](_0xf3fc82,_0x1192e0);});}},{'key':'_raiseTileDisplayChange','value':function _0x491060(_0x12741f,_0x2fd38a){var _0x370618=_0x112336;this[_0x370618(0xee)](_0x12741f[_0x370618(0x1a1)],_0x2fd38a===_0x370618(0x1af)),this[_0x370618(0x1b8)]['raiseEvent'](_objectSpread(_objectSpread({},_0x12741f),{},{'display':_0x2fd38a}));}},{'key':'_syncTileDisplayState','value':function _0x5c5177(_0x25745c){var _0x2ec585=_0x112336,_0xde9dd9=this,_0x24c3ba=new Map(),_0x38d469=[],_0x432ad5=[],_0x160936=[],_0x272438=_createForOfIteratorHelper(_0x25745c),_0x4323df;try{for(_0x272438['s']();!(_0x4323df=_0x272438['n']())['done'];){var _0x11603d=_0x4323df[_0x2ec585(0x13d)],_0x1bc6cd=this['_toDisplayedTileState'](_0x11603d);if(this['_isTileLoaded'](_0x11603d['key'])){_0x38d469[_0x2ec585(0x142)](_0x1bc6cd);continue;}_0x432ad5['push'](_0x1bc6cd);}}catch(_0x4e85ce){_0x272438['e'](_0x4e85ce);}finally{_0x272438['f']();}this[_0x2ec585(0x1a8)]['forEach'](function(_0x555e7e,_0x48c185){var _0x3a85c8=_0x2ec585;_0xde9dd9['_shouldKeepDisplayedTile'](_0x555e7e,_0x432ad5)&&(_0x160936['push'](_0x555e7e),_0x24c3ba[_0x3a85c8(0x12b)](_0x48c185,_0x555e7e));});for(var _0x312123=0x0,_0x3a6e55=_0x38d469;_0x312123<_0x3a6e55[_0x2ec585(0xd2)];_0x312123++){var _0x4c9107=_0x3a6e55[_0x312123];if(this['_shouldDelayTargetTileDisplay'](_0x4c9107,_0x160936))continue;_0x24c3ba['set'](_0x4c9107['key'],_0x4c9107);}this[_0x2ec585(0x1a8)]['forEach'](function(_0x76fa37,_0x5a6c60){var _0x28bc74=_0x2ec585;!_0x24c3ba[_0x28bc74(0xe8)](_0x5a6c60)&&_0xde9dd9[_0x28bc74(0x18d)](_0x76fa37,'hide');}),_0x24c3ba['forEach'](function(_0x366834,_0x26afae){var _0x410314=_0x2ec585;!_0xde9dd9[_0x410314(0x1a8)][_0x410314(0xe8)](_0x26afae)&&_0xde9dd9['_raiseTileDisplayChange'](_0x366834,'show');}),this[_0x2ec585(0x1a8)]=_0x24c3ba;}},{'key':'_hideAllDisplayedTiles','value':function _0x38a45b(){var _0x5ba867=_0x112336,_0x2a1b50=this;this['_displayedTiles']['forEach'](function(_0x286e34){var _0x5b23c8=_0x486e;_0x2a1b50[_0x5b23c8(0x18d)](_0x286e34,'hide');}),this[_0x5ba867(0x1a8)][_0x5ba867(0xd5)]();}},{'key':_0x112336(0x1a9),'value':function _0x2e7389(_0x43c806){var _0x2f7636=_0x112336;if(!_0x43c806||_typeof(_0x43c806)!=='object')return![];var _0x254512=_0x43c806;return typeof _0x254512[_0x2f7636(0x1af)]==='function'&&typeof _0x254512[_0x2f7636(0xc5)]==='function';}},{'key':'_normalizeManagedTileLayers','value':function _0x9a87bf(_0x467aae){var _0x587cd1=this;if(!_0x467aae)return[];var _0x1359b8=Array['isArray'](_0x467aae)?_0x467aae:[_0x467aae];return _0x1359b8['filter'](function(_0xec7987){return _0x587cd1['_isManagedTileLayer'](_0xec7987);});}},{'key':'_registerManagedTileLayers','value':function _0x23e3ec(_0x451719,_0x14f282){var _0x1adc39=_0x112336,_0x334ab6,_0x79f459=this['_normalizeManagedTileLayers'](_0x14f282);if(_0x79f459[_0x1adc39(0xd2)]===0x0)return;var _0x47a614=this['_getTileKey'](_0x451719['x'],_0x451719['y'],_0x451719['z']),_0x6b97b8=(_0x334ab6=this['_managedTileLayers']['get'](_0x47a614))!==null&&_0x334ab6!==void 0x0?_0x334ab6:[],_0x595ea0=_0x79f459[_0x1adc39(0x1b5)](function(_0x57ea24){return!_0x6b97b8['includes'](_0x57ea24);});if(_0x595ea0[_0x1adc39(0xd2)]===0x0)return;this[_0x1adc39(0xfb)][_0x1adc39(0x12b)](_0x47a614,[][_0x1adc39(0xcb)](_toConsumableArray(_0x6b97b8),_toConsumableArray(_0x595ea0)));if(this['_autoDisplayLayers']){this['_setManagedTileLayersDisplay'](_0x47a614,this['_displayedTiles']['has'](_0x47a614));return;}this['_applyManagedTileLayersDisplay'](_0x47a614,!![]);}},{'key':'_isManagedTileLayerDestroyed','value':function _0x5d0a70(_0x4def75){var _0x26515f=_0x112336,_0xf0e9ba=_0x4def75[_0x26515f(0x175)];return typeof _0xf0e9ba===_0x26515f(0xcc)?_0xf0e9ba():_0xf0e9ba===!![];}},{'key':_0x112336(0x1ae),'value':function _0x33238c(_0x473e5c,_0xd2ddec){var _0x162d16=_0x112336,_0x566baf=this[_0x162d16(0xfb)][_0x162d16(0xf0)](_0x473e5c);if(!_0x566baf)return;var _0x373ed1=_createForOfIteratorHelper(_0x566baf),_0x3bfbab;try{for(_0x373ed1['s']();!(_0x3bfbab=_0x373ed1['n']())[_0x162d16(0x195)];){var _0x592707=_0x3bfbab['value'];!this[_0x162d16(0x166)](_0x592707)&&_0x592707[_0x162d16(0x1af)](_0xd2ddec);}}catch(_0x4fddd9){_0x373ed1['e'](_0x4fddd9);}finally{_0x373ed1['f']();}}},{'key':'_setManagedTileLayersDisplay','value':function _0x1f0eb9(_0x2adbe7,_0x509794){var _0x4c7465=_0x112336;if(!this['_autoDisplayLayers'])return;this[_0x4c7465(0x1ae)](_0x2adbe7,_0x509794);}},{'key':'_removeManagedTileLayers','value':function _0x587a16(_0x2b1ef7){var _0x11b971=_0x112336,_0x4eae93=this['_managedTileLayers']['get'](_0x2b1ef7);if(!_0x4eae93)return;this['_managedTileLayers']['delete'](_0x2b1ef7);var _0x5128a0=_createForOfIteratorHelper(_0x4eae93),_0x3f2eda;try{for(_0x5128a0['s']();!(_0x3f2eda=_0x5128a0['n']())['done'];){var _0x5baf44=_0x3f2eda[_0x11b971(0x13d)];!this['_isManagedTileLayerDestroyed'](_0x5baf44)&&_0x5baf44[_0x11b971(0xc5)]();}}catch(_0x23f723){_0x5128a0['e'](_0x23f723);}finally{_0x5128a0['f']();}}},{'key':'_removeAllManagedTileLayers','value':function _0x1234aa(){var _0x201c04=_0x112336,_0x2a2be2=_toConsumableArray(this[_0x201c04(0xfb)]['keys']()),_0x5b7d4f=_createForOfIteratorHelper(_0x2a2be2),_0xce806f;try{for(_0x5b7d4f['s']();!(_0xce806f=_0x5b7d4f['n']())['done'];){var _0x5b516c=_0xce806f['value'];this[_0x201c04(0x10f)](_0x5b516c);}}catch(_0x53c1b7){_0x5b7d4f['e'](_0x53c1b7);}finally{_0x5b7d4f['f']();}}},{'key':_0x112336(0x189),'value':function _0xdd5243(_0x3ddfcc){var _0x4ed966=_0x112336;return this['_levelZeroMaximumGeometricError']===null&&(this['_levelZeroMaximumGeometricError']=_0x2f889f[_0x4ed966(0xd3)][_0x4ed966(0xd8)](this[_0x4ed966(0xff)]['ellipsoid'],0x80,this[_0x4ed966(0xff)][_0x4ed966(0x100)](0x0))),this[_0x4ed966(0x126)]/(0x1<<_0x3ddfcc);}},{'key':'_resetTileStatesByKeys','value':function _0x23ab1d(_0x4eb0d5){var _0x19d419=_0x112336;if(_0x4eb0d5[_0x19d419(0xd2)]===0x0)return;var _0x52890b=new Set(_0x4eb0d5),_0x239319=_toConsumableArray(this[_0x19d419(0xc7)]);for(var _0x4028d8=0x0;_0x4028d8<_0x239319[_0x19d419(0xd2)];_0x4028d8+=0x1){var _0x3580ad=_0x239319[_0x4028d8];_0x52890b['has'](_0x3580ad[_0x19d419(0x1a1)])&&this[_0x19d419(0x1a0)](_0x3580ad);var _0x4bf3fb=_createForOfIteratorHelper(_0x3580ad[_0x19d419(0xbc)]),_0x7acf05;try{for(_0x4bf3fb['s']();!(_0x7acf05=_0x4bf3fb['n']())['done'];){var _0x3df43c=_0x7acf05[_0x19d419(0x13d)];_0x239319['push'](_0x3df43c);}}catch(_0x5044df){_0x4bf3fb['e'](_0x5044df);}finally{_0x4bf3fb['f']();}}}},{'key':'_getScreenSpaceError','value':function _0x3fc8aa(_0x563d2c,_0x56dacb){var _0x1cdcf8=_0x112336,_0x56e8e3=this[_0x1cdcf8(0x189)](_0x56dacb['z']),_0x2cf25a=_0x56dacb[_0x1cdcf8(0x11c)],_0x1de530=_0x563d2c[_0x1cdcf8(0xc4)]['drawingBufferHeight'],_0x4f4812=_0x563d2c['camera'][_0x1cdcf8(0x105)][_0x1cdcf8(0x159)],_0x276df1=_0x56e8e3*_0x1de530/(_0x2cf25a*_0x4f4812);return _0x563d2c['fog']['enabled']&&(_0x276df1-=CesiumMath[_0x1cdcf8(0xe1)](_0x2cf25a,_0x563d2c[_0x1cdcf8(0xe1)][_0x1cdcf8(0x115)])*_0x563d2c[_0x1cdcf8(0xe1)][_0x1cdcf8(0xe9)]),_0x276df1/_0x563d2c[_0x1cdcf8(0xbb)];}},{'key':_0x112336(0x14b),'value':function _0x544e94(_0x2986b7,_0x3c4608,_0x541fe2){var _0x2c71a8=_0x112336;return this[_0x2c71a8(0x14d)][_0x2c71a8(0x161)]('{x}',String(_0x2986b7))['replace'](_0x2c71a8(0x156),String(_0x3c4608))[_0x2c71a8(0x161)]('{z}',String(_0x541fe2));}},{'key':_0x112336(0x11b),'value':function _0x1e7dcb(_0x514957,_0x29e091){var _0x2bf2b3=_0x112336;if(_0x514957 instanceof Error)return _0x514957;if(typeof _0x514957==='string'&&_0x514957[_0x2bf2b3(0xd2)]>0x0)return new Error(_0x514957);return new Error(_0x29e091);}},{'key':'_getDecodeWorkerClient','value':function _0x520f4a(){var _0x5e678f=_0x112336;if(!this[_0x5e678f(0x186)]||this['_destroyed'])return null;if(this[_0x5e678f(0x1b3)])return this[_0x5e678f(0x1b3)];try{return this['_decodeWorkerClient']=new _0x50eac1({'workerUrl':this['_workerUrl']||undefined}),this['_decodeWorkerClient'];}catch(_0x30e140){return this['_decodeWithWorker']=![],console['warn']('MVT\x20解码\x20Worker\x20初始化失败,已回退主线程解码',_0x30e140),null;}}},{'key':'_destroyDecodeWorkerClient','value':function _0x1e8061(){var _0x7b97cd=_0x112336,_0x2137f2;(_0x2137f2=this[_0x7b97cd(0x1b3)])===null||_0x2137f2===void 0x0||_0x2137f2[_0x7b97cd(0x147)](),this['_decodeWorkerClient']=null;}},{'key':'_decodeTile','value':(function(){var _0xfd48a7=_0x112336,_0x3e8d4f=_asyncToGenerator(_regeneratorRuntime()[_0xfd48a7(0xdd)](function _0x80f4df(_0x5d632c){var _0x4a2859=_0xfd48a7,_0x20dc6d;return _regeneratorRuntime()[_0x4a2859(0x1a5)](function _0x4cc904(_0x54fe2c){var _0x4c1755=_0x4a2859;while(0x1)switch(_0x54fe2c['prev']=_0x54fe2c['next']){case 0x0:_0x20dc6d=this[_0x4c1755(0x19b)]();if(_0x20dc6d){_0x54fe2c['next']=0x3;break;}return _0x54fe2c['abrupt']('return',decodeTile(_0x5d632c));case 0x3:_0x54fe2c['prev']=0x3,_0x54fe2c[_0x4c1755(0x148)]=0x6;return _0x20dc6d[_0x4c1755(0x10a)](_0x5d632c);case 0x6:return _0x54fe2c['abrupt'](_0x4c1755(0x1b0),_0x54fe2c[_0x4c1755(0x124)]);case 0x9:_0x54fe2c[_0x4c1755(0x121)]=0x9,_0x54fe2c['t0']=_0x54fe2c[_0x4c1755(0xdb)](0x3),this[_0x4c1755(0x188)](),this['_decodeWithWorker']=![],console[_0x4c1755(0xdf)](_0x4c1755(0x16c),_0x54fe2c['t0']);throw this[_0x4c1755(0x11b)](_0x54fe2c['t0'],'Worker\x20解码\x20MVT\x20瓦片失败');case 0xf:case _0x4c1755(0x1ac):return _0x54fe2c[_0x4c1755(0x15b)]();}},_0x80f4df,this,[[0x3,0x9]]);}));function _0x285053(_0x4c0cd){return _0x3e8d4f['apply'](this,arguments);}return _0x285053;}())},{'key':_0x112336(0x135),'value':(function(){var _0x1da36c=_0x112336,_0x385e97=_asyncToGenerator(_regeneratorRuntime()[_0x1da36c(0xdd)](function _0x1cb3d0(_0x2031b7,_0x59d6fa,_0x2c8d9a,_0x32d344){var _0x3cc651=_0x1da36c,_0x28d73a,_0x97bb41,_0x1f32da;return _regeneratorRuntime()[_0x3cc651(0x1a5)](function _0x2dd8d3(_0x4b8a6e){var _0x1c943a=_0x3cc651;while(0x1)switch(_0x4b8a6e['prev']=_0x4b8a6e['next']){case 0x0:_0x28d73a=this['_buildTileUrl'](_0x2031b7,_0x59d6fa,_0x2c8d9a),_0x4b8a6e['next']=0x3;return fetch(_0x28d73a,{'signal':_0x32d344});case 0x3:_0x97bb41=_0x4b8a6e[_0x1c943a(0x124)];if(_0x97bb41['ok']){_0x4b8a6e[_0x1c943a(0x148)]=0x6;break;}throw new Error(_0x1c943a(0xf4)['concat'](_0x97bb41['status'],'\x20')[_0x1c943a(0xcb)](_0x97bb41['statusText']));case 0x6:_0x4b8a6e[_0x1c943a(0x148)]=0x8;return _0x97bb41['arrayBuffer']();case 0x8:_0x1f32da=_0x4b8a6e[_0x1c943a(0x124)],_0x4b8a6e['t0']=_0x2031b7,_0x4b8a6e['t1']=_0x59d6fa,_0x4b8a6e['t2']=_0x2c8d9a,_0x4b8a6e[_0x1c943a(0x148)]=0xe;return this['_decodeTile'](_0x1f32da);case 0xe:_0x4b8a6e['t3']=_0x4b8a6e[_0x1c943a(0x124)];return _0x4b8a6e['abrupt']('return',{'x':_0x4b8a6e['t0'],'y':_0x4b8a6e['t1'],'z':_0x4b8a6e['t2'],'raw':_0x4b8a6e['t3']});case 0x10:case'end':return _0x4b8a6e[_0x1c943a(0x15b)]();}},_0x1cb3d0,this);}));function _0x13405e(_0x520e39,_0x39ca21,_0x3f01bc,_0x111640){return _0x385e97['apply'](this,arguments);}return _0x13405e;}())},{'key':'_loadTile','value':(function(){var _0xb22f27=_0x112336,_0x1a309b=_asyncToGenerator(_regeneratorRuntime()[_0xb22f27(0xdd)](function _0x5984e1(_0x2b4f65){var _0xfb1a3d=this,_0x5a25bb,_0x4d080c,_0x4bd3ab,_0x8768e9,_0x32a8a4,_0x45ad00,_0x2d33b8,_0x11ff9f,_0x6efffd;return _regeneratorRuntime()['wrap'](function _0x3686e7(_0x40af04){var _0x4d6084=_0x486e;while(0x1)switch(_0x40af04['prev']=_0x40af04['next']){case 0x0:_0x40af04['next']=0x2;return this['init']();case 0x2:this['_validateOptions'](),(_0x5a25bb=_0x2b4f65['x'],_0x4d080c=_0x2b4f65['y'],_0x4bd3ab=_0x2b4f65['z'],_0x8768e9=_0x2b4f65[_0x4d6084(0x1a1)]);if(!(_0x4bd3ab<this['minzoom']||_0x4bd3ab>this[_0x4d6084(0x176)])){_0x40af04['next']=0x6;break;}throw this[_0x4d6084(0x143)](new Error('\u74E6\u7247\u5C42\u7EA7\x20'['concat'](_0x4bd3ab,'\x20\u8D85\u51FA\u8303\u56F4\x20[')['concat'](this[_0x4d6084(0xf9)],',\x20')[_0x4d6084(0xcb)](this['maximumLevel'],']')));case 0x6:_0x32a8a4=this['_loadedTiles'][_0x8768e9];if(!_0x32a8a4){_0x40af04[_0x4d6084(0x148)]=0xa;break;}this[_0x4d6084(0x17b)](_0x8768e9);return _0x40af04['abrupt'](_0x4d6084(0x1b0),_0x32a8a4);case 0xa:_0x45ad00=this['_pendingTiles']['get'](_0x8768e9);if(!_0x45ad00){_0x40af04[_0x4d6084(0x148)]=0xd;break;}return _0x40af04[_0x4d6084(0xc0)](_0x4d6084(0x1b0),_0x45ad00);case 0xd:_0x2d33b8=this['_requestToken'],_0x11ff9f=new AbortController(),_0x6efffd=this[_0x4d6084(0x135)](_0x5a25bb,_0x4d080c,_0x4bd3ab,_0x11ff9f[_0x4d6084(0xbf)])[_0x4d6084(0x128)](function(_0x14e33c){var _0x1de7b1=_0x4d6084;if(_0x11ff9f[_0x1de7b1(0xbf)][_0x1de7b1(0x1ad)]||_0x2d33b8!==_0xfb1a3d['_requestToken']||_0xfb1a3d['_destroyed'])return _0x14e33c;return _0xfb1a3d[_0x1de7b1(0x123)][_0x8768e9]=_0x14e33c,_0xfb1a3d['_touchTileCache'](_0x8768e9),_0xfb1a3d['_pruneLoadedTiles'](),_0xfb1a3d[_0x1de7b1(0xd7)][_0x1de7b1(0x180)](_0x14e33c),_0xfb1a3d['_syncTileDisplayState'](_0xfb1a3d['_tilesToUpdate']),_0x14e33c;})[_0x4d6084(0xdb)](function(_0x5400c0){var _0x4e5e70=_0x4d6084,_0x8eec6=_0xfb1a3d[_0x4e5e70(0x11b)](_0x5400c0,_0x4e5e70(0x133));if(_0x11ff9f['signal'][_0x4e5e70(0x1ad)]||_0xfb1a3d['_isAbortError'](_0x8eec6))throw _0x8eec6;throw _0xfb1a3d[_0x4e5e70(0x143)](_0x8eec6);})['finally'](function(){var _0x576691=_0x4d6084;_0xfb1a3d[_0x576691(0xda)][_0x576691(0xf0)](_0x8768e9)===_0x6efffd&&_0xfb1a3d[_0x576691(0xda)][_0x576691(0x114)](_0x8768e9),_0xfb1a3d['_pendingRequestControllers']['get'](_0x8768e9)===_0x11ff9f&&_0xfb1a3d['_pendingRequestControllers']['delete'](_0x8768e9),_0xfb1a3d[_0x576691(0x16f)]['get'](_0x8768e9)===_0x2b4f65&&_0xfb1a3d['_pendingRequestTiles'][_0x576691(0x114)](_0x8768e9);}),this['_pendingTiles'][_0x4d6084(0x12b)](_0x8768e9,_0x6efffd),this[_0x4d6084(0xf1)]['set'](_0x8768e9,_0x11ff9f),this['_pendingRequestTiles'][_0x4d6084(0x12b)](_0x8768e9,_0x2b4f65);return _0x40af04['abrupt'](_0x4d6084(0x1b0),_0x6efffd);case 0x14:case _0x4d6084(0x1ac):return _0x40af04[_0x4d6084(0x15b)]();}},_0x5984e1,this);}));function _0x292d34(_0x7d53f6){var _0x566b22=_0xb22f27;return _0x1a309b[_0x566b22(0x12e)](this,arguments);}return _0x292d34;}())},{'key':'tileToGeoJSON','value':function _0x37889f(_0x5c5e15){var _0x376ad5=_0x112336;if(!Array[_0x376ad5(0x1a6)](_0x5c5e15[_0x376ad5(0x137)][_0x376ad5(0x116)]))throw this['_emitError'](new Error(_0x376ad5(0xb9)));return{'x':_0x5c5e15['x'],'y':_0x5c5e15['y'],'z':_0x5c5e15['z'],'geoJson':{'type':_0x376ad5(0xf5),'features':_0x5c5e15[_0x376ad5(0x137)][_0x376ad5(0x116)]}};}},{'key':_0x112336(0xd4),'value':function _0x4b96c5(_0x3c55a6){var _0x268901=_0x112336;if(!this['ready']||this['_destroyed'])return;var _0x360976=this[_0x268901(0xba)](_0x3c55a6),_0x3feb03=new Set(_0x360976[_0x268901(0xdc)](function(_0x4b912a){return _0x4b912a['key'];}));this['_cancelStaleRequests'](_0x3feb03),this[_0x268901(0x17a)](_0x360976),this[_0x268901(0x119)](_0x360976);}},{'key':_0x112336(0x194),'value':function _0x43a231(_0xc75816){var _0x9a8bc1=_0x112336,_0x5aebf5=_createForOfIteratorHelper(this[_0x9a8bc1(0xf1)]['entries']()),_0x257f0f;try{for(_0x5aebf5['s']();!(_0x257f0f=_0x5aebf5['n']())['done'];){var _0x3e7c11=_slicedToArray(_0x257f0f[_0x9a8bc1(0x13d)],0x2),_0x1e00bb=_0x3e7c11[0x0],_0x1f7394=_0x3e7c11[0x1];if(_0xc75816[_0x9a8bc1(0xe8)](_0x1e00bb))continue;var _0x27f301=this[_0x9a8bc1(0x16f)]['get'](_0x1e00bb);this['_pendingTiles'][_0x9a8bc1(0x114)](_0x1e00bb),this['_pendingRequestControllers'][_0x9a8bc1(0x114)](_0x1e00bb),this[_0x9a8bc1(0x16f)][_0x9a8bc1(0x114)](_0x1e00bb),_0x1f7394['abort'](),_0x27f301&&this[_0x9a8bc1(0x1a0)](_0x27f301);}}catch(_0x28159e){_0x5aebf5['e'](_0x28159e);}finally{_0x5aebf5['f']();}if(this['_requestQueue']['length']===0x0)return;var _0x208bf6=[];this[_0x9a8bc1(0x164)][_0x9a8bc1(0xd5)]();var _0xe1e313=_createForOfIteratorHelper(this['_requestQueue']),_0x754f7a;try{for(_0xe1e313['s']();!(_0x754f7a=_0xe1e313['n']())['done'];){var _0x33a16f=_0x754f7a['value'];if(!_0xc75816[_0x9a8bc1(0xe8)](_0x33a16f[_0x9a8bc1(0x1a1)])){this[_0x9a8bc1(0x1a0)](_0x33a16f);continue;}_0x208bf6['push'](_0x33a16f),this[_0x9a8bc1(0x164)]['add'](_0x33a16f['key']);}}catch(_0x2b2913){_0xe1e313['e'](_0x2b2913);}finally{_0xe1e313['f']();}this[_0x9a8bc1(0x12a)]=_0x208bf6;}},{'key':'_updateTiles','value':function _0x4a4d70(_0x394172){var _0x1e4763=_0x112336,_0x5b1130=_createForOfIteratorHelper(_0x394172),_0x3349a9;try{for(_0x5b1130['s']();!(_0x3349a9=_0x5b1130['n']())['done'];){var _0x337fd3=_0x3349a9['value'];if(_0x337fd3[_0x1e4763(0x127)]!=='none')continue;this['_markTileLoading'](_0x337fd3),this['_requestQueue']['push'](_0x337fd3),this[_0x1e4763(0x164)]['add'](_0x337fd3['key']);}}catch(_0x41f288){_0x5b1130['e'](_0x41f288);}finally{_0x5b1130['f']();}this['_drainRequestQueue']();}},{'key':_0x112336(0x10b),'value':function _0x9131d2(){var _0x47f168=_0x112336,_0xc06abb=this;if(this['_destroyed'])return;while(this['_activeRequestCount']<MAX_CONCURRENT_TILE_REQUESTS&&this[_0x47f168(0x12a)][_0x47f168(0xd2)]>0x0){var _0x42e43c=this['_requestQueue']['shift']();if(!_0x42e43c)continue;this[_0x47f168(0x164)]['delete'](_0x42e43c[_0x47f168(0x1a1)]);if(_0x42e43c[_0x47f168(0x127)]!==_0x47f168(0x109))continue;var _0x368d90=_0x42e43c['requestVersion'];this[_0x47f168(0x17d)]+=0x1,void this['_loadVisibleTile'](_0x42e43c,_0x368d90)[_0x47f168(0x139)](function(){var _0x10cd8f=_0x47f168;_0xc06abb['_activeRequestCount']=Math[_0x10cd8f(0x138)](_0xc06abb[_0x10cd8f(0x17d)]-0x1,0x0),_0xc06abb[_0x10cd8f(0x10b)]();});}}},{'key':_0x112336(0x172),'value':(function(){var _0x4e707b=_asyncToGenerator(_regeneratorRuntime()['mark'](function _0x22ef25(_0x385e20,_0x163e66){return _regeneratorRuntime()['wrap'](function _0x206bda(_0x4432ed){var _0x250f5c=_0x486e;while(0x1)switch(_0x4432ed[_0x250f5c(0x121)]=_0x4432ed[_0x250f5c(0x148)]){case 0x0:_0x4432ed[_0x250f5c(0x121)]=0x0,_0x4432ed[_0x250f5c(0x148)]=0x3;return this['_loadTile'](_0x385e20);case 0x3:if(!(_0x385e20[_0x250f5c(0x125)]!==_0x163e66)){_0x4432ed['next']=0x5;break;}return _0x4432ed[_0x250f5c(0xc0)](_0x250f5c(0x1b0));case 0x5:_0x385e20[_0x250f5c(0x127)]=_0x250f5c(0x1a7),_0x4432ed[_0x250f5c(0x148)]=0x11;break;case 0x8:_0x4432ed['prev']=0x8,_0x4432ed['t0']=_0x4432ed[_0x250f5c(0xdb)](0x0);if(!(_0x385e20[_0x250f5c(0x125)]!==_0x163e66)){_0x4432ed[_0x250f5c(0x148)]=0xc;break;}return _0x4432ed['abrupt'](_0x250f5c(0x1b0));case 0xc:if(!this['_isAbortError'](_0x4432ed['t0'])){_0x4432ed['next']=0xf;break;}_0x385e20[_0x250f5c(0x127)]=_0x250f5c(0xbd);return _0x4432ed['abrupt']('return');case 0xf:_0x385e20[_0x250f5c(0x127)]='error',console[_0x250f5c(0x160)](_0x250f5c(0x13f)['concat'](_0x385e20['x'],',\x20')[_0x250f5c(0xcb)](_0x385e20['y'],',\x20')[_0x250f5c(0xcb)](_0x385e20['z'],']'),_0x4432ed['t0']);case 0x11:case _0x250f5c(0x1ac):return _0x4432ed['stop']();}},_0x22ef25,this,[[0x0,0x8]]);}));function _0x27fc6f(_0x1c1eea,_0x47e92a){return _0x4e707b['apply'](this,arguments);}return _0x27fc6f;}())},{'key':_0x112336(0xe4),'value':function _0x249d6c(){var _0x26c711=_0x112336;return Object[_0x26c711(0x117)](this['_loadedTiles']);}},{'key':_0x112336(0x1ab),'value':function _0x322f40(_0x5d370a,_0x12b6ec,_0x565272){return this['_loadedTiles'][this['_getTileKey'](_0x5d370a,_0x12b6ec,_0x565272)];}},{'key':_0x112336(0x129),'value':function _0x67b57f(){var _0x281ec1=_0x112336;this['_requestToken']+=0x1;var _0x451e52=Object[_0x281ec1(0x117)](this['_loadedTiles']);this['_abortAllPendingRequests'](),this[_0x281ec1(0x150)]();for(var _0x4e73a9=0x0,_0x363de8=_0x451e52;_0x4e73a9<_0x363de8[_0x281ec1(0xd2)];_0x4e73a9++){var _0x3e364a=_0x363de8[_0x4e73a9],_0xb73e06=this[_0x281ec1(0x1a2)](_0x3e364a['x'],_0x3e364a['y'],_0x3e364a['z']);this['tileEvictEvent']['raiseEvent']({'key':_0xb73e06,'x':_0x3e364a['x'],'y':_0x3e364a['y'],'z':_0x3e364a['z']}),this['_removeManagedTileLayers'](_0xb73e06);}this['_loadedTiles']={},this['_pendingTiles'][_0x281ec1(0xd5)](),this[_0x281ec1(0xbe)][_0x281ec1(0xd5)](),this['_removeAllManagedTileLayers'](),this['_resetTileStates']();}},{'key':'_abortAllPendingRequests','value':function _0x32a225(){var _0x201048=_0x112336;this['_requestQueue'][_0x201048(0xd2)]=0x0,this['_queuedTileKeys']['clear']();var _0x411bf2=_createForOfIteratorHelper(this[_0x201048(0xf1)][_0x201048(0xfd)]()),_0x5e130d;try{for(_0x411bf2['s']();!(_0x5e130d=_0x411bf2['n']())[_0x201048(0x195)];){var _0x376055=_slicedToArray(_0x5e130d[_0x201048(0x13d)],0x2),_0x54d7c8=_0x376055[0x0],_0x203b94=_0x376055[0x1],_0x1981b6=this['_pendingRequestTiles'][_0x201048(0xf0)](_0x54d7c8);this[_0x201048(0xda)][_0x201048(0x114)](_0x54d7c8),this['_pendingRequestControllers'][_0x201048(0x114)](_0x54d7c8),this[_0x201048(0x16f)][_0x201048(0x114)](_0x54d7c8),_0x203b94[_0x201048(0xfc)](),_0x1981b6&&this[_0x201048(0x1a0)](_0x1981b6);}}catch(_0x5089c4){_0x411bf2['e'](_0x5089c4);}finally{_0x411bf2['f']();}}},{'key':_0x112336(0x130),'value':function _0x2317f6(){var _0x4cc0a0=_0x112336,_0x4ad848=_toConsumableArray(this['_rootTiles']);while(_0x4ad848['length']>0x0){var _0xc0c576=_0x4ad848[_0x4cc0a0(0x179)]();if(!_0xc0c576)continue;this[_0x4cc0a0(0x1a0)](_0xc0c576);var _0x1d61bb=_createForOfIteratorHelper(_0xc0c576[_0x4cc0a0(0xbc)]),_0x5d744b;try{for(_0x1d61bb['s']();!(_0x5d744b=_0x1d61bb['n']())['done'];){var _0x462bfa=_0x5d744b['value'];_0x4ad848[_0x4cc0a0(0x142)](_0x462bfa);}}catch(_0x229d54){_0x1d61bb['e'](_0x229d54);}finally{_0x1d61bb['f']();}}}},{'key':_0x112336(0x147),'value':function _0x31d118(){var _0x114af3=_0x112336;if(this['_destroyed'])return;this['_destroyed']=!![],this[_0x114af3(0x129)](),this[_0x114af3(0x188)](),this['_clearListenerRegistry'](),removeAllEventListeners(this['readyEvent']),removeAllEventListeners(this['errorEvent']),removeAllEventListeners(this['tileLoadEvent']),removeAllEventListeners(this[_0x114af3(0x1b8)]),removeAllEventListeners(this[_0x114af3(0x155)]),this['_removeFromMap']();}},{'key':'isDestroyed','value':function _0x286138(){var _0x527eb6=_0x112336;return this[_0x527eb6(0xb8)];}}]),_0x43fdbf;}()),VectorLoadTile=(function(){function _0x42c4d1(_0x579b8f){var _0x5b2e72=_0x486e;_classCallCheck(this,_0x42c4d1),_defineProperty(this,'x',void 0x0),_defineProperty(this,'y',void 0x0),_defineProperty(this,'z',void 0x0),_defineProperty(this,'key',void 0x0),_defineProperty(this,'parent',void 0x0),_defineProperty(this,_0x5b2e72(0xff),void 0x0),_defineProperty(this,_0x5b2e72(0xe5),void 0x0),_defineProperty(this,_0x5b2e72(0x106),void 0x0),_defineProperty(this,_0x5b2e72(0xbc),void 0x0),_defineProperty(this,_0x5b2e72(0x11c),void 0x0),_defineProperty(this,_0x5b2e72(0xf2),void 0x0),_defineProperty(this,'state',void 0x0),_defineProperty(this,'requestVersion',void 0x0),this['x']=_0x579b8f['x'],this['y']=_0x579b8f['y'],this['z']=_0x579b8f['z'],this['key']=''[_0x5b2e72(0xcb)](this['x'],',')['concat'](this['y'],',')['concat'](this['z']),this['parent']=_0x579b8f[_0x5b2e72(0x108)],this['children']=[],this['tilingScheme']=_0x579b8f[_0x5b2e72(0xff)],this['rectangle']=this['tilingScheme'][_0x5b2e72(0x196)](this['x'],this['y'],this['z']),this['tileBoundingRegion']=new CesiumRuntime[(_0x5b2e72(0x152))]({'rectangle':this['rectangle'],'minimumHeight':0x0,'maximumHeight':0x0,'ellipsoid':this['tilingScheme']['ellipsoid'],'computeBoundingVolumes':!![]}),this['distanceToCamera']=0x0,this[_0x5b2e72(0xf2)]=_0x2f889f[_0x5b2e72(0x191)][_0x5b2e72(0x12c)],this[_0x5b2e72(0x127)]='none',this[_0x5b2e72(0x125)]=0x0;}return _createClass(_0x42c4d1,[{'key':'createChildren','value':function _0x4c0f67(){var _0x9521bc=_0x486e;if(this['children']['length']>0x0)return;var _0x167ec1=[{'x':this['x']*0x2,'y':this['y']*0x2+0x1,'z':this['z']+0x1},{'x':this['x']*0x2+0x1,'y':this['y']*0x2+0x1,'z':this['z']+0x1},{'x':this['x']*0x2,'y':this['y']*0x2,'z':this['z']+0x1},{'x':this['x']*0x2+0x1,'y':this['y']*0x2,'z':this['z']+0x1}];for(var _0x2862c0=0x0,_0x52155b=_0x167ec1;_0x2862c0<_0x52155b[_0x9521bc(0xd2)];_0x2862c0++){var _0x40cda2=_0x52155b[_0x2862c0],_0x41b40a=_0x40cda2['x'],_0x3d5a05=_0x40cda2['y'],_0x15222f=_0x40cda2['z'];this[_0x9521bc(0xbc)]['push'](new _0x42c4d1({'x':_0x41b40a,'y':_0x3d5a05,'z':_0x15222f,'tilingScheme':this[_0x9521bc(0xff)],'parent':this[_0x9521bc(0x108)]}));}}},{'key':'visit','value':function _0x9af344(_0x4c971b,_0xfa3432,_0x1bcce){var _0x3e5485=_0x486e;this['distanceToCamera']=this[_0x3e5485(0x106)][_0x3e5485(0x11c)](_0x4c971b),this[_0x3e5485(0xf2)]=_0x4c971b['cullingVolume']['computeVisibility'](this['tileBoundingRegion']);if(this['visibility']===_0x2f889f[_0x3e5485(0x191)]['OUTSIDE'])return;var _0x3957a8=_0x4c971b[_0x3e5485(0x19e)],_0x403a0e=_0x1bcce(_0x4c971b,this);if(this['z']<this['parent']['minzoom']){_0x403a0e>=_0x3957a8&&_0xfa3432[_0x3e5485(0xc9)](this);return;}if(_0x403a0e>=_0x3957a8){_0xfa3432[_0x3e5485(0xc9)](this);return;}_0xfa3432['accept'](this);}}]),_0x42c4d1;}());export default MvtVectorLoad;