vue-openlayers-plugin 1.0.67 → 1.0.69

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 (28) hide show
  1. package/README.md +1 -1
  2. package/lib/{index-1b888705.mjs → index-b61cd0bb.mjs} +127 -135
  3. package/lib/{index.es-bc4e91cb.mjs → index.es-09c58559.mjs} +1 -1
  4. package/lib/index.esm.js +21 -21
  5. package/lib/index.umd.js +128 -136
  6. package/lib/style.css +350 -410
  7. package/package.json +1 -1
  8. package/types/src/components/CustomDialog/CustomDialog.vue.d.ts.map +1 -1
  9. package/types/src/components/CustomOpenlayer/components/LegendPanel.vue.d.ts.map +1 -1
  10. package/types/src/components/CustomOpenlayer/components/MapContainer.vue.d.ts.map +1 -1
  11. package/types/src/components/CustomOpenlayer/components/MapPopup/ArrayPopup.vue.d.ts.map +1 -1
  12. package/types/src/components/CustomOpenlayer/components/MapPopup/BasePopup.vue.d.ts.map +1 -1
  13. package/types/src/components/CustomOpenlayer/components/MapPopup/HtmlPopup.vue.d.ts.map +1 -1
  14. package/types/src/components/CustomOpenlayer/components/MapPopup/ImagePopup.vue.d.ts.map +1 -1
  15. package/types/src/components/CustomOpenlayer/components/dialogs/BasemapPanel.vue.d.ts.map +1 -1
  16. package/types/src/components/CustomOpenlayer/components/dialogs/CoordinateLocationDialog.vue.d.ts.map +1 -1
  17. package/types/src/components/CustomOpenlayer/components/dialogs/FilterPanel.vue.d.ts.map +1 -1
  18. package/types/src/components/CustomOpenlayer/components/dialogs/LayerPanel.vue.d.ts.map +1 -1
  19. package/types/src/components/CustomOpenlayer/components/dialogs/LayerStyleConfig.vue.d.ts.map +1 -1
  20. package/types/src/components/CustomOpenlayer/components/dialogs/LayerTreeNode.vue.d.ts.map +1 -1
  21. package/types/src/components/CustomOpenlayer/components/dialogs/MapPrintDialog.vue.d.ts.map +1 -1
  22. package/types/src/components/CustomOpenlayer/components/dialogs/MyMarkersDialog.vue.d.ts.map +1 -1
  23. package/types/src/components/CustomOpenlayer/components/dialogs/RegionNavigationDialog.vue.d.ts.map +1 -1
  24. package/types/src/components/CustomOpenlayer/components/dialogs/ViewBookmarksDialog.vue.d.ts.map +1 -1
  25. package/types/tsconfig.tsbuildinfo +1 -1
  26. package/types/src/components/CustomOpenlayer/utils/layerManager.d.ts.map +0 -1
  27. package/types/src/components/CustomOpenlayer/utils/layers/TileSuperMapRestHandler.d.ts.map +0 -1
  28. package/types/src/components/CustomOpenlayer/utils/mapManager.d.ts.map +0 -1
@@ -464578,7 +464578,12 @@ class TileSuperMapRestHandler extends BaseLayer$2 {
464578
464578
  console.log(`✅ SuperMap图层 ${config.name} 瓦片加载完成`);
464579
464579
  });
464580
464580
  source.on("tileloaderror", (event) => {
464581
+ var _a4, _b3;
464582
+ const img = (_b3 = (_a4 = event == null ? void 0 : event.tile) == null ? void 0 : _a4.getImage) == null ? void 0 : _b3.call(_a4);
464583
+ const src2 = img == null ? void 0 : img.src;
464581
464584
  console.error(`❌ SuperMap图层 ${config.name} 瓦片加载失败:`, event);
464585
+ if (src2)
464586
+ console.error(`失败瓦片URL: ${src2}`);
464582
464587
  });
464583
464588
  const tileLayer = new TileLayer$2({
464584
464589
  source,
@@ -464692,8 +464697,10 @@ class TileSuperMapRestHandler extends BaseLayer$2 {
464692
464697
  const sourceOptions = {
464693
464698
  url: config.url,
464694
464699
  wrapX: true,
464695
- // SuperMap服务通常不需要wrapX
464696
- format: config.format || "webp"
464700
+ format: config.format || "webp",
464701
+ crossOrigin: config.crossOrigin || "anonymous",
464702
+ transparent: config.transparent ?? true,
464703
+ cacheEnabled: config.cacheEnabled ?? true
464697
464704
  };
464698
464705
  try {
464699
464706
  let mapJsonUrl = config.url;
@@ -464712,31 +464719,15 @@ class TileSuperMapRestHandler extends BaseLayer$2 {
464712
464719
  if (response.ok) {
464713
464720
  const mapJson = await response.json();
464714
464721
  console.log("获取到的map.json数据:", mapJson);
464715
- if (mapJson && mapJson.bounds) {
464716
- const bounds2 = mapJson.bounds;
464717
- const extent3 = [bounds2.left, bounds2.bottom, bounds2.right, bounds2.top];
464718
- const tileSize = 256;
464719
- const maxZoom = 18;
464720
- const resolutions = [];
464721
- for (let z2 = 0; z2 <= maxZoom; z2++) {
464722
- resolutions[z2] = 180 / (tileSize * Math.pow(2, z2 - 1));
464723
- }
464724
- sourceOptions.tileGrid = new TileGrid$3({
464725
- resolutions,
464726
- origin: [bounds2.left, bounds2.top]
464727
- // 使用左上角坐标
464728
- });
464729
- console.log("✅ 成功从map.json创建tileGrid配置:");
464730
- console.log("📍 Origin坐标 (左上角):", [bounds2.left, bounds2.top]);
464731
- console.log("📐 Extent范围:", extent3);
464732
- console.log("🔍 分辨率数组:", resolutions.slice(0, 5));
464733
- console.log("📏 瓦片大小:", tileSize);
464722
+ const options = TileSuperMapRest.optionsFromMapJSON(config.url, mapJson);
464723
+ if (options == null ? void 0 : options.tileGrid) {
464724
+ sourceOptions.tileGrid = options.tileGrid;
464725
+ if (options.extent)
464726
+ sourceOptions.extent = options.extent;
464727
+ console.log("✅ 使用 optionsFromMapJSON 构建 tileGrid");
464734
464728
  } else {
464735
- console.warn("map.json中没有bounds信息,使用默认配置");
464736
- const tileGrid = await this.createTileGrid(
464737
- projection2.getCode(),
464738
- config
464739
- );
464729
+ console.warn("map.json 未提供有效 tileGrid,回退到默认配置");
464730
+ const tileGrid = await this.createTileGrid(projection2.getCode(), config);
464740
464731
  if (tileGrid)
464741
464732
  sourceOptions.tileGrid = tileGrid;
464742
464733
  }
@@ -466489,6 +466480,22 @@ class LayerManager {
466489
466480
  }
466490
466481
  }
466491
466482
  }
466483
+ const projCode = view.getProjection().getCode();
466484
+ const isWorldExtent = (ext2, code) => {
466485
+ if (!ext2 || !code)
466486
+ return false;
466487
+ const [minX, minY, maxX, maxY] = ext2;
466488
+ const w2 = Math.abs(maxX - minX);
466489
+ const h2 = Math.abs(maxY - minY);
466490
+ if (code === "EPSG:4326" || code === "EPSG:4490")
466491
+ return w2 >= 359.9 && h2 >= 179.9;
466492
+ if (code === "EPSG:3857" || code === "EPSG:900913")
466493
+ return w2 >= 4e7 * 0.9 && h2 >= 4e7 * 0.9;
466494
+ return false;
466495
+ };
466496
+ if (extent3 && isWorldExtent(extent3, projCode)) {
466497
+ extent3 = null;
466498
+ }
466492
466499
  if (!extent3 || extent3.every((coord) => !isFinite(coord))) {
466493
466500
  if (config.center && Array.isArray(config.center) && config.center.length === 2) {
466494
466501
  const mapProjection = view.getProjection().getCode();
@@ -467670,20 +467677,12 @@ const _sfc_main$q = /* @__PURE__ */ defineComponent({
467670
467677
  _cache[4] || (_cache[4] = createElementVNode("div", { class: "ol-popup-default" }, [
467671
467678
  createElementVNode("p", null, "请提供 popup 内容")
467672
467679
  ], -1))
467673
- ], true)
467680
+ ])
467674
467681
  ], 512)
467675
467682
  ], 38)) : createCommentVNode("", true);
467676
467683
  };
467677
467684
  }
467678
467685
  });
467679
- const _export_sfc = (sfc, props) => {
467680
- const target = sfc.__vccOpts || sfc;
467681
- for (const [key, val] of props) {
467682
- target[key] = val;
467683
- }
467684
- return target;
467685
- };
467686
- const BasePopup = /* @__PURE__ */ _export_sfc(_sfc_main$q, [["__scopeId", "data-v-9a5b6333"]]);
467687
467686
  const _hoisted_1$o = { class: "html-popup-content" };
467688
467687
  const _hoisted_2$m = {
467689
467688
  key: 0,
@@ -467737,7 +467736,7 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
467737
467736
  return sanitizeHtml(content2);
467738
467737
  });
467739
467738
  return (_ctx, _cache) => {
467740
- return openBlock(), createBlock(BasePopup, {
467739
+ return openBlock(), createBlock(_sfc_main$q, {
467741
467740
  config: _ctx.config,
467742
467741
  coordinate: _ctx.coordinate,
467743
467742
  feature: _ctx.feature,
@@ -467763,7 +467762,6 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
467763
467762
  };
467764
467763
  }
467765
467764
  });
467766
- const HtmlPopup = /* @__PURE__ */ _export_sfc(_sfc_main$p, [["__scopeId", "data-v-0f5b8711"]]);
467767
467765
  const _hoisted_1$n = { class: "image-popup-content" };
467768
467766
  const _hoisted_2$l = {
467769
467767
  key: 0,
@@ -467936,7 +467934,7 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
467936
467934
  document.removeEventListener("keydown", handleKeydown);
467937
467935
  });
