@ttmg/cli 0.3.2-beta.5 → 0.3.2-beta.6

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 (217) hide show
  1. package/dist/index.js +1616 -989
  2. package/dist/index.js.map +1 -1
  3. package/dist/openDataContext/template/open_context.html.hbs +29 -0
  4. package/dist/openDataContext/template/open_context_sdk.js.hbs +16 -0
  5. package/dist/package.json +4 -3
  6. package/dist/public/assets/index-0QsVohJs.js +1 -0
  7. package/dist/public/assets/index-1oO8mc2L.js +1 -0
  8. package/dist/public/assets/index-2LCyHbgv.js +1 -0
  9. package/dist/public/assets/index-5oEydzr8.js +1 -0
  10. package/dist/public/assets/index-7DkNQbVL.js +1 -0
  11. package/dist/public/assets/index-7DkNQbVL.js.br +0 -0
  12. package/dist/public/assets/index-7gXKDEMH.js +1 -0
  13. package/dist/public/assets/index-A5pSGmoW.js +1 -0
  14. package/dist/public/assets/index-A5pSGmoW.js.br +0 -0
  15. package/dist/public/assets/index-B-vfB9Ya.js +1 -0
  16. package/dist/public/assets/index-B0Cw26f2.js +1 -0
  17. package/dist/public/assets/index-B0lMLCEN.js +1 -0
  18. package/dist/public/assets/index-B0lMLCEN.js.br +0 -0
  19. package/dist/public/assets/index-B6HUBYPb.js +1 -0
  20. package/dist/public/assets/index-B7JMUpIM.js +23 -0
  21. package/dist/public/assets/index-B7JMUpIM.js.br +0 -0
  22. package/dist/public/assets/index-B7j-geVc.js +1 -0
  23. package/dist/public/assets/index-B8N8nU5k.js +1 -0
  24. package/dist/public/assets/index-B90t3m2Y.js +1 -0
  25. package/dist/public/assets/index-BA1vKWLl.js +1 -0
  26. package/dist/public/assets/index-BB5kLk47.css +1 -0
  27. package/dist/public/assets/index-BBiD3ZY0.js +1 -0
  28. package/dist/public/assets/index-BEkRt3ox.js +1 -0
  29. package/dist/public/assets/index-BH5OVuUr.js +1 -0
  30. package/dist/public/assets/index-BH5OVuUr.js.br +0 -0
  31. package/dist/public/assets/index-BIJQ2jN-.js +1 -0
  32. package/dist/public/assets/index-BK45hlql.js +1 -0
  33. package/dist/public/assets/index-BK45hlql.js.br +0 -0
  34. package/dist/public/assets/index-BNnfKu4_.js +1 -0
  35. package/dist/public/assets/index-BPf4cmgA.css +1 -0
  36. package/dist/public/assets/index-BQQoGoko.js +1 -0
  37. package/dist/public/assets/index-BR-m6RXi.js +1 -0
  38. package/dist/public/assets/index-BRZmkpre.js +1 -0
  39. package/dist/public/assets/index-BSH4idOV.js +1 -0
  40. package/dist/public/assets/index-BSH4idOV.js.br +0 -0
  41. package/dist/public/assets/index-BSb2BUk_.js +1 -0
  42. package/dist/public/assets/index-BTnlaKEm.js +1 -0
  43. package/dist/public/assets/index-BUT4SrUj.js +1 -0
  44. package/dist/public/assets/index-BUT4SrUj.js.br +0 -0
  45. package/dist/public/assets/index-BWO_zr5E.js +1 -0
  46. package/dist/public/assets/index-BWO_zr5E.js.br +0 -0
  47. package/dist/public/assets/index-Bb28RxEr.js +1 -0
  48. package/dist/public/assets/index-Bb28RxEr.js.br +0 -0
  49. package/dist/public/assets/index-BdGK9RSJ.js +1 -0
  50. package/dist/public/assets/index-Bf6aJOeV.css +1 -0
  51. package/dist/public/assets/index-BfX_lbWX.css +1 -0
  52. package/dist/public/assets/index-BfX_lbWX.css.br +0 -0
  53. package/dist/public/assets/index-BfnzurfX.js +1 -0
  54. package/dist/public/assets/index-BkiB8M4Y.css +1 -0
  55. package/dist/public/assets/index-BkiB8M4Y.css.br +0 -0
  56. package/dist/public/assets/index-BmT98gGj.js +1 -0
  57. package/dist/public/assets/index-BmT98gGj.js.br +0 -0
  58. package/dist/public/assets/index-Bpv7pLX2.js +1 -0
  59. package/dist/public/assets/index-Bpv7pLX2.js.br +0 -0
  60. package/dist/public/assets/index-Bq6YxKLX.css +1 -0
  61. package/dist/public/assets/index-BreEkwI6.js +1 -0
  62. package/dist/public/assets/index-BreEkwI6.js.br +0 -0
  63. package/dist/public/assets/index-Bs8SawoL.js +1 -0
  64. package/dist/public/assets/index-Bs8SawoL.js.br +0 -0
  65. package/dist/public/assets/index-Bue_fL5q.css +1 -0
  66. package/dist/public/assets/index-Bue_fL5q.css.br +0 -0
  67. package/dist/public/assets/index-BujwLBmz.js +1 -0
  68. package/dist/public/assets/index-BvC2EkcY.js +1 -0
  69. package/dist/public/assets/index-Bw3iU4wV.js +1 -0
  70. package/dist/public/assets/index-BwbPFgZF.css +1 -0
  71. package/dist/public/assets/index-ByAY7l0v.js +1 -0
  72. package/dist/public/assets/index-Byxv2SPa.js +1 -0
  73. package/dist/public/assets/index-C250u6X0.css +1 -0
  74. package/dist/public/assets/index-C250u6X0.css.br +0 -0
  75. package/dist/public/assets/index-C2qYQNvg.js +1 -0
  76. package/dist/public/assets/index-C2qYQNvg.js.br +0 -0
  77. package/dist/public/assets/index-C46fvTvh.js +23 -0
  78. package/dist/public/assets/index-C46fvTvh.js.br +0 -0
  79. package/dist/public/assets/index-C4FRfjag.css +1 -0
  80. package/dist/public/assets/index-C4cINkXW.js +1 -0
  81. package/dist/public/assets/index-C4cINkXW.js.br +0 -0
  82. package/dist/public/assets/index-C8f539tK.css +1 -0
  83. package/dist/public/assets/index-C9KcyJn2.js +1 -0
  84. package/dist/public/assets/index-C9_SXd2H.css +1 -0
  85. package/dist/public/assets/index-CAwhcizP.css +1 -0
  86. package/dist/public/assets/index-CAwhcizP.css.br +0 -0
  87. package/dist/public/assets/index-CFwZ2h-R.js +1 -0
  88. package/dist/public/assets/index-CHTG85h6.js +1 -0
  89. package/dist/public/assets/index-CL1kuXlO.js +1 -0
  90. package/dist/public/assets/index-CPibVFVC.js +1 -0
  91. package/dist/public/assets/index-CSEt7Wc0.js +25 -0
  92. package/dist/public/assets/index-CSEt7Wc0.js.br +0 -0
  93. package/dist/public/assets/index-CUlfC1eK.js +1 -0
  94. package/dist/public/assets/index-CUlfC1eK.js.br +0 -0
  95. package/dist/public/assets/index-CV0599Ro.js +1 -0
  96. package/dist/public/assets/index-CV0599Ro.js.br +0 -0
  97. package/dist/public/assets/index-CWMGWfEt.js +1 -0
  98. package/dist/public/assets/index-CWS-rk-J.js +23 -0
  99. package/dist/public/assets/index-CWS-rk-J.js.br +0 -0
  100. package/dist/public/assets/index-CXQMSlbc.js +1 -0
  101. package/dist/public/assets/index-CXQMSlbc.js.br +0 -0
  102. package/dist/public/assets/index-CYyj9uYU.js +1 -0
  103. package/dist/public/assets/index-CYyj9uYU.js.br +0 -0
  104. package/dist/public/assets/index-CZtKeBZm.js +1 -0
  105. package/dist/public/assets/index-Ca67110A.js +1 -0
  106. package/dist/public/assets/index-CdrbgBJX.js +1 -0
  107. package/dist/public/assets/index-CfmWGzK2.js +1 -0
  108. package/dist/public/assets/index-Cfp2WBke.js +1 -0
  109. package/dist/public/assets/index-Cfp2WBke.js.br +0 -0
  110. package/dist/public/assets/index-CgVq-50w.css +1 -0
  111. package/dist/public/assets/index-CgVq-50w.css.br +0 -0
  112. package/dist/public/assets/index-ChblnyYX.js +1 -0
  113. package/dist/public/assets/index-ChceQzYz.js +1 -0
  114. package/dist/public/assets/index-CjzSEyzv.js +1 -0
  115. package/dist/public/assets/index-CluLESuq.js +1 -0
  116. package/dist/public/assets/index-CluLESuq.js.br +0 -0
  117. package/dist/public/assets/index-CnBegIDJ.js +1 -0
  118. package/dist/public/assets/index-Cnuj31jy.js +1 -0
  119. package/dist/public/assets/index-CzYlYBW_.js +1 -0
  120. package/dist/public/assets/index-D-_HSgCe.js +1 -0
  121. package/dist/public/assets/index-D1_vcunJ.js +23 -0
  122. package/dist/public/assets/index-D1_vcunJ.js.br +0 -0
  123. package/dist/public/assets/index-D4s2xpeA.js +1 -0
  124. package/dist/public/assets/index-D5ydsq9J.js +24 -0
  125. package/dist/public/assets/index-D5ydsq9J.js.br +0 -0
  126. package/dist/public/assets/index-D67sKNrw.css +1 -0
  127. package/dist/public/assets/index-D67sKNrw.css.br +0 -0
  128. package/dist/public/assets/index-D6RKE8qm.js +1 -0
  129. package/dist/public/assets/index-D6rLeEiy.js +1 -0
  130. package/dist/public/assets/index-DDC2R7_m.js +1 -0
  131. package/dist/public/assets/index-DDqw8mHL.js +1 -0
  132. package/dist/public/assets/index-DE1GZvdF.js +1 -0
  133. package/dist/public/assets/index-DFD_qEAi.js +1 -0
  134. package/dist/public/assets/index-DFEMmQoM.js +23 -0
  135. package/dist/public/assets/index-DFEMmQoM.js.br +0 -0
  136. package/dist/public/assets/index-DGHL1pSq.js +1 -0
  137. package/dist/public/assets/index-DJ-xo_2v.js +1 -0
  138. package/dist/public/assets/index-DJIK_Un5.js +23 -0
  139. package/dist/public/assets/index-DJIK_Un5.js.br +0 -0
  140. package/dist/public/assets/index-DKK8dOYS.js +1 -0
  141. package/dist/public/assets/index-DNmLdBiH.js +1 -0
  142. package/dist/public/assets/index-DNmLdBiH.js.br +0 -0
  143. package/dist/public/assets/index-DP2DtK77.js +1 -0
  144. package/dist/public/assets/index-DPSts5Re.css +1 -0
  145. package/dist/public/assets/index-DPSts5Re.css.br +0 -0
  146. package/dist/public/assets/index-DT6IV9TH.js +1 -0
  147. package/dist/public/assets/index-DU0eX6vn.js +1 -0
  148. package/dist/public/assets/index-DU0eX6vn.js.br +0 -0
  149. package/dist/public/assets/index-DWVXwBku.js +1 -0
  150. package/dist/public/assets/index-DXFg6tGR.css +1 -0
  151. package/dist/public/assets/index-DaS-23NX.js +1 -0
  152. package/dist/public/assets/index-Db0ve94g.js +1 -0
  153. package/dist/public/assets/index-Db0ve94g.js.br +0 -0
  154. package/dist/public/assets/index-DcTZlirs.js +1 -0
  155. package/dist/public/assets/index-De1gwiJs.js +1 -0
  156. package/dist/public/assets/index-De1gwiJs.js.br +0 -0
  157. package/dist/public/assets/index-DfGgXJTb.js +1 -0
  158. package/dist/public/assets/index-DfGgXJTb.js.br +0 -0
  159. package/dist/public/assets/index-DfZFMeOV.js +1 -0
  160. package/dist/public/assets/index-DfZFMeOV.js.br +0 -0
  161. package/dist/public/assets/index-DjHdTW8H.js +1 -0
  162. package/dist/public/assets/index-DlnMPCtX.js +1 -0
  163. package/dist/public/assets/index-Do_Bcsn1.js +1 -0
  164. package/dist/public/assets/index-DpFldGAl.js +1 -0
  165. package/dist/public/assets/index-DpgkUWkv.css +1 -0
  166. package/dist/public/assets/index-DpgkUWkv.css.br +0 -0
  167. package/dist/public/assets/index-DrFLOJ8g.js +23 -0
  168. package/dist/public/assets/index-DrFLOJ8g.js.br +0 -0
  169. package/dist/public/assets/index-DuBOXL7A.js +23 -0
  170. package/dist/public/assets/index-DuBOXL7A.js.br +0 -0
  171. package/dist/public/assets/index-DxQ0R3Pw.js +1 -0
  172. package/dist/public/assets/index-DyMZ_Lkc.js +1 -0
  173. package/dist/public/assets/index-DzLOWSx9.js +1 -0
  174. package/dist/public/assets/index-DzLOWSx9.js.br +0 -0
  175. package/dist/public/assets/index-FEOLSRkl.js +1 -0
  176. package/dist/public/assets/index-Fi4Rrt8I.js +1 -0
  177. package/dist/public/assets/index-HY89kziJ.js +1 -0
  178. package/dist/public/assets/index-Ifzp5fEn.js +1 -0
  179. package/dist/public/assets/index-J11P4g5S.js +1 -0
  180. package/dist/public/assets/index-J11P4g5S.js.br +0 -0
  181. package/dist/public/assets/index-JSX8aCBJ.js +1 -0
  182. package/dist/public/assets/index-JSX8aCBJ.js.br +0 -0
  183. package/dist/public/assets/index-JvC1YVUI.js +1 -0
  184. package/dist/public/assets/index-MT2NggoZ.js +1 -0
  185. package/dist/public/assets/index-MT2NggoZ.js.br +0 -0
  186. package/dist/public/assets/index-NdyUV0z0.js +1 -0
  187. package/dist/public/assets/index-OVJGZ7cU.js +1 -0
  188. package/dist/public/assets/index-T0nyAjcT.js +24 -0
  189. package/dist/public/assets/index-T0nyAjcT.js.br +0 -0
  190. package/dist/public/assets/index-UfX9eOrO.js +1 -0
  191. package/dist/public/assets/index-UujKgP-l.js +1 -0
  192. package/dist/public/assets/index-V67-RbBt.js +1 -0
  193. package/dist/public/assets/index-V67-RbBt.js.br +0 -0
  194. package/dist/public/assets/index-VzuG_wgX.js +1 -0
  195. package/dist/public/assets/index-XZ5vQlJ4.js +1 -0
  196. package/dist/public/assets/index-XdW2ZDCl.js +1 -0
  197. package/dist/public/assets/index-_ZVXaqDY.js +1 -0
  198. package/dist/public/assets/index-aPvChUsm.js +1 -0
  199. package/dist/public/assets/index-b5aKh2UT.js +1 -0
  200. package/dist/public/assets/index-bgdF_Zeb.js +23 -0
  201. package/dist/public/assets/index-bgdF_Zeb.js.br +0 -0
  202. package/dist/public/assets/index-d9sXoj67.js +1 -0
  203. package/dist/public/assets/index-d9sXoj67.js.br +0 -0
  204. package/dist/public/assets/index-ea8VcG1l.js +1 -0
  205. package/dist/public/assets/index-eoaE1BZf.css +1 -0
  206. package/dist/public/assets/index-eoaE1BZf.css.br +0 -0
  207. package/dist/public/assets/index-gZxXPtMU.js +1 -0
  208. package/dist/public/assets/index-hGMU1JI_.js +1 -0
  209. package/dist/public/assets/index-khqRg3Tb.js +1 -0
  210. package/dist/public/assets/index-nCPCU1qS.js +1 -0
  211. package/dist/public/assets/index-umN-hrVX.js +1 -0
  212. package/dist/public/assets/index-yh4tKekV.css +1 -0
  213. package/dist/public/assets/index-z6YlZek6.js +1 -0
  214. package/dist/public/index.html +2 -2
  215. package/dist/scripts/resetLocalState.js +48 -0
  216. package/dist/scripts/worker.js +62 -12
  217. package/package.json +4 -3
