@delon/abc 15.2.0 → 16.0.0-beta.0

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 (462) hide show
  1. package/auto-focus/auto-focus.directive.d.ts +1 -1
  2. package/avatar-list/avatar-list-item.component.d.ts +1 -1
  3. package/avatar-list/avatar-list.component.d.ts +1 -1
  4. package/count-down/count-down.component.d.ts +1 -1
  5. package/date-picker/range.directive.d.ts +1 -1
  6. package/down-file/down-file.directive.d.ts +1 -1
  7. package/ellipsis/ellipsis.component.d.ts +1 -1
  8. package/error-collect/error-collect.component.d.ts +1 -1
  9. package/esm2022/auto-focus/auto-focus.directive.mjs +51 -0
  10. package/esm2022/auto-focus/auto-focus.module.mjs +18 -0
  11. package/esm2022/avatar-list/avatar-list-item.component.mjs +27 -0
  12. package/esm2022/avatar-list/avatar-list.component.mjs +89 -0
  13. package/esm2022/avatar-list/avatar-list.module.mjs +23 -0
  14. package/esm2022/count-down/count-down.component.mjs +46 -0
  15. package/esm2022/count-down/count-down.module.mjs +21 -0
  16. package/esm2022/date-picker/date-picker.module.mjs +23 -0
  17. package/esm2022/date-picker/range-shortcut.component.mjs +41 -0
  18. package/esm2022/date-picker/range.directive.mjs +174 -0
  19. package/esm2022/down-file/down-file.directive.mjs +115 -0
  20. package/esm2022/down-file/down-file.module.mjs +21 -0
  21. package/esm2022/ellipsis/ellipsis.component.mjs +233 -0
  22. package/esm2022/ellipsis/ellipsis.module.mjs +22 -0
  23. package/esm2022/error-collect/error-collect.component.mjs +122 -0
  24. package/esm2022/error-collect/error-collect.module.mjs +21 -0
  25. package/esm2022/exception/exception.component.mjs +109 -0
  26. package/esm2022/exception/exception.module.mjs +24 -0
  27. package/esm2022/footer-toolbar/footer-toolbar.component.mjs +45 -0
  28. package/esm2022/footer-toolbar/footer-toolbar.module.mjs +22 -0
  29. package/esm2022/full-content/full-content-toggle.directive.mjs +25 -0
  30. package/esm2022/full-content/full-content.component.mjs +140 -0
  31. package/esm2022/full-content/full-content.module.mjs +21 -0
  32. package/esm2022/full-content/full-content.service.mjs +23 -0
  33. package/esm2022/global-footer/global-footer-item.component.mjs +31 -0
  34. package/esm2022/global-footer/global-footer.component.mjs +73 -0
  35. package/esm2022/global-footer/global-footer.module.mjs +22 -0
  36. package/esm2022/hotkey/hotkey.directive.mjs +37 -0
  37. package/esm2022/hotkey/hotkey.module.mjs +18 -0
  38. package/esm2022/let/let.directive.mjs +38 -0
  39. package/esm2022/let/let.module.mjs +18 -0
  40. package/esm2022/loading/loading.component.mjs +27 -0
  41. package/esm2022/loading/loading.module.mjs +24 -0
  42. package/esm2022/loading/loading.service.mjs +91 -0
  43. package/esm2022/lodop/lodop.module.mjs +13 -0
  44. package/esm2022/lodop/lodop.service.mjs +223 -0
  45. package/esm2022/media/media.component.mjs +118 -0
  46. package/esm2022/media/media.module.mjs +20 -0
  47. package/esm2022/media/media.service.mjs +47 -0
  48. package/esm2022/notice-icon/notice-icon-tab.component.mjs +35 -0
  49. package/esm2022/notice-icon/notice-icon.component.mjs +90 -0
  50. package/esm2022/notice-icon/notice-icon.module.mjs +59 -0
  51. package/esm2022/observers/observer-size.mjs +119 -0
  52. package/esm2022/onboarding/onboarding.component.mjs +135 -0
  53. package/esm2022/onboarding/onboarding.module.mjs +27 -0
  54. package/esm2022/onboarding/onboarding.service.mjs +186 -0
  55. package/esm2022/page-header/page-header.component.mjs +247 -0
  56. package/esm2022/page-header/page-header.module.mjs +25 -0
  57. package/esm2022/pdf/pdf.component.mjs +474 -0
  58. package/esm2022/pdf/pdf.module.mjs +21 -0
  59. package/esm2022/qr/qr.component.mjs +137 -0
  60. package/esm2022/qr/qr.module.mjs +20 -0
  61. package/esm2022/quick-menu/quick-menu.component.mjs +90 -0
  62. package/esm2022/quick-menu/quick-menu.module.mjs +22 -0
  63. package/esm2022/result/result.component.mjs +61 -0
  64. package/esm2022/result/result.module.mjs +22 -0
  65. package/esm2022/reuse-tab/reuse-tab-context-menu.component.mjs +77 -0
  66. package/esm2022/reuse-tab/reuse-tab-context.component.mjs +34 -0
  67. package/esm2022/reuse-tab/reuse-tab-context.directive.mjs +36 -0
  68. package/esm2022/reuse-tab/reuse-tab-context.service.mjs +56 -0
  69. package/esm2022/reuse-tab/reuse-tab.component.mjs +368 -0
  70. package/esm2022/reuse-tab/reuse-tab.module.mjs +50 -0
  71. package/esm2022/reuse-tab/reuse-tab.service.mjs +559 -0
  72. package/esm2022/se/se-container.component.mjs +174 -0
  73. package/esm2022/se/se.component.mjs +235 -0
  74. package/esm2022/se/se.module.mjs +24 -0
  75. package/esm2022/sg/sg-container.component.mjs +53 -0
  76. package/esm2022/sg/sg.component.mjs +68 -0
  77. package/esm2022/sg/sg.module.mjs +21 -0
  78. package/esm2022/st/st-column-source.mjs +493 -0
  79. package/esm2022/st/st-data-source.mjs +480 -0
  80. package/esm2022/st/st-export.mjs +90 -0
  81. package/{esm2020 → esm2022}/st/st-filter.component.mjs +8 -7
  82. package/esm2022/st/st-row.directive.mjs +47 -0
  83. package/esm2022/st/st-widget-host.directive.mjs +32 -0
  84. package/esm2022/st/st-widget.mjs +27 -0
  85. package/esm2022/st/st.component.mjs +1004 -0
  86. package/esm2022/st/st.module.mjs +97 -0
  87. package/esm2022/sv/sv-container.component.mjs +127 -0
  88. package/esm2022/sv/sv-value.component.mjs +45 -0
  89. package/esm2022/sv/sv.component.mjs +120 -0
  90. package/esm2022/sv/sv.module.mjs +26 -0
  91. package/esm2022/tag-select/tag-select.component.mjs +64 -0
  92. package/esm2022/tag-select/tag-select.module.mjs +22 -0
  93. package/esm2022/xlsx/xlsx.directive.mjs +28 -0
  94. package/esm2022/xlsx/xlsx.module.mjs +20 -0
  95. package/esm2022/xlsx/xlsx.service.mjs +129 -0
  96. package/esm2022/zip/zip.module.mjs +16 -0
  97. package/esm2022/zip/zip.service.mjs +117 -0
  98. package/exception/exception.component.d.ts +1 -1
  99. package/{fesm2015 → fesm2022}/auto-focus.mjs +7 -7
  100. package/{fesm2015 → fesm2022}/auto-focus.mjs.map +1 -1
  101. package/{fesm2020 → fesm2022}/avatar-list.mjs +10 -10
  102. package/fesm2022/avatar-list.mjs.map +1 -0
  103. package/{fesm2020 → fesm2022}/chart-observer-size.mjs +10 -10
  104. package/fesm2022/chart-observer-size.mjs.map +1 -0
  105. package/{fesm2020 → fesm2022}/count-down.mjs +7 -7
  106. package/fesm2022/count-down.mjs.map +1 -0
  107. package/{fesm2020 → fesm2022}/date-picker.mjs +14 -13
  108. package/fesm2022/date-picker.mjs.map +1 -0
  109. package/{fesm2020 → fesm2022}/down-file.mjs +8 -8
  110. package/fesm2022/down-file.mjs.map +1 -0
  111. package/{fesm2020 → fesm2022}/ellipsis.mjs +7 -7
  112. package/fesm2022/ellipsis.mjs.map +1 -0
  113. package/{fesm2020 → fesm2022}/error-collect.mjs +9 -9
  114. package/fesm2022/error-collect.mjs.map +1 -0
  115. package/{fesm2020 → fesm2022}/exception.mjs +7 -7
  116. package/fesm2022/exception.mjs.map +1 -0
  117. package/{fesm2020 → fesm2022}/footer-toolbar.mjs +7 -7
  118. package/fesm2022/footer-toolbar.mjs.map +1 -0
  119. package/{fesm2020 → fesm2022}/full-content.mjs +13 -13
  120. package/fesm2022/full-content.mjs.map +1 -0
  121. package/{fesm2020 → fesm2022}/global-footer.mjs +10 -10
  122. package/fesm2022/global-footer.mjs.map +1 -0
  123. package/{fesm2020 → fesm2022}/hotkey.mjs +7 -7
  124. package/{fesm2015 → fesm2022}/hotkey.mjs.map +1 -1
  125. package/{fesm2020 → fesm2022}/let.mjs +9 -8
  126. package/fesm2022/let.mjs.map +1 -0
  127. package/{fesm2020 → fesm2022}/loading.mjs +10 -11
  128. package/fesm2022/loading.mjs.map +1 -0
  129. package/{fesm2020 → fesm2022}/lodop.mjs +7 -7
  130. package/{fesm2020 → fesm2022}/lodop.mjs.map +1 -1
  131. package/{fesm2020 → fesm2022}/media.mjs +10 -10
  132. package/fesm2022/media.mjs.map +1 -0
  133. package/fesm2022/notice-icon.mjs +180 -0
  134. package/fesm2022/notice-icon.mjs.map +1 -0
  135. package/{fesm2020 → fesm2022}/onboarding.mjs +10 -11
  136. package/{fesm2020 → fesm2022}/onboarding.mjs.map +1 -1
  137. package/{fesm2020 → fesm2022}/page-header.mjs +7 -7
  138. package/{fesm2015 → fesm2022}/page-header.mjs.map +1 -1
  139. package/{fesm2020 → fesm2022}/pdf.mjs +9 -10
  140. package/fesm2022/pdf.mjs.map +1 -0
  141. package/{fesm2015 → fesm2022}/qr.mjs +7 -7
  142. package/{fesm2020 → fesm2022}/qr.mjs.map +1 -1
  143. package/{fesm2020 → fesm2022}/quick-menu.mjs +7 -7
  144. package/fesm2022/quick-menu.mjs.map +1 -0
  145. package/{fesm2020 → fesm2022}/result.mjs +7 -7
  146. package/{fesm2020 → fesm2022}/result.mjs.map +1 -1
  147. package/{fesm2020 → fesm2022}/reuse-tab.mjs +31 -31
  148. package/{fesm2015 → fesm2022}/reuse-tab.mjs.map +1 -1
  149. package/{fesm2020 → fesm2022}/se.mjs +15 -15
  150. package/fesm2022/se.mjs.map +1 -0
  151. package/{fesm2020 → fesm2022}/sg.mjs +10 -10
  152. package/fesm2022/sg.mjs.map +1 -0
  153. package/{fesm2020 → fesm2022}/st.mjs +72 -72
  154. package/fesm2022/st.mjs.map +1 -0
  155. package/{fesm2020 → fesm2022}/sv.mjs +20 -20
  156. package/fesm2022/sv.mjs.map +1 -0
  157. package/{fesm2020 → fesm2022}/tag-select.mjs +7 -7
  158. package/fesm2022/tag-select.mjs.map +1 -0
  159. package/{fesm2020 → fesm2022}/xlsx.mjs +10 -10
  160. package/fesm2022/xlsx.mjs.map +1 -0
  161. package/{fesm2020 → fesm2022}/zip.mjs +7 -7
  162. package/{fesm2015 → fesm2022}/zip.mjs.map +1 -1
  163. package/footer-toolbar/footer-toolbar.component.d.ts +1 -1
  164. package/full-content/full-content.component.d.ts +1 -1
  165. package/global-footer/global-footer-item.component.d.ts +1 -1
  166. package/global-footer/global-footer.component.d.ts +1 -1
  167. package/hotkey/hotkey.directive.d.ts +1 -1
  168. package/let/let.directive.d.ts +1 -1
  169. package/loading/style/index.less +1 -4
  170. package/media/media.component.d.ts +1 -1
  171. package/notice-icon/notice-icon-tab.component.d.ts +1 -1
  172. package/notice-icon/notice-icon.component.d.ts +1 -1
  173. package/onboarding/style/index.less +1 -4
  174. package/package.json +105 -175
  175. package/page-header/page-header.component.d.ts +1 -1
  176. package/pdf/pdf.component.d.ts +1 -1
  177. package/qr/qr.component.d.ts +1 -1
  178. package/quick-menu/quick-menu.component.d.ts +1 -1
  179. package/result/result.component.d.ts +1 -1
  180. package/reuse-tab/reuse-tab-context-menu.component.d.ts +1 -1
  181. package/reuse-tab/reuse-tab-context.component.d.ts +1 -1
  182. package/reuse-tab/reuse-tab-context.directive.d.ts +1 -1
  183. package/reuse-tab/reuse-tab.component.d.ts +1 -1
  184. package/se/se-container.component.d.ts +1 -1
  185. package/se/se.component.d.ts +1 -1
  186. package/sg/sg-container.component.d.ts +1 -1
  187. package/sg/sg.component.d.ts +1 -1
  188. package/st/st-filter.component.d.ts +1 -1
  189. package/st/st-row.directive.d.ts +1 -1
  190. package/st/st-widget-host.directive.d.ts +1 -1
  191. package/st/st.component.d.ts +9 -5
  192. package/st/style/index.less +6 -2
  193. package/sv/sv-container.component.d.ts +1 -1
  194. package/sv/sv-value.component.d.ts +1 -1
  195. package/sv/sv.component.d.ts +1 -1
  196. package/tag-select/tag-select.component.d.ts +1 -1
  197. package/xlsx/xlsx.directive.d.ts +1 -1
  198. package/esm2020/auto-focus/auto-focus.directive.mjs +0 -50
  199. package/esm2020/auto-focus/auto-focus.module.mjs +0 -17
  200. package/esm2020/avatar-list/avatar-list-item.component.mjs +0 -26
  201. package/esm2020/avatar-list/avatar-list.component.mjs +0 -88
  202. package/esm2020/avatar-list/avatar-list.module.mjs +0 -22
  203. package/esm2020/count-down/count-down.component.mjs +0 -45
  204. package/esm2020/count-down/count-down.module.mjs +0 -20
  205. package/esm2020/date-picker/date-picker.module.mjs +0 -22
  206. package/esm2020/date-picker/range-shortcut.component.mjs +0 -40
  207. package/esm2020/date-picker/range.directive.mjs +0 -172
  208. package/esm2020/down-file/down-file.directive.mjs +0 -114
  209. package/esm2020/down-file/down-file.module.mjs +0 -20
  210. package/esm2020/ellipsis/ellipsis.component.mjs +0 -232
  211. package/esm2020/ellipsis/ellipsis.module.mjs +0 -21
  212. package/esm2020/error-collect/error-collect.component.mjs +0 -121
  213. package/esm2020/error-collect/error-collect.module.mjs +0 -20
  214. package/esm2020/exception/exception.component.mjs +0 -108
  215. package/esm2020/exception/exception.module.mjs +0 -23
  216. package/esm2020/footer-toolbar/footer-toolbar.component.mjs +0 -44
  217. package/esm2020/footer-toolbar/footer-toolbar.module.mjs +0 -21
  218. package/esm2020/full-content/full-content-toggle.directive.mjs +0 -24
  219. package/esm2020/full-content/full-content.component.mjs +0 -139
  220. package/esm2020/full-content/full-content.module.mjs +0 -20
  221. package/esm2020/full-content/full-content.service.mjs +0 -22
  222. package/esm2020/global-footer/global-footer-item.component.mjs +0 -30
  223. package/esm2020/global-footer/global-footer.component.mjs +0 -72
  224. package/esm2020/global-footer/global-footer.module.mjs +0 -21
  225. package/esm2020/hotkey/hotkey.directive.mjs +0 -36
  226. package/esm2020/hotkey/hotkey.module.mjs +0 -17
  227. package/esm2020/let/let.directive.mjs +0 -36
  228. package/esm2020/let/let.module.mjs +0 -17
  229. package/esm2020/loading/loading.component.mjs +0 -26
  230. package/esm2020/loading/loading.module.mjs +0 -24
  231. package/esm2020/loading/loading.service.mjs +0 -90
  232. package/esm2020/lodop/lodop.module.mjs +0 -12
  233. package/esm2020/lodop/lodop.service.mjs +0 -222
  234. package/esm2020/media/media.component.mjs +0 -117
  235. package/esm2020/media/media.module.mjs +0 -19
  236. package/esm2020/media/media.service.mjs +0 -46
  237. package/esm2020/notice-icon/notice-icon-tab.component.mjs +0 -34
  238. package/esm2020/notice-icon/notice-icon.component.mjs +0 -89
  239. package/esm2020/notice-icon/notice-icon.module.mjs +0 -58
  240. package/esm2020/observers/observer-size.mjs +0 -116
  241. package/esm2020/onboarding/onboarding.component.mjs +0 -134
  242. package/esm2020/onboarding/onboarding.module.mjs +0 -27
  243. package/esm2020/onboarding/onboarding.service.mjs +0 -185
  244. package/esm2020/page-header/page-header.component.mjs +0 -246
  245. package/esm2020/page-header/page-header.module.mjs +0 -24
  246. package/esm2020/pdf/pdf.component.mjs +0 -474
  247. package/esm2020/pdf/pdf.module.mjs +0 -20
  248. package/esm2020/qr/qr.component.mjs +0 -136
  249. package/esm2020/qr/qr.module.mjs +0 -19
  250. package/esm2020/quick-menu/quick-menu.component.mjs +0 -89
  251. package/esm2020/quick-menu/quick-menu.module.mjs +0 -21
  252. package/esm2020/result/result.component.mjs +0 -60
  253. package/esm2020/result/result.module.mjs +0 -21
  254. package/esm2020/reuse-tab/reuse-tab-context-menu.component.mjs +0 -76
  255. package/esm2020/reuse-tab/reuse-tab-context.component.mjs +0 -33
  256. package/esm2020/reuse-tab/reuse-tab-context.directive.mjs +0 -35
  257. package/esm2020/reuse-tab/reuse-tab-context.service.mjs +0 -55
  258. package/esm2020/reuse-tab/reuse-tab.component.mjs +0 -367
  259. package/esm2020/reuse-tab/reuse-tab.module.mjs +0 -49
  260. package/esm2020/reuse-tab/reuse-tab.service.mjs +0 -558
  261. package/esm2020/se/se-container.component.mjs +0 -172
  262. package/esm2020/se/se.component.mjs +0 -234
  263. package/esm2020/se/se.module.mjs +0 -23
  264. package/esm2020/sg/sg-container.component.mjs +0 -52
  265. package/esm2020/sg/sg.component.mjs +0 -67
  266. package/esm2020/sg/sg.module.mjs +0 -20
  267. package/esm2020/st/st-column-source.mjs +0 -492
  268. package/esm2020/st/st-data-source.mjs +0 -479
  269. package/esm2020/st/st-export.mjs +0 -89
  270. package/esm2020/st/st-row.directive.mjs +0 -45
  271. package/esm2020/st/st-widget-host.directive.mjs +0 -31
  272. package/esm2020/st/st-widget.mjs +0 -26
  273. package/esm2020/st/st.component.mjs +0 -1002
  274. package/esm2020/st/st.module.mjs +0 -96
  275. package/esm2020/sv/sv-container.component.mjs +0 -125
  276. package/esm2020/sv/sv-value.component.mjs +0 -44
  277. package/esm2020/sv/sv.component.mjs +0 -119
  278. package/esm2020/sv/sv.module.mjs +0 -25
  279. package/esm2020/tag-select/tag-select.component.mjs +0 -63
  280. package/esm2020/tag-select/tag-select.module.mjs +0 -21
  281. package/esm2020/xlsx/xlsx.directive.mjs +0 -27
  282. package/esm2020/xlsx/xlsx.module.mjs +0 -19
  283. package/esm2020/xlsx/xlsx.service.mjs +0 -128
  284. package/esm2020/zip/zip.module.mjs +0 -15
  285. package/esm2020/zip/zip.service.mjs +0 -116
  286. package/fesm2015/avatar-list.mjs +0 -139
  287. package/fesm2015/avatar-list.mjs.map +0 -1
  288. package/fesm2015/chart-observer-size.mjs +0 -124
  289. package/fesm2015/chart-observer-size.mjs.map +0 -1
  290. package/fesm2015/count-down.mjs +0 -69
  291. package/fesm2015/count-down.mjs.map +0 -1
  292. package/fesm2015/date-picker.mjs +0 -236
  293. package/fesm2015/date-picker.mjs.map +0 -1
  294. package/fesm2015/down-file.mjs +0 -141
  295. package/fesm2015/down-file.mjs.map +0 -1
  296. package/fesm2015/ellipsis.mjs +0 -258
  297. package/fesm2015/ellipsis.mjs.map +0 -1
  298. package/fesm2015/error-collect.mjs +0 -147
  299. package/fesm2015/error-collect.mjs.map +0 -1
  300. package/fesm2015/exception.mjs +0 -138
  301. package/fesm2015/exception.mjs.map +0 -1
  302. package/fesm2015/footer-toolbar.mjs +0 -70
  303. package/fesm2015/footer-toolbar.mjs.map +0 -1
  304. package/fesm2015/full-content.mjs +0 -202
  305. package/fesm2015/full-content.mjs.map +0 -1
  306. package/fesm2015/global-footer.mjs +0 -126
  307. package/fesm2015/global-footer.mjs.map +0 -1
  308. package/fesm2015/hotkey.mjs +0 -57
  309. package/fesm2015/let.mjs +0 -59
  310. package/fesm2015/let.mjs.map +0 -1
  311. package/fesm2015/loading.mjs +0 -142
  312. package/fesm2015/loading.mjs.map +0 -1
  313. package/fesm2015/lodop.mjs +0 -232
  314. package/fesm2015/lodop.mjs.map +0 -1
  315. package/fesm2015/media.mjs +0 -180
  316. package/fesm2015/media.mjs.map +0 -1
  317. package/fesm2015/notice-icon.mjs +0 -180
  318. package/fesm2015/notice-icon.mjs.map +0 -1
  319. package/fesm2015/onboarding.mjs +0 -336
  320. package/fesm2015/onboarding.mjs.map +0 -1
  321. package/fesm2015/page-header.mjs +0 -276
  322. package/fesm2015/pdf.mjs +0 -517
  323. package/fesm2015/pdf.mjs.map +0 -1
  324. package/fesm2015/qr.mjs.map +0 -1
  325. package/fesm2015/quick-menu.mjs +0 -114
  326. package/fesm2015/quick-menu.mjs.map +0 -1
  327. package/fesm2015/result.mjs +0 -88
  328. package/fesm2015/result.mjs.map +0 -1
  329. package/fesm2015/reuse-tab.mjs +0 -1217
  330. package/fesm2015/se.mjs +0 -444
  331. package/fesm2015/se.mjs.map +0 -1
  332. package/fesm2015/sg.mjs +0 -139
  333. package/fesm2015/sg.mjs.map +0 -1
  334. package/fesm2015/st.mjs +0 -2526
  335. package/fesm2015/st.mjs.map +0 -1
  336. package/fesm2015/sv.mjs +0 -308
  337. package/fesm2015/sv.mjs.map +0 -1
  338. package/fesm2015/tag-select.mjs +0 -91
  339. package/fesm2015/tag-select.mjs.map +0 -1
  340. package/fesm2015/xlsx.mjs +0 -172
  341. package/fesm2015/xlsx.mjs.map +0 -1
  342. package/fesm2015/zip.mjs +0 -136
  343. package/fesm2020/abc.mjs +0 -7
  344. package/fesm2020/abc.mjs.map +0 -1
  345. package/fesm2020/auto-focus.mjs +0 -71
  346. package/fesm2020/auto-focus.mjs.map +0 -1
  347. package/fesm2020/avatar-list.mjs.map +0 -1
  348. package/fesm2020/chart-observer-size.mjs.map +0 -1
  349. package/fesm2020/count-down.mjs.map +0 -1
  350. package/fesm2020/date-picker.mjs.map +0 -1
  351. package/fesm2020/down-file.mjs.map +0 -1
  352. package/fesm2020/ellipsis.mjs.map +0 -1
  353. package/fesm2020/error-collect.mjs.map +0 -1
  354. package/fesm2020/exception.mjs.map +0 -1
  355. package/fesm2020/footer-toolbar.mjs.map +0 -1
  356. package/fesm2020/full-content.mjs.map +0 -1
  357. package/fesm2020/global-footer.mjs.map +0 -1
  358. package/fesm2020/hotkey.mjs.map +0 -1
  359. package/fesm2020/let.mjs.map +0 -1
  360. package/fesm2020/loading.mjs.map +0 -1
  361. package/fesm2020/media.mjs.map +0 -1
  362. package/fesm2020/notice-icon.mjs +0 -180
  363. package/fesm2020/notice-icon.mjs.map +0 -1
  364. package/fesm2020/page-header.mjs.map +0 -1
  365. package/fesm2020/pdf.mjs.map +0 -1
  366. package/fesm2020/qr.mjs +0 -171
  367. package/fesm2020/quick-menu.mjs.map +0 -1
  368. package/fesm2020/reuse-tab.mjs.map +0 -1
  369. package/fesm2020/se.mjs.map +0 -1
  370. package/fesm2020/sg.mjs.map +0 -1
  371. package/fesm2020/st.mjs.map +0 -1
  372. package/fesm2020/sv.mjs.map +0 -1
  373. package/fesm2020/tag-select.mjs.map +0 -1
  374. package/fesm2020/xlsx.mjs.map +0 -1
  375. package/fesm2020/zip.mjs.map +0 -1
  376. /package/{esm2020 → esm2022}/abc.mjs +0 -0
  377. /package/{esm2020 → esm2022}/auto-focus/auto-focus.mjs +0 -0
  378. /package/{esm2020 → esm2022}/auto-focus/index.mjs +0 -0
  379. /package/{esm2020 → esm2022}/avatar-list/avatar-list.mjs +0 -0
  380. /package/{esm2020 → esm2022}/avatar-list/public_api.mjs +0 -0
  381. /package/{esm2020 → esm2022}/count-down/count-down.mjs +0 -0
  382. /package/{esm2020 → esm2022}/count-down/public_api.mjs +0 -0
  383. /package/{esm2020 → esm2022}/date-picker/date-picker.mjs +0 -0
  384. /package/{esm2020 → esm2022}/date-picker/public_api.mjs +0 -0
  385. /package/{esm2020 → esm2022}/down-file/down-file.mjs +0 -0
  386. /package/{esm2020 → esm2022}/down-file/public_api.mjs +0 -0
  387. /package/{esm2020 → esm2022}/ellipsis/ellipsis.mjs +0 -0
  388. /package/{esm2020 → esm2022}/ellipsis/public_api.mjs +0 -0
  389. /package/{esm2020 → esm2022}/error-collect/error-collect.mjs +0 -0
  390. /package/{esm2020 → esm2022}/error-collect/public_api.mjs +0 -0
  391. /package/{esm2020 → esm2022}/exception/exception.mjs +0 -0
  392. /package/{esm2020 → esm2022}/exception/public_api.mjs +0 -0
  393. /package/{esm2020 → esm2022}/footer-toolbar/footer-toolbar.mjs +0 -0
  394. /package/{esm2020 → esm2022}/footer-toolbar/public_api.mjs +0 -0
  395. /package/{esm2020 → esm2022}/full-content/full-content.mjs +0 -0
  396. /package/{esm2020 → esm2022}/full-content/public_api.mjs +0 -0
  397. /package/{esm2020 → esm2022}/global-footer/global-footer.mjs +0 -0
  398. /package/{esm2020 → esm2022}/global-footer/global-footer.types.mjs +0 -0
  399. /package/{esm2020 → esm2022}/global-footer/public_api.mjs +0 -0
  400. /package/{esm2020 → esm2022}/hotkey/hotkey.mjs +0 -0
  401. /package/{esm2020 → esm2022}/hotkey/public_api.mjs +0 -0
  402. /package/{esm2020 → esm2022}/let/index.mjs +0 -0
  403. /package/{esm2020 → esm2022}/let/let.mjs +0 -0
  404. /package/{esm2020 → esm2022}/loading/loading.mjs +0 -0
  405. /package/{esm2020 → esm2022}/loading/loading.types.mjs +0 -0
  406. /package/{esm2020 → esm2022}/loading/public_api.mjs +0 -0
  407. /package/{esm2020 → esm2022}/lodop/lodop.mjs +0 -0
  408. /package/{esm2020 → esm2022}/lodop/lodop.types.mjs +0 -0
  409. /package/{esm2020 → esm2022}/lodop/public_api.mjs +0 -0
  410. /package/{esm2020 → esm2022}/media/media.mjs +0 -0
  411. /package/{esm2020 → esm2022}/media/public_api.mjs +0 -0
  412. /package/{esm2020 → esm2022}/notice-icon/notice-icon.mjs +0 -0
  413. /package/{esm2020 → esm2022}/notice-icon/notice-icon.types.mjs +0 -0
  414. /package/{esm2020 → esm2022}/notice-icon/public_api.mjs +0 -0
  415. /package/{esm2020 → esm2022}/observers/chart-observer-size.mjs +0 -0
  416. /package/{esm2020 → esm2022}/observers/public-api.mjs +0 -0
  417. /package/{esm2020 → esm2022}/onboarding/onboarding.mjs +0 -0
  418. /package/{esm2020 → esm2022}/onboarding/onboarding.types.mjs +0 -0
  419. /package/{esm2020 → esm2022}/onboarding/public_api.mjs +0 -0
  420. /package/{esm2020 → esm2022}/page-header/page-header.mjs +0 -0
  421. /package/{esm2020 → esm2022}/page-header/public_api.mjs +0 -0
  422. /package/{esm2020 → esm2022}/pdf/pdf.config.mjs +0 -0
  423. /package/{esm2020 → esm2022}/pdf/pdf.mjs +0 -0
  424. /package/{esm2020 → esm2022}/pdf/pdf.types.mjs +0 -0
  425. /package/{esm2020 → esm2022}/pdf/public_api.mjs +0 -0
  426. /package/{esm2020 → esm2022}/public_api.mjs +0 -0
  427. /package/{esm2020 → esm2022}/qr/public_api.mjs +0 -0
  428. /package/{esm2020 → esm2022}/qr/qr.config.mjs +0 -0
  429. /package/{esm2020 → esm2022}/qr/qr.mjs +0 -0
  430. /package/{esm2020 → esm2022}/qr/qr.types.mjs +0 -0
  431. /package/{esm2020 → esm2022}/quick-menu/public_api.mjs +0 -0
  432. /package/{esm2020 → esm2022}/quick-menu/quick-menu.mjs +0 -0
  433. /package/{esm2020 → esm2022}/result/public_api.mjs +0 -0
  434. /package/{esm2020 → esm2022}/result/result.mjs +0 -0
  435. /package/{esm2020 → esm2022}/reuse-tab/lifecycle_hooks.mjs +0 -0
  436. /package/{esm2020 → esm2022}/reuse-tab/public_api.mjs +0 -0
  437. /package/{esm2020 → esm2022}/reuse-tab/reuse-tab.interfaces.mjs +0 -0
  438. /package/{esm2020 → esm2022}/reuse-tab/reuse-tab.mjs +0 -0
  439. /package/{esm2020 → esm2022}/reuse-tab/reuse-tab.state.mjs +0 -0
  440. /package/{esm2020 → esm2022}/reuse-tab/reuse-tab.strategy.mjs +0 -0
  441. /package/{esm2020 → esm2022}/se/public_api.mjs +0 -0
  442. /package/{esm2020 → esm2022}/se/se.mjs +0 -0
  443. /package/{esm2020 → esm2022}/se/se.types.mjs +0 -0
  444. /package/{esm2020 → esm2022}/sg/public_api.mjs +0 -0
  445. /package/{esm2020 → esm2022}/sg/sg.mjs +0 -0
  446. /package/{esm2020 → esm2022}/st/public_api.mjs +0 -0
  447. /package/{esm2020 → esm2022}/st/st.config.mjs +0 -0
  448. /package/{esm2020 → esm2022}/st/st.interfaces.mjs +0 -0
  449. /package/{esm2020 → esm2022}/st/st.mjs +0 -0
  450. /package/{esm2020 → esm2022}/st/st.types.mjs +0 -0
  451. /package/{esm2020 → esm2022}/sv/public_api.mjs +0 -0
  452. /package/{esm2020 → esm2022}/sv/sv.mjs +0 -0
  453. /package/{esm2020 → esm2022}/tag-select/public_api.mjs +0 -0
  454. /package/{esm2020 → esm2022}/tag-select/tag-select.mjs +0 -0
  455. /package/{esm2020 → esm2022}/xlsx/public_api.mjs +0 -0
  456. /package/{esm2020 → esm2022}/xlsx/xlsx.mjs +0 -0
  457. /package/{esm2020 → esm2022}/xlsx/xlsx.types.mjs +0 -0
  458. /package/{esm2020 → esm2022}/zip/public_api.mjs +0 -0
  459. /package/{esm2020 → esm2022}/zip/zip.mjs +0 -0
  460. /package/{esm2020 → esm2022}/zip/zip.types.mjs +0 -0
  461. /package/{fesm2015 → fesm2022}/abc.mjs +0 -0
  462. /package/{fesm2015 → fesm2022}/abc.mjs.map +0 -0