467938
467936
  return (_ctx, _cache) => {
467939
- return openBlock(), createBlock(BasePopup, {
467937
+ return openBlock(), createBlock(_sfc_main$q, {
467940
467938
  config: _ctx.config,
467941
467939
  coordinate: _ctx.coordinate,
467942
467940
  feature: _ctx.feature,
@@ -468056,7 +468054,6 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
468056
468054
  };
468057
468055
  }
468058
468056
  });
468059
- const ImagePopup = /* @__PURE__ */ _export_sfc(_sfc_main$o, [["__scopeId", "data-v-2b939e35"]]);
468060
468057
  const _hoisted_1$m = { class: "array-popup-content" };
468061
468058
  const _hoisted_2$k = {
468062
468059
  key: 0,
@@ -468279,7 +468276,7 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
468279
468276
  }
468280
468277
  });
468281
468278
  return (_ctx, _cache) => {
468282
- return openBlock(), createBlock(BasePopup, {
468279
+ return openBlock(), createBlock(_sfc_main$q, {
468283
468280
  config: _ctx.config,
468284
468281
  coordinate: _ctx.coordinate,
468285
468282
  feature: _ctx.feature,
@@ -468492,7 +468489,6 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
468492
468489
  };
468493
468490
  }
468494
468491
  });
468495
- const ArrayPopup = /* @__PURE__ */ _export_sfc(_sfc_main$n, [["__scopeId", "data-v-140dd964"]]);
468496
468492
  class PopupManager {
468497
468493
  constructor(map2, config = {}) {
468498
468494
  __publicField(this, "map");
@@ -468712,7 +468708,7 @@ class PopupManager {
468712
468708
  let app = null;
468713
468709
  switch (type) {
468714
468710
  case "html":
468715
- app = createApp(HtmlPopup, {
468711
+ app = createApp(_sfc_main$p, {
468716
468712
  config: { ...this.config.defaultConfig, ...config },
468717
468713
  coordinate,
468718
468714
  feature: feature2,
@@ -468721,7 +468717,7 @@ class PopupManager {
468721
468717
  });
468722
468718
  break;
468723
468719
  case "image":
468724
- app = createApp(ImagePopup, {
468720
+ app = createApp(_sfc_main$o, {
468725
468721
  config: { ...this.config.defaultConfig, ...config },
468726
468722
  coordinate,
468727
468723
  feature: feature2,
@@ -468730,7 +468726,7 @@ class PopupManager {
468730
468726
  });
468731
468727
  break;
468732
468728
  case "array":
468733
- app = createApp(ArrayPopup, {
468729
+ app = createApp(_sfc_main$n, {
468734
468730
  config: { ...this.config.defaultConfig, ...config },
468735
468731
  coordinate,
468736
468732
  feature: feature2,
@@ -468745,7 +468741,7 @@ class PopupManager {
468745
468741
  case "all":
468746
468742
  const allConfig = config;
468747
468743
  if (allConfig.htmlContent) {
468748
- app = createApp(HtmlPopup, {
468744
+ app = createApp(_sfc_main$p, {
468749
468745
  config: {
468750
468746
  ...allConfig,
468751
468747
  content: allConfig.htmlContent
@@ -468756,7 +468752,7 @@ class PopupManager {
468756
468752
  onClose: () => this.closePopup(popupId)
468757
468753
  });
468758
468754
  } else if (allConfig.images) {
468759
- app = createApp(ImagePopup, {
468755
+ app = createApp(_sfc_main$o, {
468760
468756
  config: {
468761
468757
  ...allConfig,
468762
468758
  images: allConfig.images
@@ -468767,7 +468763,7 @@ class PopupManager {
468767
468763
  onClose: () => this.closePopup(popupId)
468768
468764
  });
468769
468765
  } else if (allConfig.data) {
468770
- app = createApp(ArrayPopup, {
468766
+ app = createApp(_sfc_main$n, {
468771
468767
  config: {
468772
468768
  ...allConfig,
468773
468769
  data: allConfig.data
@@ -468782,7 +468778,7 @@ class PopupManager {
468782
468778
  }
468783
468779
  });
468784
468780
  } else {
468785
- app = createApp(BasePopup, {
468781
+ app = createApp(_sfc_main$q, {
468786
468782
  config: allConfig,
468787
468783
  coordinate,
468788
468784
  feature: feature2,
@@ -469097,6 +469093,9 @@ class MapManager {
469097
469093
  this.initManagers();
469098
469094
  this.bindMapEvents();
469099
469095
  this.emit("map-ready", this.map);
469096
+ setTimeout(() => {
469097
+ this.updateConfig(this.config);
469098
+ }, 0);
469100
469099
  return this.map;
469101
469100
  }
469102
469101
  /**
@@ -469971,7 +469970,6 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
469971
469970
  };
469972
469971
  }
469973
469972
  });
469974
- const MapContainer = /* @__PURE__ */ _export_sfc(_sfc_main$m, [["__scopeId", "data-v-9ef2c9f4"]]);
469975
469973
  const _hoisted_1$k = ["href"];
469976
469974
  const _sfc_main$l = /* @__PURE__ */ defineComponent({
469977
469975
  __name: "index",
@@ -470705,7 +470703,7 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
470705
470703
  createElementVNode("div", _hoisted_1$j, [
470706
470704
  renderSlot(_ctx.$slots, "title", {}, () => [
470707
470705
  createTextVNode(toDisplayString(_ctx.title), 1)
470708
- ], true)
470706
+ ])
470709
470707
  ]),
470710
470708
  createElementVNode("div", _hoisted_2$i, [
470711
470709
  _ctx.showFullscreen ? (openBlock(), createBlock(unref(ElButton), {
@@ -470735,10 +470733,10 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
470735
470733
  ])
470736
470734
  ], 34),
470737
470735
  createElementVNode("div", _hoisted_3$i, [
470738
- renderSlot(_ctx.$slots, "default", {}, void 0, true)
470736
+ renderSlot(_ctx.$slots, "default")
470739
470737
  ]),
470740
470738
  _ctx.$slots.footer ? (openBlock(), createElementBlock("div", _hoisted_4$i, [
470741
- renderSlot(_ctx.$slots, "footer", {}, void 0, true)
470739
+ renderSlot(_ctx.$slots, "footer")
470742
470740
  ])) : createCommentVNode("", true),
470743
470741
  _ctx.resizable && !isFullscreen.value ? (openBlock(), createElementBlock(Fragment, { key: 1 }, renderList(resizeDirections, (direction2) => {
470744
470742
  return createElementVNode("div", {
@@ -470782,13 +470780,13 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
470782
470780
  createElementVNode("div", {
470783
470781
  ref_key: "headerRef",
470784
470782
  ref: headerRef,
470785
- class: normalizeClass(["flex items-center justify-between px-5 py-4 border-b border-gray-200 bg-gray-50", { "cursor-move": _ctx.draggable && !isFullscreen.value }]),
470783
+ class: normalizeClass(["header flex items-center justify-between px-5 py-4 border-b border-gray-200 bg-gray-50", { "cursor-move": _ctx.draggable && !isFullscreen.value }]),
470786
470784
  onMousedown: startDrag
470787
470785
  }, [
470788
470786
  createElementVNode("div", _hoisted_6$f, [
470789
470787
  renderSlot(_ctx.$slots, "title", {}, () => [
470790
470788
  createTextVNode(toDisplayString(_ctx.title), 1)
470791
- ], true)
470789
+ ])
470792
470790
  ]),
470793
470791
  createElementVNode("div", _hoisted_7$d, [
470794
470792
  _ctx.showFullscreen ? (openBlock(), createBlock(unref(ElButton), {
@@ -470818,10 +470816,10 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
470818
470816
  ])
470819
470817
  ], 34),
470820
470818
  createElementVNode("div", _hoisted_8$a, [
470821
- renderSlot(_ctx.$slots, "default", {}, void 0, true)
470819
+ renderSlot(_ctx.$slots, "default")
470822
470820
  ]),
470823
470821
  _ctx.$slots.footer ? (openBlock(), createElementBlock("div", _hoisted_9$8, [
470824
- renderSlot(_ctx.$slots, "footer", {}, void 0, true)
470822
+ renderSlot(_ctx.$slots, "footer")
470825
470823
  ])) : createCommentVNode("", true),
470826
470824
  _ctx.resizable && !isFullscreen.value ? (openBlock(), createElementBlock("div", _hoisted_10$8, [
470827
470825
  createElementVNode("div", {
@@ -470862,7 +470860,6 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
470862
470860
  };
470863
470861
  }
470864
470862
  });
470865
- const CustomDialog = /* @__PURE__ */ _export_sfc(_sfc_main$k, [["__scopeId", "data-v-c1dd261c"]]);
470866
470863
  const tdtImgUrl = "data:image/png;base64,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";
470867
470864
  const tdtVecUrl = "data:image/png;base64,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";
470868
470865
  const gaodeImgUrl = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAD8AAABACAYAAACtK6/LAAAACXBIWXMAAAsTAAALEwEAmpwYAAAgAElEQVRogTW7SbNtx3mm92Sz+rV2v09z77ktAIIARRAgxaaoXlbRVS5LtiPsCLkGnrv5JZ544PDQkxq4HHaEXeWoUMiSKdsUWSoKAEmARHs73HtPf3a/V79WZnpw5Z+Q+WXm+33P+6b4H//lf/9TJ8T93nT948tPqXcbRjKiFYp111Lvc4Sv+e7b3+Xe/E26vmEyGtO1DaeLhiD/mN9V/y038j0+tH/OJHE4OQI3QCnIBkO00lycXmC8kuvtY758/ClNX/KtN7/L67e/h9YhTVORZRl979huLzk//4C63jIazqlax4PpjgezDYHuOMuHfLm+xVcXS66vzpnNRkglwcF0POFmseaTTz/HOkccJdD2KCeIQp/eWGaTsa765rl+evab18eT7LCpGvq2o+7gotkTJAFCGLJxhJIBp4uX7Ootw9GAZ8tPuLxeoazkz44/4fZY8tHyLpf5GiEURwcj4lChtMLaEodjchywbyryiwLnLNPpFD+WCH9L260p2x3FwmKNo6oLyq5ChyGFkQQi5+5ByaOriEV5wGR+QEdP3/UkaYpUEESKNBkSeBl9v+JgPscPfKq6RhlHpDzarkU7kFoyjEZaay1r1xuKvCBf5zS9YzAcEsWausmxxpGmKVGYsM23PHv+jG2+I4wn/MGtlneCn/O4ep1PqjcRsqHqPfb7FW2bY52j6zp2ux032zVV11FXFaPRmDiNWK2X5OslgfYBR9t1VFVJ23ZYBwcHB3h+jCkr9qXjfNGysYp4rCjzLUrCW6+9S+D5oByjwZi2guy129xsX/LkxWcoqfC0R150FGVHHHrc3NyQxkmthRBuu91RVRV+4CM9iKKILA2xpqXHEoURdVVzfXXNrtiRZHMeHoz5wfBnOB3wYf5DSiPQfYXREgR0vaHrOoQQ5EVJ3VRYLdCBIo4iwsDH9zx8JIF+VZVdWZG3LUoqsjRDC4nua3rrYYxkOpAol9A2La6vSALF7dkJtw5fo6oapBBUfs2OHY+efc7Z2TlSgNYRzvo44WGRTMZTJoNDpy09QRiw2WxRniZKI6yr0CRM4inGOeqqYbVZ0/QdOk1QXkjaLpjJZzzrHnJqHzJMSnYbx3a7I9I+cRzTdT3WGKQQ6FCzrdZIJ0lUgFQSY3pQHkJIiqpisd3gpEA4i9d3TEUKbYs1Fonj3smMfp1weXlJ3zYIZ1hvnmNsS1FWXF5fcnG1YLPdstkvEQiEEDjn6LoG5wQEIXdO7vHuN/8Q7QchtulIkwQZ+BhpAYHAMcjGbHc7qjJHCUkQBNhA40kPH4PEsq40682e2QCyLIPeoKRCSgk4TN/h+z51XuMc+GFA17eYvEU48JIMPAs4tKdRStH2Hc5ZjHU0teX2vGQ+Elz3A/Z5hbOGwWBI33ZcXr/gF59/zPn1Nbv1Ftc7ojBkNBoi1BjrHE3T4GmB8jys7dmWOS8un6OLoiT2fbwgoGwbpK/JsowoTKjKmrIqABBSIoUAYwmjABeOMDJiHBpmwxHa7bDOEIURURCghAApMEoglGY4HOJKR+RHJEEMFnwVMogy0iSm7cDfbOnbntTzOcomCEKOJivevr1i3Zxwto1RYs9kMsJTEcvFmu1mx3Kxoioq0iThcJIxG4/ojGW5r2hbA0CSRmjtsdvt+PzpF3zy6DP0zXrDaJAQRjGxP8T3I5w1LFZr8qKkqiq0ViipcL2FzkHSUwYTFuaYe+Ep92TFVT/GVguM6VnnWza7LRaBCgKiMGA8HuF5gvnwPsfTB0ihiYKMfF+x2d2g5ZZRmlK3LYMoJguGDMKaB9M1i2LIdXWA0pLDgylVVfHk9JIXF1dsViskMJ/O0FoT+AJrHUJKBoPBq7dACtq2pShKmqZBKIGSAo0RhEmEVholfJq6pW1qlHp1dNM4RWuf1WpJVZUopWmrHWdO8ffmDR4EX3Kn+dd8uPoTtGeJPEFvDJVw2K4jlpJWCtpNQRREhF5K3dQoqen7nqZt6bqCKAo48A7Ii5w0GRFqj/uzZ6w3khe7W6SDgI6a1Tbn4vyCRVHgfIdOfWKpCbUCBwKLwxL4EUN/QC4KWj/k+fkpdf1qXWmS4PsB+ujoNoPIoyhK8iZHq4h3XvsuoR+y2+8ZD6dsV3suwwu+vPoYXIdwLW2z5fPymF+W3+W9+KfkswO+Sv8LsmiANDVFsWZVnNLUOXGU0PUV682K9eoDkizFDzycNSQ6pC4qkjRiEMfQ9njE3JuucX3Dy+spXhThRMvZYsF6v8ULfIYyprq8JNOSaTYgjWKccyiliOOUIAi5Xq3ZNyV10+AAIQUCiOMYzw/QD2YDehFjKsmuvuH45A4n8/t4KiRwK0IdYHzBbGS57CfU+QJfKzQWrODn5Q8YyD0/GH3BnckNK3HEzVpTOYOnfYyvSeKEqrEY11HVFVa2DOSAKAzR2hEmCikd0sEwm5PFDZPwki9OR2TTr3E0iXh0+ZyyKonjGK011/sdQRTw1oPvcDx5QOD7FEWJUpLxaMbFzVP+/otPWO129HVLV9RYa0jiCESPlB769fGSJ/sU01uybIDD8dXVI6q6YrVeIJRE+yHbek/bvdLgyXiCEh6q15gg4W/tf8xy9zHf8v4nThR8Ur/NBe9SdAZtHNYawjBkPJ7iea+UQymNMQ4VeGTxECkg8mJc55iHX7CrPDbdHe7enaJ8i9M+XhBSdTX7uiTwfQIpGWdTBukBAH0nybKMMIx59uI5m+WawPMYDcb0cUfbtMRJSDqIaJsG/eWio9U989GIsqtZ7ha8vHzOPt9jeoNUklZ0hHGErzyUDJEixPd8ojDAmZ5WhnzED7m6ecr3vL/hbf4F1j7mV96fYpQkFgo/TNk3LZ7n8Iygri1pHNI14DxJOhhgW83If4om58n6LhfrktPlzzFKUpY1jS2pbU2URMzSjGazY7c/IwgcZZFTlHte3kiuFku+ePw5SRBzMJ+DEPg6ZjY6YjgYMhxmvDh7jH6+GXD7lib1PbbXe5q2ZbvZoZQiiSOCIABXkyXRK91tJXleQyRRWhD4Pp40ICue1re4qP6cH6U/5r3wfZrmDo/0D0ki6K2jrBscAi01V9dL2sihxgElDtu3bBY3HIXPyAdDLtaaxfUp+3JDg8P3AlQo6KVBIJBKkWVDrK35/Iv3Wa3XDAYDisZycb1kPBowmUxp2obdfsf3vvFt3n7j2+AszklMK9E/uK3ZqZCL7ZqL3YoyzxEKgtCnN4ZYS+bxFNG1hGnKrndcLpdURcEgjIjCiCRJiKKIYdBTND4fmz9iXH7JG+HfcWbfYV2FmHqHMo4gDBCto1o7ypsW3Tu2smKxOMei2R89ZNBYtssbymoPWpKFHrP5jDzfURQNXmuxoiGJU0IvoveHqFHIssxZbXdIIZlMpjjnqKoKZx0XixdoT7Lfb5mOR5TlFv367IqPlzOWuxzr4Gh2myiKsNZijCXwPHwpqLsdnZEIDcPxkKqoMAiMhs4Z+v2eJI6YjnyqNua0fouvB78k1Qtu2jv4znBrMKW3Hbtyx8FsTL63LFc3hFGEUg2Hw57ReIpUltmwZZXvqUSDH0qMq8niiINsiHOOtigRQYyyDtk72sqw3ZesN1uiIGSxWABgjKEsS569/IKPPv2Aotjz+r1j4jBGt33HPLkh8EMG8wFvTN8mjVO6tiVKYsIw5PnpE160n9E5iHVAogJyNJ141UxIrcBZdvucuLcMowNEOMKZCtNeUrQHpIGP63ussYzHY6KwpSgqPC/Gj4bEes1rg6e83Pa8XI2YpwnTyYRlvUN7gqbuSAYJSRCx3q6p25ayrkEIyqqiqgpM33FwcIiWkvV6zXQ6ZbfbAdB1PabrGY8m9FZxfbNBd5+Pee2311wcH7MoxkgpMK5F+ZKqzSnaHVJZtKcJPMXIj1BIfCdYdxVVWyO0TxZFVE7QNx25rKmlAiXId0tuygXhWOOhCJRGSoF1HUnq8bXXX6duJOvLBWEgCT2J6Xo2RUsSx4jIwyhHKDW+fTUiB76PSEEEmk1VUGNorSUUmslkzHaXE0URXddhjOH4+BbL5YJsOMALI5ZFznq9Qgef+Zy95vGNyTlftIJ1q1iub7Cmp64ruq4nDQJs3yNFyHK/RSuNE4JAatLBBE8plHHEvk8rJGVfg1pjPJ8mOEBZzXWxYRBlDJKErmkRQjKdTLlzfEJTQ7d6SlP1eCgGaUrT7wn9gDBMeba4ZLvbMPYDvEgglcSPAtCSrmqxArRSZHFEVzdY2yOl4PLykvFoTJImNF2LJySbiwv61ZKhFGjuGn55PuZksOe9wwt+szB8ua8QtsFXmt50dL1kGKdYKdh2DXVd4DrDJEzI0oyqaVgUe5ywICNk0zAaLulkQiHnhL7ENBJjDU1boxBEUYBUgtPTM6qyxwqI4phVbcFBFL7qMK9OV+xNw0E2Jopjuq6itz3Sulf3djTn9PyGVmiKuqWvOhorub7eoZVPYSRX64Lb03vkNwtGKubWaweIMEL3395wr4BPrk9AbHlt9JzT4QmbLsOZEs+Bpz201hgJwoLtHdpTdH3L5dU5nXFYT4BwYCR3xlNc9F2elldYFyOaHO0E9JbOQpoNcMZRVz1X/ZLT6y3arrmVOZQKiOKU2m346vqK7W7H/Qd3GQ2HNEWJtQqpU7x4SOs8qiKnKA1VW6JFTSh7xiLn+KhmNgrpzEsGkcc3pns+i+HXP/rP8e48YFcX6B9/Bb/7YMl7uuLD50MSHfC9k4KfvAgpjSKOYwKhMdYShQmBF9LoGiGgaRr6rkfIHikkUgl6YDKeU3lvcJ5/Rew11LpAEjAbHzEIj1BC46SgbCoa9jSyw+8bXLfhYHyATQ/48qrFjyJGUpPnPVWzJ8tGxKHGMxUju2KiN2TZFb8Tr1BeSaz2CFcSiZo4knjCgejBwcD7Nc69yf8ZGhbLK8z1JfrJVYoj5PfubfnhvSVnuzGDeMc7s5xHyzFRqBESjHNEaoDsA+4eD7E4qqqmKAsMNXmzIi9ymt6wL7bEs5bjccf12iG1h3AGpT2c8ah6ge/7JKqmb3NOZMl0EBLInlnyBO3m1E3Fvaih7Xq+vNJ4vs88KbhrX3BXP2Ogrwh0QWc6OhtQGFgVEcPpG1Ryzl54NJ0hiWPWBbQFPN9mzH72F5zfXBBa0PdnKUpkfHQ14rdvXXMi1uxqxcPhKV1/iPFvgaowDrQdkq96Qj3C80MiVdPsrwiigNpu6ZoGpKZsasrtOYmsiMM75K1HZzquyxWeakmE5Mj3GaSWza6kw7FwIRN9SNUWiP4XnISGpYiZpT1fG50zcCuS/CWJuaFxKWfNiC+uH/DlasDVXvPicsNo/ho/+oN/zjA9pKobWtcwSVO8oWZxs4d+yYB/w7atSZMRervdMRlJyi7lNzd3eDC4YpqWSFdzd/iC5/UJuCG+6vGjV+wt79Y0ZUNd5xA4OnryvMA4S+BphAsJ2lNu+e/zSPynoEcE0qE9n6HYMDY59UZyKWO2xmdrB3hty9sKFs0JT5chRdexXLb8dvoB3599gE9JHhzw0e53+dXiAc82Huf7irIuaKo9RkYcRJK6uUTnO/rWopRHV6wp2grbQdGvcKOYxB7SbEs0CBASayqaVvNscw9PFEyiCXeyFxzIv+dF8S5+EFJVC/KuASmpqj1VvSEIglfMDkkcJfQOkI7WeJSlIgglTigUitd9mEjB2d7nWafZ1x2+6hFSYbsWi6GVKVfFASf8gn88/ylT9RWL8hYb/x5PzVt8Wh2zo0JHKw4VXF8XxLHg3t232G63/PzXP0Z5EKG4NbtN1TQ8Ov8K5QcI53BY+qZlX5fo+XCCMJaqrjB+QGl6ytpxVcxY5PDO4WNuBz1nzXdY7St23ZpsMkSFAZGIaNqGzjRoHFmUsGkKCrPns+ZtPlmekN27w0GUM2hbhqblrPb4zcqCrPGloK1baiPw/IyyS5h55/z7w3/Hne7/pnAZH/Q/4kp8GyemqCxhxIKmvUGhqGqHUprpdEqaZZTlKyRW7HMmymeeZaw3Oat8i7OOSZiihKRuKhAC3dY12FeQb7Hf0kteTWqu4byM8Dev8c3pc7T+kL57SOfNCLVHFgW0vqapa4R19FVF19Zo5SOlIosDApUS6oK5y3EBLNWQrdNEfo1BoIOAPNe0eBz6LePdx9wXv6Lt4Rnf5/Puh+TBA1pTooqc2Dbsd2uKsqbI9+T7gtsnJ4RBwNXlFV3fEwYRXqQ5mczJshFFC7PRjF2xQwYaay3aSLpWoC+LDWEUUOQVzlnG0wlhEBIISdt0nO0HKPc2d8KP+a1Zzkb+HvvuHs52lLuOo9kdHBY7rNgWC4btjrE2zIIGP1qyaSSFGLFuFDoMSEzFvmswUpD2ioHYcmd0yTfTT5nZZxRizM+aP2Eb/QmHRwl3E8vNtufzR895ttmgk4j9bs8+33L79jG+L7m8OqVpasIwIg19tBcxnIyp+h4jHKK3DJMEozqqsiKMAoRV6PPVmmQ4BAuRH+FUCDrEGIcV4HmCz1dwah7yh28LjpI97Nb0pJT+nNHoBO0JPLYcbnL63Zqi7bhsJ2xufDopUcczdqunTPIldd9DbZHKo+8M72Zf8G72d+zsEY/9f44eDxkPHMNAMZ9OcbZiW5coqYiThLypyYuc+XxONow4PzujMw2jyYAkTgjDgLZpqZuaomhZbrdIKfEizbLYo6NXvoPoFLrpQdY9SZTgRxm98NjXPbHQKBnR9C1G77HBIUv3HlPRMQg+JvEWzLL7mCBBtD2snhLTs9IjnmxyItlwGG9R2mOxyHkSaj64/RYTT1LalrUxOD9C2pTidMDKvsNo/o/o26ck3f/LcfY+UqRc7Q3X19ekWYoFbjYrbh0fc3LnNlfXpzgEo8EIP/DJ0gypJE3Tss9z9tsS1xvm4ynr/YqTyTGe57FZb2lFhxZ42B6aqiGOIrRS+J6HJxR924OAcTpiGiYoYejkFBW/Tdf9kqD/mLb4EJc3WHdAkX4HOzgmrp9wdP0XfCf5AOM028qxO36TH09vs1BzNq2m7GuUp/l09Rp5FzOJNEl3yq8eX5CXA/6Drz3jyPnsd2/SdRopQ6RomE5nHBwd4JzDGkngJcRRjGk6VK/ouleOjMESxCHzNMHXHqGaMxqP6bqOvjSstjdo2Qo85eFLHykkSkmUVjhlMbQo7VH1jk1ekuor/Fhh9AGV+BNCfUEoP6U3T1BiQ6w/QPAN7sgz7uu/IRRLbAuphu9eG8qzv+TUHnHsx0SeotgXeM4SjobULXz0+AVV1eB7t2hMjVIdvpaMRnOUFgwHUy7WZ6xWK+q6oSwahPRI4wGdqaAT1F1L0dYEgU8YR5hesiz2DIZD1mXBZrthvd+wK3bo2LcczzOy4RgX+TjhaNqGWtRY29DWjqrXZL4laPekdUmWKNreUauHEN9nUXzE9fUnDKKaB+pfcb/5FZ5cUraC3gT8uvwOz/V3UT0kmx0irrChR7ff4vkRrk+52W44zVeMB7f47eOOhwchu/42dSfJ0oAwzlhtlmit6I2hbVuEeKVMcZzgJQNc17O73hKpAOV5bKuKMm9o25ZFk9OYjuV6g8SShCFaRR2dyunQKJvR9gZrDdY1KC3QymMYhNwezbg3vUWoQkxvwFmMWZHnNdeF4sn+Nt+of8Hd6MdoCwvvTZLuOWX4gK/C/4hTq3HNgk5A0VT0dY1KYlSYsG0KVsUWPxhybyL42vycdPxN1tsH+GKHVoLr1YLPnj3C9yyDLKPvesbjMWEYst5tmR3MORiNCIzDL0Kerq+43m3wjSD0A/a7HaXt8AKf6WhEJj20iAIK01GtF6RBzdHhEQjBfuvQzifyQ4Tt8OqWRETEcYJxBuMKLjaXXG17mnzND8L/h+8H/xeX+xEfun/GfOzxHf4XZK9oCkFdL3EUyEATuoC+afHQDNOUuioROubNgzH/6NYpq9Lw1cshg0wQJB69hbpr2XUVLi8YpzGj0Yg0TVksl+zznJODQ7RS5LbnbLtmvdySej7j+Yi8KFAoHszmjEZD6rbh5vIGLWRAEEYIYwm0YpTFNE2PiAd0rcH2BiMbOhxWeFgZ0HYduy7kYmPx9l/yu95f8w3vl3xVvs6/3v0+L8QBd1rLJLrL19PPuGV+wnlzjyQdEPk+y2qNU4osSzkcTqjQqDTknfmGvt7wd48PqMQzpqMzhsMRh4MjwiBkPprS1R5ZHOCE5Or6mrZp+frD13l4cMTjly/4+OwJF9sV4yjkzuQQ5wfYuuXo1i0mozGbbc7N5YZN1aMNgl5LPN/Hi1L2bUNnDDIYULWWUIVMJimH6SE9AS9enFHlCwbelm+7n/FG+jPG3pZf5D/krzbv8qw2NN1jvnRj7oxv8Vvh+/zxgwveGv4zzncxn7x4zma94eGDe3z3m++hjeBps2J6dMNB8ownyxPw5vTlNc9e5rzuv8Y0HWOqisMwYjBN2TY7Pnn+DN0KHty+y62DORfllkfXZ4Dj/mxC7PtYLJmrEYEijQNuVjv22zU/+pZk7ybotKkIT3d0raH1Aoo4YjyaMghrjoOSedxzoBxZlWMWF8yLS3xyJuR4Mue0us1fL36PM/9tVmpPkT+hrivwBY8LxcX8GwxP/px88J+hohXh9YLJZMbx0evM4gl9BycnGWPzCOGG3HrtH9N4V7w8LRglCamXsd2WtLXB0wnbpmVROIbZMYfZhEE04GbV8OnFGaerHdPBmNkoY7Xe8vV5ze+8IfmLX5b8/PEW1Sv+w9+O+eP3NMvGoqswY3B8jGo6OtOxEwqrM6bhBf8k/t/w+pxm7dE5QSdCOhXQk/CoPuLj/JCP1gcYOWQa7TDdmrpraOoSYRzPnOXnxXfolv+E//nphPdCj396p+Xt2ZZcXHL+1RoVPeRoeIbdnLJW32U8Oia4OOdwNIH5DzDRMdu8IhhKZOizL1umxx59Jzns/pa5/Iy8rNkEFQwF42nMKKi5E5V8717OKA1ZVSFpUPFn3/d4/Y7iF49i3lob9C8O3uThH/wRR8qQ1wWbtqV1ULXnvPnympfXK677iHByFxHO2OQdnfG4yjuWncVPJGPZYosNkXIcD8bsgxQlFZ3p+OC04fdmP+a/fs2itl9wW35CMIJ19YjcJVhb4NenPN3MuXYHbPobNluomgTUXQ4OHuANAWcIPMnBwDHLJKeLLcH6lKFekKQ+o9Di7jqCaE3X+9hOMYlbNrni6wchf/qtAWEY8lefdtjc53degv4v7/1bovILHi2mXO1m7IzESbixAf9m+T0uV1dAh9/4DAcetnd0bUUUah5mir59NWHJ4JAHD7/HIMt4turRUjDNfC7OL9BqyZv1z+nlkt/kP6DSX+PWSFLFAtHvKc3r7LIRt/UZmficZFhShZbH1ROeX2VoGox1SCnR9OQ7WG7XeN0xOj5mX2mwW946eIwWhsf5a7y4vMAPLLdHJf/eO5ZHV1P+95/ccL7vePuoYx376P9k/3e8/2jOh18NwQ6ZCEESJYyzW1w2hr4rSLRBVJaOLUEYEsUeWRpS5AVVvmeQDpg/+GPk5HsMUsn9pKXpDaOow+opF8Ljcr3naAgfNjNeLMb80TDG2hzFjpsqIFQ1d4LPCZpzxpHHPBPsNx9zfrUizVIcmqKsXqWrfJ9ZWzBxjtYeE/g3TPxrqrrii8sROSGNPuLDy4RVsWTXwt983rLctcyGPq1u+D8mBv3f/fQ2K32XFg/VVwhh8XootlusUMRhgJbdK2jRSx7O3yBOUjAg2gW1X1HUFd76Odr49BuH6RuiKMM2Od7yK5rwHiqIUatn/I75nG8NZ9j1N3lRTbmdfMXrXsdVPuFvHu2wreb28IDRcIxEMuGSoPLxpEfYN4RBgKcCnC+ZiYZY/xQvrnh23fBym7KuI8riKce3j4gG93leTHl5c8PJ8ZB3HnwL4TqEgsZp9C/yQwapI5AWYXysdRTGsDcbkijGmBYnatq24a0H93lw+22kkGxWe3zZsN0VXNyc0z97RpKkSM9HSvj67QdMb53g3J4XTz8hr1vqQPH95H3+4OBLVs0ct/gBTXjC6/dWHI/m/PVLxYsFNO2OmUnxg5jVakGzzRllGYdHh6Rpxi5vaLuWcH6BdGs+fjHn5y8k18WOKKzQwuI3KZtVza6suH18xN3odboSwshHSclgkKFTbYg1VFWN6z36/z85KcH0Bt9XWFEhBCy3S372y58RBgFaKup6TRQHpNmAi8UlRblB+T5JGLHQEtVU7PuWL69fUOUFgwfv8Cz9U3aXP+MN76f8aPAvuGrvsz69R3qw5HceHCH6mOebPUaeE6iYzWaN6h1KCOZuziav2e9y3j78ik6W/OTJnE+eFqyqS1pXYEnxvIjfPH6OsQYjepq2wp/HzNJDnO7YNQXFZoUumorheMBBOqRtHMv1iqYsUdLDAc5KjOsREh4/e0LfPwHnUEown4y5c+cOw4EjjHzWqzVVY6grybOLLc9vduSmJI4j7t++j/Tgo7MFTfmQj4ID3umf843REyb9z+muA9LR1ylO3uOm0Ail8SLoNjVhFJJlPpYOawu+fvCIYbjn353N+eRsT15fU24XZFnGQIes9xXbosbzNWGkWKxWfMFnmLCmWO3ZFzuapkaLUOFrj0hpdAq9ixBYrHnFu8qqwloLAkzf4HBIKXDW0feOojEEWnE4GWJC2G1vaPuOWhisb1GR42R2yOFwzMXVFX1vmU0PadSET8WbrIThQHzKA/M3HOcf8M2oYn3vj2lGb7LeXFI0BbfnMw5nM5pecC89ZxbX/Pr0kE+f7cHtUdq9yvwMR5je0rR7wkQShT7zZMhsOCEIfbabBev1Fu0rPCXRYz9m7ke0Vct1uSZOEgaDAftdi5QWKRV9b/7hFLxKViglqeuGqmpo2ms0Hvubkq435E1LkHj4vk+vevzwlc+3z3eEQcLrr73DMBnT9CV1Y2nEkPzwD3l/8S1e2wuOh8YAAAnzSURBVP0PvKs/5qEZ8ZPLIeu6IQwDqqpmsdrQNIY3B+ec7yY8X3nYviZUGiM99GCI8jx6UzMZpehQkqYpx8khgyCjrEqW9ZbatCRqhBEW/c0Hb3Jvfsx2l9PdXHO1vWK/2xN6EXEUEgQC+oiyLnGEhPGQuqooywbnLF3X02KoaV6RUU9incVYg1YC2fVcXF3ia8XB7Jg0HRL5Q/oeQmU4GA4ZT1L+6kXGT569y3/jVzyU7/MXpwO+ag8Z+FCUBZ6LGUUtgdfz6VnB88stvraY1pJ4AVfLG7bbLVmW4QWS1IuYpCP6rmdZrrDOsqnW9MpDO4ExBv1br/8ug3TIrRNDevmCjx7/inz/KV7gEMqQ+j6idyShpup6yrag7Uqi+FUQue9fmQ44hRQS7WmKvKBtWzwnEM6wKUqElFRNT1X9hFAFxEHAYDBkefqS7mXL5fULVvIOH1WGPxv/Jb+VXVN2bxEFBtULjgYt795ZURuPl0uLdT1d22GtoyxfxUpnhwfMZnP2xZr9PqeuawbhmNhLaLsW0/foMMBZqMoGPRiMwDm0FzBIU+apT3MwYrFv2Wy2HE5n4ByBH+JFlkg09EYTBAFd15DneyQepgswxrzaUaXxtKDtK/q+xRiDVIKirDg9f0kQhkxnE+JNghISIQTW9Bxmx3y+P+GdYMj3Djb46R12XcDZi+ecTBbUjeFnz1KcSojDFbt9QWcM23KHE4LZfM54PCGMNE2dU5YlWgmatqAsS5QPXdPSuiWuLdH/9v1/xWiYYS2koSLRNYejAVZ3rJ1hs73BU5KHtx6gQkVLR9s27Dd7fAHDOKaqHEXdUFUVYRi8qn5RUFctxgqE8FGqA9kShAFpktB1hn2+Z5KN0FbinCaQLU83jk/lEf/03gtG3Rfs+TbS9zGuZ1XC1abBuJ6D8ZT59A7GWkIvZrG9piz3CCkZDxJ8YUmDCM/3sKYnSUKGB98Gb0wY5NiuQF8vXpAk92mbGlo4PjhArXd0siTWgrLY4QcST/doIej6nirf0zcNw3BEbWps/6r3juJX9Ldpmn+otsQJg+9ptA7wgoAkSRBCEAQ+CKjLikk6ZDwbkVcFi92GT9QRf9Q/I+w/48XNiIvNjlAYvn1fkAUNT88b3nvj2xzPHuJ4BWCfXX3OB49+xnK9RNy+RRIojDHY2qC1YDycc+fO96htyoNjxXa7Q88mh2jPJ9/nHM4nCKnwlOJWNqbxYxiO0doC0JqetjWMdURy65BNUbFar2iaV3kdYyx1XZMlCbPpFKkcnS1wziFQrxYM/xBHjVivN5T7PYHUZIOM/W6PdC1rZmy6mGlUoqQg8hz3Jh2+Euz2Jdu8YJWvUeocaw1KCs4XLxBCMMiGNHWDawVJHNNbR76vyMsrjPczhpPfYrObsdqs0YfzOUHgc3N+iZAapXx26x1dZRiNRjgckfcqiVmUJaN0QlEUCKEpW4MwPmVR4FyPlIpxFjKfh2glqLse0wgcgmyQUpUF290G34sp9j27fY3n+YjQ42a3ZlvkjOMhsRdgO4+eHQeDmh++ZUiDiL/8oOZ6b5kejPji7BN+/ehDhLGEvk/jDEZAlCQYA13nKF2HlZKiMdTNml31tyTnX/KFGJLvV+jASXRv+ebXv0FVVdheEoYpUFN1NTjIq4pBNuT41m3apsHUFucEgZNIAfODIb72iOMEsAShoq5riiLHOI/eWLrFlv2+pKl7lCpRysfzAnxfghQ0XYtSiulkQhZJnFQ453jrcEVtA/7iVz5f3bQkSURjOsqqA2OYDEZEfsCmzCmKPb3pCUYTfC9ku9lSdi3CVwRhSF3XlMUL2tqn6zt0sd8zGA2QUpKkGUpKatuz7Ep6Y5AOxl5E3/csbl61kMrTDJKIMLE0UU5pWrCQJBrnJL6OCYKIxXJL7RxlWVAVFtdHGKtR0uH7DYGDXkjWqy3G9kyyjEESM4gEKM0oNJAYfvl5w9Ozniz2qLuW3nb4oc/xrWOOpwd0XUt73lPVNb7nY/qekgYjHMrToATOWrT2Ub6HUg5ZdWjjCXTo8cGHH/LGvQd85zvfpq1rXn56TToaEHagtEfR1izWK+7cvkVV90wmDzicPGAw/wZVW1HsLyjyBRAQBAP22x2BF7JsNpjQEPkxsk3o+h7Xt/Rlha07lBdQFAo/MuiB4SAKOMksfi/wulMW6x2n+zmjUUxXbSirkmQYEMYRUlvqNqcoc4xpCKRH7IcIpdChj68lpijRWr+Sc+Xj+x5+6FCqR9f0fPL4S5SnSfwAaRxfv/uAm/USF2rstuRyu0J5HtP5lNFoiF+CDk5YrQrGozHHhylr/1Oe77ZY6XO93FCWBePpFGkCmrYm8VPm2SHLxYLVcklyeMA+37PeNDS1RihHVXd8+uiUbVLw9p2CIJOUTc++7qnLlnK3YTBIuHd0CyUFQgp2+Z7NZoWSIXGkiYII4SlU6OOamtwaTGNQSuFoaZqaKA7xtYeW3ZjbR0d4XkMrJe9/9muMtczHU5QT/P2Tr/DiiNfeeAPl4ObqhiSdoLyaYGBoWPPs7Cn19pTAj3ixXPHZxRWb/Y7ZeMCdoxlpmjBKMtp9RSd6RrdnTI+nbHdrPvn0lOXWEQQeVmie32yoC+hONGGkGQmPt+8m/PzjK3oUo+GYk9kBru+4Wi7pu54giDC9ww8V9x6cID2Pl2fnuN5g+x7jHEIIlJRkcUIY+lhj0Q/ufF9kI8VP/v5/RTj3D46MJQlCZsMx919/jSSKCZTm0y+/oG1b3p3PuDn7JVvbYp3l6uKKuqgZZAOeX1+xLQtU4OFlMcZXZEnM0M/4xbNTygKc1/D05UdMZ1PmswmNXbIvNtiu4uD4PvfHU7rNIXmz4XAk+P35iuhdybo+IpQRVV3jaY8wimg2S+IkwfYdTjh2xRKBRPQ9nhOkYYxVgjTLcL3BR5JFCUkQCx14eWi6jqIqyYIBnowYBJqmrTGe5N7hEWVeYtuO1+7f59HFCy4W1xTbHY207PY7prNDvGTEer1hdjjh3nCKsT2DwZSj6S10b7k4u6YSHaVq2OU1m1ywrPZMJylR7GPxccbhd3u60R3+5e3/CheGGJVwx57x+w8+4yAWtKbkN+cKEz5gW+woyj13791lNrhNoBJa++o73CzTKOWx2F5zujzDOIOzhniQgnNsNttQf/b0p4++9fD17msn9/vLqzXb9ZZFXTHIAsq6QwACiCIfIT2GMuBqseJqt2BTFCAFw4Mj0jClrluGqU8WCcIwYBaPGcmMZ4tTnl2c4s9iPKdpVz1R5HDCEQ4lskvp6pbOGXzgtCy5nBwi50f0tmH1vGR8dszXRiMm8UvmyY4vN0uePHn5D393Zoz1XUbDA6R2XF9eYYwjSWIurq+4vLkCBaN0xMhmtF2li6L46v8DeBTuC/ISuEgAAAAASUVORK5CYII=";
@@ -471094,7 +471091,7 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent({
471094
471091
  }
471095
471092
  };
471096
471093
  return (_ctx, _cache) => {
471097
- return openBlock(), createBlock(CustomDialog, {
471094
+ return openBlock(), createBlock(_sfc_main$k, {
471098
471095
  modelValue: visible.value,
471099
471096
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => visible.value = $event),
471100
471097
  title: "底图选择",
@@ -471136,7 +471133,6 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent({
471136
471133
  };
471137
471134
  }
471138
471135
  });
471139
- const BasemapPanel = /* @__PURE__ */ _export_sfc(_sfc_main$j, [["__scopeId", "data-v-156831b6"]]);
471140
471136
  const icons = {
471141
471137
  pointMarker: new URL("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPg0KICA8cGF0aCBkPSJNMjEgMTBjMCA3LTkgMTMtOSAxM3MtOS02LTktMTNhOSA5IDAgMCAxIDE4IDB6Ii8+DQogIDxjaXJjbGUgY3g9IjEyIiBjeT0iMTAiIHI9IjMiLz4NCjwvc3ZnPg==", self.location).href,
471142
471138
  textMarker: new URL("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPg0KICA8cG9seWxpbmUgcG9pbnRzPSI0IDcgNCA0IDIwIDQgMjAgNyIvPg0KICA8bGluZSB4MT0iOSIgeTE9IjIwIiB4Mj0iMTUiIHkyPSIyMCIvPg0KICA8bGluZSB4MT0iMTIiIHkxPSI0IiB4Mj0iMTIiIHkyPSIyMCIvPg0KPC9zdmc+", self.location).href,
@@ -471708,7 +471704,7 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
471708
471704
  const _component_el_option_group = resolveComponent("el-option-group");
471709
471705
  const _component_el_select = resolveComponent("el-select");
471710
471706
  const _component_el_button = resolveComponent("el-button");
471711
- return openBlock(), createBlock(CustomDialog, {
471707
+ return openBlock(), createBlock(_sfc_main$k, {
471712
471708
  modelValue: dialogVisible.value,
471713
471709
  "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => dialogVisible.value = $event),
471714
471710
  title: "图上量算",
@@ -471813,6 +471809,13 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
471813
471809
  };
471814
471810
  }
471815
471811
  });
471812
+ const _export_sfc = (sfc, props) => {
471813
+ const target = sfc.__vccOpts || sfc;
471814
+ for (const [key, val] of props) {
471815
+ target[key] = val;
471816
+ }
471817
+ return target;
471818
+ };
471816
471819
  const MeasurementDialog = /* @__PURE__ */ _export_sfc(_sfc_main$i, [["__scopeId", "data-v-d868b567"]]);
471817
471820
  const _hoisted_1$g = { class: "coordinate-content" };
471818
471821
  const _hoisted_2$f = { class: "format-selection" };
@@ -471969,7 +471972,7 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
471969
471972
  const _component_el_form_item = resolveComponent("el-form-item");
471970
471973
  const _component_el_form = resolveComponent("el-form");
471971
471974
  const _component_el_button = resolveComponent("el-button");
471972
- return openBlock(), createBlock(CustomDialog, {
471975
+ return openBlock(), createBlock(_sfc_main$k, {
471973
471976
  modelValue: dialogVisible.value,
471974
471977
  "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => dialogVisible.value = $event),
471975
471978
  title: "坐标拾取",
@@ -472070,7 +472073,6 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
472070
472073
  };
472071
472074
  }
472072
472075
  });
472073
- const CoordinateLocationDialog = /* @__PURE__ */ _export_sfc(_sfc_main$h, [["__scopeId", "data-v-26c1acac"]]);
472074
472076
  const _hoisted_1$f = { class: "region-content" };
472075
472077
  const _hoisted_2$e = {
472076
472078
  key: 0,
@@ -473182,7 +473184,7 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
473182
473184
  const _component_el_button = resolveComponent("el-button");
473183
473185
  const _component_el_tab_pane = resolveComponent("el-tab-pane");
473184
473186
  const _component_el_tabs = resolveComponent("el-tabs");
473185
- return openBlock(), createBlock(CustomDialog, {
473187
+ return openBlock(), createBlock(_sfc_main$k, {
473186
473188
  modelValue: dialogVisible.value,
473187
473189
  "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => dialogVisible.value = $event),
473188
473190
  title: "地区导航",
@@ -473386,7 +473388,6 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
473386
473388
  };
473387
473389
  }
473388
473390
  });
473389
- const RegionNavigationDialog = /* @__PURE__ */ _export_sfc(_sfc_main$g, [["__scopeId", "data-v-e968a62a"]]);
473390
473391
  const _hoisted_1$e = { class: "markers-content" };
473391
473392
  const _hoisted_2$d = { class: "toolbar" };
473392
473393
  const _hoisted_3$d = { class: "search-filter" };
@@ -473718,7 +473719,7 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
473718
473719
  const _component_el_form_item = resolveComponent("el-form-item");
473719
473720
  const _component_el_form = resolveComponent("el-form");
473720
473721
  return openBlock(), createElementBlock(Fragment, null, [
473721
- createVNode$1(CustomDialog, {
473722
+ createVNode$1(_sfc_main$k, {
473722
473723
  modelValue: dialogVisible.value,
473723
473724
  "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => dialogVisible.value = $event),
473724
473725
  title: "我的标记",
@@ -473892,7 +473893,7 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
473892
473893
  ]),
473893
473894
  _: 1
473894
473895
  }, 8, ["modelValue"]),
473895
- createVNode$1(CustomDialog, {
473896
+ createVNode$1(_sfc_main$k, {
473896
473897
  modelValue: showAddDialog.value,
473897
473898
  "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => showAddDialog.value = $event),
473898
473899
  title: "添加标记",
@@ -473963,7 +473964,6 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
473963
473964
  };
473964
473965
  }
473965
473966
  });
473966
- const MyMarkersDialog = /* @__PURE__ */ _export_sfc(_sfc_main$f, [["__scopeId", "data-v-940a2ace"]]);
473967
473967
  const _hoisted_1$d = { class: "bookmarks-content" };
473968
473968
  const _hoisted_2$c = { class: "toolbar" };
473969
473969
  const _hoisted_3$c = { class: "search-filter" };
@@ -474249,7 +474249,7 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
474249
474249
  const _component_el_form_item = resolveComponent("el-form-item");
474250
474250
  const _component_el_slider = resolveComponent("el-slider");
474251
474251
  const _component_el_form = resolveComponent("el-form");
474252
- return openBlock(), createBlock(CustomDialog, {
474252
+ return openBlock(), createBlock(_sfc_main$k, {
474253
474253
  modelValue: dialogVisible.value,
474254
474254
  "onUpdate:modelValue": _cache[12] || (_cache[12] = ($event) => dialogVisible.value = $event),
474255
474255
  title: "视角书签",
@@ -474525,7 +474525,7 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
474525
474525
  })
474526
474526
  ])) : createCommentVNode("", true)
474527
474527
  ]),
474528
- createVNode$1(CustomDialog, {
474528
+ createVNode$1(_sfc_main$k, {
474529
474529
  modelValue: showBookmarkForm.value,
474530
474530
  "onUpdate:modelValue": _cache[11] || (_cache[11] = ($event) => showBookmarkForm.value = $event),
474531
474531
  title: editingIndex.value >= 0 ? "编辑书签" : "保存视角书签",
@@ -474679,7 +474679,6 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
474679
474679
  };
474680
474680
  }
474681
474681
  });
474682
- const ViewBookmarksDialog = /* @__PURE__ */ _export_sfc(_sfc_main$e, [["__scopeId", "data-v-f533ea83"]]);
474683
474682
  const _hoisted_1$c = { class: "py-2.5" };
474684
474683
  const _hoisted_2$b = { class: "h-150 overflow-y-auto" };
474685
474684
  const _hoisted_3$b = { class: "flex items-center justify-between" };
@@ -475148,7 +475147,7 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
475148
475147
  const _component_el_col = resolveComponent("el-col");
475149
475148
  const _component_el_button_group = resolveComponent("el-button-group");
475150
475149
  const _component_el_row = resolveComponent("el-row");
475151
- return openBlock(), createBlock(CustomDialog, {
475150
+ return openBlock(), createBlock(_sfc_main$k, {
475152
475151
  modelValue: dialogVisible.value,
475153
475152
  "onUpdate:modelValue": _cache[16] || (_cache[16] = ($event) => dialogVisible.value = $event),
475154
475153
  title: "地图打印",
@@ -475755,7 +475754,6 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
475755
475754
  };
475756
475755
  }
475757
475756
  });
475758
- const MapPrintDialog = /* @__PURE__ */ _export_sfc(_sfc_main$d, [["__scopeId", "data-v-b6e68ef8"]]);
475759
475757
  const _hoisted_1$b = { class: "mark-tab-container" };
475760
475758
  const _hoisted_2$a = { class: "continuous-switch" };
475761
475759
  const _hoisted_3$a = { class: "tools-grid" };
@@ -476352,7 +476350,7 @@ const _sfc_main$c = {
476352
476350
  };
476353
476351
  }
476354
476352
  };
476355
- const MarkTab = /* @__PURE__ */ _export_sfc(_sfc_main$c, [["__scopeId", "data-v-2ce9f7a4"]]);
476353
+ const MarkTab = /* @__PURE__ */ _export_sfc(_sfc_main$c, [["__scopeId", "data-v-127b85ab"]]);
476356
476354
  const _hoisted_1$a = { class: "list-tab-container" };
476357
476355
  const _hoisted_2$9 = { class: "toolbar" };
476358
476356
  const _hoisted_3$9 = { class: "toolbar-left" };
@@ -476950,7 +476948,7 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
476950
476948
  ]),
476951
476949
  _: 1
476952
476950
  }, 8, ["default-active"]),
476953
- createVNode$1(BasemapPanel, {
476951
+ createVNode$1(_sfc_main$j, {
476954
476952
  modelValue: showBasemapPanel.value,
476955
476953
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => showBasemapPanel.value = $event),
476956
476954
  config: props.config,
@@ -476961,28 +476959,28 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
476961
476959
  modelValue: showMeasurement.value,
476962
476960
  "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => showMeasurement.value = $event)
476963
476961
  }, null, 8, ["modelValue"]),
476964
- createVNode$1(CoordinateLocationDialog, {
476962
+ createVNode$1(_sfc_main$h, {
476965
476963
  ref_key: "coordinateLocationDialogRef",
476966
476964
  ref: coordinateLocationDialogRef,
476967
476965
  modelValue: showCoordinateLocation.value,
476968
476966
  "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => showCoordinateLocation.value = $event)
476969
476967
  }, null, 8, ["modelValue"]),
476970
- createVNode$1(RegionNavigationDialog, {
476968
+ createVNode$1(_sfc_main$g, {
476971
476969
  modelValue: showRegionNavigation.value,
476972
476970
  "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => showRegionNavigation.value = $event),
476973
476971
  onNavigationAction: handleNavigationAction
476974
476972
  }, null, 8, ["modelValue"]),
476975
- createVNode$1(MyMarkersDialog, {
476973
+ createVNode$1(_sfc_main$f, {
476976
476974
  modelValue: showMyMarkers.value,
476977
476975
  "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => showMyMarkers.value = $event),
476978
476976
  onMarkerAction: handleMarkerAction
476979
476977
  }, null, 8, ["modelValue"]),
476980
- createVNode$1(ViewBookmarksDialog, {
476978
+ createVNode$1(_sfc_main$e, {
476981
476979
  modelValue: showViewBookmarks.value,
476982
476980
  "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => showViewBookmarks.value = $event),
476983
476981
  onBookmarkAction: handleBookmarkAction
476984
476982
  }, null, 8, ["modelValue"]),
476985
- createVNode$1(MapPrintDialog, {
476983
+ createVNode$1(_sfc_main$d, {
476986
476984
  modelValue: showMapPrint.value,
476987
476985
  "onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => showMapPrint.value = $event),
476988
476986
  onPrintAction: handlePrintAction
@@ -479030,7 +479028,6 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
479030
479028
  };
479031
479029
  }
479032
479030
  });
479033
- const LegendPanel = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["__scopeId", "data-v-d37bba0b"]]);
479034
479031
  class ConfigLoader {
479035
479032
  /**
479036
479033
  * 从URL加载配置文件
@@ -480331,7 +480328,6 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
480331
480328
  };
480332
480329
  }
480333
480330
  });
480334
- const FilterPanel = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["__scopeId", "data-v-c78acf80"]]);
480335
480331
  const _hoisted_1$4 = { class: "style-config-panel" };
480336
480332
  const _hoisted_2$4 = { class: "panel-title" };
480337
480333
  const _hoisted_3$4 = {
@@ -480481,7 +480477,6 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
480481
480477
  };
480482
480478
  }
480483
480479
  });
480484
- const LayerStyleConfig = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-21ab8d8c"]]);
480485
480480
  const _hoisted_1$3 = { class: "font-medium" };
480486
480481
  const _hoisted_2$3 = { class: "layer-info" };
480487
480482
  const _hoisted_3$3 = { class: "layer-name" };
@@ -480606,7 +480601,7 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
480606
480601
  })
480607
480602
  ]),
480608
480603
  default: withCtx(() => [
480609
- createVNode$1(LayerStyleConfig, {
480604
+ createVNode$1(_sfc_main$4, {
480610
480605
  "layer-data": _ctx.data.layerData,
480611
480606
  onClusterDistanceChange: handleClusterDistanceChange,
480612
480607
  onSuperMapConfigChange: handleSuperMapConfigChange,
@@ -480621,7 +480616,6 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
480621
480616
  };
480622
480617
  }
480623
480618
  });
480624
- const LayerTreeNode = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__scopeId", "data-v-0c99df63"]]);
480625
480619
  const _hoisted_1$2 = { class: "flex-1 overflow-y-auto p-4" };
480626
480620
  const _hoisted_2$2 = { class: "pb-2 flex items-center justify-between" };
480627
480621
  const _hoisted_3$2 = { class: "text-xs font-semibold text-gray-700 px-1 py-1 border-b border-gray-200 mb-2" };
@@ -481468,7 +481462,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
481468
481462
  const _component_el_tree = resolveComponent("el-tree");
481469
481463
  const _component_el_tab_pane = resolveComponent("el-tab-pane");
481470
481464
  const _component_el_tabs = resolveComponent("el-tabs");
481471
- return openBlock(), createBlock(CustomDialog, mergeProps({
481465
+ return openBlock(), createBlock(_sfc_main$k, mergeProps({
481472
481466
  modelValue: visible.value,
481473
481467
  "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => visible.value = $event)
481474
481468
  }, dialogProps.value, { onClose: handleClose }), createSlots({
@@ -481494,7 +481488,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
481494
481488
  syncTreeCheckedState,
481495
481489
  getAllTreeNodes,
481496
481490
  onNodeExpand
481497
- }, void 0, true) : (openBlock(), createBlock(_component_el_tabs, {
481491
+ }) : (openBlock(), createBlock(_component_el_tabs, {
481498
481492
  key: 1,
481499
481493
  modelValue: activeMainTab.value,
481500
481494
  "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => activeMainTab.value = $event),
@@ -481553,7 +481547,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
481553
481547
  class: "layer-tree"
481554
481548
  }, {
481555
481549
  default: withCtx(({ node, data }) => [
481556
- createVNode$1(LayerTreeNode, {
481550
+ createVNode$1(_sfc_main$3, {
481557
481551
  data,
481558
481552
  "layer-tree-manager": unref(layerTreeManager),
481559
481553
  onDoubleClick: handleLayerDoubleClick,
@@ -481591,7 +481585,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
481591
481585
  class: "layer-tree"
481592
481586
  }, {
481593
481587
  default: withCtx(({ node, data }) => [
481594
- createVNode$1(LayerTreeNode, {
481588
+ createVNode$1(_sfc_main$3, {
481595
481589
  data,
481596
481590
  "layer-tree-manager": unref(layerTreeManager),
481597
481591
  onDoubleClick: handleLayerDoubleClick,
@@ -481626,7 +481620,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
481626
481620
  name: "filters"
481627
481621
  }, {
481628
481622
  default: withCtx(() => [
481629
- createVNode$1(FilterPanel, {
481623
+ createVNode$1(_sfc_main$5, {
481630
481624
  filters: unref(globalFilters),
481631
481625
  onFilterChange: applyFilterEffect,
481632
481626
  onReset: resetFilters,
@@ -481676,7 +481670,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
481676
481670
  _ctx.$slots.title ? {
481677
481671
  name: "title",
481678
481672
  fn: withCtx(() => [
481679
- renderSlot(_ctx.$slots, "title", {}, void 0, true)
481673
+ renderSlot(_ctx.$slots, "title")
481680
481674
  ]),
481681
481675
  key: "0"
481682
481676
  } : void 0,
@@ -481703,7 +481697,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
481703
481697
  syncTreeCheckedState,
481704
481698
  getAllTreeNodes,
481705
481699
  onNodeExpand
481706
- }, void 0, true)
481700
+ })
481707
481701
  ]),
481708
481702
  key: "1"
481709
481703
  } : void 0
@@ -481711,7 +481705,6 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
481711
481705
  };
481712
481706
  }
481713
481707
  });
481714
- const LayerPanel = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-f32ce80e"]]);
481715
481708
  const _hoisted_1$1 = {
481716
481709
  key: 2,
481717
481710
  class: "tooltip-content"
@@ -482962,7 +482955,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
482962
482955
  return openBlock(), createElementBlock("div", {
482963
482956
  class: normalizeClass(["relative w-full h-full overflow-hidden", { "fixed top-0 left-0 w-screen h-screen z-9999": isFullscreen.value }])
482964
482957
  }, [
482965
- createVNode$1(MapContainer, {
482958
+ createVNode$1(_sfc_main$m, {
482966
482959
  ref_key: "mapContainerRef",
482967
482960
  ref: mapContainerRef,
482968
482961
  config: finalMapConfig.value,
@@ -482995,7 +482988,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
482995
482988
  formattedData,
482996
482989
  coordinate,
482997
482990
  pixel
482998
- }, void 0, true)
482991
+ })
482999
482992
  ]),
483000
482993
  _: 3
483001
482994
  }, 8, ["config", "width", "height", "show-map-info", "loading", "tooltip-template"]),
@@ -483092,16 +483085,16 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
483092
483085
  renderSlot(_ctx.$slots, "controls", {
483093
483086
  controls,
483094
483087
  map: map2.value
483095
- }, void 0, true)
483088
+ })
483096
483089
  ]),
483097
483090
  _: 3
483098
483091
  }, 8, ["config", "position", "direction", "left-offset", "right-offset", "top-offset", "bottom-offset"]), [
483099
483092
  [vShow, finalShowControls.value]
483100
483093
  ]),
483101
- hasToolbarSlot.value ? renderSlot(_ctx.$slots, "toolbar", { key: 2 }, void 0, true) : createCommentVNode("", true),
483102
- hasMapInfoSlot.value ? renderSlot(_ctx.$slots, "mapInfo", { key: 3 }, void 0, true) : createCommentVNode("", true),
483103
- hasMapInfoSlot.value ? renderSlot(_ctx.$slots, "map-info", { key: 4 }, void 0, true) : createCommentVNode("", true),
483104
- finalEnableLayerPanel.value ? (openBlock(), createBlock(LayerPanel, {
483094
+ hasToolbarSlot.value ? renderSlot(_ctx.$slots, "toolbar", { key: 2 }) : createCommentVNode("", true),
483095
+ hasMapInfoSlot.value ? renderSlot(_ctx.$slots, "mapInfo", { key: 3 }) : createCommentVNode("", true),
483096
+ hasMapInfoSlot.value ? renderSlot(_ctx.$slots, "map-info", { key: 4 }) : createCommentVNode("", true),
483097
+ finalEnableLayerPanel.value ? (openBlock(), createBlock(_sfc_main$2, {
483105
483098
  key: 5,
483106
483099
  modelValue: showLayerPanel.value,
483107
483100
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => showLayerPanel.value = $event)
@@ -483109,30 +483102,30 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
483109
483102
  hasLayerPanelSlot.value ? {
483110
483103
  name: "default",
483111
483104
  fn: withCtx((panel) => [
483112
- renderSlot(_ctx.$slots, "layerPanel", normalizeProps(guardReactiveProps(panel)), void 0, true),
483113
- renderSlot(_ctx.$slots, "layer-panel", normalizeProps(guardReactiveProps(panel)), void 0, true)
483105
+ renderSlot(_ctx.$slots, "layerPanel", normalizeProps(guardReactiveProps(panel))),
483106
+ renderSlot(_ctx.$slots, "layer-panel", normalizeProps(guardReactiveProps(panel)))
483114
483107
  ]),
483115
483108
  key: "0"
483116
483109
  } : void 0,
483117
483110
  hasLayerPanelTitleSlot.value ? {
483118
483111
  name: "title",
483119
483112
  fn: withCtx(() => [
483120
- renderSlot(_ctx.$slots, "layerPanelTitle", {}, void 0, true),
483121
- renderSlot(_ctx.$slots, "layer-panel-title", {}, void 0, true),
483122
- renderSlot(_ctx.$slots, "title", {}, void 0, true)
483113
+ renderSlot(_ctx.$slots, "layerPanelTitle"),
483114
+ renderSlot(_ctx.$slots, "layer-panel-title"),
483115
+ renderSlot(_ctx.$slots, "title")
483123
483116
  ]),
483124
483117
  key: "1"
483125
483118
  } : void 0,
483126
483119
  hasLayerPanelFooterSlot.value ? {
483127
483120
  name: "footer",
483128
483121
  fn: withCtx((panel) => [
483129
- renderSlot(_ctx.$slots, "layerPanelFooter", normalizeProps(guardReactiveProps(panel)), void 0, true),
483130
- renderSlot(_ctx.$slots, "layer-panel-footer", normalizeProps(guardReactiveProps(panel)), void 0, true)
483122
+ renderSlot(_ctx.$slots, "layerPanelFooter", normalizeProps(guardReactiveProps(panel))),
483123
+ renderSlot(_ctx.$slots, "layer-panel-footer", normalizeProps(guardReactiveProps(panel)))
483131
483124
  ]),
483132
483125
  key: "2"
483133
483126
  } : void 0
483134
483127
  ]), 1032, ["modelValue"])) : createCommentVNode("", true),
483135
- showLegend.value ? (openBlock(), createBlock(LegendPanel, {
483128
+ showLegend.value ? (openBlock(), createBlock(_sfc_main$6, {
483136
483129
  key: 6,
483137
483130
  position: finalLegendPosition.value,
483138
483131
  width: finalLegendWidth.value,
@@ -483144,7 +483137,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
483144
483137
  "top-offset": props.legendTopOffset,
483145
483138
  "bottom-offset": props.legendBottomOffset
483146
483139
  }, null, 8, ["position", "width", "collapsible", "default-collapsed", "show-only-visible", "left-offset", "right-offset", "top-offset", "bottom-offset"])) : createCommentVNode("", true),
483147
- hasLegendSlot.value ? renderSlot(_ctx.$slots, "legend", { key: 7 }, void 0, true) : createCommentVNode("", true),
483140
+ hasLegendSlot.value ? renderSlot(_ctx.$slots, "legend", { key: 7 }) : createCommentVNode("", true),
483148
483141
  measurementResults.value.length > 0 ? (openBlock(), createElementBlock("div", _hoisted_1, [
483149
483142
  createElementVNode("div", _hoisted_2, [
483150
483143
  _cache[6] || (_cache[6] = createElementVNode("h4", { class: "m-0 text-sm font-semibold text-gray-800" }, "测量结果", -1)),
@@ -483180,7 +483173,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
483180
483173
  }), 128))
483181
483174
  ])
483182
483175
  ])) : createCommentVNode("", true),
483183
- createVNode$1(MapPrintDialog, {
483176
+ createVNode$1(_sfc_main$d, {
483184
483177
  modelValue: showPrintDialog.value,
483185
483178
  "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => showPrintDialog.value = $event),
483186
483179
  "map-instance": map2.value,
@@ -483191,7 +483184,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
483191
483184
  };
483192
483185
  }
483193
483186
  });
483194
- const CustomOpenlayer = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-e0b9ba6a"]]);
483195
483187
  var u8 = Uint8Array;
483196
483188
  var u16 = Uint16Array;
483197
483189
  var i32 = Int32Array;
@@ -491463,7 +491455,7 @@ function(t3) {
491463
491455
  */
491464
491456
  function(t3) {
491465
491457
  function e8() {
491466
- return (n.canvg ? Promise.resolve(n.canvg) : import("./index.es-bc4e91cb.mjs")).catch(function(t4) {
491458
+ return (n.canvg ? Promise.resolve(n.canvg) : import("./index.es-09c58559.mjs")).catch(function(t4) {
491467
491459
  return Promise.reject(new Error("Could not load canvg: " + t4));
491468
491460
  }).then(function(t4) {
491469
491461
  return t4.default ? t4.default : t4;
@@ -500337,22 +500329,22 @@ const getAssetUrl = (path2) => {
500337
500329
  }
500338
500330
  };
500339
500331
  const install = (app) => {
500340
- app.component("CustomOpenlayer", CustomOpenlayer);
500341
- app.component("CustomDialog", CustomDialog);
500332
+ app.component("CustomOpenlayer", _sfc_main);
500333
+ app.component("CustomDialog", _sfc_main$k);
500342
500334
  app.component("SvgIcon", _sfc_main$l);
500343
500335
  };
500344
500336
  const index = {
500345
500337
  install,
500346
- CustomOpenlayer,
500347
- CustomDialog,
500338
+ CustomOpenlayer: _sfc_main,
500339
+ CustomDialog: _sfc_main$k,
500348
500340
  SvgIcon: _sfc_main$l
500349
500341
  };
500350
500342
  const version = "1.0.0";
500351
500343
  export {
500352
500344
  ImageDrawingFactory as $,
500353
- PointDrawingFactory as A,
500345
+ BaseDrawing as A,
500354
500346
  BasemapManager as B,
500355
- CustomOpenlayer as C,
500347
+ PointDrawingFactory as C,
500356
500348
  DrawingFactoryRegistry as D,
500357
500349
  TextDrawingFactory as E,
500358
500350
  PointWithTextDrawing as F,
@@ -500389,27 +500381,27 @@ export {
500389
500381
  SpatialFilterType as a8,
500390
500382
  _defineProperty as b,
500391
500383
  commonjsGlobal as c,
500392
- CustomDialog as d,
500393
- _sfc_main$l as e,
500394
- index as f,
500395
- getAssetUrl as g,
500396
- MapStorage as h,
500384
+ _sfc_main as d,
500385
+ _sfc_main$k as e,
500386
+ _sfc_main$l as f,
500387
+ index as g,
500388
+ getAssetUrl as h,
500397
500389
  install as i,
500398
- createBasemapManager as j,
500399
- formatMeasurementResult as k,
500390
+ MapStorage as j,
500391
+ createBasemapManager as k,
500400
500392
  layerEventBus as l,
500401
- getUnitByType as m,
500402
- getUnitOptions as n,
500403
- createDrawing as o,
500393
+ formatMeasurementResult as m,
500394
+ getUnitByType as n,
500395
+ getUnitOptions as o,
500404
500396
  processCanvasRGBA as p,
500405
- getSupportedDrawingTypes as q,
500397
+ createDrawing as q,
500406
500398
  requestAnimationFrame$1 as r,
500407
- isValidDrawingType as s,
500408
- createDrawingFromJSON as t,
500409
- DrawingPresets as u,
500399
+ getSupportedDrawingTypes as s,
500400
+ isValidDrawingType as t,
500401
+ createDrawingFromJSON as u,
500410
500402
  version as v,
500411
- getDrawingPreset as w,
500412
- applyDrawingPreset as x,
500413
- DrawingUtils as y,
500414
- BaseDrawing as z
500403
+ DrawingPresets as w,
500404
+ getDrawingPreset as x,
500405
+ applyDrawingPreset as y,
500406
+ DrawingUtils as z
500415
500407
  };