cloud-web-corejs 1.0.54-dev.76 → 1.0.54-dev.760

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 (576) hide show
  1. package/package.json +196 -183
  2. package/src/App.vue +73 -75
  3. package/src/api/user.js +85 -40
  4. package/src/components/Qrcode/fileParse.vue +0 -1
  5. package/src/components/Tinymce/index.vue +112 -71
  6. package/src/components/VabUpload/fileLibraryDialog.vue +296 -0
  7. package/src/components/VabUpload/image-viewer.vue +2 -2
  8. package/src/components/VabUpload/index.js +69 -1
  9. package/src/components/VabUpload/index.vue +9 -1
  10. package/src/components/VabUpload/mixins/fileLibraryDialog.js +1112 -0
  11. package/src/components/VabUpload/mixins.js +1881 -2
  12. package/src/components/VabUpload/propertiesDialog.vue +1 -1
  13. package/src/components/VabUpload/view.vue +209 -120
  14. package/src/components/advancedSearchDialog/mixins.js +28 -1
  15. package/src/components/base-textarea/index.vue +104 -0
  16. package/src/components/baseAlert/index.js +44 -1
  17. package/src/components/baseAlert/index.vue +24 -20
  18. package/src/components/baseAlert/mixins.js +61 -1
  19. package/src/components/baseArea/index.vue +1628 -0
  20. package/src/components/baseAttachment/index.vue +49 -40
  21. package/src/components/baseAttachment/install.js +21 -5
  22. package/src/components/baseAttachment/mixins.js +310 -1
  23. package/src/components/baseInputBatch/mixins.js +58 -1
  24. package/src/components/baseInputExport/index.vue +21 -14
  25. package/src/components/baseInputExport/mixins.js +391 -1
  26. package/src/components/baseInputNumber/index.vue +9 -9
  27. package/src/components/baseTabs/index.vue +16 -8
  28. package/src/components/baseTabs/mixins.js +177 -1
  29. package/src/components/cnPrint/index.js +44 -1
  30. package/src/components/cnPrint/mixins.js +189 -1
  31. package/src/components/code-editor/index.vue +131 -62
  32. package/src/components/confirmDialog/index.js +41 -1
  33. package/src/components/confirmDialog/index.vue +24 -17
  34. package/src/components/confirmDialog/mixins.js +31 -1
  35. package/src/components/errorMsg/index.js +47 -3
  36. package/src/components/errorMsg/index.vue +78 -70
  37. package/src/components/errorMsg/mixins.js +103 -5
  38. package/src/components/excelExport/button.vue +86 -24
  39. package/src/components/excelExport/exportFieldDialog.vue +246 -90
  40. package/src/components/excelExport/index.js +65 -6
  41. package/src/components/excelExport/index.vue +109 -26
  42. package/src/components/excelExport/mixins.js +1132 -8
  43. package/src/components/excelImport/index.js +13 -13
  44. package/src/components/excelImport/mixins.js +2 -1
  45. package/src/components/fileLibrary/categoryMoveDialog.vue +109 -109
  46. package/src/components/fileLibrary/fileObjAuthDialog.vue +297 -208
  47. package/src/components/fileLibrary/fileObjAuthEditDialog.vue +6 -0
  48. package/src/components/fileLibrary/filterDialog.vue +454 -0
  49. package/src/components/fileLibrary/index.vue +1109 -687
  50. package/src/components/fileLibrary/mixins/categoryMoveDialogMixins.js +1 -1
  51. package/src/components/fileLibrary/mixins/fileCategoryDialogMixins.js +1 -1
  52. package/src/components/fileLibrary/mixins/fileHistoryDialogMixins.js +2 -2
  53. package/src/components/fileLibrary/mixins/fileObjAuthDialogMixin.js +339 -211
  54. package/src/components/fileLibrary/mixins/fileObjAuthEditDialogMixin.js +31 -27
  55. package/src/components/fileLibrary/mixins/fileObjAuthEditMixin.js +4 -4
  56. package/src/components/fileLibrary/mixins/indexMixins.js +230 -101
  57. package/src/components/fileLibrary/mixins/propertiesDialogMixins.js +62 -3
  58. package/src/components/fileLibrary/mixins/recycleBinDialogMixins.js +3 -3
  59. package/src/components/fileLibrary/propertiesDialog.vue +190 -145
  60. package/src/components/fileLibrary/recycleBinDialog.vue +237 -236
  61. package/src/components/fileLibrary/shareDialog.vue +1 -1
  62. package/src/components/formDialog/README.md +239 -0
  63. package/src/components/formDialog/index.js +35 -0
  64. package/src/components/formDialog/index.vue +724 -0
  65. package/src/components/formOplog/mixins.js +85 -4
  66. package/src/components/hiprint/css/bootstrap.min.css +6 -0
  67. package/src/components/hiprint/fonts/glyphicons-halflings-regular.eot +0 -0
  68. package/src/components/hiprint/fonts/glyphicons-halflings-regular.svg +288 -0
  69. package/src/components/hiprint/fonts/glyphicons-halflings-regular.ttf +0 -0
  70. package/src/components/hiprint/fonts/glyphicons-halflings-regular.woff +0 -0
  71. package/src/components/hiprint/fonts/glyphicons-halflings-regular.woff2 +0 -0
  72. package/src/components/hiprint/hiprint.bundle.js +15 -3
  73. package/src/components/hiprint/view/design/index.vue +140 -47
  74. package/src/components/hiprint/view/design/mixins.js +611 -1
  75. package/src/components/hiprint/view/design/preview.vue +75 -52
  76. package/src/components/hiprint/view/json-view.vue +31 -31
  77. package/src/components/jdPrint/index.js +44 -1
  78. package/src/components/jdPrint/mixins.js +208 -1
  79. package/src/components/jsonImport/exportUtil.js +106 -0
  80. package/src/components/jsonImport/index.js +212 -17
  81. package/src/components/jsonImport/mixins.js +350 -16
  82. package/src/components/langImport/index.js +80 -1
  83. package/src/components/langImport/mixins.js +487 -1
  84. package/src/components/langTag/mixins/addButton.js +51 -5
  85. package/src/components/langTag/mixins/deleteButton.js +55 -5
  86. package/src/components/langTag/mixins/view.js +47 -5
  87. package/src/components/luckysheet/dialog.vue +159 -0
  88. package/src/components/luckysheet/export.js +595 -0
  89. package/src/components/luckysheet/fileUtils.js +147 -0
  90. package/src/components/luckysheet/index.js +72 -0
  91. package/src/components/luckysheet/templateJson.js +12078 -0
  92. package/src/components/luckysheet/view.vue +210 -0
  93. package/src/components/mobile/file/index.vue +10 -0
  94. package/src/components/obsUpload/index.js +34 -0
  95. package/src/components/obsUpload/index.vue +231 -0
  96. package/src/components/obsUpload/mixins.js +1476 -0
  97. package/src/components/onlineTalk/index.vue +1 -1
  98. package/src/components/onlineTalk/mixins.js +852 -1
  99. package/src/components/onlineTalk/talkUserDialog.vue +280 -0
  100. package/src/components/oplogTable/mixins.js +83 -4
  101. package/src/components/pddPrint/index.js +44 -1
  102. package/src/components/pddPrint/mixins.js +252 -1
  103. package/src/components/projectTag/mixins/addButton.js +52 -1
  104. package/src/components/projectTag/mixins/deleteButton.js +52 -1
  105. package/src/components/projectTag/mixins/view.js +43 -1
  106. package/src/components/scriptDescription/button.vue +12 -4
  107. package/src/components/scriptDescription/mixins.js +30 -1
  108. package/src/components/scriptTest/mixins.js +90 -1
  109. package/src/components/statusTag/mixins.js +66 -1
  110. package/src/components/table/CellSlot.vue +12 -9
  111. package/src/components/table/config.js +74 -1
  112. package/src/components/table/index.js +1215 -11
  113. package/src/components/table/plugins/extend-cell-area/vxe-table-extend-cell-area.es6.min.js +11028 -0
  114. package/src/components/table/plugins/extend-cell-area/vxe-table-extend-cell-area.min.css +200 -0
  115. package/src/components/table/tableForm.vue +99 -63
  116. package/src/components/table/tableFormMixin.js +285 -1
  117. package/src/components/table/util/index.js +337 -0
  118. package/src/components/table/vxeFilter/index.js +153 -1
  119. package/src/components/table/vxeFilter/mixin.js +310 -6
  120. package/src/components/tempStorage/index.vue +76 -55
  121. package/src/components/tempStorage/tempStorageDialog.vue +179 -54
  122. package/src/components/vb-tabs/x-tabs.vue +57 -30
  123. package/src/components/vipPrint/index.js +44 -1
  124. package/src/components/vipPrint/mixins.js +268 -1
  125. package/src/components/wf/addOpinionButton.vue +57 -0
  126. package/src/components/wf/content.vue +834 -362
  127. package/src/components/wf/mixins/addOpinionButton.js +53 -0
  128. package/src/components/wf/mixins/setCandidateButton.js +161 -0
  129. package/src/components/wf/mixins/setCandidateDialog.js +217 -5
  130. package/src/components/wf/mixins/setCandidateDialog2.js +252 -0
  131. package/src/components/wf/mixins/wfFlowEleScriptDialog.js +131 -0
  132. package/src/components/wf/mixins/wfTaskUserRangeDialog.js +69 -0
  133. package/src/components/wf/setCandidateButton.vue +40 -0
  134. package/src/components/wf/setCandidateDialog.vue +10 -0
  135. package/src/components/wf/setCandidateDialog2.vue +105 -0
  136. package/src/components/wf/wf.js +2221 -30
  137. package/src/components/wf/wfFlowEleScriptDialog.vue +89 -0
  138. package/src/components/wf/wfStartDialog.vue +66 -42
  139. package/src/components/wf/wfTaskUserRangeDialog.vue +65 -0
  140. package/src/components/wf/wfUtil.js +280 -1
  141. package/src/components/xform/XFormTabContainer//346/226/260/345/242/236/351/241/265/347/255/276/346/250/241/345/274/217-/346/234/200/347/273/210/345/256/236/347/216/260.md +195 -0
  142. package/src/components/xform/docs/2026-07 table/344/270/216excelExport/344/277/256/345/244/215/345/217/212/345/257/274/345/207/272/344/274/230/345/214/226.md" +57 -0
  143. package/src/components/xform/docs/2026-07 /346/216/222/346/237/245/344/277/256/345/244/215/350/256/260/345/275/225.md" +73 -0
  144. package/src/components/xform/docs/autocomplete /350/207/252/345/212/250/345/256/214/346/210/220/347/273/204/344/273/266/350/257/264/346/230/216.md" +126 -0
  145. package/src/components/xform/docs//345/220/216/345/217/260/345/255/227/346/256/265/357/274/210/345/212/250/346/200/201/347/224/237/346/210/220/357/274/211JSON /350/257/264/346/230/216.md" +1286 -0
  146. package/src/components/xform/docs//345/257/271/346/257/224/345/212/237/350/203/275/350/220/275/345/234/260/346/226/271/346/241/210.md +986 -0
  147. package/src/components/xform/docs//346/225/260/346/215/256/350/241/250/346/240/274/345/212/250/346/200/201/345/210/227 JSON /350/257/264/346/230/216.md" +657 -0
  148. package/src/components/xform/form-designer/designer.js +2027 -29
  149. package/src/components/xform/form-designer/form-widget/components/gantt/index.vue +434 -0
  150. package/src/components/xform/form-designer/form-widget/container-widget/containerMixin.js +108 -1
  151. package/src/components/xform/form-designer/form-widget/container-widget/data-table-mixin.js +291 -8
  152. package/src/components/xform/form-designer/form-widget/container-widget/data-table-widget.vue +14 -1
  153. package/src/components/xform/form-designer/form-widget/container-widget/detail-pane-widget.vue +3 -2
  154. package/src/components/xform/form-designer/form-widget/container-widget/detail-widget.vue +3 -3
  155. package/src/components/xform/form-designer/form-widget/dialog/baseFormulaDialog copy.vue +971 -0
  156. package/src/components/xform/form-designer/form-widget/dialog/baseFormulaDialog.vue +971 -0
  157. package/src/components/xform/form-designer/form-widget/dialog/exportDialog.vue +13 -0
  158. package/src/components/xform/form-designer/form-widget/dialog/fileReferenceDialog.vue +300 -0
  159. package/src/components/xform/form-designer/form-widget/dialog/formDialog.vue +85 -49
  160. package/src/components/xform/form-designer/form-widget/dialog/formDrawer.vue +6 -3
  161. package/src/components/xform/form-designer/form-widget/dialog/formulaDialog.vue +799 -0
  162. package/src/components/xform/form-designer/form-widget/dialog/importDialog.vue +30 -8
  163. package/src/components/xform/form-designer/form-widget/dialog/importDialogMixin.js +1774 -19
  164. package/src/components/xform/form-designer/form-widget/dialog/searchFormDialog.vue +222 -76
  165. package/src/components/xform/form-designer/form-widget/field-widget/a-link-widget.vue +67 -54
  166. package/src/components/xform/form-designer/form-widget/field-widget/a-text-widget.vue +1 -1
  167. package/src/components/xform/form-designer/form-widget/field-widget/area-select-widget.vue +272 -0
  168. package/src/components/xform/form-designer/form-widget/field-widget/autocomplete-widget.vue +119 -0
  169. package/src/components/xform/form-designer/form-widget/field-widget/baseAttachment-widget.vue +216 -184
  170. package/src/components/xform/form-designer/form-widget/field-widget/button-widget.vue +76 -66
  171. package/src/components/xform/form-designer/form-widget/field-widget/cascader-widget.vue +209 -90
  172. package/src/components/xform/form-designer/form-widget/field-widget/census-widget.vue +41 -35
  173. package/src/components/xform/form-designer/form-widget/field-widget/checkbox-widget.vue +18 -7
  174. package/src/components/xform/form-designer/form-widget/field-widget/color-widget.vue +4 -1
  175. package/src/components/xform/form-designer/form-widget/field-widget/copy_button-widget.vue +95 -0
  176. package/src/components/xform/form-designer/form-widget/field-widget/date-range-widget.vue +14 -3
  177. package/src/components/xform/form-designer/form-widget/field-widget/date-widget.vue +48 -5
  178. package/src/components/xform/form-designer/form-widget/field-widget/download-button-widget.vue +133 -0
  179. package/src/components/xform/form-designer/form-widget/field-widget/dropdown-item-widget.vue +86 -0
  180. package/src/components/xform/form-designer/form-widget/field-widget/dropdown-widget.vue +170 -0
  181. package/src/components/xform/form-designer/form-widget/field-widget/fieldMixin.js +1939 -16
  182. package/src/components/xform/form-designer/form-widget/field-widget/form-item-wrapper.vue +657 -108
  183. package/src/components/xform/form-designer/form-widget/field-widget/gantt-widget.vue +964 -0
  184. package/src/components/xform/form-designer/form-widget/field-widget/html-text-widget.vue +6 -2
  185. package/src/components/xform/form-designer/form-widget/field-widget/import-button-widget.vue +22 -11
  186. package/src/components/xform/form-designer/form-widget/field-widget/import2-button-widget.vue +90 -0
  187. package/src/components/xform/form-designer/form-widget/field-widget/input-widget.vue +7 -2
  188. package/src/components/xform/form-designer/form-widget/field-widget/mixins/autocomplete-mixin.js +451 -0
  189. package/src/components/xform/form-designer/form-widget/field-widget/mixins/date-limit-mixin.js +157 -0
  190. package/src/components/xform/form-designer/form-widget/field-widget/mixins/echart-bar-mixin.js +3 -9
  191. package/src/components/xform/form-designer/form-widget/field-widget/mixins/echart-category-mixin.js +3 -9
  192. package/src/components/xform/form-designer/form-widget/field-widget/mixins/echart-pie-mixin.js +3 -9
  193. package/src/components/xform/form-designer/form-widget/field-widget/mixins/utc-transform-mixin.js +75 -0
  194. package/src/components/xform/form-designer/form-widget/field-widget/mixins/vabsearch-mixin.js +192 -0
  195. package/src/components/xform/form-designer/form-widget/field-widget/multiSearch-widget.vue +53 -0
  196. package/src/components/xform/form-designer/form-widget/field-widget/number-widget.vue +117 -81
  197. package/src/components/xform/form-designer/form-widget/field-widget/oplog-widget.vue +186 -0
  198. package/src/components/xform/form-designer/form-widget/field-widget/print-button-widget.vue +55 -28
  199. package/src/components/xform/form-designer/form-widget/field-widget/print-detail-button-widget.vue +119 -0
  200. package/src/components/xform/form-designer/form-widget/field-widget/project-tag-widget.vue +156 -54
  201. package/src/components/xform/form-designer/form-widget/field-widget/radio-widget.vue +26 -6
  202. package/src/components/xform/form-designer/form-widget/field-widget/save_submit_wf_button-widget.vue +112 -0
  203. package/src/components/xform/form-designer/form-widget/field-widget/script-input-widget.vue +146 -0
  204. package/src/components/xform/form-designer/form-widget/field-widget/search_button-widget.vue +2 -2
  205. package/src/components/xform/form-designer/form-widget/field-widget/select-export-button-widget.vue +86 -0
  206. package/src/components/xform/form-designer/form-widget/field-widget/select-export-item-button-widget.vue +92 -0
  207. package/src/components/xform/form-designer/form-widget/field-widget/select-widget.vue +24 -9
  208. package/src/components/xform/form-designer/form-widget/field-widget/singerSearch-widget.vue +53 -0
  209. package/src/components/xform/form-designer/form-widget/field-widget/singleUpload-widget.vue +145 -0
  210. package/src/components/xform/form-designer/form-widget/field-widget/static-content-wrapper.vue +16 -1
  211. package/src/components/xform/form-designer/form-widget/field-widget/static-text-widget.vue +8 -3
  212. package/src/components/xform/form-designer/form-widget/field-widget/status-widget.vue +93 -49
  213. package/src/components/xform/form-designer/form-widget/field-widget/switch-widget.vue +9 -1
  214. package/src/components/xform/form-designer/form-widget/field-widget/table-export-button-widget.vue +38 -38
  215. package/src/components/xform/form-designer/form-widget/field-widget/tempStorage-widget.vue +147 -0
  216. package/src/components/xform/form-designer/form-widget/field-widget/text-widget.vue +111 -34
  217. package/src/components/xform/form-designer/form-widget/field-widget/time-range-widget.vue +4 -3
  218. package/src/components/xform/form-designer/form-widget/field-widget/time-widget.vue +2 -1
  219. package/src/components/xform/form-designer/form-widget/field-widget/vabSearch-widget.vue +3 -171
  220. package/src/components/xform/form-designer/form-widget/field-widget/vabUpload-widget.vue +187 -70
  221. package/src/components/xform/form-designer/form-widget/field-widget/vabUpload2-widget.vue +753 -0
  222. package/src/components/xform/form-designer/form-widget/field-widget/vue-page-widget.vue +231 -0
  223. package/src/components/xform/form-designer/form-widget/index.vue +6 -1
  224. package/src/components/xform/form-designer/form-widget/indexMixin.js +184 -2
  225. package/src/components/xform/form-designer/index.vue +195 -191
  226. package/src/components/xform/form-designer/indexMixin.js +855 -24
  227. package/src/components/xform/form-designer/refMixinDesign.js +27 -28
  228. package/src/components/xform/form-designer/setting-panel/form-dynamicField-setting.vue +601 -0
  229. package/src/components/xform/form-designer/setting-panel/form-setting.vue +1553 -629
  230. package/src/components/xform/form-designer/setting-panel/index.vue +313 -305
  231. package/src/components/xform/form-designer/setting-panel/indexMixin.js +370 -12
  232. package/src/components/xform/form-designer/setting-panel/option-items-setting.vue +585 -302
  233. package/src/components/xform/form-designer/setting-panel/property-editor/a-link-editor.vue +4 -4
  234. package/src/components/xform/form-designer/setting-panel/property-editor/a-text-editor.vue +3 -3
  235. package/src/components/xform/form-designer/setting-panel/property-editor/autoValueEnabled-editor.vue +38 -0
  236. package/src/components/xform/form-designer/setting-panel/property-editor/buttonIcon-editor.vue +14 -15
  237. package/src/components/xform/form-designer/setting-panel/property-editor/censusClass-editor.vue +6 -0
  238. package/src/components/xform/form-designer/setting-panel/property-editor/colorClass-editor.vue +28 -0
  239. package/src/components/xform/form-designer/setting-panel/property-editor/commonAttributeEnabled-editor.vue +41 -0
  240. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/columnRenderDialog.vue +124 -0
  241. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/data-table-editor.vue +1154 -1048
  242. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/edit-tree-button-group-config-dialog.vue +281 -0
  243. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/exportItemColumns-dialog.vue +432 -0
  244. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/onCheckboxChange-editor.vue +1 -1
  245. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/table-column-dialog.vue +1632 -592
  246. package/src/components/xform/form-designer/setting-panel/property-editor/container-detail/detail-editor.vue +3 -3
  247. package/src/components/xform/form-designer/setting-panel/property-editor/container-detail-pane/detail-pane-editor.vue +3 -3
  248. package/src/components/xform/form-designer/setting-panel/property-editor/container-grid-col/grid-col-offset-editor.vue +1 -1
  249. package/src/components/xform/form-designer/setting-panel/property-editor/container-grid-col/grid-col-pull-editor.vue +1 -1
  250. package/src/components/xform/form-designer/setting-panel/property-editor/container-grid-col/grid-col-push-editor.vue +1 -1
  251. package/src/components/xform/form-designer/setting-panel/property-editor/container-list-h5/list-h5-editor.vue +34 -46
  252. package/src/components/xform/form-designer/setting-panel/property-editor/container-table/table-dynamicField-editor.vue +344 -0
  253. package/src/components/xform/form-designer/setting-panel/property-editor/container-tree/tree-customClass-editor.vue +31 -2
  254. package/src/components/xform/form-designer/setting-panel/property-editor/copyButton-editor.vue +36 -0
  255. package/src/components/xform/form-designer/setting-panel/property-editor/downloadButtonFlag-editor.vue +32 -0
  256. package/src/components/xform/form-designer/setting-panel/property-editor/dropdownFlag-editor.vue +133 -0
  257. package/src/components/xform/form-designer/setting-panel/property-editor/event-handler/eventMixin.js +2 -2
  258. package/src/components/xform/form-designer/setting-panel/property-editor/event-handler/onClick-editor.vue +23 -8
  259. package/src/components/xform/form-designer/setting-panel/property-editor/field-area-select/areaDataType-editor.vue +25 -0
  260. package/src/components/xform/form-designer/setting-panel/property-editor/field-area-select/areaMinLevel-editor.vue +50 -0
  261. package/src/components/xform/form-designer/setting-panel/property-editor/field-area-select/areaName-editor.vue +20 -0
  262. package/src/components/xform/form-designer/setting-panel/property-editor/field-autocomplete/autocomplete-vabSearchName-editor.vue +199 -0
  263. package/src/components/xform/form-designer/setting-panel/property-editor/field-button/clickBindEvent-editor.vue +35 -20
  264. package/src/components/xform/form-designer/setting-panel/property-editor/field-button/icon-editor.vue +14 -15
  265. package/src/components/xform/form-designer/setting-panel/property-editor/field-button/search-dialog-event-editor.vue +64 -5
  266. package/src/components/xform/form-designer/setting-panel/property-editor/field-cascader/cascader-multiple-editor.vue +8 -3
  267. package/src/components/xform/form-designer/setting-panel/property-editor/field-cascader/checkStrictly-editor.vue +11 -13
  268. package/src/components/xform/form-designer/setting-panel/property-editor/field-cascader/showAllLevels-editor.vue +21 -0
  269. package/src/components/xform/form-designer/setting-panel/property-editor/field-date/date-dateLimit-editor.vue +157 -0
  270. package/src/components/xform/form-designer/setting-panel/property-editor/field-dropdown-menu/dropdown-item-editor.vue +21 -0
  271. package/src/components/xform/form-designer/setting-panel/property-editor/field-dropdown-menu/dropdown-menu-editor.vue +59 -0
  272. package/src/components/xform/form-designer/setting-panel/property-editor/field-gantt/gantt-editor.vue +36 -0
  273. package/src/components/xform/form-designer/setting-panel/property-editor/field-import-button/import-button-editor.vue +75 -21
  274. package/src/components/xform/form-designer/setting-panel/property-editor/field-import-button/import2-button-editor.vue +96 -0
  275. package/src/components/xform/form-designer/setting-panel/property-editor/field-print-button/print-button-editor.vue +44 -15
  276. package/src/components/xform/form-designer/setting-panel/property-editor/field-print-button/print-detail-button-editor.vue +115 -0
  277. package/src/components/xform/form-designer/setting-panel/property-editor/field-rate/rate-defaultValue-editor.vue +1 -1
  278. package/src/components/xform/form-designer/setting-panel/property-editor/field-script-input/script-input-editor.vue +55 -0
  279. package/src/components/xform/form-designer/setting-panel/property-editor/field-static-text/preWrap-editor.vue +23 -0
  280. package/src/components/xform/form-designer/setting-panel/property-editor/field-static-text/textContent-editor.vue +1 -1
  281. package/src/components/xform/form-designer/setting-panel/property-editor/field-status/field-status-editor.vue +67 -41
  282. package/src/components/xform/form-designer/setting-panel/property-editor/field-table-export-button/select-export-button-editor.vue +56 -0
  283. package/src/components/xform/form-designer/setting-panel/property-editor/field-table-export-button/select-export-item-button-editor.vue +71 -0
  284. package/src/components/xform/form-designer/setting-panel/property-editor/field-vabSearch/vabSearchName-editor.vue +13 -1
  285. package/src/components/xform/form-designer/setting-panel/property-editor/field-vabUpload/field-vabUpload-editor.vue +33 -1
  286. package/src/components/xform/form-designer/setting-panel/property-editor/field-vabUpload2/field-vabUpload2-editor.vue +66 -0
  287. package/src/components/xform/form-designer/setting-panel/property-editor/field-vue-page/vue-page-editor.vue +48 -0
  288. package/src/components/xform/form-designer/setting-panel/property-editor/formScriptEnabled-editor.vue +107 -19
  289. package/src/components/xform/form-designer/setting-panel/property-editor/formatType-editor.vue +137 -0
  290. package/src/components/xform/form-designer/setting-panel/property-editor/formula-editor.vue +721 -466
  291. package/src/components/xform/form-designer/setting-panel/property-editor/labelColor-editor.vue +20 -11
  292. package/src/components/xform/form-designer/setting-panel/property-editor/labelIconClass-editor.vue +17 -16
  293. package/src/components/xform/form-designer/setting-panel/property-editor/labelIconPosition-editor.vue +25 -25
  294. package/src/components/xform/form-designer/setting-panel/property-editor/labelTooltip-editor.vue +67 -13
  295. package/src/components/xform/form-designer/setting-panel/property-editor/limit-editor.vue +1 -1
  296. package/src/components/xform/form-designer/setting-panel/property-editor/multiple-editor.vue +19 -14
  297. package/src/components/xform/form-designer/setting-panel/property-editor/multipleLimit-editor.vue +1 -1
  298. package/src/components/xform/form-designer/setting-panel/property-editor/name-editor.vue +127 -50
  299. package/src/components/xform/form-designer/setting-panel/property-editor/oplog-editor.vue +31 -0
  300. package/src/components/xform/form-designer/setting-panel/property-editor/precision-editor.vue +1 -1
  301. package/src/components/xform/form-designer/setting-panel/property-editor/prefixIcon-editor.vue +14 -15
  302. package/src/components/xform/form-designer/setting-panel/property-editor/project-tag-editor.vue +349 -0
  303. package/src/components/xform/form-designer/setting-panel/property-editor/required-editor.vue +10 -6
  304. package/src/components/xform/form-designer/setting-panel/property-editor/requiredHint-editor.vue +3 -3
  305. package/src/components/xform/form-designer/setting-panel/property-editor/showViewButton-editor.vue +29 -0
  306. package/src/components/xform/form-designer/setting-panel/property-editor/suffixIcon-editor.vue +14 -15
  307. package/src/components/xform/form-designer/setting-panel/property-editor/tempStorage-editor.vue +42 -0
  308. package/src/components/xform/form-designer/setting-panel/property-editor/textFlag-editor.vue +304 -19
  309. package/src/components/xform/form-designer/setting-panel/property-editor/utcTransformEnabled-editor.vue +19 -0
  310. package/src/components/xform/form-designer/setting-panel/property-editor/validation-editor.vue +2 -2
  311. package/src/components/xform/form-designer/setting-panel/property-editor/validationHint-editor.vue +2 -2
  312. package/src/components/xform/form-designer/setting-panel/property-editor/wfFlag-editor.vue +372 -50
  313. package/src/components/xform/form-designer/setting-panel/property-editor/widgetShowRuleFlag-editor.vue +263 -0
  314. package/src/components/xform/form-designer/setting-panel/propertyRegister.js +369 -324
  315. package/src/components/xform/form-designer/setting-panel/widgetPropertyDialogMixin.js +186 -0
  316. package/src/components/xform/form-designer/toolbar-panel/index.vue +267 -103
  317. package/src/components/xform/form-designer/toolbar-panel/indexMixin.js +655 -24
  318. package/src/components/xform/form-designer/widget-panel/index.vue +389 -321
  319. package/src/components/xform/form-designer/widget-panel/indexMixin.js +334 -2
  320. package/src/components/xform/form-designer/widget-panel/widgetsConfig.js +4531 -3141
  321. package/src/components/xform/form-render/compareDelList.vue +83 -0
  322. package/src/components/xform/form-render/compareView.vue +76 -0
  323. package/src/components/xform/form-render/container-item/containerItemMixin.js +404 -11
  324. package/src/components/xform/form-render/container-item/data-table-item.vue +221 -203
  325. package/src/components/xform/form-render/container-item/data-table-mixin.js +3716 -858
  326. package/src/components/xform/form-render/container-item/detail-h5-item.vue +173 -172
  327. package/src/components/xform/form-render/container-item/detail-item.vue +287 -158
  328. package/src/components/xform/form-render/container-item/detail-pane-item.vue +17 -3
  329. package/src/components/xform/form-render/container-item/dynamicFieldEngine.js +285 -0
  330. package/src/components/xform/form-render/container-item/dynamicFieldMixin.js +416 -0
  331. package/src/components/xform/form-render/container-item/grid-col-item.vue +10 -3
  332. package/src/components/xform/form-render/container-item/grid-item.vue +1 -1
  333. package/src/components/xform/form-render/container-item/list-h5-item.vue +1184 -419
  334. package/src/components/xform/form-render/container-item/sub-form-item.vue +10 -2
  335. package/src/components/xform/form-render/container-item/tab-item.vue +125 -88
  336. package/src/components/xform/form-render/container-item/table-cell-item.vue +38 -32
  337. package/src/components/xform/form-render/container-item/table-item.vue +7 -7
  338. package/src/components/xform/form-render/container-item/table2-cell-item.vue +53 -34
  339. package/src/components/xform/form-render/container-item/table2-item.vue +198 -99
  340. package/src/components/xform/form-render/container-item/tree-item.vue +32 -11
  341. package/src/components/xform/form-render/dynamicDialogRender.js +238 -3
  342. package/src/components/xform/form-render/dynamicDrawerRender.js +229 -0
  343. package/src/components/xform/form-render/formDynamicFieldMixin.js +131 -0
  344. package/src/components/xform/form-render/index.vue +86 -21
  345. package/src/components/xform/form-render/indexMixin.js +5070 -37
  346. package/src/components/xform/form-render/refMixin.js +34 -3
  347. package/src/components/xform/icon-picker/icons.json +284 -0
  348. package/src/components/xform/icon-picker/index.vue +145 -0
  349. package/src/components/xform/lang/en-US.js +457 -438
  350. package/src/components/xform/lang/en-US_extension.js +4 -0
  351. package/src/components/xform/lang/zh-CN.js +628 -593
  352. package/src/components/xform/mixins/defaultHandle.js +474 -2
  353. package/src/components/xform/mixins/scriptHttp.js +179 -3
  354. package/src/components/xform/utils/dynamicSchemaUtil.js +361 -0
  355. package/src/components/xform/utils/emitter.js +4 -4
  356. package/src/components/xform/utils/formHttp.js +162 -0
  357. package/src/components/xform/utils/format.js +205 -172
  358. package/src/components/xform/utils/formula-util.js +969 -0
  359. package/src/components/xform/utils/sfc-generator.js +2 -2
  360. package/src/components/xform/utils/smart-vue-i18n/index.js +2 -1
  361. package/src/components/xform/utils/tableCellValidateUtil.js +148 -0
  362. package/src/components/xform/utils/tableColumnHelper.js +155 -0
  363. package/src/components/xform/utils/util.js +1591 -1
  364. package/src/components/xform/utils/validators.js +185 -4
  365. package/src/components/xform/utils/vue2js-generator.js +2 -2
  366. package/src/components/xhsPrint/index.js +44 -1
  367. package/src/components/xhsPrint/mixins.js +269 -1
  368. package/src/directive/LimitNumber/index.js +131 -1
  369. package/src/directive/el-dialog-center/index.js +34 -1
  370. package/src/directive/el-drag-dialog/drag.js +86 -1
  371. package/src/directive/el-readonly/index.js +15 -1
  372. package/src/directive/permission/hasPermi.js +34 -1
  373. package/src/index.js +240 -63
  374. package/src/lang/index.js +56 -51
  375. package/src/lang/locale/en/login.js +27 -0
  376. package/src/lang/locale/zh/login.js +26 -0
  377. package/src/layout/components/AppMain.vue +148 -111
  378. package/src/layout/components/Sidebar/default.vue +1655 -1223
  379. package/src/layout/components/Sidebar/index.vue +6 -1
  380. package/src/layout/components/TagsView/index.vue +57 -15
  381. package/src/layout/components/createCompany/createCompanyDialog.vue +157 -0
  382. package/src/layout/components/extractedCode/createDialog.vue +92 -0
  383. package/src/layout/components/extractedCode/queryDialog.vue +103 -0
  384. package/src/layout/components/extractedCode/viewDialog.vue +207 -0
  385. package/src/layout/components/langTool.vue +128 -120
  386. package/src/layout/components/watermark/index.vue +83 -0
  387. package/src/layout/defaultLayout.vue +170 -150
  388. package/src/microRouter/index.js +521 -0
  389. package/src/mixins/selectDialog/index.js +266 -1
  390. package/src/mixins/tableTree/index.js +199 -4
  391. package/src/mixins/wf/index.js +33 -1
  392. package/src/permission.js +168 -1
  393. package/src/public-path.js +8 -0
  394. package/src/resources/js/base/common.js +109 -109
  395. package/src/router/index.js +4 -7
  396. package/src/router/modules/customer.js +21 -18
  397. package/src/router/modules/system.js +4 -0
  398. package/src/store/config/index.js +667 -600
  399. package/src/store/getters.js +4 -1
  400. package/src/store/modules/micro.js +56 -0
  401. package/src/store/modules/permission.js +495 -23
  402. package/src/store/modules/settings.js +26 -1
  403. package/src/store/modules/tagsView.js +206 -5
  404. package/src/store/modules/user.js +419 -29
  405. package/src/utils/aes.js +21 -1
  406. package/src/utils/auth.js +27 -1
  407. package/src/utils/componentDialog.js +322 -0
  408. package/src/utils/global.js +370 -8
  409. package/src/utils/index.js +579 -7
  410. package/src/utils/keepAlive.js +189 -1
  411. package/src/utils/menuAdapter.js +183 -0
  412. package/src/utils/pddLog.js +92 -0
  413. package/src/utils/pdfUtil.js +71 -0
  414. package/src/utils/repeatOpen.js +48 -0
  415. package/src/utils/request.js +417 -28
  416. package/src/utils/vab.js +1275 -27
  417. package/src/utils/validate.js +104 -1
  418. package/src/utils/wf.js +4 -4
  419. package/src/views/bd/setting/bd_attach_setting/edit.vue +5 -5
  420. package/src/views/bd/setting/bd_attach_setting/list.vue +28 -55
  421. package/src/views/bd/setting/bd_attach_setting/mixins/dialog.js +84 -1
  422. package/src/views/bd/setting/bd_attach_setting/mixins/edit.js +116 -5
  423. package/src/views/bd/setting/bd_attach_setting/mixins/list.js +239 -1
  424. package/src/views/bd/setting/bd_company_env/dialog.vue +174 -0
  425. package/src/views/bd/setting/bd_company_env/edit.vue +193 -0
  426. package/src/views/bd/setting/bd_company_env/list.vue +175 -0
  427. package/src/views/bd/setting/config_manage/list.vue +83 -0
  428. package/src/views/bd/setting/formVersion/button.vue +55 -0
  429. package/src/views/bd/setting/formVersion/compareBasicSection.vue +125 -0
  430. package/src/views/bd/setting/formVersion/compareCodeSection.vue +539 -0
  431. package/src/views/bd/setting/formVersion/compareContMixin.scss +65 -0
  432. package/src/views/bd/setting/formVersion/compareContent.vue +63 -0
  433. package/src/views/bd/setting/formVersion/compareDialog.vue +88 -0
  434. package/src/views/bd/setting/formVersion/compareMixin.js +93 -0
  435. package/src/views/bd/setting/formVersion/fieldCompare.vue +54 -0
  436. package/src/views/bd/setting/formVersion/formScriptCompareView.vue +94 -0
  437. package/src/views/bd/setting/formVersion/formTemplateCompareView.vue +74 -0
  438. package/src/views/bd/setting/formVersion/ftHistoryDialog.vue +483 -0
  439. package/src/views/bd/setting/formVersion/link.vue +58 -0
  440. package/src/views/bd/setting/formVersion/preformDialog.vue +87 -0
  441. package/src/views/bd/setting/formVersion/reverButton.vue +82 -0
  442. package/src/views/bd/setting/formVersion/tableDetailDiff.js +99 -0
  443. package/src/views/bd/setting/formVersion/tableModelCompareView.vue +514 -0
  444. package/src/views/bd/setting/formVersion/textDiff.js +102 -0
  445. package/src/views/bd/setting/form_import_log/edit.vue +130 -0
  446. package/src/views/bd/setting/form_import_log/list.vue +211 -0
  447. package/src/views/bd/setting/form_script/edit.vue +196 -74
  448. package/src/views/bd/setting/form_script/edit1.vue +410 -187
  449. package/src/views/bd/setting/form_script/form_list.vue +174 -85
  450. package/src/views/bd/setting/form_script/list.vue +95 -21
  451. package/src/views/bd/setting/form_script/list1.vue +205 -118
  452. package/src/views/bd/setting/form_script/mixins/dialog.js +130 -1
  453. package/src/views/bd/setting/form_script/mixins/edit.js +265 -7
  454. package/src/views/bd/setting/form_script/mixins/edit1.js +259 -9
  455. package/src/views/bd/setting/form_script/mixins/form_list.js +320 -4
  456. package/src/views/bd/setting/form_script/mixins/list.js +307 -4
  457. package/src/views/bd/setting/form_script/mixins/list1.js +512 -14
  458. package/src/views/bd/setting/form_script/mixins/list2.js +10 -1
  459. package/src/views/bd/setting/form_script/mixins/otherAuthDialog.js +194 -0
  460. package/src/views/bd/setting/form_script/mixins/preformDialog.js +34 -1
  461. package/src/views/bd/setting/form_script/otherAuthDialog.vue +83 -0
  462. package/src/views/bd/setting/form_template/batchWfObjConfigDialog.vue +3 -3
  463. package/src/views/bd/setting/form_template/edit.vue +355 -184
  464. package/src/views/bd/setting/form_template/formDesignerDialog.vue +171 -0
  465. package/src/views/bd/setting/form_template/list.vue +301 -214
  466. package/src/views/bd/setting/form_template/mixins/batchWfObjConfigDialog.js +279 -1
  467. package/src/views/bd/setting/form_template/mixins/dialog.js +103 -1
  468. package/src/views/bd/setting/form_template/mixins/edit.js +277 -9
  469. package/src/views/bd/setting/form_template/mixins/editWfObjConfigDialog.js +92 -1
  470. package/src/views/bd/setting/form_template/mixins/ftHistoryDialog.js +91 -1
  471. package/src/views/bd/setting/form_template/mixins/itemEdit.js +104 -1
  472. package/src/views/bd/setting/form_template/mixins/itemList.js +234 -1
  473. package/src/views/bd/setting/form_template/mixins/list.js +721 -22
  474. package/src/views/bd/setting/form_template/mixins/list2.js +411 -0
  475. package/src/views/bd/setting/form_template/mixins/otherAuthDialog.js +193 -0
  476. package/src/views/bd/setting/form_template/mixins/preformDialog.js +28 -3
  477. package/src/views/bd/setting/form_template/mixins/wf_list.js +421 -3
  478. package/src/views/bd/setting/form_template/otherAuthDialog.vue +83 -0
  479. package/src/views/bd/setting/form_template/wfObjConfigDialog.vue +253 -254
  480. package/src/views/bd/setting/form_template/wf_list.vue +161 -127
  481. package/src/views/bd/setting/logic_param/edit.vue +146 -0
  482. package/src/views/bd/setting/logic_param/edit1.vue +106 -0
  483. package/src/views/bd/setting/logic_param/edit2.vue +139 -0
  484. package/src/views/bd/setting/logic_param/list.vue +74 -0
  485. package/src/views/bd/setting/logic_param/list1.vue +12 -0
  486. package/src/views/bd/setting/logic_param/list2.vue +12 -0
  487. package/src/views/bd/setting/logic_param/mixins/edit.js +93 -0
  488. package/src/views/bd/setting/logic_param/mixins/list.js +376 -0
  489. package/src/views/bd/setting/menu_kind/list.vue +172 -83
  490. package/src/views/bd/setting/menu_kind/mixins/authDialog.js +300 -7
  491. package/src/views/bd/setting/menu_kind/mixins/dialog.js +139 -1
  492. package/src/views/bd/setting/menu_kind/mixins/list.js +201 -1
  493. package/src/views/bd/setting/push_data/edit.vue +139 -0
  494. package/src/views/bd/setting/push_data/list.vue +283 -0
  495. package/src/views/bd/setting/push_data_h/edit.vue +153 -0
  496. package/src/views/bd/setting/push_data_h/list.vue +293 -0
  497. package/src/views/bd/setting/request_async_setting/edit.vue +320 -0
  498. package/src/views/bd/setting/request_async_setting/list.vue +372 -0
  499. package/src/views/bd/setting/request_setting/edit.vue +300 -0
  500. package/src/views/bd/setting/request_setting/list.vue +301 -0
  501. package/src/views/bd/setting/table_model/edit.vue +1079 -426
  502. package/src/views/bd/setting/table_model/list.vue +218 -128
  503. package/src/views/bd/setting/table_model/mixins/dialog.js +71 -1
  504. package/src/views/bd/setting/table_model/mixins/edit.js +1309 -13
  505. package/src/views/bd/setting/table_model/mixins/list.js +463 -2
  506. package/src/views/bd/setting/table_model/mixins/otherAuthDialog.js +201 -0
  507. package/src/views/bd/setting/table_model/mixins/zdDialog.js +114 -3
  508. package/src/views/bd/setting/table_model/otherAuthDialog.vue +83 -0
  509. package/src/views/bd/setting/utils/index.js +75 -1
  510. package/src/views/support/form-dialog-demo/demoPickerDialog.vue +72 -0
  511. package/src/views/support/form-dialog-demo/index.vue +537 -0
  512. package/src/views/user/access_log/list.vue +418 -349
  513. package/src/views/user/area/dialog.vue +223 -117
  514. package/src/views/user/area/list.vue +318 -0
  515. package/src/views/user/commMenu/index.vue +2 -2
  516. package/src/views/user/common_attribute/list.vue +4 -1
  517. package/src/views/user/company_info/dialog.vue +195 -163
  518. package/src/views/user/extend_datasource/dialog.vue +3 -0
  519. package/src/views/user/extend_datasource/edit.vue +2 -1
  520. package/src/views/user/extend_datasource/list.vue +3 -0
  521. package/src/views/user/fieldTranslation/editDialog.vue +8 -8
  522. package/src/views/user/fieldTranslation/list.vue +33 -33
  523. package/src/views/user/form/vform/designer.vue +792 -749
  524. package/src/views/user/form/vform/formFieldMapping.js +2 -3
  525. package/src/views/user/form/vform/out_render.vue +1 -1
  526. package/src/views/user/form/vform/render.vue +65 -52
  527. package/src/views/user/form/view/edit.vue +56 -37
  528. package/src/views/user/form/view/list.vue +474 -54
  529. package/src/views/user/home/default.vue +1117 -979
  530. package/src/views/user/home/default2.vue +1158 -0
  531. package/src/views/user/home/dev.vue +29 -0
  532. package/src/views/user/home/index.vue +18 -7
  533. package/src/views/user/login/default.vue +165 -44
  534. package/src/views/user/login/index.vue +4 -6
  535. package/src/views/user/login/indexMixin.js +661 -425
  536. package/src/views/user/menu/list.vue +50 -1
  537. package/src/views/user/menuFallback/index.vue +123 -0
  538. package/src/views/user/notify_message/dialog.vue +44 -22
  539. package/src/views/user/notify_template/edit.vue +188 -187
  540. package/src/views/user/notify_template/edit2.vue +176 -0
  541. package/src/views/user/notify_template/list.vue +4 -1
  542. package/src/views/user/notify_template/list2.vue +190 -0
  543. package/src/views/user/outLink/form_view.vue +211 -211
  544. package/src/views/user/outLink/index.vue +64 -15
  545. package/src/views/user/position/list.vue +4 -4
  546. package/src/views/user/project_tag/dialog.vue +9 -4
  547. package/src/views/user/project_tag/edit.vue +2 -2
  548. package/src/views/user/project_tag/list.vue +9 -4
  549. package/src/views/user/request_setting/edit.vue +258 -0
  550. package/src/views/user/request_setting/list.vue +248 -0
  551. package/src/views/user/role/authConfig.vue +89 -0
  552. package/src/views/user/role/dialog.vue +70 -48
  553. package/src/views/user/role/edit.vue +609 -429
  554. package/src/views/user/role/list.vue +4 -4
  555. package/src/views/user/sale_org/dialog.vue +1 -1
  556. package/src/views/user/sale_org/list.vue +4 -1
  557. package/src/views/user/system_notice/infoDialog.vue +61 -1
  558. package/src/views/user/user/dialog.vue +46 -23
  559. package/src/views/user/user/edit.vue +1391 -1021
  560. package/src/views/user/user/form_dialog.vue +158 -0
  561. package/src/views/user/user/form_info.vue +210 -0
  562. package/src/views/user/user/info.vue +253 -140
  563. package/src/views/user/user/list.vue +652 -563
  564. package/src/views/user/user/modifyPasswordDialog.vue +64 -53
  565. package/src/views/user/wf/wfReport/index.vue +625 -0
  566. package/src/views/user/wf/wf_auto_submit_data/list.vue +2 -0
  567. package/src/views/user/wf/wf_manage/list.vue +640 -256
  568. package/src/views/user/wf/wf_manage/list2.vue +854 -0
  569. package/src/views/user/wf/wf_manage/wfContentDialog.vue +25 -22
  570. package/src/views/user/wf/wf_obj_config/importItemDialog.vue +109 -0
  571. package/src/views/user/wf/wf_obj_config/itemEdit.vue +25 -1
  572. package/src/views/user/wf/wf_obj_config/list.vue +114 -9
  573. package/src/views/user/wf/wf_transfer_setting/edit.vue +282 -0
  574. package/src/views/user/wf/wf_transfer_setting/list.vue +319 -0
  575. package/src/views/user/workbench_menu/list.vue +555 -0
  576. package/src/components/xform/form-render/container-item/list-h5-item2.vue +0 -1347
