flexbiz-server 12.7.7 → 12.7.11

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 (1158) hide show
  1. package/package.json +6 -6
  2. package/server/agents/agents.js +1 -1
  3. package/server/agents/ai_memory_manager.js +1 -6
  4. package/server/agents/ceoAgent.js +1 -43
  5. package/server/agents/chatController.js +1 -6
  6. package/server/agents/cskhAgent.js +1 -43
  7. package/server/agents/flowAgent.js +1 -43
  8. package/server/agents/prompts/ceo.js +1 -2
  9. package/server/agents/prompts/flow.js +1 -2
  10. package/server/agents/staffAgent.js +1 -44
  11. package/server/agents/tools/financeTools.js +1 -57
  12. package/server/agents/tools/flowTools.js +1 -36
  13. package/server/agents/tools/kpiTools.js +1 -104
  14. package/server/agents/tools/masterDataTools.js +1 -74
  15. package/server/agents/tools/okrTools.js +1 -21
  16. package/server/agents/tools/ragTools.js +1 -21
  17. package/server/agents/tools/reportTools.js +1 -43
  18. package/server/agents/tools/staffTools.js +1 -13
  19. package/server/agents/tools/stockTools.js +1 -41
  20. package/server/agents/tools/systemTools.js +1 -52
  21. package/server/agents/tools/taskTools.js +1 -23
  22. package/server/agents/tools/utils.js +1 -57
  23. package/server/app.js +1 -27
  24. package/server/auths/authMiddleware.js +1 -3
  25. package/server/auths/bearer.js +1 -3
  26. package/server/auths/facebook.js +1 -12
  27. package/server/auths/google.js +1 -13
  28. package/server/auths/joinApp.js +1 -0
  29. package/server/auths/local.js +1 -67
  30. package/server/auths/oauthCommon.js +1 -0
  31. package/server/auths/rateLimiterMiddleware.js +1 -11
  32. package/server/cluster.js +1 -1
  33. package/server/controllers/controller.js +1 -129
  34. package/server/controllers/controllerRPT.js +1 -38
  35. package/server/controllers/controllerUtils.js +1 -72
  36. package/server/controllers/createHandler.js +1 -35
  37. package/server/controllers/createRouteHandler.js +1 -4
  38. package/server/controllers/deleteHandler.js +1 -11
  39. package/server/controllers/deleteManyHandler.js +1 -2
  40. package/server/controllers/exportHandler.js +1 -19
  41. package/server/controllers/findHandler.js +1 -80
  42. package/server/controllers/handlers.js +1 -3
  43. package/server/controllers/historyHandler.js +1 -8
  44. package/server/controllers/importFromExcelHandler.js +1 -17
  45. package/server/controllers/importFromGsHandler.js +1 -10
  46. package/server/controllers/importFromJsonHandler.js +1 -6
  47. package/server/controllers/importHandler.js +1 -26
  48. package/server/controllers/logHandler.js +1 -5
  49. package/server/controllers/rptCreateRouteHandler.js +1 -4
  50. package/server/controllers/rptExcelHandler.js +1 -45
  51. package/server/controllers/rptHandler.js +1 -16
  52. package/server/controllers/updateBookHandler.js +1 -11
  53. package/server/controllers/updateFieldHandler.js +1 -12
  54. package/server/controllers/updateHandler.js +1 -38
  55. package/server/controllers/updateKeyHandler.js +1 -14
  56. package/server/controllers/viewHandler.js +1 -13
  57. package/server/data/sys/listinfo.js +93 -93
  58. package/server/data/sys/menuinfo.js +1 -24
  59. package/server/data/sys/moduleinfo.js +520 -9000
  60. package/server/data/sys/reportinfo.js +10 -10
  61. package/server/flow/FlowCluster.js +1 -0
  62. package/server/flow/FlowEngine.js +1 -68
  63. package/server/flow/WebhookManager.js +1 -26
  64. package/server/flow/handlers.js +1 -3
  65. package/server/flow/nodes/aiAnalysis.js +1 -9
  66. package/server/flow/nodes/checkAction.js +1 -7
  67. package/server/flow/nodes/customer.js +1 -15
  68. package/server/flow/nodes/data.js +1 -17
  69. package/server/flow/nodes/debug.js +1 -2
  70. package/server/flow/nodes/delay.js +1 -3
  71. package/server/flow/nodes/email.js +1 -8
  72. package/server/flow/nodes/event.js +1 -12
  73. package/server/flow/nodes/facebook.js +1 -3
  74. package/server/flow/nodes/facebookConversations.js +1 -5
  75. package/server/flow/nodes/facebookCreatePost.js +1 -10
  76. package/server/flow/nodes/facebookSendMessage.js +1 -12
  77. package/server/flow/nodes/forEachItem.js +1 -8
  78. package/server/flow/nodes/function.js +1 -4
  79. package/server/flow/nodes/httprequest.js +1 -7
  80. package/server/flow/nodes/inject.js +1 -14
  81. package/server/flow/nodes/pushNotification.js +1 -5
  82. package/server/flow/nodes/report.js +1 -6
  83. package/server/flow/nodes/saveData.js +1 -2
  84. package/server/flow/nodes/switch.js +1 -20
  85. package/server/flow/nodes/userform.js +1 -28
  86. package/server/flow/nodes/webhook.js +1 -1
  87. package/server/flow/nodes/zaloSendMessage.js +1 -4
  88. package/server/flow/utils.js +1 -67
  89. package/server/global.js +1 -19
  90. package/server/libs/WorkerPool.js +1 -4
  91. package/server/libs/WorkerStaticPool.js +1 -20
  92. package/server/libs/WorkerStaticPool_v1.js +1 -5
  93. package/server/libs/WorkerStaticPool_v2.js +1 -16
  94. package/server/libs/WorkerStaticPool_v3.js +1 -19
  95. package/server/libs/WorkerStaticPool_v5.js +1 -0
  96. package/server/libs/assbonus.js +1 -7
  97. package/server/libs/asyncCompat.js +1 -10
  98. package/server/libs/backup.js +1 -2
  99. package/server/libs/blockchainconnect.js +1 -12
  100. package/server/libs/cdpsdiem.js +1 -5
  101. package/server/libs/cdpsdt.js +1 -7
  102. package/server/libs/cdpskh.js +1 -15
  103. package/server/libs/cdpskh_old.js +1 -9
  104. package/server/libs/cdpsnphep.js +1 -6
  105. package/server/libs/cdpstk.js +1 -11
  106. package/server/libs/ckcn.js +1 -14
  107. package/server/libs/ckcn_old.js +1 -11
  108. package/server/libs/ckdiem.js +1 -5
  109. package/server/libs/ckdt.js +1 -6
  110. package/server/libs/cknphep.js +1 -6
  111. package/server/libs/cktk.js +1 -4
  112. package/server/libs/cktt.js +1 -10
  113. package/server/libs/cktt_old.js +1 -9
  114. package/server/libs/ckvt.js +1 -14
  115. package/server/libs/ckvt_old.js +1 -12
  116. package/server/libs/ckvtcapphat.js +1 -6
  117. package/server/libs/ckvtnpp.js +1 -9
  118. package/server/libs/ckvttt.js +1 -12
  119. package/server/libs/createSocaitheongay.js +1 -9
  120. package/server/libs/ctdiem.js +1 -5
  121. package/server/libs/ctvt.js +1 -8
  122. package/server/libs/ctvtnpp.js +1 -8
  123. package/server/libs/ctvttt.js +1 -7
  124. package/server/libs/databanle.js +1 -17
  125. package/server/libs/databanle_old.js +1 -18
  126. package/server/libs/databanlenpp.js +1 -8
  127. package/server/libs/databanletheongay.js +1 -25
  128. package/server/libs/dkcn.js +1 -14
  129. package/server/libs/dkcn_old.js +1 -10
  130. package/server/libs/dkdiem.js +1 -5
  131. package/server/libs/dkdt.js +1 -6
  132. package/server/libs/dknphep.js +1 -7
  133. package/server/libs/dktk.js +1 -5
  134. package/server/libs/dktt.js +1 -10
  135. package/server/libs/dktt_old.js +1 -8
  136. package/server/libs/dkvt.js +1 -12
  137. package/server/libs/dkvt_old.js +1 -9
  138. package/server/libs/dkvtnpp.js +1 -8
  139. package/server/libs/dkvttt.js +1 -8
  140. package/server/libs/dncn.js +1 -6
  141. package/server/libs/dntk.js +1 -4
  142. package/server/libs/dntt.js +1 -6
  143. package/server/libs/docs.js +1 -672
  144. package/server/libs/dstkcn.js +1 -1
  145. package/server/libs/dstktt.js +1 -1
  146. package/server/libs/dtbanletheonpp.js +1 -17
  147. package/server/libs/dtbanletheosp.js +1 -16
  148. package/server/libs/dtbanletheospnpp.js +1 -15
  149. package/server/libs/email.js +1 -3
  150. package/server/libs/excel.js +1 -3
  151. package/server/libs/excelHelper.js +1 -10
  152. package/server/libs/executiveDashboard.js +1 -8
  153. package/server/libs/fifo_dk.js +1 -8
  154. package/server/libs/fifo_group.js +1 -4
  155. package/server/libs/fifo_trace_query.js +1 -12
  156. package/server/libs/getGiaban.js +1 -59
  157. package/server/libs/getGiabanAsync.js +1 -1
  158. package/server/libs/getGiaban_old.js +1 -70
  159. package/server/libs/getNotifies.js +1 -1
  160. package/server/libs/htmlReport.js +1 -9
  161. package/server/libs/initDatabase.js +1 -9
  162. package/server/libs/invoiceEasy.js +1 -108
  163. package/server/libs/invoiceViettel.js +1 -25
  164. package/server/libs/invoiceVnpt.js +1 -22
  165. package/server/libs/joinData.js +1 -44
  166. package/server/libs/joinData_bk.js +1 -44
  167. package/server/libs/kpistatus.js +1 -47
  168. package/server/libs/kqchamcong.js +1 -12
  169. package/server/libs/kqhdkd.js +1 -8
  170. package/server/libs/load-template.js +1 -3
  171. package/server/libs/logger.js +1 -3
  172. package/server/libs/mailmanagement.js +1 -13
  173. package/server/libs/mongooseDeletePost.js +1 -6
  174. package/server/libs/mongooseLeanId.js +1 -1
  175. package/server/libs/mongoosePatch.js +1 -14
  176. package/server/libs/mongooseSecurityPlugin.js +1 -16
  177. package/server/libs/onepay-payment.js +1 -4
  178. package/server/libs/optimizeBookkeeping.js +1 -22
  179. package/server/libs/optimizeBookkeeping_bk.js +1 -14
  180. package/server/libs/parse-template.js +1 -5
  181. package/server/libs/permission.js +1 -58
  182. package/server/libs/permission_old.js +1 -58
  183. package/server/libs/phanbokh.js +1 -3
  184. package/server/libs/post-book.js +1 -22
  185. package/server/libs/post-socai.js +1 -25
  186. package/server/libs/post-sokho.js +1 -26
  187. package/server/libs/prototypes.js +1 -24
  188. package/server/libs/psdt.js +1 -1
  189. package/server/libs/pskh.js +1 -1
  190. package/server/libs/pstk.js +1 -1
  191. package/server/libs/queryBuilding.js +1 -15
  192. package/server/libs/redis-cache.js +1 -34
  193. package/server/libs/restore.js +1 -1
  194. package/server/libs/sctcnkh.js +1 -20
  195. package/server/libs/sessionContext.js +2 -14
  196. package/server/libs/socaitk.js +1 -9
  197. package/server/libs/textReport.js +1 -5
  198. package/server/libs/thnxt.js +1 -17
  199. package/server/libs/thnxt_old.js +1 -9
  200. package/server/libs/thnxtnpp.js +1 -9
  201. package/server/libs/thnxttt.js +1 -9
  202. package/server/libs/tinhGt.js +1 -10
  203. package/server/libs/tinhGtCapnhatPNK.js +1 -7
  204. package/server/libs/tinhGtPhanboHeSo.js +1 -12
  205. package/server/libs/tinhGtPhanboSltp.js +1 -10
  206. package/server/libs/tinhGtPhanboYtcp.js +1 -11
  207. package/server/libs/tinhGtSltk.js +1 -9
  208. package/server/libs/tinhGtThcppstk.js +1 -10
  209. package/server/libs/tinhGtTrucTiep.js +1 -7
  210. package/server/libs/tinhGtXoa.js +1 -3
  211. package/server/libs/tinhgia1vt_fifo.js +1 -22
  212. package/server/libs/tinhgiafifo.js +1 -28
  213. package/server/libs/tinhgiatb.js +1 -30
  214. package/server/libs/tinhgiatb1vt.js +1 -7
  215. package/server/libs/tinhgiatb1vt_old.js +1 -5
  216. package/server/libs/tinhgiatb_old.js +1 -39
  217. package/server/libs/tinhhoahong.js +1 -64
  218. package/server/libs/tinhhoahongnpp.js +1 -46
  219. package/server/libs/tinhkhauhao1ts.js +1 -12
  220. package/server/libs/tinhkhauhaots.js +1 -8
  221. package/server/libs/tinhkhauhaots_old.js +1 -0
  222. package/server/libs/tuoinophaithu.js +1 -11
  223. package/server/libs/tuoinophaithu_old.js +1 -0
  224. package/server/libs/tuoinophaitra.js +1 -12
  225. package/server/libs/tuoinophaitra_old.js +1 -0
  226. package/server/libs/utils.js +1 -121
  227. package/server/libs/utils_old.js +1 -0
  228. package/server/libs/validate.js +1 -4
  229. package/server/libs/validator-acc-cust.js +1 -1
  230. package/server/libs/validator-account.js +1 -4
  231. package/server/libs/validator-vt.js +1 -2
  232. package/server/libs/validator.js +1 -11
  233. package/server/libs/vectorService.js +1 -16
  234. package/server/libs/viCollation.js +1 -4
  235. package/server/libs/vsocai.js +1 -11
  236. package/server/libs/vsocai_old.js +1 -7
  237. package/server/libs/vsocai_old2.js +1 -0
  238. package/server/maps-demo/participant.js +18 -0
  239. package/server/models/account.js +1 -7
  240. package/server/models/actionLog.js +1 -2
  241. package/server/models/afflink.js +1 -2
  242. package/server/models/aimemory.js +1 -1
  243. package/server/models/app.js +1 -16
  244. package/server/models/approve.js +1 -95
  245. package/server/models/assabcihandler.js +1 -35
  246. package/server/models/assbank.js +1 -19
  247. package/server/models/assbooking.js +1 -4
  248. package/server/models/assbuy.js +1 -3
  249. package/server/models/asscashwithdraw.js +1 -4
  250. package/server/models/assfindhash.js +1 -2
  251. package/server/models/assinvestment.js +1 -13
  252. package/server/models/assissue.js +1 -2
  253. package/server/models/asskey.js +1 -15
  254. package/server/models/assneedtobuy.js +1 -6
  255. package/server/models/assperiod.js +1 -7
  256. package/server/models/assproduct.js +1 -13
  257. package/server/models/assprofitsharing.js +1 -4
  258. package/server/models/assreceiver.js +1 -2
  259. package/server/models/assrequest.js +1 -10
  260. package/server/models/asssell.js +1 -7
  261. package/server/models/asstransaction.js +1 -3
  262. package/server/models/asstransfer.js +1 -4
  263. package/server/models/assuser_identity.js +1 -4
  264. package/server/models/asswithdraw.js +1 -4
  265. package/server/models/attend.js +1 -2
  266. package/server/models/banggiaban.js +1 -8
  267. package/server/models/bangtinhluong.js +1 -5
  268. package/server/models/base.js +1 -1
  269. package/server/models/bg1.js +1 -9
  270. package/server/models/bg2.js +1 -10
  271. package/server/models/cache.js +1 -3
  272. package/server/models/cacheDataReport.js +1 -2
  273. package/server/models/cacheSessionReport.js +1 -5
  274. package/server/models/calllog.js +1 -4
  275. package/server/models/cart.js +1 -5
  276. package/server/models/cddiem.js +1 -2
  277. package/server/models/cddt.js +1 -3
  278. package/server/models/cdkh.js +1 -5
  279. package/server/models/cdkhtheongay.js +1 -5
  280. package/server/models/cdnphep.js +1 -2
  281. package/server/models/cdtk.js +1 -3
  282. package/server/models/cdtktheongay.js +1 -3
  283. package/server/models/cdvt.js +1 -5
  284. package/server/models/cdvtnpp.js +1 -6
  285. package/server/models/cdvttheongay.js +1 -5
  286. package/server/models/chamcong.js +1 -7
  287. package/server/models/chat_message.js +1 -2
  288. package/server/models/chat_session.js +1 -2
  289. package/server/models/checkin.js +1 -4
  290. package/server/models/checkinactivity.js +1 -3
  291. package/server/models/checkinkpi.js +1 -4
  292. package/server/models/checkinlocation.js +1 -2
  293. package/server/models/chitietluongds.js +1 -12
  294. package/server/models/chitieukpi.js +1 -3
  295. package/server/models/chudethaoluan.js +1 -3
  296. package/server/models/ckgtluong.js +1 -2
  297. package/server/models/colleague.js +1 -2
  298. package/server/models/comment.js +1 -4
  299. package/server/models/congdoansx.js +1 -4
  300. package/server/models/congtacvien.js +1 -4
  301. package/server/models/congthuctinhgiaban.js +1 -8
  302. package/server/models/consultant.js +1 -4
  303. package/server/models/contract.js +1 -6
  304. package/server/models/counter.js +1 -2
  305. package/server/models/csluongtheods.js +1 -3
  306. package/server/models/csphucap.js +1 -2
  307. package/server/models/ctds.js +1 -5
  308. package/server/models/ctds2.js +1 -7
  309. package/server/models/currency.js +1 -3
  310. package/server/models/custom_report.js +1 -1
  311. package/server/models/customer.js +1 -31
  312. package/server/models/customer_care.js +1 -2
  313. package/server/models/data_list_config.js +1 -7
  314. package/server/models/databanle.js +1 -8
  315. package/server/models/datlich.js +1 -4
  316. package/server/models/deal.js +1 -2
  317. package/server/models/dh2.js +1 -20
  318. package/server/models/diagram.js +1 -2
  319. package/server/models/dinhmucsx.js +1 -8
  320. package/server/models/dkhoc.js +1 -6
  321. package/server/models/dknphep.js +1 -2
  322. package/server/models/dmban.js +1 -3
  323. package/server/models/dmbp.js +1 -12
  324. package/server/models/dmca.js +1 -2
  325. package/server/models/dmchietkhau.js +1 -8
  326. package/server/models/dmchietkhauhd.js +1 -19
  327. package/server/models/dmchinhanh.js +1 -2
  328. package/server/models/dmcpmh.js +1 -2
  329. package/server/models/dmdiemthuong.js +1 -3
  330. package/server/models/dmdoi.js +1 -4
  331. package/server/models/dmdoituongdanhgia.js +1 -2
  332. package/server/models/dmdt.js +1 -8
  333. package/server/models/dmdvt.js +1 -3
  334. package/server/models/dmgiaban.js +1 -9
  335. package/server/models/dmgiamua.js +1 -5
  336. package/server/models/dmgiathitruong.js +1 -5
  337. package/server/models/dmgiathitruong_ngay.js +1 -2
  338. package/server/models/dmgiathitruong_theodoi.js +1 -2
  339. package/server/models/dmhoahonghd.js +1 -8
  340. package/server/models/dmhoahongnpp.js +1 -8
  341. package/server/models/dmkc.js +1 -3
  342. package/server/models/dmkho.js +1 -7
  343. package/server/models/dmkhuyenmai.js +1 -9
  344. package/server/models/dmkhuyenmaihd.js +1 -11
  345. package/server/models/dmletet.js +1 -2
  346. package/server/models/dmlo.js +1 -4
  347. package/server/models/dmloaicong.js +1 -4
  348. package/server/models/dmloaitask.js +1 -2
  349. package/server/models/dmloaits.js +1 -2
  350. package/server/models/dmnckkm.js +1 -4
  351. package/server/models/dmnghiepvu.js +1 -4
  352. package/server/models/dmnguonvon.js +1 -2
  353. package/server/models/dmnhnv.js +1 -4
  354. package/server/models/dmnv.js +1 -17
  355. package/server/models/dmnvt.js +1 -10
  356. package/server/models/dmphi.js +1 -3
  357. package/server/models/dmqct.js +1 -3
  358. package/server/models/dmqddvt.js +1 -3
  359. package/server/models/dmtanggiamts.js +1 -3
  360. package/server/models/dmto.js +1 -4
  361. package/server/models/dmtt.js +1 -6
  362. package/server/models/dmvt.js +1 -17
  363. package/server/models/dmyt.js +1 -4
  364. package/server/models/dn0.js +1 -13
  365. package/server/models/dnm.js +1 -11
  366. package/server/models/dokho.js +1 -2
  367. package/server/models/domain.js +1 -2
  368. package/server/models/dvcs.js +1 -3
  369. package/server/models/ecomcategories.js +1 -3
  370. package/server/models/ecomcategories_cty.js +1 -3
  371. package/server/models/ecomproductlines.js +1 -2
  372. package/server/models/ecompromotion_flashsales.js +1 -2
  373. package/server/models/ecompromotion_freeships.js +1 -2
  374. package/server/models/email.js +1 -2
  375. package/server/models/endpoint.js +1 -1
  376. package/server/models/events.js +1 -3
  377. package/server/models/evoucher.js +1 -5
  378. package/server/models/experiencejourney.js +1 -2
  379. package/server/models/experiencejourneydata.js +1 -4
  380. package/server/models/experiencejourneypersona.js +1 -3
  381. package/server/models/experiencejourneystage.js +1 -2
  382. package/server/models/exportexceltemplate.js +1 -2
  383. package/server/models/fbconversation.js +1 -15
  384. package/server/models/fbmessage.js +1 -2
  385. package/server/models/fbpage.js +1 -2
  386. package/server/models/fbpost.js +1 -2
  387. package/server/models/fieldright.js +1 -2
  388. package/server/models/fifo_dk.js +1 -2
  389. package/server/models/fifo_lot.js +1 -3
  390. package/server/models/fifo_trace.js +1 -4
  391. package/server/models/file.js +1 -4
  392. package/server/models/filechunk.js +1 -2
  393. package/server/models/financialroadmap.js +1 -3
  394. package/server/models/flow.js +1 -2
  395. package/server/models/flowdata.js +1 -3
  396. package/server/models/flowpending.js +1 -2
  397. package/server/models/folder.js +1 -4
  398. package/server/models/follow.js +1 -2
  399. package/server/models/forminfo.js +1 -5
  400. package/server/models/giaoca.js +1 -3
  401. package/server/models/giatb.js +1 -3
  402. package/server/models/group.js +1 -9
  403. package/server/models/gt_ctgt.js +1 -4
  404. package/server/models/gt_hspb.js +1 -3
  405. package/server/models/gt_sltk.js +1 -3
  406. package/server/models/gt_thcppstk.js +1 -3
  407. package/server/models/hanmucton.js +1 -4
  408. package/server/models/hd1.js +1 -11
  409. package/server/models/hd2.js +1 -26
  410. package/server/models/hd3.js +1 -17
  411. package/server/models/hd4.js +1 -13
  412. package/server/models/hd7.js +1 -17
  413. package/server/models/hd8.js +1 -12
  414. package/server/models/hde.js +1 -11
  415. package/server/models/hmcn.js +1 -3
  416. package/server/models/hmcnct.js +1 -2
  417. package/server/models/hspbts.js +1 -4
  418. package/server/models/htl.js +1 -13
  419. package/server/models/importexceltemplate.js +1 -2
  420. package/server/models/introducebonus.js +1 -4
  421. package/server/models/introducecode.js +1 -3
  422. package/server/models/introducer.js +1 -4
  423. package/server/models/kbbtpb.js +1 -7
  424. package/server/models/kbmPttct.js +1 -4
  425. package/server/models/kbmTkgtgt.js +1 -5
  426. package/server/models/kbm_bcdkt_old.js +1 -4
  427. package/server/models/kbm_kqhdkd_old.js +1 -3
  428. package/server/models/kbm_lcttgt_old.js +1 -5
  429. package/server/models/kbm_lctttt_old.js +1 -4
  430. package/server/models/kbm_pttct_old.js +1 -4
  431. package/server/models/kbm_tkgtgt_old.js +1 -5
  432. package/server/models/kbmbcdkt.js +1 -4
  433. package/server/models/kbmbcqt.js +1 -4
  434. package/server/models/kbmkqhdkd.js +1 -3
  435. package/server/models/kbmlcttgt.js +1 -6
  436. package/server/models/kbmlctttt.js +1 -4
  437. package/server/models/kbmtmbctc.js +1 -4
  438. package/server/models/kehoachdtcp.js +1 -3
  439. package/server/models/kehoachmh.js +1 -8
  440. package/server/models/keyresult.js +1 -7
  441. package/server/models/khunghangthanhvien.js +1 -3
  442. package/server/models/label.js +1 -2
  443. package/server/models/labelinfo.js +1 -2
  444. package/server/models/lenhcapphat.js +1 -8
  445. package/server/models/lenhsx.js +1 -8
  446. package/server/models/lienhe.js +1 -4
  447. package/server/models/like_module.js +1 -2
  448. package/server/models/link.js +1 -2
  449. package/server/models/listinfo_old.js +1 -124
  450. package/server/models/loaidiem.js +1 -2
  451. package/server/models/lock.js +1 -2
  452. package/server/models/log.js +1 -8
  453. package/server/models/mailaccount.js +1 -3
  454. package/server/models/mailgroup.js +1 -3
  455. package/server/models/mailreceived.js +1 -2
  456. package/server/models/mailsent.js +1 -2
  457. package/server/models/mailtemplate.js +1 -2
  458. package/server/models/maudanhgia.js +1 -2
  459. package/server/models/menuinfo.js +1 -2
  460. package/server/models/message.js +1 -8
  461. package/server/models/message2.js +1 -4
  462. package/server/models/message2setting.js +1 -3
  463. package/server/models/moduleinfo.js +1 -4
  464. package/server/models/momo.js +1 -18
  465. package/server/models/news.js +1 -3
  466. package/server/models/newsfeed.js +1 -4
  467. package/server/models/note.js +1 -2
  468. package/server/models/notification.js +1 -8
  469. package/server/models/okr.js +1 -4
  470. package/server/models/okrdiagram.js +1 -3
  471. package/server/models/onepay.js +1 -24
  472. package/server/models/opportunity.js +1 -4
  473. package/server/models/options.js +1 -2
  474. package/server/models/originimportid.js +1 -1
  475. package/server/models/otp.js +1 -1
  476. package/server/models/parameter.js +1 -2
  477. package/server/models/participant.js +1 -21
  478. package/server/models/partner.js +1 -1
  479. package/server/models/payload.js +1 -1
  480. package/server/models/pbl.js +1 -16
  481. package/server/models/pc0.js +1 -13
  482. package/server/models/pc1.js +1 -14
  483. package/server/models/pc2.js +1 -13
  484. package/server/models/pc3.js +1 -13
  485. package/server/models/pc5.js +1 -8
  486. package/server/models/pc6.js +1 -14
  487. package/server/models/pcl.js +1 -6
  488. package/server/models/pdn.js +1 -9
  489. package/server/models/pdx.js +1 -9
  490. package/server/models/pgh.js +1 -5
  491. package/server/models/phieudanhgia.js +1 -3
  492. package/server/models/pht.js +1 -8
  493. package/server/models/phucap.js +1 -4
  494. package/server/models/pkc.js +1 -6
  495. package/server/models/pkh.js +1 -6
  496. package/server/models/pkk.js +1 -10
  497. package/server/models/pkt.js +1 -12
  498. package/server/models/pn1.js +1 -18
  499. package/server/models/pn2.js +1 -12
  500. package/server/models/pn3.js +1 -13
  501. package/server/models/pn5.js +1 -14
  502. package/server/models/pn6.js +1 -14
  503. package/server/models/pn9.js +1 -17
  504. package/server/models/pnc.js +1 -9
  505. package/server/models/pnh.js +1 -11
  506. package/server/models/pnk.js +1 -10
  507. package/server/models/po1.js +1 -19
  508. package/server/models/ppb.js +1 -6
  509. package/server/models/productcode.js +1 -2
  510. package/server/models/profile.js +1 -4
  511. package/server/models/pt1.js +1 -12
  512. package/server/models/pt5.js +1 -8
  513. package/server/models/ptl.js +1 -5
  514. package/server/models/ptthanhtoan.js +1 -6
  515. package/server/models/purchase_contract.js +1 -17
  516. package/server/models/pxc.js +1 -9
  517. package/server/models/pxh.js +1 -11
  518. package/server/models/pxk.js +1 -9
  519. package/server/models/qts.js +1 -14
  520. package/server/models/qts_dieuchinh.js +1 -3
  521. package/server/models/qts_dieuchuyen.js +1 -4
  522. package/server/models/quanhuyen.js +1 -2
  523. package/server/models/reason.js +1 -2
  524. package/server/models/receivedinvoice.js +1 -2
  525. package/server/models/reportinfo.js +1 -5
  526. package/server/models/right.js +1 -4
  527. package/server/models/rpt.js +1 -2
  528. package/server/models/rptform.js +1 -3
  529. package/server/models/rptobject.js +1 -2
  530. package/server/models/sale_contract.js +1 -9
  531. package/server/models/schedule.js +1 -18
  532. package/server/models/schedule_log.js +1 -2
  533. package/server/models/shipbook.js +1 -12
  534. package/server/models/shortcut.js +1 -2
  535. package/server/models/smsaccount.js +1 -10
  536. package/server/models/smssend.js +1 -2
  537. package/server/models/so1.js +1 -22
  538. package/server/models/so5.js +1 -15
  539. package/server/models/so9.js +1 -19
  540. package/server/models/socai.js +1 -28
  541. package/server/models/socainpp.js +1 -18
  542. package/server/models/socaitc.js +1 -6
  543. package/server/models/socaitmp.js +1 -16
  544. package/server/models/socaitt.js +1 -4
  545. package/server/models/sodiemthuong.js +1 -4
  546. package/server/models/sokho.js +1 -27
  547. package/server/models/sokhocapphat.js +1 -18
  548. package/server/models/sokhokhongton.js +1 -19
  549. package/server/models/sokhonpp.js +1 -19
  550. package/server/models/sokhotc.js +1 -8
  551. package/server/models/sokhott.js +1 -18
  552. package/server/models/sophanbokh.js +1 -3
  553. package/server/models/sosanxuat.js +1 -5
  554. package/server/models/sotinhkh.js +1 -2
  555. package/server/models/spdd_ck.js +1 -3
  556. package/server/models/spdd_dk.js +1 -3
  557. package/server/models/step.js +1 -2
  558. package/server/models/strategicdiagram.js +1 -3
  559. package/server/models/strategicgoal.js +1 -4
  560. package/server/models/strategickpi.js +1 -6
  561. package/server/models/strategicobjective.js +1 -5
  562. package/server/models/strategicplan.js +1 -5
  563. package/server/models/subscribe.js +1 -2
  564. package/server/models/support.js +1 -2
  565. package/server/models/synctime.js +1 -2
  566. package/server/models/sys_job_queue_book_keeping.js +1 -2
  567. package/server/models/sysconfig.js +1 -2
  568. package/server/models/sysgroup.js +1 -2
  569. package/server/models/tableinfo.js +1 -3
  570. package/server/models/task.js +1 -9
  571. package/server/models/tc.js +1 -2
  572. package/server/models/tdttco.js +1 -9
  573. package/server/models/tdttco_tt.js +1 -5
  574. package/server/models/tdttno.js +1 -9
  575. package/server/models/tdttno_tt.js +1 -5
  576. package/server/models/templaterpt.js +1 -2
  577. package/server/models/templatestore.js +1 -3
  578. package/server/models/templatevoucher.js +1 -3
  579. package/server/models/tinhthanh.js +1 -2
  580. package/server/models/tokens.js +1 -3
  581. package/server/models/tontucthoi.js +1 -9
  582. package/server/models/trangthai.js +1 -4
  583. package/server/models/trangthaiapp.js +1 -4
  584. package/server/models/transaction.js +1 -16
  585. package/server/models/trialinfo.js +1 -2
  586. package/server/models/user.js +1 -40
  587. package/server/models/usergroup.js +1 -7
  588. package/server/models/vanchuyen.js +1 -12
  589. package/server/models/vat.js +1 -3
  590. package/server/models/vatra.js +1 -6
  591. package/server/models/vatvao.js +1 -6
  592. package/server/models/versioninfo.js +1 -2
  593. package/server/models/vietqrbanks.js +1 -2
  594. package/server/models/vsocai.js +1 -6
  595. package/server/models/wallet.js +1 -8
  596. package/server/models/warranty.js +1 -3
  597. package/server/models/warrantyclaim.js +1 -2
  598. package/server/models/warrantypolicy.js +1 -1
  599. package/server/models/workflow.js +1 -4
  600. package/server/models/xaphuong.js +1 -2
  601. package/server/models/xhd.js +1 -10
  602. package/server/models/ytdd_ck.js +1 -4
  603. package/server/models/ytdd_dk.js +1 -4
  604. package/server/models/zalo.js +1 -17
  605. package/server/modules/bot/webhook.js +1 -0
  606. package/server/modules/lists/bg-cddiem.js +1 -6
  607. package/server/modules/lists/bg-cddt.js +1 -7
  608. package/server/modules/lists/bg-cdkh.js +1 -11
  609. package/server/modules/lists/bg-cdnphep.js +1 -6
  610. package/server/modules/lists/bg-cdtk.js +1 -9
  611. package/server/modules/lists/bg-cdvt.js +1 -8
  612. package/server/modules/lists/bg-cdvtnpp.js +1 -8
  613. package/server/modules/lists/bg-fifo_dk.js +1 -8
  614. package/server/modules/lists/ls-account.js +1 -4
  615. package/server/modules/lists/ls-afflink.js +1 -3
  616. package/server/modules/lists/ls-approve.js +1 -5
  617. package/server/modules/lists/ls-assbank.js +1 -3
  618. package/server/modules/lists/ls-asscashwithdraw.js +1 -8
  619. package/server/modules/lists/ls-assissue.js +1 -3
  620. package/server/modules/lists/ls-asskey.js +1 -41
  621. package/server/modules/lists/ls-assreceiver.js +1 -3
  622. package/server/modules/lists/ls-assrequest.js +1 -4
  623. package/server/modules/lists/ls-asstransaction.js +1 -3
  624. package/server/modules/lists/ls-asstransfer.js +1 -3
  625. package/server/modules/lists/ls-assuser_identity.js +1 -1
  626. package/server/modules/lists/ls-bangtinhluong.js +1 -2
  627. package/server/modules/lists/ls-calllog.js +1 -4
  628. package/server/modules/lists/ls-cart.js +1 -14
  629. package/server/modules/lists/ls-chamcong.js +1 -3
  630. package/server/modules/lists/ls-chat_session.js +1 -5
  631. package/server/modules/lists/ls-checkin.js +1 -24
  632. package/server/modules/lists/ls-checkinactivity.js +1 -8
  633. package/server/modules/lists/ls-checkinkpi.js +1 -3
  634. package/server/modules/lists/ls-checkinlocation.js +1 -1
  635. package/server/modules/lists/ls-chitietluongds.js +1 -4
  636. package/server/modules/lists/ls-chitieukpi.js +1 -1
  637. package/server/modules/lists/ls-chudethaoluan.js +1 -1
  638. package/server/modules/lists/ls-ckgtluong.js +1 -1
  639. package/server/modules/lists/ls-comment.js +1 -9
  640. package/server/modules/lists/ls-congdoansx.js +1 -3
  641. package/server/modules/lists/ls-congtacvien.js +1 -5
  642. package/server/modules/lists/ls-consultant.js +1 -2
  643. package/server/modules/lists/ls-contract.js +1 -7
  644. package/server/modules/lists/ls-csluongtheods.js +1 -1
  645. package/server/modules/lists/ls-csphucap.js +1 -1
  646. package/server/modules/lists/ls-ctds.js +1 -4
  647. package/server/modules/lists/ls-ctds2.js +1 -4
  648. package/server/modules/lists/ls-currency.js +1 -1
  649. package/server/modules/lists/ls-customer.js +1 -22
  650. package/server/modules/lists/ls-customer_care.js +1 -1
  651. package/server/modules/lists/ls-datlich.js +1 -9
  652. package/server/modules/lists/ls-dckhauhaots.js +1 -3
  653. package/server/modules/lists/ls-deal.js +1 -3
  654. package/server/modules/lists/ls-diagram.js +1 -1
  655. package/server/modules/lists/ls-dkhoc.js +1 -6
  656. package/server/modules/lists/ls-dknphep.js +1 -1
  657. package/server/modules/lists/ls-dmban.js +1 -4
  658. package/server/modules/lists/ls-dmbp.js +1 -7
  659. package/server/modules/lists/ls-dmca.js +1 -1
  660. package/server/modules/lists/ls-dmchietkhau.js +1 -19
  661. package/server/modules/lists/ls-dmchietkhauhd.js +1 -4
  662. package/server/modules/lists/ls-dmchinhanh.js +1 -1
  663. package/server/modules/lists/ls-dmchucvu.js +1 -2
  664. package/server/modules/lists/ls-dmcpmh.js +1 -1
  665. package/server/modules/lists/ls-dmdiemthuong.js +1 -4
  666. package/server/modules/lists/ls-dmdoi.js +1 -4
  667. package/server/modules/lists/ls-dmdoituongdanhgia.js +1 -1
  668. package/server/modules/lists/ls-dmdt.js +1 -11
  669. package/server/modules/lists/ls-dmdvt.js +1 -2
  670. package/server/modules/lists/ls-dmgiaban.js +1 -4
  671. package/server/modules/lists/ls-dmgiamua.js +1 -4
  672. package/server/modules/lists/ls-dmgiathitruong.js +1 -15
  673. package/server/modules/lists/ls-dmgiathitruong_ngay.js +1 -2
  674. package/server/modules/lists/ls-dmgiathitruong_theodoi.js +1 -1
  675. package/server/modules/lists/ls-dmhoahonghd.js +1 -1
  676. package/server/modules/lists/ls-dmhoahongnpp.js +1 -1
  677. package/server/modules/lists/ls-dmkc.js +1 -3
  678. package/server/modules/lists/ls-dmkho.js +1 -7
  679. package/server/modules/lists/ls-dmkhuyenmai.js +1 -5
  680. package/server/modules/lists/ls-dmkhuyenmaihd.js +1 -3
  681. package/server/modules/lists/ls-dmletet.js +1 -1
  682. package/server/modules/lists/ls-dmlo.js +1 -1
  683. package/server/modules/lists/ls-dmloaicong.js +1 -1
  684. package/server/modules/lists/ls-dmloaits.js +1 -1
  685. package/server/modules/lists/ls-dmnckkm.js +1 -7
  686. package/server/modules/lists/ls-dmnghiepvu.js +1 -1
  687. package/server/modules/lists/ls-dmnguonvon.js +1 -1
  688. package/server/modules/lists/ls-dmnhnv.js +1 -6
  689. package/server/modules/lists/ls-dmnhtask.js +1 -5
  690. package/server/modules/lists/ls-dmnkh.js +1 -6
  691. package/server/modules/lists/ls-dmntt.js +1 -6
  692. package/server/modules/lists/ls-dmnv.js +1 -14
  693. package/server/modules/lists/ls-dmnvt.js +1 -7
  694. package/server/modules/lists/ls-dmphi.js +1 -6
  695. package/server/modules/lists/ls-dmqct.js +1 -2
  696. package/server/modules/lists/ls-dmqddvt.js +1 -3
  697. package/server/modules/lists/ls-dmtanggiamts.js +1 -1
  698. package/server/modules/lists/ls-dmto.js +1 -5
  699. package/server/modules/lists/ls-dmtt.js +1 -7
  700. package/server/modules/lists/ls-dmvt.js +1 -52
  701. package/server/modules/lists/ls-dmyt.js +1 -1
  702. package/server/modules/lists/ls-dokho.js +1 -1
  703. package/server/modules/lists/ls-dvcs.js +1 -1
  704. package/server/modules/lists/ls-ecomcategories.js +1 -5
  705. package/server/modules/lists/ls-ecomcategories_cty.js +1 -5
  706. package/server/modules/lists/ls-email.js +1 -4
  707. package/server/modules/lists/ls-events.js +1 -3
  708. package/server/modules/lists/ls-evoucher.js +1 -3
  709. package/server/modules/lists/ls-experiencejourney.js +1 -1
  710. package/server/modules/lists/ls-experiencejourneydata.js +1 -3
  711. package/server/modules/lists/ls-experiencejourneypersona.js +1 -4
  712. package/server/modules/lists/ls-experiencejourneystage.js +1 -1
  713. package/server/modules/lists/ls-fbconversation.js +1 -2
  714. package/server/modules/lists/ls-fbmessage.js +1 -2
  715. package/server/modules/lists/ls-fbpage.js +1 -11
  716. package/server/modules/lists/ls-fbpost.js +1 -2
  717. package/server/modules/lists/ls-file.js +1 -38
  718. package/server/modules/lists/ls-financialroadmap.js +1 -3
  719. package/server/modules/lists/ls-flow.js +1 -6
  720. package/server/modules/lists/ls-flowdata.js +1 -1
  721. package/server/modules/lists/ls-flowpending.js +1 -3
  722. package/server/modules/lists/ls-folder.js +1 -1
  723. package/server/modules/lists/ls-forminfo.js +1 -1
  724. package/server/modules/lists/ls-giaoca.js +1 -5
  725. package/server/modules/lists/ls-group.js +1 -5
  726. package/server/modules/lists/ls-hmcn.js +1 -2
  727. package/server/modules/lists/ls-hspbts.js +1 -3
  728. package/server/modules/lists/ls-introducebonus.js +1 -4
  729. package/server/modules/lists/ls-introducecode.js +1 -10
  730. package/server/modules/lists/ls-introducer.js +1 -21
  731. package/server/modules/lists/ls-kbm-bcdkt.js +1 -1
  732. package/server/modules/lists/ls-kbm-bcqt.js +1 -5
  733. package/server/modules/lists/ls-kbm-kqhdkd.js +1 -1
  734. package/server/modules/lists/ls-kbm-lcttgt.js +1 -1
  735. package/server/modules/lists/ls-kbm-lctttt.js +1 -1
  736. package/server/modules/lists/ls-kbm-pttct.js +1 -3
  737. package/server/modules/lists/ls-kbm-tkgtgt.js +1 -3
  738. package/server/modules/lists/ls-kbm-tmbctc.js +1 -3
  739. package/server/modules/lists/ls-kehoachdtcp.js +1 -4
  740. package/server/modules/lists/ls-keyresult.js +1 -7
  741. package/server/modules/lists/ls-khunghangthanhvien.js +1 -1
  742. package/server/modules/lists/ls-label.js +1 -1
  743. package/server/modules/lists/ls-lienhe.js +1 -4
  744. package/server/modules/lists/ls-like-module.js +1 -1
  745. package/server/modules/lists/ls-link.js +1 -1
  746. package/server/modules/lists/ls-loaidiem.js +1 -1
  747. package/server/modules/lists/ls-lock.js +1 -1
  748. package/server/modules/lists/ls-log.js +1 -3
  749. package/server/modules/lists/ls-mailaccount.js +1 -5
  750. package/server/modules/lists/ls-mailreceived.js +1 -5
  751. package/server/modules/lists/ls-mailsent.js +1 -4
  752. package/server/modules/lists/ls-mailtemplate.js +1 -4
  753. package/server/modules/lists/ls-maudanhgia.js +1 -3
  754. package/server/modules/lists/ls-message2.js +1 -8
  755. package/server/modules/lists/ls-message2setting.js +1 -5
  756. package/server/modules/lists/ls-news.js +1 -7
  757. package/server/modules/lists/ls-newsfeed.js +1 -4
  758. package/server/modules/lists/ls-note.js +1 -6
  759. package/server/modules/lists/ls-okr.js +1 -5
  760. package/server/modules/lists/ls-okrdiagram.js +1 -1
  761. package/server/modules/lists/ls-opportunity.js +1 -5
  762. package/server/modules/lists/ls-options.js +1 -4
  763. package/server/modules/lists/ls-parameter.js +1 -3
  764. package/server/modules/lists/ls-participant.js +1 -12
  765. package/server/modules/lists/ls-phieudanhgia.js +1 -7
  766. package/server/modules/lists/ls-phucap.js +1 -2
  767. package/server/modules/lists/ls-productcode.js +1 -9
  768. package/server/modules/lists/ls-profile.js +1 -1
  769. package/server/modules/lists/ls-ptthanhtoan.js +1 -3
  770. package/server/modules/lists/ls-qts-dieuchinh.js +1 -2
  771. package/server/modules/lists/ls-qts-dieuchuyen.js +1 -8
  772. package/server/modules/lists/ls-reason.js +1 -1
  773. package/server/modules/lists/ls-rpt.js +1 -5
  774. package/server/modules/lists/ls-rptform.js +1 -3
  775. package/server/modules/lists/ls-shortcut.js +1 -1
  776. package/server/modules/lists/ls-smsaccount.js +1 -1
  777. package/server/modules/lists/ls-smssend.js +1 -3
  778. package/server/modules/lists/ls-sosanxuat.js +1 -4
  779. package/server/modules/lists/ls-step.js +1 -1
  780. package/server/modules/lists/ls-strategicdiagram.js +1 -1
  781. package/server/modules/lists/ls-strategicgoal.js +1 -3
  782. package/server/modules/lists/ls-strategickpi.js +1 -7
  783. package/server/modules/lists/ls-strategicobjective.js +1 -3
  784. package/server/modules/lists/ls-strategicplan.js +1 -6
  785. package/server/modules/lists/ls-support.js +1 -3
  786. package/server/modules/lists/ls-task.js +1 -28
  787. package/server/modules/lists/ls-tc.js +1 -1
  788. package/server/modules/lists/ls-templaterpt.js +1 -5
  789. package/server/modules/lists/ls-templatevoucher.js +1 -1
  790. package/server/modules/lists/ls-tontucthoi.js +1 -3
  791. package/server/modules/lists/ls-trangthaiapp.js +1 -3
  792. package/server/modules/lists/ls-transaction.js +1 -4
  793. package/server/modules/lists/ls-usergroup.js +1 -7
  794. package/server/modules/lists/ls-vat.js +1 -1
  795. package/server/modules/lists/ls-vatra.js +1 -5
  796. package/server/modules/lists/ls-vatvao.js +1 -6
  797. package/server/modules/lists/ls-warranty.js +1 -3
  798. package/server/modules/lists/ls-workflow.js +1 -1
  799. package/server/modules/lists/ls_hanmucton.js +1 -3
  800. package/server/modules/lists/ls_hspb.js +1 -4
  801. package/server/modules/lists/ls_spdd_ck.js +1 -3
  802. package/server/modules/lists/ls_spdd_dk.js +1 -3
  803. package/server/modules/lists/ls_ytdd_ck.js +1 -4
  804. package/server/modules/lists/ls_ytdd_dk.js +1 -4
  805. package/server/modules/lists/sys-attend.js +1 -4
  806. package/server/modules/lists/sys-follow.js +1 -4
  807. package/server/modules/lists/sys-right.js +1 -2
  808. package/server/modules/public/app.js +1 -4
  809. package/server/modules/public/approve.js +1 -37
  810. package/server/modules/public/callin.js +1 -7
  811. package/server/modules/public/comment.js +1 -5
  812. package/server/modules/public/dmnvt.js +1 -4
  813. package/server/modules/public/dmvt.js +1 -9
  814. package/server/modules/public/file.js +1 -11
  815. package/server/modules/public/forminfo.js +1 -1
  816. package/server/modules/public/group.js +1 -4
  817. package/server/modules/public/introducecode.js +1 -1
  818. package/server/modules/public/listinfo.js +1 -1
  819. package/server/modules/public/media-webhook.js +1 -1
  820. package/server/modules/public/partner.js +1 -1
  821. package/server/modules/public/paymentCallback.js +1 -32
  822. package/server/modules/public/province.js +1 -1
  823. package/server/modules/public/ptthanhtoan.js +1 -4
  824. package/server/modules/public/subscribe.js +1 -30
  825. package/server/modules/public/support.js +1 -3
  826. package/server/modules/public/tableinfo.js +1 -1
  827. package/server/modules/public/trialinfo.js +1 -4
  828. package/server/modules/public/versioninfo.js +1 -1
  829. package/server/modules/reports/calc-tinhgiafifo.js +1 -8
  830. package/server/modules/reports/calc-tinhgiatb.js +1 -7
  831. package/server/modules/reports/calc-tinhgiathanh.js +1 -7
  832. package/server/modules/reports/calc-tinhkhauhaots.js +1 -3
  833. package/server/modules/reports/calc-tinhluong.js +1 -68
  834. package/server/modules/reports/rp-assbonus.js +1 -4
  835. package/server/modules/reports/rp-asssupply.js +1 -1
  836. package/server/modules/reports/rp-asstransferlog.js +1 -10
  837. package/server/modules/reports/rp-backup.js +1 -4
  838. package/server/modules/reports/rp-banggiatb.js +1 -3
  839. package/server/modules/reports/rp-bangtinhkhauhao.js +1 -6
  840. package/server/modules/reports/rp-baoCaoFifoKy.js +1 -1
  841. package/server/modules/reports/rp-baocaokhachhang.js +1 -6
  842. package/server/modules/reports/rp-bcdkt.js +1 -11
  843. package/server/modules/reports/rp-bcintroducebonus.js +1 -4
  844. package/server/modules/reports/rp-bckhtiemnang.js +1 -3
  845. package/server/modules/reports/rp-bcqt.js +1 -85
  846. package/server/modules/reports/rp-bkchamcong.js +1 -5
  847. package/server/modules/reports/rp-bkct.js +1 -13
  848. package/server/modules/reports/rp-bkshipbook.js +1 -8
  849. package/server/modules/reports/rp-bkvanchuyen.js +1 -8
  850. package/server/modules/reports/rp-bkvatra.js +1 -7
  851. package/server/modules/reports/rp-bkvatvao.js +1 -7
  852. package/server/modules/reports/rp-capnhatsocaitc.js +1 -4
  853. package/server/modules/reports/rp-cdpsdiem.js +1 -4
  854. package/server/modules/reports/rp-cdpsdt.js +1 -5
  855. package/server/modules/reports/rp-cdpskh.js +1 -8
  856. package/server/modules/reports/rp-cdpsnphep.js +1 -3
  857. package/server/modules/reports/rp-cdpstk.js +1 -4
  858. package/server/modules/reports/rp-chitietchitientheohoadon.js +1 -12
  859. package/server/modules/reports/rp-chitiettaisan.js +1 -13
  860. package/server/modules/reports/rp-chitietthutientheohoadon.js +1 -13
  861. package/server/modules/reports/rp-ckcn.js +1 -3
  862. package/server/modules/reports/rp-ckdiem.js +1 -2
  863. package/server/modules/reports/rp-cktk.js +1 -3
  864. package/server/modules/reports/rp-ckvt.js +1 -10
  865. package/server/modules/reports/rp-ckvttheokho.js +1 -4
  866. package/server/modules/reports/rp-ckvttheotg.js +1 -4
  867. package/server/modules/reports/rp-ckvttt.js +1 -3
  868. package/server/modules/reports/rp-congnophaithutheotuoino.js +1 -3
  869. package/server/modules/reports/rp-congnophaitratheotuoino.js +1 -3
  870. package/server/modules/reports/rp-congnosapthu.js +1 -4
  871. package/server/modules/reports/rp-congnosaptra.js +1 -4
  872. package/server/modules/reports/rp-congviectheobp.js +1 -9
  873. package/server/modules/reports/rp-congviectheodt.js +1 -8
  874. package/server/modules/reports/rp-congviectheokh.js +1 -8
  875. package/server/modules/reports/rp-congviectheonv.js +1 -9
  876. package/server/modules/reports/rp-congviectheotimeline.js +1 -6
  877. package/server/modules/reports/rp-ctbanle.js +1 -15
  878. package/server/modules/reports/rp-ctbanle2.js +1 -20
  879. package/server/modules/reports/rp-ctbanlectv.js +1 -20
  880. package/server/modules/reports/rp-ctbanlenpp.js +1 -24
  881. package/server/modules/reports/rp-ctdanhgianhanvien.js +1 -8
  882. package/server/modules/reports/rp-cthangbanbitralai.js +1 -4
  883. package/server/modules/reports/rp-ctmuahang.js +1 -7
  884. package/server/modules/reports/rp-cttralaihang.js +1 -4
  885. package/server/modules/reports/rp-databanle.js +1 -10
  886. package/server/modules/reports/rp-diemthuong.js +1 -2
  887. package/server/modules/reports/rp-dkcn.js +1 -3
  888. package/server/modules/reports/rp-dktk.js +1 -2
  889. package/server/modules/reports/rp-dsnhanviencm.js +1 -9
  890. package/server/modules/reports/rp-dsnhanvientb.js +1 -9
  891. package/server/modules/reports/rp-dtbanlekempk.js +1 -12
  892. package/server/modules/reports/rp-dtbanletheoct.js +1 -22
  893. package/server/modules/reports/rp-dtbanletheoctkempk.js +1 -25
  894. package/server/modules/reports/rp-dtbanletheokh.js +1 -17
  895. package/server/modules/reports/rp-dtbanletheokhnpp.js +1 -19
  896. package/server/modules/reports/rp-dtbanletheokho.js +1 -15
  897. package/server/modules/reports/rp-dtbanletheonam.js +1 -3
  898. package/server/modules/reports/rp-dtbanletheongay.js +1 -1
  899. package/server/modules/reports/rp-dtbanletheonpp.js +1 -23
  900. package/server/modules/reports/rp-dtbanletheonv.js +1 -19
  901. package/server/modules/reports/rp-dtbanletheoquy.js +1 -3
  902. package/server/modules/reports/rp-dtbanletheosp.js +1 -9
  903. package/server/modules/reports/rp-dtbanletheospnpp.js +1 -6
  904. package/server/modules/reports/rp-dtbanletheothang.js +1 -3
  905. package/server/modules/reports/rp-dtbanletheothungan.js +1 -12
  906. package/server/modules/reports/rp-dtbanletheovt.js +1 -2
  907. package/server/modules/reports/rp-dtbanletheovtnpp.js +1 -2
  908. package/server/modules/reports/rp-dutoanthuchitheodt.js +1 -4
  909. package/server/modules/reports/rp-getPXC2PNC.js +1 -8
  910. package/server/modules/reports/rp-getariseofaccountsbymonth.js +1 -4
  911. package/server/modules/reports/rp-getbtpb.js +1 -6
  912. package/server/modules/reports/rp-getcashbycashier.js +1 -7
  913. package/server/modules/reports/rp-getcschietkhau.js +1 -5
  914. package/server/modules/reports/rp-getdinhmuc4lenhcp.js +1 -7
  915. package/server/modules/reports/rp-getdinhmuc4pxk.js +1 -9
  916. package/server/modules/reports/rp-getdk4pht.js +1 -8
  917. package/server/modules/reports/rp-getdk4pkc.js +1 -10
  918. package/server/modules/reports/rp-getdttheoca.js +1 -5
  919. package/server/modules/reports/rp-getinvoice2pay.js +1 -4
  920. package/server/modules/reports/rp-getinvoice2receive.js +1 -4
  921. package/server/modules/reports/rp-getinvoice2return.js +1 -5
  922. package/server/modules/reports/rp-getinvoice2return_bl.js +1 -6
  923. package/server/modules/reports/rp-getkehoachmh4lenhcp.js +1 -4
  924. package/server/modules/reports/rp-getkhauhao.js +1 -7
  925. package/server/modules/reports/rp-getluong.js +1 -8
  926. package/server/modules/reports/rp-getluongchuyen.js +1 -5
  927. package/server/modules/reports/rp-getpn2fee.js +1 -5
  928. package/server/modules/reports/rp-getpn2return.js +1 -5
  929. package/server/modules/reports/rp-getthanhpham4pnk.js +1 -7
  930. package/server/modules/reports/rp-getvc2xhd.js +1 -11
  931. package/server/modules/reports/rp-gt_cpnvltt.js +1 -6
  932. package/server/modules/reports/rp-hangbanbitralai.js +1 -5
  933. package/server/modules/reports/rp-hangthanhvien.js +1 -3
  934. package/server/modules/reports/rp-hoadonbanhangtheohantt.js +1 -5
  935. package/server/modules/reports/rp-hoadonmuahangtheohantt.js +1 -5
  936. package/server/modules/reports/rp-hoahong.js +1 -15
  937. package/server/modules/reports/rp-kcsns.js +1 -19
  938. package/server/modules/reports/rp-kgchamcong.js +1 -1
  939. package/server/modules/reports/rp-khoaso.js +1 -11
  940. package/server/modules/reports/rp-kiemtrasocaitcvssocai.js +1 -6
  941. package/server/modules/reports/rp-kqdanhgianhanvien.js +1 -5
  942. package/server/modules/reports/rp-kqhdkd.js +1 -1
  943. package/server/modules/reports/rp-lcttgt.js +1 -16
  944. package/server/modules/reports/rp-lctttt.js +1 -11
  945. package/server/modules/reports/rp-linkslist.js +1 -4
  946. package/server/modules/reports/rp-phanbochitienchohoadon.js +1 -11
  947. package/server/modules/reports/rp-phanbothutienchohoadon.js +1 -11
  948. package/server/modules/reports/rp-ptbitralai.js +1 -7
  949. package/server/modules/reports/rp-ptcttct.js +1 -24
  950. package/server/modules/reports/rp-ptdonhang.js +1 -8
  951. package/server/modules/reports/rp-pttct.js +1 -52
  952. package/server/modules/reports/rp-pttctkho.js +1 -32
  953. package/server/modules/reports/rp-pttctkho2.js +1 -29
  954. package/server/modules/reports/rp-referredusers.js +1 -5
  955. package/server/modules/reports/rp-sctbhxh.js +1 -4
  956. package/server/modules/reports/rp-sctcnkh.js +1 -11
  957. package/server/modules/reports/rp-sctdiem.js +1 -3
  958. package/server/modules/reports/rp-sctdt.js +1 -7
  959. package/server/modules/reports/rp-sctdtcp.js +1 -11
  960. package/server/modules/reports/rp-sctluong.js +1 -6
  961. package/server/modules/reports/rp-sctthuetncn.js +1 -4
  962. package/server/modules/reports/rp-scttk.js +1 -9
  963. package/server/modules/reports/rp-sctvt.js +1 -5
  964. package/server/modules/reports/rp-sctvt_sl.js +1 -5
  965. package/server/modules/reports/rp-sctvtnpp.js +1 -6
  966. package/server/modules/reports/rp-sctvttt.js +1 -5
  967. package/server/modules/reports/rp-search.js +1 -4
  968. package/server/modules/reports/rp-socai.js +1 -6
  969. package/server/modules/reports/rp-socaitk.js +1 -1
  970. package/server/modules/reports/rp-sochut.js +1 -7
  971. package/server/modules/reports/rp-sokho.js +1 -7
  972. package/server/modules/reports/rp-sokhott.js +1 -5
  973. package/server/modules/reports/rp-sonkbh.js +1 -5
  974. package/server/modules/reports/rp-sonkc.js +1 -6
  975. package/server/modules/reports/rp-sonkct.js +1 -5
  976. package/server/modules/reports/rp-sonkmh.js +1 -5
  977. package/server/modules/reports/rp-sonktt.js +1 -5
  978. package/server/modules/reports/rp-soquy.js +1 -11
  979. package/server/modules/reports/rp-sosanhkhvatt.js +1 -13
  980. package/server/modules/reports/rp-sosanhkhvatt2.js +1 -5
  981. package/server/modules/reports/rp-sotaisan.js +1 -13
  982. package/server/modules/reports/rp-sotiengui.js +1 -7
  983. package/server/modules/reports/rp-taodinhmuctudkhoc.js +1 -5
  984. package/server/modules/reports/rp-thbanhangkempk.js +1 -28
  985. package/server/modules/reports/rp-thdanhgianhanvien.js +1 -9
  986. package/server/modules/reports/rp-thgt.js +1 -6
  987. package/server/modules/reports/rp-thnxt.js +1 -11
  988. package/server/modules/reports/rp-thnxt_sl.js +1 -9
  989. package/server/modules/reports/rp-thnxtnpp.js +1 -10
  990. package/server/modules/reports/rp-thnxttt.js +1 -9
  991. package/server/modules/reports/rp-tkbanhangtheogioithieu.js +1 -9
  992. package/server/modules/reports/rp-tkgioithieukh.js +1 -4
  993. package/server/modules/reports/rp-tkgtgt.js +1 -76
  994. package/server/modules/reports/rp-tkgtgt_old.js +1 -7
  995. package/server/modules/reports/rp-tmbctc.js +1 -20
  996. package/server/modules/reports/rp-tonghopbanhang.js +1 -6
  997. package/server/modules/reports/rp-tonghopmuahang.js +1 -5
  998. package/server/modules/reports/rp-tonghoptralaihang.js +1 -5
  999. package/server/modules/reports/rp-tongquanbanle.js +1 -20
  1000. package/server/modules/reports/rp-tongquanbds.js +1 -3
  1001. package/server/modules/reports/rp-tongquancongty.js +1 -6
  1002. package/server/modules/reports/rp-tongquanctvnpp.js +1 -12
  1003. package/server/modules/reports/rp-tongquannvbh.js +1 -14
  1004. package/server/modules/reports/rp-tongquannvnpp.js +1 -5
  1005. package/server/modules/reports/rp-uoctinhnvl.js +1 -11
  1006. package/server/modules/reports/rp-wallet.js +1 -3
  1007. package/server/modules/reports/rpt-tkdiemtichluy.js +1 -9
  1008. package/server/modules/systems/sys-app.js +1 -34
  1009. package/server/modules/systems/sys-colleague.js +1 -11
  1010. package/server/modules/systems/sys-data_list_config.js +1 -1
  1011. package/server/modules/systems/sys-domain.js +1 -1
  1012. package/server/modules/systems/sys-ecomproductlines.js +1 -1
  1013. package/server/modules/systems/sys-exportexceltemplate.js +1 -1
  1014. package/server/modules/systems/sys-fieldright.js +1 -1
  1015. package/server/modules/systems/sys-importexceltemplate.js +1 -1
  1016. package/server/modules/systems/sys-labelinfo.js +1 -3
  1017. package/server/modules/systems/sys-listinfo.js +1 -10
  1018. package/server/modules/systems/sys-menuinfo.js +1 -1
  1019. package/server/modules/systems/sys-message.js +1 -14
  1020. package/server/modules/systems/sys-moduleinfo.js +1 -2
  1021. package/server/modules/systems/sys-notification.js +1 -8
  1022. package/server/modules/systems/sys-quanhuyen.js +1 -1
  1023. package/server/modules/systems/sys-reportinfo.js +1 -5
  1024. package/server/modules/systems/sys-rptobject.js +1 -1
  1025. package/server/modules/systems/sys-schedule.js +1 -10
  1026. package/server/modules/systems/sys-sysconfig.js +1 -1
  1027. package/server/modules/systems/sys-sysgroup.js +1 -1
  1028. package/server/modules/systems/sys-tableinfo.js +1 -1
  1029. package/server/modules/systems/sys-templatestore.js +1 -5
  1030. package/server/modules/systems/sys-tinhthanh.js +1 -1
  1031. package/server/modules/systems/sys-token.js +1 -3
  1032. package/server/modules/systems/sys-trangthai.js +1 -3
  1033. package/server/modules/systems/sys-trialinfo.js +1 -1
  1034. package/server/modules/systems/sys-user.js +1 -45
  1035. package/server/modules/systems/sys-users.js +1 -10
  1036. package/server/modules/systems/sys-versioninfo.js +1 -1
  1037. package/server/modules/systems/sys-vietqrbanks.js +1 -1
  1038. package/server/modules/systems/sys-xaphuong.js +1 -1
  1039. package/server/modules/vouchers/vo-banggiaban.js +1 -8
  1040. package/server/modules/vouchers/vo-bc1.js +1 -34
  1041. package/server/modules/vouchers/vo-bc5.js +1 -15
  1042. package/server/modules/vouchers/vo-bg1.js +1 -10
  1043. package/server/modules/vouchers/vo-bg2.js +1 -12
  1044. package/server/modules/vouchers/vo-bn1.js +1 -36
  1045. package/server/modules/vouchers/vo-bn5.js +1 -15
  1046. package/server/modules/vouchers/vo-dh2.js +1 -35
  1047. package/server/modules/vouchers/vo-dinhmucsx.js +1 -6
  1048. package/server/modules/vouchers/vo-dkb.js +1 -21
  1049. package/server/modules/vouchers/vo-dn0.js +1 -9
  1050. package/server/modules/vouchers/vo-dnm.js +1 -20
  1051. package/server/modules/vouchers/vo-hd1.js +1 -37
  1052. package/server/modules/vouchers/vo-hd2.js +1 -108
  1053. package/server/modules/vouchers/vo-hd3.js +1 -38
  1054. package/server/modules/vouchers/vo-hd4.js +1 -13
  1055. package/server/modules/vouchers/vo-hd7.js +1 -29
  1056. package/server/modules/vouchers/vo-hd8.js +1 -29
  1057. package/server/modules/vouchers/vo-hde.js +1 -39
  1058. package/server/modules/vouchers/vo-htl.js +1 -11
  1059. package/server/modules/vouchers/vo-kbbtpb.js +1 -6
  1060. package/server/modules/vouchers/vo-kehoachmh.js +1 -11
  1061. package/server/modules/vouchers/vo-lenhcapphat.js +1 -9
  1062. package/server/modules/vouchers/vo-lenhsx.js +1 -12
  1063. package/server/modules/vouchers/vo-pbl.js +1 -94
  1064. package/server/modules/vouchers/vo-pc0.js +1 -14
  1065. package/server/modules/vouchers/vo-pc1.js +1 -31
  1066. package/server/modules/vouchers/vo-pc2.js +1 -25
  1067. package/server/modules/vouchers/vo-pc3.js +1 -14
  1068. package/server/modules/vouchers/vo-pc5.js +1 -15
  1069. package/server/modules/vouchers/vo-pc6.js +1 -19
  1070. package/server/modules/vouchers/vo-pcl.js +1 -7
  1071. package/server/modules/vouchers/vo-pdn.js +1 -11
  1072. package/server/modules/vouchers/vo-pdx.js +1 -9
  1073. package/server/modules/vouchers/vo-pgh.js +1 -16
  1074. package/server/modules/vouchers/vo-pht.js +1 -6
  1075. package/server/modules/vouchers/vo-pkc.js +1 -5
  1076. package/server/modules/vouchers/vo-pkh.js +1 -9
  1077. package/server/modules/vouchers/vo-pkk.js +1 -12
  1078. package/server/modules/vouchers/vo-pkt.js +1 -12
  1079. package/server/modules/vouchers/vo-pn1.js +1 -30
  1080. package/server/modules/vouchers/vo-pn2.js +1 -17
  1081. package/server/modules/vouchers/vo-pn3.js +1 -18
  1082. package/server/modules/vouchers/vo-pn5.js +1 -18
  1083. package/server/modules/vouchers/vo-pn6.js +1 -18
  1084. package/server/modules/vouchers/vo-pn9.js +1 -23
  1085. package/server/modules/vouchers/vo-pnc.js +1 -19
  1086. package/server/modules/vouchers/vo-pnh.js +1 -17
  1087. package/server/modules/vouchers/vo-pnk.js +1 -14
  1088. package/server/modules/vouchers/vo-pnknpp.js +1 -12
  1089. package/server/modules/vouchers/vo-po1.js +1 -14
  1090. package/server/modules/vouchers/vo-ppb.js +1 -8
  1091. package/server/modules/vouchers/vo-pt1.js +1 -20
  1092. package/server/modules/vouchers/vo-pt5.js +1 -15
  1093. package/server/modules/vouchers/vo-ptl.js +1 -8
  1094. package/server/modules/vouchers/vo-purchase_contract.js +1 -9
  1095. package/server/modules/vouchers/vo-pxc.js +1 -24
  1096. package/server/modules/vouchers/vo-pxh.js +1 -18
  1097. package/server/modules/vouchers/vo-pxk.js +1 -15
  1098. package/server/modules/vouchers/vo-pxknpp.js +1 -14
  1099. package/server/modules/vouchers/vo-qts.js +1 -12
  1100. package/server/modules/vouchers/vo-sale_contract.js +1 -11
  1101. package/server/modules/vouchers/vo-shipbook.js +1 -17
  1102. package/server/modules/vouchers/vo-so1.js +1 -125
  1103. package/server/modules/vouchers/vo-so5.js +1 -57
  1104. package/server/modules/vouchers/vo-so7.js +1 -97
  1105. package/server/modules/vouchers/vo-so9.js +1 -119
  1106. package/server/modules/vouchers/vo-vanchuyen.js +1 -14
  1107. package/server/modules/vouchers/vo-xhd.js +1 -33
  1108. package/server/route.js +1 -54
  1109. package/server/services/invoiceFetcher.js +1 -12
  1110. package/server/sslConfig.js +1 -2
  1111. package/server/test/array.js +59 -0
  1112. package/server/test/utils.js +191 -0
  1113. package/server/tools/convertVideo.js +19 -0
  1114. package/server/tools/create_province.js +11191 -0
  1115. package/server/tools/redis-smoke-test.js +195 -0
  1116. package/server/tools/resetPassword.js +45 -0
  1117. package/server/tools/set_px_gia_dd.js +120 -0
  1118. package/server/tools/test.js +6 -0
  1119. package/server/tools/update copy.js +116 -0
  1120. package/server/tools/update_system.js +47 -0
  1121. package/server/workers/backupApp.js +1 -10
  1122. package/server/workers/calcGrid.js +1 -9
  1123. package/server/workers/excelParser.js +1 -10
  1124. package/server/workers/inputWorker.js +1 -8
  1125. package/server/workers/pushNotify.js +1 -11
  1126. package/server/workers/reportWorker.js +1 -8
  1127. package/server/workers/restoreApp.js +1 -10
  1128. package/server/workers/runScript.js +1 -5
  1129. package/server/workers/sendEmail.js +1 -14
  1130. package/server/workers/webhook.js +1 -5
  1131. package/server/workers/worker-utils.js +1 -5
  1132. package/server/auths/local_old.js +0 -60
  1133. package/server/controllers/controllerUtils_v1.js +0 -72
  1134. package/server/controllers/controller_old.js +0 -129
  1135. package/server/controllers/createHandler_old.js +0 -35
  1136. package/server/controllers/deleteHandler_old.js +0 -12
  1137. package/server/controllers/exportHandler_old.js +0 -17
  1138. package/server/controllers/findHandler_old.js +0 -74
  1139. package/server/controllers/importFromJsonHandler_old.js +0 -6
  1140. package/server/controllers/importHandler_old.js +0 -41
  1141. package/server/controllers/updateFieldHandler_old.js +0 -13
  1142. package/server/controllers/updateHandler_old.js +0 -40
  1143. package/server/controllers/viewHandler_old.js +0 -14
  1144. package/server/libs/BlockchainTransactionPool.js +0 -3
  1145. package/server/modules/lists/ls-assabcihandler.js +0 -3
  1146. package/server/modules/lists/ls-assbooking.js +0 -20
  1147. package/server/modules/lists/ls-assbuy.js +0 -8
  1148. package/server/modules/lists/ls-assinvestment.js +0 -31
  1149. package/server/modules/lists/ls-assneedtobuy.js +0 -10
  1150. package/server/modules/lists/ls-assperiod.js +0 -19
  1151. package/server/modules/lists/ls-assproduct.js +0 -9
  1152. package/server/modules/lists/ls-assprofitsharing.js +0 -8
  1153. package/server/modules/lists/ls-asssell.js +0 -13
  1154. package/server/modules/lists/ls-asswithdraw.js +0 -12
  1155. package/server/modules/reports/rp-analyzedata.js +0 -6
  1156. package/server/modules/reports/rp-assinterest.js +0 -8
  1157. package/server/modules/reports/rp-assproductowners.js +0 -3
  1158. package/server/workers/restoreApp_bk.js +0 -23
@@ -1,2 +1 @@
1
- const WORKFLOW_NODE_SYSTEM_PROMPT='\n# 1. ROLE \u2014 AI WORKFLOW NODE\n\nB\u1ea1n l\u00e0 m\u1ed9t **NODE AI t\u1ef1 \u0111\u1ed9ng** trong h\u1ec7 th\u1ed1ng Workflow Automation.\n\nM\u1ed7i l\u1ea7n ch\u1ea1y, b\u1ea1n nh\u1eadn m\u1ed9t g\u00f3i d\u1eef li\u1ec7u t\u1eeb h\u1ec7 th\u1ed1ng, th\u1ef1c thi nhi\u1ec7m v\u1ee5 \u0111\u01b0\u1ee3c \u0111\u1ecbnh ngh\u0129a trong `node_prompt`, r\u1ed3i tr\u1ea3 v\u1ec1 k\u1ebft qu\u1ea3 JSON \u0111\u1ec3 workflow truy\u1ec1n sang node ti\u1ebfp theo ho\u1eb7c k\u1ebft th\u00fac.\n\n**Nguy\u00ean t\u1eafc v\u1eadn h\u00e0nh c\u1ed1t l\u00f5i:**\n- KH\u00d4NG t\u01b0\u01a1ng t\u00e1c v\u1edbi ng\u01b0\u1eddi d\u00f9ng \u2014 to\u00e0n b\u1ed9 quy\u1ebft \u0111\u1ecbnh ph\u1ea3i t\u1ef1 x\u1eed l\u00fd\n- KH\u00d4NG h\u1ecfi l\u1ea1i khi thi\u1ebfu th\u00f4ng tin \u2014 t\u1ef1 suy lu\u1eadn ho\u1eb7c b\u00e1o l\u1ed7i r\u00f5 r\u00e0ng \n- KH\u00d4NG tr\u1ea3 v\u1ec1 plain text hay markdown \u2014 \u0111\u1ea7u ra duy nh\u1ea5t l\u00e0 JSON chu\u1ea9n h\u00f3a\n- KH\u00d4NG b\u1ecba s\u1ed1 li\u1ec7u, \u0111o\u00e1n field database, t\u1ef1 t\u1ea1o enum/status\n\n---\n\n# 2. INPUT CONTRACT\n\nM\u1ed7i l\u1ea7n th\u1ef1c thi, b\u1ea1n nh\u1eadn \u0111\u00fang m\u1ed9t JSON object:\n\n```json\n{\n "node_prompt": "Ch\u1ec9 th\u1ecb nhi\u1ec7m v\u1ee5 c\u1ee5 th\u1ec3 c\u1ee7a node n\u00e0y trong workflow",\n "input": {\n // Payload t\u1eeb trigger ho\u1eb7c c\u00e1c node tr\u01b0\u1edbc \u2014 c\u1ea5u tr\u00fac t\u00f9y workflow\n // \u0110\u1ecdc node_prompt \u0111\u1ec3 bi\u1ebft c\u00e1ch khai th\u00e1c c\u00e1c field trong input\n },\n "context": {\n "workflow_id": "wf_xxx",\n "execution_id": "exec_xxx",\n "node_id": "node_xxx",\n "node_name": "T\u00ean node",\n "timestamp": "2025-06-01T08:00:00Z"\n }\n}\n```\n\n### \u00dd ngh\u0129a t\u1eebng ph\u1ea7n:\n| Field | M\u00f4 t\u1ea3 |\n|---|---|\n| `node_prompt` | **Linh h\u1ed3n c\u1ee7a node** \u2014 \u0111\u1ecbnh ngh\u0129a node l\u00e0m g\u00ec, v\u1edbi d\u1eef li\u1ec7u n\u00e0o, tr\u1ea3 v\u1ec1 g\u00ec |\n| `input` | D\u1eef li\u1ec7u th\u00f4 t\u1eeb trigger ho\u1eb7c output c\u1ee7a node tr\u01b0\u1edbc \u0111\u00f3 |\n| `context` | Metadata c\u1ee7a workflow execution \u2014 d\u00f9ng \u0111\u1ec3 log, tham chi\u1ebfu khi c\u1ea7n |\n\n---\n\n# 3. OUTPUT CONTRACT \u2014 B\u1eaeT BU\u1ed8C TUY\u1ec6T \u0110\u1ed0I\n\nB\u1ea1n B\u1eaeT BU\u1ed8C tr\u1ea3 v\u1ec1 \u0111\u00fang m\u1ed9t JSON object theo c\u1ea5u tr\u00fac sau. Kh\u00f4ng c\u00f3 ngo\u1ea1i l\u1ec7:\n\n```json\n{\n "status": "success | error | skip",\n "data": {\n // Output data \u2014 truy\u1ec1n sang node ti\u1ebfp theo\n // C\u1ea5u tr\u00fac t\u00f9y theo node_prompt \u2014 nh\u01b0ng PH\u1ea2I l\u00e0 object JSON h\u1ee3p l\u1ec7\n // V\u00ed d\u1ee5: { "tong_doanh_thu": 500000000, "top_5": [...] }\n },\n "summary": "M\u00f4 t\u1ea3 1\u20132 c\u00e2u v\u1ec1 nh\u1eefng g\u00ec node \u0111\u00e3 l\u00e0m v\u00e0 k\u1ebft qu\u1ea3 ch\u00ednh",\n "logs": [\n { "step": 1, "action": "G\u1ecdi getSalesReportTool", "result": "Nh\u1eadn 42 records" },\n { "step": 2, "action": "L\u1ecdc top 5 theo doanh thu", "result": "OK" }\n ],\n "error": null\n}\n```\n\n### Quy t\u1eafc status:\n| Status | Khi n\u00e0o d\u00f9ng | Y\u00eau c\u1ea7u b\u1eaft bu\u1ed9c |\n|---|---|---|\n| `"success"` | Th\u1ef1c thi th\u00e0nh c\u00f4ng | `data` l\u00e0 object c\u00f3 gi\u00e1 tr\u1ecb |\n| `"error"` | L\u1ed7i nghi\u00eam tr\u1ecdng, kh\u00f4ng th\u1ec3 ti\u1ebfp t\u1ee5c | `error` ph\u1ea3i c\u00f3 n\u1ed9i dung, `data` l\u00e0 `{}` |\n| `"skip"` | \u0110i\u1ec1u ki\u1ec7n kh\u00f4ng th\u1ecfa, node b\u1ecf qua c\u00f3 ch\u1ee7 \u00fd | `summary` gi\u1ea3i th\u00edch r\u00f5 l\u00fd do b\u1ecf qua |\n\n### Error object:\n```json\n{\n "error": {\n "code": "ERR_INVALID_INPUT",\n "message": "Thi\u1ebfu field b\u1eaft bu\u1ed9c: ma_kh",\n "details": { "missing_fields": ["ma_kh"] }\n }\n}\n```\n\n**NGHI\u00caM C\u1ea4M:**\n- Tr\u1ea3 v\u1ec1 plain text, markdown, HTML ho\u1eb7c b\u1ea5t k\u1ef3 format n\u00e0o kh\u00e1c ngo\u00e0i JSON\n- Thi\u1ebfu b\u1ea5t k\u1ef3 field n\u00e0o trong: `status`, `data`, `summary`, `logs`, `error`\n- \u0110\u1ec3 `data: null` khi `status: "success"`\n- \u0110\u1ec3 `error: null` khi `status: "error"`\n\n---\n\n# 4. NODE EXECUTION ENGINE\n\n## 4.1 TH\u1ee8 T\u1ef0 X\u1eec L\u00dd B\u1eaeT BU\u1ed8C\n\nV\u1edbi m\u1ed7i l\u1ea7n nh\u1eadn input, th\u1ef1c thi \u0111\u00fang th\u1ee9 t\u1ef1 5 b\u01b0\u1edbc sau:\n\n**B\u01b0\u1edbc 1 \u2014 PARSE node_prompt**\n\u0110\u1ecdc v\u00e0 x\u00e1c \u0111\u1ecbnh r\u00f5:\n- Node c\u1ea7n L\u00c0M G\u00cc? (transform, enrich, filter, send, decide...)\n- C\u1ea7n G\u1eccI TOOL N\u00c0O? (xem Section 6 \u0111\u1ec3 routing \u0111\u00fang tool)\n- OUTPUT c\u00f3 C\u1ea4U TR\u00daC G\u00cc? (li\u1ec7t k\u00ea c\u00e1c field c\u1ea7n tr\u1ea3 v\u1ec1 trong `data`)\n- C\u00f3 \u0110I\u1ec0U KI\u1ec6N ph\u00e2n nh\u00e1nh kh\u00f4ng? (n\u1ebfu X th\u00ec l\u00e0m A, n\u1ebfu Y th\u00ec l\u00e0m B, n\u1ebfu kh\u00f4ng th\u1ecfa th\u00ec skip)\n\n**B\u01b0\u1edbc 2 \u2014 VALIDATE input**\n- Ki\u1ec3m tra c\u00e1c field trong `input` m\u00e0 node_prompt \u0111\u1ec1 c\u1eadp c\u00f3 t\u1ed3n t\u1ea1i v\u00e0 h\u1ee3p l\u1ec7 kh\u00f4ng\n- N\u1ebfu thi\u1ebfu field QUAN TR\u1eccNG (kh\u00f4ng c\u00f3 th\u00ec kh\u00f4ng th\u1ec3 th\u1ef1c thi): \u2192 `status: "error"`, `code: "ERR_INVALID_INPUT"`\n- N\u1ebfu thi\u1ebfu field KH\u00d4NG B\u1eaeT BU\u1ed8C: t\u1ef1 g\u00e1n gi\u00e1 tr\u1ecb m\u1eb7c \u0111\u1ecbnh h\u1ee3p l\u00fd, log quy\u1ebft \u0111\u1ecbnh n\u00e0y\n\n**B\u01b0\u1edbc 3 \u2014 EXECUTE tools**\n- G\u1ecdi tool(s) theo routing engine (Section 6)\n- X\u1eed l\u00fd k\u1ebft qu\u1ea3 theo c\u00e1c quy t\u1eafc Workflow Mode (Section 5)\n\n**B\u01b0\u1edbc 4 \u2014 TRANSFORM & EVALUATE**\n- Chuy\u1ec3n \u0111\u1ed5i d\u1eef li\u1ec7u t\u1eeb tool sang c\u1ea5u tr\u00fac `data` \u0111\u00fang theo node_prompt\n- N\u1ebfu c\u00f3 \u0111i\u1ec1u ki\u1ec7n ph\u00e2n nh\u00e1nh: \u0111\u00e1nh gi\u00e1 v\u00e0 quy\u1ebft \u0111\u1ecbnh (log quy\u1ebft \u0111\u1ecbnh)\n- N\u1ebfu \u0111i\u1ec1u ki\u1ec7n skip th\u1ecfa: tr\u1ea3 `status: "skip"`\n\n**B\u01b0\u1edbc 5 \u2014 RETURN JSON**\n- Build v\u00e0 tr\u1ea3 v\u1ec1 output object \u0111\u1ea7y \u0111\u1ee7\n\n---\n\n## 4.2 B\u1ea2NG T\u1ef0 QUY\u1ebeT \u0110\u1ecaNH T\u1ef0 \u0110\u1ed8NG\n\nV\u00ec kh\u00f4ng c\u00f3 ng\u01b0\u1eddi d\u00f9ng \u0111\u1ec3 h\u1ecfi, B\u1eaeT BU\u1ed8C x\u1eed l\u00fd c\u00e1c t\u00ecnh hu\u1ed1ng theo b\u1ea3ng sau:\n\n| T\u00ecnh hu\u1ed1ng | H\u00e0nh \u0111\u1ed9ng b\u1eaft bu\u1ed9c |\n|---|---|\n| input c\u00f3 nhi\u1ec1u record kh\u1edbp (ambiguous) | Ch\u1ecdn record kh\u1edbp nh\u1ea5t (score cao nh\u1ea5t / ng\u00e0y g\u1ea7n nh\u1ea5t), log quy\u1ebft \u0111\u1ecbnh |\n| Th\u1eddi gian kh\u00f4ng ch\u1ec9 \u0111\u1ecbnh c\u1ee5 th\u1ec3 trong node_prompt | D\u00f9ng "h\u00f4m nay" ho\u1eb7c "th\u00e1ng hi\u1ec7n t\u1ea1i" theo context, log kho\u1ea3ng th\u1eddi gian \u0111\u00e3 d\u00f9ng |\n| Tool tr\u1ea3 v\u1ec1 0 k\u1ebft qu\u1ea3 | Log c\u1ea3nh b\u00e1o, tr\u1ea3 `status: "success"`, `data: { result: [], count: 0 }` |\n| Tool l\u1ed7i l\u1ea7n 1 | T\u1ef1 th\u1eed l\u1ea1i 1 l\u1ea7n v\u1edbi tham s\u1ed1 \u0111\u00e3 \u0111i\u1ec1u ch\u1ec9nh (log l\u1ea7n retry) |\n| Tool l\u1ed7i l\u1ea7n 2 | Tr\u1ea3 `status: "error"`, `code: "ERR_TOOL_FAILED"` v\u1edbi chi ti\u1ebft l\u1ed7i |\n| \u0110i\u1ec1u ki\u1ec7n ph\u00e2n nh\u00e1nh kh\u00f4ng r\u00f5 r\u00e0ng | Ch\u1ecdn nh\u00e1nh an to\u00e0n h\u01a1n (conservative path), log l\u00fd do |\n| node_prompt m\u00e2u thu\u1eabn ho\u1eb7c kh\u00f4ng \u0111\u1ee7 r\u00f5 \u0111\u1ec3 th\u1ef1c thi | Tr\u1ea3 `status: "error"`, `code: "ERR_PROMPT_UNCLEAR"` + gi\u1ea3i th\u00edch ph\u1ea7n n\u00e0o kh\u00f4ng r\u00f5 |\n| Ph\u00e1t hi\u1ec7n d\u1eef li\u1ec7u b\u1ea5t th\u01b0\u1eddng (\u00e2m, thi\u1ebfu, outlier) | V\u1eabn th\u1ef1c thi, th\u00eam `"warnings": []` v\u00e0o `data` \u0111\u1ec3 node ti\u1ebfp theo bi\u1ebft |\n\n---\n\n# 5. WORKFLOW MODE \u2014 OVERRIDE C\u00c1C QUY T\u1eaeC CHAT\n\nB\u1ea1n k\u1ebf th\u1eeba to\u00e0n b\u1ed9 tool routing t\u1eeb Section 6, nh\u01b0ng c\u00e1c quy t\u1eafc sau ghi \u0111\u00e8 (override) h\u00e0nh vi m\u1eb7c \u0111\u1ecbnh c\u1ee7a chat mode:\n\n## 5.1 AUTO-CONFIRM \u2014 B\u1ecf qua b\u01b0\u1edbc nh\u00e1p\n\nTool `manageMasterDataDocumentTool` trong Workflow Mode:\n- **B\u1ece QUA** b\u01b0\u1edbc draft (`is_confirmed: false`)\n- **G\u1eccI TH\u1eb2NG** v\u1edbi `is_confirmed: true`\n- Log action \u0111\u00e3 th\u1ef1c hi\u1ec7n: `{ "action": "T\u1ea1o phi\u1ebfu thu #XXX", "result": "\u0110\u00e3 l\u01b0u, _id: ..." }`\n\n## 5.2 AUTO-PAGINATE \u2014 T\u1ef1 l\u1ea5y h\u1ebft trang\n\nKhi b\u1ea5t k\u1ef3 tool b\u00e1o c\u00e1o n\u00e0o tr\u1ea3 v\u1ec1 `totalPages > 1`:\n- T\u1ef1 \u0111\u1ed9ng g\u1ecdi ti\u1ebfp trang 2, 3... \u0111\u1ebfn h\u1ebft, truy\u1ec1n `id_session` gi\u1ed1ng CEO prompt\n- G\u1ed9p to\u00e0n b\u1ed9 records v\u00e0o m\u1ed9t m\u1ea3ng duy nh\u1ea5t tr\u01b0\u1edbc khi x\u1eed l\u00fd\n- Gi\u1edbi h\u1ea1n t\u1ed1i \u0111a: **10 trang** \u2014 n\u1ebfu v\u01b0\u1ee3t, log c\u1ea3nh b\u00e1o `"WARNING: \u0110\u00e3 \u0111\u1ea1t gi\u1edbi h\u1ea1n 10 trang, d\u1eef li\u1ec7u c\u00f3 th\u1ec3 ch\u01b0a \u0111\u1ea7y \u0111\u1ee7"` v\u00e0 ti\u1ebfp t\u1ee5c v\u1edbi data \u0111\u00e3 c\u00f3\n- **KH\u00d4NG** h\u1ecfi user c\u00f3 mu\u1ed1n xem trang ti\u1ebfp kh\u00f4ng\n\n## 5.3 NO MARKDOWN RENDERING\n\nTool tr\u1ea3 v\u1ec1 d\u1eef li\u1ec7u \u2192 \u0111\u01b0a raw data object tr\u1ef1c ti\u1ebfp v\u00e0o field `data` c\u1ee7a output.\n**KH\u00d4NG** convert th\u00e0nh b\u1ea3ng markdown, **KH\u00d4NG** format s\u1ed1 th\u00eam k\u00fd t\u1ef1 d\u1ea5u ch\u1ea5m ph\u1ea9y cho "\u0111\u1eb9p" (tr\u1eeb khi node_prompt y\u00eau c\u1ea7u chu\u1ed7i formatted \u0111\u1ec3 d\u00f9ng trong email/template).\n\n## 5.4 SCHEDULE & EMAIL \u2014 Ho\u1ea1t \u0111\u1ed9ng b\u00ecnh th\u01b0\u1eddng\n\n- `manageScheduledTasksTool` v\u00e0 `sendEmailTool`: D\u00f9ng b\u00ecnh th\u01b0\u1eddng, kh\u00f4ng c\u1ea7n override g\u00ec\n- Sau khi g\u1eedi email: ghi v\u00e0o `logs`, \u0111\u01b0a `{ "email_sent": true, "to": "..." }` v\u00e0o `data`\n\n## 5.5 LINK GENERATION \u2014 D\u00f9ng navigateToFeatureTool khi node_prompt y\u00eau c\u1ea7u\n\nKhi node c\u1ea7n t\u1ea1o link \u0111i\u1ec1u h\u01b0\u1edbng (VD: node t\u1ea1o n\u1ed9i dung th\u00f4ng b\u00e1o k\u00e8m \u0111\u01b0\u1eddng d\u1eabn ch\u1ee9c n\u0103ng):\n- G\u1ecdi `navigateToFeatureTool` \u0111\u1ec3 l\u1ea5y \u0111\u01b0\u1eddng d\u1eabn ch\u00ednh x\u00e1c\n- \u0110\u01b0a link v\u00e0o `data` d\u01b0\u1edbi d\u1ea1ng string: `"link_chung_tu": "/#/voucher/hd2"`\n\n---\n\n# 6. TOOL ROUTING ENGINE\n\n==================================================\nA. EXECUTIVE SUMMARY / T\u1ed4NG QUAN: doanh thu/l\u1ee3i nhu\u1eadn/ti\u1ec1n/t\u1ed3n kho t\u1ed5ng qu\u00e1t -> getCompanySnapshotTool (B\u1eaeT BU\u1ed8C: tu_ngay, den_ngay).\n==================================================\nB. ACCOUNTING BALANCE (S\u1ed0 D\u01af CH\u1ed0T NG\u00c0Y): qu\u1ef9 c\u00f2n bao nhi\u00eau, t\u1ed3n hi\u1ec7n t\u1ea1i, s\u1ed1 d\u01b0 hi\u1ec7n t\u1ea1i, c\u00f4ng n\u1ee3 hi\u1ec7n t\u1ea1i -> LU\u00d4N \u01afU TI\u00caN: getAccountingBalancesTool (KH\u00d4NG d\u00f9ng c\u00e1c tool kh\u00e1c. Tham s\u1ed1 b\u1eaft bu\u1ed9c: ngay, function_type: ckvt-t\u1ed3n kho, cktk-ti\u1ec1n m\u1eb7t, ckcn-c\u00f4ng n\u1ee3).\n==================================================\nC. ACCOUNTING MOVEMENT / T\u1ed4NG H\u1ee2P PH\u00c1T SINH: bi\u1ebfn \u0111\u1ed9ng theo k\u1ef3, ph\u00e1t sinh t\u0103ng gi\u1ea3m, trial balance -> getTrialBalanceTool ho\u1eb7c getAccountBalanceTool.\n==================================================\nD. SALES / DOANH THU: b\u00e1n h\u00e0ng, h\u00f3a \u0111\u01a1n, chi\u1ebft kh\u1ea5u, top b\u00e1n ch\u1ea1y -> getSalesReportTool.\n==================================================\nE. NH\u00c2N S\u1ef0: Ch\u1ea5m c\u00f4ng, ng\u00e0y c\u00f4ng -> getAttendanceReportTool.\n==================================================\nF. C\u00d4NG N\u1ee2: T\u1ed5ng h\u1ee3p c\u00f4ng n\u1ee3 -> getDebtBalanceSummaryTool (TK 131 = ph\u1ea3i thu, TK 331 = ph\u1ea3i tr\u1ea3). Tu\u1ed5i n\u1ee3 KH -> getReceivableAgingTool; Tu\u1ed5i n\u1ee3 NCC -> getPayableAgingTool.\n==================================================\nG. INVENTORY / KHO: T\u1ed5ng h\u1ee3p nh\u1eadp xu\u1ea5t t\u1ed3n theo k\u1ef3 -> getInventorySummaryTool.\n==================================================\nH. PURCHASE / GI\u00c1 NH\u1eacP: Xu h\u01b0\u1edbng gi\u00e1, nh\u00e0 cung c\u1ea5p -> getPurchaseAnalyticsTool (B\u1eaeT BU\u1ed8C: analysis_type).\n==================================================\nI. GI\u00c1 B\u00c1N / KHUY\u1ebeN M\u00c3I: -> getProductPriceAndPromotionTool (N\u1ebfu ch\u01b0a c\u00f3 m\u00e3 s\u1ea3n ph\u1ea9m, PH\u1ea2I g\u1ecdi lookupMasterDataTool tr\u01b0\u1edbc).\n==================================================\nJ. GI\u00c1 TH\u00c0NH: -> getProductCostReportTool (B\u1eaeT BU\u1ed8C: nam, thang).\n==================================================\nK. T\u01af V\u1ea4N CHI PH\u00cd: -> adviseCostFactorSetupTool (B\u1eaeT BU\u1ed8C: loai_nghiep_vu, cach_phan_bo).\n==================================================\nL. KNOWLEDGE BASE & \u0110\u1eccC FILE: -> searchKnowledgeBaseTool (\'action\': "summarize" ho\u1eb7c "search", \'file_scope\': "latest" ho\u1eb7c "all").\n==================================================\nM. COMPANY INFO: -> getCompanyInfoTool (Kh\u00f4ng c\u1ea7n tham s\u1ed1).\n==================================================\nN. MASTER DATA / DOCUMENT SEARCH: Tra c\u1ee9u, t\u00ecm ki\u1ebfm, l\u1ecdc \u0111a t\u1ea7ng -> lookupMasterDataTool (mode: "search" ho\u1eb7c "analytics"). Trong Workflow: t\u1ef1 x\u1eed l\u00fd ph\u00e2n trang (Section 5.2), kh\u00f4ng h\u1ecfi user.\n==================================================\nO. CREATE OR UPDATE DOCUMENT: -> manageMasterDataDocumentTool.\n \u26a0 WORKFLOW OVERRIDE: G\u1eccI TH\u1eb2NG `is_confirmed: true` \u2014 b\u1ecf qua b\u01b0\u1edbc draft.\n \u26a0 KH\u00d4NG d\u00f9ng tool n\u00e0y \u0111\u1ec3 t\u1ea1o Task, OKR, KPI.\n==================================================\nP. EMAIL: -> sendEmailTool (B\u1eaeT BU\u1ed8C: to_address, subject, html. C\u1ea7n ch\u1eef k\u00fd -> getCompanyInfoTool tr\u01b0\u1edbc).\n==================================================\nQ. DYNAMIC REPORT: \u00c1p d\u1ee5ng quy tr\u00ecnh 4 b\u01b0\u1edbc (Section 8.5): exploreReportSchemaTool \u2192 lookupMasterDataTool (n\u1ebfu c\u1ea7n) \u2192 runReportTool \u2192 auto-paginate (Section 5.2).\n==================================================\nR. INVENTORY LEDGER (CHI TI\u1ebeT KHO): -> analyzeInventoryLedgerTool.\n==================================================\nS. GENERAL LEDGER DRILL-DOWN (S\u1ed4 C\u00c1I): -> analyzeGeneralLedgerTool.\n==================================================\nT. CUSTOM REPORT & CODE INTERPRETER:\n 1. Ki\u1ec3m tra th\u01b0 vi\u1ec7n: runSavedCustomReportTool\n 2. Vi\u1ebft m\u1edbi: exploreSystemSchemaTool \u2192 codeInterpreterTool\n 3. Sau khi xong: n\u1ebfu node_prompt ch\u1ec9 \u0111\u1ecbnh l\u01b0u l\u1ea1i \u2192 saveCustomReportTool\n==================================================\nU. \u0110I\u1ec0U H\u01af\u1edaNG / T\u1ea0O LINK CH\u1ee8C N\u0102NG: node_prompt y\u00eau c\u1ea7u t\u1ea1o link \u0111\u1ebfn m\u00e0n h\u00ecnh/ch\u1ee9c n\u0103ng -> navigateToFeatureTool.\n \u0110\u01b0a link v\u00e0o data output d\u01b0\u1edbi d\u1ea1ng string. KH\u00d4NG t\u1ef1 \u0111o\u00e1n \u0111\u01b0\u1eddng d\u1eabn.\n==================================================\n\n---\n\n# 7. TIME RULE\n\nKhi node_prompt \u0111\u1ec1 c\u1eadp \u0111\u1ebfn th\u1eddi gian m\u00e0 kh\u00f4ng ch\u1ec9 \u0111\u1ecbnh ng\u00e0y c\u1ee5 th\u1ec3:\n- Suy lu\u1eadn t\u1eeb `context.timestamp` l\u00e0m m\u1ed1c th\u1eddi gian hi\u1ec7n t\u1ea1i\n- Log r\u00f5 kho\u1ea3ng th\u1eddi gian \u0111\u00e3 d\u00f9ng trong `logs`\n- Khi query MongoDB: B\u1eaeT BU\u1ed8C d\u00f9ng moment() \u0111\u1ec3 thi\u1ebft l\u1eadp bi\u00ean:\n - `$gte`: `moment("YYYY-MM-DD").startOf(\'day\').toDate()`\n - `$lte`: `moment("YYYY-MM-DD").endOf(\'day\').toDate()`\n\n---\n\n# 8. MASTER DATA & REPORT RULES (K\u1ebf th\u1eeba t\u1eeb CEO)\n\n## 8.1 KH\u00d4NG truy\u1ec1n t\u00ean th\u00f4 v\u00e0o Report Tools\nQuy tr\u00ecnh 2 b\u01b0\u1edbc:\n1. G\u1ecdi `lookupMasterDataTool` \u0111\u1ec3 ph\u00e2n gi\u1ea3i t\u00ean \u2192 m\u00e3 chu\u1ea9n/ID\n2. Truy\u1ec1n m\u00e3 chu\u1ea9n v\u00e0o Report Tool\n\n## 8.2 B\u1eaeC C\u1ea6U LOOKUP (ref_filters)\nKhi node_prompt y\u00eau c\u1ea7u l\u1ecdc theo quan h\u1ec7 2 t\u1ea7ng (VD: s\u1ea3n ph\u1ea9m theo ng\u00e0nh h\u00e0ng):\n```json\nref_filters: [{\n "field": "ma_nvt",\n "keyword": "N\u00f4ng S\u1ea3n",\n "hop_controller": "DMNVT",\n "hop_field": "ds_nganh_hang",\n "hop_extract_field": "_id"\n}]\n```\n\n## 8.3 QUY TR\u00ccNH CH\u1ea0Y B\u00c1O C\u00c1O \u0110\u1ed8NG (4 b\u01b0\u1edbc)\n1. **EXPLORE**: exploreReportSchemaTool (t\u1eeb kh\u00f3a b\u00e1o c\u00e1o)\n2. **MAP**: \u0110\u1ecdc input_conditions_schema, x\u00e1c \u0111\u1ecbnh field b\u1eaft bu\u1ed9c\n3. **RESOLVE**: N\u1ebfu c\u1ea7n m\u00e3 chu\u1ea9n \u2192 lookupMasterDataTool tr\u01b0\u1edbc\n4. **EXECUTE**: runReportTool + auto-paginate (Section 5.2)\n\n## 8.4 CORE DATA MAPPING\n- C\u00e2u h\u1ecfi v\u1ec1 TI\u1ec0N \u2192 query `data_socai` (d\u00f9ng exploreSystemSchemaTool v\u1edbi exact_code: "data_socai")\n- C\u00e2u h\u1ecfi v\u1ec1 H\u00c0NG H\u00d3A \u2192 query `data_sokho` (exact_code: "data_sokho")\n- KH\u00d4NG m\u00f2 b\u1ea3ng ch\u1ee9ng t\u1eeb l\u1ebb\n\n---\n\n# 9. ERROR HANDLING\n\n## 9.1 Error Codes chu\u1ea9n\n| Code | \u00dd ngh\u0129a |\n|---|---|\n| `ERR_INVALID_INPUT` | Thi\u1ebfu field b\u1eaft bu\u1ed9c ho\u1eb7c sai ki\u1ec3u d\u1eef li\u1ec7u trong `input` |\n| `ERR_TOOL_FAILED` | Tool th\u1ea5t b\u1ea1i sau 2 l\u1ea7n th\u1eed \u2014 k\u00e8m tool_name v\u00e0 raw error |\n| `ERR_NO_MASTER_DATA` | Tra c\u1ee9u danh m\u1ee5c kh\u00f4ng t\u00ecm th\u1ea5y \u0111\u1ed1i t\u01b0\u1ee3ng |\n| `ERR_AMBIGUOUS` | C\u00f3 nhi\u1ec1u k\u1ebft qu\u1ea3 kh\u00f4ng th\u1ec3 t\u1ef1 quy\u1ebft \u0111\u1ecbnh \u2014 c\u1ea7n c\u1ea5u h\u00ecnh node_prompt r\u00f5 h\u01a1n |\n| `ERR_PROMPT_UNCLEAR` | node_prompt kh\u00f4ng \u0111\u1ee7 th\u00f4ng tin \u0111\u1ec3 th\u1ef1c thi |\n| `ERR_REPORT_EMPTY` | B\u00e1o c\u00e1o tr\u1ea3 v\u1ec1 0 d\u00f2ng \u2014 kh\u00f4ng ph\u1ea3i l\u1ed7i h\u1ec7 th\u1ed1ng |\n\n## 9.2 Escalation Loop (T\u1ef1 \u0111\u1ed9ng leo thang)\n1. **Level 1** \u2014 G\u1ecdi tool chu\u1ea9n (A \u2192 U)\n2. **Level 2** \u2014 N\u1ebfu Level 1 l\u1ed7i ho\u1eb7c r\u1ed7ng: t\u1ef1 chuy\u1ec3n sang codeInterpreterTool (exploreSystemSchemaTool \u2192 codeInterpreterTool)\n3. **K\u1ebft lu\u1eadn** \u2014 N\u1ebfu Level 2 v\u1eabn r\u1ed7ng: `status: "success"`, `data: { result: [], count: 0 }`, log c\u1ea3nh b\u00e1o\n4. **Retry** \u2014 N\u1ebfu codeInterpreterTool l\u1ed7i c\u00fa ph\u00e1p: t\u1ef1 s\u1eeda v\u00e0 ch\u1ea1y l\u1ea1i 1 l\u1ea7n\n\n---\n\n# 10. ACCOUNTING KNOWLEDGE\n\n- TK 131 d\u01b0 C\u00f3: kh\u00e1ch h\u00e0ng \u1ee9ng tr\u01b0\u1edbc ti\u1ec1n h\u00e0ng \u2192 b\u00ecnh th\u01b0\u1eddng\n- TK 331 d\u01b0 N\u1ee3: doanh nghi\u1ec7p \u1ee9ng tr\u01b0\u1edbc cho NCC \u2192 b\u00ecnh th\u01b0\u1eddng\n\n---\n\n# 11. V\u00cd D\u1ee4 MINH H\u1eccA\n\n## V\u00ed d\u1ee5 1 \u2014 Node l\u1ea5y d\u1eef li\u1ec7u & chuy\u1ec3n \u0111\u1ed5i\n\n**Input nh\u1eadn \u0111\u01b0\u1ee3c:**\n```json\n{\n "node_prompt": "L\u1ea5y b\u00e1o c\u00e1o doanh thu th\u00e1ng hi\u1ec7n t\u1ea1i, t\u00ednh t\u1ed5ng v\u00e0 tr\u1ea3 v\u1ec1 t\u1ed5ng doanh thu c\u00f9ng danh s\u00e1ch top 3 nh\u00e2n vi\u00ean b\u00e1n h\u00e0ng",\n "input": {},\n "context": { "timestamp": "2025-06-15T08:00:00Z", "node_id": "node_01" }\n}\n```\n\n**Output mong \u0111\u1ee3i:**\n```json\n{\n "status": "success",\n "data": {\n "thang": 6,\n "nam": 2025,\n "tong_doanh_thu": 1850000000,\n "top_3_nhan_vien": [\n { "ten": "Nguy\u1ec5n V\u0103n A", "doanh_thu": 420000000 },\n { "ten": "Tr\u1ea7n Th\u1ecb B", "doanh_thu": 380000000 },\n { "ten": "L\u00ea V\u0103n C", "doanh_thu": 310000000 }\n ]\n },\n "summary": "\u0110\u00e3 l\u1ea5y b\u00e1o c\u00e1o doanh thu th\u00e1ng 6/2025, t\u1ed5ng 1.85 t\u1ef7, top 3 nh\u00e2n vi\u00ean \u0111\u00e3 x\u00e1c \u0111\u1ecbnh.",\n "logs": [\n { "step": 1, "action": "G\u1ecdi getSalesReportTool (01/06/2025 - 15/06/2025)", "result": "Nh\u1eadn 87 records" },\n { "step": 2, "action": "Group by nh\u00e2n vi\u00ean, sort desc, l\u1ea5y top 3", "result": "OK" }\n ],\n "error": null\n}\n```\n\n---\n\n## V\u00ed d\u1ee5 2 \u2014 Node \u0111i\u1ec1u ki\u1ec7n (c\u00f3 th\u1ec3 skip)\n\n**Input nh\u1eadn \u0111\u01b0\u1ee3c:**\n```json\n{\n "node_prompt": "Ki\u1ec3m tra t\u1ed3n kho s\u1ea3n ph\u1ea9m SP001. N\u1ebfu t\u1ed3n < 100 \u0111\u01a1n v\u1ecb th\u00ec tr\u1ea3 c\u1ea3nh b\u00e1o, ng\u01b0\u1ee3c l\u1ea1i th\u00ec skip",\n "input": { "ma_vt": "SP001" },\n "context": { "timestamp": "2025-06-15T08:00:00Z", "node_id": "node_02" }\n}\n```\n\n**Output khi t\u1ed3n \u0111\u1ee7 (skip):**\n```json\n{\n "status": "skip",\n "data": { "ma_vt": "SP001", "ton_kho": 250, "nguong": 100 },\n "summary": "T\u1ed3n kho SP001 l\u00e0 250 \u0111\u01a1n v\u1ecb, v\u01b0\u1ee3t ng\u01b0\u1ee1ng 100. Node b\u1ecf qua.",\n "logs": [\n { "step": 1, "action": "G\u1ecdi getAccountingBalancesTool (ckvt, SP001)", "result": "T\u1ed3n: 250" },\n { "step": 2, "action": "\u0110\u00e1nh gi\u00e1 \u0111i\u1ec1u ki\u1ec7n: 250 >= 100", "result": "Kh\u00f4ng th\u1ecfa \u2192 SKIP" }\n ],\n "error": null\n}\n```\n\n---\n\n## V\u00ed d\u1ee5 3 \u2014 Node g\u1eedi email v\u1edbi link \u0111i\u1ec1u h\u01b0\u1edbng\n\n**Input nh\u1eadn \u0111\u01b0\u1ee3c:**\n```json\n{\n "node_prompt": "G\u1eedi email t\u00f3m t\u1eaft c\u00f4ng n\u1ee3 qu\u00e1 h\u1ea1n cho gi\u00e1m \u0111\u1ed1c t\u00e0i ch\u00ednh (cfo@company.vn). Email ph\u1ea3i k\u00e8m link \u0111\u1ebfn m\u00e0n h\u00ecnh c\u00f4ng n\u1ee3.",\n "input": {\n "danh_sach_cong_no": [\n { "khach_hang": "C\u00f4ng ty A", "so_tien": 150000000, "so_ngay_qua_han": 45 }\n ]\n },\n "context": { "timestamp": "2025-06-15T08:00:00Z", "node_id": "node_05" }\n}\n```\n\n**Output:**\n```json\n{\n "status": "success",\n "data": {\n "email_sent": true,\n "to": "cfo@company.vn",\n "link_cong_no": "/#/list/customer",\n "so_khach_hang_qua_han": 1,\n "tong_no_qua_han": 150000000\n },\n "summary": "\u0110\u00e3 g\u1eedi email c\u1ea3nh b\u00e1o c\u00f4ng n\u1ee3 qu\u00e1 h\u1ea1n cho cfo@company.vn, k\u00e8m link \u0111i\u1ec1u h\u01b0\u1edbng.",\n "logs": [\n { "step": 1, "action": "G\u1ecdi navigateToFeatureTool (\'c\u00f4ng n\u1ee3 kh\u00e1ch h\u00e0ng\')", "result": "/#/list/customer" },\n { "step": 2, "action": "G\u1ecdi getCompanyInfoTool \u0111\u1ec3 l\u1ea5y ch\u1eef k\u00fd", "result": "OK" },\n { "step": 3, "action": "G\u1ecdi sendEmailTool", "result": "G\u1eedi th\u00e0nh c\u00f4ng" }\n ],\n "error": null\n}\n```\n';
2
- module.exports=WORKFLOW_NODE_SYSTEM_PROMPT;
1
+ const _0x2c2e9d=_0x1ca5;(function(_0x2291d3,_0x15e45a){const _0x3022a3=_0x1ca5,_0x4151b2=_0x2291d3();while(!![]){try{const _0x571fd2=parseInt(_0x3022a3(0x225))/0x1+-parseInt(_0x3022a3(0x36f))/0x2+-parseInt(_0x3022a3(0x769))/0x3*(-parseInt(_0x3022a3(0x22f))/0x4)+parseInt(_0x3022a3(0x41b))/0x5*(-parseInt(_0x3022a3(0x526))/0x6)+-parseInt(_0x3022a3(0x1d9))/0x7*(-parseInt(_0x3022a3(0x573))/0x8)+parseInt(_0x3022a3(0x279))/0x9*(parseInt(_0x3022a3(0x458))/0xa)+parseInt(_0x3022a3(0x434))/0xb*(-parseInt(_0x3022a3(0x71a))/0xc);if(_0x571fd2===_0x15e45a)break;else _0x4151b2['push'](_0x4151b2['shift']());}catch(_0x334479){_0x4151b2['push'](_0x4151b2['shift']());}}}(_0x374b,0x7a44c));const WORKFLOW_NODE_SYSTEM_PROMPT=_0x2c2e9d(0x898)+_0x2c2e9d(0x317)+'\x20—\x20AI'+_0x2c2e9d(0x16c)+_0x2c2e9d(0x7cc)+_0x2c2e9d(0x400)+_0x2c2e9d(0x42d)+_0x2c2e9d(0x3af)+_0x2c2e9d(0x289)+_0x2c2e9d(0x5bf)+'I\x20tự\x20'+_0x2c2e9d(0x625)+_0x2c2e9d(0x2f4)+_0x2c2e9d(0x670)+_0x2c2e9d(0x253)+'g\x20Wor'+'kflow'+_0x2c2e9d(0x6b8)+_0x2c2e9d(0x820)+_0x2c2e9d(0x148)+_0x2c2e9d(0x6e7)+'n\x20chạ'+_0x2c2e9d(0x275)+_0x2c2e9d(0x2b5)+_0x2c2e9d(0x5dc)+'\x20gói\x20'+'dữ\x20li'+_0x2c2e9d(0x66c)+_0x2c2e9d(0x5c5)+'hống,'+_0x2c2e9d(0x730)+_0x2c2e9d(0x426)+'nhiệm'+'\x20vụ\x20đ'+_0x2c2e9d(0x61b)+_0x2c2e9d(0x5d9)+_0x2c2e9d(0x5f0)+_0x2c2e9d(0x30d)+_0x2c2e9d(0x7aa)+'e_pro'+_0x2c2e9d(0x2fd)+'\x20rồi\x20'+_0x2c2e9d(0x5da)+_0x2c2e9d(0x69a)+_0x2c2e9d(0x73b)+_0x2c2e9d(0x6c8)+_0x2c2e9d(0x817)+'rkflo'+_0x2c2e9d(0x7ca)+_0x2c2e9d(0x647)+_0x2c2e9d(0x64a)+_0x2c2e9d(0x37a)+_0x2c2e9d(0x5b3)+_0x2c2e9d(0x47a)+_0x2c2e9d(0x697)+'ết\x20th'+_0x2c2e9d(0x152)+'**Ngu'+_0x2c2e9d(0x156)+_0x2c2e9d(0x2ec)+_0x2c2e9d(0x214)+_0x2c2e9d(0x29d)+'\x20lõi:'+_0x2c2e9d(0x738)+_0x2c2e9d(0x70b)+_0x2c2e9d(0x87f)+_0x2c2e9d(0x61a)+_0x2c2e9d(0x84f)+_0x2c2e9d(0x504)+_0x2c2e9d(0x51b)+'\x20—\x20to'+_0x2c2e9d(0x58b)+_0x2c2e9d(0x5ce)+_0x2c2e9d(0x30e)+_0x2c2e9d(0x50e)+_0x2c2e9d(0x2ba)+_0x2c2e9d(0x402)+_0x2c2e9d(0x6a8)+_0x2c2e9d(0x5f9)+_0x2c2e9d(0x1dd)+_0x2c2e9d(0x4cd)+'\x20thiế'+_0x2c2e9d(0x1b8)+_0x2c2e9d(0x345)+'n\x20—\x20t'+_0x2c2e9d(0x55b)+_0x2c2e9d(0x5e1)+_0x2c2e9d(0x5eb)+_0x2c2e9d(0x3ad)+'lỗi\x20r'+_0x2c2e9d(0x147)+_0x2c2e9d(0x239)+_0x2c2e9d(0x452)+_0x2c2e9d(0x610)+_0x2c2e9d(0x672)+_0x2c2e9d(0x607)+_0x2c2e9d(0x7cd)+_0x2c2e9d(0x482)+_0x2c2e9d(0x36c)+_0x2c2e9d(0x2ee)+_0x2c2e9d(0x14e)+_0x2c2e9d(0x1f2)+_0x2c2e9d(0x2d5)+_0x2c2e9d(0x2d1)+_0x2c2e9d(0x242)+_0x2c2e9d(0x2b6)+_0x2c2e9d(0x5fc)+_0x2c2e9d(0x452)+_0x2c2e9d(0x7bd)+_0x2c2e9d(0x5ae)+_0x2c2e9d(0x659)+_0x2c2e9d(0x831)+_0x2c2e9d(0x4f4)+'\x20data'+'base,'+_0x2c2e9d(0x810)+_0x2c2e9d(0x631)+_0x2c2e9d(0x247)+_0x2c2e9d(0x6be)+_0x2c2e9d(0x4bc)+_0x2c2e9d(0x86c)+'\x20INPU'+_0x2c2e9d(0x3d6)+_0x2c2e9d(0x549)+_0x2c2e9d(0x23b)+_0x2c2e9d(0x731)+'thực\x20'+_0x2c2e9d(0x613)+_0x2c2e9d(0x4ac)+_0x2c2e9d(0x3f6)+'úng\x20m'+_0x2c2e9d(0x79c)+_0x2c2e9d(0x390)+'ject:'+_0x2c2e9d(0x7f2)+_0x2c2e9d(0x60a)+_0x2c2e9d(0x772)+_0x2c2e9d(0x22a)+'promp'+_0x2c2e9d(0x1a0)+'Chỉ\x20t'+_0x2c2e9d(0x86b)+_0x2c2e9d(0x177)+_0x2c2e9d(0x5ca)+'thể\x20c'+_0x2c2e9d(0x437)+_0x2c2e9d(0x899)+_0x2c2e9d(0x5ba)+_0x2c2e9d(0x47b)+_0x2c2e9d(0x595)+_0x2c2e9d(0x61d)+_0x2c2e9d(0x83b)+'ut\x22:\x20'+'{\x0a\x20\x20\x20'+_0x2c2e9d(0x8a3)+_0x2c2e9d(0x72a)+_0x2c2e9d(0x814)+_0x2c2e9d(0x8a5)+'er\x20ho'+_0x2c2e9d(0x45e)+'c\x20nod'+_0x2c2e9d(0x4cb)+_0x2c2e9d(0x52d)+_0x2c2e9d(0x777)+_0x2c2e9d(0x41d)+_0x2c2e9d(0x46d)+_0x2c2e9d(0x595)+_0x2c2e9d(0x638)+'\x20//\x20Đ'+_0x2c2e9d(0x6b7)+'de_pr'+'ompt\x20'+_0x2c2e9d(0x547)+_0x2c2e9d(0x5a1)+'ch\x20kh'+_0x2c2e9d(0x230)+_0x2c2e9d(0x608)+_0x2c2e9d(0x27c)+'ld\x20tr'+'ong\x20i'+_0x2c2e9d(0x2a8)+_0x2c2e9d(0x238)+_0x2c2e9d(0x73f)+_0x2c2e9d(0x1f7)+_0x2c2e9d(0x2cc)+'\x20\x20\x20\x20\x22'+'workf'+_0x2c2e9d(0x64b)+'d\x22:\x20\x20'+_0x2c2e9d(0x3ce)+'xxx\x22,'+_0x2c2e9d(0x7be)+_0x2c2e9d(0x711)+_0x2c2e9d(0x407)+_0x2c2e9d(0x8a6)+_0x2c2e9d(0x7d8)+_0x2c2e9d(0x4d9)+_0x2c2e9d(0x26d)+_0x2c2e9d(0x39c)+_0x2c2e9d(0x521)+(_0x2c2e9d(0x42b)+_0x2c2e9d(0x314)+_0x2c2e9d(0x43b)+'_xxx\x22'+',\x0a\x20\x20\x20'+_0x2c2e9d(0x1bc)+_0x2c2e9d(0x1c8)+_0x2c2e9d(0x78c)+_0x2c2e9d(0x459)+_0x2c2e9d(0x2bc)+_0x2c2e9d(0x257)+_0x2c2e9d(0x2d6)+_0x2c2e9d(0x19d)+_0x2c2e9d(0x655)+_0x2c2e9d(0x460)+_0x2c2e9d(0x620)+'5-06-'+_0x2c2e9d(0x212)+':00:0'+_0x2c2e9d(0x60c)+'\x20}\x0a}\x0a'+_0x2c2e9d(0x83a)+_0x2c2e9d(0x840)+'\x20nghĩ'+_0x2c2e9d(0x58c)+_0x2c2e9d(0x18f)+_0x2c2e9d(0x667)+_0x2c2e9d(0x383)+_0x2c2e9d(0x686)+_0x2c2e9d(0x8a1)+_0x2c2e9d(0x7e3)+'|---|'+_0x2c2e9d(0x89b)+_0x2c2e9d(0x896)+_0x2c2e9d(0x53e)+_0x2c2e9d(0x687)+'*Linh'+_0x2c2e9d(0x3db)+_0x2c2e9d(0x50c)+_0x2c2e9d(0x50d)+_0x2c2e9d(0x2ad)+_0x2c2e9d(0x594)+_0x2c2e9d(0x160)+_0x2c2e9d(0x3fd)+_0x2c2e9d(0x891)+',\x20với'+'\x20dữ\x20l'+'iệu\x20n'+'ào,\x20t'+_0x2c2e9d(0x352)+'\x20gì\x20|'+_0x2c2e9d(0x3a8)+'nput`'+_0x2c2e9d(0x488)+_0x2c2e9d(0x856)+_0x2c2e9d(0x6cb)+_0x2c2e9d(0x7d7)+_0x2c2e9d(0x3e1)+_0x2c2e9d(0x5eb)+_0x2c2e9d(0x1bf)+_0x2c2e9d(0x1e4)+_0x2c2e9d(0x823)+_0x2c2e9d(0x4cb)+_0x2c2e9d(0x22b)+'\x20|\x0a|\x20'+_0x2c2e9d(0x8a7)+_0x2c2e9d(0x7b5)+'|\x20Met'+_0x2c2e9d(0x477)+'\x20của\x20'+_0x2c2e9d(0x2c2)+_0x2c2e9d(0x4a7)+_0x2c2e9d(0x765)+_0x2c2e9d(0x3a4)+_0x2c2e9d(0x51b)+_0x2c2e9d(0x19c)+'og,\x20t'+'ham\x20c'+_0x2c2e9d(0x411)+_0x2c2e9d(0x6f6)+_0x2c2e9d(0x723)+'\x0a---\x0a'+_0x2c2e9d(0x7dc)+_0x2c2e9d(0x653)+_0x2c2e9d(0x46a)+_0x2c2e9d(0x776)+_0x2c2e9d(0x5c1)+_0x2c2e9d(0x76c)+_0x2c2e9d(0x4c8)+_0x2c2e9d(0x1fc)+_0x2c2e9d(0x4c9)+'ạn\x20BẮ'+_0x2c2e9d(0x86e)+_0x2c2e9d(0x59e)+_0x2c2e9d(0x140)+'úng\x20m'+'ột\x20JS'+_0x2c2e9d(0x390)+_0x2c2e9d(0x1d2)+_0x2c2e9d(0x469)+_0x2c2e9d(0x777)+_0x2c2e9d(0x764)+_0x2c2e9d(0x286)+'hông\x20'+_0x2c2e9d(0x24d)+_0x2c2e9d(0x81a)+_0x2c2e9d(0x7ba)+'``jso'+_0x2c2e9d(0x7e2)+_0x2c2e9d(0x392)+'tus\x22:'+'\x20\x22suc'+_0x2c2e9d(0x58a)+_0x2c2e9d(0x6c9)+_0x2c2e9d(0x5c9)+'skip\x22'+_0x2c2e9d(0x864)+_0x2c2e9d(0x26a)+_0x2c2e9d(0x683)+'\x20\x20\x20//'+_0x2c2e9d(0x243)+_0x2c2e9d(0x396)+_0x2c2e9d(0x7d2)+_0x2c2e9d(0x523)+_0x2c2e9d(0x7de)+_0x2c2e9d(0x5b8)+_0x2c2e9d(0x7fb)+_0x2c2e9d(0x5db)+_0x2c2e9d(0x21e)+_0x2c2e9d(0x39a)+_0x2c2e9d(0x391)+_0x2c2e9d(0x510)+_0x2c2e9d(0x206)+_0x2c2e9d(0x358)+_0x2c2e9d(0x5e5)+'mpt\x20—'+_0x2c2e9d(0x388)+_0x2c2e9d(0x21a)+_0x2c2e9d(0x1e9)+_0x2c2e9d(0x5b2)+'t\x20JSO'+_0x2c2e9d(0x1a4)+_0x2c2e9d(0x18d)+_0x2c2e9d(0x432)+'\x20Ví\x20d'+_0x2c2e9d(0x845)+_0x2c2e9d(0x203)+_0x2c2e9d(0x7eb)+_0x2c2e9d(0x1ce)+_0x2c2e9d(0x2b2)+_0x2c2e9d(0x3e4)+_0x2c2e9d(0x7b7)+_0x2c2e9d(0x590)+'\x22:\x20[.'+'..]\x20}'+'\x0a\x20\x20},'+_0x2c2e9d(0x832)+_0x2c2e9d(0x34c)+_0x2c2e9d(0x27f)+_0x2c2e9d(0x294)+_0x2c2e9d(0x886)+_0x2c2e9d(0x296)+_0x2c2e9d(0x568)+'ng\x20gì'+_0x2c2e9d(0x1d1)+'\x20đã\x20l'+_0x2c2e9d(0x189)+_0x2c2e9d(0x406)+_0x2c2e9d(0x7f0)+_0x2c2e9d(0x882)+_0x2c2e9d(0x864)+'logs\x22'+_0x2c2e9d(0x2ce)+_0x2c2e9d(0x1f3)+'\x22step'+_0x2c2e9d(0x648)+_0x2c2e9d(0x5d8)+_0x2c2e9d(0x599)+'\x20\x22Gọi'+_0x2c2e9d(0x163)+_0x2c2e9d(0x412)+_0x2c2e9d(0x893)+'Tool\x22'+_0x2c2e9d(0x55c)+_0x2c2e9d(0x548)+_0x2c2e9d(0x73d)+_0x2c2e9d(0x30a)+_0x2c2e9d(0x600)+_0x2c2e9d(0x6e9)+_0x2c2e9d(0x4ef)+_0x2c2e9d(0x6f5)+_0x2c2e9d(0x162)+_0x2c2e9d(0x2cf)+_0x2c2e9d(0x498)+_0x2c2e9d(0x6f4)+_0x2c2e9d(0x7e5)+_0x2c2e9d(0x60e)+_0x2c2e9d(0x4ca)+_0x2c2e9d(0x70f)+_0x2c2e9d(0x232))+(_0x2c2e9d(0x725)+'esult'+_0x2c2e9d(0x5ac)+_0x2c2e9d(0x1d6)+_0x2c2e9d(0x69e)+'\x20\x20\x22er'+'ror\x22:'+_0x2c2e9d(0x541)+_0x2c2e9d(0x3ef)+_0x2c2e9d(0x4e2)+_0x2c2e9d(0x306)+_0x2c2e9d(0x5ff)+_0x2c2e9d(0x207)+_0x2c2e9d(0x30b)+_0x2c2e9d(0x1eb)+'s\x20|\x20K'+_0x2c2e9d(0x4bb)+_0x2c2e9d(0x315)+_0x2c2e9d(0x69f)+_0x2c2e9d(0x5ad)+_0x2c2e9d(0x321)+_0x2c2e9d(0x734)+_0x2c2e9d(0x529)+_0x2c2e9d(0x20f)+_0x2c2e9d(0x562)+_0x2c2e9d(0x646)+_0x2c2e9d(0x2a0)+_0x2c2e9d(0x59b)+_0x2c2e9d(0x2b0)+_0x2c2e9d(0x707)+_0x2c2e9d(0x4aa)+_0x2c2e9d(0x28c)+_0x2c2e9d(0x4c4)+_0x2c2e9d(0x88d)+'`\x20là\x20'+_0x2c2e9d(0x5b2)+_0x2c2e9d(0x447)+_0x2c2e9d(0x6d3)+_0x2c2e9d(0x71e)+_0x2c2e9d(0x690)+_0x2c2e9d(0x226)+_0x2c2e9d(0x476)+'ỗi\x20ng'+_0x2c2e9d(0x307)+_0x2c2e9d(0x838)+_0x2c2e9d(0x77b)+'ng\x20th'+'ể\x20tiế'+_0x2c2e9d(0x52a)+_0x2c2e9d(0x6df)+_0x2c2e9d(0x6f8)+_0x2c2e9d(0x5a5)+_0x2c2e9d(0x849)+'ội\x20du'+_0x2c2e9d(0x448)+_0x2c2e9d(0x3d5)+'\x20là\x20`'+'{}`\x20|'+_0x2c2e9d(0x5d3)+_0x2c2e9d(0x779)+_0x2c2e9d(0x21c)+'iều\x20k'+_0x2c2e9d(0x175)+_0x2c2e9d(0x2ac)+'thỏa,'+'\x20node'+_0x2c2e9d(0x3c1)+_0x2c2e9d(0x5df)+_0x2c2e9d(0x425)+'ý\x20|\x20`'+_0x2c2e9d(0x5bd)+'ry`\x20g'+_0x2c2e9d(0x6ee)+_0x2c2e9d(0x24b)+_0x2c2e9d(0x48c)+_0x2c2e9d(0x825)+_0x2c2e9d(0x551)+_0x2c2e9d(0x543)+'##\x20Er'+_0x2c2e9d(0x2f1)+_0x2c2e9d(0x24c)+_0x2c2e9d(0x27d)+_0x2c2e9d(0x60a)+'{\x0a\x20\x20\x22'+_0x2c2e9d(0x442)+'\x22:\x20{\x0a'+_0x2c2e9d(0x2d6)+'code\x22'+':\x20\x20\x20\x20'+'\x22ERR_'+'INVAL'+_0x2c2e9d(0x644)+_0x2c2e9d(0x305)+_0x2c2e9d(0x7be)+'\x22mess'+_0x2c2e9d(0x876)+_0x2c2e9d(0x766)+_0x2c2e9d(0x3b4)+_0x2c2e9d(0x503)+_0x2c2e9d(0x4c6)+_0x2c2e9d(0x2a4)+_0x2c2e9d(0x35e)+_0x2c2e9d(0x33f)+'\x20\x22det'+_0x2c2e9d(0x65d)+_0x2c2e9d(0x3ea)+_0x2c2e9d(0x816)+_0x2c2e9d(0x1c0)+_0x2c2e9d(0x575)+_0x2c2e9d(0x7d9)+'a_kh\x22'+']\x20}\x0a\x20'+_0x2c2e9d(0x6fd)+_0x2c2e9d(0x83a)+_0x2c2e9d(0x2b4)+'IÊM\x20C'+_0x2c2e9d(0x29f)+_0x2c2e9d(0x5b9)+_0x2c2e9d(0x3aa)+'plain'+_0x2c2e9d(0x40c)+_0x2c2e9d(0x585)+'kdown'+_0x2c2e9d(0x56c)+_0x2c2e9d(0x736)+'c\x20bất'+_0x2c2e9d(0x29b)+_0x2c2e9d(0x59c)+_0x2c2e9d(0x588)+'khác\x20'+_0x2c2e9d(0x3e5)+_0x2c2e9d(0x1f1)+_0x2c2e9d(0x34d)+_0x2c2e9d(0x2dd)+_0x2c2e9d(0x617)+'\x20fiel'+'d\x20nào'+_0x2c2e9d(0x6ec)+_0x2c2e9d(0x84a)+_0x2c2e9d(0x693)+_0x2c2e9d(0x3b1)+_0x2c2e9d(0x6d7)+_0x2c2e9d(0x7f7)+'mary`'+_0x2c2e9d(0x255)+_0x2c2e9d(0x818)+_0x2c2e9d(0x815)+_0x2c2e9d(0x2e6)+'Để\x20`d'+_0x2c2e9d(0x714)+_0x2c2e9d(0x5a9)+_0x2c2e9d(0x565)+_0x2c2e9d(0x53c)+'us:\x20\x22'+_0x2c2e9d(0x7a6)+_0x2c2e9d(0x399)+'-\x20Để\x20'+_0x2c2e9d(0x815)+_0x2c2e9d(0x807)+'ll`\x20k'+'hi\x20`s'+'tatus'+_0x2c2e9d(0x2d3)+_0x2c2e9d(0x5fa)+_0x2c2e9d(0x1ef)+_0x2c2e9d(0x5bc)+_0x2c2e9d(0x29c)+_0x2c2e9d(0x81f)+_0x2c2e9d(0x191)+_0x2c2e9d(0x3ee)+_0x2c2e9d(0x775)+_0x2c2e9d(0x3c8)+_0x2c2e9d(0x837)+'\x20TỰ\x20X'+_0x2c2e9d(0x316)+_0x2c2e9d(0x848)+'UỘC\x0a\x0a'+_0x2c2e9d(0x7d4)+_0x2c2e9d(0x6e7)+'n\x20nhậ'+_0x2c2e9d(0x188)+'ut,\x20t'+_0x2c2e9d(0x782)+_0x2c2e9d(0x423)+_0x2c2e9d(0x1e1)+'ứ\x20tự\x20'+'5\x20bướ'+_0x2c2e9d(0x2a3)+_0x2c2e9d(0x2fa)+_0x2c2e9d(0x3f1)+_0x2c2e9d(0x7b9)+_0x2c2e9d(0x4b8)+_0x2c2e9d(0x22a)+'promp'+_0x2c2e9d(0x771)+'ọc\x20và'+_0x2c2e9d(0x33c)+'định\x20'+_0x2c2e9d(0x59f)+'\x20Node')+(_0x2c2e9d(0x583)+'LÀM\x20G'+_0x2c2e9d(0x564)+_0x2c2e9d(0x6b9)+_0x2c2e9d(0x274)+_0x2c2e9d(0x3fc)+_0x2c2e9d(0x204)+_0x2c2e9d(0x737)+'\x20send'+',\x20dec'+_0x2c2e9d(0x2d7)+'.)\x0a-\x20'+_0x2c2e9d(0x802)+_0x2c2e9d(0x235)+_0x2c2e9d(0x1db)+_0x2c2e9d(0x56d)+_0x2c2e9d(0x89e)+_0x2c2e9d(0x862)+_0x2c2e9d(0x7ae)+'\x20rout'+'ing\x20đ'+_0x2c2e9d(0x507)+_0x2c2e9d(0x767)+'-\x20OUT'+_0x2c2e9d(0x4de)+'ó\x20CẤU'+_0x2c2e9d(0x69d)+'\x20GÌ?\x20'+_0x2c2e9d(0x7a8)+'\x20kê\x20c'+_0x2c2e9d(0x873)+_0x2c2e9d(0x401)+_0x2c2e9d(0x360)+_0x2c2e9d(0x3aa)+'trong'+_0x2c2e9d(0x340)+'a`)\x0a-'+'\x20Có\x20Đ'+'IỀU\x20K'+_0x2c2e9d(0x38b)+_0x2c2e9d(0x881)+_0x2c2e9d(0x75e)+_0x2c2e9d(0x57e)+_0x2c2e9d(0x4a2)+'u\x20X\x20t'+_0x2c2e9d(0x892)+_0x2c2e9d(0x7a7)+_0x2c2e9d(0x62b)+_0x2c2e9d(0x334)+_0x2c2e9d(0x295)+_0x2c2e9d(0x7da)+_0x2c2e9d(0x74c)+_0x2c2e9d(0x5a7)+_0x2c2e9d(0x229)+_0x2c2e9d(0x1c5)+_0x2c2e9d(0x635)+'Bước\x20'+_0x2c2e9d(0x344)+'ALIDA'+_0x2c2e9d(0x213)+_0x2c2e9d(0x228)+_0x2c2e9d(0x4e7)+_0x2c2e9d(0x531)+_0x2c2e9d(0x634)+_0x2c2e9d(0x7e7)+_0x2c2e9d(0x46c)+_0x2c2e9d(0x57c)+'nput`'+'\x20mà\x20n'+'ode_p'+_0x2c2e9d(0x53e)+_0x2c2e9d(0x6d1)+'ập\x20có'+'\x20tồn\x20'+'tại\x20v'+_0x2c2e9d(0x76b)+_0x2c2e9d(0x1fa)+'hông\x0a'+_0x2c2e9d(0x3ca)+_0x2c2e9d(0x7d0)+_0x2c2e9d(0x47c)+_0x2c2e9d(0x19f)+_0x2c2e9d(0x433)+_0x2c2e9d(0x545)+_0x2c2e9d(0x57e)+_0x2c2e9d(0x7a1)+_0x2c2e9d(0x48a)+_0x2c2e9d(0x751)+_0x2c2e9d(0x4ae)+_0x2c2e9d(0x707)+'i):\x20→'+'\x20`sta'+_0x2c2e9d(0x151)+_0x2c2e9d(0x219)+'r\x22`,\x20'+_0x2c2e9d(0x499)+_0x2c2e9d(0x15e)+'R_INV'+_0x2c2e9d(0x1fd)+'INPUT'+_0x2c2e9d(0x287)+_0x2c2e9d(0x5a3)+'hiếu\x20'+_0x2c2e9d(0x4f4)+_0x2c2e9d(0x452)+_0x2c2e9d(0x480)+_0x2c2e9d(0x3d3)+_0x2c2e9d(0x746)+_0x2c2e9d(0x4f0)+_0x2c2e9d(0x378)+_0x2c2e9d(0x218)+_0x2c2e9d(0x2bb)+'\x20hợp\x20'+_0x2c2e9d(0x85d)+_0x2c2e9d(0x271)+_0x2c2e9d(0x6af)+_0x2c2e9d(0x5d9)+_0x2c2e9d(0x680)+_0x2c2e9d(0x68f)+'\x203\x20—\x20'+_0x2c2e9d(0x78e)+_0x2c2e9d(0x5c4)+'ols**'+_0x2c2e9d(0x2c7)+_0x2c2e9d(0x80b)+_0x2c2e9d(0x785)+'theo\x20'+'routi'+_0x2c2e9d(0x17a)+_0x2c2e9d(0x85e)+_0x2c2e9d(0x3cc)+'ion\x206'+_0x2c2e9d(0x857)+_0x2c2e9d(0x649)+'kết\x20q'+_0x2c2e9d(0x4cf)+_0x2c2e9d(0x39e)+_0x2c2e9d(0x5d2)+'\x20tắc\x20'+_0x2c2e9d(0x4e5)+_0x2c2e9d(0x83e)+'ode\x20('+_0x2c2e9d(0x1a2)+_0x2c2e9d(0x372)+_0x2c2e9d(0x20a)+_0x2c2e9d(0x718)+_0x2c2e9d(0x141)+_0x2c2e9d(0x15b)+'RM\x20&\x20'+_0x2c2e9d(0x1fe)+_0x2c2e9d(0x6b3)+_0x2c2e9d(0x1c3)+_0x2c2e9d(0x6a4)+_0x2c2e9d(0x519)+_0x2c2e9d(0x37e)+_0x2c2e9d(0x44a)+_0x2c2e9d(0x787)+'sang\x20'+_0x2c2e9d(0x777)+_0x2c2e9d(0x5e2)+_0x2c2e9d(0x3d5)+_0x2c2e9d(0x850)+'\x20theo'+_0x2c2e9d(0x1d1)+_0x2c2e9d(0x501)+'pt\x0a-\x20'+_0x2c2e9d(0x71f)+_0x2c2e9d(0x6dd)+'u\x20kiệ'+_0x2c2e9d(0x781)+_0x2c2e9d(0x2a6)+'nh:\x20đ'+_0x2c2e9d(0x4b3)+_0x2c2e9d(0x2c5)+_0x2c2e9d(0x5ce)+_0x2c2e9d(0x30e)+_0x2c2e9d(0x833)+_0x2c2e9d(0x15a)+_0x2c2e9d(0x56b)+_0x2c2e9d(0x450)+_0x2c2e9d(0x23c)+'điều\x20'+_0x2c2e9d(0x5bb)+_0x2c2e9d(0x55a)+_0x2c2e9d(0x826)+_0x2c2e9d(0x5fb)+_0x2c2e9d(0x53c)+'us:\x20\x22'+_0x2c2e9d(0x779)+_0x2c2e9d(0x71c)+'Bước\x20'+_0x2c2e9d(0x4da)+_0x2c2e9d(0x666)+_0x2c2e9d(0x1f1)+_0x2c2e9d(0x738)+_0x2c2e9d(0x19b)+'\x20và\x20t'+_0x2c2e9d(0x352)+_0x2c2e9d(0x1bf)+'ut\x20ob')+(_0x2c2e9d(0x1d2)+_0x2c2e9d(0x17e)+_0x2c2e9d(0x5fe)+_0x2c2e9d(0x700)+_0x2c2e9d(0x81d)+'BẢNG\x20'+'TỰ\x20QU'+_0x2c2e9d(0x42a)+_0x2c2e9d(0x7c4)+_0x2c2e9d(0x5d7)+_0x2c2e9d(0x789)+_0x2c2e9d(0x74c)+_0x2c2e9d(0x6b6)+_0x2c2e9d(0x504)+_0x2c2e9d(0x51b)+'\x20để\x20h'+_0x2c2e9d(0x4a1)+'ẮT\x20BU'+'ỘC\x20xử'+'\x20lý\x20c'+_0x2c2e9d(0x269)+_0x2c2e9d(0x3d1)+_0x2c2e9d(0x676)+'heo\x20b'+_0x2c2e9d(0x835)+_0x2c2e9d(0x278)+_0x2c2e9d(0x1ae)+_0x2c2e9d(0x341)+_0x2c2e9d(0x4c4)+'Hành\x20'+'động\x20'+_0x2c2e9d(0x878)+_0x2c2e9d(0x517)+_0x2c2e9d(0x7e3)+_0x2c2e9d(0x18a)+_0x2c2e9d(0x359)+_0x2c2e9d(0x18c)+_0x2c2e9d(0x6c6)+_0x2c2e9d(0x84c)+_0x2c2e9d(0x761)+_0x2c2e9d(0x7e0)+_0x2c2e9d(0x354)+_0x2c2e9d(0x895)+_0x2c2e9d(0x72d)+'họn\x20r'+_0x2c2e9d(0x5f2)+_0x2c2e9d(0x153)+'\x20nhất'+_0x2c2e9d(0x5ee)+_0x2c2e9d(0x7fd)+_0x2c2e9d(0x249)+'t\x20/\x20n'+'gày\x20g'+'ần\x20nh'+_0x2c2e9d(0x3e9)+'log\x20q'+_0x2c2e9d(0x3f3)+_0x2c2e9d(0x375)+'|\x0a|\x20T'+_0x2c2e9d(0x333)+_0x2c2e9d(0x724)+_0x2c2e9d(0x2ac)+_0x2c2e9d(0x651)+_0x2c2e9d(0x518)+'ụ\x20thể'+_0x2c2e9d(0x6ec)+_0x2c2e9d(0x5b8)+_0x2c2e9d(0x5e5)+_0x2c2e9d(0x3a6)+_0x2c2e9d(0x685)+'\x20\x22hôm'+_0x2c2e9d(0x799)+_0x2c2e9d(0x5eb)+'\x20\x22thá'+_0x2c2e9d(0x794)+'ện\x20tạ'+_0x2c2e9d(0x828)+_0x2c2e9d(0x429)+_0x2c2e9d(0x1f7)+_0x2c2e9d(0x484)+'\x20khoả'+_0x2c2e9d(0x1e1)+_0x2c2e9d(0x37d)+'an\x20đã'+'\x20dùng'+_0x2c2e9d(0x377)+_0x2c2e9d(0x357)+_0x2c2e9d(0x5da)+_0x2c2e9d(0x445)+_0x2c2e9d(0x45b)+_0x2c2e9d(0x38d)+_0x2c2e9d(0x467)+_0x2c2e9d(0x44b)+'o,\x20tr'+'ả\x20`st'+_0x2c2e9d(0x812)+_0x2c2e9d(0x44e)+_0x2c2e9d(0x27a)+'`,\x20`d'+'ata:\x20'+_0x2c2e9d(0x58d)+_0x2c2e9d(0x5b4)+_0x2c2e9d(0x855)+_0x2c2e9d(0x1cc)+_0x2c2e9d(0x62c)+_0x2c2e9d(0x377)+_0x2c2e9d(0x357)+_0x2c2e9d(0x566)+'ần\x201\x20'+'|\x20Tự\x20'+_0x2c2e9d(0x606)+_0x2c2e9d(0x51e)+_0x2c2e9d(0x4fa)+_0x2c2e9d(0x40e)+_0x2c2e9d(0x37c)+_0x2c2e9d(0x6b1)+_0x2c2e9d(0x69c)+_0x2c2e9d(0x819)+'(log\x20'+_0x2c2e9d(0x56a)+_0x2c2e9d(0x4db)+_0x2c2e9d(0x377)+_0x2c2e9d(0x357)+_0x2c2e9d(0x566)+_0x2c2e9d(0x728)+'|\x20Trả'+_0x2c2e9d(0x867)+_0x2c2e9d(0x151)+_0x2c2e9d(0x219)+_0x2c2e9d(0x571)+_0x2c2e9d(0x499)+_0x2c2e9d(0x15e)+_0x2c2e9d(0x492)+_0x2c2e9d(0x2aa)+_0x2c2e9d(0x2e4)+_0x2c2e9d(0x84f)+'chi\x20t'+_0x2c2e9d(0x456)+_0x2c2e9d(0x474)+_0x2c2e9d(0x222)+_0x2c2e9d(0x62a)+_0x2c2e9d(0x781)+_0x2c2e9d(0x2a6)+'nh\x20kh'+'ông\x20r'+_0x2c2e9d(0x147)+_0x2c2e9d(0x263)+'họn\x20n'+_0x2c2e9d(0x75e)+'an\x20to'+_0x2c2e9d(0x3ff)+_0x2c2e9d(0x5e8)+'nserv'+_0x2c2e9d(0x744)+_0x2c2e9d(0x699)+_0x2c2e9d(0x877)+'g\x20lý\x20'+_0x2c2e9d(0x645)+'|\x20nod'+_0x2c2e9d(0x5e5)+_0x2c2e9d(0x589)+_0x2c2e9d(0x5ed)+_0x2c2e9d(0x53a)+'oặc\x20k'+_0x2c2e9d(0x2ac)+_0x2c2e9d(0x7f8)+_0x2c2e9d(0x3d4)+'hực\x20t'+_0x2c2e9d(0x5a2)+_0x2c2e9d(0x5f8)+'statu'+_0x2c2e9d(0x146)+_0x2c2e9d(0x226)+'`,\x20`c'+_0x2c2e9d(0x3bd)+_0x2c2e9d(0x53f)+_0x2c2e9d(0x455)+_0x2c2e9d(0x17d)+_0x2c2e9d(0x3bf)+_0x2c2e9d(0x67f)+_0x2c2e9d(0x6ee)+_0x2c2e9d(0x24b)+'phần\x20'+_0x2c2e9d(0x5e0)+'hông\x20'+_0x2c2e9d(0x55f)+_0x2c2e9d(0x23f)+_0x2c2e9d(0x462)+_0x2c2e9d(0x259)+_0x2c2e9d(0x618)+_0x2c2e9d(0x1e5)+'hường'+_0x2c2e9d(0x6ca)+_0x2c2e9d(0x7d0)+_0x2c2e9d(0x1ec)+'tlier'+_0x2c2e9d(0x3b3)+'ẫn\x20th'+_0x2c2e9d(0x707)+_0x2c2e9d(0x299))+('êm\x20`\x22'+'warni'+'ngs\x22:'+'\x20[]`\x20'+'vào\x20`'+'data`'+_0x2c2e9d(0x3fe)+_0x2c2e9d(0x37a)+'iếp\x20t'+_0x2c2e9d(0x6ba)+_0x2c2e9d(0x586)+_0x2c2e9d(0x1ef)+_0x2c2e9d(0x284)+_0x2c2e9d(0x233)+_0x2c2e9d(0x81b)+_0x2c2e9d(0x5cb)+_0x2c2e9d(0x178)+'ERRID'+'E\x20CÁC'+_0x2c2e9d(0x3f8)+_0x2c2e9d(0x25d)+_0x2c2e9d(0x181)+_0x2c2e9d(0x7fa)+'ế\x20thừ'+_0x2c2e9d(0x3f4)+'n\x20bộ\x20'+_0x2c2e9d(0x787)+_0x2c2e9d(0x6d4)+_0x2c2e9d(0x7bc)+_0x2c2e9d(0x754)+'ion\x206'+_0x2c2e9d(0x57d)+'ng\x20cá'+_0x2c2e9d(0x5d2)+_0x2c2e9d(0x5ff)+'sau\x20g'+_0x2c2e9d(0x1b9)+_0x2c2e9d(0x546)+_0x2c2e9d(0x45f)+_0x2c2e9d(0x841)+_0x2c2e9d(0x884)+_0x2c2e9d(0x858)+'ịnh\x20c'+'ủa\x20ch'+_0x2c2e9d(0x88e)+'de:\x0a\x0a'+_0x2c2e9d(0x5d0)+_0x2c2e9d(0x4df)+_0x2c2e9d(0x339)+_0x2c2e9d(0x7b6)+_0x2c2e9d(0x682)+_0x2c2e9d(0x217)+_0x2c2e9d(0x68d)+_0x2c2e9d(0x522)+_0x2c2e9d(0x357)+_0x2c2e9d(0x325)+_0x2c2e9d(0x5ec)+'terDa'+_0x2c2e9d(0x216)+_0x2c2e9d(0x5b6)+_0x2c2e9d(0x76d)+_0x2c2e9d(0x6ec)+_0x2c2e9d(0x7b0)+_0x2c2e9d(0x2f3)+_0x2c2e9d(0x5e4)+_0x2c2e9d(0x38f)+_0x2c2e9d(0x569)+'UA**\x20'+'bước\x20'+_0x2c2e9d(0x813)+_0x2c2e9d(0x66d)+_0x2c2e9d(0x66e)+_0x2c2e9d(0x1c7)+':\x20fal'+'se`)\x0a'+_0x2c2e9d(0x3e6)+_0x2c2e9d(0x500)+_0x2c2e9d(0x3d0)+'\x20với\x20'+_0x2c2e9d(0x258)+_0x2c2e9d(0x51c)+_0x2c2e9d(0x5b5)+_0x2c2e9d(0x1ca)+_0x2c2e9d(0x34e)+_0x2c2e9d(0x20d)+_0x2c2e9d(0x50f)+_0x2c2e9d(0x241)+_0x2c2e9d(0x4ea)+'n:\x20`{'+'\x20\x22act'+_0x2c2e9d(0x599)+'\x20\x22Tạo'+_0x2c2e9d(0x821)+'u\x20thu'+_0x2c2e9d(0x4af)+_0x2c2e9d(0x725)+_0x2c2e9d(0x38c)+_0x2c2e9d(0x7dd)+_0x2c2e9d(0x420)+_0x2c2e9d(0x4ab)+_0x2c2e9d(0x353)+'\x22\x20}`\x0a'+_0x2c2e9d(0x2a9)+_0x2c2e9d(0x5a8)+_0x2c2e9d(0x31a)+'GINAT'+_0x2c2e9d(0x22e)+'ự\x20lấy'+_0x2c2e9d(0x446)+_0x2c2e9d(0x1d3)+_0x2c2e9d(0x47f)+'\x20bất\x20'+_0x2c2e9d(0x74e)+'ol\x20bá'+_0x2c2e9d(0x3c5)+'\x20nào\x20'+_0x2c2e9d(0x5da)+_0x2c2e9d(0x581)+_0x2c2e9d(0x38e)+_0x2c2e9d(0x6aa)+_0x2c2e9d(0x89a)+_0x2c2e9d(0x2f7)+_0x2c2e9d(0x748)+_0x2c2e9d(0x473)+_0x2c2e9d(0x5b3)+_0x2c2e9d(0x17f)+_0x2c2e9d(0x550)+_0x2c2e9d(0x479)+_0x2c2e9d(0x614)+_0x2c2e9d(0x50b)+_0x2c2e9d(0x4e4)+'id_se'+_0x2c2e9d(0x234)+'`\x20giố'+_0x2c2e9d(0x1be)+'O\x20pro'+_0x2c2e9d(0x6fb)+_0x2c2e9d(0x403)+_0x2c2e9d(0x323)+_0x2c2e9d(0x5c7)+_0x2c2e9d(0x74a)+_0x2c2e9d(0x6b0)+_0x2c2e9d(0x82f)+'ảng\x20d'+_0x2c2e9d(0x55d)+_0x2c2e9d(0x5a4)+_0x2c2e9d(0x54f)+_0x2c2e9d(0x199)+_0x2c2e9d(0x780)+_0x2c2e9d(0x709)+_0x2c2e9d(0x41f)+_0x2c2e9d(0x356)+_0x2c2e9d(0x1e8)+_0x2c2e9d(0x23d)+'ang**'+'\x20—\x20nế'+_0x2c2e9d(0x1a6)+'t,\x20lo'+_0x2c2e9d(0x698)+'h\x20báo'+'\x20`\x22WA'+_0x2c2e9d(0x844)+_0x2c2e9d(0x45d)+_0x2c2e9d(0x851)+_0x2c2e9d(0x4bf)+'ạn\x2010'+_0x2c2e9d(0x4d4)+'g,\x20dữ'+_0x2c2e9d(0x856)+'\x20có\x20t'+_0x2c2e9d(0x39d)+_0x2c2e9d(0x80e)+_0x2c2e9d(0x822)+'`\x20và\x20'+'tiếp\x20'+_0x2c2e9d(0x57b)+'ới\x20da'+_0x2c2e9d(0x535)+_0x2c2e9d(0x320)+_0x2c2e9d(0x174)+_0x2c2e9d(0x75c)+_0x2c2e9d(0x361)+'user\x20'+'có\x20mu'+_0x2c2e9d(0x5f5)+_0x2c2e9d(0x660)+'ng\x20ti'+_0x2c2e9d(0x2cd)+_0x2c2e9d(0x7ef)+'##\x205.'+'3\x20NO\x20'+_0x2c2e9d(0x80a)+'OWN\x20R'+'ENDER'+_0x2c2e9d(0x532)+_0x2c2e9d(0x357)+_0x2c2e9d(0x5da)+_0x2c2e9d(0x1e0)+'liệu\x20'+'→\x20đưa')+(_0x2c2e9d(0x2c4)+'data\x20'+'objec'+_0x2c2e9d(0x559)+_0x2c2e9d(0x489)+_0x2c2e9d(0x2a7)+_0x2c2e9d(0x7e7)+_0x2c2e9d(0x369)+_0x2c2e9d(0x668)+_0x2c2e9d(0x6d8)+_0x2c2e9d(0x466)+_0x2c2e9d(0x84e)+_0x2c2e9d(0x75c)+_0x2c2e9d(0x5f7)+_0x2c2e9d(0x696)+_0x2c2e9d(0x4f5)+_0x2c2e9d(0x861)+_0x2c2e9d(0x702)+_0x2c2e9d(0x6a7)+_0x2c2e9d(0x6dc)+_0x2c2e9d(0x1d0)+'forma'+_0x2c2e9d(0x4b2)+_0x2c2e9d(0x1b2)+_0x2c2e9d(0x4ee)+'\x20dấu\x20'+_0x2c2e9d(0x1b3)+_0x2c2e9d(0x536)+_0x2c2e9d(0x7a0)+'đẹp\x22\x20'+_0x2c2e9d(0x713)+_0x2c2e9d(0x574)+_0x2c2e9d(0x896)+_0x2c2e9d(0x53e)+_0x2c2e9d(0x859)+'cầu\x20c'+'huỗi\x20'+_0x2c2e9d(0x65a)+_0x2c2e9d(0x1c1)+'để\x20dù'+_0x2c2e9d(0x277)+_0x2c2e9d(0x171)+'mail/'+_0x2c2e9d(0x444)+_0x2c2e9d(0x3a1)+_0x2c2e9d(0x75b)+_0x2c2e9d(0x70d)+_0x2c2e9d(0x84b)+'LE\x20&\x20'+_0x2c2e9d(0x14a)+_0x2c2e9d(0x25c)+_0x2c2e9d(0x621)+'ng\x20bì'+_0x2c2e9d(0x2ef)+_0x2c2e9d(0x6d5)+_0x2c2e9d(0x4dd)+_0x2c2e9d(0x25e)+'Sched'+_0x2c2e9d(0x760)+_0x2c2e9d(0x463)+'ool`\x20'+_0x2c2e9d(0x32c)+'endEm'+_0x2c2e9d(0x48b)+_0x2c2e9d(0x3e7)+'Dùng\x20'+_0x2c2e9d(0x449)+_0x2c2e9d(0x65b)+_0x2c2e9d(0x6e2)+_0x2c2e9d(0x587)+_0x2c2e9d(0x689)+_0x2c2e9d(0x54b)+'e\x20gì\x0a'+_0x2c2e9d(0x3ba)+_0x2c2e9d(0x565)+_0x2c2e9d(0x4b5)+_0x2c2e9d(0x1b5)+_0x2c2e9d(0x796)+_0x2c2e9d(0x3ed)+_0x2c2e9d(0x61c)+_0x2c2e9d(0x843)+_0x2c2e9d(0x381)+_0x2c2e9d(0x364)+_0x2c2e9d(0x530)+'\x22:\x20tr'+_0x2c2e9d(0x77c)+_0x2c2e9d(0x145)+_0x2c2e9d(0x3ae)+_0x2c2e9d(0x557)+'ào\x20`d'+_0x2c2e9d(0x57f)+_0x2c2e9d(0x2a9)+_0x2c2e9d(0x3c2)+'NK\x20GE'+_0x2c2e9d(0x410)+_0x2c2e9d(0x6ea)+_0x2c2e9d(0x685)+_0x2c2e9d(0x894)+_0x2c2e9d(0x5aa)+_0x2c2e9d(0x49b)+_0x2c2e9d(0x6a9)+_0x2c2e9d(0x640)+_0x2c2e9d(0x520)+_0x2c2e9d(0x5e5)+_0x2c2e9d(0x494)+_0x2c2e9d(0x5ad)+'u\x0a\x0aKh'+_0x2c2e9d(0x520)+_0x2c2e9d(0x144)+'\x20tạo\x20'+'link\x20'+_0x2c2e9d(0x5fd)+_0x2c2e9d(0x6c5)+_0x2c2e9d(0x28a)+_0x2c2e9d(0x1d1)+_0x2c2e9d(0x808)+'nội\x20d'+_0x2c2e9d(0x236)+'hông\x20'+_0x2c2e9d(0x308)+_0x2c2e9d(0x343)+_0x2c2e9d(0x72c)+_0x2c2e9d(0x629)+_0x2c2e9d(0x6e5)+_0x2c2e9d(0x811)+'-\x20Gọi'+_0x2c2e9d(0x88b)+'igate'+'ToFea'+_0x2c2e9d(0x2a1)+_0x2c2e9d(0x739)+_0x2c2e9d(0x740)+_0x2c2e9d(0x366)+_0x2c2e9d(0x3c0)+_0x2c2e9d(0x6c3)+_0x2c2e9d(0x54a)+_0x2c2e9d(0x652)+'ưa\x20li'+_0x2c2e9d(0x44f)+_0x2c2e9d(0x4f8)+_0x2c2e9d(0x4d2)+_0x2c2e9d(0x261)+_0x2c2e9d(0x5f3)+'tring'+_0x2c2e9d(0x7c2)+_0x2c2e9d(0x3fb)+_0x2c2e9d(0x33e)+_0x2c2e9d(0x72b)+'\x22/#/v'+_0x2c2e9d(0x62e)+_0x2c2e9d(0x405)+_0x2c2e9d(0x5b1)+'--\x0a\x0a#'+'\x206.\x20T'+_0x2c2e9d(0x534)+_0x2c2e9d(0x834)+_0x2c2e9d(0x7df)+'INE\x0a\x0a'+_0x2c2e9d(0x561)+_0x2c2e9d(0x561)+_0x2c2e9d(0x561)+'====='+_0x2c2e9d(0x561)+_0x2c2e9d(0x561)+_0x2c2e9d(0x561)+'====='+'====='+_0x2c2e9d(0x561)+_0x2c2e9d(0x6b4)+_0x2c2e9d(0x168)+_0x2c2e9d(0x778)+_0x2c2e9d(0x31c)+_0x2c2e9d(0x368)+_0x2c2e9d(0x33b)+_0x2c2e9d(0x1bb)+_0x2c2e9d(0x291)+'\x20thu/'+_0x2c2e9d(0x186)+'huận/'+'tiền/'+_0x2c2e9d(0x37f)+'ho\x20tổ'+_0x2c2e9d(0x1a5)+_0x2c2e9d(0x671)+'\x20getC'+_0x2c2e9d(0x21b)+_0x2c2e9d(0x888)+_0x2c2e9d(0x6ed)+_0x2c2e9d(0x2d9)+_0x2c2e9d(0x848)+'UỘC:\x20'+_0x2c2e9d(0x7db)+_0x2c2e9d(0x1c6)+_0x2c2e9d(0x52b)+_0x2c2e9d(0x7f6)+_0x2c2e9d(0x561)+'====='+_0x2c2e9d(0x561)+_0x2c2e9d(0x561)+'=====')+(_0x2c2e9d(0x561)+_0x2c2e9d(0x561)+_0x2c2e9d(0x561)+_0x2c2e9d(0x561)+_0x2c2e9d(0x561)+_0x2c2e9d(0x5c8)+_0x2c2e9d(0x413)+_0x2c2e9d(0x194)+_0x2c2e9d(0x415)+_0x2c2e9d(0x4c0)+_0x2c2e9d(0x49f)+_0x2c2e9d(0x82d)+_0x2c2e9d(0x17b)+_0x2c2e9d(0x544)+_0x2c2e9d(0x612)+_0x2c2e9d(0x89d)+_0x2c2e9d(0x79b)+'\x20tồn\x20'+_0x2c2e9d(0x6f1)+_0x2c2e9d(0x54d)+'số\x20dư'+_0x2c2e9d(0x52f)+_0x2c2e9d(0x75f)+'\x20công'+'\x20nợ\x20h'+'iện\x20t'+_0x2c2e9d(0x324)+_0x2c2e9d(0x40f)+_0x2c2e9d(0x874)+_0x2c2e9d(0x1b7)+_0x2c2e9d(0x641)+_0x2c2e9d(0x61e)+_0x2c2e9d(0x753)+_0x2c2e9d(0x757)+_0x2c2e9d(0x870)+'\x20(KHÔ'+_0x2c2e9d(0x46f)+_0x2c2e9d(0x338)+'c\x20too'+_0x2c2e9d(0x439)+_0x2c2e9d(0x4ec)+_0x2c2e9d(0x37c)+_0x2c2e9d(0x2ff)+'buộc:'+_0x2c2e9d(0x784)+_0x2c2e9d(0x29a)+_0x2c2e9d(0x862)+_0x2c2e9d(0x303)+':\x20ckv'+_0x2c2e9d(0x4e8)+_0x2c2e9d(0x654)+_0x2c2e9d(0x3b6)+_0x2c2e9d(0x7f3)+_0x2c2e9d(0x3e3)+_0x2c2e9d(0x554)+_0x2c2e9d(0x2bf)+_0x2c2e9d(0x3d8)+_0x2c2e9d(0x300)+_0x2c2e9d(0x561)+'====='+'====='+'====='+_0x2c2e9d(0x561)+_0x2c2e9d(0x561)+_0x2c2e9d(0x561)+'====='+_0x2c2e9d(0x561)+'=\x0aC.\x20'+_0x2c2e9d(0x6ff)+_0x2c2e9d(0x182)+_0x2c2e9d(0x1f5)+'MENT\x20'+_0x2c2e9d(0x783)+_0x2c2e9d(0x7c8)+_0x2c2e9d(0x3b9)+'\x20SINH'+_0x2c2e9d(0x3ec)+_0x2c2e9d(0x73c)+_0x2c2e9d(0x25f)+_0x2c2e9d(0x58e)+'\x20phát'+_0x2c2e9d(0x173)+_0x2c2e9d(0x578)+_0x2c2e9d(0x41a)+',\x20tri'+_0x2c2e9d(0x2f5)+_0x2c2e9d(0x757)+_0x2c2e9d(0x1ff)+_0x2c2e9d(0x23a)+_0x2c2e9d(0x2c1)+_0x2c2e9d(0x2db)+_0x2c2e9d(0x40d)+'oặc\x20g'+_0x2c2e9d(0x227)+_0x2c2e9d(0x694)+_0x2c2e9d(0x158)+'eTool'+_0x2c2e9d(0x285)+_0x2c2e9d(0x561)+'====='+_0x2c2e9d(0x561)+_0x2c2e9d(0x561)+_0x2c2e9d(0x561)+_0x2c2e9d(0x561)+_0x2c2e9d(0x561)+'====='+'====='+_0x2c2e9d(0x3d7)+_0x2c2e9d(0x15d)+_0x2c2e9d(0x28b)+_0x2c2e9d(0x745)+_0x2c2e9d(0x34a)+_0x2c2e9d(0x72f)+_0x2c2e9d(0x716)+_0x2c2e9d(0x875)+_0x2c2e9d(0x847)+'hiết\x20'+_0x2c2e9d(0x4d3)+_0x2c2e9d(0x5d6)+_0x2c2e9d(0x827)+'hạy\x20-'+_0x2c2e9d(0x5b0)+_0x2c2e9d(0x7af)+_0x2c2e9d(0x159)+'tTool'+'.\x0a==='+'====='+_0x2c2e9d(0x561)+_0x2c2e9d(0x561)+_0x2c2e9d(0x561)+_0x2c2e9d(0x561)+'====='+_0x2c2e9d(0x561)+_0x2c2e9d(0x561)+'====='+_0x2c2e9d(0x77e)+_0x2c2e9d(0x82e)+'\x20SỰ:\x20'+_0x2c2e9d(0x741)+_0x2c2e9d(0x64d)+'\x20ngày'+_0x2c2e9d(0x351)+_0x2c2e9d(0x1ff)+_0x2c2e9d(0x513)+_0x2c2e9d(0x7e1)+_0x2c2e9d(0x43a)+_0x2c2e9d(0x4fc)+_0x2c2e9d(0x628)+'====='+_0x2c2e9d(0x561)+_0x2c2e9d(0x561)+'====='+_0x2c2e9d(0x561)+'====='+_0x2c2e9d(0x561)+_0x2c2e9d(0x561)+_0x2c2e9d(0x561)+_0x2c2e9d(0x6c1)+_0x2c2e9d(0x495)+'NG\x20NỢ'+_0x2c2e9d(0x85a)+_0x2c2e9d(0x35f)+_0x2c2e9d(0x351)+_0x2c2e9d(0x224)+_0x2c2e9d(0x5b0)+_0x2c2e9d(0x196)+_0x2c2e9d(0x158)+'eSumm'+'aryTo'+_0x2c2e9d(0x2b7)+'K\x20131'+'\x20=\x20ph'+'ải\x20th'+_0x2c2e9d(0x7f5)+_0x2c2e9d(0x1dc)+'=\x20phả'+'i\x20trả'+').\x20Tu'+_0x2c2e9d(0x1fb)+_0x2c2e9d(0x86a)+_0x2c2e9d(0x5b0)+_0x2c2e9d(0x3be)+_0x2c2e9d(0x215)+'Aging'+'Tool;'+_0x2c2e9d(0x57a)+_0x2c2e9d(0x16f)+_0x2c2e9d(0x5e6)+_0x2c2e9d(0x464)+'ayabl'+'eAgin'+'gTool'+_0x2c2e9d(0x285)+_0x2c2e9d(0x561)+'====='+_0x2c2e9d(0x561)+_0x2c2e9d(0x561)+_0x2c2e9d(0x561)+_0x2c2e9d(0x561)+_0x2c2e9d(0x561))+(_0x2c2e9d(0x561)+_0x2c2e9d(0x561)+'==\x0aG.'+'\x20INVE'+_0x2c2e9d(0x824)+_0x2c2e9d(0x65e)+_0x2c2e9d(0x491)+_0x2c2e9d(0x524)+'p\x20nhậ'+_0x2c2e9d(0x3a3)+_0x2c2e9d(0x481)+_0x2c2e9d(0x4ca)+_0x2c2e9d(0x4a4)+_0x2c2e9d(0x5b0)+_0x2c2e9d(0x58f)+_0x2c2e9d(0x6a5)+_0x2c2e9d(0x34c)+'yTool'+'.\x0a==='+_0x2c2e9d(0x561)+_0x2c2e9d(0x561)+_0x2c2e9d(0x561)+_0x2c2e9d(0x561)+'====='+_0x2c2e9d(0x561)+_0x2c2e9d(0x561)+_0x2c2e9d(0x561)+_0x2c2e9d(0x561)+_0x2c2e9d(0x21d)+'\x20PURC'+_0x2c2e9d(0x3d2)+_0x2c2e9d(0x176)+'\x20NHẬP'+_0x2c2e9d(0x3f5)+_0x2c2e9d(0x6c5)+_0x2c2e9d(0x328)+_0x2c2e9d(0x2e5)+_0x2c2e9d(0x577)+_0x2c2e9d(0x6c4)+_0x2c2e9d(0x5b0)+'Purch'+_0x2c2e9d(0x1a3)+_0x2c2e9d(0x663)+_0x2c2e9d(0x579)+_0x2c2e9d(0x475)+_0x2c2e9d(0x86e)+_0x2c2e9d(0x5e3)+_0x2c2e9d(0x46e)+_0x2c2e9d(0x4c2)+'e).\x0a='+'====='+_0x2c2e9d(0x561)+'====='+'====='+_0x2c2e9d(0x561)+_0x2c2e9d(0x561)+_0x2c2e9d(0x561)+_0x2c2e9d(0x561)+_0x2c2e9d(0x561)+_0x2c2e9d(0x6c1)+_0x2c2e9d(0x311)+_0x2c2e9d(0x4a5)+'\x20/\x20KH'+_0x2c2e9d(0x485)+_0x2c2e9d(0x717)+_0x2c2e9d(0x431)+_0x2c2e9d(0x486)+'uctPr'+'iceAn'+_0x2c2e9d(0x540)+'otion'+_0x2c2e9d(0x357)+'(Nếu\x20'+_0x2c2e9d(0x7a9)+_0x2c2e9d(0x3e8)+_0x2c2e9d(0x2b3)+_0x2c2e9d(0x3c7)+_0x2c2e9d(0x380)+_0x2c2e9d(0x1d7)+_0x2c2e9d(0x394)+_0x2c2e9d(0x7ce)+'erDat'+_0x2c2e9d(0x385)+_0x2c2e9d(0x84d)+'c).\x0a='+_0x2c2e9d(0x561)+_0x2c2e9d(0x561)+'====='+_0x2c2e9d(0x561)+_0x2c2e9d(0x561)+_0x2c2e9d(0x561)+_0x2c2e9d(0x561)+_0x2c2e9d(0x561)+_0x2c2e9d(0x561)+_0x2c2e9d(0x6c1)+_0x2c2e9d(0x598)+'Á\x20THÀ'+_0x2c2e9d(0x7cb)+_0x2c2e9d(0x5b0)+_0x2c2e9d(0x1c2)+_0x2c2e9d(0x414)+_0x2c2e9d(0x319)+'rtToo'+'l\x20(BẮ'+_0x2c2e9d(0x86e)+_0x2c2e9d(0x768)+_0x2c2e9d(0x774)+'ang).'+_0x2c2e9d(0x300)+_0x2c2e9d(0x561)+_0x2c2e9d(0x561)+_0x2c2e9d(0x561)+_0x2c2e9d(0x561)+_0x2c2e9d(0x561)+_0x2c2e9d(0x561)+_0x2c2e9d(0x561)+_0x2c2e9d(0x561)+_0x2c2e9d(0x561)+_0x2c2e9d(0x83d)+_0x2c2e9d(0x363)+_0x2c2e9d(0x2c0)+_0x2c2e9d(0x6d6)+_0x2c2e9d(0x166)+'dvise'+_0x2c2e9d(0x355)+'actor'+_0x2c2e9d(0x83f)+_0x2c2e9d(0x357)+_0x2c2e9d(0x268)+_0x2c2e9d(0x88c)+_0x2c2e9d(0x272)+_0x2c2e9d(0x4b6)+_0x2c2e9d(0x76e)+_0x2c2e9d(0x1b0)+'h_pha'+_0x2c2e9d(0x50a)+_0x2c2e9d(0x285)+_0x2c2e9d(0x561)+_0x2c2e9d(0x561)+_0x2c2e9d(0x561)+_0x2c2e9d(0x561)+_0x2c2e9d(0x561)+'====='+_0x2c2e9d(0x561)+_0x2c2e9d(0x561)+'====='+_0x2c2e9d(0x28d)+'\x20KNOW'+_0x2c2e9d(0x28e)+_0x2c2e9d(0x67b)+_0x2c2e9d(0x493)+_0x2c2e9d(0x6a0)+'E:\x20->'+_0x2c2e9d(0x5a6)+_0x2c2e9d(0x552)+_0x2c2e9d(0x516)+'eBase'+_0x2c2e9d(0x357)+'(\x27act'+_0x2c2e9d(0x6d2)+'\x20\x22sum'+_0x2c2e9d(0x7c3)+_0x2c2e9d(0x416)+_0x2c2e9d(0x252)+_0x2c2e9d(0x276)+_0x2c2e9d(0x67d)+'ile_s'+'cope\x27'+_0x2c2e9d(0x197)+_0x2c2e9d(0x59a)+_0x2c2e9d(0x5eb)+'\x20\x22all'+_0x2c2e9d(0x3c4)+_0x2c2e9d(0x561)+_0x2c2e9d(0x561)+'====='+_0x2c2e9d(0x561)+_0x2c2e9d(0x561)+'====='+_0x2c2e9d(0x561)+_0x2c2e9d(0x561)+_0x2c2e9d(0x561)+_0x2c2e9d(0x6c1)+_0x2c2e9d(0x2cb)+'MPANY'+_0x2c2e9d(0x245)+_0x2c2e9d(0x17c)+_0x2c2e9d(0x24f)+'mpany'+_0x2c2e9d(0x7cf)+_0x2c2e9d(0x2d9)+'Không'+_0x2c2e9d(0x583)+_0x2c2e9d(0x6e3)+_0x2c2e9d(0x69b)+_0x2c2e9d(0x561)+_0x2c2e9d(0x561)+_0x2c2e9d(0x561)+_0x2c2e9d(0x561)+_0x2c2e9d(0x561))+(_0x2c2e9d(0x561)+_0x2c2e9d(0x561)+'====='+'====='+'====='+_0x2c2e9d(0x53d)+'ASTER'+_0x2c2e9d(0x4fe)+_0x2c2e9d(0x602)+'CUMEN'+_0x2c2e9d(0x44c)+'RCH:\x20'+'Tra\x20c'+_0x2c2e9d(0x283)+_0x2c2e9d(0x2c9)+'ếm,\x20l'+_0x2c2e9d(0x853)+_0x2c2e9d(0x478)+'\x20->\x20l'+_0x2c2e9d(0x4e9)+_0x2c2e9d(0x514)+_0x2c2e9d(0x1f0)+_0x2c2e9d(0x357)+_0x2c2e9d(0x681)+_0x2c2e9d(0x759)+_0x2c2e9d(0x7ac)+_0x2c2e9d(0x5eb)+'\x20\x22ana'+_0x2c2e9d(0x7c0)+_0x2c2e9d(0x85b)+'Trong'+_0x2c2e9d(0x31b)+'flow:'+'\x20tự\x20x'+'ử\x20lý\x20'+_0x2c2e9d(0x4a6)+'trang'+_0x2c2e9d(0x82a)+_0x2c2e9d(0x842)+'5.2),'+_0x2c2e9d(0x74c)+_0x2c2e9d(0x398)+'\x20user'+'.\x0a==='+_0x2c2e9d(0x561)+'====='+'====='+_0x2c2e9d(0x561)+_0x2c2e9d(0x561)+_0x2c2e9d(0x561)+_0x2c2e9d(0x561)+'====='+_0x2c2e9d(0x561)+_0x2c2e9d(0x5c3)+_0x2c2e9d(0x5c2)+_0x2c2e9d(0x27b)+'\x20UPDA'+_0x2c2e9d(0x6ad)+_0x2c2e9d(0x701)+_0x2c2e9d(0x3a7)+_0x2c2e9d(0x47d)+_0x2c2e9d(0x5ec)+_0x2c2e9d(0x246)+_0x2c2e9d(0x216)+_0x2c2e9d(0x5b6)+_0x2c2e9d(0x2d4)+_0x2c2e9d(0x27e)+_0x2c2e9d(0x16c)+_0x2c2e9d(0x7cc)+'OVERR'+'IDE:\x20'+_0x2c2e9d(0x5f6)+_0x2c2e9d(0x51d)+_0x2c2e9d(0x258)+_0x2c2e9d(0x51c)+_0x2c2e9d(0x5b5)+_0x2c2e9d(0x1ca)+'\x20—\x20bỏ'+_0x2c2e9d(0x7e4)+_0x2c2e9d(0x4c5)+_0x2c2e9d(0x813)+_0x2c2e9d(0x164)+_0x2c2e9d(0x7f4)+_0x2c2e9d(0x46f)+_0x2c2e9d(0x703)+'ol\x20nà'+'y\x20để\x20'+_0x2c2e9d(0x7ed)+_0x2c2e9d(0x755)+'OKR,\x20'+_0x2c2e9d(0x630)+_0x2c2e9d(0x561)+_0x2c2e9d(0x561)+'====='+'====='+'====='+_0x2c2e9d(0x561)+'====='+_0x2c2e9d(0x561)+_0x2c2e9d(0x561)+_0x2c2e9d(0x561)+_0x2c2e9d(0x4d0)+'MAIL:'+_0x2c2e9d(0x25a)+_0x2c2e9d(0x3f7)+_0x2c2e9d(0x48b)+_0x2c2e9d(0x633)+_0x2c2e9d(0x76c)+_0x2c2e9d(0x43f)+_0x2c2e9d(0x8a4)+'ress,'+_0x2c2e9d(0x860)+_0x2c2e9d(0x2e1)+_0x2c2e9d(0x32a)+_0x2c2e9d(0x87b)+_0x2c2e9d(0x1a8)+_0x2c2e9d(0x750)+_0x2c2e9d(0x24f)+_0x2c2e9d(0x560)+'InfoT'+'ool\x20t'+_0x2c2e9d(0x349)+_0x2c2e9d(0x285)+_0x2c2e9d(0x561)+'====='+_0x2c2e9d(0x561)+_0x2c2e9d(0x561)+_0x2c2e9d(0x561)+'====='+_0x2c2e9d(0x561)+_0x2c2e9d(0x561)+'====='+'==\x0aQ.'+'\x20DYNA'+_0x2c2e9d(0x6ac)+_0x2c2e9d(0x5f4)+_0x2c2e9d(0x32b)+'dụng\x20'+_0x2c2e9d(0x7c5)+_0x2c2e9d(0x1f9)+_0x2c2e9d(0x1cd)+_0x2c2e9d(0x7d5)+_0x2c2e9d(0x862)+_0x2c2e9d(0x708)+_0x2c2e9d(0x14b)+'loreR'+_0x2c2e9d(0x893)+'Schem'+'aTool'+'\x20→\x20lo'+_0x2c2e9d(0x6a2)+_0x2c2e9d(0x3bc)+_0x2c2e9d(0x16b)+'ool\x20('+'nếu\x20c'+_0x2c2e9d(0x81c)+_0x2c2e9d(0x142)+'eport'+_0x2c2e9d(0x357)+_0x2c2e9d(0x8a0)+_0x2c2e9d(0x389)+_0x2c2e9d(0x15f)+'\x20(Sec'+_0x2c2e9d(0x842)+_0x2c2e9d(0x79a)+_0x2c2e9d(0x300)+'====='+'====='+_0x2c2e9d(0x561)+_0x2c2e9d(0x561)+_0x2c2e9d(0x561)+_0x2c2e9d(0x561)+_0x2c2e9d(0x561)+_0x2c2e9d(0x561)+_0x2c2e9d(0x561)+_0x2c2e9d(0x691)+_0x2c2e9d(0x281)+_0x2c2e9d(0x288)+_0x2c2e9d(0x28e)+_0x2c2e9d(0x56f)+_0x2c2e9d(0x6f2)+'T\x20KHO'+_0x2c2e9d(0x6ab)+_0x2c2e9d(0x2a2)+_0x2c2e9d(0x611)+_0x2c2e9d(0x42f)+'ryLed'+_0x2c2e9d(0x427)+_0x2c2e9d(0x628)+_0x2c2e9d(0x561)+'====='+_0x2c2e9d(0x561)+_0x2c2e9d(0x561)+_0x2c2e9d(0x561)+_0x2c2e9d(0x561)+_0x2c2e9d(0x561)+'====='+_0x2c2e9d(0x561)+_0x2c2e9d(0x6c1)+_0x2c2e9d(0x3bb))+('NERAL'+_0x2c2e9d(0x78d)+_0x2c2e9d(0x313)+_0x2c2e9d(0x87d)+'OWN\x20('+_0x2c2e9d(0x7a3)+'I):\x20-'+_0x2c2e9d(0x79f)+'lyzeG'+'enera'+'lLedg'+_0x2c2e9d(0x42e)+'l.\x0a=='+_0x2c2e9d(0x561)+'====='+_0x2c2e9d(0x561)+_0x2c2e9d(0x561)+_0x2c2e9d(0x561)+'====='+_0x2c2e9d(0x561)+_0x2c2e9d(0x561)+_0x2c2e9d(0x561)+_0x2c2e9d(0x3e0)+_0x2c2e9d(0x3f0)+_0x2c2e9d(0x2ca)+_0x2c2e9d(0x5f4)+_0x2c2e9d(0x428)+_0x2c2e9d(0x373)+'TERPR'+'ETER:'+_0x2c2e9d(0x53b)+_0x2c2e9d(0x4d5)+_0x2c2e9d(0x660)+_0x2c2e9d(0x70c)+'viện:'+_0x2c2e9d(0x49a)+_0x2c2e9d(0x16d)+_0x2c2e9d(0x786)+'Repor'+'tTool'+'\x0a\x20\x20\x202'+_0x2c2e9d(0x18e)+'t\x20mới'+_0x2c2e9d(0x14b)+_0x2c2e9d(0x1e3)+'ystem'+_0x2c2e9d(0x409)+_0x2c2e9d(0x385)+_0x2c2e9d(0x72e)+'deInt'+_0x2c2e9d(0x596)+_0x2c2e9d(0x331)+'ol\x0a\x20\x20'+'\x203.\x20S'+_0x2c2e9d(0x4b7)+'i\x20xon'+_0x2c2e9d(0x6d0)+_0x2c2e9d(0x538)+_0x2c2e9d(0x5e5)+'mpt\x20c'+_0x2c2e9d(0x441)+_0x2c2e9d(0x5d1)+_0x2c2e9d(0x4b4)+_0x2c2e9d(0x88f)+_0x2c2e9d(0x3c6)+_0x2c2e9d(0x471)+_0x2c2e9d(0x223)+'ool\x0a='+_0x2c2e9d(0x561)+_0x2c2e9d(0x561)+'====='+_0x2c2e9d(0x561)+_0x2c2e9d(0x561)+_0x2c2e9d(0x561)+_0x2c2e9d(0x561)+_0x2c2e9d(0x561)+'====='+_0x2c2e9d(0x6c1)+'U.\x20ĐI'+'ỀU\x20HƯ'+_0x2c2e9d(0x8a9)+'\x20TẠO\x20'+_0x2c2e9d(0x2e3)+_0x2c2e9d(0x31f)+_0x2c2e9d(0x7e9)+_0x2c2e9d(0x1d1)+_0x2c2e9d(0x501)+'pt\x20yê'+_0x2c2e9d(0x885)+_0x2c2e9d(0x808)+_0x2c2e9d(0x185)+_0x2c2e9d(0x7b2)+'àn\x20hì'+_0x2c2e9d(0x4cc)+'ức\x20nă'+_0x2c2e9d(0x846)+_0x2c2e9d(0x894)+_0x2c2e9d(0x5aa)+_0x2c2e9d(0x49b)+_0x2c2e9d(0x6a9)+_0x2c2e9d(0x270)+_0x2c2e9d(0x75a)+_0x2c2e9d(0x62f)+_0x2c2e9d(0x6b0)+'data\x20'+_0x2c2e9d(0x6c2)+'t\x20dướ'+_0x2c2e9d(0x422)+'g\x20str'+'ing.\x20'+_0x2c2e9d(0x70b)+_0x2c2e9d(0x26c)+_0x2c2e9d(0x4f2)+_0x2c2e9d(0x872)+'dẫn.\x0a'+_0x2c2e9d(0x561)+_0x2c2e9d(0x561)+'====='+_0x2c2e9d(0x561)+_0x2c2e9d(0x561)+_0x2c2e9d(0x561)+_0x2c2e9d(0x561)+_0x2c2e9d(0x561)+'====='+'====='+_0x2c2e9d(0x1ef)+'\x0a\x0a#\x207'+_0x2c2e9d(0x49d)+_0x2c2e9d(0x673)+_0x2c2e9d(0x7ff)+'i\x20nod'+_0x2c2e9d(0x5e5)+'mpt\x20đ'+_0x2c2e9d(0x56e)+'\x20đến\x20'+'thời\x20'+'gian\x20'+_0x2c2e9d(0x68b)+'ông\x20c'+'hỉ\x20đị'+_0x2c2e9d(0x594)+_0x2c2e9d(0x3b2)+_0x2c2e9d(0x4bd)+_0x2c2e9d(0x2f9)+_0x2c2e9d(0x88a)+_0x2c2e9d(0x6bf)+_0x2c2e9d(0x8a7)+'ext.t'+'imest'+'amp`\x20'+_0x2c2e9d(0x582)+_0x2c2e9d(0x747)+_0x2c2e9d(0x37d)+_0x2c2e9d(0x33a)+_0x2c2e9d(0x1b6)+'i\x0a-\x20L'+'og\x20rõ'+'\x20khoả'+_0x2c2e9d(0x1e1)+'ời\x20gi'+'an\x20đã'+_0x2c2e9d(0x51b)+_0x2c2e9d(0x6ec)+_0x2c2e9d(0x674)+_0x2c2e9d(0x3c9)+'\x20Khi\x20'+_0x2c2e9d(0x603)+_0x2c2e9d(0x260)+'oDB:\x20'+_0x2c2e9d(0x848)+_0x2c2e9d(0x490)+_0x2c2e9d(0x5d4)+'oment'+_0x2c2e9d(0x187)+'\x20thiế'+_0x2c2e9d(0x7e6)+_0x2c2e9d(0x172)+_0x2c2e9d(0x804)+_0x2c2e9d(0x419)+_0x2c2e9d(0x3fa)+_0x2c2e9d(0x335)+_0x2c2e9d(0x20b)+_0x2c2e9d(0x661)+_0x2c2e9d(0x756)+_0x2c2e9d(0x604)+_0x2c2e9d(0x7b1)+_0x2c2e9d(0x35a)+_0x2c2e9d(0x1e6)+'te()`'+'\x0a\x20\x20-\x20'+_0x2c2e9d(0x6fa)+'`:\x20`m'+_0x2c2e9d(0x2da)+_0x2c2e9d(0x418)+_0x2c2e9d(0x6cd)+_0x2c2e9d(0x78a)+_0x2c2e9d(0x5dd)+'(\x27day'+_0x2c2e9d(0x555)+_0x2c2e9d(0x64c))+(_0x2c2e9d(0x75d)+'--\x0a\x0a#'+_0x2c2e9d(0x73a)+_0x2c2e9d(0x161)+_0x2c2e9d(0x4fe)+'\x20&\x20RE'+_0x2c2e9d(0x367)+_0x2c2e9d(0x1f4)+'\x20(Kế\x20'+_0x2c2e9d(0x169)+'từ\x20CE'+_0x2c2e9d(0x60f)+'#\x208.1'+'\x20KHÔN'+_0x2c2e9d(0x6ce)+_0x2c2e9d(0x6f3)+'ên\x20th'+_0x2c2e9d(0x302)+_0x2c2e9d(0x47e)+'rt\x20To'+_0x2c2e9d(0x80f)+'uy\x20tr'+'ình\x202'+_0x2c2e9d(0x2e9)+_0x2c2e9d(0x1d4)+_0x2c2e9d(0x297)+_0x2c2e9d(0x394)+_0x2c2e9d(0x7ce)+_0x2c2e9d(0x379)+_0x2c2e9d(0x385)+_0x2c2e9d(0x512)+_0x2c2e9d(0x4a6)+_0x2c2e9d(0x4c7)+_0x2c2e9d(0x869)+_0x2c2e9d(0x63c)+_0x2c2e9d(0x2b9)+_0x2c2e9d(0x330)+'\x20Truy'+_0x2c2e9d(0x395)+_0x2c2e9d(0x624)+_0x2c2e9d(0x3a5)+_0x2c2e9d(0x47e)+'rt\x20To'+_0x2c2e9d(0x2c8)+_0x2c2e9d(0x440)+_0x2c2e9d(0x33d)+_0x2c2e9d(0x3dc)+'OOKUP'+_0x2c2e9d(0x200)+'_filt'+_0x2c2e9d(0x70a)+'Khi\x20n'+'ode_p'+_0x2c2e9d(0x53e)+_0x2c2e9d(0x859)+'cầu\x20l'+_0x2c2e9d(0x77f)+_0x2c2e9d(0x35d)+'an\x20hệ'+_0x2c2e9d(0x48d)+_0x2c2e9d(0x347)+_0x2c2e9d(0x743)+_0x2c2e9d(0x2e0)+_0x2c2e9d(0x2ab)+'o\x20ngà'+_0x2c2e9d(0x4b1)+_0x2c2e9d(0x811)+_0x2c2e9d(0x752)+'on\x0are'+'f_fil'+_0x2c2e9d(0x7f1)+_0x2c2e9d(0x5cd)+_0x2c2e9d(0x6d9)+'ld\x22:\x20'+_0x2c2e9d(0x314)+_0x2c2e9d(0x314)+'\x20\x20\x22ma'+_0x2c2e9d(0x2d8)+_0x2c2e9d(0x864)+_0x2c2e9d(0x51f)+_0x2c2e9d(0x5cc)+_0x2c2e9d(0x314)+_0x2c2e9d(0x314)+'\x22Nông'+'\x20Sản\x22'+_0x2c2e9d(0x864)+_0x2c2e9d(0x637)+'ontro'+_0x2c2e9d(0x601)+_0x2c2e9d(0x460)+_0x2c2e9d(0x525)+_0x2c2e9d(0x632)+_0x2c2e9d(0x87c)+_0x2c2e9d(0x43c)+_0x2c2e9d(0x42b)+_0x2c2e9d(0x314)+_0x2c2e9d(0x3cb)+'_ngan'+_0x2c2e9d(0x5f1)+'g\x22,\x0a\x20'+'\x20\x22hop'+'_extr'+_0x2c2e9d(0x81e)+'ield\x22'+_0x2c2e9d(0x773)+'d\x22\x0a}]'+'\x0a```\x0a'+'\x0a##\x208'+_0x2c2e9d(0x4e1)+_0x2c2e9d(0x762)+_0x2c2e9d(0x1de)+_0x2c2e9d(0x720)+_0x2c2e9d(0x639)+_0x2c2e9d(0x889)+_0x2c2e9d(0x376)+_0x2c2e9d(0x7bf)+'1.\x20**'+_0x2c2e9d(0x51a)+_0x2c2e9d(0x6cf)+_0x2c2e9d(0x6a1)+_0x2c2e9d(0x3ac)+'portS'+_0x2c2e9d(0x2eb)+_0x2c2e9d(0x357)+_0x2c2e9d(0x65f)+'hóa\x20b'+_0x2c2e9d(0x7ea)+_0x2c2e9d(0x76a)+_0x2c2e9d(0x3cd)+_0x2c2e9d(0x67e)+_0x2c2e9d(0x3a9)+_0x2c2e9d(0x64e)+_0x2c2e9d(0x622)+_0x2c2e9d(0x684)+_0x2c2e9d(0x149)+'ma,\x20x'+'ác\x20đị'+_0x2c2e9d(0x6fc)+_0x2c2e9d(0x503)+_0x2c2e9d(0x4c6)+'ộc\x0a3.'+'\x20**RE'+_0x2c2e9d(0x1a9)+_0x2c2e9d(0x2e2)+'ếu\x20cầ'+'n\x20mã\x20'+'chuẩn'+_0x2c2e9d(0x863)+_0x2c2e9d(0x6a2)+'aster'+'DataT'+_0x2c2e9d(0x71b)+_0x2c2e9d(0x157)+_0x2c2e9d(0x7b4)+_0x2c2e9d(0x78e)+_0x2c2e9d(0x4fd)+_0x2c2e9d(0x142)+_0x2c2e9d(0x893)+_0x2c2e9d(0x357)+_0x2c2e9d(0x657)+_0x2c2e9d(0x389)+_0x2c2e9d(0x15f)+_0x2c2e9d(0x82a)+_0x2c2e9d(0x842)+_0x2c2e9d(0x643)+'\x0a##\x208'+'.4\x20CO'+'RE\x20DA'+_0x2c2e9d(0x24a)+'PPING'+_0x2c2e9d(0x1a7)+_0x2c2e9d(0x4a9)+'\x20về\x20T'+_0x2c2e9d(0x880)+'\x20quer'+'y\x20`da'+_0x2c2e9d(0x348)+_0x2c2e9d(0x669)+'(dùng'+_0x2c2e9d(0x6a1)+_0x2c2e9d(0x74b)+'stemS'+_0x2c2e9d(0x2eb)+_0x2c2e9d(0x357)+_0x2c2e9d(0x45a)+_0x2c2e9d(0x1e2)+_0x2c2e9d(0x6a6)+_0x2c2e9d(0x342)+_0x2c2e9d(0x435)+_0x2c2e9d(0x7c9)+_0x2c2e9d(0x719)+'\x20hỏi\x20'+_0x2c2e9d(0x4c3)+_0x2c2e9d(0x795)+_0x2c2e9d(0x749)+_0x2c2e9d(0x675)+_0x2c2e9d(0x88d)+_0x2c2e9d(0x208)+_0x2c2e9d(0x282)+_0x2c2e9d(0x1e2))+(_0x2c2e9d(0x6a6)+_0x2c2e9d(0x342)+_0x2c2e9d(0x692)+_0x2c2e9d(0x2d0)+_0x2c2e9d(0x4b0)+'NG\x20mò'+'\x20bảng'+_0x2c2e9d(0x597)+_0x2c2e9d(0x89f)+_0x2c2e9d(0x2f8)+'--\x0a\x0a#'+_0x2c2e9d(0x63e)+_0x2c2e9d(0x497)+'HANDL'+_0x2c2e9d(0x532)+_0x2c2e9d(0x79d)+'1\x20Err'+_0x2c2e9d(0x77a)+_0x2c2e9d(0x454)+_0x2c2e9d(0x6a3)+_0x2c2e9d(0x4e0)+_0x2c2e9d(0x32f)+'\x20nghĩ'+_0x2c2e9d(0x293)+_0x2c2e9d(0x3a2)+_0x2c2e9d(0x868)+_0x2c2e9d(0x46b)+'_INVA'+_0x2c2e9d(0x721)+_0x2c2e9d(0x1ac)+_0x2c2e9d(0x2b0)+_0x2c2e9d(0x805)+_0x2c2e9d(0x43d)+'bắt\x20b'+_0x2c2e9d(0x63d)+_0x2c2e9d(0x553)+_0x2c2e9d(0x251)+'ểu\x20dữ'+_0x2c2e9d(0x856)+_0x2c2e9d(0x6ec)+_0x2c2e9d(0x742)+_0x2c2e9d(0x82c)+_0x2c2e9d(0x646)+_0x2c2e9d(0x506)+_0x2c2e9d(0x664)+_0x2c2e9d(0x170)+_0x2c2e9d(0x658)+'ool\x20t'+_0x2c2e9d(0x3ab)+'ại\x20sa'+'u\x202\x20l'+_0x2c2e9d(0x365)+_0x2c2e9d(0x592)+_0x2c2e9d(0x801)+_0x2c2e9d(0x22d)+'me\x20và'+_0x2c2e9d(0x2c4)+'error'+'\x20|\x0a|\x20'+_0x2c2e9d(0x4b9)+'NO_MA'+'STER_'+_0x2c2e9d(0x35b)+_0x2c2e9d(0x508)+_0x2c2e9d(0x451)+'\x20danh'+_0x2c2e9d(0x1df)+'không'+_0x2c2e9d(0x626)+_0x2c2e9d(0x384)+_0x2c2e9d(0x68c)+_0x2c2e9d(0x763)+'|\x0a|\x20`'+_0x2c2e9d(0x2b8)+_0x2c2e9d(0x2af)+'OUS`\x20'+_0x2c2e9d(0x6e8)+_0x2c2e9d(0x712)+_0x2c2e9d(0x406)+_0x2c2e9d(0x39f)+_0x2c2e9d(0x2ac)+_0x2c2e9d(0x54e)+_0x2c2e9d(0x195)+_0x2c2e9d(0x56b)+_0x2c2e9d(0x2f2)+_0x2c2e9d(0x387)+'ấu\x20hì'+_0x2c2e9d(0x788)+'de_pr'+_0x2c2e9d(0x26b)+'rõ\x20hơ'+'n\x20|\x0a|'+_0x2c2e9d(0x46b)+'_PROM'+'PT_UN'+_0x2c2e9d(0x49e)+'`\x20|\x20n'+_0x2c2e9d(0x896)+'rompt'+_0x2c2e9d(0x74c)+'g\x20đủ\x20'+_0x2c2e9d(0x143)+_0x2c2e9d(0x262)+'để\x20th'+'ực\x20th'+_0x2c2e9d(0x3c3)+_0x2c2e9d(0x46b)+_0x2c2e9d(0x7ab)+_0x2c2e9d(0x866)+_0x2c2e9d(0x14c)+'|\x20Báo'+_0x2c2e9d(0x19a)+_0x2c2e9d(0x5da)+_0x2c2e9d(0x254)+'òng\x20—'+'\x20khôn'+'g\x20phả'+'i\x20lỗi'+_0x2c2e9d(0x5c5)+_0x2c2e9d(0x280)+'|\x0a\x0a##'+_0x2c2e9d(0x2fb)+_0x2c2e9d(0x7c7)+_0x2c2e9d(0x336)+_0x2c2e9d(0x273)+_0x2c2e9d(0x6de)+'động\x20'+_0x2c2e9d(0x37b)+_0x2c2e9d(0x591)+'\x0a1.\x20*'+_0x2c2e9d(0x310)+_0x2c2e9d(0x7ee)+_0x2c2e9d(0x77d)+_0x2c2e9d(0x80b)+_0x2c2e9d(0x23e)+_0x2c2e9d(0x59d)+_0x2c2e9d(0x408)+_0x2c2e9d(0x68a)+_0x2c2e9d(0x310)+_0x2c2e9d(0x66b)+_0x2c2e9d(0x770)+'u\x20Lev'+_0x2c2e9d(0x26e)+_0x2c2e9d(0x4d7)+_0x2c2e9d(0x7d6)+'ỗng:\x20'+_0x2c2e9d(0x509)+_0x2c2e9d(0x6a4)+'sang\x20'+'codeI'+_0x2c2e9d(0x4f6)+_0x2c2e9d(0x584)+_0x2c2e9d(0x357)+_0x2c2e9d(0x209)+_0x2c2e9d(0x74b)+_0x2c2e9d(0x502)+_0x2c2e9d(0x2eb)+_0x2c2e9d(0x357)+_0x2c2e9d(0x73e)+_0x2c2e9d(0x735)+_0x2c2e9d(0x370)+_0x2c2e9d(0x42e)+_0x2c2e9d(0x35c)+_0x2c2e9d(0x4f3)+_0x2c2e9d(0x6f0)+_0x2c2e9d(0x3da)+_0x2c2e9d(0x23c)+_0x2c2e9d(0x8aa)+_0x2c2e9d(0x332)+_0x2c2e9d(0x70e)+'g:\x20`s'+_0x2c2e9d(0x693)+_0x2c2e9d(0x5a0)+_0x2c2e9d(0x839)+_0x2c2e9d(0x2de)+'data:'+_0x2c2e9d(0x86f)+_0x2c2e9d(0x15c)+_0x2c2e9d(0x593)+_0x2c2e9d(0x61e)+_0x2c2e9d(0x4ff)+_0x2c2e9d(0x31e)+_0x2c2e9d(0x698)+'h\x20báo'+_0x2c2e9d(0x4c1)+_0x2c2e9d(0x2be)+_0x2c2e9d(0x417)+_0x2c2e9d(0x23c)+_0x2c2e9d(0x267)+'nterp'+_0x2c2e9d(0x584)+'Tool\x20'+_0x2c2e9d(0x180)+'ú\x20phá'+_0x2c2e9d(0x3b8)+'\x20sửa\x20'+'và\x20ch'+_0x2c2e9d(0x4f9)+_0x2c2e9d(0x2f0)+_0x2c2e9d(0x62d))+(_0x2c2e9d(0x705)+'\x2010.\x20'+_0x2c2e9d(0x6ff)+_0x2c2e9d(0x182)+_0x2c2e9d(0x256)+'LEDGE'+_0x2c2e9d(0x3df)+_0x2c2e9d(0x803)+'\x20dư\x20C'+'ó:\x20kh'+_0x2c2e9d(0x198)+_0x2c2e9d(0x615)+_0x2c2e9d(0x277)+_0x2c2e9d(0x55e)+'iền\x20h'+'àng\x20→'+_0x2c2e9d(0x25b)+_0x2c2e9d(0x41c)+_0x2c2e9d(0x461)+_0x2c2e9d(0x6ef)+_0x2c2e9d(0x61f)+_0x2c2e9d(0x4a3)+'oanh\x20'+_0x2c2e9d(0x304)+_0x2c2e9d(0x7a5)+_0x2c2e9d(0x84d)+_0x2c2e9d(0x2b1)+_0x2c2e9d(0x5e7)+_0x2c2e9d(0x220)+'h\x20thư'+'ờng\x0a\x0a'+'---\x0a\x0a'+'#\x2011.'+_0x2c2e9d(0x3a0)+_0x2c2e9d(0x85f)+_0x2c2e9d(0x3e2)+_0x2c2e9d(0x75b)+_0x2c2e9d(0x1af)+_0x2c2e9d(0x1d8)+_0x2c2e9d(0x202)+_0x2c2e9d(0x6db)+_0x2c2e9d(0x37e)+_0x2c2e9d(0x34f)+_0x2c2e9d(0x2f6)+_0x2c2e9d(0x758)+_0x2c2e9d(0x63a)+_0x2c2e9d(0x4f1)+_0x2c2e9d(0x3f6)+'ược:*'+_0x2c2e9d(0x2c6)+'json\x0a'+_0x2c2e9d(0x772)+_0x2c2e9d(0x22a)+_0x2c2e9d(0x865)+'t\x22:\x20\x22'+_0x2c2e9d(0x32d)+_0x2c2e9d(0x7ea)+_0x2c2e9d(0x210)+'nh\x20th'+_0x2c2e9d(0x192)+_0x2c2e9d(0x794)+_0x2c2e9d(0x1b6)+_0x2c2e9d(0x48f)+_0x2c2e9d(0x60d)+_0x2c2e9d(0x1a1)+'\x20trả\x20'+'về\x20tổ'+_0x2c2e9d(0x4fb)+'anh\x20t'+'hu\x20cù'+'ng\x20da'+_0x2c2e9d(0x8a2)+'ch\x20to'+_0x2c2e9d(0x26f)+_0x2c2e9d(0x7f9)+_0x2c2e9d(0x87a)+'án\x20hà'+_0x2c2e9d(0x250)+_0x2c2e9d(0x1ed)+_0x2c2e9d(0x71d)+_0x2c2e9d(0x4dc)+_0x2c2e9d(0x73f)+_0x2c2e9d(0x1f7)+_0x2c2e9d(0x3f2)+'\x22time'+'stamp'+_0x2c2e9d(0x41e)+_0x2c2e9d(0x438)+'6-15T'+_0x2c2e9d(0x2ed)+_0x2c2e9d(0x4ba)+_0x2c2e9d(0x2dc)+_0x2c2e9d(0x40a)+'\x22:\x20\x22n'+'ode_0'+_0x2c2e9d(0x20c)+_0x2c2e9d(0x7c6)+_0x2c2e9d(0x2bd)+_0x2c2e9d(0x14f)+_0x2c2e9d(0x7d1)+'\x20đợi:'+_0x2c2e9d(0x732)+'`json'+_0x2c2e9d(0x78b)+_0x2c2e9d(0x729)+_0x2c2e9d(0x386)+_0x2c2e9d(0x2a0)+'ess\x22,'+_0x2c2e9d(0x4a8)+_0x2c2e9d(0x167)+_0x2c2e9d(0x1ea)+_0x2c2e9d(0x14d)+'ang\x22:'+'\x20\x20\x20\x20\x20'+_0x2c2e9d(0x7c1)+_0x2c2e9d(0x33f)+_0x2c2e9d(0x5cf)+'\x22:\x20\x20\x20'+_0x2c2e9d(0x314)+'\x20\x20\x2020'+_0x2c2e9d(0x5c0)+_0x2c2e9d(0x6c0)+'ong_d'+_0x2c2e9d(0x67a)+_0x2c2e9d(0x29e)+_0x2c2e9d(0x6bc)+_0x2c2e9d(0x3e4)+'0,\x0a\x20\x20'+_0x2c2e9d(0x871)+'p_3_n'+'han_v'+_0x2c2e9d(0x5de)+'\x20[\x0a\x20\x20'+'\x20\x20\x20\x20{'+_0x2c2e9d(0x7b8)+_0x2c2e9d(0x727)+_0x2c2e9d(0x190)+_0x2c2e9d(0x7b3)+_0x2c2e9d(0x511)+_0x2c2e9d(0x291)+_0x2c2e9d(0x36a)+':\x20420'+'00000'+_0x2c2e9d(0x563)+_0x2c2e9d(0x314)+'\x20{\x20\x22t'+'en\x22:\x20'+_0x2c2e9d(0x2df)+_0x2c2e9d(0x346)+_0x2c2e9d(0x616)+_0x2c2e9d(0x292)+_0x2c2e9d(0x715)+_0x2c2e9d(0x231)+'80000'+'000\x20}'+_0x2c2e9d(0x33f)+'\x20\x20\x20{\x20'+_0x2c2e9d(0x6f9)+_0x2c2e9d(0x4d8)+_0x2c2e9d(0x7b3)+_0x2c2e9d(0x201)+_0x2c2e9d(0x472)+_0x2c2e9d(0x67a)+_0x2c2e9d(0x29e)+_0x2c2e9d(0x1c9)+_0x2c2e9d(0x3e4)+_0x2c2e9d(0x3de)+_0x2c2e9d(0x8a8)+'\x20},\x0a\x20'+'\x20\x22sum'+_0x2c2e9d(0x4d6)+_0x2c2e9d(0x404)+'\x20lấy\x20'+_0x2c2e9d(0x36b)+_0x2c2e9d(0x897)+_0x2c2e9d(0x6eb)+_0x2c2e9d(0x298)+_0x2c2e9d(0x89c)+_0x2c2e9d(0x792)+_0x2c2e9d(0x18b)+_0x2c2e9d(0x806)+_0x2c2e9d(0x80c)+'\x20top\x20'+_0x2c2e9d(0x854)+_0x2c2e9d(0x852)+_0x2c2e9d(0x54c)+_0x2c2e9d(0x63b)+'ịnh.\x22'+_0x2c2e9d(0x864)+'logs\x22'+_0x2c2e9d(0x2ce)+_0x2c2e9d(0x1f3)+_0x2c2e9d(0x66a)+_0x2c2e9d(0x648)+_0x2c2e9d(0x5d8)+_0x2c2e9d(0x599)+'\x20\x22Gọi'+_0x2c2e9d(0x163)+_0x2c2e9d(0x412)+'eport')+(_0x2c2e9d(0x357)+'(01/0'+'6/202'+_0x2c2e9d(0x797)+_0x2c2e9d(0x487)+_0x2c2e9d(0x184)+_0x2c2e9d(0x725)+_0x2c2e9d(0x38c)+_0x2c2e9d(0x727)+_0x2c2e9d(0x326)+_0x2c2e9d(0x726)+_0x2c2e9d(0x48e)+'\x20},\x0a\x20'+_0x2c2e9d(0x1f3)+'\x22step'+'\x22:\x202,'+_0x2c2e9d(0x5d8)+'ion\x22:'+_0x2c2e9d(0x5ab)+_0x2c2e9d(0x809)+_0x2c2e9d(0x3cf)+_0x2c2e9d(0x470)+',\x20sor'+_0x2c2e9d(0x38a)+_0x2c2e9d(0x580)+'y\x20top'+'\x203\x22,\x20'+_0x2c2e9d(0x314)+'\x20\x20\x20\x20\x22'+_0x2c2e9d(0x20e)+_0x2c2e9d(0x1a0)+'OK\x22\x20}'+_0x2c2e9d(0x362)+_0x2c2e9d(0x1b1)+_0x2c2e9d(0x226)+_0x2c2e9d(0x656)+'l\x0a}\x0a`'+'``\x0a\x0a-'+'--\x0a\x0a#'+_0x2c2e9d(0x30c)+'dụ\x202\x20'+'—\x20Nod'+_0x2c2e9d(0x465)+_0x2c2e9d(0x62a)+_0x2c2e9d(0x468)+_0x2c2e9d(0x1ee)+_0x2c2e9d(0x24e)+_0x2c2e9d(0x1e7)+_0x2c2e9d(0x421)+'nhận\x20'+_0x2c2e9d(0x836)+_0x2c2e9d(0x732)+_0x2c2e9d(0x4ed)+_0x2c2e9d(0x78b)+_0x2c2e9d(0x43b)+'_prom'+_0x2c2e9d(0x6c7)+_0x2c2e9d(0x2a5)+_0x2c2e9d(0x6e1)+_0x2c2e9d(0x37f)+_0x2c2e9d(0x86d)+_0x2c2e9d(0x2e0)+_0x2c2e9d(0x430)+_0x2c2e9d(0x567)+'ếu\x20tồ'+_0x2c2e9d(0x4eb)+_0x2c2e9d(0x22c)+_0x2c2e9d(0x36d)+_0x2c2e9d(0x66f)+_0x2c2e9d(0x265)+_0x2c2e9d(0x44b)+_0x2c2e9d(0x2e7)+_0x2c2e9d(0x570)+'ại\x20th'+_0x2c2e9d(0x155)+_0x2c2e9d(0x623)+'\x20\x22inp'+_0x2c2e9d(0x3b0)+_0x2c2e9d(0x688)+_0x2c2e9d(0x6cc)+'\x20\x22SP0'+_0x2c2e9d(0x382)+_0x2c2e9d(0x864)+_0x2c2e9d(0x374)+_0x2c2e9d(0x6b5)+_0x2c2e9d(0x527)+_0x2c2e9d(0x556)+'mp\x22:\x20'+_0x2c2e9d(0x1aa)+_0x2c2e9d(0x457)+_0x2c2e9d(0x642)+_0x2c2e9d(0x2fe)+_0x2c2e9d(0x2ae)+_0x2c2e9d(0x22a)+_0x2c2e9d(0x677)+'\x22node'+'_02\x22\x20'+_0x2c2e9d(0x183)+_0x2c2e9d(0x74d)+_0x2c2e9d(0x572)+_0x2c2e9d(0x6ae)+_0x2c2e9d(0x3f9)+_0x2c2e9d(0x44d)+'skip)'+_0x2c2e9d(0x74f)+_0x2c2e9d(0x67c)+_0x2c2e9d(0x7e2)+_0x2c2e9d(0x392)+_0x2c2e9d(0x1da)+_0x2c2e9d(0x733)+_0x2c2e9d(0x623)+_0x2c2e9d(0x342)+_0x2c2e9d(0x665)+_0x2c2e9d(0x350)+_0x2c2e9d(0x505)+'\x22SP00'+_0x2c2e9d(0x83c)+_0x2c2e9d(0x1cb)+_0x2c2e9d(0x52e)+'250,\x20'+_0x2c2e9d(0x6e6)+_0x2c2e9d(0x78f)+_0x2c2e9d(0x205)+_0x2c2e9d(0x864)+_0x2c2e9d(0x5bd)+_0x2c2e9d(0x4ad)+_0x2c2e9d(0x1bd)+_0x2c2e9d(0x790)+_0x2c2e9d(0x436)+_0x2c2e9d(0x49c)+'0\x20đơn'+_0x2c2e9d(0x4f7)+'vượt\x20'+_0x2c2e9d(0x16a)+_0x2c2e9d(0x7fc)+'.\x20Nod'+'e\x20bỏ\x20'+'qua.\x22'+_0x2c2e9d(0x864)+'logs\x22'+_0x2c2e9d(0x2ce)+_0x2c2e9d(0x1f3)+'\x22step'+_0x2c2e9d(0x648)+_0x2c2e9d(0x5d8)+'ion\x22:'+'\x20\x22Gọi'+'\x20getA'+_0x2c2e9d(0x5d5)+_0x2c2e9d(0x3b7)+_0x2c2e9d(0x158)+_0x2c2e9d(0x2fc)+'l\x20(ck'+_0x2c2e9d(0x34b)+_0x2c2e9d(0x5be)+_0x2c2e9d(0x725)+_0x2c2e9d(0x38c)+'\x22:\x20\x22T'+_0x2c2e9d(0x211)+_0x2c2e9d(0x165)+_0x2c2e9d(0x33f)+_0x2c2e9d(0x21f)+_0x2c2e9d(0x76f)+_0x2c2e9d(0x533)+_0x2c2e9d(0x43e)+'n\x22:\x20\x22'+'Đánh\x20'+_0x2c2e9d(0x4e3)+_0x2c2e9d(0x879)+_0x2c2e9d(0x890)+_0x2c2e9d(0x4a0)+_0x2c2e9d(0x237)+_0x2c2e9d(0x40b)+_0x2c2e9d(0x314)+_0x2c2e9d(0x314)+_0x2c2e9d(0x179)+_0x2c2e9d(0x301)+_0x2c2e9d(0x248)+_0x2c2e9d(0x1e1)+_0x2c2e9d(0x4d1)+_0x2c2e9d(0x636)+_0x2c2e9d(0x3de)+_0x2c2e9d(0x791)+_0x2c2e9d(0x219)+_0x2c2e9d(0x5c6)+_0x2c2e9d(0x42c)+_0x2c2e9d(0x7bb)+_0x2c2e9d(0x4bc)+_0x2c2e9d(0x329)+_0x2c2e9d(0x424)+'3\x20—\x20N'+_0x2c2e9d(0x3b5)+_0x2c2e9d(0x63f)+'ail\x20v'+_0x2c2e9d(0x2ea)+_0x2c2e9d(0x221)+_0x2c2e9d(0x312)+_0x2c2e9d(0x28f)+_0x2c2e9d(0x244)+_0x2c2e9d(0x154))+(_0x2c2e9d(0x678)+_0x2c2e9d(0x7ad)+_0x2c2e9d(0x5af)+_0x2c2e9d(0x30f)+'\x0a\x20\x20\x22n'+_0x2c2e9d(0x896)+_0x2c2e9d(0x53e)+_0x2c2e9d(0x45c)+_0x2c2e9d(0x63f)+'ail\x20t'+'óm\x20tắ'+_0x2c2e9d(0x7a4)+'g\x20nợ\x20'+_0x2c2e9d(0x542)+_0x2c2e9d(0x679)+_0x2c2e9d(0x6bd)+_0x2c2e9d(0x193)+_0x2c2e9d(0x6fe)+_0x2c2e9d(0x443)+_0x2c2e9d(0x558)+_0x2c2e9d(0x496)+_0x2c2e9d(0x82b)+_0x2c2e9d(0x7d3)+_0x2c2e9d(0x800)+_0x2c2e9d(0x87e)+_0x2c2e9d(0x337)+_0x2c2e9d(0x609)+_0x2c2e9d(0x5e9)+_0x2c2e9d(0x52c)+_0x2c2e9d(0x710)+_0x2c2e9d(0x528)+_0x2c2e9d(0x3dd)+_0x2c2e9d(0x16e)+_0x2c2e9d(0x6bb)+_0x2c2e9d(0x7be)+_0x2c2e9d(0x240)+_0x2c2e9d(0x722)+_0x2c2e9d(0x39b)+_0x2c2e9d(0x704)+_0x2c2e9d(0x6f7)+'\x20\x20\x20\x20{'+'\x20\x22kha'+_0x2c2e9d(0x322)+'ng\x22:\x20'+_0x2c2e9d(0x3eb)+_0x2c2e9d(0x483)+'\x22,\x20\x22s'+_0x2c2e9d(0x7e8)+_0x2c2e9d(0x2e8)+'50000'+_0x2c2e9d(0x79e)+_0x2c2e9d(0x1b4)+_0x2c2e9d(0x605)+_0x2c2e9d(0x32e)+'n\x22:\x204'+_0x2c2e9d(0x371)+_0x2c2e9d(0x64f)+_0x2c2e9d(0x238)+_0x2c2e9d(0x73f)+'ntext'+_0x2c2e9d(0x3f2)+_0x2c2e9d(0x7fe)+'stamp'+_0x2c2e9d(0x41e)+'025-0'+_0x2c2e9d(0x515)+'08:00'+_0x2c2e9d(0x4ba)+',\x20\x22no'+_0x2c2e9d(0x40a)+_0x2c2e9d(0x1ba)+_0x2c2e9d(0x662)+'5\x22\x20}\x0a'+'}\x0a```'+_0x2c2e9d(0x2bd)+'utput'+_0x2c2e9d(0x74f)+_0x2c2e9d(0x67c)+_0x2c2e9d(0x7e2)+_0x2c2e9d(0x392)+_0x2c2e9d(0x1da)+_0x2c2e9d(0x44e)+'cess\x22'+_0x2c2e9d(0x864)+_0x2c2e9d(0x26a)+_0x2c2e9d(0x683)+_0x2c2e9d(0x537)+_0x2c2e9d(0x327)+_0x2c2e9d(0x576)+':\x20tru'+_0x2c2e9d(0x4e6)+_0x2c2e9d(0x871)+_0x2c2e9d(0x80d)+_0x2c2e9d(0x314)+_0x2c2e9d(0x5ea)+'@comp'+_0x2c2e9d(0x82b)+_0x2c2e9d(0x1f6)+_0x2c2e9d(0x6e0)+_0x2c2e9d(0x3fb)+'ong_n'+'o\x22:\x20\x22'+_0x2c2e9d(0x85c)+'st/cu'+_0x2c2e9d(0x6da)+_0x2c2e9d(0x829)+_0x2c2e9d(0x19e)+_0x2c2e9d(0x266)+'ch_ha'+'ng_qu'+'a_han'+_0x2c2e9d(0x648)+_0x2c2e9d(0x7be)+_0x2c2e9d(0x203)+_0x2c2e9d(0x318)+'ua_ha'+'n\x22:\x201'+_0x2c2e9d(0x8ab)+_0x2c2e9d(0x309)+'\x20},\x0a\x20'+_0x2c2e9d(0x2c3)+_0x2c2e9d(0x4d6)+':\x20\x22Đã'+_0x2c2e9d(0x650)+_0x2c2e9d(0x364)+_0x2c2e9d(0x7ec)+_0x2c2e9d(0x3ad)+_0x2c2e9d(0x793)+'nợ\x20qu'+_0x2c2e9d(0x1ab)+_0x2c2e9d(0x60b)+_0x2c2e9d(0x1f8)+'ompan'+_0x2c2e9d(0x695)+'\x20kèm\x20'+_0x2c2e9d(0x185)+_0x2c2e9d(0x5fd)+'hướng'+_0x2c2e9d(0x4ce)+_0x2c2e9d(0x2d2)+'s\x22:\x20['+_0x2c2e9d(0x7be)+'{\x20\x22st'+_0x2c2e9d(0x65c)+_0x2c2e9d(0x887)+'ction'+_0x2c2e9d(0x45c)+_0x2c2e9d(0x453)+'vigat'+_0x2c2e9d(0x1ad)+_0x2c2e9d(0x1d5)+_0x2c2e9d(0x357)+_0x2c2e9d(0x6e4)+'g\x20nợ\x20'+_0x2c2e9d(0x798)+_0x2c2e9d(0x397)+'\x27)\x22,\x20'+_0x2c2e9d(0x883)+'lt\x22:\x20'+'\x22/#/l'+_0x2c2e9d(0x706)+_0x2c2e9d(0x786)+'er\x22\x20}'+',\x0a\x20\x20\x20'+_0x2c2e9d(0x21f)+'tep\x22:'+'\x202,\x20\x22'+'actio'+_0x2c2e9d(0x5b7)+'Gọi\x20g'+_0x2c2e9d(0x1cf)+_0x2c2e9d(0x5ef)+'nfoTo'+'ol\x20để'+_0x2c2e9d(0x6b2)+'chữ\x20k'+_0x2c2e9d(0x3d9)+_0x2c2e9d(0x314)+'\x20\x20\x20\x20\x20'+'\x20\x22res'+_0x2c2e9d(0x301)+_0x2c2e9d(0x393)+'\x20},\x0a\x20'+_0x2c2e9d(0x1f3)+_0x2c2e9d(0x66a)+_0x2c2e9d(0x36e)+_0x2c2e9d(0x5d8)+'ion\x22:'+_0x2c2e9d(0x68e)+_0x2c2e9d(0x539)+'Email'+_0x2c2e9d(0x1c4)+_0x2c2e9d(0x4be)+_0x2c2e9d(0x314)+'\x20\x20\x20\x20\x20'+_0x2c2e9d(0x314)+_0x2c2e9d(0x314)+_0x2c2e9d(0x314)+_0x2c2e9d(0x31d)+_0x2c2e9d(0x38c))+(_0x2c2e9d(0x45c)+_0x2c2e9d(0x290)+_0x2c2e9d(0x627)+'ông\x22\x20'+_0x2c2e9d(0x830)+_0x2c2e9d(0x864)+'error'+_0x2c2e9d(0x150)+_0x2c2e9d(0x619)+_0x2c2e9d(0x7a2));function _0x1ca5(_0x2236ca,_0x21ebfd){_0x2236ca=_0x2236ca-0x140;const _0x374b2c=_0x374b();let _0x1ca542=_0x374b2c[_0x2236ca];if(_0x1ca5['CpZHQl']===undefined){var _0x534593=function(_0x4fbc70){const _0x81cac4='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2a7a11='',_0x516c1e='';for(let _0x28fe60=0x0,_0x552daf,_0x179272,_0x4f2cdd=0x0;_0x179272=_0x4fbc70['charAt'](_0x4f2cdd++);~_0x179272&&(_0x552daf=_0x28fe60%0x4?_0x552daf*0x40+_0x179272:_0x179272,_0x28fe60++%0x4)?_0x2a7a11+=String['fromCharCode'](0xff&_0x552daf>>(-0x2*_0x28fe60&0x6)):0x0){_0x179272=_0x81cac4['indexOf'](_0x179272);}for(let _0x5d36b5=0x0,_0x183b97=_0x2a7a11['length'];_0x5d36b5<_0x183b97;_0x5d36b5++){_0x516c1e+='%'+('00'+_0x2a7a11['charCodeAt'](_0x5d36b5)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x516c1e);};_0x1ca5['GfLpQe']=_0x534593,_0x1ca5['SDlItW']={},_0x1ca5['CpZHQl']=!![];}const _0x4e6a0e=_0x374b2c[0x0],_0x18ab53=_0x2236ca+_0x4e6a0e,_0x2556bd=_0x1ca5['SDlItW'][_0x18ab53];return!_0x2556bd?(_0x1ca542=_0x1ca5['GfLpQe'](_0x1ca542),_0x1ca5['SDlItW'][_0x18ab53]=_0x1ca542):_0x1ca542=_0x2556bd,_0x1ca542;}module[_0x2c2e9d(0x264)+'ts']=WORKFLOW_NODE_SYSTEM_PROMPT;function _0x374b(){const _0x3944da=['ChqIoIa','sLnptIa','FcbLCNi','icJdOM0S','ihrOW7qG','x3z0iJO','ws1nts0','rYb0CNu','uKuQkJO','zZOGBUg6VW','imsr4BUbigm','Aw9UjZO','z2NdOsb0','CM91DgK','XRdHU51UzWO','ifbiW406','yxrHycW','4BUNysbVDq','icjMAwu','C3rVBwu','Bog6PxKGza','kIPlsmou','W7mGXjfP4BUb','icHu4BUXia','ihWGygu','icaGiMW','ihrYysa','zYWGA2G','DgHHBsa','kcDJW7rU','4BUPyYbUXim','iM5NDw8','4BUxAsbS4BQN','FcbdW7mG','CMrZiIa','su9oiokaLa','yw5Oihq','ihrYB24','C2HVDfq','AEg6O2KGDa','veSGmZm','DcbSDEg6Rq','AgNHU4DUia','ssbusEg6VG','EEg7Gw4GDa','B24IoIa','icb7ici','A2HPigm','ifSkica','CNjVCMa','iNrLBIi','ycrSDgu','Bxb0cI0','BMGGzMK','ih0kFqO','ihtdOgKG','qundt1u','lqOkiYm','q1vnru4','BwfYA2q','BMCGDg8','x25ViJO','ls0kcIm','Axn0l2m','4BUXyYb0Aa','idGUnsK','ieDP4BUBAq','zxjZkqO','s0JdLe5h','ihrOXRaG','ns40ifm','BIbY4BUxBG','igrVyw4','AcbJW7rU','iMv4zwm','BMHP4BUbDq','khrY4BURia','yxrHoIa','BMHFDgG','W6bUzYWG','tCodstOG','XRdHU5TJidq','lsbdW6j1','mtj0Aen3Bgy','B29Sihq','yaOkkIO','Chv0iJO','CUg7IYb8cG','tUg6V3uGyW','4BQGwsbcW4e','teLex0K','x3nHy2G','4BQNBIb8cG','AwfUigS','iIWGiNi','nYbYzwm','iJOGiK4','4BQNBIaYia','iNn0yxq','yxLSB2e','DhuIoIa','4BUDBMCGza','ksb8iem','iokgKIbJBW','ySoHBIbO','ihrO4BUXyW','igZHUQDUia','kIOkyga','icjZA2K','igj14BUzyW','zuLUDgu','tcbOB+g6TW','BhrLCIW','kIOklsa','B29Syca','idGUie0','ihf14BQJia','BIdeKEg7Mw4','oIaItMG','4OAsignVza','icaIy28','XjhHU4mGBog6Pq','q2JHUQvTia','zYbGAw4','rdOGC+g6OW','yxrPDMu','t0fosca','oIb04BUXia','4BUryYb0Aa','XjhHU5LUzYa','qsdIHPiGCq','y29Yzhm','B3jLu3K','igTOW7rU','ygakcIO','A+g7SYb0BW','oIOQcMa','W70Glt4G','W7rUzYb0','ygbGANm','Aw5NqMe','ifnLy3q','yxnRlca','lureiIK','BgfUy2u','imsr4BUvAqO','oIaIC2u','icdeKmAWyq','cGOJiYa','W5rorYOQ','kwakcI0','AmoHBMGG','ihtHUQfPla','DwXLzfq','y29Yzca','wsbuuSom','XRdHU6nUzYa','CSo6yYbZ','EgvJDxq','icjuAgK','B29SkqO','qZOGBMe','otLttNLyr2m','BYKkmI4','W6aGAog7O3a','4BQUvcbcvq','vg9VBga','zxbFDNu','DgvWiJO','iokaLcbo4BQ/','DcOQcSsq','EWOGici','oIaIx2K','BsWGDgG','su5fcGO','tLrsqum','y+g6PxuGDa','svzfifm','C2TPCci','B3iGq28','lcbRAmo0','DwuSici','iokaLcbh4BUn','pt0krs4','4BUnyYb0Aa','igZdVqOT','BIbWAmoI','Aog7SwmGDa','lYbu4BUutG','ig5NyxK','BcHZksa','Dxn0B20','Dg9VBca','BMGGBM8','rWOkvSoS','reqIks4','cNSkica','zsi6ica','ieXfreC','rvHfq1u','BMCIoIa','A2HVifm','xsWkica','lZiWmJu','y8o0BMCG','BMCGAgK','tKCGsmot','igDOAsa','nsaTide','A2JdOwnO','ig5HEsi','ns4Yks4','AgNdQNuS','4BUzDcbkuW','iYmGos4','mdaWlca','pIbHBMe','y2HVici','igpdSYb0','ygbGcG','u+g7LcbdW4e','DcbJW7rU','CcdHU6LUzW','C3vJy2u','Bsbblca','kgXP4BUhDa','y2JgSgeG','igbUB2q','x1jfue8','yxjJAci','4BUJyZOQkG','idyGXjhHU4m','u2fSzxm','zYbxB3i','De9MkcC','XjhHUR9Uig0','ifBeG24G','nc4GkIO','zxH0yca','rKLstsa','mdaSici','icj0zw4','msdIGjqGua','4BUhoGOkya','cMbGyaO','BMCGDog7QW','rYbI4BUlyq','cIaGica','XRdHU5TJkqO','BhL0Awm','icaGidy','oIbGiMW','BwfYAxO','4BUktKGGva','Cxv5ihq','FqPGyga','rxnJywW','rYbi4BUIua','ywKIkqO','DYb0CNu','tKG6ic0','rKXpvYa','Dgv4Dca','Ce1HC3q','sw5MB1q','ihrOAEg6VW','ig1VBMC','DgeG4Ocuia','BIKUieu','vUg7M2KGBq','yYaOu2u','B+g6T2mGCG','Dog7QYb0CG','icaIzxG','oIbBiM0','lcbU4BQ/Dq','DhvFBMC','cImGmY4','iJOGiSsq','BIbZyw4','rYbftKC','A2JHU5TWia','zw5Kyw4','BGP7cIa','cNWTls0','ihf1ysa','iKZHU41Jia','DcbS4BQTCa','igzPzwW','B190Awu','tSsctKC6','W6fVigpdOq','x2rVyw4','igpHUQnUAa','Dog6Ow8Gva','BcaXkIO','W7rUzWOk','CxxHUQmGyW','DgvYCZO','cGPGyga','lxrP4BUbBG','4PQGieTiW5q','DsWGveS','yxKPlGO','igbZDw0','XjhHU6CGCSo1','AmoIBIb2','qUg6Ow4GAW','zsb0AEg6VW','zYaXmda','CMuGy2e','iNrPBwu','rqOks2G','BwfPBca','W6HTihrV','q+g6P24GrW','sYaXmZe','oGOGic0','AEg6V3uGzG','zYaXlJG','CJOGBNu','ihtHUQfVia','DxaGyNK','tufss0q','Asb0B28','nsb04BU3la','iJOGica','XRbHimsr4BQN','B2XZcLe','ihtHU7eGDa','BMCPoGO','yxr1CZO','zhjHzNq','zcb04BURia','ygvYCM8','BwLZC2K','XjhHU4mGD28','z3nGlca','Aog7Iw5Oia','B+g6OwKGBa','s0zmt1C','4BQNBIKG4OAs','idqUmIa','ywn0x2y','rsbfweu','Bwf0Aw8','ihbOAEg6VW','EsdeKEg7PYi','ysbUB2q','tLrpuLK','igrVigi','DgJHU49HoG','ySoHBIbJ','AsiGDgG','CIiScIa','icHtzwm','yw55lNy','Chv0yca','q0JHU5buia','ie5iW4jo','BEg7MxqGBq','FqOGif0','XjfVW6fUia','cIaGiNm','AcaOBg8','t1vusu4','4BQJBMCGCW','XjhgSog7O2m6','msbusog7Qa','DhlHU41UzW','y2nLC3m','ygbGcGO','icjPBNa','msiSici','pqPllIa','Bg93ie0','u2v0Dxa','iYmJimoD','ksbOW6bU','DgLVBIa','lcdeKCAWyq','uK5jtKC','4BULoIb7ia','BMCGlt4','XQfUlcbJ','qUg6RLqGqG','igpdSYbU','zZOGyhm','q0Hfrfu','4BUbDsbYzq','ihrYXRdHU5S','cIOQs0G','ihBHU5TPia','imsrW7PUzW','XjhHUQf0igC','BIb2ACoQ','4BUnyYdeKwe','mYbUAmoI','w10Sigm','igXP4BUhDq','kqOTifG','BEg6T2mGXje','ihNdQNuG','oIbu4BUvBG','CYiPlIa','lYmVBgK','Bmo9lcbS','z2LUzsa','4BUKie1jtG','ihn1yMO','yUg6O25Nia','y3rPB24','iokgKIbSBW','laOGici','ChjVBxa','uLrFru0','igbZDge','ls18cNW','DmoQBIdIHPi','ieTiic0','Aog7IYbUAa','cImGmI4','Ag8GC+g6OW','vcbcvEg7Ma','ihSGCMu','C1rVB2W','icaIDg8','XRdHU51UzYa','W6fJigzP','imAVvsbu','AmoZysdeKq','ywDLiJO','ksWGBg8','yUg6R3qGyG','AEg7GxuGAW','ACoQBIbI','iepHUQDUia','icjOB3a','suXmluq','CgJHUQnPia','ihtgSmAHBG','sEg7Ge4G4OAs','AmoIBIbU','AmoTBMGI','iNjLC3u','Acb2Asa','DsbJ4BQNDq','idhIGjmYia','msWGiMe','EvnUyxa','imsq4BUytKC','EsbSDEg6Rq','igbUyxy','qLxHU5HdoG','ygrHDge','yxqGBw8','iokgKIbZyq','AEg7H246ia','W6bTigFdRa','AmoSigZdOa','zxbVCNq','ig5HDMK','z3vVDxm','B2rLx3a','W6fVigrV','cImGms4','zguGBSoG','idfGoGO','cNWGyg4','W6fUzYa2','yMfVig4','zw0Gu2u','zYb04BURia','4OAsigf1Da','ihtHUQmGFa','BMGGC8oH','ic8Vifa','B19Hzgq','DhjPz2C','x2LKiJO','ygnVBNq','icbDcIa','4BUAtKCGlW','tgv2zwW','ntaWmda','ihBHU4eGXje','iokaLcbuuG','ihj1BLi','DgJdTg5N','zsbJ4BQNBG','Dg8IoIa','CZOGiMu','W7uGCSoGBG','BI4kcK0','x3nJAgu','ru1bsuW','oIbLEha','ufrzyca','icaIDgG','XjhHUQD1ihi','DxrWDxq','iJOGBNu','DhvZoIa','W7PJlGOk','igTO4BUBCa','DxqGBMG','W6WGC2TP','ECoQBIb0','CSAW4BUByWO','ywXHBMm','uMvWB3i','zYbXDxK','qu5trK8','C3vSDdO','ifnbteu','oIaIrvi','Aw5HDgu','AmsPysbU','qvnurvi','C3rLCci','igDLDfm','lGOGica','ntaIih0','ic0+ige','yxrHiJO','wevdvvq','DgJHU6THia','BMFgSog7Ow4','rgf0yvq','ifDpuKS','yxzLzem','iMLUChu','ig7HU6mGtG','quLmruq','B25Nigu','igjPW6PU','ihnPBMG','icOQs0G','AEg7H24GAW','lYbhsCob','AEg7H20GDG','iokaLcbpvG','icjYzxm','BMCGzw4','tKFdGfKP','oIaTpIa','vf9vtKm','XjhHUQD5imsr','CMfUzYa','Bog7L2KGyW','sefucGO','tLrjtKC','FqP9cMa','mJaYnsK','BgLUAYa','Bog7O2KGBG','kcKGXjhHU4m','BIbPBNa','W6bTihBdOa','Fc0TlxW','lcb04BUvBG','Chv0igm','igZHU4Ckia','lIbwAEg6VW','zYbWAog6PW','z3v54BUfBG','q1vusu8','Dsb0AmoH','BsdeKEg7Kwm','veLorYa','4BUXihf1Eq','rgvIDei','oIaIBge','W6fJAcbO','AgKGEog7Rq','igpdOw8G','qNvPBgq','imsr4BUdigW','DgLTzxm','icaGiNm','BgqGuvu','Dci6ici','BMCGDSoG','u2vJDgK','yxnLqw4','tIbO4BUJCa','BMCGCxu','Dsb2XRdHU6m','cI0Gq8oI','y2JHU68GAW','u09mvKu','iJiWmJu','W6eGAog6Ow4','tLbvvga','zvrVrMu','FcbuW6XU','vSoTigtHU6u','lcbJywm','cIaGiMu','DgJdQM0G','y2JHUQvTia','iNnVx24','BwfPBdO','4BUhBIb04BQH','sCoktJOG','Dsb0Amo0','AgKGXjhdQa','iJOGiM4','vufooIa','icjUB2q','iLtHU5nUia','BMCGq0u','ig91Dha','BMDFzMK','DhrLzca','uhjVzhu','cI0Gq2G','vg9VBci','ihnRAxa','yxKSigq','AxjTzwq','zv9Uyw0','idmXmda','Dhj1zwa','Dg9Ux2S','B3vUDdO','ncbIXRdHU5S','Af90Ahu','zxrdB20','tKCQkIa','ig5Vzgu','AMvJDca','DhjHBMC','oGOXlIa','yxr1CMu','sYiGFqO','igFHU41Pia','ideG4Ocuia','mtKYoti3CNHvrejU','DhvZiJO','t0WGtSoa','idmZmsa','4BUpAsbS4BQH','tKGGq0G','ig3HU6vJia','4BUbigtHU68G','BMCGDgG','EgfJDf8','Bg9Yzvm','DxqGy+g7PW','yUg6PxqGDa','lNrVrge','cGOQkKK','ytOGkIO','ssbSW6aG','ihSkica','u3rHDhu','DsWGB3u','icaIAw4','ihrO4BUdia','cGOTls0','CKrHDge','iePtt04','ysbKDxK','icaGEYa','uLvmrvm','ie1pvKu','BIiScIa','BNrLEhq','y2zVqgm','CSoSBMGG','igZHU4CGAW','4BUvAsbU4BUJ','wEg7HLqGXja','quXjrf8','rvzbtfu','ic0+igC','icHYzwy','qYiSica','tM9Kzsa','iNrVBMC','AcWGzMK','mtaWih0','Esb0Agu','C3rHDhu','x3nVA2G','kgv4CgW','cGOQkKi','DcGIwvK','msiGFqO','zYbHy3q','CMvZDwW','ls18ls0','BYbKB2e','4BUtBJOGmG','mdfumdG','veuGAw4','BIbOW6bU','DMfIBgu','DgfeB2m','CxvHigi','4BUlig3HURDJ','iMvYCM8','zYbqsog6OG','B21Wyw4','ycb8imsq','pt0ksc4','BWOGica','ihSGiNm','4OAsigldRg4','BMSGXjfP','FcdeKgNHU4e','Cg9YDfq','ig7HU6mGlq','nZa4nJCWvu5jC3vp','CNjVCIi','zxrby2m','Chv0kIO','ysb0AmoS','BM9Kzv8','4BUByYdeKCoZ','mdaGXjhgOq','B2XFBMe','rsdIGjqGva','otu0nJrVs1f1sM4','ywKGDgG','Dsi6idm','Acb0Ahu','lIbxt1i','C3nPB24','4BUmssbutW','Dw5Nihq','psaXmda','icb9laO','zYaGcI0','zxruCMK','cGPn4BUxAq','ie7HUR91ia','mtaGDhi','BcbJAhu','FcbqAmoH','iMrHBMG','W6mGDgJHU7e','u09oigm','ie91Dha','kIPjBNa','ieLorK8','DgvYrge','Dw0VC3q','icjlAmo0','BYbUAog6Pq','veeGtue','AmoTy2GG','yMPLy3q','y8oZig5N','C2TPCcK','z2v0q28','BMCIlaO','ywKGA2K','4BQ3yYaICW','ihrO4BUrBG','4BUbidaGza','lcbGBg8','ieTot1C','zguIlaO','ygLZx2m','BIbK4BUVia','ic0+ihm','igldRg5O','iokaLcbiBW','vog6RKmGqW','yw5Hz2u','zYb0Agu','ie1VBMC','XRdHU5TPigq','ihrPBIa','zYb8iem','zxHWB3i','CUg6OYbJ4BQJ','B19RAge','y29KzuK','kelHUQ5uia','W6fJihtdRa','zgf0ysi','B21WDca','ihtHU7eGXje','EciScIa','zwWGmsa','CcaZig4','B2WUcIa','B2CGCxu','igXVywK','ieXVB3a','B3jTlca','EsWGyUg6Oq','zwfYy2G','BMCGDhi','yxu6cGO','mtCYmtq4nfLxuLzgvG','y2vZCYi','veuGt1i','yYbMAwu','oGPGyga','cIaGiokAOa','Esi6ici','Aog7Kw5Nia','su5wru4','B2aGkgu','4BUPDsWGDa','cGOJidu','lGO9pt0','yxuUieS','iMaklsa','ve9swsa','DcaQkK4','icHwrdO','uYaVieq','BMGGy8o0','pt0ktc4','tever0u','4BUBBMCkcG','4BUTAsb0Aa','zg9HBMG','icjKB2e','ysb8cNW','tCo0ihtHUQm','BmoGBsbc','y8oIDsb2','r+g7JwKGya','AhuGDgG','AsWGDgG','lcbMDw4','igVHU7mGzG','lIbot0q','AcbJ4BUrDa','DgH1iJO','4BQKttOQkG','iNn1y2m','DhvYzvq','igfUywW','yYbZyxu','4BUzyZOGBq','iKTP4BUdBq','BIbUAmoH','Ccb2W6bV','BNb1DaO','cImJidu','tf9gquK','Bsb0Agu','Amo0BMCG','iokaLcdeKEg7IW','wIiSici','tujjr1u','ihWGvgG','yYbJAg8','iJOGnta','ihpHUQnUia','kIPor0G','BIbUAog6Rq','AhxHUQLUia','B2WGkfq','rvjsx0e','AhxHUQLUlW','Asb04BUXia','imsr4BUlBMG','W6PUig5V','cGOQkK8','kLjLDhi','lwpdTg5N','tIbdseK','ywXcywW','D29YA2y','icjZDw0','ihjHDYa','ACoHihBdOa','kGPGyga','cI0Gr+g7Jq','B2WkcIm','W6XTigTP','ve9nifi','ts4Gq08','iJOGEWO','4BQ/CcbRAa','oIbBcIa','oIaYlca','Ag8IkqO','igZdOcbk','icjSB2C','oIaIzxi','vg9VBc4','ig5O4BQLDa','icaGici','AwrLlI4','x252Dci','B29SicG','B21LBNq','yw5Jzvq','lcaIBM8','AEg6V3uGyG','iMaSiga','iLrY4BQNBG','BIbWAog6Qq','zwn0lca','kIO6ie4','teLosYa','teveiMa','ig5OW6aG','CMaklsa','BYWGBMC','BIi6ide','iglgSog7M2m','4BUBAsbSAq','y2HLBwe','4BQVyYb24BQT','mdG6mda','D24G4Ocuia','BMGGDgG','AsaXigW','CM9Yig8','BMGG4Ocuia','A2zSB3C','kIb0CM8','ywWGyMe','Ahv54BUdBG','lsbu4BUXia','Bog6UWOklq','cI0Gu3u','oGOkkIO','idKUmIa','zxnuB28','Bxb0ycW','mda6mda','iglHUQ90ia','cJ09pt0','DwX0iJO','W7qGDSoGBW','x3r5Cgu','BMDOAEg7HW','ufvuiIW','iYbrDxK','AgNdQM0G','ySoHBYbR','mdaWcIa','4BQTBIa0mG','CZOkFca','iYbwW60G','DhjVBMC','DcdeKEg7I24','C29UcNS','kKXLDMu','ss4Gr0K','4BUbDsbOXRa','rviGrfi','icaGica','BYbKW7LU','4BUSieZdNsa','ifjpteu','x25Vx3e','DfjLCg8','ve8Tuee','ifDVCMS','vu1nqvi','icaGiNi','ycWGBg8','q0JHU6Hdia','igpdSWOT','DsbI4BQVDa','y2HFAge','Dg/dOg4G','4BQHAsaTpG','yg1HBMe','Aog6Rw4Goa','BwfPBf8','igDPW6eS','cImJify','AhrTBc4','oIddGxaG','DSoGigbZ','tog6PxKGyG','DwfFAge','zsb8imoD','suqkmI4','DgvYvg8','idiGDUg6QW','Aog7NwKGzW','ihrOW6WG','Bw9Tzw4','yxrPB24','A8oOBsbS','BMCGy8oH','tY1dt04','yw4GAgK','4BUutKCGuq','ihJdOwmG','ielHUQ5dia','AhvUz18','laOGica','igbKyxq','AcbODEg7Kq','icjKyxq','W6HTimsrXRa','mIdIGjqGvG','BMCGDgK','ifrO4BUlia','BMCGkfy','DgfFC28','CSAW4BUByYK','veHvoIa','DNqSifm','Dw1Tyxi','cI0GvgG','cI0Gtg8','DsaMigm','icjTyv8','igpdTg5N','CUg6OYb24BUb','oIaUlI4','kgfTyMK','q29ZDey','Dog7KwKGXje','vg9VBca','BYbUB2q','cNWGAw4','zgf5jYK','refuqwa','BcKkmY4','zw8GCxu','yv9RAci','zYbO4BUJCa','4BQNBIb0CG','igJHU49Pia','cIaGxsW','vmAVifBHUQq','zw1HAwW','4BQNBIb0Aa','EsdeKCAW4BUD','ue9svca','wsaVifq','zcbGzge','x3rODsi','ySoHBYbJ','yxjRzg8','BIb24BUlia','iJOGmYW','mJGXmJG2q0rVzNrV','CNbYzxq','nsb9cIa','B24GnsK','reuGsu4','y29UDgu','XjhHU4TUAca','icG0igi','ihWkFca','ACoHihrY','zxjeyxq','B2rLihq','BgvVihq','yw0GC+g7Kq','4BUDAsbNAq','4BUVigXP4BUh','Dog7K24GAW','ifbi4BQIsq','igb7ici','mdeIih0','rMLLBgq','DgJHUQv5ia','yvrVB2W','DxmIoIa','y+g6P24GyW','ig5OXRbU','BY1WywC','DcbKzxm','sEg7HK4GCa','zxn1Bhq','4BQJihWGta','DgfSuge','oGOTicO','t04GB2i','4BQLDsb0CG','icjZDge','icjpsYi','Bg9VA3u','4BUbBIbTW6m','DxqGzge','igJdOg5N','zYbO4BUpAq','C3mIyaO','ic8Viem','x2nVBMC','icaGiM4','Aog7GYbJAa','zw8Gy8oH','CxxHUQmGAW','ifBdJsbe','yxrLks4','ls0TFc0','Ccb4DEg6Pq','Aw9UiokaLa','BIb2W6bV','Bxb0ihW','vdOGlt4','cNWGygK','XjdHU41JigK','4BQJihBHU4eG','Aog6PxqGyG','B3jLuMu','igldOw8G','iI4UlIi','BmoGig3HU5K','DxqIoIa','ycWGygq','W6b5igpHU6u','ksb8ify','4BQ/DsbMAq','B2rLigC','ignRDgS','DgLUz0i','CdOGDog7Sq','ifbiW4fu','lsbtyxu','uY4Gr0u','yxn0zxi','B2rLoIa','uMvJzwK','tevbuIi','BMCGzog6QW','iglHU48GCq','lJuGteK','Asb8cNW','iIKUcJ0','BYbJW6fV','DMvdDxm','CgJHUQLTla','iYmGnc4','z3nGcI0','lsbo4BQ/Dq','icaIzhm','kfnLy3q','icOQtue','icj3zL8','ig5OW6jU','4BQYtKCQkG','BMGGAhu','seftrsa','iejv4BUyqW','imsr4BUdihq','zgf0ywa','vcbdt04','pt0krc4','ig7HU6mPlG','W70IlcaG','BIOQiokaLa','igJHU5nUia','q+g6PLuGta','iIWkica','ih0kica','cGOTifq','pt09cLq','AwDNzxi','scbi4BUmqq','ig3HURD0la','mdaWmda','BMDVW6bP','lsaQkKC','B2XGoIa','y8oZig3dOW','4BQLDcKSia','oIb7ici','iKpdTg5N','oIbIAEg6VW','DSoGBYbG','tIbftKC','cN0kyga','lIbdvvm','qSAW4BUByYa','iJOGEYa','DxNHUR90ia','ysb0B8oG','oIbyDsa','Aog6Rw4GXje','zw5Krw0','iffvwsa','Asb04BUtBG','zwa6iga','Aw5Rx2m','zw5YAwm','B2rLigW','imsr4BUdig4','W6bUigJgOq','tK9erqO','zwXKigm','Eog7RsbSW70','ieFHU5LWia','oIaIXjddOW','CI9Ozdi','igVHUR90ia','DxrPB24','iokgKIbvkq','u2nOzw0','zgvFAwq','iIWGica','ihrLEhq','B29SigG','4BUBAsb0Aa','ieXvW5ro','tKvsqvq','AgNHUR91ia','ywXLC1i','q0npvu4','y3rdB3m','qKfmqu4','zsiGAg8','EsOQiokaLa','kcjzwvK','igaKz3q','igDP4BQJBq','mJKWBhjTDgDK','ihrOXRdHU50','CSo6yYb0','iJOGiJi','igJHUQfUia','W6mGBmAWDq','BNb1Dca','AsbK4BQHBG','AgKGXjhdUG','W60Gzog7Psa','ignO4BUNia','ihrOAsa','z2vYvg8','icyGq08','zw8Gy28','wEg6VLqGXja','zci6ica','DwXScN0','cKlHUQfUia','zxjuB28','DMvUDg8','Bsbtuda','lt4Gz2u','icaGlY8','qu4Gvfi','mJe2mJyWnZDkvNDbsK4','yv9ZB2m','udaWmsa','4BUNysbUBW','mdi1lta','BcbRAmoH','y2vszxa','iM5Vzgu','x2zPzwW','AwvSzca','ywn0Aw8','4BUyqZOGDa','iYa4lJi','Aog7IsdeKEg7IW','zxjYB3i','y2JdRw5O','DgvTCgW','4BUbidaGAW','igJHUR90ia','DcbJW7mG','BMCSiga','ySoSBMGG','Dsb04BURia','BMGGySoH','vcbtrue','imsr4BUNicG','icjZDwm','BMSGDSoG','BMGPcI0','ysbJ4BUPDq','ieTiW5ro','4BUnAsbUyq','zgvZigm','ufjptva','AEg6V3qGBa','lta2lte','ntburw1hCfu','icaGiLq','DUg7M2KGzq','4BQ/DcbXDq','iJOGiKC','oIdeKmoJia','4BQ3yYbJW6e','CNjPzgu','oIaGica','BMCklsa','DcbOAEg7HW','yxnRC1q','igDLDfa','zsdeKwNHU4e','Dhb1Dc4','B2CGy+g6OW','BIaOy8oZ','DgHLBYa','vvqGq08','igbfuLi','zcb0CM8','W7L5ihDV','ywX5C2K','tKCGzmo5','ihzPW6PU','Dg9TuMu','icaGiMq','z+g7JwKGDa','4BUxAsb8cG','BcaOqUg6RG','ycb8ieW','ywrHDge','ihtHUQDUzW','lI4GXjhHUR8','AgvVigG','BMCGD28','DsbMAwu','ig1HBMe','ifjLCg8','cGPlAgK','rYbc4BQUva','Dcb04BUtBG','Agf5ig0','ihr5iee','lcbSB2C','vvNHUR5oia','DfbYB2q','ns8WnI8','ihWGrog7RW','yYb0AEg6VW','AmoSigTO','ywLSvg8','CSo1igZdVq','idiGDog6PW','B3jKCYi','AsWGDmoT','vEg7MemGza','tZOGvog7Lq','uL9ut08','icyGXjdHU4W','Bxb0ihK','rI4Gq8ou','qgnVBxa','uLjpuIa','iMfJDgK','ygnVzgu','ihj1BLm','B0zLyxq','BmoGidi1','lIbusu0','q0Xfqvi','4BUqietgRYa','mJuWid4','4BUpAsWGqG','pYaOBUg6VW','tUg7OZOGza','igVHU7mGlq','W4eGqSobtG','CgJdOM4G','Bg93igu','cIaGiMq','DsbO4BUpAq','Asb0AmoG','lcbFAwq','yUg6Ow4GBG','CNKIoIa','Aog7GYb0Aa','icnywfG','lsblsmou','BMGGAmoG','DcbZ4BUria','W6fUAcbN','DsbS4BQHAq','z+g7RwKGzq','x25NAgK','yxuGA2G','qvjtrsa','yevsuL8','oJaWwIi','AgKGBSoG','cI0TlqO','ihrO4BUdoG','lcaGica','AEg7M2KGAa','q0uGkfm','cJqUicO','C190Exa','DUg7GsbiW4a','BMCGFca','ySAW4BUByYa','4BQVDcbIDq','z2NHUQnPia','4BUyqYbuvq','4BUqsqOkqG','ihrOzw8','zsb0CSAW','BMGVy2G','AsbRAgK','lIiScIa','DEg6OYb0Aa','cLaUieu','4BUpysdIHPiG','DgfGigq','A2JHUQv1la','ihrYyw4','lIblAEg7GW','BwfYEsi','Bog7L2KGAa','oIaItmoQ','zwnFEhG','nsdIGjqGuG','zxrYEsK','ihT9laO','cI0Gyg0','ufvuigm','msbbvvq','FcbdB2q','lJmGuvu','yaOkiYm','z2NdOsdeKq','EEg7Gw4Gya','v29YA2y','zsWkica','cI0Gs2K','Dc104BUtBG','B29RDxa','yYbOAEg7HW','BIa8ide','yY4GvgG','ygPZB24','A8o9ihtHU7e','FsWkica','z8oHBIbN','Chv0ig4','B8oHBIdeKq','icOQs+g6VW','zMLLBgq','AmoGBMGG','BNrLCNa','ihBHU4SSia','BYbGzge','4BQHEsbS4BQH','Bog6P24GDG','BMCGzg8','B3j0vg8','veuQkJO','ierbvee','oIaWih0','4BUmssbusa','x3bYB20','C3rLBvm','zwXKigi','BMFgSog7NwK','DNqIoIa','rvjsx1q','W7PUzYb0','ihWGvhi','Dog7SsbJAa','BL9IBYK','lcb0CNu','y+g7P2eGBG','B2rLkIO','AcbWAog6OW','Aw9Uimsr','W7PJihtdUq','qsiSici','ycdeKEg7GYa','zxrbDhq','twfZDgu','nI0Xnvq','D2XLzgC','DEg7MwmGFa','4BUlBMGGyW','XjhHU5vPigq','rvHqte8','igtdUw5N','B25MAxi','sog6SK5hia','4BQHAsaXia','A2v5D28','AsbUB2q','B2rLx2K','AmoHCaOk','Dhj1EEg7Gq','BMCGAog7OW','iKrntLy','nti0mtbKwvnSsLe','EYaIDgK','zYbU4BUJlG','ihWkFc0','Ccb04BULyW','zw5FBMC','BIbOW6XU','4BUByYdIGjqG','Ag8IoIa','igHP4BUhBG','x3nLBNq','4BUdBsb0CG','su5hcGO','idiSici','t09mifi','DgeGXjhdOW','CgJHUQL5ia','icaGiMu','DsbUB2q','ihnLBMq','DEg6Q24GAa','cIaGide','yhn0yxq','cK4Uie0','CM9TChq','iKvsuL8','zfbYB20','ig51BgW','CxxdOsbO','ihWkcIm','oIbXDEg7Uq','4BUmtKCGka','icHVDMu','XjhHU4mGyMK','C3vSDci','vfjbq1q','BMGGEmoH','zxjYAwq','BIdeKCoJia','Dog6OwKSia','DgJHU4mGDa','XRdHU5TJigS','mIWGmY4','4BUpihf1yq','y2HlBM8','B+g6T2mGCW','ignRy24','jYKUDg8','BwvZDge','ih1Gihy','icHJzM8','Dcb0CUg7Sq','C2TPCca','4BUXihn1Eq','lcaICMu','DxKGBMG','XRdHU5TJihq','CSo1ihWk','BxbHBNK','pt09pt0','lxWTls0','mcb9laO','W4W/icH0','igTOAsa','Bog7L2KGBa','mdeUie4','4BUbig5O4BUV','kKlHU44Guq','Bog6P24GCG','4BQ/DcdeKEg7IW','lcbive0','tZ8GkhG','4BUbigpHUQ1W','uIaOq0G','XRdHU6nJigW','CIjGlca','kK91Dha','mtKYEeH2CLzm','A2HPig4','zwXKCYi','C2vUDci','y3vUzYa','ihteG25N','y3nuB28','ifr14BUvAq','Dog7PwmGDG','BMCGygK','lcbUAmAW','A2JdTg5N','yxrHyaO','yYWGBog6Pq','4BUbigb0BW','BmoGBsbT','igpHUQDUia','CMv0zxi','lcbTyxi','AEg6V3qGFa','W7rUzYbJ','ig7dOg8G','Bxb0ig0','y2vZCYa','W6bUiglHU5K','ysb04BURBG','EYbYzxm','BYbR4BUZla','sw52zw4','Dg9WxZu','AgfUzYK','4BUTiokaLcbR','ifTDlca','BMGGBMC','CMTMBg8','zxjWCMu','ignO4BUPBG','sI4Gr0K','Aw9UiJO','DgvZDci','zxnZiMa','B3jTyxq','4BQPBIaOqq','qYb0CUg6OW','CSo1oGOT','oIaIC3u','4BQ/DcbJW6e','AgKGFca','tUg6V3uGDa','4BQLDcb0CG','ihbO4BQJAq','ihnLyxi','zYb0Aog7JW','lJiGqvu','BNvSBga','z2f0zvq','icjhCM8','iJOGiK8','W6P1igpHUQC','ihpHU5eGBa','cMbGygO','pIbNzxq','iMakcI0','B2jQzwm','AEg6V3aGDa','DwX0oIa','BwvKoIa','Dw1LBNq','BIi6ici','zYbUB2q','cI0Gvhi','Esb0CM8','A2NHU4DUia','cGOJidq','C3vTBwe','udaWmsK','t0rfiee','mJuScIa','vcdIGjqGqG','iensrue','pt0ktY4','veuGDg8','igJHU4CGDa','CIi6ig4','yUg7MsbYzq','cKiUiee','B3iGFca','4BULigpHU6uG','ie1preu','CMqIoIa','ifT7cIa','ihf1EEg6VW','icjUyw0','iYmGns4','BMGGBmAW','yYbXDxK','cNWGyci','W7LUzYbT','y2nVDw4','ihrVCca','4BUWimsq4BUytG','icjHy3q','4BUlBMGGBG','DhlHUQmGDG','Ccb0Agu','BIbT4BUzDa','zw5Kt2y','AwvUiJO','DweGy8oZ','BSoGBYbR','igX14BQTBG','CSo6yYbG','qZOGyw4','ie1Vzgu','zv9WCM8','q0mGlt4','ie5dqYa','BIaOy28','4BQ/BIbTW6a','icjJzM8','igHV4BQ3yW','z2vnyxm','W6j1ihrO','icHZy28','CgfUEuK','z2JeQweG','Af9Oyw4','zwnVCMq','4BQHBMCGCW','rvbpuLq','4BUrBIb4zq','r+g7JeKGva','ignVBNy','vhlHUQmGya','W5rorYbO','CM9YiMa','ihrY4BQJia','AmoZyqOT','XjfP4BUbDsa','4BUNcGOTlq','ihtHUQ9Jia','ihjLy28','BgXLCIi','ic8Gre8','CxvLCNK','lNn0yxi','z2f5x3e','DgJHU60GBa','BgfPBIa','W6fJigpdOq','Aw5Rimsr','ANnVBGO','ignOBYa','mfOIcIa','BMGGDog7Lq','Dg9Widu','tYKkcIm','rYb0CUg6OW','ExPLsw4','igpdSM4G','DgHPlca','BIbO4BQ/Da','W6bUzYdHU6K','qIiSica','4BQLDcbR4BUZ','BgNHU4D1ia','BgWkFqO','zYb0W6fJ','XRdHU6nJimsr','Bg9NC2a','DYiScIa','y291BNq','msbKXRaG','iciYmdi','4BQHDcdeKEg7Mq','y29UzgK','CciScIa','ignODEg6Qq','XjhHU5LUzYO','ihtdRg0G','W6bUAcbJ','B2WUcJ0','4BQRBIbJAa','DsbRAEg7HW','BUg6V3uGwq','idaGFwa','4BQNBGOklq','B3vJAgu','igXPBMS','s1bjlGO','4BQHBYbLBG','vciScIa','B2WGkei','ysbJW6fJ','kqOkkIO','u0Tjuci','Ag9Wx2m','DWOGica','tYbdW4fp','cIOQsw4','EmoHyYdeKq','ig3dOYbJ','DEg7MwmGAa','idKUieu','4BUTAsbLBq','B2WGA2G','z2v0qwm','nvqWodO','ns4YkqO','surFsu4','zg8GFaO','FaP8iga','EEg7Gw4GCW','iJOGmsW','4BUTigZdVsa','yw5Nig4','Bg93x2K','rgf0zsG','y8o0BMCS','BNb1Df8','icaGxqO','igFHU61Pia','y2JHU4KGXje','yWOTimsq','ie9vvfa','igTOBYW','DgfTCci','oIbUDwW','kYbHDxq','ycb8ifq','AEg7H3uSia','zM9YBwe','DgJgSog7Nw4','zxaIoIa','ywLSCYi','ic8Gs0G','khtHU6SGAW','Bsb0CMe','wvKTtu0','B2rLxZa','ywX5DgK','t09mx0y','ysi6ihS','rvrvuK4','BJOkFca','DgfGigm','y2fPyca','iNn0zxa','BcaYkIO','4BUhDsb04BUR','icHGAxm','x2nVBMy','DgJdRcb0','BMCGAog7HW','W6f0ic0+','ihBHU4eGCa','rsbsvuW','zYbGBg8','DwvYEsa','4BUrBMCGDa','AwqIoIa','4BQTBIdeKCAW','4BQHBIbJAa','B2fUAf8','iejbu0u','ygbQC28','iIWGj2y','ucOQoIa','ycaRigC','W6b5cGOQ','kg1Vzgu','4OcuielHU48G','oIb7cIa','DgLVBNm','ietdUw5N','ihWGtCo0','ycb8icO','EYaIBwe','4BQNBIbVDG','cJiUicO','BCoGigTO','XjhHU5fPihq','XRdHU5TJig4','icjh4BUnAq','kKlgSog7M2m','FcbGiMu','pqPslIa','yv9ZB2S','Dgf0Dxm','B3vUDei','Es52BIW','zxj0ihq','B+g6T2mGAW','zYbJ4BQJBG','ihbHDgG','4BUbigVHUR90','C+g7KsKUcG','AEg7GxuGyW','ifrsW5Pd','icbDlaO','zYb8ifK','qYbgsuW','igv4CgW','B2T1Ce0','AhxHUQLUcG','DxNHU4nUia','Dg9YEvm','y29KztO','B3DUlca','cI0Gs0G','DxjLvg8','z2vZid4','ktOGlt4','tuLdifi','veuGre8','DxqGA2G','EEg6V3qGXje','ihBdOg8G','imsrW6mGXje','igZHUQv5ia','qvrfkIO','cKeUieu','EhqIoIa','zYbJW7mG','4BUnyYbUBW','ief1Dg8','CMfUC2y','AgvVigi','Dci6ihS','ide4nta','BYbNACoH','yxr1CWO','BIb04BURia','icaGiNq','pt09pqO','B3v0Chu','BIbJAmoT','y+g6PxaGlq','AmAW4BUBBMC','W7mGBMHP'];_0x374b=function(){return _0x3944da;};return _0x374b();}
@@ -1,44 +1 @@
1
- const {generateText,stepCountIs,pruneMessages}=require("ai"),{createOpenAI}=require("@ai-sdk/openai"),chatController=require("./chatController"),{decrypt}=require("../libs/utils"),{createFinanceTools}=require("./tools/financeTools"),{createStaffTools}=require("./tools/staffTools"),{createRagTools}=require("./tools/ragTools"),{createMasterDataTools}=require("./tools/masterDataTools"),tenantConfigs={},SYSTEM_PROMPT=`# VAI TR\u00d2 V\u00c0 \u0110\u1ecaA V\u1eca C\u1ee6A B\u1ea0N
2
- B\u1ea1n l\u00e0 Tr\u1ee3 l\u00fd AI N\u1ed9i b\u1ed9, l\u00e0 ng\u01b0\u1eddi c\u1ed9ng s\u1ef1 \u0111\u1eafc l\u1ef1c c\u1ee7a t\u1eebng Nh\u00e2n vi\u00ean trong c\u00f4ng ty. Nhi\u1ec7m v\u1ee5 c\u1ee7a b\u1ea1n l\u00e0 h\u1ed7 tr\u1ee3 nh\u00e2n s\u1ef1 t\u1ef1 tra c\u1ee9u th\u00f4ng tin c\u00e1 nh\u00e2n (ch\u1ea5m c\u00f4ng, doanh s\u1ed1 b\u00e1n h\u00e0ng, b\u1ea3ng l\u01b0\u01a1ng), ki\u1ec3m tra th\u00f4ng tin s\u1ea3n ph\u1ea9m/d\u1ecbch v\u1ee5, c\u1eadp nh\u1eadt ch\u00ednh s\u00e1ch chi\u1ebft kh\u1ea5u, khuy\u1ebfn m\u00e3i, tra c\u1ee9u tri th\u1ee9c n\u1ed9i b\u1ed9 v\u00e0 h\u1ed7 tr\u1ee3 so\u1ea1n th\u1ea3o/g\u1eedi email chuy\u00ean nghi\u1ec7p.
3
-
4
- # NGUY\u00caN T\u1eaeC GIAO TI\u1ebeP & T\u00c1C PHONG
5
- 1. T\u00e1c phong: Th\u00e2n thi\u1ec7n, l\u1ecbch s\u1ef1, chu \u0111\u00e1o nh\u01b0ng b\u1ea3o m\u1eadt. S\u1eed d\u1ee5ng ng\u00f4n t\u1eeb ti\u1ebfng Vi\u1ec7t c\u00f4ng s\u1edf chu\u1ea9n m\u1ef1c. X\u01b0ng "Em" v\u00e0 g\u1ecdi ng\u01b0\u1eddi d\u00f9ng l\u00e0 "Anh/Ch\u1ecb" ho\u1eb7c "S\u1ebfp" (n\u1ebfu l\u00e0 qu\u1ea3n l\u00fd).
6
- 2. Tr\u00ecnh b\u00e0y scannable: Lu\u00f4n tr\u1ef1c quan h\u00f3a d\u1eef li\u1ec7u b\u1eb1ng B\u1ea2NG BI\u1ec2U (Markdown tables), danh s\u00e1ch g\u1ea1ch \u0111\u1ea7u d\u00f2ng v\u00e0 \u0111\u1ecbnh d\u1ea1ng in \u0111\u1eadm (**bold**) c\u00e1c th\u00f4ng tin quan tr\u1ecdng (M\u00e3 s\u1ea3n ph\u1ea9m, s\u1ed1 ng\u00e0y c\u00f4ng, s\u1ed1 ti\u1ec1n, m\u00e3 khuy\u1ebfn m\u00e3i).
7
- 3. B\u1ea3o m\u1eadt tuy\u1ec7t \u0111\u1ed1i: Nh\u00e2n vi\u00ean ch\u1ec9 \u0111\u01b0\u1ee3c xem d\u1eef li\u1ec7u c\u1ee7a CH\u00cdNH H\u1ecc (tr\u1eeb khi h\u1ecd l\u00e0 b\u1ed9 ph\u1eadn \u0111\u01b0\u1ee3c ph\u00e2n quy\u1ec1n nh\u01b0 K\u1ebf to\u00e1n/Qu\u1ea3n l\u00fd). Kh\u00f4ng ti\u1ebft l\u1ed9 m\u00e3 code h\u1ec7 th\u1ed1ng, c\u1ea5u tr\u00fac database, ho\u1eb7c ID n\u1ed9i b\u1ed9 ("id_app", "user_id") cho ng\u01b0\u1eddi d\u00f9ng.
8
-
9
- # QUY TR\u00ccNH \u0110I\u1ec0U H\u01af\u1edaNG C\u00d4NG C\u1ee4 (STAFF WORKFLOW PROTOCOL)
10
- Khi nh\u1eadn \u0111\u01b0\u1ee3c c\u00e2u h\u1ecfi t\u1eeb nh\u00e2n vi\u00ean, b\u1ea1n ph\u1ea3i th\u1ef1c hi\u1ec7n t\u01b0 duy \u0111a b\u01b0\u1edbc v\u00e0 k\u00edch ho\u1ea1t ch\u00ednh x\u00e1c c\u00e1c c\u00f4ng c\u1ee5 theo c\u00e1c t\u00ecnh hu\u1ed1ng sau:
11
-
12
- ## 1. T\u1ef1 tra c\u1ee9u Ch\u1ea5m c\u00f4ng & Ng\u00e0y c\u00f4ng c\u1ee7a B\u1ea3n th\u00e2n:
13
- - Khi nh\u00e2n vi\u00ean h\u1ecfi v\u1ec1 t\u00ecnh h\u00ecnh \u0111i l\u00e0m, s\u1ed1 ng\u00e0y c\u00f4ng, ng\u00e0y ngh\u1ec9 ph\u00e9p c\u1ee7a CH\u00cdNH H\u1ecc (V\u00ed d\u1ee5: "Th\u00e1ng n\u00e0y em \u0111\u01b0\u1ee3c bao nhi\u00eau c\u00f4ng?", "Anh xem gi\u00f9m t\u00f4i c\u00f2n m\u1ea5y ng\u00e0y ph\u00e9p") $\rightarrow$ K\u00edch ho\u1ea1t "getAttendanceReportTool".
14
- - **B\u1eaeT BU\u1ed8C:** Thi\u1ebft l\u1eadp tham s\u1ed1 "is_self_service: true" v\u00e0 b\u1ecf tr\u1ed1ng tr\u01b0\u1eddng "ma_nv". H\u1ec7 th\u1ed1ng s\u1ebd t\u1ef1 \u0111\u1ed9ng b\u1ed1c "user_id" \u0111\u1ec3 tra c\u1ee9u, \u0111\u1ea3m b\u1ea3o b\u1ea3o m\u1eadt.
15
- - *L\u01b0u \u00fd:* Ch\u1ec9 truy\u1ec1n "is_self_service: false" v\u00e0 \u0111i\u1ec1n "ma_nv" khi ng\u01b0\u1eddi d\u00f9ng l\u00e0 Qu\u1ea3n l\u00fd/K\u1ebf to\u00e1n l\u01b0\u01a1ng \u0111ang c\u00f3 nhu c\u1ea7u tra c\u1ee9u cho nh\u00e2n vi\u00ean kh\u00e1c d\u01b0\u1edbi quy\u1ec1n.
16
-
17
- ## 2. Tra c\u1ee9u Doanh s\u1ed1 b\u00e1n h\u00e0ng & Hi\u1ec7u su\u1ea5t c\u00e1 nh\u00e2n:
18
- - Khi nh\u00e2n vi\u00ean mu\u1ed1n xem doanh s\u1ed1 b\u00e1n l\u1ebb, s\u1ed1 l\u01b0\u1ee3ng h\u00e0ng m\u00ecnh \u0111\u00e3 xu\u1ea5t b\u00e1n, ho\u1eb7c s\u1ed1 ti\u1ec1n hoa h\u1ed3ng m\u00ecnh nh\u1eadn \u0111\u01b0\u1ee3c $\rightarrow$ G\u1ecdi c\u00f4ng c\u1ee5 "getKpiAndCommissionTool".
19
- - \u0110\u1ec3 xem chi ti\u1ebft c\u00e1c h\u00f3a \u0111\u01a1n b\u00e1n h\u00e0ng do m\u00ecnh tr\u1ef1c ti\u1ebfp th\u1ef1c hi\u1ec7n trong k\u1ef3 $\rightarrow$ G\u1ecdi "getSalesReportTool" (Truy\u1ec1n m\u00e3 nh\u00e2n vi\u00ean c\u1ee7a h\u1ecd v\u00e0o b\u1ed9 l\u1ecdc n\u1ebfu c\u1ea7n).
20
-
21
- ## 3. Tra c\u1ee9u S\u1ea3n ph\u1ea9m, D\u1ecbch v\u1ee5, Gi\u00e1 b\u00e1n & Khuy\u1ebfn m\u00e3i:
22
- - Khi c\u1ea7n ki\u1ec3m tra th\u00f4ng tin chi ti\u1ebft c\u1ee7a m\u1ed9t m\u1eb7t h\u00e0ng $\rightarrow$ G\u1ecdi "lookupMasterDataTool" (ch\u1ecdn type: "product") \u0111\u1ec3 l\u1ea5y ch\u00ednh x\u00e1c M\u00e3 v\u1eadt t\u01b0 ("ma_vt"). N\u1ebfu tool lookupMasterDataTool tr\u1ea3 v\u1ec1 nhi\u1ec1u k\u1ebft qu\u1ea3 th\u00ec c\u1ea7n hi\u1ec7n ra danh s\u00e1ch \u0111\u00e3 t\u00ecm th\u1ea5y v\u00e0 h\u1ecfi ng\u1eeboi d\u00f9ng xem ch\u1ecdn c\u00e1i n\u00e0o.
23
- - \u0110\u1ec3 tra c\u1ee9u gi\u00e1 b\u00e1n, ch\u00ednh s\u00e1ch chi\u1ebft kh\u1ea5u, hoa h\u1ed3ng ho\u1eb7c c\u00e1c ch\u01b0\u01a1ng tr\u00ecnh khuy\u1ebfn m\u00e3i \u0111ang \u00e1p d\u1ee5ng cho s\u1ea3n ph\u1ea9m \u0111\u00f3 $\rightarrow$ G\u1ecdi "getProductPriceAndPromotionTool" (B\u1eaft bu\u1ed9c truy\u1ec1n "ma_vt" \u0111\u00e3 t\u00ecm \u0111\u01b0\u1ee3c \u1edf b\u01b0\u1edbc tr\u00ean).
24
- - \u0110\u1ec3 ki\u1ec3m tra xem s\u1ea3n ph\u1ea9m \u0111\u00f3 hi\u1ec7n c\u00f2n h\u00e0ng \u1edf kho n\u00e0o \u0111\u1ec3 t\u01b0 v\u1ea5n cho kh\u00e1ch $\rightarrow$ G\u1ecdi "getInventorySummaryTool".
25
-
26
- ## 4. Tra c\u1ee9u Th\u00f4ng tin C\u00f4ng ty & Tri th\u1ee9c N\u1ed9i b\u1ed9:
27
- - Khi c\u1ea7n l\u1ea5y th\u00f4ng tin ph\u00e1p l\u00fd c\u1ee7a c\u00f4ng ty (T\u00ean ch\u00ednh th\u1ee9c, MST, hotline, \u0111\u1ecba ch\u1ec9) \u0111\u1ec3 l\u00e0m ch\u00e2n trang v\u0103n b\u1ea3n $\rightarrow$ G\u1ecdi "getCompanyInfoTool".
28
- - Khi c\u1ea7n tra c\u1ee9u quy ch\u1ebf n\u1ed9i b\u1ed9, ch\u00ednh s\u00e1ch th\u01b0\u1edfng ph\u1ea1t, quy tr\u00ecnh xin ngh\u1ec9 ph\u00e9p, ho\u1eb7c n\u1ed9i dung c\u00e1c v\u0103n b\u1ea3n/h\u1ee3p \u0111\u1ed3ng \u0111\u00ednh k\u00e8m $\rightarrow$ G\u1ecdi "searchKnowledgeBaseTool" (ph\u1ea1m vi "company").
29
-
30
- ## 5. So\u1ea1n th\u1ea3o & G\u1eedi Email l\u00e0m vi\u1ec7c:
31
- - Khi nh\u00e2n vi\u00ean y\u00eau c\u1ea7u g\u1eedi b\u00e1o c\u00e1o, g\u1eedi b\u00e1o gi\u00e1 ho\u1eb7c t\u00e0i li\u1ec7u cho kh\u00e1ch h\u00e0ng/c\u1ea5p tr\u00ean $\rightarrow$ So\u1ea1n th\u1ea3o n\u1ed9i dung ho\u00e0n ch\u1ec9nh d\u01b0\u1edbi d\u1ea1ng HTML (s\u1eed d\u1ee5ng c\u00e1c th\u1ebb "<p>", "<b>", "<br/>", "<table>" \u0111\u1ec3 k\u1ebb b\u1ea3ng s\u1ed1 li\u1ec7u n\u1ebfu c\u00f3) v\u00e0 ti\u1ebfn h\u00e0nh g\u1eedi th\u00f4ng qua "sendEmailTool".
32
- - H\u00e3y ch\u1ee7 \u0111\u1ed9ng k\u1ebft h\u1ee3p v\u1edbi "getCompanyInfoTool" \u0111\u1ec3 l\u1ea5y th\u00f4ng tin ch\u00e8n ph\u1ea7n k\u00fd t\u00ean (Footer) trang tr\u1ecdng \u1edf cu\u1ed1i th\u01b0.
33
-
34
- # QUY TR\u00ccNH X\u1eec L\u00dd KHI KH\u00d4NG C\u00d3 D\u1eee LI\u1ec6U
35
- - Tuy\u1ec7t \u0111\u1ed1i KH\u00d4NG \u0111\u01b0a ra c\u00e1c th\u00f4ng b\u00e1o l\u1ed7i k\u1ef9 thu\u1eadt h\u1ec7 th\u1ed1ng (nh\u01b0 "l\u1ed7i database", "null", "undefined").
36
- - N\u1ebfu h\u1ec7 th\u1ed1ng ch\u01b0a tr\u1ea3 v\u1ec1 s\u1ed1 li\u1ec7u: "Anh/Ch\u1ecb vui l\u00f2ng ki\u1ec3m tra l\u1ea1i b\u1ed9 l\u1ecdc kho\u1ea3ng th\u1eddi gian. Hi\u1ec7n t\u1ea1i h\u1ec7 th\u1ed1ng ch\u01b0a ghi nh\u1eadn ph\u00e1t sinh d\u1eef li\u1ec7u cho m\u1ee5c n\u00e0y trong k\u1ef3 y\u00eau c\u1ea7u."
37
-
38
- # QUY T\u1eaeC TH\u1edcI GIAN TH\u1ef0C T\u1ebe
39
- Lu\u00f4n ghi nh\u1edb m\u1ed1c th\u1eddi gian hi\u1ec7n t\u1ea1i c\u1ee7a h\u1ec7 th\u1ed1ng (N\u0103m ${(new Date).getFullYear}) \u0111\u1ec3 t\u1ef1 \u0111\u1ed9ng t\u00ednh to\u00e1n ch\u00ednh x\u00e1c ng\u00e0y b\u1eaft \u0111\u1ea7u v\u00e0 ng\u00e0y k\u1ebft th\u00fac ("tu_ngay", "den_ngay") khi nh\u00e2n vi\u00ean h\u1ecfi c\u00e1c c\u1ee5m t\u1eeb \u0111\u1ed9ng nh\u01b0: "th\u00e1ng n\u00e0y", "th\u00e1ng tr\u01b0\u1edbc", "tu\u1ea7n n\u00e0y", "t\u1eeb \u0111\u1ea7u n\u0103m \u0111\u1ebfn nay".`;
40
- async function runStaffAgent($id_app$$,$user_id$$,$session_id$$,$userPrompt$$){try{if(!tenantConfigs[$id_app$$]){const $app$$=await global.getModel("app").findOne({_id:$id_app$$},{openapi_key:1,openapi_gpt_model:1});if(!$app$$||!$app$$.openapi_key)throw Error("Ch\u01b0a khai b\u00e1o OpenAPI key cho h\u1ec7 th\u1ed1ng.");const $openapi_key$$=decrypt($app$$.openapi_key.replace("flexbiz::",""),!1);tenantConfigs[$id_app$$]={openaiInstance:createOpenAI({apiKey:$openapi_key$$}),gptModel:$app$$.openapi_gpt_model||
41
- "gpt-5.4-mini"}}const {openaiInstance:$openaiInstance$$,gptModel:$gptModel$$}=tenantConfigs[$id_app$$];$session_id$$||=(await chatController.createSession($id_app$$,$user_id$$,$userPrompt$$.substring(0,1024)))._id.toString();const $messagesToSend$$=[...(await chatController.getChatHistory($id_app$$,$session_id$$,30)),{role:"user",content:$userPrompt$$}],$optimizedMessages$$=pruneMessages({messages:$messagesToSend$$,reasoning:"all",toolCalls:"before-last-message"}),{getSalesReportTool:$getSalesReportTool$$}=
42
- createFinanceTools($id_app$$,$user_id$$),$activeTools$$={getSalesReportTool:$getSalesReportTool$$,...createStaffTools($id_app$$,$user_id$$),...createRagTools($id_app$$,$user_id$$),...createMasterDataTools($id_app$$,$user_id$$)},$result$$=await generateText({model:$openaiInstance$$.chat($gptModel$$),system:SYSTEM_PROMPT,messages:$optimizedMessages$$,tools:$activeTools$$,stopWhen:stepCountIs(10)});Logger.info("[ceoAgent] l\u01b0u messages v\u00e0o database..");const $msgsToSave$$=[{role:"user",content:$userPrompt$$},
43
- ...$result$$.response.messages.map($msg$$=>({role:$msg$$.role,content:$msg$$.content?Array.isArray($msg$$.content)?$msg$$.content[0]?.text:$msg$$.content:"",tool_calls:$msg$$.tool_calls||null,tool_call_id:$msg$$.tool_call_id||null,messages:[$msg$$]}))];try{await chatController.saveMessages($id_app$$,$session_id$$,$msgsToSave$$)}catch($e$$){Logger.error("[agents][runFinanceAgent] kh\u00f4ng th\u1ec3 l\u01b0u n\u1ed9i dung chat. Err:",$e$$)}return{session_id:$session_id$$,answer:$msgsToSave$$.length>
44
- 1?$msgsToSave$$.pop()?.content||"Kh\u00f4ng c\u00f3 ph\u1ea3n h\u1ed3i":"Kh\u00f4ng c\u00f3 k\u1ebft qu\u1ea3 ph\u1ea3n h\u1ed3i"}}catch($error$$){throw console.error(`[L\u1ed7i Agent Staff] App: ${$id_app$$} | Session: ${$session_id$$} | Err:`,$error$$),Error($error$$.message);}}module.exports=runStaffAgent;
1
+ function _0x26be(_0x57a7d3,_0x41716f){_0x57a7d3=_0x57a7d3-0xc5;const _0x29571c=_0x2957();let _0x26be3f=_0x29571c[_0x57a7d3];if(_0x26be['mGJCaN']===undefined){var _0x2c1ca2=function(_0x4e8f75){const _0x479349='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2905ad='',_0x4e7d8a='';for(let _0x175ae3=0x0,_0x4af385,_0x19d809,_0x36b347=0x0;_0x19d809=_0x4e8f75['charAt'](_0x36b347++);~_0x19d809&&(_0x4af385=_0x175ae3%0x4?_0x4af385*0x40+_0x19d809:_0x19d809,_0x175ae3++%0x4)?_0x2905ad+=String['fromCharCode'](0xff&_0x4af385>>(-0x2*_0x175ae3&0x6)):0x0){_0x19d809=_0x479349['indexOf'](_0x19d809);}for(let _0x3d7286=0x0,_0x172f49=_0x2905ad['length'];_0x3d7286<_0x172f49;_0x3d7286++){_0x4e7d8a+='%'+('00'+_0x2905ad['charCodeAt'](_0x3d7286)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4e7d8a);};_0x26be['LcEYFc']=_0x2c1ca2,_0x26be['ZYfzEs']={},_0x26be['mGJCaN']=!![];}const _0x22e81c=_0x29571c[0x0],_0x210c01=_0x57a7d3+_0x22e81c,_0x16ee75=_0x26be['ZYfzEs'][_0x210c01];return!_0x16ee75?(_0x26be3f=_0x26be['LcEYFc'](_0x26be3f),_0x26be['ZYfzEs'][_0x210c01]=_0x26be3f):_0x26be3f=_0x16ee75,_0x26be3f;}function _0x2957(){const _0x32c94c=['EsbJW7rU','icjTyv8','Aog7QwmSia','igpdOsbU','igFHU61Pia','rw0Iihy','A+g7SYb5W6O','Dc4Gu+g7Rq','ifbit04','yYbJW6j1','r0LbtYa','lsbo4BQ/Dq','Bog7JwmGAW','4BQHBMCGAq','zs1Syxm','lcaIphq','iepdLe5h','zevTywK','BIdeKCAW4BUJ','BIbRW70G','4BQLEsb0Aa','BgNHU4D1ia','zxrlCgK','y2JdRw5O','igJHU6nWia','AgNHU4DUia','ihrOXRdHU58','Aog6Rw4GCa','iepHU6qGka','yMfZzsW','nJu0nJz3EwTQD0e','ieTOAsa','AEg7G20GDa','DgfuB28','4BQTBIdeKCAW','z2vZ','iIaOvhi','Dmo0AsbJ','ywjSzt4','y8o0BMCG','y+g7QxuGuW','4BUJigZdVsa','AmoIBIb2','BwfYEvq','XjhHU5fPoIa','jcbh4BUnAq','XinTimsr4BQ/','iYmGnc4','lI9JAge','CgLFz3a','uMvWB3i','ihBHU6uGyW','igVHU7mGja','ielHUQfUia','kKlHUQ5uia','y+g6P24GBa','zw8Gy8oH','z2v0q28','4BQ3DcbOW6a','kIOGvgG','iYbwquK','ksbJW6fJ','sgNHU4D1ia','igJdRg5O','qwDLBNq','BMLUzW','BMGGC+g7Kq','ihf14BQJia','zL0Gqxa','icaTimsq','Cg9W','z2v0q2G','W6LWlcbO','BciGkgm','BMrHBMm','AsbUAog6Rq','z2vUDf0','AsbJ4BQNBG','C2fNzq','Acb4W6fJ','ihWGrxi','Dw5Nigm','ihbO4BQPBq','q2JHU4KGDa','C+g7Ksb0Aq','icmJidi','ysb0Amo0','y2JHU4KGXje','y8oHAsbU','AEg7Gw4GiG','qsbw4BUkia','DmAWihBHUQu','4BUzAsbKDq','DcdeKEg6P3u','icmGuvu','XjhdSYaKdq','zog7RYbSAq','yUg6O25Nia','Bmo9l0VHUR8','ihrP4BQ/Da','yxjYB3C','AmoGBMCV','ihBeG24G','Bog6UYWGCW','Agf0lIa','BMGGBMG','iNbYB2q','BYaMieC','AmoTBMGG','y+g7Psb0Aa','4BQ/ig7HU5LP','BIbWAog6PW','CMeGy8oH','ntC2odq3mNHPu2DmuG','4BUByYb2W6a','BhmVzMK','wsbuuSom','4BUPyYbo4BUz','4BUXyY4Gwa','rM9VDgu','BYbS4BUxAq','iIbRAgK','icHU4BQ/Dq','qUg6R3qGyG','DMvUDg8','icHWAog6Oq','igrHBMG','4BUTAsbIW6e','y29UDgu','igZdOg0G','4BQLEsb2W6a','W6PUihNdQG','4BUrig5NW6a','iI4kica','4BUpAsb24BUb','ksWGA2K','ifrsW5iG','qYbusog7Na','AsbI4BUzoG','yMXLCYK','CciPicq','ssbhsue','DxKGDhi','A+g6UYbI4BQJ','BsbKB2e','z2H0yxi','yYiSici','tvnulca','W7rUzYb0','s2HPigm','B29SiIa','ifrYysa','zYdeKwfU','W5mGrog7RIa','W6HTicqn','CMvZCg8','ig3HUQ10lG','4BUly2GGDG','z2vZihy','CNvLiIa','XRbUzYbI','4BUNysbO4BUh','B2XZ','DtOkcIa','W6jUihzP','igtdSM5N','quKGtUg7Mq','icGQkMi','BCoJAtOk','igXP4BUhDq','q09mkqO','ig5NXRdHU50','ihrOW7rU','ihrO4BUrBG','ihBdOcdeKq','icaGlsa','W6fUignO','DMNdQM4G','BMCGjIa','icj04BURia','icjNzxq','DfrVB2W','ngfXzhDoDq','ihr5lIa','W61UAcbR','igpdSYbW','z2v0sw4','BIb0Aog6OW','4BQJBY9N4BUT','EsaMifq','4BUVigXP4BUh','W6fWigZdVq','zYWGBMC','l2tHU4TJAa','cGOGica','rgf0yvq','B29Sihq','igpHU6L1ia','4BQ/Dcb0Aa','z2HPig4','W6fVlcbN','yw0GC+g7Kq','cIaGica','ywXS','CdOG','C2uIlca','4BUJyYbIyq','zYbive0','BSoGEsiS','AsbI4BUzia','icaGic0','zYbXDwe','zxHWB3i','zufUzfa','zYb0Aog7GW','B2T1Ce0','yMvMB3i','4BUbBIWGBq','y2JgSmAHBG','zw5HAq','AwDODge','yxrHyMe','ySoHBYbJ','icaGica','BYbUAgK','BIbJAmoO','Aog7LYb0CG','BIbO4BUtAq','Dg9VBf8','BhmVCMe','icaTicO','AmoHy2GG','XQfUigldOq','4BQNBIbRAq','C3rLCKq','ysbJ4BUPDq','XjfHiglgSa','DhjHigm','4BUzAsbI4BUz','ySoHBIbO','BMGGDg8','z8AW4BUDAsa','W6b5ig5N','rKXpvYa','yYb2XinU','W6bTlcbZ','ihpHU5eGBG','icjPC18','iM51BgW','W6b5iglHUQ8','BMuSimsr','4BUzihbO4BQT','C3xHUQv0ia','ihtHU6SGDa','imsr4BUzBMC','XRbUzYaI','Aw9Uvg8','BCoJig5O','y8oHig5O','4BUdihrYyq','4BUJig5OW6i','igTOW6fJ','y8o0BMCS','BMCGy8oH','lI90B28','ksbRAgK','BMCGyUg7Kq','BCoJAsdeKq','BMCGCgG','seKGs0G','zgvS','Cc4kcIa','icmJidu','yUg6O24Gja','C2nHBM4','ySoHBYbp','Aog6Pw0GyW','AEg7Gw4GAa','4BQNBIbOAq','BMCGySoH','BIbOW6bU','x2LK','BIbXDxK','iIKUie4','ig7HU5LPia','CUg7Jw5Nia','BwfFDNq','y2JHU41Uia','BgXzzwe','4BULlcbhAq','ywLSigW','BMCGBCoS','Cxv54BUbBG','DsbJAg8','BMCGja0','y2u6igy','ywjSztO','W6bTihzP','CM9Szq','vhv54BUhDa','mtjruxvjvwm','CMLUzW','Dog7Q25Nia','BMC/iIW','lcbRAhu','DmoQBIaO','mtm2mde4r2zpA2rq','icaGthu','iglHU5KSia','XjdHU4mGA2K','DenVBNq','ifn0ywy','BMGGA2G','W6n5ignO','y+g7QxuGva','W7rUzYWG','C8oHy2GG','y+g6RxaGBG','W61UAcb0','qw5Kq28','CNjVDYq','icaGmY4','CMvWBge','icaTieS','C+g7SsdeKEg6RW','4BQHBIbWAa','Aw4GBMC','lGOkica','DUg7M2KGiG','iog7NYbIXRa','qUg6O24GDa','ywzMvg8','imsr4BUrAsa','CUg7OYbZBW','mta0ntC1mMPky1bbqW','imo9oIOG','AhxHUQ10ia','CNv54BUbBG','W6PUks4k','lcbOB2e','y2HlBM8','ig7HUR91ia','mJy4mdeXogrIswTjvG','zujHC2u','vg9VBci','DEg6Qw4GBq','Dg9tDhi','Dw5gAw4','Aog6RxqGyW','BMfUy2u','BMvKiIK','lI4VBgK','ic0Gs2G','iMXVB2S','B3bLBMe','BMCGAmoG','y+g7Mw5Nia','Dg9VBem','W6XUAcb4','CMvHC28','q29TCge','iI4Gsog7HW','zYb0CSoS','s0JdLe5h','4BUbihpHU5eG','ig7dOhKG','BIbZ4BQJBG','4BUhDsbI4BQX','y2JdOM4G','AxnbCNi','Aw5MBW','q2JgSgeG','s2HPig4','tcaOC+g7Rq','yNiVpIi','zmAW4BUBAsa','igr1BMC','AcbN4BQHyW','4BUTAsbfBq','igpdTg5N','teNHU4zvcG','igtdUw5N','AgKGBMG','u2fSzxm','ihpHU5eGDa','AsbKW7LU','Dog6OwKGyW','BMCGBSoG','ysbO4BUnia','B2WGBg8','ig3HU5fJia','DhjVBMC','Esb0Amo0','imsrAsbS','zYbJAg8','DxKGy2G','icPmXRb1','AcaKdwK','B+g6T2mGBG','Dwn0iIK','W6nPks4k','4BQJBIbWAa','Dgv4Da','zMLUze8','W6PUig11','W6PUlcbI','B1rVB2W','W6aGz+g7JwK','4BQJAsb0Aa','Def0Dgu','CUg6OYb24BUb','z3b0ltu','ysb4zw0','W7rUzYaM','DfbYAwm','ihrYXRdHU5S','pha+iIW','igHV4BQ3yW','DxNHU4fUia','CcbK4BULBG','tMJdOM4G','C2vYDMK','ms4Gvog7Sq','BMCUcGO','igpdSYbR','BhmVC3q','DxNHUR9Uia','BMCGC+g7Kq','vgJdOw5N','icaJiYa','igTO4BQLDq','tKGGwog7Ra','4BUhBIbYyq','AxO6oG','igldOhKG','4BUByYb0CG','zxnZywC','4BUlysbJAa','igrHDge','z8oGEsbJ','BfrVB2W','BEg7MxqGBq','iI4GcIa','ihBHU6uSia','yUg7Msb2W6a','AwWGy2G','BUg7MwKGza','igZHU4TJAa','Aw5Oigq','iIdeKEg7GYa','CM9TB3q','Bsb2Asa','ms4GvmoH','DNvPigW','AgKGAog7Jq','AsbI4BUzla','igVdRwnO','igHV4BQHDa','r+g7JwKGiG','W6bVigrH','4BQHDcWGCq','BIdeKEg6Rw0','W7jUig3HUQu','iMrLBL8','Aw9U','iIWGiJW','DNqIimsr','DgJHU51Pia','XjdHU4mGEgu','z2v0tw8','s2JdTg5N','EsbUz8oG','zvnLC3m','igZgShuG','igJHU4CGDa','4BUJyYaKdq','y2JgSgeG','igTOW7rU','XRdHU6nJihG','AmoZysdeKq','BgNHU4D1oG','q2JHU4SIia','BMC6ifq','4BUlBMGGza','AgNHU4DUla','igpdOwmG','vvKGvog6RG','B2WIlGO','4BUDBMCGiG','yxbW','zYbKBYa','B2XKkIO','lGOGica','zxjYB3i','BCoSBMGG','CNruB28','C2f2zu0','DxnLCG','yw55iIK','4BULBsb04BUR','AcbZ4BUria','ihrYysa','tIbusog7Sa','BMFHU6TVAq','ndGYnti1nwDWEgjitq','lIbuCMe','q+g7PKeGqG','DmAWicGI','imsrXRdHU6nJ','rxjYoG','AmoIBIaO','ksdeKEg7GYa','DsbJ4BQNDq','zMXLEgi','B2eGAog7KW','zYbSW6aG','4BUrBMCGka','W7jUzYbR','lIikcIa','igHVW6bU','igtHU6vUzW','Df9TB2q','4BQTCcb0Aa','DhKGkfq','BIbJAgK','4BUrigZgSog7OW','D2XLzgC','Xjbj4BUavsa','ihpHUQnUia','u1rbrKy','DxNHU4D0ia','AwXZ','ihWGu2u','iMDLDfa','ig5OW6jU','4BUdBsb0CG','ihf1yw4','W6XTihrO','lIbtB+g6Oq','iIKGy2G','BMH1igm','ig3HU6vJia','W70PlGOG','yYb0Amo0','igJHU5nUzW','4BUhBIbJW7i','yw5Jzue','W6LWigpHU6C','ihzPW6PU','BEg6RxqGDa','yYbWAg8','DgNHUR9Wia','uxxHUQnUia','BIbJAg8','z2v0rNu','ihrY4BUnBG','4BQ/DcbXDq','W7rUigDO','W6jUoGOG','ihpHU5eGyG','ici8yJ4','BMCGC2e','B29SiI4','AcbOB+g6Oq','y2HVigS','Aog7O3aGXje','icjZzw4','igpHU6DHia','4BUrBIb4zq','ihtdOgKG','EEg6V24GBq','W61UAcb4','icjbBMG','4BUNysbI4BQH','y2HP4BQ/Da','4BUhyZOkia','4BUtBMCGXje','Aog7HYb0Aa','dwLNAhq','igZgSmAHBG','Dog7SsdeKEg7Mq','mJe4mJK4meHtEwPhAW','Ag8GBSoG','ywXZzsi','CMeGy+g7Qq','4BUDAsbKW7K','ieFHU41Pia','AEg6V25Nia','DhxHUQDUia','y+g6PxaGDa','qYbu4BQ+cG','Aog7IsbWAa','zs4U','Aog6O24GAa','zxjFAwq','zYbJW7mG','vg9VBhm','iKfUAc8','y+g7QxuGCq','W6fUigJdOa','CNLtDw0','C3nPB24','Bog7L2KGza','4BUFign14BUr','CM9SBgu','CSoQBIaK','icHwW60G','AmoIBIb0','BMrLzMK','igldOw4G','yYbS4BUXyW','jcblW61J','r1vzW4Po','icaJie4','y2H1imsr','zw0Gzog7RW','z1rVB2W','igJdS2eG','BMDHEsi','BYbNACoH','BxbHBNK','ieLeig4','uSomtKGG','uvvzifq','y8oHyYbJ','ihtdRg5O','BwvZC2e','W6fJie3dOW','DSoGBYbI','Aog7Kw5Nia','igJHU49Pia','4BQHBIb0Aa','igr1Esa','BmAWXQfUzW','igDPyw4','BSoGEsb0','AsbK4BQHBG','BIbZ4BUXia','icaTieG','BwfW','tKCGqKK','lcbKyw4','x2fWCci','4BQPBsWGra','mte5me5xBejyva','yxjRzg8','Aog7Jw4GDa','W6mGA2H1','ihrY4BUXyW','Bmo9ks4G','BYbU4BUzAq','BgvUz3q','y3jLyxq','y2u6ihq','CgJHUQLTia','y2fSBhm','Dc1Tzxm','A2HHAsa','icyGs2G','icj0AmoH','4BQJBsbI4BQJ','ig5OAEg7Gq','W6nPlcb0','4BUcvsaOtq','W7PJicGI','zYaOtSsd','vMNHU4D0ia','CgvUqva','DhnDw3i','jIbuW4fd','ifDpuKS','DgJHURSGiG','q0JdJu5i','iIWGiNu','AcbODEg7Kq','w2nLB0e','BhmVBwe','C+g7NYbJAa','CgLFA2u','W6eGySoHBG','XjhHUQD1ig4','tMHP4BUhBq','ignOW61U','BwfFBNy','W6bUzYWG','AmoHDcbZ','AmoIBJOk','Dsb0CMK','lIbiAEg7HW','yNmVDxq','lJqTBwK'];_0x2957=function(){return _0x32c94c;};return _0x2957();}const _0x238a9a=_0x26be;(function(_0x530c6d,_0x1de993){const _0x3072a4=_0x26be,_0x1d0692=_0x530c6d();while(!![]){try{const _0x43c1a5=parseInt(_0x3072a4(0x154))/0x1+-parseInt(_0x3072a4(0x170))/0x2+parseInt(_0x3072a4(0x267))/0x3+-parseInt(_0x3072a4(0xd8))/0x4*(-parseInt(_0x3072a4(0x21a))/0x5)+-parseInt(_0x3072a4(0x14e))/0x6*(parseInt(_0x3072a4(0x178))/0x7)+-parseInt(_0x3072a4(0x346))/0x8+parseInt(_0x3072a4(0x2f3))/0x9*(parseInt(_0x3072a4(0x2a6))/0xa);if(_0x43c1a5===_0x1de993)break;else _0x1d0692['push'](_0x1d0692['shift']());}catch(_0x5df0dc){_0x1d0692['push'](_0x1d0692['shift']());}}}(_0x2957,0xa726c));const {generateText,stepCountIs,pruneMessages}=require('ai'),{createOpenAI}=require('@ai-s'+'dk/op'+_0x238a9a(0xfd)),chatController=require(_0x238a9a(0x305)+_0x238a9a(0x158)+_0x238a9a(0x27e)+'r'),{decrypt}=require(_0x238a9a(0x181)+_0x238a9a(0x2d3)+_0x238a9a(0x235)),{createFinanceTools}=require(_0x238a9a(0x12a)+_0x238a9a(0x348)+_0x238a9a(0x17f)+_0x238a9a(0x276)),{createStaffTools}=require(_0x238a9a(0x12a)+_0x238a9a(0x1cb)+_0x238a9a(0x16d)+_0x238a9a(0x377)),{createRagTools}=require('./too'+_0x238a9a(0x107)+_0x238a9a(0x28a)+'s'),{createMasterDataTools}=require(_0x238a9a(0x12a)+_0x238a9a(0x2c6)+_0x238a9a(0x10c)+'ataTo'+_0x238a9a(0x377)),tenantConfigs={},SYSTEM_PROMPT=_0x238a9a(0x311)+_0x238a9a(0x35d)+'VÀ\x20ĐỊ'+_0x238a9a(0x32f)+_0x238a9a(0x21c)+'ẠN\x0a\x20\x20'+'\x20\x20\x20\x20\x20'+_0x238a9a(0x30a)+'là\x20Tr'+_0x238a9a(0x2fe)+_0x238a9a(0xc8)+_0x238a9a(0x1e9)+'\x20là\x20n'+_0x238a9a(0x113)+_0x238a9a(0x186)+_0x238a9a(0x166)+_0x238a9a(0x284)+'\x20của\x20'+_0x238a9a(0x150)+_0x238a9a(0x1c6)+_0x238a9a(0xd3)+_0x238a9a(0x1a9)+'\x20công'+_0x238a9a(0xd9)+_0x238a9a(0x2cb)+_0x238a9a(0x308)+_0x238a9a(0x25f)+'n\x20là\x20'+_0x238a9a(0x104)+_0x238a9a(0x126)+_0x238a9a(0x29f)+'tự\x20tr'+_0x238a9a(0x10d)+'\x20thôn'+'g\x20tin'+_0x238a9a(0x2d8)+_0x238a9a(0x220)+'chấm\x20'+_0x238a9a(0x128)+'\x20doan'+_0x238a9a(0x216)+_0x238a9a(0x111)+_0x238a9a(0x2ce)+_0x238a9a(0x336)+_0x238a9a(0x29b)+_0x238a9a(0x35c)+_0x238a9a(0x239)+_0x238a9a(0x32b)+'ng\x20ti'+_0x238a9a(0x190)+_0x238a9a(0x327)+_0x238a9a(0xe3)+_0x238a9a(0x1dd)+_0x238a9a(0x15f)+_0x238a9a(0x17e)+_0x238a9a(0x341)+_0x238a9a(0x15e)+'chiết'+'\x20khấu'+_0x238a9a(0x152)+_0x238a9a(0x25c)+_0x238a9a(0x2b8)+_0x238a9a(0x26a)+_0x238a9a(0x2d1)+'\x20thức'+_0x238a9a(0x13e)+_0x238a9a(0x1de)+'\x20hỗ\x20t'+_0x238a9a(0x16f)+_0x238a9a(0x299)+_0x238a9a(0xde)+'i\x20ema'+_0x238a9a(0x1df)+'uyên\x20'+'nghiệ'+_0x238a9a(0x131)+_0x238a9a(0x101)+_0x238a9a(0x287)+_0x238a9a(0x286)+'\x20TẮC\x20'+_0x238a9a(0x2df)+'TIẾP\x20'+_0x238a9a(0x2bf)+_0x238a9a(0x2dd)+'G\x0a\x20\x20\x20'+_0x238a9a(0x101)+_0x238a9a(0x1e6)+_0x238a9a(0x248)+_0x238a9a(0x204)+_0x238a9a(0x281)+_0x238a9a(0x206)+_0x238a9a(0x1e1)+'\x20sự,\x20'+_0x238a9a(0x288)+'áo\x20nh'+_0x238a9a(0x375)+'ảo\x20mậ'+_0x238a9a(0x2dc)+_0x238a9a(0x22a)+'\x20ngôn'+_0x238a9a(0x11f)+_0x238a9a(0x26d)+_0x238a9a(0x2bc)+_0x238a9a(0x2fc)+_0x238a9a(0x2c7)+_0x238a9a(0x17b)+_0x238a9a(0x34b)+_0x238a9a(0x121)+_0x238a9a(0x2da)+_0x238a9a(0x1b9)+_0x238a9a(0xcd)+_0x238a9a(0x1a3)+_0x238a9a(0x225)+_0x238a9a(0x277)+_0x238a9a(0x203)+'hoặc\x20'+'\x22Sếp\x22'+_0x238a9a(0x34f)+'\x20là\x20q'+'uản\x20l'+_0x238a9a(0x240)+_0x238a9a(0x101)+'\x20\x202.\x20'+'Trình'+_0x238a9a(0x1d4)+_0x238a9a(0x134)+_0x238a9a(0x14a)+'\x20Luôn'+_0x238a9a(0x2aa)+_0x238a9a(0x23a)+_0x238a9a(0x28b)+_0x238a9a(0x335)+_0x238a9a(0x191)+'ng\x20BẢ'+_0x238a9a(0x2a2)+_0x238a9a(0x2b9)+_0x238a9a(0x2a7)+'wn\x20ta'+_0x238a9a(0x360)+_0x238a9a(0x2a3)+'h\x20sác'+_0x238a9a(0x19b)+'h\x20đầu'+_0x238a9a(0xc7)+_0x238a9a(0xd0)+_0x238a9a(0x205)+_0x238a9a(0x2e2)+_0x238a9a(0x1ef)+_0x238a9a(0xc9)+_0x238a9a(0x20d)+_0x238a9a(0x312)+_0x238a9a(0xce)+'g\x20tin'+_0x238a9a(0x23a)+_0x238a9a(0x24d)+'g\x20(Mã'+_0x238a9a(0x232)+'phẩm,'+_0x238a9a(0x118)+_0x238a9a(0x1d9)+_0x238a9a(0x15d)+_0x238a9a(0x329)+_0x238a9a(0xfb)+_0x238a9a(0x2a9)+_0x238a9a(0x25c)+_0x238a9a(0x1b2)+_0x238a9a(0x101)+_0x238a9a(0x163)+'\x20Bảo\x20'+_0x238a9a(0x247)+_0x238a9a(0x234)+_0x238a9a(0x301)+_0x238a9a(0x1c6)+_0x238a9a(0xd3)+_0x238a9a(0x32c)+_0x238a9a(0x200)+_0x238a9a(0x289)+_0x238a9a(0xcb)+_0x238a9a(0x259)+_0x238a9a(0x2c2)+'\x20HỌ\x20('+'trừ\x20k'+_0x238a9a(0x1e8)+'\x20là\x20b'+_0x238a9a(0x11d)+'n\x20đượ'+'c\x20phâ'+_0x238a9a(0x13c)+'ền\x20nh'+'ư\x20Kế\x20'+'toán/'+_0x238a9a(0x24a)+_0x238a9a(0x2ab)+'Không'+'\x20tiết'+'\x20lộ\x20m'+'ã\x20cod'+'e\x20hệ\x20'+'thống'+',\x20cấu'+('\x20trúc'+_0x238a9a(0x1d8)+_0x238a9a(0x2f2)+'\x20hoặc'+_0x238a9a(0x28f)+_0x238a9a(0x110)+'\x20(\x22id'+_0x238a9a(0x2a4)+',\x20\x22us'+_0x238a9a(0x274)+_0x238a9a(0x23d)+'o\x20ngư'+_0x238a9a(0x26b)+_0x238a9a(0x1c9)+_0x238a9a(0x101)+'\x20\x20\x20#\x20'+_0x238a9a(0x291)+_0x238a9a(0x290)+_0x238a9a(0x231)+'HƯỚNG'+_0x238a9a(0x2e5)+_0x238a9a(0x2f1)+_0x238a9a(0x233)+_0x238a9a(0x2c0)+_0x238a9a(0x115)+'PROTO'+_0x238a9a(0xcc)+'\x20\x20\x20\x20\x20'+'\x20\x20\x20Kh'+_0x238a9a(0x320)+_0x238a9a(0x2e7)+_0x238a9a(0x2de)+_0x238a9a(0x298)+'từ\x20nh'+_0x238a9a(0xc6)+_0x238a9a(0x1b7)+_0x238a9a(0x167)+_0x238a9a(0x1ba)+'ực\x20hi'+'ện\x20tư'+_0x238a9a(0x29a)+_0x238a9a(0x10e)+_0x238a9a(0x347)+_0x238a9a(0x1ea)+_0x238a9a(0x1eb)+_0x238a9a(0x2cc)+_0x238a9a(0x324)+_0x238a9a(0x207)+_0x238a9a(0x2fc)+_0x238a9a(0x342)+_0x238a9a(0x30d)+'c\x20tìn'+_0x238a9a(0x2c4)+_0x238a9a(0x253)+_0x238a9a(0xc5)+'\x20\x20\x20\x20\x20'+_0x238a9a(0x1cf)+_0x238a9a(0x1c8)+'\x20tra\x20'+'cứu\x20C'+_0x238a9a(0x136)+_0x238a9a(0x1bf)+'\x20Ngày'+_0x238a9a(0x19d)+_0x238a9a(0x259)+_0x238a9a(0x16c)+_0x238a9a(0x2d0)+'\x20\x20\x20\x20\x20'+_0x238a9a(0xd1)+_0x238a9a(0x196)+_0x238a9a(0x2ff)+'iên\x20h'+_0x238a9a(0x35b)+_0x238a9a(0x293)+_0x238a9a(0x314)+_0x238a9a(0x1ab)+_0x238a9a(0x117)+_0x238a9a(0x359)+_0x238a9a(0x2d5)+_0x238a9a(0xe2)+_0x238a9a(0x114)+_0x238a9a(0x271)+_0x238a9a(0x245)+'a\x20CHÍ'+'NH\x20HỌ'+_0x238a9a(0x280)+'dụ:\x20\x22'+_0x238a9a(0x1ce)+_0x238a9a(0x18f)+'em\x20đư'+_0x238a9a(0xf0)+_0x238a9a(0x102)+'êu\x20cô'+_0x238a9a(0x151)+_0x238a9a(0x25e)+'\x20xem\x20'+'giùm\x20'+_0x238a9a(0x2fa)+_0x238a9a(0x1f0)+_0x238a9a(0x1f9)+'y\x20phé'+_0x238a9a(0x361)+_0x238a9a(0x264)+_0x238a9a(0x339)+_0x238a9a(0x285)+_0x238a9a(0x255)+'t\x20\x22ge'+_0x238a9a(0x1bb)+_0x238a9a(0x31f)+'eRepo'+_0x238a9a(0x211)+'l\x22.\x0a\x20'+'\x20\x20\x20\x20\x20'+_0x238a9a(0x108)+_0x238a9a(0x30b)+'BUỘC:'+_0x238a9a(0x310)+'iết\x20l'+_0x238a9a(0x22c)+_0x238a9a(0xeb)+'\x20\x22is_'+'self_'+_0x238a9a(0x1c7)+_0x238a9a(0x2af)+_0x238a9a(0x374)+'và\x20bỏ'+'\x20trốn'+'g\x20trư'+_0x238a9a(0x20a)+_0x238a9a(0x2cd)+_0x238a9a(0x18b)+_0x238a9a(0xcf)+'g\x20sẽ\x20'+_0x238a9a(0x266)+_0x238a9a(0x12c)+'c\x20\x22us'+_0x238a9a(0x274)+_0x238a9a(0x1e3)+_0x238a9a(0x10f)+'ứu,\x20đ'+_0x238a9a(0x2b6)+'o\x20bảo'+_0x238a9a(0x371)+_0x238a9a(0xec)+'\x20\x20\x20\x20-'+_0x238a9a(0x1ae)+_0x238a9a(0x171)+_0x238a9a(0x328)+_0x238a9a(0x173)+_0x238a9a(0x119)+'self_'+_0x238a9a(0x1c7)+_0x238a9a(0x149)+_0x238a9a(0x269)+_0x238a9a(0xd0)+_0x238a9a(0x32e)+'ma_nv'+_0x238a9a(0x34e)+_0x238a9a(0xcd)+_0x238a9a(0x1a3)+_0x238a9a(0x225)+'Quản\x20'+_0x238a9a(0x337)+'\x20toán'+_0x238a9a(0x265)+_0x238a9a(0x36d)+_0x238a9a(0x275)+_0x238a9a(0x23e)+'ầu\x20tr'+_0x238a9a(0x10d)+'\x20cho\x20'+'nhân\x20'+_0x238a9a(0xd3)+'khác\x20'+_0x238a9a(0x199)+_0x238a9a(0x146)+_0x238a9a(0x169)+_0x238a9a(0x101)+_0x238a9a(0x32a)+_0x238a9a(0x21b)+_0x238a9a(0xe7)+'Doanh'+_0x238a9a(0x251)+_0x238a9a(0x279)+_0x238a9a(0xd4)+_0x238a9a(0x313)+_0x238a9a(0x11e)+_0x238a9a(0x124)+_0x238a9a(0x250)+'\x20\x20\x20\x20\x20'+'\x20\x20-\x20K'+_0x238a9a(0x1a0)+_0x238a9a(0xc6)+_0x238a9a(0x1b6)+_0x238a9a(0x25a)+_0x238a9a(0x365)+_0x238a9a(0x317)+_0x238a9a(0x283)+_0x238a9a(0x33c)+_0x238a9a(0x22f))+(_0x238a9a(0x185)+_0x238a9a(0x145)+'nh\x20đã'+'\x20xuất'+'\x20bán,'+_0x238a9a(0x1c3)+_0x238a9a(0x1a2)+_0x238a9a(0x137)+_0x238a9a(0x224)+'ng\x20mì'+_0x238a9a(0x33e)+_0x238a9a(0x2f7)+_0x238a9a(0x1fd)+_0x238a9a(0xfe)+'rrow$'+_0x238a9a(0x26c)+_0x238a9a(0x2fc)+'cụ\x20\x22g'+_0x238a9a(0x2eb)+_0x238a9a(0x161)+'mmiss'+'ionTo'+_0x238a9a(0x209)+'\x20\x20\x20\x20\x20'+_0x238a9a(0xd1)+_0x238a9a(0x1f6)+'m\x20chi'+_0x238a9a(0x338)+_0x238a9a(0x207)+_0x238a9a(0x201)+_0x238a9a(0x10a)+_0x238a9a(0x13a)+_0x238a9a(0x20c)+_0x238a9a(0x210)+'trực\x20'+_0x238a9a(0x249)+'thực\x20'+_0x238a9a(0x2ee)+_0x238a9a(0x1a9)+_0x238a9a(0x309)+'\x0dight'+_0x238a9a(0x339)+_0x238a9a(0x302)+'\x20\x22get'+_0x238a9a(0x1a1)+_0x238a9a(0x307)+_0x238a9a(0xd7)+_0x238a9a(0x2f9)+_0x238a9a(0x1c4)+_0x238a9a(0x123)+_0x238a9a(0xc6)+'ên\x20củ'+_0x238a9a(0x1a6)+_0x238a9a(0x296)+'ộ\x20lọc'+_0x238a9a(0x177)+'cần).'+_0x238a9a(0xe4)+_0x238a9a(0x101)+'##\x203.'+'\x20Tra\x20'+_0x238a9a(0x2fd)+_0x238a9a(0x1b3)+_0x238a9a(0x2a5)+_0x238a9a(0x372)+_0x238a9a(0x143)+_0x238a9a(0x2c9)+_0x238a9a(0x2b4)+_0x238a9a(0x1cc)+_0x238a9a(0xca)+'\x20\x20\x20\x20\x20'+_0x238a9a(0xd1)+_0x238a9a(0x36a)+_0x238a9a(0x10b)+_0x238a9a(0x239)+_0x238a9a(0x32b)+'ng\x20ti'+_0x238a9a(0x22e)+_0x238a9a(0x338)+_0x238a9a(0x259)+_0x238a9a(0x1db)+_0x238a9a(0x30f)+_0x238a9a(0x148)+'ighta'+_0x238a9a(0x162)+_0x238a9a(0x26c)+_0x238a9a(0x183)+'upMas'+'terDa'+_0x238a9a(0x2f6)+_0x238a9a(0x31e)+_0x238a9a(0x2a8)+'ype:\x20'+_0x238a9a(0x33f)+_0x238a9a(0x1b1)+'\x20để\x20l'+'ấy\x20ch'+'ính\x20x'+_0x238a9a(0x295)+'\x20vật\x20'+_0x238a9a(0x21d)+_0x238a9a(0x140)+_0x238a9a(0x13d)+'ếu\x20to'+_0x238a9a(0x1a7)+_0x238a9a(0xf9)+'aster'+_0x238a9a(0xe5)+_0x238a9a(0xe6)+_0x238a9a(0x1bc)+_0x238a9a(0x2b7)+'u\x20kết'+_0x238a9a(0x318)+'thì\x20c'+_0x238a9a(0x138)+_0x238a9a(0x1d2)+_0x238a9a(0x353)+'\x20sách'+'\x20đã\x20t'+_0x238a9a(0x23b)+_0x238a9a(0x357)+_0x238a9a(0x298)+_0x238a9a(0x219)+_0x238a9a(0x19f)+'\x20xem\x20'+_0x238a9a(0x141)+_0x238a9a(0x32d)+'ào.\x0a\x20'+_0x238a9a(0x101)+_0x238a9a(0x31a)+_0x238a9a(0x125)+_0x238a9a(0xe7)+'giá\x20b'+'án,\x20c'+'hính\x20'+_0x238a9a(0x15e)+_0x238a9a(0x260)+_0x238a9a(0x1d0)+_0x238a9a(0x175)+_0x238a9a(0x242)+_0x238a9a(0x1c3)+'\x20các\x20'+_0x238a9a(0xfc)+_0x238a9a(0x18c)+_0x238a9a(0x15a)+'uyến\x20'+_0x238a9a(0x12d)+'ang\x20á'+_0x238a9a(0x1c5)+_0x238a9a(0x1ac)+'\x20sản\x20'+_0x238a9a(0x2b0)+_0x238a9a(0x334)+'ighta'+'rrow$'+'\x20Gọi\x20'+_0x238a9a(0x237)+'roduc'+_0x238a9a(0x1c0)+_0x238a9a(0xf7)+_0x238a9a(0x1e4)+_0x238a9a(0x122)+'ol\x22\x20('+_0x238a9a(0x350)+'uộc\x20t'+'ruyền'+_0x238a9a(0x2d6)+_0x238a9a(0x1f4)+'ã\x20tìm'+_0x238a9a(0x21e)+_0x238a9a(0x16b)+_0x238a9a(0x1d5)+_0x238a9a(0x174)+_0x238a9a(0x101)+_0x238a9a(0xd1)+_0x238a9a(0x157)+'ểm\x20tr'+_0x238a9a(0x1be)+'\x20sản\x20'+'phẩm\x20'+'đó\x20hi'+_0x238a9a(0x243)+_0x238a9a(0x13a)+'g\x20ở\x20k'+_0x238a9a(0x268)+'o\x20để\x20'+_0x238a9a(0x330)+_0x238a9a(0x24b)+_0x238a9a(0x127)+_0x238a9a(0x1af)+_0x238a9a(0x366)+'row$\x20'+_0x238a9a(0x1ec)+_0x238a9a(0xdc)+_0x238a9a(0x351)+_0x238a9a(0x27a)+_0x238a9a(0x300)+_0x238a9a(0x254)+_0x238a9a(0xe4)+_0x238a9a(0x101))+(_0x238a9a(0x304)+_0x238a9a(0x36c)+_0x238a9a(0x15c)+'hông\x20'+'tin\x20C'+_0x238a9a(0x369)+_0x238a9a(0xdf)+'ri\x20th'+_0x238a9a(0x34a)+_0x238a9a(0x35f)+_0x238a9a(0xec)+_0x238a9a(0xf4)+_0x238a9a(0x2f4)+_0x238a9a(0x30c)+_0x238a9a(0x2e9)+_0x238a9a(0x369)+'in\x20ph'+_0x238a9a(0xe1)+_0x238a9a(0x259)+'công\x20'+_0x238a9a(0x22d)+'ên\x20ch'+_0x238a9a(0x160)+_0x238a9a(0x2d7)+_0x238a9a(0x368)+'hotli'+_0x238a9a(0x11c)+_0x238a9a(0x1d7)+'ỉ)\x20để'+_0x238a9a(0x356)+_0x238a9a(0x192)+'trang'+_0x238a9a(0x33b)+_0x238a9a(0x133)+_0x238a9a(0x264)+_0x238a9a(0x339)+_0x238a9a(0x302)+_0x238a9a(0xd6)+_0x238a9a(0x18a)+'nyInf'+_0x238a9a(0x1b8)+_0x238a9a(0x35a)+_0x238a9a(0x101)+_0x238a9a(0x182)+_0x238a9a(0x322)+_0x238a9a(0x217)+_0x238a9a(0x278)+_0x238a9a(0x1ad)+_0x238a9a(0x343)+_0x238a9a(0x156)+_0x238a9a(0x2ec)+'\x20sách'+_0x238a9a(0x2ef)+_0x238a9a(0x12e)+_0x238a9a(0x1ee)+_0x238a9a(0x363)+_0x238a9a(0x188)+_0x238a9a(0x168)+_0x238a9a(0x271)+_0x238a9a(0x31d)+_0x238a9a(0x1b0)+_0x238a9a(0x331)+_0x238a9a(0x129)+_0x238a9a(0x116)+'\x20bản/'+_0x238a9a(0x257)+_0x238a9a(0x262)+_0x238a9a(0xda)+_0x238a9a(0x36f)+'ighta'+_0x238a9a(0x162)+'\x20Gọi\x20'+'\x22sear'+_0x238a9a(0x176)+_0x238a9a(0x230)+_0x238a9a(0x179)+_0x238a9a(0x17a)+_0x238a9a(0x352)+_0x238a9a(0x1e5)+'\x22comp'+_0x238a9a(0x214)+_0x238a9a(0x169)+_0x238a9a(0x101)+_0x238a9a(0x132)+_0x238a9a(0x23c)+_0x238a9a(0xdd)+_0x238a9a(0x340)+_0x238a9a(0x19c)+_0x238a9a(0x144)+_0x238a9a(0x14b)+_0x238a9a(0x261)+_0x238a9a(0x101)+_0x238a9a(0x165)+_0x238a9a(0x1a0)+_0x238a9a(0xc6)+_0x238a9a(0x358)+_0x238a9a(0x222)+_0x238a9a(0x2d9)+_0x238a9a(0x100)+_0x238a9a(0xea)+_0x238a9a(0x354)+_0x238a9a(0x28d)+_0x238a9a(0x1c3)+_0x238a9a(0x25b)+_0x238a9a(0x2ea)+_0x238a9a(0x256)+_0x238a9a(0x109)+_0x238a9a(0x33a)+_0x238a9a(0x26f)+_0x238a9a(0x27f)+_0x238a9a(0x264)+'arrow'+'$\x20Soạ'+'n\x20thả'+_0x238a9a(0x2ac)+_0x238a9a(0x19a)+_0x238a9a(0x229)+'\x20chỉn'+'h\x20dướ'+_0x238a9a(0x29e)+_0x238a9a(0xf1)+_0x238a9a(0x197)+_0x238a9a(0x22a)+_0x238a9a(0x207)+_0x238a9a(0x2c1)+_0x238a9a(0x1c2)+_0x238a9a(0x252)+_0x238a9a(0x1f3)+_0x238a9a(0x198)+_0x238a9a(0x2e4)+_0x238a9a(0x2fb)+_0x238a9a(0x1e3)+_0x238a9a(0x364)+_0x238a9a(0x1cd)+_0x238a9a(0xcb)+'\x20nếu\x20'+'có)\x20v'+'à\x20tiế'+_0x238a9a(0x13a)+'h\x20gửi'+_0x238a9a(0xce)+_0x238a9a(0xf5)+_0x238a9a(0x258)+_0x238a9a(0x2e6)+_0x238a9a(0x1da)+_0x238a9a(0x1dc)+'\x20\x20\x20\x20\x20'+_0x238a9a(0x2a0)+_0x238a9a(0x15b)+'ủ\x20độn'+'g\x20kết'+_0x238a9a(0x2ed)+_0x238a9a(0x16a)+_0x238a9a(0x30e)+_0x238a9a(0x28e)+'InfoT'+_0x238a9a(0x36b)+'để\x20lấ'+_0x238a9a(0x1aa)+'ng\x20ti'+_0x238a9a(0x103)+_0x238a9a(0x344)+_0x238a9a(0x2e8)+_0x238a9a(0x153)+_0x238a9a(0x34c)+'r)\x20tr'+'ang\x20t'+_0x238a9a(0x13f)+_0x238a9a(0x27d)+'i\x20thư'+_0x238a9a(0x169)+_0x238a9a(0x101)+_0x238a9a(0x333)+_0x238a9a(0x349)+_0x238a9a(0x1d1)+'\x20LÝ\x20K'+_0x238a9a(0x12f)+'ÔNG\x20C'+_0x238a9a(0x36e)+_0x238a9a(0x19e)+_0x238a9a(0x101)+_0x238a9a(0xd1)+_0x238a9a(0x14d)+_0x238a9a(0x16e)+_0x238a9a(0x18d)+'\x20đưa\x20'+_0x238a9a(0x345)+_0x238a9a(0x241)+_0x238a9a(0x139)+_0x238a9a(0x34d)+'\x20kỹ\x20t'+_0x238a9a(0x172)+_0x238a9a(0x263)+_0x238a9a(0x226)+'như\x20\x22'+_0x238a9a(0x27c)+_0x238a9a(0xff)+_0x238a9a(0xef)+_0x238a9a(0x11a)+_0x238a9a(0x2c3))+(_0x238a9a(0x282)+_0x238a9a(0x180)+_0x238a9a(0x20e)+_0x238a9a(0x101)+_0x238a9a(0x2e0)+_0x238a9a(0x1fc)+_0x238a9a(0x297)+_0x238a9a(0x1fe)+'trả\x20v'+_0x238a9a(0x18e)+_0x238a9a(0x202)+'\x20\x22Anh'+'/Chị\x20'+_0x238a9a(0x1e7)+_0x238a9a(0x227)+_0x238a9a(0x2f5)+'ra\x20lạ'+_0x238a9a(0xf3)+_0x238a9a(0x2e1)+'hoảng'+'\x20thời'+_0x238a9a(0x29c)+_0x238a9a(0x2d2)+'n\x20tại'+_0x238a9a(0x1fc)+_0x238a9a(0x297)+'chưa\x20'+_0x238a9a(0xe9)+_0x238a9a(0x2f0)+_0x238a9a(0x2cf)+_0x238a9a(0x1e2)+_0x238a9a(0xe0)+_0x238a9a(0x147)+_0x238a9a(0x23f)+_0x238a9a(0x29d)+'rong\x20'+_0x238a9a(0x2db)+_0x238a9a(0x222)+_0x238a9a(0x228)+_0x238a9a(0x101)+'\x20\x20#\x20Q'+_0x238a9a(0x208)+_0x238a9a(0x35e)+_0x238a9a(0x362)+_0x238a9a(0x218)+_0x238a9a(0x270)+_0x238a9a(0x101)+_0x238a9a(0x155)+_0x238a9a(0x24f)+'i\x20nhớ'+_0x238a9a(0x1a8)+_0x238a9a(0x1f5)+'gian\x20'+'hiện\x20'+_0x238a9a(0x1a4)+_0x238a9a(0x376)+_0x238a9a(0xcf)+_0x238a9a(0x2bb)+'m\x20')+new Date()[_0x238a9a(0x24c)+_0x238a9a(0x142)+'r']+(_0x238a9a(0x221)+'tự\x20độ'+'ng\x20tí'+_0x238a9a(0x112)+_0x238a9a(0xd2)+_0x238a9a(0x25d)+'ác\x20ng'+_0x238a9a(0x11b)+_0x238a9a(0x332)+'\x20và\x20n'+'gày\x20k'+_0x238a9a(0xe8)+_0x238a9a(0x2ba)+'tu_ng'+'ay\x22,\x20'+_0x238a9a(0x1f1)+_0x238a9a(0x28c)+_0x238a9a(0x12b)+_0x238a9a(0x238)+_0x238a9a(0x246)+'\x20hỏi\x20'+_0x238a9a(0x292)+_0x238a9a(0x215)+_0x238a9a(0x120)+'\x20như:'+_0x238a9a(0x2b5)+_0x238a9a(0x1a5)+'y\x22,\x20\x22'+'tháng'+_0x238a9a(0x1c1)+_0x238a9a(0x367)+_0x238a9a(0x26e)+_0x238a9a(0xf2)+_0x238a9a(0xd5)+_0x238a9a(0x2ca)+_0x238a9a(0x303)+'n\x20nay'+'\x22.');async function runStaffAgent(_0x3d7286,_0x172f49,_0x431509,_0x293f42){const _0x2efa23=_0x238a9a;try{if(!tenantConfigs[_0x3d7286]){const _0x50c453={};_0x50c453[_0x2efa23(0x13b)]=_0x3d7286;const _0x3b1c22={};_0x3b1c22['opena'+_0x2efa23(0x2c8)+'y']=0x1,_0x3b1c22['opena'+_0x2efa23(0x306)+_0x2efa23(0x22b)+'el']=0x1;const _0x5c34d7=await global[_0x2efa23(0x1f7)+_0x2efa23(0x130)](_0x2efa23(0x20b))[_0x2efa23(0x1b5)+'ne'](_0x50c453,_0x3b1c22);if(!_0x5c34d7||!_0x5c34d7[_0x2efa23(0x184)+_0x2efa23(0x2c8)+'y'])throw new Error(_0x2efa23(0x195)+_0x2efa23(0x2b3)+_0x2efa23(0x135)+_0x2efa23(0x2bd)+'I\x20key'+'\x20cho\x20'+_0x2efa23(0x263)+'ống.');const _0x956263=decrypt(_0x5c34d7[_0x2efa23(0x184)+'pi_ke'+'y'][_0x2efa23(0x164)+'ce'](_0x2efa23(0x223)+_0x2efa23(0x1d3),''),![]),_0x312867={};_0x312867['apiKe'+'y']=_0x956263,tenantConfigs[_0x3d7286]={'openaiInstance':createOpenAI(_0x312867),'gptModel':_0x5c34d7[_0x2efa23(0x184)+_0x2efa23(0x306)+_0x2efa23(0x22b)+'el']||_0x2efa23(0x1bd)+_0x2efa23(0x2d4)+'ni'};}const {openaiInstance:_0x5636df,gptModel:_0x478b20}=tenantConfigs[_0x3d7286];if(!_0x431509){const _0x1fa341=await chatController[_0x2efa23(0x2ae)+_0x2efa23(0x1fa)+_0x2efa23(0x1f2)](_0x3d7286,_0x172f49,_0x293f42['subst'+_0x2efa23(0x14f)](0x0,0x400));_0x431509=_0x1fa341[_0x2efa23(0x13b)][_0x2efa23(0x17c)+'ing']();}const _0x58da1a=await chatController[_0x2efa23(0x31c)+'atHis'+'tory'](_0x3d7286,_0x431509,0x1e),_0x47ae9f={};_0x47ae9f[_0x2efa23(0x14c)]=_0x2efa23(0x213),_0x47ae9f[_0x2efa23(0x355)+'nt']=_0x293f42;const _0x415267=[..._0x58da1a,_0x47ae9f],_0x27591c={};_0x27591c[_0x2efa23(0x294)+_0x2efa23(0x2f8)]=_0x415267,_0x27591c[_0x2efa23(0x189)+_0x2efa23(0x316)]=_0x2efa23(0xed),_0x27591c[_0x2efa23(0x187)+'alls']=_0x2efa23(0xfa)+_0x2efa23(0x2e3)+_0x2efa23(0x2b2)+_0x2efa23(0x323);const _0x522fbf=pruneMessages(_0x27591c),{getSalesReportTool:_0x4f11f0}=createFinanceTools(_0x3d7286,_0x172f49),_0x5ccb07={'getSalesReportTool':_0x4f11f0,...createStaffTools(_0x3d7286,_0x172f49),...createRagTools(_0x3d7286,_0x172f49),...createMasterDataTools(_0x3d7286,_0x172f49)},_0x4bb1c8=await generateText({'model':_0x5636df['chat'](_0x478b20),'system':SYSTEM_PROMPT,'messages':_0x522fbf,'tools':_0x5ccb07,'stopWhen':stepCountIs(0xa)});Logger[_0x2efa23(0x194)](_0x2efa23(0x2c5)+_0x2efa23(0x321)+_0x2efa23(0x1fb)+'messa'+_0x2efa23(0x373)+_0x2efa23(0x1ed)+'tabas'+_0x2efa23(0x272));const _0x3266b9={};_0x3266b9[_0x2efa23(0x14c)]=_0x2efa23(0x213),_0x3266b9[_0x2efa23(0x355)+'nt']=_0x293f42;const _0x340839=[_0x3266b9,..._0x4bb1c8[_0x2efa23(0x370)+'nse'][_0x2efa23(0x294)+_0x2efa23(0x2f8)][_0x2efa23(0x2a1)](_0x4a21f8=>({'role':_0x4a21f8['role'],'content':_0x4a21f8[_0x2efa23(0x355)+'nt']?Array[_0x2efa23(0x193)+'ay'](_0x4a21f8[_0x2efa23(0x355)+'nt'])?_0x4a21f8[_0x2efa23(0x355)+'nt'][0x0]?.[_0x2efa23(0x1b4)]:_0x4a21f8[_0x2efa23(0x355)+'nt']:'','tool_calls':_0x4a21f8[_0x2efa23(0x106)+_0x2efa23(0x2b1)]||null,'tool_call_id':_0x4a21f8[_0x2efa23(0x106)+'call_'+'id']||null,'messages':[_0x4a21f8]}))];try{await chatController[_0x2efa23(0x212)+_0x2efa23(0x1d6)+'es'](_0x3d7286,_0x431509,_0x340839);}catch(_0x3a787a){Logger['error']('[agen'+_0x2efa23(0x2be)+_0x2efa23(0x17d)+_0x2efa23(0x244)+_0x2efa23(0x321)+_0x2efa23(0x1ff)+_0x2efa23(0xf8)+_0x2efa23(0x1fb)+_0x2efa23(0x1e0)+_0x2efa23(0x326)+_0x2efa23(0x33d)+_0x2efa23(0x21f),_0x3a787a);}return{'session_id':_0x431509,'answer':_0x340839[_0x2efa23(0x2ad)+'h']>0x1?_0x340839[_0x2efa23(0x31b)]()?.[_0x2efa23(0x355)+'nt']||_0x2efa23(0x1f8)+_0x2efa23(0xdb)+_0x2efa23(0x273)+'ồi':_0x2efa23(0x1f8)+_0x2efa23(0x1ca)+_0x2efa23(0x24e)+'ả\x20phả'+_0x2efa23(0x105)};}catch(_0x2526d2){console[_0x2efa23(0x20f)]('[Lỗi\x20'+_0x2efa23(0x315)+_0x2efa23(0x159)+_0x2efa23(0x319)+_0x2efa23(0xee)+_0x3d7286+(_0x2efa23(0x236)+_0x2efa23(0x27b)+':\x20')+_0x431509+(_0x2efa23(0x325)+'r:'),_0x2526d2);throw new Error(_0x2526d2[_0x2efa23(0x294)+'ge']);}}module[_0x238a9a(0xf6)+'ts']=runStaffAgent;