@kne-components/components-core 0.1.21 → 0.1.22

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 (180) hide show
  1. package/build/asset-manifest.json +130 -130
  2. package/build/index.html +1 -1
  3. package/build/remoteEntry.js +1 -1
  4. package/build/remoteEntry.js.map +1 -1
  5. package/build/static/css/1151.528279c8.chunk.css +2 -0
  6. package/build/static/css/{1151.9c9e2a72.chunk.css.map → 1151.528279c8.chunk.css.map} +1 -1
  7. package/build/static/css/1153.c9977f05.chunk.css +2 -0
  8. package/build/static/css/1153.c9977f05.chunk.css.map +1 -0
  9. package/build/static/css/1454.b3aa164f.chunk.css +2 -0
  10. package/build/static/css/{1454.61280de0.chunk.css.map → 1454.b3aa164f.chunk.css.map} +1 -1
  11. package/build/static/css/1554.9b7ab073.chunk.css +2 -0
  12. package/build/static/css/{1554.4f9c7bb4.chunk.css.map → 1554.9b7ab073.chunk.css.map} +1 -1
  13. package/build/static/css/1932.6c3d5305.chunk.css +2 -0
  14. package/build/static/css/{1932.35470b32.chunk.css.map → 1932.6c3d5305.chunk.css.map} +1 -1
  15. package/build/static/css/2503.d029ea66.chunk.css +2 -0
  16. package/build/static/css/{2503.a6539020.chunk.css.map → 2503.d029ea66.chunk.css.map} +1 -1
  17. package/build/static/css/2517.a7a3f6d6.chunk.css +2 -0
  18. package/build/static/css/{2517.507e583e.chunk.css.map → 2517.a7a3f6d6.chunk.css.map} +1 -1
  19. package/build/static/css/2526.297406dc.chunk.css +2 -0
  20. package/build/static/css/{2526.150d63dc.chunk.css.map → 2526.297406dc.chunk.css.map} +1 -1
  21. package/build/static/css/2716.147934de.chunk.css +2 -0
  22. package/build/static/css/{2716.8d85e7b1.chunk.css.map → 2716.147934de.chunk.css.map} +1 -1
  23. package/build/static/css/2730.6b980cbd.chunk.css +2 -0
  24. package/build/static/css/{2730.731ef5b2.chunk.css.map → 2730.6b980cbd.chunk.css.map} +1 -1
  25. package/build/static/css/2999.a33cce56.chunk.css +2 -0
  26. package/build/static/css/2999.a33cce56.chunk.css.map +1 -0
  27. package/build/static/css/3333.3fdd9d8e.chunk.css +2 -0
  28. package/build/static/css/{3333.845d0858.chunk.css.map → 3333.3fdd9d8e.chunk.css.map} +1 -1
  29. package/build/static/css/{3843.0c610b17.chunk.css → 3843.a1b48f6e.chunk.css} +2 -2
  30. package/build/static/css/{3843.0c610b17.chunk.css.map → 3843.a1b48f6e.chunk.css.map} +1 -1
  31. package/build/static/css/4666.232dafaa.chunk.css +2 -0
  32. package/build/static/css/{4666.dad81e9f.chunk.css.map → 4666.232dafaa.chunk.css.map} +1 -1
  33. package/build/static/css/5362.b6cd469b.chunk.css +2 -0
  34. package/build/static/css/{5362.6f1b9688.chunk.css.map → 5362.b6cd469b.chunk.css.map} +1 -1
  35. package/build/static/css/5600.53f1aaa7.chunk.css +2 -0
  36. package/build/static/css/{5600.6aee992a.chunk.css.map → 5600.53f1aaa7.chunk.css.map} +1 -1
  37. package/build/static/css/5654.4bd7dffc.chunk.css +2 -0
  38. package/build/static/css/{5654.d0f67cc7.chunk.css.map → 5654.4bd7dffc.chunk.css.map} +1 -1
  39. package/build/static/css/5846.fa57db37.chunk.css +2 -0
  40. package/build/static/css/5846.fa57db37.chunk.css.map +1 -0
  41. package/build/static/css/5868.fdcca2a3.chunk.css +2 -0
  42. package/build/static/css/5868.fdcca2a3.chunk.css.map +1 -0
  43. package/build/static/css/{5996.d6ba27b1.chunk.css → 5996.654719b1.chunk.css} +2 -2
  44. package/build/static/css/{5996.d6ba27b1.chunk.css.map → 5996.654719b1.chunk.css.map} +1 -1
  45. package/build/static/css/6779.ed5b5575.chunk.css +2 -0
  46. package/build/static/css/{6779.d7fe5a00.chunk.css.map → 6779.ed5b5575.chunk.css.map} +1 -1
  47. package/build/static/css/7227.64b335ea.chunk.css +2 -0
  48. package/build/static/css/{7227.4123d00b.chunk.css.map → 7227.64b335ea.chunk.css.map} +1 -1
  49. package/build/static/css/8072.fc9b4385.chunk.css +2 -0
  50. package/build/static/css/8072.fc9b4385.chunk.css.map +1 -0
  51. package/build/static/css/8148.51337322.chunk.css +2 -0
  52. package/build/static/css/{8148.ec26c81e.chunk.css.map → 8148.51337322.chunk.css.map} +1 -1
  53. package/build/static/css/{8725.ceb337ad.chunk.css → 8725.d319a2cb.chunk.css} +2 -2
  54. package/build/static/css/{8725.ceb337ad.chunk.css.map → 8725.d319a2cb.chunk.css.map} +1 -1
  55. package/build/static/css/9053.eb93ed2d.chunk.css +2 -0
  56. package/build/static/css/{9053.71dc14f6.chunk.css.map → 9053.eb93ed2d.chunk.css.map} +1 -1
  57. package/build/static/css/931.414fc8bb.chunk.css +2 -0
  58. package/build/static/css/931.414fc8bb.chunk.css.map +1 -0
  59. package/build/static/css/9390.f2205924.chunk.css +2 -0
  60. package/build/static/css/{9390.977507bc.chunk.css.map → 9390.f2205924.chunk.css.map} +1 -1
  61. package/build/static/css/9449.640c0653.chunk.css +2 -0
  62. package/build/static/css/{9449.c6cdd4a9.chunk.css.map → 9449.640c0653.chunk.css.map} +1 -1
  63. package/build/static/css/9689.17f95fe5.chunk.css +2 -0
  64. package/build/static/css/9689.17f95fe5.chunk.css.map +1 -0
  65. package/build/static/js/{1153.e28eba1e.chunk.js → 1153.cc0f7824.chunk.js} +3 -3
  66. package/build/static/js/{1153.e28eba1e.chunk.js.map → 1153.cc0f7824.chunk.js.map} +1 -1
  67. package/build/static/js/{1454.54a6ba93.chunk.js → 1454.c5e94611.chunk.js} +3 -3
  68. package/build/static/js/{1454.54a6ba93.chunk.js.map → 1454.c5e94611.chunk.js.map} +1 -1
  69. package/build/static/js/{1554.a5ac35aa.chunk.js → 1554.04484e55.chunk.js} +3 -3
  70. package/build/static/js/{1554.a5ac35aa.chunk.js.map → 1554.04484e55.chunk.js.map} +1 -1
  71. package/build/static/js/{1664.8b1a7e8a.chunk.js → 1664.99aacc59.chunk.js} +2 -2
  72. package/build/static/js/{1664.8b1a7e8a.chunk.js.map → 1664.99aacc59.chunk.js.map} +1 -1
  73. package/build/static/js/{1932.439db4af.chunk.js → 1932.b7822314.chunk.js} +2 -2
  74. package/build/static/js/{1932.439db4af.chunk.js.map → 1932.b7822314.chunk.js.map} +1 -1
  75. package/build/static/js/{2503.cb05f351.chunk.js → 2503.0912d194.chunk.js} +2 -2
  76. package/build/static/js/{2503.cb05f351.chunk.js.map → 2503.0912d194.chunk.js.map} +1 -1
  77. package/build/static/js/{2517.35f66254.chunk.js → 2517.b18b1ef8.chunk.js} +2 -2
  78. package/build/static/js/{2517.35f66254.chunk.js.map → 2517.b18b1ef8.chunk.js.map} +1 -1
  79. package/build/static/js/{2526.a3e2c8c3.chunk.js → 2526.1b4b5286.chunk.js} +2 -2
  80. package/build/static/js/{2526.a3e2c8c3.chunk.js.map → 2526.1b4b5286.chunk.js.map} +1 -1
  81. package/build/static/js/{2716.5edebbcf.chunk.js → 2716.a693ce02.chunk.js} +3 -3
  82. package/build/static/js/{2716.5edebbcf.chunk.js.map → 2716.a693ce02.chunk.js.map} +1 -1
  83. package/build/static/js/2730.7ca1e9d0.chunk.js +2 -0
  84. package/build/static/js/{2730.8883fa89.chunk.js.map → 2730.7ca1e9d0.chunk.js.map} +1 -1
  85. package/build/static/js/{2999.fa844ce6.chunk.js → 2999.68d616c5.chunk.js} +2 -2
  86. package/build/static/js/{2999.fa844ce6.chunk.js.map → 2999.68d616c5.chunk.js.map} +1 -1
  87. package/build/static/js/{3333.fefcc4b8.chunk.js → 3333.b0ea9c2a.chunk.js} +2 -2
  88. package/build/static/js/{3333.fefcc4b8.chunk.js.map → 3333.b0ea9c2a.chunk.js.map} +1 -1
  89. package/build/static/js/{36.91c85a3d.chunk.js → 36.0474b62c.chunk.js} +2 -2
  90. package/build/static/js/{36.91c85a3d.chunk.js.map → 36.0474b62c.chunk.js.map} +1 -1
  91. package/build/static/js/{3843.73f83506.chunk.js → 3843.0fe26ab6.chunk.js} +2 -2
  92. package/build/static/js/{3843.73f83506.chunk.js.map → 3843.0fe26ab6.chunk.js.map} +1 -1
  93. package/build/static/js/{4666.243aacaf.chunk.js → 4666.00fa6e61.chunk.js} +2 -2
  94. package/build/static/js/{4666.243aacaf.chunk.js.map → 4666.00fa6e61.chunk.js.map} +1 -1
  95. package/build/static/js/{5362.dca69f87.chunk.js → 5362.54c5fd82.chunk.js} +3 -3
  96. package/build/static/js/{5362.dca69f87.chunk.js.map → 5362.54c5fd82.chunk.js.map} +1 -1
  97. package/build/static/js/{5600.f3d2d6ed.chunk.js → 5600.2c45bb5c.chunk.js} +2 -2
  98. package/build/static/js/{5600.f3d2d6ed.chunk.js.map → 5600.2c45bb5c.chunk.js.map} +1 -1
  99. package/build/static/js/{5654.e8a32350.chunk.js → 5654.0e258093.chunk.js} +2 -2
  100. package/build/static/js/{5654.e8a32350.chunk.js.map → 5654.0e258093.chunk.js.map} +1 -1
  101. package/build/static/js/5846.5cc8dfec.chunk.js +2 -0
  102. package/build/static/js/5846.5cc8dfec.chunk.js.map +1 -0
  103. package/build/static/js/{5868.4dfd67db.chunk.js → 5868.dda7e44a.chunk.js} +2 -2
  104. package/build/static/js/{5868.4dfd67db.chunk.js.map → 5868.dda7e44a.chunk.js.map} +1 -1
  105. package/build/static/js/{5996.57c96287.chunk.js → 5996.89f2645c.chunk.js} +2 -2
  106. package/build/static/js/{5996.57c96287.chunk.js.map → 5996.89f2645c.chunk.js.map} +1 -1
  107. package/build/static/js/{6779.c35a2000.chunk.js → 6779.ff3b85ec.chunk.js} +2 -2
  108. package/build/static/js/{6779.c35a2000.chunk.js.map → 6779.ff3b85ec.chunk.js.map} +1 -1
  109. package/build/static/js/{7227.ec0bec00.chunk.js → 7227.aec8ce5b.chunk.js} +3 -3
  110. package/build/static/js/{7227.ec0bec00.chunk.js.map → 7227.aec8ce5b.chunk.js.map} +1 -1
  111. package/build/static/js/{7777.4660e5c5.chunk.js → 7777.bc000b32.chunk.js} +2 -2
  112. package/build/static/js/{7777.4660e5c5.chunk.js.map → 7777.bc000b32.chunk.js.map} +1 -1
  113. package/build/static/js/{7967.5581b805.chunk.js → 7967.f2590b67.chunk.js} +2 -2
  114. package/build/static/js/{7967.5581b805.chunk.js.map → 7967.f2590b67.chunk.js.map} +1 -1
  115. package/build/static/js/{8072.dd431964.chunk.js → 8072.9fb38cfd.chunk.js} +2 -2
  116. package/build/static/js/8072.9fb38cfd.chunk.js.map +1 -0
  117. package/build/static/js/{8148.03a8206b.chunk.js → 8148.0c1a61f7.chunk.js} +3 -3
  118. package/build/static/js/{8148.03a8206b.chunk.js.map → 8148.0c1a61f7.chunk.js.map} +1 -1
  119. package/build/static/js/{8151.50e6bb94.chunk.js → 8151.5e6b5223.chunk.js} +2 -2
  120. package/build/static/js/{8151.50e6bb94.chunk.js.map → 8151.5e6b5223.chunk.js.map} +1 -1
  121. package/build/static/js/{8725.9b7795f5.chunk.js → 8725.2b8cc03c.chunk.js} +2 -2
  122. package/build/static/js/{8725.9b7795f5.chunk.js.map → 8725.2b8cc03c.chunk.js.map} +1 -1
  123. package/build/static/js/{9053.5b3f4807.chunk.js → 9053.d015d2b8.chunk.js} +3 -3
  124. package/build/static/js/{9053.5b3f4807.chunk.js.map → 9053.d015d2b8.chunk.js.map} +1 -1
  125. package/build/static/js/{931.e843a121.chunk.js → 931.81c99bc9.chunk.js} +2 -2
  126. package/build/static/js/{931.e843a121.chunk.js.map → 931.81c99bc9.chunk.js.map} +1 -1
  127. package/build/static/js/{9390.eb4ab7b2.chunk.js → 9390.07cbce72.chunk.js} +2 -2
  128. package/build/static/js/{9390.eb4ab7b2.chunk.js.map → 9390.07cbce72.chunk.js.map} +1 -1
  129. package/build/static/js/9449.3dc7ed14.chunk.js +2 -0
  130. package/build/static/js/{9449.b24d6b3e.chunk.js.map → 9449.3dc7ed14.chunk.js.map} +1 -1
  131. package/build/static/js/{main.f1119ab2.js → main.9c7e3e42.js} +2 -2
  132. package/build/static/js/{main.f1119ab2.js.map → main.9c7e3e42.js.map} +1 -1
  133. package/package.json +1 -1
  134. package/build/static/css/1151.9c9e2a72.chunk.css +0 -2
  135. package/build/static/css/1153.b51569b8.chunk.css +0 -2
  136. package/build/static/css/1153.b51569b8.chunk.css.map +0 -1
  137. package/build/static/css/1454.61280de0.chunk.css +0 -2
  138. package/build/static/css/1554.4f9c7bb4.chunk.css +0 -2
  139. package/build/static/css/1932.35470b32.chunk.css +0 -2
  140. package/build/static/css/2503.a6539020.chunk.css +0 -2
  141. package/build/static/css/2517.507e583e.chunk.css +0 -2
  142. package/build/static/css/2526.150d63dc.chunk.css +0 -2
  143. package/build/static/css/2716.8d85e7b1.chunk.css +0 -2
  144. package/build/static/css/2730.731ef5b2.chunk.css +0 -2
  145. package/build/static/css/2999.9693d5ac.chunk.css +0 -2
  146. package/build/static/css/2999.9693d5ac.chunk.css.map +0 -1
  147. package/build/static/css/3333.845d0858.chunk.css +0 -2
  148. package/build/static/css/4666.dad81e9f.chunk.css +0 -2
  149. package/build/static/css/5362.6f1b9688.chunk.css +0 -2
  150. package/build/static/css/5600.6aee992a.chunk.css +0 -2
  151. package/build/static/css/5654.d0f67cc7.chunk.css +0 -2
  152. package/build/static/css/5846.e86e3c6e.chunk.css +0 -2
  153. package/build/static/css/5846.e86e3c6e.chunk.css.map +0 -1
  154. package/build/static/css/5868.7d59bee4.chunk.css +0 -2
  155. package/build/static/css/5868.7d59bee4.chunk.css.map +0 -1
  156. package/build/static/css/6779.d7fe5a00.chunk.css +0 -2
  157. package/build/static/css/7227.4123d00b.chunk.css +0 -2
  158. package/build/static/css/8072.8c8806ba.chunk.css +0 -2
  159. package/build/static/css/8072.8c8806ba.chunk.css.map +0 -1
  160. package/build/static/css/8148.ec26c81e.chunk.css +0 -2
  161. package/build/static/css/9053.71dc14f6.chunk.css +0 -2
  162. package/build/static/css/931.17c4874f.chunk.css +0 -2
  163. package/build/static/css/931.17c4874f.chunk.css.map +0 -1
  164. package/build/static/css/9390.977507bc.chunk.css +0 -2
  165. package/build/static/css/9449.c6cdd4a9.chunk.css +0 -2
  166. package/build/static/css/9689.1145e4a1.chunk.css +0 -2
  167. package/build/static/css/9689.1145e4a1.chunk.css.map +0 -1
  168. package/build/static/js/2730.8883fa89.chunk.js +0 -2
  169. package/build/static/js/5846.3e2c3d73.chunk.js +0 -2
  170. package/build/static/js/5846.3e2c3d73.chunk.js.map +0 -1
  171. package/build/static/js/8072.dd431964.chunk.js.map +0 -1
  172. package/build/static/js/9449.b24d6b3e.chunk.js +0 -2
  173. /package/build/static/js/{1153.e28eba1e.chunk.js.LICENSE.txt → 1153.cc0f7824.chunk.js.LICENSE.txt} +0 -0
  174. /package/build/static/js/{1454.54a6ba93.chunk.js.LICENSE.txt → 1454.c5e94611.chunk.js.LICENSE.txt} +0 -0
  175. /package/build/static/js/{1554.a5ac35aa.chunk.js.LICENSE.txt → 1554.04484e55.chunk.js.LICENSE.txt} +0 -0
  176. /package/build/static/js/{2716.5edebbcf.chunk.js.LICENSE.txt → 2716.a693ce02.chunk.js.LICENSE.txt} +0 -0
  177. /package/build/static/js/{5362.dca69f87.chunk.js.LICENSE.txt → 5362.54c5fd82.chunk.js.LICENSE.txt} +0 -0
  178. /package/build/static/js/{7227.ec0bec00.chunk.js.LICENSE.txt → 7227.aec8ce5b.chunk.js.LICENSE.txt} +0 -0
  179. /package/build/static/js/{8148.03a8206b.chunk.js.LICENSE.txt → 8148.0c1a61f7.chunk.js.LICENSE.txt} +0 -0
  180. /package/build/static/js/{9053.5b3f4807.chunk.js.LICENSE.txt → 9053.d015d2b8.chunk.js.LICENSE.txt} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"static/js/2999.fa844ce6.chunk.js","mappings":"oKAAA,MA4BA,EA5BqB,CACnBA,QAAUC,IACR,MAAMC,EAASC,OAAOC,aAAaJ,QAAQC,GAC3C,IACE,MAAM,SAAEI,EAAQ,MAAEC,GAAUC,KAAKC,MAAMN,GACvC,GAAiB,WAAbG,GAAmC,SAAVC,EAC3B,OAAO,KAET,GAAiB,cAAbD,EACF,OAEF,MAAiB,WAAbA,EACKI,OAAOH,GAEC,YAAbD,EACKK,QAAQJ,GAEVA,CACT,CAAE,MAAOK,GACP,OAAO,IACT,GAEFC,QAASA,CAACX,EAAKK,KACb,MAAMD,SAAkBC,EACxBH,OAAOC,aAAaQ,QAAQX,EAAKM,KAAKM,UAAU,CAAER,WAAUC,UAAS,E,4LCvBzE,QAAkC,sCAAlC,EAA2F,uCAA3F,EAAiJ,mC,eCWjJ,MAAMQ,EAAcC,IAAwC,IAAvC,KAAEC,EAAI,KAAEC,EAAI,QAAEC,KAAYC,GAAOJ,EACpD,MAAMK,EAAaC,IAAKF,EAAO,CAAC,OAAQ,QAAS,QAAS,WACnDG,EAAYC,IAAiBC,EAAAA,EAAAA,UAASR,EAAKS,QAC5CC,GAAeC,EAAAA,EAAAA,mBACfC,EAAiBC,KAAe,KACpC,MAAMC,EAAKC,EAAUC,QACnBC,EAASC,EAAQF,QACjBG,EAAUC,EAAIJ,QAEVK,EAAYP,EAAGQ,iBAAiB,sBACtC,IAAKD,EACH,OAEF,MAAME,EAAiBF,EAAUZ,OACjC,GAAyB,IAArBY,EAAUZ,OACZ,OAEF,MAAMe,EAAcL,EAAQM,YAC1BC,EAAeT,EAAOQ,YACtBE,EACMzB,EACK,EAGL,CAAC,QAAS,SAAU,SAAS0B,QAAQxB,EAAWyB,OAAS,EAEK,GAA7D,CAAC,QAAS,SAAU,SAASD,QAAQxB,EAAWyB,MAAQ,GAIzDpC,OAAOqC,UAAU1B,EAAWyB,MACvBzB,EAAWyB,KAEb,EAEX,IAAIE,EAAe,EACjBC,EAAc,EACdC,EAAkB,GAAGC,IAAIC,KAAKd,GAAYP,GAAOA,EAAGsB,cAEtD,KACEZ,GACEQ,EACEC,EAAgBF,GAChBA,EAAeJ,GACnBI,EAAeR,GAEfS,GAAeC,EAAgBF,GAC/BA,GAAgB,EAGlB,KACEP,EACEQ,GACGD,EAAe,GAAKJ,GACpBI,EAAeR,EAAiBG,EAAeC,EAAa,IACjEI,EAAe,GAEfC,GAAeC,EAAgBF,EAAe,GAC9CA,GAAgB,GAGlBM,EAAAA,EAAAA,kBAAgB,KACd9B,EAAcwB,EAAa,GAC3B,IAEEX,GAAMkB,EAAAA,EAAAA,GAAU1B,GAChBG,GAAYuB,EAAAA,EAAAA,GAAU1B,GACtBM,GAAUoB,EAAAA,EAAAA,GAAU1B,GAEpB2B,EAAYvC,EAAKwC,MAAMlC,GAEvBmC,EAAeA,CAAAC,EAAmCC,KAAW,IAA7C,UAAEC,EAAS,QAAEC,KAAY1C,GAAOuC,EACpD,MAAMI,EAAYD,GAAW1C,EAAM4C,QAC7BC,EAAgBF,EAAYG,EAAAA,QAAgBC,EAAAA,QAClD,OACEC,EAAAA,EAAAA,eAACH,EAAa,CACZI,OAAQN,IAAgC,IAAnB3C,EAAMkD,YACvBlD,EACJlB,IAAK0D,EACLC,UAAWU,IAAW,oBAAqBV,IAC3C,EAIAW,EAAiBrD,EAAUsD,EAAAA,MAAMC,QAAUD,EAAAA,MAEjD,OACEE,EAAAA,EAAAA,MAAAC,EAAAA,SAAA,CAAAC,SAAA,EACEC,EAAAA,EAAAA,KAAA,OAAKjB,UAAWkB,EAA0B1C,IAAKA,KAC/CsC,EAAAA,EAAAA,MAAA,OAAKd,UAAWkB,EAA0BF,SAAA,EACxCC,EAAAA,EAAAA,KAAA,OAAKjB,UAAWkB,EAAuB1C,IAAKF,EAAQ0C,SACjD3D,KAEH4D,EAAAA,EAAAA,KAAA,OAAKjB,UAAWkB,EAAuB1C,IAAKL,EAAU6C,UACpDC,EAAAA,EAAAA,KAACN,EAAc,IAAKnD,EAAUwD,SAC3B5D,EAAKkC,IAAIO,WAIhBiB,EAAAA,EAAAA,MAACH,EAAc,IAAKnD,EAAUwD,SAAA,CAC3B5D,EAAKwC,MAAM,EAAGlC,GAAY4B,IAAIO,GAC9BF,EAAU9B,OAAS,IAClBoD,EAAAA,EAAAA,KAACE,EAAAA,SAAQ,CACPC,KAAM,CACJC,MAAO1B,EAAUL,KACf,CAAAgC,EAWEjF,KAAG,IAVH,SACE2E,EAAQ,QACRf,EAAO,QACPE,EAAO,QACPoB,EAAO,MACPC,EAAK,SACLf,EAAQ,OACRgB,KACGlE,GACJ+D,EAAA,MAEG,IACD/D,EACHlB,MACAqF,MAAOV,EACPO,QAAUxE,IACUkD,GAAWE,EAEzBrC,EAAa,CACX0C,QAAqB,IAAbC,EACRkB,KAAM,UACNH,QACArB,QAASA,GAAW,wCACpByB,KAAML,EACNE,OAAQA,IAAwB,IAAbhB,GAAsB,iBAE3Cc,GAAWA,EAAQxE,EAAE,EAE5B,KAEHiE,SAED3D,SAIN,EAIPH,EAAY2E,aAAe,CACzBxE,MACEyD,EAAAA,EAAAA,MAACgB,EAAAA,OAAM,CAAAd,SAAA,CAAC,gBAENC,EAAAA,EAAAA,KAACc,EAAAA,QAAI,CAACJ,KAAK,6BAKjB,S,8HCvKA,MAOA,EAPwBK,IACf,CACL,QAASC,IAAM,gCACf,QAASC,IAAM,iCACfF,M,wDCHJ,QAA0B,8BAA1B,EAAoE,gCAApE,EAA4G,4BAA5G,EAAkJ,8BAAlJ,EAA4L,gC,eCQrL,MAAMG,EAAeC,IAC1B,MAAMC,GAAmBC,EAAAA,EAAAA,gBAAe,CACtCC,WAAY,gBACZC,eACF,GAHyBF,EAIvBnF,IAcO,IAdN,MACCqE,EAAK,QACLrB,EAAO,SACPM,GAAW,EAAI,QACfc,EAAO,SACPkB,EAAQ,SACRC,EAAQ,WACRC,EAAU,WACVC,EAAU,QACVC,EAAO,OACPpB,EAAM,UACNqB,EAAS,aACTC,KACGxF,GACJJ,EACC,MAAM,cAAE6F,IAAkBC,EAAAA,EAAAA,SAAQ,CAAEV,WAAY,kBAC1CW,GAAQC,EAAAA,EAAAA,YACd,OAAIN,GAEA5B,EAAAA,EAAAA,KAACmB,EAAgB,IACX7E,EACJgE,QAAUxE,IACR,MAAMqG,EAAe,CACnBpC,SAAU4B,GAAcI,EAAc,CAAEK,GAAI,WAC5C9B,QAASkB,GAELa,EAAgB,CACpB3B,KAAM,UACNX,SAAUS,GAGNuB,EADAvC,EACc,CAAE4C,GAAI,UACN,CAAEA,GAAI,YACxB9B,QAASA,IAAMA,EAAQxE,GACvByD,OAAQC,GAEVyC,EAAM,CACJ1B,MAAOA,IACLV,EAAAA,EAAAA,MAACF,EAAAA,MAAK,CAAC3B,KAAM,EAAGe,UAAWkB,EAAeF,SAAA,EACxCC,EAAAA,EAAAA,KAACc,EAAAA,QAAI,CAAC/B,UAAU,aAAa2B,KAAK,yBACjCH,KAGLuB,eACAQ,cAAe7C,IAAWQ,EAAkB,CAC1C,CAACA,GAAqBT,IAExBO,UACEF,EAAAA,EAAAA,MAACF,EAAAA,MAAK,CACJ3B,KAAM,EACNe,UAAWU,IAAWQ,EAAkB,CACtC,CAACA,GAAqBM,IACrBR,SAAA,EAEDQ,IACAP,EAAAA,EAAAA,KAACc,EAAAA,QAAI,CACH/B,UAAU,aACV2B,KAAK,yBAGRxB,GAAW6C,EAAc,CAAEK,GAAI,eAGpCG,cAAeb,EACX,CAACS,EAAcE,GACf,CAACA,IACL,KAMRrC,EAAAA,EAAAA,KAACwC,EAAAA,WAAU,CACTjC,OACEV,EAAAA,EAAAA,MAACF,EAAAA,MAAK,CACJ8C,UAAU,WACVnC,QAAUxE,IACRA,EAAE4G,iBAAiB,EACnB3C,SAAA,CAEDQ,IACCV,EAAAA,EAAAA,MAACF,EAAAA,MAAK,CAAC3B,KAAM,EAAG2E,MAAM,QAAQ5D,UAAWkB,EAAeF,SAAA,EACtDC,EAAAA,EAAAA,KAACc,EAAAA,QAAI,CAAC/B,UAAU,aAAa2B,KAAK,yBACjCH,MAGLV,EAAAA,EAAAA,MAACF,EAAAA,MAAK,CACJ3B,KAAM,EACN2E,MAAM,QACN5D,UAAWU,IAAWQ,EAAkB,CACtC,CAACA,GAAqBM,IACrBR,SAAA,EAEDQ,IACAP,EAAAA,EAAAA,KAACc,EAAAA,QAAI,CAAC/B,UAAU,aAAa2B,KAAK,yBAEnCxB,GAAW6C,EAAc,CAAEK,GAAI,kBAItCP,UAAWA,EACXe,UAAWtC,EACXuC,cAAe,CACbtD,OAAQC,GAEVgC,SAAUA,EACVsB,iBAAkBrD,IAAWQ,EAAkB,CAC7C,CAACA,GAAqBT,IAExBuD,kBAAmBjB,EACnBL,SAAUA,EACVC,WAAYA,EACZC,WAAYA,EACZnB,OACEA,GAGIuB,EADAvC,EACc,CAAE4C,GAAI,UACN,CAAEA,GAAI,YACzBrC,UAEDC,EAAAA,EAAAA,KAACmB,EAAgB,IAAK7E,EAAOmF,SAAUA,KAC5B,IASnB,OAJAL,EAAiBR,aAAe,CAC9BgB,SAAS,GAGJR,CAAgB,EAGZ4B,EAAc9B,EAAY+B,EAAAA,WAAWC,MACrCC,EAAcjC,EAAY+B,EAAAA,WAAWG,MAElD,EAAelC,EAAYL,EAAAA,O,wICjJ3B,MAAMwC,EAAc,CAClB,CACE,SACA,IAAM,CACJ,CAAE5H,MAAO,IAAK6H,YAAa,UAC3B,CACE7H,MAAO,IACP6H,YAAa,YAInB,CACE,UACA,IAAM,CACJ,CAAEA,YAAa,eAAM7H,MAAO,KAC5B,CACE6H,YAAa,eACb7H,MAAO,OAIb,CACE,UACA,IAAM,CACJ,CAAE6H,YAAa,SAAK7H,MAAO,KAC3B,CACE6H,YAAa,SACb7H,MAAO,OAIb,CACE,YACA,IAAM,CACJ,CAAE6H,YAAa,2BAAQ7H,MAAO,4BAC9B,CACE6H,YAAa,2BACb7H,MAAO,4BAET,CAAE6H,YAAa,eAAM7H,MAAO,gBAC5B,CACE6H,YAAa,2BACb7H,MAAO,8BAIb,CACE,iBACA,IAAM,CACJ,CACEA,MAAO,EACP6H,YAAa,gBAEf,CACE7H,MAAO,EACP6H,YAAa,gBAEf,CACE7H,MAAO,EACP6H,YAAa,gBAEf,CACE7H,MAAO,EACP6H,YAAa,gBAEf,CACE7H,MAAO,EACP6H,YAAa,sBAEf,CACE7H,MAAO,EACP6H,YAAa,wBAInB,CACE,aACA,IAAM,CACJ,CACEA,YAAa,eACb7H,MAAO,IAET,CACE6H,YAAa,eACb7H,MAAO,IAET,CACE6H,YAAa,eACb7H,MAAO,IAET,CACE6H,YAAa,eACb7H,MAAO,IAET,CACE6H,YAAa,eACb7H,MAAO,IAET,CACE6H,YAAa,iCACb7H,MAAO,IAET,CACE6H,YAAa,iCACb7H,MAAO,IAET,CACE6H,YAAa,qBACb7H,MAAO,IAET,CACE6H,YAAa,2BACb7H,MAAO,QAMT8H,GAAkBC,EAAAA,EAAAA,YAAUtH,IAAyB,IAAxB,KAAEuH,EAAI,SAAE1D,GAAU7D,EACnD,MAA2B,oBAAb6D,EACVA,EAAS0D,GACT1D,IAAgB,OAAJ0D,QAAI,IAAJA,OAAI,EAAJA,EAAMH,YAAW,IAG7BI,EAAcC,KAASC,GACpB,IAAIC,IACTR,EAAYS,OACVC,OAAOC,KAAKD,OAAOE,OAAO,CAAC,EAAGL,IAAQvF,KAAKjD,GAAQ,CAACA,EAAKwI,EAAMxI,UAK/D8I,EAAarF,IAAwC,IAArCsF,OAAQC,KAAgB9H,GAAOuC,EACnD,MACEwF,QAAQ,SAAEC,KACRC,EAAAA,EAAAA,oBACEC,GAAgBC,EAAAA,EAAAA,QAAO,MAC7B,OACEzE,EAAAA,EAAAA,KAACuD,EAAe,IACVjH,EACJ6H,OAAQO,iBACN,MAAMd,EAAQF,QAAkBU,KAAYO,aACtC,OAAEC,GAAQD,UAAA/H,QAAA,OAAAiI,EAAAF,UAAA,IACV,WAAErD,EAAU,KAAEwD,EAAI,MAAEC,EAAK,OAAEhE,GAAW6D,EAEtCI,EAAaN,UAID,IAAVK,GACAP,EAAcrH,UAAY4D,GAC1BuD,EAASnH,QAAQ8H,IAAI3D,SAGlB,WACL,MAAM6C,EAASP,EAAMqB,IAAI3D,GACnB4D,OAAe,UACG,oBAAXf,EACF,IAAIN,WACFM,EAAO,CAAEpD,YAAW1C,KAAK8G,GACvB,CAACA,EAAK1J,MAAM2J,WAAYD,MAIjCE,MAAMC,QAAQnB,GACT,IAAIN,IACTM,EAAO9F,KAAK8G,GAAS,CAACA,EAAK1J,MAAM2J,WAAYD,MAG3B,kBAAXhB,EACF,IAAIN,IACTE,OAAOC,KAAKG,GAAQ9F,KAAKjD,GAAQ,CAC/BA,EAAIgK,WACJjB,EAAO/I,QAIbmK,QAAQC,KAAK,4EACN,IAAI3B,KAtBQ,GA0BrB,OAFAS,EAASnH,QAAQsI,IAAInE,EAAY4D,GACjCV,EAAcrH,QAAU4D,EACjBmE,CACR,EA7BM,GAgCX,GAAIG,MAAMC,QAAQhE,GAChB,aAAaoE,QAAQC,IACnBrE,EAAWjD,KAAKhD,GACd2J,EAAW3J,GAAQuK,MAAMC,GAAYR,MAAMS,KAAKD,EAAQE,eAK9D,MAAMF,QAAgBb,EAAW1D,GACjC,OAAK0E,IAAMlB,GAGJO,MAAMS,KAAKD,EAAQE,UAFjBF,EAAQZ,IAAIH,EAAKM,WAG5B,GACA,EAIAa,EAAO5F,IAAsD,IAArD,WAAEiB,EAAU,KAAEwD,EAAI,MAAEC,EAAK,SAAEhF,KAAazD,GAAO+D,EAC3D,MAAM6F,GAASC,EAAAA,EAAAA,aACf,OACEnG,EAAAA,EAAAA,KAACkE,EAAU,IACL5H,EACJsI,OAAQ,CACNtD,aACAP,OAAc,OAANmF,QAAM,IAANA,OAAM,EAANA,EAAQnF,OAChB6C,MAAa,OAANsC,QAAM,IAANA,OAAM,EAANA,EAAQtC,MACfkB,OACAC,SAEFZ,OAAQiC,IAAA,IAAC,OAAExB,GAAQwB,EAAA,OAAKxB,EAAOhB,KAAK,EAAC7D,SAEpCA,GACU,EAIjBkG,EAAKrF,aAAe,CAClBmE,OAAO,GAGT,S,u3BCxOA,SAAgB,OAAS,6BAA6B,mBAAmB,uCAAuC,0BAA0B,8CAA8C,eAAe,mCAAmC,sBAAsB,0CAA0C,kBAAkB,sCAAsC,iBAAiB,qCAAqC,cAAc,kCAAkC,YAAY,gCAAgC,cAAc,kCAAkC,YAAY,gCAAgC,qBAAqB,yCAAyC,eAAe,mCAAmC,mBAAmB,uCAAuC,OAAS,6BAA6B,YAAY,gCAAgC,aAAa,iCAAiC,mBAAmB,uCAAuC,oBAAoB,wCAAwC,oBAAoB,wCAAwC,kBAAkB,sCAAsC,kBAAkB,sCAAsC,aAAa,iCAAiC,mBAAmB,uCAAuC,mBAAmB,uCAAuC,mBAAmB,uCAAuC,kBAAkB,sCAAsC,gBAAgB,oCAAoC,oBAAoB,wCAAwC,mBAAmB,uCAAuC,qBAAqB,yCAAyC,4BAA4B,gDAAgD,iCAAiC,qDAAqD,2BAA2B,+CAA+C,eAAe,mCAAmC,uBAAuB,2CAA2C,yBAAyB,8C,wBCDjhE,MAOA,EAPwBhE,IACf,CACL,QAASC,IAAM,gCACf,QAASC,IAAM,iCACfF,M,eCGJ,MAsEA,EAtE2B7E,IAAoD,IAAjDT,MAAO4K,EAAW,YAAEC,EAAW,SAAEC,GAAUrK,EACvE,OACE8D,EAAAA,EAAAA,KAACwG,EAAAA,aAAY,CAACjF,eAAgBA,EAAgBD,WAAW,SAAQvB,UAC/DF,EAAAA,EAAAA,MAACF,EAAAA,MAAK,CAACZ,UAAWkB,EAAM,gBAAiB0C,MAAM,MAAM3E,KAAM,GAAG+B,SAAA,EAC5DC,EAAAA,EAAAA,KAAA,QAAMjB,UAAWkB,EAAM,gBAAgBF,UACrCC,EAAAA,EAAAA,KAACyG,EAAAA,iBAAgB,CACfrE,GAAG,eACHd,WAAW,SACXoF,eAAe,gCAIjB7G,EAAAA,EAAAA,MAAA,OAAKd,UAAWkB,EAAM,eAAeF,SAAA,CAClCsG,EAAYhI,KAAI,CAAAQ,EAAyBC,KAAW,IAAnC,KAAEgG,EAAI,MAAErE,EAAK,MAAEhF,GAAOoD,EACtC,OACEmB,EAAAA,EAAAA,KAAC2G,EAAAA,QAAQ,CAEPjG,KAAK,eACLkG,WAAYnG,EACZoG,KACExB,MAAMC,QAAQ7J,GACVA,EACG4C,KAAK8G,GACGA,EAAK1E,QAEbqG,KAAK,UACRrL,EAAMgF,MAEZsG,UAAQ,EACRC,QAASA,KACP,MAAMC,EAAWZ,EAAY1H,MAAM,GACnCsI,EAASC,OAAOpI,EAAO,GACvByH,EAASU,EAAS,GAhBfnC,EAkBL,KAGNjF,EAAAA,EAAAA,MAACF,EAAAA,MAAK,CAAC3B,KAAM,EAAGe,UAAWU,IAAWQ,EAAM,qBAAqBF,SAAA,CAC9DuG,GACDtG,EAAAA,EAAAA,KAACa,EAAAA,OAAM,CAAC7C,KAAK,QAAO+B,UAClBC,EAAAA,EAAAA,KAACyG,EAAAA,iBAAgB,CACfrE,GAAG,eACHd,WAAW,SACXoF,eAAe,mCAIrB7G,EAAAA,EAAAA,MAACF,EAAAA,MAAK,CAAC3B,KAAM,EAAGe,UAAWU,IAAWQ,EAAM,cAAcF,SAAA,CACvDuG,GACDtG,EAAAA,EAAAA,KAACa,EAAAA,OAAM,CACL7C,KAAK,QACLsC,QAASA,KACPiG,EAAS,GAAG,EACZxG,UAEFC,EAAAA,EAAAA,KAACyG,EAAAA,iBAAgB,CACfrE,GAAG,eACHd,WAAW,SACXoF,eAAe,yCAQd,E,eCpEnB,MAsBA,EAtBmBxK,IAAwC,IAAvC,KAAEiL,EAAI,OAAEC,EAAM,MAAE3G,EAAK,SAAEV,GAAU7D,EACnD,OACE8D,EAAAA,EAAAA,KAACL,EAAAA,MAAK,CAACZ,UAAWkB,EAAM,oBAAoBF,UAC1CF,EAAAA,EAAAA,MAAA,OACEd,UAAWU,IAAWQ,EAAM,eAAgB,CAC1C,CAACA,EAAM,cAAemH,EACtB,CAACnH,EAAM,eAAgBkH,IACtBpH,SAAA,EAEHF,EAAAA,EAAAA,MAACF,EAAAA,MAAK,CAACZ,UAAWkB,EAAM,qBAAsBjC,KAAM,EAAE+B,SAAA,EACpDC,EAAAA,EAAAA,KAAA,OAAAD,SAAMU,KACNT,EAAAA,EAAAA,KAACc,EAAAA,QAAI,CACH/B,UAAWkB,EAAM,oBACjBS,KAAK,2BAGTV,EAAAA,EAAAA,KAAA,OAAKjB,UAAWkB,EAAM,qBAAqBF,SAAEA,QAEzC,E,eCrBL,MAAMsH,GAAUC,EAAAA,EAAAA,eAAc,CAAC,IAEzB,SAAEC,GAAaF,E,wBCM5B,MAAMG,EAAOtL,IAAyB,IAAxB,KAAEC,EAAI,SAAE4D,GAAU7D,EAC9B,MAAM,MAAET,EAAK,SAAE8K,IDLekB,EAAAA,EAAAA,YAAgBJ,GCM9C,OACExH,EAAAA,EAAAA,MAAA,OAAKd,UAAWkB,EAAM,eAAeF,SAAA,CAClC5D,EAAKkC,KAAI,CAAC8G,EAAMrG,KACf,MAAM4I,EAAgBvC,EAAKzE,KAC3B,OACEpB,EAAAA,EAAAA,eAACoI,EAAa,IACRvC,EAAK7I,MACTlB,IAAK+J,EAAK/J,KAAO+J,EAAK7I,MAAMwI,MAAQhG,EACpCrD,MACEA,EACIwJ,IAAIxJ,EAAMwJ,IAAIE,EAAK7I,MAAMwI,MAAO,SAChCK,EAAK7I,MAAMb,MAEjB8K,SACEA,EACK9K,GACC8K,EAAS,CACPzB,KAAMK,EAAK7I,MAAMwI,KACjBrE,MAAO0E,EAAK7I,MAAMmE,MAClBhF,UAEJ0J,EAAK7I,MAAMiK,UAEjB,IAGLxG,IACG,EAIJ4H,EAAc9I,IAAoD,IAAnD,KAAE1C,EAAI,YAAEyL,EAAW,MAAEnH,EAAK,MAAEoH,EAAK,SAAE9H,GAAUlB,EAChE,MAAMiJ,EAAU3L,EAAKS,OAASgL,GACvBG,EAAUC,IAAerL,EAAAA,EAAAA,WAAS,GAEzC,OACEkD,EAAAA,EAAAA,MAAC2G,EAAAA,aAAY,CAACjF,eAAgBA,EAAgBD,WAAW,SAAQvB,SAAA,EAC/DF,EAAAA,EAAAA,MAACF,EAAAA,MAAK,CACJZ,UAAWU,IAAWQ,EAAM,iBAC5B0C,MAAM,MACN3E,KAAM,GAAG+B,SAAA,EAETC,EAAAA,EAAAA,KAAA,QAAMjB,UAAWkB,EAAM,gBAAgBF,SACpCU,IACCT,EAAAA,EAAAA,KAACyG,EAAAA,iBAAgB,CACfrE,GAAG,aACHd,WAAW,SACXoF,eAAe,oBAIrB7G,EAAAA,EAAAA,MAACoI,EAAAA,IAAG,CAACC,QAAQ,gBAAgBC,MAAM,EAAOxF,MAAM,SAAQ5C,SAAA,EACtDC,EAAAA,EAAAA,KAACoI,EAAAA,IAAG,CAACrJ,UAAWkB,EAAM,eAAgBoI,KAAM,EAAEtI,SAC3C5D,EAAKwC,MAAM,EAAGiJ,GAAavJ,KAAI,CAAC8G,EAAMrG,KACrCkB,EAAAA,EAAAA,KAACwH,EAAI,CAAarL,KAAMgJ,EAAKpF,SAC1B+H,IAAwB,IAAbC,GAAsBjJ,IAAU8I,EAAc,GACxD/H,EAAAA,EAAAA,MAACF,EAAAA,MAAK,CACJ3B,KAAM,EACNe,UAAWU,IACTQ,EAAM,eACNA,EAAc,QAEhBK,QAASA,KACP0H,GAAavM,IAAWA,GAAM,EAC9BsE,SAAA,EAEFC,EAAAA,EAAAA,KAACyG,EAAAA,iBAAgB,CACfrE,GAAG,WACHd,WAAW,SACXoF,eAAe,kBAEjB1G,EAAAA,EAAAA,KAACc,EAAAA,QAAI,CACH/B,UAAWkB,EAAM,2BACjBS,KAAK,4BAGP,MAtBK5B,QA0BfkB,EAAAA,EAAAA,KAACoI,EAAAA,IAAG,CAAArI,SAAE8H,WAGV7H,EAAAA,EAAAA,KAACL,EAAAA,MAAK,CACJZ,UAAWU,IAAWQ,EAAM,gBAAiB,qBAC7C0C,MAAM,SACN3E,KAAM,GAAG+B,SAERA,KAEHF,EAAAA,EAAAA,MAACF,EAAAA,MAAK,CACJZ,UAAWU,IAAWQ,EAAM,gBAAiB,oBAAqB,CAChE,CAACA,EAAM,0BAA2B6H,GAAWC,KAE/CpF,MAAM,MACN3E,KAAM,GAAG+B,SAAA,EAETC,EAAAA,EAAAA,KAAA,QAAMjB,UAAWkB,EAAM,gBAAgBF,UACrCC,EAAAA,EAAAA,KAACyG,EAAAA,iBAAgB,CACfrE,GAAG,WACHd,WAAW,SACXoF,eAAe,oBAGnB1G,EAAAA,EAAAA,KAAA,OAAKjB,UAAWkB,EAAM,eAAeF,SAClC5D,EAAKwC,MAAMiJ,GAAavJ,KAAI,CAAC8G,EAAMrG,KAClCkB,EAAAA,EAAAA,KAACwH,EAAI,CAAarL,KAAMgJ,EAAKpF,SAC1BjB,IAAU3C,EAAKS,OAASgL,EAAc,IACrC/H,EAAAA,EAAAA,MAAAC,EAAAA,SAAA,CAAAC,SAAA,EACEC,EAAAA,EAAAA,KAACL,EAAAA,MAAK,CACJ3B,KAAM,EACNe,UAAWU,IAAWQ,EAAM,qBAAqBF,UAEjDF,EAAAA,EAAAA,MAACF,EAAAA,MAAK,CACJ3B,KAAM,EACNe,UAAWU,IACTQ,EAAc,OACdA,EAAM,gBACNF,SAAA,EAEFC,EAAAA,EAAAA,KAACyG,EAAAA,iBAAgB,CACfrE,GAAG,eACHd,WAAW,SACXoF,eAAe,kBAEjB1G,EAAAA,EAAAA,KAACc,EAAAA,QAAI,CACH/B,UAAWkB,EAAM,2BACjBS,KAAK,6BAIXV,EAAAA,EAAAA,KAACL,EAAAA,MAAK,CACJ3B,KAAM,EACNe,UAAWU,IAAWQ,EAAM,cAC5BK,QAASA,KACP0H,GAAavM,IAAWA,GAAM,EAC9BsE,UAEFF,EAAAA,EAAAA,MAACF,EAAAA,MAAK,CACJ3B,KAAM,EACNe,UAAWU,IACTQ,EAAc,OACdA,EAAM,gBACNF,SAAA,EAEFC,EAAAA,EAAAA,KAACyG,EAAAA,iBAAgB,CACfrE,GAAG,eACHd,WAAW,SACXoF,eAAe,kBAEjB1G,EAAAA,EAAAA,KAACc,EAAAA,QAAI,CACH/B,UAAWkB,EAAM,2BACjBS,KAAK,gCA9CN5B,YAwDJ,EAInB6I,EAAY/G,aAAe,CACzBgH,YAAa,GAGf,U,eC9KA,MAAMU,EAAcpM,IASb,IATc,MACnBT,EAAK,MACLgF,EAAK,WACL8H,EAAU,iBACVzF,EAAgB,UAChBjB,EAAS,aACT2G,EAAY,SACZjC,EAAQ,SACRxG,GACD7D,EACC,MAAOuM,EAAOC,IAAY/L,EAAAA,EAAAA,UAASlB,IAC5B0L,EAAMwB,IAAWhM,EAAAA,EAAAA,WAAS,GAC3B8E,GAAWmH,EAAAA,EAAAA,UAAQ,IAChBL,IAAeA,EAAWE,IAChC,CAACF,EAAYE,IAChB,OACEzI,EAAAA,EAAAA,KAAC6I,EAAAA,QAAO,CACN1B,KAAMA,EACN2B,QAAQ,QACRjH,UAAWA,EACXiB,iBAAkBrD,IAAWQ,EAAM,oBAAqB6C,GACxD0F,aAAerB,IACbwB,EAAQxB,GACRuB,EAASjN,GACT+M,GAAgBA,EAAarB,EAAK,EAEpC4B,SACElJ,EAAAA,EAAAA,MAAA,QACES,QAAUxE,IACRA,EAAE4G,iBAAiB,EACnB3C,SAAA,EAEFC,EAAAA,EAAAA,KAAA,OAAKjB,UAAWkB,EAAM,oBAAoBF,SACvCA,EAAS,CAAEtE,MAAOgN,EAAOlC,SAAUmC,OAEtC7I,EAAAA,EAAAA,MAACoI,EAAAA,IAAG,CAAClJ,UAAWkB,EAAM,mBAAoBiI,QAAQ,MAAMc,OAAQ,EAAEjJ,SAAA,EAChEC,EAAAA,EAAAA,KAACoI,EAAAA,IAAG,CAAArI,UACFC,EAAAA,EAAAA,KAACa,EAAAA,OAAM,CACL7C,KAAK,QACLsC,QAASA,KACPqI,GAAQ,GACRH,GAAgBA,GAAa,EAAM,EACnCzI,UAEFC,EAAAA,EAAAA,KAACyG,EAAAA,iBAAgB,CACfrE,GAAG,aACHd,WAAW,SACXoF,eAAe,sBAIrB1G,EAAAA,EAAAA,KAACoI,EAAAA,IAAG,CAAArI,UACFC,EAAAA,EAAAA,KAACa,EAAAA,OAAM,CACL7C,KAAK,QACL0C,KAAK,UACLe,SAAUA,EACVnB,QAASA,KACPqI,GAAQ,GACRH,GAAgBA,GAAa,GAC7BjC,GAAYA,EAASkC,EAAM,EAC3B1I,UAEFC,EAAAA,EAAAA,KAACyG,EAAAA,iBAAgB,CACfrE,GAAG,gBACHd,WAAW,SACXoF,eAAe,2BAM1B3G,UAEDC,EAAAA,EAAAA,KAAA,QAAAD,UACEC,EAAAA,EAAAA,KAACiJ,EAAU,CAAC9B,KAAMA,EAAMC,QAAQ8B,EAAAA,EAAAA,GAAWzN,GAAQgF,MAAOA,OAEpD,EAId6H,EAAY1H,aAAe,CACzBuI,YAAa,qBACbtH,UAAW,cAGb,UCtEA,EAjBGV,GACDjF,IAA2C,IAA1C,MAAET,EAAK,SAAE8K,EAAQ,MAAE9F,KAAUnE,GAAOJ,EACnC,MAAOiL,EAAMwB,IAAWhM,EAAAA,EAAAA,WAAS,GACjC,OACEqD,EAAAA,EAAAA,KAACiJ,EAAU,CAACxI,MAAOA,EAAO0G,KAAMA,EAAMC,QAAQ8B,EAAAA,EAAAA,GAAWzN,GAAOsE,UAC9DC,EAAAA,EAAAA,KAACmB,EAAgB,IACX7E,EACJyC,UAAWkB,EAAM,qBACjBxE,MAAOA,EACP8K,SAAUA,EACV6C,UAAU,MACVZ,aAAcG,KAEL,E,wBCjBnB,MAYA,EAZwBtC,GACfgD,IACLhD,GACA,CAACiD,EAAMpN,KAAuB,IAArB,KAAE4I,EAAI,MAAErJ,GAAOS,EACtBoN,EAAOxE,GAAQO,MAAMC,QAAQ7J,GACzBA,EAAM4C,KAAIQ,IAAA,IAAC,MAAEpD,GAAOoD,EAAA,OAAKpD,CAAK,IAC9BA,EAAMA,KAAK,GAEjB,CAAC,GCNL,EAJ4BS,IAA6B,IAA5B,SAAE6D,KAAazD,GAAOJ,EACjD,OAAO6D,EAASzD,EAAM,E,0FCAxB,QAAgC,oCAAhC,EAA+E,+B,sDCU/E,MAAMiN,EAAwBC,EAAAA,EAAiBC,WAEzCC,EAAiBxN,IAAqD,IAAlDT,MAAOkO,EAAUC,SAAUC,EAAS,KAAE7L,GAAM9B,EACpE,MAAM,SAAE4N,EAAQ,MAAExN,GAAUiN,IACtBQ,EAAa/M,IAAeV,EAAMyN,aAClC,OAAEC,EAAM,QAAEC,EAAO,kBAAEC,KAAsBC,GAAW7N,EACpD8N,GAAgB3F,EAAAA,EAAAA,QAAOnI,EAAM+N,YACnCD,EAAcjN,QAAUb,EAAM+N,WAC9B,MAAMC,EAAYR,EAASrG,MACrB,SAAE8G,IAAa3B,EAAAA,EAAAA,UACnB,IACEmB,EAAWO,EAAW,CACpBD,WAAYD,EAAcjN,WAE9B,CAAC4M,EAAYO,IAGf,OACEtK,EAAAA,EAAAA,KAACL,EAAAA,MAAK,CAAC8C,UAAU,WAAWzE,KAAM,GAAG+B,UACnCC,EAAAA,EAAAA,KAACwK,EAAAA,EAAS,CACRzL,UAAWU,IAAWQ,EAAwB,CAC5C,CAACA,GAAoB3D,EAAM2N,UAC1BlK,UAEHC,EAAAA,EAAAA,KAACyK,EAAAA,KAAI,IACCC,IAAKP,EAAQ,CAAC,QAAS,YAAa,WAAY,eACpDnM,KAAMA,EACN2M,WAAYX,EACZO,SAAUA,EACVK,QAASf,EACTgB,YAAalB,EACbmB,SACEd,EACIH,EACCkB,IACC,MAAMC,EAAYD,EAAW,QACX,IAAdC,GAGJnB,GAAW1M,IACT,MAAM8N,EAAa9N,EAAQwB,MAAM,GAC3BG,EAAQmM,EAAWlN,QAAQiN,GAMjC,OALIlM,GAAS,EACXmM,EAAW/D,OAAOpI,EAAO,GAEzBmM,EAAWC,KAAKF,GAEXC,CAAU,GACjB,EAGVE,aAAcnB,EAASL,OAAW9E,OAGhC,EAINuG,EAAYvM,IAA0C,IAAzC,UAAEwM,EAAS,WAAEtB,KAAezN,GAAOuC,EACpD,OACEmB,EAAAA,EAAAA,KAACwJ,EAAAA,EAAgB,IACXlN,EACJyN,WAAatG,GACJsG,EAAWtG,EAAM,CAAE4G,WAAY/N,EAAM+N,aAC5CtK,SAEDM,IAA0B,IAAzB,MAAE5E,EAAK,SAAEmO,GAAUvJ,EACnB,OACEL,EAAAA,EAAAA,KAAC0J,EAAc,CAAC1L,KAAMqN,EAAW5P,MAAOA,EAAOmO,SAAUA,GAAY,GAGxD,EAIvBwB,EAAUxK,aAAe,CACvBsJ,kBAAmB,eACnBmB,UAAWzP,OAAO0P,UAClBtN,KAAM,SACNiM,SAAS,EACTsB,eAAe,EACfxB,WAAYA,CAACtG,EAAI2C,KAAsB,IAApB,WAAEiE,GAAYjE,EAC/B,MAAMoF,EAAa7H,KAAQ,CAAC8H,EAAQC,KAAsB,IAApB,WAAErB,GAAYqB,EAClD,MAAMvP,EAAO,GACPwP,EAAQF,IACNpG,MAAMC,QAAQmG,IAAaA,EAAS7O,OAAS,GAGnD6O,EAASG,SAASC,IAChB,MAAMpQ,EAAQoQ,EAAK5G,IAAIoF,EAAY,MAAO,QACxC5J,EAAQoL,EAAK5G,IAAIoF,EAAY,QAAS,UACtCtK,EAAW8L,EAAK5G,IAAIoF,EAAY,WAAY,aAC9ClO,EAAK+O,KAAK,CAAE9I,GAAI3G,EAAOA,QAAOgF,UAC9BkL,EAAK5L,EAAS,GACd,EAGJ,OADA4L,EAAKF,GACEtP,CAAI,IAGb,MAAO,CACLoO,SAAU9G,EACVtH,KAAMqP,EAAW/H,EAAM,CAAE4G,eAC1B,GAIL,UC5EA,EArCwBnO,IAUjB,IAVkB,MACvBuE,EAAK,MACLhF,EAAK,SACL8K,EAAQ,YACR4C,EAAW,WACXZ,EAAU,iBACVzF,EAAgB,UAChBjB,EAAS,aACT2G,KACGlM,GACJJ,EACC,OACE8D,EAAAA,EAAAA,KAACsI,EAAW,CACV7H,MAAOA,EACPhF,MAAOA,EACP8K,SAAUA,EACJgC,aAAYzF,mBAAkBjB,YAAW2G,eAAYzI,SAE1DlB,IAAA,IAAC,MAAEpD,EAAK,SAAE8K,GAAU1H,EAAA,OACnBmB,EAAAA,EAAAA,KAAC8L,EAAAA,MAAK,IACAxP,EACJ6M,YAAaA,GAAW,qBAAArF,OAAUrD,GAClC1B,UAAWkB,EAAM,oBACjBxE,MAAOwJ,IAAIxJ,EAAO,QAAS,IAC3B8K,SAAWzK,GACTyK,EACEzK,EAAET,OAAOI,MACL,CAAEgF,MAAO3E,EAAET,OAAOI,MAAOA,MAAOK,EAAET,OAAOI,OACzC,OAGR,GAEQ,E,wBClClB,MAAMsQ,EAAuBC,GAC3B9P,IAA4C,IAA3C,MAAET,EAAK,SAAE8K,EAAQ,OAAE0F,KAAW3P,GAAOJ,EACpC,OACE8D,EAAAA,EAAAA,KAACkM,EAAAA,WAAU,IACL5P,EACJ2P,OAAQA,EACRxQ,MAAOA,GAAS0Q,IAAM1Q,EAAMA,OAC5B8K,SAAW9K,IACT,MAAM,OAAE2Q,GAAWrI,OAAOE,OAAO,CAAEmI,OAAQ,cAAgB9P,GAC3Db,GACE8K,EAAS,CACP9F,MACa,SAAXwL,EAAiB,GAAAnI,OACVrI,EAAM4Q,QAAQJ,GAAQG,OAAOA,GAAO,KAAAtI,OAAIrI,EACxC6Q,MAAML,GACNG,OAAOA,IACV3Q,EAAM2Q,OAAOA,GACnB3Q,MAAO,IAAI8Q,KAAK9Q,EAAM4Q,QAAQJ,GAAQO,YACtC,GAEN,IAKRT,EAAqBnL,aAAe,OAEpC,WCHA,GAxBkCoL,GAChC9P,IAAoC,IAAnC,MAAET,EAAK,SAAE8K,KAAajK,GAAOJ,EAC5B,OACE8D,EAAAA,EAAAA,KAACkM,EAAAA,WAAWO,YAAW,IACjBnQ,EACJoQ,WAAY,EAAC,GAAO,GACpBjR,MACEA,GACA4J,MAAMC,QAAQ7J,EAAMA,QACG,IAAvBA,EAAMA,MAAMmB,QACZnB,EAAMA,MAAM4C,KAAK8G,GAASgH,IAAMhH,KAElCoB,SAAW9K,IACT,MAAM,OAAE2Q,GAAWrI,OAAOE,OAAO,CAAEmI,OAAQ,cAAgB9P,GAC3DiK,EAAS,CACP9F,MAAOhF,EAAM4C,KAAK8G,GAASA,EAAKiH,OAAOA,KAAStF,KAAK,KACrDrL,MAAOA,EAAM4C,KAAK8G,GAAS,IAAIoH,KAAKpH,EAAKqH,cACzC,GAEJ,I,gBCjBR,MAkDA,GAlDsCtQ,IAK/B,IALgC,MACrCuE,EAAK,MACLhF,EAAK,SACL8K,KACGjK,GACJJ,EACC,OACE8D,EAAAA,EAAAA,KAACsI,EAAW,CACV7H,MAAOA,EACPhF,MAAOA,EACP8K,SAAUA,EACVgC,WAAapD,IACX,MAAM1J,EAAY,OAAJ0J,QAAI,IAAJA,OAAI,EAAJA,EAAM1J,MACpB,OACO,OAALA,QAAK,IAALA,OAAK,EAALA,EAAOiF,OAAQ2E,MAAMC,QAAa,OAAL7J,QAAK,IAALA,OAAK,EAALA,EAAOA,QAAiC,IAAvBA,EAAMA,MAAMmB,MAAY,EAExEmD,SAEDlB,IAAA,IAAC,MAAEpD,EAAK,SAAE8K,GAAU1H,EAAA,OACnBmB,EAAAA,EAAAA,KAAC2M,GAAAA,EAAwB,IACnBrQ,EACJyC,UAAWkB,EAAM,oBACjBxE,MAAOwJ,IAAIxJ,EAAO,SAClB8K,SAAWqG,IACT,MAAM,OAAER,GAAWrI,OAAOE,OAAO,CAAEmI,OAAQ,cAAgB9P,GACrDb,GAAmB,OAAXmR,QAAW,IAAXA,OAAW,EAAXA,EAAanR,QAAS,GACpC8K,EAAS,CACP9F,MACMhF,EAAM,KAAOA,EAAM,GACf,GAANqI,OAAUqI,IAAM1Q,EAAM,IAAI2Q,OAAOA,GAAO,iBAErC3Q,EAAM,IAAMA,EAAM,GACf,GAANqI,OAAUqI,IAAM1Q,EAAM,IAAI2Q,OAAOA,GAAO,gBAEtC3Q,EAAM,IAAMA,EAAM,GACd,GAANqI,OAAUqI,IAAM1Q,EAAM,IAAI2Q,OAAOA,GAAO,KAAAtI,OAAIqI,IAC1C1Q,EAAM,IACN2Q,OAAOA,IAEJ,GAET3Q,MAAOmR,GACP,GAEJ,GAEQ,ECnBLC,GAA2Bb,EAAcc,EAAAA,IACzCC,GAAiBf,EAAcgB,EAAAA,IAC/BC,GAA2BjB,EAAckB,EAAAA,GACzCC,GAA2BnB,EAAcoB,EAAAA,GAEzCC,GAAiBrB,EAAcsB,EAAAA,IAE/BC,GAAqBvB,EAAcwB,EAAAA,IAEnCC,GAAiBzB,EAAcZ,GAC/BsC,IA9BVvM,GA+B2BwM,EA9B5BzR,IAAA,IAAC,YAAEiN,EAAW,MAAE1I,KAAUnE,GAAOJ,EAAA,OAE7B8D,EAAAA,EAAAA,KAACyG,EAAAA,iBAAgB,CACfrE,GAAG,0BACHd,WAAW,SACXyE,OAAQ,CAAEtF,SAAQV,SAEhB8G,IAEE7G,EAAAA,EAAAA,KAACmB,GAAgB,IACX7E,EACJmE,MAAOA,EACP0I,YAAaA,GAAetC,KAIjB,GAjBtB1F,O,mECDH,MAAMyM,GAAUtR,IACd,MAAM,YAAEgK,EAAW,UAAEvH,KAAcoL,GAAW7N,GACvCuR,EAAWtH,GAAYuH,KAAgBxR,GAExCb,GAAQmN,EAAAA,EAAAA,UAAQ,IACbiF,EAAUE,QAAQ5I,IAAS+D,EAAAA,GAAAA,YAAW/D,EAAK1J,UACjD,CAACoS,IAEExH,GAAcuC,EAAAA,EAAAA,UAAQ,IACnB,IAAI/E,IAAIpI,EAAM4C,KAAK8G,GAAS,CAACA,EAAKL,KAAMK,OAC9C,CAAC1J,IAEJ,OACEuE,EAAAA,EAAAA,KAACwG,EAAAA,aAAY,CAAClF,WAAW,SAASC,eAAgBA,GAAAA,EAAexB,UAC/DC,EAAAA,EAAAA,KAACuH,EAAQ,CACP9L,MAAO,CACLA,MAAO4K,EACPE,SAAWpB,IACT,MAAM6I,EAAiBC,KAAM5H,GAC7BlB,EAAK1J,MACDuS,EAAevI,IAAIN,EAAKL,KAAMK,GAC9B6I,EAAeE,OAAO/I,EAAKL,MACvB,OAARyB,QAAQ,IAARA,GAAAA,EAAWlB,MAAMS,KAAKkI,EAAejI,UAAU,GAEjDhG,UAEFF,EAAAA,EAAAA,MAAA,OAAKd,UAAWU,IAAWQ,EAAc,OAAGlB,GAAWgB,SAAA,EACrDC,EAAAA,EAAAA,KAAC2H,EAAW,IAAKwC,IAChB1O,GAASA,EAAMmB,OAAS,IACvBoD,EAAAA,EAAAA,KAACmO,EAAkB,CACjB1S,MAAOA,EACP8K,SAAUA,EACVD,YAAaA,UAKR,EAInBsH,GAAOhN,aAAe,CACpBwN,aAAc,IAGhB,W,mCCzDA,MAOA,EAPwBrN,IACf,CACL,QAASC,IAAM,gCACf,QAASC,IAAM,gCACfF,K,gDCJJ,MAOA,EAPwBA,IACf,CACL,QAASC,IAAM,+BACf,QAASC,IAAM,iCACfF,M,yDCHJ,QAA+B,mCAA/B,EAA0E,4BAA1E,EAAgH,8BAAhH,EAAqJ,2B,0BCOrJ,MAgCA,EAhCoB7E,IAA0B,IAAzB,KAAE4I,EAAI,UAAE/F,GAAW7C,EACtC,OACE8D,EAAAA,EAAAA,KAACwG,EAAAA,aAAY,CAACjF,eAAgBA,EAAgBD,WAAW,cAAavB,UACpEC,EAAAA,EAAAA,KAACiG,EAAAA,QAAI,CAAC3E,WAAW,cAAcwD,KAAMA,EAAK/E,SACtC0D,GAEEA,GACAA,EAAKhI,QACHuE,EAAAA,EAAAA,KAAA,OAAKjB,UAAWU,IAAWQ,EAAuBlB,GAAWgB,UAC3DF,EAAAA,EAAAA,MAACF,EAAAA,MAAK,CAACZ,UAAWkB,EAAeF,SAAA,EAC/BC,EAAAA,EAAAA,KAACc,EAAAA,QAAI,CAACuN,UAAQ,EAAC3N,KAAK,8BACpBV,EAAAA,EAAAA,KAAA,QAAMjB,UAAWkB,EAAiBF,SAAE0D,EAAKsF,UACxCtF,EAAK6K,MACJzO,EAAAA,EAAAA,MAACoD,EAAAA,WAAWC,KAAI,CACdnE,UAAWkB,EACXsO,KAAM9K,EAAK6K,IACXjT,OAAO,SAAQ0E,SAAA,CAChB,4BAECC,EAAAA,EAAAA,KAACc,EAAAA,QAAI,CAACJ,KAAK,wCASd,C,6KClCZ,MAAME,EAAe,CAC1BT,KAAM,KACN4N,OAAQ,KACRS,UAAU,EACVC,UAAW,QACXC,WAAW,EACXC,iBAAiB,EACjBC,gBAAiB,KACjBC,OAAQ,KACRC,aAAc,EACdC,aAAa,EACbC,WAAY,KACZC,QAAS,KACT1O,MAAO,KACP2O,WAAY,KACZC,eAAgB,KAChBC,UAAU,EACVC,WAAW,EACXC,mBAAoB,EACpBC,OAAQ,KACRC,YAAa,QACbC,iBAAiB,EACjBC,aAAa,EACbC,aAAc,MAGHtI,GAAUC,EAAAA,EAAAA,eAAc,CAAC,IAEzB,SAAEC,EAAQ,SAAEqI,GAAavI,EAEzBoC,EAAaA,KACjBhC,EAAAA,EAAAA,YAAgBJ,G,wFChCzB,SAAgB,OAAS,6BAA6B,eAAe,mCAAmC,YAAY,gCAAgC,oBAAoB,wCAAwC,aAAa,iCAAiC,eAAe,mCAAmC,aAAa,iCAAiC,YAAY,gCAAgC,YAAY,gCAAgC,OAAS,6BAA6B,kBAAkB,sCAAsC,iBAAiB,qCAAqC,mBAAmB,uCAAuC,uBAAuB,2CAA2C,cAAc,kCAAkC,oBAAoB,wCAAwC,qBAAqB,yCAAyC,kBAAkB,sCAAsC,WAAW,+BAA+B,sBAAsB,0CAA0C,gBAAgB,oCAAoC,aAAa,iCAAiC,kBAAkB,sCAAsC,aAAa,iCAAiC,cAAc,kCAAkC,mBAAmB,uCAAuC,cAAc,kCAAkC,WAAW,+BAA+B,eAAe,mCAAmC,mBAAmB,uCAAuC,iBAAiB,qCAAqC,kBAAkB,sCAAsC,iBAAiB,qCAAqC,YAAY,iC,eCE1rD,MA8BA,EA9BuBnL,IAAuC,IAAtC,UAAE6C,EAAS,QAAE8Q,EAAO,SAAE9P,GAAU7D,EACtD,OAAI2T,GAEA7P,EAAAA,EAAAA,KAAA,OACEjB,UAAWU,IACTV,EACA,kBACAkB,EAAM,mBACN,CACE,CAACA,EAAM,aAAc4P,IAEvB9P,SAEDA,KAKLC,EAAAA,EAAAA,KAAA,OACEjB,UAAWU,IACTV,EACA,kBACAkB,EAAM,oBACNF,SAEDA,GACG,E,+EChBV,MAAM+P,EAAkB,0BAgExB,EAnDaC,KACX,MAAM,UAAEC,EAAS,aAAEC,GAAiBxG,KAC9B,KAAEtJ,EAAI,SAAEqO,EAAQ,UAAEC,EAAS,UAAEC,EAAS,gBAAEC,GAAoBqB,EAG5DE,GADWC,EAAAA,EAAAA,eACeC,SAASC,MAAM,KAAK,GAEpD,OAAOlQ,GACLN,EAAAA,EAAAA,MAACuI,EAAAA,IAAG,CACFrJ,UAAWU,IAAWQ,EAAM,aAAc,CACxC,CAACA,EAAc,SAAKuO,IAEtBvO,MAAO,CAAE,UAAWwO,GAAY1O,SAAA,EAEhCC,EAAAA,EAAAA,KAACsQ,EAAc,CAACvR,UAAWkB,EAAM,mBAAoB4P,QAASnB,EAAU3O,UACtEC,EAAAA,EAAAA,KAAA,OAAKjB,UAAWkB,EAAM,wBAAwBF,UAC5CC,EAAAA,EAAAA,KAACwK,EAAAA,EAAS,CAACzL,UAAWkB,EAAM,kBAAkBF,SAAEI,QAGnDwO,GACC3O,EAAAA,EAAAA,KAACsQ,EAAc,CACbvR,UAAWU,IAAWQ,EAAM,uBAAwB,CAClD,CAACA,EAAM,aAAcyO,IAEvBmB,QAASnB,EAAU3O,UAEnBC,EAAAA,EAAAA,KAACa,EAAAA,OAAM,CACL9B,UAAWU,IAAWQ,EAAM,iBAAkB,CAC5C,CAACA,EAAc,SAAKuO,IAEtB+B,KACE/B,GACExO,EAAAA,EAAAA,KAACc,EAAAA,QAAI,CAACJ,KAAK,0BAEXV,EAAAA,EAAAA,KAACc,EAAAA,QAAI,CAACJ,KAAK,0BAGfJ,QAASA,KACP2P,EAAa,CAAEzB,UAAWwB,EAAUxB,WACpC,MAAMgC,EAAajV,EAAAA,EAAaJ,QAAQ2U,IAAoB,CAAC,EAC7DU,EAAWN,IAAmBF,EAAUxB,SACxCjT,EAAAA,EAAaQ,QAAQ+T,EAAiBU,GACtCP,EAAa,CAAEzB,UAAWwB,EAAUxB,UAAW,MAInD,QAEJ,IAAI,ECnEJiC,EAAYvU,IAAqC,IAApC,SAAE6D,EAAQ,OAAE2Q,KAAWpU,GAAOJ,EAC/C,MAAM,aAAE+T,GAAiBxG,IACnBkH,GAAWlM,EAAAA,EAAAA,QAAO,MAClBmM,EDKmBC,MACzB,MACMX,GADWC,EAAAA,EAAAA,eACeC,SAASC,MAAM,KAAK,GACpD,OAAOzH,EAAAA,EAAAA,UAAQ,KACb,MAAM4H,EAAajV,EAAAA,EAAaJ,QAAQ2U,IAAoB,CAAC,EAC7D,QAAO5G,EAAAA,EAAAA,GAAWjE,IAAIuL,EAAYN,KAC9BjL,IAAIuL,EAAYN,EACZ,GACP,CAACA,GAAgB,ECbEW,GAChBC,GAAmBrM,EAAAA,EAAAA,QAAOmM,GA4BhC,OA3BAE,EAAiB3T,QAAUyT,GAC3BG,EAAAA,EAAAA,YAAU,KACR,IAAKC,IAAQL,EAASxT,QAASb,GAAQ,CACrCqU,EAASxT,QAAUb,EAMnB,MAAM2U,EAAclN,OAAOE,OACzB,CAAC,EACDrD,EACAtE,EACoC,mBAA7BwU,EAAiB3T,QACpB,CAAEqR,SAAUsC,EAAiB3T,SAC7B,CAAC,GAEH8T,EAAYpC,QAAuC,IAA7BoC,EAAYnC,qBAC7BmC,EAA0B,aAE/BA,EAAYtB,cAAmD,IAAnCsB,EAAY3B,2BACnC2B,EAA0B,aAEnChB,EAAagB,EACf,IACC,CAAC3U,EAAO2T,KAEI,IAAXS,GACK1Q,EAAAA,EAAAA,KAACkR,EAAAA,OAAM,CAACC,OAAO,MAAMC,SAAS,+CAGhCrR,CAAQ,EAGXsR,EAAOxS,IAAkD,IAAjD,UAAEyS,EAAS,KAAExM,EAAI,aAAEyM,KAAiBjV,GAAOuC,EACvD,OAAqB,IAAjB0S,GAEAvR,EAAAA,EAAAA,KAACwR,EAAAA,QAAQ,CAACpP,GAAI0C,EAAK/E,SAChBM,IAAA,IAAC,OAAEqQ,GAAQrQ,EAAA,OAAKf,EAAAA,EAAAA,eAACmR,EAAS,IAAKnU,EAAOlB,IAAK0J,EAAM4L,OAAQA,GAAU,KAInEpR,EAAAA,EAAAA,eAACmR,EAAS,IAAKnU,EAAOlB,IAAK0J,GAAQ,EAG5CuM,EAAKzQ,aAAeA,EAEpB,UC3CA,EAdc1E,IAA+D,IAA9D,QAAE2T,EAAO,UAAE4B,EAAS,aAAEC,EAAY,SAAEnL,KAAajK,GAAOJ,EACrE,OAAK2T,GAIH7P,EAAAA,EAAAA,KAAC2R,EAAAA,MAAS,IACJrV,EACJmV,UAAW7V,OAAOqC,UAAUwT,GAAaA,EAAY,GAAMA,EAC3DC,aAAcA,EACdnL,SAAUA,KAPLvG,EAAAA,EAAAA,KAAA,UAAS1D,GAQd,ECiBN,EALwBuC,IAA8B,IAA7B,UAAE+S,KAActV,GAAOuC,EAC9C,MAAMtB,EAtBmBrB,KAAoB,IAAnB,UAAE0V,GAAW1V,EACvC,MAAM,aAAE+T,GAAiBxG,IACnBlM,GAAMkH,EAAAA,EAAAA,QAAO,MAgBnB,OAfAoN,EAAAA,EAAAA,kBAAgB,KACd,MAAMC,EAAWA,KACf7B,EAAa,CACX,CAAC2B,GAAYrU,EAAIJ,QAAQ4U,cACzB,EAGJD,IACA,MAAME,EAAiB,IAAIC,iBAAiBH,GAE5C,OADAE,EAAeE,QAAQ3U,EAAIJ,QAAS,CAAEgV,SAAS,EAAMC,WAAW,IACzD,KACLJ,EAAeK,YAAY,CAC5B,GACA,CAACpC,EAAc2B,IAEXrU,CAAG,EAIE+U,CAAmB,CAAEV,cACjC,OAAO5R,EAAAA,EAAAA,KAAA,UAAS1D,EAAOiB,IAAKA,GAAO,ECNrC,EAdegV,KACb,MAAM,UAAEvC,GAAcvG,KAChB,OAAEoF,EAAM,YAAEE,GAAgBiB,EAChC,OAAOnB,GACL7O,EAAAA,EAAAA,KAACwS,EAAK,CACJ3C,QAASd,EACThQ,UAAWkB,EAAM,eACjBwR,UAAWgB,EAAAA,iBAAiB1S,UAE5BC,EAAAA,EAAAA,KAAC0S,EAAe,CAACd,UAAU,eAAc7R,SAAE8O,MAE3C,IAAI,ECEV,EAdmB8D,KACjB,MAAM,UAAE3C,GAAcvG,KAChB,WAAEuF,GAAegB,EACjB4C,GAAgBnO,EAAAA,EAAAA,QAAO,MAC7B,OAAOuK,GACLhP,EAAAA,EAAAA,KAAA,OACEzC,IAAKqV,EACL7T,UAAWU,IAAWQ,EAAM,oBAAqB,oBAAoBF,SAEpEiP,IAED,IAAI,E,eCVV,MAyCA,EAzCkB9S,IAA6D,IAA5D,MAAEqE,EAAK,OAAEwN,EAAM,WAAEmB,EAAU,eAAEC,EAAc,QAAEF,GAAS/S,EACvE,MAAM2W,GAAYC,EAAAA,EAAAA,eAClB,OAAI/E,GAEA/N,EAAAA,EAAAA,KAAC4N,EAAAA,QAAM,CAAC7O,UAAWkB,EAAM,iBAAmB8N,EAAQlG,MAAOqH,IAGzD3O,GAAS4O,GAAkBD,GAI/BrP,EAAAA,EAAAA,MAACoI,EAAAA,IAAG,CAACC,QAAQ,gBAAgBvF,MAAM,SAAS5D,UAAWkB,EAAM,cAAcF,SAAA,EACzEC,EAAAA,EAAAA,KAACoI,EAAAA,IAAG,CAAArI,UACFF,EAAAA,EAAAA,MAACF,EAAAA,MAAK,CAAAI,SAAA,CACHQ,GACCP,EAAAA,EAAAA,KAAA,OAAKjB,UAAWkB,EAAM,mBAAmBF,SACtCkP,GACCpP,EAAAA,EAAAA,MAACF,EAAAA,MAAK,CAAAI,SAAA,EACJC,EAAAA,EAAAA,KAAA,QACEjB,UAAWkB,EAAM,aACjBK,QAASA,KACPuS,EAAU5D,EAAQ,EAClBlP,UAEFC,EAAAA,EAAAA,KAACc,EAAAA,QAAI,CAACJ,KAAK,4BAEbV,EAAAA,EAAAA,KAAA,QAAAD,SAAOQ,OAGTA,IAGF,KACH4O,GAAkC,WAGvCnP,EAAAA,EAAAA,KAACoI,EAAAA,IAAG,CAAArI,SAAEmP,OA5BD,IA6BD,ECMV,EAzCe6D,KACb,MAAM,UAAE/C,GAAcvG,KAChB,OACJ8F,EAAM,YACNC,EAAW,YACXE,EAAW,aACXC,EAAY,mBACZL,EAAkB,gBAClBG,GACEO,EACJ,OAAOT,GACLvP,EAAAA,EAAAA,KAACoI,EAAAA,IAAG,CACFrJ,UAAWU,IAAWQ,EAAM,eAAgB,eAC5CA,MAAO,CACL,UAAWuP,EACX,gBAAiBF,EAAqB,MACtCvP,UAEFF,EAAAA,EAAAA,MAACyQ,EAAc,CACbvR,UAAWkB,EAAM,qBACjB4P,QAASH,EAAY3P,SAAA,EAErBC,EAAAA,EAAAA,KAACwK,EAAAA,EAAS,CACRzL,UAAWU,IAAWQ,EAAM,oBAAqB,oBACjDA,MAAO,CAAE+S,QAASvD,EAAkB,MAAQ,wBAAyB1P,SAEpEwP,IAEFI,GACC3P,EAAAA,EAAAA,KAAC0S,EAAe,CACd3T,UAAWkB,EAAM,sBACjB2R,UAAU,qBAAoB7R,UAE9BC,EAAAA,EAAAA,KAACL,EAAAA,MAAK,CAACgD,MAAM,SAAQ5C,SAAE4P,MAEvB,UAGN,IAAI,E,eCnCV,MAAM,QAAEsD,GAAYC,EAAAA,OAEdC,EAAiBA,KAEnBnT,EAAAA,EAAAA,KAACoT,EAAAA,MAAK,CACJlU,QAAQ,+GACRmU,UAAQ,EACR3S,KAAK,QACL4S,QACEtT,EAAAA,EAAAA,KAACa,EAAAA,OAAM,CAAC7C,KAAK,QAAQuB,QAAM,EAACe,QAASA,IAAMhF,OAAOiY,SAASC,SAASzT,SAAC,mBAQvE0T,EAAiBnX,IACd0D,EAAAA,EAAAA,KAAC0T,EAAAA,EAAkB,IAAKpX,EAAOqX,eAAgBR,IAGlDS,EAAS1X,IAAsC,IAArC,SAAE6D,EAAQ,MAAE8T,EAAK,WAAEC,GAAY5X,EAC7C,MAAO6X,EAAYC,IAAiBrX,EAAAA,EAAAA,UAAS,IACtCqT,EAAWiE,IAAiBtX,EAAAA,EAAAA,UAASoH,OAAOE,OAAO,CAAC,EAAGrD,IACxDqP,GAAeiE,EAAAA,EAAAA,cAAazY,GACzBwY,GAAejE,GACbjM,OAAOE,OAAO,CAAC,EAAG+L,EAAWvU,MAErC,IAYH,OAXAsV,EAAAA,EAAAA,YAAU,KACR,MAAMoD,GAAWC,EAAAA,EAAAA,KACXC,EAAgBA,KACpBL,EAAcG,EAASJ,WAAW,EAGpC,OADAI,EAASG,iBAAiB,SAAUD,GAC7B,KACLF,EAASI,oBAAoB,SAAUF,EAAc,CACtD,GACA,KAGDxU,EAAAA,EAAAA,MAACqT,EAAAA,OAAU,CACTnU,UAAWkB,EAAc,OACzBA,MAAO8D,OAAOE,OACZ,CAAC,EACD,CACE,eAAgBwO,EAAAA,iBAAmB,KACnC,oBAAqB,oBACrB,iBAAkBsB,EAAa,MAEjCF,GACA9T,SAAA,CAED+T,IACC9T,EAAAA,EAAAA,KAACyT,EAAa,CAAA1T,UACZC,EAAAA,EAAAA,KAACwU,EAAAA,QAAU,IACLV,EACJvN,SAAWkO,KACC,OAAVX,QAAU,IAAVA,OAAU,EAAVA,EAAYvN,WAAYuN,EAAWvN,SAASkO,EAAK,OAKzDzU,EAAAA,EAAAA,KAACyT,EAAa,CAAA1T,UACZC,EAAAA,EAAAA,KAACiT,EAAO,CAAClU,UAAWkB,EAAM,uBAAuBF,UAC/CF,EAAAA,EAAAA,MAAC0H,EAAQ,CAAC9L,MAAO,CAAEuU,YAAWC,gBAAelQ,SAAA,EAC3CC,EAAAA,EAAAA,KAACyT,EAAa,CAAA1T,UACZC,EAAAA,EAAAA,KAACuS,EAAM,OAETvS,EAAAA,EAAAA,KAACyT,EAAa,CAAA1T,UACZC,EAAAA,EAAAA,KAAC2S,EAAU,OAEb3S,EAAAA,EAAAA,KAACyT,EAAa,CAAA1T,UACZF,EAAAA,EAAAA,MAACoI,EAAAA,IAAG,CACFlJ,UAAWU,IAAWuQ,EAAUjR,UAAWkB,EAAM,eACjDkI,MAAM,EACNlI,MAAO,CACL,eAAe,QAAD6D,OAAUkM,EAAUlB,aAAY,gCAC9C,oBAAoB,0BACpB/O,SAAA,EAEFC,EAAAA,EAAAA,KAACyT,EAAa,CAAA1T,UACZC,EAAAA,EAAAA,KAAC+P,EAAI,OAEP/P,EAAAA,EAAAA,KAACoI,EAAAA,IAAG,CACFrJ,UAAWU,IAAWQ,EAAM,gBAAiB,CAC3C,CAACA,EAAM,cAAe+P,EAAUZ,WAElC/G,KAAM,EACNpI,MAAO,CAAE,qBAAsB+P,EAAUpB,iBAAkB7O,UAE3DF,EAAAA,EAAAA,MAAA,OAAKd,UAAWkB,EAAM,aAAaF,SAAA,EACjCC,EAAAA,EAAAA,KAACyT,EAAa,CAAA1T,UACZC,EAAAA,EAAAA,KAAC0U,EAAS,CACRnU,MAAOyP,EAAUzP,MACjB0O,QAASe,EAAUf,QACnBlB,OAAQiC,EAAUjC,OAClBmB,WAAYc,EAAUd,WACtBC,eAAgBa,EAAUb,oBAG9BnP,EAAAA,EAAAA,KAAA,OACEjB,UAAWU,IAAWQ,EAAM,qBAAsB,CAChD,CAACA,EAAM,eAAgB+P,EAAUX,YAChCtP,UAEHF,EAAAA,EAAAA,MAAC4T,EAAa,CAAA1T,SAAA,CACXiQ,EAAU2E,kBACT3U,EAAAA,EAAAA,KAAC4U,EAAAA,QAAW,CACV7V,UAAWkB,EAAM,qBACjB6E,KAAMkL,EAAU2E,kBAGnB5U,aAKTC,EAAAA,EAAAA,KAACyT,EAAa,CAAA1T,UACZC,EAAAA,EAAAA,KAAC+S,EAAM,oBAOR,EAIjBa,EAAOhT,aAAe,CACpBkT,WAAY,CAAC,GAGf,U,eC9IA,MAQA,EARwB5X,IAAgC,IAA/B,YAAE2Y,KAAgBvY,GAAOJ,EAChD,OACE8D,EAAAA,EAAAA,KAAC8U,EAAAA,QAAW,IAAK/Q,OAAOE,OAAO,CAAC,EAAG4Q,EAAa,CAAEnU,KAAM,UAAUX,UAChEC,EAAAA,EAAAA,KAACqR,EAAI,IAAK/U,KACE,E,0BCAlB,MA+CA,GA/CkByY,EAAAA,EAAAA,aAChB,CAAA7Y,EAUEqB,KACI,IAVJ,gBACEoX,EAAe,YACfE,EAAW,KACXG,EAAI,aACJzD,EAAY,KACZzM,EAAI,QACJmQ,KACG3Y,GACJJ,EAGD,MAAOgZ,EAAWC,IAAgBxY,EAAAA,EAAAA,UAAS,MAC3C,OACEkD,EAAAA,EAAAA,MAACuV,EAAe,CACdtQ,KAAMA,EACNyM,aAAcA,EACdsD,YAAaA,KACTG,EAAIjV,SAAA,CAEPkV,GACCjV,EAAAA,EAAAA,KAAA,OAAKjB,UAAWkB,EAAM,kBAAkBF,SAClB,oBAAZkV,EAAyBA,EAAQC,GAAaD,IAEtD,MACJpV,EAAAA,EAAAA,MAAA,OAAKd,UAAWkB,EAAM,cAAcF,SAAA,CACjC4U,IACC3U,EAAAA,EAAAA,KAAC4U,EAAAA,QAAW,CACV7V,UAAWU,IAAW,eAAgBQ,EAAM,iBAC5C6E,KAAM6P,KAGV3U,EAAAA,EAAAA,KAACqV,EAAAA,UAAK,IACA/Y,EACJiB,IAAKA,EACLuH,KAAMA,EACNwQ,iBAAmB7R,IACjB0R,EAAa1R,EAAK,SAIR,I,eC5CxB,MAqBA,EArBqBvH,IAOd,IAPe,gBACpByY,EAAe,YACfE,EAAW,KACXG,EAAI,SACJO,EAAQ,SACRxV,KACGzD,GACJJ,EACC,OACE2D,EAAAA,EAAAA,MAACuV,EAAe,IAAKJ,EAAMH,YAAaA,KAAiBvY,EAAKyD,SAAA,EAC5DC,EAAAA,EAAAA,KAAA,OAAKjB,UAAWkB,EAAM,kBAAkBF,UACtCC,EAAAA,EAAAA,KAACwV,EAAAA,QAAQ,IAAKD,MAEfZ,IACC3U,EAAAA,EAAAA,KAAC4U,EAAAA,QAAW,CAAC7V,UAAWkB,EAAM,gBAAiB6E,KAAM6P,IAEtD5U,IACe,C,gDCrBtB,SAAgB,KAAO,2BAA2B,oBAAoB,wCAAwC,gBAAgB,oCAAoC,eAAe,mCAAmC,oBAAoB,wCAAwC,UAAU,8BAA8B,MAAQ,4BAA4B,OAAS,6BAA6B,cAAc,kCAAkC,gBAAgB,oCAAoC,QAAU,+B,6ICUhf,MA6CM0V,EAAYnZ,IAChB,MAAMwX,GAAahB,EAAAA,EAAAA,gBACb,GACJ1Q,EAAE,UACFrD,EAAS,MACT0B,EAAK,SACLiV,EAAQ,KACRjB,EAAI,QACJkB,EAAO,QACPrV,EAAO,OACPsV,EAAM,WACNC,EAAU,aACVrN,EAAY,SACZzI,EAAQ,aACR+V,EAAY,MACZC,EAAK,OACLC,EAAM,eACNC,GACE3Z,EAEE4Z,EACH7Q,MAAMC,QAAQvF,IAAaA,EAASnD,OAAS,GAAMkZ,GAChD,QAAEK,EAAO,UAAEC,IAAcC,EAAAA,EAAAA,UAC7BtS,OAAOE,OAAO,CAAC,EAAG6R,EAAc,CAC9BQ,MAAOL,GAAkBH,EACzBR,iBAAmB7R,IACjBuS,EAAOvS,EAAK,KAqBlB,OACEzD,EAAAA,EAAAA,KAAC8U,EAAAA,QAAW,CAACa,QAASA,EAAQ5V,UAC5BF,EAAAA,EAAAA,MAAA,OAAKd,UAAWU,IAAWV,EAAWkB,EAAM,cAAcF,SAAA,EACxDF,EAAAA,EAAAA,MAAA,OACEd,UAAWU,IAAWQ,EAAa,MAAG,CACpC,CAACA,EAAc,QAAI4V,EACnB,CAAC5V,EAAM,iBAAkBiW,EACzB,CAACjW,EAAM,gBAAiBiW,IAAgBD,EACxC,CAAChW,EAAM,mBAAoByV,EAC3B,CAACzV,EAAM,YAAuB,IAAV8V,IAEtBzV,QAAUxE,IACRA,EAAE4G,kBACGwT,IAAezB,EAIfyB,GAAgBJ,EAIhBG,IAGLH,GAAgBK,EAAQ,CAAC,GACzB3N,GAAcoN,IAPL,OAAPtV,QAAO,IAAPA,GAAAA,EAAU8B,EAAI9F,GAJdwX,EAAWW,EAWQ,EACrB1U,SAAA,CAED2V,IAAY1V,EAAAA,EAAAA,KAACc,EAAAA,QAAI,CAACJ,KAAMgV,KACzB1V,EAAAA,EAAAA,KAAA,QAAMjB,UAAWkB,EAAM,iBAAiBF,SAAEU,IACzCyV,GAAeD,IACdjW,EAAAA,EAAAA,KAACc,EAAAA,QAAI,CACHJ,KAAMkV,EAAS,uBAAyB,6BA/C7CM,GAGAD,GAAmBL,GAAU7V,GACzBC,EAAAA,EAAAA,KAAA,OAAKjB,UAAWkB,EAAM,iBAAiBF,SAAEA,KAG7CkW,GAAmBL,GAAUQ,GAE9BpW,EAAAA,EAAAA,KAAA,OAAKjB,UAAWkB,EAAM,iBAAiBF,UACrCC,EAAAA,EAAAA,KAACuW,EAAAA,KAAI,CAACxX,UAAWkB,EAAe,QAAGjC,KAAK,iBAH9C,EANS,SAoDK,EAIZ+R,EAAO7T,IAA8C,IAA7C,UAAE6C,EAAS,eAAEkX,KAAmB3Z,GAAOJ,EACnD,MAAM,SAAEkU,EAAQ,OAAEoG,IAAWrG,EAAAA,EAAAA,gBACtBsG,EAAaC,GAAsB5I,IAAgBxR,EAAO,CAC/Db,MAAO,aACP2S,aAAc,uBAGThO,EAAOuW,GAAY7I,IAAgBxR,EAAO,CAC/C8R,aAAc,eACd3S,MAAO,QACP8K,SAAU,mBAIVnG,MAAOwW,EAAW,gBAClBC,EAAe,MACfC,EAAK,aACLC,EAAY,aACZC,EAAY,YACZd,IACEtN,EAAAA,EAAAA,UAAQ,KAAO,IAADqO,EAChB,MACE7W,MAAOwW,EAAW,aAClBG,EAAY,YACZG,GA9Je9W,KACnB,MAAM2W,EAAe,CAAC,EACpBG,EAAc,GACVC,EAAYA,CAACpX,EAAUqX,KAC3B,MAAM,UAAEC,EAAS,MAAEtB,GAAUhS,OAAOE,OAClC,CACEoT,UAAW,OACXtB,MAAO,EACPuB,MAAO,IAETF,GAEF,OAAM/R,MAAMC,QAAQvF,IAAaA,EAASnD,OAAS,EAG5CmD,EAAS1B,KAAI,CAAC8G,EAAMrG,KACzB,MAAMyY,EAAU,GAAAzT,OACdqB,EAAK/J,KAAG,GAAA0I,OACS,SAAduT,EAAoB,GAAAvT,OAAMuT,EAAS,KAAM,GAAE,SAAAvT,OAAQhF,IAEnDiY,EAAaM,KAChBN,EAAaM,GAAa,IAE5BN,EAAaM,GAAWnM,KAAKqM,GAC7B,MAAMxX,EAAWoX,EAAUhS,EAAKpF,SAAU,CACxCsX,UAAWE,EACXxB,MAAOA,EAAQ,IAEjBgB,EAAaQ,IACXR,EAAaM,GAAWnM,QAAQ6L,EAAaQ,IAC/C,MAAMC,EAAazT,OAAOE,OAAO,CAAC,EAAGkB,EAAM,CACzC/J,IAAKmc,EACLF,YACAtB,QACAhW,SAAUA,EACV0X,WAAYtS,IAGd,OADA+R,EAAYK,GAAcC,EACnBA,CAAU,IAzBV,IA0BP,EAGJ,MAAO,CAAEpX,MAAO+W,EAAU/W,GAAQ2W,eAAcG,cAAa,EAqHvDQ,CAAYtX,GAChB,IAAI4W,GAAe,EACjBd,GAAc,EAChB,MAAMY,EAAQ,GACZD,EAAkB,GAYpB,OAXY,OAAZE,QAAY,IAAZA,GAAsB,QAAVE,EAAZF,EAAqB,YAAC,IAAAE,GAAtBA,EAAwBrL,SAASxQ,IAC/B,MAAMyQ,EAAOqL,EAAY9b,GACrByQ,EAAK6J,WACPsB,GAAe,GAEjBnL,EAAK4I,MAAQqC,EAAM5L,KAAK,CAAEuJ,KAAM5I,EAAK4I,KAAMrZ,QACvCiK,MAAMC,QAAQuG,EAAK9L,WAAa8L,EAAK9L,SAASnD,OAAS,IACzDsZ,GAAc,EACdW,EAAgB3L,KAAKW,EAAKzQ,KAC5B,IAEK,CACLyb,kBACAC,QACA1W,MAAOwW,EACPG,eACAC,eACAd,cACD,GACA,CAAC9V,KACJ2Q,EAAAA,EAAAA,YAAU,KACR,MAAM4G,EAAcb,EAAMc,MAAK/Y,IAAe,IAAd,KAAE4V,GAAM5V,EACtC,OACEgZ,IAAYzH,EAAS0H,QAAQ,UAAW,OAASD,IAAYpD,IAC7DoD,IAAYzH,EAAWoG,KAAYqB,IAAYpD,EAAK,IAGpDkD,GACFjB,EAAmBiB,EAAYvc,IACjC,GACC,CAAC0b,EAAO1G,EAAUoG,EAAQE,IAE7B,MAAOqB,EAAUC,GAAelK,IAC9B/J,OAAOE,OAAO,CAAC,EAAG3H,EAAO,CACvBua,gBAAiBva,EAAMua,iBAAmBA,IAE5C,CACEpb,MAAO,WACP2S,aAAc,kBACd7H,SAAU,iBAIR0R,GAAiB/D,EAAAA,EAAAA,cACrB,CAACnU,EAAUqX,KACT,MAAM,UAAEC,EAAS,MAAEtB,EAAK,YAAEU,EAAW,SAAEsB,EAAQ,MAAET,GAAUvT,OAAOE,OAChE,CACEoT,UAAW,KACXtB,MAAO,EACPuB,MAAO,IAETF,GAEF,OAAI/R,MAAMC,QAAQvF,IAAaA,EAASnD,OAAS,EACxCmD,EAAS1B,KACdgC,IAAyD,IAAxD,SAAEN,EAAU3E,IAAKmc,EAAU,WAAEE,KAAetS,GAAM9E,EACjD,OACEf,EAAAA,EAAAA,eAACmW,EAAQ,IACH1R,OAAOE,OAAO,CAAC,EAAGkB,GACtB/C,GAAImV,EACJW,SAAUb,EACVtB,MAAOA,EACPE,eAAgBA,EAChBJ,WACE0B,IAAed,GACdM,EAAaQ,IACZR,EAAaQ,GAAYxZ,QAAQ0Y,IAAgB,EAErDnW,QAASoW,EACTV,OAASvS,IACPkT,GAAUvW,IACR,MAAMuL,EAAQ5L,GACRsF,MAAMC,QAAQvF,IAAaA,EAASnD,OAAS,EACxCmD,EAAS1B,KAAK8G,GACZpB,OAAOE,OAAO,CAAC,EAAGkB,EAAM,CAC7BpF,SACE0X,IAAetS,EAAO1B,EAAOkI,EAAKxG,EAAKpF,cAIxC,KAGT,OAAO4L,EAAKvL,EAAM,GAClB,EAEJwV,QAASmC,GAAY,IAAIha,QAAQwZ,IAAe,EAChDnc,IAAKmc,EACL/O,aAAcA,KACZwP,GAAaD,IACX,MAAMI,EAAcJ,EAASpZ,MAAM,GAMnC,OALIoZ,EAASha,QAAQwZ,IAAe,EAClCY,EAAYjR,OAAO6Q,EAASha,QAAQwZ,GAAa,GAEjDY,EAAYjN,KAAKqM,GAEZY,CAAW,GAClB,GAGHF,EAAelY,EAAU,CACxBsX,YACAtB,MAAOA,EAAQ,EACfU,cACAsB,WACAT,MAAO,IAAIA,EAAOC,KAEX,IAKZ,IAAI,GAEb,CAACZ,EAAUqB,EAAatB,EAAoBK,EAAcd,IAG5D,OACEjW,EAAAA,EAAAA,KAAA,OACEjB,UAAWU,IAAWV,EAAWkB,EAAY,KAAG,CAC9C,CAACA,EAAM,uBAAwB+W,EAC/B,CAAC/W,EAAM,sBAAuBiW,IAC7BnW,SAEFkY,EAAerB,EAAa,CAAEH,cAAasB,cACxC,EAIVhI,EAAKnP,aAAe,CAClBwX,aAAc,GACdnC,gBAAgB,GAGlB,S,oJChQA,MACA,EAAe,IAA0B,4D,eCtDzC,MAMA,EANwBlV,IACZ,CACJ,QAASC,IAAM,+BAAmB,QAASC,IAAM,gCAClDF,M,0BCFP,QAAkC,sCAAlC,EAAqF,iCAArF,EAAiI,+BAAjI,EAAkL,sCAAlL,EAA+N,2BAA/N,EAA4Q,sCAA5Q,EAAuU,yCAAvU,EAA8a,gC,eCW9a,MAAM,OAAEwR,GAAWqB,EAAAA,OAENnB,EAAmB,GAE1B4F,EAAWnc,IAAsC,IAArC,KAAE4I,EAAI,QAAEwT,EAAO,aAAEC,GAAcrc,EAC/C,MAAMyU,GAAWlM,EAAAA,EAAAA,QAAO,CACtB6T,UACAC,iBAMF,OAJAxH,EAAAA,EAAAA,YAAU,KACR,MAAMxQ,EAAQ0E,IAAI0L,EAASxT,QAAQmb,QAAQrT,IAAIH,GAAO,SACtD0T,SAASjY,OAASA,EAAQA,EAAQ,IAAM,IAAMoQ,EAASxT,QAAQob,YAAY,GAC1E,CAACzT,IACG,IAAI,EAGP0P,EAAa3V,IAaZ,IAba,YAClBgW,EAAW,KACX1Y,EAAI,WACJsc,EAAU,aACVC,EAAY,QACZ7I,EAAO,UACP8I,EAAS,WACTC,EAAU,aACVL,EAAY,oBACZM,EAAmB,KACnBC,EAAI,SACJvS,EAAQ,UACRxH,GACDF,EACC,MAAMyZ,GAAU1P,EAAAA,EAAAA,UAAQ,IACf,IAAI/E,IAAI1H,EAAKkC,KAAIgC,IAAA,IAAC,IAAEjF,KAAQ+O,GAAQ9J,EAAA,MAAK,CAACjF,EAAK+O,EAAO,MAC5D,CAAChO,IACE4c,GAAWjG,EAAAA,EAAAA,eACXS,GAAWpD,EAAAA,EAAAA,eACX6I,GAAgBvU,EAAAA,EAAAA,UAChBwU,GAAoBxU,EAAAA,EAAAA,QAAO,OAC1ByU,EAAWC,IAAgBxc,EAAAA,EAAAA,UAAS,gBACrCuT,EAAiBqD,EAASnD,SAC7B0H,QAAQ,IAAIsB,OAAO,IAADtV,OAAKgV,IAAS,IAChCzI,MAAM,KAAK,GACRvL,EAAOoL,EACTjL,IACEI,MAAMS,KAAKwS,EAAQe,WAAWzB,MAAKxR,IAAmC,IAAjCtB,GAAM,KAAE2P,EAAI,WAAE6E,IAAalT,EAG9D,OAAgD,KAD9B,oBAATqO,EAAsBA,EAAK6E,EAAYzE,GAAeJ,GAClD1W,QAAQ,IAAMmS,EAAsB,IAEnD,OAEF,QACJa,EAAAA,EAAAA,YAAU,KACR,MAAMe,EAAWA,KACf,GAAIkH,EAAc7b,QAAS,CACzB,MAAMoc,EACJP,EAAc7b,QAAQM,iBAAiB,oBACzC,IAAI+b,GAAQ,EACZ,IAAK,IAAIC,EAAI,EAAGA,EAAIF,EAAQ3c,OAAQ6c,IAAK,CAGvC,IAA8B,IAFlBF,EAAQE,GACDC,aAAa,gBACrB3b,QAAQ+G,GAAc,CAC/B0U,GAAQ,EACR,KACF,CACF,CACA,IAAIG,EACFrB,EAAQrT,IAAIH,KAAU0U,EAAQvU,IAAIqT,EAAQrT,IAAIH,GAAO,SAAW,GAClEqU,EAAaQ,EACf,GAEIC,EAA6B,CACjCC,YAAY,EACZzH,WAAW,EACXD,SAAS,GAcX,OAZI6G,GAAiBA,EAAc7b,UACjC2U,IACImH,EAAkB9b,SACpB8b,EAAkB9b,QAAQkV,aAE5B4G,EAAkB9b,QAAU,IAAI8U,iBAAiBH,GACjDmH,EAAkB9b,QAAQ+U,QACxB8G,EAAc7b,QACdyc,IAIG,KACLX,EAAkB9b,SAAW8b,EAAkB9b,QAAQkV,YAAY,CACpE,GACA,CAACvN,EAAMwT,IACV,MAAMwB,IAAWnB,GACb,CACElY,MAAOmY,IACL5Y,EAAAA,EAAAA,KAACyG,EAAAA,iBAAgB,CAACrE,GAAG,aAAad,WAAW,eAE/ClG,IAAK,OACLkF,QAASA,KACPiG,GAAYA,EAAS,KACrBwT,YAAW,KACThB,EAAS,IAAI,GACZ,EAAE,GAIb,OACElZ,EAAAA,EAAAA,MAAC2G,EAAAA,aAAY,CAACjF,eAAgBA,EAAgBD,WAAW,aAAYvB,SAAA,EACnEC,EAAAA,EAAAA,KAACyG,EAAAA,iBAAgB,CAACrE,GAAG,eAAed,WAAW,aAAYvB,SACvD8G,IACA7G,EAAAA,EAAAA,KAACqY,EAAQ,CACPE,aAAcA,GAAgB1R,EAC9ByR,QAASA,EACTxT,KAAMA,OAIZ9E,EAAAA,EAAAA,KAAA,OAAKjB,UAAWU,IAAWQ,EAA0BlB,GAAWgB,UAC9DC,EAAAA,EAAAA,KAACuS,EAAM,CACLxT,UAAWU,IAAW,aAAcQ,EAAqB,CACvD,CAACA,GAAoB4P,IACpB9P,UAEHF,EAAAA,EAAAA,MAACoI,EAAAA,IAAG,CAACC,QAAQ,eAAeC,MAAM,EAAMpI,SAAA,EACtCC,EAAAA,EAAAA,KAACoI,EAAAA,IAAG,CACFrJ,UAAWU,IACT,kBACAQ,GACAF,UAEFC,EAAAA,EAAAA,KAACga,EAAAA,QAAK,CACJjb,UAAWU,IAAWQ,GACtBga,IAAKC,EACLC,IAAI,UACA1B,OAGRzY,EAAAA,EAAAA,KAACoI,EAAAA,IAAG,CACF7K,IAAKyb,EACL3Q,KAAM,EACNtJ,UAAWU,IACT,kBACAQ,GACAF,UAEFC,EAAAA,EAAAA,KAAC+P,EAAAA,KAAI,CACH5E,aAAc,CAACrG,GACfsV,KAAK,aACLvB,oBACEA,IACEhZ,EAAAA,EAAAA,MAACF,EAAAA,MAAK,CAAC3B,KAAM,EAAE+B,SAAA,EACbC,EAAAA,EAAAA,KAAA,QAAAD,SACGmZ,IACClZ,EAAAA,EAAAA,KAACyG,EAAAA,iBAAgB,CACfrE,GAAG,sBACHd,WAAW,kBAIjBtB,EAAAA,EAAAA,KAAA,QAAMjB,UAAWkB,EAAmBF,UAClCC,EAAAA,EAAAA,KAACc,EAAAA,QAAI,CAACJ,KAAK,8BAKnBN,MAAO,CACL0Z,KACGzU,MAAMS,KAAKwS,EAAQe,WACnBtL,QAAOrC,IAA6B,IAA3B5G,GAAM,WAAEwU,IAAa5N,EAC7B,GAA0B,kBAAf4N,EACT,OAAOzE,EAAY9W,QAAQub,IAAe,EAE5C,GAA0B,oBAAfA,EACT,OAAOA,EAAWzE,GAEpB,GAAIxP,MAAMC,QAAQgU,GAAa,CAC7B,IAAK,IAAInU,KAAQmU,EACf,GAAIzE,EAAY9W,QAAQoH,IAAS,EAC/B,OAAO,EAGX,OAAO,CACT,CACA,OAAO,CAAI,IAEZ9G,KAAIgc,IAA0C,IAAxCvV,GAAM,MAAEvE,EAAK,KAAEkU,EAAI,WAAE6E,IAAae,EACvC,MAAMC,EACY,oBAAT7F,EACHA,EAAK6E,EAAYzE,GACjBJ,EACN,MAAO,CACLhU,MAAOF,EACPnF,IAAK0J,EACLxE,QAASA,KACPiG,GAAYA,EAAS+T,GACrBP,YAAW,KACThB,EAASuB,EAAM,GACd,EAAE,EAER,UAKXta,EAAAA,EAAAA,KAACoI,EAAAA,IAAG,CAACrJ,UAAWkB,EAA4BF,SAAE2Y,aAIvC,EAInBlE,EAAW5T,aAAe,CACxBiP,SAAS,EACTgF,YAAa,GACb1Y,KAAM,GACNwc,WAAW,EACXG,KAAM,IAGR,S,qLCtOA,QAAwB,4B,0BCMjB,MAAMyB,EAAiBre,IAA+B,IAA9B,YAAE2Y,EAAW,QAAEc,GAASzZ,EACrD,QAAOmJ,MAAMC,QAAQqQ,IAAYA,EAAQ/Y,OAAS,IAC9C+Y,EAAQ6E,MAAMjD,IAAgB1C,GAAe,IAAI9W,QAAQwZ,IAAe,GACpE,EAGGkD,EAAiBA,KAC5B,MAAMvU,GAASuD,EAAAA,EAAAA,oBACf,MAAO,CACLoL,YAAa5P,IAAIiB,EAAQ,iCAAkC,IAC5D,EAGUwU,EAAqB7b,IAAkB,IAAjB,QAAE8W,GAAS9W,EAC5C,MAAM,YAAEgW,GAAgB4F,IACxB,OAAOF,EAAe,CAAE1F,cAAac,WAAU,EAG3Cb,EAAczU,IAQb,IARc,KACnBK,EAAI,UACJ3B,EAAS,QACT4b,EAAO,QACPzb,EAAO,QACPyW,EAAO,SACP5V,KACGzD,GACJ+D,EACC,MAAMqQ,EAASgK,EAAmB,CAAE/E,YACpC,MAAwB,oBAAb5V,EACFA,EAAS,CAAE2Q,SAAQhQ,OAAMiV,aAGnB,IAAXjF,EACK3Q,EAGI,UAATW,GACKV,EAAAA,EAAAA,KAACkR,EAAAA,OAAM,CAACC,OAAO,MAAMC,SAAUlS,IAG3B,YAATwB,GAEAV,EAAAA,EAAAA,KAAC4a,EAAAA,QAAO,CAACra,MAAOrB,EAAQa,UACrB8a,EAAAA,EAAAA,eACCF,EACA,IAAKre,EAAOyC,UAAWU,IAAWQ,EAAgBlB,IAClDgB,KAMD,IAAI,EAGb+U,EAAYlU,aAAe,CACzBF,KAAM,SACNia,QAAS,OACTzb,QAAS,4EAGX,S,mFCnEA,SAAgB,YAAY,gCAAgC,eAAe,mCAAmC,kBAAkB,sCAAsC,oBAAoB,wCAAwC,mBAAmB,uCAAuC,kBAAkB,uC,eCa9S,MA6BA,EA7BiBhD,IAMV,IANW,UAChB6C,EAAS,KACT2B,EAAO,MAAK,YACZoa,EAAc,GAAE,QAChBC,KACGze,GACJJ,EACC,OACE8D,EAAAA,EAAAA,KAACgb,EAAAA,KAAI,IACC1e,EACJ,cAAa,4BACbyC,UAAWU,IACTQ,EAAM,aACNA,EAAM,OAAD6D,OAAQpD,EAAI,aACjB3B,EACA,CACE,CAACkB,EAAM,oBAAqB8a,EAC5B,CAAC9a,EAAM,iBAAkB6a,EAAYN,MAAMrV,KAAWA,EAAKpF,aAG/DE,MAAO,CAAE,gBAAiB6a,EAAYle,QACtCqe,UAAU,EACV7a,MAAO0a,EAAYzc,KAAIQ,IAAoC,IAAnC,IAAEqc,EAAG,MAAEza,EAAK,IAAErF,KAAQkB,GAAOuC,EACnD,MAAO,CAAE4B,MAAOya,GAAOza,EAAOrF,SAAQkB,EAAO,KAE/C,C,mFCtCN,SAAgB,YAAY,gCAAgC,mBAAmB,uCAAuC,kBAAkB,sCAAsC,kCAAkC,sDAAsD,wBAAwB,4CAA4C,yBAAyB,6CAA6C,UAAU,8BAA8B,WAAW,+BAA+B,oBAAoB,yC,0BCKtf,MAAM6e,EAAc,CAClBC,QAAS,UACTC,MAAO,CACLC,MAAO,UACPC,YAAa,WAEfjS,OAAQ,UACRkS,aAAc,UACdC,QAAS,UACTC,SAAU,UACVnc,OAAQ,UACRoc,KAAM,UACNC,MAAO,WAGHjV,EAAWzK,IAQV,IARW,WAChB2f,EAAU,KACVhV,EAAI,KACJnG,EAAI,eACJob,EAAc,UACd/c,EAAS,WACT6H,KACGtK,GACJJ,EACC,MAAM6f,GAAWnT,EAAAA,EAAAA,UACf,SAAAoT,EAAAC,EAAA,MAAO,CACLX,OAAkB,OAAXH,QAAW,IAAXA,GAAmB,QAARa,EAAXb,EAAcza,UAAK,IAAAsb,OAAR,EAAXA,EAAqBV,QAASH,EAAYza,GACjD6a,aAAwB,OAAXJ,QAAW,IAAXA,GAAmB,QAARc,EAAXd,EAAcza,UAAK,IAAAub,OAAR,EAAXA,EAAqBV,cAAeJ,EAAYza,GAC9D,GACD,CAACA,IAGH,OACEb,EAAAA,EAAAA,MAACF,EAAAA,MAAK,CACJ,cAAa,4BACbZ,UAAWU,IACTQ,EAAM,qBACG,iBAATS,EAA0BT,EAAM,mCAAqC,IAEvE0C,MAAM,SACN3E,KAAM,EAAE+B,SAAA,CAEP6G,GACC/G,EAAAA,EAAAA,MAAA,QAAMd,UAAWkB,EAAM,yBAAyBF,SAAA,CAAE6G,EAAW,OAC3D,MACJ5G,EAAAA,EAAAA,KAACkc,EAAAA,IAAG,CACFZ,MAAOS,EAAST,SACZhf,EACJ2D,MAAO,CACLkc,WAAYL,EAAiBC,EAAST,MAAQ,KAAO,OACrDA,MAAOS,EAAST,MAChBc,OAAQP,EAAU,aAAA/X,OAAgBiY,EAASR,aAAgB,QAE7Dxc,UAAWU,IACTQ,EAAM,aACNlB,EACS,WAAT2B,EAAoBT,EAAM,oBAAsB,GACvC,UAATS,EAAmBT,EAAM,mBAAqB,GAC9CA,EAAM,aAAD6D,OAAcpD,IACnBob,EAAiB7b,EAAM,WAAa,GACpC4b,EAAa5b,EAAM,eAAiB,IACpCF,UAEFC,EAAAA,EAAAA,KAAA,QAAMjB,UAAWkB,EAAM,YAAYF,SAAE8G,QAEjC,EAIZF,EAAS/F,aAAe,CACtB0a,MAAO,UACP5a,KAAM,UACNmb,YAAY,EACZC,gBAAgB,EAChBjV,KAAM,GACN9H,UAAW,IAGb,S,kECnFA,SAAgB,MAAQ,4BAA4B,YAAY,gCAAgC,YAAY,gCAAgC,kBAAkB,sCAAsC,cAAc,kCAAkC,iBAAiB,qCAAqC,cAAc,kCAAkC,QAAU,8BAA8B,wBAAwB,4CAA4C,qBAAqB,yCAAyC,kBAAkB,sCAAsC,0BAA0B,8CAA8C,gCAAgC,oDAAoD,mCAAmC,uDAAuD,iCAAiC,qDAAqD,gCAAgC,oDAAoD,+BAA+B,mDAAmD,+BAA+B,mDAAmD,UAAU,8BAA8B,oCAAoC,wDAAwD,gBAAgB,oCAAoC,iBAAiB,qCAAqC,0BAA0B,8CAA8C,WAAW,+BAA+B,mBAAmB,uCAAuC,YAAY,gCAAgC,kBAAkB,uC,mGCAxlD,SAAgB,WAAW,iCAAiC,IAAM,4BAA4B,OAAS,+BAA+B,MAAQ,8BAA8B,QAAU,gCAAgC,QAAU,gCAAgC,QAAU,iC,yDCK1Q,MA+BA,EA/BoB7C,IAAiC,IAAhC,UAAE6C,EAAS,KAAE5C,EAAI,MAAEkgB,GAAOngB,EAC7C,OACE8D,EAAAA,EAAAA,KAAA,OACEjB,UAAWU,IAAWV,EAAWkB,EAAM,mBACvCA,MAAO,CACL,cAAeoc,EAAQ,MACvBtc,UAEFC,EAAAA,EAAAA,KAAC/D,EAAAA,QAAW,CACVE,KAAMA,EAAKkC,KAAIQ,IAAA,IAAC,UAAEE,KAAczC,GAAOuC,EAAA,OACrCkF,OAAOE,OAAO,CAAC,EAAG3H,EAAO,CACvByC,UAAWU,IACTV,EACA,iBACAkB,EAAM,gBAERS,KAAM,QACN,IAEJtE,MACE4D,EAAAA,EAAAA,KAACa,EAAAA,OAAM,CACL0P,MAAMvQ,EAAAA,EAAAA,KAACc,EAAAA,QAAI,CAACJ,KAAK,kBACjB3B,UAAU,iBACV2B,KAAK,YAIP,E,gDC9BV,MAqBA,EArBiBxE,IAA6B,IAA5B,SAAE6D,EAAQ,SAAEuc,GAAUpgB,EACtC,OACE8D,EAAAA,EAAAA,KAACiD,EAAAA,WAAWG,KAAI,CACdkZ,SACEA,GACAvY,OAAOE,OACL,CAAC,EACD,CACEsY,QAAS,CACPzZ,iBAAkB7C,EAAe,QACjCF,SAAUA,KAIjBA,SAEAA,GACe,EChBhByc,EAAUtgB,IAYT,IAZU,KACfwE,EAAI,KACJyE,EAAI,QACJsX,EAAO,YACPC,EAAW,MACXC,EAAK,QACLC,EAAO,SACP7c,EAAQ,MACRsc,EAAK,MACLpc,EAAK,QACLK,EAAO,SACPuc,GACD3gB,EACC,MAAO4gB,EAASC,IAAcpgB,EAAAA,EAAAA,WAAS,GACvC,OACEqD,EAAAA,EAAAA,KAAA,OACEC,MAAO8D,OAAOE,OAAO,CAAC,EAAGhE,EAAO,CAAE,cAAeoc,EAAQ,OACzDtd,UAAWU,IACTud,EAAa,YACbA,EAAatc,GACb+b,EACI,KACA,CACE,CAACO,EAAoB,OAAIL,EACzB,CAACK,EAAsB,SAAIJ,EAC3B,CAACI,EAAsB,SAAIF,IAGnCxc,QAAUxE,IACe,oBAAZwE,GAA2Bmc,GAAYK,IAChDC,GAAW,GACXrX,QAAQuX,QACN3c,EAAQ,CAAE6E,OAAM+X,QAASL,EAAUM,MAAOrhB,KAC1CshB,SAAQ,KACRL,GAAW,EAAM,IAErB,EACAhd,SAED0c,EACGC,EAAY,CAAEhc,OAAMyE,OAAMwX,QAAOC,UAAS7c,aAC1CA,GACA,EAIVyc,EAAQ5b,aAAe,CACrB8b,YAAaA,IAAM,KAGrB,UCjDMW,GAAcC,EAAAA,EAAAA,iBAAgB,CAClCR,QAAS,MADSQ,EAEjBphB,IAAyB,IAAxB,KAAEuH,EAAI,SAAE1D,GAAU7D,EACpB,OAAO6D,EAAS0D,EAAK,IAiDvB,EA9C0B5E,IASnB,IAToB,IACzB0e,EAAG,OACHC,EAAM,SACNC,EAAQ,SACRnB,EAAQ,MACRK,EAAK,QACLC,EAAO,YACPF,EAAW,QACXD,GACD5d,EACC,OAAI2e,GAEAxd,EAAAA,EAAAA,KAACqd,EAAW,IAAKE,EAAGxd,SAChB0D,IAEEzD,EAAAA,EAAAA,KAACwc,EAAO,CACN9b,KAAK,mBACLyE,KAAM1B,EACNkZ,MAAOA,EACPC,QAASA,EACTF,YAAaA,EACbD,QAASA,EAAQ1c,UAEjBC,EAAAA,EAAAA,KAAC0d,EAAQ,CAACpB,SAAUA,EAASvc,SACF,oBAAjBwd,EAAIxd,SAA0Bwd,EAAIxd,SAAS0D,GAAQA,SASvEzD,EAAAA,EAAAA,KAACwc,EAAO,CACN9b,KAAK,YACLkc,SAAO,EACPH,QAASA,EACTC,YAAaA,EAAY3c,UAEzBC,EAAAA,EAAAA,KAACa,EAAAA,OAAM,CAAC9B,UAAU,iBAAiB2B,KAAK,OAAOJ,QAASmd,EAAS1d,SAAC,kBAG1D,E,uBCxCd,MAoSM6b,EAAQA,CACZzW,EAAIwY,KAEA,IADJ,MAAEhB,EAAK,QAAEC,EAAO,SAAEN,EAAQ,YAAEI,EAAW,QAAED,KAAYngB,GAAOqhB,EAE5D,OACE3d,EAAAA,EAAAA,KAACwc,EAAO,IACFlgB,EACJoE,KAAK,QACLyE,KAAMA,EACNwX,MAAOA,EACPC,QAASA,EACTF,YAAaA,EACbD,QAASA,EAAQ1c,UAEjBC,EAAAA,EAAAA,KAAC0d,EAAQ,CAACpB,SAAUA,EAASvc,SAAEoF,KACvB,EAuBRyY,EAAc,CAClBC,KAAM,CACJC,OA5USD,CAAC1Y,EAAIjJ,KAA0D,IAAxD,MAAEygB,EAAK,QAAEC,EAAO,QAAEH,EAAO,YAAEC,KAAgBpgB,GAAOJ,EACpE,OACE8D,EAAAA,EAAAA,KAACwc,EAAO,IACFlgB,EACJoE,KAAK,OACLyE,KAAMA,EACNyX,QAASA,EACTD,MAAOA,EACPD,YAAaA,EACbD,QAASA,IAAYtQ,IAAMhH,GAAM4Y,UAAUhe,SAE1CoM,IAAMhH,GAAMiH,OAAO,eACZ,EAiUViQ,MAAO,IACP2B,IAAK,IACLC,IAAK,KAEPC,UAAW,CACTJ,OAlUcI,CAChB/Y,EAAItG,KAEA,IADJ,MAAE8d,EAAK,QAAEC,EAAO,QAAEH,EAAO,YAAEC,KAAgBpgB,GAAOuC,EAElD,OACEmB,EAAAA,EAAAA,KAACwc,EAAO,IACFlgB,EACJoE,KAAK,aACLyE,KAAMA,EACNyX,QAASA,EACTD,MAAOA,EACPD,YAAaA,EACbD,QAASA,IAAYtQ,IAAMhH,GAAM4Y,UAAUhe,SAE1CoM,IAAMhH,GAAMiH,OAAO,YACZ,EAoTViQ,MAAO,IACP2B,IAAK,IACLC,IAAK,KAEPE,UAAW,CACTL,OApTcK,CAChBhZ,EAAI9E,KAEA,IADJ,MAAEsc,EAAK,QAAEC,EAAO,QAAEH,EAAO,YAAEC,KAAgBpgB,GAAO+D,EAElD,OACEL,EAAAA,EAAAA,KAACwc,EAAO,IACFlgB,EACJoE,KAAK,aACLyE,KAAMA,EACNyX,QAASA,EACTD,MAAOA,EACPD,YAAaA,EACbD,QAASA,EAAQ1c,SAEhBoM,IAAU,OAAJhH,QAAI,IAAJA,OAAI,EAAJA,EAAO,IAAIiH,OAAO,oBACvB,IACAD,IAAU,OAAJhH,QAAI,IAAJA,OAAI,EAAJA,EAAO,IAAIiH,OAAO,UAClB,EAoSViQ,MAAO,IACP2B,IAAK,IACLC,IAAK,KAEPG,SAAU,CACRN,OArSaM,CACfjZ,EAAIiB,KAEA,IADJ,MAAEuW,EAAK,QAAEC,EAAO,YAAEF,EAAW,QAAED,EAAO,WAAE4B,KAAe/hB,GAAO8J,EAE9D,OACEpG,EAAAA,EAAAA,KAACwc,EAAO,IACFlgB,EACJ6I,KAAMA,EACNyX,QAASA,EACTD,MAAOA,EACPD,YAAaA,EACbD,QAASA,IAAYtQ,IAAMhH,GAAM4Y,UAAUhe,SAE1CoM,IAAMhH,GAAMiH,OACXiS,EAAa,mBAAqB,wBAE5B,EAsRVhC,MAAO,IACP2B,IAAK,IACLC,IAAK,KAEPK,aAAc,CACZR,OAvRiBQ,CACnBnZ,EAAIuG,KAEA,IADJ,MAAEiR,EAAK,QAAEC,EAAO,YAAEF,EAAW,QAAED,KAAYngB,GAAOoP,EAElD,OACE1L,EAAAA,EAAAA,KAACwc,EAAO,IACFlgB,EACJoE,KAAK,gBACLyE,KAAMA,EACNyX,QAASA,EACTD,MAAOA,EACPD,YAAaA,EACbD,QAASA,EAAQ1c,SAEhBoF,GACO,EAyQVkX,MAAO,IACP2B,IAAK,IACLC,IAAK,KAEPM,kBAAmB,CACjBT,OA1QsBS,CACxBpZ,EAAIkV,KAEA,IADJ,MAAEsC,EAAK,QAAEC,EAAO,YAAEF,EAAW,QAAED,KAAYngB,GAAO+d,EAElD,OACEra,EAAAA,EAAAA,KAACwc,EAAO,IACFlgB,EACJoE,KAAK,sBACLyE,KAAMA,EACNyX,QAASA,EACTD,MAAOA,EACPD,YAAaA,EACbD,QAASA,EAAQ1c,SAEhBoF,GACO,EA4PVkX,MAAO,IACP2B,IAAK,IACLC,IAAK,KAEPO,KAAM,CACJV,OA7PSU,CACXrZ,EAAIsZ,KAEA,IADJ,MAAE9B,EAAK,QAAEC,EAAO,SAAEN,EAAQ,YAAEI,EAAW,QAAED,KAAYngB,GAAOmiB,EAE5D,OACEze,EAAAA,EAAAA,KAACwc,EAAO,IACFlgB,EACJoE,KAAK,OACLyE,KAAMA,EACNyX,QAASA,EACTD,MAAOA,EACPD,YAAaA,EACbD,QAASA,EAAQ1c,UAEjBC,EAAAA,EAAAA,KAAC0d,EAAQ,CAACpB,SAAUA,EAASvc,SAAEoF,KACvB,EA+OVkX,MAAO,IACP2B,IAAK,IACLC,IAAK,KAEPS,SAAU,CACRZ,OAhPaY,CACfvZ,EAAIwZ,KAEA,IADJ,MAAEhC,EAAK,QAAEC,EAAO,SAAEN,EAAQ,YAAEI,EAAW,QAAED,KAAYngB,GAAOqiB,EAE5D,OACE3e,EAAAA,EAAAA,KAACwc,EAAO,IACFlgB,EACJoE,KAAK,YACLyE,KAAMA,EACNyX,QAASA,EACTD,MAAOA,EACPD,YAAaA,EACbD,QAASA,EAAQ1c,UAEjBC,EAAAA,EAAAA,KAAC0d,EAAQ,CAACpB,SAAUA,EAASvc,SAAEoF,KACvB,EAkOVkX,MAAO,IACP2B,IAAK,IACLC,IAAK,KAEPW,SAAU,CACRd,OAnOac,CACfzZ,EAAI0Z,KAEA,IADJ,MAAElC,EAAK,QAAEC,EAAO,SAAEN,EAAQ,YAAEI,EAAW,QAAED,KAAYngB,GAAOuiB,EAE5D,OACE7e,EAAAA,EAAAA,KAACwc,EAAO,IACFlgB,EACJoE,KAAK,WACLyE,KAAMA,EACNyX,QAASA,EACTD,MAAOA,EACPD,YAAaA,EACbD,QAASA,EAAQ1c,UAEjBC,EAAAA,EAAAA,KAAC0d,EAAQ,CAACpB,SAAUA,EAASvc,SAAEoF,KACvB,EAqNVkX,MAAO,IACP2B,IAAK,IACLC,IAAK,KAEPa,IAAK,CACHhB,OAtNQgB,CAAC3Z,EAAI4Z,KAA0C,IAAxC,YAAErC,EAAW,QAAED,KAAYngB,GAAOyiB,EACnD,OACE/e,EAAAA,EAAAA,KAACwc,EAAO,IACFlgB,EACJoE,KAAK,MACLyE,KAAMA,EACNuX,YAAaA,EACbD,QAASA,EAAQ1c,SAEhBoF,IACEA,EAAK6Z,QACJhf,EAAAA,EAAAA,KAACiG,EAAAA,QAAI,CACHnB,KAAMK,EAAKL,KACXxD,WAAY6D,EAAK7D,WACjByD,MAAOI,EAAKJ,MAAMhF,SAEjBkf,IAAA,IAAC,KAAEve,EAAI,YAAE4C,GAAa2b,EAAA,OACrBjf,EAAAA,EAAAA,KAAC2G,EAAAA,QAAQ,CACPjG,KAAMA,KACFqD,OAAOE,OACT,CAAC,EACDyG,IAAKvF,EAAM,CAAC,OAAQ,SAAU,aAAc,WAE9C0B,KAAMvD,GACN,KAINtD,EAAAA,EAAAA,KAAC2G,EAAAA,QAAQ,IAAK5C,OAAOE,OAAO,CAAC,EAAGkB,OAE5B,EAyLVkX,MAAO,IACP2B,IAAK,IACLC,IAAK,KAEPiB,OAAQ,CACNpB,OA1LWoB,CAAC/Z,EAAIga,KAA0C,IAAxC,YAAEzC,EAAW,QAAED,KAAYngB,GAAO6iB,EACtD,OACEnf,EAAAA,EAAAA,KAACwc,EAAO,IACFlgB,EACJoE,KAAK,SACLyE,KAAMA,EACNuX,YAAaA,EACbD,QAASA,EAAQ1c,UAEjBC,EAAAA,EAAAA,KAACga,EAAAA,QAAMoF,OAAM,IAAKrb,OAAOE,OAAO,CAAC,EAAGkB,GAAOnH,KAAM,MACzC,EAiLVqe,MAAO,GACP2B,IAAK,GACLC,IAAK,KAEPoB,UAAW,CACTvB,OAlLcuB,CAChBla,EAAIma,KAEA,IADJ,MAAE3C,EAAK,QAAEC,EAAO,SAAEN,EAAQ,YAAEI,EAAW,QAAED,KAAYngB,GAAOgjB,EAE5D,OACEtf,EAAAA,EAAAA,KAACwc,EAAO,IACFlgB,EACJoE,KAAK,aACLyE,KAAMA,EACNwX,MAAOA,EACPC,QAASA,EACTF,YAAaA,EACbD,QAASA,EAAQ1c,UAEjBC,EAAAA,EAAAA,KAAC0d,EAAQ,CAACpB,SAAUA,EAASvc,SAAEoF,KACvB,EAoKVkX,MAAO,GACP2B,IAAK,GACLC,IAAK,KAEPsB,SAAU,CACRzB,OArKayB,CAACpa,EAAM7I,KACf0D,EAAAA,EAAAA,KAACwf,EAAiB,CAACjC,IAAKpY,KAAU7I,IAqKvC+f,MAAO,IACP2B,IAAK,GACLC,IAAK,KAEPwB,SAAU,CACR3B,OAvKa2B,CACfta,EAAIua,KAEA,IADJ,SAAEpD,EAAQ,MAAEK,GAAQ,EAAI,QAAEC,GAAU,EAAI,YAAEF,EAAW,QAAED,KAAYngB,GAAOojB,EAE1E,OACE1f,EAAAA,EAAAA,KAACwc,EAAO,IACFlgB,EACJoE,KAAK,YACLyE,KAAMA,EACNwX,MAAOA,EACPC,QAASA,EACTF,YAAaA,EACbD,QAASA,EAAQ1c,UAEjBC,EAAAA,EAAAA,KAAC0d,EAAQ,CAACpB,SAAUA,EAASvc,SAAEoF,KACvB,EAyJVkX,MAAO,IACP2B,IAAK,IACLC,IAAK,KAEP3a,YAAa,CACXwa,OA1JgBxa,CAClB6B,EAAIwa,KAEA,IADJ,MAAEhD,EAAK,QAAEC,EAAO,SAAEN,EAAQ,YAAEI,EAAW,QAAED,KAAYngB,GAAOqjB,EAE5D,OACE3f,EAAAA,EAAAA,KAACwc,EAAO,IACFlgB,EACJoE,KAAK,cACLyE,KAAMA,EACNwX,MAAOA,EACPC,QAASA,EACTF,YAAaA,EACbD,QAASA,EAAQ1c,UAEjBC,EAAAA,EAAAA,KAAC0d,EAAQ,CAACpB,SAAUA,EAASvc,SAAEoF,KACvB,EA4IVkX,MAAO,IACP2B,IAAK,IACLC,IAAK,KAEP7G,QAAS,CACP0G,OA5IY1G,CAACjS,EAAIya,KAAiB,IAAf,MAAEvD,GAAOuD,EAC9B,OACE5f,EAAAA,EAAAA,KAAC6f,EAAW,CACV9gB,UAAWU,IAAWud,EAAa,YAAaA,EAAsB,SACtE7gB,KAAMgJ,EACNkX,MAAOA,GACP,EAuIFA,MAAO,IACP2B,IAAK,IACLC,IAAK,KAEP6B,cAAe,CACbhC,OArHkBgC,CACpB3a,EAAI4a,KAEA,IADJ,MAAEpD,EAAK,QAAEC,EAAO,SAAEN,EAAQ,YAAEI,EAAW,QAAED,KAAYngB,GAAOyjB,EAE5D,OACE/f,EAAAA,EAAAA,KAACwc,EAAO,IACFlgB,EACJoE,KAAK,gBACLyE,KAAMA,EACNwX,MAAOA,EACPC,QAASA,EACTF,YAAaA,EACbD,QAASA,EAAQ1c,UAEjBC,EAAAA,EAAAA,KAAC0d,EAAQ,CAACpB,SAAUA,EAASvc,SAAEoF,KACvB,EAuGVkX,MAAO,IACP2B,IAAK,IACLC,IAAK,KAEPrC,MAAO,CACLkC,OAAQlC,EACRS,MAAO,IACP2B,IAAK,IACLC,IAAK,KAEP+B,WAAY,CACVlC,OAAQlC,EACRS,MAAO,IACP2B,IAAK,GACLC,IAAK,KAEPgC,WAAY,CACVnC,OAAQlC,EACRS,MAAO,IACP2B,IAAK,IACLC,IAAK,MAIT,I,yLCpcA,MAAM,MAAEiC,GAAUC,EAAAA,SA+QlB,EA7Q8BjkB,IAKvB,IALwB,MAC7BkkB,EAAK,UACLxd,EAAS,QACTyd,EACAC,OAAQlS,GACTlS,EACC,MAAOokB,EAAQ/Z,IAAY5J,EAAAA,EAAAA,UAASyR,GAAgB,CAAC,IAE9CmS,EAAYC,IAAiB7jB,EAAAA,EAAAA,UAAS,KACvC,iBAAE8jB,EAAgB,kBAAEC,EAAiB,eAAEC,EAAc,cAAEC,IAC3DhY,EAAAA,EAAAA,UAAQ,IACCS,IACLtF,OAAOE,OACL,CACEwc,iBAAkB,GAClBC,kBAAmB,GACnBC,eAAgB,GAChBC,cAAe,IAEjBC,IAAQR,GAAUlb,GACG,UAAfA,EAAK2b,MACA,qBAEU,IAAf3b,EAAK2b,OAAiC,SAAf3b,EAAK2b,MACvB,oBAEuC,IAAxC7b,IAAIqb,EAAO,GAADxc,OAAKqB,EAAKL,KAAI,cAC9BK,EAAK4b,SACmC,IAAxC9b,IAAIqb,EAAO,GAADxc,OAAKqB,EAAKL,KAAI,aACtB,gBACA,qBAGR,CAACwE,EAAQ7N,EAAOL,KACdkO,EAAOlO,GAAOK,EAAMulB,MAAK,CAACC,EAAGC,IAEzBjc,IAAIqb,EAAO,GAADxc,OAAKmd,EAAEnc,KAAI,SAAS,GAC9BG,IAAIqb,EAAO,GAADxc,OAAKod,EAAEpc,KAAI,SAAS,IAEhC,GAEJ,CAAC,IAEF,CAACub,EAASC,IAkBTa,EAAgBhc,IAElBtF,EAAAA,EAAAA,MAAAC,EAAAA,SAAA,CAAAC,SAAA,CACGoF,EAAKic,WAAajc,EAAK5E,OAAS,2BAChC4E,EAAKkc,aAAelc,EAAKkc,YAAYzkB,OAAS,EAAC,IAAAkH,OACxCqB,EAAKkc,YAAYhjB,KAAIQ,IAAA,IAAC,MAAE0B,GAAO1B,EAAA,OAAK0B,CAAK,IAAEuG,KAAK,KAAI,KACxD,MAKV,OACEjH,EAAAA,EAAAA,MAAA,OAAKd,UAAWkB,EAAM,2BAA2BF,SAAA,EAC/CC,EAAAA,EAAAA,KAAA,OAAKjB,UAAWkB,EAAM,iCAAiCF,UACrDF,EAAAA,EAAAA,MAACoI,EAAAA,IAAG,CAACtF,MAAM,SAASuF,QAAQ,gBAAenI,SAAA,EACzCC,EAAAA,EAAAA,KAACoI,EAAAA,IAAG,CAAArI,SAAC,8BACLC,EAAAA,EAAAA,KAACoI,EAAAA,IAAG,CAAArI,UACFC,EAAAA,EAAAA,KAAC4a,EAAAA,QAAO,CAACra,MAAM,2BAAMR,UACnBC,EAAAA,EAAAA,KAACX,EAAAA,QAAa,CACZqB,KAAK,OACL6P,MAAMvQ,EAAAA,EAAAA,KAACc,EAAAA,QAAI,CAACJ,KAAK,0BACjBJ,QAASoE,UACP9B,SAAoBA,EAAU,CAAC,GAC/Bwd,GAAO,cAOnBpgB,EAAAA,EAAAA,KAAA,OAAKjB,UAAWkB,EAAM,oCAAoCF,UACxDF,EAAAA,EAAAA,MAACsgB,EAAAA,SAAQ,CACPmB,iBAAkB,CAAC,SAAU,aAC7BC,OAAO,EACPC,UAAQ,EAAAzhB,SAAA,EAERC,EAAAA,EAAAA,KAACkgB,EAAK,CAAcrR,OAAO,iCAAO9O,UAChCF,EAAAA,EAAAA,MAAC4hB,EAAAA,KAAI,CAAC1iB,UAAWkB,EAAM,gCAAgCF,SAAA,CACpD0gB,EAAiBpiB,KAAI,CAAC8G,EAAMrG,KAC3BkB,EAAAA,EAAAA,KAACyhB,EAAAA,KAAKC,KAAI,CACR3iB,UAAWkB,EAAM,gCAAgCF,UAGjDC,EAAAA,EAAAA,KAAC2hB,EAAAA,SAAQ,CAACC,SAAO,EAACngB,UAAQ,EAAA1B,SACvBohB,EAAahc,MAHXA,EAAKL,MAAI,QAAAhB,OAAYhF,OAO9BkB,EAAAA,EAAAA,KAAC6hB,EAAAA,cAAa,CACZ1lB,KAAMwkB,EACN5S,OAAO,mBACP+T,UAAW7hB,EAAM,iBACjB8hB,WAAY9hB,EAAM,kBAClB+hB,eAAa,EACbC,QAAUtB,IAtEMN,KAC5B,MAAM6B,EAAYC,IAAU7B,GACtB8B,EAAc,GAAGte,OACrBuc,EAAQI,iBACRJ,EAAQM,eACRN,EAAQK,oBAETL,EAAQO,eAAiB,IAAIhV,SAASyW,IACrC5c,IAAIyc,EAAU,GAADpe,OAAKue,EAAIvd,KAAI,aAAY,EAAM,IAE9Csd,EAAYxW,SAAQ,CAACyW,EAAKvjB,KACxB2G,IAAIyc,EAAU,GAADpe,OAAKue,EAAIvd,KAAI,SAAShG,EAAQ,EAAE,IAE/CyH,EAAS2b,EAAU,EA0DLI,CAAqB,CACnB7B,mBACAE,iBACAC,gBACAF,qBACA,EAEJ6B,UAAW,IACXC,mBAAiB,EACjBC,MAAO,EAAE1iB,SAER4gB,EAAetiB,KAAI,CAAC8G,EAAMrG,KACzBe,EAAAA,EAAAA,MAAC4hB,EAAAA,KAAKC,KAAI,CACR3iB,UAAWU,IACTQ,EAAM,gCACNA,EAAM,YACNF,SAAA,EAGFC,EAAAA,EAAAA,KAACc,EAAAA,QAAI,CACHJ,KAAK,aACL3B,UAAWkB,EAAM,wCAEnBD,EAAAA,EAAAA,KAAC2hB,EAAAA,SAAQ,CACPC,SAAO,EACPngB,SACE0D,EAAK2b,OACLL,EAAiB7jB,OACf+jB,EAAe/jB,OACf8jB,EAAkB9jB,QAClB,EAEJ2J,SAAWzK,IACTA,EAAE4G,kBACF5G,EAAE4mB,iBACF,MAAMR,EAAYne,OAAOE,OAAO,CAAC,EAAGqc,GACpC4B,EAAU/c,EAAKL,MAAQf,OAAOE,OAC5B,CAAC,EACDie,EAAU/c,EAAKL,MACf,CAAE6d,SAAS,IAEbpc,EAAS2b,EAAU,EACnBniB,SAEDohB,EAAahc,OA3BXA,EAAKL,MAAI,WAAAhB,OAAehF,QAgClC4hB,EAAkBriB,KAAI,CAAC8G,EAAMrG,KAC5BkB,EAAAA,EAAAA,KAACyhB,EAAAA,KAAKC,KAAI,CACR3iB,UAAWkB,EAAM,gCAAgCF,UAGjDC,EAAAA,EAAAA,KAAC2hB,EAAAA,SAAQ,CAACC,SAAO,EAACngB,UAAQ,EAAA1B,SACvBoF,EAAKic,WAAajc,EAAK5E,OAAS,8BAH9B4E,EAAKL,MAAI,SAAAhB,OAAahF,UAvExB,WAgFXkB,EAAAA,EAAAA,KAACkgB,EAAK,CAEJrR,QACEhP,EAAAA,EAAAA,MAACoI,EAAAA,IAAG,CAACE,MAAM,EAAOD,QAAQ,gBAAenI,SAAA,EACvCC,EAAAA,EAAAA,KAACoI,EAAAA,IAAG,CAAArI,SAAC,oCACLC,EAAAA,EAAAA,KAACoI,EAAAA,IAAG,CACF9H,QAAUxE,IACRA,EAAE4G,kBACF5G,EAAE4mB,gBAAgB,EAClB3iB,UAEFC,EAAAA,EAAAA,KAAC4iB,EAAAA,YAAW,CACVC,QAAQ7iB,EAAAA,EAAAA,KAACc,EAAAA,QAAI,CAACJ,KAAK,cAAc1C,KAAM,KACvCmL,YAAY,eACZ2Z,SAAWrnB,IACT+kB,EAAc/kB,EAAM,EAEtBsD,UAAWkB,EAAM,iCACjBjC,KAAK,eAIZ+B,UAEDC,EAAAA,EAAAA,KAACyhB,EAAAA,KAAI,CACHsB,WAAYnC,EAAc7S,QACvB5I,GAC2C,kBAAlCA,EAAKic,WAAajc,EAAK5E,SAC9B4E,EAAKic,WAAajc,EAAK5E,OAAOxC,QAAQwiB,IAAe,IAE1DyC,WAAa7d,IAETnF,EAAAA,EAAAA,KAACyhB,EAAAA,KAAKC,KAAI,CACR3iB,UAAWkB,EAAM,gCAAgCF,UAGjDC,EAAAA,EAAAA,KAAC2hB,EAAAA,SAAQ,CACPC,SAAS,EACTrb,SAAWzK,IACTA,EAAE4G,kBACF5G,EAAE4mB,iBACF,MAAMR,EAAYne,OAAOE,OAAO,CAAC,EAAGqc,GACpC4B,EAAU/c,EAAKL,MAAQf,OAAOE,OAC5B,CAAC,EACDie,EAAU/c,EAAKL,MACf,CAAE6d,SAAS,IAEbpc,EAAS2b,EAAU,EACnBniB,SAEDoF,EAAKic,WAAajc,EAAK5E,OAAS,8BAhB9B4E,EAAK/J,QAjCd,mBA0DVyE,EAAAA,EAAAA,MAACoI,EAAAA,IAAG,CACFlJ,UAAWkB,EAAM,kCACjBiI,QAAQ,MACRc,OAAQ,GAAGjJ,SAAA,EAEXC,EAAAA,EAAAA,KAACoI,EAAAA,IAAG,CAAArI,UACFC,EAAAA,EAAAA,KAACa,EAAAA,OAAM,CACL7C,KAAK,QACLsC,QAASA,KACPiG,EAAS6H,GAAgB,CAAC,GAC1BgS,GAAO,EACPrgB,SACH,oBAIHC,EAAAA,EAAAA,KAACoI,EAAAA,IAAG,CAAArI,UACFC,EAAAA,EAAAA,KAACX,EAAAA,QAAa,CACZqB,KAAK,UACL1C,KAAK,QACLsC,QAASoE,UACP9B,SAAoBA,EAAU0d,GAC9BF,GAAO,EACPrgB,SACH,wBAKD,E,8DCvQV,MAAMkjB,GAAc/mB,IAA4C,IAA3C,MAAEqE,EAAK,QAAE8f,EAAO,OAAEC,EAAM,UAAE4C,GAAWhnB,EACxD,MAAOiL,EAAMwB,IAAWhM,EAAAA,EAAAA,WAAS,GACjC,OACEkD,EAAAA,EAAAA,MAACoI,EAAAA,IAAG,CAACE,MAAM,EAAMpI,SAAA,EACfC,EAAAA,EAAAA,KAACoI,EAAAA,IAAG,CAACC,KAAM,EAAEtI,SAAEQ,KACfP,EAAAA,EAAAA,KAACoI,EAAAA,IAAG,CAAArI,UACFC,EAAAA,EAAAA,KAAC6I,EAAAA,QAAO,CACN1B,KAAMA,EACNqB,aAAcG,EACdG,QAAQ,QACRjH,UAAU,aACViB,iBAAkB7C,EAAM,2BACxB8I,SACE/I,EAAAA,EAAAA,KAACmjB,EAAqB,CACpB9C,QAASA,EACTC,OAAQA,EACRF,MAAOA,KACLzX,GAAQ,EAAM,EAEhB/F,UAAYsf,IACVgB,GAAW5C,GACFjX,IACL6Y,GACA,CAAC5Y,EAAQ7N,EAAOL,KACdkO,EAAOlO,GAAO2I,OAAOE,OACnB,CAAC,EACDqc,EAAOllB,GACPoB,IAAKf,EAAO,CAAC,UAAW,SACzB,GAEH,CAAC,IAEH,IAGPsE,UAEDC,EAAAA,EAAAA,KAAA,QAAMjB,UAAWkB,EAAM,yBAAyBF,UAC9CC,EAAAA,EAAAA,KAACc,EAAAA,QAAI,CAACJ,KAAK,wBAIb,EAuOV,GAnOuB7B,IAAoD,IAAnD,QAAEwhB,EAAO,KAAEvb,EAAI,eAAEse,EAAc,WAAEC,GAAYxkB,EACnE,MAAOykB,EAAwBC,IAA6B5mB,EAAAA,EAAAA,UAAS,MAC/D6mB,GAA4B/e,EAAAA,EAAAA,QAAO6e,GACzCE,EAA0BrmB,QAAUmmB,EACpC,MAAMG,GAAuBhf,EAAAA,EAAAA,QAAO,MAC9Bif,GAAgBjf,EAAAA,EAAAA,QAAO,OACtB6b,EAAQqD,IAAiBhnB,EAAAA,EAAAA,UAAS,CAAC,IACpC,gBAAEinB,IAAoBzd,EAAAA,EAAAA,aACtB0d,EAAuC,OAAfD,QAAe,IAAfA,OAAe,EAAfA,EAAiBE,WAAWhf,GAEpDif,GAAaC,EAAAA,GAAAA,uBAAqB,CAAClf,EAAMzJ,KAC9B,OAAfuoB,QAAe,IAAfA,GAAAA,EAAiBK,YAAYnf,EAAMzJ,EAAO,GACzC,KAEG6nB,EAAYlmB,KAAgBklB,KAChC1jB,EAAAA,EAAAA,kBAAgB,KACdmlB,GAAerD,IACb,MAAMjlB,EACiB,oBAAd6mB,EAA2BA,EAAU5B,GAAU4B,EAExD,OADApd,GAAQse,GAAkBW,EAAWjf,EAAMzJ,GACpCA,CAAM,GACb,GACF,KAGE,KAAE6oB,IAAS7N,EAAAA,EAAAA,UACftS,OAAOE,OAAO,IACTF,OAAOE,OAAO,CAAC,EAAG4f,GACrBvN,MAAM,EACN6N,MAAM,gBAADrgB,OAAkBgB,GACvBsf,SAAS,EACT9O,iBAAmB7R,IACjBkgB,EAAc5f,OAAOE,OAAO,CAAC,EAAGR,GAAM,KAKtC4gB,EAAiBrnB,KAAe,KAChC8H,GAAQse,GAAkBS,GAC5BK,EAAK,CAAEnf,OAAO,GAChB,KAGFgM,EAAAA,EAAAA,YAAU,KACRsT,GAAgB,GACf,CAACA,IAEJ,MAAM1D,GAAiB/X,EAAAA,EAAAA,UAAQ,IACtByX,EACJtS,QAAQsU,MAEkC,IAAvCpd,IAAIqb,EAAO,GAADxc,OAAKue,EAAIvd,KAAI,eACiB,IAAvCG,IAAIqb,EAAO,GAADxc,OAAKue,EAAIvd,KAAI,eAAuC,IAAfud,EAAItB,UAGvDC,MAAK,CAACC,EAAGC,KACR,MAAMoD,EAAiBnf,GAEnBF,IAAIqb,EAAO,GAADxc,OAAKqB,EAAKL,KAAI,SAAS,IACjB,SAAfK,EAAK2b,OAAoB,IAAQ,IAClB,UAAf3b,EAAK2b,MAAoB,IAAQ,GAGtC,OAAOwD,EAAcrD,GAAKqD,EAAcpD,EAAE,KAE7C,CAACb,EAASC,IAEPiE,GAA4B3b,EAAAA,EAAAA,UAAQ,IACjC4b,KAAc7D,GAAgBtgB,IAAA,IAAC,KAAEK,GAAML,EAAA,MAAc,YAATK,CAAkB,KACpE,CAACigB,IAEE8D,GAAa7b,EAAAA,EAAAA,UAAQ,IAClB8b,IACL/D,GACAva,IAAA,IAAC,KAAE1F,EAAI,KAAEoE,GAAMsB,EAAA,OACbnB,IAAIqb,EAAO,GAADxc,OAAKgB,EAAI,YAAa8Y,EAAYld,GAAM2b,KAAK,KAE1D,CAACsE,EAAgBL,IAEdqE,EAAoBjZ,IAAuB,IAAtB,MAAE2Q,EAAK,MAAEvd,GAAO4M,EACzC,OAAO6Y,IAA8BzlB,EACjCud,EAAQuI,KAAK3G,IAAIoF,EAAaoB,EAAa,EAAG,GAC9CpI,CAAK,EAGLwI,EAAkB7nB,KAAe,CAAC8nB,EAAQhmB,KAE5CkB,EAAAA,EAAAA,KAAA,QACEjB,UAAWU,IAAWQ,EAAM,oBAC5B8kB,YAAcjpB,IACZ2nB,EAAqBtmB,QAAU4G,OAAOE,OAAO,CAAC,EAAG6gB,EAAQ,CAAEhmB,UAC3D4kB,EAAcvmB,QAAUrB,EAAEkpB,QAC1BzB,EAA0BzkB,EAAM,EAChCiB,UAEFC,EAAAA,EAAAA,KAACc,EAAAA,QAAI,CAACJ,KAAK,mBAKXukB,EAASjoB,KAAgBkoB,IAC7B,GAA+B,OAA3B5B,EACF,OAEF,IAAKG,EAAqBtmB,QACxB,OAEF,MAAM,KAAE2H,EAAI,MAAEuX,EAAK,IAAE2B,EAAG,IAAEC,EAAG,MAAEnf,GAAU2kB,EAAqBtmB,QACxDgoB,EAAeP,KAAK5G,IAAI4G,KAAK3G,IAAI5B,EAAQ6I,EAAOlH,GAAMC,GACxDkH,EAAeR,EAAkB,CAAEtI,MAAO2B,EAAKlf,WAGnDokB,GAAW5C,GACFvc,OAAOE,OAAO,CAAC,EAAGqc,EAAQ,CAC/B,CAACxb,GAAOf,OAAOE,OAAO,CAAC,EAAGqc,EAAOxb,GAAO,CACtCuX,MAAO8I,OAGX,IAGEC,EAAsBpoB,KAAe,CAAC8nB,EAAQhmB,KAClD,MAAM,KAAEgG,EAAI,MAAEuX,EAAK,IAAE2B,EAAG,IAAEC,GAAQ6G,EAClC,IAAIO,EAAeP,EACfhmB,IAAU6hB,EAAe/jB,OAAS,IACpCyoB,EAAethB,OAAOE,OAAO,CAAC,EAAG6gB,EAAQ,CACvC/lB,UAAW,iBACXwB,OACEP,EAAAA,EAAAA,KAACijB,GAAW,CACV1iB,MAAa,OAANukB,QAAM,IAANA,OAAM,EAANA,EAAQvkB,MACf8f,QAASA,EACTC,OAAQA,EACR4C,UAAWA,OAMnB,MAAMoC,EAAcA,KACX,CACLvmB,UAAWU,IAAW,CACpB,CAACQ,EAAM,cAAeujB,EAA0BrmB,UAAY2B,MAI5DqmB,EAAeP,KAAK5G,IACxB4G,KAAK3G,IAAIhZ,IAAIqb,EAAO,GAADxc,OAAKgB,EAAI,YAAauX,EAAO2B,GAChDC,GAGIsH,EAAYZ,EAAkB,CAAEtI,MAAO8I,EAAcrmB,UAE3D,OAAOiF,OAAOE,OAAO,CAAC,EAAGohB,EAAc,CACrCG,aAAcF,EACdG,OAAQH,EACRjJ,MAAOkJ,EACPG,iBAAkBA,CAACC,EAAQC,IAEe,OAAtCpC,EAA0BrmB,SAC1BqmB,EAA0BrmB,UAAY2B,GACtB,aAAhBgmB,EAAOpkB,OACNsQ,KAAQ2U,EAAOb,EAAOhgB,MAAO8gB,EAAWd,EAAOhgB,OAGpDvE,OACEV,EAAAA,EAAAA,MAAAC,EAAAA,SAAA,CAAAC,SAAA,CACGslB,EAAa9kB,QACXglB,EAAYJ,GAAgBI,EAAYtH,IACzC4G,EACE9gB,OAAOE,OAAO,CAAC,EAAGohB,EAAc,CAAEhJ,MAAOkJ,IACzCzmB,OAIR,IA2CJ,OAxCAiS,EAAAA,EAAAA,YAAU,KACR,MAAM8U,EAAsBA,KAC1BtC,EAA0B,MAC1BG,EAAcvmB,QAAU,KACxBsmB,EAAqBtmB,QAAU,IAAI,EAG/B2oB,EAAiBhqB,IAEmB,OAAtC0nB,EAA0BrmB,SACO,OAAjCsmB,EAAqBtmB,UAIO,OAA1BumB,EAAcvmB,QAIlB8nB,EAAOnpB,EAAEkpB,QAAUtB,EAAcvmB,SAH/BumB,EAAcvmB,QAAUrB,EAAEkpB,QAGa,EAQ3C,OANAxM,SAASuN,gBAAgBzR,iBACvB,UACAuR,GACA,GAEFrN,SAASuN,gBAAgBzR,iBAAiB,YAAawR,GAAe,GAC/D,KACLtN,SAASuN,gBAAgBxR,oBACvB,UACAsR,GACA,GAEFrN,SAASuN,gBAAgBxR,oBACvB,YACAuR,GACA,EACD,CACF,GACA,CAACb,IAEG,CACLtE,iBACA2C,yBACAuB,kBACAmB,cAAe1F,EACfmE,aACAW,sBACD,E,kDCxRH,MA2GA,GA3G2BlpB,IAA8B,IAA7B,OAAE+pB,EAAM,YAAEC,GAAahqB,EACjD,MAAOiqB,EAAYC,IAAiBzpB,EAAAA,EAAAA,UAAS,MACvC0pB,GAAuB5hB,EAAAA,EAAAA,QAAOyhB,GACpCG,EAAqBlpB,QAAU+oB,EAE/B,MAAMd,EAAsBpoB,KAC1B,CAACqlB,EAAKvjB,EAAKD,KAAyB,IAAvB,cAAEmnB,GAAennB,EAC5B,MAAM,KACJiG,EAAI,KACJpE,EAAI,WACJ4lB,EAAU,MACV/lB,EAAK,YACLgmB,EAAW,MACXzF,EAAK,QACL0F,EAAO,YACP9J,EAAW,YACX2E,EAAW,KACXL,EAAI,eACJyF,KACGC,GACDrE,GACE,OAAEvE,EAAM,MAAEzB,EAAK,IAAE2B,EAAG,IAAEC,GAAQla,OAAOE,OACzC,CAAC,EACD2Z,EAAYld,GACH,aAATA,IACGsF,KAAMmgB,IACP3pB,IAAKohB,EAAY0I,GAAc,SAAU,CAAC,QAAS,MAAO,SAExDK,EAAehjB,KAAQma,GAE7B,MAAO,CACLhZ,OACAvE,MAA8B,oBAAhBgmB,EAA6BA,EAAYhmB,GAASA,EAChEyd,MACAC,MACA5B,QACAyE,QACAO,cACAL,OACAtgB,OACAod,OAAS3Y,IACP,MAAMyhB,EACc,oBAAXX,EAAwBA,EAAO9gB,GAAQA,EAAK8gB,GAC/CY,EAAW9iB,OAAOE,OACtB,CAAC,EACDoe,EACsB,oBAAfA,EAAIvE,OACPuE,EAAIvE,OAAO,IACNuI,EAAqBlpB,QACxB2H,OACAzJ,OAAQ8J,IAEV,CAAC,GAGD2hB,EAAyBjK,IAC7B,MAAMJ,GACJ+J,GAAO,CACL/qB,GAAoB,KAAVA,QAA0B,IAAVA,GAA8B,OAAVA,IAChDohB,GACF,OAAO8J,EAAa9J,EAAU,IACzB6J,EACH5hB,OACAuX,MAAOpX,IAAI+gB,EAAc,GAADliB,OAAKgB,EAAI,YAAauX,EAC9C2B,MACAC,MACAxB,UACAC,cACAC,MAAOkK,EAASlK,MAChBE,SAAU1X,EACV+gB,YAAaG,EAAqBlpB,QAClCyf,QAASiK,EAASjK,QAClBN,SAAUuK,EAASvK,SACnBkB,OAAQ2I,IAAeS,EACvBnJ,SAAUA,IAAM2I,EAAcQ,IAC9B,EAGE/J,EACJgK,EAASE,eAAe,YACI,oBAArBF,EAASra,QACZqa,EAASra,QACPrH,EACApB,OAAOE,OACL,CAAC,EACDoiB,EAAqBlpB,QACrB,CACE2H,QAEF2hB,EACI,CAAEE,aAAcG,GAChB,CAAC,IAGT7hB,IAAIE,EAAML,GAChB,OAAO2hB,EAAiB5J,EAAWiK,EAAsBjK,EAAS,EAErE,IAIL,MAAO,CACLsJ,aACAf,sBACD,EC/DH,GA/CwB/E,IACfzX,EAAAA,EAAAA,UAAQ,KACb,MAAMoe,EAAqB3G,EAAQtS,QAChC5I,GAASA,EAAKkc,aAAelc,EAAKkc,YAAYzkB,OAAS,IAE1D,GAAIoqB,EAAmBpqB,OAAS,EAAG,CACjC,MAAMqqB,EAAa5G,EAAQ1hB,MAAM,GAC3BuoB,EAAQ,GACRC,EAAqBrC,IACzB,MAAM,YAAEzD,GAAgByD,EACxB,KAAMzD,GAAeA,EAAYzkB,OAAS,GACxC,OAEF,MAAMwqB,EAAcH,EAAWlpB,QAAQ+mB,GACjCnZ,EAAOA,CAAC0V,EAAa6F,KACzB,MAAOG,KAAiBC,GAAejG,EACvC,IAAIkG,EAAeL,EAAMtP,MACtBzS,GAASA,EAAKL,OAASuiB,EAAaviB,OAElCyiB,IACHA,EAAexjB,OAAOE,OACpB,CAAEujB,WAAYJ,GACdC,EACA,CAAEtnB,SAAU,KAEdmnB,EAAMhc,KAAKqc,IAETD,EAAY1qB,OAAS,EACvB+O,EAAK2b,EAAaC,EAAaxnB,UAE/BwnB,EAAaxnB,SAASmL,KAAK4Z,EAC7B,EAEFnZ,EAAK0V,EAAa6F,GAClBD,EAAW/f,OAAOkgB,EAAa,EAAE,EAOnC,OALAJ,EAAmBpb,QAAQub,GAC3BD,EAAMtb,SAAQ,CAAC6b,EAAa3oB,KAC1BmoB,EAAW/f,OAAOugB,EAAYD,WAAa1oB,EAAO,EAAG2oB,EAAY,IAG5D,CAAEpH,QAAS4G,EAAYS,gBAAgB,EAChD,CACA,MAAO,CAAErH,UAASqH,gBAAgB,EAAO,GACxC,CAACrH,I,kDCvCN,MAAMsH,GAAkB3G,GACtB,IAAInd,KACDmd,GAAQ,IAAI3iB,KAAInC,IAAqB,IAApB,KAAE4I,EAAI,KAAEkc,GAAM9kB,EAC9B,MAAO,CAAC4I,EAAMkc,EAAK,KA6DzB,GAzDiB1kB,IACf,MAAO0kB,EAAM4G,GAAW9Z,KAAgBxR,EAAO,CAC7Cb,MAAO,OACP2S,aAAc,cACd7H,SAAU,iBAGNshB,GAAUjf,EAAAA,EAAAA,UAAQ,IACf+e,GAAe3G,IACrB,CAACA,IAEE8G,GAAa5T,EAAAA,EAAAA,cAChBpC,GACQ8V,GAAS5G,IACd,MAAM+G,EAAUjW,EAAS6V,GAAe3G,IACxC,OAAO3b,MAAMS,KAAKiiB,GAAS1pB,KAAIQ,IAAA,IAAEiG,EAAMkc,GAAKniB,EAAA,MAAM,CAAEiG,OAAMkc,OAAM,GAAE,KAGtE,CAAC4G,IAGH,OAAO1T,EAAAA,EAAAA,cACL7T,IAAA,IAAC,OAAE2J,EAAM,KAAElF,GAAMzE,EAAA,OACfR,EAAAA,EAAAA,MAAA,OACEd,UAAWU,IAAWQ,EAAM,YAAa,CACvC,CAACA,EAAM,qBAA4C,SAAtB4nB,EAAQ5iB,IAAIH,GACzC,CAAC7E,EAAM,oBAA2C,QAAtB4nB,EAAQ5iB,IAAIH,KAE1CxE,QAASA,KACPwnB,GAAY9G,IACV,MAAM7jB,EAAU6jB,EAAK/b,IAAIH,GACnBkjB,EACY,SAAZ7qB,EACK,MAEO,QAAZA,EACK,KAEF,OAET,GAAI6M,EACF,OAAO,IAAInG,IAAImkB,EAAc,CAAC,CAACljB,EAAMkjB,IAAgB,IAEvD,MAAMD,EAAU9Z,KAAM+S,GAEtB,OADAgH,EAAcD,EAAQtiB,IAAIX,EAAMkjB,GAAeD,EAAQ7Z,OAAOpJ,GACvDijB,CAAO,GACd,EACFhoB,SAAA,EAEFC,EAAAA,EAAAA,KAACc,EAAAA,QAAI,CAACJ,KAAK,mBAAmB3B,UAAWkB,EAAM,gBAC/CD,EAAAA,EAAAA,KAACc,EAAAA,QAAI,CAACJ,KAAK,qBAAqB3B,UAAWkB,EAAM,iBAC7C,GAER,CAAC4nB,EAASC,GACX,ECvDGzS,GAAQnZ,IAgBP,IAhBQ,QACbmkB,EAAO,UACPthB,EAAS,YACTqV,EAAW,OACX6T,EAAM,aACNC,EAAY,WACZC,EAAU,kBACVC,EAAiB,OACjBnC,EAAM,WACNlD,EAAU,eACVK,EAAc,KACdte,EAAI,QACJujB,EAAO,OACPC,EAAM,kBACNC,KACGjsB,GACJJ,EACC,MAAOmnB,EAAYmF,IAAiB7rB,EAAAA,EAAAA,UAAS,IACtC8rB,EAAUC,IAAe/rB,EAAAA,EAAAA,WAAS,IAEzCoU,EAAAA,EAAAA,YAAU,KACJsS,GACFtJ,YAAW,KACT2O,GAAY,EAAM,GACjB,EACL,GACC,CAACrF,KACyB5e,EAAAA,EAAAA,QAAO2jB,GACfjrB,QAAUirB,EAC/B,MAAM7qB,GAAMkB,EAAAA,EAAAA,IACTxB,IACCurB,EAAcvrB,EAAGW,YAAY,GAE/B,CAAE+qB,YAAY,KAEV,WAAExC,EAAU,oBAAEf,GAAwBwD,GAAmB,CAC7D3C,SACAC,YAAakC,KAGT,cACJpC,EAAa,eACbrF,EACAyE,oBAAqByD,EAAyB,uBAC9CvF,EAAsB,WACtBmB,GACEqE,GAAe,CACjBzI,UACA+C,iBACAte,OACAsgB,sBACA/B,eAGI0F,EAAaC,GAAQ1sB,GAErB2sB,GAAgBrgB,EAAAA,EAAAA,UAAQ,IACrB+X,EAAetiB,KAAI,CAACgkB,EAAKvjB,KAC9B,IAAIzD,EAAS+pB,EAAoB/C,EAAKvjB,EAAO,CAC3CmnB,SACAE,aACAH,kBAyBF,OAtBI3qB,EAAO2lB,MAAqB,YAAbqB,EAAI3hB,OACrBrF,EAAS0I,OAAOE,OAAO,CAAC,EAAG5I,EAAQ,CACjCkF,OACEV,EAAAA,EAAAA,MAAAC,EAAAA,SAAA,CAAAC,SAAA,CACG1E,EAAOkF,MACPwoB,EAAW,CACVjkB,KAAMud,EAAIvd,KACVkF,OACyB,kBAAhB3O,EAAO2lB,MAAoB3lB,EAAO2lB,KAAKhX,eAOtDoZ,IACF/nB,EAASwtB,EAA0BxtB,EAAQyD,EAAO,CAChDukB,aACA2C,mBAIG3qB,CAAM,KAEd,CACDslB,EACA0C,EACA2C,EACAG,EACAF,EACA7C,EACAgC,EACAyD,EACAE,KAGM1I,QAAS6I,EAAY,eAAExB,GAC7ByB,GAAeF,GAEXG,EAA4BpsB,IAAeurB,GAkBjD,OAhBAxX,EAAAA,EAAAA,YAAU,KACRqY,GACEA,EAA0B,CACxB/I,UACA6I,eACAnG,aACApC,kBACA,GACH,CACDyI,EACAF,EACAnG,EACA1C,EACAM,KAIA3gB,EAAAA,EAAAA,KAAA,OACEjB,UAAWU,IAAWV,EAAWkB,EAAa,MAAG,CAC/C,CAACA,EAAM,cAA0C,OAA3BqjB,EACtB,CAACrjB,EAAM,gBAAiBwoB,EACxB,CAACxoB,EAAM,qBAAsBynB,IAE/BnqB,IAAKA,EACL0C,MAAO,CACL,kBAAmBioB,GACnBnoB,UAEA0oB,IACAzoB,EAAAA,EAAAA,KAACqpB,EAAAA,EAAQ,CACPtqB,UAAU,sBACVuqB,SAAU,CAAExnB,aAAcsS,GAC1BmV,gBAAkBtsB,GAEdA,EAAGusB,cAAc,oBACjBvsB,EAAGusB,cAAc,sBAEnBzpB,UAEFC,EAAAA,EAAAA,KAACypB,EAAAA,MAAS,IACJntB,EACJ2rB,SACEA,GACI,CACEnmB,aAAcsS,GAItB2O,WAAYA,EACZkD,OAAQA,EACR5F,QAAS6I,EACTZ,OAAQvkB,OAAOE,OACb,CAAC,EACD,CAAEylB,EAAG9E,KAAK3G,IAAIoF,EAAYoB,IAC1B6D,GAEFH,WAAYA,EACZE,QACqB,oBAAZA,EACH,SAAClrB,GAAsB,IAAD,IAAAwsB,EAAAhlB,UAAA/H,OAATgtB,EAAI,IAAAvkB,MAAAskB,EAAA,EAAAA,EAAA,KAAAE,EAAA,EAAAA,EAAAF,EAAAE,IAAJD,EAAIC,EAAA,GAAAllB,UAAAklB,GACf,OAAOxB,EACLtkB,OAAOE,OACL,CAAC,EACD,CAAE6lB,SAAU3sB,GACZ,CAAEkjB,QAAS6I,OAEVU,EAEP,EACA,UAKR,EAIVvU,GAAMzU,aAAe,CACnBwiB,gBAAgB,EAChB6C,OAAQ,KACR7R,YAAW,IACXgU,kBAAmB,CAAC,EACpBH,QAAQ,EACRC,aAAc,oBACdC,YAAY,GAGd,Y,gBC9MA,MAOA,GAPwBpnB,IACf,CACL,QAASC,IAAM,+BACf,QAASC,IAAM,iCACfF,M,4BCSJ,MAAMgpB,GAAwB7tB,IAAgC,IAA/B,GAAEkG,EAAE,QAAEie,EAAO,SAAEtgB,GAAU7D,EACtD,OAAIkG,GAEApC,EAAAA,EAAAA,KAACwR,GAAAA,QAAQ,CAACpP,GAAIA,EAAGrC,SACdlB,IAAA,IAAC,QAAEuY,GAASvY,EAAA,OACXkB,EAAS,CACPsgB,QAASA,EAAQtS,QAAQ5I,IAClBA,EAAKL,QAGLO,MAAMC,QAAQL,IAAImS,EAAS,oBAGqB,IAA9CA,EAAQwJ,cAAc7iB,QAAQoH,EAAKL,UAE5C,IAKH/E,EAAS,CAAEsgB,WAAU,EAGxB2J,IAAiBxmB,EAAAA,EAAAA,YACrBnD,IAmBO,IAnBN,KACCoD,EAAI,QACJ0S,EAAO,OACP3C,EAAM,cACNyW,EAAa,WACbC,EAAU,WACVC,EAAU,QACVC,EAAO,SACPC,EAAQ,KACRnG,EAAI,WACJna,EAAU,UACVhL,EAAS,UACTuS,EAAS,QACT+O,EAAO,WACPiK,EAAU,WACVnC,EAAU,kBACVC,EAAiB,QACjBC,KACG/rB,GACJ+D,EACC,MAAMkqB,EAAoBvtB,IAAe+M,GACnCygB,GAAa5hB,EAAAA,EAAAA,UAAQ,IAClB2hB,EAAkB9mB,IACxB,CAACA,EAAM8mB,IAEJE,EAAa,CACjB1H,WAAYyH,EAAWruB,KACvBgsB,aAAYA,EAAWhhB,MACnB,CACEujB,MAAOF,EAAWE,MAClBC,UAAYD,IACV7qB,EAAAA,EAAAA,MAAAC,EAAAA,SAAA,CAAAC,SAAA,EACEC,EAAAA,EAAAA,KAACyG,GAAAA,iBAAgB,CACfrE,GAAG,aACHd,WAAW,QACXoF,eAAe,YAEjB1G,EAAAA,EAAAA,KAAA,QAAMjB,UAAWkB,EAAkB,WAAEF,SAAE2qB,KACvC1qB,EAAAA,EAAAA,KAACyG,GAAAA,iBAAgB,CACfrE,GAAG,kBACHd,WAAW,QACXoF,eAAe,cAIrBvJ,QAAS8H,IACPglB,EACA,CAAC9B,EAAWyC,WAAYzC,EAAW0C,aACnC,GAEFC,SAAU3C,EAAW2C,SACrBvkB,SAAU4hB,EAAW5hB,SACjB4hB,EAAW5hB,SACX,CAACyO,EAAMhX,KAEHgX,IACA/P,IACEglB,EACA,CAAC9B,EAAWyC,WAAYzC,EAAW0C,aACnC,IAG0B,YAA3B1C,EAAW4C,YAA4B5U,EAAU3C,GAAQ,CACxD,CAAC2U,EAAWyC,YAAa,CACvB,CAACzC,EAAW0C,aAAc7V,EAC1B,CAACmT,EAAW6C,cAAehtB,KAI/BmqB,EAAW8C,kBACT9C,EAAW8C,iBAAiBjW,EAAMhX,IAEtCoW,EAAAA,EAAAA,KAAc8W,UAAY,CAAC,EAEjCltB,KAAMmqB,EAAWnqB,KACjBmtB,gBAAiBhD,EAAWgD,gBAC5BC,gBAAiBjD,EAAWiD,kBAKpC,OACEprB,EAAAA,EAAAA,KAACwG,GAAAA,aAAY,CAACjF,eAAgBA,GAAgBD,WAAW,QAAOvB,UAC9DC,EAAAA,EAAAA,KAAC+pB,GAAqB,CAAC3nB,GAAIkP,EAAW+O,QAASA,EAAQtgB,SACpDqG,IAAA,IAAC,QAAEia,GAASja,EAAA,OACXpG,EAAAA,EAAAA,KAACqV,GAAK,IACAtR,OAAOE,OAAO,CAAC,EAAG3H,EAAOmuB,GAC7B1rB,UAAWU,IAAWV,EAAW,oBAAqB,CACpD,cAAeorB,IAEjB9J,QAASA,EACT+H,kBAAmB,IACdA,EACH6B,gBACAC,aACAzmB,QAEF4kB,QACqB,oBAAZA,EACH,WAAc,IAAD,IAAAsB,EAAAhlB,UAAA/H,OAATgtB,EAAI,IAAAvkB,MAAAskB,GAAAE,EAAA,EAAAA,EAAAF,EAAAE,IAAJD,EAAIC,GAAAllB,UAAAklB,GACN,OAAOxB,EACLtkB,OAAOE,OACL,CAAC,EACD,CACER,OACAymB,aACAD,gBACA9T,UACA3C,SACA6W,WACAnG,OACAna,aACAoe,iBAECyB,GAGT,EACA,MAEN,KAGO,IAKrBI,GAAeppB,aAAe,CAC5BunB,WAAY,CAAC,EACbC,kBAAmB,CAAC,EACpBH,QAAQ,EACRle,WAAatG,IACJ,CACLtH,KAAMsH,EAAKqmB,SACXY,MAAOjnB,EAAK4nB,cAKlB,MAsDA,IAtDkBtW,EAAAA,EAAAA,aAAW,CAAArJ,EAA2BnO,KAAS,IAAnC,WAAE4qB,KAAe7rB,GAAOoP,EACpDyc,EAAapkB,OAAOE,OAClB,CAAC,EACD,CACEknB,iBAAiB,EACjBC,iBAAiB,EACjBjkB,MAAM,EACNyjB,WAAY,OACZG,YAAa,SACbF,YAAa,cACbG,aAAc,UACdF,SAAU,IAGZ3C,GAEF,MAAMmD,EAAW,GAAAxnB,QACfxH,EAAMwI,MAAQ,UACdymB,cAAa,qBACRT,EAAUU,IAAe7uB,EAAAA,EAAAA,UAC9BpB,GAAAA,EAAaJ,QAAQmwB,IAAgBnD,EAAW2C,UAE5CW,GAAc7iB,EAAAA,EAAAA,UAAQ,KAC1B,MAAM6iB,EAAc,CAAC,EAarB,OAZInvB,EAAMsI,QAAUb,OAAOC,KAAK1H,EAAMsI,QAAQhI,OAAS,IACrD6uB,EAAoB,OAAI,IACnBnvB,EAAMsI,OACT,CAACujB,EAAW6C,cAAeF,IAG3BxuB,EAAMmH,MAAQM,OAAOC,KAAK1H,EAAMmH,MAAM7G,OAAS,IACjD6uB,EAAkB,KAAI,IACjBnvB,EAAMmH,KACT,CAAC0kB,EAAW6C,cAAeF,IAGxBW,CAAW,GACjB,CAACnvB,EAAMsI,OAAQtI,EAAMmH,KAAM0kB,EAAW6C,aAAcF,IACvD,OACE9qB,EAAAA,EAAAA,KAACgqB,GAAc,IACT1tB,KACAmvB,EACJtD,WAAYpkB,OAAOE,OAAO,CAAC,EAAGkkB,EAAY,CACxC2C,WACAG,iBAAkBA,CAAC9tB,EAASa,KAC1BzC,GAAAA,EAAaQ,QAAQuvB,EAAattB,GAClCwtB,EAAYxtB,EAAK,IAGrBT,IAAKA,GACL,G","sources":["common/utils/localStorage.js","webpack://@kne-components/components-core/./src/components/ButtonGroup/style.module.scss?7e95","components/ButtonGroup/index.js","components/ConfirmButton/locale/index.js","webpack://@kne-components/components-core/./src/components/ConfirmButton/style.module.scss?9447","components/ConfirmButton/index.js","components/Enum/index.js","webpack://@kne-components/components-core/./src/components/Filter/style.module.scss?eebc","components/Filter/locale/index.js","components/Filter/FilterValueDisplay.js","components/Filter/FilterItem.js","components/Filter/context.js","components/Filter/FilterLines.js","components/Filter/PopoverItem.js","components/Filter/withFieldItem.js","components/Filter/getFilterValue.js","components/Filter/FilterItemContainer.js","webpack://@kne-components/components-core/./src/common/components/TreeField/style.module.scss?bcd6","common/components/TreeField/index.js","components/Filter/fields/InputFilterItem.js","components/Filter/fields/DatePickerFilterItem.js","components/Filter/fields/DateRangePickerFilterItem.js","components/Filter/fields/TypeDateRangePickerFilterItem.js","components/Filter/fields/index.js","components/Filter/Filter.js","components/FormInfo/locale/index.js","components/HelperGuide/locale/index.js","webpack://@kne-components/components-core/./src/components/HelperGuide/style.module.scss?bc31","components/HelperGuide/index.js","components/Layout/context.js","webpack://@kne-components/components-core/./src/components/Layout/style.module.scss?8c20","components/Layout/Page/FixedContainer.js","components/Layout/Page/Menu.js","components/Layout/Page/Page.js","components/Layout/Affix.js","components/Layout/Page/ContainerHeight.js","components/Layout/Page/Header.js","components/Layout/Page/HeaderInfo.js","components/Layout/Page/PageTitle.js","components/Layout/Page/Option.js","components/Layout/Layout.js","components/Layout/PermissionsPage.js","components/Layout/TablePage.js","components/Layout/StateBarPage.js","webpack://@kne-components/components-core/./src/components/Menu/style.module.scss?ca16","components/Menu/index.js","components/Navigation/favicon.svg","components/Navigation/locale/index.js","webpack://@kne-components/components-core/./src/components/Navigation/style.module.scss?d5bc","components/Navigation/index.js","webpack://@kne-components/components-core/./src/components/Permissions/style.module.scss?e327","components/Permissions/index.js","webpack://@kne-components/components-core/./src/components/StateBar/style.module.scss?ecea","components/StateBar/index.js","webpack://@kne-components/components-core/./src/components/StateTag/style.module.scss?5aff","components/StateTag/index.js","webpack://@kne-components/components-core/./src/components/Table/style.module.scss?5d23","webpack://@kne-components/components-core/./src/components/Table/columns.module.scss?6c8d","components/Table/OptionsList.js","components/Table/Ellipsis.js","components/Table/ColItem.js","components/Table/HideInfoComponent.js","components/Table/columnTypes.js","components/Table/ColumnsControlContent.js","components/Table/useTableConfig.js","components/Table/useColumnTypeProps.js","components/Table/useGroupHeader.js","components/Table/useSort.js","components/Table/Table.js","components/Table/locale/index.js","components/Table/TablePage.js"],"sourcesContent":["const localStorage = {\n getItem: (key) => {\n const target = window.localStorage.getItem(key);\n try {\n const { dataType, value } = JSON.parse(target);\n if (dataType === \"object\" && value === \"null\") {\n return null;\n }\n if (dataType === \"undefined\") {\n return void 0;\n }\n if (dataType === \"number\") {\n return Number(value);\n }\n if (dataType === \"boolean\") {\n return Boolean(value);\n }\n return value;\n } catch (e) {\n return null;\n }\n },\n setItem: (key, value) => {\n const dataType = typeof value;\n window.localStorage.setItem(key, JSON.stringify({ dataType, value }));\n },\n};\n\nexport default localStorage;\n","// extracted by mini-css-extract-plugin\nexport default {\"width-container\":\"style_width-container__JfEbg__B7O0d\",\"hidden-container\":\"style_hidden-container__EdySA__B7O0d\",\"hidden-inner\":\"style_hidden-inner__vAN59__B7O0d\"};","import { startTransition, useState } from \"react\";\nimport useRefCallback from \"@kne/use-ref-callback\";\nimport { Button, Dropdown, Space } from \"antd\";\nimport classnames from \"classnames\";\nimport Icon from \"@components/Icon\";\nimport LoadingButton from \"@components/LoadingButton\";\nimport ConfirmButton from \"@components/ConfirmButton\";\nimport { useConfirmModal } from \"@components/Modal\";\nimport useResize from \"@common/hooks/useResize\";\nimport pick from \"lodash/pick\";\nimport style from \"./style.module.scss\";\n\nconst ButtonGroup = ({ list, more, compact, ...props }) => {\n const spaceProps = pick(props, [\"size\", \"split\", \"align\", \"style\"]);\n const [showLength, setShowLength] = useState(list.length);\n const confirmModal = useConfirmModal();\n const computedLength = useRefCallback(() => {\n const el = targetRef.current,\n moreEl = moreRef.current,\n widthEl = ref.current;\n\n const buttonEls = el.querySelectorAll(\".button-group-item\");\n if (!buttonEls) {\n return;\n }\n const buttonElLength = buttonEls.length;\n if (buttonEls.length === 0) {\n return;\n }\n const amountWidth = widthEl.clientWidth,\n moreBtnWidth = moreEl.clientWidth,\n spaceWidth = (() => {\n if (compact) {\n return 0;\n }\n\n if ([\"small\", \"middle\", \"large\"].indexOf(spaceProps.size) > -1) {\n return (\n ([\"small\", \"middle\", \"large\"].indexOf(spaceProps.size) + 1) * 8\n );\n }\n\n if (Number.isInteger(spaceProps.size)) {\n return spaceProps.size;\n }\n return 8;\n })();\n let targetLength = 0,\n targetWidth = 0,\n buttonWidthList = [].map.call(buttonEls, (el) => el.offsetWidth);\n // 采取先加后减策略\n while (\n amountWidth >=\n targetWidth +\n buttonWidthList[targetLength] +\n targetLength * spaceWidth &&\n targetLength < buttonElLength\n ) {\n targetWidth += buttonWidthList[targetLength];\n targetLength += 1;\n }\n\n while (\n amountWidth <\n targetWidth +\n (targetLength - 1) * spaceWidth +\n (targetLength < buttonElLength ? moreBtnWidth + spaceWidth : 0) &&\n targetLength > 0\n ) {\n targetWidth -= buttonWidthList[targetLength - 1];\n targetLength -= 1;\n }\n\n startTransition(() => {\n setShowLength(targetLength);\n });\n });\n const ref = useResize(computedLength);\n const targetRef = useResize(computedLength);\n const moreRef = useResize(computedLength);\n\n const otherList = list.slice(showLength);\n\n const renderButton = ({ className, confirm, ...props }, index) => {\n const isConfirm = confirm || props.message;\n const CurrentButton = isConfirm ? ConfirmButton : LoadingButton;\n return (\n <CurrentButton\n danger={isConfirm && props.isDelete !== false}\n {...props}\n key={index}\n className={classnames(\"button-group-item\", className)}\n />\n );\n };\n\n const SpaceComponent = compact ? Space.Compact : Space;\n\n return (\n <>\n <div className={style[\"width-container\"]} ref={ref} />\n <div className={style[\"hidden-container\"]}>\n <div className={style[\"hidden-inner\"]} ref={moreRef}>\n {more}\n </div>\n <div className={style[\"hidden-inner\"]} ref={targetRef}>\n <SpaceComponent {...spaceProps}>\n {list.map(renderButton)}\n </SpaceComponent>\n </div>\n </div>\n <SpaceComponent {...spaceProps}>\n {list.slice(0, showLength).map(renderButton)}\n {otherList.length > 0 && (\n <Dropdown\n menu={{\n items: otherList.map(\n (\n {\n children,\n confirm,\n message,\n onClick,\n title,\n isDelete,\n okText,\n ...props\n },\n key\n ) => ({\n ...props,\n key,\n label: children,\n onClick: (e) => {\n const isConfirm = confirm || message;\n isConfirm\n ? confirmModal({\n danger: isDelete !== false,\n type: \"confirm\",\n title,\n message: message || \"确定要删除吗?\",\n onOk: onClick,\n okText: okText || (isDelete !== false && \"删除\"),\n })\n : onClick && onClick(e);\n },\n })\n ),\n }}\n >\n {more}\n </Dropdown>\n )}\n </SpaceComponent>\n </>\n );\n};\n\nButtonGroup.defaultProps = {\n more: (\n <Button>\n 更多\n <Icon type=\"icon-arrow-thin-down\" />\n </Button>\n ),\n};\n\nexport default ButtonGroup;\n","const importMessages = (locale) => {\n return {\n \"en-US\": () => import(\"./en-US\"),\n \"zh-CN\": () => import(\"./zh-CN\"),\n }[locale]();\n};\n\nexport default importMessages;\n","// extracted by mini-css-extract-plugin\nexport default {\"overlay\":\"style_overlay__99t5t__B7O0d\",\"is-danger\":\"style_is-danger__gxyAB__B7O0d\",\"title\":\"style_title__EEPu2__B7O0d\",\"content\":\"style_content__mZZg5__B7O0d\",\"has-title\":\"style_has-title__5+PEt__B7O0d\"};","import React from \"react\";\nimport { Button, Popconfirm, Space, Typography } from \"antd\";\nimport importMessages from \"./locale\";\nimport Icon from \"@components/Icon\";\nimport { createWithIntl, useIntl } from \"@components/Intl\";\nimport { useModal } from \"@components/Modal\";\nimport classnames from \"classnames\";\nimport style from \"./style.module.scss\";\n\nexport const withConfirm = (WrappedComponent) => {\n const ConfirmComponent = createWithIntl({\n moduleName: \"ConfirmButton\",\n importMessages,\n })(\n ({\n title,\n message,\n isDelete = true,\n onClick,\n onCancel,\n disabled,\n showCancel,\n cancelText,\n isModal,\n okText,\n placement,\n getContainer,\n ...props\n }) => {\n const { formatMessage } = useIntl({ moduleName: \"ConfirmButton\" });\n const modal = useModal();\n if (isModal) {\n return (\n <WrappedComponent\n {...props}\n onClick={(e) => {\n const cancelButton = {\n children: cancelText || formatMessage({ id: \"cancel\" }),\n onClick: onCancel,\n };\n const confirmButton = {\n type: \"primary\",\n children: okText\n ? okText\n : isDelete\n ? formatMessage({ id: \"delete\" })\n : formatMessage({ id: \"confirm\" }),\n onClick: () => onClick(e),\n danger: isDelete,\n };\n modal({\n title: title && (\n <Space size={0} className={style[\"title\"]}>\n <Icon className=\"title-icon\" type=\"icon-tishi-tianchong\" />\n {title}\n </Space>\n ),\n getContainer,\n wrapClassName: classnames(style[\"overlay\"], {\n [style[\"is-danger\"]]: isDelete,\n }),\n children: (\n <Space\n size={0}\n className={classnames(style[\"content\"], {\n [style[\"has-title\"]]: title,\n })}\n >\n {!title && (\n <Icon\n className=\"title-icon\"\n type=\"icon-tishi-tianchong\"\n />\n )}\n {message || formatMessage({ id: \"message\" })}\n </Space>\n ),\n footerButtons: showCancel\n ? [cancelButton, confirmButton]\n : [confirmButton],\n });\n }}\n />\n );\n }\n return (\n <Popconfirm\n title={\n <Space\n direction=\"vertical\"\n onClick={(e) => {\n e.stopPropagation();\n }}\n >\n {title && (\n <Space size={0} align=\"start\" className={style[\"title\"]}>\n <Icon className=\"title-icon\" type=\"icon-tishi-tianchong\" />\n {title}\n </Space>\n )}\n <Space\n size={0}\n align=\"start\"\n className={classnames(style[\"content\"], {\n [style[\"has-title\"]]: title,\n })}\n >\n {!title && (\n <Icon className=\"title-icon\" type=\"icon-tishi-tianchong\" />\n )}\n {message || formatMessage({ id: \"message\" })}\n </Space>\n </Space>\n }\n placement={placement}\n onConfirm={onClick}\n okButtonProps={{\n danger: isDelete,\n }}\n onCancel={onCancel}\n overlayClassName={classnames(style[\"overlay\"], {\n [style[\"is-danger\"]]: isDelete,\n })}\n getPopupContainer={getContainer}\n disabled={disabled}\n showCancel={showCancel}\n cancelText={cancelText}\n okText={\n okText\n ? okText\n : isDelete\n ? formatMessage({ id: \"delete\" })\n : formatMessage({ id: \"confirm\" })\n }\n >\n <WrappedComponent {...props} disabled={disabled} />\n </Popconfirm>\n );\n }\n );\n\n ConfirmComponent.defaultProps = {\n isModal: false,\n };\n\n return ConfirmComponent;\n};\n\nexport const ConfirmLink = withConfirm(Typography.Link);\nexport const ConfirmText = withConfirm(Typography.Text);\n\nexport default withConfirm(Button);\n","import { useRef } from \"react\";\nimport { withFetch } from \"@kne/react-fetch\";\nimport { useGlobalContext, usePreset } from \"@components/Global\";\nimport memoize from \"lodash/memoize\";\nimport isNil from \"lodash/isNil\";\n\nconst baseLoaders = [\n [\n \"gender\",\n () => [\n { value: \"M\", description: \"男\" },\n {\n value: \"F\",\n description: \"女\",\n },\n ],\n ],\n [\n \"marital\",\n () => [\n { description: \"已婚\", value: \"Y\" },\n {\n description: \"未婚\",\n value: \"N\",\n },\n ],\n ],\n [\n \"confirm\",\n () => [\n { description: \"是\", value: \"Y\" },\n {\n description: \"否\",\n value: \"N\",\n },\n ],\n ],\n [\n \"political\",\n () => [\n { description: \"中共党员\", value: \"中共党员\" },\n {\n description: \"共青团员\",\n value: \"共青团员\",\n },\n { description: \"群众\", value: \"群众\" },\n {\n description: \"其他党派\",\n value: \"其他党派\",\n },\n ],\n ],\n [\n \"phoneStateEnum\",\n () => [\n {\n value: 0,\n description: \"空号\",\n },\n {\n value: 1,\n description: \"实号\",\n },\n {\n value: 2,\n description: \"停机\",\n },\n {\n value: 3,\n description: \"库无\",\n },\n {\n value: 4,\n description: \"沉默号\",\n },\n {\n value: 5,\n description: \"风险号\",\n },\n ],\n ],\n [\n \"degreeEnum\",\n () => [\n {\n description: \"初中\",\n value: 10,\n },\n {\n description: \"中专\",\n value: 20,\n },\n {\n description: \"高中\",\n value: 30,\n },\n {\n description: \"大专\",\n value: 40,\n },\n {\n description: \"本科\",\n value: 50,\n },\n {\n description: \"硕士研究生\",\n value: 60,\n },\n {\n description: \"博士研究生\",\n value: 70,\n },\n {\n description: \"博士后\",\n value: 75,\n },\n {\n description: \"学历不限\",\n value: 999,\n },\n ],\n ],\n];\n\nconst EnumLoaderFetch = withFetch(({ data, children }) => {\n return typeof children === \"function\"\n ? children(data)\n : children || data?.description;\n});\n\nconst getEnumsMap = memoize((enums) => {\n return new Map(\n baseLoaders.concat(\n Object.keys(Object.assign({}, enums)).map((key) => [key, enums[key]])\n )\n );\n});\n\nconst EnumLoader = ({ loader: enumsLoader, ...props }) => {\n const {\n global: { enumsRef },\n } = useGlobalContext();\n const prevLocaleRef = useRef(null);\n return (\n <EnumLoaderFetch\n {...props}\n loader={async (...args) => {\n const enums = getEnumsMap(await enumsLoader(...args));\n const { params } = args[0];\n const { moduleName, name, force, locale } = params;\n\n const getEnumMap = async (moduleName) => {\n return (\n (() => {\n return (\n force !== true &&\n prevLocaleRef.current === locale &&\n enumsRef.current.get(moduleName)\n );\n })() ||\n (await (async () => {\n const loader = enums.get(moduleName);\n const output = await (async () => {\n if (typeof loader === \"function\") {\n return new Map(\n (await loader({ locale })).map((item) => {\n return [item.value.toString(), item];\n })\n );\n }\n if (Array.isArray(loader)) {\n return new Map(\n loader.map((item) => [item.value.toString(), item])\n );\n }\n if (typeof loader === \"object\") {\n return new Map(\n Object.keys(loader).map((key) => [\n key.toString(),\n loader[key],\n ])\n );\n }\n console.warn(\"枚举值loader的设置可能不正确\");\n return new Map();\n })();\n enumsRef.current.set(moduleName, output);\n prevLocaleRef.current = locale;\n return output;\n })())\n );\n };\n if (Array.isArray(moduleName)) {\n return await Promise.all(\n moduleName.map((target) =>\n getEnumMap(target).then((enumMap) => Array.from(enumMap.values()))\n )\n );\n }\n\n const enumMap = await getEnumMap(moduleName);\n if (!isNil(name)) {\n return enumMap.get(name.toString());\n }\n return Array.from(enumMap.values());\n }}\n />\n );\n};\n\nconst Enum = ({ moduleName, name, force, children, ...props }) => {\n const preset = usePreset();\n return (\n <EnumLoader\n {...props}\n params={{\n moduleName,\n locale: preset?.locale,\n enums: preset?.enums,\n name,\n force,\n }}\n loader={({ params }) => params.enums}\n >\n {children}\n </EnumLoader>\n );\n};\n\nEnum.defaultProps = {\n force: false,\n};\n\nexport default Enum;\n","// extracted by mini-css-extract-plugin\nexport default {\"filter\":\"style_filter__Xml45__B7O0d\",\"filter-item-icon\":\"style_filter-item-icon__kVCRK__B7O0d\",\"filter-item-option-icon\":\"style_filter-item-option-icon__q1fz3__B7O0d\",\"filter-title\":\"style_filter-title__PlIpS__B7O0d\",\"filter-title-hidden\":\"style_filter-title-hidden__NJ1ZB__B7O0d\",\"ad-filter-title\":\"style_ad-filter-title__5-OzD__B7O0d\",\"ad-filter-line\":\"style_ad-filter-line__ga6UH__B7O0d\",\"filter-line\":\"style_filter-line__E+cRh__B7O0d\",\"clean-btn\":\"style_clean-btn__oSEvm__B7O0d\",\"filter-item\":\"style_filter-item__Q2ncE__B7O0d\",\"un-expand\":\"style_un-expand__4PFY8__B7O0d\",\"ad-filter-selected\":\"style_ad-filter-selected__KbLfG__B7O0d\",\"filter-label\":\"style_filter-label__qu26i__B7O0d\",\"filter-item-wrap\":\"style_filter-item-wrap__rOq7H__B7O0d\",\"option\":\"style_option__rd5Qo__B7O0d\",\"is-active\":\"style_is-active__OArQI__B7O0d\",\"is-visited\":\"style_is-visited__gZ5ni__B7O0d\",\"un-expand-shadow\":\"style_un-expand-shadow__fj92e__B7O0d\",\"filter-item-label\":\"style_filter-item-label__C781J__B7O0d\",\"filter-item-field\":\"style_filter-item-field__Ltfr8__B7O0d\",\"filter-drop-tag\":\"style_filter-drop-tag__DD-2P__B7O0d\",\"filter-list-tag\":\"style_filter-list-tag__Qt5hA__B7O0d\",\"filter-tag\":\"style_filter-tag__dUGfu__B7O0d\",\"filter-tag-value\":\"style_filter-tag-value__p-SFv__B7O0d\",\"pop-util-content\":\"style_pop-util-content__bx5zP__B7O0d\",\"pop-util-overlay\":\"style_pop-util-overlay__LEASt__B7O0d\",\"pop-util-footer\":\"style_pop-util-footer__Xat1s__B7O0d\",\"pop-util-text\":\"style_pop-util-text__pzeUy__B7O0d\",\"filter-item-inner\":\"style_filter-item-inner__LVXgh__B7O0d\",\"filter-item-text\":\"style_filter-item-text__MA8tU__B7O0d\",\"filter-item-custom\":\"style_filter-item-custom__UusRa__B7O0d\",\"filter-item-custom-active\":\"style_filter-item-custom-active__uFtny__B7O0d\",\"filter-item-number-range-split\":\"style_filter-item-number-range-split__fVt8E__B7O0d\",\"filter-item-number-input\":\"style_filter-item-number-input__YPO6K__B7O0d\",\"range-picker\":\"style_range-picker__c6ngq__B7O0d\",\"cascader-select-wrap\":\"style_cascader-select-wrap__z5hu7__B7O0d\",\"cascader-dropdown-menu\":\"style_cascader-dropdown-menu__nhAH5__B7O0d\"};","const importMessages = (locale) => {\n return {\n \"en-US\": () => import(\"./en-US\"),\n \"zh-CN\": () => import(\"./zh-CN\"),\n }[locale]();\n};\n\nexport default importMessages;\n","import { Button, Space } from \"antd\";\nimport StateTag from \"@components/StateTag\";\nimport { FormattedMessage, IntlProvider } from \"@components/Intl\";\nimport style from \"@components/Filter/style.module.scss\";\nimport classnames from \"classnames\";\nimport importMessages from \"@components/Filter/locale\";\n\nconst FilterValueDisplay = ({ value: filterValue, extraExpand, onChange }) => {\n return (\n <IntlProvider importMessages={importMessages} moduleName=\"Filter\">\n <Space className={style[\"filter-title\"]} align=\"top\" size={16}>\n <span className={style[\"filter-label\"]}>\n <FormattedMessage\n id=\"selectedText\"\n moduleName=\"Filter\"\n defaultMessage=\"您已选择\"\n />\n </span>\n {/*<div className={style[\"filter-list\"]}>*/}\n <div className={style[\"filter-line\"]}>\n {filterValue.map(({ name, label, value }, index) => {\n return (\n <StateTag\n key={name}\n type=\"filterResult\"\n filterName={label}\n text={\n Array.isArray(value)\n ? value\n .map((item) => {\n return item.label;\n })\n .join(\",\")\n : value.label\n }\n closable\n onClose={() => {\n const newValue = filterValue.slice(0);\n newValue.splice(index, 1);\n onChange(newValue);\n }}\n />\n );\n })}\n <Space size={4} className={classnames(style[\"un-expand-shadow\"])}>\n {extraExpand}\n <Button size=\"small\">\n <FormattedMessage\n id=\"clearAllText\"\n moduleName=\"Filter\"\n defaultMessage=\"清空全部\"\n />\n </Button>\n </Space>\n <Space size={4} className={classnames(style[\"un-expand\"])}>\n {extraExpand}\n <Button\n size=\"small\"\n onClick={() => {\n onChange([]);\n }}\n >\n <FormattedMessage\n id=\"clearAllText\"\n moduleName=\"Filter\"\n defaultMessage=\"清空全部\"\n />\n </Button>\n </Space>\n\n </div>\n {/*</div>*/}\n </Space>\n </IntlProvider>\n );\n};\n\nexport default FilterValueDisplay;\n","import classnames from \"classnames\";\nimport { Space } from \"antd\";\nimport Icon from \"@components/Icon\";\nimport style from \"./style.module.scss\";\n\nconst FilterItem = ({ open, active, label, children }) => {\n return (\n <Space className={style[\"filter-item-wrap\"]}>\n <div\n className={classnames(style[\"filter-item\"], {\n [style[\"is-active\"]]: active,\n [style[\"is-visited\"]]: open,\n })}\n >\n <Space className={style[\"filter-item-label\"]} size={4}>\n <div>{label}</div>\n <Icon\n className={style[\"filter-item-icon\"]}\n type=\"icon-triangle-down\"\n />\n </Space>\n <div className={style[\"filter-item-field\"]}>{children}</div>\n </div>\n </Space>\n );\n};\n\nexport default FilterItem;\n","import { createContext, useContext as useReactContext } from \"react\";\n\nexport const context = createContext({});\n\nexport const { Provider } = context;\n\nexport const useContext = () => useReactContext(context);\n","import classnames from \"classnames\";\nimport { useState } from \"react\";\nimport Icon from \"@components/Icon\";\nimport style from \"./style.module.scss\";\nimport { Col, Row, Space } from \"antd\";\nimport { FormattedMessage, IntlProvider } from \"@components/Intl\";\nimport importMessages from \"./locale\";\nimport { useContext } from \"./context\";\nimport get from \"lodash/get\";\n\nconst Line = ({ list, children }) => {\n const { value, onChange } = useContext();\n return (\n <div className={style[\"filter-line\"]}>\n {list.map((item, index) => {\n const ComponentItem = item.type;\n return (\n <ComponentItem\n {...item.props}\n key={item.key || item.props.name || index}\n value={\n value\n ? get(value.get(item.props.name), \"value\")\n : item.props.value\n }\n onChange={\n onChange\n ? (value) =>\n onChange({\n name: item.props.name,\n label: item.props.label,\n value,\n })\n : item.props.onChange\n }\n />\n );\n })}\n {children}\n </div>\n );\n};\n\nconst FilterLines = ({ list, displayLine, label, extra, children }) => {\n const hasMore = list.length > displayLine;\n const [isExpand, setIsExpand] = useState(false);\n\n return (\n <IntlProvider importMessages={importMessages} moduleName=\"Filter\">\n <Space\n className={classnames(style[\"filter-title\"])}\n align=\"top\"\n size={16}\n >\n <span className={style[\"filter-label\"]}>\n {label || (\n <FormattedMessage\n id=\"filterText\"\n moduleName=\"Filter\"\n defaultMessage=\"筛选\"\n />\n )}\n </span>\n <Row justify=\"space-between\" wrap={false} align=\"middle\">\n <Col className={style[\"filter-list\"]} flex={1}>\n {list.slice(0, displayLine).map((item, index) => (\n <Line key={index} list={item}>\n {hasMore && isExpand === false && index === displayLine - 1 ? (\n <Space\n size={4}\n className={classnames(\n style[\"filter-item\"],\n style[\"option\"]\n )}\n onClick={() => {\n setIsExpand((value) => !value);\n }}\n >\n <FormattedMessage\n id=\"moreText\"\n moduleName=\"Filter\"\n defaultMessage=\"更多\"\n />\n <Icon\n className={style[\"filter-item-option-icon\"]}\n type=\"icon-arrow-thin-down\"\n />\n </Space>\n ) : null}\n </Line>\n ))}\n </Col>\n <Col>{extra}</Col>\n </Row>\n </Space>\n <Space\n className={classnames(style[\"filter-title\"], \"filter-title-wrap\")}\n align=\"center\"\n size={16}\n >\n {children}\n </Space>\n <Space\n className={classnames(style[\"filter-title\"], \"filter-title-wrap\", {\n [style[\"filter-title-hidden\"]]: !(hasMore && isExpand),\n })}\n align=\"top\"\n size={16}\n >\n <span className={style[\"filter-label\"]}>\n <FormattedMessage\n id=\"moreText\"\n moduleName=\"Filter\"\n defaultMessage=\"更多\"\n />\n </span>\n <div className={style[\"filter-list\"]}>\n {list.slice(displayLine).map((item, index) => (\n <Line key={index} list={item}>\n {index === list.length - displayLine - 1 && (\n <>\n <Space\n size={4}\n className={classnames(style[\"un-expand-shadow\"])}\n >\n <Space\n size={4}\n className={classnames(\n style[\"option\"],\n style[\"filter-item\"]\n )}\n >\n <FormattedMessage\n id=\"toggleUpText\"\n moduleName=\"Filter\"\n defaultMessage=\"收起\"\n />\n <Icon\n className={style[\"filter-item-option-icon\"]}\n type=\"icon-arrow-thin-up\"\n />\n </Space>\n </Space>\n <Space\n size={4}\n className={classnames(style[\"un-expand\"])}\n onClick={() => {\n setIsExpand((value) => !value);\n }}\n >\n <Space\n size={4}\n className={classnames(\n style[\"option\"],\n style[\"filter-item\"]\n )}\n >\n <FormattedMessage\n id=\"toggleUpText\"\n moduleName=\"Filter\"\n defaultMessage=\"收起\"\n />\n <Icon\n className={style[\"filter-item-option-icon\"]}\n type=\"icon-arrow-thin-up\"\n />\n </Space>\n </Space>\n </>\n )}\n </Line>\n ))}\n </div>\n </Space>\n </IntlProvider>\n );\n};\n\nFilterLines.defaultProps = {\n displayLine: 1,\n};\n\nexport default FilterLines;\n","import { useState, useMemo } from \"react\";\nimport { Button, Col, Popover, Row } from \"antd\";\nimport FilterItem from \"./FilterItem\";\nimport isNotEmpty from \"@common/utils/isNotEmpty\";\nimport classnames from \"classnames\";\nimport { FormattedMessage } from \"@components/Intl\";\nimport style from \"./style.module.scss\";\n\nconst PopoverItem = ({\n value,\n label,\n onValidate,\n overlayClassName,\n placement,\n onOpenChange,\n onChange,\n children,\n}) => {\n const [state, setState] = useState(value);\n const [open, setOpen] = useState(false);\n const disabled = useMemo(() => {\n return onValidate && !onValidate(state);\n }, [onValidate, state]);\n return (\n <Popover\n open={open}\n trigger=\"click\"\n placement={placement}\n overlayClassName={classnames(style[\"pop-util-overlay\"], overlayClassName)}\n onOpenChange={(open) => {\n setOpen(open);\n setState(value);\n onOpenChange && onOpenChange(open);\n }}\n content={\n <span\n onClick={(e) => {\n e.stopPropagation();\n }}\n >\n <div className={style[\"pop-util-content\"]}>\n {children({ value: state, onChange: setState })}\n </div>\n <Row className={style[\"pop-util-footer\"]} justify=\"end\" gutter={8}>\n <Col>\n <Button\n size=\"small\"\n onClick={() => {\n setOpen(false);\n onOpenChange && onOpenChange(false);\n }}\n >\n <FormattedMessage\n id=\"cancelText\"\n moduleName=\"Filter\"\n defaultMessage=\"取消\"\n />\n </Button>\n </Col>\n <Col>\n <Button\n size=\"small\"\n type=\"primary\"\n disabled={disabled}\n onClick={() => {\n setOpen(false);\n onOpenChange && onOpenChange(false);\n onChange && onChange(state);\n }}\n >\n <FormattedMessage\n id=\"determineText\"\n moduleName=\"Filter\"\n defaultMessage=\"确定\"\n />\n </Button>\n </Col>\n </Row>\n </span>\n }\n >\n <span>\n <FilterItem open={open} active={isNotEmpty(value)} label={label} />\n </span>\n </Popover>\n );\n};\n\nPopoverItem.defaultProps = {\n placeholder: \"请选择\",\n placement: \"bottomLeft\",\n};\n\nexport default PopoverItem;\n","import { useState } from \"react\";\nimport isNotEmpty from \"@common/utils/isNotEmpty\";\nimport FilterItem from \"./FilterItem\";\nimport style from \"./style.module.scss\";\n\nconst withFieldItem =\n (WrappedComponent) =>\n ({ value, onChange, label, ...props }) => {\n const [open, setOpen] = useState(false);\n return (\n <FilterItem label={label} open={open} active={isNotEmpty(value)}>\n <WrappedComponent\n {...props}\n className={style[\"filter-item-inner\"]}\n value={value}\n onChange={onChange}\n valueType=\"all\"\n onOpenChange={setOpen}\n />\n </FilterItem>\n );\n };\n\nexport default withFieldItem;\n","import transform from \"lodash/transform\";\n\nconst getFilterValue = (filterValue) => {\n return transform(\n filterValue,\n (result, { name, value }) => {\n result[name] = Array.isArray(value)\n ? value.map(({ value }) => value)\n : value.value;\n },\n {}\n );\n};\n\nexport default getFilterValue;\n","const FilterItemContainer = ({ children, ...props }) => {\n return children(props);\n};\n\nexport default FilterItemContainer;\n","// extracted by mini-css-extract-plugin\nexport default {\"scroll-loader\":\"style_scroll-loader__Rcuti__B7O0d\",\"is-popup\":\"style_is-popup__pCRv2__B7O0d\"};","import SelectInnerInput from \"@common/components/SelectInnerInput\";\nimport { useMemo, useRef } from \"react\";\nimport useRefCallback from \"@kne/use-ref-callback\";\nimport style from \"./style.module.scss\";\nimport classnames from \"classnames\";\nimport { Space, Tree } from \"antd\";\nimport SimpleBar from \"@common/components/SimpleBar\";\nimport get from \"lodash/get\";\nimport omit from \"lodash/omit\";\nimport memoize from \"lodash/memoize\";\n\nconst useSelectInnerContext = SelectInnerInput.useContext;\n\nconst TreeFieldInner = ({ value: selected, setValue: setSelect, size }) => {\n const { fetchApi, props } = useSelectInnerContext();\n const dataFormat = useRefCallback(props.dataFormat);\n const { single, isPopup, searchPlaceholder, ...others } = props;\n const fieldNamesRef = useRef(props.fieldNames);\n fieldNamesRef.current = props.fieldNames;\n const fetchData = fetchApi.data;\n const { treeData } = useMemo(\n () =>\n dataFormat(fetchData, {\n fieldNames: fieldNamesRef.current,\n }),\n [dataFormat, fetchData]\n );\n\n return (\n <Space direction=\"vertical\" size={16}>\n <SimpleBar\n className={classnames(style[\"scroll-loader\"], {\n [style[\"is-popup\"]]: props.isPopup,\n })}\n >\n <Tree\n {...omit(others, [\"value\", \"valueType\", \"children\", \"dataFormat\"])}\n size={size}\n checkable={!single}\n treeData={treeData}\n onCheck={setSelect}\n checkedKeys={selected}\n onSelect={\n single\n ? setSelect\n : (selectKeys) => {\n const selectKey = selectKeys[0];\n if (selectKey === void 0) {\n return;\n }\n setSelect((current) => {\n const newCurrent = current.slice(0);\n const index = newCurrent.indexOf(selectKey);\n if (index > -1) {\n newCurrent.splice(index, 1);\n } else {\n newCurrent.push(selectKey);\n }\n return newCurrent;\n });\n }\n }\n selectedKeys={single ? selected : undefined}\n />\n </SimpleBar>\n </Space>\n );\n};\n\nconst TreeField = ({ maxLength, dataFormat, ...props }) => {\n return (\n <SelectInnerInput\n {...props}\n dataFormat={(data) => {\n return dataFormat(data, { fieldNames: props.fieldNames });\n }}\n >\n {({ value, setValue }) => {\n return (\n <TreeFieldInner size={maxLength} value={value} setValue={setValue} />\n );\n }}\n </SelectInnerInput>\n );\n};\n\nTreeField.defaultProps = {\n searchPlaceholder: \"搜索\",\n maxLength: Number.MAX_VALUE,\n size: \"middle\",\n isPopup: true,\n checkStrictly: false,\n dataFormat: (data, { fieldNames }) => {\n const treeToList = memoize((nodeList, { fieldNames }) => {\n const list = [];\n const core = (nodeList) => {\n if (!(Array.isArray(nodeList) && nodeList.length > 0)) {\n return;\n }\n nodeList.forEach((node) => {\n const value = node[get(fieldNames, \"key\", \"key\")],\n label = node[get(fieldNames, \"title\", \"title\")],\n children = node[get(fieldNames, \"children\", \"children\")];\n list.push({ id: value, value, label });\n core(children);\n });\n };\n core(nodeList);\n return list;\n });\n\n return {\n treeData: data,\n list: treeToList(data, { fieldNames }),\n };\n },\n};\n\nexport default TreeField;\n","import PopoverItem from \"../PopoverItem\";\nimport { Input } from \"antd\";\nimport get from \"lodash/get\";\nimport style from \"../style.module.scss\";\n\nconst InputFilterItem = ({\n label,\n value,\n onChange,\n placeholder,\n onValidate,\n overlayClassName,\n placement,\n onOpenChange,\n ...props\n}) => {\n return (\n <PopoverItem\n label={label}\n value={value}\n onChange={onChange}\n {...{ onValidate, overlayClassName, placement, onOpenChange }}\n >\n {({ value, onChange }) => (\n <Input\n {...props}\n placeholder={placeholder || `请输入${label}`}\n className={style[\"filter-item-text\"]}\n value={get(value, \"value\", \"\")}\n onChange={(e) =>\n onChange(\n e.target.value\n ? { label: e.target.value, value: e.target.value }\n : null\n )\n }\n />\n )}\n </PopoverItem>\n );\n};\n\nexport default InputFilterItem;\n","import { DatePicker } from \"antd\";\nimport withFieldItem from \"../withFieldItem\";\nimport dayjs from \"dayjs\";\n\nconst DatePickerFilterItem = withFieldItem(\n ({ value, onChange, picker, ...props }) => {\n return (\n <DatePicker\n {...props}\n picker={picker}\n value={value && dayjs(value.value)}\n onChange={(value) => {\n const { format } = Object.assign({ format: \"YYYY-MM-DD\" }, props);\n value &&\n onChange({\n label:\n picker !== \"date\"\n ? `${value.startOf(picker).format(format)}~${value\n .endOf(picker)\n .format(format)}`\n : value.format(format),\n value: new Date(value.startOf(picker).valueOf()),\n });\n }}\n />\n );\n }\n);\n\nDatePickerFilterItem.defaultProps = \"date\";\n\nexport default DatePickerFilterItem;\n","import { DatePicker } from \"antd\";\nimport withFieldItem from \"../withFieldItem\";\nimport dayjs from \"dayjs\";\n\nconst DateRangePickerFilterItem = withFieldItem(\n ({ value, onChange, ...props }) => {\n return (\n <DatePicker.RangePicker\n {...props}\n allowEmpty={[false, false]}\n value={\n value &&\n Array.isArray(value.value) &&\n value.value.length === 2 &&\n value.value.map((item) => dayjs(item))\n }\n onChange={(value) => {\n const { format } = Object.assign({ format: \"YYYY-MM-DD\" }, props);\n onChange({\n label: value.map((item) => item.format(format)).join(\"~\"),\n value: value.map((item) => new Date(item.valueOf())),\n });\n }}\n />\n );\n }\n);\n\nexport default DateRangePickerFilterItem;\n","import PopoverItem from \"../PopoverItem\";\nimport TypeDateRangePickerField from \"@common/components/TypeDateRangePickerField\";\nimport get from \"lodash/get\";\nimport style from \"../style.module.scss\";\nimport dayjs from \"dayjs\";\n\nconst TypeDateRangePickerFilterItem = ({\n label,\n value,\n onChange,\n ...props\n}) => {\n return (\n <PopoverItem\n label={label}\n value={value}\n onChange={onChange}\n onValidate={(item) => {\n const value = item?.value;\n return (\n value?.type && Array.isArray(value?.value) && value.value.length === 2\n );\n }}\n >\n {({ value, onChange }) => (\n <TypeDateRangePickerField\n {...props}\n className={style[\"filter-item-text\"]}\n value={get(value, \"value\")}\n onChange={(pickerValue) => {\n const { format } = Object.assign({ format: \"YYYY-MM-DD\" }, props);\n const value = pickerValue?.value || [];\n onChange({\n label: (() => {\n if (value[0] && !value[1]) {\n return `${dayjs(value[0]).format(format)}以后`;\n }\n if (!value[0] && value[1]) {\n return `${dayjs(value[1]).format(format)}以前`;\n }\n if (value[0] && value[1]) {\n return `${dayjs(value[0]).format(format)}~${dayjs(\n value[1]\n ).format(format)}`;\n }\n return \"\";\n })(),\n value: pickerValue,\n });\n }}\n />\n )}\n </PopoverItem>\n );\n};\n\nexport default TypeDateRangePickerFilterItem;\n","import { FormattedMessage } from \"@components/Intl\";\nimport withFieldItem from \"../withFieldItem\";\nimport AdvancedSelectField, {\n UserField,\n} from \"@common/components/AdvancedSelectField\";\nimport FunctionSelectField from \"@common/components/FunctionSelectField\";\nimport AddressSelectField from \"@common/components/AddressSelectField\";\nimport IndustrySelectField from \"@common/components/IndustrySelectField\";\nimport CascaderField from \"@common/components/CascaderField\";\nimport TreeField from \"@common/components/TreeField\";\nimport InputFilterItemField from \"./InputFilterItem\";\n\nconst withInputDefaultPlaceholder =\n (WrappedComponent) =>\n ({ placeholder, label, ...props }) =>\n (\n <FormattedMessage\n id=\"defaultInputPlaceholder\"\n moduleName=\"Filter\"\n values={{ label }}\n >\n {(text) => {\n return (\n <WrappedComponent\n {...props}\n label={label}\n placeholder={placeholder || text}\n />\n );\n }}\n </FormattedMessage>\n );\n\nexport const AdvancedSelectFilterItem = withFieldItem(AdvancedSelectField);\nexport const UserFilterItem = withFieldItem(UserField);\nexport const FunctionSelectFilterItem = withFieldItem(FunctionSelectField);\nexport const IndustrySelectFilterItem = withFieldItem(IndustrySelectField);\n\nexport const CityFilterItem = withFieldItem(AddressSelectField);\n\nexport const CascaderFilterItem = withFieldItem(CascaderField);\n\nexport const TreeFilterItem = withFieldItem(TreeField);\nexport const InputFilterItem =\n withInputDefaultPlaceholder(InputFilterItemField);\n\nexport { default as DatePickerFilterItem } from \"./DatePickerFilterItem\";\nexport { default as DateRangePickerFilterItem } from \"./DateRangePickerFilterItem\";\nexport { default as TypeDateRangePickerFilterItem } from \"./TypeDateRangePickerFilterItem\";\n","import { Provider } from \"./context\";\nimport useControlValue from \"@kne/use-control-value\";\nimport FilterLines from \"./FilterLines\";\nimport FilterValueDisplay from \"./FilterValueDisplay\";\nimport clone from \"lodash/clone\";\nimport classnames from \"classnames\";\nimport style from \"./style.module.scss\";\nimport { useMemo } from \"react\";\nimport { isNotEmpty } from \"@components/Common\";\nimport importMessages from \"@components/FormInfo/locale\";\nimport { IntlProvider } from \"@components/Intl\";\n\nconst Filter = (props) => {\n const { extraExpand, className, ...others } = props;\n const [valueBase, onChange] = useControlValue(props);\n\n const value = useMemo(() => {\n return valueBase.filter((item) => isNotEmpty(item.value));\n }, [valueBase]);\n\n const filterValue = useMemo(() => {\n return new Map(value.map((item) => [item.name, item]));\n }, [value]);\n\n return (\n <IntlProvider moduleName=\"Filter\" importMessages={importMessages}>\n <Provider\n value={{\n value: filterValue,\n onChange: (item) => {\n const newFilterValue = clone(filterValue);\n item.value\n ? newFilterValue.set(item.name, item)\n : newFilterValue.delete(item.name);\n onChange?.(Array.from(newFilterValue.values()));\n },\n }}\n >\n <div className={classnames(style[\"filter\"], className)}>\n <FilterLines {...others} />\n {value && value.length > 0 && (\n <FilterValueDisplay\n value={value}\n onChange={onChange}\n extraExpand={extraExpand}\n />\n )}\n </div>\n </Provider>\n </IntlProvider>\n );\n};\n\nFilter.defaultProps = {\n defaultValue: [],\n};\n\nexport default Filter;\n","const importMessages = (locale) => {\n return {\n \"en-US\": () => import(\"./en-US\"),\n \"zh-CN\": () => import(\"./zh-CN\"),\n }[locale]();\n};\n\nexport default importMessages;\n","const importMessages = (locale) => {\n return {\n \"en-US\": () => import(\"./en-US\"),\n \"zh-CN\": () => import(\"./zh-CN\"),\n }[locale]();\n};\n\nexport default importMessages;\n","// extracted by mini-css-extract-plugin\nexport default {\"helper-guide\":\"style_helper-guide__K5xFw__B7O0d\",\"inner\":\"style_inner__bMKeU__B7O0d\",\"content\":\"style_content__xTfWZ__B7O0d\",\"link\":\"style_link__93j7O__B7O0d\"};","import importMessages from \"./locale\";\nimport { IntlProvider } from \"@components/Intl\";\nimport Icon from \"@components/Icon\";\nimport { Space, Typography } from \"antd\";\nimport classnames from \"classnames\";\nimport style from \"./style.module.scss\";\nimport Enum from \"@components/Enum\";\n\nconst HelperGuide = ({ name, className }) => {\n return (\n <IntlProvider importMessages={importMessages} moduleName=\"HelperGuide\">\n <Enum moduleName=\"helperGuide\" name={name}>\n {(data) => {\n return (\n data &&\n data.value && (\n <div className={classnames(style[\"helper-guide\"], className)}>\n <Space className={style[\"inner\"]}>\n <Icon colorful type=\"icon-color-bangzhuyindao\" />\n <span className={style[\"content\"]}>{data.content}</span>\n {data.url && (\n <Typography.Link\n className={style[\"link\"]}\n href={data.url}\n target=\"_blank\"\n >\n 查看帮助\n <Icon type=\"icon-shuangjiantou-right\" />\n </Typography.Link>\n )}\n </Space>\n </div>\n )\n );\n }}\n </Enum>\n </IntlProvider>\n );\n};\n\nexport default HelperGuide;\n","import { createContext, useContext as useReactContext } from \"react\";\n\nexport const defaultProps = {\n menu: null,\n filter: null,\n menuOpen: true,\n menuWidth: \"240px\",\n menuFixed: true,\n menuCloseButton: true,\n backgroundColor: null,\n header: null,\n headerHeight: 0,\n headerFixed: true,\n headerInfo: null,\n backUrl: null,\n title: null,\n titleExtra: null,\n titleLeftExtra: null,\n noMargin: false,\n noPadding: false,\n optionFooterHeight: 0,\n option: null,\n optionWidth: \"400px\",\n optionNoPadding: false,\n optionFixed: true,\n optionFooter: null,\n};\n\nexport const context = createContext({});\n\nexport const { Provider, Consumer } = context;\n\nexport const useContext = () => {\n return useReactContext(context);\n};\n\nexport default context;\n","// extracted by mini-css-extract-plugin\nexport default {\"layout\":\"style_layout__k+lxR__B7O0d\",\"page-content\":\"style_page-content__4XeN8__B7O0d\",\"page-main\":\"style_page-main__P0yEF__B7O0d\",\"page-main-content\":\"style_page-main-content__1OVPN__B7O0d\",\"table-page\":\"style_table-page__JkbLf__B7O0d\",\"helper-guide\":\"style_helper-guide__vzw4z__B7O0d\",\"page-outer\":\"style_page-outer__2a6iH__B7O0d\",\"no-margin\":\"style_no-margin__S6caT__B7O0d\",\"page-menu\":\"style_page-menu__CZSa9__B7O0d\",\"closed\":\"style_closed__hmnft__B7O0d\",\"page-menu-inner\":\"style_page-menu-inner__rmKpu__B7O0d\",\"page-menu-main\":\"style_page-menu-main__OXg2M__B7O0d\",\"page-option-main\":\"style_page-option-main__LyfT3__B7O0d\",\"page-menu-main-outer\":\"style_page-menu-main-outer__yY+-Q__B7O0d\",\"page-option\":\"style_page-option__diS2S__B7O0d\",\"page-option-inner\":\"style_page-option-inner__Fj1JH__B7O0d\",\"page-option-footer\":\"style_page-option-footer__d7xE0__B7O0d\",\"fixed-container\":\"style_fixed-container__1VZwY__B7O0d\",\"is-fixed\":\"style_is-fixed__1aQhp__B7O0d\",\"page-menu-btn-outer\":\"style_page-menu-btn-outer__iVJiW__B7O0d\",\"page-menu-btn\":\"style_page-menu-btn__BiTy8__B7O0d\",\"page-title\":\"style_page-title__zw-Fd__B7O0d\",\"page-title-text\":\"style_page-title-text__Rj4RC__B7O0d\",\"no-padding\":\"style_no-padding__V7Dwy__B7O0d\",\"page-header\":\"style_page-header__a813p__B7O0d\",\"page-header-info\":\"style_page-header-info__cMrZR__B7O0d\",\"layout-menu\":\"style_layout-menu__yiab0__B7O0d\",\"sub-menu\":\"style_sub-menu__dyqK7__B7O0d\",\"no-collapsed\":\"style_no-collapsed__76h8W__B7O0d\",\"has-not-children\":\"style_has-not-children__fnjRK__B7O0d\",\"table-page-top\":\"style_table-page-top__bt1l9__B7O0d\",\"error-component\":\"style_error-component__HvghB__B7O0d\",\"state-bar-page\":\"style_state-bar-page__+aUM4__B7O0d\",\"back-icon\":\"style_back-icon__79v2G__B7O0d\"};","import style from \"../style.module.scss\";\nimport classnames from \"classnames\";\n\nconst FixedContainer = ({ className, isFixed, children }) => {\n if (isFixed) {\n return (\n <div\n className={classnames(\n className,\n \"fixed-container\",\n style[\"fixed-container\"],\n {\n [style[\"is-fixed\"]]: isFixed,\n }\n )}\n >\n {children}\n </div>\n );\n }\n return (\n <div\n className={classnames(\n className,\n \"fixed-container\",\n style[\"fixed-container\"]\n )}\n >\n {children}\n </div>\n );\n};\n\nexport default FixedContainer;\n","import { Button, Col } from \"antd\";\nimport classnames from \"classnames\";\nimport style from \"../style.module.scss\";\nimport FixedContainer from \"./FixedContainer\";\nimport { useContext } from \"../context\";\nimport Icon from \"@components/Icon\";\nimport SimpleBar from \"@common/components/SimpleBar\";\nimport { useLocation } from \"react-router-dom\";\nimport get from \"lodash/get\";\nimport isNotEmpty from \"@utils/isNotEmpty\";\nimport localStorage from \"@utils/localStorage\";\nimport { useMemo } from \"react\";\n\nconst pageMenuOpenKey = \"CORE_PAGE_MENU_OPEN_KEY\";\n\nexport const useMenuOpen = () => {\n const location = useLocation();\n const pathModuleName = location.pathname.split(\"/\")[1];\n return useMemo(() => {\n const pageResult = localStorage.getItem(pageMenuOpenKey) || {};\n return isNotEmpty(get(pageResult, pathModuleName))\n ? get(pageResult, pathModuleName)\n : true;\n }, [pathModuleName]);\n};\n\nconst Menu = () => {\n const { pageProps, setPageProps } = useContext();\n const { menu, menuOpen, menuWidth, menuFixed, menuCloseButton } = pageProps;\n\n const location = useLocation();\n const pathModuleName = location.pathname.split(\"/\")[1];\n\n return menu ? (\n <Col\n className={classnames(style[\"page-menu\"], {\n [style[\"closed\"]]: !menuOpen,\n })}\n style={{ \"--width\": menuWidth }}\n >\n <FixedContainer className={style[\"page-menu-inner\"]} isFixed={menuFixed}>\n <div className={style[\"page-menu-main-outer\"]}>\n <SimpleBar className={style[\"page-menu-main\"]}>{menu}</SimpleBar>\n </div>\n </FixedContainer>\n {menuCloseButton ? (\n <FixedContainer\n className={classnames(style[\"page-menu-btn-outer\"], {\n [style[\"is-fixed\"]]: menuFixed,\n })}\n isFixed={menuFixed}\n >\n <Button\n className={classnames(style[\"page-menu-btn\"], {\n [style[\"closed\"]]: !menuOpen,\n })}\n icon={\n menuOpen ? (\n <Icon type=\"icon-arrow-bold-left\" />\n ) : (\n <Icon type=\"icon-arrow-bold-right\" />\n )\n }\n onClick={() => {\n setPageProps({ menuOpen: !pageProps.menuOpen });\n const pageResult = localStorage.getItem(pageMenuOpenKey) || {};\n pageResult[pathModuleName] = !pageProps.menuOpen;\n localStorage.setItem(pageMenuOpenKey, pageResult);\n setPageProps({ menuOpen: !pageProps.menuOpen });\n }}\n />\n </FixedContainer>\n ) : null}\n </Col>\n ) : null;\n};\n\nexport default Menu;\n","import { defaultProps, useContext } from \"../context\";\nimport isEqual from \"lodash/isEqual\";\nimport { useEffect, useRef } from \"react\";\nimport { Result } from \"antd\";\nimport Features from \"@components/Features\";\nimport { useMenuOpen } from \"./Menu\";\n\nconst PageInner = ({ children, isPass, ...props }) => {\n const { setPageProps } = useContext();\n const propsRef = useRef(null);\n const localMenuOpen = useMenuOpen();\n const localMenuOpenRef = useRef(localMenuOpen);\n localMenuOpenRef.current = localMenuOpen;\n useEffect(() => {\n if (!isEqual(propsRef.current, props)) {\n propsRef.current = props;\n /**\n * 解决两个页面都用header时,menuButton产生的跳动问题:如果下一个页面有header,\n * headerHeight由其header组件自己更新,不再统一重置为0。\n * optionFooter同理\n * */\n const targetProps = Object.assign(\n {},\n defaultProps,\n props,\n typeof localMenuOpenRef.current === \"boolean\"\n ? { menuOpen: localMenuOpenRef.current }\n : {}\n );\n if (targetProps.header && targetProps.headerHeight === 0) {\n delete targetProps[\"headerHeight\"];\n }\n if (targetProps.optionFooter && targetProps.optionFooterHeight === 0) {\n delete targetProps[\"optionFooter\"];\n }\n setPageProps(targetProps);\n }\n }, [props, setPageProps]);\n\n if (isPass === false) {\n return <Result status=\"403\" subTitle=\"暂未开放此功能\" />;\n }\n\n return children;\n};\n\nconst Page = ({ featureId, name, openFeatures, ...props }) => {\n if (openFeatures === true) {\n return (\n <Features id={name}>\n {({ isPass }) => <PageInner {...props} key={name} isPass={isPass} />}\n </Features>\n );\n }\n return <PageInner {...props} key={name} />;\n};\n\nPage.defaultProps = defaultProps;\n\nexport default Page;\n","import { Affix as AntdAffix } from \"antd\";\n\nconst Affix = ({ isFixed, offsetTop, offsetBottom, onChange, ...props }) => {\n if (!isFixed) {\n return <div {...props} />;\n }\n return (\n <AntdAffix\n {...props}\n offsetTop={Number.isInteger(offsetTop) ? offsetTop - 0.1 : offsetTop}\n offsetBottom={offsetBottom}\n onChange={onChange}\n />\n );\n};\n\nexport default Affix;\n","import { useContext } from \"@components/Layout/context\";\nimport { useLayoutEffect, useRef } from \"react\";\n\nconst useContainerHeight = ({ targetKey }) => {\n const { setPageProps } = useContext();\n const ref = useRef(null);\n useLayoutEffect(() => {\n const callback = () => {\n setPageProps({\n [targetKey]: ref.current.offsetHeight,\n });\n };\n\n callback();\n const resizeObserver = new MutationObserver(callback);\n resizeObserver.observe(ref.current, { subtree: true, childList: true });\n return () => {\n resizeObserver.disconnect();\n };\n }, [setPageProps, targetKey]);\n\n return ref;\n};\n\nconst ContainerHeight = ({ targetKey, ...props }) => {\n const ref = useContainerHeight({ targetKey });\n return <div {...props} ref={ref} />;\n};\n\nexport default ContainerHeight;\n","import { useContext } from \"../context\";\nimport Affix from \"../Affix\";\nimport { navigationHeight } from \"@components/Navigation\";\nimport ContainerHeight from \"./ContainerHeight\";\nimport style from \"../style.module.scss\";\n\nconst Header = () => {\n const { pageProps } = useContext();\n const { header, headerFixed } = pageProps;\n return header ? (\n <Affix\n isFixed={headerFixed}\n className={style[\"page-header\"]}\n offsetTop={navigationHeight}\n >\n <ContainerHeight targetKey=\"headerHeight\">{header}</ContainerHeight>\n </Affix>\n ) : null;\n};\n\nexport default Header;\n","import { useContext } from \"../context\";\nimport { useRef } from \"react\";\nimport style from \"../style.module.scss\";\nimport classnames from \"classnames\";\n\nconst HeaderInfo = () => {\n const { pageProps } = useContext();\n const { headerInfo } = pageProps;\n const headerInfoRef = useRef(null);\n return headerInfo ? (\n <div\n ref={headerInfoRef}\n className={classnames(style[\"page-header-info\"], \"page-header-info\")}\n >\n {headerInfo}\n </div>\n ) : null;\n};\n\nexport default HeaderInfo;\n","import { Col, Row, Space } from \"antd\";\nimport { useNavigate } from \"react-router-dom\";\nimport Filter from \"@components/Filter\";\nimport Icon from \"@components/Icon\";\nimport style from \"../style.module.scss\";\n\nconst PageTitle = ({ title, filter, titleExtra, titleLeftExtra, backUrl }) => {\n const navigator = useNavigate();\n if (filter) {\n return (\n <Filter className={style[\"page-title\"]} {...filter} extra={titleExtra} />\n );\n }\n if (!(title || titleLeftExtra || titleExtra)) {\n return null;\n }\n return (\n <Row justify=\"space-between\" align=\"middle\" className={style[\"page-title\"]}>\n <Col>\n <Space>\n {title ? (\n <div className={style[\"page-title-text\"]}>\n {backUrl ? (\n <Space>\n <span\n className={style[\"back-icon\"]}\n onClick={() => {\n navigator(backUrl);\n }}\n >\n <Icon type=\"icon-arrow-thin-left\" />\n </span>\n <span>{title}</span>\n </Space>\n ) : (\n title\n )}\n </div>\n ) : null}\n {titleLeftExtra ? titleLeftExtra : null}\n </Space>\n </Col>\n <Col>{titleExtra}</Col>\n </Row>\n );\n};\n\nexport default PageTitle;\n","import { Col, Space } from \"antd\";\nimport FixedContainer from \"./FixedContainer\";\nimport { useContext } from \"../context\";\nimport classnames from \"classnames\";\nimport SimpleBar from \"@common/components/SimpleBar\";\nimport ContainerHeight from \"./ContainerHeight\";\nimport style from \"../style.module.scss\";\n\nconst Option = () => {\n const { pageProps } = useContext();\n const {\n option,\n optionWidth,\n optionFixed,\n optionFooter,\n optionFooterHeight,\n optionNoPadding,\n } = pageProps;\n return option ? (\n <Col\n className={classnames(style[\"page-option\"], \"page-option\")}\n style={{\n \"--width\": optionWidth,\n \"--foot-height\": optionFooterHeight + \"px\",\n }}\n >\n <FixedContainer\n className={style[\"page-option-inner\"]}\n isFixed={optionFixed}\n >\n <SimpleBar\n className={classnames(style[\"page-option-main\"], \"page-option-main\")}\n style={{ padding: optionNoPadding ? \"0px\" : \"var(--padding-width)\" }}\n >\n {option}\n </SimpleBar>\n {optionFooter ? (\n <ContainerHeight\n className={style[\"page-option-footer\"]}\n targetKey=\"optionFooterHeight\"\n >\n <Space align=\"center\">{optionFooter}</Space>\n </ContainerHeight>\n ) : null}\n </FixedContainer>\n </Col>\n ) : null;\n};\n\nexport default Option;\n","import { Alert, Button, Col, Layout as AntdLayout, Row } from \"antd\";\nimport { useCallback, useEffect, useState } from \"react\";\nimport { defaultProps, Provider } from \"./context\";\nimport Navigation, { navigationHeight } from \"@components/Navigation\";\nimport { getScrollEl } from \"@common/utils/importantContainer\";\nimport ReactErrorBoundary from \"@kne/react-error-boundary\";\nimport { Header, HeaderInfo, Menu, Option, PageTitle } from \"./Page\";\nimport classnames from \"classnames\";\nimport style from \"./style.module.scss\";\nimport HelperGuide from \"@components/HelperGuide\";\n\nconst { Content } = AntdLayout;\n\nconst ErrorComponent = () => {\n return (\n <Alert\n message=\"系统出了点小问题,可刷新页面进行解决\"\n showIcon\n type=\"error\"\n action={\n <Button size=\"small\" danger onClick={() => window.location.reload()}>\n 刷新\n </Button>\n }\n />\n );\n};\n\nconst ErrorBoundary = (props) => {\n return <ReactErrorBoundary {...props} errorComponent={ErrorComponent} />;\n};\n\nconst Layout = ({ children, theme, navigation }) => {\n const [scrollLeft, setScrollLeft] = useState(0);\n const [pageProps, _setPageProps] = useState(Object.assign({}, defaultProps));\n const setPageProps = useCallback((value) => {\n return _setPageProps((pageProps) => {\n return Object.assign({}, pageProps, value);\n });\n }, []);\n useEffect(() => {\n const scrollEl = getScrollEl();\n const handlerScroll = () => {\n setScrollLeft(scrollEl.scrollLeft);\n };\n scrollEl.addEventListener(\"scroll\", handlerScroll);\n return () => {\n scrollEl.removeEventListener(\"scroll\", handlerScroll);\n };\n }, []);\n\n return (\n <AntdLayout\n className={style[\"layout\"]}\n style={Object.assign(\n {},\n {\n \"--nav-height\": navigationHeight + \"px\",\n \"--nav-height-base\": \"var(--nav-height)\",\n \"--scroll-left\": -scrollLeft + \"px\",\n },\n theme\n )}\n >\n {navigation && (\n <ErrorBoundary>\n <Navigation\n {...navigation}\n onChange={(path) => {\n navigation?.onChange && navigation.onChange(path);\n }}\n />\n </ErrorBoundary>\n )}\n <ErrorBoundary>\n <Content className={style[\"layout-content-wrap\"]}>\n <Provider value={{ pageProps, setPageProps }}>\n <ErrorBoundary>\n <Header />\n </ErrorBoundary>\n <ErrorBoundary>\n <HeaderInfo />\n </ErrorBoundary>\n <ErrorBoundary>\n <Row\n className={classnames(pageProps.className, style[\"page-outer\"])}\n wrap={false}\n style={{\n \"--nav-height\": `calc(${pageProps.headerHeight}px + var(--nav-height-base))`,\n \"--nav-only-height\": `var(--nav-height-base)`,\n }}\n >\n <ErrorBoundary>\n <Menu />\n </ErrorBoundary>\n <Col\n className={classnames(style[\"page-content\"], {\n [style[\"no-margin\"]]: pageProps.noMargin,\n })}\n flex={1}\n style={{ \"--background-color\": pageProps.backgroundColor }}\n >\n <div className={style[\"page-main\"]}>\n <ErrorBoundary>\n <PageTitle\n title={pageProps.title}\n backUrl={pageProps.backUrl}\n filter={pageProps.filter}\n titleExtra={pageProps.titleExtra}\n titleLeftExtra={pageProps.titleLeftExtra}\n />\n </ErrorBoundary>\n <div\n className={classnames(style[\"page-main-content\"], {\n [style[\"no-padding\"]]: pageProps.noPadding,\n })}\n >\n <ErrorBoundary>\n {pageProps.helperGuideName && (\n <HelperGuide\n className={style[\"helper-guide-page\"]}\n name={pageProps.helperGuideName}\n />\n )}\n {children}\n </ErrorBoundary>\n </div>\n </div>\n </Col>\n <ErrorBoundary>\n <Option />\n </ErrorBoundary>\n </Row>\n </ErrorBoundary>\n </Provider>\n </Content>\n </ErrorBoundary>\n </AntdLayout>\n );\n};\n\nLayout.defaultProps = {\n navigation: {},\n};\n\nexport default Layout;\n","import Page from \"./Page\";\nimport Permissions from \"@components/Permissions\";\n\nconst PermissionsPage = ({ permissions, ...props }) => {\n return (\n <Permissions {...Object.assign({}, permissions, { type: \"error\" })}>\n <Page {...props} />\n </Permissions>\n );\n};\n\nexport default PermissionsPage;\n","import { TablePage as Table } from \"@components/Table\";\nimport PermissionsPage from \"./PermissionsPage\";\nimport { forwardRef, useState } from \"react\";\nimport style from \"./style.module.scss\";\nimport HelperGuide from \"@components/HelperGuide\";\nimport classnames from \"classnames\";\n\nconst TablePage = forwardRef(\n (\n {\n helperGuideName,\n permissions,\n page,\n openFeatures,\n name,\n topArea,\n ...props\n },\n ref\n ) => {\n const [tableData, setTableData] = useState(null);\n return (\n <PermissionsPage\n name={name}\n openFeatures={openFeatures}\n permissions={permissions}\n {...page}\n >\n {topArea ? (\n <div className={style[\"table-page-top\"]}>\n {typeof topArea === \"function\" ? topArea(tableData) : topArea}\n </div>\n ) : null}\n <div className={style[\"table-page\"]}>\n {helperGuideName && (\n <HelperGuide\n className={classnames(\"helper-guide\", style[\"helper-guide\"])}\n name={helperGuideName}\n />\n )}\n <Table\n {...props}\n ref={ref}\n name={name}\n onRequestSuccess={(data) => {\n setTableData(data);\n }}\n />\n </div>\n </PermissionsPage>\n );\n }\n);\n\nexport default TablePage;\n","import StateBar from \"@components/StateBar\";\nimport PermissionsPage from \"./PermissionsPage\";\nimport style from \"./style.module.scss\";\nimport HelperGuide from \"@components/HelperGuide\";\n\nconst StateBarPage = ({\n helperGuideName,\n permissions,\n page,\n stateBar,\n children,\n ...props\n}) => {\n return (\n <PermissionsPage {...page} permissions={permissions} {...props}>\n <div className={style[\"state-bar-page\"]}>\n <StateBar {...stateBar} />\n </div>\n {helperGuideName && (\n <HelperGuide className={style[\"helper-guide\"]} name={helperGuideName} />\n )}\n {children}\n </PermissionsPage>\n );\n};\n\nexport default StateBarPage;\n","// extracted by mini-css-extract-plugin\nexport default {\"menu\":\"style_menu__gvIvn__B7O0d\",\"all-no-start-icon\":\"style_all-no-start-icon__CA+zR__B7O0d\",\"no-start-icon\":\"style_no-start-icon__LnC1S__B7O0d\",\"has-children\":\"style_has-children__m9tce__B7O0d\",\"has-children-node\":\"style_has-children-node__2bhEB__B7O0d\",\"is-root\":\"style_is-root__4hhOc__B7O0d\",\"title\":\"style_title__+Hcar__B7O0d\",\"active\":\"style_active__WU49K__B7O0d\",\"no-collapse\":\"style_no-collapse__aIZBM__B7O0d\",\"title-content\":\"style_title-content__cQXpK__B7O0d\",\"loading\":\"style_loading__1pU4P__B7O0d\"};","import style from \"./style.module.scss\";\nimport classnames from \"classnames\";\nimport { Spin } from \"antd\";\nimport { useLocation, useNavigate } from \"react-router-dom\";\nimport Permissions from \"@components/Permissions\";\nimport useControlValue from \"@kne/use-control-value\";\nimport Icon from \"@components/Icon\";\nimport { useCallback, useEffect, useMemo } from \"react\";\nimport ensureSlash from \"@kne/ensure-slash\";\nimport { useFetch } from \"@kne/react-fetch\";\n\nconst treeEnhance = (items) => {\n const childrenKeys = {},\n nodeMapping = [];\n const traversal = (children, options) => {\n const { parentKey, depth } = Object.assign(\n {\n parentKey: \"root\",\n depth: 0,\n paths: [],\n },\n options\n );\n if (!(Array.isArray(children) && children.length > 0)) {\n return null;\n }\n return children.map((item, index) => {\n const currentKey = `${\n item.key ||\n `${parentKey !== \"root\" ? `${parentKey}-` : \"\"}node-${index}`\n }`;\n if (!childrenKeys[parentKey]) {\n childrenKeys[parentKey] = [];\n }\n childrenKeys[parentKey].push(currentKey);\n const children = traversal(item.children, {\n parentKey: currentKey,\n depth: depth + 1,\n });\n childrenKeys[currentKey] &&\n childrenKeys[parentKey].push(...childrenKeys[currentKey]);\n const targetItem = Object.assign({}, item, {\n key: currentKey,\n parentKey,\n depth,\n children: children,\n originItem: item,\n });\n nodeMapping[currentKey] = targetItem;\n return targetItem;\n });\n };\n\n return { items: traversal(items), childrenKeys, nodeMapping };\n};\n\nconst MenuItem = (props) => {\n const navigation = useNavigate();\n const {\n id,\n className,\n label,\n iconType,\n path,\n request,\n onClick,\n isOpen,\n isSelected,\n onOpenChange,\n children,\n fetchOptions,\n depth,\n onLoad,\n allowCollapsed,\n } = props;\n\n const hasChildren =\n (Array.isArray(children) && children.length > 0) || fetchOptions;\n const { refresh, isLoading } = useFetch(\n Object.assign({}, fetchOptions, {\n auto: !allowCollapsed && fetchOptions,\n onRequestSuccess: (data) => {\n onLoad(data);\n },\n })\n );\n\n const renderChildren = () => {\n if (!hasChildren) {\n return null;\n }\n if (!allowCollapsed || (isOpen && children)) {\n return <div className={style[\"children-list\"]}>{children}</div>;\n }\n\n if (!allowCollapsed || (isOpen && isLoading)) {\n return (\n <div className={style[\"children-list\"]}>\n <Spin className={style[\"loading\"]} size=\"small\" />\n </div>\n );\n }\n };\n return (\n <Permissions request={request}>\n <div className={classnames(className, style[\"menu-item\"])}>\n <div\n className={classnames(style[\"title\"], {\n [style[\"active\"]]: isSelected,\n [style[\"has-children\"]]: hasChildren,\n [style[\"no-collapse\"]]: hasChildren && !allowCollapsed,\n [style[\"no-start-icon\"]]: !iconType,\n [style[\"is-root\"]]: depth === 0,\n })}\n onClick={(e) => {\n e.stopPropagation();\n if (!hasChildren && path) {\n navigation(path);\n return;\n }\n if (!hasChildren && !fetchOptions) {\n onClick?.(id, props);\n return;\n }\n if (!allowCollapsed) {\n return;\n }\n fetchOptions && refresh({});\n onOpenChange(!isOpen);\n }}\n >\n {iconType && <Icon type={iconType} />}\n <span className={style[\"title-content\"]}>{label}</span>\n {hasChildren && allowCollapsed && (\n <Icon\n type={isOpen ? \"icon-arrow-bold-down\" : \"icon-arrow-bold-right\"}\n />\n )}\n </div>\n {renderChildren()}\n </div>\n </Permissions>\n );\n};\n\nconst Menu = ({ className, allowCollapsed, ...props }) => {\n const { pathname, search } = useLocation();\n const [selectedKey, setSelectKeyChange] = useControlValue(props, {\n value: \"currentKey\",\n defaultValue: \"defaultCurrentKey\",\n });\n\n const [items, setItems] = useControlValue(props, {\n defaultValue: \"defaultItems\",\n value: \"items\",\n onChange: \"onItemsChange\",\n });\n\n const {\n items: targetItems,\n defaultOpenKeys,\n links,\n childrenKeys,\n hasStartIcon,\n hasChildren,\n } = useMemo(() => {\n const {\n items: targetItems,\n childrenKeys,\n nodeMapping,\n } = treeEnhance(items);\n let hasStartIcon = false,\n hasChildren = false;\n const links = [],\n defaultOpenKeys = [];\n childrenKeys?.[\"root\"]?.forEach((key) => {\n const node = nodeMapping[key];\n if (node.iconType) {\n hasStartIcon = true;\n }\n node.path && links.push({ path: node.path, key });\n if (Array.isArray(node.children) && node.children.length > 0) {\n hasChildren = true;\n defaultOpenKeys.push(node.key);\n }\n });\n return {\n defaultOpenKeys,\n links,\n items: targetItems,\n childrenKeys,\n hasStartIcon,\n hasChildren,\n };\n }, [items]);\n useEffect(() => {\n const matchedPath = links.find(({ path }) => {\n return (\n ensureSlash(pathname.replace(/[#,?].*/, \"\")) === ensureSlash(path) ||\n ensureSlash(pathname + search) === ensureSlash(path)\n );\n });\n if (matchedPath) {\n setSelectKeyChange(matchedPath.key);\n }\n }, [links, pathname, search, setSelectKeyChange]);\n\n const [openKeys, setOpenKeys] = useControlValue(\n Object.assign({}, props, {\n defaultOpenKeys: props.defaultOpenKeys || defaultOpenKeys,\n }),\n {\n value: \"openKeys\",\n defaultValue: \"defaultOpenKeys\",\n onChange: \"onOpenChange\",\n }\n );\n\n const renderChildren = useCallback(\n (children, options) => {\n const { parentKey, depth, selectedKey, openKeys, paths } = Object.assign(\n {\n parentKey: null,\n depth: 0,\n paths: [],\n },\n options\n );\n if (Array.isArray(children) && children.length > 0) {\n return children.map(\n ({ children, key: currentKey, originItem, ...item }) => {\n return (\n <MenuItem\n {...Object.assign({}, item)}\n id={currentKey}\n parentId={parentKey}\n depth={depth}\n allowCollapsed={allowCollapsed}\n isSelected={\n currentKey === selectedKey ||\n (childrenKeys[currentKey] &&\n childrenKeys[currentKey].indexOf(selectedKey) > -1)\n }\n onClick={setSelectKeyChange}\n onLoad={(data) => {\n setItems((items) => {\n const core = (children) => {\n if (Array.isArray(children) && children.length > 0) {\n return children.map((item) => {\n return Object.assign({}, item, {\n children:\n originItem === item ? data : core(item.children),\n });\n });\n }\n return null;\n };\n\n return core(items);\n });\n }}\n isOpen={(openKeys || []).indexOf(currentKey) > -1}\n key={currentKey}\n onOpenChange={() => {\n setOpenKeys((openKeys) => {\n const newOpenKeys = openKeys.slice(0);\n if (openKeys.indexOf(currentKey) > -1) {\n newOpenKeys.splice(openKeys.indexOf(currentKey), 1);\n } else {\n newOpenKeys.push(currentKey);\n }\n return newOpenKeys;\n });\n }}\n >\n {renderChildren(children, {\n parentKey,\n depth: depth + 1,\n selectedKey,\n openKeys,\n paths: [...paths, currentKey],\n })}\n </MenuItem>\n );\n }\n );\n }\n return null;\n },\n [setItems, setOpenKeys, setSelectKeyChange, childrenKeys, allowCollapsed]\n );\n\n return (\n <div\n className={classnames(className, style[\"menu\"], {\n [style[\"all-no-start-icon\"]]: !hasStartIcon,\n [style[\"has-children-node\"]]: hasChildren,\n })}\n >\n {renderChildren(targetItems, { selectedKey, openKeys })}\n </div>\n );\n};\n\nMenu.defaultProps = {\n defaultItems: [],\n allowCollapsed: true,\n};\n\nexport default Menu;\n","var _path, _path2, _path3, _path4, _path5, _path6, _path7;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgFavicon(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n t: 1679367216639,\n className: \"icon\",\n viewBox: \"0 0 1030 1024\",\n xmlns: \"http://www.w3.org/2000/svg\",\n \"p-id\": 1696,\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n width: 201.171875,\n height: 200,\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M252.479711 385.587015v293.958522l258.791705 146.528403 258.791704-146.528403V385.587015l-251.127142-145.62669L252.479711 385.587015z\",\n fill: \"#FFFFFF\",\n opacity: 0.1,\n \"p-id\": 1697\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M778.629396 405.875564A20.739405 20.739405 0 0 1 766.456267 405.875564l-39.675383-21.641119a22.091975 22.091975 0 0 1 21.190261-39.224526l39.675383 21.190261a22.542831 22.542831 0 0 1-10.820559 42.380523z m-518.485122-6.76285a22.542831 22.542831 0 0 1-19.837691-12.173129 22.091975 22.091975 0 0 1 9.918845-30.207394l40.12624-20.739405a22.993688 22.993688 0 0 1 30.207394 9.918846 22.542831 22.542831 0 0 1-9.918846 30.207394L270.513977 396.858431a20.739405 20.739405 0 0 1-10.369703 2.254283z m399.909829-57.258792a22.542831 22.542831 0 0 1-10.820559-2.705139l-39.675383-21.190262a22.993688 22.993688 0 0 1-9.017133-30.65825 22.091975 22.091975 0 0 1 30.207394-9.017133l39.675383 21.190261a22.542831 22.542831 0 0 1-10.369702 42.380523z m-279.531109-4.057709a22.542831 22.542831 0 0 1-9.918846-45.085663l40.12624-20.288548a22.542831 22.542831 0 0 1 30.207394 9.467989 22.993688 22.993688 0 0 1-9.918846 33.814247l-40.12624 20.288548a20.739405 20.739405 0 0 1-10.369702 1.803427zM541.027953 277.381425a19.386835 19.386835 0 0 1-10.820559-2.70514L519.837692 270.618575l-8.566276 4.508567a22.542831 22.542831 0 0 1-20.288549-40.577097l18.935979-9.017132a23.895401 23.895401 0 0 1 20.739405 0l21.190261 11.722272a22.091975 22.091975 0 0 1 9.017133 30.207394 22.091975 22.091975 0 0 1-19.837692 9.918846z\",\n fill: \"#FFFFFF\",\n \"p-id\": 1698\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1002.70514 289.554554a24.346258 24.346258 0 0 1-9.918846 0L513.074842 47.895401 33.814247 287.300271a22.542831 22.542831 0 0 1-30.207394-10.369703 22.993688 22.993688 0 0 1 9.918846-30.207394L503.155996 2.358882a22.993688 22.993688 0 0 1 20.288549 0l489.179441 244.364292a22.542831 22.542831 0 0 1-9.918846 45.085663z\",\n fill: \"#FFFFFF\",\n \"p-id\": 1699\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.085663 762.052299a22.542831 22.542831 0 0 1-9.918846-40.577096l81.154193-39.675383A22.542831 22.542831 0 0 1 135.256988 721.475203l-81.154193 39.675383a24.346258 24.346258 0 0 1-9.017132 0.901713z m889.540126-14.427412a24.346258 24.346258 0 0 1-9.918846 0l-80.703336-40.577096a22.542831 22.542831 0 0 1-10.369703-30.207394 22.091975 22.091975 0 0 1 30.207394-9.918846l80.703337 40.12624a22.542831 22.542831 0 0 1-9.918846 42.831379zM206.943192 683.15239a23.444545 23.444545 0 0 1-20.288548-12.623986 22.993688 22.993688 0 0 1 10.369702-30.207394l81.154193-39.675383a22.993688 22.993688 0 0 1 30.207394 10.369702 22.542831 22.542831 0 0 1-10.369702 30.207394l-81.154193 39.675383a24.346258 24.346258 0 0 1-9.918846 2.254284z m566.275924-16.230839a26.600541 26.600541 0 0 1-9.918845 0l-80.703337-40.577097a22.091975 22.091975 0 0 1-9.918846-30.207394 22.542831 22.542831 0 0 1 30.207394-9.918845l80.703337 40.126239a22.993688 22.993688 0 0 1 9.918846 30.207395 22.542831 22.542831 0 0 1-20.288549 10.369702z m-405.770965-62.669071a22.091975 22.091975 0 0 1-20.288548-12.623986 22.542831 22.542831 0 0 1 13.525699-30.207394l81.154193-39.224527a22.542831 22.542831 0 0 1 30.207394 10.369703 22.091975 22.091975 0 0 1-10.369702 29.756537l-81.154193 39.675384a26.600541 26.600541 0 0 1-11.271416 2.254283z m242.560866-18.034265a19.837692 19.837692 0 0 1-9.918846-2.254284l-80.703336-40.577096a22.091975 22.091975 0 0 1-9.918846-30.207394 22.542831 22.542831 0 0 1 30.207394-9.918846l80.703337 40.12624a23.444545 23.444545 0 0 1 9.918845 30.658251 22.542831 22.542831 0 0 1-18.485121 12.173129z\",\n fill: \"#FFFFFF\",\n \"p-id\": 1700\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M512.173129 1024a24.346258 24.346258 0 0 1-9.918846-2.254283L12.623986 783.242561a22.993688 22.993688 0 0 1-12.623986-20.288548V273.774572a23.444545 23.444545 0 0 1 10.820559-19.386835 21.641118 21.641118 0 0 1 21.641118 0l479.711452 238.954012L991.884581 253.486023a21.641118 21.641118 0 0 1 21.641118 0 23.444545 23.444545 0 0 1 10.820559 19.386835v490.081155a22.993688 22.993688 0 0 1-12.623986 20.288548l-490.081154 238.503156a22.542831 22.542831 0 0 1-9.467989 2.254283zM45.085663 748.526601l467.087466 225.428313 467.087466-225.428313V310.293959l-454.914337 225.428313a22.542831 22.542831 0 0 1-22.091975 0L45.085663 310.293959z\",\n fill: \"#FFFFFF\",\n \"p-id\": 1701\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M511.722272 1020.393147a22.542831 22.542831 0 0 1-22.542831-22.542831V526.254283a22.542831 22.542831 0 0 1 45.085663 0v471.596033a22.542831 22.542831 0 0 1-22.542832 22.542831z\",\n fill: \"#FFFFFF\",\n \"p-id\": 1702\n })), _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M512.623986 841.853922a18.935978 18.935978 0 0 1-9.918846-2.254283l-266.005411-128.043282a22.091975 22.091975 0 0 1-11.271415-20.288548V383.783589a22.542831 22.542831 0 0 1 22.542831-22.542832 22.542831 22.542831 0 0 1 22.542832 22.542832V676.38954l243.913435 117.222723 243.462579-117.222723V383.783589a22.542831 22.542831 0 0 1 22.542831-22.542832 22.542831 22.542831 0 0 1 22.542832 22.542832v307.48422a22.542831 22.542831 0 0 1-12.623986 20.288548l-266.00541 128.043282a19.837692 19.837692 0 0 1-11.722272 2.254283z\",\n fill: \"#FFFFFF\",\n \"p-id\": 1703\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgFavicon);\nexport default __webpack_public_path__ + \"static/media/favicon.477a5bb996fd5b367fe0dddc29f67824.svg\";\nexport { ForwardRef as ReactComponent };","const importMessages = (locale) => {\n return ({\n 'en-US': () => import('./en-US'), 'zh-CN': () => import('./zh-CN')\n })[locale]();\n};\n\nexport default importMessages;","// extracted by mini-css-extract-plugin\nexport default {\"navigation-wrap\":\"style_navigation-wrap__VF8x2__B7O0d\",\"navigation\":\"style_navigation__60RrS__B7O0d\",\"is-fixed\":\"style_is-fixed__kHFWj__B7O0d\",\"navigation-logo\":\"style_navigation-logo__q9qHu__B7O0d\",\"logo\":\"style_logo__lB9RC__B7O0d\",\"navigation-list\":\"style_navigation-list__EYtkg__B7O0d\",\"navigation-options\":\"style_navigation-options__0BdJU__B7O0d\",\"menu-overlay\":\"style_menu-overlay__zU-vZ__B7O0d\",\"more-icon\":\"style_more-icon__gNMnt__B7O0d\"};","import { Col, Layout, Menu, Row, Space } from \"antd\";\nimport { useLocation, useNavigate } from \"react-router-dom\";\nimport get from \"lodash/get\";\nimport { useEffect, useMemo, useRef, useState } from \"react\";\nimport classnames from \"classnames\";\nimport logo from \"./favicon.svg\";\nimport Image from \"@components/Image\";\nimport importMessages from \"./locale\";\nimport { FormattedMessage, IntlProvider } from \"@components/Intl\";\nimport Icon from \"@components/Icon\";\nimport style from \"./style.module.scss\";\n\nconst { Header } = Layout;\n\nexport const navigationHeight = 48;\n\nconst SetTitle = ({ name, mapping, defaultTitle }) => {\n const propsRef = useRef({\n mapping,\n defaultTitle,\n });\n useEffect(() => {\n const title = get(propsRef.current.mapping.get(name), \"title\");\n document.title = (title ? title + \"-\" : \"\") + propsRef.current.defaultTitle;\n }, [name]);\n return null;\n};\n\nconst Navigation = ({\n permissions,\n list,\n headerLogo,\n rightOptions,\n isFixed,\n showIndex,\n indexLabel,\n defaultTitle,\n overflowedIndicator,\n base,\n onChange,\n className,\n}) => {\n const mapping = useMemo(() => {\n return new Map(list.map(({ key, ...others }) => [key, others]));\n }, [list]);\n const navigate = useNavigate();\n const location = useLocation();\n const navigationRef = useRef();\n const resizeObserverRef = useRef(null);\n const [nameLabel, setNameLabel] = useState(\"更多\");\n const pathModuleName = location.pathname\n .replace(new RegExp(`^${base}`), \"\")\n .split(\"/\")[1];\n const name = pathModuleName\n ? get(\n Array.from(mapping.entries()).find(([name, { path, permission }]) => {\n const _path =\n typeof path === \"function\" ? path(permission, permissions) : path;\n return _path.indexOf(\"/\" + pathModuleName) !== -1;\n }),\n \"[0]\"\n )\n : \"home\";\n useEffect(() => {\n const callback = () => {\n if (navigationRef.current) {\n const menuDom =\n navigationRef.current.querySelectorAll(`li[data-menu-id]`);\n let exist = false;\n for (let i = 0; i < menuDom.length; i++) {\n const dom = menuDom[i];\n const menuId = dom.getAttribute(\"data-menu-id\");\n if (menuId.indexOf(name) !== -1) {\n exist = true;\n break;\n }\n }\n let _nameLabel =\n mapping.get(name) && !exist ? get(mapping.get(name), \"title\") : \"\";\n setNameLabel(_nameLabel);\n }\n };\n const mutationObserverInitConfig = {\n attributes: true,\n childList: true,\n subtree: true,\n };\n if (navigationRef && navigationRef.current) {\n callback();\n if (resizeObserverRef.current) {\n resizeObserverRef.current.disconnect();\n }\n resizeObserverRef.current = new MutationObserver(callback);\n resizeObserverRef.current.observe(\n navigationRef.current,\n mutationObserverInitConfig\n );\n }\n\n return () => {\n resizeObserverRef.current && resizeObserverRef.current.disconnect();\n };\n }, [name, mapping]);\n const indexNav = showIndex\n ? {\n label: indexLabel || (\n <FormattedMessage id=\"indexLabel\" moduleName=\"Navigation\" />\n ),\n key: \"home\",\n onClick: () => {\n onChange && onChange(\"/\");\n setTimeout(() => {\n navigate(\"/\");\n }, 0);\n },\n }\n : false;\n return (\n <IntlProvider importMessages={importMessages} moduleName=\"Navigation\">\n <FormattedMessage id=\"defaultTitle\" moduleName=\"Navigation\">\n {(text) => (\n <SetTitle\n defaultTitle={defaultTitle || text}\n mapping={mapping}\n name={name}\n />\n )}\n </FormattedMessage>\n <div className={classnames(style[\"navigation-wrap\"], className)}>\n <Header\n className={classnames(\"navigation\", style[\"navigation\"], {\n [style[\"is-fixed\"]]: isFixed,\n })}\n >\n <Row justify=\"space-around\" wrap={false}>\n <Col\n className={classnames(\n \"navigation-logo\",\n style[\"navigation-logo\"]\n )}\n >\n <Image\n className={classnames(style[\"logo\"])}\n src={logo}\n alt=\"logo\"\n {...headerLogo}\n />\n </Col>\n <Col\n ref={navigationRef}\n flex={1}\n className={classnames(\n \"navigation-list\",\n style[\"navigation-list\"]\n )}\n >\n <Menu\n selectedKeys={[name]}\n mode=\"horizontal\"\n overflowedIndicator={\n overflowedIndicator || (\n <Space size={4}>\n <span>\n {nameLabel || (\n <FormattedMessage\n id=\"overflowedIndicator\"\n moduleName=\"Navigation\"\n />\n )}\n </span>\n <span className={style[\"more-icon\"]}>\n <Icon type=\"icon-arrow-thin-down\" />\n </span>\n </Space>\n )\n }\n items={[\n indexNav,\n ...Array.from(mapping.entries())\n .filter(([name, { permission }]) => {\n if (typeof permission === \"string\") {\n return permissions.indexOf(permission) > -1;\n }\n if (typeof permission === \"function\") {\n return permission(permissions);\n }\n if (Array.isArray(permission)) {\n for (let item of permission) {\n if (permissions.indexOf(item) > -1) {\n return true;\n }\n }\n return false;\n }\n return true;\n })\n .map(([name, { title, path, permission }]) => {\n const _path =\n typeof path === \"function\"\n ? path(permission, permissions)\n : path;\n return {\n label: title,\n key: name,\n onClick: () => {\n onChange && onChange(_path);\n setTimeout(() => {\n navigate(_path);\n }, 0);\n },\n };\n }),\n ]}\n />\n </Col>\n <Col className={style[\"navigation-options\"]}>{rightOptions}</Col>\n </Row>\n </Header>\n </div>\n </IntlProvider>\n );\n};\n\nNavigation.defaultProps = {\n isFixed: true,\n permissions: [],\n list: [],\n showIndex: true,\n base: \"\",\n};\n\nexport default Navigation;\n","// extracted by mini-css-extract-plugin\nexport default {\"outer\":\"style_outer__vbHB9__B7O0d\"};","import { createElement } from \"react\";\nimport { Result, Tooltip } from \"antd\";\nimport get from \"lodash/get\";\nimport classnames from \"classnames\";\nimport style from \"./style.module.scss\";\nimport { useGlobalContext as useContext } from \"@kne/global-context\";\n\nexport const computedIsPass = ({ permissions, request }) => {\n return Array.isArray(request) && request.length > 0\n ? request.some((currentKey) => (permissions || []).indexOf(currentKey) > -1)\n : true;\n};\n\nexport const usePermissions = () => {\n const preset = useContext();\n return {\n permissions: get(preset, \"global.accountInfo.permissions\", []),\n };\n};\n\nexport const usePermissionsPass = ({ request }) => {\n const { permissions } = usePermissions();\n return computedIsPass({ permissions, request });\n};\n\nconst Permissions = ({\n type,\n className,\n tagName,\n message,\n request,\n children,\n ...props\n}) => {\n const isPass = usePermissionsPass({ request });\n if (typeof children === \"function\") {\n return children({ isPass, type, request });\n }\n\n if (isPass === true) {\n return children;\n }\n\n if (type === \"error\") {\n return <Result status=\"403\" subTitle={message} />;\n }\n\n if (type === \"tooltip\") {\n return (\n <Tooltip title={message}>\n {createElement(\n tagName,\n { ...props, className: classnames(style[\"outer\"], className) },\n children\n )}\n </Tooltip>\n );\n }\n\n return null;\n};\n\nPermissions.defaultProps = {\n type: \"hidden\",\n tagName: \"span\",\n message: \"您暂无权限,请联系管理员\",\n};\n\nexport default Permissions;\n","// extracted by mini-css-extract-plugin\nexport default {\"state-bar\":\"style_state-bar__3jfis__B7O0d\",\"has-children\":\"style_has-children__oQDqU__B7O0d\",\"tab-tab-control\":\"style_tab-tab-control__SopeO__B7O0d\",\"tab-radio-control\":\"style_tab-radio-control__R8X6-__B7O0d\",\"tab-step-control\":\"style_tab-step-control__EQaCl__B7O0d\",\"inner-state-bar\":\"style_inner-state-bar__lWmOz__B7O0d\"};","import { Tabs } from \"antd\";\nimport classnames from \"classnames\";\nimport style from \"./style.module.scss\";\n\n/**\n *\n * @param className\n * @param type 'tab' | 'radio' | 'step'\n * @param stateOption\n * @param isInner\n * @param props\n * @returns {JSX.Element}\n * @constructor\n */\nconst StateBar = ({\n className,\n type = \"tab\",\n stateOption = [],\n isInner,\n ...props\n}) => {\n return (\n <Tabs\n {...props}\n data-testid={\"components-core-state-bar\"}\n className={classnames(\n style[\"state-bar\"],\n style[`tab-${type}-control`],\n className,\n {\n [style[\"inner-state-bar\"]]: isInner,\n [style[\"has-children\"]]: stateOption.some((item) => !!item.children),\n }\n )}\n style={{ \"--total-count\": stateOption.length }}\n animated={false}\n items={stateOption.map(({ tab, label, key, ...props }) => {\n return { label: tab || label, key, ...props };\n })}\n />\n );\n};\n\nexport default StateBar;\n","// extracted by mini-css-extract-plugin\nexport default {\"state-tag\":\"style_state-tag__Kx27z__B7O0d\",\"state-result-tag\":\"style_state-result-tag__CssDz__B7O0d\",\"state-skill-tag\":\"style_state-skill-tag__k0bQE__B7O0d\",\"state-tag-filter-result-wrapper\":\"style_state-tag-filter-result-wrapper__QYS5z__B7O0d\",\"state-tag-filter-name\":\"style_state-tag-filter-name__iJaJd__B7O0d\",\"state-tag-filterResult\":\"style_state-tag-filterResult__KTkot__B7O0d\",\"show-bg\":\"style_show-bg__OcL+R__B7O0d\",\"tag-text\":\"style_tag-text__JHCt+__B7O0d\",\"state-tag-wrapper\":\"style_state-tag-wrapper__A-gTE__B7O0d\"};","import React, { useMemo } from \"react\";\nimport classnames from \"classnames\";\n\nimport style from \"./style.module.scss\";\nimport { Space, Tag } from \"antd\";\n\nconst tagTypeEnum = {\n default: \"#666666\",\n skill: {\n color: \"#666666\",\n borderColor: \"#EEEEEE\",\n },\n result: \"#666666\",\n filterResult: \"#5CB8B2\",\n success: \"#027A48\",\n progress: \"#F09700\",\n danger: \"#D14343\",\n info: \"#155ACF\",\n other: \"#6740C3\",\n};\n\nconst StateTag = ({\n showBorder,\n text,\n type,\n showBackground,\n className,\n filterName,\n ...props\n}) => {\n const tagColor = useMemo(\n () => ({\n color: tagTypeEnum?.[type]?.color || tagTypeEnum[type],\n borderColor: tagTypeEnum?.[type]?.borderColor || tagTypeEnum[type],\n }),\n [type]\n );\n\n return (\n <Space\n data-testid={\"components-core-state-tag\"}\n className={classnames(\n style[\"state-tag-wrapper\"],\n type === \"filterResult\" ? style[\"state-tag-filter-result-wrapper\"] : \"\"\n )}\n align=\"center\"\n size={4}\n >\n {filterName ? (\n <span className={style[\"state-tag-filter-name\"]}>{filterName}:</span>\n ) : null}\n <Tag\n color={tagColor.color}\n {...props}\n style={{\n background: showBackground ? tagColor.color + \"0F\" : \"none\",\n color: tagColor.color,\n border: showBorder ? `1px solid ${tagColor.borderColor}` : \"none\",\n }}\n className={classnames(\n style[\"state-tag\"],\n className,\n type === \"result\" ? style[\"state-result-tag\"] : \"\",\n type === \"skill\" ? style[\"state-skill-tag\"] : \"\",\n style[`state-tag-${type}`],\n showBackground ? style[\"show-bg\"] : \"\",\n showBorder ? style[\"show-border\"] : \"\"\n )}\n >\n <span className={style[\"tag-text\"]}>{text}</span>\n </Tag>\n </Space>\n );\n};\n\nStateTag.defaultProps = {\n color: \"#666666\",\n type: \"default\",\n showBorder: false,\n showBackground: true,\n text: \"\",\n className: \"\",\n};\n\nexport default StateTag;\n","// extracted by mini-css-extract-plugin\nexport default {\"table\":\"style_table__z7kfz__B7O0d\",\"is-resize\":\"style_is-resize__ut6RW__B7O0d\",\"is-moving\":\"style_is-moving__BJ9wR__B7O0d\",\"cell-resize-bar\":\"style_cell-resize-bar__-mlUF__B7O0d\",\"is-computed\":\"style_is-computed__B9rIF__B7O0d\",\"options-column\":\"style_options-column__vsPTr__B7O0d\",\"options-btn\":\"style_options-btn__U3uoy__B7O0d\",\"tooltip\":\"style_tooltip__vJlkv__B7O0d\",\"table-changer-setting\":\"style_table-changer-setting__HcrwR__B7O0d\",\"width-changer-sign\":\"style_width-changer-sign__Aflyl__B7O0d\",\"columns-control\":\"style_columns-control__5-5ZF__B7O0d\",\"columns-control-content\":\"style_columns-control-content__MoeUI__B7O0d\",\"columns-control-content-title\":\"style_columns-control-content-title__P5sXV__B7O0d\",\"columns-control-content-scroller\":\"style_columns-control-content-scroller__CeYRV__B7O0d\",\"columns-control-content-footer\":\"style_columns-control-content-footer__0bQWm__B7O0d\",\"columns-control-content-input\":\"style_columns-control-content-input__G6yKq__B7O0d\",\"columns-control-content-list\":\"style_columns-control-content-list__aXvTs__B7O0d\",\"columns-control-content-item\":\"style_columns-control-content-item__jbyyE__B7O0d\",\"is-drag\":\"style_is-drag__U68aw__B7O0d\",\"columns-control-content-item-icon\":\"style_columns-control-content-item-icon__yJqZf__B7O0d\",\"sortable-drag\":\"style_sortable-drag__K5hWd__B7O0d\",\"sortable-ghost\":\"style_sortable-ghost__lKTd2__B7O0d\",\"columns-control-overlay\":\"style_columns-control-overlay__OxCIz__B7O0d\",\"sort-btn\":\"style_sort-btn__KvNLr__B7O0d\",\"sort-active-desc\":\"style_sort-active-desc__TIhMC__B7O0d\",\"sort-icon\":\"style_sort-icon__dB85I__B7O0d\",\"sort-active-asc\":\"style_sort-active-asc__RUBup__B7O0d\"};","// extracted by mini-css-extract-plugin\nexport default {\"col-item\":\"columns_col-item__Ym1Ec__B7O0d\",\"tag\":\"columns_tag__bQZLG__B7O0d\",\"avatar\":\"columns_avatar__SLPI+__B7O0d\",\"hover\":\"columns_hover__oAwHg__B7O0d\",\"primary\":\"columns_primary__6KtaA__B7O0d\",\"loading\":\"columns_loading__gtBay__B7O0d\",\"options\":\"columns_options__WvDZD__B7O0d\"};","import { Button } from \"antd\";\nimport classnames from \"classnames\";\nimport Icon from \"@components/Icon\";\nimport ButtonGroup from \"@components/ButtonGroup\";\nimport style from \"./style.module.scss\";\n\nconst OptionsList = ({ className, list, width }) => {\n return (\n <div\n className={classnames(className, style[\"options-column\"])}\n style={{\n \"--max-width\": width + \"px\",\n }}\n >\n <ButtonGroup\n list={list.map(({ className, ...props }) =>\n Object.assign({}, props, {\n className: classnames(\n className,\n \"btn-no-padding\",\n style[\"options-btn\"]\n ),\n type: \"link\",\n })\n )}\n more={\n <Button\n icon={<Icon type=\"icon-gengduo2\" />}\n className=\"btn-no-padding\"\n type=\"link\"\n />\n }\n />\n </div>\n );\n};\n\nexport default OptionsList;\n","import { Typography } from \"antd\";\nimport style from \"./style.module.scss\";\n\nconst Ellipsis = ({ children, ellipsis }) => {\n return (\n <Typography.Text\n ellipsis={\n ellipsis &&\n Object.assign(\n {},\n {\n tooltip: {\n overlayClassName: style[\"tooltip\"],\n children: children,\n },\n }\n )\n }\n >\n {children}\n </Typography.Text>\n );\n};\n\nexport default Ellipsis;\n","import { useState } from \"react\";\nimport classnames from \"classnames\";\nimport columnsStyle from \"./columns.module.scss\";\n\nconst ColItem = ({\n type,\n item,\n isEmpty,\n emptyRender,\n hover,\n primary,\n children,\n width,\n style,\n onClick,\n colValue,\n}) => {\n const [loading, setLoading] = useState(false);\n return (\n <div\n style={Object.assign({}, style, { \"--max-width\": width + \"px\" })}\n className={classnames(\n columnsStyle[\"col-item\"],\n columnsStyle[type],\n isEmpty\n ? null\n : {\n [columnsStyle[\"hover\"]]: hover,\n [columnsStyle[\"primary\"]]: primary,\n [columnsStyle[\"loading\"]]: loading,\n }\n )}\n onClick={(e) => {\n if (typeof onClick === \"function\" && !isEmpty && !loading) {\n setLoading(true);\n Promise.resolve(\n onClick({ item, colItem: colValue, event: e })\n ).finally(() => {\n setLoading(false);\n });\n }\n }}\n >\n {isEmpty\n ? emptyRender({ type, item, hover, primary, children })\n : children}\n </div>\n );\n};\n\nColItem.defaultProps = {\n emptyRender: () => \"-\",\n};\n\nexport default ColItem;\n","import { createWithFetch } from \"@kne/react-fetch\";\nimport Ellipsis from \"./Ellipsis\";\nimport { Button } from \"antd\";\nimport ColItem from \"./ColItem\";\n\nconst DisplayInfo = createWithFetch({\n loading: null,\n})(({ data, children }) => {\n return children(data);\n});\n\nconst HideInfoComponent = ({\n api,\n expand,\n onExpand,\n ellipsis,\n hover,\n primary,\n emptyRender,\n isEmpty,\n}) => {\n if (expand) {\n return (\n <DisplayInfo {...api}>\n {(data) => {\n return (\n <ColItem\n type=\"hide-info-expand\"\n item={data}\n hover={hover}\n primary={primary}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n <Ellipsis ellipsis={ellipsis}>\n {typeof api.children === \"function\" ? api.children(data) : data}\n </Ellipsis>\n </ColItem>\n );\n }}\n </DisplayInfo>\n );\n }\n return (\n <ColItem\n type=\"hide-info\"\n primary\n isEmpty={isEmpty}\n emptyRender={emptyRender}\n >\n <Button className=\"btn-no-padding\" type=\"link\" onClick={onExpand}>\n 查看\n </Button>\n </ColItem>\n );\n};\n\nexport default HideInfoComponent;\n","import columnsStyle from \"./columns.module.scss\";\nimport dayjs from \"dayjs\";\nimport OptionsList from \"./OptionsList\";\nimport classnames from \"classnames\";\nimport StateTag from \"@components/StateTag\";\nimport Image from \"@components/Image\";\nimport Enum from \"@components/Enum\";\nimport HideInfoComponent from \"./HideInfoComponent\";\nimport Ellipsis from \"./Ellipsis\";\nimport ColItem from \"./ColItem\";\nimport omit from \"lodash/omit\";\n\n// init:160px min:120px max:400px\nconst date = (item, { hover, primary, isEmpty, emptyRender, ...props }) => {\n return (\n <ColItem\n {...props}\n type=\"date\"\n item={item}\n primary={primary}\n hover={hover}\n emptyRender={emptyRender}\n isEmpty={isEmpty || !dayjs(item).isValid()}\n >\n {dayjs(item).format(\"YYYY-MM-DD\")}\n </ColItem>\n );\n};\n\nconst dateShort = (\n item,\n { hover, primary, isEmpty, emptyRender, ...props }\n) => {\n return (\n <ColItem\n {...props}\n type=\"date-short\"\n item={item}\n primary={primary}\n hover={hover}\n emptyRender={emptyRender}\n isEmpty={isEmpty || !dayjs(item).isValid()}\n >\n {dayjs(item).format(\"YYYY-MM\")}\n </ColItem>\n );\n};\n\n// init:240px min:120px max:400px\nconst dateRange = (\n item,\n { hover, primary, isEmpty, emptyRender, ...props }\n) => {\n return (\n <ColItem\n {...props}\n type=\"date-range\"\n item={item}\n primary={primary}\n hover={hover}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n {dayjs(item?.[0]).format(\"YYYY-MM-DD HH:mm\") +\n \"-\" +\n dayjs(item?.[1]).format(\"HH:mm\")}\n </ColItem>\n );\n};\n// init:190px min:190px max:400px\nconst datetime = (\n item,\n { hover, primary, emptyRender, isEmpty, hideSecond, ...props }\n) => {\n return (\n <ColItem\n {...props}\n item={item}\n primary={primary}\n hover={hover}\n emptyRender={emptyRender}\n isEmpty={isEmpty || !dayjs(item).isValid()}\n >\n {dayjs(item).format(\n hideSecond ? \"YYYY-MM-DD HH:mm\" : \"YYYY-MM-DD HH:mm:ss\"\n )}\n </ColItem>\n );\n};\n// init:190px min:100px max:400px\nconst serialNumber = (\n item,\n { hover, primary, emptyRender, isEmpty, ...props }\n) => {\n return (\n <ColItem\n {...props}\n type=\"serial-number\"\n item={item}\n primary={primary}\n hover={hover}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n {item}\n </ColItem>\n );\n};\n// init:120px min:100px max:400px\nconst serialNumberShort = (\n item,\n { hover, primary, emptyRender, isEmpty, ...props }\n) => {\n return (\n <ColItem\n {...props}\n type=\"serial-number-short\"\n item={item}\n primary={primary}\n hover={hover}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n {item}\n </ColItem>\n );\n};\n// init:200px min:120px max:400px\nconst user = (\n item,\n { hover, primary, ellipsis, emptyRender, isEmpty, ...props }\n) => {\n return (\n <ColItem\n {...props}\n type=\"user\"\n item={item}\n primary={primary}\n hover={hover}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n <Ellipsis ellipsis={ellipsis}>{item}</Ellipsis>\n </ColItem>\n );\n};\n// init:100px 100px 400px\nconst userName = (\n item,\n { hover, primary, ellipsis, emptyRender, isEmpty, ...props }\n) => {\n return (\n <ColItem\n {...props}\n type=\"user-name\"\n item={item}\n primary={primary}\n hover={hover}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n <Ellipsis ellipsis={ellipsis}>{item}</Ellipsis>\n </ColItem>\n );\n};\n// init:240px 160px 400px\nconst contacts = (\n item,\n { hover, primary, ellipsis, emptyRender, isEmpty, ...props }\n) => {\n return (\n <ColItem\n {...props}\n type=\"contacts\"\n item={item}\n primary={primary}\n hover={hover}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n <Ellipsis ellipsis={ellipsis}>{item}</Ellipsis>\n </ColItem>\n );\n};\n// init:140px min:100px max:400px\nconst tag = (item, { emptyRender, isEmpty, ...props }) => {\n return (\n <ColItem\n {...props}\n type=\"tag\"\n item={item}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n {item &&\n (item.isEnum ? (\n <Enum\n name={item.name}\n moduleName={item.moduleName}\n force={item.force}\n >\n {({ type, description }) => (\n <StateTag\n type={type}\n {...Object.assign(\n {},\n omit(item, [\"name\", \"isEnum\", \"moduleName\", \"force\"])\n )}\n text={description}\n />\n )}\n </Enum>\n ) : (\n <StateTag {...Object.assign({}, item)} />\n ))}\n </ColItem>\n );\n};\n// init:80px min:64px max:200px\nconst avatar = (item, { emptyRender, isEmpty, ...props }) => {\n return (\n <ColItem\n {...props}\n type=\"avatar\"\n item={item}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n <Image.Avatar {...Object.assign({}, item)} size={32} />\n </ColItem>\n );\n};\n// init:70px min:70px max:400px\nconst singleRow = (\n item,\n { hover, primary, ellipsis, emptyRender, isEmpty, ...props }\n) => {\n return (\n <ColItem\n {...props}\n type=\"single-row\"\n item={item}\n hover={hover}\n primary={primary}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n <Ellipsis ellipsis={ellipsis}>{item}</Ellipsis>\n </ColItem>\n );\n};\n// init:80px min:80px max:400px\nconst hideInfo = (item, props) => {\n return <HideInfoComponent api={item} {...props} />;\n};\n// init:300px min:160px max:500px\nconst mainInfo = (\n item,\n { ellipsis, hover = true, primary = true, emptyRender, isEmpty, ...props }\n) => {\n return (\n <ColItem\n {...props}\n type=\"main-info\"\n item={item}\n hover={hover}\n primary={primary}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n <Ellipsis ellipsis={ellipsis}>{item}</Ellipsis>\n </ColItem>\n );\n};\n// init:400px 160px 600px\nconst description = (\n item,\n { hover, primary, ellipsis, emptyRender, isEmpty, ...props }\n) => {\n return (\n <ColItem\n {...props}\n type=\"description\"\n item={item}\n hover={hover}\n primary={primary}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n <Ellipsis ellipsis={ellipsis}>{item}</Ellipsis>\n </ColItem>\n );\n};\n\n// init:180px min:120px max:400px\nconst options = (item, { width }) => {\n return (\n <OptionsList\n className={classnames(columnsStyle[\"col-item\"], columnsStyle[\"options\"])}\n list={item}\n width={width}\n />\n );\n};\n\nconst other = (\n item,\n { hover, primary, ellipsis, emptyRender, isEmpty, ...props }\n) => {\n return (\n <ColItem\n {...props}\n type=\"other\"\n item={item}\n hover={hover}\n primary={primary}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n <Ellipsis ellipsis={ellipsis}>{item}</Ellipsis>\n </ColItem>\n );\n};\n\nconst sensitiveInfo = (\n item,\n { hover, primary, ellipsis, emptyRender, isEmpty, ...props }\n) => {\n return (\n <ColItem\n {...props}\n type=\"sensitiveInfo\"\n item={item}\n hover={hover}\n primary={primary}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n <Ellipsis ellipsis={ellipsis}>{item}</Ellipsis>\n </ColItem>\n );\n};\n\nconst columnTypes = {\n date: {\n render: date,\n width: 160,\n min: 120,\n max: 400,\n },\n dateShort: {\n render: dateShort,\n width: 120,\n min: 100,\n max: 400,\n },\n dateRange: {\n render: dateRange,\n width: 240,\n min: 120,\n max: 400,\n },\n datetime: {\n render: datetime,\n width: 190,\n min: 190,\n max: 400,\n },\n serialNumber: {\n render: serialNumber,\n width: 190,\n min: 100,\n max: 400,\n },\n serialNumberShort: {\n render: serialNumberShort,\n width: 120,\n min: 100,\n max: 400,\n },\n user: {\n render: user,\n width: 200,\n min: 120,\n max: 400,\n },\n userName: {\n render: userName,\n width: 100,\n min: 100,\n max: 400,\n },\n contacts: {\n render: contacts,\n width: 240,\n min: 160,\n max: 400,\n },\n tag: {\n render: tag,\n width: 140,\n min: 100,\n max: 400,\n },\n avatar: {\n render: avatar,\n width: 80,\n min: 64,\n max: 200,\n },\n singleRow: {\n render: singleRow,\n width: 70,\n min: 70,\n max: 400,\n },\n hideInfo: {\n render: hideInfo,\n width: 120,\n min: 80,\n max: 400,\n },\n mainInfo: {\n render: mainInfo,\n width: 300,\n min: 160,\n max: 500,\n },\n description: {\n render: description,\n width: 400,\n min: 160,\n max: 600,\n },\n options: {\n render: options,\n width: 180,\n min: 120,\n max: 400,\n },\n sensitiveInfo: {\n render: sensitiveInfo,\n width: 200,\n min: 100,\n max: 400,\n },\n other: {\n render: other,\n width: 200,\n min: 120,\n max: 400,\n },\n otherSmall: {\n render: other,\n width: 100,\n min: 70,\n max: 400,\n },\n otherLarge: {\n render: other,\n width: 300,\n min: 120,\n max: 500,\n },\n};\n\nexport default columnTypes;\n","import { useMemo, useState } from \"react\";\nimport groupBy from \"lodash/groupBy\";\nimport Icon from \"@components/Icon\";\nimport LoadingButton from \"@components/LoadingButton\";\nimport { SearchInput } from \"@components/Common\";\nimport style from \"./style.module.scss\";\nimport { Button, Checkbox, Col, Collapse, List, Row, Tooltip } from \"antd\";\nimport { ReactSortable } from \"react-sortablejs\";\nimport classnames from \"classnames\";\nimport transform from \"lodash/transform\";\nimport get from \"lodash/get\";\nimport set from \"lodash/set\";\nimport cloneDeep from \"lodash/cloneDeep\";\n\nconst { Panel } = Collapse;\n\nconst ColumnsControlContent = ({\n close,\n onConfirm,\n columns,\n config: defaultValue,\n}) => {\n const [config, onChange] = useState(defaultValue || {});\n\n const [searchText, setSearchText] = useState(\"\");\n const { leftFixedColumns, rightFixedColumns, visibleColumns, hiddenColumns } =\n useMemo(() => {\n return transform(\n Object.assign(\n {\n leftFixedColumns: [],\n rightFixedColumns: [],\n visibleColumns: [],\n hiddenColumns: [],\n },\n groupBy(columns, (item) => {\n if (item.fixed === \"right\") {\n return \"rightFixedColumns\";\n }\n if (item.fixed === true || item.fixed === \"left\") {\n return \"leftFixedColumns\";\n }\n return (get(config, `${item.name}.visible`) !== true &&\n item.hidden) ||\n get(config, `${item.name}.visible`) === false\n ? \"hiddenColumns\"\n : \"visibleColumns\";\n })\n ),\n (result, value, key) => {\n result[key] = value.sort((a, b) => {\n return (\n get(config, `${a.name}.rank`, 0) -\n get(config, `${b.name}.rank`, 0)\n );\n });\n },\n {}\n );\n }, [columns, config]);\n\n const handlerColumnsChange = (columns) => {\n const newConfig = cloneDeep(config);\n const columnsList = [].concat(\n columns.leftFixedColumns,\n columns.visibleColumns,\n columns.rightFixedColumns\n );\n (columns.hiddenColumns || []).forEach((col) => {\n set(newConfig, `${col.name}.visible`, false);\n });\n columnsList.forEach((col, index) => {\n set(newConfig, `${col.name}.rank`, index + 1);\n });\n onChange(newConfig);\n };\n\n const renderColumn = (item) => {\n return (\n <>\n {item.titleText || item.title || \"未命名列\"}\n {item.groupHeader && item.groupHeader.length > 0\n ? `(${item.groupHeader.map(({ title }) => title).join(\"-\")})`\n : \"\"}\n </>\n );\n };\n\n return (\n <div className={style[\"columns-control-content\"]}>\n <div className={style[\"columns-control-content-title\"]}>\n <Row align=\"middle\" justify=\"space-between\">\n <Col>编辑表格</Col>\n <Col>\n <Tooltip title=\"恢复默认\">\n <LoadingButton\n type=\"text\"\n icon={<Icon type=\"icon-huifumorenshezhi\" />}\n onClick={async () => {\n onConfirm && (await onConfirm({}));\n close();\n }}\n />\n </Tooltip>\n </Col>\n </Row>\n </div>\n <div className={style[\"columns-control-content-scroller\"]}>\n <Collapse\n defaultActiveKey={[\"active\", \"un-active\"]}\n ghost={true}\n bordered\n >\n <Panel key=\"active\" header=\"显示的信息\">\n <List className={style[\"columns-control-content-list\"]}>\n {leftFixedColumns.map((item, index) => (\n <List.Item\n className={style[\"columns-control-content-item\"]}\n key={item.name || `left-${index}`}\n >\n <Checkbox checked disabled>\n {renderColumn(item)}\n </Checkbox>\n </List.Item>\n ))}\n <ReactSortable\n list={visibleColumns}\n filter=\".ignore-elements\"\n dragClass={style[\"sortable-drag\"]}\n ghostClass={style[\"sortable-ghost\"]}\n forceFallback\n setList={(visibleColumns) => {\n handlerColumnsChange({\n leftFixedColumns,\n visibleColumns,\n hiddenColumns,\n rightFixedColumns,\n });\n }}\n animation={300}\n delayOnTouchStart\n delay={2}\n >\n {visibleColumns.map((item, index) => (\n <List.Item\n className={classnames(\n style[\"columns-control-content-item\"],\n style[\"is-drag\"]\n )}\n key={item.name || `visible-${index}`}\n >\n <Icon\n type=\"icon-paixu\"\n className={style[\"columns-control-content-item-icon\"]}\n />\n <Checkbox\n checked\n disabled={\n item.fixed ||\n leftFixedColumns.length +\n visibleColumns.length +\n rightFixedColumns.length <=\n 1\n }\n onChange={(e) => {\n e.stopPropagation();\n e.preventDefault();\n const newConfig = Object.assign({}, config);\n newConfig[item.name] = Object.assign(\n {},\n newConfig[item.name],\n { visible: false }\n );\n onChange(newConfig);\n }}\n >\n {renderColumn(item)}\n </Checkbox>\n </List.Item>\n ))}\n </ReactSortable>\n {rightFixedColumns.map((item, index) => (\n <List.Item\n className={style[\"columns-control-content-item\"]}\n key={item.name || `right-${index}`}\n >\n <Checkbox checked disabled>\n {item.titleText || item.title || \"未命名列\"}\n </Checkbox>\n </List.Item>\n ))}\n </List>\n </Panel>\n <Panel\n key=\"un-active\"\n header={\n <Row wrap={false} justify=\"space-between\">\n <Col>隐藏的信息</Col>\n <Col\n onClick={(e) => {\n e.stopPropagation();\n e.preventDefault();\n }}\n >\n <SearchInput\n prefix={<Icon type=\"icon-sousuo\" size={12} />}\n placeholder=\"搜索\"\n onSearch={(value) => {\n setSearchText(value);\n }}\n className={style[\"columns-control-content-input\"]}\n size=\"small\"\n />\n </Col>\n </Row>\n }\n >\n <List\n dataSource={hiddenColumns.filter(\n (item) =>\n typeof (item.titleText || item.title) === \"string\" &&\n (item.titleText || item.title).indexOf(searchText) > -1\n )}\n renderItem={(item) => {\n return (\n <List.Item\n className={style[\"columns-control-content-item\"]}\n key={item.key}\n >\n <Checkbox\n checked={false}\n onChange={(e) => {\n e.stopPropagation();\n e.preventDefault();\n const newConfig = Object.assign({}, config);\n newConfig[item.name] = Object.assign(\n {},\n newConfig[item.name],\n { visible: true }\n );\n onChange(newConfig);\n }}\n >\n {item.titleText || item.title || \"未命名列\"}\n </Checkbox>\n </List.Item>\n );\n }}\n />\n </Panel>\n </Collapse>\n </div>\n <Row\n className={style[\"columns-control-content-footer\"]}\n justify=\"end\"\n gutter={10}\n >\n <Col>\n <Button\n size=\"small\"\n onClick={() => {\n onChange(defaultValue || {});\n close();\n }}\n >\n 取消\n </Button>\n </Col>\n <Col>\n <LoadingButton\n type=\"primary\"\n size=\"small\"\n onClick={async () => {\n onConfirm && (await onConfirm(config));\n close();\n }}\n >\n 确定\n </LoadingButton>\n </Col>\n </Row>\n </div>\n );\n};\n\nexport default ColumnsControlContent;\n","import { startTransition, useEffect, useMemo, useRef, useState } from \"react\";\nimport useRefCallback from \"@kne/use-ref-callback\";\nimport classnames from \"classnames\";\nimport columnTypes from \"./columnTypes\";\nimport get from \"lodash/get\";\nimport sumBy from \"lodash/sumBy\";\nimport transform from \"lodash/transform\";\nimport pick from \"lodash/pick\";\nimport { Col, Popover, Row } from \"antd\";\nimport Icon from \"@components/Icon\";\nimport { usePreset } from \"@components/Global\";\nimport { useFetch } from \"@kne/react-fetch\";\nimport ColumnsControlContent from \"./ColumnsControlContent\";\nimport { useDebouncedCallback } from \"use-debounce\";\nimport style from \"./style.module.scss\";\nimport isEqual from \"lodash/isEqual\";\nimport findLastIndex from \"lodash/findLastIndex\";\n\nconst TableConfig = ({ title, columns, config, setConfig }) => {\n const [open, setOpen] = useState(false);\n return (\n <Row wrap={false}>\n <Col flex={1}>{title}</Col>\n <Col>\n <Popover\n open={open}\n onOpenChange={setOpen}\n trigger=\"click\"\n placement=\"bottomLeft\"\n overlayClassName={style[\"columns-control-overlay\"]}\n content={\n <ColumnsControlContent\n columns={columns}\n config={config}\n close={() => {\n setOpen(false);\n }}\n onConfirm={(newConfig) => {\n setConfig((config) => {\n return transform(\n newConfig,\n (result, value, key) => {\n result[key] = Object.assign(\n {},\n config[key],\n pick(value, [\"visible\", \"rank\"])\n );\n },\n {}\n );\n });\n }}\n />\n }\n >\n <span className={style[\"table-changer-setting\"]}>\n <Icon type=\"icon-shezhi\" />\n </span>\n </Popover>\n </Col>\n </Row>\n );\n};\n\nconst useTableConfig = ({ columns, name, controllerOpen, tableWidth }) => {\n const [currentMoveColumnIndex, setCurrentMoveColumnIndex] = useState(null);\n const currentMoveColumnIndexRef = useRef(currentMoveColumnIndex);\n currentMoveColumnIndexRef.current = currentMoveColumnIndex;\n const currentMoveColumnRef = useRef(null);\n const startPointRef = useRef(null);\n const [config, setConfigBase] = useState({});\n const { tableServerApis } = usePreset();\n const tablePageServerParams = tableServerApis?.getDataApi(name);\n\n const saveConfig = useDebouncedCallback((name, target) => {\n tableServerApis?.setDataFunc(name, target);\n }, 500);\n\n const setConfig = useRefCallback((newConfig) => {\n startTransition(() => {\n setConfigBase((config) => {\n const target =\n typeof newConfig === \"function\" ? newConfig(config) : newConfig;\n name && controllerOpen && saveConfig(name, target);\n return target;\n });\n });\n });\n\n const { send } = useFetch(\n Object.assign({\n ...Object.assign({}, tablePageServerParams),\n auto: false,\n cache: `TABLE_CONFIG_${name}`,\n isLocal: true,\n onRequestSuccess: (data) => {\n setConfigBase(Object.assign({}, data));\n },\n })\n );\n\n const getTableConfig = useRefCallback(() => {\n if (name && controllerOpen && tablePageServerParams) {\n send({ force: false });\n }\n });\n\n useEffect(() => {\n getTableConfig();\n }, [getTableConfig]);\n\n const visibleColumns = useMemo(() => {\n return columns\n .filter((col) => {\n return !(\n get(config, `${col.name}.visible`) === false ||\n (get(config, `${col.name}.visible`) !== true && col.hidden === true)\n );\n })\n .sort((a, b) => {\n const computedIndex = (item) => {\n return (\n get(config, `${item.name}.rank`, 0) +\n (item.fixed === \"left\" ? -10000 : 0) +\n (item.fixed === \"right\" ? 10000 : 0)\n );\n };\n return computedIndex(a) - computedIndex(b);\n });\n }, [columns, config]);\n\n const lastNotOptionsColumnIndex = useMemo(() => {\n return findLastIndex(visibleColumns, ({ type }) => type !== \"options\");\n }, [visibleColumns]);\n\n const totalWidth = useMemo(() => {\n return sumBy(\n visibleColumns,\n ({ type, name }) =>\n get(config, `${name}.width`) || columnTypes[type].width\n );\n }, [visibleColumns, config]);\n\n const computedRealWidth = ({ width, index }) => {\n return lastNotOptionsColumnIndex === index\n ? width + Math.max(tableWidth - totalWidth - 2, 0)\n : width;\n };\n\n const resizeBarRender = useRefCallback((column, index) => {\n return (\n <span\n className={classnames(style[\"cell-resize-bar\"])}\n onMouseDown={(e) => {\n currentMoveColumnRef.current = Object.assign({}, column, { index });\n startPointRef.current = e.clientX;\n setCurrentMoveColumnIndex(index);\n }}\n >\n <Icon type=\"icon-paixu\" />\n </span>\n );\n });\n\n const resize = useRefCallback((delta) => {\n if (currentMoveColumnIndex === null) {\n return;\n }\n if (!currentMoveColumnRef.current) {\n return;\n }\n const { name, width, min, max, index } = currentMoveColumnRef.current;\n const currentWidth = Math.min(Math.max(width + delta, min), max);\n if (currentWidth < computedRealWidth({ width: min, index })) {\n return;\n }\n setConfig((config) => {\n return Object.assign({}, config, {\n [name]: Object.assign({}, config[name], {\n width: currentWidth,\n }),\n });\n });\n });\n\n const computedColumnProps = useRefCallback((column, index) => {\n const { name, width, min, max } = column;\n let targetColumn = column;\n if (index === visibleColumns.length - 1) {\n targetColumn = Object.assign({}, column, {\n className: \"has-config-btn\",\n title: (\n <TableConfig\n title={column?.title}\n columns={columns}\n config={config}\n setConfig={setConfig}\n />\n ),\n });\n }\n\n const movingClass = () => {\n return {\n className: classnames({\n [style[\"is-moving\"]]: currentMoveColumnIndexRef.current === index,\n }),\n };\n };\n const currentWidth = Math.min(\n Math.max(get(config, `${name}.width`) || width, min),\n max\n );\n\n const realWidth = computedRealWidth({ width: currentWidth, index });\n\n return Object.assign({}, targetColumn, {\n onHeaderCell: movingClass,\n onCell: movingClass,\n width: realWidth,\n shouldCellUpdate: (record, prevRecord) => {\n return (\n currentMoveColumnIndexRef.current === null ||\n currentMoveColumnIndexRef.current === index ||\n column.type === \"hideInfo\" ||\n !isEqual(record[column.name], prevRecord[column.name])\n );\n },\n title: (\n <>\n {targetColumn.title}\n {!(realWidth > currentWidth && realWidth > max) &&\n resizeBarRender(\n Object.assign({}, targetColumn, { width: realWidth }),\n index\n )}\n </>\n ),\n });\n });\n\n useEffect(() => {\n const handlerCancelResize = () => {\n setCurrentMoveColumnIndex(null);\n startPointRef.current = null;\n currentMoveColumnRef.current = null;\n };\n\n const handlerResize = (e) => {\n if (\n currentMoveColumnIndexRef.current === null ||\n currentMoveColumnRef.current === null\n ) {\n return;\n }\n if (startPointRef.current === null) {\n startPointRef.current = e.clientX;\n return;\n }\n resize(e.clientX - startPointRef.current);\n };\n document.documentElement.addEventListener(\n \"mouseup\",\n handlerCancelResize,\n true\n );\n document.documentElement.addEventListener(\"mousemove\", handlerResize, true);\n return () => {\n document.documentElement.removeEventListener(\n \"mouseup\",\n handlerCancelResize,\n true\n );\n document.documentElement.removeEventListener(\n \"mousemove\",\n handlerResize,\n true\n );\n };\n }, [resize]);\n\n return {\n visibleColumns,\n currentMoveColumnIndex,\n resizeBarRender,\n columnsConfig: config,\n totalWidth,\n computedColumnProps,\n };\n};\n\nexport default useTableConfig;\n","import { useRef, useState } from \"react\";\nimport columnTypes from \"@components/Table/columnTypes\";\nimport isNil from \"lodash/isNil\";\nimport pick from \"lodash/pick\";\nimport memoize from \"lodash/memoize\";\nimport get from \"lodash/get\";\nimport useRefCallback from \"@kne/use-ref-callback\";\n\nconst useColumnTypeProps = ({ rowKey, renderProps }) => {\n const [expandInfo, setExpandInfo] = useState(null);\n const columnRenderPropsRef = useRef(renderProps);\n columnRenderPropsRef.current = renderProps;\n\n const computedColumnProps = useRefCallback(\n (col, index, { columnsConfig }) => {\n const {\n name,\n type,\n expandType,\n title,\n titleRender,\n fixed,\n emptyOf,\n emptyRender,\n groupHeader,\n sort,\n disableColItem,\n ...otherColProps\n } = col;\n const { render, width, min, max } = Object.assign(\n {},\n columnTypes[type],\n type === \"hideInfo\" &&\n !isNil(expandInfo) &&\n pick(columnTypes[expandType || \"other\"], [\"width\", \"min\", \"max\"])\n );\n const targetRender = memoize(render);\n\n return {\n name,\n title: typeof titleRender === \"function\" ? titleRender(title) : title,\n min,\n max,\n width,\n fixed,\n groupHeader,\n sort,\n type,\n render: (item) => {\n const itemKey =\n typeof rowKey === \"function\" ? rowKey(item) : item[rowKey];\n const colProps = Object.assign(\n {},\n col,\n typeof col.render === \"function\"\n ? col.render({\n ...columnRenderPropsRef.current,\n name,\n target: item,\n })\n : {}\n );\n\n const targetRenderWithProps = (colValue) => {\n const isEmpty = (\n emptyOf ||\n ((value) => value === \"\" || value === void 0 || value === null)\n )(colValue);\n return targetRender(colValue, {\n ...otherColProps,\n name,\n width: get(columnsConfig, `${name}.width`) || width,\n min,\n max,\n isEmpty,\n emptyRender,\n hover: colProps.hover,\n colValue: item,\n renderProps: columnRenderPropsRef.current,\n primary: colProps.primary,\n ellipsis: colProps.ellipsis,\n expand: expandInfo === itemKey,\n onExpand: () => setExpandInfo(itemKey),\n });\n };\n\n const colValue =\n colProps.hasOwnProperty(\"valueOf\") &&\n typeof colProps.valueOf === \"function\"\n ? colProps.valueOf(\n item,\n Object.assign(\n {},\n columnRenderPropsRef.current,\n {\n name,\n },\n disableColItem\n ? { targetRender: targetRenderWithProps }\n : {}\n )\n )\n : get(item, name);\n return disableColItem ? colValue : targetRenderWithProps(colValue);\n },\n };\n }\n );\n\n return {\n expandInfo,\n computedColumnProps,\n };\n};\n\nexport default useColumnTypeProps;\n","import { useMemo } from \"react\";\n\nconst useGroupHeader = (columns) => {\n return useMemo(() => {\n const groupHeaderColumns = columns.filter(\n (item) => item.groupHeader && item.groupHeader.length > 0\n );\n if (groupHeaderColumns.length > 0) {\n const newColumns = columns.slice(0);\n const group = [];\n const appendGroupHeader = (column) => {\n const { groupHeader } = column;\n if (!(groupHeader && groupHeader.length > 0)) {\n return;\n }\n const columnIndex = newColumns.indexOf(column);\n const core = (groupHeader, group) => {\n const [targetHeader, ...otherHeader] = groupHeader;\n let currentGroup = group.find(\n (item) => item.name === targetHeader.name\n );\n if (!currentGroup) {\n currentGroup = Object.assign(\n { startIndex: columnIndex },\n targetHeader,\n { children: [] }\n );\n group.push(currentGroup);\n }\n if (otherHeader.length > 0) {\n core(otherHeader, currentGroup.children);\n } else {\n currentGroup.children.push(column);\n }\n };\n core(groupHeader, group);\n newColumns.splice(columnIndex, 1);\n };\n groupHeaderColumns.forEach(appendGroupHeader);\n group.forEach((groupColumn, index) => {\n newColumns.splice(groupColumn.startIndex + index, 0, groupColumn);\n });\n\n return { columns: newColumns, hasGroupHeader: true };\n }\n return { columns, hasGroupHeader: false };\n }, [columns]);\n};\n\nexport default useGroupHeader;\n","import useControlValue from \"@kne/use-control-value\";\nimport Icon from \"@components/Icon\";\nimport classnames from \"classnames\";\nimport clone from \"lodash/clone\";\nimport { useCallback, useMemo } from \"react\";\nimport style from \"./style.module.scss\";\n\nconst sortArrayToMap = (sort) =>\n new Map(\n (sort || []).map(({ name, sort }) => {\n return [name, sort];\n })\n );\n\nconst useSort = (props) => {\n const [sort, setSort] = useControlValue(props, {\n value: \"sort\",\n defaultValue: \"defaultSort\",\n onChange: \"onSortChange\",\n });\n\n const mapSort = useMemo(() => {\n return sortArrayToMap(sort);\n }, [sort]);\n\n const setMapSort = useCallback(\n (callback) => {\n return setSort((sort) => {\n const newSort = callback(sortArrayToMap(sort));\n return Array.from(newSort).map(([name, sort]) => ({ name, sort }));\n });\n },\n [setSort]\n );\n\n return useCallback(\n ({ single, name }) => (\n <div\n className={classnames(style[\"sort-btn\"], {\n [style[\"sort-active-desc\"]]: mapSort.get(name) === \"DESC\",\n [style[\"sort-active-asc\"]]: mapSort.get(name) === \"ASC\",\n })}\n onClick={() => {\n setMapSort((sort) => {\n const current = sort.get(name);\n const targetValue = (() => {\n if (current === \"DESC\") {\n return \"ASC\";\n }\n if (current === \"ASC\") {\n return null;\n }\n return \"DESC\";\n })();\n if (single) {\n return new Map(targetValue ? [[name, targetValue]] : []);\n }\n const newSort = clone(sort);\n targetValue ? newSort.set(name, targetValue) : newSort.delete(name);\n return newSort;\n });\n }}\n >\n <Icon type=\"icon-triangle-up\" className={style[\"sort-icon\"]} />\n <Icon type=\"icon-triangle-down\" className={style[\"sort-icon\"]} />\n </div>\n ),\n [mapSort, setMapSort]\n );\n};\n\nexport default useSort;\n","import style from \"./style.module.scss\";\nimport { Table as AntdTable } from \"antd\";\nimport { useEffect, useMemo, useRef, useState } from \"react\";\nimport classnames from \"classnames\";\nimport Scroller from \"@common/components/Scroller\";\nimport { getScrollEl } from \"@common/utils/importantContainer\";\nimport useResize from \"@common/hooks/useResize\";\nimport useTableConfig from \"./useTableConfig\";\nimport useColumnTypeProps from \"@components/Table/useColumnTypeProps\";\nimport useGroupHeader from \"./useGroupHeader\";\nimport useSort from \"./useSort\";\nimport useRefCallback from \"@kne/use-ref-callback\";\n\nconst Table = ({\n columns,\n className,\n getScrollEl,\n sticky,\n stickyOffset,\n pagination,\n columnRenderProps,\n rowKey,\n dataSource,\n controllerOpen,\n name,\n summary,\n scroll,\n onTablePropsReady,\n ...props\n}) => {\n const [tableWidth, setTableWidth] = useState(0);\n const [isLayout, setIsLayout] = useState(true);\n\n useEffect(() => {\n if (tableWidth) {\n setTimeout(() => {\n setIsLayout(false);\n }, 0);\n }\n }, [tableWidth]);\n const columnRenderPropsRef = useRef(columnRenderProps);\n columnRenderPropsRef.current = columnRenderProps;\n const ref = useResize(\n (el) => {\n setTableWidth(el.clientWidth);\n },\n { isDebounce: true }\n );\n const { expandInfo, computedColumnProps } = useColumnTypeProps({\n rowKey,\n renderProps: columnRenderProps,\n });\n\n const {\n columnsConfig,\n visibleColumns,\n computedColumnProps: computedColumnConfigProps,\n currentMoveColumnIndex,\n totalWidth,\n } = useTableConfig({\n columns,\n controllerOpen,\n name,\n computedColumnProps,\n tableWidth,\n });\n\n const sortRender = useSort(props);\n\n const targetColumns = useMemo(() => {\n return visibleColumns.map((col, index) => {\n let target = computedColumnProps(col, index, {\n rowKey,\n expandInfo,\n columnsConfig,\n });\n\n if (target.sort && col.type !== \"options\") {\n target = Object.assign({}, target, {\n title: (\n <>\n {target.title}\n {sortRender({\n name: col.name,\n single:\n typeof target.sort === \"object\" ? target.sort.single : true,\n })}\n </>\n ),\n });\n }\n\n if (controllerOpen) {\n target = computedColumnConfigProps(target, index, {\n tableWidth,\n columnsConfig,\n });\n }\n\n return target;\n });\n }, [\n visibleColumns,\n tableWidth,\n columnsConfig,\n expandInfo,\n rowKey,\n controllerOpen,\n computedColumnProps,\n computedColumnConfigProps,\n sortRender,\n ]);\n\n const { columns: groupColumns, hasGroupHeader } =\n useGroupHeader(targetColumns);\n\n const onTablePropsReadyCallback = useRefCallback(onTablePropsReady);\n\n useEffect(() => {\n onTablePropsReadyCallback &&\n onTablePropsReadyCallback({\n columns,\n groupColumns,\n dataSource,\n visibleColumns,\n });\n }, [\n onTablePropsReadyCallback,\n groupColumns,\n dataSource,\n columns,\n visibleColumns,\n ]);\n\n return (\n <div\n className={classnames(className, style[\"table\"], {\n [style[\"is-resize\"]]: currentMoveColumnIndex !== null,\n [style[\"is-computed\"]]: isLayout,\n [style[\"has-group-header\"]]: hasGroupHeader,\n })}\n ref={ref}\n style={{\n \"--sticky-offset\": stickyOffset,\n }}\n >\n {!isLayout && (\n <Scroller\n className=\"table-page-scroller\"\n scroller={{ getContainer: getScrollEl }}\n getScrollTarget={(el) => {\n return (\n el.querySelector(\".ant-table-body\") ||\n el.querySelector(\".ant-table-content\")\n );\n }}\n >\n <AntdTable\n {...props}\n sticky={\n sticky\n ? {\n getContainer: getScrollEl,\n }\n : false\n }\n dataSource={dataSource}\n rowKey={rowKey}\n columns={groupColumns}\n scroll={Object.assign(\n {},\n { x: Math.max(tableWidth, totalWidth) },\n scroll\n )}\n pagination={pagination}\n summary={\n typeof summary === \"function\"\n ? (current, ...args) => {\n return summary(\n Object.assign(\n {},\n { pageData: current },\n { columns: groupColumns }\n ),\n ...args\n );\n }\n : null\n }\n />\n </Scroller>\n )}\n </div>\n );\n};\n\nTable.defaultProps = {\n controllerOpen: true,\n rowKey: \"id\",\n getScrollEl,\n columnRenderProps: {},\n sticky: false,\n stickyOffset: \"var(--nav-height)\",\n pagination: false,\n};\n\nexport default Table;\n","const importMessages = (locale) => {\n return {\n \"en-US\": () => import(\"./en-US\"),\n \"zh-CN\": () => import(\"./zh-CN\"),\n }[locale]();\n};\n\nexport default importMessages;\n","import { withFetch } from \"@kne/react-fetch\";\nimport Table from \"./Table\";\nimport classnames from \"classnames\";\nimport Features from \"@components/Features\";\nimport get from \"lodash/get\";\nimport useRefCallback from \"@kne/use-ref-callback\";\nimport { forwardRef, useMemo, useState } from \"react\";\nimport style from \"./style.module.scss\";\nimport importMessages from \"./locale\";\nimport { FormattedMessage, IntlProvider } from \"@components/Intl\";\nimport localStorage from \"@common/utils/localStorage\";\nimport { getScrollEl } from \"@common/utils/importantContainer\";\n\nconst FeaturesColumnsConfig = ({ id, columns, children }) => {\n if (id) {\n return (\n <Features id={id}>\n {({ options }) =>\n children({\n columns: columns.filter((item) => {\n if (!item.name) {\n return true;\n }\n if (!Array.isArray(get(options, \"hiddenColumns\"))) {\n return true;\n }\n return options.hiddenColumns.indexOf(item.name) === -1;\n }),\n })\n }\n </Features>\n );\n }\n return children({ columns });\n};\n\nconst TablePageInner = withFetch(\n ({\n data,\n refresh,\n reload,\n requestParams,\n fetchProps,\n isComplete,\n setData,\n loadMore,\n send,\n dataFormat,\n className,\n featureId,\n columns,\n getColumns,\n pagination,\n columnRenderProps,\n summary,\n ...props\n }) => {\n const handlerDataFormat = useRefCallback(dataFormat);\n const formatData = useMemo(() => {\n return handlerDataFormat(data);\n }, [data, handlerDataFormat]);\n\n const tableProps = {\n dataSource: formatData.list,\n pagination: pagination.open\n ? {\n total: formatData.total,\n showTotal: (total) => (\n <>\n <FormattedMessage\n id=\"Page_Total\"\n moduleName=\"Table\"\n defaultMessage=\"共\"\n />\n <span className={style[\"total_text\"]}>{total}</span>\n <FormattedMessage\n id=\"Page_TotalCount\"\n moduleName=\"Table\"\n defaultMessage=\"条\"\n />\n </>\n ),\n current: get(\n requestParams,\n [pagination.paramsType, pagination.currentName],\n 1\n ),\n pageSize: pagination.pageSize,\n onChange: pagination.onChange\n ? pagination.onChange\n : (page, size) => {\n if (\n page !==\n get(\n requestParams,\n [pagination.paramsType, pagination.currentName],\n 1\n )\n ) {\n (pagination.requestType === \"refresh\" ? refresh : reload)({\n [pagination.paramsType]: {\n [pagination.currentName]: page,\n [pagination.pageSizeName]: size,\n },\n });\n } else {\n pagination.onShowSizeChange &&\n pagination.onShowSizeChange(page, size);\n }\n getScrollEl().scrollTop = 0;\n },\n size: pagination.size,\n showSizeChanger: pagination.showSizeChanger,\n showQuickJumper: pagination.showQuickJumper,\n }\n : false,\n };\n\n return (\n <IntlProvider importMessages={importMessages} moduleName=\"Table\">\n <FeaturesColumnsConfig id={featureId} columns={columns}>\n {({ columns }) => (\n <Table\n {...Object.assign({}, props, tableProps)}\n className={classnames(className, \"loading-container\", {\n \"is-loading\": !isComplete,\n })}\n columns={columns}\n columnRenderProps={{\n ...columnRenderProps,\n requestParams,\n fetchProps,\n data,\n }}\n summary={\n typeof summary === \"function\"\n ? (...args) => {\n return summary(\n Object.assign(\n {},\n {\n data,\n fetchProps,\n requestParams,\n refresh,\n reload,\n loadMore,\n send,\n dataFormat,\n pagination,\n },\n ...args\n )\n );\n }\n : null\n }\n />\n )}\n </FeaturesColumnsConfig>\n </IntlProvider>\n );\n }\n);\n\nTablePageInner.defaultProps = {\n pagination: {},\n columnRenderProps: {},\n sticky: true,\n dataFormat: (data) => {\n return {\n list: data.pageData,\n total: data.totalCount,\n };\n },\n};\n\nconst TablePage = forwardRef(({ pagination, ...props }, ref) => {\n pagination = Object.assign(\n {},\n {\n showSizeChanger: true,\n showQuickJumper: true,\n open: true,\n paramsType: \"data\",\n requestType: \"reload\",\n currentName: \"currentPage\",\n pageSizeName: \"perPage\",\n pageSize: 20,\n //size: \"small\",\n },\n pagination\n );\n const pageSizeKey = `${(\n props.name || \"common\"\n ).toUpperCase()}_TABLE_PAGE_SIZE`;\n const [pageSize, setPageSize] = useState(\n localStorage.getItem(pageSizeKey) || pagination.pageSize\n );\n const fetchParams = useMemo(() => {\n const fetchParams = {};\n if (props.params && Object.keys(props.params).length > 0) {\n fetchParams[\"params\"] = {\n ...props.params,\n [pagination.pageSizeName]: pageSize,\n };\n }\n if (props.data && Object.keys(props.data).length > 0) {\n fetchParams[\"data\"] = {\n ...props.data,\n [pagination.pageSizeName]: pageSize,\n };\n }\n return fetchParams;\n }, [props.params, props.data, pagination.pageSizeName, pageSize]);\n return (\n <TablePageInner\n {...props}\n {...fetchParams}\n pagination={Object.assign({}, pagination, {\n pageSize,\n onShowSizeChange: (current, size) => {\n localStorage.setItem(pageSizeKey, size);\n setPageSize(size);\n },\n })}\n ref={ref}\n />\n );\n});\n\nexport default TablePage;\n"],"names":["getItem","key","target","window","localStorage","dataType","value","JSON","parse","Number","Boolean","e","setItem","stringify","ButtonGroup","_ref","list","more","compact","props","spaceProps","pick","showLength","setShowLength","useState","length","confirmModal","useConfirmModal","computedLength","useRefCallback","el","targetRef","current","moreEl","moreRef","widthEl","ref","buttonEls","querySelectorAll","buttonElLength","amountWidth","clientWidth","moreBtnWidth","spaceWidth","indexOf","size","isInteger","targetLength","targetWidth","buttonWidthList","map","call","offsetWidth","startTransition","useResize","otherList","slice","renderButton","_ref2","index","className","confirm","isConfirm","message","CurrentButton","ConfirmButton","LoadingButton","_createElement","danger","isDelete","classnames","SpaceComponent","Space","Compact","_jsxs","_Fragment","children","_jsx","style","Dropdown","menu","items","_ref3","onClick","title","okText","label","type","onOk","defaultProps","Button","Icon","locale","en-US","zh-CN","withConfirm","WrappedComponent","ConfirmComponent","createWithIntl","moduleName","importMessages","onCancel","disabled","showCancel","cancelText","isModal","placement","getContainer","formatMessage","useIntl","modal","useModal","cancelButton","id","confirmButton","wrapClassName","footerButtons","Popconfirm","direction","stopPropagation","align","onConfirm","okButtonProps","overlayClassName","getPopupContainer","ConfirmLink","Typography","Link","ConfirmText","Text","baseLoaders","description","EnumLoaderFetch","withFetch","data","getEnumsMap","memoize","enums","Map","concat","Object","keys","assign","EnumLoader","loader","enumsLoader","global","enumsRef","useGlobalContext","prevLocaleRef","useRef","async","arguments","params","undefined","name","force","getEnumMap","get","output","item","toString","Array","isArray","console","warn","set","Promise","all","then","enumMap","from","values","isNil","Enum","preset","usePreset","_ref4","filterValue","extraExpand","onChange","IntlProvider","FormattedMessage","defaultMessage","StateTag","filterName","text","join","closable","onClose","newValue","splice","open","active","context","createContext","Provider","Line","useReactContext","ComponentItem","FilterLines","displayLine","extra","hasMore","isExpand","setIsExpand","Row","justify","wrap","Col","flex","PopoverItem","onValidate","onOpenChange","state","setState","setOpen","useMemo","Popover","trigger","content","gutter","FilterItem","isNotEmpty","placeholder","valueType","transform","result","useSelectInnerContext","SelectInnerInput","useContext","TreeFieldInner","selected","setValue","setSelect","fetchApi","dataFormat","single","isPopup","searchPlaceholder","others","fieldNamesRef","fieldNames","fetchData","treeData","SimpleBar","Tree","omit","checkable","onCheck","checkedKeys","onSelect","selectKeys","selectKey","newCurrent","push","selectedKeys","TreeField","maxLength","MAX_VALUE","checkStrictly","treeToList","nodeList","_ref5","core","forEach","node","Input","DatePickerFilterItem","withFieldItem","picker","DatePicker","dayjs","format","startOf","endOf","Date","valueOf","RangePicker","allowEmpty","TypeDateRangePickerField","pickerValue","AdvancedSelectFilterItem","AdvancedSelectField","UserFilterItem","UserField","FunctionSelectFilterItem","FunctionSelectField","IndustrySelectFilterItem","IndustrySelectField","CityFilterItem","AddressSelectField","CascaderFilterItem","CascaderField","TreeFilterItem","InputFilterItem","InputFilterItemField","Filter","valueBase","useControlValue","filter","newFilterValue","clone","delete","FilterValueDisplay","defaultValue","colorful","url","href","menuOpen","menuWidth","menuFixed","menuCloseButton","backgroundColor","header","headerHeight","headerFixed","headerInfo","backUrl","titleExtra","titleLeftExtra","noMargin","noPadding","optionFooterHeight","option","optionWidth","optionNoPadding","optionFixed","optionFooter","Consumer","isFixed","pageMenuOpenKey","Menu","pageProps","setPageProps","pathModuleName","useLocation","pathname","split","FixedContainer","icon","pageResult","PageInner","isPass","propsRef","localMenuOpen","useMenuOpen","localMenuOpenRef","useEffect","isEqual","targetProps","Result","status","subTitle","Page","featureId","openFeatures","Features","offsetTop","offsetBottom","AntdAffix","targetKey","useLayoutEffect","callback","offsetHeight","resizeObserver","MutationObserver","observe","subtree","childList","disconnect","useContainerHeight","Header","Affix","navigationHeight","ContainerHeight","HeaderInfo","headerInfoRef","navigator","useNavigate","Option","padding","Content","AntdLayout","ErrorComponent","Alert","showIcon","action","location","reload","ErrorBoundary","ReactErrorBoundary","errorComponent","Layout","theme","navigation","scrollLeft","setScrollLeft","_setPageProps","useCallback","scrollEl","getScrollEl","handlerScroll","addEventListener","removeEventListener","Navigation","path","PageTitle","helperGuideName","HelperGuide","permissions","Permissions","forwardRef","page","topArea","tableData","setTableData","PermissionsPage","Table","onRequestSuccess","stateBar","StateBar","MenuItem","iconType","request","isOpen","isSelected","fetchOptions","depth","onLoad","allowCollapsed","hasChildren","refresh","isLoading","useFetch","auto","Spin","search","selectedKey","setSelectKeyChange","setItems","targetItems","defaultOpenKeys","links","childrenKeys","hasStartIcon","_childrenKeys$root","nodeMapping","traversal","options","parentKey","paths","currentKey","targetItem","originItem","treeEnhance","matchedPath","find","ensureSlash","replace","openKeys","setOpenKeys","renderChildren","parentId","newOpenKeys","defaultItems","SetTitle","mapping","defaultTitle","document","headerLogo","rightOptions","showIndex","indexLabel","overflowedIndicator","base","navigate","navigationRef","resizeObserverRef","nameLabel","setNameLabel","RegExp","entries","permission","menuDom","exist","i","getAttribute","_nameLabel","mutationObserverInitConfig","attributes","indexNav","setTimeout","Image","src","logo","alt","mode","_ref6","_path","computedIsPass","some","usePermissions","usePermissionsPass","tagName","Tooltip","createElement","stateOption","isInner","Tabs","animated","tab","tagTypeEnum","default","skill","color","borderColor","filterResult","success","progress","info","other","showBorder","showBackground","tagColor","_tagTypeEnum$type","_tagTypeEnum$type2","Tag","background","border","width","ellipsis","tooltip","ColItem","isEmpty","emptyRender","hover","primary","colValue","loading","setLoading","columnsStyle","resolve","colItem","event","finally","DisplayInfo","createWithFetch","api","expand","onExpand","Ellipsis","_ref17","columnTypes","date","render","isValid","min","max","dateShort","dateRange","datetime","hideSecond","serialNumber","serialNumberShort","user","_ref7","userName","_ref8","contacts","_ref9","tag","_ref10","isEnum","_ref11","avatar","_ref12","Avatar","singleRow","_ref13","hideInfo","HideInfoComponent","mainInfo","_ref14","_ref15","_ref16","OptionsList","sensitiveInfo","_ref18","otherSmall","otherLarge","Panel","Collapse","close","columns","config","searchText","setSearchText","leftFixedColumns","rightFixedColumns","visibleColumns","hiddenColumns","groupBy","fixed","hidden","sort","a","b","renderColumn","titleText","groupHeader","defaultActiveKey","ghost","bordered","List","Item","Checkbox","checked","ReactSortable","dragClass","ghostClass","forceFallback","setList","newConfig","cloneDeep","columnsList","col","handlerColumnsChange","animation","delayOnTouchStart","delay","preventDefault","visible","SearchInput","prefix","onSearch","dataSource","renderItem","TableConfig","setConfig","ColumnsControlContent","controllerOpen","tableWidth","currentMoveColumnIndex","setCurrentMoveColumnIndex","currentMoveColumnIndexRef","currentMoveColumnRef","startPointRef","setConfigBase","tableServerApis","tablePageServerParams","getDataApi","saveConfig","useDebouncedCallback","setDataFunc","send","cache","isLocal","getTableConfig","computedIndex","lastNotOptionsColumnIndex","findLastIndex","totalWidth","sumBy","computedRealWidth","Math","resizeBarRender","column","onMouseDown","clientX","resize","delta","currentWidth","computedColumnProps","targetColumn","movingClass","realWidth","onHeaderCell","onCell","shouldCellUpdate","record","prevRecord","handlerCancelResize","handlerResize","documentElement","columnsConfig","rowKey","renderProps","expandInfo","setExpandInfo","columnRenderPropsRef","expandType","titleRender","emptyOf","disableColItem","otherColProps","targetRender","itemKey","colProps","targetRenderWithProps","hasOwnProperty","groupHeaderColumns","newColumns","group","appendGroupHeader","columnIndex","targetHeader","otherHeader","currentGroup","startIndex","groupColumn","hasGroupHeader","sortArrayToMap","setSort","mapSort","setMapSort","newSort","targetValue","sticky","stickyOffset","pagination","columnRenderProps","summary","scroll","onTablePropsReady","setTableWidth","isLayout","setIsLayout","isDebounce","useColumnTypeProps","computedColumnConfigProps","useTableConfig","sortRender","useSort","targetColumns","groupColumns","useGroupHeader","onTablePropsReadyCallback","Scroller","scroller","getScrollTarget","querySelector","AntdTable","x","_len","args","_key","pageData","FeaturesColumnsConfig","TablePageInner","requestParams","fetchProps","isComplete","setData","loadMore","getColumns","handlerDataFormat","formatData","tableProps","total","showTotal","paramsType","currentName","pageSize","requestType","pageSizeName","onShowSizeChange","scrollTop","showSizeChanger","showQuickJumper","totalCount","pageSizeKey","toUpperCase","setPageSize","fetchParams"],"sourceRoot":""}
1
+ {"version":3,"file":"static/js/2999.68d616c5.chunk.js","mappings":"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","sources":["common/utils/localStorage.js","webpack://@kne-components/components-core/./src/components/ButtonGroup/style.module.scss?7e95","components/ButtonGroup/index.js","components/ConfirmButton/locale/index.js","webpack://@kne-components/components-core/./src/components/ConfirmButton/style.module.scss?9447","components/ConfirmButton/index.js","components/Enum/index.js","webpack://@kne-components/components-core/./src/components/Filter/style.module.scss?eebc","components/Filter/locale/index.js","components/Filter/FilterValueDisplay.js","components/Filter/FilterItem.js","components/Filter/context.js","components/Filter/FilterLines.js","components/Filter/PopoverItem.js","components/Filter/withFieldItem.js","components/Filter/getFilterValue.js","components/Filter/FilterItemContainer.js","webpack://@kne-components/components-core/./src/common/components/TreeField/style.module.scss?bcd6","common/components/TreeField/index.js","components/Filter/fields/InputFilterItem.js","components/Filter/fields/DatePickerFilterItem.js","components/Filter/fields/DateRangePickerFilterItem.js","components/Filter/fields/TypeDateRangePickerFilterItem.js","components/Filter/fields/index.js","components/Filter/Filter.js","components/FormInfo/locale/index.js","components/HelperGuide/locale/index.js","webpack://@kne-components/components-core/./src/components/HelperGuide/style.module.scss?bc31","components/HelperGuide/index.js","components/Layout/context.js","webpack://@kne-components/components-core/./src/components/Layout/style.module.scss?8c20","components/Layout/Page/FixedContainer.js","components/Layout/Page/Menu.js","components/Layout/Page/Page.js","components/Layout/Affix.js","components/Layout/Page/ContainerHeight.js","components/Layout/Page/Header.js","components/Layout/Page/HeaderInfo.js","components/Layout/Page/PageTitle.js","components/Layout/Page/Option.js","components/Layout/Layout.js","components/Layout/PermissionsPage.js","components/Layout/TablePage.js","components/Layout/StateBarPage.js","webpack://@kne-components/components-core/./src/components/Menu/style.module.scss?ca16","components/Menu/index.js","components/Navigation/favicon.svg","components/Navigation/locale/index.js","webpack://@kne-components/components-core/./src/components/Navigation/style.module.scss?d5bc","components/Navigation/index.js","webpack://@kne-components/components-core/./src/components/Permissions/style.module.scss?e327","components/Permissions/index.js","webpack://@kne-components/components-core/./src/components/StateBar/style.module.scss?ecea","components/StateBar/index.js","webpack://@kne-components/components-core/./src/components/StateTag/style.module.scss?5aff","components/StateTag/index.js","webpack://@kne-components/components-core/./src/components/Table/style.module.scss?5d23","webpack://@kne-components/components-core/./src/components/Table/columns.module.scss?6c8d","components/Table/OptionsList.js","components/Table/Ellipsis.js","components/Table/ColItem.js","components/Table/HideInfoComponent.js","components/Table/columnTypes.js","components/Table/ColumnsControlContent.js","components/Table/useTableConfig.js","components/Table/useColumnTypeProps.js","components/Table/useGroupHeader.js","components/Table/useSort.js","components/Table/Table.js","components/Table/locale/index.js","components/Table/TablePage.js"],"sourcesContent":["const localStorage = {\n getItem: (key) => {\n const target = window.localStorage.getItem(key);\n try {\n const { dataType, value } = JSON.parse(target);\n if (dataType === \"object\" && value === \"null\") {\n return null;\n }\n if (dataType === \"undefined\") {\n return void 0;\n }\n if (dataType === \"number\") {\n return Number(value);\n }\n if (dataType === \"boolean\") {\n return Boolean(value);\n }\n return value;\n } catch (e) {\n return null;\n }\n },\n setItem: (key, value) => {\n const dataType = typeof value;\n window.localStorage.setItem(key, JSON.stringify({ dataType, value }));\n },\n};\n\nexport default localStorage;\n","// extracted by mini-css-extract-plugin\nexport default {\"width-container\":\"style_width-container__JfEbg__+d3Mb\",\"hidden-container\":\"style_hidden-container__EdySA__+d3Mb\",\"hidden-inner\":\"style_hidden-inner__vAN59__+d3Mb\"};","import { startTransition, useState } from \"react\";\nimport useRefCallback from \"@kne/use-ref-callback\";\nimport { Button, Dropdown, Space } from \"antd\";\nimport classnames from \"classnames\";\nimport Icon from \"@components/Icon\";\nimport LoadingButton from \"@components/LoadingButton\";\nimport ConfirmButton from \"@components/ConfirmButton\";\nimport { useConfirmModal } from \"@components/Modal\";\nimport useResize from \"@common/hooks/useResize\";\nimport pick from \"lodash/pick\";\nimport style from \"./style.module.scss\";\n\nconst ButtonGroup = ({ list, more, compact, ...props }) => {\n const spaceProps = pick(props, [\"size\", \"split\", \"align\", \"style\"]);\n const [showLength, setShowLength] = useState(list.length);\n const confirmModal = useConfirmModal();\n const computedLength = useRefCallback(() => {\n const el = targetRef.current,\n moreEl = moreRef.current,\n widthEl = ref.current;\n\n const buttonEls = el.querySelectorAll(\".button-group-item\");\n if (!buttonEls) {\n return;\n }\n const buttonElLength = buttonEls.length;\n if (buttonEls.length === 0) {\n return;\n }\n const amountWidth = widthEl.clientWidth,\n moreBtnWidth = moreEl.clientWidth,\n spaceWidth = (() => {\n if (compact) {\n return 0;\n }\n\n if ([\"small\", \"middle\", \"large\"].indexOf(spaceProps.size) > -1) {\n return (\n ([\"small\", \"middle\", \"large\"].indexOf(spaceProps.size) + 1) * 8\n );\n }\n\n if (Number.isInteger(spaceProps.size)) {\n return spaceProps.size;\n }\n return 8;\n })();\n let targetLength = 0,\n targetWidth = 0,\n buttonWidthList = [].map.call(buttonEls, (el) => el.offsetWidth);\n // 采取先加后减策略\n while (\n amountWidth >=\n targetWidth +\n buttonWidthList[targetLength] +\n targetLength * spaceWidth &&\n targetLength < buttonElLength\n ) {\n targetWidth += buttonWidthList[targetLength];\n targetLength += 1;\n }\n\n while (\n amountWidth <\n targetWidth +\n (targetLength - 1) * spaceWidth +\n (targetLength < buttonElLength ? moreBtnWidth + spaceWidth : 0) &&\n targetLength > 0\n ) {\n targetWidth -= buttonWidthList[targetLength - 1];\n targetLength -= 1;\n }\n\n startTransition(() => {\n setShowLength(targetLength);\n });\n });\n const ref = useResize(computedLength);\n const targetRef = useResize(computedLength);\n const moreRef = useResize(computedLength);\n\n const otherList = list.slice(showLength);\n\n const renderButton = ({ className, confirm, ...props }, index) => {\n const isConfirm = confirm || props.message;\n const CurrentButton = isConfirm ? ConfirmButton : LoadingButton;\n return (\n <CurrentButton\n danger={isConfirm && props.isDelete !== false}\n {...props}\n key={index}\n className={classnames(\"button-group-item\", className)}\n />\n );\n };\n\n const SpaceComponent = compact ? Space.Compact : Space;\n\n return (\n <>\n <div className={style[\"width-container\"]} ref={ref} />\n <div className={style[\"hidden-container\"]}>\n <div className={style[\"hidden-inner\"]} ref={moreRef}>\n {more}\n </div>\n <div className={style[\"hidden-inner\"]} ref={targetRef}>\n <SpaceComponent {...spaceProps}>\n {list.map(renderButton)}\n </SpaceComponent>\n </div>\n </div>\n <SpaceComponent {...spaceProps}>\n {list.slice(0, showLength).map(renderButton)}\n {otherList.length > 0 && (\n <Dropdown\n menu={{\n items: otherList.map(\n (\n {\n children,\n confirm,\n message,\n onClick,\n title,\n isDelete,\n okText,\n ...props\n },\n key\n ) => ({\n ...props,\n key,\n label: children,\n onClick: (e) => {\n const isConfirm = confirm || message;\n isConfirm\n ? confirmModal({\n danger: isDelete !== false,\n type: \"confirm\",\n title,\n message: message || \"确定要删除吗?\",\n onOk: onClick,\n okText: okText || (isDelete !== false && \"删除\"),\n })\n : onClick && onClick(e);\n },\n })\n ),\n }}\n >\n {more}\n </Dropdown>\n )}\n </SpaceComponent>\n </>\n );\n};\n\nButtonGroup.defaultProps = {\n more: (\n <Button>\n 更多\n <Icon type=\"icon-arrow-thin-down\" />\n </Button>\n ),\n};\n\nexport default ButtonGroup;\n","const importMessages = (locale) => {\n return {\n \"en-US\": () => import(\"./en-US\"),\n \"zh-CN\": () => import(\"./zh-CN\"),\n }[locale]();\n};\n\nexport default importMessages;\n","// extracted by mini-css-extract-plugin\nexport default {\"overlay\":\"style_overlay__99t5t__+d3Mb\",\"is-danger\":\"style_is-danger__gxyAB__+d3Mb\",\"title\":\"style_title__EEPu2__+d3Mb\",\"content\":\"style_content__mZZg5__+d3Mb\",\"has-title\":\"style_has-title__5+PEt__+d3Mb\"};","import React from \"react\";\nimport { Button, Popconfirm, Space, Typography } from \"antd\";\nimport importMessages from \"./locale\";\nimport Icon from \"@components/Icon\";\nimport { createWithIntl, useIntl } from \"@components/Intl\";\nimport { useModal } from \"@components/Modal\";\nimport classnames from \"classnames\";\nimport style from \"./style.module.scss\";\n\nexport const withConfirm = (WrappedComponent) => {\n const ConfirmComponent = createWithIntl({\n moduleName: \"ConfirmButton\",\n importMessages,\n })(\n ({\n title,\n message,\n isDelete = true,\n onClick,\n onCancel,\n disabled,\n showCancel,\n cancelText,\n isModal,\n okText,\n placement,\n getContainer,\n ...props\n }) => {\n const { formatMessage } = useIntl({ moduleName: \"ConfirmButton\" });\n const modal = useModal();\n if (isModal) {\n return (\n <WrappedComponent\n {...props}\n onClick={(e) => {\n const cancelButton = {\n children: cancelText || formatMessage({ id: \"cancel\" }),\n onClick: onCancel,\n };\n const confirmButton = {\n type: \"primary\",\n children: okText\n ? okText\n : isDelete\n ? formatMessage({ id: \"delete\" })\n : formatMessage({ id: \"confirm\" }),\n onClick: () => onClick(e),\n danger: isDelete,\n };\n modal({\n title: title && (\n <Space size={0} className={style[\"title\"]}>\n <Icon className=\"title-icon\" type=\"icon-tishi-tianchong\" />\n {title}\n </Space>\n ),\n getContainer,\n wrapClassName: classnames(style[\"overlay\"], {\n [style[\"is-danger\"]]: isDelete,\n }),\n children: (\n <Space\n size={0}\n className={classnames(style[\"content\"], {\n [style[\"has-title\"]]: title,\n })}\n >\n {!title && (\n <Icon\n className=\"title-icon\"\n type=\"icon-tishi-tianchong\"\n />\n )}\n {message || formatMessage({ id: \"message\" })}\n </Space>\n ),\n footerButtons: showCancel\n ? [cancelButton, confirmButton]\n : [confirmButton],\n });\n }}\n />\n );\n }\n return (\n <Popconfirm\n title={\n <Space\n direction=\"vertical\"\n onClick={(e) => {\n e.stopPropagation();\n }}\n >\n {title && (\n <Space size={0} align=\"start\" className={style[\"title\"]}>\n <Icon className=\"title-icon\" type=\"icon-tishi-tianchong\" />\n {title}\n </Space>\n )}\n <Space\n size={0}\n align=\"start\"\n className={classnames(style[\"content\"], {\n [style[\"has-title\"]]: title,\n })}\n >\n {!title && (\n <Icon className=\"title-icon\" type=\"icon-tishi-tianchong\" />\n )}\n {message || formatMessage({ id: \"message\" })}\n </Space>\n </Space>\n }\n placement={placement}\n onConfirm={onClick}\n okButtonProps={{\n danger: isDelete,\n }}\n onCancel={onCancel}\n overlayClassName={classnames(style[\"overlay\"], {\n [style[\"is-danger\"]]: isDelete,\n })}\n getPopupContainer={getContainer}\n disabled={disabled}\n showCancel={showCancel}\n cancelText={cancelText}\n okText={\n okText\n ? okText\n : isDelete\n ? formatMessage({ id: \"delete\" })\n : formatMessage({ id: \"confirm\" })\n }\n >\n <WrappedComponent {...props} disabled={disabled} />\n </Popconfirm>\n );\n }\n );\n\n ConfirmComponent.defaultProps = {\n isModal: false,\n };\n\n return ConfirmComponent;\n};\n\nexport const ConfirmLink = withConfirm(Typography.Link);\nexport const ConfirmText = withConfirm(Typography.Text);\n\nexport default withConfirm(Button);\n","import { useRef } from \"react\";\nimport { withFetch } from \"@kne/react-fetch\";\nimport { useGlobalContext, usePreset } from \"@components/Global\";\nimport memoize from \"lodash/memoize\";\nimport isNil from \"lodash/isNil\";\n\nconst baseLoaders = [\n [\n \"gender\",\n () => [\n { value: \"M\", description: \"男\" },\n {\n value: \"F\",\n description: \"女\",\n },\n ],\n ],\n [\n \"marital\",\n () => [\n { description: \"已婚\", value: \"Y\" },\n {\n description: \"未婚\",\n value: \"N\",\n },\n ],\n ],\n [\n \"confirm\",\n () => [\n { description: \"是\", value: \"Y\" },\n {\n description: \"否\",\n value: \"N\",\n },\n ],\n ],\n [\n \"political\",\n () => [\n { description: \"中共党员\", value: \"中共党员\" },\n {\n description: \"共青团员\",\n value: \"共青团员\",\n },\n { description: \"群众\", value: \"群众\" },\n {\n description: \"其他党派\",\n value: \"其他党派\",\n },\n ],\n ],\n [\n \"phoneStateEnum\",\n () => [\n {\n value: 0,\n description: \"空号\",\n },\n {\n value: 1,\n description: \"实号\",\n },\n {\n value: 2,\n description: \"停机\",\n },\n {\n value: 3,\n description: \"库无\",\n },\n {\n value: 4,\n description: \"沉默号\",\n },\n {\n value: 5,\n description: \"风险号\",\n },\n ],\n ],\n [\n \"degreeEnum\",\n () => [\n {\n description: \"初中\",\n value: 10,\n },\n {\n description: \"中专\",\n value: 20,\n },\n {\n description: \"高中\",\n value: 30,\n },\n {\n description: \"大专\",\n value: 40,\n },\n {\n description: \"本科\",\n value: 50,\n },\n {\n description: \"硕士研究生\",\n value: 60,\n },\n {\n description: \"博士研究生\",\n value: 70,\n },\n {\n description: \"博士后\",\n value: 75,\n },\n {\n description: \"学历不限\",\n value: 999,\n },\n ],\n ],\n];\n\nconst EnumLoaderFetch = withFetch(({ data, children }) => {\n return typeof children === \"function\"\n ? children(data)\n : children || data?.description;\n});\n\nconst getEnumsMap = memoize((enums) => {\n return new Map(\n baseLoaders.concat(\n Object.keys(Object.assign({}, enums)).map((key) => [key, enums[key]])\n )\n );\n});\n\nconst EnumLoader = ({ loader: enumsLoader, ...props }) => {\n const {\n global: { enumsRef },\n } = useGlobalContext();\n const prevLocaleRef = useRef(null);\n return (\n <EnumLoaderFetch\n {...props}\n loader={async (...args) => {\n const enums = getEnumsMap(await enumsLoader(...args));\n const { params } = args[0];\n const { moduleName, name, force, locale } = params;\n\n const getEnumMap = async (moduleName) => {\n return (\n (() => {\n return (\n force !== true &&\n prevLocaleRef.current === locale &&\n enumsRef.current.get(moduleName)\n );\n })() ||\n (await (async () => {\n const loader = enums.get(moduleName);\n const output = await (async () => {\n if (typeof loader === \"function\") {\n return new Map(\n (await loader({ locale })).map((item) => {\n return [item.value.toString(), item];\n })\n );\n }\n if (Array.isArray(loader)) {\n return new Map(\n loader.map((item) => [item.value.toString(), item])\n );\n }\n if (typeof loader === \"object\") {\n return new Map(\n Object.keys(loader).map((key) => [\n key.toString(),\n loader[key],\n ])\n );\n }\n console.warn(\"枚举值loader的设置可能不正确\");\n return new Map();\n })();\n enumsRef.current.set(moduleName, output);\n prevLocaleRef.current = locale;\n return output;\n })())\n );\n };\n if (Array.isArray(moduleName)) {\n return await Promise.all(\n moduleName.map((target) =>\n getEnumMap(target).then((enumMap) => Array.from(enumMap.values()))\n )\n );\n }\n\n const enumMap = await getEnumMap(moduleName);\n if (!isNil(name)) {\n return enumMap.get(name.toString());\n }\n return Array.from(enumMap.values());\n }}\n />\n );\n};\n\nconst Enum = ({ moduleName, name, force, children, ...props }) => {\n const preset = usePreset();\n return (\n <EnumLoader\n {...props}\n params={{\n moduleName,\n locale: preset?.locale,\n enums: preset?.enums,\n name,\n force,\n }}\n loader={({ params }) => params.enums}\n >\n {children}\n </EnumLoader>\n );\n};\n\nEnum.defaultProps = {\n force: false,\n};\n\nexport default Enum;\n","// extracted by mini-css-extract-plugin\nexport default {\"filter\":\"style_filter__Xml45__+d3Mb\",\"filter-item-icon\":\"style_filter-item-icon__kVCRK__+d3Mb\",\"filter-item-option-icon\":\"style_filter-item-option-icon__q1fz3__+d3Mb\",\"filter-title\":\"style_filter-title__PlIpS__+d3Mb\",\"filter-title-hidden\":\"style_filter-title-hidden__NJ1ZB__+d3Mb\",\"ad-filter-title\":\"style_ad-filter-title__5-OzD__+d3Mb\",\"ad-filter-line\":\"style_ad-filter-line__ga6UH__+d3Mb\",\"filter-line\":\"style_filter-line__E+cRh__+d3Mb\",\"clean-btn\":\"style_clean-btn__oSEvm__+d3Mb\",\"filter-item\":\"style_filter-item__Q2ncE__+d3Mb\",\"un-expand\":\"style_un-expand__4PFY8__+d3Mb\",\"ad-filter-selected\":\"style_ad-filter-selected__KbLfG__+d3Mb\",\"filter-label\":\"style_filter-label__qu26i__+d3Mb\",\"filter-item-wrap\":\"style_filter-item-wrap__rOq7H__+d3Mb\",\"option\":\"style_option__rd5Qo__+d3Mb\",\"is-active\":\"style_is-active__OArQI__+d3Mb\",\"is-visited\":\"style_is-visited__gZ5ni__+d3Mb\",\"un-expand-shadow\":\"style_un-expand-shadow__fj92e__+d3Mb\",\"filter-item-label\":\"style_filter-item-label__C781J__+d3Mb\",\"filter-item-field\":\"style_filter-item-field__Ltfr8__+d3Mb\",\"filter-drop-tag\":\"style_filter-drop-tag__DD-2P__+d3Mb\",\"filter-list-tag\":\"style_filter-list-tag__Qt5hA__+d3Mb\",\"filter-tag\":\"style_filter-tag__dUGfu__+d3Mb\",\"filter-tag-value\":\"style_filter-tag-value__p-SFv__+d3Mb\",\"pop-util-content\":\"style_pop-util-content__bx5zP__+d3Mb\",\"pop-util-overlay\":\"style_pop-util-overlay__LEASt__+d3Mb\",\"pop-util-footer\":\"style_pop-util-footer__Xat1s__+d3Mb\",\"pop-util-text\":\"style_pop-util-text__pzeUy__+d3Mb\",\"filter-item-inner\":\"style_filter-item-inner__LVXgh__+d3Mb\",\"filter-item-text\":\"style_filter-item-text__MA8tU__+d3Mb\",\"filter-item-custom\":\"style_filter-item-custom__UusRa__+d3Mb\",\"filter-item-custom-active\":\"style_filter-item-custom-active__uFtny__+d3Mb\",\"filter-item-number-range-split\":\"style_filter-item-number-range-split__fVt8E__+d3Mb\",\"filter-item-number-input\":\"style_filter-item-number-input__YPO6K__+d3Mb\",\"range-picker\":\"style_range-picker__c6ngq__+d3Mb\",\"cascader-select-wrap\":\"style_cascader-select-wrap__z5hu7__+d3Mb\",\"cascader-dropdown-menu\":\"style_cascader-dropdown-menu__nhAH5__+d3Mb\"};","const importMessages = (locale) => {\n return {\n \"en-US\": () => import(\"./en-US\"),\n \"zh-CN\": () => import(\"./zh-CN\"),\n }[locale]();\n};\n\nexport default importMessages;\n","import { Button, Space } from \"antd\";\nimport StateTag from \"@components/StateTag\";\nimport { FormattedMessage, IntlProvider } from \"@components/Intl\";\nimport style from \"@components/Filter/style.module.scss\";\nimport classnames from \"classnames\";\nimport importMessages from \"@components/Filter/locale\";\n\nconst FilterValueDisplay = ({ value: filterValue, extraExpand, onChange }) => {\n return (\n <IntlProvider importMessages={importMessages} moduleName=\"Filter\">\n <Space className={style[\"filter-title\"]} align=\"top\" size={16}>\n <span className={style[\"filter-label\"]}>\n <FormattedMessage\n id=\"selectedText\"\n moduleName=\"Filter\"\n defaultMessage=\"您已选择\"\n />\n </span>\n {/*<div className={style[\"filter-list\"]}>*/}\n <div className={style[\"filter-line\"]}>\n {filterValue.map(({ name, label, value }, index) => {\n return (\n <StateTag\n key={name}\n type=\"filterResult\"\n filterName={label}\n text={\n Array.isArray(value)\n ? value\n .map((item) => {\n return item.label;\n })\n .join(\",\")\n : value.label\n }\n closable\n onClose={() => {\n const newValue = filterValue.slice(0);\n newValue.splice(index, 1);\n onChange(newValue);\n }}\n />\n );\n })}\n <Space size={4} className={classnames(style[\"un-expand-shadow\"])}>\n {extraExpand}\n <Button size=\"small\">\n <FormattedMessage\n id=\"clearAllText\"\n moduleName=\"Filter\"\n defaultMessage=\"清空全部\"\n />\n </Button>\n </Space>\n <Space size={4} className={classnames(style[\"un-expand\"])}>\n {extraExpand}\n <Button\n size=\"small\"\n onClick={() => {\n onChange([]);\n }}\n >\n <FormattedMessage\n id=\"clearAllText\"\n moduleName=\"Filter\"\n defaultMessage=\"清空全部\"\n />\n </Button>\n </Space>\n\n </div>\n {/*</div>*/}\n </Space>\n </IntlProvider>\n );\n};\n\nexport default FilterValueDisplay;\n","import classnames from \"classnames\";\nimport { Space } from \"antd\";\nimport Icon from \"@components/Icon\";\nimport style from \"./style.module.scss\";\n\nconst FilterItem = ({ open, active, label, children }) => {\n return (\n <Space className={style[\"filter-item-wrap\"]}>\n <div\n className={classnames(style[\"filter-item\"], {\n [style[\"is-active\"]]: active,\n [style[\"is-visited\"]]: open,\n })}\n >\n <Space className={style[\"filter-item-label\"]} size={4}>\n <div>{label}</div>\n <Icon\n className={style[\"filter-item-icon\"]}\n type=\"icon-triangle-down\"\n />\n </Space>\n <div className={style[\"filter-item-field\"]}>{children}</div>\n </div>\n </Space>\n );\n};\n\nexport default FilterItem;\n","import { createContext, useContext as useReactContext } from \"react\";\n\nexport const context = createContext({});\n\nexport const { Provider } = context;\n\nexport const useContext = () => useReactContext(context);\n","import classnames from \"classnames\";\nimport { useState } from \"react\";\nimport Icon from \"@components/Icon\";\nimport style from \"./style.module.scss\";\nimport { Col, Row, Space } from \"antd\";\nimport { FormattedMessage, IntlProvider } from \"@components/Intl\";\nimport importMessages from \"./locale\";\nimport { useContext } from \"./context\";\nimport get from \"lodash/get\";\n\nconst Line = ({ list, children }) => {\n const { value, onChange } = useContext();\n return (\n <div className={style[\"filter-line\"]}>\n {list.map((item, index) => {\n const ComponentItem = item.type;\n return (\n <ComponentItem\n {...item.props}\n key={item.key || item.props.name || index}\n value={\n value\n ? get(value.get(item.props.name), \"value\")\n : item.props.value\n }\n onChange={\n onChange\n ? (value) =>\n onChange({\n name: item.props.name,\n label: item.props.label,\n value,\n })\n : item.props.onChange\n }\n />\n );\n })}\n {children}\n </div>\n );\n};\n\nconst FilterLines = ({ list, displayLine, label, extra, children }) => {\n const hasMore = list.length > displayLine;\n const [isExpand, setIsExpand] = useState(false);\n\n return (\n <IntlProvider importMessages={importMessages} moduleName=\"Filter\">\n <Space\n className={classnames(style[\"filter-title\"])}\n align=\"top\"\n size={16}\n >\n <span className={style[\"filter-label\"]}>\n {label || (\n <FormattedMessage\n id=\"filterText\"\n moduleName=\"Filter\"\n defaultMessage=\"筛选\"\n />\n )}\n </span>\n <Row justify=\"space-between\" wrap={false} align=\"middle\">\n <Col className={style[\"filter-list\"]} flex={1}>\n {list.slice(0, displayLine).map((item, index) => (\n <Line key={index} list={item}>\n {hasMore && isExpand === false && index === displayLine - 1 ? (\n <Space\n size={4}\n className={classnames(\n style[\"filter-item\"],\n style[\"option\"]\n )}\n onClick={() => {\n setIsExpand((value) => !value);\n }}\n >\n <FormattedMessage\n id=\"moreText\"\n moduleName=\"Filter\"\n defaultMessage=\"更多\"\n />\n <Icon\n className={style[\"filter-item-option-icon\"]}\n type=\"icon-arrow-thin-down\"\n />\n </Space>\n ) : null}\n </Line>\n ))}\n </Col>\n <Col>{extra}</Col>\n </Row>\n </Space>\n <Space\n className={classnames(style[\"filter-title\"], \"filter-title-wrap\")}\n align=\"center\"\n size={16}\n >\n {children}\n </Space>\n <Space\n className={classnames(style[\"filter-title\"], \"filter-title-wrap\", {\n [style[\"filter-title-hidden\"]]: !(hasMore && isExpand),\n })}\n align=\"top\"\n size={16}\n >\n <span className={style[\"filter-label\"]}>\n <FormattedMessage\n id=\"moreText\"\n moduleName=\"Filter\"\n defaultMessage=\"更多\"\n />\n </span>\n <div className={style[\"filter-list\"]}>\n {list.slice(displayLine).map((item, index) => (\n <Line key={index} list={item}>\n {index === list.length - displayLine - 1 && (\n <>\n <Space\n size={4}\n className={classnames(style[\"un-expand-shadow\"])}\n >\n <Space\n size={4}\n className={classnames(\n style[\"option\"],\n style[\"filter-item\"]\n )}\n >\n <FormattedMessage\n id=\"toggleUpText\"\n moduleName=\"Filter\"\n defaultMessage=\"收起\"\n />\n <Icon\n className={style[\"filter-item-option-icon\"]}\n type=\"icon-arrow-thin-up\"\n />\n </Space>\n </Space>\n <Space\n size={4}\n className={classnames(style[\"un-expand\"])}\n onClick={() => {\n setIsExpand((value) => !value);\n }}\n >\n <Space\n size={4}\n className={classnames(\n style[\"option\"],\n style[\"filter-item\"]\n )}\n >\n <FormattedMessage\n id=\"toggleUpText\"\n moduleName=\"Filter\"\n defaultMessage=\"收起\"\n />\n <Icon\n className={style[\"filter-item-option-icon\"]}\n type=\"icon-arrow-thin-up\"\n />\n </Space>\n </Space>\n </>\n )}\n </Line>\n ))}\n </div>\n </Space>\n </IntlProvider>\n );\n};\n\nFilterLines.defaultProps = {\n displayLine: 1,\n};\n\nexport default FilterLines;\n","import { useState, useMemo } from \"react\";\nimport { Button, Col, Popover, Row } from \"antd\";\nimport FilterItem from \"./FilterItem\";\nimport isNotEmpty from \"@common/utils/isNotEmpty\";\nimport classnames from \"classnames\";\nimport { FormattedMessage } from \"@components/Intl\";\nimport style from \"./style.module.scss\";\n\nconst PopoverItem = ({\n value,\n label,\n onValidate,\n overlayClassName,\n placement,\n onOpenChange,\n onChange,\n children,\n}) => {\n const [state, setState] = useState(value);\n const [open, setOpen] = useState(false);\n const disabled = useMemo(() => {\n return onValidate && !onValidate(state);\n }, [onValidate, state]);\n return (\n <Popover\n open={open}\n trigger=\"click\"\n placement={placement}\n overlayClassName={classnames(style[\"pop-util-overlay\"], overlayClassName)}\n onOpenChange={(open) => {\n setOpen(open);\n setState(value);\n onOpenChange && onOpenChange(open);\n }}\n content={\n <span\n onClick={(e) => {\n e.stopPropagation();\n }}\n >\n <div className={style[\"pop-util-content\"]}>\n {children({ value: state, onChange: setState })}\n </div>\n <Row className={style[\"pop-util-footer\"]} justify=\"end\" gutter={8}>\n <Col>\n <Button\n size=\"small\"\n onClick={() => {\n setOpen(false);\n onOpenChange && onOpenChange(false);\n }}\n >\n <FormattedMessage\n id=\"cancelText\"\n moduleName=\"Filter\"\n defaultMessage=\"取消\"\n />\n </Button>\n </Col>\n <Col>\n <Button\n size=\"small\"\n type=\"primary\"\n disabled={disabled}\n onClick={() => {\n setOpen(false);\n onOpenChange && onOpenChange(false);\n onChange && onChange(state);\n }}\n >\n <FormattedMessage\n id=\"determineText\"\n moduleName=\"Filter\"\n defaultMessage=\"确定\"\n />\n </Button>\n </Col>\n </Row>\n </span>\n }\n >\n <span>\n <FilterItem open={open} active={isNotEmpty(value)} label={label} />\n </span>\n </Popover>\n );\n};\n\nPopoverItem.defaultProps = {\n placeholder: \"请选择\",\n placement: \"bottomLeft\",\n};\n\nexport default PopoverItem;\n","import { useState } from \"react\";\nimport isNotEmpty from \"@common/utils/isNotEmpty\";\nimport FilterItem from \"./FilterItem\";\nimport style from \"./style.module.scss\";\n\nconst withFieldItem =\n (WrappedComponent) =>\n ({ value, onChange, label, ...props }) => {\n const [open, setOpen] = useState(false);\n return (\n <FilterItem label={label} open={open} active={isNotEmpty(value)}>\n <WrappedComponent\n {...props}\n className={style[\"filter-item-inner\"]}\n value={value}\n onChange={onChange}\n valueType=\"all\"\n onOpenChange={setOpen}\n />\n </FilterItem>\n );\n };\n\nexport default withFieldItem;\n","import transform from \"lodash/transform\";\n\nconst getFilterValue = (filterValue) => {\n return transform(\n filterValue,\n (result, { name, value }) => {\n result[name] = Array.isArray(value)\n ? value.map(({ value }) => value)\n : value.value;\n },\n {}\n );\n};\n\nexport default getFilterValue;\n","const FilterItemContainer = ({ children, ...props }) => {\n return children(props);\n};\n\nexport default FilterItemContainer;\n","// extracted by mini-css-extract-plugin\nexport default {\"scroll-loader\":\"style_scroll-loader__Rcuti__+d3Mb\",\"is-popup\":\"style_is-popup__pCRv2__+d3Mb\"};","import SelectInnerInput from \"@common/components/SelectInnerInput\";\nimport { useMemo, useRef } from \"react\";\nimport useRefCallback from \"@kne/use-ref-callback\";\nimport style from \"./style.module.scss\";\nimport classnames from \"classnames\";\nimport { Space, Tree } from \"antd\";\nimport SimpleBar from \"@common/components/SimpleBar\";\nimport get from \"lodash/get\";\nimport omit from \"lodash/omit\";\nimport memoize from \"lodash/memoize\";\n\nconst useSelectInnerContext = SelectInnerInput.useContext;\n\nconst TreeFieldInner = ({ value: selected, setValue: setSelect, size }) => {\n const { fetchApi, props } = useSelectInnerContext();\n const dataFormat = useRefCallback(props.dataFormat);\n const { single, isPopup, searchPlaceholder, ...others } = props;\n const fieldNamesRef = useRef(props.fieldNames);\n fieldNamesRef.current = props.fieldNames;\n const fetchData = fetchApi.data;\n const { treeData } = useMemo(\n () =>\n dataFormat(fetchData, {\n fieldNames: fieldNamesRef.current,\n }),\n [dataFormat, fetchData]\n );\n\n return (\n <Space direction=\"vertical\" size={16}>\n <SimpleBar\n className={classnames(style[\"scroll-loader\"], {\n [style[\"is-popup\"]]: props.isPopup,\n })}\n >\n <Tree\n {...omit(others, [\"value\", \"valueType\", \"children\", \"dataFormat\"])}\n size={size}\n checkable={!single}\n treeData={treeData}\n onCheck={setSelect}\n checkedKeys={selected}\n onSelect={\n single\n ? setSelect\n : (selectKeys) => {\n const selectKey = selectKeys[0];\n if (selectKey === void 0) {\n return;\n }\n setSelect((current) => {\n const newCurrent = current.slice(0);\n const index = newCurrent.indexOf(selectKey);\n if (index > -1) {\n newCurrent.splice(index, 1);\n } else {\n newCurrent.push(selectKey);\n }\n return newCurrent;\n });\n }\n }\n selectedKeys={single ? selected : undefined}\n />\n </SimpleBar>\n </Space>\n );\n};\n\nconst TreeField = ({ maxLength, dataFormat, ...props }) => {\n return (\n <SelectInnerInput\n {...props}\n dataFormat={(data) => {\n return dataFormat(data, { fieldNames: props.fieldNames });\n }}\n >\n {({ value, setValue }) => {\n return (\n <TreeFieldInner size={maxLength} value={value} setValue={setValue} />\n );\n }}\n </SelectInnerInput>\n );\n};\n\nTreeField.defaultProps = {\n searchPlaceholder: \"搜索\",\n maxLength: Number.MAX_VALUE,\n size: \"middle\",\n isPopup: true,\n checkStrictly: false,\n dataFormat: (data, { fieldNames }) => {\n const treeToList = memoize((nodeList, { fieldNames }) => {\n const list = [];\n const core = (nodeList) => {\n if (!(Array.isArray(nodeList) && nodeList.length > 0)) {\n return;\n }\n nodeList.forEach((node) => {\n const value = node[get(fieldNames, \"key\", \"key\")],\n label = node[get(fieldNames, \"title\", \"title\")],\n children = node[get(fieldNames, \"children\", \"children\")];\n list.push({ id: value, value, label });\n core(children);\n });\n };\n core(nodeList);\n return list;\n });\n\n return {\n treeData: data,\n list: treeToList(data, { fieldNames }),\n };\n },\n};\n\nexport default TreeField;\n","import PopoverItem from \"../PopoverItem\";\nimport { Input } from \"antd\";\nimport get from \"lodash/get\";\nimport style from \"../style.module.scss\";\n\nconst InputFilterItem = ({\n label,\n value,\n onChange,\n placeholder,\n onValidate,\n overlayClassName,\n placement,\n onOpenChange,\n ...props\n}) => {\n return (\n <PopoverItem\n label={label}\n value={value}\n onChange={onChange}\n {...{ onValidate, overlayClassName, placement, onOpenChange }}\n >\n {({ value, onChange }) => (\n <Input\n {...props}\n placeholder={placeholder || `请输入${label}`}\n className={style[\"filter-item-text\"]}\n value={get(value, \"value\", \"\")}\n onChange={(e) =>\n onChange(\n e.target.value\n ? { label: e.target.value, value: e.target.value }\n : null\n )\n }\n />\n )}\n </PopoverItem>\n );\n};\n\nexport default InputFilterItem;\n","import { DatePicker } from \"antd\";\nimport withFieldItem from \"../withFieldItem\";\nimport dayjs from \"dayjs\";\n\nconst DatePickerFilterItem = withFieldItem(\n ({ value, onChange, picker, ...props }) => {\n return (\n <DatePicker\n {...props}\n picker={picker}\n value={value && dayjs(value.value)}\n onChange={(value) => {\n const { format } = Object.assign({ format: \"YYYY-MM-DD\" }, props);\n value &&\n onChange({\n label:\n picker !== \"date\"\n ? `${value.startOf(picker).format(format)}~${value\n .endOf(picker)\n .format(format)}`\n : value.format(format),\n value: new Date(value.startOf(picker).valueOf()),\n });\n }}\n />\n );\n }\n);\n\nDatePickerFilterItem.defaultProps = \"date\";\n\nexport default DatePickerFilterItem;\n","import { DatePicker } from \"antd\";\nimport withFieldItem from \"../withFieldItem\";\nimport dayjs from \"dayjs\";\n\nconst DateRangePickerFilterItem = withFieldItem(\n ({ value, onChange, ...props }) => {\n return (\n <DatePicker.RangePicker\n {...props}\n allowEmpty={[false, false]}\n value={\n value &&\n Array.isArray(value.value) &&\n value.value.length === 2 &&\n value.value.map((item) => dayjs(item))\n }\n onChange={(value) => {\n const { format } = Object.assign({ format: \"YYYY-MM-DD\" }, props);\n onChange({\n label: value.map((item) => item.format(format)).join(\"~\"),\n value: value.map((item) => new Date(item.valueOf())),\n });\n }}\n />\n );\n }\n);\n\nexport default DateRangePickerFilterItem;\n","import PopoverItem from \"../PopoverItem\";\nimport TypeDateRangePickerField from \"@common/components/TypeDateRangePickerField\";\nimport get from \"lodash/get\";\nimport style from \"../style.module.scss\";\nimport dayjs from \"dayjs\";\n\nconst TypeDateRangePickerFilterItem = ({\n label,\n value,\n onChange,\n ...props\n}) => {\n return (\n <PopoverItem\n label={label}\n value={value}\n onChange={onChange}\n onValidate={(item) => {\n const value = item?.value;\n return (\n value?.type && Array.isArray(value?.value) && value.value.length === 2\n );\n }}\n >\n {({ value, onChange }) => (\n <TypeDateRangePickerField\n {...props}\n className={style[\"filter-item-text\"]}\n value={get(value, \"value\")}\n onChange={(pickerValue) => {\n const { format } = Object.assign({ format: \"YYYY-MM-DD\" }, props);\n const value = pickerValue?.value || [];\n onChange({\n label: (() => {\n if (value[0] && !value[1]) {\n return `${dayjs(value[0]).format(format)}以后`;\n }\n if (!value[0] && value[1]) {\n return `${dayjs(value[1]).format(format)}以前`;\n }\n if (value[0] && value[1]) {\n return `${dayjs(value[0]).format(format)}~${dayjs(\n value[1]\n ).format(format)}`;\n }\n return \"\";\n })(),\n value: pickerValue,\n });\n }}\n />\n )}\n </PopoverItem>\n );\n};\n\nexport default TypeDateRangePickerFilterItem;\n","import { FormattedMessage } from \"@components/Intl\";\nimport withFieldItem from \"../withFieldItem\";\nimport AdvancedSelectField, {\n UserField,\n} from \"@common/components/AdvancedSelectField\";\nimport FunctionSelectField from \"@common/components/FunctionSelectField\";\nimport AddressSelectField from \"@common/components/AddressSelectField\";\nimport IndustrySelectField from \"@common/components/IndustrySelectField\";\nimport CascaderField from \"@common/components/CascaderField\";\nimport TreeField from \"@common/components/TreeField\";\nimport InputFilterItemField from \"./InputFilterItem\";\n\nconst withInputDefaultPlaceholder =\n (WrappedComponent) =>\n ({ placeholder, label, ...props }) =>\n (\n <FormattedMessage\n id=\"defaultInputPlaceholder\"\n moduleName=\"Filter\"\n values={{ label }}\n >\n {(text) => {\n return (\n <WrappedComponent\n {...props}\n label={label}\n placeholder={placeholder || text}\n />\n );\n }}\n </FormattedMessage>\n );\n\nexport const AdvancedSelectFilterItem = withFieldItem(AdvancedSelectField);\nexport const UserFilterItem = withFieldItem(UserField);\nexport const FunctionSelectFilterItem = withFieldItem(FunctionSelectField);\nexport const IndustrySelectFilterItem = withFieldItem(IndustrySelectField);\n\nexport const CityFilterItem = withFieldItem(AddressSelectField);\n\nexport const CascaderFilterItem = withFieldItem(CascaderField);\n\nexport const TreeFilterItem = withFieldItem(TreeField);\nexport const InputFilterItem =\n withInputDefaultPlaceholder(InputFilterItemField);\n\nexport { default as DatePickerFilterItem } from \"./DatePickerFilterItem\";\nexport { default as DateRangePickerFilterItem } from \"./DateRangePickerFilterItem\";\nexport { default as TypeDateRangePickerFilterItem } from \"./TypeDateRangePickerFilterItem\";\n","import { Provider } from \"./context\";\nimport useControlValue from \"@kne/use-control-value\";\nimport FilterLines from \"./FilterLines\";\nimport FilterValueDisplay from \"./FilterValueDisplay\";\nimport clone from \"lodash/clone\";\nimport classnames from \"classnames\";\nimport style from \"./style.module.scss\";\nimport { useMemo } from \"react\";\nimport { isNotEmpty } from \"@components/Common\";\nimport importMessages from \"@components/FormInfo/locale\";\nimport { IntlProvider } from \"@components/Intl\";\n\nconst Filter = (props) => {\n const { extraExpand, className, ...others } = props;\n const [valueBase, onChange] = useControlValue(props);\n\n const value = useMemo(() => {\n return valueBase.filter((item) => isNotEmpty(item.value));\n }, [valueBase]);\n\n const filterValue = useMemo(() => {\n return new Map(value.map((item) => [item.name, item]));\n }, [value]);\n\n return (\n <IntlProvider moduleName=\"Filter\" importMessages={importMessages}>\n <Provider\n value={{\n value: filterValue,\n onChange: (item) => {\n const newFilterValue = clone(filterValue);\n item.value\n ? newFilterValue.set(item.name, item)\n : newFilterValue.delete(item.name);\n onChange?.(Array.from(newFilterValue.values()));\n },\n }}\n >\n <div className={classnames(style[\"filter\"], className)}>\n <FilterLines {...others} />\n {value && value.length > 0 && (\n <FilterValueDisplay\n value={value}\n onChange={onChange}\n extraExpand={extraExpand}\n />\n )}\n </div>\n </Provider>\n </IntlProvider>\n );\n};\n\nFilter.defaultProps = {\n defaultValue: [],\n};\n\nexport default Filter;\n","const importMessages = (locale) => {\n return {\n \"en-US\": () => import(\"./en-US\"),\n \"zh-CN\": () => import(\"./zh-CN\"),\n }[locale]();\n};\n\nexport default importMessages;\n","const importMessages = (locale) => {\n return {\n \"en-US\": () => import(\"./en-US\"),\n \"zh-CN\": () => import(\"./zh-CN\"),\n }[locale]();\n};\n\nexport default importMessages;\n","// extracted by mini-css-extract-plugin\nexport default {\"helper-guide\":\"style_helper-guide__K5xFw__+d3Mb\",\"inner\":\"style_inner__bMKeU__+d3Mb\",\"content\":\"style_content__xTfWZ__+d3Mb\",\"link\":\"style_link__93j7O__+d3Mb\"};","import importMessages from \"./locale\";\nimport { IntlProvider } from \"@components/Intl\";\nimport Icon from \"@components/Icon\";\nimport { Space, Typography } from \"antd\";\nimport classnames from \"classnames\";\nimport style from \"./style.module.scss\";\nimport Enum from \"@components/Enum\";\n\nconst HelperGuide = ({ name, className }) => {\n return (\n <IntlProvider importMessages={importMessages} moduleName=\"HelperGuide\">\n <Enum moduleName=\"helperGuide\" name={name}>\n {(data) => {\n return (\n data &&\n data.value && (\n <div className={classnames(style[\"helper-guide\"], className)}>\n <Space className={style[\"inner\"]}>\n <Icon colorful type=\"icon-color-bangzhuyindao\" />\n <span className={style[\"content\"]}>{data.content}</span>\n {data.url && (\n <Typography.Link\n className={style[\"link\"]}\n href={data.url}\n target=\"_blank\"\n >\n 查看帮助\n <Icon type=\"icon-shuangjiantou-right\" />\n </Typography.Link>\n )}\n </Space>\n </div>\n )\n );\n }}\n </Enum>\n </IntlProvider>\n );\n};\n\nexport default HelperGuide;\n","import { createContext, useContext as useReactContext } from \"react\";\n\nexport const defaultProps = {\n menu: null,\n filter: null,\n menuOpen: true,\n menuWidth: \"240px\",\n menuFixed: true,\n menuCloseButton: true,\n backgroundColor: null,\n header: null,\n headerHeight: 0,\n headerFixed: true,\n headerInfo: null,\n backUrl: null,\n title: null,\n titleExtra: null,\n titleLeftExtra: null,\n noMargin: false,\n noPadding: false,\n optionFooterHeight: 0,\n option: null,\n optionWidth: \"400px\",\n optionNoPadding: false,\n optionFixed: true,\n optionFooter: null,\n};\n\nexport const context = createContext({});\n\nexport const { Provider, Consumer } = context;\n\nexport const useContext = () => {\n return useReactContext(context);\n};\n\nexport default context;\n","// extracted by mini-css-extract-plugin\nexport default {\"layout\":\"style_layout__k+lxR__+d3Mb\",\"page-content\":\"style_page-content__4XeN8__+d3Mb\",\"page-main\":\"style_page-main__P0yEF__+d3Mb\",\"page-main-content\":\"style_page-main-content__1OVPN__+d3Mb\",\"table-page\":\"style_table-page__JkbLf__+d3Mb\",\"helper-guide\":\"style_helper-guide__vzw4z__+d3Mb\",\"page-outer\":\"style_page-outer__2a6iH__+d3Mb\",\"no-margin\":\"style_no-margin__S6caT__+d3Mb\",\"page-menu\":\"style_page-menu__CZSa9__+d3Mb\",\"closed\":\"style_closed__hmnft__+d3Mb\",\"page-menu-inner\":\"style_page-menu-inner__rmKpu__+d3Mb\",\"page-menu-main\":\"style_page-menu-main__OXg2M__+d3Mb\",\"page-option-main\":\"style_page-option-main__LyfT3__+d3Mb\",\"page-menu-main-outer\":\"style_page-menu-main-outer__yY+-Q__+d3Mb\",\"page-option\":\"style_page-option__diS2S__+d3Mb\",\"page-option-inner\":\"style_page-option-inner__Fj1JH__+d3Mb\",\"page-option-footer\":\"style_page-option-footer__d7xE0__+d3Mb\",\"fixed-container\":\"style_fixed-container__1VZwY__+d3Mb\",\"is-fixed\":\"style_is-fixed__1aQhp__+d3Mb\",\"page-menu-btn-outer\":\"style_page-menu-btn-outer__iVJiW__+d3Mb\",\"page-menu-btn\":\"style_page-menu-btn__BiTy8__+d3Mb\",\"page-title\":\"style_page-title__zw-Fd__+d3Mb\",\"page-title-text\":\"style_page-title-text__Rj4RC__+d3Mb\",\"no-padding\":\"style_no-padding__V7Dwy__+d3Mb\",\"page-header\":\"style_page-header__a813p__+d3Mb\",\"page-header-info\":\"style_page-header-info__cMrZR__+d3Mb\",\"layout-menu\":\"style_layout-menu__yiab0__+d3Mb\",\"sub-menu\":\"style_sub-menu__dyqK7__+d3Mb\",\"no-collapsed\":\"style_no-collapsed__76h8W__+d3Mb\",\"has-not-children\":\"style_has-not-children__fnjRK__+d3Mb\",\"table-page-top\":\"style_table-page-top__bt1l9__+d3Mb\",\"error-component\":\"style_error-component__HvghB__+d3Mb\",\"state-bar-page\":\"style_state-bar-page__+aUM4__+d3Mb\",\"back-icon\":\"style_back-icon__79v2G__+d3Mb\"};","import style from \"../style.module.scss\";\nimport classnames from \"classnames\";\n\nconst FixedContainer = ({ className, isFixed, children }) => {\n if (isFixed) {\n return (\n <div\n className={classnames(\n className,\n \"fixed-container\",\n style[\"fixed-container\"],\n {\n [style[\"is-fixed\"]]: isFixed,\n }\n )}\n >\n {children}\n </div>\n );\n }\n return (\n <div\n className={classnames(\n className,\n \"fixed-container\",\n style[\"fixed-container\"]\n )}\n >\n {children}\n </div>\n );\n};\n\nexport default FixedContainer;\n","import { Button, Col } from \"antd\";\nimport classnames from \"classnames\";\nimport style from \"../style.module.scss\";\nimport FixedContainer from \"./FixedContainer\";\nimport { useContext } from \"../context\";\nimport Icon from \"@components/Icon\";\nimport SimpleBar from \"@common/components/SimpleBar\";\nimport { useLocation } from \"react-router-dom\";\nimport get from \"lodash/get\";\nimport isNotEmpty from \"@utils/isNotEmpty\";\nimport localStorage from \"@utils/localStorage\";\nimport { useMemo } from \"react\";\n\nconst pageMenuOpenKey = \"CORE_PAGE_MENU_OPEN_KEY\";\n\nexport const useMenuOpen = () => {\n const location = useLocation();\n const pathModuleName = location.pathname.split(\"/\")[1];\n return useMemo(() => {\n const pageResult = localStorage.getItem(pageMenuOpenKey) || {};\n return isNotEmpty(get(pageResult, pathModuleName))\n ? get(pageResult, pathModuleName)\n : true;\n }, [pathModuleName]);\n};\n\nconst Menu = () => {\n const { pageProps, setPageProps } = useContext();\n const { menu, menuOpen, menuWidth, menuFixed, menuCloseButton } = pageProps;\n\n const location = useLocation();\n const pathModuleName = location.pathname.split(\"/\")[1];\n\n return menu ? (\n <Col\n className={classnames(style[\"page-menu\"], {\n [style[\"closed\"]]: !menuOpen,\n })}\n style={{ \"--width\": menuWidth }}\n >\n <FixedContainer className={style[\"page-menu-inner\"]} isFixed={menuFixed}>\n <div className={style[\"page-menu-main-outer\"]}>\n <SimpleBar className={style[\"page-menu-main\"]}>{menu}</SimpleBar>\n </div>\n </FixedContainer>\n {menuCloseButton ? (\n <FixedContainer\n className={classnames(style[\"page-menu-btn-outer\"], {\n [style[\"is-fixed\"]]: menuFixed,\n })}\n isFixed={menuFixed}\n >\n <Button\n className={classnames(style[\"page-menu-btn\"], {\n [style[\"closed\"]]: !menuOpen,\n })}\n icon={\n menuOpen ? (\n <Icon type=\"icon-arrow-bold-left\" />\n ) : (\n <Icon type=\"icon-arrow-bold-right\" />\n )\n }\n onClick={() => {\n setPageProps({ menuOpen: !pageProps.menuOpen });\n const pageResult = localStorage.getItem(pageMenuOpenKey) || {};\n pageResult[pathModuleName] = !pageProps.menuOpen;\n localStorage.setItem(pageMenuOpenKey, pageResult);\n setPageProps({ menuOpen: !pageProps.menuOpen });\n }}\n />\n </FixedContainer>\n ) : null}\n </Col>\n ) : null;\n};\n\nexport default Menu;\n","import { defaultProps, useContext } from \"../context\";\nimport isEqual from \"lodash/isEqual\";\nimport { useEffect, useRef } from \"react\";\nimport { Result } from \"antd\";\nimport Features from \"@components/Features\";\nimport { useMenuOpen } from \"./Menu\";\n\nconst PageInner = ({ children, isPass, ...props }) => {\n const { setPageProps } = useContext();\n const propsRef = useRef(null);\n const localMenuOpen = useMenuOpen();\n const localMenuOpenRef = useRef(localMenuOpen);\n localMenuOpenRef.current = localMenuOpen;\n useEffect(() => {\n if (!isEqual(propsRef.current, props)) {\n propsRef.current = props;\n /**\n * 解决两个页面都用header时,menuButton产生的跳动问题:如果下一个页面有header,\n * headerHeight由其header组件自己更新,不再统一重置为0。\n * optionFooter同理\n * */\n const targetProps = Object.assign(\n {},\n defaultProps,\n props,\n typeof localMenuOpenRef.current === \"boolean\"\n ? { menuOpen: localMenuOpenRef.current }\n : {}\n );\n if (targetProps.header && targetProps.headerHeight === 0) {\n delete targetProps[\"headerHeight\"];\n }\n if (targetProps.optionFooter && targetProps.optionFooterHeight === 0) {\n delete targetProps[\"optionFooter\"];\n }\n setPageProps(targetProps);\n }\n }, [props, setPageProps]);\n\n if (isPass === false) {\n return <Result status=\"403\" subTitle=\"暂未开放此功能\" />;\n }\n\n return children;\n};\n\nconst Page = ({ featureId, name, openFeatures, ...props }) => {\n if (openFeatures === true) {\n return (\n <Features id={name}>\n {({ isPass }) => <PageInner {...props} key={name} isPass={isPass} />}\n </Features>\n );\n }\n return <PageInner {...props} key={name} />;\n};\n\nPage.defaultProps = defaultProps;\n\nexport default Page;\n","import { Affix as AntdAffix } from \"antd\";\n\nconst Affix = ({ isFixed, offsetTop, offsetBottom, onChange, ...props }) => {\n if (!isFixed) {\n return <div {...props} />;\n }\n return (\n <AntdAffix\n {...props}\n offsetTop={Number.isInteger(offsetTop) ? offsetTop - 0.1 : offsetTop}\n offsetBottom={offsetBottom}\n onChange={onChange}\n />\n );\n};\n\nexport default Affix;\n","import { useContext } from \"@components/Layout/context\";\nimport { useLayoutEffect, useRef } from \"react\";\n\nconst useContainerHeight = ({ targetKey }) => {\n const { setPageProps } = useContext();\n const ref = useRef(null);\n useLayoutEffect(() => {\n const callback = () => {\n setPageProps({\n [targetKey]: ref.current.offsetHeight,\n });\n };\n\n callback();\n const resizeObserver = new MutationObserver(callback);\n resizeObserver.observe(ref.current, { subtree: true, childList: true });\n return () => {\n resizeObserver.disconnect();\n };\n }, [setPageProps, targetKey]);\n\n return ref;\n};\n\nconst ContainerHeight = ({ targetKey, ...props }) => {\n const ref = useContainerHeight({ targetKey });\n return <div {...props} ref={ref} />;\n};\n\nexport default ContainerHeight;\n","import { useContext } from \"../context\";\nimport Affix from \"../Affix\";\nimport { navigationHeight } from \"@components/Navigation\";\nimport ContainerHeight from \"./ContainerHeight\";\nimport style from \"../style.module.scss\";\n\nconst Header = () => {\n const { pageProps } = useContext();\n const { header, headerFixed } = pageProps;\n return header ? (\n <Affix\n isFixed={headerFixed}\n className={style[\"page-header\"]}\n offsetTop={navigationHeight}\n >\n <ContainerHeight targetKey=\"headerHeight\">{header}</ContainerHeight>\n </Affix>\n ) : null;\n};\n\nexport default Header;\n","import { useContext } from \"../context\";\nimport { useRef } from \"react\";\nimport style from \"../style.module.scss\";\nimport classnames from \"classnames\";\n\nconst HeaderInfo = () => {\n const { pageProps } = useContext();\n const { headerInfo } = pageProps;\n const headerInfoRef = useRef(null);\n return headerInfo ? (\n <div\n ref={headerInfoRef}\n className={classnames(style[\"page-header-info\"], \"page-header-info\")}\n >\n {headerInfo}\n </div>\n ) : null;\n};\n\nexport default HeaderInfo;\n","import { Col, Row, Space } from \"antd\";\nimport { useNavigate } from \"react-router-dom\";\nimport Filter from \"@components/Filter\";\nimport Icon from \"@components/Icon\";\nimport style from \"../style.module.scss\";\n\nconst PageTitle = ({ title, filter, titleExtra, titleLeftExtra, backUrl }) => {\n const navigator = useNavigate();\n if (filter) {\n return (\n <Filter className={style[\"page-title\"]} {...filter} extra={titleExtra} />\n );\n }\n if (!(title || titleLeftExtra || titleExtra)) {\n return null;\n }\n return (\n <Row justify=\"space-between\" align=\"middle\" className={style[\"page-title\"]}>\n <Col>\n <Space>\n {title ? (\n <div className={style[\"page-title-text\"]}>\n {backUrl ? (\n <Space>\n <span\n className={style[\"back-icon\"]}\n onClick={() => {\n navigator(backUrl);\n }}\n >\n <Icon type=\"icon-arrow-thin-left\" />\n </span>\n <span>{title}</span>\n </Space>\n ) : (\n title\n )}\n </div>\n ) : null}\n {titleLeftExtra ? titleLeftExtra : null}\n </Space>\n </Col>\n <Col>{titleExtra}</Col>\n </Row>\n );\n};\n\nexport default PageTitle;\n","import { Col, Space } from \"antd\";\nimport FixedContainer from \"./FixedContainer\";\nimport { useContext } from \"../context\";\nimport classnames from \"classnames\";\nimport SimpleBar from \"@common/components/SimpleBar\";\nimport ContainerHeight from \"./ContainerHeight\";\nimport style from \"../style.module.scss\";\n\nconst Option = () => {\n const { pageProps } = useContext();\n const {\n option,\n optionWidth,\n optionFixed,\n optionFooter,\n optionFooterHeight,\n optionNoPadding,\n } = pageProps;\n return option ? (\n <Col\n className={classnames(style[\"page-option\"], \"page-option\")}\n style={{\n \"--width\": optionWidth,\n \"--foot-height\": optionFooterHeight + \"px\",\n }}\n >\n <FixedContainer\n className={style[\"page-option-inner\"]}\n isFixed={optionFixed}\n >\n <SimpleBar\n className={classnames(style[\"page-option-main\"], \"page-option-main\")}\n style={{ padding: optionNoPadding ? \"0px\" : \"var(--padding-width)\" }}\n >\n {option}\n </SimpleBar>\n {optionFooter ? (\n <ContainerHeight\n className={style[\"page-option-footer\"]}\n targetKey=\"optionFooterHeight\"\n >\n <Space align=\"center\">{optionFooter}</Space>\n </ContainerHeight>\n ) : null}\n </FixedContainer>\n </Col>\n ) : null;\n};\n\nexport default Option;\n","import { Alert, Button, Col, Layout as AntdLayout, Row } from \"antd\";\nimport { useCallback, useEffect, useState } from \"react\";\nimport { defaultProps, Provider } from \"./context\";\nimport Navigation, { navigationHeight } from \"@components/Navigation\";\nimport { getScrollEl } from \"@common/utils/importantContainer\";\nimport ReactErrorBoundary from \"@kne/react-error-boundary\";\nimport { Header, HeaderInfo, Menu, Option, PageTitle } from \"./Page\";\nimport classnames from \"classnames\";\nimport style from \"./style.module.scss\";\nimport HelperGuide from \"@components/HelperGuide\";\n\nconst { Content } = AntdLayout;\n\nconst ErrorComponent = () => {\n return (\n <Alert\n message=\"系统出了点小问题,可刷新页面进行解决\"\n showIcon\n type=\"error\"\n action={\n <Button size=\"small\" danger onClick={() => window.location.reload()}>\n 刷新\n </Button>\n }\n />\n );\n};\n\nconst ErrorBoundary = (props) => {\n return <ReactErrorBoundary {...props} errorComponent={ErrorComponent} />;\n};\n\nconst Layout = ({ children, theme, navigation }) => {\n const [scrollLeft, setScrollLeft] = useState(0);\n const [pageProps, _setPageProps] = useState(Object.assign({}, defaultProps));\n const setPageProps = useCallback((value) => {\n return _setPageProps((pageProps) => {\n return Object.assign({}, pageProps, value);\n });\n }, []);\n useEffect(() => {\n const scrollEl = getScrollEl();\n const handlerScroll = () => {\n setScrollLeft(scrollEl.scrollLeft);\n };\n scrollEl.addEventListener(\"scroll\", handlerScroll);\n return () => {\n scrollEl.removeEventListener(\"scroll\", handlerScroll);\n };\n }, []);\n\n return (\n <AntdLayout\n className={style[\"layout\"]}\n style={Object.assign(\n {},\n {\n \"--nav-height\": navigationHeight + \"px\",\n \"--nav-height-base\": \"var(--nav-height)\",\n \"--scroll-left\": -scrollLeft + \"px\",\n },\n theme\n )}\n >\n {navigation && (\n <ErrorBoundary>\n <Navigation\n {...navigation}\n onChange={(path) => {\n navigation?.onChange && navigation.onChange(path);\n }}\n />\n </ErrorBoundary>\n )}\n <ErrorBoundary>\n <Content className={style[\"layout-content-wrap\"]}>\n <Provider value={{ pageProps, setPageProps }}>\n <ErrorBoundary>\n <Header />\n </ErrorBoundary>\n <ErrorBoundary>\n <HeaderInfo />\n </ErrorBoundary>\n <ErrorBoundary>\n <Row\n className={classnames(pageProps.className, style[\"page-outer\"])}\n wrap={false}\n style={{\n \"--nav-height\": `calc(${pageProps.headerHeight}px + var(--nav-height-base))`,\n \"--nav-only-height\": `var(--nav-height-base)`,\n }}\n >\n <ErrorBoundary>\n <Menu />\n </ErrorBoundary>\n <Col\n className={classnames(style[\"page-content\"], {\n [style[\"no-margin\"]]: pageProps.noMargin,\n })}\n flex={1}\n style={{ \"--background-color\": pageProps.backgroundColor }}\n >\n <div className={style[\"page-main\"]}>\n <ErrorBoundary>\n <PageTitle\n title={pageProps.title}\n backUrl={pageProps.backUrl}\n filter={pageProps.filter}\n titleExtra={pageProps.titleExtra}\n titleLeftExtra={pageProps.titleLeftExtra}\n />\n </ErrorBoundary>\n <div\n className={classnames(style[\"page-main-content\"], {\n [style[\"no-padding\"]]: pageProps.noPadding,\n })}\n >\n <ErrorBoundary>\n {pageProps.helperGuideName && (\n <HelperGuide\n className={style[\"helper-guide-page\"]}\n name={pageProps.helperGuideName}\n />\n )}\n {children}\n </ErrorBoundary>\n </div>\n </div>\n </Col>\n <ErrorBoundary>\n <Option />\n </ErrorBoundary>\n </Row>\n </ErrorBoundary>\n </Provider>\n </Content>\n </ErrorBoundary>\n </AntdLayout>\n );\n};\n\nLayout.defaultProps = {\n navigation: {},\n};\n\nexport default Layout;\n","import Page from \"./Page\";\nimport Permissions from \"@components/Permissions\";\n\nconst PermissionsPage = ({ permissions, ...props }) => {\n return (\n <Permissions {...Object.assign({}, permissions, { type: \"error\" })}>\n <Page {...props} />\n </Permissions>\n );\n};\n\nexport default PermissionsPage;\n","import { TablePage as Table } from \"@components/Table\";\nimport PermissionsPage from \"./PermissionsPage\";\nimport { forwardRef, useState } from \"react\";\nimport style from \"./style.module.scss\";\nimport HelperGuide from \"@components/HelperGuide\";\nimport classnames from \"classnames\";\n\nconst TablePage = forwardRef(\n (\n {\n helperGuideName,\n permissions,\n page,\n openFeatures,\n name,\n topArea,\n ...props\n },\n ref\n ) => {\n const [tableData, setTableData] = useState(null);\n return (\n <PermissionsPage\n name={name}\n openFeatures={openFeatures}\n permissions={permissions}\n {...page}\n >\n {topArea ? (\n <div className={style[\"table-page-top\"]}>\n {typeof topArea === \"function\" ? topArea(tableData) : topArea}\n </div>\n ) : null}\n <div className={style[\"table-page\"]}>\n {helperGuideName && (\n <HelperGuide\n className={classnames(\"helper-guide\", style[\"helper-guide\"])}\n name={helperGuideName}\n />\n )}\n <Table\n {...props}\n ref={ref}\n name={name}\n onRequestSuccess={(data) => {\n setTableData(data);\n }}\n />\n </div>\n </PermissionsPage>\n );\n }\n);\n\nexport default TablePage;\n","import StateBar from \"@components/StateBar\";\nimport PermissionsPage from \"./PermissionsPage\";\nimport style from \"./style.module.scss\";\nimport HelperGuide from \"@components/HelperGuide\";\n\nconst StateBarPage = ({\n helperGuideName,\n permissions,\n page,\n stateBar,\n children,\n ...props\n}) => {\n return (\n <PermissionsPage {...page} permissions={permissions} {...props}>\n <div className={style[\"state-bar-page\"]}>\n <StateBar {...stateBar} />\n </div>\n {helperGuideName && (\n <HelperGuide className={style[\"helper-guide\"]} name={helperGuideName} />\n )}\n {children}\n </PermissionsPage>\n );\n};\n\nexport default StateBarPage;\n","// extracted by mini-css-extract-plugin\nexport default {\"menu\":\"style_menu__gvIvn__+d3Mb\",\"all-no-start-icon\":\"style_all-no-start-icon__CA+zR__+d3Mb\",\"no-start-icon\":\"style_no-start-icon__LnC1S__+d3Mb\",\"has-children\":\"style_has-children__m9tce__+d3Mb\",\"has-children-node\":\"style_has-children-node__2bhEB__+d3Mb\",\"is-root\":\"style_is-root__4hhOc__+d3Mb\",\"title\":\"style_title__+Hcar__+d3Mb\",\"active\":\"style_active__WU49K__+d3Mb\",\"no-collapse\":\"style_no-collapse__aIZBM__+d3Mb\",\"title-content\":\"style_title-content__cQXpK__+d3Mb\",\"loading\":\"style_loading__1pU4P__+d3Mb\"};","import style from \"./style.module.scss\";\nimport classnames from \"classnames\";\nimport { Spin } from \"antd\";\nimport { useLocation, useNavigate } from \"react-router-dom\";\nimport Permissions from \"@components/Permissions\";\nimport useControlValue from \"@kne/use-control-value\";\nimport Icon from \"@components/Icon\";\nimport { useCallback, useEffect, useMemo } from \"react\";\nimport ensureSlash from \"@kne/ensure-slash\";\nimport { useFetch } from \"@kne/react-fetch\";\n\nconst treeEnhance = (items) => {\n const childrenKeys = {},\n nodeMapping = [];\n const traversal = (children, options) => {\n const { parentKey, depth } = Object.assign(\n {\n parentKey: \"root\",\n depth: 0,\n paths: [],\n },\n options\n );\n if (!(Array.isArray(children) && children.length > 0)) {\n return null;\n }\n return children.map((item, index) => {\n const currentKey = `${\n item.key ||\n `${parentKey !== \"root\" ? `${parentKey}-` : \"\"}node-${index}`\n }`;\n if (!childrenKeys[parentKey]) {\n childrenKeys[parentKey] = [];\n }\n childrenKeys[parentKey].push(currentKey);\n const children = traversal(item.children, {\n parentKey: currentKey,\n depth: depth + 1,\n });\n childrenKeys[currentKey] &&\n childrenKeys[parentKey].push(...childrenKeys[currentKey]);\n const targetItem = Object.assign({}, item, {\n key: currentKey,\n parentKey,\n depth,\n children: children,\n originItem: item,\n });\n nodeMapping[currentKey] = targetItem;\n return targetItem;\n });\n };\n\n return { items: traversal(items), childrenKeys, nodeMapping };\n};\n\nconst MenuItem = (props) => {\n const navigation = useNavigate();\n const {\n id,\n className,\n label,\n iconType,\n path,\n request,\n onClick,\n isOpen,\n isSelected,\n onOpenChange,\n children,\n fetchOptions,\n depth,\n onLoad,\n allowCollapsed,\n } = props;\n\n const hasChildren =\n (Array.isArray(children) && children.length > 0) || fetchOptions;\n const { refresh, isLoading } = useFetch(\n Object.assign({}, fetchOptions, {\n auto: !allowCollapsed && fetchOptions,\n onRequestSuccess: (data) => {\n onLoad(data);\n },\n })\n );\n\n const renderChildren = () => {\n if (!hasChildren) {\n return null;\n }\n if (!allowCollapsed || (isOpen && children)) {\n return <div className={style[\"children-list\"]}>{children}</div>;\n }\n\n if (!allowCollapsed || (isOpen && isLoading)) {\n return (\n <div className={style[\"children-list\"]}>\n <Spin className={style[\"loading\"]} size=\"small\" />\n </div>\n );\n }\n };\n return (\n <Permissions request={request}>\n <div className={classnames(className, style[\"menu-item\"])}>\n <div\n className={classnames(style[\"title\"], {\n [style[\"active\"]]: isSelected,\n [style[\"has-children\"]]: hasChildren,\n [style[\"no-collapse\"]]: hasChildren && !allowCollapsed,\n [style[\"no-start-icon\"]]: !iconType,\n [style[\"is-root\"]]: depth === 0,\n })}\n onClick={(e) => {\n e.stopPropagation();\n if (!hasChildren && path) {\n navigation(path);\n return;\n }\n if (!hasChildren && !fetchOptions) {\n onClick?.(id, props);\n return;\n }\n if (!allowCollapsed) {\n return;\n }\n fetchOptions && refresh({});\n onOpenChange(!isOpen);\n }}\n >\n {iconType && <Icon type={iconType} />}\n <span className={style[\"title-content\"]}>{label}</span>\n {hasChildren && allowCollapsed && (\n <Icon\n type={isOpen ? \"icon-arrow-bold-down\" : \"icon-arrow-bold-right\"}\n />\n )}\n </div>\n {renderChildren()}\n </div>\n </Permissions>\n );\n};\n\nconst Menu = ({ className, allowCollapsed, ...props }) => {\n const { pathname, search } = useLocation();\n const [selectedKey, setSelectKeyChange] = useControlValue(props, {\n value: \"currentKey\",\n defaultValue: \"defaultCurrentKey\",\n });\n\n const [items, setItems] = useControlValue(props, {\n defaultValue: \"defaultItems\",\n value: \"items\",\n onChange: \"onItemsChange\",\n });\n\n const {\n items: targetItems,\n defaultOpenKeys,\n links,\n childrenKeys,\n hasStartIcon,\n hasChildren,\n } = useMemo(() => {\n const {\n items: targetItems,\n childrenKeys,\n nodeMapping,\n } = treeEnhance(items);\n let hasStartIcon = false,\n hasChildren = false;\n const links = [],\n defaultOpenKeys = [];\n childrenKeys?.[\"root\"]?.forEach((key) => {\n const node = nodeMapping[key];\n if (node.iconType) {\n hasStartIcon = true;\n }\n node.path && links.push({ path: node.path, key });\n if (Array.isArray(node.children) && node.children.length > 0) {\n hasChildren = true;\n defaultOpenKeys.push(node.key);\n }\n });\n return {\n defaultOpenKeys,\n links,\n items: targetItems,\n childrenKeys,\n hasStartIcon,\n hasChildren,\n };\n }, [items]);\n useEffect(() => {\n const matchedPath = links.find(({ path }) => {\n return (\n ensureSlash(pathname.replace(/[#,?].*/, \"\")) === ensureSlash(path) ||\n ensureSlash(pathname + search) === ensureSlash(path)\n );\n });\n if (matchedPath) {\n setSelectKeyChange(matchedPath.key);\n }\n }, [links, pathname, search, setSelectKeyChange]);\n\n const [openKeys, setOpenKeys] = useControlValue(\n Object.assign({}, props, {\n defaultOpenKeys: props.defaultOpenKeys || defaultOpenKeys,\n }),\n {\n value: \"openKeys\",\n defaultValue: \"defaultOpenKeys\",\n onChange: \"onOpenChange\",\n }\n );\n\n const renderChildren = useCallback(\n (children, options) => {\n const { parentKey, depth, selectedKey, openKeys, paths } = Object.assign(\n {\n parentKey: null,\n depth: 0,\n paths: [],\n },\n options\n );\n if (Array.isArray(children) && children.length > 0) {\n return children.map(\n ({ children, key: currentKey, originItem, ...item }) => {\n return (\n <MenuItem\n {...Object.assign({}, item)}\n id={currentKey}\n parentId={parentKey}\n depth={depth}\n allowCollapsed={allowCollapsed}\n isSelected={\n currentKey === selectedKey ||\n (childrenKeys[currentKey] &&\n childrenKeys[currentKey].indexOf(selectedKey) > -1)\n }\n onClick={setSelectKeyChange}\n onLoad={(data) => {\n setItems((items) => {\n const core = (children) => {\n if (Array.isArray(children) && children.length > 0) {\n return children.map((item) => {\n return Object.assign({}, item, {\n children:\n originItem === item ? data : core(item.children),\n });\n });\n }\n return null;\n };\n\n return core(items);\n });\n }}\n isOpen={(openKeys || []).indexOf(currentKey) > -1}\n key={currentKey}\n onOpenChange={() => {\n setOpenKeys((openKeys) => {\n const newOpenKeys = openKeys.slice(0);\n if (openKeys.indexOf(currentKey) > -1) {\n newOpenKeys.splice(openKeys.indexOf(currentKey), 1);\n } else {\n newOpenKeys.push(currentKey);\n }\n return newOpenKeys;\n });\n }}\n >\n {renderChildren(children, {\n parentKey,\n depth: depth + 1,\n selectedKey,\n openKeys,\n paths: [...paths, currentKey],\n })}\n </MenuItem>\n );\n }\n );\n }\n return null;\n },\n [setItems, setOpenKeys, setSelectKeyChange, childrenKeys, allowCollapsed]\n );\n\n return (\n <div\n className={classnames(className, style[\"menu\"], {\n [style[\"all-no-start-icon\"]]: !hasStartIcon,\n [style[\"has-children-node\"]]: hasChildren,\n })}\n >\n {renderChildren(targetItems, { selectedKey, openKeys })}\n </div>\n );\n};\n\nMenu.defaultProps = {\n defaultItems: [],\n allowCollapsed: true,\n};\n\nexport default Menu;\n","var _path, _path2, _path3, _path4, _path5, _path6, _path7;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgFavicon(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n t: 1679367216639,\n className: \"icon\",\n viewBox: \"0 0 1030 1024\",\n xmlns: \"http://www.w3.org/2000/svg\",\n \"p-id\": 1696,\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n width: 201.171875,\n height: 200,\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M252.479711 385.587015v293.958522l258.791705 146.528403 258.791704-146.528403V385.587015l-251.127142-145.62669L252.479711 385.587015z\",\n fill: \"#FFFFFF\",\n opacity: 0.1,\n \"p-id\": 1697\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M778.629396 405.875564A20.739405 20.739405 0 0 1 766.456267 405.875564l-39.675383-21.641119a22.091975 22.091975 0 0 1 21.190261-39.224526l39.675383 21.190261a22.542831 22.542831 0 0 1-10.820559 42.380523z m-518.485122-6.76285a22.542831 22.542831 0 0 1-19.837691-12.173129 22.091975 22.091975 0 0 1 9.918845-30.207394l40.12624-20.739405a22.993688 22.993688 0 0 1 30.207394 9.918846 22.542831 22.542831 0 0 1-9.918846 30.207394L270.513977 396.858431a20.739405 20.739405 0 0 1-10.369703 2.254283z m399.909829-57.258792a22.542831 22.542831 0 0 1-10.820559-2.705139l-39.675383-21.190262a22.993688 22.993688 0 0 1-9.017133-30.65825 22.091975 22.091975 0 0 1 30.207394-9.017133l39.675383 21.190261a22.542831 22.542831 0 0 1-10.369702 42.380523z m-279.531109-4.057709a22.542831 22.542831 0 0 1-9.918846-45.085663l40.12624-20.288548a22.542831 22.542831 0 0 1 30.207394 9.467989 22.993688 22.993688 0 0 1-9.918846 33.814247l-40.12624 20.288548a20.739405 20.739405 0 0 1-10.369702 1.803427zM541.027953 277.381425a19.386835 19.386835 0 0 1-10.820559-2.70514L519.837692 270.618575l-8.566276 4.508567a22.542831 22.542831 0 0 1-20.288549-40.577097l18.935979-9.017132a23.895401 23.895401 0 0 1 20.739405 0l21.190261 11.722272a22.091975 22.091975 0 0 1 9.017133 30.207394 22.091975 22.091975 0 0 1-19.837692 9.918846z\",\n fill: \"#FFFFFF\",\n \"p-id\": 1698\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1002.70514 289.554554a24.346258 24.346258 0 0 1-9.918846 0L513.074842 47.895401 33.814247 287.300271a22.542831 22.542831 0 0 1-30.207394-10.369703 22.993688 22.993688 0 0 1 9.918846-30.207394L503.155996 2.358882a22.993688 22.993688 0 0 1 20.288549 0l489.179441 244.364292a22.542831 22.542831 0 0 1-9.918846 45.085663z\",\n fill: \"#FFFFFF\",\n \"p-id\": 1699\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.085663 762.052299a22.542831 22.542831 0 0 1-9.918846-40.577096l81.154193-39.675383A22.542831 22.542831 0 0 1 135.256988 721.475203l-81.154193 39.675383a24.346258 24.346258 0 0 1-9.017132 0.901713z m889.540126-14.427412a24.346258 24.346258 0 0 1-9.918846 0l-80.703336-40.577096a22.542831 22.542831 0 0 1-10.369703-30.207394 22.091975 22.091975 0 0 1 30.207394-9.918846l80.703337 40.12624a22.542831 22.542831 0 0 1-9.918846 42.831379zM206.943192 683.15239a23.444545 23.444545 0 0 1-20.288548-12.623986 22.993688 22.993688 0 0 1 10.369702-30.207394l81.154193-39.675383a22.993688 22.993688 0 0 1 30.207394 10.369702 22.542831 22.542831 0 0 1-10.369702 30.207394l-81.154193 39.675383a24.346258 24.346258 0 0 1-9.918846 2.254284z m566.275924-16.230839a26.600541 26.600541 0 0 1-9.918845 0l-80.703337-40.577097a22.091975 22.091975 0 0 1-9.918846-30.207394 22.542831 22.542831 0 0 1 30.207394-9.918845l80.703337 40.126239a22.993688 22.993688 0 0 1 9.918846 30.207395 22.542831 22.542831 0 0 1-20.288549 10.369702z m-405.770965-62.669071a22.091975 22.091975 0 0 1-20.288548-12.623986 22.542831 22.542831 0 0 1 13.525699-30.207394l81.154193-39.224527a22.542831 22.542831 0 0 1 30.207394 10.369703 22.091975 22.091975 0 0 1-10.369702 29.756537l-81.154193 39.675384a26.600541 26.600541 0 0 1-11.271416 2.254283z m242.560866-18.034265a19.837692 19.837692 0 0 1-9.918846-2.254284l-80.703336-40.577096a22.091975 22.091975 0 0 1-9.918846-30.207394 22.542831 22.542831 0 0 1 30.207394-9.918846l80.703337 40.12624a23.444545 23.444545 0 0 1 9.918845 30.658251 22.542831 22.542831 0 0 1-18.485121 12.173129z\",\n fill: \"#FFFFFF\",\n \"p-id\": 1700\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M512.173129 1024a24.346258 24.346258 0 0 1-9.918846-2.254283L12.623986 783.242561a22.993688 22.993688 0 0 1-12.623986-20.288548V273.774572a23.444545 23.444545 0 0 1 10.820559-19.386835 21.641118 21.641118 0 0 1 21.641118 0l479.711452 238.954012L991.884581 253.486023a21.641118 21.641118 0 0 1 21.641118 0 23.444545 23.444545 0 0 1 10.820559 19.386835v490.081155a22.993688 22.993688 0 0 1-12.623986 20.288548l-490.081154 238.503156a22.542831 22.542831 0 0 1-9.467989 2.254283zM45.085663 748.526601l467.087466 225.428313 467.087466-225.428313V310.293959l-454.914337 225.428313a22.542831 22.542831 0 0 1-22.091975 0L45.085663 310.293959z\",\n fill: \"#FFFFFF\",\n \"p-id\": 1701\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M511.722272 1020.393147a22.542831 22.542831 0 0 1-22.542831-22.542831V526.254283a22.542831 22.542831 0 0 1 45.085663 0v471.596033a22.542831 22.542831 0 0 1-22.542832 22.542831z\",\n fill: \"#FFFFFF\",\n \"p-id\": 1702\n })), _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M512.623986 841.853922a18.935978 18.935978 0 0 1-9.918846-2.254283l-266.005411-128.043282a22.091975 22.091975 0 0 1-11.271415-20.288548V383.783589a22.542831 22.542831 0 0 1 22.542831-22.542832 22.542831 22.542831 0 0 1 22.542832 22.542832V676.38954l243.913435 117.222723 243.462579-117.222723V383.783589a22.542831 22.542831 0 0 1 22.542831-22.542832 22.542831 22.542831 0 0 1 22.542832 22.542832v307.48422a22.542831 22.542831 0 0 1-12.623986 20.288548l-266.00541 128.043282a19.837692 19.837692 0 0 1-11.722272 2.254283z\",\n fill: \"#FFFFFF\",\n \"p-id\": 1703\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgFavicon);\nexport default __webpack_public_path__ + \"static/media/favicon.477a5bb996fd5b367fe0dddc29f67824.svg\";\nexport { ForwardRef as ReactComponent };","const importMessages = (locale) => {\n return ({\n 'en-US': () => import('./en-US'), 'zh-CN': () => import('./zh-CN')\n })[locale]();\n};\n\nexport default importMessages;","// extracted by mini-css-extract-plugin\nexport default {\"navigation-wrap\":\"style_navigation-wrap__VF8x2__+d3Mb\",\"navigation\":\"style_navigation__60RrS__+d3Mb\",\"is-fixed\":\"style_is-fixed__kHFWj__+d3Mb\",\"navigation-logo\":\"style_navigation-logo__q9qHu__+d3Mb\",\"logo\":\"style_logo__lB9RC__+d3Mb\",\"navigation-list\":\"style_navigation-list__EYtkg__+d3Mb\",\"navigation-options\":\"style_navigation-options__0BdJU__+d3Mb\",\"menu-overlay\":\"style_menu-overlay__zU-vZ__+d3Mb\",\"more-icon\":\"style_more-icon__gNMnt__+d3Mb\"};","import { Col, Layout, Menu, Row, Space } from \"antd\";\nimport { useLocation, useNavigate } from \"react-router-dom\";\nimport get from \"lodash/get\";\nimport { useEffect, useMemo, useRef, useState } from \"react\";\nimport classnames from \"classnames\";\nimport logo from \"./favicon.svg\";\nimport Image from \"@components/Image\";\nimport importMessages from \"./locale\";\nimport { FormattedMessage, IntlProvider } from \"@components/Intl\";\nimport Icon from \"@components/Icon\";\nimport style from \"./style.module.scss\";\n\nconst { Header } = Layout;\n\nexport const navigationHeight = 48;\n\nconst SetTitle = ({ name, mapping, defaultTitle }) => {\n const propsRef = useRef({\n mapping,\n defaultTitle,\n });\n useEffect(() => {\n const title = get(propsRef.current.mapping.get(name), \"title\");\n document.title = (title ? title + \"-\" : \"\") + propsRef.current.defaultTitle;\n }, [name]);\n return null;\n};\n\nconst Navigation = ({\n permissions,\n list,\n headerLogo,\n rightOptions,\n isFixed,\n showIndex,\n indexLabel,\n defaultTitle,\n overflowedIndicator,\n base,\n onChange,\n className,\n}) => {\n const mapping = useMemo(() => {\n return new Map(list.map(({ key, ...others }) => [key, others]));\n }, [list]);\n const navigate = useNavigate();\n const location = useLocation();\n const navigationRef = useRef();\n const resizeObserverRef = useRef(null);\n const [nameLabel, setNameLabel] = useState(\"更多\");\n const pathModuleName = location.pathname\n .replace(new RegExp(`^${base}`), \"\")\n .split(\"/\")[1];\n const name = pathModuleName\n ? get(\n Array.from(mapping.entries()).find(([name, { path, permission }]) => {\n const _path =\n typeof path === \"function\" ? path(permission, permissions) : path;\n return _path.indexOf(\"/\" + pathModuleName) !== -1;\n }),\n \"[0]\"\n )\n : \"home\";\n useEffect(() => {\n const callback = () => {\n if (navigationRef.current) {\n const menuDom =\n navigationRef.current.querySelectorAll(`li[data-menu-id]`);\n let exist = false;\n for (let i = 0; i < menuDom.length; i++) {\n const dom = menuDom[i];\n const menuId = dom.getAttribute(\"data-menu-id\");\n if (menuId.indexOf(name) !== -1) {\n exist = true;\n break;\n }\n }\n let _nameLabel =\n mapping.get(name) && !exist ? get(mapping.get(name), \"title\") : \"\";\n setNameLabel(_nameLabel);\n }\n };\n const mutationObserverInitConfig = {\n attributes: true,\n childList: true,\n subtree: true,\n };\n if (navigationRef && navigationRef.current) {\n callback();\n if (resizeObserverRef.current) {\n resizeObserverRef.current.disconnect();\n }\n resizeObserverRef.current = new MutationObserver(callback);\n resizeObserverRef.current.observe(\n navigationRef.current,\n mutationObserverInitConfig\n );\n }\n\n return () => {\n resizeObserverRef.current && resizeObserverRef.current.disconnect();\n };\n }, [name, mapping]);\n const indexNav = showIndex\n ? {\n label: indexLabel || (\n <FormattedMessage id=\"indexLabel\" moduleName=\"Navigation\" />\n ),\n key: \"home\",\n onClick: () => {\n onChange && onChange(\"/\");\n setTimeout(() => {\n navigate(\"/\");\n }, 0);\n },\n }\n : false;\n return (\n <IntlProvider importMessages={importMessages} moduleName=\"Navigation\">\n <FormattedMessage id=\"defaultTitle\" moduleName=\"Navigation\">\n {(text) => (\n <SetTitle\n defaultTitle={defaultTitle || text}\n mapping={mapping}\n name={name}\n />\n )}\n </FormattedMessage>\n <div className={classnames(style[\"navigation-wrap\"], className)}>\n <Header\n className={classnames(\"navigation\", style[\"navigation\"], {\n [style[\"is-fixed\"]]: isFixed,\n })}\n >\n <Row justify=\"space-around\" wrap={false}>\n <Col\n className={classnames(\n \"navigation-logo\",\n style[\"navigation-logo\"]\n )}\n >\n <Image\n className={classnames(style[\"logo\"])}\n src={logo}\n alt=\"logo\"\n {...headerLogo}\n />\n </Col>\n <Col\n ref={navigationRef}\n flex={1}\n className={classnames(\n \"navigation-list\",\n style[\"navigation-list\"]\n )}\n >\n <Menu\n selectedKeys={[name]}\n mode=\"horizontal\"\n overflowedIndicator={\n overflowedIndicator || (\n <Space size={4}>\n <span>\n {nameLabel || (\n <FormattedMessage\n id=\"overflowedIndicator\"\n moduleName=\"Navigation\"\n />\n )}\n </span>\n <span className={style[\"more-icon\"]}>\n <Icon type=\"icon-arrow-thin-down\" />\n </span>\n </Space>\n )\n }\n items={[\n indexNav,\n ...Array.from(mapping.entries())\n .filter(([name, { permission }]) => {\n if (typeof permission === \"string\") {\n return permissions.indexOf(permission) > -1;\n }\n if (typeof permission === \"function\") {\n return permission(permissions);\n }\n if (Array.isArray(permission)) {\n for (let item of permission) {\n if (permissions.indexOf(item) > -1) {\n return true;\n }\n }\n return false;\n }\n return true;\n })\n .map(([name, { title, path, permission }]) => {\n const _path =\n typeof path === \"function\"\n ? path(permission, permissions)\n : path;\n return {\n label: title,\n key: name,\n onClick: () => {\n onChange && onChange(_path);\n setTimeout(() => {\n navigate(_path);\n }, 0);\n },\n };\n }),\n ]}\n />\n </Col>\n <Col className={style[\"navigation-options\"]}>{rightOptions}</Col>\n </Row>\n </Header>\n </div>\n </IntlProvider>\n );\n};\n\nNavigation.defaultProps = {\n isFixed: true,\n permissions: [],\n list: [],\n showIndex: true,\n base: \"\",\n};\n\nexport default Navigation;\n","// extracted by mini-css-extract-plugin\nexport default {\"outer\":\"style_outer__vbHB9__+d3Mb\"};","import { createElement } from \"react\";\nimport { Result, Tooltip } from \"antd\";\nimport get from \"lodash/get\";\nimport classnames from \"classnames\";\nimport style from \"./style.module.scss\";\nimport { useGlobalContext as useContext } from \"@kne/global-context\";\n\nexport const computedIsPass = ({ permissions, request }) => {\n return Array.isArray(request) && request.length > 0\n ? request.some((currentKey) => (permissions || []).indexOf(currentKey) > -1)\n : true;\n};\n\nexport const usePermissions = () => {\n const preset = useContext();\n return {\n permissions: get(preset, \"global.accountInfo.permissions\", []),\n };\n};\n\nexport const usePermissionsPass = ({ request }) => {\n const { permissions } = usePermissions();\n return computedIsPass({ permissions, request });\n};\n\nconst Permissions = ({\n type,\n className,\n tagName,\n message,\n request,\n children,\n ...props\n}) => {\n const isPass = usePermissionsPass({ request });\n if (typeof children === \"function\") {\n return children({ isPass, type, request });\n }\n\n if (isPass === true) {\n return children;\n }\n\n if (type === \"error\") {\n return <Result status=\"403\" subTitle={message} />;\n }\n\n if (type === \"tooltip\") {\n return (\n <Tooltip title={message}>\n {createElement(\n tagName,\n { ...props, className: classnames(style[\"outer\"], className) },\n children\n )}\n </Tooltip>\n );\n }\n\n return null;\n};\n\nPermissions.defaultProps = {\n type: \"hidden\",\n tagName: \"span\",\n message: \"您暂无权限,请联系管理员\",\n};\n\nexport default Permissions;\n","// extracted by mini-css-extract-plugin\nexport default {\"state-bar\":\"style_state-bar__3jfis__+d3Mb\",\"has-children\":\"style_has-children__oQDqU__+d3Mb\",\"tab-tab-control\":\"style_tab-tab-control__SopeO__+d3Mb\",\"tab-radio-control\":\"style_tab-radio-control__R8X6-__+d3Mb\",\"tab-step-control\":\"style_tab-step-control__EQaCl__+d3Mb\",\"inner-state-bar\":\"style_inner-state-bar__lWmOz__+d3Mb\"};","import { Tabs } from \"antd\";\nimport classnames from \"classnames\";\nimport style from \"./style.module.scss\";\n\n/**\n *\n * @param className\n * @param type 'tab' | 'radio' | 'step'\n * @param stateOption\n * @param isInner\n * @param props\n * @returns {JSX.Element}\n * @constructor\n */\nconst StateBar = ({\n className,\n type = \"tab\",\n stateOption = [],\n isInner,\n ...props\n}) => {\n return (\n <Tabs\n {...props}\n data-testid={\"components-core-state-bar\"}\n className={classnames(\n style[\"state-bar\"],\n style[`tab-${type}-control`],\n className,\n {\n [style[\"inner-state-bar\"]]: isInner,\n [style[\"has-children\"]]: stateOption.some((item) => !!item.children),\n }\n )}\n style={{ \"--total-count\": stateOption.length }}\n animated={false}\n items={stateOption.map(({ tab, label, key, ...props }) => {\n return { label: tab || label, key, ...props };\n })}\n />\n );\n};\n\nexport default StateBar;\n","// extracted by mini-css-extract-plugin\nexport default {\"state-tag\":\"style_state-tag__Kx27z__+d3Mb\",\"state-result-tag\":\"style_state-result-tag__CssDz__+d3Mb\",\"state-skill-tag\":\"style_state-skill-tag__k0bQE__+d3Mb\",\"state-tag-filter-result-wrapper\":\"style_state-tag-filter-result-wrapper__QYS5z__+d3Mb\",\"state-tag-filter-name\":\"style_state-tag-filter-name__iJaJd__+d3Mb\",\"state-tag-filterResult\":\"style_state-tag-filterResult__KTkot__+d3Mb\",\"show-bg\":\"style_show-bg__OcL+R__+d3Mb\",\"tag-text\":\"style_tag-text__JHCt+__+d3Mb\",\"state-tag-wrapper\":\"style_state-tag-wrapper__A-gTE__+d3Mb\"};","import React, { useMemo } from \"react\";\nimport classnames from \"classnames\";\n\nimport style from \"./style.module.scss\";\nimport { Space, Tag } from \"antd\";\n\nconst tagTypeEnum = {\n default: \"#666666\",\n skill: {\n color: \"#666666\",\n borderColor: \"#EEEEEE\",\n },\n result: \"#666666\",\n filterResult: \"#5CB8B2\",\n success: \"#027A48\",\n progress: \"#F09700\",\n danger: \"#D14343\",\n info: \"#155ACF\",\n other: \"#6740C3\",\n};\n\nconst StateTag = ({\n showBorder,\n text,\n type,\n showBackground,\n className,\n filterName,\n ...props\n}) => {\n const tagColor = useMemo(\n () => ({\n color: tagTypeEnum?.[type]?.color || tagTypeEnum[type],\n borderColor: tagTypeEnum?.[type]?.borderColor || tagTypeEnum[type],\n }),\n [type]\n );\n\n return (\n <Space\n data-testid={\"components-core-state-tag\"}\n className={classnames(\n style[\"state-tag-wrapper\"],\n type === \"filterResult\" ? style[\"state-tag-filter-result-wrapper\"] : \"\"\n )}\n align=\"center\"\n size={4}\n >\n {filterName ? (\n <span className={style[\"state-tag-filter-name\"]}>{filterName}:</span>\n ) : null}\n <Tag\n color={tagColor.color}\n {...props}\n style={{\n background: showBackground ? tagColor.color + \"0F\" : \"none\",\n color: tagColor.color,\n border: showBorder ? `1px solid ${tagColor.borderColor}` : \"none\",\n }}\n className={classnames(\n style[\"state-tag\"],\n className,\n type === \"result\" ? style[\"state-result-tag\"] : \"\",\n type === \"skill\" ? style[\"state-skill-tag\"] : \"\",\n style[`state-tag-${type}`],\n showBackground ? style[\"show-bg\"] : \"\",\n showBorder ? style[\"show-border\"] : \"\"\n )}\n >\n <span className={style[\"tag-text\"]}>{text}</span>\n </Tag>\n </Space>\n );\n};\n\nStateTag.defaultProps = {\n color: \"#666666\",\n type: \"default\",\n showBorder: false,\n showBackground: true,\n text: \"\",\n className: \"\",\n};\n\nexport default StateTag;\n","// extracted by mini-css-extract-plugin\nexport default {\"table\":\"style_table__z7kfz__+d3Mb\",\"is-resize\":\"style_is-resize__ut6RW__+d3Mb\",\"is-moving\":\"style_is-moving__BJ9wR__+d3Mb\",\"cell-resize-bar\":\"style_cell-resize-bar__-mlUF__+d3Mb\",\"is-computed\":\"style_is-computed__B9rIF__+d3Mb\",\"options-column\":\"style_options-column__vsPTr__+d3Mb\",\"options-btn\":\"style_options-btn__U3uoy__+d3Mb\",\"tooltip\":\"style_tooltip__vJlkv__+d3Mb\",\"table-changer-setting\":\"style_table-changer-setting__HcrwR__+d3Mb\",\"width-changer-sign\":\"style_width-changer-sign__Aflyl__+d3Mb\",\"columns-control\":\"style_columns-control__5-5ZF__+d3Mb\",\"columns-control-content\":\"style_columns-control-content__MoeUI__+d3Mb\",\"columns-control-content-title\":\"style_columns-control-content-title__P5sXV__+d3Mb\",\"columns-control-content-scroller\":\"style_columns-control-content-scroller__CeYRV__+d3Mb\",\"columns-control-content-footer\":\"style_columns-control-content-footer__0bQWm__+d3Mb\",\"columns-control-content-input\":\"style_columns-control-content-input__G6yKq__+d3Mb\",\"columns-control-content-list\":\"style_columns-control-content-list__aXvTs__+d3Mb\",\"columns-control-content-item\":\"style_columns-control-content-item__jbyyE__+d3Mb\",\"is-drag\":\"style_is-drag__U68aw__+d3Mb\",\"columns-control-content-item-icon\":\"style_columns-control-content-item-icon__yJqZf__+d3Mb\",\"sortable-drag\":\"style_sortable-drag__K5hWd__+d3Mb\",\"sortable-ghost\":\"style_sortable-ghost__lKTd2__+d3Mb\",\"columns-control-overlay\":\"style_columns-control-overlay__OxCIz__+d3Mb\",\"sort-btn\":\"style_sort-btn__KvNLr__+d3Mb\",\"sort-active-desc\":\"style_sort-active-desc__TIhMC__+d3Mb\",\"sort-icon\":\"style_sort-icon__dB85I__+d3Mb\",\"sort-active-asc\":\"style_sort-active-asc__RUBup__+d3Mb\"};","// extracted by mini-css-extract-plugin\nexport default {\"col-item\":\"columns_col-item__Ym1Ec__+d3Mb\",\"tag\":\"columns_tag__bQZLG__+d3Mb\",\"avatar\":\"columns_avatar__SLPI+__+d3Mb\",\"hover\":\"columns_hover__oAwHg__+d3Mb\",\"primary\":\"columns_primary__6KtaA__+d3Mb\",\"loading\":\"columns_loading__gtBay__+d3Mb\",\"options\":\"columns_options__WvDZD__+d3Mb\"};","import { Button } from \"antd\";\nimport classnames from \"classnames\";\nimport Icon from \"@components/Icon\";\nimport ButtonGroup from \"@components/ButtonGroup\";\nimport style from \"./style.module.scss\";\n\nconst OptionsList = ({ className, list, width }) => {\n return (\n <div\n className={classnames(className, style[\"options-column\"])}\n style={{\n \"--max-width\": width + \"px\",\n }}\n >\n <ButtonGroup\n list={list.map(({ className, ...props }) =>\n Object.assign({}, props, {\n className: classnames(\n className,\n \"btn-no-padding\",\n style[\"options-btn\"]\n ),\n type: \"link\",\n })\n )}\n more={\n <Button\n icon={<Icon type=\"icon-gengduo2\" />}\n className=\"btn-no-padding\"\n type=\"link\"\n />\n }\n />\n </div>\n );\n};\n\nexport default OptionsList;\n","import { Typography } from \"antd\";\nimport style from \"./style.module.scss\";\n\nconst Ellipsis = ({ children, ellipsis }) => {\n return (\n <Typography.Text\n ellipsis={\n ellipsis &&\n Object.assign(\n {},\n {\n tooltip: {\n overlayClassName: style[\"tooltip\"],\n children: children,\n },\n }\n )\n }\n >\n {children}\n </Typography.Text>\n );\n};\n\nexport default Ellipsis;\n","import { useState } from \"react\";\nimport classnames from \"classnames\";\nimport columnsStyle from \"./columns.module.scss\";\n\nconst ColItem = ({\n type,\n item,\n isEmpty,\n emptyRender,\n hover,\n primary,\n children,\n width,\n style,\n onClick,\n colValue,\n}) => {\n const [loading, setLoading] = useState(false);\n return (\n <div\n style={Object.assign({}, style, { \"--max-width\": width + \"px\" })}\n className={classnames(\n columnsStyle[\"col-item\"],\n columnsStyle[type],\n isEmpty\n ? null\n : {\n [columnsStyle[\"hover\"]]: hover,\n [columnsStyle[\"primary\"]]: primary,\n [columnsStyle[\"loading\"]]: loading,\n }\n )}\n onClick={(e) => {\n if (typeof onClick === \"function\" && !isEmpty && !loading) {\n setLoading(true);\n Promise.resolve(\n onClick({ item, colItem: colValue, event: e })\n ).finally(() => {\n setLoading(false);\n });\n }\n }}\n >\n {isEmpty\n ? emptyRender({ type, item, hover, primary, children })\n : children}\n </div>\n );\n};\n\nColItem.defaultProps = {\n emptyRender: () => \"-\",\n};\n\nexport default ColItem;\n","import { createWithFetch } from \"@kne/react-fetch\";\nimport Ellipsis from \"./Ellipsis\";\nimport { Button } from \"antd\";\nimport ColItem from \"./ColItem\";\n\nconst DisplayInfo = createWithFetch({\n loading: null,\n})(({ data, children }) => {\n return children(data);\n});\n\nconst HideInfoComponent = ({\n api,\n expand,\n onExpand,\n ellipsis,\n hover,\n primary,\n emptyRender,\n isEmpty,\n}) => {\n if (expand) {\n return (\n <DisplayInfo {...api}>\n {(data) => {\n return (\n <ColItem\n type=\"hide-info-expand\"\n item={data}\n hover={hover}\n primary={primary}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n <Ellipsis ellipsis={ellipsis}>\n {typeof api.children === \"function\" ? api.children(data) : data}\n </Ellipsis>\n </ColItem>\n );\n }}\n </DisplayInfo>\n );\n }\n return (\n <ColItem\n type=\"hide-info\"\n primary\n isEmpty={isEmpty}\n emptyRender={emptyRender}\n >\n <Button className=\"btn-no-padding\" type=\"link\" onClick={onExpand}>\n 查看\n </Button>\n </ColItem>\n );\n};\n\nexport default HideInfoComponent;\n","import columnsStyle from \"./columns.module.scss\";\nimport dayjs from \"dayjs\";\nimport OptionsList from \"./OptionsList\";\nimport classnames from \"classnames\";\nimport StateTag from \"@components/StateTag\";\nimport Image from \"@components/Image\";\nimport Enum from \"@components/Enum\";\nimport HideInfoComponent from \"./HideInfoComponent\";\nimport Ellipsis from \"./Ellipsis\";\nimport ColItem from \"./ColItem\";\nimport omit from \"lodash/omit\";\n\n// init:160px min:120px max:400px\nconst date = (item, { hover, primary, isEmpty, emptyRender, ...props }) => {\n return (\n <ColItem\n {...props}\n type=\"date\"\n item={item}\n primary={primary}\n hover={hover}\n emptyRender={emptyRender}\n isEmpty={isEmpty || !dayjs(item).isValid()}\n >\n {dayjs(item).format(\"YYYY-MM-DD\")}\n </ColItem>\n );\n};\n\nconst dateShort = (\n item,\n { hover, primary, isEmpty, emptyRender, ...props }\n) => {\n return (\n <ColItem\n {...props}\n type=\"date-short\"\n item={item}\n primary={primary}\n hover={hover}\n emptyRender={emptyRender}\n isEmpty={isEmpty || !dayjs(item).isValid()}\n >\n {dayjs(item).format(\"YYYY-MM\")}\n </ColItem>\n );\n};\n\n// init:240px min:120px max:400px\nconst dateRange = (\n item,\n { hover, primary, isEmpty, emptyRender, ...props }\n) => {\n return (\n <ColItem\n {...props}\n type=\"date-range\"\n item={item}\n primary={primary}\n hover={hover}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n {dayjs(item?.[0]).format(\"YYYY-MM-DD HH:mm\") +\n \"-\" +\n dayjs(item?.[1]).format(\"HH:mm\")}\n </ColItem>\n );\n};\n// init:190px min:190px max:400px\nconst datetime = (\n item,\n { hover, primary, emptyRender, isEmpty, hideSecond, ...props }\n) => {\n return (\n <ColItem\n {...props}\n item={item}\n primary={primary}\n hover={hover}\n emptyRender={emptyRender}\n isEmpty={isEmpty || !dayjs(item).isValid()}\n >\n {dayjs(item).format(\n hideSecond ? \"YYYY-MM-DD HH:mm\" : \"YYYY-MM-DD HH:mm:ss\"\n )}\n </ColItem>\n );\n};\n// init:190px min:100px max:400px\nconst serialNumber = (\n item,\n { hover, primary, emptyRender, isEmpty, ...props }\n) => {\n return (\n <ColItem\n {...props}\n type=\"serial-number\"\n item={item}\n primary={primary}\n hover={hover}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n {item}\n </ColItem>\n );\n};\n// init:120px min:100px max:400px\nconst serialNumberShort = (\n item,\n { hover, primary, emptyRender, isEmpty, ...props }\n) => {\n return (\n <ColItem\n {...props}\n type=\"serial-number-short\"\n item={item}\n primary={primary}\n hover={hover}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n {item}\n </ColItem>\n );\n};\n// init:200px min:120px max:400px\nconst user = (\n item,\n { hover, primary, ellipsis, emptyRender, isEmpty, ...props }\n) => {\n return (\n <ColItem\n {...props}\n type=\"user\"\n item={item}\n primary={primary}\n hover={hover}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n <Ellipsis ellipsis={ellipsis}>{item}</Ellipsis>\n </ColItem>\n );\n};\n// init:100px 100px 400px\nconst userName = (\n item,\n { hover, primary, ellipsis, emptyRender, isEmpty, ...props }\n) => {\n return (\n <ColItem\n {...props}\n type=\"user-name\"\n item={item}\n primary={primary}\n hover={hover}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n <Ellipsis ellipsis={ellipsis}>{item}</Ellipsis>\n </ColItem>\n );\n};\n// init:240px 160px 400px\nconst contacts = (\n item,\n { hover, primary, ellipsis, emptyRender, isEmpty, ...props }\n) => {\n return (\n <ColItem\n {...props}\n type=\"contacts\"\n item={item}\n primary={primary}\n hover={hover}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n <Ellipsis ellipsis={ellipsis}>{item}</Ellipsis>\n </ColItem>\n );\n};\n// init:140px min:100px max:400px\nconst tag = (item, { emptyRender, isEmpty, ...props }) => {\n return (\n <ColItem\n {...props}\n type=\"tag\"\n item={item}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n {item &&\n (item.isEnum ? (\n <Enum\n name={item.name}\n moduleName={item.moduleName}\n force={item.force}\n >\n {({ type, description }) => (\n <StateTag\n type={type}\n {...Object.assign(\n {},\n omit(item, [\"name\", \"isEnum\", \"moduleName\", \"force\"])\n )}\n text={description}\n />\n )}\n </Enum>\n ) : (\n <StateTag {...Object.assign({}, item)} />\n ))}\n </ColItem>\n );\n};\n// init:80px min:64px max:200px\nconst avatar = (item, { emptyRender, isEmpty, ...props }) => {\n return (\n <ColItem\n {...props}\n type=\"avatar\"\n item={item}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n <Image.Avatar {...Object.assign({}, item)} size={32} />\n </ColItem>\n );\n};\n// init:70px min:70px max:400px\nconst singleRow = (\n item,\n { hover, primary, ellipsis, emptyRender, isEmpty, ...props }\n) => {\n return (\n <ColItem\n {...props}\n type=\"single-row\"\n item={item}\n hover={hover}\n primary={primary}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n <Ellipsis ellipsis={ellipsis}>{item}</Ellipsis>\n </ColItem>\n );\n};\n// init:80px min:80px max:400px\nconst hideInfo = (item, props) => {\n return <HideInfoComponent api={item} {...props} />;\n};\n// init:300px min:160px max:500px\nconst mainInfo = (\n item,\n { ellipsis, hover = true, primary = true, emptyRender, isEmpty, ...props }\n) => {\n return (\n <ColItem\n {...props}\n type=\"main-info\"\n item={item}\n hover={hover}\n primary={primary}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n <Ellipsis ellipsis={ellipsis}>{item}</Ellipsis>\n </ColItem>\n );\n};\n// init:400px 160px 600px\nconst description = (\n item,\n { hover, primary, ellipsis, emptyRender, isEmpty, ...props }\n) => {\n return (\n <ColItem\n {...props}\n type=\"description\"\n item={item}\n hover={hover}\n primary={primary}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n <Ellipsis ellipsis={ellipsis}>{item}</Ellipsis>\n </ColItem>\n );\n};\n\n// init:180px min:120px max:400px\nconst options = (item, { width }) => {\n return (\n <OptionsList\n className={classnames(columnsStyle[\"col-item\"], columnsStyle[\"options\"])}\n list={item}\n width={width}\n />\n );\n};\n\nconst other = (\n item,\n { hover, primary, ellipsis, emptyRender, isEmpty, ...props }\n) => {\n return (\n <ColItem\n {...props}\n type=\"other\"\n item={item}\n hover={hover}\n primary={primary}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n <Ellipsis ellipsis={ellipsis}>{item}</Ellipsis>\n </ColItem>\n );\n};\n\nconst sensitiveInfo = (\n item,\n { hover, primary, ellipsis, emptyRender, isEmpty, ...props }\n) => {\n return (\n <ColItem\n {...props}\n type=\"sensitiveInfo\"\n item={item}\n hover={hover}\n primary={primary}\n emptyRender={emptyRender}\n isEmpty={isEmpty}\n >\n <Ellipsis ellipsis={ellipsis}>{item}</Ellipsis>\n </ColItem>\n );\n};\n\nconst columnTypes = {\n date: {\n render: date,\n width: 160,\n min: 120,\n max: 400,\n },\n dateShort: {\n render: dateShort,\n width: 120,\n min: 100,\n max: 400,\n },\n dateRange: {\n render: dateRange,\n width: 240,\n min: 120,\n max: 400,\n },\n datetime: {\n render: datetime,\n width: 190,\n min: 190,\n max: 400,\n },\n serialNumber: {\n render: serialNumber,\n width: 190,\n min: 100,\n max: 400,\n },\n serialNumberShort: {\n render: serialNumberShort,\n width: 120,\n min: 100,\n max: 400,\n },\n user: {\n render: user,\n width: 200,\n min: 120,\n max: 400,\n },\n userName: {\n render: userName,\n width: 100,\n min: 100,\n max: 400,\n },\n contacts: {\n render: contacts,\n width: 240,\n min: 160,\n max: 400,\n },\n tag: {\n render: tag,\n width: 140,\n min: 100,\n max: 400,\n },\n avatar: {\n render: avatar,\n width: 80,\n min: 64,\n max: 200,\n },\n singleRow: {\n render: singleRow,\n width: 70,\n min: 70,\n max: 400,\n },\n hideInfo: {\n render: hideInfo,\n width: 120,\n min: 80,\n max: 400,\n },\n mainInfo: {\n render: mainInfo,\n width: 300,\n min: 160,\n max: 500,\n },\n description: {\n render: description,\n width: 400,\n min: 160,\n max: 600,\n },\n options: {\n render: options,\n width: 180,\n min: 120,\n max: 400,\n },\n sensitiveInfo: {\n render: sensitiveInfo,\n width: 200,\n min: 100,\n max: 400,\n },\n other: {\n render: other,\n width: 200,\n min: 120,\n max: 400,\n },\n otherSmall: {\n render: other,\n width: 100,\n min: 70,\n max: 400,\n },\n otherLarge: {\n render: other,\n width: 300,\n min: 120,\n max: 500,\n },\n};\n\nexport default columnTypes;\n","import { useMemo, useState } from \"react\";\nimport groupBy from \"lodash/groupBy\";\nimport Icon from \"@components/Icon\";\nimport LoadingButton from \"@components/LoadingButton\";\nimport { SearchInput } from \"@components/Common\";\nimport style from \"./style.module.scss\";\nimport { Button, Checkbox, Col, Collapse, List, Row, Tooltip } from \"antd\";\nimport { ReactSortable } from \"react-sortablejs\";\nimport classnames from \"classnames\";\nimport transform from \"lodash/transform\";\nimport get from \"lodash/get\";\nimport set from \"lodash/set\";\nimport cloneDeep from \"lodash/cloneDeep\";\n\nconst { Panel } = Collapse;\n\nconst ColumnsControlContent = ({\n close,\n onConfirm,\n columns,\n config: defaultValue,\n}) => {\n const [config, onChange] = useState(defaultValue || {});\n\n const [searchText, setSearchText] = useState(\"\");\n const { leftFixedColumns, rightFixedColumns, visibleColumns, hiddenColumns } =\n useMemo(() => {\n return transform(\n Object.assign(\n {\n leftFixedColumns: [],\n rightFixedColumns: [],\n visibleColumns: [],\n hiddenColumns: [],\n },\n groupBy(columns, (item) => {\n if (item.fixed === \"right\") {\n return \"rightFixedColumns\";\n }\n if (item.fixed === true || item.fixed === \"left\") {\n return \"leftFixedColumns\";\n }\n return (get(config, `${item.name}.visible`) !== true &&\n item.hidden) ||\n get(config, `${item.name}.visible`) === false\n ? \"hiddenColumns\"\n : \"visibleColumns\";\n })\n ),\n (result, value, key) => {\n result[key] = value.sort((a, b) => {\n return (\n get(config, `${a.name}.rank`, 0) -\n get(config, `${b.name}.rank`, 0)\n );\n });\n },\n {}\n );\n }, [columns, config]);\n\n const handlerColumnsChange = (columns) => {\n const newConfig = cloneDeep(config);\n const columnsList = [].concat(\n columns.leftFixedColumns,\n columns.visibleColumns,\n columns.rightFixedColumns\n );\n (columns.hiddenColumns || []).forEach((col) => {\n set(newConfig, `${col.name}.visible`, false);\n });\n columnsList.forEach((col, index) => {\n set(newConfig, `${col.name}.rank`, index + 1);\n });\n onChange(newConfig);\n };\n\n const renderColumn = (item) => {\n return (\n <>\n {item.titleText || item.title || \"未命名列\"}\n {item.groupHeader && item.groupHeader.length > 0\n ? `(${item.groupHeader.map(({ title }) => title).join(\"-\")})`\n : \"\"}\n </>\n );\n };\n\n return (\n <div className={style[\"columns-control-content\"]}>\n <div className={style[\"columns-control-content-title\"]}>\n <Row align=\"middle\" justify=\"space-between\">\n <Col>编辑表格</Col>\n <Col>\n <Tooltip title=\"恢复默认\">\n <LoadingButton\n type=\"text\"\n icon={<Icon type=\"icon-huifumorenshezhi\" />}\n onClick={async () => {\n onConfirm && (await onConfirm({}));\n close();\n }}\n />\n </Tooltip>\n </Col>\n </Row>\n </div>\n <div className={style[\"columns-control-content-scroller\"]}>\n <Collapse\n defaultActiveKey={[\"active\", \"un-active\"]}\n ghost={true}\n bordered\n >\n <Panel key=\"active\" header=\"显示的信息\">\n <List className={style[\"columns-control-content-list\"]}>\n {leftFixedColumns.map((item, index) => (\n <List.Item\n className={style[\"columns-control-content-item\"]}\n key={item.name || `left-${index}`}\n >\n <Checkbox checked disabled>\n {renderColumn(item)}\n </Checkbox>\n </List.Item>\n ))}\n <ReactSortable\n list={visibleColumns}\n filter=\".ignore-elements\"\n dragClass={style[\"sortable-drag\"]}\n ghostClass={style[\"sortable-ghost\"]}\n forceFallback\n setList={(visibleColumns) => {\n handlerColumnsChange({\n leftFixedColumns,\n visibleColumns,\n hiddenColumns,\n rightFixedColumns,\n });\n }}\n animation={300}\n delayOnTouchStart\n delay={2}\n >\n {visibleColumns.map((item, index) => (\n <List.Item\n className={classnames(\n style[\"columns-control-content-item\"],\n style[\"is-drag\"]\n )}\n key={item.name || `visible-${index}`}\n >\n <Icon\n type=\"icon-paixu\"\n className={style[\"columns-control-content-item-icon\"]}\n />\n <Checkbox\n checked\n disabled={\n item.fixed ||\n leftFixedColumns.length +\n visibleColumns.length +\n rightFixedColumns.length <=\n 1\n }\n onChange={(e) => {\n e.stopPropagation();\n e.preventDefault();\n const newConfig = Object.assign({}, config);\n newConfig[item.name] = Object.assign(\n {},\n newConfig[item.name],\n { visible: false }\n );\n onChange(newConfig);\n }}\n >\n {renderColumn(item)}\n </Checkbox>\n </List.Item>\n ))}\n </ReactSortable>\n {rightFixedColumns.map((item, index) => (\n <List.Item\n className={style[\"columns-control-content-item\"]}\n key={item.name || `right-${index}`}\n >\n <Checkbox checked disabled>\n {item.titleText || item.title || \"未命名列\"}\n </Checkbox>\n </List.Item>\n ))}\n </List>\n </Panel>\n <Panel\n key=\"un-active\"\n header={\n <Row wrap={false} justify=\"space-between\">\n <Col>隐藏的信息</Col>\n <Col\n onClick={(e) => {\n e.stopPropagation();\n e.preventDefault();\n }}\n >\n <SearchInput\n prefix={<Icon type=\"icon-sousuo\" size={12} />}\n placeholder=\"搜索\"\n onSearch={(value) => {\n setSearchText(value);\n }}\n className={style[\"columns-control-content-input\"]}\n size=\"small\"\n />\n </Col>\n </Row>\n }\n >\n <List\n dataSource={hiddenColumns.filter(\n (item) =>\n typeof (item.titleText || item.title) === \"string\" &&\n (item.titleText || item.title).indexOf(searchText) > -1\n )}\n renderItem={(item) => {\n return (\n <List.Item\n className={style[\"columns-control-content-item\"]}\n key={item.key}\n >\n <Checkbox\n checked={false}\n onChange={(e) => {\n e.stopPropagation();\n e.preventDefault();\n const newConfig = Object.assign({}, config);\n newConfig[item.name] = Object.assign(\n {},\n newConfig[item.name],\n { visible: true }\n );\n onChange(newConfig);\n }}\n >\n {item.titleText || item.title || \"未命名列\"}\n </Checkbox>\n </List.Item>\n );\n }}\n />\n </Panel>\n </Collapse>\n </div>\n <Row\n className={style[\"columns-control-content-footer\"]}\n justify=\"end\"\n gutter={10}\n >\n <Col>\n <Button\n size=\"small\"\n onClick={() => {\n onChange(defaultValue || {});\n close();\n }}\n >\n 取消\n </Button>\n </Col>\n <Col>\n <LoadingButton\n type=\"primary\"\n size=\"small\"\n onClick={async () => {\n onConfirm && (await onConfirm(config));\n close();\n }}\n >\n 确定\n </LoadingButton>\n </Col>\n </Row>\n </div>\n );\n};\n\nexport default ColumnsControlContent;\n","import { startTransition, useEffect, useMemo, useRef, useState } from \"react\";\nimport useRefCallback from \"@kne/use-ref-callback\";\nimport classnames from \"classnames\";\nimport columnTypes from \"./columnTypes\";\nimport get from \"lodash/get\";\nimport sumBy from \"lodash/sumBy\";\nimport transform from \"lodash/transform\";\nimport pick from \"lodash/pick\";\nimport { Col, Popover, Row } from \"antd\";\nimport Icon from \"@components/Icon\";\nimport { usePreset } from \"@components/Global\";\nimport { useFetch } from \"@kne/react-fetch\";\nimport ColumnsControlContent from \"./ColumnsControlContent\";\nimport { useDebouncedCallback } from \"use-debounce\";\nimport style from \"./style.module.scss\";\nimport isEqual from \"lodash/isEqual\";\nimport findLastIndex from \"lodash/findLastIndex\";\n\nconst TableConfig = ({ title, columns, config, setConfig }) => {\n const [open, setOpen] = useState(false);\n return (\n <Row wrap={false}>\n <Col flex={1}>{title}</Col>\n <Col>\n <Popover\n open={open}\n onOpenChange={setOpen}\n trigger=\"click\"\n placement=\"bottomLeft\"\n overlayClassName={style[\"columns-control-overlay\"]}\n content={\n <ColumnsControlContent\n columns={columns}\n config={config}\n close={() => {\n setOpen(false);\n }}\n onConfirm={(newConfig) => {\n setConfig((config) => {\n return transform(\n newConfig,\n (result, value, key) => {\n result[key] = Object.assign(\n {},\n config[key],\n pick(value, [\"visible\", \"rank\"])\n );\n },\n {}\n );\n });\n }}\n />\n }\n >\n <span className={style[\"table-changer-setting\"]}>\n <Icon type=\"icon-shezhi\" />\n </span>\n </Popover>\n </Col>\n </Row>\n );\n};\n\nconst useTableConfig = ({ columns, name, controllerOpen, tableWidth }) => {\n const [currentMoveColumnIndex, setCurrentMoveColumnIndex] = useState(null);\n const currentMoveColumnIndexRef = useRef(currentMoveColumnIndex);\n currentMoveColumnIndexRef.current = currentMoveColumnIndex;\n const currentMoveColumnRef = useRef(null);\n const startPointRef = useRef(null);\n const [config, setConfigBase] = useState({});\n const { tableServerApis } = usePreset();\n const tablePageServerParams = tableServerApis?.getDataApi(name);\n\n const saveConfig = useDebouncedCallback((name, target) => {\n tableServerApis?.setDataFunc(name, target);\n }, 500);\n\n const setConfig = useRefCallback((newConfig) => {\n startTransition(() => {\n setConfigBase((config) => {\n const target =\n typeof newConfig === \"function\" ? newConfig(config) : newConfig;\n name && controllerOpen && saveConfig(name, target);\n return target;\n });\n });\n });\n\n const { send } = useFetch(\n Object.assign({\n ...Object.assign({}, tablePageServerParams),\n auto: false,\n cache: `TABLE_CONFIG_${name}`,\n isLocal: true,\n onRequestSuccess: (data) => {\n setConfigBase(Object.assign({}, data));\n },\n })\n );\n\n const getTableConfig = useRefCallback(() => {\n if (name && controllerOpen && tablePageServerParams) {\n send({ force: false });\n }\n });\n\n useEffect(() => {\n getTableConfig();\n }, [getTableConfig]);\n\n const visibleColumns = useMemo(() => {\n return columns\n .filter((col) => {\n return !(\n get(config, `${col.name}.visible`) === false ||\n (get(config, `${col.name}.visible`) !== true && col.hidden === true)\n );\n })\n .sort((a, b) => {\n const computedIndex = (item) => {\n return (\n get(config, `${item.name}.rank`, 0) +\n (item.fixed === \"left\" ? -10000 : 0) +\n (item.fixed === \"right\" ? 10000 : 0)\n );\n };\n return computedIndex(a) - computedIndex(b);\n });\n }, [columns, config]);\n\n const lastNotOptionsColumnIndex = useMemo(() => {\n return findLastIndex(visibleColumns, ({ type }) => type !== \"options\");\n }, [visibleColumns]);\n\n const totalWidth = useMemo(() => {\n return sumBy(\n visibleColumns,\n ({ type, name }) =>\n get(config, `${name}.width`) || columnTypes[type].width\n );\n }, [visibleColumns, config]);\n\n const computedRealWidth = ({ width, index }) => {\n return lastNotOptionsColumnIndex === index\n ? width + Math.max(tableWidth - totalWidth - 2, 0)\n : width;\n };\n\n const resizeBarRender = useRefCallback((column, index) => {\n return (\n <span\n className={classnames(style[\"cell-resize-bar\"])}\n onMouseDown={(e) => {\n currentMoveColumnRef.current = Object.assign({}, column, { index });\n startPointRef.current = e.clientX;\n setCurrentMoveColumnIndex(index);\n }}\n >\n <Icon type=\"icon-paixu\" />\n </span>\n );\n });\n\n const resize = useRefCallback((delta) => {\n if (currentMoveColumnIndex === null) {\n return;\n }\n if (!currentMoveColumnRef.current) {\n return;\n }\n const { name, width, min, max, index } = currentMoveColumnRef.current;\n const currentWidth = Math.min(Math.max(width + delta, min), max);\n if (currentWidth < computedRealWidth({ width: min, index })) {\n return;\n }\n setConfig((config) => {\n return Object.assign({}, config, {\n [name]: Object.assign({}, config[name], {\n width: currentWidth,\n }),\n });\n });\n });\n\n const computedColumnProps = useRefCallback((column, index) => {\n const { name, width, min, max } = column;\n let targetColumn = column;\n if (index === visibleColumns.length - 1) {\n targetColumn = Object.assign({}, column, {\n className: \"has-config-btn\",\n title: (\n <TableConfig\n title={column?.title}\n columns={columns}\n config={config}\n setConfig={setConfig}\n />\n ),\n });\n }\n\n const movingClass = () => {\n return {\n className: classnames({\n [style[\"is-moving\"]]: currentMoveColumnIndexRef.current === index,\n }),\n };\n };\n const currentWidth = Math.min(\n Math.max(get(config, `${name}.width`) || width, min),\n max\n );\n\n const realWidth = computedRealWidth({ width: currentWidth, index });\n\n return Object.assign({}, targetColumn, {\n onHeaderCell: movingClass,\n onCell: movingClass,\n width: realWidth,\n shouldCellUpdate: (record, prevRecord) => {\n return (\n currentMoveColumnIndexRef.current === null ||\n currentMoveColumnIndexRef.current === index ||\n column.type === \"hideInfo\" ||\n !isEqual(record[column.name], prevRecord[column.name])\n );\n },\n title: (\n <>\n {targetColumn.title}\n {!(realWidth > currentWidth && realWidth > max) &&\n resizeBarRender(\n Object.assign({}, targetColumn, { width: realWidth }),\n index\n )}\n </>\n ),\n });\n });\n\n useEffect(() => {\n const handlerCancelResize = () => {\n setCurrentMoveColumnIndex(null);\n startPointRef.current = null;\n currentMoveColumnRef.current = null;\n };\n\n const handlerResize = (e) => {\n if (\n currentMoveColumnIndexRef.current === null ||\n currentMoveColumnRef.current === null\n ) {\n return;\n }\n if (startPointRef.current === null) {\n startPointRef.current = e.clientX;\n return;\n }\n resize(e.clientX - startPointRef.current);\n };\n document.documentElement.addEventListener(\n \"mouseup\",\n handlerCancelResize,\n true\n );\n document.documentElement.addEventListener(\"mousemove\", handlerResize, true);\n return () => {\n document.documentElement.removeEventListener(\n \"mouseup\",\n handlerCancelResize,\n true\n );\n document.documentElement.removeEventListener(\n \"mousemove\",\n handlerResize,\n true\n );\n };\n }, [resize]);\n\n return {\n visibleColumns,\n currentMoveColumnIndex,\n resizeBarRender,\n columnsConfig: config,\n totalWidth,\n computedColumnProps,\n };\n};\n\nexport default useTableConfig;\n","import { useRef, useState } from \"react\";\nimport columnTypes from \"@components/Table/columnTypes\";\nimport isNil from \"lodash/isNil\";\nimport pick from \"lodash/pick\";\nimport memoize from \"lodash/memoize\";\nimport get from \"lodash/get\";\nimport useRefCallback from \"@kne/use-ref-callback\";\n\nconst useColumnTypeProps = ({ rowKey, renderProps }) => {\n const [expandInfo, setExpandInfo] = useState(null);\n const columnRenderPropsRef = useRef(renderProps);\n columnRenderPropsRef.current = renderProps;\n\n const computedColumnProps = useRefCallback(\n (col, index, { columnsConfig }) => {\n const {\n name,\n type,\n expandType,\n title,\n titleRender,\n fixed,\n emptyOf,\n emptyRender,\n groupHeader,\n sort,\n disableColItem,\n ...otherColProps\n } = col;\n const { render, width, min, max } = Object.assign(\n {},\n columnTypes[type],\n type === \"hideInfo\" &&\n !isNil(expandInfo) &&\n pick(columnTypes[expandType || \"other\"], [\"width\", \"min\", \"max\"])\n );\n const targetRender = memoize(render);\n\n return {\n name,\n title: typeof titleRender === \"function\" ? titleRender(title) : title,\n min,\n max,\n width,\n fixed,\n groupHeader,\n sort,\n type,\n render: (item) => {\n const itemKey =\n typeof rowKey === \"function\" ? rowKey(item) : item[rowKey];\n const colProps = Object.assign(\n {},\n col,\n typeof col.render === \"function\"\n ? col.render({\n ...columnRenderPropsRef.current,\n name,\n target: item,\n })\n : {}\n );\n\n const targetRenderWithProps = (colValue) => {\n const isEmpty = (\n emptyOf ||\n ((value) => value === \"\" || value === void 0 || value === null)\n )(colValue);\n return targetRender(colValue, {\n ...otherColProps,\n name,\n width: get(columnsConfig, `${name}.width`) || width,\n min,\n max,\n isEmpty,\n emptyRender,\n hover: colProps.hover,\n colValue: item,\n renderProps: columnRenderPropsRef.current,\n primary: colProps.primary,\n ellipsis: colProps.ellipsis,\n expand: expandInfo === itemKey,\n onExpand: () => setExpandInfo(itemKey),\n });\n };\n\n const colValue =\n colProps.hasOwnProperty(\"valueOf\") &&\n typeof colProps.valueOf === \"function\"\n ? colProps.valueOf(\n item,\n Object.assign(\n {},\n columnRenderPropsRef.current,\n {\n name,\n },\n disableColItem\n ? { targetRender: targetRenderWithProps }\n : {}\n )\n )\n : get(item, name);\n return disableColItem ? colValue : targetRenderWithProps(colValue);\n },\n };\n }\n );\n\n return {\n expandInfo,\n computedColumnProps,\n };\n};\n\nexport default useColumnTypeProps;\n","import { useMemo } from \"react\";\n\nconst useGroupHeader = (columns) => {\n return useMemo(() => {\n const groupHeaderColumns = columns.filter(\n (item) => item.groupHeader && item.groupHeader.length > 0\n );\n if (groupHeaderColumns.length > 0) {\n const newColumns = columns.slice(0);\n const group = [];\n const appendGroupHeader = (column) => {\n const { groupHeader } = column;\n if (!(groupHeader && groupHeader.length > 0)) {\n return;\n }\n const columnIndex = newColumns.indexOf(column);\n const core = (groupHeader, group) => {\n const [targetHeader, ...otherHeader] = groupHeader;\n let currentGroup = group.find(\n (item) => item.name === targetHeader.name\n );\n if (!currentGroup) {\n currentGroup = Object.assign(\n { startIndex: columnIndex },\n targetHeader,\n { children: [] }\n );\n group.push(currentGroup);\n }\n if (otherHeader.length > 0) {\n core(otherHeader, currentGroup.children);\n } else {\n currentGroup.children.push(column);\n }\n };\n core(groupHeader, group);\n newColumns.splice(columnIndex, 1);\n };\n groupHeaderColumns.forEach(appendGroupHeader);\n group.forEach((groupColumn, index) => {\n newColumns.splice(groupColumn.startIndex + index, 0, groupColumn);\n });\n\n return { columns: newColumns, hasGroupHeader: true };\n }\n return { columns, hasGroupHeader: false };\n }, [columns]);\n};\n\nexport default useGroupHeader;\n","import useControlValue from \"@kne/use-control-value\";\nimport Icon from \"@components/Icon\";\nimport classnames from \"classnames\";\nimport clone from \"lodash/clone\";\nimport { useCallback, useMemo } from \"react\";\nimport style from \"./style.module.scss\";\n\nconst sortArrayToMap = (sort) =>\n new Map(\n (sort || []).map(({ name, sort }) => {\n return [name, sort];\n })\n );\n\nconst useSort = (props) => {\n const [sort, setSort] = useControlValue(props, {\n value: \"sort\",\n defaultValue: \"defaultSort\",\n onChange: \"onSortChange\",\n });\n\n const mapSort = useMemo(() => {\n return sortArrayToMap(sort);\n }, [sort]);\n\n const setMapSort = useCallback(\n (callback) => {\n return setSort((sort) => {\n const newSort = callback(sortArrayToMap(sort));\n return Array.from(newSort).map(([name, sort]) => ({ name, sort }));\n });\n },\n [setSort]\n );\n\n return useCallback(\n ({ single, name }) => (\n <div\n className={classnames(style[\"sort-btn\"], {\n [style[\"sort-active-desc\"]]: mapSort.get(name) === \"DESC\",\n [style[\"sort-active-asc\"]]: mapSort.get(name) === \"ASC\",\n })}\n onClick={() => {\n setMapSort((sort) => {\n const current = sort.get(name);\n const targetValue = (() => {\n if (current === \"DESC\") {\n return \"ASC\";\n }\n if (current === \"ASC\") {\n return null;\n }\n return \"DESC\";\n })();\n if (single) {\n return new Map(targetValue ? [[name, targetValue]] : []);\n }\n const newSort = clone(sort);\n targetValue ? newSort.set(name, targetValue) : newSort.delete(name);\n return newSort;\n });\n }}\n >\n <Icon type=\"icon-triangle-up\" className={style[\"sort-icon\"]} />\n <Icon type=\"icon-triangle-down\" className={style[\"sort-icon\"]} />\n </div>\n ),\n [mapSort, setMapSort]\n );\n};\n\nexport default useSort;\n","import style from \"./style.module.scss\";\nimport { Table as AntdTable } from \"antd\";\nimport { useEffect, useMemo, useRef, useState } from \"react\";\nimport classnames from \"classnames\";\nimport Scroller from \"@common/components/Scroller\";\nimport { getScrollEl } from \"@common/utils/importantContainer\";\nimport useResize from \"@common/hooks/useResize\";\nimport useTableConfig from \"./useTableConfig\";\nimport useColumnTypeProps from \"@components/Table/useColumnTypeProps\";\nimport useGroupHeader from \"./useGroupHeader\";\nimport useSort from \"./useSort\";\nimport useRefCallback from \"@kne/use-ref-callback\";\n\nconst Table = ({\n columns,\n className,\n getScrollEl,\n sticky,\n stickyOffset,\n pagination,\n columnRenderProps,\n rowKey,\n dataSource,\n controllerOpen,\n name,\n summary,\n scroll,\n onTablePropsReady,\n ...props\n}) => {\n const [tableWidth, setTableWidth] = useState(0);\n const [isLayout, setIsLayout] = useState(true);\n\n useEffect(() => {\n if (tableWidth) {\n setTimeout(() => {\n setIsLayout(false);\n }, 0);\n }\n }, [tableWidth]);\n const columnRenderPropsRef = useRef(columnRenderProps);\n columnRenderPropsRef.current = columnRenderProps;\n const ref = useResize(\n (el) => {\n setTableWidth(el.clientWidth);\n },\n { isDebounce: true }\n );\n const { expandInfo, computedColumnProps } = useColumnTypeProps({\n rowKey,\n renderProps: columnRenderProps,\n });\n\n const {\n columnsConfig,\n visibleColumns,\n computedColumnProps: computedColumnConfigProps,\n currentMoveColumnIndex,\n totalWidth,\n } = useTableConfig({\n columns,\n controllerOpen,\n name,\n computedColumnProps,\n tableWidth,\n });\n\n const sortRender = useSort(props);\n\n const targetColumns = useMemo(() => {\n return visibleColumns.map((col, index) => {\n let target = computedColumnProps(col, index, {\n rowKey,\n expandInfo,\n columnsConfig,\n });\n\n if (target.sort && col.type !== \"options\") {\n target = Object.assign({}, target, {\n title: (\n <>\n {target.title}\n {sortRender({\n name: col.name,\n single:\n typeof target.sort === \"object\" ? target.sort.single : true,\n })}\n </>\n ),\n });\n }\n\n if (controllerOpen) {\n target = computedColumnConfigProps(target, index, {\n tableWidth,\n columnsConfig,\n });\n }\n\n return target;\n });\n }, [\n visibleColumns,\n tableWidth,\n columnsConfig,\n expandInfo,\n rowKey,\n controllerOpen,\n computedColumnProps,\n computedColumnConfigProps,\n sortRender,\n ]);\n\n const { columns: groupColumns, hasGroupHeader } =\n useGroupHeader(targetColumns);\n\n const onTablePropsReadyCallback = useRefCallback(onTablePropsReady);\n\n useEffect(() => {\n onTablePropsReadyCallback &&\n onTablePropsReadyCallback({\n columns,\n groupColumns,\n dataSource,\n visibleColumns,\n });\n }, [\n onTablePropsReadyCallback,\n groupColumns,\n dataSource,\n columns,\n visibleColumns,\n ]);\n\n return (\n <div\n className={classnames(className, style[\"table\"], {\n [style[\"is-resize\"]]: currentMoveColumnIndex !== null,\n [style[\"is-computed\"]]: isLayout,\n [style[\"has-group-header\"]]: hasGroupHeader,\n })}\n ref={ref}\n style={{\n \"--sticky-offset\": stickyOffset,\n }}\n >\n {!isLayout && (\n <Scroller\n className=\"table-page-scroller\"\n scroller={{ getContainer: getScrollEl }}\n getScrollTarget={(el) => {\n return (\n el.querySelector(\".ant-table-body\") ||\n el.querySelector(\".ant-table-content\")\n );\n }}\n >\n <AntdTable\n {...props}\n sticky={\n sticky\n ? {\n getContainer: getScrollEl,\n }\n : false\n }\n dataSource={dataSource}\n rowKey={rowKey}\n columns={groupColumns}\n scroll={Object.assign(\n {},\n { x: Math.max(tableWidth, totalWidth) },\n scroll\n )}\n pagination={pagination}\n summary={\n typeof summary === \"function\"\n ? (current, ...args) => {\n return summary(\n Object.assign(\n {},\n { pageData: current },\n { columns: groupColumns }\n ),\n ...args\n );\n }\n : null\n }\n />\n </Scroller>\n )}\n </div>\n );\n};\n\nTable.defaultProps = {\n controllerOpen: true,\n rowKey: \"id\",\n getScrollEl,\n columnRenderProps: {},\n sticky: false,\n stickyOffset: \"var(--nav-height)\",\n pagination: false,\n};\n\nexport default Table;\n","const importMessages = (locale) => {\n return {\n \"en-US\": () => import(\"./en-US\"),\n \"zh-CN\": () => import(\"./zh-CN\"),\n }[locale]();\n};\n\nexport default importMessages;\n","import { withFetch } from \"@kne/react-fetch\";\nimport Table from \"./Table\";\nimport classnames from \"classnames\";\nimport Features from \"@components/Features\";\nimport get from \"lodash/get\";\nimport useRefCallback from \"@kne/use-ref-callback\";\nimport { forwardRef, useMemo, useState } from \"react\";\nimport style from \"./style.module.scss\";\nimport importMessages from \"./locale\";\nimport { FormattedMessage, IntlProvider } from \"@components/Intl\";\nimport localStorage from \"@common/utils/localStorage\";\nimport { getScrollEl } from \"@common/utils/importantContainer\";\n\nconst FeaturesColumnsConfig = ({ id, columns, children }) => {\n if (id) {\n return (\n <Features id={id}>\n {({ options }) =>\n children({\n columns: columns.filter((item) => {\n if (!item.name) {\n return true;\n }\n if (!Array.isArray(get(options, \"hiddenColumns\"))) {\n return true;\n }\n return options.hiddenColumns.indexOf(item.name) === -1;\n }),\n })\n }\n </Features>\n );\n }\n return children({ columns });\n};\n\nconst TablePageInner = withFetch(\n ({\n data,\n refresh,\n reload,\n requestParams,\n fetchProps,\n isComplete,\n setData,\n loadMore,\n send,\n dataFormat,\n className,\n featureId,\n columns,\n getColumns,\n pagination,\n columnRenderProps,\n summary,\n ...props\n }) => {\n const handlerDataFormat = useRefCallback(dataFormat);\n const formatData = useMemo(() => {\n return handlerDataFormat(data);\n }, [data, handlerDataFormat]);\n\n const tableProps = {\n dataSource: formatData.list,\n pagination: pagination.open\n ? {\n total: formatData.total,\n showTotal: (total) => (\n <>\n <FormattedMessage\n id=\"Page_Total\"\n moduleName=\"Table\"\n defaultMessage=\"共\"\n />\n <span className={style[\"total_text\"]}>{total}</span>\n <FormattedMessage\n id=\"Page_TotalCount\"\n moduleName=\"Table\"\n defaultMessage=\"条\"\n />\n </>\n ),\n current: get(\n requestParams,\n [pagination.paramsType, pagination.currentName],\n 1\n ),\n pageSize: pagination.pageSize,\n onChange: pagination.onChange\n ? pagination.onChange\n : (page, size) => {\n if (\n page !==\n get(\n requestParams,\n [pagination.paramsType, pagination.currentName],\n 1\n )\n ) {\n (pagination.requestType === \"refresh\" ? refresh : reload)({\n [pagination.paramsType]: {\n [pagination.currentName]: page,\n [pagination.pageSizeName]: size,\n },\n });\n } else {\n pagination.onShowSizeChange &&\n pagination.onShowSizeChange(page, size);\n }\n getScrollEl().scrollTop = 0;\n },\n size: pagination.size,\n showSizeChanger: pagination.showSizeChanger,\n showQuickJumper: pagination.showQuickJumper,\n }\n : false,\n };\n\n return (\n <IntlProvider importMessages={importMessages} moduleName=\"Table\">\n <FeaturesColumnsConfig id={featureId} columns={columns}>\n {({ columns }) => (\n <Table\n {...Object.assign({}, props, tableProps)}\n className={classnames(className, \"loading-container\", {\n \"is-loading\": !isComplete,\n })}\n columns={columns}\n columnRenderProps={{\n ...columnRenderProps,\n requestParams,\n fetchProps,\n data,\n }}\n summary={\n typeof summary === \"function\"\n ? (...args) => {\n return summary(\n Object.assign(\n {},\n {\n data,\n fetchProps,\n requestParams,\n refresh,\n reload,\n loadMore,\n send,\n dataFormat,\n pagination,\n },\n ...args\n )\n );\n }\n : null\n }\n />\n )}\n </FeaturesColumnsConfig>\n </IntlProvider>\n );\n }\n);\n\nTablePageInner.defaultProps = {\n pagination: {},\n columnRenderProps: {},\n sticky: true,\n dataFormat: (data) => {\n return {\n list: data.pageData,\n total: data.totalCount,\n };\n },\n};\n\nconst TablePage = forwardRef(({ pagination, ...props }, ref) => {\n pagination = Object.assign(\n {},\n {\n showSizeChanger: true,\n showQuickJumper: true,\n open: true,\n paramsType: \"data\",\n requestType: \"reload\",\n currentName: \"currentPage\",\n pageSizeName: \"perPage\",\n pageSize: 20,\n //size: \"small\",\n },\n pagination\n );\n const pageSizeKey = `${(\n props.name || \"common\"\n ).toUpperCase()}_TABLE_PAGE_SIZE`;\n const [pageSize, setPageSize] = useState(\n localStorage.getItem(pageSizeKey) || pagination.pageSize\n );\n const fetchParams = useMemo(() => {\n const fetchParams = {};\n if (props.params && Object.keys(props.params).length > 0) {\n fetchParams[\"params\"] = {\n ...props.params,\n [pagination.pageSizeName]: pageSize,\n };\n }\n if (props.data && Object.keys(props.data).length > 0) {\n fetchParams[\"data\"] = {\n ...props.data,\n [pagination.pageSizeName]: pageSize,\n };\n }\n return fetchParams;\n }, [props.params, props.data, pagination.pageSizeName, pageSize]);\n return (\n <TablePageInner\n {...props}\n {...fetchParams}\n pagination={Object.assign({}, pagination, {\n pageSize,\n onShowSizeChange: (current, size) => {\n localStorage.setItem(pageSizeKey, size);\n setPageSize(size);\n },\n })}\n ref={ref}\n />\n );\n});\n\nexport default TablePage;\n"],"names":["getItem","key","target","window","localStorage","dataType","value","JSON","parse","Number","Boolean","e","setItem","stringify","ButtonGroup","_ref","list","more","compact","props","spaceProps","pick","showLength","setShowLength","useState","length","confirmModal","useConfirmModal","computedLength","useRefCallback","el","targetRef","current","moreEl","moreRef","widthEl","ref","buttonEls","querySelectorAll","buttonElLength","amountWidth","clientWidth","moreBtnWidth","spaceWidth","indexOf","size","isInteger","targetLength","targetWidth","buttonWidthList","map","call","offsetWidth","startTransition","useResize","otherList","slice","renderButton","_ref2","index","className","confirm","isConfirm","message","CurrentButton","ConfirmButton","LoadingButton","_createElement","danger","isDelete","classnames","SpaceComponent","Space","Compact","_jsxs","_Fragment","children","_jsx","style","Dropdown","menu","items","_ref3","onClick","title","okText","label","type","onOk","defaultProps","Button","Icon","locale","en-US","zh-CN","withConfirm","WrappedComponent","ConfirmComponent","createWithIntl","moduleName","importMessages","onCancel","disabled","showCancel","cancelText","isModal","placement","getContainer","formatMessage","useIntl","modal","useModal","cancelButton","id","confirmButton","wrapClassName","footerButtons","Popconfirm","direction","stopPropagation","align","onConfirm","okButtonProps","overlayClassName","getPopupContainer","ConfirmLink","Typography","Link","ConfirmText","Text","baseLoaders","description","EnumLoaderFetch","withFetch","data","getEnumsMap","memoize","enums","Map","concat","Object","keys","assign","EnumLoader","loader","enumsLoader","global","enumsRef","useGlobalContext","prevLocaleRef","useRef","async","arguments","params","undefined","name","force","getEnumMap","get","output","item","toString","Array","isArray","console","warn","set","Promise","all","then","enumMap","from","values","isNil","Enum","preset","usePreset","_ref4","filterValue","extraExpand","onChange","IntlProvider","FormattedMessage","defaultMessage","StateTag","filterName","text","join","closable","onClose","newValue","splice","open","active","context","createContext","Provider","Line","useReactContext","ComponentItem","FilterLines","displayLine","extra","hasMore","isExpand","setIsExpand","Row","justify","wrap","Col","flex","PopoverItem","onValidate","onOpenChange","state","setState","setOpen","useMemo","Popover","trigger","content","gutter","FilterItem","isNotEmpty","placeholder","valueType","transform","result","useSelectInnerContext","SelectInnerInput","useContext","TreeFieldInner","selected","setValue","setSelect","fetchApi","dataFormat","single","isPopup","searchPlaceholder","others","fieldNamesRef","fieldNames","fetchData","treeData","SimpleBar","Tree","omit","checkable","onCheck","checkedKeys","onSelect","selectKeys","selectKey","newCurrent","push","selectedKeys","TreeField","maxLength","MAX_VALUE","checkStrictly","treeToList","nodeList","_ref5","core","forEach","node","Input","DatePickerFilterItem","withFieldItem","picker","DatePicker","dayjs","format","startOf","endOf","Date","valueOf","RangePicker","allowEmpty","TypeDateRangePickerField","pickerValue","AdvancedSelectFilterItem","AdvancedSelectField","UserFilterItem","UserField","FunctionSelectFilterItem","FunctionSelectField","IndustrySelectFilterItem","IndustrySelectField","CityFilterItem","AddressSelectField","CascaderFilterItem","CascaderField","TreeFilterItem","InputFilterItem","InputFilterItemField","Filter","valueBase","useControlValue","filter","newFilterValue","clone","delete","FilterValueDisplay","defaultValue","colorful","url","href","menuOpen","menuWidth","menuFixed","menuCloseButton","backgroundColor","header","headerHeight","headerFixed","headerInfo","backUrl","titleExtra","titleLeftExtra","noMargin","noPadding","optionFooterHeight","option","optionWidth","optionNoPadding","optionFixed","optionFooter","Consumer","isFixed","pageMenuOpenKey","Menu","pageProps","setPageProps","pathModuleName","useLocation","pathname","split","FixedContainer","icon","pageResult","PageInner","isPass","propsRef","localMenuOpen","useMenuOpen","localMenuOpenRef","useEffect","isEqual","targetProps","Result","status","subTitle","Page","featureId","openFeatures","Features","offsetTop","offsetBottom","AntdAffix","targetKey","useLayoutEffect","callback","offsetHeight","resizeObserver","MutationObserver","observe","subtree","childList","disconnect","useContainerHeight","Header","Affix","navigationHeight","ContainerHeight","HeaderInfo","headerInfoRef","navigator","useNavigate","Option","padding","Content","AntdLayout","ErrorComponent","Alert","showIcon","action","location","reload","ErrorBoundary","ReactErrorBoundary","errorComponent","Layout","theme","navigation","scrollLeft","setScrollLeft","_setPageProps","useCallback","scrollEl","getScrollEl","handlerScroll","addEventListener","removeEventListener","Navigation","path","PageTitle","helperGuideName","HelperGuide","permissions","Permissions","forwardRef","page","topArea","tableData","setTableData","PermissionsPage","Table","onRequestSuccess","stateBar","StateBar","MenuItem","iconType","request","isOpen","isSelected","fetchOptions","depth","onLoad","allowCollapsed","hasChildren","refresh","isLoading","useFetch","auto","Spin","search","selectedKey","setSelectKeyChange","setItems","targetItems","defaultOpenKeys","links","childrenKeys","hasStartIcon","_childrenKeys$root","nodeMapping","traversal","options","parentKey","paths","currentKey","targetItem","originItem","treeEnhance","matchedPath","find","ensureSlash","replace","openKeys","setOpenKeys","renderChildren","parentId","newOpenKeys","defaultItems","SetTitle","mapping","defaultTitle","document","headerLogo","rightOptions","showIndex","indexLabel","overflowedIndicator","base","navigate","navigationRef","resizeObserverRef","nameLabel","setNameLabel","RegExp","entries","permission","menuDom","exist","i","getAttribute","_nameLabel","mutationObserverInitConfig","attributes","indexNav","setTimeout","Image","src","logo","alt","mode","_ref6","_path","computedIsPass","some","usePermissions","usePermissionsPass","tagName","Tooltip","createElement","stateOption","isInner","Tabs","animated","tab","tagTypeEnum","default","skill","color","borderColor","filterResult","success","progress","info","other","showBorder","showBackground","tagColor","_tagTypeEnum$type","_tagTypeEnum$type2","Tag","background","border","width","ellipsis","tooltip","ColItem","isEmpty","emptyRender","hover","primary","colValue","loading","setLoading","columnsStyle","resolve","colItem","event","finally","DisplayInfo","createWithFetch","api","expand","onExpand","Ellipsis","_ref17","columnTypes","date","render","isValid","min","max","dateShort","dateRange","datetime","hideSecond","serialNumber","serialNumberShort","user","_ref7","userName","_ref8","contacts","_ref9","tag","_ref10","isEnum","_ref11","avatar","_ref12","Avatar","singleRow","_ref13","hideInfo","HideInfoComponent","mainInfo","_ref14","_ref15","_ref16","OptionsList","sensitiveInfo","_ref18","otherSmall","otherLarge","Panel","Collapse","close","columns","config","searchText","setSearchText","leftFixedColumns","rightFixedColumns","visibleColumns","hiddenColumns","groupBy","fixed","hidden","sort","a","b","renderColumn","titleText","groupHeader","defaultActiveKey","ghost","bordered","List","Item","Checkbox","checked","ReactSortable","dragClass","ghostClass","forceFallback","setList","newConfig","cloneDeep","columnsList","col","handlerColumnsChange","animation","delayOnTouchStart","delay","preventDefault","visible","SearchInput","prefix","onSearch","dataSource","renderItem","TableConfig","setConfig","ColumnsControlContent","controllerOpen","tableWidth","currentMoveColumnIndex","setCurrentMoveColumnIndex","currentMoveColumnIndexRef","currentMoveColumnRef","startPointRef","setConfigBase","tableServerApis","tablePageServerParams","getDataApi","saveConfig","useDebouncedCallback","setDataFunc","send","cache","isLocal","getTableConfig","computedIndex","lastNotOptionsColumnIndex","findLastIndex","totalWidth","sumBy","computedRealWidth","Math","resizeBarRender","column","onMouseDown","clientX","resize","delta","currentWidth","computedColumnProps","targetColumn","movingClass","realWidth","onHeaderCell","onCell","shouldCellUpdate","record","prevRecord","handlerCancelResize","handlerResize","documentElement","columnsConfig","rowKey","renderProps","expandInfo","setExpandInfo","columnRenderPropsRef","expandType","titleRender","emptyOf","disableColItem","otherColProps","targetRender","itemKey","colProps","targetRenderWithProps","hasOwnProperty","groupHeaderColumns","newColumns","group","appendGroupHeader","columnIndex","targetHeader","otherHeader","currentGroup","startIndex","groupColumn","hasGroupHeader","sortArrayToMap","setSort","mapSort","setMapSort","newSort","targetValue","sticky","stickyOffset","pagination","columnRenderProps","summary","scroll","onTablePropsReady","setTableWidth","isLayout","setIsLayout","isDebounce","useColumnTypeProps","computedColumnConfigProps","useTableConfig","sortRender","useSort","targetColumns","groupColumns","useGroupHeader","onTablePropsReadyCallback","Scroller","scroller","getScrollTarget","querySelector","AntdTable","x","_len","args","_key","pageData","FeaturesColumnsConfig","TablePageInner","requestParams","fetchProps","isComplete","setData","loadMore","getColumns","handlerDataFormat","formatData","tableProps","total","showTotal","paramsType","currentName","pageSize","requestType","pageSizeName","onShowSizeChange","scrollTop","showSizeChanger","showQuickJumper","totalCount","pageSizeKey","toUpperCase","setPageSize","fetchParams"],"sourceRoot":""}