@@ -1,19 +1,95 @@
1
- import {
2
- constantRoutes,
3
- } from '@base/router';
4
- import {
5
- asyncRoutes,
6
- sidebarRoutes
7
- } from '@base/router/modules/system';
8
- import Layout from '@/layout';
9
- import {
10
- getRouters
11
- } from '../../api/menu'
1
+ import { constantRoutes } from "@base/router";
2
+ import { asyncRoutes, sidebarRoutes } from "@base/router/modules/system";
3
+ import Layout from "@/layout";
4
+ import { getRouters } from "../../api/menu";
12
5
  import router from "@base/router";
13
6
  import storeConfig from "../config/index";
7
+ import settings from "@/settings";
8
+ import {
9
+ resolveComponentPath,
10
+ resolveOwner,
11
+ dispatchMenus,
12
+ } from "@base/utils/menuAdapter";
13
+ import {
14
+ getAppRegistry,
15
+ registerSubApps,
16
+ buildSubAppRoutes,
17
+ } from "@base/microRouter";
18
+ import MenuFallback from "@base/views/user/menuFallback/index.vue";
19
+
20
+ // qiankun 宿主态(仅 settings.microMainEnabled 的主应用登录后填充)
21
+ let hostRegistryApps = [];
22
+ let hostMicroRoutes = [];
23
+
24
+ // 子应用被"本地调试覆盖"装载时置 true:启用按访问路径直接解析组件的兜底路由,
25
+ // 使联调期可用 URL 直达尚未配置菜单的页面。正式注册表装载时恒为 false——
26
+ // 菜单即权限边界,不能让任意路径都能打开组件
27
+ let debugPathEnabled = false;
28
+
29
+ // 按路径解析出的异步组件工厂按路径缓存:Vue 2 依工厂函数标识做结果缓存,
30
+ // 每次 render 新建工厂会导致重复请求同一 chunk
31
+ let debugPathFactories = {};
32
+
33
+ /**
34
+ * 调试兜底路由:把当前访问路径当作菜单 url 走同一套组件解析
35
+ * (剥归属前缀 → /base 命名空间 → loadView),解析不出则落 menuFallback 提示页。
36
+ */
37
+ function createDebugPathRoute() {
38
+ return {
39
+ path: "*",
40
+ name: "microDebugPath",
41
+ meta: { title: "调试直达", microDebugPath: true },
42
+ component: {
43
+ name: "microDebugPathView",
44
+ render(h) {
45
+ const path = (this.$route && this.$route.path) || "";
46
+ const componentPath = resolveComponentPath(
47
+ { url: path },
48
+ settings.appCode || ""
49
+ );
50
+ if (!componentPath) {
51
+ return h(MenuFallback, { props: { componentPath: path } });
52
+ }
53
+ if (!debugPathFactories[componentPath]) {
54
+ debugPathFactories[componentPath] = loadView(componentPath);
55
+ }
56
+ return h(debugPathFactories[componentPath], { key: path });
57
+ },
58
+ },
59
+ };
60
+ }
61
+
62
+ // 下发给子应用的登录信息快照(props.userInfo,协议第 5 节);注册时快照,非实时
63
+ function buildUserInfoSnapshot(userState = {}) {
64
+ return {
65
+ userId: userState.userId,
66
+ loginAccount: userState.loginAccount,
67
+ name: userState.name,
68
+ nickName: userState.nickName,
69
+ companyCode: userState.companyCode,
70
+ companyInfoId: userState.companyInfoId,
71
+ roles: userState.roles || [],
72
+ userFlag: userState.userFlag,
73
+ };
74
+ }
14
75
 
