@delon/abc 15.2.1 → 16.0.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/{esm2020 → esm2022}/pdf/pdf.config.mjs +2 -2
  59. package/esm2022/pdf/pdf.module.mjs +21 -0
  60. package/esm2022/qr/qr.component.mjs +137 -0
  61. package/esm2022/qr/qr.module.mjs +20 -0
  62. package/esm2022/quick-menu/quick-menu.component.mjs +90 -0
  63. package/esm2022/quick-menu/quick-menu.module.mjs +22 -0
  64. package/esm2022/result/result.component.mjs +61 -0
  65. package/esm2022/result/result.module.mjs +22 -0
  66. package/esm2022/reuse-tab/reuse-tab-context-menu.component.mjs +77 -0
  67. package/esm2022/reuse-tab/reuse-tab-context.component.mjs +34 -0
  68. package/esm2022/reuse-tab/reuse-tab-context.directive.mjs +36 -0
  69. package/esm2022/reuse-tab/reuse-tab-context.service.mjs +56 -0
  70. package/esm2022/reuse-tab/reuse-tab.component.mjs +368 -0
  71. package/esm2022/reuse-tab/reuse-tab.module.mjs +50 -0
  72. package/esm2022/reuse-tab/reuse-tab.service.mjs +559 -0
  73. package/esm2022/se/se-container.component.mjs +174 -0
  74. package/esm2022/se/se.component.mjs +235 -0
  75. package/esm2022/se/se.module.mjs +24 -0
  76. package/esm2022/sg/sg-container.component.mjs +53 -0
  77. package/esm2022/sg/sg.component.mjs +68 -0
  78. package/esm2022/sg/sg.module.mjs +21 -0
  79. package/esm2022/st/st-column-source.mjs +493 -0
  80. package/esm2022/st/st-data-source.mjs +480 -0
  81. package/esm2022/st/st-export.mjs +90 -0
  82. package/{esm2020 → esm2022}/st/st-filter.component.mjs +8 -7
  83. package/esm2022/st/st-row.directive.mjs +47 -0
  84. package/esm2022/st/st-widget-host.directive.mjs +32 -0
  85. package/esm2022/st/st-widget.mjs +27 -0
  86. package/esm2022/st/st.component.mjs +1004 -0
  87. package/esm2022/st/st.module.mjs +97 -0
  88. package/esm2022/sv/sv-container.component.mjs +127 -0
  89. package/esm2022/sv/sv-value.component.mjs +45 -0
  90. package/esm2022/sv/sv.component.mjs +120 -0
  91. package/esm2022/sv/sv.module.mjs +26 -0
  92. package/esm2022/tag-select/tag-select.component.mjs +64 -0
  93. package/esm2022/tag-select/tag-select.module.mjs +22 -0
  94. package/esm2022/xlsx/xlsx.directive.mjs +28 -0
  95. package/esm2022/xlsx/xlsx.module.mjs +20 -0
  96. package/esm2022/xlsx/xlsx.service.mjs +129 -0
  97. package/esm2022/zip/zip.module.mjs +16 -0
  98. package/esm2022/zip/zip.service.mjs +117 -0
  99. package/exception/exception.component.d.ts +1 -1
  100. package/{fesm2015 → fesm2022}/auto-focus.mjs +7 -7
  101. package/{fesm2015 → fesm2022}/auto-focus.mjs.map +1 -1
  102. package/{fesm2020 → fesm2022}/avatar-list.mjs +10 -10
  103. package/fesm2022/avatar-list.mjs.map +1 -0
  104. package/{fesm2020 → fesm2022}/chart-observer-size.mjs +10 -10
  105. package/fesm2022/chart-observer-size.mjs.map +1 -0
  106. package/{fesm2020 → fesm2022}/count-down.mjs +7 -7
  107. package/fesm2022/count-down.mjs.map +1 -0
  108. package/{fesm2020 → fesm2022}/date-picker.mjs +14 -13
  109. package/fesm2022/date-picker.mjs.map +1 -0
  110. package/{fesm2020 → fesm2022}/down-file.mjs +8 -8
  111. package/fesm2022/down-file.mjs.map +1 -0
  112. package/{fesm2020 → fesm2022}/ellipsis.mjs +7 -7
  113. package/fesm2022/ellipsis.mjs.map +1 -0
  114. package/{fesm2020 → fesm2022}/error-collect.mjs +9 -9
  115. package/fesm2022/error-collect.mjs.map +1 -0
  116. package/{fesm2020 → fesm2022}/exception.mjs +7 -7
  117. package/fesm2022/exception.mjs.map +1 -0
  118. package/{fesm2020 → fesm2022}/footer-toolbar.mjs +7 -7
  119. package/fesm2022/footer-toolbar.mjs.map +1 -0
  120. package/{fesm2020 → fesm2022}/full-content.mjs +13 -13
  121. package/fesm2022/full-content.mjs.map +1 -0
  122. package/{fesm2020 → fesm2022}/global-footer.mjs +10 -10
  123. package/fesm2022/global-footer.mjs.map +1 -0
  124. package/{fesm2020 → fesm2022}/hotkey.mjs +7 -7
  125. package/{fesm2015 → fesm2022}/hotkey.mjs.map +1 -1
  126. package/{fesm2020 → fesm2022}/let.mjs +9 -8
  127. package/fesm2022/let.mjs.map +1 -0
  128. package/{fesm2020 → fesm2022}/loading.mjs +10 -11
  129. package/fesm2022/loading.mjs.map +1 -0
  130. package/{fesm2020 → fesm2022}/lodop.mjs +7 -7
  131. package/{fesm2020 → fesm2022}/lodop.mjs.map +1 -1
  132. package/{fesm2020 → fesm2022}/media.mjs +10 -10
  133. package/fesm2022/media.mjs.map +1 -0
  134. package/fesm2022/notice-icon.mjs +180 -0
  135. package/fesm2022/notice-icon.mjs.map +1 -0
  136. package/{fesm2020 → fesm2022}/onboarding.mjs +10 -11
  137. package/{fesm2020 → fesm2022}/onboarding.mjs.map +1 -1
  138. package/{fesm2020 → fesm2022}/page-header.mjs +7 -7
  139. package/{fesm2015 → fesm2022}/page-header.mjs.map +1 -1
  140. package/{fesm2020 → fesm2022}/pdf.mjs +10 -10
  141. package/fesm2022/pdf.mjs.map +1 -0
  142. package/{fesm2015 → fesm2022}/qr.mjs +7 -7
  143. package/{fesm2020 → fesm2022}/qr.mjs.map +1 -1
  144. package/{fesm2020 → fesm2022}/quick-menu.mjs +7 -7
  145. package/fesm2022/quick-menu.mjs.map +1 -0
  146. package/{fesm2020 → fesm2022}/result.mjs +7 -7
  147. package/{fesm2020 → fesm2022}/result.mjs.map +1 -1
  148. package/{fesm2020 → fesm2022}/reuse-tab.mjs +31 -31
  149. package/{fesm2015 → fesm2022}/reuse-tab.mjs.map +1 -1
  150. package/{fesm2020 → fesm2022}/se.mjs +15 -15
  151. package/fesm2022/se.mjs.map +1 -0
  152. package/{fesm2020 → fesm2022}/sg.mjs +10 -10
  153. package/fesm2022/sg.mjs.map +1 -0
  154. package/{fesm2020 → fesm2022}/st.mjs +72 -72
  155. package/fesm2022/st.mjs.map +1 -0
  156. package/{fesm2020 → fesm2022}/sv.mjs +20 -20
  157. package/fesm2022/sv.mjs.map +1 -0
  158. package/{fesm2020 → fesm2022}/tag-select.mjs +7 -7
  159. package/fesm2022/tag-select.mjs.map +1 -0
  160. package/{fesm2020 → fesm2022}/xlsx.mjs +10 -10
  161. package/fesm2022/xlsx.mjs.map +1 -0
  162. package/{fesm2020 → fesm2022}/zip.mjs +7 -7
  163. package/{fesm2015 → fesm2022}/zip.mjs.map +1 -1
  164. package/footer-toolbar/footer-toolbar.component.d.ts +1 -1
  165. package/full-content/full-content.component.d.ts +1 -1
  166. package/global-footer/global-footer-item.component.d.ts +1 -1
  167. package/global-footer/global-footer.component.d.ts +1 -1
  168. package/hotkey/hotkey.directive.d.ts +1 -1
  169. package/let/let.directive.d.ts +1 -1
  170. package/loading/style/index.less +1 -4
  171. package/media/media.component.d.ts +1 -1
  172. package/notice-icon/notice-icon-tab.component.d.ts +1 -1
  173. package/notice-icon/notice-icon.component.d.ts +1 -1
  174. package/onboarding/style/index.less +1 -4
  175. package/package.json +106 -176
  176. package/page-header/page-header.component.d.ts +1 -1
  177. package/pdf/pdf.component.d.ts +1 -1
  178. package/qr/qr.component.d.ts +1 -1
  179. package/quick-menu/quick-menu.component.d.ts +1 -1
  180. package/result/result.component.d.ts +1 -1
  181. package/reuse-tab/reuse-tab-context-menu.component.d.ts +1 -1
  182. package/reuse-tab/reuse-tab-context.component.d.ts +1 -1
  183. package/reuse-tab/reuse-tab-context.directive.d.ts +1 -1
  184. package/reuse-tab/reuse-tab.component.d.ts +1 -1
  185. package/se/se-container.component.d.ts +1 -1
  186. package/se/se.component.d.ts +1 -1
  187. package/sg/sg-container.component.d.ts +1 -1
  188. package/sg/sg.component.d.ts +1 -1
  189. package/st/st-filter.component.d.ts +1 -1
  190. package/st/st-row.directive.d.ts +1 -1
  191. package/st/st-widget-host.directive.d.ts +1 -1
  192. package/st/st.component.d.ts +9 -5
  193. package/st/style/index.less +6 -2
  194. package/sv/sv-container.component.d.ts +1 -1
  195. package/sv/sv-value.component.d.ts +1 -1
  196. package/sv/sv.component.d.ts +1 -1
  197. package/tag-select/tag-select.component.d.ts +1 -1
  198. package/xlsx/xlsx.directive.d.ts +1 -1
  199. package/esm2020/auto-focus/auto-focus.directive.mjs +0 -50
  200. package/esm2020/auto-focus/auto-focus.module.mjs +0 -17
  201. package/esm2020/avatar-list/avatar-list-item.component.mjs +0 -26
  202. package/esm2020/avatar-list/avatar-list.component.mjs +0 -88
  203. package/esm2020/avatar-list/avatar-list.module.mjs +0 -22
  204. package/esm2020/count-down/count-down.component.mjs +0 -45
  205. package/esm2020/count-down/count-down.module.mjs +0 -20
  206. package/esm2020/date-picker/date-picker.module.mjs +0 -22
  207. package/esm2020/date-picker/range-shortcut.component.mjs +0 -40
  208. package/esm2020/date-picker/range.directive.mjs +0 -172
  209. package/esm2020/down-file/down-file.directive.mjs +0 -114
  210. package/esm2020/down-file/down-file.module.mjs +0 -20
  211. package/esm2020/ellipsis/ellipsis.component.mjs +0 -232
  212. package/esm2020/ellipsis/ellipsis.module.mjs +0 -21
  213. package/esm2020/error-collect/error-collect.component.mjs +0 -121
  214. package/esm2020/error-collect/error-collect.module.mjs +0 -20
  215. package/esm2020/exception/exception.component.mjs +0 -108
  216. package/esm2020/exception/exception.module.mjs +0 -23
  217. package/esm2020/footer-toolbar/footer-toolbar.component.mjs +0 -44
  218. package/esm2020/footer-toolbar/footer-toolbar.module.mjs +0 -21
  219. package/esm2020/full-content/full-content-toggle.directive.mjs +0 -24
  220. package/esm2020/full-content/full-content.component.mjs +0 -139
  221. package/esm2020/full-content/full-content.module.mjs +0 -20
  222. package/esm2020/full-content/full-content.service.mjs +0 -22
  223. package/esm2020/global-footer/global-footer-item.component.mjs +0 -30
  224. package/esm2020/global-footer/global-footer.component.mjs +0 -72
  225. package/esm2020/global-footer/global-footer.module.mjs +0 -21
  226. package/esm2020/hotkey/hotkey.directive.mjs +0 -36
  227. package/esm2020/hotkey/hotkey.module.mjs +0 -17
  228. package/esm2020/let/let.directive.mjs +0 -36
  229. package/esm2020/let/let.module.mjs +0 -17
  230. package/esm2020/loading/loading.component.mjs +0 -26
  231. package/esm2020/loading/loading.module.mjs +0 -24
  232. package/esm2020/loading/loading.service.mjs +0 -90
  233. package/esm2020/lodop/lodop.module.mjs +0 -12
  234. package/esm2020/lodop/lodop.service.mjs +0 -222
  235. package/esm2020/media/media.component.mjs +0 -117
  236. package/esm2020/media/media.module.mjs +0 -19
  237. package/esm2020/media/media.service.mjs +0 -46
  238. package/esm2020/notice-icon/notice-icon-tab.component.mjs +0 -34
  239. package/esm2020/notice-icon/notice-icon.component.mjs +0 -89
  240. package/esm2020/notice-icon/notice-icon.module.mjs +0 -58
  241. package/esm2020/observers/observer-size.mjs +0 -116
  242. package/esm2020/onboarding/onboarding.component.mjs +0 -134
  243. package/esm2020/onboarding/onboarding.module.mjs +0 -27
  244. package/esm2020/onboarding/onboarding.service.mjs +0 -185
  245. package/esm2020/page-header/page-header.component.mjs +0 -246
  246. package/esm2020/page-header/page-header.module.mjs +0 -24
  247. package/esm2020/pdf/pdf.component.mjs +0 -473
  248. package/esm2020/pdf/pdf.module.mjs +0 -20
  249. package/esm2020/qr/qr.component.mjs +0 -136
  250. package/esm2020/qr/qr.module.mjs +0 -19
  251. package/esm2020/quick-menu/quick-menu.component.mjs +0 -89
  252. package/esm2020/quick-menu/quick-menu.module.mjs +0 -21
  253. package/esm2020/result/result.component.mjs +0 -60
  254. package/esm2020/result/result.module.mjs +0 -21
  255. package/esm2020/reuse-tab/reuse-tab-context-menu.component.mjs +0 -76
  256. package/esm2020/reuse-tab/reuse-tab-context.component.mjs +0 -33
  257. package/esm2020/reuse-tab/reuse-tab-context.directive.mjs +0 -35
  258. package/esm2020/reuse-tab/reuse-tab-context.service.mjs +0 -55
  259. package/esm2020/reuse-tab/reuse-tab.component.mjs +0 -367
  260. package/esm2020/reuse-tab/reuse-tab.module.mjs +0 -49
  261. package/esm2020/reuse-tab/reuse-tab.service.mjs +0 -558
  262. package/esm2020/se/se-container.component.mjs +0 -172
  263. package/esm2020/se/se.component.mjs +0 -234
  264. package/esm2020/se/se.module.mjs +0 -23
  265. package/esm2020/sg/sg-container.component.mjs +0 -52
  266. package/esm2020/sg/sg.component.mjs +0 -67
  267. package/esm2020/sg/sg.module.mjs +0 -20
  268. package/esm2020/st/st-column-source.mjs +0 -492
  269. package/esm2020/st/st-data-source.mjs +0 -479
  270. package/esm2020/st/st-export.mjs +0 -89
  271. package/esm2020/st/st-row.directive.mjs +0 -45
  272. package/esm2020/st/st-widget-host.directive.mjs +0 -31
  273. package/esm2020/st/st-widget.mjs +0 -26
  274. package/esm2020/st/st.component.mjs +0 -1002
  275. package/esm2020/st/st.module.mjs +0 -96
  276. package/esm2020/sv/sv-container.component.mjs +0 -125
  277. package/esm2020/sv/sv-value.component.mjs +0 -44
  278. package/esm2020/sv/sv.component.mjs +0 -119
  279. package/esm2020/sv/sv.module.mjs +0 -25
  280. package/esm2020/tag-select/tag-select.component.mjs +0 -63
  281. package/esm2020/tag-select/tag-select.module.mjs +0 -21
  282. package/esm2020/xlsx/xlsx.directive.mjs +0 -27
  283. package/esm2020/xlsx/xlsx.module.mjs +0 -19
  284. package/esm2020/xlsx/xlsx.service.mjs +0 -128
  285. package/esm2020/zip/zip.module.mjs +0 -15
  286. package/esm2020/zip/zip.service.mjs +0 -116
  287. package/fesm2015/avatar-list.mjs +0 -139
  288. package/fesm2015/avatar-list.mjs.map +0 -1
  289. package/fesm2015/chart-observer-size.mjs +0 -124
  290. package/fesm2015/chart-observer-size.mjs.map +0 -1
  291. package/fesm2015/count-down.mjs +0 -69
  292. package/fesm2015/count-down.mjs.map +0 -1
  293. package/fesm2015/date-picker.mjs +0 -236
  294. package/fesm2015/date-picker.mjs.map +0 -1
  295. package/fesm2015/down-file.mjs +0 -141
  296. package/fesm2015/down-file.mjs.map +0 -1
  297. package/fesm2015/ellipsis.mjs +0 -258
  298. package/fesm2015/ellipsis.mjs.map +0 -1
  299. package/fesm2015/error-collect.mjs +0 -147
  300. package/fesm2015/error-collect.mjs.map +0 -1
  301. package/fesm2015/exception.mjs +0 -138
  302. package/fesm2015/exception.mjs.map +0 -1
  303. package/fesm2015/footer-toolbar.mjs +0 -70
  304. package/fesm2015/footer-toolbar.mjs.map +0 -1
  305. package/fesm2015/full-content.mjs +0 -202
  306. package/fesm2015/full-content.mjs.map +0 -1
  307. package/fesm2015/global-footer.mjs +0 -126
  308. package/fesm2015/global-footer.mjs.map +0 -1
  309. package/fesm2015/hotkey.mjs +0 -57
  310. package/fesm2015/let.mjs +0 -59
  311. package/fesm2015/let.mjs.map +0 -1
  312. package/fesm2015/loading.mjs +0 -142
  313. package/fesm2015/loading.mjs.map +0 -1
  314. package/fesm2015/lodop.mjs +0 -232
  315. package/fesm2015/lodop.mjs.map +0 -1
  316. package/fesm2015/media.mjs +0 -180
  317. package/fesm2015/media.mjs.map +0 -1
  318. package/fesm2015/notice-icon.mjs +0 -180
  319. package/fesm2015/notice-icon.mjs.map +0 -1
  320. package/fesm2015/onboarding.mjs +0 -336
  321. package/fesm2015/onboarding.mjs.map +0 -1
  322. package/fesm2015/page-header.mjs +0 -276
  323. package/fesm2015/pdf.mjs +0 -516
  324. package/fesm2015/pdf.mjs.map +0 -1
  325. package/fesm2015/qr.mjs.map +0 -1
  326. package/fesm2015/quick-menu.mjs +0 -114
  327. package/fesm2015/quick-menu.mjs.map +0 -1
  328. package/fesm2015/result.mjs +0 -88
  329. package/fesm2015/result.mjs.map +0 -1
  330. package/fesm2015/reuse-tab.mjs +0 -1217
  331. package/fesm2015/se.mjs +0 -444
  332. package/fesm2015/se.mjs.map +0 -1
  333. package/fesm2015/sg.mjs +0 -139
  334. package/fesm2015/sg.mjs.map +0 -1
  335. package/fesm2015/st.mjs +0 -2526
  336. package/fesm2015/st.mjs.map +0 -1
  337. package/fesm2015/sv.mjs +0 -308
  338. package/fesm2015/sv.mjs.map +0 -1
  339. package/fesm2015/tag-select.mjs +0 -91
  340. package/fesm2015/tag-select.mjs.map +0 -1
  341. package/fesm2015/xlsx.mjs +0 -172
  342. package/fesm2015/xlsx.mjs.map +0 -1
  343. package/fesm2015/zip.mjs +0 -136
  344. package/fesm2020/abc.mjs +0 -7
  345. package/fesm2020/abc.mjs.map +0 -1
  346. package/fesm2020/auto-focus.mjs +0 -71
  347. package/fesm2020/auto-focus.mjs.map +0 -1
  348. package/fesm2020/avatar-list.mjs.map +0 -1
  349. package/fesm2020/chart-observer-size.mjs.map +0 -1
  350. package/fesm2020/count-down.mjs.map +0 -1
  351. package/fesm2020/date-picker.mjs.map +0 -1
  352. package/fesm2020/down-file.mjs.map +0 -1
  353. package/fesm2020/ellipsis.mjs.map +0 -1
  354. package/fesm2020/error-collect.mjs.map +0 -1
  355. package/fesm2020/exception.mjs.map +0 -1
  356. package/fesm2020/footer-toolbar.mjs.map +0 -1
  357. package/fesm2020/full-content.mjs.map +0 -1
  358. package/fesm2020/global-footer.mjs.map +0 -1
  359. package/fesm2020/hotkey.mjs.map +0 -1
  360. package/fesm2020/let.mjs.map +0 -1
  361. package/fesm2020/loading.mjs.map +0 -1
  362. package/fesm2020/media.mjs.map +0 -1
  363. package/fesm2020/notice-icon.mjs +0 -180
  364. package/fesm2020/notice-icon.mjs.map +0 -1
  365. package/fesm2020/page-header.mjs.map +0 -1
  366. package/fesm2020/pdf.mjs.map +0 -1
  367. package/fesm2020/qr.mjs +0 -171
  368. package/fesm2020/quick-menu.mjs.map +0 -1
  369. package/fesm2020/reuse-tab.mjs.map +0 -1
  370. package/fesm2020/se.mjs.map +0 -1
  371. package/fesm2020/sg.mjs.map +0 -1
  372. package/fesm2020/st.mjs.map +0 -1
  373. package/fesm2020/sv.mjs.map +0 -1
  374. package/fesm2020/tag-select.mjs.map +0 -1
  375. package/fesm2020/xlsx.mjs.map +0 -1
  376. package/fesm2020/zip.mjs.map +0 -1
  377. /package/{esm2020 → esm2022}/abc.mjs +0 -0
  378. /package/{esm2020 → esm2022}/auto-focus/auto-focus.mjs +0 -0
  379. /package/{esm2020 → esm2022}/auto-focus/index.mjs +0 -0
  380. /package/{esm2020 → esm2022}/avatar-list/avatar-list.mjs +0 -0
  381. /package/{esm2020 → esm2022}/avatar-list/public_api.mjs +0 -0
  382. /package/{esm2020 → esm2022}/count-down/count-down.mjs +0 -0
  383. /package/{esm2020 → esm2022}/count-down/public_api.mjs +0 -0
  384. /package/{esm2020 → esm2022}/date-picker/date-picker.mjs +0 -0
  385. /package/{esm2020 → esm2022}/date-picker/public_api.mjs +0 -0
  386. /package/{esm2020 → esm2022}/down-file/down-file.mjs +0 -0
  387. /package/{esm2020 → esm2022}/down-file/public_api.mjs +0 -0
  388. /package/{esm2020 → esm2022}/ellipsis/ellipsis.mjs +0 -0
  389. /package/{esm2020 → esm2022}/ellipsis/public_api.mjs +0 -0
  390. /package/{esm2020 → esm2022}/error-collect/error-collect.mjs +0 -0
  391. /package/{esm2020 → esm2022}/error-collect/public_api.mjs +0 -0
  392. /package/{esm2020 → esm2022}/exception/exception.mjs +0 -0
  393. /package/{esm2020 → esm2022}/exception/public_api.mjs +0 -0
  394. /package/{esm2020 → esm2022}/footer-toolbar/footer-toolbar.mjs +0 -0
  395. /package/{esm2020 → esm2022}/footer-toolbar/public_api.mjs +0 -0
  396. /package/{esm2020 → esm2022}/full-content/full-content.mjs +0 -0
  397. /package/{esm2020 → esm2022}/full-content/public_api.mjs +0 -0
  398. /package/{esm2020 → esm2022}/global-footer/global-footer.mjs +0 -0
  399. /package/{esm2020 → esm2022}/global-footer/global-footer.types.mjs +0 -0
  400. /package/{esm2020 → esm2022}/global-footer/public_api.mjs +0 -0
  401. /package/{esm2020 → esm2022}/hotkey/hotkey.mjs +0 -0
  402. /package/{esm2020 → esm2022}/hotkey/public_api.mjs +0 -0
  403. /package/{esm2020 → esm2022}/let/index.mjs +0 -0
  404. /package/{esm2020 → esm2022}/let/let.mjs +0 -0
  405. /package/{esm2020 → esm2022}/loading/loading.mjs +0 -0
  406. /package/{esm2020 → esm2022}/loading/loading.types.mjs +0 -0
  407. /package/{esm2020 → esm2022}/loading/public_api.mjs +0 -0
  408. /package/{esm2020 → esm2022}/lodop/lodop.mjs +0 -0
  409. /package/{esm2020 → esm2022}/lodop/lodop.types.mjs +0 -0
  410. /package/{esm2020 → esm2022}/lodop/public_api.mjs +0 -0
  411. /package/{esm2020 → esm2022}/media/media.mjs +0 -0
  412. /package/{esm2020 → esm2022}/media/public_api.mjs +0 -0
  413. /package/{esm2020 → esm2022}/notice-icon/notice-icon.mjs +0 -0
  414. /package/{esm2020 → esm2022}/notice-icon/notice-icon.types.mjs +0 -0
  415. /package/{esm2020 → esm2022}/notice-icon/public_api.mjs +0 -0
  416. /package/{esm2020 → esm2022}/observers/chart-observer-size.mjs +0 -0
  417. /package/{esm2020 → esm2022}/observers/public-api.mjs +0 -0
  418. /package/{esm2020 → esm2022}/onboarding/onboarding.mjs +0 -0
  419. /package/{esm2020 → esm2022}/onboarding/onboarding.types.mjs +0 -0
  420. /package/{esm2020 → esm2022}/onboarding/public_api.mjs +0 -0
  421. /package/{esm2020 → esm2022}/page-header/page-header.mjs +0 -0
  422. /package/{esm2020 → esm2022}/page-header/public_api.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
