@dt-frames/ui 1.0.2 → 1.0.5

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 (233) hide show
  1. package/README.md +1 -15
  2. package/es/assets/imgs/header/avatar.png +0 -0
  3. package/es/assets/style/reset.less +0 -3
  4. package/es/components/curd/src/components/dialog.d.ts +21 -58
  5. package/es/components/curd/src/types/curd.type.d.ts +2 -1
  6. package/es/components/dialog/index.d.ts +2 -0
  7. package/es/components/dialog/src/hooks/useDialog.d.ts +3 -0
  8. package/es/components/forms/index.d.ts +2 -2
  9. package/es/components/forms/src/components/formIcon.d.ts +4 -47
  10. package/es/components/forms/src/index.d.ts +2 -6
  11. package/es/components/iframe/index.d.ts +2 -2
  12. package/es/components/index.d.ts +3 -2
  13. package/es/components/modal/src/components/close-icon.d.ts +0 -43
  14. package/es/components/modal/src/index.d.ts +0 -43
  15. package/es/components/source/src/types/table.type.d.ts +1 -1
  16. package/es/components/table/index.d.ts +1 -1
  17. package/es/components/table/src/components/setting/Column.d.ts +6 -5
  18. package/es/components/table/src/hooks/useColumns.d.ts +1 -1
  19. package/es/components/table/src/hooks/useDataSource.d.ts +1 -3
  20. package/es/components/table/src/hooks/useHeaderCode.d.ts +2 -0
  21. package/es/components/table/src/hooks/useRowSelection.d.ts +2 -3
  22. package/es/components/table/src/index.d.ts +15 -3
  23. package/es/components/table/src/props.d.ts +7 -1
  24. package/es/index.js +284 -271
  25. package/es/style/assets/style/reset.less +0 -3
  26. package/es/style/components/forms/{src/index.less → index.less} +2 -0
  27. package/es/style/components/icons/index.less +1 -0
  28. package/es/style/components/iframe/index.less +3 -0
  29. package/es/style/components/modal/{src/index.less → index.less} +0 -0
  30. package/es/style/components/table/{src/index.less → index.less} +12 -1
  31. package/es/style/theme/header/index.less +8 -4
  32. package/es/style/theme/sider/index.less +25 -25
  33. package/es/style/theme/theme.less +2 -1
  34. package/es/theme/header/components/logo.d.ts +43 -0
  35. package/es/theme/header/components/notify.d.ts +0 -1
  36. package/package.json +50 -40
  37. package/src/assets/data/icons/actions.ts +427 -0
  38. package/src/assets/data/icons/code.ts +10 -0
  39. package/src/assets/data/icons/commuticate.ts +190 -0
  40. package/src/assets/data/icons/currency.ts +46 -0
  41. package/src/assets/data/icons/devices.ts +128 -0
  42. package/src/assets/data/icons/edit.ts +165 -0
  43. package/src/assets/data/icons/file.ts +104 -0
  44. package/src/assets/data/icons/math.ts +53 -0
  45. package/src/assets/data/icons/message.ts +75 -0
  46. package/src/assets/data/icons/navigate.ts +181 -0
  47. package/src/assets/data/icons/other.ts +333 -0
  48. package/src/assets/data/icons.ts +58 -0
  49. package/src/assets/imgs/header/avatar.png +0 -0
  50. package/src/assets/imgs/logo/logo.png +0 -0
  51. package/src/assets/locales/en_US.json +3 -0
  52. package/src/assets/locales/zh_CN.json +3 -0
  53. package/src/assets/style/index.less +10 -0
  54. package/src/assets/style/reset.less +17 -0
  55. package/src/components/container/index.less +85 -0
  56. package/src/components/container/index.ts +8 -0
  57. package/src/components/container/src/bar.ts +107 -0
  58. package/src/components/container/src/lazy-container.vue +9 -0
  59. package/src/components/container/src/scroll-bar.vue +117 -0
  60. package/src/components/container/src/scroll-container.vue +61 -0
  61. package/src/components/curd/index.ts +5 -0
  62. package/src/components/curd/src/components/dialog.vue +71 -0
  63. package/src/components/curd/src/components/props.ts +32 -0
  64. package/src/components/curd/src/hooks/useCurd.tsx +87 -0
  65. package/src/components/curd/src/types/curd.type.ts +31 -0
  66. package/src/components/dialog/index.ts +5 -0
  67. package/src/components/dialog/src/hooks/useDialog.ts +85 -0
  68. package/src/components/excel/index.ts +6 -0
  69. package/src/components/excel/src/export2Excel.ts +44 -0
  70. package/src/components/forms/index.less +84 -0
  71. package/src/components/forms/index.ts +11 -0
  72. package/src/components/forms/src/componentMap.ts +44 -0
  73. package/src/components/forms/src/components/formButton.vue +150 -0
  74. package/src/components/forms/src/components/formIcon.vue +50 -0
  75. package/src/components/forms/src/components/formItem.vue +407 -0
  76. package/src/components/forms/src/components/radioButton.vue +58 -0
  77. package/src/components/forms/src/const/form.const.ts +7 -0
  78. package/src/components/forms/src/hooks/helper.ts +70 -0
  79. package/src/components/forms/src/hooks/useForm.ts +130 -0
  80. package/src/components/forms/src/hooks/useFormActions.ts +63 -0
  81. package/src/components/forms/src/hooks/useFormEvents.ts +247 -0
  82. package/src/components/forms/src/hooks/useFormValue.ts +49 -0
  83. package/src/components/forms/src/hooks/useFormValues.ts +131 -0
  84. package/src/components/forms/src/hooks/useLabelWidth.ts +57 -0
  85. package/src/components/forms/src/index.vue +306 -0
  86. package/src/components/forms/src/prop.ts +80 -0
  87. package/src/components/forms/src/types/form.type.ts +269 -0
  88. package/{es/style/components/icons/src → src/components/icons}/index.less +1 -0
  89. package/src/components/icons/index.ts +7 -0
  90. package/src/components/icons/src/pick-icon.vue +117 -0
  91. package/src/components/icons/src/svg-icon.vue +117 -0
  92. package/src/components/iframe/index.less +3 -0
  93. package/src/components/iframe/index.ts +5 -0
  94. package/src/components/iframe/src/index.less +3 -0
  95. package/src/components/iframe/src/index.vue +38 -0
  96. package/src/components/index.ts +48 -0
  97. package/src/components/modal/index.less +60 -0
  98. package/src/components/modal/index.ts +8 -0
  99. package/src/components/modal/src/components/close-icon.vue +47 -0
  100. package/src/components/modal/src/components/modal-wrap.vue +118 -0
  101. package/src/components/modal/src/components/modal.tsx +30 -0
  102. package/src/components/modal/src/components/modalFooter.vue +38 -0
  103. package/src/components/modal/src/hooks/useDrag.ts +107 -0
  104. package/src/components/modal/src/hooks/useFullScreen.ts +27 -0
  105. package/src/components/modal/src/hooks/useModal.ts +176 -0
  106. package/src/components/modal/src/index.vue +173 -0
  107. package/src/components/modal/src/props.ts +43 -0
  108. package/src/components/modal/src/types/modal.type.ts +27 -0
  109. package/src/components/router/base-router.vue +11 -0
  110. package/src/components/router/index.ts +3 -0
  111. package/src/components/source/index.ts +1 -0
  112. package/src/components/source/src/hooks/useFetch.ts +69 -0
  113. package/src/components/source/src/hooks/usePage.ts +3 -0
  114. package/src/components/source/src/hooks/useSource.ts +179 -0
  115. package/src/components/source/src/index.ts +5 -0
  116. package/src/components/source/src/types/source.type.ts +68 -0
  117. package/src/components/source/src/types/table.type.ts +8 -0
  118. package/src/components/table/index.less +173 -0
  119. package/src/components/table/index.ts +7 -0
  120. package/src/components/table/src/components/TableActions.vue +108 -0
  121. package/src/components/table/src/components/TableHeader.vue +77 -0
  122. package/src/components/table/src/components/TableRender.vue +76 -0
  123. package/src/components/table/src/components/setting/Column.vue +354 -0
  124. package/src/components/table/src/components/setting/Download.vue +55 -0
  125. package/src/components/table/src/components/setting/Fullscreen.vue +43 -0
  126. package/src/components/table/src/components/setting/Size.vue +42 -0
  127. package/src/components/table/src/components/setting/index.vue +64 -0
  128. package/src/components/table/src/const.ts +13 -0
  129. package/src/components/table/src/hooks/useColumns.ts +319 -0
  130. package/{es/assets/app-antd-dark-theme-style.e3b0c442.css → src/components/table/src/hooks/useCustomRow.ts} +0 -0
  131. package/src/components/table/src/hooks/useDataSource.ts +99 -0
  132. package/src/components/table/src/hooks/useHeaderCode.ts +82 -0
  133. package/src/components/table/src/hooks/useLoading.ts +29 -0
  134. package/src/components/table/src/hooks/usePagination.ts +76 -0
  135. package/src/components/table/src/hooks/useRowSelection.ts +145 -0
  136. package/src/components/table/src/hooks/useRows.ts +30 -0
  137. package/src/components/table/src/hooks/useTable.ts +89 -0
  138. package/src/components/table/src/hooks/useTableHeader.ts +48 -0
  139. package/src/components/table/src/hooks/useTableInstance.ts +29 -0
  140. package/src/components/table/src/hooks/useTableScroll.ts +229 -0
  141. package/src/components/table/src/index.vue +197 -0
  142. package/src/components/table/src/props.ts +157 -0
  143. package/src/components/table/src/types/table.type.ts +133 -0
  144. package/src/components/table/src/types/tableHeader.type.ts +27 -0
  145. package/{es/assets/app-theme-style.e3b0c442.css → src/components/type.ts} +0 -0
  146. package/src/directives/icon.ts +36 -0
  147. package/src/directives/index.ts +26 -0
  148. package/src/directives/permission.ts +20 -0
  149. package/src/global.d.ts +8 -0
  150. package/src/index.ts +4 -0
  151. package/src/theme/content/index.vue +37 -0
  152. package/src/theme/feature/back-top.vue +11 -0
  153. package/src/theme/feature/index.vue +7 -0
  154. package/src/theme/footer/index.less +16 -0
  155. package/src/theme/footer/index.vue +24 -0
  156. package/src/theme/header/components/bread-crumb.vue +26 -0
  157. package/src/theme/header/components/fullscreen.vue +12 -0
  158. package/src/theme/header/components/handler.ts +81 -0
  159. package/src/theme/header/components/index.ts +21 -0
  160. package/src/theme/header/components/lang-picker.vue +36 -0
  161. package/src/theme/header/components/logo.vue +35 -0
  162. package/src/theme/header/components/menu-search.vue +62 -0
  163. package/src/theme/header/components/notify.vue +22 -0
  164. package/src/theme/header/components/setting-theme.vue +123 -0
  165. package/src/theme/header/components/theme-drawer/enum.ts +12 -0
  166. package/src/theme/header/components/theme-drawer/feature.vue +75 -0
  167. package/src/theme/header/components/theme-drawer/index.ts +7 -0
  168. package/src/theme/header/components/theme-drawer/menu-type.vue +40 -0
  169. package/src/theme/header/components/theme-drawer/select-item.vue +46 -0
  170. package/src/theme/header/components/theme-drawer/switch-item.vue +39 -0
  171. package/src/theme/header/components/theme-drawer/theme-color.vue +26 -0
  172. package/src/theme/header/components/trigger.vue +14 -0
  173. package/src/theme/header/components/user-info.vue +60 -0
  174. package/src/theme/header/const/index.ts +40 -0
  175. package/src/theme/header/helper/menu-tree.ts +64 -0
  176. package/src/theme/header/index.less +442 -0
  177. package/{es/theme/theme.d.ts → src/theme/header/index.ts} +0 -0
  178. package/src/theme/header/index.vue +96 -0
  179. package/src/theme/header/multiple-header.vue +67 -0
  180. package/src/theme/header/set-theme.less +68 -0
  181. package/src/theme/index.ts +3 -0
  182. package/src/theme/sider/components/basic-menu/basic-menu-item.vue +14 -0
  183. package/src/theme/sider/components/basic-menu/basic-menu.vue +122 -0
  184. package/src/theme/sider/components/basic-menu/basic-sub-menu-item.vue +46 -0
  185. package/src/theme/sider/components/basic-menu/menu-item-content.vue +13 -0
  186. package/src/theme/sider/components/drag-bar.vue +26 -0
  187. package/src/theme/sider/components/layout-menu.vue +132 -0
  188. package/src/theme/sider/components/props.ts +97 -0
  189. package/src/theme/sider/components/sider-trigger.vue +24 -0
  190. package/src/theme/sider/helper/sider.ts +52 -0
  191. package/src/theme/sider/helper/split-menu.ts +146 -0
  192. package/src/theme/sider/hooks/useDragLine.ts +86 -0
  193. package/src/theme/sider/hooks/useOpenKeys.ts +57 -0
  194. package/src/theme/sider/index.less +203 -0
  195. package/src/theme/sider/index.vue +88 -0
  196. package/src/theme/tabs/components/TabContent.vue +36 -0
  197. package/src/theme/tabs/components/TabRedo.vue +18 -0
  198. package/src/theme/tabs/hooks/useMultifyTabs.ts +96 -0
  199. package/src/theme/tabs/hooks/useTabDropdown.ts +89 -0
  200. package/src/theme/tabs/index.less +165 -0
  201. package/src/theme/tabs/index.vue +98 -0
  202. package/src/theme/tabs/types/tabs.type.ts +8 -0
  203. package/src/theme/theme.less +67 -0
  204. package/src/theme/theme.vue +90 -0
  205. package/src/theme/transition.less +99 -0
  206. package/es/assets/data/icon.d.ts +0 -4
  207. package/es/assets/data/icon.ts +0 -69
  208. package/es/assets/data/icon11.ts +0 -69
  209. package/es/assets/style/var.less +0 -42
  210. package/es/components/icons/pick-icon.d.ts +0 -529
  211. package/es/components/icons/svg-icon.d.ts +0 -44
  212. package/es/components/table/src/hooks/useFormat.d.ts +0 -2
  213. package/es/components/table/src/hooks/useVirtualScroll.d.ts +0 -5
  214. package/es/components/table/src/utils/format.d.ts +0 -1
  215. package/es/index.css +0 -1
  216. package/es/style/assets/style/var.less +0 -42
  217. package/es/theme/content/index.d.ts +0 -29
  218. package/es/theme/header/components/menu-search.d.ts +0 -528
  219. package/es/theme/header/components/setting-theme.d.ts +0 -2550
  220. package/es/theme/header/components/user-info.d.ts +0 -452
  221. package/es/theme/header/index.d.ts +0 -4369
  222. package/es/theme/header/multiple-header.d.ts +0 -2001
  223. package/es/theme/styles/hooks/changeTheme.d.ts +0 -1
  224. package/es/theme/styles/hooks/generate.d.ts +0 -13
  225. package/es/theme/styles/index.d.ts +0 -2
  226. package/es/theme/tabs/components/TabRedo.d.ts +0 -49
  227. package/es/theme/tabs/index.d.ts +0 -1399
  228. package/es/theme/theme/initTheme.d.ts +0 -3
  229. package/es/theme/theme/util.d.ts +0 -5
  230. package/es/themes/generate.ts +0 -74
  231. package/es/themes/index.ts +0 -10
  232. package/es/themes/modifyVars.ts +0 -33
  233. package/es/themes/themePlugiin.ts +0 -74
package/es/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { defineComponent, resolveComponent, openBlock, createBlock, computed, unref, createElementBlock, normalizeClass, normalizeStyle, createElementVNode, ref, watch, Fragment, renderList, createTextVNode, toDisplayString, KeepAlive, createVNode, withCtx, reactive, toRaw, getCurrentInstance, watchEffect, nextTick, onUnmounted, toRefs, isVNode, inject, h, provide, onMounted, onBeforeUnmount, resolveDynamicComponent, renderSlot, createCommentVNode, mergeProps, readonly, isRef, withDirectives, resolveDirective, render, normalizeProps, guardReactiveProps, createSlots, useAttrs as useAttrs$1, vShow, toRef, withModifiers, Transition } from "vue";
2
- import { isString, isArray as isArray$1, isObject, isFunction, error, useTimeoutFn, useAttrs, useSlots, BAR_MAP, off, renderThumbStyle, on, useAppStore, addResizeListener, removeResizeListener, windowResizeFn, isNumber, isBoolean, isNull, useAuthStore, deepMerge, dateFormat, getDynamicProps, isNullAndUnDef, getPopupContainer, getDictValueByCode, formatNumber, isVnode, http, useTheme, useMenu, useHeader, localeList, DtCache, CacheKey, changeLocale, Theme, MenuMode, MenuType, useThemeStore, ContentMode, useMultipleTab, copyText, MenuSplitTye, useGo, isUrl, openWindow, RouteReuseStore, menuList2Map, useApp } from "@dt-frames/core";
2
+ import { isString, isArray as isArray$1, isObject, isFunction, error, useTimeoutFn, useAttrs, useSlots, BAR_MAP, off, renderThumbStyle, on, useAppStore, addResizeListener, removeResizeListener, windowResizeFn, isNumber, isBoolean, isNull, DtCache, CacheKey, deepMerge, dateFormat, http, getDynamicProps, isNullAndUnDef, getPopupContainer, getDictValueByCode, formatNumber, isVnode, useMessage, useTheme, useMenu, useHeader, useGo, Pages, localeList, changeLocale, Theme, MenuMode, MenuType, useThemeStore, ContentMode, useMultipleTab, copyText, MenuSplitTye, isUrl, openWindow, RouteReuseStore, menuList2Map, useApp } from "@dt-frames/core";
3
3
  import { InputSearch, Tooltip, Modal as Modal$1, RadioGroup, RadioButton, InputGroup, Input, Button, Select, TreeSelect, Radio, Checkbox, AutoComplete, Cascader, DatePicker, InputNumber, Switch, TimePicker, Slider, Rate, Divider, Col, Form, FormItem, Row, Popover, CheckboxGroup, Dropdown, Menu, MenuItem, Table, message, Spin, BackTop, Breadcrumb, Avatar, Drawer, Empty, SubMenu, LayoutHeader, LayoutSider, MenuDivider, Tabs, TabPane, LayoutFooter, LayoutContent, ConfigProvider, Layout } from "ant-design-vue";
4
4
  import { isEqual, cloneDeep, upperFirst, set, uniqBy, omit, trim } from "lodash-es";
5
5
  import { tryOnUnmounted, isFunction as isFunction$1, useFullscreen, useDebounceFn, useThrottleFn } from "@vueuse/core";
@@ -1875,8 +1875,9 @@ const Icons = [
1875
1875
  }
1876
1876
  ];
1877
1877
  const _hoisted_1$q = ["onClick"];
1878
- const _hoisted_2$j = ["onClick"];
1878
+ const _hoisted_2$i = ["onClick"];
1879
1879
  const _sfc_main$R = /* @__PURE__ */ defineComponent({
1880
+ __name: "pick-icon",
1880
1881
  emits: ["chooseIcon"],
1881
1882
  setup(__props, { emit: emits }) {
1882
1883
  const clsPrefix = "dt-pick-icon";
@@ -1976,7 +1977,7 @@ const _sfc_main$R = /* @__PURE__ */ defineComponent({
1976
1977
  ]),
1977
1978
  _: 2
1978
1979
  }, 1024)
1979
- ], 8, _hoisted_2$j);
1980
+ ], 8, _hoisted_2$i);
1980
1981
  }), 128))
1981
1982
  ], 2)
1982
1983
  ], 1024))
@@ -2369,6 +2370,7 @@ var Bar = defineComponent({
2369
2370
  });
2370
2371
  const _hoisted_1$p = { class: "scrollbar" };