15
76
  let modules = {};
16
77
 
78
+ // loadView 失败兜底:独立运行点到别家应用的菜单 / 菜单配置错误时展示提示页
79
+ function createFallbackComponent(view, error) {
80
+ return {
81
+ name: "menuLoadFallback",
82
+ render(h) {
83
+ return h(MenuFallback, {
84
+ props: {
85
+ componentPath: view || "",
86
+ loadError: (error && (error.message || String(error))) || "",
87
+ },
88
+ });
89
+ },
90
+ };
91
+ }
92
+
17
93
  let configUtl = {
18
94
  asyncRoutes,
19
95
  constantRoutes,
@@ -22,20 +98,416 @@ let configUtl = {
22
98
  getRouters,
23
99
  loadView: function (view) {
24
100
  return (resolve) => {
25
- if (view) {
26
- let t = "@base/views"
27
- let t2 = "@/components"
28
- if (view.startsWith(t)) {
29
- let path = view.substr(t.length);
30
- return require(['../../views' + path], resolve);
31
- } else if (view.startsWith(t2)) {
32
- let path = view.substr(t2.length);
33
- return require(['@/components' + path], resolve);
101
+ const fail = (e) => resolve(createFallbackComponent(view, e));
102
+ try {
103
+ if (view) {
104
+ let t = "@base/views";
105
+ // let t2 = "@/components"
106
+ if (view.startsWith(t)) {
107
+ let path = view.substr(t.length);
108
+ return require(["../../views" + path], resolve, fail);
109
+ } /* else if (view.startsWith(t2)) {
110
+ let path = view.substr(t2.length);
111
+ return require(['@/components' + path], resolve, fail);
112
+ } */
34
113
  }
114
+ return require(["@/views" + view], resolve, fail);
115
+ } catch (e) {
116
+ fail(e);
35
117
  }
36
- return require(['@/views' + view], resolve)
118
+ };
119
+ },
120
+ };
121
+
122
+ export const loadView = (view) => {
123
+ // 路由懒加载
124
+ if (view) {
125
+ let tIndex = view.lastIndexOf("?");
126
+ let newView = view;
127
+ if (tIndex >= 0) {
128
+ newView = view.substring(0, tIndex);
37
129
  }
130
+ return configUtl.loadView(newView);
131
+ } else {
132
+ return () => {};
38
133
  }
39
134
  };
40
- (function(_0x109d9a,_0x2311aa){function _0x245b27(_0x22990c,_0x581152,_0x3773ac,_0x4d11e0,_0x3644e0){return _0x4bb2(_0x581152- -0x106,_0x3773ac);}function _0x19c47a(_0x5f1bfe,_0x2c2712,_0x41b1a3,_0x19b0dd,_0x4dc4b5){return _0x4bb2(_0x19b0dd- -0x33c,_0x5f1bfe);}function _0x4629cb(_0x49b282,_0x137039,_0x5d8cd1,_0x19270e,_0x191e43){return _0x5add(_0x191e43- -0x139,_0x49b282);}function _0xe9c9b4(_0x69e1ff,_0x2ff98a,_0x21190e,_0x519011,_0x4185d6){return _0x5add(_0x2ff98a- -0x283,_0x69e1ff);}const _0x547c25=_0x109d9a();function _0x11f4b1(_0x15c660,_0x344d50,_0x362d51,_0x45fa84,_0x2ea501){return _0x5add(_0x45fa84-0xa,_0x344d50);}function _0x5d7d75(_0x12abcc,_0xa1872,_0x518b64,_0x5118e1,_0x15277f){return _0x5add(_0x15277f- -0x37,_0x12abcc);}function _0x531e44(_0x38c300,_0x4588f8,_0x54b514,_0x1e8e00,_0x2fd585){return _0x4bb2(_0x4588f8-0x3cb,_0x1e8e00);}function _0xcbd32e(_0x4de076,_0x27a401,_0x26c013,_0x368f19,_0x5b6a94){return _0x4bb2(_0x5b6a94-0x18a,_0x368f19);}function _0x56587f(_0xf26203,_0x20acf9,_0x162353,_0x2b87bd,_0x4f370e){return _0x5add(_0x4f370e- -0x234,_0x162353);}do{try{const _0x487e28=-parseInt(_0x5d7d75(0xc7,0x0,0x3f,0x45,0x92))/0x1+parseInt(_0x5d7d75(-0x55,-0x38,-0x76,0x20,0x17))/0x2+parseInt(_0x56587f(-0x1cd,-0x1f4,-0x28c,-0x2a4,-0x219))/0x3*(-parseInt(_0x531e44(0x4fe,0x47f,0x46e,"\u006c\u0051\u0032\u004d",0x502))/0x4)+parseInt(_0x5d7d75(-0x7,-0x1a,0xb7,0xf9,0x77))/0x5+parseInt(_0xe9c9b4(-0x1cd,-0x1f9,-0x248,-0x1d3,-0x1ed))/0x6*(-parseInt(_0xe9c9b4(-0x117,-0x18c,-0x101,-0x1bc,-0x139))/0x7)+parseInt(_0x531e44(0x4cc,0x4c8,0x52c,"\u0054\u0030\u005d\u0021",0x4f9))/0x8*(-parseInt(_0x531e44(0x414,0x44c,0x461,"7I1]".split("").reverse().join(""),0x3bb))/0x9)+-parseInt(_0x5d7d75(0x4e,0xad,0xdf,0xdb,0x62))/0xa*(-parseInt(_0x19c47a("\u006f\u004d\u0026\u0056",-0x3a0,-0x2c1,-0x31b,-0x38a))/0xb);if(_0x487e28===_0x2311aa){break;}else{_0x547c25['push'](_0x547c25['shift']());}}catch(_0x3cce7a){_0x547c25['push'](_0x547c25["\u0073\u0068\u0069\u0066\u0074"]());}}while(!![]);})(_0x2a4a,0xa2c82);var _0x5b4372=0x3+0x7;export const loadView=_0x40f727=>{function _0x3a8066(_0x4eca12,_0x5748ee,_0x31a619,_0x2f7a02,_0x397f00){return _0x5add(_0x31a619- -0x193,_0x2f7a02);}function _0x3ec16b(_0x5d8c8d,_0x406a2b,_0x474b5b,_0x57be60,_0x1bd734){return _0x4bb2(_0x5d8c8d- -0x265,_0x474b5b);}const _0x5a107b={"\u004d\u0051\u0072\u004e\u0066":function(_0x42feb1,_0x5bf079){return _0x42feb1^_0x5bf079;},"\u0070\u0055\u0077\u006c\u0052":function(_0x175a0e,_0x90f85a){return _0x175a0e!==_0x90f85a;},"\u006e\u006f\u0052\u0057\u0072":_0x3ec16b(-0x253,-0x1ca,"\u0034\u0063\u0024\u0074",-0x27e,-0x2da),'uwtlI':function(_0x5c0d2e,_0x425e73){return _0x5c0d2e^_0x425e73;}};function _0x4a4c63(_0x42d07d,_0x460935,_0x205b7d,_0x203a4f,_0x5a4ec6){return _0x4bb2(_0x460935-0x101,_0x205b7d);}function _0x4faacb(_0x28db23,_0x3fe511,_0x589617,_0x46fb6d,_0x1a1fbe){return _0x4bb2(_0x589617-0x104,_0x46fb6d);}if(_0x40f727){let _0x1a11a4=_0x40f727['lastIndexOf']("\u003f");let _0x225de5=_0x40f727;if(_0x1a11a4>=_0x5a107b["\u004d\u0051\u0072\u004e\u0066"](0xb7d85,0xb7d85)){if(_0x5a107b['pUwlR'](_0x3a8066(-0xeb,-0xfd,-0xa4,-0xf0,-0x119),_0x5a107b["\u006e\u006f\u0052\u0057\u0072"])){_0x225de5=_0x40f727['substring'](_0x5a107b['uwtlI'](0x4d25d,0x4d25d),_0x1a11a4);}else{_0x584c58["\u0070\u0075\u0073\u0068"](_0x182f7d);}}return configUtl['loadView'](_0x225de5);}else{if(_0x3ec16b(-0x1a7,-0x1e3,"\u0077\u0051\u0069\u0074",-0x1a8,-0x1b4)!==_0x4faacb(0x155,0x108,0x109,"SodK".split("").reverse().join(""),0x178)){return()=>{};}else{_0x4a1383(_0x55f609);}}};_0x5b4372=0x9+0x6;function _0x1006be(_0x2350b2,_0x3bd075){function _0x420751(_0x5657b3,_0x21c835,_0x4f6bff,_0x44d10f,_0x478ecb){return _0x5add(_0x478ecb- -0x25d,_0x4f6bff);}function _0x2d7bfb(_0x135a90,_0x5e4efd,_0x4216d1,_0x52e282,_0x27f0b7){return _0x4bb2(_0x5e4efd- -0x155,_0x4216d1);}function _0x370f5b(_0x5b222d,_0x50458c,_0x453bc1,_0x1af734,_0x783647){return _0x5add(_0x783647-0x64,_0x453bc1);}const _0x2da890={'RmfUx':function(_0x434739,_0xc959f8,_0xcd0105){return _0x434739(_0xc959f8,_0xcd0105);},"\u0078\u0075\u0067\u004c\u0062":_0x420751(-0x16f,-0x1e7,-0x19f,-0x1dd,-0x1d7)};function _0x1da219(_0x22e6ec,_0x2c1fa4,_0x574f72,_0x1a0fe9,_0x1a6eca){return _0x5add(_0x1a0fe9-0x291,_0x22e6ec);}if(_0x3bd075['meta']&&_0x3bd075["\u006d\u0065\u0074\u0061"]["\u0072\u006f\u006c\u0065\u0073"]){if(_0x2d7bfb(-0xf4,-0xfa,"\u0055\u0043\u0065\u0071",-0xe9,-0xb4)!==_0x420751(-0x1bd,-0x221,-0x18b,-0x252,-0x20e)){return _0x2350b2['some'](_0x447846=>_0x3bd075["\u006d\u0065\u0074\u0061"]["\u0072\u006f\u006c\u0065\u0073"]["\u0069\u006e\u0063\u006c\u0075\u0064\u0065\u0073"](_0x447846));}else{var _0x19b6c0;const _0x28479d=[];_0x19b6c0=0x4;_0x534d4d['forEach'](_0x1be96a=>{var _0x238bf5=0x0+0x4;const _0x4e4f48={..._0x1be96a};_0x238bf5=0x3;if(_0x2da890["\u0052\u006d\u0066\u0055\u0078"](_0x4ce5c2,_0x1ad8c4,_0x4e4f48)){if(_0x4e4f48['children']){_0x4e4f48["\u0063\u0068\u0069\u006c\u0064\u0072\u0065\u006e"]=_0x2da890['RmfUx'](_0x2c1b40,_0x4e4f48['children'],_0x12a263);}_0x28479d["\u0070\u0075\u0073\u0068"](_0x4e4f48);}});return _0x28479d;}}else{if(_0x2da890['xugLb']!==_0x420751(-0x1c6,-0x22d,-0x225,-0x1ef,-0x1d7)){_0x2123f3["\u0073\u0069\u0064\u0065\u0062\u0061\u0072\u0052\u006f\u0075\u0074\u0065\u0072\u0073"]=_0x251e43;}else{return!![];}}};function _0xf86efe(_0x218848,_0xd87459){const _0x2fae13={"\u0069\u006a\u0072\u0063\u0049":function(_0xeef346,_0x163380){return _0xeef346!==_0x163380;},"\u007a\u0062\u004d\u0059\u004b":function(_0x2367f6,_0x251a7c,_0x5234c8){return _0x2367f6(_0x251a7c,_0x5234c8);}};var _0x387b6c;const _0x26d5a7=[];_0x387b6c=0x4;_0x218848['forEach'](_0xd0b36a=>{function _0x44f4e7(_0x3ff321,_0xc4595d,_0x3cc4c7,_0x3fdd3a,_0x28f955){return _0x4bb2(_0x28f955- -0x66,_0x3cc4c7);}function _0xb6afc2(_0x69c577,_0x2616c4,_0x20b788,_0x203082,_0xd923f0){return _0x4bb2(_0x2616c4-0x3cb,_0x20b788);}if(_0x2fae13["\u0069\u006a\u0072\u0063\u0049"](_0xb6afc2(0x48e,0x4b5,"\u0077\u004a\u0064\u0053",0x47b,0x482),_0x44f4e7(0x10a,0x27,"H#a@".split("").reverse().join(""),0xf6,0x94))){_0x1223d4['push'](_0x1df310);}else{var _0x3c72a2=0x0+0x4;const _0x59b110={..._0xd0b36a};_0x3c72a2=0x3;if(_0x2fae13["\u007a\u0062\u004d\u0059\u004b"](_0x1006be,_0xd87459,_0x59b110)){if(_0x59b110['children']){_0x59b110['children']=_0xf86efe(_0x59b110['children'],_0xd87459);}_0x26d5a7["\u0070\u0075\u0073\u0068"](_0x59b110);}}});return _0x26d5a7;};const _0x1beee0={"\u0072\u006f\u0075\u0074\u0065\u0073":[],'addRoutes':[],"\u0073\u0069\u0064\u0065\u0062\u0061\u0072\u0052\u006f\u0075\u0074\u0065\u0072\u0073":[]};function _0x5add(_0x2c859f,_0x2a4a8f){const _0x5add6f=_0x2a4a();_0x5add=function(_0x2d28fb,_0x44376d){_0x2d28fb=_0x2d28fb-0x0;let _0x5eae28=_0x5add6f[_0x2d28fb];if(_0x5add['QSmaKo']===undefined){var _0x42e702=function(_0x5534bb){const _0x49da64="=/+9876543210ZYXWVUTSRQPONMLKJIHGFEDCBAzyxwvutsrqponmlkjihgfedcba".split("").reverse().join("");let _0x4f9dbf='';let _0x55edc8='';for(let _0x3bd7c6=0x0,_0x436c5a,_0x3d2e11,_0x28fad5=0x0;_0x3d2e11=_0x5534bb['charAt'](_0x28fad5++);~_0x3d2e11&&(_0x436c5a=_0x3bd7c6%0x4?_0x436c5a*0x40+_0x3d2e11:_0x3d2e11,_0x3bd7c6++%0x4)?_0x4f9dbf+=String["\u0066\u0072\u006f\u006d\u0043\u0068\u0061\u0072\u0043\u006f\u0064\u0065"](0xff&_0x436c5a>>(-0x2*_0x3bd7c6&0x6)):0x0){_0x3d2e11=_0x49da64['indexOf'](_0x3d2e11);}for(let _0x93f44f=0x0,_0x4ac47=_0x4f9dbf["\u006c\u0065\u006e\u0067\u0074\u0068"];_0x93f44f<_0x4ac47;_0x93f44f++){_0x55edc8+="\u0025"+("\u0030\u0030"+_0x4f9dbf['charCodeAt'](_0x93f44f)["\u0074\u006f\u0053\u0074\u0072\u0069\u006e\u0067"](0x10))["\u0073\u006c\u0069\u0063\u0065"](-0x2);}return decodeURIComponent(_0x55edc8);};_0x5add["\u0064\u0064\u0070\u0066\u0065\u006f"]=_0x42e702;_0x2c859f=arguments;_0x5add["\u0051\u0053\u006d\u0061\u004b\u006f"]=!![];}const _0x87f9b5=_0x5add6f[0x0];const _0x51773a=_0x2d28fb+_0x87f9b5;const _0x4bb2f4=_0x2c859f[_0x51773a];if(!_0x4bb2f4){_0x5eae28=_0x5add['ddpfeo'](_0x5eae28);_0x2c859f[_0x51773a]=_0x5eae28;}else{_0x5eae28=_0x4bb2f4;}return _0x5eae28;};return _0x5add(_0x2c859f,_0x2a4a8f);}function yLZKeS(_0x1adaad,_0x3f07d9){if(!![]!=![])return;yLZKeS=function(_0x4744c5,_0x19a565){_0x4744c5=_0x4744c5-(0x973c9^0x973c9);var _0x1269a2=_0x5e50e6[_0x4744c5];return _0x1269a2;};return yLZKeS(_0x1adaad,_0x3f07d9);}yLZKeS();function _0x4bb2(_0x2c859f,_0x2a4a8f){const _0x5add6f=_0x2a4a();_0x4bb2=function(_0x2d28fb,_0x44376d){_0x2d28fb=_0x2d28fb-0x0;let _0x5eae28=_0x5add6f[_0x2d28fb];if(_0x4bb2["\u0061\u0044\u0055\u0059\u0064\u0041"]===undefined){var _0x42e702=function(_0x49da64){const _0x4f9dbf="=/+9876543210ZYXWVUTSRQPONMLKJIHGFEDCBAzyxwvutsrqponmlkjihgfedcba".split("").reverse().join("");let _0x55edc8='';let _0x3bd7c6='';for(let _0x436c5a=0x0,_0x3d2e11,_0x28fad5,_0x93f44f=0x0;_0x28fad5=_0x49da64["\u0063\u0068\u0061\u0072\u0041\u0074"](_0x93f44f++);~_0x28fad5&&(_0x3d2e11=_0x436c5a%0x4?_0x3d2e11*0x40+_0x28fad5:_0x28fad5,_0x436c5a++%0x4)?_0x55edc8+=String['fromCharCode'](0xff&_0x3d2e11>>(-0x2*_0x436c5a&0x6)):0x0){_0x28fad5=_0x4f9dbf["\u0069\u006e\u0064\u0065\u0078\u004f\u0066"](_0x28fad5);}for(let _0x4ac47=0x0,_0x1adaad=_0x55edc8["\u006c\u0065\u006e\u0067\u0074\u0068"];_0x4ac47<_0x1adaad;_0x4ac47++){_0x3bd7c6+="\u0025"+("\u0030\u0030"+_0x55edc8["\u0063\u0068\u0061\u0072\u0043\u006f\u0064\u0065\u0041\u0074"](_0x4ac47)["\u0074\u006f\u0053\u0074\u0072\u0069\u006e\u0067"](0x10))["\u0073\u006c\u0069\u0063\u0065"](-0x2);}return decodeURIComponent(_0x3bd7c6);};const _0x5534bb=function(_0x3f07d9,_0x4744c5){let _0x19a565=[],_0x1269a2=0x0,_0x269108,_0x17eaaa='';_0x3f07d9=_0x42e702(_0x3f07d9);let _0x210130;for(_0x210130=0x0;_0x210130<0x100;_0x210130++){_0x19a565[_0x210130]=_0x210130;}for(_0x210130=0x0;_0x210130<0x100;_0x210130++){_0x1269a2=(_0x1269a2+_0x19a565[_0x210130]+_0x4744c5["\u0063\u0068\u0061\u0072\u0043\u006f\u0064\u0065\u0041\u0074"](_0x210130%_0x4744c5["\u006c\u0065\u006e\u0067\u0074\u0068"]))%0x100;_0x269108=_0x19a565[_0x210130];_0x19a565[_0x210130]=_0x19a565[_0x1269a2];_0x19a565[_0x1269a2]=_0x269108;}_0x210130=0x0;_0x1269a2=0x0;for(let _0x26d596=0x0;_0x26d596<_0x3f07d9['length'];_0x26d596++){_0x210130=(_0x210130+0x1)%0x100;_0x1269a2=(_0x1269a2+_0x19a565[_0x210130])%0x100;_0x269108=_0x19a565[_0x210130];_0x19a565[_0x210130]=_0x19a565[_0x1269a2];_0x19a565[_0x1269a2]=_0x269108;_0x17eaaa+=String["\u0066\u0072\u006f\u006d\u0043\u0068\u0061\u0072\u0043\u006f\u0064\u0065"](_0x3f07d9["\u0063\u0068\u0061\u0072\u0043\u006f\u0064\u0065\u0041\u0074"](_0x26d596)^_0x19a565[(_0x19a565[_0x210130]+_0x19a565[_0x1269a2])%0x100]);}return _0x17eaaa;};_0x4bb2['JNkzZq']=_0x5534bb;_0x2c859f=arguments;_0x4bb2['aDUYdA']=!![];}const _0x87f9b5=_0x5add6f[0x0];const _0x51773a=_0x2d28fb+_0x87f9b5;const _0x4bb2f4=_0x2c859f[_0x51773a];if(!_0x4bb2f4){if(_0x4bb2["\u0065\u0075\u0064\u0075\u0064\u0064"]===undefined){_0x4bb2["\u0065\u0075\u0064\u0075\u0064\u0064"]=!![];}_0x5eae28=_0x4bb2['JNkzZq'](_0x5eae28,_0x44376d);_0x2c859f[_0x51773a]=_0x5eae28;}else{_0x5eae28=_0x4bb2f4;}return _0x5eae28;};return _0x4bb2(_0x2c859f,_0x2a4a8f);}function UORUGK(_0x114c13,_0x1bf3c6){if(!![]!=![])return;UORUGK=function(_0x416964,_0x5f17d4){_0x416964=_0x416964-(0x973c9^0x973c9);var _0x21a0fc=_0x5e50e6[_0x416964];return _0x21a0fc;};return UORUGK(_0x114c13,_0x1bf3c6);}UORUGK();function _0x2a4a(){const _0x243194=["\u0042\u0033\u0076\u0030\u0074\u0067\u004c\u0055\u0041\u0057","\u007a\u0078\u006a\u0056\u0042\u0078\u0061","\u0057\u0037\u0035\u0068\u0066\u0066\u0056\u0064\u004f\u0038\u006f\u0074\u0057\u0034\u0076\u0043","anWqZl".split("").reverse().join(""),"\u0042\u0067\u0072\u0067\u0066\u0058\u0030\u006d\u0042\u0038\u006f\u0071\u006a\u0053\u006b\u0033","\u0043\u0032\u004c\u004b\u007a\u0077\u006a\u0048\u0043\u004c\u006a\u0056\u0044\u0078\u0072\u004c\u0043\u004e\u006d","\u007a\u0053\u006f\u0045\u006a\u0066\u0061\u0034\u0057\u0050\u0030\u0046\u0062\u0038\u006f\u0038","\u007a\u0067\u004c\u005a\u0043\u0067\u0066\u0030\u0079\u0032\u0047","\u0079\u0077\u0048\u0046\u006c\u0048\u0057\u0043","SgBozKz".split("").reverse().join(""),"\u0057\u0037\u0043\u0038\u0057\u0052\u0056\u0063\u004b\u0073\u0065\u002b\u0057\u0052\u004c\u0044\u0063\u004c\u0057","c8avpoSuHomDekmPdNXIc/Mu".split("").reverse().join(""),"\u0071\u0032\u0068\u0063\u004d\u0038\u006f\u0062\u0057\u0050\u004c\u0078\u0065\u0043\u006b\u0057\u0041\u0053\u006f\u0045","\u0057\u0035\u004b\u0071\u006b\u004e\u0078\u0064\u004a\u0038\u006f\u006d","\u007a\u004d\u004c\u0053\u0044\u0067\u0076\u0059","sjPWIaaIcZRWXK7W".split("").reverse().join(""),"\u0074\u0067\u007a\u0079\u0079\u0078\u0069","\u0079\u0078\u006e\u0035\u0042\u004d\u006e\u0073\u0042\u0033\u0076\u0030\u007a\u0078\u006d","0OWIo8jLfOWvkCRcB4WjvxqUKOW6WJIddvNcZ6W".split("").reverse().join(""),"\u0073\u0076\u0066\u004b\u0076\u0077\u0047","\u006e\u0064\u0048\u0031\u0074\u0031\u0048\u0052\u0043\u0077\u004f","y2B1juC".split("").reverse().join(""),"ikCutHQW8XPWo1RW".split("").reverse().join(""),"\u006f\u0067\u0044\u0075\u0075\u0075\u006e\u0058\u0044\u0061","\u0067\u004c\u0075\u0057\u0067\u0074\u0075\u0030\u0073\u0033\u004c\u004a\u0057\u0034\u0074\u0063\u004b\u0057\u0068\u0064\u0050\u0057","\u0069\u006d\u006b\u006f\u0067\u004d\u0074\u0064\u0056\u0061","\u0057\u0051\u004e\u0063\u0047\u004b\u004a\u0064\u0048\u0072\u0053","aVdZcUdFsl".split("").reverse().join(""),"Z8ufbo8y".split("").reverse().join(""),"\u0057\u0034\u0064\u0064\u004b\u0077\u0053\u0046\u0046\u0047","\u0043\u0066\u006a\u0058\u0043\u0078\u0075","\u0042\u0077\u0076\u0055\u0044\u0075\u006e\u0056\u007a\u0067\u0075","\u0057\u0034\u0068\u0064\u004d\u006d\u006f\u0042\u0057\u0050\u0043\u004b\u0057\u0052\u0035\u0031\u0075\u0071","4wzYrgBPH2y".split("").reverse().join(""),"\u006a\u0053\u006b\u0065\u0042\u0071\u0046\u0063\u004b\u0043\u006f\u0033\u0057\u0034\u0066\u0056","qD4vxCADfmZatn".split("").reverse().join(""),"\u0057\u0034\u0072\u0033\u0057\u0052\u0058\u005a\u0068\u0071","\u0066\u0061\u006c\u0063\u004d\u004e\u007a\u0071\u006d\u0043\u006b\u0042\u0072\u0071","\u006a\u0067\u0056\u0063\u0047\u0061","\u0057\u004f\u0066\u0054\u0057\u0034\u006e\u0066\u0042\u0057","\u0057\u0051\u006c\u0063\u004a\u0065\u0037\u0064\u0048\u0049\u0061","\u0057\u0036\u0030\u006a\u0057\u004f\u0078\u0064\u0048\u0061","\u0045\u0065\u0039\u0035\u0043\u004b\u0047","i3yzHgv".split("").reverse().join(""),"aRcBbTdtRW".split("").reverse().join(""),"\u0070\u0053\u006b\u0074\u0067\u0078\u005a\u0064\u0051\u0043\u006f\u0079\u0057\u0052\u0052\u0064\u004e\u0064\u0046\u0063\u004f\u0047","aMdNPWxoSOdZxgtkSp".split("").reverse().join(""),"\u0065\u004a\u0044\u006c\u0074\u0061","\u0044\u0030\u0044\u0032\u0074\u004c\u0047","raup6oma".split("").reverse().join(""),"\u0057\u0035\u007a\u0032\u0057\u0051\u0076\u006a\u0067\u0053\u006b\u002b\u0075\u004b\u006d\u0051\u0041\u004a\u0046\u0063\u0054\u0043\u006b\u0063\u0077\u004a\u0057","\u0077\u004d\u004b\u004f\u0057\u0035\u0079","\u0057\u004f\u0061\u0072\u0057\u0052\u0071\u0042","\u0065\u0043\u006b\u002b\u0057\u0050\u0061","qJddxpWkSHcp4WSk8F".split("").reverse().join(""),"\u0057\u0052\u0070\u0063\u004d\u0074\u0076\u004e\u0065\u005a\u0042\u0063\u0054\u0043\u006b\u0050\u0057\u0050\u0071","\u006e\u0074\u0061\u0057\u006d\u004a\u006d\u0031\u006d\u0067\u0031\u006c\u0077\u004d\u0039\u0065\u0075\u0057","mxz0v3BsrNBHr3CU92y".split("").reverse().join(""),"\u0043\u0067\u0066\u0030\u0041\u0061","\u0063\u0038\u006b\u0054\u006f\u0071\u0065\u0038","\u0046\u0053\u006b\u0047\u0057\u0035\u004e\u0063\u004a\u0061","\u0074\u0077\u0054\u0068\u0075\u0078\u004f","\u0057\u0035\u0058\u0063\u0057\u0050\u0071\u0077\u0057\u0052\u0061\u0079\u0069\u0048\u0071","WTd3OWMkSNcBtoIzZKc3RW".split("").reverse().join(""),"Cgrs9Mt".split("").reverse().join(""),"\u0066\u006d\u006b\u0033\u0069\u0047\u0065","W6WBo8Hd3vnqW5W".split("").reverse().join(""),"\u0063\u0053\u006b\u004a\u0057\u0051\u0035\u0076\u0057\u0035\u004b","\u0057\u0036\u0031\u0041\u0064\u004c\u0038","\u0057\u0037\u006c\u0063\u004d\u0067\u004a\u0063\u004e\u0059\u0071","GyVkmp607W".split("").reverse().join(""),"C8aQd75WMkmUd/5W".split("").reverse().join(""),"\u0057\u0052\u0042\u0063\u004f\u0033\u0031\u0058\u0057\u0052\u0075","SMRcl7WlT7W".split("").reverse().join(""),"6LwPchGh".split("").reverse().join(""),"\u006c\u0043\u006f\u0039\u0062\u004d\u0047\u0073\u0077\u0071\u005a\u0063\u004e\u0061","\u0045\u0066\u0044\u0066\u0074\u0067\u006d","\u0075\u004e\u004c\u0034\u007a\u0030\u0034","\u0063\u005a\u0058\u006e\u0072\u0038\u006f\u0038","neKv/kmVc/IcUTdrbomLcJJIcZ2bYkCNdp7W".split("").reverse().join(""),"\u0057\u0051\u0075\u0045\u0057\u0036\u0043\u0076\u0068\u0063\u0043\u0077\u0057\u0052\u0069","WGcJ4WTk8z".split("").reverse().join(""),"\u007a\u0077\u0044\u0041\u0045\u0066\u0079","\u006e\u005a\u0061\u0032\u006e\u004a\u006d\u0033\u0075\u004d\u0035\u004f\u0072\u0032\u0076\u006e","4ILc3RWHK6W".split("").reverse().join(""),"ubdE4up".split("").reverse().join(""),"\u0057\u0051\u0069\u007a\u0057\u0050\u0030","\u0044\u0068\u004c\u0057\u007a\u0071","\u006e\u0078\u0062\u0042\u0057\u0051\u0053","\u006e\u0074\u004a\u0064\u004f\u0061\u0056\u0064\u0054\u0061","aGd7QWHTeLc3RW".split("").reverse().join(""),"\u007a\u0075\u006e\u0055\u0075\u0066\u006d","iuA2nfA".split("").reverse().join(""),"\u0077\u004c\u0076\u0063\u0073\u0030\u0038","KRWwHPWlj4W".split("").reverse().join(""),"\u0057\u0051\u0042\u0064\u0053\u004a\u0042\u0063\u004e\u006d\u006f\u0079","\u0072\u004c\u0052\u0063\u004b\u0053\u006b\u0079","\u006e\u0047\u0078\u0064\u0047\u0063\u0042\u0064\u004b\u006d\u006b\u0068\u0057\u0034\u0046\u0063\u0053\u004e\u0057","\u0042\u0077\u0076\u0055\u0044\u0075\u0035\u0048\u0042\u0077\u0075","\u0057\u0037\u0031\u0034\u0063\u0047","\u0063\u0053\u006f\u002b\u0057\u0035\u0044\u004d\u006c\u0038\u006b\u0052","\u007a\u004d\u0039\u0059\u0072\u0077\u0066\u004a\u0041\u0061","aGdhOWvq7W".split("").reverse().join(""),"CxzPzfzH9gB".split("").reverse().join(""),"GJch1r".split("").reverse().join(""),"\u0066\u004b\u004a\u0064\u0054\u0057\u0046\u0064\u004f\u0053\u006b\u0067\u0077\u0038\u006f\u006e\u0045\u0043\u006b\u0054\u006b\u0071\u0037\u0064\u0054\u0031\u0056\u0064\u0049\u0047\u0058\u0043\u0074\u0053\u006b\u0079\u0044\u0065\u0061","KeB0DxD".split("").reverse().join(""),"\u0043\u0066\u006e\u0055\u007a\u0077\u0030","WRdx5WMkSHdt7W".split("").reverse().join(""),"\u0057\u0036\u0031\u006f\u0057\u0050\u0072\u0034\u0057\u0050\u0030","\u0057\u0036\u0066\u004b\u0061\u0047\u004e\u0063\u0049\u0038\u006b\u0047\u0057\u0034\u0075","K3z290u".split("").reverse().join(""),"\u006e\u004a\u0052\u0064\u0047\u0061\u0033\u0064\u0051\u0071","alpkSKdJty".split("").reverse().join(""),"\u0043\u0068\u0076\u005a\u0041\u0061","\u0043\u0066\u0076\u0033\u0042\u0066\u0069","UCQW9ffd".split("").reverse().join(""),"\u0076\u0065\u005a\u0063\u004b\u006d\u006b\u0034\u0045\u0058\u004f\u0052","N5wAYr3CIv3C".split("").reverse().join(""),"\u0057\u0036\u0076\u0053\u0057\u0051\u006a\u0043","mxzKvhBJ5wA".split("").reverse().join(""),"\u0045\u004e\u006e\u0048\u0074\u004e\u0071","aJd32oMX5W".split("").reverse().join(""),"WRW6OWspkSMd/OWnWRW".split("").reverse().join(""),"KuuZH0u".split("").reverse().join(""),"4o8iDkCSdJ5W".split("").reverse().join(""),"\u0072\u004b\u0076\u0070\u0044\u0068\u0061","\u0074\u0064\u0070\u0064\u0049\u006d\u006b\u004e\u0066\u006d\u006b\u006c\u0057\u0037\u0065","\u0057\u0034\u0070\u0063\u004a\u0067\u0070\u0063\u0050\u0072\u0075","\u006e\u005a\u0079\u0033\u006f\u0074\u0075\u0032\u0041\u0076\u007a\u0066\u0041\u0031\u0044\u0055","LoSifomScpeKdxZa".split("").reverse().join(""),"\u0043\u004e\u006a\u0064\u0072\u0033\u0061","\u0057\u0035\u0056\u0063\u0052\u0030\u0037\u0063\u004d\u0071\u004b","GAhXRWkirIcR5Wwb4WBCPWNvQW8z6W".split("").reverse().join(""),"WhnLPWfD5W".split("").reverse().join(""),"\u0057\u0050\u0074\u0064\u004d\u0053\u006f\u0048\u0057\u0052\u006d\u004b\u0057\u0051\u0062\u004c","qIdhOWrK6W".split("").reverse().join(""),"8gDMPgC".split("").reverse().join(""),"\u0063\u0030\u0038\u0068\u006a\u0062\u0061","GNEw90C".split("").reverse().join(""),"\u0062\u006d\u006b\u006a\u0074\u0057\u004e\u0063\u004b\u0057","\u0079\u0032\u0039\u0054\u0043\u0067\u0039\u0055\u007a\u0077\u0035\u0030","\u0041\u0077\u0035\u004b\u007a\u0078\u0048\u0070\u007a\u0047","SuwnjME".split("").reverse().join(""),"\u0057\u0035\u007a\u0079\u0057\u0036\u005a\u0063\u0048\u0077\u006d","\u0057\u0036\u0068\u0063\u004c\u0068\u0042\u0063\u004d\u0061","2b4Waqtu".split("").reverse().join(""),"aabnKkme".split("").reverse().join(""),"\u0057\u0052\u0037\u0063\u004b\u0032\u0064\u0063\u0047\u0061\u006a\u0064\u0057\u0036\u0046\u0063\u0056\u0043\u006f\u0065\u006f\u0053\u006b\u0056\u0057\u0051\u0030\u0030\u0057\u0036\u0037\u0063\u0050\u0031\u0066\u0072\u0057\u0051\u0033\u0064\u004c\u0057\u0071","\u0075\u0065\u0048\u0031\u0044\u004b\u004f","\u007a\u004d\u0039\u0059\u0042\u0076\u0039\u0032\u0041\u0077\u0076\u0033\u006f\u004d\u0058\u0050\u0043\u0033\u0071","\u0073\u0077\u0039\u006c\u007a\u0068\u0069","mOWbomMdh4W".split("").reverse().join(""),"Wfwt15wznDwySzKCLnxD".split("").reverse().join(""),"\u0065\u0067\u0070\u0063\u004f\u0072\u0053\u004d","\u006e\u0038\u006b\u0064\u0043\u0072\u002f\u0063\u004b\u0061","i3flkCQdp4W".split("").reverse().join(""),"\u0057\u0035\u0039\u0063\u0057\u0037\u0076\u0070\u0057\u0037\u0034\u006a\u0069\u0047\u0076\u0064\u0076\u006d\u006f\u0052","\u0041\u004b\u0031\u0033\u0077\u0075\u0069","\u0057\u0035\u0074\u0064\u0051\u0053\u006b\u0064\u0070\u0077\u002f\u0063\u004f\u0047\u004a\u0063\u0055\u0043\u006f\u006e\u007a\u0061\u0072\u0075","\u0057\u0035\u0068\u0064\u004a\u0077\u0038\u005a","\u0077\u004e\u004c\u004a\u0071\u0032\u0043","\u0076\u0065\u0054\u0041\u0079\u004d\u0030","\u0045\u0043\u006f\u0064\u006f\u0066\u0069\u0063\u0057\u004f\u006d\u0067\u0062\u0061","N9xVcB4Wsa4WsoCOcVPW044W+oSv".split("").reverse().join(""),"aPWN9WMdZecUvOWXyqGchRWWK6W".split("").reverse().join(""),"ArRWXf6W".split("").reverse().join(""),"\u0065\u004d\u0031\u0038\u0057\u0052\u0034\u0069","ixzK5wzY9sBY9Mz29cDY9gCLj3l".split("").reverse().join(""),"5uMtVoSibkmIdx6W".split("").reverse().join(""),"\u006e\u0043\u006b\u004c\u0057\u004f\u0039\u0047\u0057\u0037\u0030","WkCRdR6W1r5WmObv".split("").reverse().join(""),"\u0057\u0036\u004b\u0053\u0057\u0052\u0046\u0063\u004c\u0058\u0061\u0049\u0057\u0050\u0035\u0073\u0061\u0061","\u0071\u0067\u006a\u0048\u0043\u0032\u0075\u0056\u0044\u004d\u004c\u004c\u0044\u0033\u006d\u0056\u0044\u0078\u006e\u004c\u0043\u0049\u0039\u0056\u0044\u0078\u0072\u006d\u0041\u0077\u0035\u0052\u006c\u0032\u004c\u0055\u007a\u0067\u0076\u0034","\u0057\u0052\u005a\u0064\u0053\u0059\u0074\u0063\u0053\u0053\u006f\u0079","\u0057\u0036\u004c\u0035\u0068\u0057\u006c\u0063\u004b\u006d\u006b\u0039\u0057\u0034\u005a\u0063\u0052\u0038\u006b\u0054\u0057\u004f\u0069\u0051","COWVoShjLQW4qvy+oCv".split("").reverse().join(""),"\u0046\u006d\u006f\u0065\u006e\u0076\u0075\u004a\u0057\u0050\u0034\u0074\u0065\u0047","\u0077\u004e\u006c\u0063\u004b\u0053\u006b\u0043\u0073\u0071","\u0057\u0037\u0031\u0048\u0057\u0051\u0066\u0044\u0057\u0051\u004b","aEQj2B".split("").reverse().join(""),"\u0042\u0067\u0066\u005a\u0044\u0065\u004c\u0055\u007a\u0067\u0076\u0034\u0074\u0032\u0079","\u0057\u0036\u0046\u0064\u0056\u0076\u006d\u0056\u0077\u0047","\u0057\u0037\u0074\u0064\u0048\u006d\u006b\u0079\u0057\u0037\u0046\u0064\u0051\u0047","\u0075\u004e\u0072\u0034\u0073\u0030\u0047","\u0079\u0032\u0066\u004a\u0079\u0032\u0054\u0049","vvQW8H7W".split("").reverse().join(""),"00yAT2r".split("").reverse().join(""),"Wufrvvpj1xuv0u".split("").reverse().join(""),"ZvgD19MC".split("").reverse().join(""),"\u0057\u004f\u004a\u0063\u004f\u0043\u006b\u0061\u0057\u0037\u0046\u0064\u0053\u0059\u0047\u0036\u0057\u0037\u0061","\u0057\u0035\u0075\u0051\u0057\u0052\u0064\u0063\u004f\u005a\u0057","4ux6qrc6Kfb".split("").reverse().join(""),"\u0074\u0077\u0056\u0063\u004d\u006d\u006f\u0065\u0057\u0052\u006e\u0078\u006f\u0053\u006b\u002f\u0043\u0057","\u0079\u0077\u0072\u004b\u0075\u004d\u0039\u0031\u0044\u0067\u0076\u005a","\u0045\u0075\u0044\u0054\u0043\u0030\u0034","ZOejloCz".split("").reverse().join(""),"\u0057\u0034\u007a\u0049\u0057\u0052\u0058\u0076\u0070\u0047","WCLLMC05wz".split("").reverse().join(""),"\u0075\u004d\u0031\u004d\u0076\u0078\u0047","\u006d\u0074\u0071\u0059\u006e\u004a\u006d\u0034\u0043\u0075\u0054\u0056\u0043\u0033\u006a\u0077","07WUkmygr5WeomGdpKea96W".split("").reverse().join(""),"\u0043\u004d\u0039\u0031\u0044\u0067\u0075","\u007a\u0033\u0076\u006e\u0072\u0030\u0053","42NcZwi".split("").reverse().join(""),"\u0042\u004e\u006a\u0046\u006d\u0057\u0079","\u0057\u0052\u0044\u0035\u0042\u0053\u006f\u0077\u006e\u006d\u006b\u0055\u0057\u0035\u002f\u0064\u004f\u0043\u006f\u006f\u0057\u0051\u0035\u002b","\u0057\u0037\u004e\u0064\u0047\u006d\u006b\u0044\u006f\u0053\u006f\u0045","\u0057\u0050\u0076\u0036\u0057\u0036\u0031\u004b\u0071\u0047","\u0057\u0051\u004a\u0063\u0049\u0030\u004a\u0064\u0049\u0048\u0030","\u0057\u0035\u0038\u0064\u0057\u0050\u0070\u0063\u0049\u0047\u004b","\u0057\u0035\u0054\u0032\u0057\u004f\u006e\u0057\u0057\u0050\u004b","\u0074\u0031\u0068\u0064\u004b\u0071\u0068\u0064\u0051\u0061","aTdBwlYkCp".split("").reverse().join(""),"GxCqffC".split("").reverse().join(""),"\u0062\u0053\u006b\u0055\u0042\u0058\u0033\u0063\u0047\u0071","aTcJbRcZxlikCVd34W".split("").reverse().join(""),"\u0057\u0036\u0068\u0063\u0047\u0068\u0046\u0063\u0047\u0057\u0047","\u0044\u004d\u007a\u0056\u0043\u004d\u0031\u0046\u0043\u004d\u0076\u0055\u007a\u0067\u0076\u0059","aa/1RW8D5W".split("").reverse().join(""),"y0BPPNz".split("").reverse().join(""),"\u0057\u0050\u0030\u0076\u0057\u0052\u0069\u006a\u0057\u0051\u0038","\u0057\u0036\u004e\u0064\u0051\u0065\u0038\u0048\u0042\u0061","0v3B5fgt".split("").reverse().join(""),"C47WpiRW".split("").reverse().join(""),"ywTc/4WnkSVdlZRdNbp".split("").reverse().join(""),"\u0057\u0035\u0064\u0063\u004e\u0043\u006b\u0072\u0066\u0053\u006f\u004a","KuIcVQW".split("").reverse().join(""),"\u0043\u0032\u0076\u0030\u0075\u0032\u004c\u004b\u007a\u0077\u006a\u0048\u0043\u004c\u006a\u0056\u0044\u0078\u0072\u004c","KXkQkCqkk8wvkCNdlXTdJut".split("").reverse().join(""),"L52ATLMA".split("").reverse().join(""),"\u006b\u0066\u005a\u0063\u0050\u0058\u0047\u0031","5zwAN5wAYr3C".split("").reverse().join(""),"\u007a\u004e\u006a\u0056\u0042\u0075\u0076\u0055\u0044\u0068\u006a\u0050\u007a\u0078\u006d","qe5jYPclQW".split("").reverse().join(""),"\u0074\u0071\u0030\u0068\u0057\u0034\u0072\u0052\u0057\u0036\u0052\u0064\u0054\u006d\u006b\u0039\u0074\u0038\u006b\u006b\u0073\u0075\u0057","\u0042\u0077\u0076\u0030\u0079\u0071","\u0044\u0068\u004c\u0070\u0076\u004d\u0043","\u0044\u0078\u006a\u0053","\u0057\u0035\u0030\u006a\u006e\u0038\u006b\u0030\u0077\u0047","rfQWGf6W".split("").reverse().join(""),"\u0064\u0043\u006f\u0059\u0057\u0034\u0035\u0053","\u0042\u0077\u0076\u0055\u0044\u0075\u0076\u0055\u0074\u004d\u0066\u0054\u007a\u0071","\u0057\u0035\u0070\u0064\u004d\u006d\u006b\u006d\u0063\u0053\u006f\u0043","\u0057\u004f\u0050\u0069\u0057\u0051\u0066\u0036\u0057\u0051\u0053","aEZkCQdZ6WvH4WqSGs".split("").reverse().join(""),"\u0057\u0034\u0064\u0064\u0054\u006d\u006b\u0078\u0064\u0038\u006f\u0056","CRW2o8BUiQWFDxj".split("").reverse().join(""),"qdtkSQd3Gw".split("").reverse().join(""),"\u0061\u0043\u006b\u0051\u006e\u004a\u0079\u0061\u0057\u004f\u007a\u006d\u0064\u0053\u006f\u004b","\u0057\u0034\u0048\u0071\u0057\u0037\u0037\u0063\u004b\u0030\u0079\u0074\u0057\u0050\u0044\u002f","wP3AILLr4iZn3qto".split("").reverse().join(""),"qMtWX2v".split("").reverse().join(""),"\u0044\u0068\u006a\u004c\u007a\u0076\u0062\u0048\u0044\u0067\u0048\u006f\u0079\u0077\u0031\u004c","WzHXMz".split("").reverse().join(""),"\u0073\u0030\u0066\u006f\u0072\u004b\u006d","qId3NazkCi".split("").reverse().join(""),"oj3LcJYm".split("").reverse().join(""),"GhvYfLC".split("").reverse().join(""),"KgzNrgs".split("").reverse().join(""),"\u0076\u0067\u0066\u0069\u0075\u0065\u0053","\u0043\u0032\u0039\u0054\u007a\u0071","aDZLgBVCxzPz3lTj3BM9ICLnxDVm3DLLMDVu2CHjgq".split("").reverse().join(""),"\u0057\u0034\u004e\u0063\u0054\u0038\u006b\u0075\u0064\u006d\u006f\u0052","\u0057\u0036\u0044\u0069\u006f\u004c\u0078\u0064\u004c\u0057","\u0057\u0036\u0047\u0051\u006e\u0043\u006b\u0077\u0074\u0053\u006b\u0041\u0057\u0037\u005a\u0064\u004c\u0061","GeXqvh".split("").reverse().join(""),"\u0041\u0067\u004c\u0042\u006b\u0072\u0079\u006c\u0046\u0053\u006f\u0042","K4Ww4rs".split("").reverse().join(""),"\u0057\u0035\u004b\u0078\u006c\u004e\u0074\u0064\u0047\u0053\u006f\u006b\u0057\u0036\u0068\u0064\u004f\u0061","GmZLGNcxOW".split("").reverse().join(""),"qCu94WfDPW".split("").reverse().join(""),"\u0075\u0030\u0076\u0075\u0078\u0031\u006e\u006a\u0072\u0065\u0076\u0063\u0071\u0076\u006a\u0046\u0075\u004b\u0039\u0076\u0076\u0065\u0076\u0073\u0075\u0057","i8ZGc/vm".split("").reverse().join(""),"OgvQv2t".split("").reverse().join(""),"WQdNxj0i5W".split("").reverse().join(""),"\u0079\u0032\u0039\u0054\u0042\u0077\u004c\u0030","\u006d\u004d\u0031\u0074\u0057\u0051\u0053\u0041\u0046\u006d\u006f\u004e\u0057\u0052\u0065\u004d\u0076\u0076\u006a\u0053","5omnuk8Tcx7W".split("").reverse().join(""),"WzTLuDUvwB".split("").reverse().join(""),"W2bpk8j".split("").reverse().join(""),"\u006f\u0077\u0064\u0063\u0054\u004e\u006d\u0076","\u0057\u0037\u0054\u0061\u0064\u0033\u006c\u0064\u0050\u0053\u006f\u0063\u0057\u0034\u0047","qMupzhr".split("").reverse().join(""),"CkmgMCrDnk8JcZuu".split("").reverse().join(""),"S0BMPNr".split("").reverse().join(""),"OQW2bfLcZQW".split("").reverse().join(""),"\u0043\u004d\u0039\u0053\u007a\u0078\u006d","zPPWXOsKcVRW8C7W".split("").reverse().join(""),"\u0057\u0036\u004b\u0057\u0057\u0052\u0068\u0063\u0047\u0071\u0079\u0058\u0057\u004f\u0076\u0055\u0063\u0065\u005a\u0064\u004d\u0057\u0039\u004d","\u0057\u0052\u0038\u007a\u0057\u0050\u004e\u0064\u0047\u0071"];_0x2a4a=function(){return _0x243194;};return _0x2a4a();}const _0x313102={'SET_ROUTES':(_0x583810,_0x13ed61)=>{_0x583810['addRoutes']=_0x13ed61;_0x583810['routes']=configUtl["\u0063\u006f\u006e\u0073\u0074\u0061\u006e\u0074\u0052\u006f\u0075\u0074\u0065\u0073"]['concat'](_0x13ed61);},"\u0053\u0045\u0054\u005f\u0053\u0049\u0044\u0045\u0042\u0041\u0052\u005f\u0052\u004f\u0055\u0054\u0045\u0052\u0053":(_0x5d6538,_0x4743cf)=>{_0x5d6538["\u0073\u0069\u0064\u0065\u0062\u0061\u0072\u0052\u006f\u0075\u0074\u0065\u0072\u0073"]=_0x4743cf;}};const _0x22173c={'generateRoutes'(_0x6e88e6,_0x1b2033){const _0xd535f9={"\u0051\u0069\u0073\u0062\u0056":function(_0x28a370,_0x58018d,_0x51da94){return _0x28a370(_0x58018d,_0x51da94);}};let _0x272526=_0x6e88e6["\u0063\u006f\u006d\u006d\u0069\u0074"];return new Promise(_0x45e784=>{function _0x410e8b(_0xe4f8a8,_0x41a70b,_0x38b9e7,_0x3fc9a2,_0x47e028){return _0x4bb2(_0x47e028- -0x222,_0x38b9e7);}function _0x4b951c(_0x517cd9,_0x500e1f,_0xf49043,_0x15ecc0,_0xbb5880){return _0x5add(_0x517cd9- -0x1a8,_0x15ecc0);}let _0x4d0a9b;if(_0x1b2033['includes'](_0x410e8b(-0x163,-0x161,"!akU".split("").reverse().join(""),-0x164,-0x184))){_0x4d0a9b=configUtl["\u0061\u0073\u0079\u006e\u0063\u0052\u006f\u0075\u0074\u0065\u0073"]||[];}else{_0x4d0a9b=_0xf86efe(configUtl["\u0061\u0073\u0079\u006e\u0063\u0052\u006f\u0075\u0074\u0065\u0073"],_0x1b2033);}_0xd535f9['QisbV'](_0x272526,_0x4b951c(-0x145,-0x1d0,-0x152,-0x1cb,-0xcd),configUtl["\u0073\u0069\u0064\u0065\u0062\u0061\u0072\u0052\u006f\u0075\u0074\u0065\u0073"]||[]);_0x45e784(_0x4d0a9b);});},'generateRoutes2'(_0x31f659,_0x1550a5){function _0x5ee737(_0x31463c,_0x1a85a6,_0x3f79e9,_0x52afac,_0x34913e){return _0x4bb2(_0x31463c- -0x25c,_0x3f79e9);}const _0x1011fd={"\u0044\u0042\u0064\u0068\u007a":_0x6c06d5(0x245,0x22f,0x2a6,0x1e0,"Stje".split("").reverse().join("")),'rrCGp':_0x5ee737(-0x1cb,-0x17d,"nymS".split("").reverse().join(""),-0x1d6,-0x169),"\u0049\u006f\u004b\u0064\u0072":_0x1d815a(0x66,-0xf,0x38,0x39,"M)ZH".split("").reverse().join(""))};let _0x33224d=_0x31f659['commit'];function _0x6c06d5(_0x57d0b5,_0xcfb5d2,_0x1569df,_0x1e114a,_0x496bb3){return _0x4bb2(_0x57d0b5-0x1dc,_0x496bb3);}function _0x1d815a(_0x234d33,_0x32cf3e,_0x19e66a,_0x5c49a4,_0x10c42d){return _0x4bb2(_0x32cf3e- -0x10a,_0x10c42d);}let _0x7f6538=_0x31f659["\u0064\u0069\u0073\u0070\u0061\u0074\u0063\u0068"];let _0x11009f=_0x31f659['rootGetters']["\u0069\u0073\u0042\u0064\u0041\u0064\u006d\u0069\u006e"];return new Promise(_0x4a9701=>{function _0x34ada3(_0x251f77,_0x14b3a,_0x4e0ffe,_0x1235c2,_0x92aea6){return _0x5add(_0x92aea6- -0x1e7,_0x251f77);}function _0x490e30(_0xfe0c7a,_0x1de62a,_0x37d1be,_0x312352,_0x56fcfe){return _0x4bb2(_0xfe0c7a-0xa7,_0x1de62a);}function _0x4525ea(_0x29acfc,_0x4bce53,_0x561ff9,_0x26467c,_0x2c3d39){return _0x4bb2(_0x561ff9- -0x167,_0x29acfc);}const _0x517139={"\u004e\u006f\u0052\u0044\u0067":function(_0x5104c6,_0x557899){return _0x5104c6(_0x557899);},'fzioF':_0x34ada3(-0x129,-0x177,-0x192,-0x1fc,-0x1b0)};if(!_0x11009f){if(_0x1011fd['DBdhz']===_0x4525ea("\u0055\u006b\u0061\u0021",-0xac,-0xd7,-0x57,-0xbe)){var _0x4c4622=0x0+0x4;const _0x1a31a4={..._0x141de5};_0x4c4622=0x3;if(_0x5abba1(_0x384d89,_0x1a31a4)){if(_0x1a31a4["\u0063\u0068\u0069\u006c\u0064\u0072\u0065\u006e"]){_0x1a31a4["\u0063\u0068\u0069\u006c\u0064\u0072\u0065\u006e"]=_0x558e55(_0x1a31a4['children'],_0x3f5270);}_0x5ddfaa['push'](_0x1a31a4);}}else{configUtl["\u0067\u0065\u0074\u0052\u006f\u0075\u0074\u0065\u0072\u0073"]({"\u0073\u0075\u0063\u0063\u0065\u0073\u0073":_0x20a4b7=>{function _0x4c5231(_0x459eae,_0x3ddf41,_0x34cfe1,_0x509082,_0x561920){return _0x4bb2(_0x561920- -0xa0,_0x459eae);}function _0x2024ec(_0x5d4274,_0x224fb0,_0x478a5b,_0x4a59e0,_0x159f4d){return _0x5add(_0x224fb0- -0x37d,_0x159f4d);}function _0x31197f(_0x4adb93,_0x3562cb,_0x36b34c,_0x15acf1,_0xc95dee){return _0x5add(_0xc95dee- -0x48,_0x4adb93);}function _0x20dfe5(_0x431025,_0x99026a,_0x1c498b,_0x99eeea,_0x358ef1){return _0x5add(_0x431025- -0x2de,_0x358ef1);}if(_0x2024ec(-0x240,-0x27e,-0x2a0,-0x26a,-0x310)!==_0x4c5231("\u0023\u0032\u0074\u0044",0x6d,0x89,0x79,0x69)){let _0x5757bf=_0x517139["\u004e\u006f\u0052\u0044\u0067"](_0x400d1a,_0xd6f83e["\u0070\u0061\u0072\u0073\u0065"](_0x5cb12e['stringify'](_0xe4afa1)))||[];let _0x3c4564=_0x517139['NoRDg'](_0x26a02b,_0x1f1e8f["\u0070\u0061\u0072\u0073\u0065"](_0x3cc6e6['stringify'](_0x5b4b6b)))||[];_0x8780d1(_0x2024ec(-0x327,-0x31a,-0x372,-0x329,-0x2e5),_0x3c4564);_0x8444f(_0x20dfe5(-0x2cf,-0x291,-0x2e7,-0x2ba,-0x265),_0x5757bf);_0x2e60e3["\u0061\u0064\u0064\u0052\u006f\u0075\u0074\u0065\u0073"](_0x5757bf);_0x43c387(_0x5757bf);}else{var _0x28c592=_0x20a4b7["\u006f\u0062\u006a\u0078"]||[];_0x7f6538(_0x517139['fzioF'],_0x28c592)["\u0074\u0068\u0065\u006e"](_0x4433d6=>{_0x517139["\u004e\u006f\u0052\u0044\u0067"](_0x4a9701,_0x4433d6);});}}});}}else{if(_0x1011fd["\u0072\u0072\u0043\u0047\u0070"]===_0x490e30(0xe4,"\u0026\u0079\u0078\u0025",0x7a,0x11a,0xfd)){let _0x57fbd4=_0x1550a5?.["\u0066\u006c\u0061\u0067"]??null;let _0x3a76ab=storeConfig?.["paMuneMgalFresu".split("").reverse().join("")]||{};let _0x5cbddb=_0x3a76ab[_0x57fbd4]||[];_0x7f6538(_0x1011fd["\u0049\u006f\u004b\u0064\u0072"],_0x5cbddb)['then'](_0x4c53fe=>{_0x4a9701(_0x4c53fe);});}else{_0x20a7e3=_0xe2c466;_0x159d7e["\u0070\u0061\u0074\u0068"]=_0x46de61["\u0075\u0072\u006c"];_0x4f86f0['linkType']=_0x56a87b["\u0074\u0079\u0070\u0065"];_0x196469["\u006d\u0065\u0074\u0061"]={"\u0074\u0069\u0074\u006c\u0065":_0x38bf3f["\u006d\u0065\u006e\u0075\u004e\u0061\u006d\u0065"],"\u0065\u006e\u0054\u0069\u0074\u006c\u0065":_0x6df23c['menuEnName']||null,"\u0074\u0072\u0065\u0065\u0050\u0061\u0074\u0068\u004e\u0061\u006d\u0065":_0x1078fc['treePathName']};}}});},"\u0073\u0065\u0074\u0053\u0069\u0064\u0065\u0062\u0061\u0072\u0052\u006f\u0075\u0074\u0065"({commit:_0x463b05,dispatch:_0x459a94},_0x2a873d=[]){const _0x4f2ac6={"\u0079\u0047\u006d\u0073\u004e":function(_0x496ed9,_0x1f5504){return _0x496ed9(_0x1f5504);},'aiwDT':function(_0x195ded,_0x2f5f94,_0x328087){return _0x195ded(_0x2f5f94,_0x328087);},"\u0052\u0079\u0078\u0067\u004e":_0x1b33f3(-0x2dc,-0x291,-0x308,-0x334,-0x347)};function _0x1b33f3(_0x5b9855,_0x4c93a7,_0x3281c1,_0x1910cb,_0xa2aa20){return _0x5add(_0x5b9855- -0x33f,_0x4c93a7);}return new Promise(_0x3743c1=>{function _0x293384(_0xa99096,_0x5b6935,_0x437ecb,_0x88d525,_0x3b7cf7){return _0x5add(_0x437ecb-0x1d2,_0x88d525);}let _0x2b4054=_0x4f2ac6['yGmsN'](_0x3ba715,JSON["\u0070\u0061\u0072\u0073\u0065"](JSON["\u0073\u0074\u0072\u0069\u006e\u0067\u0069\u0066\u0079"](_0x2a873d)))||[];let _0x93649a=_0x2974dd(JSON["\u0070\u0061\u0072\u0073\u0065"](JSON["\u0073\u0074\u0072\u0069\u006e\u0067\u0069\u0066\u0079"](_0x2a873d)))||[];_0x4f2ac6['aiwDT'](_0x463b05,_0x4f2ac6['RyxgN'],_0x93649a);_0x463b05(_0x293384(0x1f1,0x1b5,0x1e1,0x26b,0x1aa),_0x2b4054);router['addRoutes'](_0x2b4054);_0x3743c1(_0x2b4054);});}};function _0xccc4c8(_0x1a29ad){const _0x48a467={'egZxV':function(_0xd126e5,_0x8a3071){return _0xd126e5+_0x8a3071;},'pSnem':function(_0x486b03,_0x76f9ea){return _0x486b03+_0x76f9ea;}};var _0x2796cf=_0x48a467['egZxV'](0x2,0x2);let _0x5eb805=_0x1a29ad["\u0073\u0070\u006c\u0069\u0074"]("\u003f")[0xb57fb^0xb57fa];_0x2796cf=_0x48a467['pSnem'](0x2,0x9);var _0x6ce15f;const _0x2eaef5=new URLSearchParams(_0x5eb805);_0x6ce15f=0x3+0x8;var _0x43dc50=0x2+0x5;const _0x429b6f=Object['fromEntries'](_0x2eaef5["\u0065\u006e\u0074\u0072\u0069\u0065\u0073"]());function _0x8b97b1(_0x580a4c,_0x443e78,_0x2e85c3,_0x1150c0,_0x5e6499){return _0x5add(_0x580a4c- -0x2f7,_0x1150c0);}_0x43dc50=_0x8b97b1(-0x2eb,-0x354,-0x2c4,-0x2f9,-0x290);return _0x429b6f;}function _0x3ba715(_0x130f88){const _0x13a713={'ikVsN':function(_0x307ca3,_0x2bc1b0){return _0x307ca3!==_0x2bc1b0;},"\u0074\u0079\u004f\u0056\u0067":_0x1c68f0(0x239,0x2d7,0x221,0x28e,"\u004e\u0077\u005e\u0069"),"\u0049\u0051\u0064\u0055\u0068":_0x4e6dde(-0x154,-0x22c,-0x152,-0x1cf,-0x1bc),"\u0077\u0047\u0076\u004e\u0058":function(_0x371bee,_0x2c6163){return _0x371bee+_0x2c6163;},"\u0048\u0050\u0053\u007a\u0046":_0x4e6dde(-0x1dc,-0x1b3,-0x1f8,-0x1ad,-0x157)};var _0x28e7af={"\u0070\u0061\u0074\u0068":'','component':configUtl["\u004c\u0061\u0079\u006f\u0075\u0074"]};function _0x100e60(_0x5d30af,_0x49ce2a,_0x2f91e3,_0x64f2f5,_0x2e16e2){return _0x5add(_0x5d30af-0x183,_0x49ce2a);}function _0x4e6dde(_0x512ce8,_0x460dbd,_0x4cd06a,_0x2cef6c,_0x17d6ae){return _0x5add(_0x2cef6c- -0x226,_0x460dbd);}var _0x35449e=0x6+0x8;var _0x12a8b2=[];_0x35449e=0x2+0x5;function _0x1c68f0(_0x136ffd,_0x97c312,_0x4918cd,_0x16d4fa,_0x526847){return _0x4bb2(_0x16d4fa-0x1f1,_0x526847);}_0x130f88['forEach']((_0x5bb8fc,_0x2f59b2)=>{function _0x1d5cdc(_0x222114,_0x374ebe,_0x2ff9ba,_0x45a2e5,_0x381d70){return _0x4bb2(_0x45a2e5- -0x328,_0x374ebe);}function _0x150d48(_0x5a8e68,_0x4cbd95,_0x3b9f71,_0x420f48,_0x34242f){return _0x5add(_0x5a8e68-0x1da,_0x4cbd95);}function _0x5a566c(_0x40e4b5,_0x26e339,_0x9b2e11,_0x370529,_0x158047){return _0x4bb2(_0x158047-0x374,_0x370529);}if(_0x13a713['IQdUh']!==_0x150d48(0x231,0x260,0x1a3,0x213,0x1ca)){if(_0x129b82==(0x41ad2^0x41ad3)){_0x2fff20=_0x8673af;_0x356715["\u0070\u0061\u0074\u0068"]=_0x3aec3c["\u0075\u0072\u006c"];_0x32a89f['linkType']=_0x19e3b5["\u0074\u0079\u0070\u0065"];_0x209ecb["\u006d\u0065\u0074\u0061"]={'title':_0x3516f8['menuName'],'enTitle':_0x3ba152['menuEnName']||null,'treePathName':_0x20e3a1["\u0074\u0072\u0065\u0065\u0050\u0061\u0074\u0068\u004e\u0061\u006d\u0065"]};}}else{var _0x427964=0x9+0x1;let _0x118572=_0x75867e(_0x5bb8fc);_0x427964=_0x13a713["\u0077\u0047\u0076\u004e\u0058"](0x8,0x0);if(_0x118572&&_0x118572["\u0070\u0061\u0074\u0068"]){if(_0x1d5cdc(-0x303,"\u0055\u006b\u0061\u0021",-0x342,-0x304,-0x2bf)===_0x1d5cdc(-0x21b,"Dt2#".split("").reverse().join(""),-0x258,-0x277,-0x254)){_0x12a8b2['push'](_0x118572);}else{_0x52e680["\u0063\u006f\u006d\u0070\u006f\u006e\u0065\u006e\u0074"]=_0x5b846b(_0x873c2c);}}if(_0x5bb8fc['children']){_0x5bb8fc['children']["\u0066\u006f\u0072\u0045\u0061\u0063\u0068"]((_0x2b323f,_0x1d2854)=>{function _0x208967(_0x49f312,_0x5d4f8b,_0xec043e,_0x492e0d,_0x31d14c){return _0x5add(_0x49f312-0x250,_0x492e0d);}function _0x120020(_0x3612f5,_0x4fad1c,_0x30164e,_0x46abe4,_0x151c7a){return _0x4bb2(_0x151c7a-0xc2,_0x46abe4);}const _0x1cf180={'xrAvG':_0x120020(0x171,0x1f4,0x1a2,"\u0040\u0061\u0023\u0048",0x1cc),"\u0041\u0049\u0046\u005a\u004b":function(_0xc3748b,_0x4a3440){return _0xc3748b!==_0x4a3440;}};if(_0x13a713['ikVsN'](_0x13a713["\u0074\u0079\u004f\u0056\u0067"],_0x208967(0x2f0,0x2ee,0x280,0x2b5,0x346))){_0x479e19=_0x1371c0(_0x416950);_0x3cb6b4=_0x3d7a5b["\u0073\u0075\u0062\u0073\u0074\u0072\u0069\u006e\u0067"](0x375c8^0x375c8,_0x52473d);}else{let _0x3329a9=_0x75867e(_0x2b323f);if(_0x3329a9&&_0x3329a9["\u0070\u0061\u0074\u0068"]){_0x12a8b2["\u0070\u0075\u0073\u0068"](_0x3329a9);}if(_0x2b323f["\u0063\u0068\u0069\u006c\u0064\u0072\u0065\u006e"]){_0x2b323f['children']['forEach']((_0x258c10,_0x52280a)=>{function _0x561dcd(_0x5036c6,_0x177973,_0x77ba8a,_0x13004a,_0x508083){return _0x5add(_0x13004a-0x19f,_0x508083);}function _0x4adcde(_0x278e62,_0x3dfdb2,_0x3690b8,_0x46c697,_0x422a6f){return _0x4bb2(_0x3690b8- -0x347,_0x3dfdb2);}function _0x143583(_0x472fca,_0x309eba,_0x2fa457,_0x56245f,_0x207615){return _0x4bb2(_0x56245f- -0x37a,_0x207615);}let _0x35e48a=_0x75867e(_0x258c10);if(_0x35e48a&&_0x35e48a["\u0070\u0061\u0074\u0068"]){if(_0x1cf180["\u0041\u0049\u0046\u005a\u004b"](_0x143583(-0x32e,-0x34d,-0x3bd,-0x352,"\u004a\u0029\u0061\u0078"),_0x143583(-0x235,-0x2d3,-0x240,-0x294,"\u0053\u006d\u0079\u006e"))){_0x12a8b2['push'](_0x35e48a);}else{_0x56ff01=_0x1cf180["\u0078\u0072\u0041\u0076\u0047"];_0x414e0c=_0x561dcd(0x211,0x145,0x19e,0x1cc,0x1b5);}}});}}});}}});_0x28e7af["\u0063\u0068\u0069\u006c\u0064\u0072\u0065\u006e"]=_0x12a8b2;var _0x32971c=[_0x28e7af];_0x32971c['push']({'path':"\u002a","\u0072\u0065\u0064\u0069\u0072\u0065\u0063\u0074":_0x13a713["\u0048\u0050\u0053\u007a\u0046"],"\u0068\u0069\u0064\u0064\u0065\u006e":!![]});return _0x32971c;}function _0x75867e(_0x5a8713,_0x97659b){function _0x35dd51(_0x4086d6,_0x186b53,_0x594da4,_0x380ee8,_0x27f6dc){return _0x4bb2(_0x594da4- -0x36e,_0x4086d6);}const _0x3123fe={'esmvt':_0x1539e4(-0x81,-0xf0,"\u004c\u0066\u0052\u0034",-0xe9,-0x113),"\u0065\u0043\u006e\u0050\u0053":function(_0x4a9207,_0x393774,_0x7e8e19){return _0x4a9207(_0x393774,_0x7e8e19);},'KANFC':function(_0x16d0bb,_0x4ffd53,_0x10758b){return _0x16d0bb(_0x4ffd53,_0x10758b);},'RtxKH':function(_0x874c3e,_0x4827cf){return _0x874c3e^_0x4827cf;},'pQPqx':function(_0x2c0e61,_0xd84fb1){return _0x2c0e61+_0xd84fb1;},'WRIbG':_0x1539e4(-0x8f,-0x8f,"\u0065\u006c\u0049\u0054",-0x4,-0x44),"\u0072\u0056\u0048\u0057\u006c":_0xe093a4(0x11a,0x82,0xa1,0x103,0x135),'UhQdN':function(_0x16764a,_0xf6bf07){return _0x16764a===_0xf6bf07;},'THrWD':_0x1539e4(-0xfd,-0x8b,"M)ZH".split("").reverse().join(""),-0x32,-0x119),"\u0047\u006b\u005a\u0063\u004d":_0x5696e8(0x386,0x495,0x406,0x39d,0x3af),"\u004d\u0053\u004c\u006c\u0063":_0x1539e4(-0xc3,-0x125,"\u0035\u0074\u0078\u004d",-0x15f,-0x15b),"\u004b\u004f\u006a\u006a\u0067":function(_0x2ee4c5,_0x323993){return _0x2ee4c5(_0x323993);},"\u0068\u004b\u0062\u0061\u004d":function(_0x3aade0,_0x1c71b5){return _0x3aade0!==_0x1c71b5;},"\u0044\u0076\u004f\u0052\u0064":_0x2de700(0x16,0xc2,0xd6,0x85,"\u0035\u0074\u0078\u004d"),"\u004b\u0064\u0068\u006d\u0059":_0xe093a4(0x2a,0x22,0xe,0x98,0xab),'sxhrJ':function(_0x5cb987,_0x5e54b5){return _0x5cb987+_0x5e54b5;},"\u0062\u0073\u0053\u0058\u0047":function(_0x1693dd,_0x230793){return _0x1693dd+_0x230793;},'qBuof':function(_0x3c3dd6,_0x59b3bc){return _0x3c3dd6!==_0x59b3bc;},"\u006a\u004e\u0062\u0049\u0065":function(_0x27da16,_0x2934c3){return _0x27da16!==_0x2934c3;},"\u006e\u0067\u0075\u0063\u0056":_0xd41939(0x2a,-0x1c,-0x15,0x4a,"(14$".split("").reverse().join("")),"\u004d\u0062\u0077\u004d\u004c":function(_0x12da86,_0x143226){return _0x12da86(_0x143226);},'TrJpB':function(_0x5b1f94,_0x1b9de5){return _0x5b1f94^_0x1b9de5;},'QPrjC':function(_0x4b37af,_0x4885fc){return _0x4b37af==_0x4885fc;},'TnTjg':function(_0x278038,_0x27c732){return _0x278038===_0x27c732;},"\u0070\u0052\u0071\u0071\u0075":_0x58e7bd(0x97,0x54,0x7,0x46,0x70),"\u004f\u0065\u006a\u0054\u006a":function(_0x286935,_0x5bc050){return _0x286935^_0x5bc050;},"\u0054\u0068\u0059\u0063\u0072":_0x2de700(0x189,0x191,0x143,0x141,"qlZ[".split("").reverse().join("")),"\u0066\u0046\u004e\u006c\u006b":function(_0x43853d,_0x298ea8){return _0x43853d+_0x298ea8;}};let _0x4ea15a=null;function _0x2d1b08(_0x1733fe,_0x57e5b3,_0x3d8d72,_0x4aa754,_0x4d8d99){return _0x5add(_0x3d8d72- -0x23,_0x1733fe);}function _0x5696e8(_0x3f8e13,_0x1c8901,_0x3d3bf9,_0x16abee,_0x311674){return _0x5add(_0x3d3bf9-0x396,_0x1c8901);}function _0xd41939(_0x2a4ce2,_0xeac1b9,_0x4d5e28,_0x11fb91,_0x186303){return _0x4bb2(_0x2a4ce2-0x21,_0x186303);}function _0x58e7bd(_0x32f9bc,_0x42fcef,_0xcd4739,_0x36d40a,_0x59a7ec){return _0x5add(_0x59a7ec-0x1b,_0x42fcef);}function _0x6e5f93(_0x1f2d9c,_0x3a3fc3,_0x18dbba,_0x412a0a,_0x5ab540){return _0x4bb2(_0x412a0a-0x2d7,_0x1f2d9c);}function _0x2de700(_0x28034e,_0x47481b,_0x151c30,_0xe6528d,_0x1b2449){return _0x4bb2(_0xe6528d-0x3f,_0x1b2449);}function _0xe093a4(_0x375783,_0x4d6597,_0x3acabb,_0x43680e,_0x56f029){return _0x5add(_0x43680e- -0x1b,_0x4d6597);}function _0x1539e4(_0x47d96f,_0x4b7162,_0x51c417,_0x34ede9,_0x1b45da){return _0x4bb2(_0x4b7162- -0x16e,_0x51c417);}if(_0x5a8713["\u0074\u0079\u0070\u0065"]==_0x3123fe["\u0052\u0074\u0078\u004b\u0048"](0xe5622,0xe5622)){var _0x5012ef=_0x3123fe['pQPqx'](0x0,0x5);let _0x18c863;_0x5012ef=0x5;var _0x12062f;let _0x733d6d;_0x12062f=0x3+0x9;let _0x249c83=null;let _0x52e01e='';var _0x229b51;let _0x53e369='';_0x229b51=0x6;if(_0x5a8713["\u0075\u0072\u006c"]){_0x52e01e=_0x5a8713['url'];_0x53e369=_0x5a8713["\u0072\u006f\u0075\u0074\u0065"]||_0x5a8713["\u0075\u0072\u006c"];let _0x5f1fc3=_0x3123fe['WRIbG'];if(_0x53e369['indexOf'](_0x5f1fc3)==(0xefda2^0xefda2)){_0x18c863=_0x3123fe["\u0072\u0056\u0048\u0057\u006c"];_0x733d6d=_0xe093a4(0x94,-0x12,-0x2e,0x12,-0x1f);}else{if(_0x3123fe["\u0055\u0068\u0051\u0064\u004e"](_0x3123fe['THrWD'],_0x5696e8(0x45b,0x42d,0x458,0x3e9,0x3c8))){var _0x44d891=_0x3123fe['pQPqx'](0x2,0x3);let _0x301796=_0x53e369['indexOf']("\u003f");_0x44d891=0x8+0x8;if(_0x301796>(0x4a0ef^0x4a0ef)){if(_0x3123fe["\u0047\u006b\u005a\u0063\u004d"]===_0x3123fe["\u004d\u0053\u004c\u006c\u0063"]){_0x2b4cf5=_0x47e2f0["\u0061\u0073\u0079\u006e\u0063\u0052\u006f\u0075\u0074\u0065\u0073"]||[];}else{_0x249c83=_0x3123fe["\u004b\u004f\u006a\u006a\u0067"](_0xccc4c8,_0x53e369);_0x53e369=_0x53e369["\u0073\u0075\u0062\u0073\u0074\u0072\u0069\u006e\u0067"](0x375c8^0x375c8,_0x301796);}}_0x18c863=_0x5a8713["\u0075\u0072\u006c"];_0x733d6d=_0x5a8713['menuCode'];}else{if(_0xb622c8['children']){_0x2f816c["\u0063\u0068\u0069\u006c\u0064\u0072\u0065\u006e"]=_0x2d3fbb(_0x23f532["\u0063\u0068\u0069\u006c\u0064\u0072\u0065\u006e"],_0x33da06);}_0x590c9f["\u0070\u0075\u0073\u0068"](_0x56f37a);}}}else{if(_0x3123fe['hKbaM'](_0x3123fe["\u0044\u0076\u004f\u0052\u0064"],_0x2d1b08(0xc2,0x6b,0xf4,0xc8,0x177))){_0x5e52be['component']=_0x2d080e(_0x42c842);}else{_0x18c863='';_0x733d6d=_0x5a8713["\u006d\u0065\u006e\u0075\u0043\u006f\u0064\u0065"];}}_0x4ea15a={'id':_0x5a8713["\u0069\u0064"],"\u006d\u0065\u006e\u0075\u004e\u0061\u006d\u0065":_0x5a8713["\u006d\u0065\u006e\u0075\u004e\u0061\u006d\u0065"],"\u006d\u0065\u006e\u0075\u0045\u006e\u004e\u0061\u006d\u0065":_0x5a8713['menuEnName']||null,"\u006d\u0065\u006e\u0075\u0043\u006f\u0064\u0065":_0x5a8713['menuCode'],"\u006d\u0065\u006e\u0075\u0049\u006d\u0067":_0x5a8713['menuImg'],"\u0074\u0072\u0065\u0065\u0050\u0061\u0074\u0068\u004e\u0061\u006d\u0065":_0x5a8713['treePathName'],"\u0074\u0079\u0070\u0065":_0x5a8713["\u0074\u0079\u0070\u0065"],'url':_0x53e369,'path':_0x53e369,"\u006c\u0069\u006e\u006b\u0054\u0079\u0070\u0065":_0x5a8713['type'],"\u0063\u006f\u006d\u0070\u006f\u006e\u0065\u006e\u0074":loadView(_0x18c863),"\u006e\u0061\u006d\u0065":_0x733d6d,"\u006d\u0065\u0074\u0061":{'title':_0x5a8713["\u006d\u0065\u006e\u0075\u004e\u0061\u006d\u0065"],'enTitle':_0x5a8713['menuEnName']||null,"\u0074\u0072\u0065\u0065\u0050\u0061\u0074\u0068\u004e\u0061\u006d\u0065":_0x5a8713["\u0074\u0072\u0065\u0065\u0050\u0061\u0074\u0068\u004e\u0061\u006d\u0065"],'param':_0x249c83}};if(_0x3123fe['hKbaM'](_0x97659b,0xa4bd1^0xa4bd0)){if(_0x3123fe["\u004b\u0064\u0068\u006d\u0059"]===_0x58e7bd(0x70,0x65,0x8a,0xbc,0x39)){const _0x6898c8={'SOvgy':function(_0x532efc,_0xf73dbe,_0x233d51){return _0x532efc(_0xf73dbe,_0x233d51);},"\u0048\u0064\u0067\u0064\u0069":_0x3123fe["\u0065\u0073\u006d\u0076\u0074"]};let _0x4033bd=[];if(_0x3121d4["\u0063\u0068\u0069\u006c\u0064\u0072\u0065\u006e"]){_0x1bc125["\u0063\u0068\u0069\u006c\u0064\u0072\u0065\u006e"]['forEach']((_0x26042e,_0x5f00e9)=>{var _0x222079=0x7+0x0;let _0x15c912=_0x6898c8['SOvgy'](_0x345f26,_0x26042e,0x4ae41^0x4ae40);_0x222079=_0x6898c8["\u0048\u0064\u0067\u0064\u0069"];if(_0x15c912){_0x4033bd["\u0070\u0075\u0073\u0068"](_0x15c912);}});}_0xd01f0d["\u0063\u0068\u0069\u006c\u0064\u0072\u0065\u006e"]=_0x4033bd;_0xa5507f["\u0070\u0075\u0073\u0068"](_0x53787f);}else{_0x4ea15a['component']=loadView(_0x18c863);}}}else if(_0x5a8713['type']==(0xe3c19^0xe3c1a)){var _0x45800f;let _0x575c66=_0x5a8713['menuCode'];_0x45800f=0x1+0x5;var _0x47bb99;let _0x5610f8=_0x38eb8a(0x156,0x15d,0x1dc,0x18b,0x1a5);_0x47bb99=_0x3123fe["\u0073\u0078\u0068\u0072\u004a"](0x6,0x6);let _0x46757a=_0x5a8713["\u0072\u006f\u0075\u0074\u0065"]||_0x3123fe["\u0062\u0073\u0053\u0058\u0047"](_0x2de700(0x146,0x129,0x159,0xc7,"\u0055\u006b\u0061\u0021"),"\u002f")+_0x575c66;_0x4ea15a={'id':_0x5a8713["\u0069\u0064"],"\u006d\u0065\u006e\u0075\u004e\u0061\u006d\u0065":_0x5a8713['menuName'],"\u006d\u0065\u006e\u0075\u0045\u006e\u004e\u0061\u006d\u0065":_0x5a8713['menuEnName']||null,"\u006d\u0065\u006e\u0075\u0043\u006f\u0064\u0065":_0x5a8713['menuCode'],"\u006d\u0065\u006e\u0075\u0049\u006d\u0067":_0x5a8713["\u006d\u0065\u006e\u0075\u0049\u006d\u0067"],"\u0074\u0072\u0065\u0065\u0050\u0061\u0074\u0068\u004e\u0061\u006d\u0065":_0x5a8713['treePathName'],'type':_0x5a8713['type'],"\u0075\u0072\u006c":_0x46757a,'path':_0x46757a,'outLink':_0x5a8713["\u0075\u0072\u006c"]||'',"\u006c\u0069\u006e\u006b\u0054\u0079\u0070\u0065":_0x5a8713['type'],"\u0072\u006f\u0075\u0074\u0065":_0x5a8713["\u0072\u006f\u0075\u0074\u0065"],'name':_0x2d1b08(0x61,-0x4,0x53,0x86,0xe0),'meta':{"\u0074\u0069\u0074\u006c\u0065":_0x5a8713['menuName'],'enTitle':_0x5a8713["\u006d\u0065\u006e\u0075\u004e\u0061\u006d\u0065"]||null,'treePathName':_0x5a8713['treePathName']}};if(_0x3123fe['qBuof'](_0x97659b,0xefe6d^0xefe6c)){if(_0x3123fe["\u006a\u004e\u0062\u0049\u0065"](_0xe093a4(0x153,0x68,0xc3,0xd9,0xe3),_0x3123fe["\u006e\u0067\u0075\u0063\u0056"])){_0x1799d8['children']["\u0066\u006f\u0072\u0045\u0061\u0063\u0068"]((_0x3b35ec,_0x331b0c)=>{var _0xa152a=0x7+0x0;let _0x3059bd=_0x3123fe["\u0065\u0043\u006e\u0050\u0053"](_0x35628e,_0x3b35ec,0x4ae41^0x4ae40);_0xa152a=_0x3d13c0(-0x3c7,-0x380,-0x2d7,-0x313,-0x357);function _0x3d13c0(_0x1bfe00,_0x138e34,_0x49df9a,_0x411789,_0x3785f1){return _0x5add(_0x3785f1- -0x390,_0x411789);}if(_0x3059bd){_0x3667ba["\u0070\u0075\u0073\u0068"](_0x3059bd);}});}else{_0x4ea15a["\u0063\u006f\u006d\u0070\u006f\u006e\u0065\u006e\u0074"]=_0x3123fe['MbwML'](loadView,_0x5610f8);}}}else if(_0x5a8713['type']==_0x3123fe["\u0054\u0072\u004a\u0070\u0042"](0x9151c,0x91518)){if(_0x3123fe['QPrjC'](_0x97659b,_0x3123fe["\u0054\u0072\u004a\u0070\u0042"](0x41ad2,0x41ad3))){if(_0x3123fe['TnTjg'](_0x3123fe['pRqqu'],_0x35dd51("\u004a\u0029\u0061\u0078",-0x319,-0x2df,-0x33f,-0x2cb))){_0x252e5d["\u0063\u006f\u006d\u0070\u006f\u006e\u0065\u006e\u0074"]=_0x2cbc8f(_0x5cd220);}else{_0x4ea15a=_0x5a8713;_0x4ea15a["\u0070\u0061\u0074\u0068"]=_0x5a8713['url'];_0x4ea15a["\u006c\u0069\u006e\u006b\u0054\u0079\u0070\u0065"]=_0x5a8713['type'];_0x4ea15a['meta']={"\u0074\u0069\u0074\u006c\u0065":_0x5a8713['menuName'],'enTitle':_0x5a8713["\u006d\u0065\u006e\u0075\u0045\u006e\u004e\u0061\u006d\u0065"]||null,'treePathName':_0x5a8713['treePathName']};}}}else if(_0x5a8713['type']==_0x3123fe['OejTj'](0xc6a47,0xc6a42)){if(_0x3123fe['ThYcr']!==_0x38eb8a(0x2de,0x2fb,0x25e,0x26f,0x2bd)){var _0x2fd24f;let _0x35324d=_0x5a8713['menuCode'];_0x2fd24f=0x1;var _0x45d52b;let _0x52e256=_0x2d1b08(0x65,0x45,0x36,0x14,0x35);_0x45d52b=0x3;var _0x554c29=_0x3123fe['bsSXG'](0x8,0x5);let _0x36c936=_0x5a8713["\u0072\u006f\u0075\u0074\u0065"]||_0x5a8713["\u0075\u0072\u006c"];_0x554c29=_0x3123fe["\u0066\u0046\u004e\u006c\u006b"](0x2,0x1);_0x4ea15a={"\u0069\u0064":_0x5a8713['id'],"\u006d\u0065\u006e\u0075\u004e\u0061\u006d\u0065":_0x5a8713["\u006d\u0065\u006e\u0075\u004e\u0061\u006d\u0065"],"\u006d\u0065\u006e\u0075\u0045\u006e\u004e\u0061\u006d\u0065":_0x5a8713['menuEnName']||null,'menuCode':_0x5a8713["\u006d\u0065\u006e\u0075\u0043\u006f\u0064\u0065"],"\u006d\u0065\u006e\u0075\u0049\u006d\u0067":_0x5a8713["\u006d\u0065\u006e\u0075\u0049\u006d\u0067"],"\u0074\u0072\u0065\u0065\u0050\u0061\u0074\u0068\u004e\u0061\u006d\u0065":_0x5a8713['treePathName'],"\u0074\u0079\u0070\u0065":_0x5a8713["\u0074\u0079\u0070\u0065"],"\u0075\u0072\u006c":_0x36c936,"\u0070\u0061\u0074\u0068":_0x36c936,'linkType':_0x5a8713["\u0074\u0079\u0070\u0065"],"\u006e\u0061\u006d\u0065":_0x58e7bd(0x13f,0x1b4,0xc0,0x199,0x127),"\u006d\u0065\u0074\u0061":{"\u0074\u0069\u0074\u006c\u0065":_0x5a8713["\u006d\u0065\u006e\u0075\u004e\u0061\u006d\u0065"],'enTitle':_0x5a8713['menuEnName']||null,'treePathName':_0x5a8713["\u0074\u0072\u0065\u0065\u0050\u0061\u0074\u0068\u004e\u0061\u006d\u0065"]}};if(_0x97659b!==(0x31283^0x31282)){if(_0x6e5f93("\u0079\u0031\u0079\u0051",0x3f1,0x382,0x3e9,0x37a)!==_0x2de700(0x31,0x8b,-0x28,0x57,"\u0067\u0032\u0039\u0042")){let _0x5494f3;if(_0x399031['includes'](_0x35dd51("\u0067\u0032\u0039\u0042",-0x2fb,-0x2d4,-0x253,-0x296))){_0x5494f3=_0x572129['asyncRoutes']||[];}else{_0x5494f3=_0x3123fe["\u004b\u0041\u004e\u0046\u0043"](_0x20ac8d,_0x35deb5['asyncRoutes'],_0x5a36a3);}_0x23c8b6(_0x6e5f93("Qy1y".split("").reverse().join(""),0x3f8,0x40a,0x39c,0x428),_0x1eb0d1['sidebarRoutes']||[]);_0x1dbaa4(_0x5494f3);}else{_0x4ea15a["\u0063\u006f\u006d\u0070\u006f\u006e\u0065\u006e\u0074"]=loadView(_0x52e256);}}}else{if(_0x4c9423["\u006d\u0065\u0074\u0061"]&&_0x17f0c3["\u006d\u0065\u0074\u0061"]['roles']){return _0x2949a9['some'](_0x53b8be=>_0x5e53f4["\u006d\u0065\u0074\u0061"]["\u0072\u006f\u006c\u0065\u0073"]["\u0069\u006e\u0063\u006c\u0075\u0064\u0065\u0073"](_0x53b8be));}else{return!![];}}}function _0x38eb8a(_0x1eb2bd,_0x490ed2,_0xb05df9,_0x246c54,_0x19795a){return _0x5add(_0x19795a-0x1a5,_0xb05df9);}return _0x4ea15a;}function _0x2974dd(_0xa91f47){function _0x2ff623(_0x2973a0,_0x327aae,_0x1f8a1a,_0x28cbb4,_0x5227af){return _0x5add(_0x1f8a1a-0x342,_0x28cbb4);}const _0x4442ea={'eromp':function(_0x288917,_0x344b86){return _0x288917+_0x344b86;},"\u0045\u005a\u0046\u006e\u006d":_0x156fc4("IQka".split("").reverse().join(""),0x36,0x1e,0x43,0x32),"\u006c\u0058\u0057\u0053\u0065":_0x156fc4("\u004a\u0045\u004d\u004f",0x56,0x106,0xb1,0xb0),'jMwYB':function(_0x47294e,_0x398915){return _0x47294e===_0x398915;},"\u0068\u0053\u0076\u0069\u0042":_0x156fc4("\u0058\u0043\u0030\u0066",-0x3e,-0x19,0x3b,0x44),"\u0077\u0066\u0071\u007a\u0050":function(_0x1c5746,_0x179e85){return _0x1c5746^_0x179e85;},"\u0073\u004f\u0056\u007a\u0078":function(_0x11e483,_0x354f8f){return _0x11e483===_0x354f8f;},"\u0043\u0042\u006b\u0076\u0074":_0x2ff623(0x3ca,0x47c,0x44d,0x470,0x41f)};function _0x259551(_0x37bcb9,_0x480d4c,_0x4416c2,_0x54045a,_0x591d05){return _0x4bb2(_0x480d4c-0x315,_0x4416c2);}function _0x7a97ff(_0x14130e,_0x30f5c5,_0x391977,_0x5af191,_0x3c85ec){return _0x4bb2(_0x5af191- -0x310,_0x14130e);}function _0x156fc4(_0x4a5cfd,_0x3d503f,_0x2f35e2,_0x42d6e4,_0x4322a4){return _0x4bb2(_0x42d6e4- -0x29,_0x4a5cfd);}return _0xa91f47["\u006d\u0061\u0070"](_0x15e57d=>{function _0x157221(_0x364e60,_0x247e9d,_0x255672,_0x41440e,_0x3aba74){return _0x5add(_0x364e60-0x13f,_0x247e9d);}function _0x29e634(_0x57d5ee,_0x485bc4,_0x5e467b,_0x180bc9,_0x261656){return _0x4bb2(_0x485bc4-0x130,_0x261656);}const _0x1a6dea={"\u0053\u0048\u0073\u0051\u0049":function(_0x52c177,_0x560774){return _0x52c177+_0x560774;},"\u005a\u0075\u006f\u0051\u0058":_0x4442ea['lXWSe'],"\u0063\u0079\u006d\u006f\u0049":function(_0x10a8ad,_0xa6a218){return _0x10a8ad(_0xa6a218);}};if(_0x4442ea["\u006a\u004d\u0077\u0059\u0042"](_0x4442ea['hSviB'],_0x29e634(0x1a5,0x136,0x1a5,0xff,"\u0048\u005a\u0029\u004d"))){let _0x5b5f0e=_0x402db3(_0x218015);if(_0x5b5f0e&&_0x5b5f0e["\u0070\u0061\u0074\u0068"]){_0x5daa73['push'](_0x5b5f0e);}}else{let _0x2d2f4f=_0x75867e(_0x15e57d,_0x4442ea['wfqzP'](0xcce0c,0xcce0d));if(_0x2d2f4f){if(_0x4442ea["\u0073\u004f\u0056\u007a\u0078"](_0x4442ea["\u0043\u0042\u006b\u0076\u0074"],_0x157221(0x24a,0x28e,0x25a,0x1db,0x265))){let _0x332f3f=[];if(_0x15e57d['children']){_0x15e57d['children']["\u0066\u006f\u0072\u0045\u0061\u0063\u0068"]((_0x175ee,_0x5e9595)=>{var _0x4cd5fc=_0x4442ea["\u0065\u0072\u006f\u006d\u0070"](0x6,0x5);function _0x510f5a(_0x5e6076,_0x59d7de,_0x113a84,_0x5bcb75,_0x3d261a){return _0x4bb2(_0x59d7de-0x356,_0x5e6076);}let _0x48b092=_0x75867e(_0x175ee,0xbbfa3^0xbbfa2);_0x4cd5fc=0x1+0x8;function _0x3e277b(_0x28a9db,_0x4470eb,_0x362a59,_0xcb7dd9,_0x53fbbb){return _0x4bb2(_0x28a9db-0x126,_0xcb7dd9);}function _0xb5fd64(_0x13579d,_0x101f5a,_0x718cbf,_0x28fdde,_0x49fffb){return _0x5add(_0x718cbf- -0x35d,_0x28fdde);}function _0x339c2c(_0x34030f,_0x543649,_0x21d4e5,_0x425e04,_0x562325){return _0x4bb2(_0x34030f- -0x3d5,_0x425e04);}if(_0x48b092){if(_0x510f5a("\u0065\u006c\u0049\u0054",0x37d,0x2f4,0x378,0x3a3)!==_0x510f5a("\u0030\u006d\u0074\u0072",0x3e8,0x3ef,0x3de,0x3d7)){_0x128e85["\u0070\u0075\u0073\u0068"](_0x40e531);}else{let _0x349476=[];if(_0x175ee["\u0063\u0068\u0069\u006c\u0064\u0072\u0065\u006e"]){if(_0x4442ea["\u0045\u005a\u0046\u006e\u006d"]!==_0xb5fd64(-0x256,-0x22a,-0x28a,-0x235,-0x28f)){_0x175ee["\u0063\u0068\u0069\u006c\u0064\u0072\u0065\u006e"]["\u0066\u006f\u0072\u0045\u0061\u0063\u0068"]((_0x5d3695,_0x16bde0)=>{var _0x4fc500=_0x1a6dea['SHsQI'](0x7,0x0);let _0x18ec3f=_0x75867e(_0x5d3695,0x4ae41^0x4ae40);_0x4fc500=_0x1a6dea["\u005a\u0075\u006f\u0051\u0058"];if(_0x18ec3f){_0x349476['push'](_0x18ec3f);}});}else{const _0x1c2bcd={"\u0058\u0046\u006c\u0057\u005a":function(_0x16b5fd,_0x401fab){return _0x1a6dea['cymoI'](_0x16b5fd,_0x401fab);}};var _0xdc36aa=_0x47886c['objx']||[];_0x32555f(_0x3e277b(0x1ce,0x192,0x203,"\u0067\u0032\u0039\u0042",0x170),_0xdc36aa)["\u0074\u0068\u0065\u006e"](_0x4a6e8b=>{_0x1c2bcd["\u0058\u0046\u006c\u0057\u005a"](_0x30f949,_0x4a6e8b);});}}_0x48b092["\u0063\u0068\u0069\u006c\u0064\u0072\u0065\u006e"]=_0x349476;_0x332f3f["\u0070\u0075\u0073\u0068"](_0x48b092);}}});}_0x2d2f4f['children']=_0x332f3f;}else{_0x5e1a22(_0x1dfc93);}}return _0x2d2f4f;}})['filter'](_0x1c66be=>_0x1c66be!=null);}modules={"\u006e\u0061\u006d\u0065\u0073\u0070\u0061\u0063\u0065\u0064":!![],"\u0073\u0074\u0061\u0074\u0065":_0x1beee0,"\u006d\u0075\u0074\u0061\u0074\u0069\u006f\u006e\u0073":_0x313102,'actions':_0x22173c,'filterAsyncRoutes':_0xf86efe};
41
- export default modules
135
+
136
+ /**
137
+ * Use meta.role to determine if the current user has permission
138
+ * @param roles
139
+ * @param route
140
+ */
141
+ function hasPermission(roles, route) {
142
+ if (route.meta && route.meta.roles) {
143
+ return roles.some((role) => route.meta.roles.includes(role));
144
+ } else {
145
+ return true;
146
+ }
147
+ }
148
+
149
+ /**
150
+ * Filter asynchronous routing tables by recursion
151
+ * @param routes asyncRoutes
152
+ * @param roles
153
+ */
154
+ function filterAsyncRoutes(routes, roles) {
155
+ const res = [];
156
+
157
+ routes.forEach((route) => {
158
+ const tmp = {
159
+ ...route,
160
+ };
161
+ if (hasPermission(roles, tmp)) {
162
+ if (tmp.children) {
163
+ tmp.children = filterAsyncRoutes(tmp.children, roles);
164
+ }
165
+ res.push(tmp);
166
+ }
167
+ });
168
+ return res;
169
+ }
170
+
171
+ const state = {
172
+ routes: [],
173
+ addRoutes: [],
174
+ sidebarRouters: [],
175
+ // 注册表里的别家 appCode 列表(宿主/独立运行时填充),
176
+ // menuFallback 据此判定"归属别家应用",避免把普通组件加载失败误判成别家菜单
177
+ registryAppCodes: [],
178
+ };
179
+
180
+ const mutations = {
181
+ SET_ROUTES: (state, routes) => {
182
+ state.addRoutes = routes;
183
+ state.routes = configUtl.constantRoutes.concat(routes);
184
+ },
185
+ SET_SIDEBAR_ROUTERS: (state, routers) => {
186
+ state.sidebarRouters = routers;
187
+ },
188
+ SET_REGISTRY_APP_CODES: (state, appCodes) => {
189
+ state.registryAppCodes = appCodes || [];
190
+ },
191
+ };
192
+
193
+ const actions = {
194
+ generateRoutes(opt, roles) {
195
+ let commit = opt.commit;
196
+ return new Promise((resolve) => {
197
+ let accessedRoutes;
198
+ if (roles.includes("admin")) {
199
+ accessedRoutes = configUtl.asyncRoutes || [];
200
+ } else {
201
+ accessedRoutes = filterAsyncRoutes(configUtl.asyncRoutes, roles);
202
+ }
203
+ commit("SET_SIDEBAR_ROUTERS", configUtl.sidebarRoutes || []);
204
+ resolve(accessedRoutes);
205
+ });
206
+ },
207
+ generateRoutes2(opt, user) {
208
+ let commit = opt.commit;
209
+ let dispatch = opt.dispatch;
210
+ let isBdAdmin = opt.rootGetters.isBdAdmin;
211
+ return new Promise((resolve) => {
212
+ if (!isBdAdmin) {
213
+ configUtl.getRouters({
214
+ success: (res) => {
215
+ var rows = res.objx || [];
216
+ dispatch("setupHostAndRoutes", rows).then((accessedRoutes) => {
217
+ resolve(accessedRoutes);
218
+ });
219
+ },
220
+ });
221
+ } else {
222
+ let flag = user?.flag ?? null;
223
+ let userFlagMenuMap = storeConfig?.userFlagMenuMap || {};
224
+ let rows = userFlagMenuMap[flag] || [];
225
+ dispatch("setupHostAndRoutes", rows).then((accessedRoutes) => {
226
+ resolve(accessedRoutes);
227
+ });
228
+ }
229
+ });
230
+ },
231
+ // qiankun 宿主编排:拉注册表 → 按归属切分 → 注册子应用,再走常规路由生成。
232
+ // 非宿主(未开 microMainEnabled / 自身被 qiankun 挂载)直接透传。
233
+ setupHostAndRoutes({ dispatch, commit, rootState }, rows = []) {
234
+ let isHost =
235
+ settings.microMainEnabled === true && !window.__POWERED_BY_QIANKUN__;
236
+ if (!isHost) {
237
+ return dispatch("setSidebarRoute", rows);
238
+ }
239
+ return getAppRegistry().then((apps) => {
240
+ // 自排除:自身也在注册表时(子应用开宿主形态互访别家应用)不装载自己,
241
+ // 否则会自嵌套且自身菜单被误判为"派发给子应用"而跳过本地路由
242
+ let ownAppCode = settings.appCode || "";
243
+ hostRegistryApps = (apps || []).filter(
244
+ (app) => app.appCode !== ownAppCode
245
+ );
246
+ commit(
247
+ "SET_REGISTRY_APP_CODES",
248
+ hostRegistryApps.map((app) => app.appCode)
249
+ );
250
+ let { subAppMenus } = dispatchMenus(rows, hostRegistryApps);
251
+ hostMicroRoutes = buildSubAppRoutes(hostRegistryApps, subAppMenus);
252
+ if (hostRegistryApps.length) {
253
+ registerSubApps(hostRegistryApps, {
254
+ subAppMenus,
255
+ userInfo: buildUserInfoSnapshot(rootState.user),
256
+ });
257
+ }
258
+ return dispatch("setSidebarRoute", rows);
259
+ });
260
+ },
261
+ // qiankun 子应用模式:主应用经 props 下发菜单,替代 getRouters 自拉
262
+ generateRoutesFromProps({ dispatch, rootState }, menus = []) {
263
+ // 调试覆盖装载时允许 URL 直达未配菜单的页面(handleMenuRoutes 追加兜底路由)
264
+ debugPathEnabled = !!(rootState.micro && rootState.micro.debug);
265
+ return dispatch("setSidebarRoute", menus);
266
+ },
267
+ setSidebarRoute({ commit, dispatch }, rows = []) {
268
+ return new Promise((resolve) => {
269
+ let accessedRoutes =
270
+ handleMenuRoutes(JSON.parse(JSON.stringify(rows))) || [];
271
+ let nsidebarRoutes =
272
+ handleSidebarRoutes(JSON.parse(JSON.stringify(rows))) || [];
273
+ commit("SET_SIDEBAR_ROUTERS", nsidebarRoutes);
274
+ commit("SET_ROUTES", accessedRoutes);
275
+ router.addRoutes(accessedRoutes); // 动态添加可访问路由表
276
+ resolve(accessedRoutes);
277
+ });
278
+ },
279
+ };
280
+
281
+ function getUrlParams(url) {
282
+ let urlStr = url.split("?")[1];
283
+ const urlSearchParams = new URLSearchParams(urlStr);
284
+ const result = Object.fromEntries(urlSearchParams.entries());
285
+ return result;
286
+ }
287
+
288
+ // 宿主态下归属子应用的菜单不生成本地组件路由(否则会遮住 /appCode/* 通配路由),
289
+ // 由子应用经 qiankun 渲染;侧边栏 handleSidebarRoutes 仍保留全量
290
+ function isDelegatedToSubApp(route) {
291
+ return hostRegistryApps.length > 0 && !!resolveOwner(route, hostRegistryApps);
292
+ }
293
+
294
+ function handleMenuRoutes(routes) {
295
+ var sidebarRoutes = {
296
+ path: "",
297
+ component: configUtl.Layout,
298
+ };
299
+ var children = [];
300
+ routes.forEach((route1, index1) => {
301
+ let item1 = createRoute3(route1);
302
+ if (item1 && item1.path && !isDelegatedToSubApp(route1)) {
303
+ children.push(item1);
304
+ }
305
+ if (route1.children) {
306
+ route1.children.forEach((route2, index2) => {
307
+ let item2 = createRoute3(route2);
308
+ if (item2 && item2.path && !isDelegatedToSubApp(route2)) {
309
+ children.push(item2);
310
+ }
311
+ if (route2.children) {
312
+ route2.children.forEach((route3, index3) => {
313
+ let item = createRoute3(route3);
314
+ if (item && item.path && !isDelegatedToSubApp(route3)) {
315
+ children.push(item);
316
+ }
317
+ });
318
+ }
319
+ });
320
+ }
321
+ });
322
+
323
+ // 每个子应用一条通配路由,位于全局 * 兜底之前
324
+ hostMicroRoutes.forEach((microRoute) => {
325
+ children.push(microRoute);
326
+ });
327
+
328
+ // 调试兜底放在全局 * → /404 之前,未配菜单的路径由它按路径解析组件
329
+ if (debugPathEnabled) {
330
+ children.push(createDebugPathRoute());
331
+ }
332
+
333
+ sidebarRoutes.children = children;
334
+ var result = [sidebarRoutes];
335
+ result.push({
336
+ path: "*",
337
+ redirect: "/404",
338
+ hidden: true,
339
+ });
340
+ return result;
341
+ }
342
+
343
+ function createRoute3(route3, flag) {
344
+ let item = null;
345
+ if (route3.type == 0) {
346
+ //普通菜单
347
+ let componentPath;
348
+ let menuCode;
349
+ let param = null;
350
+ let url = "";
351
+ let path = "";
352
+ if (route3.url) {
353
+ url = route3.url;
354
+ path = route3.route || route3.url;
355
+ let str = "/report/vform/render/";
356
+ if (path.indexOf(str) == 0) {
357
+ componentPath = "/report/vform/render";
358
+ menuCode = "vform_render";
359
+ } else {
360
+ let pIndex = path.indexOf("?");
361
+ if (pIndex > 0) {
362
+ param = getUrlParams(path);
363
+ path = path.substring(0, pIndex);
364
+ }
365
+ // 三步解析第 3 步:/base/ 命名空间转 @base/views;url 首段为本应用 appCode 时剥掉
366
+ componentPath = resolveComponentPath(route3, settings.appCode || "");
367
+ menuCode = route3.menuCode;
368
+ }
369
+ } else {
370
+ componentPath = "";
371
+ menuCode = route3.menuCode;
372
+ }
373
+ if (path && path.startsWith("@")) {
374
+ // path = "/" + path;
375
+ path = null;
376
+ componentPath = "";
377
+ }
378
+ item = {
379
+ id: route3.id,
380
+ menuName: route3.menuName,
381
+ menuEnName: route3.menuEnName || null,
382
+ menuCode: route3.menuCode,
383
+ menuImg: route3.menuImg,
384
+ treePathName: route3.treePathName,
385
+ type: route3.type,
386
+ url: path,
387
+ path: path,
388
+ linkType: route3.type,
389
+ component: loadView(componentPath),
390
+ name: menuCode,
391
+ meta: {
392
+ title: route3.menuName,
393
+ enTitle: route3.menuEnName || null,
394
+ treePathName: route3.treePathName,
395
+ param: param,
396
+ repeatOpen: route3.repeatOpen,
397
+ },
398
+ };
399
+ if (flag !== 1) {
400
+ item.component = loadView(componentPath);
401
+ }
402
+ } else if (route3.type == 3) {
403
+ //外部菜单
404
+ let menuCode = route3.menuCode;
405
+ let componentPath = "@base/views/user/outLink/index";
406
+ let path = route3.route || "/user/outLink/index" + "/" + menuCode;
407
+ item = {
408
+ id: route3.id,
409
+ menuName: route3.menuName,
410
+ menuEnName: route3.menuEnName || null,
411
+ menuCode: route3.menuCode,
412
+ menuImg: route3.menuImg,
413
+ treePathName: route3.treePathName,
414
+ type: route3.type,
415
+ url: path,
416
+ path: path,
417
+ outLink: route3.url || "",
418
+ linkType: route3.type,
419
+ route: route3.route,
420
+ name: "outLink",
421
+ meta: {
422
+ title: route3.menuName,
423
+ enTitle: route3.menuName || null,
424
+ treePathName: route3.treePathName,
425
+ },
426
+ };
427
+ if (flag !== 1) {
428
+ item.component = loadView(componentPath);
429
+ }
430
+ } else if (route3.type == 4) {
431
+ //第三方地址
432
+ if (flag == 1) {
433
+ item = route3;
434
+ item.path = route3.url;
435
+ item.linkType = route3.type;
436
+ item.meta = {
437
+ title: route3.menuName,
438
+ enTitle: route3.menuEnName || null,
439
+ treePathName: route3.treePathName,
440
+ };
441
+ }
442
+ } else if (route3.type == 5) {
443
+ //动态表单
444
+ let menuCode = route3.menuCode;
445
+ let componentPath = "@base/views/user/form/view/list";
446
+ let url = route3.route || route3.url;
447
+ item = {
448
+ id: route3.id,
449
+ menuName: route3.menuName,
450
+ menuEnName: route3.menuEnName || null,
451
+ menuCode: route3.menuCode,
452
+ menuImg: route3.menuImg,
453
+ treePathName: route3.treePathName,
454
+ type: route3.type,
455
+ url: url,
456
+ path: url,
457
+ linkType: route3.type,
458
+ name: "form_view:list",
459
+ meta: {
460
+ title: route3.menuName,
461
+ enTitle: route3.menuEnName || null,
462
+ treePathName: route3.treePathName,
463
+ repeatOpen: route3.repeatOpen,
464
+ },
465
+ };
466
+ if (flag !== 1) {
467
+ item.component = loadView(componentPath);
468
+ }
469
+ }
470
+ return item;
471
+ }
472
+
473
+ function handleSidebarRoutes(routes) {
474
+ return routes
475
+ .map((route1) => {
476
+ let item1 = createRoute3(route1, 1);
477
+ if (item1) {
478
+ let children1 = [];
479
+ if (route1.children) {
480
+ route1.children.forEach((route2, index2) => {
481
+ let item2 = createRoute3(route2, 1);
482
+ if (item2) {
483
+ let children2 = [];
484
+ if (route2.children) {
485
+ route2.children.forEach((route3, index3) => {
486
+ let item3 = createRoute3(route3, 1);
487
+ if (item3) {
488
+ children2.push(item3);
489
+ }
490
+ });
491
+ }
492
+ item2.children = children2;
493
+ children1.push(item2);
494
+ }
495
+ });
496
+ }
497
+
498
+ item1.children = children1;
499
+ }
500
+ return item1;
501
+ })
502
+ .filter((route) => route != null);
503
+ }
504
+
505
+ modules = {
506
+ namespaced: true,
507
+ state,
508
+ mutations,
509
+ actions,
510
+ filterAsyncRoutes,
511
+ };
512
+
513
+ export default modules;