@@ -0,0 +1,56 @@
1
+ import { ConnectionPositionPair } from '@angular/cdk/overlay';
2
+ import { ComponentPortal } from '@angular/cdk/portal';
3
+ import { Injectable } from '@angular/core';
4
+ import { Subject, Subscription } from 'rxjs';
5
+ import { ReuseTabContextMenuComponent } from './reuse-tab-context-menu.component';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/cdk/overlay";
8
+ class ReuseTabContextService {
9
+ constructor(overlay) {
10
+ this.overlay = overlay;
11
+ this.ref = null;
12
+ this.show = new Subject();
13
+ this.close = new Subject();
14
+ }
15
+ remove() {
16
+ if (!this.ref)
17
+ return;
18
+ this.ref.detach();
19
+ this.ref.dispose();
20
+ this.ref = null;
21
+ }
22
+ open(context) {
23
+ this.remove();
24
+ const { event, item, customContextMenu } = context;
25
+ const { x, y } = event;
26
+ const positions = [
27
+ new ConnectionPositionPair({ originX: 'start', originY: 'bottom' }, { overlayX: 'start', overlayY: 'top' }),
28
+ new ConnectionPositionPair({ originX: 'start', originY: 'top' }, { overlayX: 'start', overlayY: 'bottom' })
29
+ ];
30
+ const positionStrategy = this.overlay.position().flexibleConnectedTo({ x, y }).withPositions(positions);
31
+ this.ref = this.overlay.create({
32
+ positionStrategy,
33
+ panelClass: 'reuse-tab__cm',
34
+ scrollStrategy: this.overlay.scrollStrategies.close()
35
+ });
36
+ const comp = this.ref.attach(new ComponentPortal(ReuseTabContextMenuComponent));
37
+ const instance = comp.instance;
38
+ instance.i18n = this.i18n;
39
+ instance.item = { ...item };
40
+ instance.customContextMenu = customContextMenu;
41
+ instance.event = event;
42
+ const sub$ = new Subscription();
43
+ sub$.add(instance.close.subscribe((res) => {
44
+ this.close.next(res);
45
+ this.remove();
46
+ }));
47
+ comp.onDestroy(() => sub$.unsubscribe());
48
+ }
49
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: ReuseTabContextService, deps: [{ token: i1.Overlay }], target: i0.ɵɵFactoryTarget.Injectable }); }
50
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: ReuseTabContextService }); }
51
+ }
52
+ export { ReuseTabContextService };
53
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: ReuseTabContextService, decorators: [{
54
+ type: Injectable
55
+ }], ctorParameters: function () { return [{ type: i1.Overlay }]; } });
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmV1c2UtdGFiLWNvbnRleHQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FiYy9yZXVzZS10YWIvcmV1c2UtdGFiLWNvbnRleHQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsc0JBQXNCLEVBQXVCLE1BQU0sc0JBQXNCLENBQUM7QUFDbkYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFN0MsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7OztBQVFsRixNQUNhLHNCQUFzQjtJQU9qQyxZQUFvQixPQUFnQjtRQUFoQixZQUFPLEdBQVAsT0FBTyxDQUFTO1FBTjVCLFFBQUcsR0FBc0IsSUFBSSxDQUFDO1FBR3RDLFNBQUksR0FBK0IsSUFBSSxPQUFPLEVBQXFCLENBQUM7UUFDcEUsVUFBSyxHQUFvQyxJQUFJLE9BQU8sRUFBMEIsQ0FBQztJQUV4QyxDQUFDO0lBRXhDLE1BQU07UUFDSixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUc7WUFBRSxPQUFPO1FBQ3RCLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDbEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQztJQUNsQixDQUFDO0lBRUQsSUFBSSxDQUFDLE9BQTBCO1FBQzdCLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNkLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixFQUFFLEdBQUcsT0FBTyxDQUFDO1FBQ25ELE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLE1BQU0sU0FBUyxHQUFHO1lBQ2hCLElBQUksc0JBQXNCLENBQUMsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDO1lBQzNHLElBQUksc0JBQXNCLENBQUMsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxDQUFDO1NBQzVHLENBQUM7UUFDRixNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUMsbUJBQW1CLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDeEcsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztZQUM3QixnQkFBZ0I7WUFDaEIsVUFBVSxFQUFFLGVBQWU7WUFDM0IsY0FBYyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFO1NBQ3RELENBQUMsQ0FBQztRQUNILE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksZUFBZSxDQUFDLDRCQUE0QixDQUFDLENBQUMsQ0FBQztRQUNoRixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQy9CLFFBQVEsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUssQ0FBQztRQUMzQixRQUFRLENBQUMsSUFBSSxHQUFHLEVBQUUsR0FBRyxJQUFJLEVBQUUsQ0FBQztRQUM1QixRQUFRLENBQUMsaUJBQWlCLEdBQUcsaUJBQTZDLENBQUM7UUFDM0UsUUFBUSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFFdkIsTUFBTSxJQUFJLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNoQyxJQUFJLENBQUMsR0FBRyxDQUNOLFFBQVEsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBMkIsRUFBRSxFQUFFO1lBQ3ZELElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3JCLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNoQixDQUFDLENBQUMsQ0FDSCxDQUFDO1FBQ0YsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUMzQyxDQUFDOzhHQTdDVSxzQkFBc0I7a0hBQXRCLHNCQUFzQjs7U0FBdEIsc0JBQXNCOzJGQUF0QixzQkFBc0I7a0JBRGxDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0aW9uUG9zaXRpb25QYWlyLCBPdmVybGF5LCBPdmVybGF5UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgQ29tcG9uZW50UG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgUmV1c2VUYWJDb250ZXh0TWVudUNvbXBvbmVudCB9IGZyb20gJy4vcmV1c2UtdGFiLWNvbnRleHQtbWVudS5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgUmV1c2VDb250ZXh0Q2xvc2VFdmVudCxcbiAgUmV1c2VDb250ZXh0RXZlbnQsXG4gIFJldXNlQ29udGV4dEkxOG4sXG4gIFJldXNlQ3VzdG9tQ29udGV4dE1lbnVcbn0gZnJvbSAnLi9yZXVzZS10YWIuaW50ZXJmYWNlcyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBSZXVzZVRhYkNvbnRleHRTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWY6IE92ZXJsYXlSZWYgfCBudWxsID0gbnVsbDtcbiAgaTE4bj86IFJldXNlQ29udGV4dEkxOG47XG5cbiAgc2hvdzogU3ViamVjdDxSZXVzZUNvbnRleHRFdmVudD4gPSBuZXcgU3ViamVjdDxSZXVzZUNvbnRleHRFdmVudD4oKTtcbiAgY2xvc2U6IFN1YmplY3Q8UmV1c2VDb250ZXh0Q2xvc2VFdmVudD4gPSBuZXcgU3ViamVjdDxSZXVzZUNvbnRleHRDbG9zZUV2ZW50PigpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgb3ZlcmxheTogT3ZlcmxheSkge31cblxuICByZW1vdmUoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnJlZikgcmV0dXJuO1xuICAgIHRoaXMucmVmLmRldGFjaCgpO1xuICAgIHRoaXMucmVmLmRpc3Bvc2UoKTtcbiAgICB0aGlzLnJlZiA9IG51bGw7XG4gIH1cblxuICBvcGVuKGNvbnRleHQ6IFJldXNlQ29udGV4dEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5yZW1vdmUoKTtcbiAgICBjb25zdCB7IGV2ZW50LCBpdGVtLCBjdXN0b21Db250ZXh0TWVudSB9ID0gY29udGV4dDtcbiAgICBjb25zdCB7IHgsIHkgfSA9IGV2ZW50O1xuICAgIGNvbnN0IHBvc2l0aW9ucyA9IFtcbiAgICAgIG5ldyBDb25uZWN0aW9uUG9zaXRpb25QYWlyKHsgb3JpZ2luWDogJ3N0YXJ0Jywgb3JpZ2luWTogJ2JvdHRvbScgfSwgeyBvdmVybGF5WDogJ3N0YXJ0Jywgb3ZlcmxheVk6ICd0b3AnIH0pLFxuICAgICAgbmV3IENvbm5lY3Rpb25Qb3NpdGlvblBhaXIoeyBvcmlnaW5YOiAnc3RhcnQnLCBvcmlnaW5ZOiAndG9wJyB9LCB7IG92ZXJsYXlYOiAnc3RhcnQnLCBvdmVybGF5WTogJ2JvdHRvbScgfSlcbiAgICBdO1xuICAgIGNvbnN0IHBvc2l0aW9uU3RyYXRlZ3kgPSB0aGlzLm92ZXJsYXkucG9zaXRpb24oKS5mbGV4aWJsZUNvbm5lY3RlZFRvKHsgeCwgeSB9KS53aXRoUG9zaXRpb25zKHBvc2l0aW9ucyk7XG4gICAgdGhpcy5yZWYgPSB0aGlzLm92ZXJsYXkuY3JlYXRlKHtcbiAgICAgIHBvc2l0aW9uU3RyYXRlZ3ksXG4gICAgICBwYW5lbENsYXNzOiAncmV1c2UtdGFiX19jbScsXG4gICAgICBzY3JvbGxTdHJhdGVneTogdGhpcy5vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMuY2xvc2UoKVxuICAgIH0pO1xuICAgIGNvbnN0IGNvbXAgPSB0aGlzLnJlZi5hdHRhY2gobmV3IENvbXBvbmVudFBvcnRhbChSZXVzZVRhYkNvbnRleHRNZW51Q29tcG9uZW50KSk7XG4gICAgY29uc3QgaW5zdGFuY2UgPSBjb21wLmluc3RhbmNlO1xuICAgIGluc3RhbmNlLmkxOG4gPSB0aGlzLmkxOG4hO1xuICAgIGluc3RhbmNlLml0ZW0gPSB7IC4uLml0ZW0gfTtcbiAgICBpbnN0YW5jZS5jdXN0b21Db250ZXh0TWVudSA9IGN1c3RvbUNvbnRleHRNZW51IGFzIFJldXNlQ3VzdG9tQ29udGV4dE1lbnVbXTtcbiAgICBpbnN0YW5jZS5ldmVudCA9IGV2ZW50O1xuXG4gICAgY29uc3Qgc3ViJCA9IG5ldyBTdWJzY3JpcHRpb24oKTtcbiAgICBzdWIkLmFkZChcbiAgICAgIGluc3RhbmNlLmNsb3NlLnN1YnNjcmliZSgocmVzOiBSZXVzZUNvbnRleHRDbG9zZUV2ZW50KSA9PiB7XG4gICAgICAgIHRoaXMuY2xvc2UubmV4dChyZXMpO1xuICAgICAgICB0aGlzLnJlbW92ZSgpO1xuICAgICAgfSlcbiAgICApO1xuICAgIGNvbXAub25EZXN0cm95KCgpID0+IHN1YiQudW5zdWJzY3JpYmUoKSk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,368 @@
1
+ import { __decorate } from "tslib";
2
+ import { DOCUMENT } from '@angular/common';
3
+ import { ChangeDetectionStrategy, Component, EventEmitter, Inject, Input, Optional, Output, ViewChild, ViewEncapsulation } from '@angular/core';
4
+ import { Subject, debounceTime, filter, takeUntil, of } from 'rxjs';
5
+ import { ALAIN_I18N_TOKEN } from '@delon/theme';
6
+ import { InputBoolean, InputNumber } from '@delon/util/decorator';
7
+ import { ReuseTabContextService } from './reuse-tab-context.service';
8
+ import { ReuseTabMatchMode } from './reuse-tab.interfaces';
9
+ import { REUSE_TAB_STORAGE_KEY, REUSE_TAB_STORAGE_STATE } from './reuse-tab.state';
10
+ import * as i0 from "@angular/core";
11
+ import * as i1 from "./reuse-tab.service";
12
+ import * as i2 from "@angular/router";
13
+ import * as i3 from "@angular/cdk/platform";
14
+ import * as i4 from "@angular/cdk/bidi";
15
+ import * as i5 from "@angular/common";
16
+ import * as i6 from "ng-zorro-antd/tabs";
17
+ import * as i7 from "ng-zorro-antd/icon";
18
+ import * as i8 from "./reuse-tab-context.component";
19
+ import * as i9 from "./reuse-tab-context.directive";
20
+ class ReuseTabComponent {
21
+ set keepingScrollContainer(value) {
22
+ this._keepingScrollContainer = typeof value === 'string' ? this.doc.querySelector(value) : value;
23
+ }
24
+ // #endregion
25
+ constructor(srv, cdr, router, route, i18nSrv, doc, platform, directionality, stateKey, stateSrv) {
26
+ this.srv = srv;
27
+ this.cdr = cdr;
28
+ this.router = router;
29
+ this.route = route;
30
+ this.i18nSrv = i18nSrv;
31
+ this.doc = doc;
32
+ this.platform = platform;
33
+ this.directionality = directionality;
34
+ this.stateKey = stateKey;
35
+ this.stateSrv = stateSrv;
36
+ this.destroy$ = new Subject();
37
+ this.list = [];
38
+ this.pos = 0;
39
+ this.dir = 'ltr';
40
+ // #region fields
41
+ this.mode = ReuseTabMatchMode.Menu;
42
+ this.debug = false;
43
+ this.allowClose = true;
44
+ this.keepingScroll = false;
45
+ this.storageState = false;
46
+ this.customContextMenu = [];
47
+ this.tabBarStyle = null;
48
+ this.tabType = 'line';
49
+ this.routeParamMatchMode = 'strict';
50
+ this.disabled = false;
51
+ this.change = new EventEmitter();
52
+ this.close = new EventEmitter();
53
+ }
54
+ genTit(title) {
55
+ return title.i18n && this.i18nSrv ? this.i18nSrv.fanyi(title.i18n) : title.text;
56
+ }
57
+ get curUrl() {
58
+ return this.srv.getUrl(this.route.snapshot);
59
+ }
60
+ genCurItem() {
61
+ const url = this.curUrl;
62
+ const snapshotTrue = this.srv.getTruthRoute(this.route.snapshot);
63
+ return {
64
+ url,
65
+ title: this.genTit(this.srv.getTitle(url, snapshotTrue)),
66
+ closable: this.allowClose && this.srv.count > 0 && this.srv.getClosable(url, snapshotTrue),
67
+ active: false,
68
+ last: false,
69
+ index: 0
70
+ };
71
+ }
72
+ genList(notify) {
73
+ const ls = this.srv.items.map((item, index) => ({
74
+ url: item.url,
75
+ title: this.genTit(item.title),
76
+ closable: this.allowClose && item.closable && this.srv.count > 0,
77
+ position: item.position,
78
+ index,
79
+ active: false,
80
+ last: false
81
+ }));
82
+ // debugger;
83
+ const url = this.curUrl;
84
+ let addCurrent = ls.findIndex(w => w.url === url) === -1;
85
+ if (notify && notify.active === 'close' && notify.url === url) {
86
+ addCurrent = false;
87
+ let toPos = 0;
88
+ const curItem = this.list.find(w => w.url === url);
89
+ if (curItem.index === ls.length) {
90
+ // When closed is last
91
+ toPos = ls.length - 1;
92
+ }
93
+ else if (curItem.index < ls.length) {
94
+ // Should be actived next tab when closed is middle
95
+ toPos = Math.max(0, curItem.index);
96
+ }
97
+ this.router.navigateByUrl(ls[toPos].url);
98
+ }
99
+ if (addCurrent) {
100
+ ls.splice(this.pos + 1, 0, this.genCurItem());
101
+ }
102
+ ls.forEach((item, index) => (item.index = index));
103
+ if (ls.length === 1) {
104
+ ls[0].closable = false;
105
+ }
106
+ this.list = ls;
107
+ this.cdr.detectChanges();
108
+ this.updatePos();
109
+ }
110
+ updateTitle(res) {
111
+ const item = this.list.find(w => w.url === res.url);
112
+ if (!item)
113
+ return;
114
+ item.title = this.genTit(res.title);
115
+ this.cdr.detectChanges();
116
+ }
117
+ refresh(item) {
118
+ this.srv.runHook('_onReuseInit', this.pos === item.index ? this.srv.componentRef : item.index, 'refresh');
119
+ }
120
+ saveState() {
121
+ if (!this.srv.inited || !this.storageState)
122
+ return;
123
+ this.stateSrv.update(this.stateKey, this.list);
124
+ }
125
+ // #region UI
126
+ contextMenuChange(res) {
127
+ let fn = null;
128
+ switch (res.type) {
129
+ case 'refresh':
130
+ this.refresh(res.item);
131
+ break;
132
+ case 'close':
133
+ this._close(null, res.item.index, res.includeNonCloseable);
134
+ break;
135
+ case 'closeRight':
136
+ fn = () => {
137
+ this.srv.closeRight(res.item.url, res.includeNonCloseable);
138
+ this.close.emit(null);
139
+ };
140
+ break;
141
+ case 'closeOther':
142
+ fn = () => {
143
+ this.srv.clear(res.includeNonCloseable);
144
+ this.close.emit(null);
145
+ };
146
+ break;
147
+ }
148
+ if (!fn) {
149
+ return;
150
+ }
151
+ if (!res.item.active && res.item.index <= this.list.find(w => w.active).index) {
152
+ this._to(res.item.index, fn);
153
+ }
154
+ else {
155
+ fn();
156
+ }
157
+ }
158
+ _to(index, cb) {
159
+ index = Math.max(0, Math.min(index, this.list.length - 1));
160
+ const item = this.list[index];
161
+ this.router.navigateByUrl(item.url).then(res => {
162
+ if (!res)
163
+ return;
164
+ this.item = item;
165
+ this.change.emit(item);
166
+ if (cb) {
167
+ cb();
168
+ }
169
+ });
170
+ }
171
+ _close(e, idx, includeNonCloseable) {
172
+ if (e != null) {
173
+ e.preventDefault();
174
+ e.stopPropagation();
175
+ }
176
+ const item = this.list[idx];
177
+ (this.canClose ? this.canClose({ item, includeNonCloseable }) : of(true)).pipe(filter(v => v)).subscribe(() => {
178
+ this.srv.close(item.url, includeNonCloseable);
179
+ this.close.emit(item);
180
+ this.cdr.detectChanges();
181
+ });
182
+ return false;
183
+ }
184
+ /**
185
+ * 设置激活路由的实例,在 `src/app/layout/basic/basic.component.ts` 修改:
186
+ *
187
+ * @example
188
+ * <reuse-tab #reuseTab></reuse-tab>
189
+ * <router-outlet (activate)="reuseTab.activate($event)" (attach)="reuseTab.activate($event)"></router-outlet>
190
+ */
191
+ activate(instance) {
192
+ this.srv.componentRef = { instance };
193
+ }
194
+ updatePos() {
195
+ const url = this.srv.getUrl(this.route.snapshot);
196
+ const ls = this.list.filter(w => w.url === url || !this.srv.isExclude(w.url));
197
+ if (ls.length === 0) {
198
+ return;
199
+ }
200
+ const last = ls[ls.length - 1];
201
+ const item = ls.find(w => w.url === url);
202
+ last.last = true;
203
+ const pos = item == null ? last.index : item.index;
204
+ ls.forEach((i, idx) => (i.active = pos === idx));
205
+ this.pos = pos;
206
+ // TODO: 目前无法知道为什么 `pos` 无法通过 `nzSelectedIndex` 生效,因此强制使用组件实例的方式来修改,这种方式是安全的
207
+ // https://github.com/ng-alain/ng-alain/issues/1736
208
+ this.tabset.nzSelectedIndex = pos;
209
+ this.list = ls;
210
+ this.cdr.detectChanges();
211
+ this.saveState();
212
+ }
213
+ // #endregion
214
+ ngOnInit() {
215
+ this.dir = this.directionality.value;
216
+ this.directionality.change?.pipe(takeUntil(this.destroy$)).subscribe((direction) => {
217
+ this.dir = direction;
218
+ this.cdr.detectChanges();
219
+ });
220
+ if (!this.platform.isBrowser) {
221
+ return;
222
+ }
223
+ this.srv.change.pipe(takeUntil(this.destroy$)).subscribe(res => {
224
+ switch (res?.active) {
225
+ case 'title':
226
+ this.updateTitle(res);
227
+ return;
228
+ case 'override':
229
+ if (res?.list?.length === this.list.length) {
230
+ this.updatePos();
231
+ return;
232
+ }
233
+ break;
234
+ }
235
+ this.genList(res);
236
+ });
237
+ this.i18nSrv.change
238
+ .pipe(filter(() => this.srv.inited), takeUntil(this.destroy$), debounceTime(100))
239
+ .subscribe(() => this.genList({ active: 'title' }));
240
+ this.srv.init();
241
+ }
242
+ ngOnChanges(changes) {
243
+ if (!this.platform.isBrowser) {
244
+ return;
245
+ }
246
+ if (changes.max)
247
+ this.srv.max = this.max;
248
+ if (changes.excludes)
249
+ this.srv.excludes = this.excludes;
250
+ if (changes.mode)
251
+ this.srv.mode = this.mode;
252
+ if (changes.routeParamMatchMode)
253
+ this.srv.routeParamMatchMode = this.routeParamMatchMode;
254
+ if (changes.keepingScroll) {
255
+ this.srv.keepingScroll = this.keepingScroll;
256
+ this.srv.keepingScrollContainer = this._keepingScrollContainer;
257
+ }
258
+ if (changes.storageState)
259
+ this.srv.storageState = this.storageState;
260
+ this.srv.debug = this.debug;
261
+ this.cdr.detectChanges();
262
+ }
263
+ ngOnDestroy() {
264
+ const { destroy$ } = this;
265
+ destroy$.next();
266
+ destroy$.complete();
267
+ }
268
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: ReuseTabComponent, deps: [{ token: i1.ReuseTabService }, { token: i0.ChangeDetectorRef }, { token: i2.Router }, { token: i2.ActivatedRoute }, { token: ALAIN_I18N_TOKEN, optional: true }, { token: DOCUMENT }, { token: i3.Platform }, { token: i4.Directionality, optional: true }, { token: REUSE_TAB_STORAGE_KEY, optional: true }, { token: REUSE_TAB_STORAGE_STATE, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
269
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.4", type: ReuseTabComponent, selector: "reuse-tab, [reuse-tab]", inputs: { mode: "mode", i18n: "i18n", debug: "debug", max: "max", tabMaxWidth: "tabMaxWidth", excludes: "excludes", allowClose: "allowClose", keepingScroll: "keepingScroll", storageState: "storageState", keepingScrollContainer: "keepingScrollContainer", customContextMenu: "customContextMenu", tabBarExtraContent: "tabBarExtraContent", tabBarGutter: "tabBarGutter", tabBarStyle: "tabBarStyle", tabType: "tabType", routeParamMatchMode: "routeParamMatchMode", disabled: "disabled", titleRender: "titleRender", canClose: "canClose" }, outputs: { change: "change", close: "close" }, host: { properties: { "class.reuse-tab": "true", "class.reuse-tab__line": "tabType === 'line'", "class.reuse-tab__card": "tabType === 'card'", "class.reuse-tab__disabled": "disabled", "class.reuse-tab-rtl": "dir === 'rtl'" } }, providers: [ReuseTabContextService], viewQueries: [{ propertyName: "tabset", first: true, predicate: ["tabset"], descendants: true }], exportAs: ["reuseTab"], usesOnChanges: true, ngImport: i0, template: "<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", dependencies: [{ kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i6.NzTabSetComponent, selector: "nz-tabset", inputs: ["nzSelectedIndex", "nzTabPosition", "nzTabBarExtraContent", "nzCanDeactivate", "nzAddIcon", "nzTabBarStyle", "nzType", "nzSize", "nzAnimated", "nzTabBarGutter", "nzHideAdd", "nzCentered", "nzHideAll", "nzLinkRouter", "nzLinkExact"], outputs: ["nzSelectChange", "nzSelectedIndexChange", "nzTabListScroll", "nzClose", "nzAdd"], exportAs: ["nzTabset"] }, { kind: "component", type: i6.NzTabComponent, selector: "nz-tab", inputs: ["nzTitle", "nzClosable", "nzCloseIcon", "nzDisabled", "nzForceRender"], outputs: ["nzSelect", "nzDeselect", "nzClick", "nzContextmenu"], exportAs: ["nzTab"] }, { kind: "directive", type: i7.NzIconDirective, selector: "[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }, { kind: "component", type: i8.ReuseTabContextComponent, selector: "reuse-tab-context", inputs: ["i18n"], outputs: ["change"] }, { kind: "directive", type: i9.ReuseTabContextDirective, selector: "[reuse-tab-context-menu]", inputs: ["reuse-tab-context-menu", "customContextMenu"], exportAs: ["reuseTabContextMenu"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
270
+ }
271
+ __decorate([
272
+ InputBoolean()
273
+ ], ReuseTabComponent.prototype, "debug", void 0);
274
+ __decorate([
275
+ InputNumber()
276
+ ], ReuseTabComponent.prototype, "max", void 0);
277
+ __decorate([
278
+ InputNumber()
279
+ ], ReuseTabComponent.prototype, "tabMaxWidth", void 0);
280
+ __decorate([
281
+ InputBoolean()
282
+ ], ReuseTabComponent.prototype, "allowClose", void 0);
283
+ __decorate([
284
+ InputBoolean()
285
+ ], ReuseTabComponent.prototype, "keepingScroll", void 0);
286
+ __decorate([
287
+ InputBoolean()
288
+ ], ReuseTabComponent.prototype, "storageState", void 0);
289
+ __decorate([
290
+ InputBoolean()
291
+ ], ReuseTabComponent.prototype, "disabled", void 0);
292
+ export { ReuseTabComponent };
293
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: ReuseTabComponent, decorators: [{
294
+ type: Component,
295
+ args: [{ selector: 'reuse-tab, [reuse-tab]', exportAs: 'reuseTab', host: {
296
+ '[class.reuse-tab]': 'true',
297
+ '[class.reuse-tab__line]': `tabType === 'line'`,
298
+ '[class.reuse-tab__card]': `tabType === 'card'`,
299
+ '[class.reuse-tab__disabled]': `disabled`,
300
+ '[class.reuse-tab-rtl]': `dir === 'rtl'`
301
+ }, providers: [ReuseTabContextService], preserveWhitespaces: false, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<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" }]
302
+ }], ctorParameters: function () { return [{ type: i1.ReuseTabService }, { type: i0.ChangeDetectorRef }, { type: i2.Router }, { type: i2.ActivatedRoute }, { type: undefined, decorators: [{
303
+ type: Optional
304
+ }, {
305
+ type: Inject,
306
+ args: [ALAIN_I18N_TOKEN]
307
+ }] }, { type: undefined, decorators: [{
308
+ type: Inject,
309
+ args: [DOCUMENT]
310
+ }] }, { type: i3.Platform }, { type: i4.Directionality, decorators: [{
311
+ type: Optional
312
+ }] }, { type: undefined, decorators: [{
313
+ type: Optional
314
+ }, {
315
+ type: Inject,
316
+ args: [REUSE_TAB_STORAGE_KEY]
317
+ }] }, { type: undefined, decorators: [{
318
+ type: Optional
319
+ }, {
320
+ type: Inject,
321
+ args: [REUSE_TAB_STORAGE_STATE]
322
+ }] }]; }, propDecorators: { tabset: [{
323
+ type: ViewChild,
324
+ args: ['tabset']
325
+ }], mode: [{
326
+ type: Input
327
+ }], i18n: [{
328
+ type: Input
329
+ }], debug: [{
330
+ type: Input
331
+ }], max: [{
332
+ type: Input
333
+ }], tabMaxWidth: [{
334
+ type: Input
335
+ }], excludes: [{
336
+ type: Input
337
+ }], allowClose: [{
338
+ type: Input
339
+ }], keepingScroll: [{
340
+ type: Input
341
+ }], storageState: [{
342
+ type: Input
343
+ }], keepingScrollContainer: [{
344
+ type: Input
345
+ }], customContextMenu: [{
346
+ type: Input
347
+ }], tabBarExtraContent: [{
348
+ type: Input
349
+ }], tabBarGutter: [{
350
+ type: Input
351
+ }], tabBarStyle: [{
352
+ type: Input
353
+ }], tabType: [{
354
+ type: Input
355
+ }], routeParamMatchMode: [{
356
+ type: Input
357
+ }], disabled: [{
358
+ type: Input
359
+ }], titleRender: [{
360
+ type: Input
361
+ }], canClose: [{
362
+ type: Input
363
+ }], change: [{
364
+ type: Output
365
+ }], close: [{
366
+ type: Output
367
+ }] } });
368
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmV1c2UtdGFiLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FiYy9yZXVzZS10YWIvcmV1c2UtdGFiLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FiYy9yZXVzZS10YWIvcmV1c2UtdGFiLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFFQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUNMLHVCQUF1QixFQUV2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBSUwsUUFBUSxFQUNSLE1BQU0sRUFJTixTQUFTLEVBQ1QsaUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXBFLE9BQU8sRUFBb0IsZ0JBQWdCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDbEUsT0FBTyxFQUFnQixZQUFZLEVBQUUsV0FBVyxFQUFlLE1BQU0sdUJBQXVCLENBQUM7QUFJN0YsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDckUsT0FBTyxFQU9MLGlCQUFpQixFQUlsQixNQUFNLHdCQUF3QixDQUFDO0FBRWhDLE9BQU8sRUFBd0IscUJBQXFCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7Ozs7Ozs7Ozs7QUFFekcsTUFnQmEsaUJBQWlCO0lBNEI1QixJQUNJLHNCQUFzQixDQUFDLEtBQXVCO1FBQ2hELElBQUksQ0FBQyx1QkFBdUIsR0FBRyxPQUFPLEtBQUssS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxL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O3NCQUE3QixLQUFLO2dCQUNrQixHQUFHO3NCQUExQixLQUFLO2dCQUNrQixXQUFXO3NCQUFsQyxLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ21CLFVBQVU7c0JBQWxDLEtBQUs7Z0JBQ21CLGFBQWE7c0JBQXJDLEtBQUs7Z0JBQ21CLFlBQVk7c0JBQXBDLEtBQUs7Z0JBRUYsc0JBQXNCO3NCQUR6QixLQUFLO2dCQUlHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBQ21CLFFBQVE7c0JBQWhDLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNhLE1BQU07c0JBQXhCLE1BQU07Z0JBQ1ksS0FBSztzQkFBdkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGlvbiwgRGlyZWN0aW9uYWxpdHkgfSBmcm9tICdAYW5ndWxhci9jZGsvYmlkaSc7XG5pbXBvcnQgeyBQbGF0Zm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wbGF0Zm9ybSc7XG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbmplY3QsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPcHRpb25hbCxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2UsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBTdWJqZWN0LCBkZWJvdW5jZVRpbWUsIGZpbHRlciwgdGFrZVVudGlsLCBvZiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBBbGFpbkkxOE5TZXJ2aWNlLCBBTEFJTl9JMThOX1RPS0VOIH0gZnJvbSAnQGRlbG9uL3RoZW1lJztcbmltcG9ydCB7IEJvb2xlYW5JbnB1dCwgSW5wdXRCb29sZWFuLCBJbnB1dE51bWJlciwgTnVtYmVySW5wdXQgfSBmcm9tICdAZGVsb24vdXRpbC9kZWNvcmF0b3InO1xuaW1wb3J0IHR5cGUgeyBOelNhZmVBbnkgfSBmcm9tICduZy16b3Jyby1hbnRkL2NvcmUvdHlwZXMnO1xuaW1wb3J0IHsgTnpUYWJTZXRDb21wb25lbnQgfSBmcm9tICduZy16b3Jyby1hbnRkL3RhYnMnO1xuXG5pbXBvcnQgeyBSZXVzZVRhYkNvbnRleHRTZXJ2aWNlIH0gZnJvbSAnLi9yZXVzZS10YWItY29udGV4dC5zZXJ2aWNlJztcbmltcG9ydCB7XG4gIFJldXNlQ2FuQ2xvc2UsXG4gIFJldXNlQ29udGV4dENsb3NlRXZlbnQsXG4gIFJldXNlQ29udGV4dEkxOG4sXG4gIFJldXNlQ3VzdG9tQ29udGV4dE1lbnUsXG4gIFJldXNlSXRlbSxcbiAgUmV1c2VUYWJDYWNoZWQsXG4gIFJldXNlVGFiTWF0Y2hNb2RlLFxuICBSZXVzZVRhYk5vdGlmeSxcbiAgUmV1c2VUYWJSb3V0ZVBhcmFtTWF0Y2hNb2RlLFxuICBSZXVzZVRpdGxlXG59IGZyb20gJy4vcmV1c2UtdGFiLmludGVyZmFjZXMnO1xuaW1wb3J0IHsgUmV1c2VUYWJTZXJ2aWNlIH0gZnJvbSAnLi9yZXVzZS10YWIuc2VydmljZSc7XG5pbXBvcnQgeyBSZXVzZVRhYlN0b3JhZ2VTdGF0ZSwgUkVVU0VfVEFCX1NUT1JBR0VfS0VZLCBSRVVTRV9UQUJfU1RPUkFHRV9TVEFURSB9IGZyb20gJy4vcmV1c2UtdGFiLnN0YXRlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncmV1c2UtdGFiLCBbcmV1c2UtdGFiXScsXG4gIGV4cG9ydEFzOiAncmV1c2VUYWInLFxuICB0ZW1wbGF0ZVVybDogJy4vcmV1c2UtdGFiLmNvbXBvbmVudC5odG1sJyxcbiAgaG9zdDoge1xuICAgICdbY2xhc3MucmV1c2UtdGFiXSc6ICd0cnVlJyxcbiAgICAnW2NsYXNzLnJldXNlLXRhYl9fbGluZV0nOiBgdGFiVHlwZSA9PT0gJ2xpbmUnYCxcbiAgICAnW2NsYXNzLnJldXNlLXRhYl9fY2FyZF0nOiBgdGFiVHlwZSA9PT0gJ2NhcmQnYCxcbiAgICAnW2NsYXNzLnJldXNlLXRhYl9fZGlzYWJsZWRdJzogYGRpc2FibGVkYCxcbiAgICAnW2NsYXNzLnJldXNlLXRhYi1ydGxdJzogYGRpciA9PT0gJ3J0bCdgXG4gIH0sXG4gIHByb3ZpZGVyczogW1JldXNlVGFiQ29udGV4dFNlcnZpY2VdLFxuICBwcmVzZXJ2ZVdoaXRlc3BhY2VzOiBmYWxzZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgUmV1c2VUYWJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX2RlYnVnOiBCb29sZWFuSW5wdXQ7XG4gIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9tYXg6IE51bWJlcklucHV0O1xuICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfdGFiTWF4V2lkdGg6IE51bWJlcklucHV0O1xuICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfYWxsb3dDbG9zZTogQm9vbGVhbklucHV0O1xuICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfa2VlcGluZ1Njcm9sbDogQm9vbGVhbklucHV0O1xuICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfZGlzYWJsZWQ6IEJvb2xlYW5JbnB1dDtcbiAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX3N0b3JhZ2VTdGF0ZTogQm9vbGVhbklucHV0O1xuXG4gIEBWaWV3Q2hpbGQoJ3RhYnNldCcpIHByaXZhdGUgdGFic2V0ITogTnpUYWJTZXRDb21wb25lbnQ7XG4gIHByaXZhdGUgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwcml2YXRlIF9rZWVwaW5nU2Nyb2xsQ29udGFpbmVyPzogRWxlbWVudDtcbiAgbGlzdDogUmV1c2VJdGVtW10gPSBbXTtcbiAgaXRlbT86IFJldXNlSXRlbTtcbiAgcG9zID0gMDtcbiAgZGlyOiBEaXJlY3Rpb24gPSAnbHRyJztcblxuICAvLyAjcmVnaW9uIGZpZWxkc1xuXG4gIEBJbnB1dCgpIG1vZGU6IFJldXNlVGFiTWF0Y2hNb2RlID0gUmV1c2VUYWJNYXRjaE1vZGUuTWVudTtcbiAgQElucHV0KCkgaTE4bj86IFJldXNlQ29udGV4dEkxOG47XG4gIEBJbnB1dCgpIEBJbnB1dEJvb2xlYW4oKSBkZWJ1ZyA9IGZhbHNlO1xuICBASW5wdXQoKSBASW5wdXROdW1iZXIoKSBtYXg/OiBudW1iZXI7XG4gIEBJbnB1dCgpIEBJbnB1dE51bWJlcigpIHRhYk1heFdpZHRoPzogbnVtYmVyO1xuICBASW5wdXQoKSBleGNsdWRlcz86IFJlZ0V4cFtdO1xuICBASW5wdXQoKSBASW5wdXRCb29sZWFuKCkgYWxsb3dDbG9zZSA9IHRydWU7XG4gIEBJbnB1dCgpIEBJbnB1dEJvb2xlYW4oKSBrZWVwaW5nU2Nyb2xsID0gZmFsc2U7XG4gIEBJbnB1dCgpIEBJbnB1dEJvb2xlYW4oKSBzdG9yYWdlU3RhdGUgPSBmYWxzZTtcbiAgQElucHV0KClcbiAgc2V0IGtlZXBpbmdTY3JvbGxDb250YWluZXIodmFsdWU6IHN0cmluZyB8IEVsZW1lbnQpIHtcbiAgICB0aGlzLl9rZWVwaW5nU2Nyb2xsQ29udGFpbmVyID0gdHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyA/IHRoaXMuZG9jLnF1ZXJ5U2VsZWN0b3IodmFsdWUpIDogdmFsdWU7XG4gIH1cbiAgQElucHV0KCkgY3VzdG9tQ29udGV4dE1lbnU6IFJldXNlQ3VzdG9tQ29udGV4dE1lbnVbXSA9IFtdO1xuICBASW5wdXQoKSB0YWJCYXJFeHRyYUNvbnRlbnQ/OiBUZW1wbGF0ZVJlZjx2b2lkPjtcbiAgQElucHV0KCkgdGFiQmFyR3V0dGVyPzogbnVtYmVyO1xuICBASW5wdXQoKSB0YWJCYXJTdHlsZTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSB8IG51bGwgPSBudWxsO1xuICBASW5wdXQoKSB0YWJUeXBlOiAnbGluZScgfCAnY2FyZCcgPSAnbGluZSc7XG4gIEBJbnB1dCgpIHJvdXRlUGFyYW1NYXRjaE1vZGU6IFJldXNlVGFiUm91dGVQYXJhbU1hdGNoTW9kZSA9ICdzdHJpY3QnO1xuICBASW5wdXQoKSBASW5wdXRCb29sZWFuKCkgZGlzYWJsZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgdGl0bGVSZW5kZXI/OiBUZW1wbGF0ZVJlZjx7ICRpbXBsaWNpdDogUmV1c2VJdGVtIH0+O1xuICBASW5wdXQoKSBjYW5DbG9zZT86IFJldXNlQ2FuQ2xvc2U7XG4gIEBPdXRwdXQoKSByZWFkb25seSBjaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFJldXNlSXRlbT4oKTtcbiAgQE91dHB1dCgpIHJlYWRvbmx5IGNsb3NlID0gbmV3IEV2ZW50RW1pdHRlcjxSZXVzZUl0ZW0gfCBudWxsPigpO1xuXG4gIC8vICNlbmRyZWdpb25cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHNydjogUmV1c2VUYWJTZXJ2aWNlLFxuICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoQUxBSU5fSTE4Tl9UT0tFTikgcHJpdmF0ZSBpMThuU3J2OiBBbGFpbkkxOE5TZXJ2aWNlLFxuICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgZG9jOiBOelNhZmVBbnksXG4gICAgcHJpdmF0ZSBwbGF0Zm9ybTogUGxhdGZvcm0sXG4gICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBkaXJlY3Rpb25hbGl0eTogRGlyZWN0aW9uYWxpdHksXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChSRVVTRV9UQUJfU1RPUkFHRV9LRVkpIHByaXZhdGUgc3RhdGVLZXk6IHN0cmluZyxcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KFJFVVNFX1RBQl9TVE9SQUdFX1NUQVRFKSBwcml2YXRlIHN0YXRlU3J2OiBSZXVzZVRhYlN0b3JhZ2VTdGF0ZVxuICApIHt9XG5cbiAgcHJpdmF0ZSBnZW5UaXQodGl0bGU6IFJldXNlVGl0bGUpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aXRsZS5pMThuICYmIHRoaXMuaTE4blNydiA/IHRoaXMuaTE4blNydi5mYW55aSh0aXRsZS5pMThuKSA6IHRpdGxlLnRleHQhO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgY3VyVXJsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuc3J2LmdldFVybCh0aGlzLnJvdXRlLnNuYXBzaG90KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2VuQ3VySXRlbSgpOiBSZXVzZUl0ZW0ge1xuICAgIGNvbnN0IHVybCA9IHRoaXMuY3VyVXJsO1xuICAgIGNvbnN0IHNuYXBzaG90VHJ1ZSA9IHRoaXMuc3J2LmdldFRydXRoUm91dGUodGhpcy5yb3V0ZS5zbmFwc2hvdCk7XG4gICAgcmV0dXJuIHtcbiAgICAgIHVybCxcbiAgICAgIHRpdGxlOiB0aGlzLmdlblRpdCh0aGlzLnNydi5nZXRUaXRsZSh1cmwsIHNuYXBzaG90VHJ1ZSkpLFxuICAgICAgY2xvc2FibGU6IHRoaXMuYWxsb3dDbG9zZSAmJiB0aGlzLnNydi5jb3VudCA+IDAgJiYgdGhpcy5zcnYuZ2V0Q2xvc2FibGUodXJsLCBzbmFwc2hvdFRydWUpLFxuICAgICAgYWN0aXZlOiBmYWxzZSxcbiAgICAgIGxhc3Q6IGZhbHNlLFxuICAgICAgaW5kZXg6IDBcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBnZW5MaXN0KG5vdGlmeTogUmV1c2VUYWJOb3RpZnkgfCBudWxsKTogdm9pZCB7XG4gICAgY29uc3QgbHMgPSB0aGlzLnNydi5pdGVtcy5tYXAoXG4gICAgICAoaXRlbTogUmV1c2VUYWJDYWNoZWQsIGluZGV4OiBudW1iZXIpID0+XG4gICAgICAgICh7XG4gICAgICAgICAgdXJsOiBpdGVtLnVybCxcbiAgICAgICAgICB0aXRsZTogdGhpcy5nZW5UaXQoaXRlbS50aXRsZSksXG4gICAgICAgICAgY2xvc2FibGU6IHRoaXMuYWxsb3dDbG9zZSAmJiBpdGVtLmNsb3NhYmxlICYmIHRoaXMuc3J2LmNvdW50ID4gMCxcbiAgICAgICAgICBwb3NpdGlvbjogaXRlbS5wb3NpdGlvbixcbiAgICAgICAgICBpbmRleCxcbiAgICAgICAgICBhY3RpdmU6IGZhbHNlLFxuICAgICAgICAgIGxhc3Q6IGZhbHNlXG4gICAgICAgIH0gYXMgUmV1c2VJdGVtKVxuICAgICk7XG4gICAgLy8gZGVidWdnZXI7XG5cbiAgICBjb25zdCB1cmwgPSB0aGlzLmN1clVybDtcbiAgICBsZXQgYWRkQ3VycmVudCA9IGxzLmZpbmRJbmRleCh3ID0+IHcudXJsID09PSB1cmwpID09PSAtMTtcbiAgICBpZiAobm90aWZ5ICYmIG5vdGlmeS5hY3RpdmUgPT09ICdjbG9zZScgJiYgbm90aWZ5LnVybCA9PT0gdXJsKSB7XG4gICAgICBhZGRDdXJyZW50ID0gZmFsc2U7XG4gICAgICBsZXQgdG9Qb3MgPSAwO1xuICAgICAgY29uc3QgY3VySXRlbSA9IHRoaXMubGlzdC5maW5kKHcgPT4gdy51cmwgPT09IHVybCkhO1xuICAgICAgaWYgKGN1ckl0ZW0uaW5kZXggPT09IGxzLmxlbmd0aCkge1xuICAgICAgICAvLyBXaGVuIGNsb3NlZCBpcyBsYXN0XG4gICAgICAgIHRvUG9zID0gbHMubGVuZ3RoIC0gMTtcbiAgICAgIH0gZWxzZSBpZiAoY3VySXRlbS5pbmRleCA8IGxzLmxlbmd0aCkge1xuICAgICAgICAvLyBTaG91bGQgYmUgYWN0aXZlZCBuZXh0IHRhYiB3aGVuIGNsb3NlZCBpcyBtaWRkbGVcbiAgICAgICAgdG9Qb3MgPSBNYXRoLm1heCgwLCBjdXJJdGVtLmluZGV4KTtcbiAgICAgIH1cbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwobHNbdG9Qb3NdLnVybCk7XG4gICAgfVxuXG4gICAgaWYgKGFkZEN1cnJlbnQpIHtcbiAgICAgIGxzLnNwbGljZSh0aGlzLnBvcyArIDEsIDAsIHRoaXMuZ2VuQ3VySXRlbSgpKTtcbiAgICB9XG5cbiAgICBscy5mb3JFYWNoKChpdGVtLCBpbmRleCkgPT4gKGl0ZW0uaW5kZXggPSBpbmRleCkpO1xuICAgIGlmIChscy5sZW5ndGggPT09IDEpIHtcbiAgICAgIGxzWzBdLmNsb3NhYmxlID0gZmFsc2U7XG4gICAgfVxuICAgIHRoaXMubGlzdCA9IGxzO1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB0aGlzLnVwZGF0ZVBvcygpO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVUaXRsZShyZXM6IFJldXNlVGFiTm90aWZ5KTogdm9pZCB7XG4gICAgY29uc3QgaXRlbSA9IHRoaXMubGlzdC5maW5kKHcgPT4gdy51cmwgPT09IHJlcyEudXJsKTtcbiAgICBpZiAoIWl0ZW0pIHJldHVybjtcbiAgICBpdGVtLnRpdGxlID0gdGhpcy5nZW5UaXQocmVzIS50aXRsZSEpO1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVmcmVzaChpdGVtOiBSZXVzZUl0ZW0pOiB2b2lkIHtcbiAgICB0aGlzLnNydi5ydW5Ib29rKCdfb25SZXVzZUluaXQnLCB0aGlzLnBvcyA9PT0gaXRlbS5pbmRleCA/IHRoaXMuc3J2LmNvbXBvbmVudFJlZiA6IGl0ZW0uaW5kZXgsICdyZWZyZXNoJyk7XG4gIH1cblxuICBwcml2YXRlIHNhdmVTdGF0ZSgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuc3J2LmluaXRlZCB8fCAhdGhpcy5zdG9yYWdlU3RhdGUpIHJldHVybjtcblxuICAgIHRoaXMuc3RhdGVTcnYudXBkYXRlKHRoaXMuc3RhdGVLZXksIHRoaXMubGlzdCk7XG4gIH1cblxuICAvLyAjcmVnaW9uIFVJXG5cbiAgY29udGV4dE1lbnVDaGFuZ2UocmVzOiBSZXVzZUNvbnRleHRDbG9zZUV2ZW50KTogdm9pZCB7XG4gICAgbGV0IGZuOiAoKCkgPT4gdm9pZCkgfCBudWxsID0gbnVsbDtcbiAgICBzd2l0Y2ggKHJlcy50eXBlKSB7XG4gICAgICBjYXNlICdyZWZyZXNoJzpcbiAgICAgICAgdGhpcy5yZWZyZXNoKHJlcy5pdGVtKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdjbG9zZSc6XG4gICAgICAgIHRoaXMuX2Nsb3NlKG51bGwsIHJlcy5pdGVtLmluZGV4LCByZXMuaW5jbHVkZU5vbkNsb3NlYWJsZSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnY2xvc2VSaWdodCc6XG4gICAgICAgIGZuID0gKCkgPT4ge1xuICAgICAgICAgIHRoaXMuc3J2LmNsb3NlUmlnaHQocmVzLml0ZW0udXJsLCByZXMuaW5jbHVkZU5vbkNsb3NlYWJsZSk7XG4gICAgICAgICAgdGhpcy5jbG9zZS5lbWl0KG51bGwpO1xuICAgICAgICB9O1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2Nsb3NlT3RoZXInOlxuICAgICAgICBmbiA9ICgpID0+IHtcbiAgICAgICAgICB0aGlzLnNydi5jbGVhcihyZXMuaW5jbHVkZU5vbkNsb3NlYWJsZSk7XG4gICAgICAgICAgdGhpcy5jbG9zZS5lbWl0KG51bGwpO1xuICAgICAgICB9O1xuICAgICAgICBicmVhaztcbiAgICB9XG4gICAgaWYgKCFmbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoIXJlcy5pdGVtLmFjdGl2ZSAmJiByZXMuaXRlbS5pbmRleCA8PSB0aGlzLmxpc3QuZmluZCh3ID0+IHcuYWN0aXZlKSEuaW5kZXgpIHtcbiAgICAgIHRoaXMuX3RvKHJlcy5pdGVtLmluZGV4LCBmbik7XG4gICAgfSBlbHNlIHtcbiAgICAgIGZuKCk7XG4gICAgfVxuICB9XG5cbiAgX3RvKGluZGV4OiBudW1iZXIsIGNiPzogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgIGluZGV4ID0gTWF0aC5tYXgoMCwgTWF0aC5taW4oaW5kZXgsIHRoaXMubGlzdC5sZW5ndGggLSAxKSk7XG4gICAgY29uc3QgaXRlbSA9IHRoaXMubGlzdFtpbmRleF07XG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybChpdGVtLnVybCkudGhlbihyZXMgPT4ge1xuICAgICAgaWYgKCFyZXMpIHJldHVybjtcbiAgICAgIHRoaXMuaXRlbSA9IGl0ZW07XG4gICAgICB0aGlzLmNoYW5nZS5lbWl0KGl0ZW0pO1xuICAgICAgaWYgKGNiKSB7XG4gICAgICAgIGNiKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBfY2xvc2UoZTogRXZlbnQgfCBudWxsLCBpZHg6IG51bWJlciwgaW5jbHVkZU5vbkNsb3NlYWJsZTogYm9vbGVhbik6IGJvb2xlYW4ge1xuICAgIGlmIChlICE9IG51bGwpIHtcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfVxuICAgIGNvbnN0IGl0ZW0gPSB0aGlzLmxpc3RbaWR4XTtcbiAgICAodGhpcy5jYW5DbG9zZSA/IHRoaXMuY2FuQ2xvc2UoeyBpdGVtLCBpbmNsdWRlTm9uQ2xvc2VhYmxlIH0pIDogb2YodHJ1ZSkpLnBpcGUoZmlsdGVyKHYgPT4gdikpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLnNydi5jbG9zZShpdGVtLnVybCwgaW5jbHVkZU5vbkNsb3NlYWJsZSk7XG4gICAgICB0aGlzLmNsb3NlLmVtaXQoaXRlbSk7XG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfSk7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgLyoqXG4gICAqIOiuvue9rua/gOa0u+i3r+eUseeahOWunuS+i++8jOWcqCBgc3JjL2FwcC9sYXlvdXQvYmFzaWMvYmFzaWMuY29tcG9uZW50LnRzYCDkv67mlLnvvJpcbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogPHJldXNlLXRhYiAjcmV1c2VUYWI+PC9yZXVzZS10YWI+XG4gICAqIDxyb3V0ZXItb3V0bGV0IChhY3RpdmF0ZSk9XCJyZXVzZVRhYi5hY3RpdmF0ZSgkZXZlbnQpXCIgKGF0dGFjaCk9XCJyZXVzZVRhYi5hY3RpdmF0ZSgkZXZlbnQpXCI+PC9yb3V0ZXItb3V0bGV0PlxuICAgKi9cbiAgYWN0aXZhdGUoaW5zdGFuY2U6IE56U2FmZUFueSk6IHZvaWQge1xuICAgIHRoaXMuc3J2LmNvbXBvbmVudFJlZiA9IHsgaW5zdGFuY2UgfTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlUG9zKCk6IHZvaWQge1xuICAgIGNvbnN0IHVybCA9IHRoaXMuc3J2LmdldFVybCh0aGlzLnJvdXRlLnNuYXBzaG90KTtcbiAgICBjb25zdCBscyA9IHRoaXMubGlzdC5maWx0ZXIodyA9PiB3LnVybCA9PT0gdXJsIHx8ICF0aGlzLnNydi5pc0V4Y2x1ZGUody51cmwpKTtcbiAgICBpZiAobHMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgbGFzdCA9IGxzW2xzLmxlbmd0aCAtIDFdO1xuICAgIGNvbnN0IGl0ZW0gPSBscy5maW5kKHcgPT4gdy51cmwgPT09IHVybCk7XG4gICAgbGFzdC5sYXN0ID0gdHJ1ZTtcbiAgICBjb25zdCBwb3MgPSBpdGVtID09IG51bGwgPyBsYXN0LmluZGV4IDogaXRlbS5pbmRleDtcbiAgICBscy5mb3JFYWNoKChpLCBpZHgpID0+IChpLmFjdGl2ZSA9IHBvcyA9PT0gaWR4KSk7XG4gICAgdGhpcy5wb3MgPSBwb3M7XG4gICAgLy8gVE9ETzog55uu5YmN5peg5rOV55+l6YGT5Li65LuA5LmIIGBwb3NgIOaXoOazlemAmui/hyBgbnpTZWxlY3RlZEluZGV4YCDnlJ/mlYjvvIzlm6DmraTlvLrliLbkvb/nlKjnu4Tku7blrp7kvovnmoTmlrnlvI/mnaXkv67mlLnvvIzov5nnp43mlrnlvI/mmK/lronlhajnmoRcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vbmctYWxhaW4vbmctYWxhaW4vaXNzdWVzLzE3MzZcbiAgICB0aGlzLnRhYnNldC5uelNlbGVjdGVkSW5kZXggPSBwb3M7XG4gICAgdGhpcy5saXN0ID0gbHM7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIHRoaXMuc2F2ZVN0YXRlKCk7XG4gIH1cblxuICAvLyAjZW5kcmVnaW9uXG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5kaXIgPSB0aGlzLmRpcmVjdGlvbmFsaXR5LnZhbHVlO1xuICAgIHRoaXMuZGlyZWN0aW9uYWxpdHkuY2hhbmdlPy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChkaXJlY3Rpb246IERpcmVjdGlvbikgPT4ge1xuICAgICAgdGhpcy5kaXIgPSBkaXJlY3Rpb247XG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfSk7XG5cbiAgICBpZiAoIXRoaXMucGxhdGZvcm0uaXNCcm93c2VyKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zcnYuY2hhbmdlLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgIHN3aXRjaCAocmVzPy5hY3RpdmUpIHtcbiAgICAgICAgY2FzZSAndGl0bGUnOlxuICAgICAgICAgIHRoaXMudXBkYXRlVGl0bGUocmVzKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIGNhc2UgJ292ZXJyaWRlJzpcbiAgICAgICAgICBpZiAocmVzPy5saXN0Py5sZW5ndGggPT09IHRoaXMubGlzdC5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlUG9zKCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgdGhpcy5nZW5MaXN0KHJlcyk7XG4gICAgfSk7XG5cbiAgICB0aGlzLmkxOG5TcnYuY2hhbmdlXG4gICAgICAucGlwZShcbiAgICAgICAgZmlsdGVyKCgpID0+IHRoaXMuc3J2LmluaXRlZCksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSxcbiAgICAgICAgZGVib3VuY2VUaW1lKDEwMClcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5nZW5MaXN0KHsgYWN0aXZlOiAndGl0bGUnIH0pKTtcblxuICAgIHRoaXMuc3J2LmluaXQoKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IHsgW1AgaW4ga2V5b2YgdGhpc10/OiBTaW1wbGVDaGFuZ2UgfSAmIFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMucGxhdGZvcm0uaXNCcm93c2VyKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGNoYW5nZXMubWF4KSB0aGlzLnNydi5tYXggPSB0aGlzLm1heCE7XG4gICAgaWYgKGNoYW5nZXMuZXhjbHVkZXMpIHRoaXMuc3J2LmV4Y2x1ZGVzID0gdGhpcy5leGNsdWRlcyE7XG4gICAgaWYgKGNoYW5nZXMubW9kZSkgdGhpcy5zcnYubW9kZSA9IHRoaXMubW9kZTtcbiAgICBpZiAoY2hhbmdlcy5yb3V0ZVBhcmFtTWF0Y2hNb2RlKSB0aGlzLnNydi5yb3V0ZVBhcmFtTWF0Y2hNb2RlID0gdGhpcy5yb3V0ZVBhcmFtTWF0Y2hNb2RlO1xuICAgIGlmIChjaGFuZ2VzLmtlZXBpbmdTY3JvbGwpIHtcbiAgICAgIHRoaXMuc3J2LmtlZXBpbmdTY3JvbGwgPSB0aGlzLmtlZXBpbmdTY3JvbGw7XG4gICAgICB0aGlzLnNydi5rZWVwaW5nU2Nyb2xsQ29udGFpbmVyID0gdGhpcy5fa2VlcGluZ1Njcm9sbENvbnRhaW5lcjtcbiAgICB9XG4gICAgaWYgKGNoYW5nZXMuc3RvcmFnZVN0YXRlKSB0aGlzLnNydi5zdG9yYWdlU3RhdGUgPSB0aGlzLnN0b3JhZ2VTdGF0ZTtcblxuICAgIHRoaXMuc3J2LmRlYnVnID0gdGhpcy5kZWJ1ZztcblxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGNvbnN0IHsgZGVzdHJveSQgfSA9IHRoaXM7XG4gICAgZGVzdHJveSQubmV4dCgpO1xuICAgIGRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cbn1cbiIsIjxuei10YWJzZXRcbiAgI3RhYnNldFxuICBbbnpTZWxlY3RlZEluZGV4XT1cInBvc1wiXG4gIFtuekFuaW1hdGVkXT1cImZhbHNlXCJcbiAgW256VHlwZV09XCJ0YWJUeXBlXCJcbiAgW256VGFiQmFyRXh0cmFDb250ZW50XT1cInRhYkJhckV4dHJhQ29udGVudFwiXG4gIFtuelRhYkJhckd1dHRlcl09XCJ0YWJCYXJHdXR0ZXJcIlxuICBbbnpUYWJCYXJTdHlsZV09XCJ0YWJCYXJTdHlsZVwiXG4+XG4gIDxuei10YWIgKm5nRm9yPVwibGV0IGkgb2YgbGlzdDsgbGV0IGluZGV4ID0gaW5kZXhcIiBbbnpUaXRsZV09XCJ0aXRsZVRlbXBsYXRlXCIgKG56Q2xpY2spPVwiX3RvKGluZGV4KVwiPlxuICAgIDxuZy10ZW1wbGF0ZSAjdGl0bGVUZW1wbGF0ZT5cbiAgICAgIDxkaXZcbiAgICAgICAgW3JldXNlLXRhYi1jb250ZXh0LW1lbnVdPVwiaVwiXG4gICAgICAgIFtjdXN0b21Db250ZXh0TWVudV09XCJjdXN0b21Db250ZXh0TWVudVwiXG4gICAgICAgIGNsYXNzPVwicmV1c2UtdGFiX19uYW1lXCJcbiAgICAgICAgW2F0dHIudGl0bGVdPVwiaS50aXRsZVwiXG4gICAgICA+XG4gICAgICAgIDxzcGFuIFtjbGFzcy5yZXVzZS10YWJfX25hbWUtd2lkdGhdPVwidGFiTWF4V2lkdGhcIiBbc3R5bGUubWF4LXdpZHRoLnB4XT1cInRhYk1heFdpZHRoXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgKm5nSWY9XCJ0aXRsZVJlbmRlcjsgZWxzZSBkZWZhdWx0VGl0bGVcIlxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwidGl0bGVSZW5kZXJcIlxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBpIH1cIlxuICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRUaXRsZT57eyBpLnRpdGxlIH19PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgICA8aSAqbmdJZj1cImkuY2xvc2FibGVcIiBuei1pY29uIG56VHlwZT1cImNsb3NlXCIgY2xhc3M9XCJyZXVzZS10YWJfX29wXCIgKGNsaWNrKT1cIl9jbG9zZSgkZXZlbnQsIGluZGV4LCBmYWxzZSlcIj48L2k+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9uei10YWI+XG48L256LXRhYnNldD5cbjxyZXVzZS10YWItY29udGV4dCBbaTE4bl09XCJpMThuXCIgKGNoYW5nZSk9XCJjb250ZXh0TWVudUNoYW5nZSgkZXZlbnQpXCI+PC9yZXVzZS10YWItY29udGV4dD5cbiJdfQ==
@@ -0,0 +1,50 @@
1
+ import { OverlayModule } from '@angular/cdk/overlay';
2
+ import { CommonModule } from '@angular/common';
3
+ import { NgModule } from '@angular/core';
4
+ import { RouterModule } from '@angular/router';
5
+ import { DelonLocaleModule } from '@delon/theme';
6
+ import { NzIconModule } from 'ng-zorro-antd/icon';
7
+ import { NzMenuModule } from 'ng-zorro-antd/menu';
8
+ import { NzTabsModule } from 'ng-zorro-antd/tabs';
9
+ import { ReuseTabContextMenuComponent } from './reuse-tab-context-menu.component';
10
+ import { ReuseTabContextComponent } from './reuse-tab-context.component';
11
+ import { ReuseTabContextDirective } from './reuse-tab-context.directive';
12
+ import { ReuseTabComponent } from './reuse-tab.component';
13
+ import { ReuseTabLocalStorageState, REUSE_TAB_STORAGE_KEY, REUSE_TAB_STORAGE_STATE } from './reuse-tab.state';
14
+ import * as i0 from "@angular/core";
15
+ const COMPONENTS = [ReuseTabComponent];
16
+ const NOEXPORTS = [ReuseTabContextMenuComponent, ReuseTabContextComponent, ReuseTabContextDirective];
17
+ class ReuseTabModule {
18
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: ReuseTabModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
19
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.4", ngImport: i0, type: ReuseTabModule, declarations: [ReuseTabComponent, ReuseTabContextMenuComponent, ReuseTabContextComponent, ReuseTabContextDirective], imports: [CommonModule, RouterModule, DelonLocaleModule, NzMenuModule, NzTabsModule, NzIconModule, OverlayModule], exports: [ReuseTabComponent] }); }
20
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: ReuseTabModule, providers: [
21
+ {
22
+ provide: REUSE_TAB_STORAGE_KEY,
23
+ useValue: '_reuse-tab-state'
24
+ },
25
+ {
26
+ provide: REUSE_TAB_STORAGE_STATE,
27
+ useFactory: () => new ReuseTabLocalStorageState()
28
+ }
29
+ ], imports: [CommonModule, RouterModule, DelonLocaleModule, NzMenuModule, NzTabsModule, NzIconModule, OverlayModule] }); }
30
+ }
31
+ export { ReuseTabModule };
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: ReuseTabModule, decorators: [{
33
+ type: NgModule,
34
+ args: [{
35
+ imports: [CommonModule, RouterModule, DelonLocaleModule, NzMenuModule, NzTabsModule, NzIconModule, OverlayModule],
36
+ declarations: [...COMPONENTS, ...NOEXPORTS],
37
+ providers: [
38
+ {
39
+ provide: REUSE_TAB_STORAGE_KEY,
40
+ useValue: '_reuse-tab-state'
41
+ },
42
+ {
43
+ provide: REUSE_TAB_STORAGE_STATE,
44
+ useFactory: () => new ReuseTabLocalStorageState()
45
+ }
46
+ ],
47
+ exports: COMPONENTS
48
+ }]
49
+ }] });
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmV1c2UtdGFiLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FiYy9yZXVzZS10YWIvcmV1c2UtdGFiLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDckQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNqRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVsRCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNsRixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUscUJBQXFCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFFOUcsTUFBTSxVQUFVLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0FBQ3ZDLE1BQU0sU0FBUyxHQUFHLENBQUMsNEJBQTRCLEVBQUUsd0JBQXdCLEVBQUUsd0JBQXdCLENBQUMsQ0FBQztBQUVyRyxNQWVhLGNBQWM7OEdBQWQsY0FBYzsrR0FBZCxjQUFjLGlCQWxCUCxpQkFBaUIsRUFDbEIsNEJBQTRCLEVBQUUsd0JBQXdCLEVBQUUsd0JBQXdCLGFBR3ZGLFlBQVksRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsYUFBYSxhQUo5RixpQkFBaUI7K0dBa0J4QixjQUFjLGFBWmQ7WUFDVDtnQkFDRSxPQUFPLEVBQUUscUJBQXFCO2dCQUM5QixRQUFRLEVBQUUsa0JBQWtCO2FBQzdCO1lBQ0Q7Z0JBQ0UsT0FBTyxFQUFFLHVCQUF1QjtnQkFDaEMsVUFBVSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUkseUJBQXlCLEVBQUU7YUFDbEQ7U0FDRixZQVhTLFlBQVksRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsYUFBYTs7U0FjckcsY0FBYzsyRkFBZCxjQUFjO2tCQWYxQixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsYUFBYSxDQUFDO29CQUNqSCxZQUFZLEVBQUUsQ0FBQyxHQUFHLFVBQVUsRUFBRSxHQUFHLFNBQVMsQ0FBQztvQkFDM0MsU0FBUyxFQUFFO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxxQkFBcUI7NEJBQzlCLFFBQVEsRUFBRSxrQkFBa0I7eUJBQzdCO3dCQUNEOzRCQUNFLE9BQU8sRUFBRSx1QkFBdUI7NEJBQ2hDLFVBQVUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLHlCQUF5QixFQUFFO3lCQUNsRDtxQkFDRjtvQkFDRCxPQUFPLEVBQUUsVUFBVTtpQkFDcEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPdmVybGF5TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQgeyBEZWxvbkxvY2FsZU1vZHVsZSB9IGZyb20gJ0BkZWxvbi90aGVtZSc7XG5pbXBvcnQgeyBOekljb25Nb2R1bGUgfSBmcm9tICduZy16b3Jyby1hbnRkL2ljb24nO1xuaW1wb3J0IHsgTnpNZW51TW9kdWxlIH0gZnJvbSAnbmctem9ycm8tYW50ZC9tZW51JztcbmltcG9ydCB7IE56VGFic01vZHVsZSB9IGZyb20gJ25nLXpvcnJvLWFudGQvdGFicyc7XG5cbmltcG9ydCB7IFJldXNlVGFiQ29udGV4dE1lbnVDb21wb25lbnQgfSBmcm9tICcuL3JldXNlLXRhYi1jb250ZXh0LW1lbnUuY29tcG9uZW50JztcbmltcG9ydCB7IFJldXNlVGFiQ29udGV4dENvbXBvbmVudCB9IGZyb20gJy4vcmV1c2UtdGFiLWNvbnRleHQuY29tcG9uZW50JztcbmltcG9ydCB7IFJldXNlVGFiQ29udGV4dERpcmVjdGl2ZSB9IGZyb20gJy4vcmV1c2UtdGFiLWNvbnRleHQuZGlyZWN0aXZlJztcbmltcG9ydCB7IFJldXNlVGFiQ29tcG9uZW50IH0gZnJvbSAnLi9yZXVzZS10YWIuY29tcG9uZW50JztcbmltcG9ydCB7IFJldXNlVGFiTG9jYWxTdG9yYWdlU3RhdGUsIFJFVVNFX1RBQl9TVE9SQUdFX0tFWSwgUkVVU0VfVEFCX1NUT1JBR0VfU1RBVEUgfSBmcm9tICcuL3JldXNlLXRhYi5zdGF0ZSc7XG5cbmNvbnN0IENPTVBPTkVOVFMgPSBbUmV1c2VUYWJDb21wb25lbnRdO1xuY29uc3QgTk9FWFBPUlRTID0gW1JldXNlVGFiQ29udGV4dE1lbnVDb21wb25lbnQsIFJldXNlVGFiQ29udGV4dENvbXBvbmVudCwgUmV1c2VUYWJDb250ZXh0RGlyZWN0aXZlXTtcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgUm91dGVyTW9kdWxlLCBEZWxvbkxvY2FsZU1vZHVsZSwgTnpNZW51TW9kdWxlLCBOelRhYnNNb2R1bGUsIE56SWNvbk1vZHVsZSwgT3ZlcmxheU1vZHVsZV0sXG4gIGRlY2xhcmF0aW9uczogWy4uLkNPTVBPTkVOVFMsIC4uLk5PRVhQT1JUU10sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IFJFVVNFX1RBQl9TVE9SQUdFX0tFWSxcbiAgICAgIHVzZVZhbHVlOiAnX3JldXNlLXRhYi1zdGF0ZSdcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IFJFVVNFX1RBQl9TVE9SQUdFX1NUQVRFLFxuICAgICAgdXNlRmFjdG9yeTogKCkgPT4gbmV3IFJldXNlVGFiTG9jYWxTdG9yYWdlU3RhdGUoKVxuICAgIH1cbiAgXSxcbiAgZXhwb3J0czogQ09NUE9ORU5UU1xufSlcbmV4cG9ydCBjbGFzcyBSZXVzZVRhYk1vZHVsZSB7fVxuIl19