package/fesm2020/qr.mjs DELETED
@@ -1,171 +0,0 @@
1
- import { __decorate } from 'tslib';
2
- import * as i0 from '@angular/core';
3
- import { EventEmitter, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, Output, NgModule } from '@angular/core';
4
- import { filter } from 'rxjs';
5
- import { InputNumber } from '@delon/util/decorator';
6
- import * as i1 from '@delon/util/config';
7
- import * as i2 from '@delon/util/other';
8
- import * as i3 from '@angular/cdk/platform';
9
- import * as i4 from '@angular/common';
10
- import { CommonModule } from '@angular/common';
11
-
12
- const QR_DEFULAT_CONFIG = {
13
- lib: `https://cdn.jsdelivr.net/npm/qrious/dist/qrious.min.js`,
14
- background: 'white',
15
- backgroundAlpha: 1,
16
- foreground: 'black',
17
- foregroundAlpha: 1,
18
- level: 'L',
19
- mime: 'image/png',
20
- padding: 10,
21
- size: 220,
22
- delay: 0
23
- };
24
-
25
- class QRComponent {
26
- constructor(cdr, configSrv, lazySrv, platform) {
27
- this.cdr = cdr;
28
- this.lazySrv = lazySrv;
29
- this.platform = platform;
30
- this.inited = false;
31
- this.value = '';
32
- this.change = new EventEmitter();
33
- this.cog = configSrv.merge('qr', QR_DEFULAT_CONFIG);
34
- Object.assign(this, this.cog);
35
- }
36
- init() {
37
- if (!this.inited) {
38
- return;
39
- }
40
- if (this.qr == null) {
41
- this.qr = new window.QRious();
42
- }
43
- this.qr.set(this.option);
44
- this.dataURL = this.qr.toDataURL();
45
- this.change.emit(this.dataURL);
46
- this.cdr.detectChanges();
47
- }
48
- initDelay() {
49
- this.inited = true;
50
- setTimeout(() => this.init(), this.delay);
51
- }
52
- ngAfterViewInit() {
53
- if (!this.platform.isBrowser) {
54
- return;
55
- }
56
- if (window.QRious) {
57
- this.initDelay();
58
- return;
59
- }
60
- const url = this.cog.lib;
61
- this.lazy$ = this.lazySrv.change
62
- .pipe(filter(ls => ls.length === 1 && ls[0].path === url && ls[0].status === 'ok'))
63
- .subscribe(() => this.initDelay());
64
- this.lazySrv.load(url);
65
- }
66
- ngOnChanges() {
67
- const option = {
68
- background: this.background,
69
- backgroundAlpha: this.backgroundAlpha,
70
- foreground: this.foreground,
71
- foregroundAlpha: this.foregroundAlpha,
72
- level: this.level,
73
- mime: this.mime,
74
- padding: this.padding,
75
- size: this.size,
76
- value: typeof this.value === 'function' ? this.value() : this.toUtf8ByteArray(this.value)
77
- };
78
- this.option = option;
79
- this.init();
80
- }
81
- toUtf8ByteArray(str) {
82
- str = encodeURI(str);
83
- const result = [];
84
- for (let i = 0; i < str.length; i++) {
85
- if (str.charAt(i) !== '%') {
86
- result.push(str.charCodeAt(i));
87
- }
88
- else {
89
- result.push(parseInt(str.substring(i + 1, 2), 16));
90
- i += 2;
91
- }
92
- }
93
- return result.map(v => String.fromCharCode(v)).join('');
94
- }
95
- ngOnDestroy() {
96
- if (this.lazy$) {
97
- this.lazy$.unsubscribe();
98
- }
99
- }
100
- }
101
- QRComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: QRComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.AlainConfigService }, { token: i2.LazyService }, { token: i3.Platform }], target: i0.ɵɵFactoryTarget.Component });
102
- QRComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: QRComponent, selector: "qr", inputs: { background: "background", backgroundAlpha: "backgroundAlpha", foreground: "foreground", foregroundAlpha: "foregroundAlpha", level: "level", mime: "mime", padding: "padding", size: "size", value: "value", delay: "delay" }, outputs: { change: "change" }, host: { properties: { "style.display": "'inline-block'", "style.height.px": "size", "style.width.px": "size" } }, exportAs: ["qr"], usesOnChanges: true, ngImport: i0, template: ` <img *ngIf="dataURL" style="max-width: 100%; max-height: 100%;" [src]="dataURL" /> `, isInline: true, dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
103
- __decorate([
104
- InputNumber(null)
105
- ], QRComponent.prototype, "padding", void 0);
106
- __decorate([
107
- InputNumber()
108
- ], QRComponent.prototype, "size", void 0);
109
- __decorate([
110
- InputNumber()
111
- ], QRComponent.prototype, "delay", void 0);
112
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: QRComponent, decorators: [{
113
- type: Component,
114
- args: [{
115
- selector: 'qr',
116
- exportAs: 'qr',
117
- template: ` <img *ngIf="dataURL" style="max-width: 100%; max-height: 100%;" [src]="dataURL" /> `,
118
- host: {
119
- '[style.display]': `'inline-block'`,
120
- '[style.height.px]': 'size',
121
- '[style.width.px]': 'size'
122
- },
123
- preserveWhitespaces: false,
124
- changeDetection: ChangeDetectionStrategy.OnPush,
125
- encapsulation: ViewEncapsulation.None
126
- }]
127
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.AlainConfigService }, { type: i2.LazyService }, { type: i3.Platform }]; }, propDecorators: { background: [{
128
- type: Input
129
- }], backgroundAlpha: [{
130
- type: Input
131
- }], foreground: [{
132
- type: Input
133
- }], foregroundAlpha: [{
134
- type: Input
135
- }], level: [{
136
- type: Input
137
- }], mime: [{
138
- type: Input
139
- }], padding: [{
140
- type: Input
141
- }], size: [{
142
- type: Input
143
- }], value: [{
144
- type: Input
145
- }], delay: [{
146
- type: Input
147
- }], change: [{
148
- type: Output
149
- }] } });
150
-
151
- const COMPONENTS = [QRComponent];
152
- class QRModule {
153
- }
154
- QRModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: QRModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
155
- QRModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.7", ngImport: i0, type: QRModule, declarations: [QRComponent], imports: [CommonModule], exports: [QRComponent] });
156
- QRModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: QRModule, imports: [CommonModule] });
157
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: QRModule, decorators: [{
158
- type: NgModule,
159
- args: [{
160
- imports: [CommonModule],
161
- declarations: COMPONENTS,
162
- exports: COMPONENTS
163
- }]
164
- }] });
165
-
166
- /**
167
- * Generated bundle index. Do not edit.
168
- */
169
-
170
- export { QRComponent, QRModule, QR_DEFULAT_CONFIG };
171
- //# sourceMappingURL=qr.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"quick-menu.mjs","sources":["../../../../packages/abc/quick-menu/quick-menu.component.ts","../../../../packages/abc/quick-menu/quick-menu.component.html","../../../../packages/abc/quick-menu/quick-menu.module.ts","../../../../packages/abc/quick-menu/quick-menu.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n Renderer2,\n TemplateRef,\n ViewEncapsulation\n} from '@angular/core';\n\nimport { BooleanInput, InputBoolean, InputNumber, NumberInput } from '@delon/util/decorator';\n\n@Component({\n selector: 'quick-menu',\n exportAs: 'quickMenu',\n templateUrl: './quick-menu.component.html',\n host: {\n '[class.quick-menu]': 'true',\n '(click)': '_click()'\n },\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class QuickMenuComponent implements OnInit, OnChanges {\n static ngAcceptInputType_top: NumberInput;\n static ngAcceptInputType_width: NumberInput;\n static ngAcceptInputType_expand: BooleanInput;\n\n constructor(private cdr: ChangeDetectorRef, private el: ElementRef, private render: Renderer2) {}\n ctrlStyle: { [key: string]: string | undefined } = {};\n\n @Input() icon: string | TemplateRef<void> = 'question-circle';\n @Input() @InputNumber() top = 120;\n @Input() @InputNumber() width = 200;\n @Input() bgColor?: string;\n @Input() borderColor?: string;\n @Input() @InputBoolean() expand: boolean = false;\n @Output() readonly expandChange = new EventEmitter<boolean>();\n\n private show = false;\n private initFlag = false;\n\n _click(): void {\n this.show = !this.show;\n this.expandChange.emit(this.show);\n this.setStyle();\n }\n\n private setStyle(): void {\n this.ctrlStyle = {\n 'background-color': this.bgColor,\n 'border-color': this.borderColor\n };\n\n const res: string[] = [\n `top:${this.top}px`,\n `width:${this.width}px`,\n `margin-right:-${this.show ? 0 : this.width}px`\n ];\n if (this.bgColor) {\n res.push(`background-color:${this.bgColor}`);\n }\n if (this.borderColor) {\n res.push(`border-color:${this.borderColor}`);\n }\n this.render.setAttribute(this.el.nativeElement, 'style', res.join(';'));\n this.cdr.detectChanges();\n }\n\n ngOnInit(): void {\n this.initFlag = true;\n this.setStyle();\n }\n\n ngOnChanges(): void {\n this.show = this.expand;\n if (this.initFlag) {\n this.setStyle();\n }\n }\n}\n","<div class=\"quick-menu__inner\">\n <div class=\"quick-menu__ctrl\" [ngStyle]=\"ctrlStyle\">\n <div class=\"quick-menu__ctrl-icon\">\n <ng-container *nzStringTemplateOutlet=\"icon\">\n <i nz-icon [nzType]=\"$any(icon)\"></i>\n </ng-container>\n </div>\n </div>\n <ng-content></ng-content>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { NzOutletModule } from 'ng-zorro-antd/core/outlet';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\n\nimport { QuickMenuComponent } from './quick-menu.component';\n\nconst COMPONENTS = [QuickMenuComponent];\n\n@NgModule({\n imports: [CommonModule, NzIconModule, NzOutletModule],\n declarations: COMPONENTS,\n exports: COMPONENTS\n})\nexport class QuickMenuModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"reuse-tab.mjs","sources":["../../../../packages/abc/reuse-tab/reuse-tab-context-menu.component.ts","../../../../packages/abc/reuse-tab/reuse-tab-context-menu.component.html","../../../../packages/abc/reuse-tab/reuse-tab-context.service.ts","../../../../packages/abc/reuse-tab/reuse-tab-context.component.ts","../../../../packages/abc/reuse-tab/reuse-tab-context.directive.ts","../../../../packages/abc/reuse-tab/reuse-tab.interfaces.ts","../../../../packages/abc/reuse-tab/reuse-tab.state.ts","../../../../packages/abc/reuse-tab/reuse-tab.service.ts","../../../../packages/abc/reuse-tab/reuse-tab.component.ts","../../../../packages/abc/reuse-tab/reuse-tab.component.html","../../../../packages/abc/reuse-tab/reuse-tab.strategy.ts","../../../../packages/abc/reuse-tab/reuse-tab.module.ts","../../../../packages/abc/reuse-tab/reuse-tab.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n ViewEncapsulation\n} from '@angular/core';\n\nimport { DelonLocaleService } from '@delon/theme';\n\nimport {\n CloseType,\n ReuseContextCloseEvent,\n ReuseContextI18n,\n ReuseCustomContextMenu,\n ReuseItem\n} from './reuse-tab.interfaces';\n\n@Component({\n selector: 'reuse-tab-context-menu',\n templateUrl: './reuse-tab-context-menu.component.html',\n host: {\n '(document:click)': 'closeMenu($event)',\n '(document:contextmenu)': 'closeMenu($event)'\n },\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class ReuseTabContextMenuComponent implements OnInit {\n private _i18n!: ReuseContextI18n;\n @Input()\n set i18n(value: ReuseContextI18n) {\n this._i18n = {\n ...this.i18nSrv.getData('reuseTab'),\n ...value\n };\n }\n get i18n(): ReuseContextI18n {\n return this._i18n;\n }\n @Input() item!: ReuseItem;\n @Input() event!: MouseEvent;\n @Input() customContextMenu!: ReuseCustomContextMenu[];\n @Output() readonly close = new EventEmitter<ReuseContextCloseEvent>();\n\n get includeNonCloseable(): boolean {\n return this.event.ctrlKey;\n }\n\n constructor(private i18nSrv: DelonLocaleService) {}\n\n private notify(type: CloseType): void {\n this.close.next({\n type,\n item: this.item,\n includeNonCloseable: this.includeNonCloseable\n });\n }\n\n ngOnInit(): void {\n if (this.includeNonCloseable) this.item.closable = true;\n }\n\n click(e: MouseEvent, type: CloseType, custom?: ReuseCustomContextMenu): void {\n e.preventDefault();\n e.stopPropagation();\n if (type === 'close' && !this.item.closable) return;\n if (type === 'closeRight' && this.item.last) return;\n\n if (custom) {\n if (this.isDisabled(custom)) return;\n custom.fn(this.item, custom);\n }\n this.notify(type);\n }\n\n isDisabled(custom: ReuseCustomContextMenu): boolean {\n return custom.disabled ? custom.disabled(this.item) : false;\n }\n\n closeMenu(event: MouseEvent): void {\n if (event.type === 'click' && event.button === 2) return;\n this.notify(null);\n }\n}\n","<ul nz-menu>\n <li\n *ngIf=\"item.active\"\n nz-menu-item\n (click)=\"click($event, 'refresh')\"\n data-type=\"refresh\"\n [innerHTML]=\"i18n.refresh\"\n ></li>\n <li\n nz-menu-item\n (click)=\"click($event, 'close')\"\n data-type=\"close\"\n [nzDisabled]=\"!item.closable\"\n [innerHTML]=\"i18n.close\"\n ></li>\n <li nz-menu-item (click)=\"click($event, 'closeOther')\" data-type=\"closeOther\" [innerHTML]=\"i18n.closeOther\"></li>\n <li\n nz-menu-item\n (click)=\"click($event, 'closeRight')\"\n data-type=\"closeRight\"\n [nzDisabled]=\"item.last\"\n [innerHTML]=\"i18n.closeRight\"\n ></li>\n <ng-container *ngIf=\"customContextMenu!.length > 0\">\n <li nz-menu-divider></li>\n <li\n *ngFor=\"let i of customContextMenu\"\n nz-menu-item\n [attr.data-type]=\"i.id\"\n [nzDisabled]=\"isDisabled(i)\"\n (click)=\"click($event, 'custom', i)\"\n [innerHTML]=\"i.title\"\n ></li>\n </ng-container>\n</ul>\n","import { ConnectionPositionPair, Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { Injectable } from '@angular/core';\nimport { Subject, Subscription } from 'rxjs';\n\nimport { ReuseTabContextMenuComponent } from './reuse-tab-context-menu.component';\nimport {\n ReuseContextCloseEvent,\n ReuseContextEvent,\n ReuseContextI18n,\n ReuseCustomContextMenu\n} from './reuse-tab.interfaces';\n\n@Injectable()\nexport class ReuseTabContextService {\n private ref: OverlayRef | null = null;\n i18n?: ReuseContextI18n;\n\n show: Subject<ReuseContextEvent> = new Subject<ReuseContextEvent>();\n close: Subject<ReuseContextCloseEvent> = new Subject<ReuseContextCloseEvent>();\n\n constructor(private overlay: Overlay) {}\n\n remove(): void {\n if (!this.ref) return;\n this.ref.detach();\n this.ref.dispose();\n this.ref = null;\n }\n\n open(context: ReuseContextEvent): void {\n this.remove();\n const { event, item, customContextMenu } = context;\n const { x, y } = event;\n const positions = [\n new ConnectionPositionPair({ originX: 'start', originY: 'bottom' }, { overlayX: 'start', overlayY: 'top' }),\n new ConnectionPositionPair({ originX: 'start', originY: 'top' }, { overlayX: 'start', overlayY: 'bottom' })\n ];\n const positionStrategy = this.overlay.position().flexibleConnectedTo({ x, y }).withPositions(positions);\n this.ref = this.overlay.create({\n positionStrategy,\n panelClass: 'reuse-tab__cm',\n scrollStrategy: this.overlay.scrollStrategies.close()\n });\n const comp = this.ref.attach(new ComponentPortal(ReuseTabContextMenuComponent));\n const instance = comp.instance;\n instance.i18n = this.i18n!;\n instance.item = { ...item };\n instance.customContextMenu = customContextMenu as ReuseCustomContextMenu[];\n instance.event = event;\n\n const sub$ = new Subscription();\n sub$.add(\n instance.close.subscribe((res: ReuseContextCloseEvent) => {\n this.close.next(res);\n this.remove();\n })\n );\n comp.onDestroy(() => sub$.unsubscribe());\n }\n}\n","import { Component, EventEmitter, Input, OnDestroy, Output } from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { ReuseTabContextService } from './reuse-tab-context.service';\nimport { ReuseContextCloseEvent, ReuseContextI18n } from './reuse-tab.interfaces';\n\n@Component({\n selector: 'reuse-tab-context',\n template: ``\n})\nexport class ReuseTabContextComponent implements OnDestroy {\n private sub$: Subscription = new Subscription();\n\n @Input()\n set i18n(value: ReuseContextI18n | undefined) {\n this.srv.i18n = value;\n }\n\n @Output() readonly change = new EventEmitter<ReuseContextCloseEvent>();\n\n constructor(private srv: ReuseTabContextService) {\n this.sub$.add(srv.show.subscribe(context => this.srv.open(context)));\n this.sub$.add(srv.close.subscribe(res => this.change.emit(res)));\n }\n\n ngOnDestroy(): void {\n this.sub$.unsubscribe();\n }\n}\n","import { Directive, Input } from '@angular/core';\n\nimport { ReuseTabContextService } from './reuse-tab-context.service';\nimport { ReuseCustomContextMenu, ReuseItem } from './reuse-tab.interfaces';\n\n@Directive({\n selector: '[reuse-tab-context-menu]',\n exportAs: 'reuseTabContextMenu',\n host: {\n '(contextmenu)': '_onContextMenu($event)'\n }\n})\nexport class ReuseTabContextDirective {\n @Input('reuse-tab-context-menu') item!: ReuseItem;\n @Input() customContextMenu!: ReuseCustomContextMenu[];\n\n constructor(private srv: ReuseTabContextService) {}\n\n _onContextMenu(event: MouseEvent): void {\n this.srv.show.next({\n event,\n item: this.item,\n customContextMenu: this.customContextMenu\n });\n event.preventDefault();\n event.stopPropagation();\n }\n}\n","import { ActivatedRouteSnapshot } from '@angular/router';\nimport { Observable } from 'rxjs';\n\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nimport { ReuseTabContextComponent } from './reuse-tab-context.component';\n\n/**\n * 复用匹配模式\n */\nexport enum ReuseTabMatchMode {\n /**\n * (推荐)按菜单 `Menu` 配置\n *\n * 可复用:\n * - `{ text:'Dashboard' }`\n * - `{ text:'Dashboard', reuse: true }`\n *\n * 不可复用:\n * - `{ text:'Dashboard', reuse: false }`\n */\n Menu,\n /**\n * 按菜单 `Menu` 强制配置\n *\n * 可复用:\n * - `{ text:'Dashboard', reuse: true }`\n *\n * 不可复用:\n * - `{ text:'Dashboard' }`\n * - `{ text:'Dashboard', reuse: false }`\n */\n MenuForce,\n /**\n * 对所有路由有效,可以配合 `excludes` 过滤无须复用路由\n */\n URL\n}\n\nexport type ReuseTabRouteParamMatchMode = 'strict' | 'loose';\n\nexport interface ReuseTitle {\n text?: string;\n i18n?: string;\n}\n\nexport interface ReuseTabCached {\n title: ReuseTitle;\n\n url: string;\n\n /** 是否允许关闭,默认:`true` */\n closable?: boolean;\n\n /** 当前滚动条位置 */\n position?: [number, number] | null;\n\n _snapshot?: ActivatedRouteSnapshot;\n\n _handle?: ReuseComponentHandle;\n}\n\nexport interface ReuseTabNotify {\n /** 事件类型 */\n active:\n | 'add'\n | 'override'\n | 'title'\n | 'clear'\n | 'closable'\n | 'close'\n | 'closeRight'\n | 'move'\n | 'refresh'\n | 'loadState';\n url?: string;\n title?: ReuseTitle;\n item?: ReuseTabCached;\n list?: ReuseTabCached[];\n [key: string]: NzSafeAny;\n}\n\nexport interface ReuseItem {\n url: string;\n title: string;\n closable: boolean;\n index: number;\n active: boolean;\n last: boolean;\n /** 当前滚动条位置 */\n position?: [number, number] | null;\n}\n\nexport interface ReuseContextEvent {\n event: MouseEvent;\n item: ReuseItem;\n comp?: ReuseTabContextComponent;\n customContextMenu?: ReuseCustomContextMenu[];\n}\n\nexport type CloseType = 'close' | 'closeOther' | 'closeRight' | 'custom' | 'refresh' | null;\n\nexport interface ReuseContextCloseEvent {\n type: CloseType;\n item: ReuseItem;\n includeNonCloseable: boolean;\n}\n\nexport interface ReuseContextI18n {\n close?: string;\n closeOther?: string;\n closeRight?: string;\n refresh?: string;\n}\n\nexport interface ReuseCustomContextMenu {\n id: string;\n title: string;\n fn: (item: ReuseItem, menu: ReuseCustomContextMenu) => void;\n disabled?: (item: ReuseItem) => boolean;\n}\n\nexport interface ReuseComponentHandle {\n componentRef: ReuseComponentRef;\n}\n\nexport interface ReuseComponentRef {\n instance: ReuseComponentInstance;\n}\n\nexport type ReuseHookTypes = '_onReuseInit' | '_onReuseDestroy';\n\nexport type ReuseHookOnReuseInitType = 'init' | 'refresh';\n\nexport interface ReuseComponentInstance {\n _onReuseInit: (type: ReuseHookOnReuseInitType) => void;\n _onReuseDestroy: () => void;\n destroy: () => void;\n}\n\nexport type ReuseCanClose = (options: { item: ReuseItem; includeNonCloseable: boolean }) => Observable<boolean>;\n","import { InjectionToken } from '@angular/core';\n\nimport type { ReuseItem } from './reuse-tab.interfaces';\n\nexport const REUSE_TAB_STORAGE_KEY = new InjectionToken<string>('REUSE_TAB_STORAGE_KEY');\n\nexport const REUSE_TAB_STORAGE_STATE = new InjectionToken<ReuseTabStorageState>('REUSE_TAB_STORAGE_STATE');\n\nexport interface ReuseTabStorageState {\n get(key: string): ReuseItem[];\n\n update(key: string, value: ReuseItem[]): boolean;\n\n remove(key: string): void;\n}\n\nexport class ReuseTabLocalStorageState implements ReuseTabStorageState {\n get(key: string): ReuseItem[] {\n return JSON.parse(localStorage.getItem(key) || '[]') || [];\n }\n\n update(key: string, value: ReuseItem[]): boolean {\n localStorage.setItem(key, JSON.stringify(value));\n return true;\n }\n\n remove(key: string): void {\n localStorage.removeItem(key);\n }\n}\n","import { Inject, Injectable, Injector, OnDestroy, Optional } from '@angular/core';\nimport {\n ActivatedRoute,\n ActivatedRouteSnapshot,\n ExtraOptions,\n NavigationEnd,\n NavigationStart,\n Router,\n ROUTER_CONFIGURATION\n} from '@angular/router';\nimport { BehaviorSubject, Observable, timer, Unsubscribable } from 'rxjs';\n\nimport { Menu, MenuService } from '@delon/theme';\nimport { ScrollService } from '@delon/util/browser';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nimport {\n ReuseComponentRef,\n ReuseHookOnReuseInitType,\n ReuseHookTypes,\n ReuseTabCached,\n ReuseTabMatchMode,\n ReuseTabNotify,\n ReuseTabRouteParamMatchMode,\n ReuseTitle\n} from './reuse-tab.interfaces';\nimport { ReuseTabStorageState, REUSE_TAB_STORAGE_KEY, REUSE_TAB_STORAGE_STATE } from './reuse-tab.state';\n\n@Injectable({ providedIn: 'root' })\nexport class ReuseTabService implements OnDestroy {\n private _inited = false;\n private _max = 10;\n private _keepingScroll = false;\n private _cachedChange = new BehaviorSubject<ReuseTabNotify | null>(null);\n private _cached: ReuseTabCached[] = [];\n private _titleCached: { [url: string]: ReuseTitle } = {};\n private _closableCached: { [url: string]: boolean } = {};\n private _router$?: Unsubscribable;\n private removeUrlBuffer: string | null = null;\n private positionBuffer: { [url: string]: [number, number] } = {};\n componentRef?: ReuseComponentRef;\n debug = false;\n routeParamMatchMode: ReuseTabRouteParamMatchMode = 'strict';\n mode = ReuseTabMatchMode.Menu;\n /** 排除规则,限 `mode=URL` */\n excludes: RegExp[] = [];\n storageState = false;\n\n private get snapshot(): ActivatedRouteSnapshot {\n return this.injector.get(ActivatedRoute).snapshot;\n }\n\n // #region public\n\n /**\n * Get init status\n *\n * 是否已经初始化完成\n */\n get inited(): boolean {\n return this._inited;\n }\n\n /**\n * Current routing address\n *\n * 当前路由地址\n */\n get curUrl(): string {\n return this.getUrl(this.snapshot);\n }\n\n /**\n * 允许最多复用多少个页面,取值范围 `2-100`,值发生变更时会强制关闭且忽略可关闭条件\n */\n set max(value: number) {\n this._max = Math.min(Math.max(value, 2), 100);\n for (let i = this._cached.length; i > this._max; i--) {\n this._cached.pop();\n }\n }\n set keepingScroll(value: boolean) {\n this._keepingScroll = value;\n this.initScroll();\n }\n get keepingScroll(): boolean {\n return this._keepingScroll;\n }\n keepingScrollContainer?: Element;\n /** 获取已缓存的路由 */\n get items(): ReuseTabCached[] {\n return this._cached;\n }\n /** 获取当前缓存的路由总数 */\n get count(): number {\n return this._cached.length;\n }\n /** 订阅缓存变更通知 */\n get change(): Observable<ReuseTabNotify | null> {\n return this._cachedChange.asObservable(); // .pipe(filter(w => w !== null));\n }\n /** 自定义当前标题 */\n set title(value: string | ReuseTitle) {\n const url = this.curUrl;\n if (typeof value === 'string') value = { text: value };\n this._titleCached[url] = value;\n this.di('update current tag title: ', value);\n this._cachedChange.next({\n active: 'title',\n url,\n title: value,\n list: this._cached\n });\n }\n /** 获取指定路径缓存所在位置,`-1` 表示无缓存 */\n index(url: string): number {\n return this._cached.findIndex(w => w.url === url);\n }\n /** 获取指定路径缓存是否存在 */\n exists(url: string): boolean {\n return this.index(url) !== -1;\n }\n /** 获取指定路径缓存 */\n get(url?: string): ReuseTabCached | null {\n return url ? this._cached.find(w => w.url === url) || null : null;\n }\n private remove(url: string | number, includeNonCloseable: boolean): boolean {\n const idx = typeof url === 'string' ? this.index(url) : url;\n const item = idx !== -1 ? this._cached[idx] : null;\n if (!item || (!includeNonCloseable && !item.closable)) return false;\n\n this.destroy(item._handle);\n\n this._cached.splice(idx, 1);\n delete this._titleCached[url];\n return true;\n }\n /**\n * 根据URL移除标签\n *\n * @param [includeNonCloseable=false] 是否强制包含不可关闭\n */\n close(url: string, includeNonCloseable: boolean = false): boolean {\n this.removeUrlBuffer = url;\n\n this.remove(url, includeNonCloseable);\n\n this._cachedChange.next({ active: 'close', url, list: this._cached });\n\n this.di('close tag', url);\n return true;\n }\n /**\n * 清除右边\n *\n * @param [includeNonCloseable=false] 是否强制包含不可关闭\n */\n closeRight(url: string, includeNonCloseable: boolean = false): boolean {\n const start = this.index(url);\n for (let i = this.count - 1; i > start; i--) {\n this.remove(i, includeNonCloseable);\n }\n\n this.removeUrlBuffer = null;\n\n this._cachedChange.next({ active: 'closeRight', url, list: this._cached });\n\n this.di('close right tages', url);\n return true;\n }\n /**\n * 清除所有缓存\n *\n * @param [includeNonCloseable=false] 是否强制包含不可关闭\n */\n clear(includeNonCloseable: boolean = false): void {\n this._cached.forEach(w => {\n if (!includeNonCloseable && w.closable) this.destroy(w._handle);\n });\n this._cached = this._cached.filter(w => !includeNonCloseable && !w.closable);\n\n this.removeUrlBuffer = null;\n\n this._cachedChange.next({ active: 'clear', list: this._cached });\n\n this.di('clear all catch');\n }\n /**\n * 移动缓存数据\n *\n * @param url 要移动的URL地址\n * @param position 新位置,下标从 `0` 开始\n *\n * @example\n * ```\n * // source\n * [ '/a/1', '/a/2', '/a/3', '/a/4', '/a/5' ]\n * move('/a/1', 2);\n * // output\n * [ '/a/2', '/a/3', '/a/1', '/a/4', '/a/5' ]\n * move('/a/1', -1);\n * // output\n * [ '/a/2', '/a/3', '/a/4', '/a/5', '/a/1' ]\n * ```\n */\n move(url: string, position: number): void {\n const start = this._cached.findIndex(w => w.url === url);\n if (start === -1) return;\n const data = this._cached.slice();\n data.splice(position < 0 ? data.length + position : position, 0, data.splice(start, 1)[0]);\n this._cached = data;\n this._cachedChange.next({\n active: 'move',\n url,\n position,\n list: this._cached\n });\n }\n /**\n * 强制关闭当前路由(包含不可关闭状态),并重新导航至 `newUrl` 路由\n */\n replace(newUrl: string): void {\n const url = this.curUrl;\n if (this.exists(url)) {\n this.close(url, true);\n } else {\n this.removeUrlBuffer = url;\n }\n this.injector.get<Router>(Router).navigateByUrl(newUrl);\n }\n /**\n * 获取标题,顺序如下:\n *\n * 1. 组件内使用 `ReuseTabService.title = 'new title'` 重新指定文本\n * 2. 路由配置中 data 属性中包含 titleI18n > title\n * 3. 菜单数据中 text 属性\n *\n * @param url 指定URL\n * @param route 指定路由快照\n */\n getTitle(url: string, route?: ActivatedRouteSnapshot): ReuseTitle {\n if (this._titleCached[url]) {\n return this._titleCached[url];\n }\n\n if (route && route.data && (route.data.titleI18n || route.data.title)) {\n return {\n text: route.data.title,\n i18n: route.data.titleI18n\n } as ReuseTitle;\n }\n\n const menu = this.getMenu(url);\n return menu ? { text: menu.text, i18n: menu.i18n } : { text: url };\n }\n\n /**\n * 清除标题缓存\n */\n clearTitleCached(): void {\n this._titleCached = {};\n }\n /** 自定义当前 `closable` 状态 */\n set closable(value: boolean) {\n const url = this.curUrl;\n this._closableCached[url] = value;\n this.di('update current tag closable: ', value);\n this._cachedChange.next({\n active: 'closable',\n closable: value,\n list: this._cached\n });\n }\n /**\n * 获取 `closable` 状态,顺序如下:\n *\n * 1. 组件内使用 `ReuseTabService.closable = true` 重新指定 `closable` 状态\n * 2. 路由配置中 data 属性中包含 `reuseClosable`\n * 3. 菜单数据中 `reuseClosable` 属性\n *\n * @param url 指定URL\n * @param route 指定路由快照\n */\n getClosable(url: string, route?: ActivatedRouteSnapshot): boolean {\n if (typeof this._closableCached[url] !== 'undefined') return this._closableCached[url];\n\n if (route && route.data && typeof route.data.reuseClosable === 'boolean') return route.data.reuseClosable;\n\n const menu = this.mode !== ReuseTabMatchMode.URL ? this.getMenu(url) : null;\n if (menu && typeof menu.reuseClosable === 'boolean') return menu.reuseClosable;\n\n return true;\n }\n /**\n * 清空 `closable` 缓存\n */\n clearClosableCached(): void {\n this._closableCached = {};\n }\n getTruthRoute(route: ActivatedRouteSnapshot): ActivatedRouteSnapshot {\n let next = route;\n while (next.firstChild) next = next.firstChild;\n return next;\n }\n /**\n * 根据快照获取URL地址\n */\n getUrl(route: ActivatedRouteSnapshot): string {\n let next = this.getTruthRoute(route);\n const segments: string[] = [];\n while (next) {\n segments.push(next.url.join('/'));\n next = next.parent!;\n }\n const url = `/${segments\n .filter(i => i)\n .reverse()\n .join('/')}`;\n return url;\n }\n /**\n * 检查快照是否允许被复用\n */\n can(route: ActivatedRouteSnapshot): boolean {\n const url = this.getUrl(route);\n if (url === this.removeUrlBuffer) return false;\n\n if (route.data && typeof route.data.reuse === 'boolean') return route.data.reuse;\n\n if (this.mode !== ReuseTabMatchMode.URL) {\n const menu = this.getMenu(url);\n if (!menu) return false;\n if (this.mode === ReuseTabMatchMode.Menu) {\n if (menu.reuse === false) return false;\n } else {\n if (!menu.reuse || menu.reuse !== true) return false;\n }\n return true;\n }\n return !this.isExclude(url);\n }\n\n isExclude(url: string): boolean {\n return this.excludes.findIndex(r => r.test(url)) !== -1;\n }\n\n /**\n * 刷新,触发一个 refresh 类型事件\n */\n refresh(data?: NzSafeAny): void {\n this._cachedChange.next({ active: 'refresh', data });\n }\n // #endregion\n\n // #region privates\n\n private destroy(_handle: NzSafeAny): void {\n if (_handle && _handle.componentRef && _handle.componentRef.destroy) _handle.componentRef.destroy();\n }\n\n private di(...args: NzSafeAny[]): void {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n if (!this.debug) return;\n console.warn(...args);\n }\n }\n\n // #endregion\n\n constructor(\n private injector: Injector,\n private menuService: MenuService,\n @Optional() @Inject(REUSE_TAB_STORAGE_KEY) private stateKey: string,\n @Optional() @Inject(REUSE_TAB_STORAGE_STATE) private stateSrv: ReuseTabStorageState\n ) {}\n\n init(): void {\n this.initScroll();\n this._inited = true;\n this.loadState();\n }\n\n private loadState(): void {\n if (!this.storageState) return;\n\n this._cached = this.stateSrv.get(this.stateKey).map(v => ({\n title: { text: v.title },\n url: v.url,\n position: v.position\n }));\n this._cachedChange.next({ active: 'loadState' });\n }\n\n private getMenu(url: string): Menu | null | undefined {\n const menus = this.menuService.getPathByUrl(url);\n if (!menus || menus.length === 0) return null;\n return menus.pop();\n }\n\n runHook(\n method: ReuseHookTypes,\n comp: ReuseComponentRef | number | undefined,\n type: ReuseHookOnReuseInitType = 'init'\n ): void {\n if (typeof comp === 'number') {\n const item = this._cached[comp];\n comp = item._handle?.componentRef;\n }\n if (comp == null || !comp.instance) {\n return;\n }\n const compThis = comp.instance;\n const fn = compThis[method];\n if (typeof fn !== 'function') {\n return;\n }\n if (method === '_onReuseInit') {\n fn.call(compThis, type);\n } else {\n (fn as () => void).call(compThis);\n }\n }\n\n private hasInValidRoute(route: ActivatedRouteSnapshot): boolean {\n return !route.routeConfig || !!route.routeConfig.loadChildren || !!route.routeConfig.children;\n }\n\n /**\n * 决定是否允许路由复用,若 `true` 会触发 `store`\n */\n shouldDetach(route: ActivatedRouteSnapshot): boolean {\n if (this.hasInValidRoute(route)) return false;\n this.di('#shouldDetach', this.can(route), this.getUrl(route));\n return this.can(route);\n }\n\n /**\n * 存储\n */\n store(_snapshot: ActivatedRouteSnapshot, _handle: NzSafeAny): void {\n const url = this.getUrl(_snapshot);\n const idx = this.index(url);\n const isAdd = idx === -1;\n\n const item: ReuseTabCached = {\n title: this.getTitle(url, _snapshot),\n closable: this.getClosable(url, _snapshot),\n position: this.getKeepingScroll(url, _snapshot) ? this.positionBuffer[url] : null,\n url,\n _snapshot,\n _handle\n };\n if (isAdd) {\n if (this.count >= this._max) {\n // Get the oldest closable location\n const closeIdx = this._cached.findIndex(w => w.closable!);\n if (closeIdx !== -1) this.remove(closeIdx, false);\n }\n this._cached.push(item);\n } else {\n // Current handler is null when activate routes\n // For better reliability, we need to wait for the component to be attached before call _onReuseInit\n const cahcedComponentRef = this._cached[idx]._handle?.componentRef;\n if (_handle == null && cahcedComponentRef != null) {\n timer(100).subscribe(() => this.runHook('_onReuseInit', cahcedComponentRef));\n }\n this._cached[idx] = item;\n }\n this.removeUrlBuffer = null;\n\n this.di('#store', isAdd ? '[new]' : '[override]', url);\n\n if (_handle && _handle.componentRef) {\n this.runHook('_onReuseDestroy', _handle.componentRef);\n }\n\n if (!isAdd) {\n this._cachedChange.next({ active: 'override', item, list: this._cached });\n }\n }\n\n /**\n * 决定是否允许应用缓存数据\n */\n shouldAttach(route: ActivatedRouteSnapshot): boolean {\n if (this.hasInValidRoute(route)) return false;\n const url = this.getUrl(route);\n const data = this.get(url);\n const ret = !!(data && data._handle);\n this.di('#shouldAttach', ret, url);\n if (!ret) {\n this._cachedChange.next({ active: 'add', url, list: this._cached });\n }\n return ret;\n }\n\n /**\n * 提取复用数据\n */\n retrieve(route: ActivatedRouteSnapshot): NzSafeAny | null {\n if (this.hasInValidRoute(route)) return null;\n const url = this.getUrl(route);\n const data = this.get(url);\n const ret = (data && data._handle) || null;\n this.di('#retrieve', url, ret);\n return ret;\n }\n\n /**\n * 决定是否应该进行复用路由处理\n */\n shouldReuseRoute(future: ActivatedRouteSnapshot, curr: ActivatedRouteSnapshot): boolean {\n let ret = future.routeConfig === curr.routeConfig;\n if (!ret) return false;\n\n const path = ((future.routeConfig && future.routeConfig.path) || '') as string;\n if (path.length > 0 && ~path.indexOf(':')) {\n if (this.routeParamMatchMode === 'strict') {\n ret = this.getUrl(future) === this.getUrl(curr);\n } else {\n ret = path === ((curr.routeConfig && curr.routeConfig.path) || '');\n }\n }\n this.di('=====================');\n this.di('#shouldReuseRoute', ret, `${this.getUrl(curr)}=>${this.getUrl(future)}`, future, curr);\n return ret;\n }\n\n // #region scroll\n\n /**\n * 获取 `keepingScroll` 状态,顺序如下:\n *\n * 1. 路由配置中 data 属性中包含 `keepingScroll`\n * 2. 菜单数据中 `keepingScroll` 属性\n * 3. 组件 `keepingScroll` 值\n */\n getKeepingScroll(url: string, route?: ActivatedRouteSnapshot): boolean {\n if (route && route.data && typeof route.data.keepingScroll === 'boolean') return route.data.keepingScroll;\n\n const menu = this.mode !== ReuseTabMatchMode.URL ? this.getMenu(url) : null;\n if (menu && typeof menu.keepingScroll === 'boolean') return menu.keepingScroll;\n\n return this.keepingScroll;\n }\n\n private get isDisabledInRouter(): boolean {\n const routerConfig = this.injector.get<ExtraOptions>(ROUTER_CONFIGURATION, {} as NzSafeAny);\n return routerConfig.scrollPositionRestoration === 'disabled';\n }\n\n private get ss(): ScrollService {\n return this.injector.get(ScrollService);\n }\n\n private initScroll(): void {\n if (this._router$) {\n this._router$.unsubscribe();\n }\n\n this._router$ = this.injector.get<Router>(Router).events.subscribe(e => {\n if (e instanceof NavigationStart) {\n const url = this.curUrl;\n if (this.getKeepingScroll(url, this.getTruthRoute(this.snapshot))) {\n this.positionBuffer[url] = this.ss.getScrollPosition(this.keepingScrollContainer);\n } else {\n delete this.positionBuffer[url];\n }\n } else if (e instanceof NavigationEnd) {\n const url = this.curUrl;\n const item = this.get(url);\n if (item && item.position && this.getKeepingScroll(url, this.getTruthRoute(this.snapshot))) {\n if (this.isDisabledInRouter) {\n this.ss.scrollToPosition(this.keepingScrollContainer, item.position);\n } else {\n setTimeout(() => this.ss.scrollToPosition(this.keepingScrollContainer, item.position!), 1);\n }\n }\n }\n });\n }\n\n // #endregion\n\n ngOnDestroy(): void {\n const { _cachedChange, _router$ } = this;\n this.clear();\n this._cached = [];\n _cachedChange.complete();\n\n if (_router$) {\n _router$.unsubscribe();\n }\n }\n}\n","import { Direction, Directionality } from '@angular/cdk/bidi';\nimport { Platform } from '@angular/cdk/platform';\nimport { DOCUMENT } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Inject,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n SimpleChange,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { Subject, debounceTime, filter, takeUntil, of } from 'rxjs';\n\nimport { AlainI18NService, ALAIN_I18N_TOKEN } from '@delon/theme';\nimport { BooleanInput, InputBoolean, InputNumber, NumberInput } from '@delon/util/decorator';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\nimport { NzTabSetComponent } from 'ng-zorro-antd/tabs';\n\nimport { ReuseTabContextService } from './reuse-tab-context.service';\nimport {\n ReuseCanClose,\n ReuseContextCloseEvent,\n ReuseContextI18n,\n ReuseCustomContextMenu,\n ReuseItem,\n ReuseTabCached,\n ReuseTabMatchMode,\n ReuseTabNotify,\n ReuseTabRouteParamMatchMode,\n ReuseTitle\n} from './reuse-tab.interfaces';\nimport { ReuseTabService } from './reuse-tab.service';\nimport { ReuseTabStorageState, REUSE_TAB_STORAGE_KEY, REUSE_TAB_STORAGE_STATE } from './reuse-tab.state';\n\n@Component({\n selector: 'reuse-tab, [reuse-tab]',\n exportAs: 'reuseTab',\n templateUrl: './reuse-tab.component.html',\n host: {\n '[class.reuse-tab]': 'true',\n '[class.reuse-tab__line]': `tabType === 'line'`,\n '[class.reuse-tab__card]': `tabType === 'card'`,\n '[class.reuse-tab__disabled]': `disabled`,\n '[class.reuse-tab-rtl]': `dir === 'rtl'`\n },\n providers: [ReuseTabContextService],\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class ReuseTabComponent implements OnInit, OnChanges, OnDestroy {\n static ngAcceptInputType_debug: BooleanInput;\n static ngAcceptInputType_max: NumberInput;\n static ngAcceptInputType_tabMaxWidth: NumberInput;\n static ngAcceptInputType_allowClose: BooleanInput;\n static ngAcceptInputType_keepingScroll: BooleanInput;\n static ngAcceptInputType_disabled: BooleanInput;\n static ngAcceptInputType_storageState: BooleanInput;\n\n @ViewChild('tabset') private tabset!: NzTabSetComponent;\n private destroy$ = new Subject<void>();\n private _keepingScrollContainer?: Element;\n list: ReuseItem[] = [];\n item?: ReuseItem;\n pos = 0;\n dir: Direction = 'ltr';\n\n // #region fields\n\n @Input() mode: ReuseTabMatchMode = ReuseTabMatchMode.Menu;\n @Input() i18n?: ReuseContextI18n;\n @Input() @InputBoolean() debug = false;\n @Input() @InputNumber() max?: number;\n @Input() @InputNumber() tabMaxWidth?: number;\n @Input() excludes?: RegExp[];\n @Input() @InputBoolean() allowClose = true;\n @Input() @InputBoolean() keepingScroll = false;\n @Input() @InputBoolean() storageState = false;\n @Input()\n set keepingScrollContainer(value: string | Element) {\n this._keepingScrollContainer = typeof value === 'string' ? this.doc.querySelector(value) : value;\n }\n @Input() customContextMenu: ReuseCustomContextMenu[] = [];\n @Input() tabBarExtraContent?: TemplateRef<void>;\n @Input() tabBarGutter?: number;\n @Input() tabBarStyle: { [key: string]: string } | null = null;\n @Input() tabType: 'line' | 'card' = 'line';\n @Input() routeParamMatchMode: ReuseTabRouteParamMatchMode = 'strict';\n @Input() @InputBoolean() disabled = false;\n @Input() titleRender?: TemplateRef<{ $implicit: ReuseItem }>;\n @Input() canClose?: ReuseCanClose;\n @Output() readonly change = new EventEmitter<ReuseItem>();\n @Output() readonly close = new EventEmitter<ReuseItem | null>();\n\n // #endregion\n\n constructor(\n private srv: ReuseTabService,\n private cdr: ChangeDetectorRef,\n private router: Router,\n private route: ActivatedRoute,\n @Optional() @Inject(ALAIN_I18N_TOKEN) private i18nSrv: AlainI18NService,\n @Inject(DOCUMENT) private doc: NzSafeAny,\n private platform: Platform,\n @Optional() private directionality: Directionality,\n @Optional() @Inject(REUSE_TAB_STORAGE_KEY) private stateKey: string,\n @Optional() @Inject(REUSE_TAB_STORAGE_STATE) private stateSrv: ReuseTabStorageState\n ) {}\n\n private genTit(title: ReuseTitle): string {\n return title.i18n && this.i18nSrv ? this.i18nSrv.fanyi(title.i18n) : title.text!;\n }\n\n private get curUrl(): string {\n return this.srv.getUrl(this.route.snapshot);\n }\n\n private genCurItem(): ReuseItem {\n const url = this.curUrl;\n const snapshotTrue = this.srv.getTruthRoute(this.route.snapshot);\n return {\n url,\n title: this.genTit(this.srv.getTitle(url, snapshotTrue)),\n closable: this.allowClose && this.srv.count > 0 && this.srv.getClosable(url, snapshotTrue),\n active: false,\n last: false,\n index: 0\n };\n }\n\n private genList(notify: ReuseTabNotify | null): void {\n const ls = this.srv.items.map(\n (item: ReuseTabCached, index: number) =>\n ({\n url: item.url,\n title: this.genTit(item.title),\n closable: this.allowClose && item.closable && this.srv.count > 0,\n position: item.position,\n index,\n active: false,\n last: false\n } as ReuseItem)\n );\n // debugger;\n\n const url = this.curUrl;\n let addCurrent = ls.findIndex(w => w.url === url) === -1;\n if (notify && notify.active === 'close' && notify.url === url) {\n addCurrent = false;\n let toPos = 0;\n const curItem = this.list.find(w => w.url === url)!;\n if (curItem.index === ls.length) {\n // When closed is last\n toPos = ls.length - 1;\n } else if (curItem.index < ls.length) {\n // Should be actived next tab when closed is middle\n toPos = Math.max(0, curItem.index);\n }\n this.router.navigateByUrl(ls[toPos].url);\n }\n\n if (addCurrent) {\n ls.splice(this.pos + 1, 0, this.genCurItem());\n }\n\n ls.forEach((item, index) => (item.index = index));\n if (ls.length === 1) {\n ls[0].closable = false;\n }\n this.list = ls;\n this.cdr.detectChanges();\n this.updatePos();\n }\n\n private updateTitle(res: ReuseTabNotify): void {\n const item = this.list.find(w => w.url === res!.url);\n if (!item) return;\n item.title = this.genTit(res!.title!);\n this.cdr.detectChanges();\n }\n\n private refresh(item: ReuseItem): void {\n this.srv.runHook('_onReuseInit', this.pos === item.index ? this.srv.componentRef : item.index, 'refresh');\n }\n\n private saveState(): void {\n if (!this.srv.inited || !this.storageState) return;\n\n this.stateSrv.update(this.stateKey, this.list);\n }\n\n // #region UI\n\n contextMenuChange(res: ReuseContextCloseEvent): void {\n let fn: (() => void) | null = null;\n switch (res.type) {\n case 'refresh':\n this.refresh(res.item);\n break;\n case 'close':\n this._close(null, res.item.index, res.includeNonCloseable);\n break;\n case 'closeRight':\n fn = () => {\n this.srv.closeRight(res.item.url, res.includeNonCloseable);\n this.close.emit(null);\n };\n break;\n case 'closeOther':\n fn = () => {\n this.srv.clear(res.includeNonCloseable);\n this.close.emit(null);\n };\n break;\n }\n if (!fn) {\n return;\n }\n if (!res.item.active && res.item.index <= this.list.find(w => w.active)!.index) {\n this._to(res.item.index, fn);\n } else {\n fn();\n }\n }\n\n _to(index: number, cb?: () => void): void {\n index = Math.max(0, Math.min(index, this.list.length - 1));\n const item = this.list[index];\n this.router.navigateByUrl(item.url).then(res => {\n if (!res) return;\n this.item = item;\n this.change.emit(item);\n if (cb) {\n cb();\n }\n });\n }\n\n _close(e: Event | null, idx: number, includeNonCloseable: boolean): boolean {\n if (e != null) {\n e.preventDefault();\n e.stopPropagation();\n }\n const item = this.list[idx];\n (this.canClose ? this.canClose({ item, includeNonCloseable }) : of(true)).pipe(filter(v => v)).subscribe(() => {\n this.srv.close(item.url, includeNonCloseable);\n this.close.emit(item);\n this.cdr.detectChanges();\n });\n return false;\n }\n\n /**\n * 设置激活路由的实例,在 `src/app/layout/basic/basic.component.ts` 修改:\n *\n * @example\n * <reuse-tab #reuseTab></reuse-tab>\n * <router-outlet (activate)=\"reuseTab.activate($event)\" (attach)=\"reuseTab.activate($event)\"></router-outlet>\n */\n activate(instance: NzSafeAny): void {\n this.srv.componentRef = { instance };\n }\n\n private updatePos(): void {\n const url = this.srv.getUrl(this.route.snapshot);\n const ls = this.list.filter(w => w.url === url || !this.srv.isExclude(w.url));\n if (ls.length === 0) {\n return;\n }\n\n const last = ls[ls.length - 1];\n const item = ls.find(w => w.url === url);\n last.last = true;\n const pos = item == null ? last.index : item.index;\n ls.forEach((i, idx) => (i.active = pos === idx));\n this.pos = pos;\n // TODO: 目前无法知道为什么 `pos` 无法通过 `nzSelectedIndex` 生效,因此强制使用组件实例的方式来修改,这种方式是安全的\n // https://github.com/ng-alain/ng-alain/issues/1736\n this.tabset.nzSelectedIndex = pos;\n this.list = ls;\n this.cdr.detectChanges();\n this.saveState();\n }\n\n // #endregion\n\n ngOnInit(): void {\n this.dir = this.directionality.value;\n this.directionality.change?.pipe(takeUntil(this.destroy$)).subscribe((direction: Direction) => {\n this.dir = direction;\n this.cdr.detectChanges();\n });\n\n if (!this.platform.isBrowser) {\n return;\n }\n\n this.srv.change.pipe(takeUntil(this.destroy$)).subscribe(res => {\n switch (res?.active) {\n case 'title':\n this.updateTitle(res);\n return;\n case 'override':\n if (res?.list?.length === this.list.length) {\n this.updatePos();\n return;\n }\n break;\n }\n this.genList(res);\n });\n\n this.i18nSrv.change\n .pipe(\n filter(() => this.srv.inited),\n takeUntil(this.destroy$),\n debounceTime(100)\n )\n .subscribe(() => this.genList({ active: 'title' }));\n\n this.srv.init();\n }\n\n ngOnChanges(changes: { [P in keyof this]?: SimpleChange } & SimpleChanges): void {\n if (!this.platform.isBrowser) {\n return;\n }\n\n if (changes.max) this.srv.max = this.max!;\n if (changes.excludes) this.srv.excludes = this.excludes!;\n if (changes.mode) this.srv.mode = this.mode;\n if (changes.routeParamMatchMode) this.srv.routeParamMatchMode = this.routeParamMatchMode;\n if (changes.keepingScroll) {\n this.srv.keepingScroll = this.keepingScroll;\n this.srv.keepingScrollContainer = this._keepingScrollContainer;\n }\n if (changes.storageState) this.srv.storageState = this.storageState;\n\n this.srv.debug = this.debug;\n\n this.cdr.detectChanges();\n }\n\n ngOnDestroy(): void {\n const { destroy$ } = this;\n destroy$.next();\n destroy$.complete();\n }\n}\n","<nz-tabset\n #tabset\n [nzSelectedIndex]=\"pos\"\n [nzAnimated]=\"false\"\n [nzType]=\"tabType\"\n [nzTabBarExtraContent]=\"tabBarExtraContent\"\n [nzTabBarGutter]=\"tabBarGutter\"\n [nzTabBarStyle]=\"tabBarStyle\"\n>\n <nz-tab *ngFor=\"let i of list; let index = index\" [nzTitle]=\"titleTemplate\" (nzClick)=\"_to(index)\">\n <ng-template #titleTemplate>\n <div\n [reuse-tab-context-menu]=\"i\"\n [customContextMenu]=\"customContextMenu\"\n class=\"reuse-tab__name\"\n [attr.title]=\"i.title\"\n >\n <span [class.reuse-tab__name-width]=\"tabMaxWidth\" [style.max-width.px]=\"tabMaxWidth\">\n <ng-container\n *ngIf=\"titleRender; else defaultTitle\"\n [ngTemplateOutlet]=\"titleRender\"\n [ngTemplateOutletContext]=\"{ $implicit: i }\"\n ></ng-container>\n <ng-template #defaultTitle>{{ i.title }}</ng-template>\n </span>\n </div>\n <i *ngIf=\"i.closable\" nz-icon nzType=\"close\" class=\"reuse-tab__op\" (click)=\"_close($event, index, false)\"></i>\n </ng-template>\n </nz-tab>\n</nz-tabset>\n<reuse-tab-context [i18n]=\"i18n\" (change)=\"contextMenuChange($event)\"></reuse-tab-context>\n","import { ActivatedRouteSnapshot, RouteReuseStrategy } from '@angular/router';\n\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nimport { ReuseTabService } from './reuse-tab.service';\n\nexport class ReuseTabStrategy implements RouteReuseStrategy {\n constructor(private srv: ReuseTabService) {}\n\n shouldDetach(route: ActivatedRouteSnapshot): boolean {\n return this.srv.shouldDetach(route);\n }\n store(route: ActivatedRouteSnapshot, handle: unknown): void {\n this.srv.store(route, handle);\n }\n shouldAttach(route: ActivatedRouteSnapshot): boolean {\n return this.srv.shouldAttach(route);\n }\n retrieve(route: ActivatedRouteSnapshot): NzSafeAny | null {\n return this.srv.retrieve(route);\n }\n shouldReuseRoute(future: ActivatedRouteSnapshot, curr: ActivatedRouteSnapshot): boolean {\n return this.srv.shouldReuseRoute(future, curr);\n }\n}\n","import { OverlayModule } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\n\nimport { DelonLocaleModule } from '@delon/theme';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\nimport { NzMenuModule } from 'ng-zorro-antd/menu';\nimport { NzTabsModule } from 'ng-zorro-antd/tabs';\n\nimport { ReuseTabContextMenuComponent } from './reuse-tab-context-menu.component';\nimport { ReuseTabContextComponent } from './reuse-tab-context.component';\nimport { ReuseTabContextDirective } from './reuse-tab-context.directive';\nimport { ReuseTabComponent } from './reuse-tab.component';\nimport { ReuseTabLocalStorageState, REUSE_TAB_STORAGE_KEY, REUSE_TAB_STORAGE_STATE } from './reuse-tab.state';\n\nconst COMPONENTS = [ReuseTabComponent];\nconst NOEXPORTS = [ReuseTabContextMenuComponent, ReuseTabContextComponent, ReuseTabContextDirective];\n\n@NgModule({\n imports: [CommonModule, RouterModule, DelonLocaleModule, NzMenuModule, NzTabsModule, NzIconModule, OverlayModule],\n declarations: [...COMPONENTS, ...NOEXPORTS],\n providers: [\n {\n provide: REUSE_TAB_STORAGE_KEY,\n useValue: '_reuse-tab-state'\n },\n {\n provide: REUSE_TAB_STORAGE_STATE,\n useFactory: () => new ReuseTabLocalStorageState()\n }\n ],\n exports: COMPONENTS\n})\nexport class ReuseTabModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i2","i1","i1.ReuseTabContextService","i3","i8.ReuseTabContextComponent","i9.ReuseTabContextDirective"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;MA+Ba,4BAA4B,CAAA;IAEvC,IACI,IAAI,CAAC,KAAuB,EAAA;QAC9B,IAAI,CAAC,KAAK,GAAG;AACX,YAAA,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC;AACnC,YAAA,GAAG,KAAK;SACT,CAAC;KACH;AACD,IAAA,IAAI,IAAI,GAAA;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;KACnB;AAMD,IAAA,IAAI,mBAAmB,GAAA;AACrB,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;KAC3B;AAED,IAAA,WAAA,CAAoB,OAA2B,EAAA;QAA3B,IAAO,CAAA,OAAA,GAAP,OAAO,CAAoB;AAN5B,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,YAAY,EAA0B,CAAC;KAMnB;AAE3C,IAAA,MAAM,CAAC,IAAe,EAAA;AAC5B,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;YACd,IAAI;YACJ,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;AAC9C,SAAA,CAAC,CAAC;KACJ;IAED,QAAQ,GAAA;QACN,IAAI,IAAI,CAAC,mBAAmB;AAAE,YAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;KACzD;AAED,IAAA,KAAK,CAAC,CAAa,EAAE,IAAe,EAAE,MAA+B,EAAA;QACnE,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,CAAC,CAAC,eAAe,EAAE,CAAC;QACpB,IAAI,IAAI,KAAK,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAO;QACpD,IAAI,IAAI,KAAK,YAAY,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO;AAEpD,QAAA,IAAI,MAAM,EAAE;AACV,YAAA,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;gBAAE,OAAO;YACpC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAC9B,SAAA;AACD,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;KACnB;AAED,IAAA,UAAU,CAAC,MAA8B,EAAA;AACvC,QAAA,OAAO,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;KAC7D;AAED,IAAA,SAAS,CAAC,KAAiB,EAAA;QACzB,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;AACzD,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;KACnB;;yHAvDU,4BAA4B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA5B,4BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,4BAA4B,wSC/BzC,y+BAmCA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,gBAAA,EAAA,SAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,cAAA,CAAA,EAAA,OAAA,EAAA,CAAA,SAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,YAAA,EAAA,YAAA,EAAA,UAAA,EAAA,oBAAA,EAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;2FDJa,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAXxC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,wBAAwB,EAE5B,IAAA,EAAA;AACJ,wBAAA,kBAAkB,EAAE,mBAAmB;AACvC,wBAAA,wBAAwB,EAAE,mBAAmB;qBAC9C,EACoB,mBAAA,EAAA,KAAK,mBACT,uBAAuB,CAAC,MAAM,EAChC,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,y+BAAA,EAAA,CAAA;yGAKjC,IAAI,EAAA,CAAA;sBADP,KAAK;gBAUG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,iBAAiB,EAAA,CAAA;sBAAzB,KAAK;gBACa,KAAK,EAAA,CAAA;sBAAvB,MAAM;;;MEhCI,sBAAsB,CAAA;AAOjC,IAAA,WAAA,CAAoB,OAAgB,EAAA;QAAhB,IAAO,CAAA,OAAA,GAAP,OAAO,CAAS;QAN5B,IAAG,CAAA,GAAA,GAAsB,IAAI,CAAC;AAGtC,QAAA,IAAA,CAAA,IAAI,GAA+B,IAAI,OAAO,EAAqB,CAAC;AACpE,QAAA,IAAA,CAAA,KAAK,GAAoC,IAAI,OAAO,EAA0B,CAAC;KAEvC;IAExC,MAAM,GAAA;QACJ,IAAI,CAAC,IAAI,CAAC,GAAG;YAAE,OAAO;AACtB,QAAA,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;AAClB,QAAA,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;AACnB,QAAA,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC;KACjB;AAED,IAAA,IAAI,CAAC,OAA0B,EAAA;QAC7B,IAAI,CAAC,MAAM,EAAE,CAAC;QACd,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,iBAAiB,EAAE,GAAG,OAAO,CAAC;AACnD,QAAA,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,KAAK,CAAC;AACvB,QAAA,MAAM,SAAS,GAAG;YAChB,IAAI,sBAAsB,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;YAC3G,IAAI,sBAAsB,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;SAC5G,CAAC;QACF,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,mBAAmB,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QACxG,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;YAC7B,gBAAgB;AAChB,YAAA,UAAU,EAAE,eAAe;YAC3B,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,EAAE;AACtD,SAAA,CAAC,CAAC;AACH,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,eAAe,CAAC,4BAA4B,CAAC,CAAC,CAAC;AAChF,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;AAC/B,QAAA,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,IAAK,CAAC;AAC3B,QAAA,QAAQ,CAAC,IAAI,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC;AAC5B,QAAA,QAAQ,CAAC,iBAAiB,GAAG,iBAA6C,CAAC;AAC3E,QAAA,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC;AAEvB,QAAA,MAAM,IAAI,GAAG,IAAI,YAAY,EAAE,CAAC;AAChC,QAAA,IAAI,CAAC,GAAG,CACN,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,GAA2B,KAAI;AACvD,YAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACrB,IAAI,CAAC,MAAM,EAAE,CAAC;SACf,CAAC,CACH,CAAC;QACF,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;KAC1C;;mHA7CU,sBAAsB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,IAAA,CAAA,OAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;uHAAtB,sBAAsB,EAAA,CAAA,CAAA;2FAAtB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBADlC,UAAU;;;MCHE,wBAAwB,CAAA;IAGnC,IACI,IAAI,CAAC,KAAmC,EAAA;AAC1C,QAAA,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC;KACvB;AAID,IAAA,WAAA,CAAoB,GAA2B,EAAA;QAA3B,IAAG,CAAA,GAAA,GAAH,GAAG,CAAwB;AATvC,QAAA,IAAA,CAAA,IAAI,GAAiB,IAAI,YAAY,EAAE,CAAC;AAO7B,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,YAAY,EAA0B,CAAC;QAGrE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACrE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;KAClE;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;KACzB;;qHAjBU,wBAAwB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,sBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,wBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,wBAAwB,kHAFzB,CAAE,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;2FAED,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAJpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,mBAAmB;AAC7B,oBAAA,QAAQ,EAAE,CAAE,CAAA;AACb,iBAAA,CAAA;0GAKK,IAAI,EAAA,CAAA;sBADP,KAAK;gBAKa,MAAM,EAAA,CAAA;sBAAxB,MAAM;;;MCNI,wBAAwB,CAAA;AAInC,IAAA,WAAA,CAAoB,GAA2B,EAAA;QAA3B,IAAG,CAAA,GAAA,GAAH,GAAG,CAAwB;KAAI;AAEnD,IAAA,cAAc,CAAC,KAAiB,EAAA;AAC9B,QAAA,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;YACjB,KAAK;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;AAC1C,SAAA,CAAC,CAAC;QACH,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,KAAK,CAAC,eAAe,EAAE,CAAC;KACzB;;qHAdU,wBAAwB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,sBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;yGAAxB,wBAAwB,EAAA,QAAA,EAAA,0BAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,CAAA,wBAAA,EAAA,MAAA,CAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,aAAA,EAAA,wBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAAxB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAPpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,0BAA0B;AACpC,oBAAA,QAAQ,EAAE,qBAAqB;AAC/B,oBAAA,IAAI,EAAE;AACJ,wBAAA,eAAe,EAAE,wBAAwB;AAC1C,qBAAA;AACF,iBAAA,CAAA;0GAEkC,IAAI,EAAA,CAAA;sBAApC,KAAK;uBAAC,wBAAwB,CAAA;gBACtB,iBAAiB,EAAA,CAAA;sBAAzB,KAAK;;;ACPR;;AAEG;IACS,kBA2BX;AA3BD,CAAA,UAAY,iBAAiB,EAAA;AAC3B;;;;;;;;;AASG;AACH,IAAA,iBAAA,CAAA,iBAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAI,CAAA;AACJ;;;;;;;;;AASG;AACH,IAAA,iBAAA,CAAA,iBAAA,CAAA,WAAA,CAAA,GAAA,CAAA,CAAA,GAAA,WAAS,CAAA;AACT;;AAEG;AACH,IAAA,iBAAA,CAAA,iBAAA,CAAA,KAAA,CAAA,GAAA,CAAA,CAAA,GAAA,KAAG,CAAA;AACL,CAAC,EA3BW,iBAAiB,KAAjB,iBAAiB,GA2B5B,EAAA,CAAA,CAAA;;MCjCY,qBAAqB,GAAG,IAAI,cAAc,CAAS,uBAAuB,EAAE;MAE5E,uBAAuB,GAAG,IAAI,cAAc,CAAuB,yBAAyB,EAAE;MAU9F,yBAAyB,CAAA;AACpC,IAAA,GAAG,CAAC,GAAW,EAAA;AACb,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;KAC5D;IAED,MAAM,CAAC,GAAW,EAAE,KAAkB,EAAA;AACpC,QAAA,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;AACjD,QAAA,OAAO,IAAI,CAAC;KACb;AAED,IAAA,MAAM,CAAC,GAAW,EAAA;AAChB,QAAA,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;KAC9B;AACF;;MCAY,eAAe,CAAA;AAmB1B,IAAA,IAAY,QAAQ,GAAA;QAClB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC;KACnD;;AAID;;;;AAIG;AACH,IAAA,IAAI,MAAM,GAAA;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;KACrB;AAED;;;;AAIG;AACH,IAAA,IAAI,MAAM,GAAA;QACR,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KACnC;AAED;;AAEG;IACH,IAAI,GAAG,CAAC,KAAa,EAAA;AACnB,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAC9C,QAAA,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;AACpD,YAAA,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;AACpB,SAAA;KACF;IACD,IAAI,aAAa,CAAC,KAAc,EAAA;AAC9B,QAAA,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,UAAU,EAAE,CAAC;KACnB;AACD,IAAA,IAAI,aAAa,GAAA;QACf,OAAO,IAAI,CAAC,cAAc,CAAC;KAC5B;;AAGD,IAAA,IAAI,KAAK,GAAA;QACP,OAAO,IAAI,CAAC,OAAO,CAAC;KACrB;;AAED,IAAA,IAAI,KAAK,GAAA;AACP,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;KAC5B;;AAED,IAAA,IAAI,MAAM,GAAA;QACR,OAAO,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;KAC1C;;IAED,IAAI,KAAK,CAAC,KAA0B,EAAA;AAClC,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;QACxB,IAAI,OAAO,KAAK,KAAK,QAAQ;AAAE,YAAA,KAAK,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AACvD,QAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAC/B,QAAA,IAAI,CAAC,EAAE,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC;AAC7C,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;AACtB,YAAA,MAAM,EAAE,OAAO;YACf,GAAG;AACH,YAAA,KAAK,EAAE,KAAK;YACZ,IAAI,EAAE,IAAI,CAAC,OAAO;AACnB,SAAA,CAAC,CAAC;KACJ;;AAED,IAAA,KAAK,CAAC,GAAW,EAAA;AACf,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;KACnD;;AAED,IAAA,MAAM,CAAC,GAAW,EAAA;QAChB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;KAC/B;;AAED,IAAA,GAAG,CAAC,GAAY,EAAA;QACd,OAAO,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,IAAI,IAAI,GAAG,IAAI,CAAC;KACnE;IACO,MAAM,CAAC,GAAoB,EAAE,mBAA4B,EAAA;AAC/D,QAAA,MAAM,GAAG,GAAG,OAAO,GAAG,KAAK,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;AAC5D,QAAA,MAAM,IAAI,GAAG,GAAG,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;QACnD,IAAI,CAAC,IAAI,KAAK,CAAC,mBAAmB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;AAAE,YAAA,OAAO,KAAK,CAAC;AAEpE,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAE3B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;AAC5B,QAAA,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;AAC9B,QAAA,OAAO,IAAI,CAAC;KACb;AACD;;;;AAIG;AACH,IAAA,KAAK,CAAC,GAAW,EAAE,mBAAA,GAA+B,KAAK,EAAA;AACrD,QAAA,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC;AAE3B,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC;AAEtC,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;AAEtE,QAAA,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;AAC1B,QAAA,OAAO,IAAI,CAAC;KACb;AACD;;;;AAIG;AACH,IAAA,UAAU,CAAC,GAAW,EAAE,mBAAA,GAA+B,KAAK,EAAA;QAC1D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAC9B,QAAA,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;AAC3C,YAAA,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC;AACrC,SAAA;AAED,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;AAE5B,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;AAE3E,QAAA,IAAI,CAAC,EAAE,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC;AAClC,QAAA,OAAO,IAAI,CAAC;KACb;AACD;;;;AAIG;IACH,KAAK,CAAC,sBAA+B,KAAK,EAAA;AACxC,QAAA,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAG;AACvB,YAAA,IAAI,CAAC,mBAAmB,IAAI,CAAC,CAAC,QAAQ;AAAE,gBAAA,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;AAClE,SAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,mBAAmB,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;AAE7E,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;AAE5B,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;AAEjE,QAAA,IAAI,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC;KAC5B;AACD;;;;;;;;;;;;;;;;;AAiBG;IACH,IAAI,CAAC,GAAW,EAAE,QAAgB,EAAA;AAChC,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;QACzD,IAAI,KAAK,KAAK,CAAC,CAAC;YAAE,OAAO;QACzB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;AAClC,QAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,QAAQ,GAAG,QAAQ,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3F,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;AACpB,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;AACtB,YAAA,MAAM,EAAE,MAAM;YACd,GAAG;YACH,QAAQ;YACR,IAAI,EAAE,IAAI,CAAC,OAAO;AACnB,SAAA,CAAC,CAAC;KACJ;AACD;;AAEG;AACH,IAAA,OAAO,CAAC,MAAc,EAAA;AACpB,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;AACxB,QAAA,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;AACpB,YAAA,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AACvB,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC;AAC5B,SAAA;AACD,QAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAS,MAAM,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;KACzD;AACD;;;;;;;;;AASG;IACH,QAAQ,CAAC,GAAW,EAAE,KAA8B,EAAA;AAClD,QAAA,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE;AAC1B,YAAA,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;AAC/B,SAAA;AAED,QAAA,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YACrE,OAAO;AACL,gBAAA,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK;AACtB,gBAAA,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,SAAS;aACb,CAAC;AACjB,SAAA;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC/B,OAAO,IAAI,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;KACpE;AAED;;AAEG;IACH,gBAAgB,GAAA;AACd,QAAA,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;KACxB;;IAED,IAAI,QAAQ,CAAC,KAAc,EAAA;AACzB,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;AACxB,QAAA,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAClC,QAAA,IAAI,CAAC,EAAE,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC;AAChD,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;AACtB,YAAA,MAAM,EAAE,UAAU;AAClB,YAAA,QAAQ,EAAE,KAAK;YACf,IAAI,EAAE,IAAI,CAAC,OAAO;AACnB,SAAA,CAAC,CAAC;KACJ;AACD;;;;;;;;;AASG;IACH,WAAW,CAAC,GAAW,EAAE,KAA8B,EAAA;QACrD,IAAI,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,WAAW;AAAE,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;AAEvF,QAAA,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,IAAI,OAAO,KAAK,CAAC,IAAI,CAAC,aAAa,KAAK,SAAS;AAAE,YAAA,OAAO,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC;QAE1G,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,KAAK,iBAAiB,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;AAC5E,QAAA,IAAI,IAAI,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC,aAAa,CAAC;AAE/E,QAAA,OAAO,IAAI,CAAC;KACb;AACD;;AAEG;IACH,mBAAmB,GAAA;AACjB,QAAA,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;KAC3B;AACD,IAAA,aAAa,CAAC,KAA6B,EAAA;QACzC,IAAI,IAAI,GAAG,KAAK,CAAC;QACjB,OAAO,IAAI,CAAC,UAAU;AAAE,YAAA,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC;AAC/C,QAAA,OAAO,IAAI,CAAC;KACb;AACD;;AAEG;AACH,IAAA,MAAM,CAAC,KAA6B,EAAA;QAClC,IAAI,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACrC,MAAM,QAAQ,GAAa,EAAE,CAAC;AAC9B,QAAA,OAAO,IAAI,EAAE;AACX,YAAA,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAClC,YAAA,IAAI,GAAG,IAAI,CAAC,MAAO,CAAC;AACrB,SAAA;QACD,MAAM,GAAG,GAAG,CAAA,CAAA,EAAI,QAAQ;AACrB,aAAA,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;AACd,aAAA,OAAO,EAAE;AACT,aAAA,IAAI,CAAC,GAAG,CAAC,CAAA,CAAE,CAAC;AACf,QAAA,OAAO,GAAG,CAAC;KACZ;AACD;;AAEG;AACH,IAAA,GAAG,CAAC,KAA6B,EAAA;QAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC/B,QAAA,IAAI,GAAG,KAAK,IAAI,CAAC,eAAe;AAAE,YAAA,OAAO,KAAK,CAAC;QAE/C,IAAI,KAAK,CAAC,IAAI,IAAI,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS;AAAE,YAAA,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;AAEjF,QAAA,IAAI,IAAI,CAAC,IAAI,KAAK,iBAAiB,CAAC,GAAG,EAAE;YACvC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AAC/B,YAAA,IAAI,CAAC,IAAI;AAAE,gBAAA,OAAO,KAAK,CAAC;AACxB,YAAA,IAAI,IAAI,CAAC,IAAI,KAAK,iBAAiB,CAAC,IAAI,EAAE;AACxC,gBAAA,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK;AAAE,oBAAA,OAAO,KAAK,CAAC;AACxC,aAAA;AAAM,iBAAA;gBACL,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI;AAAE,oBAAA,OAAO,KAAK,CAAC;AACtD,aAAA;AACD,YAAA,OAAO,IAAI,CAAC;AACb,SAAA;AACD,QAAA,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;KAC7B;AAED,IAAA,SAAS,CAAC,GAAW,EAAA;QACnB,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;KACzD;AAED;;AAEG;AACH,IAAA,OAAO,CAAC,IAAgB,EAAA;AACtB,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;KACtD;;;AAKO,IAAA,OAAO,CAAC,OAAkB,EAAA;QAChC,IAAI,OAAO,IAAI,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,YAAY,CAAC,OAAO;AAAE,YAAA,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;KACrG;IAEO,EAAE,CAAC,GAAG,IAAiB,EAAA;AAC7B,QAAA,IAAI,OAAO,SAAS,KAAK,WAAW,IAAI,SAAS,EAAE;YACjD,IAAI,CAAC,IAAI,CAAC,KAAK;gBAAE,OAAO;AACxB,YAAA,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;AACvB,SAAA;KACF;;AAID,IAAA,WAAA,CACU,QAAkB,EAClB,WAAwB,EACmB,QAAgB,EACd,QAA8B,EAAA;QAH3E,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;QAClB,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;QACmB,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAQ;QACd,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAsB;QAvV7E,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC;QAChB,IAAI,CAAA,IAAA,GAAG,EAAE,CAAC;QACV,IAAc,CAAA,cAAA,GAAG,KAAK,CAAC;AACvB,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,eAAe,CAAwB,IAAI,CAAC,CAAC;QACjE,IAAO,CAAA,OAAA,GAAqB,EAAE,CAAC;QAC/B,IAAY,CAAA,YAAA,GAAkC,EAAE,CAAC;QACjD,IAAe,CAAA,eAAA,GAA+B,EAAE,CAAC;QAEjD,IAAe,CAAA,eAAA,GAAkB,IAAI,CAAC;QACtC,IAAc,CAAA,cAAA,GAAwC,EAAE,CAAC;QAEjE,IAAK,CAAA,KAAA,GAAG,KAAK,CAAC;QACd,IAAmB,CAAA,mBAAA,GAAgC,QAAQ,CAAC;AAC5D,QAAA,IAAA,CAAA,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC;;QAE9B,IAAQ,CAAA,QAAA,GAAa,EAAE,CAAC;QACxB,IAAY,CAAA,YAAA,GAAG,KAAK,CAAC;KAwUjB;IAEJ,IAAI,GAAA;QACF,IAAI,CAAC,UAAU,EAAE,CAAC;AAClB,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,SAAS,EAAE,CAAC;KAClB;IAEO,SAAS,GAAA;QACf,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,OAAO;QAE/B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK;AACxD,YAAA,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE;YACxB,GAAG,EAAE,CAAC,CAAC,GAAG;YACV,QAAQ,EAAE,CAAC,CAAC,QAAQ;AACrB,SAAA,CAAC,CAAC,CAAC;QACJ,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;KAClD;AAEO,IAAA,OAAO,CAAC,GAAW,EAAA;QACzB,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;AACjD,QAAA,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;AAAE,YAAA,OAAO,IAAI,CAAC;AAC9C,QAAA,OAAO,KAAK,CAAC,GAAG,EAAE,CAAC;KACpB;AAED,IAAA,OAAO,CACL,MAAsB,EACtB,IAA4C,EAC5C,OAAiC,MAAM,EAAA;AAEvC,QAAA,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;YAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAChC,YAAA,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC;AACnC,SAAA;QACD,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClC,OAAO;AACR,SAAA;AACD,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;AAC/B,QAAA,MAAM,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC5B,QAAA,IAAI,OAAO,EAAE,KAAK,UAAU,EAAE;YAC5B,OAAO;AACR,SAAA;QACD,IAAI,MAAM,KAAK,cAAc,EAAE;AAC7B,YAAA,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AACzB,SAAA;AAAM,aAAA;AACJ,YAAA,EAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACnC,SAAA;KACF;AAEO,IAAA,eAAe,CAAC,KAA6B,EAAA;QACnD,OAAO,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,YAAY,IAAI,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC;KAC/F;AAED;;AAEG;AACH,IAAA,YAAY,CAAC,KAA6B,EAAA;AACxC,QAAA,IAAI,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;AAAE,YAAA,OAAO,KAAK,CAAC;AAC9C,QAAA,IAAI,CAAC,EAAE,CAAC,eAAe,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AAC9D,QAAA,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;KACxB;AAED;;AAEG;IACH,KAAK,CAAC,SAAiC,EAAE,OAAkB,EAAA;QACzD,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACnC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAC5B,QAAA,MAAM,KAAK,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC;AAEzB,QAAA,MAAM,IAAI,GAAmB;YAC3B,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC;YACpC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,SAAS,CAAC;YAC1C,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,SAAS,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,IAAI;YACjF,GAAG;YACH,SAAS;YACT,OAAO;SACR,CAAC;AACF,QAAA,IAAI,KAAK,EAAE;AACT,YAAA,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,EAAE;;AAE3B,gBAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,QAAS,CAAC,CAAC;gBAC1D,IAAI,QAAQ,KAAK,CAAC,CAAC;AAAE,oBAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;AACnD,aAAA;AACD,YAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzB,SAAA;AAAM,aAAA;;;AAGL,YAAA,MAAM,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,YAAY,CAAC;AACnE,YAAA,IAAI,OAAO,IAAI,IAAI,IAAI,kBAAkB,IAAI,IAAI,EAAE;AACjD,gBAAA,KAAK,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC,CAAC;AAC9E,aAAA;AACD,YAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;AAC1B,SAAA;AACD,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;AAE5B,QAAA,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,GAAG,OAAO,GAAG,YAAY,EAAE,GAAG,CAAC,CAAC;AAEvD,QAAA,IAAI,OAAO,IAAI,OAAO,CAAC,YAAY,EAAE;YACnC,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;AACvD,SAAA;QAED,IAAI,CAAC,KAAK,EAAE;AACV,YAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;AAC3E,SAAA;KACF;AAED;;AAEG;AACH,IAAA,YAAY,CAAC,KAA6B,EAAA;AACxC,QAAA,IAAI,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;AAAE,YAAA,OAAO,KAAK,CAAC;QAC9C,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC3B,MAAM,GAAG,GAAG,CAAC,EAAE,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC;QACrC,IAAI,CAAC,EAAE,CAAC,eAAe,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QACnC,IAAI,CAAC,GAAG,EAAE;AACR,YAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;AACrE,SAAA;AACD,QAAA,OAAO,GAAG,CAAC;KACZ;AAED;;AAEG;AACH,IAAA,QAAQ,CAAC,KAA6B,EAAA;AACpC,QAAA,IAAI,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;AAAE,YAAA,OAAO,IAAI,CAAC;QAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC3B,MAAM,GAAG,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC;QAC3C,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAC/B,QAAA,OAAO,GAAG,CAAC;KACZ;AAED;;AAEG;IACH,gBAAgB,CAAC,MAA8B,EAAE,IAA4B,EAAA;QAC3E,IAAI,GAAG,GAAG,MAAM,CAAC,WAAW,KAAK,IAAI,CAAC,WAAW,CAAC;AAClD,QAAA,IAAI,CAAC,GAAG;AAAE,YAAA,OAAO,KAAK,CAAC;AAEvB,QAAA,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW,CAAC,IAAI,KAAK,EAAE,CAAW,CAAC;AAC/E,QAAA,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;AACzC,YAAA,IAAI,IAAI,CAAC,mBAAmB,KAAK,QAAQ,EAAE;AACzC,gBAAA,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACjD,aAAA;AAAM,iBAAA;AACL,gBAAA,GAAG,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;AACpE,aAAA;AACF,SAAA;AACD,QAAA,IAAI,CAAC,EAAE,CAAC,uBAAuB,CAAC,CAAC;QACjC,IAAI,CAAC,EAAE,CAAC,mBAAmB,EAAE,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA,EAAA,EAAK,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAE,CAAA,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;AAChG,QAAA,OAAO,GAAG,CAAC;KACZ;;AAID;;;;;;AAMG;IACH,gBAAgB,CAAC,GAAW,EAAE,KAA8B,EAAA;AAC1D,QAAA,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,IAAI,OAAO,KAAK,CAAC,IAAI,CAAC,aAAa,KAAK,SAAS;AAAE,YAAA,OAAO,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC;QAE1G,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,KAAK,iBAAiB,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;AAC5E,QAAA,IAAI,IAAI,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC,aAAa,CAAC;QAE/E,OAAO,IAAI,CAAC,aAAa,CAAC;KAC3B;AAED,IAAA,IAAY,kBAAkB,GAAA;AAC5B,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAe,oBAAoB,EAAE,EAAe,CAAC,CAAC;AAC5F,QAAA,OAAO,YAAY,CAAC,yBAAyB,KAAK,UAAU,CAAC;KAC9D;AAED,IAAA,IAAY,EAAE,GAAA;QACZ,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;KACzC;IAEO,UAAU,GAAA;QAChB,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;AAC7B,SAAA;AAED,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAS,MAAM,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAG;YACrE,IAAI,CAAC,YAAY,eAAe,EAAE;AAChC,gBAAA,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;AACxB,gBAAA,IAAI,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE;AACjE,oBAAA,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;AACnF,iBAAA;AAAM,qBAAA;AACL,oBAAA,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;AACjC,iBAAA;AACF,aAAA;iBAAM,IAAI,CAAC,YAAY,aAAa,EAAE;AACrC,gBAAA,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;gBACxB,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAC3B,IAAI,IAAI,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE;oBAC1F,IAAI,IAAI,CAAC,kBAAkB,EAAE;AAC3B,wBAAA,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;AACtE,qBAAA;AAAM,yBAAA;wBACL,UAAU,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,QAAS,CAAC,EAAE,CAAC,CAAC,CAAC;AAC5F,qBAAA;AACF,iBAAA;AACF,aAAA;AACH,SAAC,CAAC,CAAC;KACJ;;IAID,WAAW,GAAA;AACT,QAAA,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;QACzC,IAAI,CAAC,KAAK,EAAE,CAAC;AACb,QAAA,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,aAAa,CAAC,QAAQ,EAAE,CAAC;AAEzB,QAAA,IAAI,QAAQ,EAAE;YACZ,QAAQ,CAAC,WAAW,EAAE,CAAC;AACxB,SAAA;KACF;;4GApjBU,eAAe,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,EAAA,EAAA,KAAA,EAuVJ,qBAAqB,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EACrB,uBAAuB,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAxVlC,eAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,cADF,MAAM,EAAA,CAAA,CAAA;2FACnB,eAAe,EAAA,UAAA,EAAA,CAAA;kBAD3B,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAA;;0BAwV7B,QAAQ;;0BAAI,MAAM;2BAAC,qBAAqB,CAAA;;0BACxC,QAAQ;;0BAAI,MAAM;2BAAC,uBAAuB,CAAA;;;MCxTlC,iBAAiB,CAAA;IA4B5B,IACI,sBAAsB,CAAC,KAAuB,EAAA;QAChD,IAAI,CAAC,uBAAuB,GAAG,OAAO,KAAK,KAAK,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;KAClG;;AAeD,IAAA,WAAA,CACU,GAAoB,EACpB,GAAsB,EACtB,MAAc,EACd,KAAqB,EACiB,OAAyB,EAC7C,GAAc,EAChC,QAAkB,EACN,cAA8B,EACC,QAAgB,EACd,QAA8B,EAAA;QAT3E,IAAG,CAAA,GAAA,GAAH,GAAG,CAAiB;QACpB,IAAG,CAAA,GAAA,GAAH,GAAG,CAAmB;QACtB,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;QACd,IAAK,CAAA,KAAA,GAAL,KAAK,CAAgB;QACiB,IAAO,CAAA,OAAA,GAAP,OAAO,CAAkB;QAC7C,IAAG,CAAA,GAAA,GAAH,GAAG,CAAW;QAChC,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;QACN,IAAc,CAAA,cAAA,GAAd,cAAc,CAAgB;QACC,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAQ;QACd,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAsB;AA9C7E,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,OAAO,EAAQ,CAAC;QAEvC,IAAI,CAAA,IAAA,GAAgB,EAAE,CAAC;QAEvB,IAAG,CAAA,GAAA,GAAG,CAAC,CAAC;QACR,IAAG,CAAA,GAAA,GAAc,KAAK,CAAC;;AAId,QAAA,IAAA,CAAA,IAAI,GAAsB,iBAAiB,CAAC,IAAI,CAAC;QAEjC,IAAK,CAAA,KAAA,GAAG,KAAK,CAAC;QAId,IAAU,CAAA,UAAA,GAAG,IAAI,CAAC;QAClB,IAAa,CAAA,aAAA,GAAG,KAAK,CAAC;QACtB,IAAY,CAAA,YAAA,GAAG,KAAK,CAAC;QAKrC,IAAiB,CAAA,iBAAA,GAA6B,EAAE,CAAC;QAGjD,IAAW,CAAA,WAAA,GAAqC,IAAI,CAAC;QACrD,IAAO,CAAA,OAAA,GAAoB,MAAM,CAAC;QAClC,IAAmB,CAAA,mBAAA,GAAgC,QAAQ,CAAC;QAC5C,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;AAGvB,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,YAAY,EAAa,CAAC;AACvC,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,YAAY,EAAoB,CAAC;KAe5D;AAEI,IAAA,MAAM,CAAC,KAAiB,EAAA;QAC9B,OAAO,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAK,CAAC;KAClF;AAED,IAAA,IAAY,MAAM,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;KAC7C;IAEO,UAAU,GAAA;AAChB,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;AACxB,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACjE,OAAO;YACL,GAAG;AACH,YAAA,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;YACxD,QAAQ,EAAE,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,EAAE,YAAY,CAAC;AAC1F,YAAA,MAAM,EAAE,KAAK;AACb,YAAA,IAAI,EAAE,KAAK;AACX,YAAA,KAAK,EAAE,CAAC;SACT,CAAC;KACH;AAEO,IAAA,OAAO,CAAC,MAA6B,EAAA;AAC3C,QAAA,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAC3B,CAAC,IAAoB,EAAE,KAAa,MACjC;YACC,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;AAC9B,YAAA,QAAQ,EAAE,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC;YAChE,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,KAAK;AACL,YAAA,MAAM,EAAE,KAAK;AACb,YAAA,IAAI,EAAE,KAAK;AACE,SAAA,CAAA,CAClB,CAAC;;AAGF,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;AACxB,QAAA,IAAI,UAAU,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;AACzD,QAAA,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,IAAI,MAAM,CAAC,GAAG,KAAK,GAAG,EAAE;YAC7D,UAAU,GAAG,KAAK,CAAC;YACnB,IAAI,KAAK,GAAG,CAAC,CAAC;AACd,YAAA,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,CAAE,CAAC;AACpD,YAAA,IAAI,OAAO,CAAC,KAAK,KAAK,EAAE,CAAC,MAAM,EAAE;;AAE/B,gBAAA,KAAK,GAAG,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;AACvB,aAAA;AAAM,iBAAA,IAAI,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC,MAAM,EAAE;;gBAEpC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;AACpC,aAAA;AACD,YAAA,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;AAC1C,SAAA;AAED,QAAA,IAAI,UAAU,EAAE;AACd,YAAA,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;AAC/C,SAAA;AAED,QAAA,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,MAAM,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC;AAClD,QAAA,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE;AACnB,YAAA,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC;AACxB,SAAA;AACD,QAAA,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;AACf,QAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;QACzB,IAAI,CAAC,SAAS,EAAE,CAAC;KAClB;AAEO,IAAA,WAAW,CAAC,GAAmB,EAAA;QACrC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,GAAI,CAAC,GAAG,CAAC,CAAC;AACrD,QAAA,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAI,CAAC,KAAM,CAAC,CAAC;AACtC,QAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;KAC1B;AAEO,IAAA,OAAO,CAAC,IAAe,EAAA;AAC7B,QAAA,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;KAC3G;IAEO,SAAS,GAAA;QACf,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,OAAO;AAEnD,QAAA,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;KAChD;;AAID,IAAA,iBAAiB,CAAC,GAA2B,EAAA;QAC3C,IAAI,EAAE,GAAwB,IAAI,CAAC;QACnC,QAAQ,GAAG,CAAC,IAAI;AACd,YAAA,KAAK,SAAS;AACZ,gBAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACvB,MAAM;AACR,YAAA,KAAK,OAAO;AACV,gBAAA,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,mBAAmB,CAAC,CAAC;gBAC3D,MAAM;AACR,YAAA,KAAK,YAAY;gBACf,EAAE,GAAG,MAAK;AACR,oBAAA,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,mBAAmB,CAAC,CAAC;AAC3D,oBAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACxB,iBAAC,CAAC;gBACF,MAAM;AACR,YAAA,KAAK,YAAY;gBACf,EAAE,GAAG,MAAK;oBACR,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;AACxC,oBAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACxB,iBAAC,CAAC;gBACF,MAAM;AACT,SAAA;QACD,IAAI,CAAC,EAAE,EAAE;YACP,OAAO;AACR,SAAA;AACD,QAAA,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAE,CAAC,KAAK,EAAE;YAC9E,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AAC9B,SAAA;AAAM,aAAA;AACL,YAAA,EAAE,EAAE,CAAC;AACN,SAAA;KACF;IAED,GAAG,CAAC,KAAa,EAAE,EAAe,EAAA;QAChC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;QAC3D,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC9B,QAAA,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,IAAG;AAC7C,YAAA,IAAI,CAAC,GAAG;gBAAE,OAAO;AACjB,YAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;AACjB,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACvB,YAAA,IAAI,EAAE,EAAE;AACN,gBAAA,EAAE,EAAE,CAAC;AACN,aAAA;AACH,SAAC,CAAC,CAAC;KACJ;AAED,IAAA,MAAM,CAAC,CAAe,EAAE,GAAW,EAAE,mBAA4B,EAAA;QAC/D,IAAI,CAAC,IAAI,IAAI,EAAE;YACb,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,CAAC,CAAC,eAAe,EAAE,CAAC;AACrB,SAAA;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC5B,QAAA,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAK;YAC5G,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC;AAC9C,YAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACtB,YAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;AAC3B,SAAC,CAAC,CAAC;AACH,QAAA,OAAO,KAAK,CAAC;KACd;AAED;;;;;;AAMG;AACH,IAAA,QAAQ,CAAC,QAAmB,EAAA;QAC1B,IAAI,CAAC,GAAG,CAAC,YAAY,GAAG,EAAE,QAAQ,EAAE,CAAC;KACtC;IAEO,SAAS,GAAA;AACf,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AACjD,QAAA,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAC9E,QAAA,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE;YACnB,OAAO;AACR,SAAA;QAED,MAAM,IAAI,GAAG,EAAE,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAC/B,QAAA,MAAM,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;AACzC,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;AACjB,QAAA,MAAM,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACnD,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,MAAM,GAAG,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC;AACjD,QAAA,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;;;AAGf,QAAA,IAAI,CAAC,MAAM,CAAC,eAAe,GAAG,GAAG,CAAC;AAClC,QAAA,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;AACf,QAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;QACzB,IAAI,CAAC,SAAS,EAAE,CAAC;KAClB;;IAID,QAAQ,GAAA;QACN,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;QACrC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAoB,KAAI;AAC5F,YAAA,IAAI,CAAC,GAAG,GAAG,SAAS,CAAC;AACrB,YAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;AAC3B,SAAC,CAAC,CAAC;AAEH,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE;YAC5B,OAAO;AACR,SAAA;AAED,QAAA,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,IAAG;YAC7D,QAAQ,GAAG,EAAE,MAAM;AACjB,gBAAA,KAAK,OAAO;AACV,oBAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;oBACtB,OAAO;AACT,gBAAA,KAAK,UAAU;oBACb,IAAI,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;wBAC1C,IAAI,CAAC,SAAS,EAAE,CAAC;wBACjB,OAAO;AACR,qBAAA;oBACD,MAAM;AACT,aAAA;AACD,YAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AACpB,SAAC,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,CAAC,MAAM;aAChB,IAAI,CACH,MAAM,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAC7B,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,EACxB,YAAY,CAAC,GAAG,CAAC,CAClB;AACA,aAAA,SAAS,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;AAEtD,QAAA,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;KACjB;AAED,IAAA,WAAW,CAAC,OAA6D,EAAA;AACvE,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE;YAC5B,OAAO;AACR,SAAA;QAED,IAAI,OAAO,CAAC,GAAG;YAAE,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,GAAI,CAAC;QAC1C,IAAI,OAAO,CAAC,QAAQ;YAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAS,CAAC;QACzD,IAAI,OAAO,CAAC,IAAI;YAAE,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAC5C,IAAI,OAAO,CAAC,mBAAmB;YAAE,IAAI,CAAC,GAAG,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC;QACzF,IAAI,OAAO,CAAC,aAAa,EAAE;YACzB,IAAI,CAAC,GAAG,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;YAC5C,IAAI,CAAC,GAAG,CAAC,sBAAsB,GAAG,IAAI,CAAC,uBAAuB,CAAC;AAChE,SAAA;QACD,IAAI,OAAO,CAAC,YAAY;YAAE,IAAI,CAAC,GAAG,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QAEpE,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;AAE5B,QAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;KAC1B;IAED,WAAW,GAAA;AACT,QAAA,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;QAC1B,QAAQ,CAAC,IAAI,EAAE,CAAC;QAChB,QAAQ,CAAC,QAAQ,EAAE,CAAC;KACrB;;AAzSU,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,mIAmDN,gBAAgB,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAC5B,QAAQ,EAGI,EAAA,EAAA,KAAA,EAAAC,IAAA,CAAA,QAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAA,qBAAqB,6BACrB,uBAAuB,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAxDlC,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,iBAAiB,EALjB,QAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,GAAA,EAAA,KAAA,EAAA,WAAA,EAAA,aAAA,EAAA,QAAA,EAAA,UAAA,EAAA,UAAA,EAAA,YAAA,EAAA,aAAA,EAAA,eAAA,EAAA,YAAA,EAAA,cAAA,EAAA,sBAAA,EAAA,wBAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,cAAA,EAAA,WAAA,EAAA,aAAA,EAAA,OAAA,EAAA,SAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,WAAA,EAAA,aAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,uBAAA,EAAA,oBAAA,EAAA,uBAAA,EAAA,oBAAA,EAAA,2BAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,eAAA,EAAA,EAAA,EAAA,SAAA,EAAA,CAAC,sBAAsB,CAAC,yKCxDrC,gtCA+BA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,eAAA,EAAA,sBAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,eAAA,EAAA,QAAA,EAAA,QAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,WAAA,EAAA,YAAA,EAAA,WAAA,EAAA,cAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,EAAA,uBAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,OAAA,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,YAAA,EAAA,aAAA,EAAA,YAAA,EAAA,eAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,EAAA,YAAA,EAAA,SAAA,EAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,YAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,wBAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,wBAAA,EAAA,QAAA,EAAA,0BAAA,EAAA,MAAA,EAAA,CAAA,wBAAA,EAAA,mBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;ADmD2B,UAAA,CAAA;AAAf,IAAA,YAAY,EAAE;AAAe,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,OAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AACf,UAAA,CAAA;AAAd,IAAA,WAAW,EAAE;AAAc,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,KAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AACb,UAAA,CAAA;AAAd,IAAA,WAAW,EAAE;AAAsB,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,aAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAEpB,UAAA,CAAA;AAAf,IAAA,YAAY,EAAE;AAAmB,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,YAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAClB,UAAA,CAAA;AAAf,IAAA,YAAY,EAAE;AAAuB,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,eAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AACtB,UAAA,CAAA;AAAf,IAAA,YAAY,EAAE;AAAsB,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,cAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAWrB,UAAA,CAAA;AAAf,IAAA,YAAY,EAAE;AAAkB,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA,CAAA;2FAtC/B,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAhB7B,SAAS;+BACE,wBAAwB,EAAA,QAAA,EACxB,UAAU,EAEd,IAAA,EAAA;AACJ,wBAAA,mBAAmB,EAAE,MAAM;AAC3B,wBAAA,yBAAyB,EAAE,CAAoB,kBAAA,CAAA;AAC/C,wBAAA,yBAAyB,EAAE,CAAoB,kBAAA,CAAA;AAC/C,wBAAA,6BAA6B,EAAE,CAAU,QAAA,CAAA;AACzC,wBAAA,uBAAuB,EAAE,CAAe,aAAA,CAAA;AACzC,qBAAA,EAAA,SAAA,EACU,CAAC,sBAAsB,CAAC,EAAA,mBAAA,EACd,KAAK,EAAA,eAAA,EACT,uBAAuB,CAAC,MAAM,EAAA,aAAA,EAChC,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,gtCAAA,EAAA,CAAA;;0BAqDlC,QAAQ;;0BAAI,MAAM;2BAAC,gBAAgB,CAAA;;0BACnC,MAAM;2BAAC,QAAQ,CAAA;;0BAEf,QAAQ;;0BACR,QAAQ;;0BAAI,MAAM;2BAAC,qBAAqB,CAAA;;0BACxC,QAAQ;;0BAAI,MAAM;2BAAC,uBAAuB,CAAA;4CA/ChB,MAAM,EAAA,CAAA;sBAAlC,SAAS;uBAAC,QAAQ,CAAA;gBAUV,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACmB,KAAK,EAAA,CAAA;sBAA7B,KAAK;gBACkB,GAAG,EAAA,CAAA;sBAA1B,KAAK;gBACkB,WAAW,EAAA,CAAA;sBAAlC,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACmB,UAAU,EAAA,CAAA;sBAAlC,KAAK;gBACmB,aAAa,EAAA,CAAA;sBAArC,KAAK;gBACmB,YAAY,EAAA,CAAA;sBAApC,KAAK;gBAEF,sBAAsB,EAAA,CAAA;sBADzB,KAAK;gBAIG,iBAAiB,EAAA,CAAA;sBAAzB,KAAK;gBACG,kBAAkB,EAAA,CAAA;sBAA1B,KAAK;gBACG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,mBAAmB,EAAA,CAAA;sBAA3B,KAAK;gBACmB,QAAQ,EAAA,CAAA;sBAAhC,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACa,MAAM,EAAA,CAAA;sBAAxB,MAAM;gBACY,KAAK,EAAA,CAAA;sBAAvB,MAAM;;;MEjGI,gBAAgB,CAAA;AAC3B,IAAA,WAAA,CAAoB,GAAoB,EAAA;QAApB,IAAG,CAAA,GAAA,GAAH,GAAG,CAAiB;KAAI;AAE5C,IAAA,YAAY,CAAC,KAA6B,EAAA;QACxC,OAAO,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;KACrC;IACD,KAAK,CAAC,KAA6B,EAAE,MAAe,EAAA;QAClD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;KAC/B;AACD,IAAA,YAAY,CAAC,KAA6B,EAAA;QACxC,OAAO,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;KACrC;AACD,IAAA,QAAQ,CAAC,KAA6B,EAAA;QACpC,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;KACjC;IACD,gBAAgB,CAAC,MAA8B,EAAE,IAA4B,EAAA;QAC3E,OAAO,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;KAChD;AACF;;ACRD,MAAM,UAAU,GAAG,CAAC,iBAAiB,CAAC,CAAC;AACvC,MAAM,SAAS,GAAG,CAAC,4BAA4B,EAAE,wBAAwB,EAAE,wBAAwB,CAAC,CAAC;MAiBxF,cAAc,CAAA;;2GAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;4GAAd,cAAc,EAAA,YAAA,EAAA,CAlBP,iBAAiB,EAClB,4BAA4B,EAAE,wBAAwB,EAAE,wBAAwB,CAAA,EAAA,OAAA,EAAA,CAGvF,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,CAAA,EAAA,OAAA,EAAA,CAJ9F,iBAAiB,CAAA,EAAA,CAAA,CAAA;AAkBxB,cAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,EAZd,SAAA,EAAA;AACT,QAAA;AACE,YAAA,OAAO,EAAE,qBAAqB;AAC9B,YAAA,QAAQ,EAAE,kBAAkB;AAC7B,SAAA;AACD,QAAA;AACE,YAAA,OAAO,EAAE,uBAAuB;AAChC,YAAA,UAAU,EAAE,MAAM,IAAI,yBAAyB,EAAE;AAClD,SAAA;AACF,KAAA,EAAA,OAAA,EAAA,CAXS,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,CAAA,EAAA,CAAA,CAAA;2FAcrG,cAAc,EAAA,UAAA,EAAA,CAAA;kBAf1B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,CAAC;AACjH,oBAAA,YAAY,EAAE,CAAC,GAAG,UAAU,EAAE,GAAG,SAAS,CAAC;AAC3C,oBAAA,SAAS,EAAE;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,qBAAqB;AAC9B,4BAAA,QAAQ,EAAE,kBAAkB;AAC7B,yBAAA;AACD,wBAAA;AACE,4BAAA,OAAO,EAAE,uBAAuB;AAChC,4BAAA,UAAU,EAAE,MAAM,IAAI,yBAAyB,EAAE;AAClD,yBAAA;AACF,qBAAA;AACD,oBAAA,OAAO,EAAE,UAAU;AACpB,iBAAA,CAAA;;;ACjCD;;AAEG;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"se.mjs","sources":["../../../../packages/abc/se/se-container.component.ts","../../../../packages/abc/se/se.component.ts","../../../../packages/abc/se/se.component.html","../../../../packages/abc/se/se.module.ts","../../../../packages/abc/se/se.types.ts","../../../../packages/abc/se/se.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Host,\n Input,\n OnInit,\n Optional,\n Renderer2,\n TemplateRef,\n ViewEncapsulation\n} from '@angular/core';\nimport { BehaviorSubject, Observable, filter } from 'rxjs';\n\nimport type { REP_TYPE } from '@delon/theme';\nimport { AlainConfigService } from '@delon/util/config';\nimport { BooleanInput, InputBoolean, InputNumber, NumberInput, toNumber } from '@delon/util/decorator';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nimport { SEErrorRefresh, SELayout } from './se.types';\n\n@Component({\n selector: 'se-container, [se-container]',\n exportAs: 'seContainer',\n template: `\n <div se-title *ngIf=\"title\">\n <ng-container *nzStringTemplateOutlet=\"title\">{{ title }}</ng-container>\n </div>\n <ng-content></ng-content>\n `,\n host: {\n '[class.ant-row]': `true`,\n '[class.se__container]': `true`,\n '[class.se__horizontal]': `nzLayout === 'horizontal'`,\n '[class.se__vertical]': `nzLayout === 'vertical'`,\n '[class.se__inline]': `nzLayout === 'inline'`,\n '[class.se__compact]': `size === 'compact'`,\n '[style.margin-left.px]': `margin`,\n '[style.margin-right.px]': `margin`\n },\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class SEContainerComponent {\n static ngAcceptInputType_gutter: NumberInput;\n static ngAcceptInputType_col: NumberInput;\n static ngAcceptInputType_colInCon: NumberInput;\n static ngAcceptInputType_labelWidth: NumberInput;\n static ngAcceptInputType_firstVisual: BooleanInput;\n static ngAcceptInputType_ingoreDirty: BooleanInput;\n static ngAcceptInputType_line: BooleanInput;\n static ngAcceptInputType_noColon: BooleanInput;\n\n private errorNotify$ = new BehaviorSubject<SEErrorRefresh>(null as NzSafeAny);\n @Input('se-container') @InputNumber(null) colInCon?: REP_TYPE;\n @Input() @InputNumber(null) col!: REP_TYPE;\n @Input() @InputNumber(null) labelWidth!: number;\n @Input() @InputBoolean() noColon = false;\n @Input() title?: string | TemplateRef<void> | null;\n\n @Input()\n get gutter(): number {\n return this.nzLayout === 'horizontal' ? this._gutter : 0;\n }\n set gutter(value: number) {\n this._gutter = toNumber(value);\n }\n private _gutter!: number;\n\n @Input()\n get nzLayout(): SELayout {\n return this._nzLayout;\n }\n set nzLayout(value: SELayout) {\n this._nzLayout = value;\n if (value === 'inline') {\n this.size = 'compact';\n }\n }\n private _nzLayout!: SELayout;\n\n @Input() size!: 'default' | 'compact';\n @Input() @InputBoolean() firstVisual!: boolean;\n @Input() @InputBoolean() ingoreDirty!: boolean;\n @Input() @InputBoolean() line = false;\n @Input()\n set errors(val: SEErrorRefresh[]) {\n this.setErrors(val);\n }\n\n get margin(): number {\n return -((this.gutter as number) / 2);\n }\n\n get errorNotify(): Observable<SEErrorRefresh> {\n return this.errorNotify$.pipe(filter(v => v != null));\n }\n\n constructor(configSrv: AlainConfigService) {\n configSrv.attach(this, 'se', {\n size: 'default',\n nzLayout: 'horizontal',\n gutter: 32,\n col: 2,\n labelWidth: 150,\n firstVisual: false,\n ingoreDirty: false\n });\n }\n\n setErrors(errors: SEErrorRefresh[]): void {\n for (const error of errors) {\n this.errorNotify$.next(error);\n }\n }\n}\n\n@Component({\n selector: 'se-title, [se-title]',\n exportAs: 'seTitle',\n template: '<ng-content></ng-content>',\n host: {\n '[class.se__title]': 'true'\n },\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class SETitleComponent implements OnInit {\n private el: HTMLElement;\n constructor(\n @Host()\n @Optional()\n private parent: SEContainerComponent,\n el: ElementRef,\n private ren: Renderer2\n ) {\n if (parent == null) {\n throw new Error(`[se-title] must include 'se-container' component`);\n }\n this.el = el.nativeElement;\n }\n\n private setClass(): void {\n const { el } = this;\n const gutter = this.parent.gutter as number;\n this.ren.setStyle(el, 'padding-left', `${gutter / 2}px`);\n this.ren.setStyle(el, 'padding-right', `${gutter / 2}px`);\n }\n\n ngOnInit(): void {\n this.setClass();\n }\n}\n","import {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ElementRef,\n Host,\n Input,\n OnChanges,\n OnDestroy,\n Optional,\n Renderer2,\n TemplateRef,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { FormControlName, NgModel, RequiredValidator, Validator } from '@angular/forms';\nimport { Subject, filter, takeUntil } from 'rxjs';\n\nimport { ResponsiveService } from '@delon/theme';\nimport { isEmpty } from '@delon/util/browser';\nimport { BooleanInput, InputBoolean, InputNumber, NumberInput } from '@delon/util/decorator';\nimport { helpMotion } from 'ng-zorro-antd/core/animation';\nimport { NzFormStatusService } from 'ng-zorro-antd/core/form';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nimport { SEContainerComponent } from './se-container.component';\nimport { SEError, SEErrorType } from './se.types';\n\nconst prefixCls = `se`;\nlet nextUniqueId = 0;\n\n@Component({\n selector: 'se',\n exportAs: 'se',\n templateUrl: './se.component.html',\n host: {\n '[style.padding-left.px]': 'paddingValue',\n '[style.padding-right.px]': 'paddingValue',\n '[class.se__hide-label]': 'hideLabel',\n '[class.ant-form-item-has-error]': 'invalid',\n '[class.ant-form-item-with-help]': 'showErr'\n },\n preserveWhitespaces: false,\n providers: [NzFormStatusService],\n animations: [helpMotion],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class SEComponent implements OnChanges, AfterContentInit, AfterViewInit, OnDestroy {\n static ngAcceptInputType_col: NumberInput;\n static ngAcceptInputType_required: BooleanInput;\n static ngAcceptInputType_line: BooleanInput;\n static ngAcceptInputType_labelWidth: NumberInput;\n static ngAcceptInputType_noColon: BooleanInput;\n static ngAcceptInputType_hideLabel: BooleanInput;\n\n private el: HTMLElement;\n private destroy$ = new Subject<void>();\n @ContentChild(NgModel, { static: true }) private readonly ngModel?: NgModel;\n @ContentChild(FormControlName, { static: true })\n private readonly formControlName?: FormControlName;\n @ViewChild('contentElement', { static: true }) private readonly contentElement!: ElementRef;\n private clsMap: string[] = [];\n private inited = false;\n private onceFlag = false;\n private errorData: SEError = {};\n private isBindModel = false;\n invalid = false;\n _labelWidth: number | null = null;\n _noColon: boolean | null = null;\n _error?: string | TemplateRef<void>;\n\n // #region fields\n\n @Input() optional?: string | TemplateRef<void> | null = null;\n @Input() optionalHelp?: string | TemplateRef<void> | null = null;\n @Input() optionalHelpColor?: string;\n @Input()\n set error(val: SEErrorType) {\n this.errorData = typeof val === 'string' || val instanceof TemplateRef ? { '': val } : val;\n }\n @Input() extra?: string | TemplateRef<void> | null;\n @Input() label?: string | TemplateRef<void> | null;\n @Input() @InputNumber(null) col?: number | null;\n @Input() @InputBoolean() required = false;\n @Input() controlClass?: string | null = '';\n @Input() @InputBoolean(null) line?: boolean | null;\n @Input() @InputNumber(null) labelWidth?: number | null;\n @Input() @InputBoolean(null) noColon?: boolean | null;\n @Input() @InputBoolean() hideLabel = false;\n\n @Input()\n set id(value: string) {\n this._id = value;\n this._autoId = false;\n }\n\n _id = `_se-${++nextUniqueId}`;\n _autoId = true;\n\n // #endregion\n\n get paddingValue(): number {\n return (this.parent.gutter as number) / 2;\n }\n\n get showErr(): boolean {\n return this.invalid && !!this._error && !this.compact;\n }\n\n get compact(): boolean {\n return this.parent.size === 'compact';\n }\n\n private get ngControl(): NgModel | FormControlName | null | undefined {\n return this.ngModel || this.formControlName;\n }\n\n constructor(\n el: ElementRef,\n @Optional() @Host() private parent: SEContainerComponent,\n private statusSrv: NzFormStatusService,\n private rep: ResponsiveService,\n private ren: Renderer2,\n private cdr: ChangeDetectorRef\n ) {\n if (parent == null) {\n throw new Error(`[se] must include 'se-container' component`);\n }\n this.el = el.nativeElement;\n parent.errorNotify\n .pipe(\n takeUntil(this.destroy$),\n filter(w => this.inited && this.ngControl != null && this.ngControl.name === w.name)\n )\n .subscribe(item => {\n this.error = item.error;\n this.updateStatus(this.ngControl!.invalid!);\n });\n }\n\n private setClass(): this {\n const { el, ren, clsMap, col, parent, cdr, line, labelWidth, rep, noColon } = this;\n this._noColon = noColon != null ? noColon : parent.noColon;\n this._labelWidth = parent.nzLayout === 'horizontal' ? (labelWidth != null ? labelWidth : parent.labelWidth) : null;\n clsMap.forEach(cls => ren.removeClass(el, cls));\n clsMap.length = 0;\n const repCls =\n parent.nzLayout === 'horizontal' ? rep.genCls(col != null ? col : parent.colInCon || parent.col) : [];\n clsMap.push(`ant-form-item`, ...repCls, `${prefixCls}__item`);\n if (line || parent.line) {\n clsMap.push(`${prefixCls}__line`);\n }\n clsMap.forEach(cls => ren.addClass(el, cls));\n cdr.detectChanges();\n return this;\n }\n\n private bindModel(): void {\n if (!this.ngControl || this.isBindModel) return;\n\n this.isBindModel = true;\n this.ngControl.statusChanges!.pipe(takeUntil(this.destroy$)).subscribe(res => this.updateStatus(res === 'INVALID'));\n if (this._autoId) {\n const controlAccessor = this.ngControl.valueAccessor as NzSafeAny;\n const control = (controlAccessor?.elementRef || controlAccessor?._elementRef)?.nativeElement as HTMLElement;\n if (!!control) {\n if (control.id) {\n this._id = control.id;\n } else {\n control.id = this._id;\n }\n }\n }\n // auto required\n if (this.required !== true) {\n const rawValidators = (this.ngControl as NzSafeAny)?._rawValidators as Validator[];\n this.required = rawValidators.find(w => w instanceof RequiredValidator) != null;\n this.cdr.detectChanges();\n }\n }\n\n private updateStatus(invalid: boolean): void {\n if (this.ngControl?.disabled || this.ngControl?.isDisabled) {\n return;\n }\n this.invalid =\n !this.onceFlag && invalid && this.parent.ingoreDirty === false && !this.ngControl?.dirty ? false : invalid;\n const errors = this.ngControl?.errors;\n if (errors != null && Object.keys(errors).length > 0) {\n const key = Object.keys(errors)[0] || '';\n const err = this.errorData[key];\n this._error = err != null ? err : this.errorData[''] || '';\n }\n\n this.statusSrv.formStatusChanges.next({ status: this.invalid ? 'error' : '', hasFeedback: false });\n\n this.cdr.detectChanges();\n }\n\n checkContent(): void {\n const el = this.contentElement.nativeElement;\n const cls = `${prefixCls}__item-empty`;\n if (isEmpty(el)) {\n this.ren.addClass(el, cls);\n } else {\n this.ren.removeClass(el, cls);\n }\n }\n\n ngAfterContentInit(): void {\n this.checkContent();\n }\n\n ngOnChanges(): void {\n this.onceFlag = this.parent.firstVisual;\n if (this.inited) {\n this.setClass().bindModel();\n }\n }\n\n ngAfterViewInit(): void {\n this.setClass().bindModel();\n this.inited = true;\n if (this.onceFlag) {\n Promise.resolve().then(() => {\n this.updateStatus(this.ngControl?.invalid!);\n this.onceFlag = false;\n });\n }\n }\n\n ngOnDestroy(): void {\n const { destroy$ } = this;\n destroy$.next();\n destroy$.complete();\n }\n}\n","<div class=\"ant-form-item-label\" [class.se__nolabel]=\"hideLabel || !label\" [style.width.px]=\"_labelWidth\">\n <label\n *ngIf=\"label\"\n [attr.for]=\"_id\"\n class=\"se__label\"\n [ngClass]=\"{ 'ant-form-item-required': required, 'se__no-colon': _noColon }\"\n >\n <span class=\"se__label-text\">\n <ng-container *nzStringTemplateOutlet=\"label\">{{ label }}</ng-container>\n </span>\n <span *ngIf=\"optional || optionalHelp\" class=\"se__label-optional\" [class.se__label-optional-no-text]=\"!optional\">\n <ng-container *nzStringTemplateOutlet=\"optional\">{{ optional }}</ng-container>\n <i\n *ngIf=\"optionalHelp\"\n nz-tooltip\n [nzTooltipTitle]=\"optionalHelp\"\n [nzTooltipColor]=\"optionalHelpColor\"\n nz-icon\n nzType=\"question-circle\"\n ></i>\n </span>\n </label>\n</div>\n<div class=\"ant-form-item-control se__control\">\n <div class=\"ant-form-item-control-input {{ controlClass }}\">\n <div class=\"ant-form-item-control-input-content\" (cdkObserveContent)=\"checkContent()\" #contentElement>\n <ng-content></ng-content>\n </div>\n </div>\n <div @helpMotion class=\"ant-form-item-explain ant-form-item-explain-connected\" *ngIf=\"showErr\">\n <div role=\"alert\" class=\"ant-form-item-explain-error\">\n <ng-container *nzStringTemplateOutlet=\"_error\">{{ _error }}</ng-container>\n </div>\n </div>\n <div *ngIf=\"extra && !compact\" class=\"ant-form-item-extra\">\n <ng-container *nzStringTemplateOutlet=\"extra\">{{ extra }}</ng-container>\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { NzOutletModule } from 'ng-zorro-antd/core/outlet';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\nimport { NzToolTipModule } from 'ng-zorro-antd/tooltip';\n\nimport { SEContainerComponent, SETitleComponent } from './se-container.component';\nimport { SEComponent } from './se.component';\n\nconst COMPONENTS = [SEContainerComponent, SEComponent, SETitleComponent];\n\n@NgModule({\n imports: [CommonModule, NzToolTipModule, NzIconModule, NzOutletModule],\n declarations: COMPONENTS,\n exports: COMPONENTS\n})\nexport class SEModule {}\n","import { TemplateRef } from '@angular/core';\n\nexport type SELayout = 'horizontal' | 'vertical' | 'inline';\n\nexport type SESize = 'default' | 'compact';\n\nexport type SEErrorType = string | TemplateRef<void> | SEError;\n\nexport interface SEError {\n [key: string]: string | TemplateRef<void>;\n}\n\nexport interface SEErrorRefresh {\n name: string;\n error: SEErrorType;\n}\n\n// /**\n// * Error collection\n// * - `name`: The value of` ngModel` or `formControlName`\n// * - `error`: Replaced error value\n// */\n// errors: Array<{ name: string; error: SEErrorType }>;\n// /**\n// * Whether force show error, even if the form component has not invalid, Default: `false`\n// * - `false`: Whether to display error by `invalid`\n// * - `true`: Force show display error\n// */\n// force?: boolean;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i2","i1.SEContainerComponent","i3","i7"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"sg.mjs","sources":["../../../../packages/abc/sg/sg-container.component.ts","../../../../packages/abc/sg/sg.component.ts","../../../../packages/abc/sg/sg.module.ts","../../../../packages/abc/sg/sg.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';\n\nimport { REP_TYPE } from '@delon/theme';\nimport { AlainConfigService } from '@delon/util/config';\nimport { InputNumber, NumberInput } from '@delon/util/decorator';\n\n@Component({\n selector: 'sg-container, [sg-container]',\n exportAs: 'sgContainer',\n template: ` <ng-content></ng-content> `,\n host: {\n '[style.margin-left.px]': 'marginValue',\n '[style.margin-right.px]': 'marginValue',\n '[class.ant-row]': 'true',\n '[class.sg__wrap]': 'true'\n },\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class SGContainerComponent {\n static ngAcceptInputType_gutter: NumberInput;\n static ngAcceptInputType_colInCon: NumberInput;\n static ngAcceptInputType_col: NumberInput;\n\n @Input() @InputNumber() gutter!: number;\n @Input('sg-container') @InputNumber(null) colInCon?: REP_TYPE;\n @Input() @InputNumber(null) col!: REP_TYPE;\n\n get marginValue(): number {\n return -(this.gutter / 2);\n }\n\n constructor(configSrv: AlainConfigService) {\n configSrv.attach(this, 'sg', {\n gutter: 32,\n col: 2\n });\n }\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Host,\n Input,\n OnChanges,\n Optional,\n Renderer2,\n ViewEncapsulation\n} from '@angular/core';\n\nimport { ResponsiveService } from '@delon/theme';\nimport { InputNumber, NumberInput } from '@delon/util/decorator';\n\nimport { SGContainerComponent } from './sg-container.component';\n\nconst prefixCls = `sg`;\n\n@Component({\n selector: 'sg',\n exportAs: 'sg',\n template: ` <ng-content></ng-content> `,\n host: {\n '[style.padding-left.px]': 'paddingValue',\n '[style.padding-right.px]': 'paddingValue'\n },\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class SGComponent implements OnChanges, AfterViewInit {\n static ngAcceptInputType_col: NumberInput;\n\n private el: HTMLElement;\n private clsMap: string[] = [];\n private inited = false;\n\n @Input() @InputNumber(null) col: number | null = null;\n\n get paddingValue(): number {\n return this.parent.gutter / 2;\n }\n\n constructor(\n el: ElementRef,\n private ren: Renderer2,\n @Optional() @Host() private parent: SGContainerComponent,\n private rep: ResponsiveService\n ) {\n if (parent == null) {\n throw new Error(`[sg] must include 'sg-container' component`);\n }\n this.el = el.nativeElement;\n }\n\n private setClass(): this {\n const { el, ren, clsMap, col, parent } = this;\n clsMap.forEach(cls => ren.removeClass(el, cls));\n clsMap.length = 0;\n clsMap.push(...this.rep.genCls(col != null ? col : parent.colInCon || parent.col), `${prefixCls}__item`);\n clsMap.forEach(cls => ren.addClass(el, cls));\n return this;\n }\n\n ngOnChanges(): void {\n if (this.inited) this.setClass();\n }\n\n ngAfterViewInit(): void {\n this.setClass();\n this.inited = true;\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { SGContainerComponent } from './sg-container.component';\nimport { SGComponent } from './sg.component';\n\nconst COMPONENTS = [SGContainerComponent, SGComponent];\n\n@NgModule({\n imports: [CommonModule],\n declarations: COMPONENTS,\n exports: COMPONENTS\n})\nexport class SGModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1.SGContainerComponent"],"mappings":"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"}