@@ -0,0 +1 @@
1
+ .semi-descriptions{line-height:20px}.semi-descriptions table,.semi-descriptions tr,.semi-descriptions th,.semi-descriptions td{margin:0;padding:0;border:0}.semi-descriptions th{padding-right:24px}.semi-descriptions .semi-descriptions-item{margin:0;padding-bottom:12px;text-align:left;vertical-align:top}.semi-descriptions-key{font-weight:400;font-size:14px;line-height:20px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif;min-height:14px;white-space:nowrap;color:var(--semi-color-text-2)}.semi-descriptions-value{font-weight:400;font-size:14px;line-height:20px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif;color:var(--semi-color-text-0)}.semi-descriptions-center .semi-descriptions-item-th{text-align:right}.semi-descriptions-center .semi-descriptions-item-td,.semi-descriptions-left .semi-descriptions-item-th,.semi-descriptions-left .semi-descriptions-item-td,.semi-descriptions-justify .semi-descriptions-item-th{text-align:left}.semi-descriptions-justify .semi-descriptions-item-td{text-align:right}.semi-descriptions-plain .semi-descriptions-key,.semi-descriptions-plain .semi-descriptions-value{display:inline-block}.semi-descriptions-plain .semi-descriptions-value{padding-left:8px}.semi-descriptions-plain .semi-descriptions-value .semi-tag{vertical-align:middle}.semi-descriptions-double tbody{display:flex;flex-wrap:wrap}.semi-descriptions-double tr{display:inline-flex;flex-direction:column}.semi-descriptions-double .semi-descriptions-item{padding:0;flex:1}.semi-descriptions-double .semi-descriptions-value{font-weight:600}.semi-descriptions-double-small .semi-descriptions-item{padding-right:48px}.semi-descriptions-double-small .semi-descriptions-key{line-height:16px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif;padding-bottom:0;font-size:12px}.semi-descriptions-double-small .semi-descriptions-value{line-height:22px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:16px}.semi-descriptions-double-medium .semi-descriptions-item{padding-right:60px}.semi-descriptions-double-medium .semi-descriptions-key{padding-bottom:4px;font-size:14px}.semi-descriptions-double-medium .semi-descriptions-value{line-height:28px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:20px}.semi-descriptions-double-large .semi-descriptions-item{padding-right:80px}.semi-descriptions-double-large .semi-descriptions-key{padding-bottom:4px;font-size:14px}.semi-descriptions-double-large .semi-descriptions-value{line-height:40px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:28px}.semi-descriptions-horizontal table{table-layout:fixed}.semi-descriptions-horizontal table,.semi-descriptions-horizontal tbody{width:100%}.semi-descriptions-horizontal .semi-descriptions-item{flex:0}.semi-rtl .semi-descriptions,.semi-portal-rtl .semi-descriptions{direction:rtl}.semi-rtl .semi-descriptions th,.semi-portal-rtl .semi-descriptions th{direction:rtl;padding-right:0;padding-left:24px}.semi-rtl .semi-descriptions .semi-descriptions-item,.semi-portal-rtl .semi-descriptions .semi-descriptions-item{text-align:right}.semi-rtl .semi-descriptions-center .semi-descriptions-item-th,.semi-portal-rtl .semi-descriptions-center .semi-descriptions-item-th{text-align:left}.semi-rtl .semi-descriptions-center .semi-descriptions-item-td,.semi-portal-rtl .semi-descriptions-center .semi-descriptions-item-td{text-align:right}.semi-rtl .semi-descriptions-left .semi-descriptions-item-th,.semi-rtl .semi-descriptions-left .semi-descriptions-item-td,.semi-portal-rtl .semi-descriptions-left .semi-descriptions-item-th,.semi-portal-rtl .semi-descriptions-left .semi-descriptions-item-td{text-align:left}.semi-rtl .semi-descriptions-justify .semi-descriptions-item-th,.semi-portal-rtl .semi-descriptions-justify .semi-descriptions-item-th{text-align:right}.semi-rtl .semi-descriptions-justify .semi-descriptions-item-td,.semi-portal-rtl .semi-descriptions-justify .semi-descriptions-item-td{text-align:left}.semi-rtl .semi-descriptions-plain .semi-descriptions-key,.semi-rtl .semi-descriptions-plain .semi-descriptions-value,.semi-portal-rtl .semi-descriptions-plain .semi-descriptions-key,.semi-portal-rtl .semi-descriptions-plain .semi-descriptions-value{display:inline-block}.semi-rtl .semi-descriptions-plain .semi-descriptions-value,.semi-portal-rtl .semi-descriptions-plain .semi-descriptions-value{padding-left:0;padding-right:8px}.semi-rtl .semi-descriptions-plain .semi-descriptions-value .semi-tag,.semi-portal-rtl .semi-descriptions-plain .semi-descriptions-value .semi-tag{vertical-align:middle}.semi-rtl .semi-descriptions-double,.semi-portal-rtl .semi-descriptions-double{direction:rtl}.semi-rtl .semi-descriptions-double .semi-descriptions-item,.semi-portal-rtl .semi-descriptions-double .semi-descriptions-item{text-align:right}.semi-rtl .semi-descriptions-double-small .semi-descriptions-item,.semi-portal-rtl .semi-descriptions-double-small .semi-descriptions-item{padding-right:0;padding-left:48px}.semi-rtl .semi-descriptions-double-medium .semi-descriptions-item,.semi-portal-rtl .semi-descriptions-double-medium .semi-descriptions-item{padding-right:0;padding-left:60px}.semi-rtl .semi-descriptions-double-large .semi-descriptions-item,.semi-portal-rtl .semi-descriptions-double-large .semi-descriptions-item{padding-right:0;padding-left:80px}.error-display{width:100%;height:100%;display:flex;overflow:hidden;align-items:center;flex-direction:column;justify-content:center}.error-display-content{margin-top:12px;max-width:70%}.game-detail-loading-container{width:100%;height:100%;display:flex;overflow:hidden;align-items:center;flex-direction:column;justify-content:center}.game-detail-container{width:100%;height:100%;overflow:auto}
@@ -0,0 +1 @@
1
+ import{E as re,r as f,B as q,c as P,R as b,v as Y,y as K,ae as ee,P as u,U as ne,af as le,g as A,ag as ie,f as N,ah as z,i as c,j as s,m as j,h as $,F as H,ai as T,d as oe,u as ce,aj as de,J as ue,ab as pe}from"./index-T0nyAjcT.js";function me(t){return f.createElement("svg",Object.assign({viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",focusable:!1,"aria-hidden":!0},t),f.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M2 4c0-1.1.9-2 2-2h5a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V4Zm0 11c0-1.1.9-2 2-2h5a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-5ZM15 2a2 2 0 0 0-2 2v5c0 1.1.9 2 2 2h5a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2h-5Zm1 12.5a1.5 1.5 0 0 1 3 0V16h1.5a1.5 1.5 0 0 1 0 3H19v1.5a1.5 1.5 0 0 1-3 0V19h-1.5a1.5 1.5 0 0 1 0-3H16v-1.5Z",fill:"currentColor"}))}const fe=re(me,"customize"),W={PREFIX:`${q}-steps`,ITEM:`${q}-steps-item`};var F;(function(t){t.small="large",t.default="extra-large"})(F||(F={}));const M=t=>{const{prefixCls:e,className:r,size:a,title:n,description:l,status:m,style:d,active:i,done:o,icon:g,stepNumber:x,onClick:w,onChange:h,onKeyDown:C}=t,S=()=>{let _,E;if("icon"in t)b.isValidElement(g)&&(_=g);else if("status"in t)switch(m){case"error":_=b.createElement(ee,{size:F[a]});break;case"wait":_=b.createElement("span",{className:`${e}-number-icon`},x);break;case"process":_=b.createElement("span",{className:`${e}-number-icon`},x),E=!0;break;case"finish":_=b.createElement(K,{size:F[a]});break;case"warning":_=b.createElement(Y,{size:F[a]});break;default:_=null;break}const ae=P({[`${e}-icon`]:!0,[`${e}-custom-icon`]:"icon"in t,[`${e}-icon-process`]:E});return _?b.createElement("span",{className:ae},_):null},v=P(e,`${e}-${m}`,{[`${e}-active`]:i,[`${e}-done`]:o,[`${e}-hover`]:h||t.onClick,[`${e}-clickable`]:h||w,[`${e}-${m}-hover`]:h||t.onClick},r),p=_=>{w?.(_),h?.()},k=_=>{_.key==="Enter"&&(C?.(_),h?.())};return b.createElement("div",{role:t.role,"aria-label":t["aria-label"],tabIndex:0,"aria-current":"step",className:v,style:d,onClick:_=>p(_),onKeyDown:k},b.createElement("div",{className:`${e}-container`},b.createElement("div",{className:`${e}-left`},S()),b.createElement("div",{className:`${e}-content`},b.createElement("div",{className:`${e}-title`},b.createElement("div",{className:`${e}-title-text`},n)),l&&b.createElement("div",{className:`${e}-description`},l))))};M.propTypes={prefixCls:u.string,description:u.node,icon:u.node,status:u.oneOf(["wait","process","finish","error","warning"]),title:u.node,className:u.string,style:u.object,onClick:u.func,active:u.bool,done:u.bool};M.defaultProps={prefixCls:W.ITEM,active:!1,done:!1,status:"wait",className:""};const B=t=>{const{prefixCls:e,className:r,title:a,description:n,status:l,style:m,onClick:d,icon:i,onChange:o,stepNumber:g,onKeyDown:x}=t,w=()=>{let S,v;if("icon"in t)S=i;else if("status"in t)switch(l){case"error":S=b.createElement(ee,{size:"extra-large"});break;case"wait":S=g;break;case"process":S=g,v=!0;break;case"finish":S=b.createElement(K,{size:"extra-large"});break;case"warning":S=b.createElement(Y,{size:"extra-large"});break;default:S=null;break}const p=P({[`${e}-left`]:!0,[`${e}-icon`]:"icon"in t,[`${e}-plain`]:!("icon"in t),[`${e}-icon-process`]:v,[`${e}-hover`]:o||d});return S?b.createElement("div",{className:p},S):null},h=S=>{d?.(S),o?.()},C=S=>{S.key==="Enter"&&(x?.(S),o?.())};return b.createElement("div",{role:t.role,"aria-label":t["aria-label"],"aria-current":"step",tabIndex:0,className:P({[e]:!0,[`${e}-${l}`]:!!l,[`${e}-${l}-hover`]:!!l&&(o||d),[`${e}-${l}-active`]:!!l&&(o||d),[`${e}-clickable`]:o||d},r),style:m,onClick:S=>{h(S)},onKeyDown:C},w(),b.createElement("div",{className:`${e}-content`},b.createElement("div",{className:`${e}-title`,title:typeof a=="string"?a:null},b.createElement("span",{className:`${e}-title-text`},a)),b.createElement("div",{className:`${e}-description`,title:typeof n=="string"?n:null},n)))};B.propTypes={prefixCls:u.string,description:u.node,icon:u.node,status:u.oneOf(["wait","process","finish","error","warning"]),title:u.node,className:u.string,style:u.object,onClick:u.func};B.defaultProps={prefixCls:W.ITEM,status:"wait",className:""};const U=t=>{const{prefixCls:e,className:r,title:a,style:n,active:l,index:m,total:d,onClick:i,onKeyDown:o,onChange:g}=t,x=P(e,{[`${e}-active`]:l},r),w=C=>{i?.(C),g?.()},h=C=>{C.key==="Enter"&&(o?.(C),g?.())};return b.createElement("div",{role:t.role,"aria-label":t["aria-label"],"aria-current":"step",tabIndex:0,className:x,style:n,onClick:C=>w(C),onKeyDown:h},b.createElement("div",{className:`${e}-container`},b.createElement("div",{className:`${e}-content`},b.createElement("div",{className:`${e}-title`},a)),m!==d-1&&b.createElement("div",{className:`${e}-icon`},b.createElement(ne,{size:"small"}))))};U.propTypes={prefixCls:u.string,title:u.node,className:u.string,style:u.object,onClick:u.func,active:u.bool};U.defaultProps={prefixCls:W.ITEM,active:!1,className:""};const te=b.createContext(null),we=t=>{const{type:e}=f.useContext(te);return(()=>{switch(e){case"fill":return b.createElement(B,Object.assign({},t));case"basic":return b.createElement(M,Object.assign({},t));case"nav":return b.createElement(U,Object.assign({},t));default:return null}})()};var he=function(t,e){var r={};for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&e.indexOf(a)<0&&(r[a]=t[a]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var n=0,a=Object.getOwnPropertySymbols(t);n<a.length;n++)e.indexOf(a[n])<0&&Object.prototype.propertyIsEnumerable.call(t,a[n])&&(r[a[n]]=t[a[n]]);return r};const G=t=>{const{current:e,status:r,children:a,prefixCls:n,initial:l,direction:m,className:d,style:i,onChange:o}=t,g=he(t,["current","status","children","prefixCls","initial","direction","className","style","onChange"]),x=f.useMemo(()=>{const h=f.Children.toArray(a).filter(v=>f.isValidElement(v)),C=m==="vertical"?null:{width:`${100/h.length}%`};return f.Children.map(h,(v,p)=>{if(!v)return null;const k=l+p,_=Object.assign({stepNumber:`${k+1}`,direction:m},v.props);return r==="error"&&p===e-1&&(_.className=`${n}-next-error`),v.props.status||(k===e?_.status=r:k<e?_.status="finish":_.status="wait"),_.onChange=o?()=>{p!==e&&o(p+l)}:void 0,b.createElement(le,{style:C},f.cloneElement(v,Object.assign({},_)))})},[a,l,n,m,r,e,o]),w=P(d,{[n]:!0,[`${n}-${m}`]:!0});return b.createElement("div",Object.assign({className:w,style:i,"aria-label":t["aria-label"]},A(g)),b.createElement(ie,{type:"flex",justify:"start"},x))};G.propTypes={prefixCls:u.string,className:u.string,style:u.object,current:u.number,initial:u.number,direction:u.oneOf(["horizontal","vertical"]),status:u.oneOf(["wait","process","finish","error","warning"])};G.defaultProps={prefixCls:W.PREFIX,current:0,direction:"horizontal",initial:0,status:"process"};var ge=function(t,e){var r={};for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&e.indexOf(a)<0&&(r[a]=t[a]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var n=0,a=Object.getOwnPropertySymbols(t);n<a.length;n++)e.indexOf(a[n])<0&&Object.prototype.propertyIsEnumerable.call(t,a[n])&&(r[a[n]]=t[a[n]]);return r};const V=t=>{const{size:e,current:r,status:a,children:n,prefixCls:l,initial:m,direction:d,className:i,style:o,hasLine:g,onChange:x}=t,w=ge(t,["size","current","status","children","prefixCls","initial","direction","className","style","hasLine","onChange"]),h=f.useMemo(()=>{const S=f.Children.toArray(n).filter(p=>f.isValidElement(p));return f.Children.map(S,(p,k)=>{if(!p)return null;const _=m+k,E=Object.assign({stepNumber:`${_+1}`,size:e},p.props);return a==="error"&&k===r-1&&(E.className=`${l}-next-error`),p.props.status||(_===r?E.status=a:_<r?E.status="finish":E.status="wait"),E.active=_===r,E.done=_<r,E.onChange=x?()=>{k!==r&&x(k+m)}:void 0,f.cloneElement(p,Object.assign({},E))})},[n,m,l,d,a,r,e,x]),C=P(i,{[`${l}-basic`]:!0,[`${l}-${d}`]:!0,[`${l}-${e}`]:e!=="default",[`${l}-hasline`]:g});return b.createElement("div",Object.assign({"aria-label":t["aria-label"],className:C,style:o},A(w)),h)};V.propTypes={prefixCls:u.string,className:u.string,style:u.object,current:u.number,initial:u.number,direction:u.oneOf(["horizontal","vertical"]),status:u.oneOf(["wait","process","finish","error","warning"]),hasLine:u.bool};V.defaultProps={prefixCls:W.PREFIX,current:0,direction:"horizontal",size:"",initial:0,hasLine:!0,status:"process"};var xe=function(t,e){var r={};for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&e.indexOf(a)<0&&(r[a]=t[a]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var n=0,a=Object.getOwnPropertySymbols(t);n<a.length;n++)e.indexOf(a[n])<0&&Object.prototype.propertyIsEnumerable.call(t,a[n])&&(r[a[n]]=t[a[n]]);return r};const L=t=>{const{size:e,current:r,initial:a,children:n,prefixCls:l,className:m,style:d,onChange:i}=t,o=xe(t,["size","current","initial","children","prefixCls","className","style","onChange"]),g=f.useMemo(()=>{const w=f.Children.toArray(n).filter(S=>f.isValidElement(S)),h=w.length;return f.Children.map(w,(S,v)=>{if(!S)return null;const p=Object.assign({index:v,total:h},S.props);return p.active=v===r,p.onChange=i?()=>{v!==r&&i(v+a)}:void 0,f.cloneElement(S,Object.assign({},p))})},[n,l,r,e,a,i]),x=P(m,{[`${l}-nav`]:!0,[`${l}-${e}`]:e!=="default"});return b.createElement("div",Object.assign({"aria-label":t["aria-label"],className:x,style:d},A(o)),g)};L.propTypes={prefixCls:u.string,className:u.string,style:u.object,current:u.number,initial:u.number,size:u.oneOf(["small","default"])};L.defaultProps={prefixCls:W.PREFIX,current:0,direction:"horizontal",size:"default",initial:0,status:"process"};var be=function(t,e){var r={};for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&e.indexOf(a)<0&&(r[a]=t[a]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var n=0,a=Object.getOwnPropertySymbols(t);n<a.length;n++)e.indexOf(a[n])<0&&Object.prototype.propertyIsEnumerable.call(t,a[n])&&(r[a[n]]=t[a[n]]);return r};class R extends f.Component{renderComponent(){const e=this.props,{type:r}=e,a=be(e,["type"]);switch(r){case"fill":return b.createElement(G,Object.assign({},a));case"basic":return b.createElement(V,Object.assign({},a));case"nav":return b.createElement(L,Object.assign({},a));default:return null}}render(){const{type:e}=this.props;return b.createElement(te.Provider,{value:{type:e}},this.renderComponent())}}R.Step=we;R.propTypes={onChange:u.func,type:u.oneOf(["fill","basic","nav"]),size:u.oneOf(["small","default"])};R.defaultProps={type:"fill",size:"default"};const O={Idle:0,WasmPreparing:1,WasmPrepared:2,WasmSplitIssued:3,WasmSplitting:4,WasmSplitDone:5,WasmReadyToPrepare:6,WasmSplitPreparing:7,WasmPreparedSuccess:8,WasmCollecting:9,WasmUploadFail:-1,WasmDownloadFail:-2,WasmFileNotExist:-3,WasmSplitFail:-4,WasmSplitUpdateDBFail:-5,WasmSplitPrepareFail:-6,WasmPrepareFailed:-1};function Se({codeMd5:t,clientKey:e}){return N({url:"/game/wasm-split-config",method:"GET",data:{codeMd5:t,clientKey:e}})}function ve(t){const{codePath:e,codeMd5:r,clientKey:a,desc:n}=t;return N({url:"/game/wasm-prepare",method:"POST",data:{codePath:e,clientKey:a,codeMd5:r,desc:n}})}function _e({codeMd5:t,clientKey:e}){return N({url:"/game/wasm-prepare-result",method:"POST",data:{codeMd5:t,clientKey:e}})}function Ce(t,e){const r=e?.intervalMs,a=e?.maxAttempts,n=e?.signal||new AbortController().signal;let l=0;return new Promise((m,d)=>{if(n?.aborted){d(new DOMException("Polling aborted","AbortError"));return}const i=()=>{clearTimeout(o),d(new DOMException("Polling aborted","AbortError"))};n?.addEventListener("abort",i,{once:!0});let o;const g=async()=>{l+=1;try{const x=await _e(t),{status:w}=x.data;if(w===O.WasmPreparedSuccess||w===O.WasmSplitDone){m(x);return}if(w<0){m(x);return}if(l>=a){d(new Error(`Polling timeout after ${a} attempts`));return}o=window.setTimeout(g,r)}catch(x){if(l>=a){d(x);return}o=window.setTimeout(g,r)}};g()})}function je({codeMd5:t,clientKey:e,codePath:r}){return N({url:"/game/wasm-prepare-download",method:"POST",data:{codeMd5:t,clientKey:e,codePath:r}})}function ye(t){const{codeMd5:e,clientKey:r}=t;return N({url:"/game/wasm-split",method:"POST",data:{codeMd5:e,clientKey:r}})}function ke({codeMd5:t,clientKey:e}){return N({url:"/game/wasm-split-result",method:"POST",data:{codeMd5:t,clientKey:e}})}function Ne(t,e){const r=e?.intervalMs,a=e?.maxAttempts,n=e?.signal||new AbortController().signal;let l=0;return new Promise((m,d)=>{if(n?.aborted){d(new DOMException("Polling aborted","AbortError"));return}const i=()=>{clearTimeout(o),d(new DOMException("Polling aborted","AbortError"))};n?.addEventListener("abort",i,{once:!0});let o;const g=async()=>{l+=1;try{const x=await ke(t),{status:w}=x.data;if(w!==O.WasmSplitDone){if(l>=a){d(new Error(`Polling timeout after ${a} attempts`));return}o=window.setTimeout(g,r);return}m(x)}catch(x){if(l>=a){d(x);return}o=window.setTimeout(g,r)}};g()})}function Ee({codeMd5:t,clientKey:e}){return N({url:"/game/wasm-split-download-result",method:"POST",data:{clientKey:e,codeMd5:t}})}function Pe(t){return N({url:"/game/wasm-split-download",method:"POST",data:t})}function se(t){const{codeMd5:e,clientKey:r,codePath:a}=t;return N({url:"/game/wasm-split-reset",method:"POST",data:{codeMd5:e,clientKey:r,codePath:a}})}function Oe({codeMd5:t,clientKey:e}){return N({url:"/game/wasm-taskinfo",method:"GET",data:{codeMd5:t,clientKey:e}})}function $e({codeMd5:t,clientKey:e}){return N({url:"/game/wasm-set-collect",method:"POST",data:{codeMd5:t,clientKey:e}})}function X(t){return N({url:"/game/wasm-collect-funcids",method:"GET",data:t})}function Re(t){return N({url:"/game/wasm-collect-info",method:"GET",data:t})}const D={container:"wasm-prepare-downloading-content",process:"wasm-prepare-downloading-text",success:"wasm-prepare-downloading-success",error:"wasm-prepare-downloading-error"},Te=({kind:t,children:e})=>{const r={process:D.process,success:D.success,error:D.error};return s.jsx("div",{className:r[t],children:e})},Z={star_fetch_prepared_wasm_url:{kind:"process",text:"fetchDownloadUrl",showSpin:!0},fetch_prepared_wasm_url_done:{kind:"success",text:"fetchDownloadUrlSuccess",showSpin:!0},fetch_prepared_wasm_url_failed:{kind:"error",text:"fetchDownloadUrlFailed",appendError:!0},start_download_prepared_wasm:{kind:"process",text:"downloadPreparedWasmCode",showSpin:!0},download_prepared_wasm_done:{kind:"success",text:"downloadPreparedWasmCodeSuccess",showSpin:!0},download_prepared_wasm_failed:{kind:"error",text:"downloadPreparedWasmCodeFailed",appendError:!0,showRetry:!0},start_compress_prepared_wasm:{kind:"process",text:"compressPreparedWasmCode",showSpin:!0},compress_prepared_wasm_done:{kind:"success",text:"compressPreparedWasmCodeSuccess",showSpin:!0},start_write_compress_prepared_wasm:{kind:"process",text:"writeCompressPreparedWasmCode",showSpin:!0},start_update_wasm_split_config:{kind:"process",text:"updateWasmSplitConfig",showSpin:!0},update_wasm_split_config_done:{kind:"success",text:"updateWasmSplitConfigSuccess"},update_wasm_split_config_failed:{kind:"error",text:"updateWasmSplitConfigFailed",appendError:!0},default:{kind:"process",text:"processing",showSpin:!0}},We=({onCancel:t,onRetry:e,onHide:r})=>{const[a,n]=f.useState(""),[l,m]=f.useState("");f.useEffect(()=>{const g=x=>{n(x.status),m(x.errorMsg||"")};return z.on("unitySplitStatus",g),()=>{z.off("unitySplitStatus",g)}},[]);const d=f.useMemo(()=>Z[a]??Z.default,[a]),i=s.jsx($,{size:"large",color:"primary"}),o=typeof d.text=="string"?c(d.text)??d.text:"";return s.jsxs("div",{className:D.container,children:[d.showSpin&&i,!!o&&s.jsx(Te,{kind:d.kind,children:o}),d.appendError&&!!l&&s.jsx("div",{className:D.error,children:l}),d.showRetry&&s.jsx(j,{onClick:e,children:c("retryDownload")}),s.jsx(j,{style:{marginTop:12},type:"tertiary",onClick:r,children:c("backgroundRun")})]})},Fe=({onSubmit:t,onCancel:e,onChange:r})=>s.jsxs(H,{style:{width:"100%",transform:"translateY(-20px)"},onChange:r,onSubmit:t,children:[s.jsx(H.TextArea,{rules:[{required:!0,message:c("inputSplitDesc")}],label:c("splitDesc"),placeholder:c("inputSplitDesc"),field:"desc"}),s.jsxs("div",{className:"wasm-prepare-form-button-container",children:[s.jsx(j,{type:"tertiary",htmlType:"submit",style:{marginRight:12},children:c("startPrepare")}),s.jsx(j,{type:"tertiary",onClick:e,children:c("cancel")})]})]}),y={init:"init",start:"start",processing:O.WasmPreparing,processingReady:O.WasmReadyToPrepare,success:O.WasmPreparedSuccess,failed:O.WasmPrepareFailed,splitDone:O.WasmSplitDone,downloading:"downloading",downloadFailed:"downloadFailed"},J=new AbortController,De=({codePath:t,codeMd5:e,clientKey:r,onCancel:a,onNext:n,onHide:l})=>{const[m,d]=f.useState(""),[i,o]=f.useState({code:0,data:{status:y.init}}),g=f.useMemo(()=>i?.data?.status,[i?.data?.status]),x=()=>{J.abort(),a(),se({codeMd5:e,clientKey:r,codePath:t}).then(p=>{p.code===0&&o({...i,data:{...i?.data,status:y.init}})})},w=()=>{o({code:0,data:{status:y.start}}),ve({codePath:t,codeMd5:e,clientKey:r,desc:m}).then(p=>{p.code===0||p?.error?.code===10024||p?.error?.code===10028?(o({...p,data:{...p?.data,status:y.processing}}),h()):o({...i,error:p?.error||{code:-1,message:"Internal server error, please try again later..."},data:{...i?.data,status:y.failed}})})},h=()=>{Ce({codeMd5:e,clientKey:r},{intervalMs:500,maxAttempts:100,signal:J.signal}).then(p=>{p.code===0?o(p):o({...i,data:{...i?.data}})})},C=()=>{o({...i,data:{...i?.data,status:"downloading"}}),je({codePath:t,codeMd5:e,clientKey:r}).then(p=>{p.code===0?(o({...i,data:{...i?.data,status:y.success}}),n()):o({...i,data:{...i?.data,status:y.downloadFailed}})})},S=p=>{d(p?.values?.desc)};let v=null;switch(g){case y.init:v=s.jsx(Fe,{onSubmit:w,onCancel:a,onChange:S});break;case y.start:v=s.jsxs("div",{className:"wasm-prepare-processing-content",children:[s.jsx($,{size:"large",color:"primary"}),s.jsx("div",{className:"wasm-prepare-processing-text",children:c("startingPrepare")}),s.jsx("div",{className:"wasm-prepare-processing-cancel",children:s.jsxs(T,{children:[s.jsx(j,{type:"danger",onClick:a,children:c("cancelPrepare")}),s.jsx(j,{onClick:()=>l(),children:c("backgroundRun")})]})})]});break;case y.processing:case y.processingReady:v=s.jsxs("div",{className:"wasm-prepare-processing-content",children:[s.jsx($,{size:"large",color:"primary"}),s.jsx("div",{className:"wasm-prepare-processing-text",children:c("preparingSplit")}),s.jsx("div",{className:"wasm-prepare-processing-warning",children:c("warningDuringPreparing")}),s.jsx("div",{className:"wasm-prepare-processing-cancel",children:s.jsxs(T,{children:[s.jsx(j,{type:"tertiary",onClick:()=>{x()},children:c("cancelPrepare")}),s.jsx(j,{type:"tertiary",onClick:()=>l(),children:c("backgroundRun")})]})})]});break;case y.success:case y.splitDone:v=s.jsxs("div",{className:"wasm-prepare-success-content",children:[s.jsx("div",{className:"wasm-prepare-success-text",children:c("preparingSplitSuccess")}),s.jsx("div",{className:"wasm-prepare-success-download",children:s.jsx(j,{type:"tertiary",onClick:()=>{C()},children:c("downloadPreparedWasmCode")})})]});break;case y.downloading:v=s.jsx(We,{onHide:l});break;case y.downloadFailed:const p=i?.error?.message||"Unknown error";v=s.jsxs("div",{className:"wasm-prepare-downloadfailed-content",children:[s.jsx("div",{className:"wasm-prepare-downloadfailed-text",children:c("downloadFailed")}),s.jsx("div",{className:"wasm-prepare-downloadfailed-warning",children:p}),s.jsx(j,{onClick:C,children:c("retryDownload")})]});break;case y.failed:const k=i?.error?.message||"Unknown error";v=s.jsxs("div",{className:"wasm-prepare-failed-content",children:[s.jsx("div",{className:"wasm-prepare-failed-text",children:c("preparingSplitFailed")}),i?.data?.status===y.failed&&s.jsx("div",{className:"wasm-prepare-failed-warning",children:k}),s.jsx(j,{type:"tertiary",style:{marginTop:12},onClick:w,children:c("retryPrepare")})]});break;default:v=null}return s.jsx("div",{className:"wasm-prepare-content-container",children:v})},Ie=({data:t})=>{const e={...t||{}},r=[{label:"Client key",value:"app_id"},{label:c("wasmSize"),value:"wasm_size",render:a=>`${(a/1024/1024).toFixed(2)} MB`},{label:c("totalFuncCount"),value:"total_wasm_func_count",render:a=>a>=1e3?`${(a/1e3).toFixed(2)} K`:`${a}`},{label:c("collectedFuncCount"),value:"collected_func_count",render:a=>a>=1e3?`${(a/1e3).toFixed(2)} K`:`${a}`},{label:"Wasm md5",value:"wasm_md5"}];return s.jsx("div",{className:"wasm-collect-status",children:r.map(a=>s.jsxs("div",{className:"wasm-collect-status-item",children:[s.jsx(oe,{size:"small",className:"wasm-collect-status-item-label",children:a.label}),s.jsx("span",{className:"wasm-collect-status-item-value",children:a.render?.(e[a.value])||e[a.value]})]},a.value))})},ze=({onNext:t,codeMd5:e,clientKey:r,onHide:a})=>{const{state:{devSchema:n}}=ce(),[l,m]=f.useState("willCollect"),[d,i]=f.useState(),[o,g]=f.useState(),[x,w]=f.useState(0),h=f.useRef(null),C=f.useMemo(()=>!o||!o?.total_wasm_func_count?!1:(x||0)/(o?.total_wasm_func_count||0)>=.08,[o,x]);f.useEffect(()=>{if(l!=="collecting"){h.current&&(window.clearInterval(h.current),h.current=null);return}if(!h.current)return X({codeMd5:e,clientKey:r}).then(p=>{w(p.data?.collected_func_count||0)}).catch(console.error),h.current=window.setInterval(()=>{X({codeMd5:e,clientKey:r}).then(p=>{w(p.data?.collected_func_count||0)}).catch(p=>{console.error(p)})},2e3),()=>{h.current&&(window.clearInterval(h.current),h.current=null)}},[l,e,r]);const S=async()=>{if(l!=="collecting")try{m("startCollect");const p=await $e({codeMd5:e,clientKey:r});m("collecting"),Oe({codeMd5:e,clientKey:r}).then(k=>{i(k.data)}).catch(console.error),Re({codeMd5:e,clientKey:r}).then(k=>{g(k.data||{})}).catch(console.error)}catch(p){console.error(p)}},v=()=>{h.current&&(window.clearInterval(h.current),h.current=null),m("willCollect"),t()};return s.jsxs("div",{className:"wasm-collect-content-container",children:[d&&s.jsx(Ie,{data:{...d||{},total_wasm_func_count:o?.total_wasm_func_count,collected_func_count:x}}),s.jsx("div",{className:"collect-qrcode-container",children:s.jsx(de,{value:n})}),s.jsx("div",{className:"collect-qrcode-desc",children:c("collectDesc")}),s.jsxs("div",{className:"collect-qrcode-button-container",children:[l!=="collecting"&&s.jsx(j,{loading:l==="startCollect",onClick:S,children:c("startCollect")}),l==="collecting"&&s.jsxs(T,{children:[C?s.jsx(j,{type:"tertiary",onClick:v,children:c("startSplit")}):s.jsx(ue,{content:c("cannotSplitTip"),children:s.jsx(j,{type:"tertiary",disabled:!0,children:c("startSplit")})}),s.jsx(j,{type:"tertiary",onClick:a,children:c("backgroundRun")})]})]})]})},Ae=({onCancel:t,onHide:e})=>{const[r,a]=f.useState(""),[n,l]=f.useState("");f.useEffect(()=>{const o=g=>{a(g.status),l(g.errorMsg||"")};return z.on("unitySplitStatus",o),()=>{z.off("unitySplitStatus",o)}},[]);let m=null;const d="wasm-split-downloading-content",i="wasm-split-downloading-text";switch(r){case"start_download_android_main_wasm":case"download_android_main_wasm_done":case"start_compress_android_main_wasm":case"compress_android_main_wasm_done":case"start_download_android_sub_wasm_code":case"download_android_sub_wasm_code_done":case"start_compress_android_sub_wasm_code":case"compress_android_sub_wasm_code_done":case"start_download_ios_main_wasm":case"download_ios_main_wasm_done":case"start_compress_ios_main_wasm":case"compress_ios_main_wasm_done":case"start_download_ios_range_json":case"download_ios_range_json_done":case"start_download_ios_js_data_br":case"download_ios_js_data_br_done":case"start_compress_ios_sub_wasm_code":case"compress_ios_sub_wasm_code_done":case"start_write_splited_wasm_br":case"write_splited_wasm_done":case"start_update_wasm_split_config":case"update_wasm_split_config_done":m=s.jsxs("div",{className:d,children:[s.jsx($,{size:"large",color:"primary"}),s.jsx("div",{className:i,children:c(r)}),s.jsxs(T,{children:[s.jsx(j,{type:"danger",onClick:t,children:c("cancelSplit")}),s.jsx(j,{onClick:e,children:c("backgroundRun")})]})]});break;default:m=s.jsxs("div",{className:d,children:[s.jsx($,{size:"large",color:"primary"}),s.jsx("div",{className:i,children:c("processing")})]})}return m},Q=new AbortController,Me=({onCancel:t,onHide:e,codeMd5:r,clientKey:a})=>{const[n,l]=f.useState("spliting"),[m,d]=f.useState(),i=()=>{Q.abort(),t()},o=()=>{l("downloadingSplitResult"),Pe(m?.result).then(h=>{h.code===0?l("downloadSuccess"):l("downloadFailed")}).catch(()=>{l("downloadFailed")})},g=()=>{l("spliting"),ye({codeMd5:r,clientKey:a}).then(h=>{h.code===0&&Ne({codeMd5:r,clientKey:a},{intervalMs:1e3,maxAttempts:1e3,signal:Q.signal}).then(C=>{l("splitSuccess"),x()})}).catch(()=>{l("splitFailed")})},x=()=>{l("startGetSplitResult"),Ee({clientKey:a,codeMd5:r}).then(h=>{h.code===0?(d(h.data),l("getSplitResultSuccess")):l("getSplitResultFailed")})};f.useEffect(()=>{g()},[]);let w=null;switch(n){case"spliting":w=s.jsxs("div",{className:"wasm-split-processing",children:[s.jsx($,{size:"large",color:"primary"}),s.jsx("div",{className:"wasm-split-processing-content",children:c("splittingDesc")}),s.jsx("div",{className:"wasm-split-processing-cancel",children:s.jsxs(T,{children:[s.jsx(j,{onClick:()=>i(),type:"danger",children:c("cancelSplit")}),s.jsx(j,{onClick:()=>e(),children:c("backgroundRun")})]})})]});break;case"splitSuccess":w=s.jsx("div",{className:"wasm-split-success",children:s.jsx("div",{className:"wasm-split-success-content",children:c("getSplitResult")})});break;case"startGetSplitResult":w=s.jsxs("div",{className:"wasm-split-processing",children:[s.jsx($,{}),s.jsx("div",{className:"wasm-split-processing-content",children:c("getSplitResult")})]});break;case"getSplitResultFailed":w=s.jsxs("div",{className:"wasm-split-failed",children:[s.jsx("div",{className:"wasm-split-failed-content",children:c("getSplitResultFailed")}),s.jsx("div",{className:"wasm-split-failed-retry",children:s.jsx(j,{type:"primary",onClick:()=>x(),children:c("retryGetSplitResult")})})]});break;case"getSplitResultSuccess":w=s.jsxs("div",{className:"wasm-split-success",children:[s.jsx("div",{className:"wasm-split-success-content",children:c("splitSuccess")}),s.jsx("div",{className:"wasm-split-success-download",children:s.jsx(j,{type:"primary",onClick:()=>o(),children:c("downloadSplitResult")})})]});break;case"getDownloadResultFailed":w=s.jsxs("div",{className:"wasm-split-failed",children:[s.jsx("div",{className:"wasm-split-failed-content",children:c("getSplitResultFailed")}),s.jsx("div",{className:"wasm-split-failed-retry",children:s.jsx(j,{type:"primary",onClick:()=>x(),children:c("retryGetSplitResult")})})]});break;case"downloadingSplitResult":w=s.jsx(Ae,{onCancel:i,onHide:e});break;case"downloadSuccess":w=s.jsxs("div",{className:"wasm-split-success",children:[s.jsx("div",{className:"wasm-split-success-content",children:c("downloadSplitResultSuccess")}),s.jsx("div",{className:"wasm-split-success-tip",children:c("downloadSplitResultTip")})]});break;default:w=null}return s.jsx("div",{className:"wasm-split-content-container",children:w})},I={prepare:{number:0,title:c("splitPrepare")},collect:{number:1,title:c("splitCollect")},split:{number:2,title:c("splitCode")},rollback:{number:3,title:c("rollback")}},Be=({stage:t})=>s.jsxs(R,{type:"basic",current:I[t].number,style:{marginTop:24},children:[s.jsx(R.Step,{title:I.prepare.title}),s.jsx(R.Step,{title:I.collect.title}),s.jsx(R.Step,{title:I.split.title})]}),Ue=({onCancel:t,errorType:e,onHide:r})=>s.jsxs("div",{className:"wasm-code-split-error",children:[e==="noWasmCode"&&s.jsxs("div",{className:"wasm-code-split-error-container",children:[s.jsx("div",{className:"wasm-code-split-error-title",children:c("noWasmCode")}),s.jsx("div",{className:"wasm-code-split-error-desc",children:c("noWasmCodeDesc")})]}),e==="hasSplited"&&s.jsxs("div",{className:"wasm-code-split-error-container",children:[s.jsx("div",{className:"wasm-code-split-error-title",children:c("hasSplitedTitle")}),s.jsx("div",{className:"wasm-code-split-error-desc",children:c("hasSplitedDesc")}),s.jsxs(T,{children:[s.jsx(j,{onClick:t,children:c("cancelSplit")}),s.jsx(j,{onClick:r,children:c("backgroundRun")})]})]}),e==="noSplitConfig"&&s.jsxs("div",{className:"wasm-code-split-error-container",children:[s.jsx("div",{className:"wasm-code-split-error-title",children:c("noSplitConfigTitle")}),s.jsx("div",{className:"wasm-code-split-error-desc",children:c("noSplitConfigDesc")})]})]}),Ge=()=>s.jsxs("div",{className:"split-loading",children:[s.jsx($,{size:"large",color:"primary"}),s.jsx("div",{className:"split-loading-text",children:"正在初始化分包环境"})]}),Ve=({codeMd5:t,clientKey:e,codePath:r,onHide:a,onReset:n})=>{const[l,m]=f.useState("rollbacking"),d=()=>{m("rollbacking"),se({codeMd5:t,clientKey:e,codePath:r}).then(g=>{g.code===0?(m("rollbackSuccess"),n()):m("rollbackFailed")})};f.useEffect(()=>{d()},[]);let i="",o=null;switch(l){case"rollbacking":i="回滚中...",o=s.jsx(j,{onClick:()=>{m("rollbackFailed")},children:"后台进行"});break;case"rollbackSuccess":i="回滚成功",o=s.jsx(j,{onClick:()=>{a()},children:"关闭"});break;case"rollbackFailed":i="回滚失败",o=s.jsx(j,{onClick:()=>{d()},children:"重试"});break}return s.jsx(s.Fragment,{children:s.jsxs("div",{className:"wasm-split-rollback-container",children:[s.jsx("div",{className:"wasm-split-rollback-text",children:i}),o]})})};function Le({enableWasmCollect:t,enableWasmSplit:e}){return typeof t=="boolean"&&(typeof e=="string"||e===!1)?t:!1}function qe({enableWasmSplit:t,hasWasmCode:e}){return t===!0?{errorType:"hasSplited",hasError:!0}:e?{hasError:!1}:{errorType:"noWasmCode",hasError:!0}}const Xe=({codePath:t,clientKey:e,codeMd5:r})=>{const[a,n]=f.useState(!1),[l,m]=f.useState(""),[d,i]=f.useState("loading"),[o,g]=f.useState(null),x=()=>{n(!0),(!o||d==="error")&&(i("loading"),Se({codeMd5:r,clientKey:e}).then(C=>{if(C.code===0){const{errorType:S,hasError:v}=qe({enableWasmSplit:C.data.enableWasmSplit,hasWasmCode:!!t});m(S),v?(m(S),i("error")):Le(C.data)?i("collect"):i("prepare"),g(C.data)}else i("error")}))},w=()=>{n(!1)},h=()=>{i("rollback")};return s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:P("wasm-code-split",{}),onClick:x,children:[s.jsx(fe,{size:"default"}),s.jsx("span",{className:"wasm-code-split-text",children:c("wasmSplit")})]}),s.jsxs(pe,{centered:!0,keepDOM:!0,maskClosable:!1,visible:a,footer:null,style:{width:"90%"},onCancel:()=>n(!1),onOk:()=>n(!1),title:c("wasmSplit"),children:[d==="loading"&&s.jsx(Ge,{}),d==="error"&&s.jsx(Ue,{errorType:l,onCancel:h,onHide:w}),d!=="error"&&d!=="loading"&&s.jsx(Be,{stage:d}),d==="prepare"&&s.jsx(De,{codeMd5:r,codePath:t,clientKey:e,onCancel:()=>{n(!1)},onNext:()=>{i("collect")},onHide:w}),d==="collect"&&s.jsx(ze,{codeMd5:r,clientKey:e,onCancel:()=>{n(!1),i("prepare")},onHide:w,onNext:()=>{i("split")}}),d==="split"&&s.jsx(Me,{codeMd5:r,clientKey:e,onCancel:h,onHide:w}),d==="rollback"&&s.jsx(Ve,{codeMd5:r,clientKey:e,codePath:t,onHide:w,onReset:()=>{i("prepare")}})]})]})};export{Xe as WasmCodeSplit};
@@ -0,0 +1 @@
1
+ .check-result-group{margin-bottom:18px}.check-result-title{display:flex;align-items:center;font-weight:500;margin-bottom:8px}.check-result-item{display:flex;align-items:center;padding:8px}.show-more-text-btn{position:absolute;left:0;bottom:0;right:0;display:block;padding:24px;border:none;border-radius:2px;cursor:pointer;font-size:14px;text-align:center;text-decoration:none;transition:all .3s ease;background-image:linear-gradient(to top,#fff,#ffffffb3);-webkit-backdrop-filter:blur(10px);box-shadow:0 0 #0003}.check-code-banner-section{padding:12px 24px}.check-code-banner-section-title{font-size:16px;font-weight:500;line-height:24px;color:#222}.check-code-banner-section-desc{padding-bottom:8px;padding-left:12px;padding-top:8px}
@@ -0,0 +1 @@
1
+ import{u as c,r as l,D as d,j as e,i as a,d as i,E as r}from"./index-bgdF_Zeb.js";const g=[{title:"0.3.2",target:{iOS:">=43.1",Android:">=43.1"},changes:{feature:[{desc:{"zh-CN":"增加对 unity 是否需要分包的检查,对于需要分包的 unity 项目,给出明确提示","en-US":"Add check for whether unity project needs subpackage, for unity projects that need subpackage, give clear prompt"},module:"new"},{desc:{"zh-CN":"支持通过 `ttmg setup` 配置 CLI 语言,调试环境会跟随语言设置展示文案,首次调试时会自动同步默认语言,后续 CLI 与 IDE 语言保持一致,减少反复切换","en-US":"Support configuring CLI language via `ttmg setup`; the debug workspace follows this language setting for message display, the default language is auto-synced on first debug, so CLI and IDE stay consistent afterwards without repeated switching"},module:"new"},{desc:{"zh-CN":"调试与预检支持多语言展示,关键提示与校验信息更易理解","en-US":"Debugging and precheck flows now support multilingual display, making key prompts and validation messages easier to understand"},module:"new"},{desc:{"zh-CN":"支持 Cocos 2.0 openDataContext 配置","en-US":"Support Cocos 2.0 openDataContext configuration"},module:"openDataContext"},{desc:{"zh-CN":"变更记录新增提醒功能,当有新版本发布时,会通过弹窗提醒开发者更新","en-US":"Change log now has a reminder function, when a new version is released, a popup will remind developers to update"},module:"new"}],optimize:[{desc:{"zh-CN":"ttmg login 支持 ttmg login --verbose 参数,打印更多登录信息","en-US":"ttmg login supports ttmg login --verbose parameter, print more login information"},module:"new"},{desc:{"zh-CN":"API 预检建议文案统一收敛,避免重复提示,阅读更清晰","en-US":"API precheck suggestion messages are now unified to avoid duplicated hints and improve readability"},module:"check"},{desc:{"zh-CN":"顶部区域透出项目预检错误与警告信息,便于开发者及时发现问题并修复","en-US":"Top area now displays project precheck error and warning information, making it easier for developers to find and fix problems"},module:"check"},{desc:{"zh-CN":"语言选择策略优化:优先使用 CLI 本地设置,未设置时自动回退浏览器语言","en-US":"Language selection is optimized: CLI local setting is preferred, and browser language is used as fallback when unset"},module:"check"},{desc:{"zh-CN":"启动校验增强:检查是否在小游戏根目录执行,对于分包配置 subPackages 给出明确报错,引导开发者修改为 subpackages","en-US":"Enhance entry validation: ensure running in project root and warn about subPackages typo; subpackages is required"},module:"check"}]}},{title:"0.3.1",target:{iOS:">=43.1",Android:">=43.1"},changes:{feature:[{desc:{"zh-CN":"支持 unity 小游戏本地一些列调试功能,如 Wasm 分包、包大小校验、一键上传代码包至平台等","en-US":"Support unity debug features, such as Wasm split, package size check, one-click upload code package to platform, etc."},link:"https://bytedance.larkoffice.com/wiki/E5TAwQ1O1iylUXkoQFocfdL0ntG",module:"new"},{desc:{"zh-CN":"增加用户登录过期的异常提示,提醒开发者重新登录","en-US":"Add login expired exception prompt, prompt developers to re-login."},module:"login"}],optimize:[{desc:{"zh-CN":"优化上传代码包至平台功能,开发者只用添加描述后点击上传便可自动压缩当前目录下的代码包上传至开发者平台","en-US":"Optimize upload code package to platform function, developers only need to add a description and click upload to automatically compress the code package in the current directory to the developer platform."},module:"upload"},{desc:{"zh-CN":"优化 ttmg login 终端网络代理异常导致无法登录的报错引导,提示用户检查网络设置","en-US":"Optimize ttmg login terminal network proxy exception login prompt, prompt check network settings."},module:"login"}]}},{title:"0.3.0",target:{iOS:">=43.1",Android:">=43.1"},changes:{feature:[{desc:{"zh-CN":"支持了开发信息蒙层,打开后可以查看游戏 FPS、设备信息、调试开关等信息,便于查看游戏运行状态","en-US":"Support devInfo panel, which can show game FPS, device info, debug switch, etc."},link:"https://bytedance.larkoffice.com/wiki/PaK1wSu0eiPrxrkrqtrcR3VEnjf",module:"devOptions"},{desc:{"zh-CN":"支持删除历史启动模式,便于管理历史启动模式","en-US":"Support delete historical launch mode,keep consistent with client dev options"},module:"devOptions"},{desc:{"zh-CN":"调整调试设置模块名称为开发选项,和客户端内调开发者选项保持一致","en-US":"Rename debug setting module to dev options, keep consistent with client dev options"},module:"devOptions",link:"https://bytedance.larkoffice.com/wiki/PaK1wSu0eiPrxrkrqtrcR3VEnjf"},{desc:{"zh-CN":"调试设置新增定义 vConsole 和 开发信息浮层设置","en-US":"Add debug setting to define vConsole and dev overlay"},module:"devOptions"},{desc:{"zh-CN":"支持了变更日志,用户可以在调试环境下查看游戏的变更记录,部分新功能可通过更多信息查看使用","en-US":"Support change log, user can view game change log in IDE, some new features can be viewed in more info"},module:"new"}],optimize:[{desc:{"zh-CN":"支持了调试设置开关本地缓存,避免每次都需要重新设置","en-US":"Support debug setting cache, avoid setting debug mode every time"},module:"devOptions"}],bugfix:[{desc:{"zh-CN":"修复上传名称为中文的游戏时,平台展示乱码的问题","en-US":"Fix the issue that the platform shows garbled code when the game name is in Chinese"},module:"upload"},{desc:{"zh-CN":"修复启动模式模块,自定义query 参数无法持久化的问题","en-US":"Fix the issue that custom query parameters cannot be persisted in launch mode module"},module:"launchMode"},{desc:{"zh-CN":"修复扫描二维码模块,内容过多,纵向无法滚动问题","en-US":"Fix the issue that the content in scan QR code module is too long, and cannot be scrolled vertically"},module:"scanQrcode"}]}}],p=()=>{const{state:{devToolVersion:s}}=c(),t=r;return l.useEffect(()=>{s&&d(s)},[s]),e.jsx("div",{className:"change-log-container",children:g.map(n=>e.jsxs("div",{className:"change-log-item",children:[e.jsx("h2",{className:"change-log-title",children:n.title}),e.jsx("div",{className:"change-log-target",children:e.jsxs("div",{className:"change-log-target-title",children:[a("changelogTarget")," iOS ",n.target.iOS," | Android",n.target.Android]})}),n?.changes?.feature?.length>0&&e.jsxs("div",{children:[e.jsx("div",{className:"change-log-feature-title",children:e.jsx(i,{color:"green",size:"large",shape:"circle",type:"solid",children:a("changelogFeature")})}),e.jsx("ul",{className:"change-log-changes-feature",children:n.changes.feature.map(o=>e.jsxs("li",{className:"change-log-change",children:[o.desc[t]," ",o?.link?e.jsx("a",{style:{fontWeight:600,color:"orange"},href:o.link,target:"_blank",rel:"noopener noreferrer",children:a("changelogLink")}):null]},o.desc[t]))})]}),n?.changes?.optimize?.length>0&&e.jsxs("div",{children:[e.jsx("div",{className:"change-log-optimize-title",children:e.jsx(i,{color:"orange",size:"large",shape:"circle",type:"solid",children:a("changelogOptimize")})}),e.jsx("ul",{className:"change-log-changes-optimize",children:n.changes.optimize.map(o=>e.jsx("li",{className:"change-log-change",children:o.desc[t]},o.desc[t]))})]}),n?.changes?.bugfix?.length>0&&e.jsxs("div",{children:[e.jsx("div",{className:"change-log-bugfix-title",children:e.jsx(i,{color:"red",size:"large",shape:"circle",type:"solid",children:a("changelogBugfix")})}),e.jsx("ul",{className:"change-log-changes-bugfix",children:n.changes.bugfix.map(o=>e.jsx("li",{className:"change-log-change",children:o.desc[t]},o.desc[t]))})]})]},n.title))})};export{p as ChangeLog};
@@ -0,0 +1 @@
1
+ .semi-descriptions{line-height:20px}.semi-descriptions table,.semi-descriptions tr,.semi-descriptions th,.semi-descriptions td{margin:0;padding:0;border:0}.semi-descriptions th{padding-right:24px}.semi-descriptions .semi-descriptions-item{margin:0;padding-bottom:12px;text-align:left;vertical-align:top}.semi-descriptions-key{font-weight:400;font-size:14px;line-height:20px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif;min-height:14px;white-space:nowrap;color:var(--semi-color-text-2)}.semi-descriptions-value{font-weight:400;font-size:14px;line-height:20px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif;color:var(--semi-color-text-0)}.semi-descriptions-center .semi-descriptions-item-th{text-align:right}.semi-descriptions-center .semi-descriptions-item-td,.semi-descriptions-left .semi-descriptions-item-th,.semi-descriptions-left .semi-descriptions-item-td,.semi-descriptions-justify .semi-descriptions-item-th{text-align:left}.semi-descriptions-justify .semi-descriptions-item-td{text-align:right}.semi-descriptions-plain .semi-descriptions-key,.semi-descriptions-plain .semi-descriptions-value{display:inline-block}.semi-descriptions-plain .semi-descriptions-value{padding-left:8px}.semi-descriptions-plain .semi-descriptions-value .semi-tag{vertical-align:middle}.semi-descriptions-double tbody{display:flex;flex-wrap:wrap}.semi-descriptions-double tr{display:inline-flex;flex-direction:column}.semi-descriptions-double .semi-descriptions-item{padding:0;flex:1}.semi-descriptions-double .semi-descriptions-value{font-weight:600}.semi-descriptions-double-small .semi-descriptions-item{padding-right:48px}.semi-descriptions-double-small .semi-descriptions-key{line-height:16px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif;padding-bottom:0;font-size:12px}.semi-descriptions-double-small .semi-descriptions-value{line-height:22px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:16px}.semi-descriptions-double-medium .semi-descriptions-item{padding-right:60px}.semi-descriptions-double-medium .semi-descriptions-key{padding-bottom:4px;font-size:14px}.semi-descriptions-double-medium .semi-descriptions-value{line-height:28px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:20px}.semi-descriptions-double-large .semi-descriptions-item{padding-right:80px}.semi-descriptions-double-large .semi-descriptions-key{padding-bottom:4px;font-size:14px}.semi-descriptions-double-large .semi-descriptions-value{line-height:40px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:28px}.semi-descriptions-horizontal table{table-layout:fixed}.semi-descriptions-horizontal table,.semi-descriptions-horizontal tbody{width:100%}.semi-descriptions-horizontal .semi-descriptions-item{flex:0}.semi-rtl .semi-descriptions,.semi-portal-rtl .semi-descriptions{direction:rtl}.semi-rtl .semi-descriptions th,.semi-portal-rtl .semi-descriptions th{direction:rtl;padding-right:0;padding-left:24px}.semi-rtl .semi-descriptions .semi-descriptions-item,.semi-portal-rtl .semi-descriptions .semi-descriptions-item{text-align:right}.semi-rtl .semi-descriptions-center .semi-descriptions-item-th,.semi-portal-rtl .semi-descriptions-center .semi-descriptions-item-th{text-align:left}.semi-rtl .semi-descriptions-center .semi-descriptions-item-td,.semi-portal-rtl .semi-descriptions-center .semi-descriptions-item-td{text-align:right}.semi-rtl .semi-descriptions-left .semi-descriptions-item-th,.semi-rtl .semi-descriptions-left .semi-descriptions-item-td,.semi-portal-rtl .semi-descriptions-left .semi-descriptions-item-th,.semi-portal-rtl .semi-descriptions-left .semi-descriptions-item-td{text-align:left}.semi-rtl .semi-descriptions-justify .semi-descriptions-item-th,.semi-portal-rtl .semi-descriptions-justify .semi-descriptions-item-th{text-align:right}.semi-rtl .semi-descriptions-justify .semi-descriptions-item-td,.semi-portal-rtl .semi-descriptions-justify .semi-descriptions-item-td{text-align:left}.semi-rtl .semi-descriptions-plain .semi-descriptions-key,.semi-rtl .semi-descriptions-plain .semi-descriptions-value,.semi-portal-rtl .semi-descriptions-plain .semi-descriptions-key,.semi-portal-rtl .semi-descriptions-plain .semi-descriptions-value{display:inline-block}.semi-rtl .semi-descriptions-plain .semi-descriptions-value,.semi-portal-rtl .semi-descriptions-plain .semi-descriptions-value{padding-left:0;padding-right:8px}.semi-rtl .semi-descriptions-plain .semi-descriptions-value .semi-tag,.semi-portal-rtl .semi-descriptions-plain .semi-descriptions-value .semi-tag{vertical-align:middle}.semi-rtl .semi-descriptions-double,.semi-portal-rtl .semi-descriptions-double{direction:rtl}.semi-rtl .semi-descriptions-double .semi-descriptions-item,.semi-portal-rtl .semi-descriptions-double .semi-descriptions-item{text-align:right}.semi-rtl .semi-descriptions-double-small .semi-descriptions-item,.semi-portal-rtl .semi-descriptions-double-small .semi-descriptions-item{padding-right:0;padding-left:48px}.semi-rtl .semi-descriptions-double-medium .semi-descriptions-item,.semi-portal-rtl .semi-descriptions-double-medium .semi-descriptions-item{padding-right:0;padding-left:60px}.semi-rtl .semi-descriptions-double-large .semi-descriptions-item,.semi-portal-rtl .semi-descriptions-double-large .semi-descriptions-item{padding-right:0;padding-left:80px}.error-display{width:100%;height:100%;display:flex;overflow:hidden;align-items:center;flex-direction:column;justify-content:center}.error-display-content{margin-top:12px;max-width:70%}.game-detail-loading-container{width:100%;height:100%;display:flex;overflow:hidden;align-items:center;flex-direction:column;justify-content:center}.game-detail-container{width:100%;height:100%;overflow-y:auto;overflow-x:hidden}.terms-privacy-item{display:flex;flex-direction:column;align-items:flex-start;gap:4px;width:100%}.terms-privacy-label{line-height:20px}.terms-privacy-value{line-height:20px;white-space:normal;word-break:break-all}.project-detail-warning{display:flex;align-items:flex-start;width:100%;padding:4px 8px;border-radius:6px;background:#fff7e8}.project-detail-warning-text{color:#d4380d;line-height:20px;white-space:normal;word-break:break-word}