2371
2372
  const _sfc_main$Q = /* @__PURE__ */ defineComponent({
2373
+ __name: "scroll-bar",
2372
2374
  props: {
2373
2375
  wrapClass: {
2374
2376
  type: [String, Array],
@@ -2480,6 +2482,7 @@ const _sfc_main$Q = /* @__PURE__ */ defineComponent({
2480
2482
  }
2481
2483
  });
2482
2484
  const _sfc_main$P = /* @__PURE__ */ defineComponent({
2485
+ __name: "scroll-container",
2483
2486
  setup(__props) {
2484
2487
  const scrollbarRef = ref(null);
2485
2488
  return (_ctx, _cache) => {
@@ -2497,6 +2500,7 @@ const _sfc_main$P = /* @__PURE__ */ defineComponent({
2497
2500
  }
2498
2501
  });
2499
2502
  const _sfc_main$O = /* @__PURE__ */ defineComponent({
2503
+ __name: "modal-wrap",
2500
2504
  props: {
2501
2505
  loading: { type: Boolean },
2502
2506
  useWrapper: { type: Boolean, default: true },
@@ -2724,6 +2728,7 @@ function _sfc_render$5(_ctx, _cache, $props, $setup, $data, $options) {
2724
2728
  }
2725
2729
  var RadioButtonGroup = /* @__PURE__ */ _export_sfc(_sfc_main$N, [["render", _sfc_render$5]]);
2726
2730
  const _sfc_main$M = /* @__PURE__ */ defineComponent({
2731
+ __name: "formIcon",
2727
2732
  props: {
2728
2733
  value: String,
2729
2734
  placeholder: String
@@ -3248,8 +3253,7 @@ function hasAuth(el, binding) {
3248
3253
  const value = binding.value;
3249
3254
  if (!value)
3250
3255
  return;
3251
- let { getAuths } = useAuthStore();
3252
- if (!getAuths.includes(value)) {
3256
+ if (!DtCache.getLocal(CacheKey.AUTHS).includes(value)) {
3253
3257
  (_a = el.parentNode) == null ? void 0 : _a.removeChild(el);
3254
3258
  }
3255
3259
  }
@@ -3381,7 +3385,7 @@ const _hoisted_1$o = {
3381
3385
  key: 0,
3382
3386
  className: "preIcon"
3383
3387
  };
3384
- const _hoisted_2$i = {
3388
+ const _hoisted_2$h = {
3385
3389
  key: 0,
3386
3390
  className: "preIcon"
3387
3391
  };
@@ -3419,7 +3423,7 @@ function _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) {
3419
3423
  ]),
3420
3424
  default: withCtx(() => [
3421
3425
  createTextVNode(" " + toDisplayString(button.name) + " ", 1),
3422
- button.postIcon ? withDirectives((openBlock(), createElementBlock("span", _hoisted_2$i, null, 512)), [
3426
+ button.postIcon ? withDirectives((openBlock(), createElementBlock("span", _hoisted_2$h, null, 512)), [
3423
3427
  [_directive_icon, button.postIcon]
3424
3428
  ]) : createCommentVNode("", true)
3425
3429
  ]),
@@ -3477,7 +3481,7 @@ var dayjs_min = { exports: {} };
3477
3481
  }, p: function(t2) {
3478
3482
  return { M: f, y: c, w: o, d: a, D: d, h: u, m: s, s: i, ms: r, Q: h2 }[t2] || String(t2 || "").toLowerCase().replace(/s$/, "");
3479
3483
  }, u: function(t2) {
3480
- return t2 === void 0;
3484
+ return void 0 === t2;
3481
3485
  } }, v = "en", D = {};
3482
3486
  D[v] = M;
3483
3487
  var p = function(t2) {
@@ -3486,7 +3490,7 @@ var dayjs_min = { exports: {} };
3486
3490
  var i2;
3487
3491
  if (!e2)
3488
3492
  return v;
3489
- if (typeof e2 == "string") {
3493
+ if ("string" == typeof e2) {
3490
3494
  var s2 = e2.toLowerCase();
3491
3495
  D[s2] && (i2 = s2), n2 && (D[s2] = n2, i2 = s2);
3492
3496
  var u2 = e2.split("-");
@@ -3500,7 +3504,7 @@ var dayjs_min = { exports: {} };
3500
3504
  }, w = function(t2, e2) {
3501
3505
  if (p(t2))
3502
3506
  return t2.clone();
3503
- var n2 = typeof e2 == "object" ? e2 : {};
3507
+ var n2 = "object" == typeof e2 ? e2 : {};
3504
3508
  return n2.date = t2, n2.args = arguments, new _(n2);
3505
3509
  }, O = g;
3506
3510
  O.l = S, O.i = p, O.w = function(t2, e2) {
@@ -3514,13 +3518,13 @@ var dayjs_min = { exports: {} };
3514
3518
  return m2.parse = function(t2) {
3515
3519
  this.$d = function(t3) {
3516
3520
  var e2 = t3.date, n2 = t3.utc;
3517
- if (e2 === null)
3521
+ if (null === e2)
3518
3522
  return new Date(NaN);
3519
3523
  if (O.u(e2))
3520
3524
  return new Date();
3521
3525
  if (e2 instanceof Date)
3522
3526
  return new Date(e2);
3523
- if (typeof e2 == "string" && !/Z$/i.test(e2)) {
3527
+ if ("string" == typeof e2 && !/Z$/i.test(e2)) {
3524
3528
  var r2 = e2.match(l);
3525
3529
  if (r2) {
3526
3530
  var i2 = r2[2] - 1 || 0, s2 = (r2[7] || "0").substring(0, 3);
@@ -4232,6 +4236,7 @@ function useForm(props) {
4232
4236
  return [registerForm, methods];
4233
4237
  }
4234
4238
  const _sfc_main$I = /* @__PURE__ */ defineComponent({
4239
+ __name: "modalFooter",
4235
4240
  props: {
4236
4241
  showSave: {
4237
4242
  type: Boolean,
@@ -4243,9 +4248,8 @@ const _sfc_main$I = /* @__PURE__ */ defineComponent({
4243
4248
  "handleCancel"
4244
4249
  ],
4245
4250
  setup(__props, { emit: emits }) {
4246
- const props = __props;
4247
4251
  const buttonActions = [
4248
- { name: "\u4FDD\u5B58", preIcon: "mdi:content-save", type: "primary", flag: "OK", show: props.showSave },
4252
+ { name: "\u4FDD\u5B58", preIcon: "mdi:content-save", type: "primary", flag: "OK" },
4249
4253
  { name: "\u5173\u95ED", preIcon: "mdi:close", flag: "CANCEL" }
4250
4254
  ];
4251
4255
  function handleMethod(item) {
@@ -4271,6 +4275,7 @@ const _sfc_main$I = /* @__PURE__ */ defineComponent({
4271
4275
  }
4272
4276
  });
4273
4277
  const _sfc_main$H = /* @__PURE__ */ defineComponent({
4278
+ __name: "close-icon",
4274
4279
  props: {
4275
4280
  canFullscreen: { type: Boolean, default: true },
4276
4281
  fullScreen: { type: Boolean }
@@ -4296,7 +4301,6 @@ const _sfc_main$H = /* @__PURE__ */ defineComponent({
4296
4301
  emit("fullscreen");
4297
4302
  }
4298
4303
  return (_ctx, _cache) => {
4299
- const _directive_icon = resolveDirective("icon");
4300
4304
  return openBlock(), createElementBlock("div", {
4301
4305
  class: normalizeClass(unref(getClass))
4302
4306
  }, [
@@ -4307,9 +4311,10 @@ const _sfc_main$H = /* @__PURE__ */ defineComponent({
4307
4311
  placement: "bottom"
4308
4312
  }, {
4309
4313
  default: withCtx(() => [
4310
- withDirectives(createElementVNode("i", { onClick: handleFullScreen }, null, 512), [
4311
- [_directive_icon, "ic:baseline-fullscreen-exit"]
4312
- ])
4314
+ createElementVNode("i", {
4315
+ class: "i ic:baseline-fullscreen-exit",
4316
+ onClick: handleFullScreen
4317
+ })
4313
4318
  ]),
4314
4319
  _: 1
4315
4320
  })) : (openBlock(), createBlock(unref(Tooltip), {
@@ -4318,15 +4323,16 @@ const _sfc_main$H = /* @__PURE__ */ defineComponent({
4318
4323
  placement: "bottom"
4319
4324
  }, {
4320
4325
  default: withCtx(() => [
4321
- withDirectives(createElementVNode("i", { onClick: handleFullScreen }, null, 512), [
4322
- [_directive_icon, "ic:baseline-fullscreen"]
4323
- ])
4326
+ createElementVNode("i", {
4327
+ class: "i ic:baseline-fullscreen",
4328
+ onClick: handleFullScreen
4329
+ })
4324
4330
  ]),
4325
4331
  _: 1
4326
4332
  }))
4327
4333
  ], 64)) : createCommentVNode("", true),
4328
- createVNode(unref(DtIcon), {
4329
- "icon-class": "mdi:close",
4334
+ createElementVNode("i", {
4335
+ class: "i mdi:close",
4330
4336
  onClick: handleCancel
4331
4337
  })
4332
4338
  ], 2);
@@ -4334,6 +4340,7 @@ const _sfc_main$H = /* @__PURE__ */ defineComponent({
4334
4340
  }
4335
4341
  });
4336
4342
  const _sfc_main$G = /* @__PURE__ */ defineComponent({
4343
+ __name: "index",
4337
4344
  props: basicProps$1,
4338
4345
  emits: ["visible-change", "height-change", "cancel", "save", "register", "update:visible"],
4339
4346
  setup(__props, { emit: emits }) {
@@ -4504,6 +4511,59 @@ const _sfc_main$G = /* @__PURE__ */ defineComponent({
4504
4511
  };
4505
4512
  }
4506
4513
  });
4514
+ function useHeaderCode(code, templates = {}, changeColumns) {
4515
+ const { appConf } = useAppStore();
4516
+ if (!appConf.pages.queryColumnApi) {
4517
+ error("\u8BF7\u5728init.config.ts\u4E2D\u914D\u7F6EqueryColumnApi\uFF01");
4518
+ return;
4519
+ }
4520
+ const getAlign = (key) => key === 0 ? "center" : key === 2 ? "right" : "left";
4521
+ const renderCell = (type, ctx) => {
4522
+ switch (type) {
4523
+ case 0:
4524
+ return { date: ctx };
4525
+ case 1:
4526
+ return { dict: ctx };
4527
+ case 5:
4528
+ return { percent: ctx };
4529
+ case 7:
4530
+ if (!appConf.structure[ctx]) {
4531
+ error(`\u672A\u627E\u5230structure: ${ctx} !`);
4532
+ return {};
4533
+ }
4534
+ return { dict: appConf.structure[ctx] };
4535
+ case 10:
4536
+ return templates[ctx];
4537
+ case 11:
4538
+ return { number: ctx };
4539
+ }
4540
+ };
4541
+ function getColumns() {
4542
+ http.post(appConf.pages.queryColumnApi, { tableCode: code }).then((rsp) => {
4543
+ handleData(rsp);
4544
+ });
4545
+ }
4546
+ function handleData(data) {
4547
+ let rows = [];
4548
+ data.forEach((it) => {
4549
+ let obj = {
4550
+ title: it.cloumnName,
4551
+ dataIndex: it.cloumnCode,
4552
+ sorter: it.ifOrder,
4553
+ align: getAlign(it.textAlign),
4554
+ ifShow: Boolean(it.ifDisplay),
4555
+ defaultHidden: !Boolean(it.ifDisplay)
4556
+ };
4557
+ if (it.cloumnType !== void 0)
4558
+ obj.render = renderCell(it.cloumnType, it.dictCode);
4559
+ if (it.width)
4560
+ obj.width = Number(it.width);
4561
+ rows.push(obj);
4562
+ });
4563
+ changeColumns(rows);
4564
+ }
4565
+ getColumns();
4566
+ }
4507
4567
  function useTable(tableProps) {
4508
4568
  const tableRef = ref(null);
4509
4569
  const loadedRef = ref(false);
@@ -4515,6 +4575,11 @@ function useTable(tableProps) {
4515
4575
  if (unref(loadedRef) && instance === unref(tableRef))
4516
4576
  return;
4517
4577
  tableRef.value = instance;
4578
+ if (tableProps.columnCode) {
4579
+ useHeaderCode(tableProps.columnCode, tableProps.templates, (columns) => {
4580
+ tableProps.columns = columns;
4581
+ });
4582
+ }
4518
4583
  tableProps && instance.setProps(getDynamicProps(tableProps));
4519
4584
  watch(() => tableProps, () => {
4520
4585
  tableProps && instance.setProps(getDynamicProps(tableProps));
@@ -4579,7 +4644,7 @@ const TableProps = {
4579
4644
  resizable: { type: Boolean, default: true },
4580
4645
  minWidth: { type: Number },
4581
4646
  maxWidth: { type: Number },
4582
- virtual: { type: Boolean, default: true },
4647
+ virtual: { type: Boolean, default: false },
4583
4648
  sortFn: { type: Function, default: DEFAULT_SORT_FN },
4584
4649
  filterFn: {
4585
4650
  type: Function,
@@ -4592,6 +4657,8 @@ const TableProps = {
4592
4657
  default: "id"
4593
4658
  },
4594
4659
  defSort: { type: Object, default: null },
4660
+ columnCode: { type: String },
4661
+ templates: { type: Object },
4595
4662
  columns: { type: [Array], default: () => [] },
4596
4663
  ellipsis: { type: Boolean, default: true },
4597
4664
  dataSource: { type: Array, default: null },
@@ -4608,7 +4675,7 @@ const TableProps = {
4608
4675
  },
4609
4676
  size: {
4610
4677
  type: String,
4611
- default: "default"
4678
+ default: "small"
4612
4679
  },
4613
4680
  onTableChange: {
4614
4681
  type: Function,
@@ -4884,165 +4951,8 @@ function createTableInstance(instance) {
4884
4951
  function getTableInstance() {
4885
4952
  return inject(tableKey);
4886
4953
  }
4887
- var browser = { exports: {} };
4888
- var process = browser.exports = {};
4889
- var cachedSetTimeout;
4890
- var cachedClearTimeout;
4891
- function defaultSetTimout() {
4892
- throw new Error("setTimeout has not been defined");
4893
- }
4894
- function defaultClearTimeout() {
4895
- throw new Error("clearTimeout has not been defined");
4896
- }
4897
- (function() {
4898
- try {
4899
- if (typeof setTimeout === "function") {
4900
- cachedSetTimeout = setTimeout;
4901
- } else {
4902
- cachedSetTimeout = defaultSetTimout;
4903
- }
4904
- } catch (e) {
4905
- cachedSetTimeout = defaultSetTimout;
4906
- }
4907
- try {
4908
- if (typeof clearTimeout === "function") {
4909
- cachedClearTimeout = clearTimeout;
4910
- } else {
4911
- cachedClearTimeout = defaultClearTimeout;
4912
- }
4913
- } catch (e) {
4914
- cachedClearTimeout = defaultClearTimeout;
4915
- }
4916
- })();
4917
- function runTimeout(fun) {
4918
- if (cachedSetTimeout === setTimeout) {
4919
- return setTimeout(fun, 0);
4920
- }
4921
- if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {
4922
- cachedSetTimeout = setTimeout;
4923
- return setTimeout(fun, 0);
4924
- }
4925
- try {
4926
- return cachedSetTimeout(fun, 0);
4927
- } catch (e) {
4928
- try {
4929
- return cachedSetTimeout.call(null, fun, 0);
4930
- } catch (e2) {
4931
- return cachedSetTimeout.call(this, fun, 0);
4932
- }
4933
- }
4934
- }
4935
- function runClearTimeout(marker) {
4936
- if (cachedClearTimeout === clearTimeout) {
4937
- return clearTimeout(marker);
4938
- }
4939
- if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {
4940
- cachedClearTimeout = clearTimeout;
4941
- return clearTimeout(marker);
4942
- }
4943
- try {
4944
- return cachedClearTimeout(marker);
4945
- } catch (e) {
4946
- try {
4947
- return cachedClearTimeout.call(null, marker);
4948
- } catch (e2) {
4949
- return cachedClearTimeout.call(this, marker);
4950
- }
4951
- }
4952
- }
4953
- var queue = [];
4954
- var draining = false;
4955
- var currentQueue;
4956
- var queueIndex = -1;
4957
- function cleanUpNextTick() {
4958
- if (!draining || !currentQueue) {
4959
- return;
4960
- }
4961
- draining = false;
4962
- if (currentQueue.length) {
4963
- queue = currentQueue.concat(queue);
4964
- } else {
4965
- queueIndex = -1;
4966
- }
4967
- if (queue.length) {
4968
- drainQueue();
4969
- }
4970
- }
4971
- function drainQueue() {
4972
- if (draining) {
4973
- return;
4974
- }
4975
- var timeout = runTimeout(cleanUpNextTick);
4976
- draining = true;
4977
- var len = queue.length;
4978
- while (len) {
4979
- currentQueue = queue;
4980
- queue = [];
4981
- while (++queueIndex < len) {
4982
- if (currentQueue) {
4983
- currentQueue[queueIndex].run();
4984
- }
4985
- }
4986
- queueIndex = -1;
4987
- len = queue.length;
4988
- }
4989
- currentQueue = null;
4990
- draining = false;
4991
- runClearTimeout(timeout);
4992
- }
4993
- process.nextTick = function(fun) {
4994
- var args = new Array(arguments.length - 1);
4995
- if (arguments.length > 1) {
4996
- for (var i = 1; i < arguments.length; i++) {
4997
- args[i - 1] = arguments[i];
4998
- }
4999
- }
5000
- queue.push(new Item(fun, args));
5001
- if (queue.length === 1 && !draining) {
5002
- runTimeout(drainQueue);
5003
- }
5004
- };
5005
- function Item(fun, array) {
5006
- this.fun = fun;
5007
- this.array = array;
5008
- }
5009
- Item.prototype.run = function() {
5010
- this.fun.apply(null, this.array);
5011
- };
5012
- process.title = "browser";
5013
- process.browser = true;
5014
- process.env = {};
5015
- process.argv = [];
5016
- process.version = "";
5017
- process.versions = {};
5018
- function noop() {
5019
- }
5020
- process.on = noop;
5021
- process.addListener = noop;
5022
- process.once = noop;
5023
- process.off = noop;
5024
- process.removeListener = noop;
5025
- process.removeAllListeners = noop;
5026
- process.emit = noop;
5027
- process.prependListener = noop;
5028
- process.prependOnceListener = noop;
5029
- process.listeners = function(name) {
5030
- return [];
5031
- };
5032
- process.binding = function(name) {
5033
- throw new Error("process.binding is not supported");
5034
- };
5035
- process.cwd = function() {
5036
- return "/";
5037
- };
5038
- process.chdir = function(dir) {
5039
- throw new Error("process.chdir is not supported");
5040
- };
5041
- process.umask = function() {
5042
- return 0;
5043
- };
5044
4954
  const _hoisted_1$n = /* @__PURE__ */ createElementVNode("span", null, "\u5217\u63A7\u5236", -1);
5045
- const _hoisted_2$h = /* @__PURE__ */ createTextVNode(" \u5217\u5C55\u793A ");
4955
+ const _hoisted_2$g = /* @__PURE__ */ createTextVNode(" \u5217\u5C55\u793A ");
5046
4956
  const _hoisted_3$9 = /* @__PURE__ */ createTextVNode(" \u5E8F\u5217\u53F7 ");
5047
4957
  const _hoisted_4$6 = /* @__PURE__ */ createTextVNode(" \u590D\u9009\u6846 ");
5048
4958
  const _hoisted_5$3 = /* @__PURE__ */ createTextVNode("\u91CD\u7F6E");
@@ -5053,6 +4963,7 @@ const _hoisted_6$2 = {
5053
4963
  const _hoisted_7$1 = /* @__PURE__ */ createTextVNode("\u56FA\u5B9A\u5230\u5DE6\u4FA7");
5054
4964
  const _hoisted_8$1 = /* @__PURE__ */ createTextVNode("\u56FA\u5B9A\u5230\u53F3\u4FA7");
5055
4965
  const _sfc_main$F = /* @__PURE__ */ defineComponent({
4966
+ __name: "Column",
5056
4967
  emits: [
5057
4968
  "columns-change"
5058
4969
  ],
@@ -5098,7 +5009,7 @@ const _sfc_main$F = /* @__PURE__ */ defineComponent({
5098
5009
  function handleVisibleChange() {
5099
5010
  if (inited)
5100
5011
  return;
5101
- browser.exports.nextTick(() => {
5012
+ nextTick(() => {
5102
5013
  const columnListEl = unref(columnListRef);
5103
5014
  if (!columnListEl)
5104
5015
  return;
@@ -5246,12 +5157,12 @@ const _sfc_main$F = /* @__PURE__ */ defineComponent({
5246
5157
  }, [
5247
5158
  createVNode(unref(Checkbox), {
5248
5159
  indeterminate: unref(indeterminate),
5249
- checked: unref(state).checkAll,
5250
- "onUpdate:checked": _cache[0] || (_cache[0] = ($event) => unref(state).checkAll = $event),
5160
+ checked: state.checkAll,
5161
+ "onUpdate:checked": _cache[0] || (_cache[0] = ($event) => state.checkAll = $event),
5251
5162
  onChange: onCheckAllChange
5252
5163
  }, {
5253
5164
  default: withCtx(() => [
5254
- _hoisted_2$h
5165
+ _hoisted_2$g
5255
5166
  ]),
5256
5167
  _: 1
5257
5168
  }, 8, ["indeterminate", "checked"]),
@@ -5290,8 +5201,8 @@ const _sfc_main$F = /* @__PURE__ */ defineComponent({
5290
5201
  ]),
5291
5202
  content: withCtx(() => [
5292
5203
  createVNode(unref(CheckboxGroup), {
5293
- value: unref(state).checkedList,
5294
- "onUpdate:value": _cache[3] || (_cache[3] = ($event) => unref(state).checkedList = $event),
5204
+ value: state.checkedList,
5205
+ "onUpdate:value": _cache[3] || (_cache[3] = ($event) => state.checkedList = $event),
5295
5206
  onChange,
5296
5207
  ref_key: "columnListRef",
5297
5208
  ref: columnListRef
@@ -5324,7 +5235,7 @@ const _sfc_main$F = /* @__PURE__ */ defineComponent({
5324
5235
  default: withCtx(() => [
5325
5236
  createElementVNode("span", {
5326
5237
  class: normalizeClass({
5327
- disabled: !unref(state).checkedList.includes(item.value),
5238
+ disabled: !state.checkedList.includes(item.value),
5328
5239
  active: item.fixed === "left"
5329
5240
  })
5330
5241
  }, [
@@ -5350,7 +5261,7 @@ const _sfc_main$F = /* @__PURE__ */ defineComponent({
5350
5261
  default: withCtx(() => [
5351
5262
  createElementVNode("span", {
5352
5263
  class: normalizeClass({
5353
- disabled: !unref(state).checkedList.includes(item.value),
5264
+ disabled: !state.checkedList.includes(item.value),
5354
5265
  active: item.fixed === "right"
5355
5266
  })
5356
5267
  }, [
@@ -5384,9 +5295,10 @@ const _sfc_main$F = /* @__PURE__ */ defineComponent({
5384
5295
  }
5385
5296
  });
5386
5297
  const _hoisted_1$m = { key: 0 };
5387
- const _hoisted_2$g = { key: 0 };
5298
+ const _hoisted_2$f = { key: 0 };
5388
5299
  const _hoisted_3$8 = { key: 1 };
5389
5300
  const _sfc_main$E = /* @__PURE__ */ defineComponent({
5301
+ __name: "Fullscreen",
5390
5302
  setup(__props) {
5391
5303
  const table = getTableInstance();
5392
5304
  const wrapEl = ref(null);
@@ -5413,7 +5325,7 @@ const _sfc_main$E = /* @__PURE__ */ defineComponent({
5413
5325
  createElementVNode("span", {
5414
5326
  onClick: _cache[0] || (_cache[0] = (...args) => unref(toggle) && unref(toggle)(...args))
5415
5327
  }, [
5416
- !unref(isFullscreen) ? withDirectives((openBlock(), createElementBlock("span", _hoisted_2$g, null, 512)), [
5328
+ !unref(isFullscreen) ? withDirectives((openBlock(), createElementBlock("span", _hoisted_2$f, null, 512)), [
5417
5329
  [_directive_icon, "ic:baseline-fullscreen"]
5418
5330
  ]) : withDirectives((openBlock(), createElementBlock("span", _hoisted_3$8, null, 512)), [
5419
5331
  [_directive_icon, "ic:baseline-fullscreen-exit"]
@@ -5426,10 +5338,11 @@ const _sfc_main$E = /* @__PURE__ */ defineComponent({
5426
5338
  }
5427
5339
  });
5428
5340
  const _hoisted_1$l = /* @__PURE__ */ createTextVNode("\u5BC6\u5EA6");
5429
- const _hoisted_2$f = /* @__PURE__ */ createElementVNode("span", null, "\u9ED8\u8BA4", -1);
5341
+ const _hoisted_2$e = /* @__PURE__ */ createElementVNode("span", null, "\u9ED8\u8BA4", -1);
5430
5342
  const _hoisted_3$7 = /* @__PURE__ */ createElementVNode("span", null, "\u4E2D\u7B49", -1);
5431
5343
  const _hoisted_4$5 = /* @__PURE__ */ createElementVNode("span", null, "\u7D27\u51D1", -1);
5432
5344
  const _sfc_main$D = /* @__PURE__ */ defineComponent({
5345
+ __name: "Size",
5433
5346
  setup(__props) {
5434
5347
  const table = getTableInstance();
5435
5348
  const selectedKeysRef = ref([table.getSize()]);
@@ -5459,7 +5372,7 @@ const _sfc_main$D = /* @__PURE__ */ defineComponent({
5459
5372
  default: withCtx(() => [
5460
5373
  createVNode(unref(MenuItem), { key: "default" }, {
5461
5374
  default: withCtx(() => [
5462
- _hoisted_2$f
5375
+ _hoisted_2$e
5463
5376
  ]),
5464
5377
  _: 1
5465
5378
  }),
@@ -5493,10 +5406,11 @@ const _sfc_main$D = /* @__PURE__ */ defineComponent({
5493
5406
  }
5494
5407
  });
5495
5408
  const _hoisted_1$k = /* @__PURE__ */ createElementVNode("span", null, "\u5BFC\u51FA", -1);
5496
- const _hoisted_2$e = /* @__PURE__ */ createElementVNode("span", null, "\u5BFC\u51FA\u5F53\u524D\u9875", -1);
5409
+ const _hoisted_2$d = /* @__PURE__ */ createElementVNode("span", null, "\u5BFC\u51FA\u5F53\u524D\u9875", -1);
5497
5410
  const _hoisted_3$6 = /* @__PURE__ */ createElementVNode("span", null, "\u5BFC\u51FA\u9009\u4E2D\u5217", -1);
5498
5411
  const _hoisted_4$4 = /* @__PURE__ */ createElementVNode("span", null, "\u5BFC\u51FA\u6240\u6709\u5217", -1);
5499
5412
  const _sfc_main$C = /* @__PURE__ */ defineComponent({
5413
+ __name: "Download",
5500
5414
  setup(__props) {
5501
5415
  const table = getTableInstance();
5502
5416
  function handleTitleClick({ key }) {
@@ -5526,7 +5440,7 @@ const _sfc_main$C = /* @__PURE__ */ defineComponent({
5526
5440
  default: withCtx(() => [
5527
5441
  createVNode(unref(MenuItem), { key: "current" }, {
5528
5442
  default: withCtx(() => [
5529
- _hoisted_2$e
5443
+ _hoisted_2$d
5530
5444
  ]),
5531
5445
  _: 1
5532
5446
  }),
@@ -5650,7 +5564,7 @@ const _sfc_main$A = defineComponent({
5650
5564
  }
5651
5565
  });
5652
5566
  const _hoisted_1$j = { class: "dt-table-header" };
5653
- const _hoisted_2$d = { class: "dt-table-header-actions" };
5567
+ const _hoisted_2$c = { class: "dt-table-header-actions" };
5654
5568
  const _hoisted_3$5 = { class: "dt-table-header-actions__left" };
5655
5569
  const _hoisted_4$3 = { class: "dt-table-header-actions__right" };
5656
5570
  const _hoisted_5$2 = {
@@ -5661,7 +5575,7 @@ function _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {
5661
5575
  const _component_FormButtons = resolveComponent("FormButtons");
5662
5576
  const _component_TableSettinCom = resolveComponent("TableSettinCom");
5663
5577
  return openBlock(), createElementBlock("div", _hoisted_1$j, [
5664
- createElementVNode("div", _hoisted_2$d, [
5578
+ createElementVNode("div", _hoisted_2$c, [
5665
5579
  createElementVNode("div", _hoisted_3$5, [
5666
5580
  createVNode(_component_FormButtons, mergeProps(_ctx.getActionsProps, { onHandleMethod: _ctx.handleMethod }), null, 16, ["onHandleMethod"]),
5667
5581
  renderSlot(_ctx.$slots, "toolbar")
@@ -5742,8 +5656,9 @@ var _sfc_main$z = defineComponent({
5742
5656
  }
5743
5657
  });
5744
5658
  const _hoisted_1$i = { class: "dt-table-action-btn" };
5745
- const _hoisted_2$c = ["color", "onClick"];
5659
+ const _hoisted_2$b = ["color", "onClick"];
5746
5660
  const _sfc_main$y = /* @__PURE__ */ defineComponent({
5661
+ __name: "TableActions",
5747
5662
  props: {
5748
5663
  fixed: {
5749
5664
  type: String,
@@ -5810,7 +5725,7 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
5810
5725
  withDirectives(createElementVNode("span", {
5811
5726
  color: item.color,
5812
5727
  onClick: ($event) => handleAction(item)
5813
- }, null, 8, _hoisted_2$c), [
5728
+ }, null, 8, _hoisted_2$b), [
5814
5729
  [_directive_icon, item.icon]
5815
5730
  ])
5816
5731
  ]),
@@ -5834,7 +5749,8 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
5834
5749
  default: withCtx(() => [
5835
5750
  createVNode(unref(DtIcon), {
5836
5751
  "icon-class": item.icon,
5837
- color: item.color
5752
+ color: item.color,
5753
+ size: 16
5838
5754
  }, null, 8, ["icon-class", "color"]),
5839
5755
  createElementVNode("span", null, toDisplayString(item.title), 1)
5840
5756
  ]),
@@ -5847,7 +5763,10 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
5847
5763
  })
5848
5764
  ]),
5849
5765
  default: withCtx(() => [
5850
- createVNode(unref(DtIcon), { "icon-class": "mdi:cog-outline" })
5766
+ createVNode(unref(DtIcon), {
5767
+ "icon-class": "ic:baseline-settings",
5768
+ "class-name": "dt-table-action-dropdown"
5769
+ })
5851
5770
  ]),
5852
5771
  _: 1
5853
5772
  }));
@@ -5957,7 +5876,7 @@ function handleActionColumn(propsRef, columns) {
5957
5876
  title: "\u64CD\u4F5C",
5958
5877
  align: "center",
5959
5878
  expand,
5960
- width: (expand ? column.btns.length * 30 + 40 : 70) + "px",
5879
+ width: `${expand ? column.btns.length * 30 + 40 : 70}px`,
5961
5880
  ...column,
5962
5881
  flag: ACTION_COLUMN
5963
5882
  };
@@ -6024,7 +5943,7 @@ function useColumns(propsRef, getPaginationRef) {
6024
5943
  }
6025
5944
  return columns;
6026
5945
  }
6027
- function setColumns(columnList) {
5946
+ function setColumns(columnList = []) {
6028
5947
  const columns = cloneDeep(columnList);
6029
5948
  if (!isArray$1(columns))
6030
5949
  return;
@@ -6102,12 +6021,10 @@ function useTableScroll(propsRef, tableElRef, columnsRef, rowSelectionRef) {
6102
6021
  const tableHeightRef = ref(0);
6103
6022
  const filterSource = ref([]);
6104
6023
  const debounceRedoHeight = useDebounceFn(redoHeight, 100);
6105
- watch(() => {
6106
- var _a, _b;
6107
- return (_b = (_a = unref(propsRef)) == null ? void 0 : _a.dataSource) == null ? void 0 : _b.length;
6108
- }, () => {
6024
+ watch(() => propsRef.value.dataSource, (v) => {
6109
6025
  debounceRedoHeight();
6110
6026
  }, {
6027
+ deep: true,
6111
6028
  flush: "post"
6112
6029
  });
6113
6030
  windowResizeFn(calcTableHeight, 280);
@@ -6232,7 +6149,9 @@ function useTableScroll(propsRef, tableElRef, columnsRef, rowSelectionRef) {
6232
6149
  createScrollWrap(bodyEl);
6233
6150
  calcScroll(bodyEl);
6234
6151
  bodyEl.addEventListener("scroll", (e) => {
6235
- calcScroll(bodyEl);
6152
+ useDebounceFn(() => {
6153
+ calcScroll(bodyEl);
6154
+ }, 100)();
6236
6155
  });
6237
6156
  }
6238
6157
  async function calcScroll(el) {
@@ -6311,6 +6230,13 @@ const _sfc_main$x = defineComponent({
6311
6230
  const {
6312
6231
  getRowClassName
6313
6232
  } = useRows(getProps);
6233
+ const {
6234
+ handleTableChange
6235
+ } = useDataSource(getProps, {
6236
+ getPaginationInfo,
6237
+ setPagination,
6238
+ clearSelectedRowKeys
6239
+ });
6314
6240
  const getBind = computed(() => {
6315
6241
  return {
6316
6242
  ...attrs,
@@ -6322,7 +6248,7 @@ const _sfc_main$x = defineComponent({
6322
6248
  pagination: toRaw(unref(getPaginationInfo)),
6323
6249
  rowSelection: unref(getRowSelectionRef),
6324
6250
  rowKey: unref(getProps).rowKey,
6325
- columns: toRaw(unref(getViewColumns)),
6251
+ columns: unref(getViewColumns),
6326
6252
  tableLayout: "fixed"
6327
6253
  };
6328
6254
  });
@@ -6335,13 +6261,6 @@ const _sfc_main$x = defineComponent({
6335
6261
  }
6336
6262
  };
6337
6263
  const { getHeaderProps } = useTableHeader(getProps, slots, handlers);
6338
- const {
6339
- handleTableChange
6340
- } = useDataSource(getProps, {
6341
- getPaginationInfo,
6342
- setPagination,
6343
- clearSelectedRowKeys
6344
- });
6345
6264
  emit("register", tableAction);
6346
6265
  return {
6347
6266
  tableElRef,
@@ -6368,7 +6287,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
6368
6287
  onResizeColumn: _ctx.handleResizeColumn
6369
6288
  }), createSlots({
6370
6289
  bodyCell: withCtx(({ column, record, index: index2 }) => [
6371
- column.render ? (openBlock(), createBlock(_component_TableRender, {
6290
+ (column == null ? void 0 : column.render) ? (openBlock(), createBlock(_component_TableRender, {
6372
6291
  key: 0,
6373
6292
  column,
6374
6293
  record,
@@ -6416,9 +6335,7 @@ function useFetch(api, baseUrl = "") {
6416
6335
  if (afterFetch && isFunction(afterFetch)) {
6417
6336
  data = afterFetch(data);
6418
6337
  }
6419
- if (data.status) {
6420
- resolve(data.data);
6421
- }
6338
+ resolve(data == null ? void 0 : data.data);
6422
6339
  }, (error2) => {
6423
6340
  reject(error2);
6424
6341
  });
@@ -6495,7 +6412,7 @@ function useSource(opt) {
6495
6412
  pageNo: pagination2.current - 1,
6496
6413
  pageSize: pagination2.pageSize
6497
6414
  };
6498
- baseData.orderDTOs = sort;
6415
+ baseData.orderDTOs = [];
6499
6416
  if (needSearch)
6500
6417
  search();
6501
6418
  }
@@ -6505,7 +6422,7 @@ function useSource(opt) {
6505
6422
  fetch(toRaw(baseData)).then((rsp) => {
6506
6423
  var _a2, _b2, _c2;
6507
6424
  const { records, pageDTO } = rsp;
6508
- dataSource.value = records;
6425
+ dataSource.value.splice(0, dataSource.value.length, ...records);
6509
6426
  pagination.value = {
6510
6427
  current: ((_a2 = pageDTO == null ? void 0 : pageDTO.pageNo) != null ? _a2 : 0) + 1,
6511
6428
  pageSize: (_b2 = pageDTO == null ? void 0 : pageDTO.pageSize) != null ? _b2 : 10,
@@ -6598,31 +6515,38 @@ const basicProps = {
6598
6515
  }
6599
6516
  };
6600
6517
  const _sfc_main$w = /* @__PURE__ */ defineComponent({
6518
+ __name: "dialog",
6601
6519
  props: {
6602
6520
  ...basicProps,
6603
6521
  ...{
6604
6522
  onRegister: { type: Function },
6605
6523
  formProps: {
6606
6524
  type: Object
6525
+ },
6526
+ formsVal: {
6527
+ type: Object
6607
6528
  }
6608
6529
  }
6609
6530
  },
6610
6531
  setup(__props) {
6611
6532
  const props = __props;
6612
- const [registerDialog, {}] = useModal({
6533
+ const [registerDialog] = useModal({
6613
6534
  ...omit(toRaw(props), [
6614
6535
  "actions",
6615
6536
  "curd",
6616
6537
  "formProps",
6538
+ "formsVal",
6617
6539
  "onRegister",
6618
6540
  "schemas"
6619
- ])
6541
+ ]),
6542
+ destroyOnClose: true
6620
6543
  });
6621
6544
  const [registerForm, { getFormValues, setFormValues }] = useForm({
6545
+ ...props.formProps.value || {},
6622
6546
  schemas: props.schemas,
6623
6547
  mode: "dialog"
6624
6548
  });
6625
- watch(() => props.formProps.value, (v) => {
6549
+ watch(() => props.formsVal.value, (v) => {
6626
6550
  if (v) {
6627
6551
  setFormValues(toRaw(v));
6628
6552
  }
@@ -6630,7 +6554,7 @@ const _sfc_main$w = /* @__PURE__ */ defineComponent({
6630
6554
  function handleSave() {
6631
6555
  var _a;
6632
6556
  if (props.curd && isFunction((_a = props.curd) == null ? void 0 : _a.onAdd)) {
6633
- let obj = Object.assign({}, props.formProps.value || {}, getFormValues());
6557
+ let obj = Object.assign({}, props.formsVal.value || {}, getFormValues());
6634
6558
  obj.id ? props.curd.onUpdate(obj) : props.curd.onAdd(obj);
6635
6559
  }
6636
6560
  }
@@ -6648,17 +6572,21 @@ const _sfc_main$w = /* @__PURE__ */ defineComponent({
6648
6572
  }
6649
6573
  });
6650
6574
  function useCurd(curdOpt) {
6651
- const formProps = ref();
6575
+ const formsVal = ref();
6652
6576
  const [register, {
6653
6577
  closeModal,
6654
6578
  setModalProps,
6655
6579
  openModal
6656
6580
  }] = useModalOut();
6581
+ const {
6582
+ confirm
6583
+ } = useMessage();
6657
6584
  const DtCurdModal = () => {
6658
6585
  return h(createVNode("div", {
6659
6586
  "class": "curdModal"
6660
6587
  }, [createVNode(_sfc_main$w, mergeProps(curdOpt, {
6661
- "formProps": formProps,
6588
+ "formsVal": formsVal,
6589
+ "formProps": curdOpt.formProps,
6662
6590
  "onRegister": register
6663
6591
  }), null)]));
6664
6592
  };
@@ -6673,7 +6601,14 @@ function useCurd(curdOpt) {
6673
6601
  curd
6674
6602
  } = curdOpt;
6675
6603
  if (curd && curd.onDeletes && isFunction(curd.onDeletes)) {
6676
- curd.onDeletes([row[primaryKey]]);
6604
+ confirm({
6605
+ title: "\u5220\u9664\u786E\u8BA4",
6606
+ content: "\u786E\u8BA4\u8981\u5220\u9664\u9009\u4E2D\u7684\u6570\u636E\uFF1F",
6607
+ iconType: "warning",
6608
+ onOk() {
6609
+ curd.onDeletes([row[primaryKey]]);
6610
+ }
6611
+ });
6677
6612
  } else {
6678
6613
  error(`\u7F3A\u5C11curd\u51FD\u6570\u914D\u7F6E, \u8BF7\u5C06useSource\u4E2D\u8FD4\u56DE\u7684curd\u53C2\u6570\u4F20\u5165useCurd\u914D\u7F6E\u9879\u4E2D!`);
6679
6614
  }
@@ -6686,7 +6621,7 @@ function useCurd(curdOpt) {
6686
6621
  curd
6687
6622
  } = curdOpt;
6688
6623
  curd.onQueryById(row[primaryKey]).then((rsp) => {
6689
- formProps.value = rsp;
6624
+ formsVal.value = rsp;
6690
6625
  });
6691
6626
  openModal();
6692
6627
  }
@@ -6695,7 +6630,14 @@ function useCurd(curdOpt) {
6695
6630
  curd
6696
6631
  } = curdOpt;
6697
6632
  if (curd && curd.onDeletes && isFunction(curd.onDeletes)) {
6698
- curd.onDeletes(ids);
6633
+ confirm({
6634
+ title: "\u6279\u91CF\u5220\u9664\u786E\u8BA4",
6635
+ content: "\u786E\u8BA4\u8981\u6279\u91CF\u5220\u9664\u9009\u4E2D\u7684\u6570\u636E\uFF1F",
6636
+ iconType: "warning",
6637
+ onOk() {
6638
+ curd.onDeletes(ids);
6639
+ }
6640
+ });
6699
6641
  } else {
6700
6642
  error(`\u7F3A\u5C11curd\u51FD\u6570\u914D\u7F6E, \u8BF7\u5C06useSource\u4E2D\u8FD4\u56DE\u7684curd\u53C2\u6570\u4F20\u5165useCurd\u914D\u7F6E\u9879\u4E2D!`);
6701
6643
  }
@@ -6709,8 +6651,9 @@ function useCurd(curdOpt) {
6709
6651
  };
6710
6652
  }
6711
6653
  const _hoisted_1$h = { class: "iframe-page" };
6712
- const _hoisted_2$b = ["src"];
6654
+ const _hoisted_2$a = ["src"];
6713
6655
  const _sfc_main$v = /* @__PURE__ */ defineComponent({
6656
+ __name: "index",
6714
6657
  props: {
6715
6658
  showLoading: {
6716
6659
  type: Boolean,
@@ -6743,7 +6686,7 @@ const _sfc_main$v = /* @__PURE__ */ defineComponent({
6743
6686
  ref_key: "frameRef",
6744
6687
  ref: frameRef,
6745
6688
  onLoad: _cache[0] || (_cache[0] = ($event) => afterLoaded())
6746
- }, null, 40, _hoisted_2$b)
6689
+ }, null, 40, _hoisted_2$a)
6747
6690
  ]),
6748
6691
  _: 1
6749
6692
  }, 8, ["spinning"])
@@ -6751,6 +6694,23 @@ const _sfc_main$v = /* @__PURE__ */ defineComponent({
6751
6694
  };
6752
6695
  }
6753
6696
  });
6697
+ function useDialog() {
6698
+ function createDialog(component, options) {
6699
+ return new Promise((resolve) => {
6700
+ const div = document.createElement("div");
6701
+ document.body.appendChild(div);
6702
+ render$1();
6703
+ function render$1() {
6704
+ const vm = createVNode(component.children[0]);
6705
+ render(vm, div);
6706
+ return vm;
6707
+ }
6708
+ });
6709
+ }
6710
+ return {
6711
+ createDialog
6712
+ };
6713
+ }
6754
6714
  const dtComponents = [
6755
6715
  { name: "dt-base-router", component: DtBaseRouter },
6756
6716
  { name: "dt-icon", component: DtIcon },
@@ -6766,6 +6726,7 @@ function initComponents() {
6766
6726
  };
6767
6727
  }
6768
6728
  const _sfc_main$u = /* @__PURE__ */ defineComponent({
6729
+ __name: "back-top",
6769
6730
  setup(__props) {
6770
6731
  const getTarget = () => document.getElementById("dt-layout-content");
6771
6732
  const { getShowBackToTop } = useTheme();
@@ -6779,23 +6740,23 @@ const _sfc_main$u = /* @__PURE__ */ defineComponent({
6779
6740
  }
6780
6741
  });
6781
6742
  const _sfc_main$t = /* @__PURE__ */ defineComponent({
6743
+ __name: "index",
6782
6744
  setup(__props) {
6783
6745
  return (_ctx, _cache) => {
6784
6746
  return openBlock(), createBlock(_sfc_main$u);
6785
6747
  };
6786
6748
  }
6787
6749
  });
6788
- var _imports_0 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADkAAAA5CAYAAACMGIOFAAAACXBIWXMAAAsTAAALEwEAmpwYAAAzfGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDggNzkuMTY0MDM2LCAyMDE5LzA4LzEzLTAxOjA2OjU3ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXA6Q3JlYXRlRGF0ZT0iMjAxOS0wNS0wNlQxMToyNzoyOCswODowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAyMS0xMC0yNFQxNDozMToxNiswODowMCIgeG1wOk1vZGlmeURhdGU9IjIwMjEtMTAtMjRUMTQ6MzE6MTYrMDg6MDAiIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJzUkdCIElFQzYxOTY2LTIuMSIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NWU1YmFlNWUtOTQzOS1lYjQ4LWJiMjEtZjZjM2UwOWYxODM2IiB4bXBNTTpEb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6ZGU4M2YxYWYtODBkMS1kMTRlLTg5ZWMtNGE1MjUzNzFkZTcwIiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6OTg1ODkwODQtMjkyYi01ODRiLTkzODAtNWJmY2E3NjJmYzk5Ij4gPHBob3Rvc2hvcDpEb2N1bWVudEFuY2VzdG9ycz4gPHJkZjpCYWc+IDxyZGY6bGk+MDBCQTBEMEExQ0M5RDAwNTMxNTlBMjBGRTcxOTA2RTg8L3JkZjpsaT4gPHJkZjpsaT4wMTQwNjdEM0ZDNjM5OTM3RTc4QkFCNDFBMzdCNzMwNTwvcmRmOmxpPiA8cmRmOmxpPjAyRDI2REY0MDMxREJFOUM5N0Q5Mzg1RjE5QTUwMUQ0PC9yZGY6bGk+IDxyZGY6bGk+MDcxNDVGQzc5RjkxODMwQjNGRUNFOUZCODNEMDZDN0M8L3JkZjpsaT4gPHJkZjpsaT4wRDgyMkI0MThFM0E2RjZCMjBDMEM2NjkwOUI0QTc5QTwvcmRmOmxpPiA8cmRmOmxpPjBGOUM0NTJBMkZGQTE3QzU4RTQ5MzVFQUU3RUJEQzI1PC9yZGY6bGk+IDxyZGY6bGk+MTY2N0I2OTg3MUJGRjQ4MThEODU5RENGMjIzOTUyMjg8L3JkZjpsaT4gPHJkZjpsaT4xOTNFMUQ2M0ExRDJEN0VBN0U0MTFBMzlBQzNENkJBMzwvcmRmOmxpPiA8cmRmOmxpPjIwNjY1MENBM0RBNUM2OURFQjZCRjAyMTQ3MEUzM0Y1PC9yZGY6bGk+IDxyZGY6bGk+MjE1QzM3NDMwNUM1MUVDQ0FENUM1RDUzQThCMEMwMkI8L3JkZjpsaT4gPHJkZjpsaT4yMThDREMzM0Y0OTE1NTMzQzRFQjMwRUIzQTU3MjM1RjwvcmRmOmxpPiA8cmRmOmxpPjI0N0QxRUVDRThCMjkzOTJCNzQ3RjVCMzQ3Rjc5RDRGPC9yZGY6bGk+IDxyZGY6bGk+MkVDOURBNDM2NEQ2RTBCRjYwNzExRDJFOUY1OEM4ODg8L3JkZjpsaT4gPHJkZjpsaT4zNzEyQTgyQjE3NEM0OUMwMDg2MTUxMEJBODEzMDlBOTwvcmRmOmxpPiA8cmRmOmxpPjNEQjIwQTEwQzQyQjZGMkZEMEMwQkYyNUZDNEU5NzFFPC9yZGY6bGk+IDxyZGY6bGk+NDFDMTBEM0IzRUFBQTUwQjI5ODRBNzY1MEM5QzQzMTc8L3JkZjpsaT4gPHJkZjpsaT40OTQxN0MwQjQxMDgxRkJDRDQxNjAwQTM1QUE0MkEwMzwvcmRmOmxpPiA8cmRmOmxpPjRCQUVBREUyQjhFMTk4MTA2MkM5RjQzMTFCREI5Njg5PC9yZGY6bGk+IDxyZGY6bGk+NEU5NTUxOEI4OUI2MjEwOTRFNDdGMEU3MUQ4MUYxRjQ8L3JkZjpsaT4gPHJkZjpsaT41NDlEOUJFODJBRjc3NzVFOTMzRDc3QjJDOEY4N0QwMDwvcmRmOmxpPiA8cmRmOmxpPjU1NTQ4QzhDN0VEODdCRDI2MUI1RTNDRTBCQzdGNUM3PC9yZGY6bGk+IDxyZGY6bGk+NTg0RjVFMjNEMEFFMDA0NUQ4OENBM0I3MTUxNDQyODk8L3JkZjpsaT4gPHJkZjpsaT41OUVDMTdCMzk5Q0Y3QzFDQkJEN0FBMDUwODYyMzY1OTwvcmRmOmxpPiA8cmRmOmxpPjVDRUFCMzA0QUVFMTUyMzVGMDM3Mjg1NTdDMjFCQTBBPC9yZGY6bGk+IDxyZGY6bGk+NUUwRkI3MDI4QjU5NDlBNEFDRkU0NjIwNjRCQjVFNTc8L3JkZjpsaT4gPHJkZjpsaT42NzlCNDI1OEZGQjVDQTZBQUM2MDgzQkJBQTNFMDYwRTwvcmRmOmxpPiA8cmRmOmxpPjZDMDkzMzdDRjQxRTU3NTQ2NTFFMTJCNkRDMTU5OTcyPC9yZGY6bGk+IDxyZGY6bGk+NzU1RTZBRjM1MzM3ODA5MkM3NzlCNDE1MDAwRDg0RkE8L3JkZjpsaT4gPHJkZjpsaT43OUJDMjI2N0QxODVCOTM4MTA4RDQ2N0ZBNEI0QzVBOTwvcmRmOmxpPiA8cmRmOmxpPjdDMTMzQkQ1NDA3MzQ3RTVBREJFMzJBNDlCODIzRUFEPC9yZGY6bGk+IDxyZGY6bGk+ODE2QzZGQUI0NTQ4NzMyNjU5NTc2NkNCNEYzNDFEQUQ8L3JkZjpsaT4gPHJkZjpsaT44MzZFNkZCNjlEMDk4Njg5RDc4RDdEQjlEQjhDREExRTwvcmRmOmxpPiA8cmRmOmxpPjg1QTM5MUEyMkM2NEY1Q0IwQTM3QTg2MzZFNTRGOUY2PC9yZGY6bGk+IDxyZGY6bGk+OEE0QkZEOTQzQUZGOTlEMDdEREU1MUYwMDFDNEE5REE8L3JkZjpsaT4gPHJkZjpsaT45NEMzMkU2QTE1MTdCNzBBNDM5ODVBQTc2NTM0NEI2OTwvcmRmOmxpPiA8cmRmOmxpPkFCMzlENjBENTExNEVFOEE4RkJBREUyRTkyMEM0NUExPC9yZGY6bGk+IDxyZGY6bGk+QjIwMUZGOTM3QzYwNzkxMEY4MUY5REJERkNDRkZGRTk8L3JkZjpsaT4gPHJkZjpsaT5CRTYxMzMxREQ1MkI2MjlFNjgwNUVCMzQ3MkRFRTJEMjwvcmRmOmxpPiA8cmRmOmxpPkJFQzM4NTRBODA1RkQ1NkM3RThEMkUxN0M0NzA5ODkwPC9yZGY6bGk+IDxyZGY6bGk+Qzg5NkI0OTZGMTgyREU1MTgzNTg3MEIwOTM0MUQ4RTg8L3JkZjpsaT4gPHJkZjpsaT5DQkJEN0U5OEM1MEI0RTE0RDA0MkNFNTMzQUE1QTgyMDwvcmRmOmxpPiA8cmRmOmxpPkQ5NjQzNUIwNkRFNTQ2OTg4MDUyMjVDNERBRkUzOEIyPC9yZGY6bGk+IDxyZGY6bGk+RTJCNTc3NDY4ODE4NEI2Mzk4OTE0RTI4MkQ5RThFODQ8L3JkZjpsaT4gPHJkZjpsaT5FNDJCMEFDNjg1OTAyMTcyQzIxNjEyQkJGMjFGRjg0QjwvcmRmOmxpPiA8cmRmOmxpPkU1QjQzNTBCREVFMTQ1NUMxM0UxNTU1NEM2MEY2QjQ0PC9yZGY6bGk+IDxyZGY6bGk+RUI3NzhBRjNENDVERUNBQkFCRUEwRkZDQTg4QTEyNDM8L3JkZjpsaT4gPHJkZjpsaT5GNTY3RjdBNDRCNTJFQUMwNTYxNkVBODdGRjlEMzMxQzwvcmRmOmxpPiA8cmRmOmxpPkY1RjgzQTQyMzI4N0E0MUUyMTM5ODdDNTRERjhFOUQ3PC9yZGY6bGk+IDxyZGY6bGk+RkVBQkZDQTQyQzY1N0ZFN0Y1MjEzOEQ0NkQyRTQ2MjM8L3JkZjpsaT4gPHJkZjpsaT5hZG9iZTpkb2NpZDpwaG90b3Nob3A6MDQ3NzM4NzYtZTg2Zi0xMWU3LTg4MmMtYWRiZmQ5NWE3NjU0PC9yZGY6bGk+IDxyZGY6bGk+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjA4ZjFmZmI5LWM1MWUtMTE3OS1iNTJlLWFkNGFiZjVjNmRhZDwvcmRmOmxpPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnBob3Rvc2hvcDowYjM2MmY4Yi1hY2I2LTExZTUtOGZmZS1lMzQ2MTgxMGQzZTk8L3JkZjpsaT4gPHJkZjpsaT5hZG9iZTpkb2NpZDpwaG90b3Nob3A6MTAwMDFlZTUtZGVmNy03MjRiLTg3OTctZDg4YjE0ZWI3YjExPC9yZGY6bGk+IDxyZGY6bGk+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjE0Y2YxMGI4LWNlOTItMTE3OS04ZDJhLWIzNjcyY2QwOWI2MzwvcmRmOmxpPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnBob3Rvc2hvcDoxNzM4ZDA5ZS05YTk4LTExZTUtOTE3ZS1kNGExOTRhYWE2N2U8L3JkZjpsaT4gPHJkZjpsaT5hZG9iZTpkb2NpZDpwaG90b3Nob3A6MWZkODY3YmItYzJlOC0xMTc5LWFkOTYtZjBjODUzNzZkYjFkPC9yZGY6bGk+IDxyZGY6bGk+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjIxMzMzNjE3LWNjYWItMDg0OS04YWFmLWE0MzQwY2ZiZGVmZjwvcmRmOmxpPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnBob3Rvc2hvcDoyNGI4YzllYS05MDU3LTExZTYtODBkYi04ZTk5ZjZiZDFiNTY8L3JkZjpsaT4gPHJkZjpsaT5hZG9iZTpkb2NpZDpwaG90b3Nob3A6MmRmNzZkN2YtOWMyMy0xMWU1LWJlOTUtZDNiYjFlNDBhYmZhPC9yZGY6bGk+IDxyZGY6bGk+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjM0NDUxNTQyLTlhYjQtMTFlNS05MTdlLWQ0YTE5NGFhYTY3ZTwvcmRmOmxpPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnBob3Rvc2hvcDozNTU4NmExZi00M2FiLTExNzktYTg2Ny1hMmFiMmIxYjU2OTY8L3JkZjpsaT4gPHJkZjpsaT5hZG9iZTpkb2NpZDpwaG90b3Nob3A6Mzg2ZDAwYzAtNmRjMi0xMTc3LWFiNjUtYTIwYWMzNDdjYzI2PC9yZGY6bGk+IDxyZGY6bGk+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjNhNDdmMTQxLWJlNmItZjE0My1hMzM3LTM4ZmIwZGQzMzljYjwvcmRmOmxpPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnBob3Rvc2hvcDozYjk1ZmY2Zi1hYjAwLTExNzktOGEyYS1lYmY4MzMyOTc0NTc8L3JkZjpsaT4gPHJkZjpsaT5hZG9iZTpkb2NpZDpwaG90b3Nob3A6NDVjOGUzYjMtYjg5Mi00ZTQwLTg3YjUtYWIwNTk0NmFjMDE2PC9yZGY6bGk+IDxyZGY6bGk+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjQ4YTI0ZDkyLWUyMzMtMjM0NC1iNTQ1LWE3OTA3MDY1MjJiMzwvcmRmOmxpPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnBob3Rvc2hvcDo0YmNiZWZkMS04MTBlLTJkNGEtYTA4NS04MGVmYmMwZjJiODA8L3JkZjpsaT4gPHJkZjpsaT5hZG9iZTpkb2NpZDpwaG90b3Nob3A6NTUzNTRjMmEtYzMyOC0xMTc5LWFkOTYtZjBjODUzNzZkYjFkPC9yZGY6bGk+IDxyZGY6bGk+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjcxODQ0ZWUwLWMwY2MtMTE3OS05ODliLWNlNWRkM2Y3NmNhYjwvcmRmOmxpPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnBob3Rvc2hvcDo3MzFhNjYwZC1jY2Q4LWNiNDQtOWZkYS1jOTY1NjAwYTlmOTI8L3JkZjpsaT4gPHJkZjpsaT5hZG9iZTpkb2NpZDpwaG90b3Nob3A6NzdiYjEwZmYtYjI4ZC0xMWU4LThiN2UtZjE3MTY4ZDMxZTljPC9yZGY6bGk+IDxyZGY6bGk+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjgyNGIxODI5LTliYTUtMTFlNS1hZmM2LTg3NjcxZTA3ZTBjNDwvcmRmOmxpPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnBob3Rvc2hvcDo4MzQ2YzY1NC1kMzM0LTEwNDMtYjZjNS1kYTM3N2QwYWIyNTg8L3JkZjpsaT4gPHJkZjpsaT5hZG9iZTpkb2NpZDpwaG90b3Nob3A6OTgyODRiN2UtOWIzNi0xMWU1LTkxN2UtZDRhMTk0YWFhNjdlPC9yZGY6bGk+IDxyZGY6bGk+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjlkNDM5Y2UwLWIyM2UtMTFlNS05MTYxLWY5ZDdjYzE1OTQzMjwvcmRmOmxpPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnBob3Rvc2hvcDo5ZWQ1MWIzNS1hYzM2LTExNzktYmE0ZS1kZjIxY2JlNzI1Yjk8L3JkZjpsaT4gPHJkZjpsaT5hZG9iZTpkb2NpZDpwaG90b3Nob3A6YTE2NTQzNjYtODg0ZS0xMWU1LThjOTAtYzY5MjYzYzdiOTYxPC9yZGY6bGk+IDxyZGY6bGk+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOmEzMzUzZGI3LWE4MDItOTc0Mi1iZmYzLTI0Mzk4YjY5OTI5ZTwvcmRmOmxpPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnBob3Rvc2hvcDphZDM0MWU1Ni1iMjczLTE2NDktODY2ZC0xN2E5MjcxZjExODg8L3JkZjpsaT4gPHJkZjpsaT5hZG9iZTpkb2NpZDpwaG90b3Nob3A6YmExNjlmMjMtOTA1OC0xMWU2LTgwZGItOGU5OWY2YmQxYjU2PC9yZGY6bGk+IDxyZGY6bGk+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOmJlNjYzNjRhLWUwM2YtNWU0OS05YmY0LWM0YjIwMTc3NTliNTwvcmRmOmxpPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnBob3Rvc2hvcDpiZTY2YzcxYy1hYTQ1LTExZTUtYmY4Yi1hZWNlNTk4MWMzNmQ8L3JkZjpsaT4gPHJkZjpsaT5hZG9iZTpkb2NpZDpwaG90b3Nob3A6Yzc5Yzc3YzYtOWMxOS0xMWU1LWJlOTUtZDNiYjFlNDBhYmZhPC9yZGY6bGk+IDxyZGY6bGk+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOmNjZDJjZGNhLTQ2OWUtMTE3OS1iYzUzLWRmNDJmNjRkYjZhYzwvcmRmOmxpPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnBob3Rvc2hvcDpkZDE2YWYyNi1iNGI2LTExNzktODkwYi05YjY5NDhiZDgzZTk8L3JkZjpsaT4gPHJkZjpsaT5hZG9iZTpkb2NpZDpwaG90b3Nob3A6ZTNmZmVlNjgtM2MxMi03MzQzLWE1NTItOTAxYmFkMTViOGMwPC9yZGY6bGk+IDxyZGY6bGk+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOmVhOGYyYzNkLTkwNTMtMTFlNi04MGRiLThlOTlmNmJkMWI1NjwvcmRmOmxpPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnBob3Rvc2hvcDpmMTc1NDg3ZC05YjcwLTExZTUtYWU3Mi1lYmI4OWUwZmQwZWY8L3JkZjpsaT4gPHJkZjpsaT5hZG9iZTpkb2NpZDpwaG90b3Nob3A6Zjg4Y2M5NGQtYzcwZS0xMTc5LWJjNzQtYzljNmY5NjcyYTQ0PC9yZGY6bGk+IDxyZGY6bGk+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOmY5MTdmNjM5LTkwNGUtMTFlNi05MThjLWZmZjgyYjQxY2YyZTwvcmRmOmxpPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnBob3Rvc2hvcDpmYWU1ZDczNy05YTIzLTExZTUtOTJlNC04YzM5MzI2N2QwMWM8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOjAwMWU2NDI1LWI5ZTgtMWQ0My1hY2EzLWQwMzM3MDM4NGFjYzwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6MDE4MDExNzQwNzIwNjgxMTgwODNBMzJBMUI2ODVERTQ8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOjAyZDdmMjgzLTE0ZTUtNDAyOS1hZWZhLThmMGIwOTk0NWQyMDwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6MDUyN2I1ODctZGRiZi1jNzQ2LWI3YzYtZGQ5MDlhNzhhZDllPC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDowRUVEMzFGQkQxQjBFMjExQjc5OUFEQTUzNjYzOTg5NTwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6MGNkOWFiZWMtM2UyOC1hZjQ3LTk1NjctZjBlY2EwZTU4MGFkPC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDoxMDdGMjg5NDUxNTAxMUU4QkNGOEU4NzI4QzNERDBCMDwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6MTBjZGNiZGMtY2M2NS00ZWJmLWEzZmEtMWZmNjIyMTc2ODZjPC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDoxM2Q2YjY5My0zM2QwLWZmNDctOTk1Yy0yZGRkYzQ0NTgxMTI8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOjFGRjAyMjJBNzI3RkUzMTE4QTIyRkI5QzU1Rjk3RkVGPC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDoxY2MzNWUzOC0yMTY3LTk4NDgtOTNhOC05ZmMyNTAxNGMzMzM8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOjI2NzdiOWEzLTQxZDItMzE0NC1iNTI0LWQ3N2U1YTYyZGI0MDwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6MjZlYjJmNWItNWViYy00ODk3LWEyZmItYjc0MGQ5ZTMwZDc2PC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDoyQkU5QjkyOUIyNkExMUU1QjIxNjhFODMzRDJENUU0RjwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6MmEyYTA2OWEtNjEwNS00NzM3LWE0ZjktNmJiNWEwNzI2ZjdhPC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDoyYzRhZDFjYy1lNzUwLTFlNDctYTlmMi0xNTEwZTFiMDRiOTM8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOjJkZWZlNGVjLTdjYzctYmU0OS1iYzg5LTQ5OGUzZmQ1ZjVmZjwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6MzRDNjBDN0JCMkQwMTFFNTg4NUM5MjhFNTk3ODMxQ0Y8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOjM2Y2ViMGI3LTU4MTktNTQ0NC1iN2NmLWU2OWEyODBmNWFhMTwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6M0VBQzJERDc1MzUxRTgxMTk3NkFGMzlCNEI2QUZCRjg8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOjNhNWFiMjgwLTQwZmUtNGY1ZS05ZmE2LTcxNjE2YjczODEyYjwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6M2Q1Njg0OTgtOTg0ZC00NThhLWIyNDktZWFjYzMyMjUyYTIwPC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDo0MTk0ZmE2Mi1jYWRlLThmNDktYTIxNy1lY2E3ZWUzZDIyYTA8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOjQ0MzMyRjU5QjI2MDExRTU4RDNGOEJEQUJDMENEMEFDPC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDo0NmVkZjRlNC05MTUyLTVlNGItODA4Ny1kYTQzN2JjNWRjM2M8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOjQ4RTNEMDA3MDgyMDY4MTE4MjJBRDdEMjNEMDQ0QTk1PC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDo1Y2EzNTUzMS1lOTZmLTRjMjAtOWViYi01M2U3NTJkMDMxYWQ8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOjVlODc5ZTZmLWE3MjMtMjI0Ny1iOGQ4LWE5MDI4YzY4YmQyZjwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6NjViOTJlMzAtNWU0NC0wNjRmLTk3YWQtMzg2YWI5ZTQ3NzEwPC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDo2ODc0QjFFNzZBMjA2ODExODIyQUM2N0Y1OEJFQTE3OTwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6NjliYWZkZWItNDM4NS04MjQ4LTk2NDgtMTIyN2YxMTE2ZTViPC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDo2QTc0QjFFNzZBMjA2ODExODIyQUM2N0Y1OEJFQTE3OTwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6NkZENTNBMzgwQTIwNjgxMTgyMkFDRjE5MTgwRTgxQjI8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOjZlYjFkY2Y1LTliNjctOWQ0NC05MWJmLWZmODQzYWNmMTZmMTwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6NzI2MGY1YjQtY2MxNy1kZjRlLWIwMWUtZjEzYWQyMWQwODkwPC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDo3NDljYmFlOC0xNTRmLTM5NDAtOWVlNi0yMmQxZjgwZmEzYTE8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOjc3OUQyNjQwQjI1QjExRTU5M0MxRDg5NTlDNDg0NDg1PC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDo3YTE1ZGNmMS1kYTE4LTQ3YzUtYWI0ZS1iOTQ4NTUyOTAyNjc8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOjdhOTJkNDBiLTY5ZTctNDlhMy04ZDIzLTIzZjNkNzc0ZmVkYTwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6N2MwMmQ3YjEtMDNkYS00Zjg1LTk5YzAtMDBiM2YwMzI5MDNmPC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDo3ZGRjODNmMS1jYTIxLTlhNDMtYWFlMS1kMjhkZTkyMjc3OWQ8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOjhEMzA2NTQ0OTYxQjExRTQ4OTM3REM3Rjg4OUZGMDQzPC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDo4RkNCRUNBRkIyNkMxMUU1OUExNDgwMjUxQTI3MzQzNjwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6OGM2NWIxOTYtOWNhNC1mNDQ0LTlkMzQtZDM1MzM4YTllMjE1PC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDo4Y2M3ODA2MS0yNzk2LTRlYTAtYTVhZC1hNjk3ZDRjMjA3OGU8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOjkzNTk1Mzc0LTc5MjUtM2U0ZC1iMDRjLTk2YzU2OTY1NGNkYjwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6OTU5NkI5OTE3NzIwNjgxMTgyMkFDNjdGNThCRUExNzk8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOjlGMUZFMkJFRTNDMEU1MTE5QUU5OUNFNTZGNjc4NzY3PC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDpCQkFFMjI5OEYxMTlFOTExODhFMjgzQjVGRjY0QkU5MjwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6QzM3MTlGNDQwMkM0RTUxMUJBNDE4NUE1ODhCNTEwODc8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOkM5NjUwQ0I5MDcyMDY4MTE4MDgzQTE1REU3MzQzNjUyPC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDpENTNBODdBQzQxNjdFNDExQkZERUY2ODdGMzU2NEY5NzwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6REJDMjdENjQyRTZCRTUxMTlGQkVGMkREMkU4REFDRUY8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOkRFQjkwOEE1OEI3OEU1MTE5MTk5OUVFQkJCRDI4M0UyPC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDpGODdGMTE3NDA3MjA2ODExODIyQUNCNkU2OTFDMjRGRjwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6YTIyZmVmZDItNTM0MS05NDQ4LWFiNDQtYWJhZjhmNDgxOTlhPC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDphMjk1Y2U2Ny1iOWIxLThhNGUtOGZmYS02YjJjOTIxMDlmMTY8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOmE2NDcwMTE5LTg3ZWUtOGU0ZC04ODZlLTM1MDUwY2Y3YTBjYzwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6YTdiMjA5MmItMDg2Zi02NTQ3LWJhNTUtNzEzN2ZhOTRmZjVjPC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDphN2M2ZjA0NS1lNTE3LTVlNGUtOTUzZi1mY2I3ODMyMzZkMDY8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOmE4NGU1MWFmLWJhZTYtNGNiOS05ZGQ3LTZmOTJjYWVjZDQ1NDwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6YWVkZjcwYWMtOGExNy05OTQ1LTgxYzctM2FmNWFlM2UwM2VhPC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDpiMjljYzBmMi05MTg1LTQ0ZjEtOWU5YS1kMzhkMTkwMmU5OGQ8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOmJhMGJjNGViLTJjYzgtMTg0ZC1iN2Q1LTE2MzQxM2JkY2I5MjwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6YmMxYzdmNWYtNTMzMy1kZDQ3LTg1NmMtMDFlNTJhN2NiMWY4PC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDpiZTE0OWFhNy0zZDM4LTc5NGEtOWVhMi0xYWFiMDAxNGMwNzY8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOmJmYWIwNDVmLTQ4MTItNDdlNi05N2NlLWNjNzk1NmUzYTFhNzwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6YzIxNWY4ODUtNGI4Ny01YjQxLTg1M2YtM2Q5NmRlNWMxOThlPC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDpjNWIxODhiNC1hZTMzLTRiODctYmRjZC05M2U5Yzk0MWM1YjA8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOmM5YTI2YzkyLTQ1MTgtNGI1YS04NjIwLWIxYjExMTZlMGZkZDwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6Y2YwMDViZTUtNWYzZi1mMTQ1LWI5OGEtYTU2YjU1NTk4YzkyPC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDpkZDliOTBkMi01MjcyLTQyOWUtODQ2Zi1mMTMxMmE0ODNlNjE8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOmU1NmQyNjUyLWM3YzQtMzk0ZC05MzA4LTlmM2Q5YmQzMGU1MDwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6ZTcwNTM5OWQtNDY0ZS00M2ZmLWE1MmMtY2RjOGE4YmY3ZWE2PC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDplZDAxYWNlYS0xNDYwLTYxNGQtODdlNC1mMmEzNDM1NjA3Njk8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOmVlNDYzYjU0LTRjMjItNGMyZC1hZjQwLTdlN2U0Yzc2YTcwMDwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6ZWVlNzBjZjMtZDRiZC05MjQxLThiNzAtN2NjYmFkMzViZGU2PC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDplZmQ5MzI1Mi01MjBkLWYxNDEtOTAxMy0wZGI3MTBhZWRmNzU8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOmY1YjljZjZkLTM2YjgtYTc0MS1iMGZmLTE3ZGU0YzQwNjZjNjwvcmRmOmxpPiA8L3JkZjpCYWc+IDwvcGhvdG9zaG9wOkRvY3VtZW50QW5jZXN0b3JzPiA8eG1wTU06SGlzdG9yeT4gPHJkZjpTZXE+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJjcmVhdGVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOjk4NTg5MDg0LTI5MmItNTg0Yi05MzgwLTViZmNhNzYyZmM5OSIgc3RFdnQ6d2hlbj0iMjAxOS0wNS0wNlQxMToyNzoyOCswODowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKFdpbmRvd3MpIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDplY2UyZWZjMi01NDlkLTBkNDgtYTExNi1kZTI1ZmU1NzNkYzkiIHN0RXZ0OndoZW49IjIwMTktMDUtMDZUMTE6NDM6MjQrMDg6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE5IChXaW5kb3dzKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6NDQ5NDBhMmEtNzEwNy00YmFlLThjOTMtY2ZjNGRkM2UyYjc2IiBzdEV2dDp3aGVuPSIyMDE5LTA3LTAyVDEyOjIwOjE5KzA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgKE1hY2ludG9zaCkiIHN0RXZ0OmNoYW5nZWQ9Ii8iLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImNvbnZlcnRlZCIgc3RFdnQ6cGFyYW1ldGVycz0iZnJvbSBhcHBsaWNhdGlvbi92bmQuYWRvYmUucGhvdG9zaG9wIHRvIGltYWdlL3BuZyIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0iZGVyaXZlZCIgc3RFdnQ6cGFyYW1ldGVycz0iY29udmVydGVkIGZyb20gYXBwbGljYXRpb24vdm5kLmFkb2JlLnBob3Rvc2hvcCB0byBpbWFnZS9wbmciLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249InNhdmVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOjZlYjlkOTFjLTI5NDAtNGMwZS1iMjEwLTg3NGMwNmY5NzBkMyIgc3RFdnQ6d2hlbj0iMjAxOS0wNy0wMlQxMjoyMDoxOSswODowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDo1ZTViYWU1ZS05NDM5LWViNDgtYmIyMS1mNmMzZTA5ZjE4MzYiIHN0RXZ0OndoZW49IjIwMjEtMTAtMjRUMTQ6MzE6MTYrMDg6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCAyMS4wIChXaW5kb3dzKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NDQ5NDBhMmEtNzEwNy00YmFlLThjOTMtY2ZjNGRkM2UyYjc2IiBzdFJlZjpkb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6NWJmZGU1MDUtMmVkMy1lZjQxLWFiYjgtNWRjYTRhNjUxZjVlIiBzdFJlZjpvcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6OTg1ODkwODQtMjkyYi01ODRiLTkzODAtNWJmY2E3NjJmYzk5Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+UQTyIAAAAptJREFUaN7l2ktoE0EYwPH/xtRXbRupRlsQ04JoRRQE8aQiYhHFg+JFRD1oC4oVfJx6UDwIRSsURYUiorWCiohaRSz0IIoExMfBS7A+wEIjqXFpFySm6XrYTTEmpunuJu7OfJdsJjNf8svMJDPsKLqu82covWpmQWliDHgF3ARuAKqdZHpjIOO5D3eED1gNnAcGgHPAHCeTuy3KgaPAB/PRLyIyHQGzR18CS0RFpmOVOV+3i4wEmAXcBY6LjARQgLPACZGR6TgFHPAEUkGnpixKtf+7leYXgK2uRU5XErTVtvJ1WYjI0gYuLThkJc0UoAsIFVLZX+re6wrtZVPl0/GyZ9paO38x14D1gO6antxc9SQDGBudS3d8l52U64B9rhquO2ffGr9WUwF2f7nOcKrSbtrTQIWjwzVYBg0zrH2aqcoYfSMbePtzBZ1DzUST85z47oLAYRObe5pMdheyoxo6661tVEJvFIZTRRkkg+aP0C8370LsRg2wzbHhOpCAB/Hs8uXlUDfNuA6PwLdkdp1kcXeqB4HbjiDDGoQ1Jau8faFOXdC47ogq9Kol7801Zo8OirCsy7e2bRRl7ZovtsiA3JjLJBoyACwSHQmwUgbkYhmQ9TIga2VAzpcBWSEDskoG5EwZkKMyIDUZkDEZkP0yICMyIN/LgHwhOvIj8El05P1chaIhu0VHvgbeiY5s/9cLoiAjwB3Rkccwjq4Ji3wEPM5XwevIGNA8USUvI3VgPzlu8IiEbAUeFlLRq8iLQFuhlb2I7ABaJtPA57E5eBI4wgTndv4Ov0eAKrAH6LHS2As9+RzjTlWP1QRuRv4AmjBOXX22k8iNw1UDLgNngCEnEroJGQeumLuJmJOJ/zdSB/qAq8A9IFGMN/kNt6GNd9kLeHQAAAAASUVORK5CYII=";
6789
- const _hoisted_1$g = /* @__PURE__ */ createElementVNode("img", { src: _imports_0 }, null, -1);
6790
- const _hoisted_2$a = { class: "dt-logo__title" };
6750
+ const _hoisted_1$g = { class: "dt-logo__title" };
6791
6751
  const _sfc_main$s = /* @__PURE__ */ defineComponent({
6752
+ __name: "logo",
6792
6753
  props: {
6793
6754
  theme: { type: String, validator: (v) => ["light", "dark"].includes(v) },
6794
6755
  showTitle: { type: Boolean, default: true }
6795
6756
  },
6796
6757
  setup(__props) {
6797
6758
  const props = __props;
6798
- const title = "Ithink-DT \u6DF1\u8FEA\u79D1\u6280";
6759
+ const title = "\u9686\u57FA\u7A0E\u52A1\u540E\u53F0\u7BA1\u7406\u7CFB\u7EDF";
6799
6760
  const { getCollapsedShowTitle } = useMenu();
6800
6761
  const getLogoClass = computed(() => {
6801
6762
  return [
@@ -6808,8 +6769,12 @@ const _sfc_main$s = /* @__PURE__ */ defineComponent({
6808
6769
  return openBlock(), createElementBlock("div", {
6809
6770
  class: normalizeClass(["dt-logo", unref(getLogoClass)])
6810
6771
  }, [
6811
- _hoisted_1$g,
6812
- withDirectives(createElementVNode("div", _hoisted_2$a, toDisplayString(title), 512), [
6772
+ createVNode(unref(DtIcon), {
6773
+ "icon-class": "logo",
6774
+ size: 42,
6775
+ "class-name": "brand-logo"
6776
+ }),
6777
+ withDirectives(createElementVNode("div", _hoisted_1$g, toDisplayString(title), 512), [
6813
6778
  [vShow, __props.showTitle]
6814
6779
  ])
6815
6780
  ], 2);
@@ -6819,6 +6784,7 @@ const _sfc_main$s = /* @__PURE__ */ defineComponent({
6819
6784
  const _hoisted_1$f = { key: 0 };
6820
6785
  const _hoisted_2$9 = { key: 1 };
6821
6786
  const _sfc_main$r = /* @__PURE__ */ defineComponent({
6787
+ __name: "trigger",
6822
6788
  props: { theme: String },
6823
6789
  setup(__props) {
6824
6790
  const props = __props;
@@ -6844,8 +6810,7 @@ function deleteChildrenProp(menu) {
6844
6810
  return obj;
6845
6811
  }
6846
6812
  function getBreadCrumb(path, menus) {
6847
- const { getMenus: getMenus2 } = useAuthStore();
6848
- const _menus = menus || getMenus2;
6813
+ const _menus = menus || DtCache.getLocal(CacheKey.MENUS) || [];
6849
6814
  let routes = [];
6850
6815
  let getParentByPath = (menu, path2 = "") => {
6851
6816
  if (menu.children && menu.children.length) {
@@ -6865,7 +6830,6 @@ function getBreadCrumb(path, menus) {
6865
6830
  return routes;
6866
6831
  }
6867
6832
  function getFilterMenu(filter = "", flag = false) {
6868
- const { getMenus: getMenus2 } = useAuthStore();
6869
6833
  let _menus = [];
6870
6834
  if (!trim(filter) && !flag)
6871
6835
  return _menus;
@@ -6878,11 +6842,12 @@ function getFilterMenu(filter = "", flag = false) {
6878
6842
  }
6879
6843
  });
6880
6844
  };
6881
- getTargetMenus(getMenus2);
6845
+ getTargetMenus(DtCache.getLocal(CacheKey.MENUS));
6882
6846
  return _menus;
6883
6847
  }
6884
6848
  const _hoisted_1$e = { class: "dt-breadcrumb" };
6885
6849
  const _sfc_main$q = /* @__PURE__ */ defineComponent({
6850
+ __name: "bread-crumb",
6886
6851
  setup(__props) {
6887
6852
  let routes = ref([]);
6888
6853
  const { currentRoute } = useRouter();
@@ -6908,8 +6873,8 @@ const _sfc_main$q = /* @__PURE__ */ defineComponent({
6908
6873
  });
6909
6874
  const _hoisted_1$d = /* @__PURE__ */ createElementVNode("span", { class: "red-dot" }, null, -1);
6910
6875
  const _sfc_main$p = /* @__PURE__ */ defineComponent({
6876
+ __name: "notify",
6911
6877
  setup(__props) {
6912
- ref("1");
6913
6878
  const { getShowNotice } = useHeader();
6914
6879
  return (_ctx, _cache) => {
6915
6880
  const _directive_icon = resolveDirective("icon");
@@ -6936,6 +6901,7 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
6936
6901
  const _hoisted_1$c = { key: 0 };
6937
6902
  const _hoisted_2$8 = { key: 1 };
6938
6903
  const _sfc_main$o = /* @__PURE__ */ defineComponent({
6904
+ __name: "fullscreen",
6939
6905
  setup(__props) {
6940
6906
  const { toggle, isFullscreen } = useFullscreen();
6941
6907
  return (_ctx, _cache) => {
@@ -6953,6 +6919,7 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
6953
6919
  };
6954
6920
  }
6955
6921
  });
6922
+ var _imports_0 = "data:image/png;base64,/9j/4AAQSkZJRgABAQEASABIAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAG9AfQDASIAAhEBAxEB/8QAHAAAAgMBAQEBAAAAAAAAAAAAAAECAwUEBgcI/8QASRAAAQQABAMFBAYJAQYEBwAAAQACAxEEBRIhMUFRBhMiYXEUMoGRFUJSobHBBxYjM2JyktHh8CRDRGOCkyU0U1QXc4Oio8Lx/8QAGgEBAQEBAQEBAAAAAAAAAAAAAAECAwQFBv/EACMRAQEAAgICAgMBAQEAAAAAAAABAhESEwMhBDEUQVFhIjL/2gAMAwEAAhEDEQA/AMZCSYX3XyQRso0rEtKCFJ0p0onjSKSSlSSATSKEQHihCEQVaYbSSlyQIpJoQACC1McUFGde0AnVqVIRoqRVKSRRESkFIpAIpp8kgmESoqQA4opHBGdAkJcuKDxTpDRX5qQ3CVIooaHNNCENEmhCGghCENBCEIaHNNKk0TQUlFNDQ5ppIQ0akFFCGkyUAgpct0BF0ldIQhDQQhCGghCENBAQhDR802lLmpDmjZpoCEELIQpaUIOSh0TpMJ0io0lR5lSpBCCBtHqmU0ESEgN1Kk6RESLSAU0Uio0kVOkUiIAFOlKkUilSVKVJIyKQhCKEIQgEk0+CCKQUikgKTQhAIQhAkUmhECEIQCEJoEhCaBJoTKJsghAKEU0IQjIUkhsnSCKEc1JFJMCimFJAkbIRSACaEIBCE0CQmhAqTCaECA3UggKSNEOKaKQgEKSEHKhCEUkJpoI6bSpSRSIiQkpI5oopFBCBuEZLmhHNCKSE0IpITKSMbCEIQCKTQhEUJlJGghCEAhCEAhNJAJ0gIQCSE0CTAQmiWiklJJGdgJpJ2ilSKTQhslKtlFSB5IhFNFIHBFFIohP0QCgOCklSaAQikIBOkIRAhCEUIQmgFIJBSRoJhIJoGjZJCA2QnQQg5qRSY4JhFCVhBUa80DQkhESoKKEIpEIATHFTAREKQQpUhBWmpEKKBVaKpSRVoliKFLSkQiaJATpCLoklIo2CCKE9k6CFqKEEboQlFITCCibJCaEAhHNCISE00CTQjjwQJCdJoFyST5pUiGEwEBSCKVJ1sjimio0gjdSpCACEJhAihSpIcUAmikIBJNCIE0k0U6TCN+aLRowmlYTQNCEIC/JCEIOfkhOikijilSaEEKRRU0IiFFFFTQgiAbUkIQCR2TSItEqNoTAKCDSJshxTKQTRdi0yEkEooI2SpCkEZ2ikUykgSYQUBECSkl6oEmEkwgEIISQNCAE6RLSQmkjJKQASrZMBGodIpPfki0UqQPRSKjRQFJ0gDgmlIQTtJOkUIQhAJhACaASTQiAIQikAhOkwECTCdJ1SKOKRGyYTRsgE00UgQTRwQpU2EIQs6NoUoEKaS0qFIpNNUQTpFJoIopNCIVboUqtFIIoTQgSE6QU2hUlW6aEQiFEhTQi1XW6mCikVuiIoTISQJCaaIje6CpJUmwgmEUnSbQqTpFJoQkJ+SKQRKdJ0mAiaRPBG6lSKRqEnW9opNEJNCECQik6RYSdIKaKKRSEUiGAmRSAgoEgKWyKCm1GnZIA2pUgDdNhUmAmhNgpBQhTYEIATpGoEIQgCE6QNynSRgUhCFUV0UVspJUjqrQp7JbKiKE6SpAIRSYG4QJMi0VXFHNERKFIhKkCpFJ0nSCFIUq2UaRAlSdIRSQmkiBKlKkkQqQVKkKbVBCnSVKoVJopCjNgQQnVIKoiAmik6QJNFJ1siUqTQikWCkUmhVSTrZOkKIVGklZdBQpFClSjSkCgRpKlIi0wKKJsqRQUkk2WlSAE6TUq7CEJrJskJoVkTZApopFJpdhSBCjVphpTS7M0ikBqelDYaKTKKQgVITQqK0UUwLTpG0NJS0q2lFVUaRVJoITYinSKQm0RJKjzVhCVJtCQpbUlsUCtFopFIBRKkUkCSpMoq0Z2SdIpMBFJKk0Im0UUpUilEtJCdJInIUlW6kikXaNbopTrdBCIhSkOCYaigFWSpClyRt0RSpKlKkqQFJ0nSDsgW6elQMzW8/ijvLIppPwWbTVSpSpJhD22OPRAIPBNnsUnsi0KApI8VInZJaCvyTRSdIhJoQgLQDaEwkCIQmnSKSE6RRKAATARRCYKVTGyEBNYaKkUmE6VKjSE6QqyiPEEI4BNJXSUioKylHSqqCEyN06URFKlKkUgimmQkqpEJUpIIQJIqVIKWpaiAik+CRU2zsUhMIpVKiQmikKUgpFIpOkibR0popNW1NoUnpUkgVNpsqpHEplATZsJ0jkhQ2XAJVe6ZCdK7TZAJbqVITZsqSUkiDRIF1upvXurjLldQi6gKok8AsGfP4HTOjidZa7T3h90eg5qeaZqYIS2G5Q6y+Rh2aLrj62B6LyEZMWKYWni67PBeXy/Jkvp7fH8W/eT2fexOojEEuP1tQ39AOHopsliFt7x5cebgvKywTuZ31FzQW2Rx3VXdStnMZDmnkL3vouU+U6/iV7iNwFU+M1xPAj4rqaTsCS41d0vneuZjxqeTW4B3HyXocgzDESGSLVTI26i0cK4bdOK1j8qVL8T09NRHEUik4iJIvCQADz+qUyC004URxC9WOfKPHn4+NKkJopdHMk06RSoigJ6VLSgjSadJUiaCaAE6RQmOKVKQCBEWigpUgBFKk6Ug21INpZaR0IIpTSJtBDSUJoVRXSNlOkqWY0SSnSRC0I0ik0FBDTaVUVMBMhNlV0igp0ilNm0CEqViKtXZtCikRSs0qJG5Ri1BFKekIApGUKQp0kWqqilSdJqJpFClSKoqIiik0IhUhNFIhITpJA0qKaKQKk06RSBWhOt0b8haVZNoPIZG97iA1g1OJ5BeQzLOZsZh8SY9bIe8DByscr9d/kpdpc9MkpwWHf8AsWkai0+84cfhy+Cwo5NMWmrFFwvejVL5/n8u7qPp/H8Uwm61MC4ZjlDcGHFr+8HeOI5Wa+CMJgLficM5ge+G5ATten3gfhRWNg8S7Duk0k29tceNb0t2PFDE5tC5hZqmjIJviSOfnyXkr2bdGVMbistbcgEbnmEuI901YPlsV05lhI5nRy4eN1OI0kHc7Wb+9Z/ZrxwZnhXcO7ErWHjqY69j6Wtrs/K2V0uCxIaS17Xxgi6uwfxHzWbHWfTMjwLcRghNRNF2wbxF/ipYZ2Iy7MJWRNAc9phLSRRttgrawOKwmXTY7CTDvBDiXVYrwu8viuPOJIZc2bNh2FzG4VwdX2hwPy3WFVZfmbmOayejy1hoFetcluume3u5dTdDyBdHw3wPoVhNwXfsLgCbeCHDzBP91oZa9roH4J5JEfgLeZb5f65L2/F8t3xrx/K8Prli0Q0jg4H4Keypw73SMIkNysOlzvtdD8R+a6AADwX05XyrNI0mpEJUqhAKVIA2TAUUiNkg1TSWgqRSlSEQgN0KQG6ZCWCICdKQRaypDZSSAtNRZQghCFVKkJoT2aRDdklOlBSKelGlS5BG60KyKNIpTQgroopWFGkIKqRSs07KNKIjSFPSo1ugSFKrRVFGUDwRxUiEUk2mkSEUnSKVEXNUdKmAnSCFIq1OkVSIr0opWVaVIiOlGlSpFIIkUoq0N2RShpWBaKVlIQVEFMDZWUgBBDSsjtHmf0blxEf76e42fwitz/rqttfPu1+KM+dOivwQMDAPM7n8Vy82XHF3+PhyzYLnlzrJs9SuvDlwgdK3cx7EeV/5XCuvCV3Uup2ztqHEGtj+XxXzK+oeKwhhghxDSCyRmrbluQunK7EzHBwuOng3y/uqIptUDIT7lFo8if8ANLnjPdSO1g2NtuqixoZLixh83MkosPLmkfzWD+K7xjhgcdG6MsJY3SL89ivPsP7Yb7Erqe3vzTW+ME209eoWbG5WjmGN77Mp5oydEwseuyjhMb3kohFuBj0H5gk/IV81lB5MO54FWYKYw4psjTRG1+SzYsvt9SghYyIYe6dpNu+s3YH/AAuR0TDjpDBRf3TJSWt92rbV/wCuCxoM3kkw+u2lk8niu9tgT8NvuW3kkrH4TEYvei5oFnc71/dT/wA3bf8A6mkzG7W2Ztjangcxf5H810ijwUWOa4vHujUCK5g0VIsOq21f4r7Hgy5YSvjfJw4Z6gSpWDccKRS7vOghTpKk0EEyEwN06VEKTATAtSQRCfFOkwlojWyYCZFopZ2AJ0gClIBRqRGikQVYAnWyqqqQrKQqqtAYpAbqZasiqtkUp0mGpRXSKU6RSCukbqdI0psQQpUjSKVEUqBKnpRpQQ0pFu6nSVJUsQpGlTpNTbKukiFbSWlXaKqQrNKC1BAC0iFaBSCERWG7cUlYWpaVRCkUp6UUgiAlSsDUtKCFJK7TsoFigjWyAFLSUw3ZDSqaRsMEkruDGlxXybEzyYnFSzyE65HlxtfUM5a76HxWkEkMJ24r5Vw2HJeP5d+o93w590iFdhXHU9gdWppG/DgqShpIcCOK8L26WuG/HZ3FVE1w3VwuWPQTw3CqdG5lEjwngeqbIY3pWuJcQ6zY+5Vaiask0KCRcb4qtL5S15LhQ1USByPNUt4pElJuymlaAxJbC2NpquY2tehyvNnx4SOBgpgdqJ9BQ/15ryjQTvyXbDO6PDvuqJFFZsWXT1mBzG8XGwgBznadN8uW69IwkgXV+S+Z4PFSOzGFznb940AjpfBfUNO5X0Pif+Xz/me7silSlSNK9u3iRRSlpRpTYjzTTpOk2EAmmAjTus7Ea3TTpSATYgFIC0y1MAhQFWilKkUm2keCFIhIBXabKvNClSE2bRDeClaYCNKioAbqRUw1BbslVWihSelOtlNptBOrRp3UqVES1RpWblGlNqhSKU9NhGilJRVpspFqu0qLm7rWxVSKVmlLSjKFIpSpCiI6UaVJCCOlGlSQiIkJUVNMBXYrpFKykUghSKUiEUVRGkqU6KVKfSI0ilLSildptB4Gg3w/FfLs8yp+XY2TSLw7nHQ4b1vwX1ReN+jZ24/MMLioXHCYiR0jXnZrDex+Nj4rx/Kl47j3fCs5ca8RSS7Mbg34LFPheN28PNch4rwbfRuNl9pxSd3I1xFgHcdQrsRLHK4iNrmx7U0nn1XMmDSJocCpPbW4Njqo8UcLWgAWeNJJptF6vIckVMFpGogANG/Vys74GOgPgT/rguetxSsALmk8AOaDry1wdmOHFf7wfcvrAJO+26+d9k8C3EZw2UjvGQDU6uANbDzPP4L6KANjt5Uvb8X6eD5f2NJ4pgWpXaVL1PGNKVKXJJIhEJKXFFKVCTCek9E9JRSpMBMNUiPJUQITClSelF0jSdKWmkUioEIDVIhMCkRCkKdIVNLO6PMI7s9Fs/R8n2QpNy2UngFw7Hq6axBE7opGJ3Qr0MWWADx8V1RYKKM7AfJZvmbngteVbhZX3TCfgpeySAbtr1XrjhmkbCvRROGadiL9VnvX8aft5IYR3RBgral6d2Xx7nelQ/K4zuCfkr3bPxv4wRhhSm3CtvcWtj6M6E/JTblpve0vlh0VkswbCd27K/6Nic3hS1G4At4K5mF6ilm+WfpueFhHKG1s4rlflsjd+K9UMMOgS9lUnmqXwSvHuwcrQTpUPZ3/AGV7J2DYRu0FVfRsH/pi1rurH4ryPs55qPc79F685ZC4UW/JVPyeI7iwrPMx+NXlDCo6COIXpzlIB2cUhlexDgHLXazfjZPM6Ewxek+hIjzIUHZGz6rz8k7Yn41ed0eSNK2n5Q5gNPN+YVD8C4buBWp5IzfBlGZpRpWkMI0t90hVuwJvwlXmxfFk4CEUul2HkBNsOyh3Z6H5LXJi4ZRTSKV3d+Sl3PknJONc+kpad11CFx4NKs9glIsAJyi9eTi0rO7QMJyPENAJJ0jj/EFuHBzA+6qMVl/teFlw8gIbI3SSOI81jOyyx18WNxylr552gwftDI8S0EOc0avXn968pJGWOIN+q+l5jgXyQuiIDZmm3t5B3OjzB4jycvOYjIiIXiXYEW1w+qfPyXxt8MrK/RXDHyeOZY/byiFbPh5cNMYpWkOHyPoq6C6y7eTVn2SLQhaBxVjvC2hxPHqrI5I20O4jI5k2T+KtczDFgeO8J38PCv8AX+igojkIAjeT3d2aaCR6WpyOEjgGB3px3XTh8uxOJbUcOltjdwIu/MrYynK48HKcXiS0OZ7uvcNJ51yrqs2/weh7J4D2PA6CP2u5kcNqJrb716JreN+qxchxLPa2OaSI5HPq+gA3+6l6BgLgXOFFxul7Pi/TxfL1tXpTpW1W1JaV7XhV6UaVZSKUNKy3ZAburNKYaomkNKWlW0npV2sVgKQaphiYapa1pWWoDFbpTAU2ulQZunoCtpFK7FOjySLT0V9JUmzSrShW0hORp67SrA0BRtTC8D60HFNJFoqYKdKI4IBWESoJaAjUkTaqw6ACYApRtAKKlQT07KKdrIdJ0FHUjVa0mjIBCjSkNkbFTRpGkqU6CV0qaQLVAgK4utVlJRAqJKmQo6VpixW5uoKDsO1w4q7SmGqbZscZwbOpVTsGAditLSomK1qZU4bZjsI6tiCqDhCeRW33SYhA5Ba5s3xRgjBNB9w/JWDCt+xXwW53Y6I7pvMBXsJ4oxhhGkVSl7LXAlbAib9kI7pv2Qs9q9cYpw8l7NUThXkbhbvdtrgFHu29E7Drjxef5S5+DOLYCJYRua4s6fBeUeDzX14wse0tcAWuFEdQvm+eZS/Kse+E2YnEuif9pv8AccCvF8ibu3t+Ndf8vHZvl8crQWt0+VbLzE+DMZtvyXvcTFriIXl8xgdGSa2tcsMnTy4S+2A5haaIVuHgbK4hxIAFk9B1V72Nc4auC7sKcPHAWRxBwLx3kzzsxvIVzPQLvK81jMkh7mNjntcNfAFA1REOAN2DwXVmuOjxuJGmPTEyPQwk0duBKrgIMMYsjUHAhx2FcP8AXkrb6R1QB+L21Eni7U7Zu/FauWZfPmFvleBDHIIw0Cg40TXnw4eazMHgw4kvm06SNTQOI6r6B2ew8UMbQJWyQwudIGu4uca4fh8SsTL/AKa4+ksty7/bW4drNsOzSQBW5r/XxXoRhpCfcK1MkysQQPnmY3vpSTdUQCfz/ILUdh2le7HPUeTPwzK+3mhgZnb6SEjgZR9Ur0ZhA4Kt8RHILpPK53wYvPjBzH6hR7DN9lbDmHoo11WuzbN8OMZPscg4hQMZaapazm2CFzuw5PBXmxfHP0zy3dGldjsPR3UO4dfBOTFwqgBPSujuq9Ud35JvZwqikUr+6R3aHFQGkp6CrhGR0R3ZTZxUaSjTSv7soLD0VONU6QhWaD0KEONenKNSnQUdK8j6ekgbRsgCtiE68lNqLRZ6pIUU0rQUIhotRTpFSsotRQmhK0WkhA7RaSYBcaAsoESgFS0OB3aVEjmmw0FJFpAIpFpqpYVJ0lraOYQZWN4kBSpo6TpXNjjc0EPq1W8CM8fms7EU0tQPNNFHFFIQm00fBFqKe6ho0UlYHFRMg5bqmllBcObZZDmuCMEuxB1MeBu0rq7wFRdKPM/BSyWaal17j5hmGWYjL8QYcRHpP1SODh1C8/jsIJWujI26r7Ri8PFj8P3M0IkZ0I3HoeS8D2oyD6JdHNGS6CYkDVxa4cj19V574+L0zPlHyvFQPwx0PadIPhd1C4w8N8JLg3nS9bi4g5rtTQ4caIWI/JsRiRI/CRPkDKLmt3oHyVxy0554XfpjPdqkcQKB4K8OrDt4mjw6hLE4SXCymOVha8bkFd2U5Zic4xkGX4VtyyF2m+e10tXKOcxu9O/L5hiYBq0Me1paaFEr6F2NwD8RMx72O7lg2a4Ub8+v/wDV5/Kf0d5gcY1k7ixrSdTwPdr8b/JfUcjy04HCYeMm3tYdW3GjQWMZvJ1u5NVpgUKHJFFWaU6Xq242KSkWF3AE/BdLYHP3AC6IW6Hi9q4rW2bHCMuklANADzXQ3J4NPie+/JdEmIp1R0VaJKjt3FTlVmM/bz78GGyOaHXRUfZD/oLXme158LAPNVhqvOpcMWScIbpAwh6LZ7sIDAOS12VnqjG9j8imMGeh+S2dI6KYiJHuqc16owzgXng1I5fJ0C3dFGiN0aPJO2nViwvo9/QKJy6Q8lv6QOKelo3Tup1R5/6Nl6JtyqY9Fulwum0TanpTup0Rg/REvVqFvafJCd1Xojh1hDZQDZ5Kq0WFK06TjWH6vDyVTsWZDVUq7A4o1BZFoOyLVYcApam8ym02d7pqOpn2ggOZ1T2bSSa/fxNcAnqZ9oJamn6wRUzJGRQYQepUQUgAVKgmwWVEkqYCNKbNKi4nalNmIbFvvqTIASIBQWsxpfZ/EKDpmPu6BHGlEUNtkvD0CgQlDuCldqIAUxSoQKe5BCLAUXWBabES3ZUvhL3XqV2oJd40c03UEYkYK1gqbi5w3NqIkaeYUrbyKII2EPF8F06RSo4KsCiTZ+JUWOkgclEkDcrnIvg771B5ICK6myMdwITtccZYeLwFZr1Cr2CoudpdxcgRt5Fc4furo9TiCXCvJQWiIKQY3oFIVSajUg0josLtjhRiOzU7vrQObKPnR+4rdL65LE7Q45seV4uJzHS64i3TGOF8yTsFLN+mt6fHMQ7iCVr9ls3weTYXFzTiR75HANZFHqdQHO9gFx4nBvi/eQOYTv4xWy5e7LjVH4K/jbn2535XG/S3tRjsH2ikDocsnw8mwErnajXmAKX1zIuyeV5XDhsVhcP3czomEu53pFlfKMHhf2gp1EniV91yFrX5Bgr8VRAWTa55eDi6YfI5/pF8ILaoXVDbkqWN0k7UNmj0C1X4dpGxIXNJg33qaLPkphLGsspXKdI4kBUTYhrBTCCevRWTxua8tkBaRyXI/DtdfGiuscquixuhp8YKuEgkYXGSr6LNdhHAeF/zUBDMRs8V0tb1GN1ojExtd4LPmrhMZdrWdHA5reIJ6Loia5pNrNXa4ceKsaKUGgcyp22veCRqRP1SMjAPeFqosY7cuPzVLsJEeEjh8UWulmIZr3NAK2THtYyxufJZZwe+0yPZHc5b+Cek9upuML3f3VonPQLjZhy03rB+CsDT1QXmVxKHyktohQFUpayBwHyUIrbIasDdWCdxO4KRcT0StNNLO8fyIQoWhNDg1J2qgUaq2XV591bqS1KDXAncgJGg7bgppd1ZqKLUNSNSaXaSdqGpRLzy4Ii3UlqUA6wkTSHtc1+ngVLvD1XPfBG6aV096eqXeEmrVPJIOIKaN1frKWs2qg/fdTe6MgabvmmjdS1p94qS5Acmktq0vtRs9Sok0kHBNG6tDvNT7w1S5y9Jrt00u1pNqKfeMI4UolwPBBIGlJrlWCEBwBTQv7x3VIyOvkqy5K1NLtZrJ6J2SOCq1UgYhzRQCaNpOoHglarL7UTKI2FzzTRzKaNuhtk0ASfJdMWExEvuxkDq40FHL8ZBodJdMYRb+p6Lc1cD13UWOGPLZyRqmaB5bq9uXtb70rnfCl1h4TtZ037Vtw8Ta8HzKjLhcPM0NlhY9oNgOFgHqrkrUT2yc+y2LH5RiYntGrTqa6twQvlD8mkMMkobuyQMIql9sc0PaQdwVguydkkGKjDdpZi4eS3jlYxlhMvt8yw2WTNcHafdIX2LLYTh8vgiNW1gBrgsbL+zww07zLT2EAfmvSAAAUFcstrjjMfo0kKKw3Cmw8eIaA8cOBHFYWLwsmGfTiSw8HL0ChNCyaMseLBQeZs9UA7q/E4WTCvp3un3Xciuc0Oi3GdLmuUtRBXOJQ3krBLq5UpUWl5UdYUL33TboLtyo1KmHKYDjvyUDoHAhS74kUapNGyJQCol7em6O8FJo2s1BGoLnL902ljvecbVV0/FImlQe7G4JtMSA81BfH4zV0m6mjja59ZB8JSdITxKCzvChU6/JCpt8yzV/assmxGImnhhjbq0xHR4euy4ML2vzjByMD8UZGB4aWzN1A+V8QvVT4JmMw8kT89xfdyf7s4YhrQP4RsVwt7MYBrHBuZs1uNl7sK/wmqsALPKscP438v7R4PHlsbCO/vxMYb8P2htw8juunOM6wOTta+X2h8b26mFkROra68ivPZbkkGV4v2lmbRSu0Ful8L6s+g6LRmlEwcyTG4d0BbpdE5sgDh0Oyc6sxZ8/b/BtgZ7PhJJMQ7ix7gA3oLHFcGJ7aZzFqecDHAxpFl0ZcG3w3VuI7O4OXECWDGYKFmk0DJINLuRaNOwvkVdHkpZDMfpXDvkkDRqEx94b72N05sXGuOTtnnWFkrFYaKIkA6JIC3Y7g8ea1MD2nzTG4L2qPLMLMy3NqLEFrgRw2I3tcUWWYlr+7nzDDyRkkOa7FahdVzCeF7P9zCWNmwcwq7GIDSCeI2IsKXNZi75e1WYYbDd7iOzmLaeNh9trzoWs/DduMzzCTRg8lBG51O1aQBxJNcFoS4TGufHNHicP3jYiyvaA2ugBB6DmqMThc7xgLHSwnwhrJPaG2xt78D0SZ1bh/GVN+kHMoi5smCw8Jb9trvzKsZ+kbEGrwMB9C4K76Hzc4hjzHE9ou9MrCQOW5P3K79Xu9HeYjK2STuaNTu8G21XsaVmf9Z41yu/SDii8Vh8IxtEkOLuCvi/SBO5rnHK2S1uRFKdh13BVkWS4iJggOTxyQt2cH1bx5kXv8lXLkWIkcZYsufhJtOlskDdVNHLzPJLnGuFXP7e3A0xZRO6Y7e/4fuFruwnbTL5sG+eVksLoxbmEA/AHms2DLs3jwjIvZcQ+QGyTFd1zXDmOT5tj3xtflTmMiNnRh/3nka5f3SZ7S46aGI/SNhY3ObBl0sg5F0obfnVLnP6Rw6PwZewP396UkeXJYWM7JZiGsdhstxWpjSHDuiCTxH4/gs79V+0JaHfRWJuiSDGQQFrmxZXpMR27zWeUHDMw8EYA8JZrN1vuVx/rfnT3ud7eQb4ANr4CleMgxT8iZg5cnmixTC0982I6z1FjjuVjN7N5qcxbE/K8a+Kx43wkBw6q8p/U41rQduc1wzw6fEMxEYNFr4xv5WOBXaP0jytGp2XxEHhUhC5JsTiMjihgMj4GUSyOXDsaDvysG1lTYA5k8Ow8Q1SuJc6NoAJ34m63sFSZbWyx6SH9JBPikyxobfKY3Vctl6PKu1GWZqGtZL3OId/uZdifQ8CvnDuyeIjZRfNHOGglk0Vb1uAQSCOipGR5pHLXdSnTThIwGgfVa2m6+zVRo7eqa8Zl+KxeEfhtWPnDXPAkifEa4cAXbX8VtYfPQXuZi2Mio7PDxuCdrF2PvTZLWxx5p2sqXtDlcTmt9ricXfZcDXqm3P8tdwxLONUrJsucn207tBq9lkHtBghK5ne+EC9e1HySHaLAGVsMcveyPOlrW1uVdJ2YtdYOe4wtlbA001u7vVdGMzTEYR1OwT9FWXteHC+mwO68/jp3YjFOe7i42o1t6OQPwfY3DS0WyYiTWfnf4L1OV4w4vIIJg7xN8DiCvOTXjuxhYwW/ByNJH8NV+al2RxoHe4J5GiTYXyPIrnldV3xnp6cTSYnLnPiNSt2rzC5sDnwedEzfIkcQqoJ3ZfmL2OHg5hZWe4OXL8WMbhnf7NNuCPqu5grNdNPaMkbLEHxu1NPNIu0jdeOynO3NkDX7E/Ir17HieAPbuCLUlYsWtIcLUiLXPC/w10VrXG6K0idIQhAIQhECEIRUZ4mzwOjeLDl5p8Bje5hPiBIIXp1g5w0xYwPvaQfeFqFcZjI5KQs8G/eqQ8hBebV1tja5zH9Eu7ceS5hM4yuYDRbWys7w1vxTVOUWFhCA4NBLjsFUXnqq5XksIvjsmjbuYQeKbmM5cVyCQkcUtRPNOJyjqDQTxU6aBuuIEjgU9R6pxOTrc1lKFUqdZA4o7w9U0vJ0BOgVy96VEYhrWlz5Gtb1caTjtOTs0hC4RjsK7cYmL+sIV605MFsmkeFnHopaz9kqmrQGjqvL2/46cP9XCT+A/cn3l/UcqNhzT26qd0/i9f+rNZ6OUQT9k/JRPlzQLrj96d3+HX/AKHMDxRDx5jYqsxNBO8pJ6gf2Vuo9UtZ6qzzSp1/6p7pp28X9Lf7IdC0iqI6bDZXA+ae3Wle6T9J1/65G4XYh0hfvfjY38gpdyxrvdbR4il0h9c0zL1NJ3yfo6v9cpiZvTAoDDtO0jAaNigaC7e95XaQeAOSfkY/xL4b/VBoCi6QdKKgKBsPk+a6w9reQQJmXuW/Ja78f4nTf65WyvaDU04H8yl7ZP8A+4xA/wCo/wB1094zo35J94z7LD8FO/C/o6cv6obmOKA8OMxI/wCsqQzXGN4Y3ED/AKyrNUf2G/JGuE8WNV7vH/F6s/655cxnmi7uad8rOOmUax8iqDM1zNBZEWj6phbX4LQacOfqNSIw5vwgKzzYfxL4s/64TiOAqPp+6H9lESMAIbDCATZ/ZgWu7RCTsB8UwyIbloKvbgxfFn/XP7WNIDoonerUhimNeX9xGJCA3WC4GhyXRogO2g/AqJgw/Jp+avbgdfk/rgxWGwmMa4+yhs5Fd6PEfvCqbl2AiGkYUabunuJo+W2w8lpezw8g75lP2eE83D1K1PJgxfDm4XYXASPEj8OHODaHi5dFEQYVrSBhomgyd5wJo8Numy7/AGSCv3jkvZIftkjzV7cE6c2TLl0Er2SMllw5bygNB2973auw0BxmYwwji+QALQdhoWtJBOy5Mrc5ucYcs2d3lN9VZlL9NcMp9vQdnJmMzCfBYg+CYOie09eC4vZ5cnzh8TxRY6r6jkVDF4guzd+JaBHJfjaNvEOJXpMdhm5/lbMXAB7ZA2nNA3cOY/Nc8npjtxAbjME3Fs3kaAHVzSwc0c8LsHiAHQSCqdyKz8hxpaO5fvXLqF2Y3C9w8Sw33Ttx5FZa28tiIZcszGSCT3mGvUcivW9nceHM7lx48PVZ+dYc4/Lm41jQZoPDJXEt5H4LIy7Fugl4nYqX0PeykwTi92O+5X9CFxsmbmGEDmEa2j5qzBzd7BTvebsVqXaWOprlNVA7qwG1pk0IQogQhCKFg9sPaosglxeCY18+HIfpc0utl06gOfP4LeSkjE0L4ne69pafiqV8ifn+cNwsmIfFCxkZ3aInaz8Cs7EZ3n2KhlxEL5WYQAHZgaR8t+K7sTFiMNiZIZJZdbHFp8Z5FQ1ztFDETAdNS6SV5cvJPpktizKbexsa7x7y0kn1Ujj87w7TG042m8dGpwHxWmHzg7YiUf8AUpDEYwNoYuWulrfGscooyzGZti5CybMJMG47h+IvSR8lE55nmDLW4h7JWXs7SN10DFYtp2xD760FTMJZzqkmluq8LtP4KaXsiX6z5r3wjPssJcLAkbqNddirW9pcxYblnwxAHKAi/vXPUhADpC+uGoAphjhxI/pCp2x0N7XYx9iGCCahdx3X3q53aPNmOAky5jCRfiB/uuENPIgH+Uf2UiJDv3hv0CL2LsT2lzVkDnHDNa0t95jLr7+KMJ2nxErIIW62E7OnmjDhXU1zXP3bgQQ4AjnpFq0SYgbid49AFNLzVsz7NsQCTiu6F1Qh39eC5MwklsOkl72hu6zutDvMTyxLwPgoufii6/bJQOgOysljNzlYjsWdt3VW3hKFvjE4wXeIcbN7tCFrdY3HT6UpD1UEL5b6UTNJX4edJUOSk2hxo/BNRRqPIlMmuLiUjd8TSidiFPQZ62SgCxs4j4o4i0rIO6ulGkji53zT35F3zUi5p+oAfUpXRUQCzzKC1wF6j80Bwvn8EO33F/FNQNpeSacT6p+McwotPDwt36hNwBA1bHyTjAiXXxS8X2vuCZ0k+GwPNFjkU1Ajq+3t6IBcPr/cmUk1FAe67v7kFxJum/0pgEA8Um6iTrodK/NNQAc4cNP9KduqyGEfy/5QTSqfGHOa8Ma5wrdzjtv06pqCR1WKawfAqQ1Vvp+CGt8I1SXXMt/IKu5O9q3kOuvCKZXU+fJUWDWN9vknbvJKn2C5wrT4vDuT19PJDgaoVZO2rgiDe+CDqGxpQkxIgk8YIiq9QGok9KG6jNPRY4ua6KQ0C36prYHnx6fFVFhDwNg35p+ICwAfiqnSueJGRtDZWjYPOx+I5eisLnaToovrbXdX8FFhkuDTYA9Cs5r+7xDXtJBa4EFdksz45o2tw8kjX+89tUz1srgeLcV38P7cvJ9t3OWtdJh8yiBMeJb+0aOTxx+fFduRZp7JOJGEkfWZfFcWUTMxMMuXTuAZM22E8GyDgVmjvMHiS1wIc004Lecaxr3Ga4RjDHmuCbUT6MgaNgevkuzDyNxeF0F3vbtPms7s9mbP3MjgYZdqPAHp8V3y4N2Xzks3wzz4T9g9FiVvblgf3ExbILY4Fr2novO4/CPwOYSR76Rux3Vp4L1GLa1zWzUCD4X+R6rLzRveYWPVZcw013keSX6E8lx/duawmxW62YJhFj6a645OXQryWHJikFLYbI46XtO43WJdD07wasFSikDjR2K5cJivacODzGxCYdpkK67Y00EKmKQuNFXIBCEKoEIQqr5/2mgiw+eTamgCUCQbdf8AKxScN1HyK9f21wYdHhcWG7gmN3pxH3rxpH8IXO+XKMdWNTvD/aaPgkRhzvqHwUQ0bGgm4WbofJTvyOrEEQXsW/Ep6YujUg3fgnSvfkdOJ6IvJPREfs/NRpHBPyMjpxS7qP8Ah+aBHFdW35qKYTuyOnFIMhHNqNMXVqN0FO7JOnEu7jrVtXkm2FjxbaI+SV9KS8XIp35L04rBh6+qhVgO6hCd+R0YGRVb38ExpvxEgeQtRLiVNsgaKLbPquDqZDfquJ9RSipmWMsI7sgnhzpQ1A/WA9WqqSLTJ/iafQUkXWeFKCQc4AgHYo5qAKeq+SKaE3PYTTWV8VE+RCBoUQU+aBotJPh5qgCYZtdtHqVEFhbqpxB3BtAqj9yIldHl80jxSo9a80yoGHGuJQW7XyUbPVLmgny2SQNuLmn0TsdUUgaUrPQBRuygGweSCVcr5cVGRjHgtcA9vRwtK65qTdJbZc0H1QQAq0MadbtZBYapoFV135qV7oVFb43Cdro4oy0gh7nOpwHKtt91I3oOgAu+qHGhfwU0iaRFGJd3TdZcWkCqB2N9fRZxfqN2tDEMbLpDhYXO7CM/3Zo9F6PHZI5ZTdThkcynN94bhbmawMxeEizOIe/TJgOTuR+K89G8teGlp40V6rs5EMXDicI7929tG/xVtXFmZdKYZQ0nYr3mWZgzGQiCYaiBW/NeAkhfBO6N4p7HEH4LZy7Fubokaac07rnft0et9kbE5zW7seKLTzCxcZhdPeQO3rgTz6Fb8ErcXAJGndcmZR3GyQDcbH0RHj3NLH0RRC78HI0tLHeoUMZGBLqHNVRO0kUs2e1a+GnOHlvfSeIWqXagHjgVigh8YPOlbDinRVG8nTyVlXTWZNocBa7myW0ELDfJbdQNc124DFCVrmOPiXRmxpB1prnjfpeWuPHgrwbVY0aEk1Rw53hRjMmxUP1tGpvqN18yO+6+tEAgg8DsV8ux+FdgsdPhnCu7eQPTl9y4ZxqOa0wQOVpUmGnofkuahx8kgUwK6/JP1JPqgOSSkNwjhyKBN2Oyk55IrS0bVYG/zUdV8kW7m2vVVUQKbWpxrmTZUrHmnR5gI07oECiwCmAQfdtS9okAotsegQIEdEJE2fdP3oQRCD62kNuaam0FWkrA1t7uoVyCTwz6hcf5gFVQQhOkCUgATRc1vqkmBR80Im6JoNd9ET5E/wBlBwrgQfRG9oPFFRQmOKYHmgSd7IpGlAGiOJ+SXJOkz5bII0pJgIJQTY4Ns2wGq8TbVbiTvt8BSCgV0RAGF3CuHM0mYw3Y7HpxSHxQfS0UAhpPVWx4fWbdKxg6mz+Cra10jgGtJPQBX+zaC32hxjaeFDUrJti0xDh2/wDGA+kRKRjwoBIxDyend1+aLwYsB7nk8CQgMhO4Y+uuj/K1qptQ8NB8NkeYTDQW+frsr6wwFuv00/5Q44OjUct/zLLUqimgfvG35NKi6utpupxOhrq6cUiK4/epVUTuDQCSuZsxsKzGbuLTyAIXGCQQvTJ/y5W/9adEh8QkHNbfZ/Huw+NYGuYGSHS7XwHyWGypGOaee4UoXdzJe6y1Hq8/h/21sj4u7c9lkggtd5grjwZ0O08jwWlHMc37Puju8RhTr83N5/d+CxonFstD1Cxk1HqsmxJjlMROzuHqtuWMTQPjP1hS8fh5vEx3mvX4KYSQizuPvVg8tONQII3B3XGditfNovZ8e8AeGTxN/NZTwLWcldMEtUCVe9utuyzmOpwNrQheHBSVpHvDHsTsRSsw+J7uVrkpIw4bcVzFpaVrY9OZBLE2Znx9V1xSB7Aeq89luL7l3dvFsdx8lqiTuX6CduR6rUrFjvHFSVTHahxVg2C2wa8V2wwhjzCLFNB0zN0u6ah/he1WXn+DGNymZrW6pI/2jPUcfmLWcptXzw6Byd/V/hMNDxs4D+Z4USAdxwKACOH4LjVAIBN7+hT1sI/dn+ophrpDxb03cAouaWkg18DaKiNneSZcUAHmmTtVD5KCIdXJSa87+LSD5WgMc7g1x9ArWwPawufBIR1ohFQLgdy8E+YKk0xfWc6/4W3+arGx4J7FGVxdHXO/5P8AKhaQCdI0NbhwND0QhsbnC9TB5F1IQVuOo3QHLwjZRCA8hmmh60hZSJKKkhXaoqxjGFvinYzyLSfwCiokkFUXOjjE8cbJmva4Euk001hHI3vv5BTdho9Q04qIj4j8ly3Q23UiRaCcjQx1a2v822o7UkDdopSqNgVLUSKLtlDe+CKtBNTETzyHxcFRvd0mAeiCwijSQNqPxTBafdI+CbEqUm62btcBfUKLQXnQwFzjtQ4lbeW9ndUbsTmAdFE1tht0a6nohpjuke8DU6/gogBZua5rBh8U9mBLpIg406TiR8FLDZlHNhHSv8Lm7FvX0W5hbdMZWSPQty/B4XANxmaYwwseLZHGLeR8VjYrPcnga57cJN3TOMk+I0ivgFj47HT46XvJnk17o5ALz3aMn6I0g+9M0fIFe7HwY44+3jvntuo9dB267NQvBkgaehY6R34ruZ+kjsZE4O+jZ5q46cMP/wBnL4wBVLTw2XYpmIY8d0HNcCNe4vzWOMv012cft9X/APi92egZqw3Z+YOvazEwfdaol/TS5tiDIIwP+ZP/AGC8rBkOYEWMRg4dhXdwA8PP71P9T+/eZsVjnOe86nFkYFlTgne1B+k6PMsYGZlk+Fw0LzTp8KT3kf8AEb2cOo4r0seXSzSlkJMoFHvGN8BB3BB6EbhfHszwf0fmEuHa4ua13hceJHIr6V+i/NsPmsbuz+Yl/exMc/BSh5BDeLo/hxHxC5+Tx2/Tr4vJyvt6aPIzCQ7F4gNB+rHsfmvRYHC4OLC91HAzSR4tVO1epXi+1cWY9noJsVDI7GQw+KSCT3gw/WaRxA5grTyPNG43ARTwvDo5Ggt34rzWWXT2zjZ6YnaIsj7Q4yKKNrI2Oa0NaKA8IWNIKcei1e0bS3PcS/8A9QteP6Qs14tq9mP/AJeLL/0i1xaQQuqRoBDhzXHS7YAZIK5tNLLri78nzCTA4pr2m2g05v2m8wuvGRCDHPDDcZOph/hO4WS6GSKnOaQDwscV2RzOlYGuJJaKF9FitRpQHgV6DKMU7eNx2HBeYwzySWlaWExJw8zXfVJ3Ui2N/PIDLgWztG8Rs+h4rzT917OFzZoKO7HCj6FeQxEJw+JkhdxY4j4KZJHOFdE/S7dUu4oDt1huNJr7CHNB3XLFJ1XQCtBAUVrYOYYiHuHkax7pKzBupNLmODgaITaWNiGWSA6SCQOIPJaTHh7bCy4cQMUzxCpWjfzXXhn1bTwK6ysWOrigJAhSoK72y+eZ3gnYPNpomxfsjT4y1tDSf82sl87I36HuDTxor2/a7AHEYJmKjA1wbOvm0/2K8VUgFNaB8Vwy9NQnTBrC4MBA4+IKtuLicQC1wNK0t23HyTIsAC1nbSr2xo2EU3qG7KAxYJBEMnqRS6PFzb/9yA4OsOjeBXqgqbjYr0nW2/4T+SubMx4rXt/ESPxUS1lVW3ok0RkVqr1QXhjKsOiIHLWgywsA1Mi24kuI/NVAx8A5ppS1RgbuZ6EhBK4TVSNHUWpgRAWZR6AhVtfG4GnMI50mTFxplenNBLU3kSUKADK4BCCqvIqXdu+y6hx2XrXZdlLiaYB5NkIR9F5W7iHbitpisc8XSeHJ5PQ4tsNNJaTuKK9X9EZWODpBfSUoOS5a7hLL/wBy/wAlOeJfFk8nSi8E7br1hyDL3b97N/WP7Jfq/gTwxM3luCnKJ115WFr492mT4lWEyScSa6UvS/q3g/8A3U33JO7NYUm/a5R8AkzXryeZMLtqbR6kqQhfQHhvpa9CezWHv/zr/wCkJDszCP8AjXf9v/KvKHXkwe4cD4nMA66lAta2/EP7rfPZhl2Mb/8Aj/yj9Wb4YxvxYf7pyhwyed3cSOXIhSb4RQjbfU7r0H6sG9sWwnoGEfmvJPz3KYu0L8pdinO0Sd0Zw2mF3T57K4+/pizX27HaWtc4gNaNzQXo8qwOTYrCslDe923LpCCD6clyvynCljmSF5BFHxUvKdqIz2YwceY5XiZhEJBHPhzJex4OaTvY6Hja3wpjnH1KKDDsruGsY0cAwALy/b7OH4LARYGE06c6nkH6o5fFeZyPtnOx0cpk7+B/nuFwdp86Oc5iZh7jWhrR0ST23lrXpjySlzr5Jd5L3bmxPLXndvQkcj5KknzQHUbB3Xqw9PJnbW3A9s+Gjma0jW0Oo8R1HzWH2kjccscW3UczXH0Nj8aWpgMwY0dzK2gbp3Q+auxOFZiGvjkoxytLSfI816Ln6eXhqvnJPJeiwUvfYVknOqPqF5+eGTDYiSCUVJG4td8Fp5PLTZI/MOC54XSeXH/l7TLM2c6BkYhMjme9vvp8vmt9hkNuLGNaHaQaNOrmvH5Xiu4kcA8N1deHReuila+FkgkLw4bHUSPgrftyxrwfavCmPF6wNgdJ9DuFy9lcydlPanLMbqIbFiWav5SaP3Fes7Q4SPHZbKWAvkq2lovgvnTXECwacNx6rNdsLqv0n21MMWHY99FskckbhXvCv8rB7D9mZcoyDCtzJ4GJou7kHaME2ATzPVec7RZ/jc5zHKRuzCQYSGUAHeWR7GkuPkOHqFou7Q5jOwCEOLBxe2MkfNeHK/8Aen1fFjrDk48wmOJx88pN2816A0Fz8WpE+Ljx3Tba9mtR5L7qNALpwhp5F7ELnKsg2eCuddY9jlUcOZZW/B4jcA+F3Np5ELCkhdg8bJBIPEw6fUdV1ZRiHRYoAH3jwXf2lw477D4sA/tG6XHzClVl4d1TDz2WhdiissECQLRY62rn9K38lzAD/Z3GnfV34qefYMOYMZH7zQA8dRyP5LFwrBLO1heWE8HDkV6CV7ntZHNRduyTo4EcVUeYO6hzUnDQ9zPskj5KCy0sa5dEcliiuIGlYx5VV3NfSuabXGDatY6tkHdE4xvDmncLXhmZNHrGzh7wCwmP3XXBIY3h7fiOq1tlsFxa0m1YyTW3zHFUgtfFrbwI4dFTBOGyV50VrbGnXNEzEwPgkFskaWu9F8wnDsNNJDIQHRvLT4SOBX1E8V4jtLhSzOHvDgO+aH79eB/BZzmyXTAEwNkOB9L2Q6Q3p1MB52VN0Ubvee5pH2SuYYWZsm2Lk0DfbZY4NbWiV2nZ8NdS/in3k17xtr+F9qp2FkcwtdIHgm/HHqN9U2YMBll7dfXugKV4z+m6vc5wApl31NILpSaA01/EFHuHOFmRwIGxAG/wT0y6A0PbtzIWbqLsqe4mwBvzAUixp20gHzAR4xx0HrdhBMnEMZ8HFRUDpbpHdtc53ADa/jWyk3DzOcA5sTgeV0R0Ck1x1eJh35hwNfcrBrLz+1kYAByAb8lvGT9s239KXNa00Y2/NCtlhdI+2zSAcPdbuhb44s7yeZ+i8yvwyj/vFTGUZxVte/1Ei9M1+9nikZJAfD8ybXLowdfyM3m/o/PIwP2slf8Azh/dLuM9B2lm+EoXo9r8MfiPU7IBceACnRis+Rm861vaFpFPxP8AUEGbtGzbvcUPiF6KrJFtJHKkjbSADR/hUvgxX8jJ58Y3tI3bvcUT/KE/pDtK3jJiv6R/Zeg8AFus+fO0Ncw+FrXndToiz5WTz4zbtMzbvcT/ANsf2Uvp7tGOM0/xiH9lvhzxtQPmFLW7w0Dvx34K9EPyr/Hnv1k7RN/30tD/AJP+EN7V5/f70n1iXpLN03fqSdkanl2528gn48T8q/xgN7XZ+3fWNv8Alr53iNftUpeTrLySTxu7X2QmzuvGdp+zWJxmOdj8vh7x0lCWIbG+GodduK3h45g5+Tzc5ptYDPXS5RhZHy+MxgON8xsvOdr85Zist9ka7U58jSd+Q3UsD2VzOSJkWMxYwkDd+7j8Tzf3Ba2G7I5JCLkw8mJfzM0hN/AUFvlI5SbfPcsx7sBiPFZgefG3mPMea9Q5mpoeHNcx27XDgV6iTJ8pkibH9HQRsG/7MaT8SOK81LmTZsY5r4I4cMKZG2NtBgHAnr5rncpt28eNy9RyvZSporUkw4P+FQcOCavjst4eTd0nk8WvbiIm0F8MLpK6cFns7QYyBzmNYGEGnNdZo/Feqa0NYGgUBtSzMZlTMZmsTqIDmEyOHQbV6mwvZwrxcnnMViRmmLMz2hs5ABLGGnVzPQ8lGIT4HENe+CQcdi0iwvo2T9nn4g91g4A2NvEMbt8177J+x2BghdLmEbZ3ng1xtrQrZjE1lk+AOzad7qZFE0jfxO/uuzDZ5mjIRE3MoYIw7kASPkCvs2Z5v2ay0vbluUYGbEcDMYGlvpuN14jFyjE4h87o4tTzZ/ZtAHwpJja55TGXUeKxGY4yZjWuzSeZ7veYCWj7uPyV+C7NZ3mFex5RjpgebYHV8zsve5Hn82SYpr2w4eVl+Jj4m2fR1WCvRZz+kCbFQnD4GKTDMe2nSah3g6hvIeqzcMm8eP7rz2EwuW5c3LsPneJPteFwrYsRh2bgOBcQ0uHQOAIC3My7UYSfKHYPLHNFkNcGCg1m9ivNeSGCy+V1+2Stcd/HRN+tJNihw0r2QSF7drc6uK8eHgz7N19DLz4Tx8ZXSHWrAdlztcNe5oK4GxsvXlHmxqXNWRe+FWpx7PBXKx1ldrHFrg4cRuF6rGBuO7MCSyXRkO9DzXlGOXqMikZiMsxeE+uWEjz2U01tgEHS3yXZCdQFLj37vztdGFdTg1c7Pax2sJa8OHI2t10veRxym6ewHf5LCC2Wn/w2DqCQgxcedGYTtrYuv5qlTzE6sa93WvwVLHclKqdJjZK0KKvY5WalQwqwFIq9j12wvL9uiy9RBXZhpKe08jxWka+Fn7l9O9x2xTkaWSmjfP1XPQK6GHvIqPvs3HmOi1ErvicXRA3usftFl0uYRQPw7QZGEg26tj/laOEfdtVGcYp+ByfF4mNmt0LNYbdXRF/cpl9MyTbyhyDMAKOHB9HgpDJMwr/y5+YXJ+v9Cjhnn0IUm/pAZW+GmB9QvJc3pnhdByjHgG8LJ5UAVX9GY4bHBzeuhNvb/DUCYpLUx2/wgI1RyjzpTmdKl2BxbTvhJx/9MqHs2Iad8PKPPuyu9vb7Ac3P+LVazt5lxdTpS0eYV7E6cmV3Mod+7eD5sKCx1bNcHDnpK2x22yo/8S371JvbHKT/AMRF8U5xOqvPeIWTpJP8PBJ5kLPA9oPk3cL0o7U5O7/fQH5Kbe0WUnYSYb5hXnDqrxgMsYDXTazzc6OyfPZC9sM5yetnYb5BCvOf06q8g3S1xGtgvlabSHXUgrjsLT0s67+oUnOYGihY5AL0fbzaQBo0LIvmKUiCRsDxUu8GkbeiRlANjcp6n7C7vUQb0lSEdkkv/wAKBmfRpoJ6JF7jfCk5YosMLC0BxuudpBzQ7bYdaVW6fNTmadHeAitQ38qUGygufYFDZvmoDekeSlzpo2ucCSCTfXkjvXnhp/NRoIo8qU51dBztTC02L5g0VLvXOO9JEbG1ECwpyppYJHE0dPTYJFx6ptbRJ4fFGlTaxEu0miDfJZ0mS4OR+osdvuWg7LTLDdhFPG9URzUals+nAcswwjaxkRj07DSs7M8E3B4T2nWC1rgCKo7mvzXoj4QbHFVyMZLGY3xhzHCnNduCPNJdXZcrlNV5ceOTUCNIFAeatwbmzvn0792Qwnz3JVOYdnsxwzJ/oqbvGFgMMTiNTHA7izxFcL3Cu7NSQYnAvfFIH3Rcbsg8CCvX+Rv04Tw/6+g4fH4XJclw4hGuaRoNDa+pPksjP+1E+KwrMFhyY43NBmcOLj09FnSOe7TrcTQoX0UTEHDdoXSZT9plLrTIJsqEjtI24ldMkelxAHNUhmpx+S9UeOzSpjAdyqMVJOXaIxQ4Wu54DIiTtQXPQ7vU7pZVrKvD4U92S52p3DyUGyOhlcx92TsurKnd7BK92/7Q16cl3uwkGJbXB3msXKR0xwtcDJA7iuhsgA4qqXLZot4zYva1V3WIbs5vyWLqus3HaJbPEK1r1yRxP40fkuyLCySCxwWLJG5bVjZTsQvS9lpgMxFjiKWLHhWtbR3Xdgn+yYiN0Zo6guWWWP6dscb+1uLjEeJmj+y8jb1VMFCQLszSm5niABsXX8wuKIVIuWTcaQ3HwW14fouMgblyxIzbR6LXw7ryvSeUn5KRWHjf31qhpFrpx7aeK57rlalVbakFWNlMFFTaVYCqwbUwVNBkqyJ+k0qigGjaDdjNxg2rIpO6kDqvdc2HdqhaVZe6sSu9hEWJ23a7dvoVLGwsxGDxMEm7JInNPxBVTTccD+ltV87tLHk/YP4FaZvp8wOVYA0RCQCBtqOyrOU4H/03b/xK3VPoBYCdrBqrU9M43dPuARs0dVjLw4/dWeXJzjJMC4bax18Sg7I8IOD5fmu/xNaRroql3tYa4hrSb8ILuS59WH9O3NyuyLC6RUkt8+CgcggO4mk+SvccwvS0jyJZw+STcXionASBzzyqM7p0+Otd3kUfq82v35/pUT2e2vvx6kFaEWYkhwlgew3wIuwrG4mKhGwFgHLSQAtfj4fo/Izn2yXdnSP+IZX8pUP1ecRtPGf+khbgnF/vWeQvdVT4vuTelzxXBqdGJ+RkyBkOJA8MkdfFC1Pa4ySdTR1tyFOmH5GSxu9jexX1dvmraaGtAPHj5IoXwQGhwvnxWGCbwOqj6CtkxXDa1MtDWjzUHNAdfOuKGiOwSAPLim4bWhpNkbUFQEOHFOthyS41ueA5qXO+aoXoh7GyRljrq+RpHIlMdUQmMDdgwEDqm/xVoJFHlz8kwN6S01uTaLoz5AEeZTFaqquarld3UL5KvQ266pRu70A1V8kFpLeVk9EtTia2UNOp/FMtPeEBx2V4ptZr35WomU3XL1QxtkOLiQb2Kg62gjYkEC64pxpyT1uPA0EhexJ8/VRa7UXbUrNNAi0mNJRqJ3aLVDMNh4Se5w8URd72hgBJ+CuYXGhdb9EprB2NO5GleNTlFb4qNHiFWfCr9BY0EuLr6qqQbtXXHZ6sZ8jDqNjdUxxHSNgFpStFE+Shh2NdDuN6XqnkefLx7ZmLFQub12VOKj04R38tLuxrBsP4gq8ZG04R46BdJluOVw04srcGsMYHErQ3G6x4HGORrhyK2ZBSzfbWK6LEloo7q9ssbuIAKzbU2uIXHLD+O+OTWY2MiwGlWlzQNhXos2ORwojZdDZHHiVxuNdZYv1JsdcjR5qq1KP3wVJjppoYh/ezvf1VIFO2UjxQD4laO+Fv7MLTjdpyx/8AOFmwe4F3A/8Ahk3k9n5rMGfjd3D0XIAr8UfG0eSqUqhASTRVjVJQarFaBAKDwSapRq4B+qAtPFpV90uDAOqYjq1djzurB2Md/szD0fSszKXu8sxUlbtgeR/SVzxk+ytH/MU82NZVifOKvnQWkfOMN7RoDmMZZHiLm18t1M4iaM3JExovjqpaPdgOq/CORSMbXcQD6hYucvqxzmLlinjkZqDmt9XBWRyNJ1CRhadr1WFN2HiJ1GNhI23aoMw8MbjoiYCOjaWK3IuI2O49Qo20cSDY4IcNOw6WFawNIHhCzVUgXvvw3UZMLDMAXxgkiiSu7u26QaScBVVdJummZNlmFc5pELS8HVd1v12TGAgjIcWuOp2/iJXbbdWkMAT0hXdTUcz8Oxzv3TD51aF0AoTdNR//2Q==";
6956
6923
  const _hoisted_1$b = { class: "user-operate" };
6957
6924
  const _hoisted_2$7 = ["onClick"];
6958
6925
  const _hoisted_3$4 = /* @__PURE__ */ createTextVNode(" \u4E2A\u4EBA\u4E2D\u5FC3 ");
@@ -6961,11 +6928,24 @@ const _hoisted_5$1 = /* @__PURE__ */ createElementVNode("li", { class: "border-b
6961
6928
  const _hoisted_6$1 = /* @__PURE__ */ createTextVNode(" \u9501\u5B9A\u5C4F\u5E55 ");
6962
6929
  const _hoisted_7 = /* @__PURE__ */ createTextVNode(" \u9000\u51FA\u7CFB\u7EDF ");
6963
6930
  const _hoisted_8 = { class: "userInfo" };
6964
- const _hoisted_9 = { class: "name" };
6931
+ const _hoisted_9 = /* @__PURE__ */ createElementVNode("img", { src: _imports_0 }, null, -1);
6932
+ const _hoisted_10 = { class: "name" };
6965
6933
  const _sfc_main$n = /* @__PURE__ */ defineComponent({
6934
+ __name: "user-info",
6966
6935
  setup(__props) {
6967
- const { getUserInfo } = useAuthStore();
6936
+ const getUserInfo = DtCache.getLocal(CacheKey.USER_INFO);
6968
6937
  const { getUserActions } = useHeader();
6938
+ const { appConf } = useAppStore();
6939
+ const go = useGo();
6940
+ function signOut() {
6941
+ var _a, _b;
6942
+ if (isObject((_a = appConf.pages) == null ? void 0 : _a.ssoLogin) && ((_b = appConf.pages.ssoLogin) == null ? void 0 : _b.logout)) {
6943
+ let redictUrl = isFunction(appConf.pages.ssoLogin.logout) ? appConf.pages.ssoLogin.logout() : appConf.pages.ssoLogin.logout;
6944
+ location.href = redictUrl;
6945
+ } else {
6946
+ go(Pages.LOGIN);
6947
+ }
6948
+ }
6969
6949
  return (_ctx, _cache) => {
6970
6950
  const _directive_icon = resolveDirective("icon");
6971
6951
  return openBlock(), createBlock(unref(Popover), {
@@ -7004,7 +6984,9 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
7004
6984
  ]),
7005
6985
  _hoisted_6$1
7006
6986
  ]),
7007
- createElementVNode("li", null, [
6987
+ createElementVNode("li", {
6988
+ onClick: _cache[0] || (_cache[0] = ($event) => signOut())
6989
+ }, [
7008
6990
  withDirectives(createElementVNode("span", null, null, 512), [
7009
6991
  [_directive_icon, "ant-design:logout-outlined"]
7010
6992
  ]),
@@ -7012,15 +6994,20 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
7012
6994
  ])
7013
6995
  ])
7014
6996
  ]),
7015
- default: withCtx(() => [
7016
- createElementVNode("div", _hoisted_8, [
7017
- createVNode(unref(Avatar), {
7018
- src: unref(getUserInfo).avatar,
7019
- size: 28
7020
- }, null, 8, ["src"]),
7021
- createElementVNode("span", _hoisted_9, toDisplayString(unref(getUserInfo).realName), 1)
7022
- ])
7023
- ]),
6997
+ default: withCtx(() => {
6998
+ var _a;
6999
+ return [
7000
+ createElementVNode("div", _hoisted_8, [
7001
+ createVNode(unref(Avatar), { size: 28 }, {
7002
+ icon: withCtx(() => [
7003
+ _hoisted_9
7004
+ ]),
7005
+ _: 1
7006
+ }),
7007
+ createElementVNode("span", _hoisted_10, toDisplayString((_a = unref(getUserInfo)) == null ? void 0 : _a.userNo), 1)
7008
+ ])
7009
+ ];
7010
+ }),
7024
7011
  _: 1
7025
7012
  });
7026
7013
  };
@@ -7030,6 +7017,7 @@ const _hoisted_1$a = { class: "lang" };
7030
7017
  const _hoisted_2$6 = ["onClick"];
7031
7018
  const _hoisted_3$3 = { fontSize: 16 };
7032
7019
  const _sfc_main$m = /* @__PURE__ */ defineComponent({
7020
+ __name: "lang-picker",
7033
7021
  props: {
7034
7022
  reload: { type: Boolean }
7035
7023
  },
@@ -7190,6 +7178,7 @@ const _hoisted_4$1 = [
7190
7178
  _hoisted_3$2
7191
7179
  ];
7192
7180
  const _sfc_main$l = /* @__PURE__ */ defineComponent({
7181
+ __name: "menu-type",
7193
7182
  setup(__props) {
7194
7183
  const { getMenuType, getMenuMode } = useMenu();
7195
7184
  const defMenuType = ref(unref(getMenuType));
@@ -7236,6 +7225,7 @@ const contentModeOptions = [
7236
7225
  ];
7237
7226
  const _hoisted_1$8 = { class: "dt-feature-item" };
7238
7227
  const _sfc_main$k = /* @__PURE__ */ defineComponent({
7228
+ __name: "switch-item",
7239
7229
  props: {
7240
7230
  event: {
7241
7231
  type: Number
@@ -7269,6 +7259,7 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
7269
7259
  });
7270
7260
  const _hoisted_1$7 = { class: "dt-feature-item" };
7271
7261
  const _sfc_main$j = /* @__PURE__ */ defineComponent({
7262
+ __name: "select-item",
7272
7263
  props: {
7273
7264
  event: { type: Number },
7274
7265
  disabled: { type: Boolean },
@@ -7303,6 +7294,7 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent({
7303
7294
  }
7304
7295
  });
7305
7296
  const _sfc_main$i = /* @__PURE__ */ defineComponent({
7297
+ __name: "feature",
7306
7298
  setup(__props) {
7307
7299
  const {
7308
7300
  getShowBread,
@@ -7375,6 +7367,7 @@ const _hoisted_6 = /* @__PURE__ */ createElementVNode("div", {
7375
7367
  class: "setting-theme-tips"
7376
7368
  }, " \u8BE5\u529F\u80FD\u4E3B\u8981\u5B9E\u65F6\u9884\u89C8\u5404\u79CD\u5E03\u5C40\u6548\u679C\uFF0C\u66F4\u591A\u5B8C\u6574\u914D\u7F6E\u5728 src/core/settings/theme.ts \u4E2D\u8BBE\u7F6E\uFF0C\u5728\u751F\u4EA7\u73AF\u5883\u8BE5\u5E03\u5C40\u9884\u89C8\u529F\u80FD\u5C06\u88AB\u5173\u95ED\u3002 ", -1);
7377
7369
  var _sfc_main$h = /* @__PURE__ */ defineComponent({
7370
+ __name: "setting-theme",
7378
7371
  setup(__props) {
7379
7372
  const themeStore = useThemeStore();
7380
7373
  const {
@@ -7513,6 +7506,7 @@ const _hoisted_1$5 = {
7513
7506
  const _hoisted_2$3 = ["onClick"];
7514
7507
  const _hoisted_3 = { key: 0 };
7515
7508
  const _sfc_main$g = /* @__PURE__ */ defineComponent({
7509
+ __name: "menu-search",
7516
7510
  setup(__props) {
7517
7511
  const menuList = ref([]);
7518
7512
  const router = useRouter();
@@ -7603,8 +7597,7 @@ function useSplitMenu(splitType) {
7603
7597
  }
7604
7598
  async function getMenus2() {
7605
7599
  if (unref(normalType)) {
7606
- const { getMenus: getMenus3 } = useAuthStore();
7607
- menusRef.value = getMenus3;
7600
+ menusRef.value = DtCache.getLocal(CacheKey.MENUS);
7608
7601
  return;
7609
7602
  }
7610
7603
  if (unref(getSplitTop)) {
@@ -7735,6 +7728,7 @@ const _hoisted_2$2 = {
7735
7728
  fontSize: 16
7736
7729
  };
7737
7730
  const _sfc_main$f = /* @__PURE__ */ defineComponent({
7731
+ __name: "menu-item-content",
7738
7732
  props: contentProps,
7739
7733
  setup(__props) {
7740
7734
  return (_ctx, _cache) => {
@@ -7749,6 +7743,7 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
7749
7743
  }
7750
7744
  });
7751
7745
  const _sfc_main$e = /* @__PURE__ */ defineComponent({
7746
+ __name: "basic-menu-item",
7752
7747
  props: ItemProp,
7753
7748
  setup(__props) {
7754
7749
  const props = __props;
@@ -7765,6 +7760,7 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
7765
7760
  }
7766
7761
  });
7767
7762
  const _sfc_main$d = /* @__PURE__ */ defineComponent({
7763
+ __name: "basic-sub-menu-item",
7768
7764
  props: ItemProp,
7769
7765
  setup(__props) {
7770
7766
  const props = __props;
@@ -7832,6 +7828,7 @@ function useOpenKeys(menuState, menus, type) {
7832
7828
  };
7833
7829
  }
7834
7830
  const _sfc_main$c = /* @__PURE__ */ defineComponent({
7831
+ __name: "basic-menu",
7835
7832
  props: BasicMenu,
7836
7833
  emits: ["menuClick"],
7837
7834
  setup(__props, { emit: emits }) {
@@ -7894,9 +7891,9 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
7894
7891
  return (_ctx, _cache) => {
7895
7892
  return openBlock(), createBlock(unref(Menu), {
7896
7893
  theme: _ctx.theme,
7897
- selectedKeys: unref(menuState).selectedKeys,
7898
- defaultSelectedKeys: unref(menuState).defaultSelectedKeys,
7899
- openKeys: unref(menuState).openKeys,
7894
+ selectedKeys: menuState.selectedKeys,
7895
+ defaultSelectedKeys: menuState.defaultSelectedKeys,
7896
+ openKeys: menuState.openKeys,
7900
7897
  inlineIndent: _ctx.inlineIndent,
7901
7898
  subMenuOpenDelay: 0.2,
7902
7899
  mode: _ctx.mode,
@@ -8015,6 +8012,7 @@ const _hoisted_2$1 = {
8015
8012
  class: "dt-header-menu"
8016
8013
  };
8017
8014
  const _sfc_main$a = /* @__PURE__ */ defineComponent({
8015
+ __name: "index",
8018
8016
  props: {
8019
8017
  fixed: Boolean
8020
8018
  },
@@ -8127,6 +8125,7 @@ function useTrigger() {
8127
8125
  return { getTriggerAttr, getShowTrigger };
8128
8126
  }
8129
8127
  const _sfc_main$9 = /* @__PURE__ */ defineComponent({
8128
+ __name: "sider-trigger",
8130
8129
  props: {
8131
8130
  type: {
8132
8131
  type: String,
@@ -8151,6 +8150,7 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
8151
8150
  }
8152
8151
  });
8153
8152
  const _sfc_main$8 = /* @__PURE__ */ defineComponent({
8153
+ __name: "drag-bar",
8154
8154
  setup(__props) {
8155
8155
  const { getMiniWidthNumber, getCollapsed, getCanDrag } = useMenu();
8156
8156
  const getDragBarStyle = computed(() => {
@@ -8242,6 +8242,7 @@ function useDragLine(siderRef, dragBarRef) {
8242
8242
  }
8243
8243
  }
8244
8244
  const _sfc_main$7 = /* @__PURE__ */ defineComponent({
8245
+ __name: "index",
8245
8246
  setup(__props) {
8246
8247
  const { getMenuFixed, getSplit, getMenuHidden, getMenuWidth, getCollapsed, getMenuTheme, getIsSidebarType, getIsTopMenu, getRealWidth, getIsMixMode } = useMenu();
8247
8248
  useHeader();
@@ -8395,6 +8396,7 @@ function useTabDropdown() {
8395
8396
  const _hoisted_1$2 = { fontSize: 16 };
8396
8397
  const _hoisted_2 = { fontSize: 16 };
8397
8398
  const _sfc_main$6 = /* @__PURE__ */ defineComponent({
8399
+ __name: "TabContent",
8398
8400
  setup(__props) {
8399
8401
  const { getDropMenuList, handleContext, handleMenuEvent } = useTabDropdown();
8400
8402
  return (_ctx, _cache) => {
@@ -8446,6 +8448,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
8446
8448
  }
8447
8449
  });
8448
8450
  const _sfc_main$5 = /* @__PURE__ */ defineComponent({
8451
+ __name: "TabRedo",
8449
8452
  setup(__props) {
8450
8453
  const tabStore = RouteReuseStore();
8451
8454
  const router = useRouter();
@@ -8541,6 +8544,7 @@ function useTabsDrag(affixList) {
8541
8544
  });
8542
8545
  }
8543
8546
  const _sfc_main$4 = /* @__PURE__ */ defineComponent({
8547
+ __name: "index",
8544
8548
  setup(__props) {
8545
8549
  const menuLabelMap = menuList2Map();
8546
8550
  const { getShowQuick, getShowRedo } = useMultipleTab();
@@ -8631,6 +8635,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
8631
8635
  }
8632
8636
  });
8633
8637
  const _sfc_main$3 = /* @__PURE__ */ defineComponent({
8638
+ __name: "multiple-header",
8634
8639
  setup(__props) {
8635
8640
  const {
8636
8641
  getHeaderHeight,
@@ -8687,6 +8692,7 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
8687
8692
  }
8688
8693
  });
8689
8694
  const _sfc_main$2 = /* @__PURE__ */ defineComponent({
8695
+ __name: "index",
8690
8696
  setup(__props) {
8691
8697
  const { getFooter } = useTheme();
8692
8698
  const { title, subTitle, height } = unref(getFooter);
@@ -8714,6 +8720,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
8714
8720
  });
8715
8721
  const _hoisted_1$1 = ["loading"];
8716
8722
  const _sfc_main$1 = /* @__PURE__ */ defineComponent({
8723
+ __name: "index",
8717
8724
  setup(__props) {
8718
8725
  const { getTransitionMode, getOpenPageLoading } = useApp();
8719
8726
  const { getLayoutContentMode, getPageLoading } = useTheme();
@@ -8767,10 +8774,10 @@ var zhCn = { exports: {} };
8767
8774
  module.exports = _(dayjs_min.exports);
8768
8775
  }(commonjsGlobal, function(e) {
8769
8776
  function _(e2) {
8770
- return e2 && typeof e2 == "object" && "default" in e2 ? e2 : { default: e2 };
8777
+ return e2 && "object" == typeof e2 && "default" in e2 ? e2 : { default: e2 };
8771
8778
  }
8772
8779
  var t = _(e), d = { name: "zh-cn", weekdays: "\u661F\u671F\u65E5_\u661F\u671F\u4E00_\u661F\u671F\u4E8C_\u661F\u671F\u4E09_\u661F\u671F\u56DB_\u661F\u671F\u4E94_\u661F\u671F\u516D".split("_"), weekdaysShort: "\u5468\u65E5_\u5468\u4E00_\u5468\u4E8C_\u5468\u4E09_\u5468\u56DB_\u5468\u4E94_\u5468\u516D".split("_"), weekdaysMin: "\u65E5_\u4E00_\u4E8C_\u4E09_\u56DB_\u4E94_\u516D".split("_"), months: "\u4E00\u6708_\u4E8C\u6708_\u4E09\u6708_\u56DB\u6708_\u4E94\u6708_\u516D\u6708_\u4E03\u6708_\u516B\u6708_\u4E5D\u6708_\u5341\u6708_\u5341\u4E00\u6708_\u5341\u4E8C\u6708".split("_"), monthsShort: "1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"), ordinal: function(e2, _2) {
8773
- return _2 === "W" ? e2 + "\u5468" : e2 + "\u65E5";
8780
+ return "W" === _2 ? e2 + "\u5468" : e2 + "\u65E5";
8774
8781
  }, weekStart: 1, yearStart: 4, formats: { LT: "HH:mm", LTS: "HH:mm:ss", L: "YYYY/MM/DD", LL: "YYYY\u5E74M\u6708D\u65E5", LLL: "YYYY\u5E74M\u6708D\u65E5Ah\u70B9mm\u5206", LLLL: "YYYY\u5E74M\u6708D\u65E5ddddAh\u70B9mm\u5206", l: "YYYY/M/D", ll: "YYYY\u5E74M\u6708D\u65E5", lll: "YYYY\u5E74M\u6708D\u65E5 HH:mm", llll: "YYYY\u5E74M\u6708D\u65E5dddd HH:mm" }, relativeTime: { future: "%s\u5185", past: "%s\u524D", s: "\u51E0\u79D2", m: "1 \u5206\u949F", mm: "%d \u5206\u949F", h: "1 \u5C0F\u65F6", hh: "%d \u5C0F\u65F6", d: "1 \u5929", dd: "%d \u5929", M: "1 \u4E2A\u6708", MM: "%d \u4E2A\u6708", y: "1 \u5E74", yy: "%d \u5E74" }, meridiem: function(e2, _2) {
8775
8782
  var t2 = 100 * e2 + _2;
8776
8783
  return t2 < 600 ? "\u51CC\u6668" : t2 < 900 ? "\u65E9\u4E0A" : t2 < 1100 ? "\u4E0A\u5348" : t2 < 1300 ? "\u4E2D\u5348" : t2 < 1800 ? "\u4E0B\u5348" : "\u665A\u4E0A";
@@ -8778,8 +8785,12 @@ var zhCn = { exports: {} };
8778
8785
  return t.default.locale(d, null, true), d;
8779
8786
  });
8780
8787
  })(zhCn);
8781
- const _hoisted_1 = { class: "dt-theme" };
8788
+ const _hoisted_1 = {
8789
+ key: 0,
8790
+ class: "dt-theme"
8791
+ };
8782
8792
  const _sfc_main = /* @__PURE__ */ defineComponent({
8793
+ __name: "theme",
8783
8794
  setup(__props) {
8784
8795
  dayjs.locale("zh-cn");
8785
8796
  const wrapperRef = ref(null);
@@ -8787,6 +8798,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
8787
8798
  const { getShowFullHeaderRef, getFixed, getHeaderHeight } = useHeader();
8788
8799
  const { getSplit, getShowMenu, getShowSidebar } = useMenu();
8789
8800
  const { getFooter, getShowFooter } = useTheme();
8801
+ const { getAppConf } = useAppStore();
8790
8802
  const { height } = unref(getFooter);
8791
8803
  const layoutClass = computed(() => {
8792
8804
  let cls = "ant-layout";
@@ -8809,13 +8821,14 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
8809
8821
  };
8810
8822
  });
8811
8823
  return (_ctx, _cache) => {
8824
+ var _a;
8812
8825
  const _component_router_view = resolveComponent("router-view");
8813
- return openBlock(), createElementBlock("div", _hoisted_1, [
8826
+ return unref(currentRoute).fullPath && ((_a = unref(getAppConf)) == null ? void 0 : _a.router.unRequireAuthPage.length) ? (openBlock(), createElementBlock("div", _hoisted_1, [
8814
8827
  createVNode(unref(ConfigProvider), { locale: unref(zhCN) }, {
8815
8828
  default: withCtx(() => {
8816
- var _a;
8829
+ var _a2;
8817
8830
  return [
8818
- ((_a = unref(currentRoute).meta) == null ? void 0 : _a.requiresAuth) === false ? (openBlock(), createBlock(_component_router_view, { key: 0 })) : (openBlock(), createBlock(unref(Layout), {
8831
+ ((_a2 = unref(getAppConf)) == null ? void 0 : _a2.router.unRequireAuthPage.includes(unref(currentRoute).fullPath)) ? (openBlock(), createBlock(_component_router_view, { key: 0 })) : (openBlock(), createBlock(unref(Layout), {
8819
8832
  key: 1,
8820
8833
  class: "dt-theme"
8821
8834
  }, {
@@ -8860,8 +8873,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
8860
8873
  }),
8861
8874
  _: 1
8862
8875
  }, 8, ["locale"])
8863
- ]);
8876
+ ])) : createCommentVNode("", true);
8864
8877
  };
8865
8878
  }
8866
8879
  });
8867
- export { DtBaseRouter, DtForm, _sfc_main$v as DtIFrame, DtIcon, _sfc_main$G as DtModal, _sfc_main$R as DtPickIcon, index as DtTable, _sfc_main as DtTheme, FormButtons, authMounted, export2Excel, iconMounted, initComponents, initDirectives, useCurd, useForm, useModal, useModalOut, useSource, useTable };
8880
+ export { DtBaseRouter, DtForm, DtIcon, _sfc_main$v as DtIframe, _sfc_main$G as DtModal, _sfc_main$R as DtPickIcon, index as DtTable, _sfc_main as DtTheme, FormButtons, authMounted, export2Excel, iconMounted, initComponents, initDirectives, useCurd, useDialog, useForm, useModal, useModalOut, useSource, useTable };