@xsat10/baileys-xsat 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (424) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +64 -0
  3. package/WAProto/GenerateStatics.sh +3 -0
  4. package/WAProto/WAProto.proto +5479 -0
  5. package/WAProto/fix-imports.js +38 -0
  6. package/WAProto/index.d.ts +14017 -0
  7. package/WAProto/index.js +2213 -0
  8. package/engine-requirements.js +10 -0
  9. package/lib/Defaults/index.d.ts +75 -0
  10. package/lib/Defaults/index.d.ts.map +1 -0
  11. package/lib/Defaults/index.js +139 -0
  12. package/lib/Defaults/index.js.map +1 -0
  13. package/lib/Signal/Group/ciphertext-message.d.ts +10 -0
  14. package/lib/Signal/Group/ciphertext-message.d.ts.map +1 -0
  15. package/lib/Signal/Group/ciphertext-message.js +19 -0
  16. package/lib/Signal/Group/ciphertext-message.js.map +1 -0
  17. package/lib/Signal/Group/group-session-builder.d.ts +15 -0
  18. package/lib/Signal/Group/group-session-builder.d.ts.map +1 -0
  19. package/lib/Signal/Group/group-session-builder.js +38 -0
  20. package/lib/Signal/Group/group-session-builder.js.map +1 -0
  21. package/lib/Signal/Group/group_cipher.d.ts +17 -0
  22. package/lib/Signal/Group/group_cipher.d.ts.map +1 -0
  23. package/lib/Signal/Group/group_cipher.js +87 -0
  24. package/lib/Signal/Group/group_cipher.js.map +1 -0
  25. package/lib/Signal/Group/index.d.ts +12 -0
  26. package/lib/Signal/Group/index.d.ts.map +1 -0
  27. package/lib/Signal/Group/index.js +79 -0
  28. package/lib/Signal/Group/index.js.map +1 -0
  29. package/lib/Signal/Group/keyhelper.d.ts +11 -0
  30. package/lib/Signal/Group/keyhelper.d.ts.map +1 -0
  31. package/lib/Signal/Group/keyhelper.js +27 -0
  32. package/lib/Signal/Group/keyhelper.js.map +1 -0
  33. package/lib/Signal/Group/sender-chain-key.d.ts +14 -0
  34. package/lib/Signal/Group/sender-chain-key.d.ts.map +1 -0
  35. package/lib/Signal/Group/sender-chain-key.js +33 -0
  36. package/lib/Signal/Group/sender-chain-key.js.map +1 -0
  37. package/lib/Signal/Group/sender-key-distribution-message.d.ts +17 -0
  38. package/lib/Signal/Group/sender-key-distribution-message.d.ts.map +1 -0
  39. package/lib/Signal/Group/sender-key-distribution-message.js +62 -0
  40. package/lib/Signal/Group/sender-key-distribution-message.js.map +1 -0
  41. package/lib/Signal/Group/sender-key-message.d.ts +19 -0
  42. package/lib/Signal/Group/sender-key-message.d.ts.map +1 -0
  43. package/lib/Signal/Group/sender-key-message.js +68 -0
  44. package/lib/Signal/Group/sender-key-message.js.map +1 -0
  45. package/lib/Signal/Group/sender-key-name.d.ts +18 -0
  46. package/lib/Signal/Group/sender-key-name.d.ts.map +1 -0
  47. package/lib/Signal/Group/sender-key-name.js +54 -0
  48. package/lib/Signal/Group/sender-key-name.js.map +1 -0
  49. package/lib/Signal/Group/sender-key-record.d.ts +31 -0
  50. package/lib/Signal/Group/sender-key-record.d.ts.map +1 -0
  51. package/lib/Signal/Group/sender-key-record.js +48 -0
  52. package/lib/Signal/Group/sender-key-record.js.map +1 -0
  53. package/lib/Signal/Group/sender-key-state.d.ts +39 -0
  54. package/lib/Signal/Group/sender-key-state.d.ts.map +1 -0
  55. package/lib/Signal/Group/sender-key-state.js +88 -0
  56. package/lib/Signal/Group/sender-key-state.js.map +1 -0
  57. package/lib/Signal/Group/sender-message-key.d.ts +12 -0
  58. package/lib/Signal/Group/sender-message-key.d.ts.map +1 -0
  59. package/lib/Signal/Group/sender-message-key.js +33 -0
  60. package/lib/Signal/Group/sender-message-key.js.map +1 -0
  61. package/lib/Signal/libsignal.d.ts +5 -0
  62. package/lib/Signal/libsignal.d.ts.map +1 -0
  63. package/lib/Signal/libsignal.js +575 -0
  64. package/lib/Signal/libsignal.js.map +1 -0
  65. package/lib/Signal/lid-mapping.d.ts +23 -0
  66. package/lib/Signal/lid-mapping.d.ts.map +1 -0
  67. package/lib/Signal/lid-mapping.js +309 -0
  68. package/lib/Signal/lid-mapping.js.map +1 -0
  69. package/lib/Socket/Client/index.d.ts +3 -0
  70. package/lib/Socket/Client/index.d.ts.map +1 -0
  71. package/lib/Socket/Client/index.js +27 -0
  72. package/lib/Socket/Client/index.js.map +1 -0
  73. package/lib/Socket/Client/types.d.ts +16 -0
  74. package/lib/Socket/Client/types.d.ts.map +1 -0
  75. package/lib/Socket/Client/types.js +18 -0
  76. package/lib/Socket/Client/types.js.map +1 -0
  77. package/lib/Socket/Client/websocket.d.ts +13 -0
  78. package/lib/Socket/Client/websocket.d.ts.map +1 -0
  79. package/lib/Socket/Client/websocket.js +62 -0
  80. package/lib/Socket/Client/websocket.js.map +1 -0
  81. package/lib/Socket/business.d.ts +217 -0
  82. package/lib/Socket/business.d.ts.map +1 -0
  83. package/lib/Socket/business.js +375 -0
  84. package/lib/Socket/business.js.map +1 -0
  85. package/lib/Socket/chats.d.ts +124 -0
  86. package/lib/Socket/chats.d.ts.map +1 -0
  87. package/lib/Socket/chats.js +1328 -0
  88. package/lib/Socket/chats.js.map +1 -0
  89. package/lib/Socket/communities.d.ts +273 -0
  90. package/lib/Socket/communities.d.ts.map +1 -0
  91. package/lib/Socket/communities.js +522 -0
  92. package/lib/Socket/communities.js.map +1 -0
  93. package/lib/Socket/fake-chat.js +96 -0
  94. package/lib/Socket/graphql.js +724 -0
  95. package/lib/Socket/groups.d.ts +161 -0
  96. package/lib/Socket/groups.d.ts.map +1 -0
  97. package/lib/Socket/groups.js +430 -0
  98. package/lib/Socket/groups.js.map +1 -0
  99. package/lib/Socket/index.d.ts +260 -0
  100. package/lib/Socket/index.d.ts.map +1 -0
  101. package/lib/Socket/index.js +21 -0
  102. package/lib/Socket/index.js.map +1 -0
  103. package/lib/Socket/interop.js +466 -0
  104. package/lib/Socket/luxu.js +422 -0
  105. package/lib/Socket/messages-recv.d.ts +203 -0
  106. package/lib/Socket/messages-recv.d.ts.map +1 -0
  107. package/lib/Socket/messages-recv.js +2408 -0
  108. package/lib/Socket/messages-recv.js.map +1 -0
  109. package/lib/Socket/messages-send.d.ts +199 -0
  110. package/lib/Socket/messages-send.d.ts.map +1 -0
  111. package/lib/Socket/messages-send.js +1681 -0
  112. package/lib/Socket/messages-send.js.map +1 -0
  113. package/lib/Socket/mex.d.ts +3 -0
  114. package/lib/Socket/mex.d.ts.map +1 -0
  115. package/lib/Socket/mex.js +55 -0
  116. package/lib/Socket/mex.js.map +1 -0
  117. package/lib/Socket/newsletter.d.ts +170 -0
  118. package/lib/Socket/newsletter.d.ts.map +1 -0
  119. package/lib/Socket/newsletter.js +231 -0
  120. package/lib/Socket/newsletter.js.map +1 -0
  121. package/lib/Socket/privacy.js +321 -0
  122. package/lib/Socket/socket.d.ts +59 -0
  123. package/lib/Socket/socket.d.ts.map +1 -0
  124. package/lib/Socket/socket.js +1039 -0
  125. package/lib/Socket/socket.js.map +1 -0
  126. package/lib/Socket/spam-report.js +94 -0
  127. package/lib/Socket/username.js +239 -0
  128. package/lib/Store/index.d.ts +3 -0
  129. package/lib/Store/index.js +10 -0
  130. package/lib/Store/keyed-db.js +112 -0
  131. package/lib/Store/make-cache-manager-store.d.ts +13 -0
  132. package/lib/Store/make-cache-manager-store.js +82 -0
  133. package/lib/Store/make-in-memory-store.d.ts +118 -0
  134. package/lib/Store/make-in-memory-store.js +429 -0
  135. package/lib/Store/make-ordered-dictionary.d.ts +13 -0
  136. package/lib/Store/make-ordered-dictionary.js +81 -0
  137. package/lib/Store/object-repository.d.ts +10 -0
  138. package/lib/Store/object-repository.js +27 -0
  139. package/lib/Store/reporting-info-store.js +73 -0
  140. package/lib/Types/Auth.d.ts +117 -0
  141. package/lib/Types/Auth.d.ts.map +1 -0
  142. package/lib/Types/Auth.js +5 -0
  143. package/lib/Types/Auth.js.map +1 -0
  144. package/lib/Types/Bussines.d.ts +25 -0
  145. package/lib/Types/Bussines.d.ts.map +1 -0
  146. package/lib/Types/Bussines.js +5 -0
  147. package/lib/Types/Bussines.js.map +1 -0
  148. package/lib/Types/Call.d.ts +15 -0
  149. package/lib/Types/Call.d.ts.map +1 -0
  150. package/lib/Types/Call.js +5 -0
  151. package/lib/Types/Call.js.map +1 -0
  152. package/lib/Types/Chat.d.ts +124 -0
  153. package/lib/Types/Chat.d.ts.map +1 -0
  154. package/lib/Types/Chat.js +8 -0
  155. package/lib/Types/Chat.js.map +1 -0
  156. package/lib/Types/Contact.d.ts +26 -0
  157. package/lib/Types/Contact.d.ts.map +1 -0
  158. package/lib/Types/Contact.js +5 -0
  159. package/lib/Types/Contact.js.map +1 -0
  160. package/lib/Types/Events.d.ts +256 -0
  161. package/lib/Types/Events.d.ts.map +1 -0
  162. package/lib/Types/Events.js +3 -0
  163. package/lib/Types/Events.js.map +1 -0
  164. package/lib/Types/GroupMetadata.d.ts +71 -0
  165. package/lib/Types/GroupMetadata.d.ts.map +1 -0
  166. package/lib/Types/GroupMetadata.js +5 -0
  167. package/lib/Types/GroupMetadata.js.map +1 -0
  168. package/lib/Types/Label.d.ts +47 -0
  169. package/lib/Types/Label.d.ts.map +1 -0
  170. package/lib/Types/Label.js +31 -0
  171. package/lib/Types/Label.js.map +1 -0
  172. package/lib/Types/LabelAssociation.d.ts +30 -0
  173. package/lib/Types/LabelAssociation.d.ts.map +1 -0
  174. package/lib/Types/LabelAssociation.js +13 -0
  175. package/lib/Types/LabelAssociation.js.map +1 -0
  176. package/lib/Types/Message.d.ts +320 -0
  177. package/lib/Types/Message.d.ts.map +1 -0
  178. package/lib/Types/Message.js +23 -0
  179. package/lib/Types/Message.js.map +1 -0
  180. package/lib/Types/Mex.d.ts +141 -0
  181. package/lib/Types/Mex.d.ts.map +1 -0
  182. package/lib/Types/Mex.js +43 -0
  183. package/lib/Types/Mex.js.map +1 -0
  184. package/lib/Types/Product.d.ts +79 -0
  185. package/lib/Types/Product.d.ts.map +1 -0
  186. package/lib/Types/Product.js +5 -0
  187. package/lib/Types/Product.js.map +1 -0
  188. package/lib/Types/Signal.d.ts +87 -0
  189. package/lib/Types/Signal.d.ts.map +1 -0
  190. package/lib/Types/Signal.js +3 -0
  191. package/lib/Types/Signal.js.map +1 -0
  192. package/lib/Types/Socket.d.ts +136 -0
  193. package/lib/Types/Socket.d.ts.map +1 -0
  194. package/lib/Types/Socket.js +4 -0
  195. package/lib/Types/Socket.js.map +1 -0
  196. package/lib/Types/State.d.ts +97 -0
  197. package/lib/Types/State.d.ts.map +1 -0
  198. package/lib/Types/State.js +62 -0
  199. package/lib/Types/State.js.map +1 -0
  200. package/lib/Types/USync.d.ts +26 -0
  201. package/lib/Types/USync.d.ts.map +1 -0
  202. package/lib/Types/USync.js +3 -0
  203. package/lib/Types/USync.js.map +1 -0
  204. package/lib/Types/index.d.ts +65 -0
  205. package/lib/Types/index.d.ts.map +1 -0
  206. package/lib/Types/index.js +167 -0
  207. package/lib/Types/index.js.map +1 -0
  208. package/lib/Utils/auth-utils.d.ts +24 -0
  209. package/lib/Utils/auth-utils.d.ts.map +1 -0
  210. package/lib/Utils/auth-utils.js +332 -0
  211. package/lib/Utils/auth-utils.js.map +1 -0
  212. package/lib/Utils/browser-utils.d.ts +4 -0
  213. package/lib/Utils/browser-utils.d.ts.map +1 -0
  214. package/lib/Utils/browser-utils.js +39 -0
  215. package/lib/Utils/browser-utils.js.map +1 -0
  216. package/lib/Utils/business.d.ts +23 -0
  217. package/lib/Utils/business.d.ts.map +1 -0
  218. package/lib/Utils/business.js +247 -0
  219. package/lib/Utils/business.js.map +1 -0
  220. package/lib/Utils/chat-utils.d.ts +100 -0
  221. package/lib/Utils/chat-utils.d.ts.map +1 -0
  222. package/lib/Utils/chat-utils.js +971 -0
  223. package/lib/Utils/chat-utils.js.map +1 -0
  224. package/lib/Utils/companion-reg-client-utils.d.ts +17 -0
  225. package/lib/Utils/companion-reg-client-utils.d.ts.map +1 -0
  226. package/lib/Utils/companion-reg-client-utils.js +43 -0
  227. package/lib/Utils/companion-reg-client-utils.js.map +1 -0
  228. package/lib/Utils/crypto.d.ts +37 -0
  229. package/lib/Utils/crypto.d.ts.map +1 -0
  230. package/lib/Utils/crypto.js +160 -0
  231. package/lib/Utils/crypto.js.map +1 -0
  232. package/lib/Utils/decode-wa-message.d.ts +66 -0
  233. package/lib/Utils/decode-wa-message.d.ts.map +1 -0
  234. package/lib/Utils/decode-wa-message.js +380 -0
  235. package/lib/Utils/decode-wa-message.js.map +1 -0
  236. package/lib/Utils/event-buffer.d.ts +36 -0
  237. package/lib/Utils/event-buffer.d.ts.map +1 -0
  238. package/lib/Utils/event-buffer.js +666 -0
  239. package/lib/Utils/event-buffer.js.map +1 -0
  240. package/lib/Utils/fake-chat-utils.js +57 -0
  241. package/lib/Utils/generics.d.ts +91 -0
  242. package/lib/Utils/generics.d.ts.map +1 -0
  243. package/lib/Utils/generics.js +458 -0
  244. package/lib/Utils/generics.js.map +1 -0
  245. package/lib/Utils/history.d.ts +24 -0
  246. package/lib/Utils/history.d.ts.map +1 -0
  247. package/lib/Utils/history.js +160 -0
  248. package/lib/Utils/history.js.map +1 -0
  249. package/lib/Utils/identity-change-handler.d.ts +44 -0
  250. package/lib/Utils/identity-change-handler.d.ts.map +1 -0
  251. package/lib/Utils/identity-change-handler.js +94 -0
  252. package/lib/Utils/identity-change-handler.js.map +1 -0
  253. package/lib/Utils/index.d.ts +22 -0
  254. package/lib/Utils/index.d.ts.map +1 -0
  255. package/lib/Utils/index.js +258 -0
  256. package/lib/Utils/index.js.map +1 -0
  257. package/lib/Utils/link-preview.d.ts +21 -0
  258. package/lib/Utils/link-preview.d.ts.map +1 -0
  259. package/lib/Utils/link-preview.js +102 -0
  260. package/lib/Utils/link-preview.js.map +1 -0
  261. package/lib/Utils/logger.d.ts +12 -0
  262. package/lib/Utils/logger.d.ts.map +1 -0
  263. package/lib/Utils/logger.js +11 -0
  264. package/lib/Utils/logger.js.map +1 -0
  265. package/lib/Utils/lt-hash.d.ts +8 -0
  266. package/lib/Utils/lt-hash.d.ts.map +1 -0
  267. package/lib/Utils/lt-hash.js +14 -0
  268. package/lib/Utils/lt-hash.js.map +1 -0
  269. package/lib/Utils/make-mutex.d.ts +9 -0
  270. package/lib/Utils/make-mutex.d.ts.map +1 -0
  271. package/lib/Utils/make-mutex.js +43 -0
  272. package/lib/Utils/make-mutex.js.map +1 -0
  273. package/lib/Utils/message-composer.js +288 -0
  274. package/lib/Utils/message-retry-manager.d.ts +115 -0
  275. package/lib/Utils/message-retry-manager.d.ts.map +1 -0
  276. package/lib/Utils/message-retry-manager.js +283 -0
  277. package/lib/Utils/message-retry-manager.js.map +1 -0
  278. package/lib/Utils/messages-media.d.ts +133 -0
  279. package/lib/Utils/messages-media.d.ts.map +1 -0
  280. package/lib/Utils/messages-media.js +914 -0
  281. package/lib/Utils/messages-media.js.map +1 -0
  282. package/lib/Utils/messages.d.ts +91 -0
  283. package/lib/Utils/messages.d.ts.map +1 -0
  284. package/lib/Utils/messages.js +963 -0
  285. package/lib/Utils/messages.js.map +1 -0
  286. package/lib/Utils/noise-handler.d.ts +20 -0
  287. package/lib/Utils/noise-handler.d.ts.map +1 -0
  288. package/lib/Utils/noise-handler.js +238 -0
  289. package/lib/Utils/noise-handler.js.map +1 -0
  290. package/lib/Utils/offline-node-processor.d.ts +17 -0
  291. package/lib/Utils/offline-node-processor.d.ts.map +1 -0
  292. package/lib/Utils/offline-node-processor.js +54 -0
  293. package/lib/Utils/offline-node-processor.js.map +1 -0
  294. package/lib/Utils/pre-key-manager.d.ts +28 -0
  295. package/lib/Utils/pre-key-manager.d.ts.map +1 -0
  296. package/lib/Utils/pre-key-manager.js +109 -0
  297. package/lib/Utils/pre-key-manager.js.map +1 -0
  298. package/lib/Utils/process-message.d.ts +60 -0
  299. package/lib/Utils/process-message.d.ts.map +1 -0
  300. package/lib/Utils/process-message.js +710 -0
  301. package/lib/Utils/process-message.js.map +1 -0
  302. package/lib/Utils/reporting-utils.d.ts +11 -0
  303. package/lib/Utils/reporting-utils.d.ts.map +1 -0
  304. package/lib/Utils/reporting-utils.js +586 -0
  305. package/lib/Utils/reporting-utils.js.map +1 -0
  306. package/lib/Utils/signal.d.ts +47 -0
  307. package/lib/Utils/signal.d.ts.map +1 -0
  308. package/lib/Utils/signal.js +279 -0
  309. package/lib/Utils/signal.js.map +1 -0
  310. package/lib/Utils/spam-report-utils.js +209 -0
  311. package/lib/Utils/stanza-ack.d.ts +11 -0
  312. package/lib/Utils/stanza-ack.d.ts.map +1 -0
  313. package/lib/Utils/stanza-ack.js +47 -0
  314. package/lib/Utils/stanza-ack.js.map +1 -0
  315. package/lib/Utils/sync-action-utils.d.ts +19 -0
  316. package/lib/Utils/sync-action-utils.d.ts.map +1 -0
  317. package/lib/Utils/sync-action-utils.js +61 -0
  318. package/lib/Utils/sync-action-utils.js.map +1 -0
  319. package/lib/Utils/tc-token-utils.d.ts +37 -0
  320. package/lib/Utils/tc-token-utils.d.ts.map +1 -0
  321. package/lib/Utils/tc-token-utils.js +176 -0
  322. package/lib/Utils/tc-token-utils.js.map +1 -0
  323. package/lib/Utils/use-multi-file-auth-state.d.ts +13 -0
  324. package/lib/Utils/use-multi-file-auth-state.d.ts.map +1 -0
  325. package/lib/Utils/use-multi-file-auth-state.js +124 -0
  326. package/lib/Utils/use-multi-file-auth-state.js.map +1 -0
  327. package/lib/Utils/validate-connection.d.ts +11 -0
  328. package/lib/Utils/validate-connection.d.ts.map +1 -0
  329. package/lib/Utils/validate-connection.js +229 -0
  330. package/lib/Utils/validate-connection.js.map +1 -0
  331. package/lib/WABinary/constants.d.ts +28 -0
  332. package/lib/WABinary/constants.d.ts.map +1 -0
  333. package/lib/WABinary/constants.js +42 -0
  334. package/lib/WABinary/constants.js.map +1 -0
  335. package/lib/WABinary/decode.d.ts +7 -0
  336. package/lib/WABinary/decode.d.ts.map +1 -0
  337. package/lib/WABinary/decode.js +271 -0
  338. package/lib/WABinary/decode.js.map +1 -0
  339. package/lib/WABinary/encode.d.ts +3 -0
  340. package/lib/WABinary/encode.d.ts.map +1 -0
  341. package/lib/WABinary/encode.js +226 -0
  342. package/lib/WABinary/encode.js.map +1 -0
  343. package/lib/WABinary/generic-utils.d.ts +15 -0
  344. package/lib/WABinary/generic-utils.d.ts.map +1 -0
  345. package/lib/WABinary/generic-utils.js +219 -0
  346. package/lib/WABinary/generic-utils.js.map +1 -0
  347. package/lib/WABinary/index.d.ts +6 -0
  348. package/lib/WABinary/index.d.ts.map +1 -0
  349. package/lib/WABinary/index.js +60 -0
  350. package/lib/WABinary/index.js.map +1 -0
  351. package/lib/WABinary/jid-utils.d.ts +48 -0
  352. package/lib/WABinary/jid-utils.d.ts.map +1 -0
  353. package/lib/WABinary/jid-utils.js +123 -0
  354. package/lib/WABinary/jid-utils.js.map +1 -0
  355. package/lib/WABinary/types.d.ts +19 -0
  356. package/lib/WABinary/types.d.ts.map +1 -0
  357. package/lib/WABinary/types.js +4 -0
  358. package/lib/WABinary/types.js.map +1 -0
  359. package/lib/WAM/BinaryInfo.d.ts +9 -0
  360. package/lib/WAM/BinaryInfo.d.ts.map +1 -0
  361. package/lib/WAM/BinaryInfo.js +17 -0
  362. package/lib/WAM/BinaryInfo.js.map +1 -0
  363. package/lib/WAM/constants.d.ts +40 -0
  364. package/lib/WAM/constants.d.ts.map +1 -0
  365. package/lib/WAM/constants.js +1 -0
  366. package/lib/WAM/constants.js.map +1 -0
  367. package/lib/WAM/encode.d.ts +3 -0
  368. package/lib/WAM/encode.d.ts.map +1 -0
  369. package/lib/WAM/encode.js +150 -0
  370. package/lib/WAM/encode.js.map +1 -0
  371. package/lib/WAM/index.d.ts +4 -0
  372. package/lib/WAM/index.d.ts.map +1 -0
  373. package/lib/WAM/index.js +38 -0
  374. package/lib/WAM/index.js.map +1 -0
  375. package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts +10 -0
  376. package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts.map +1 -0
  377. package/lib/WAUSync/Protocols/USyncContactProtocol.js +63 -0
  378. package/lib/WAUSync/Protocols/USyncContactProtocol.js.map +1 -0
  379. package/lib/WAUSync/Protocols/USyncDeviceProtocol.d.ts +23 -0
  380. package/lib/WAUSync/Protocols/USyncDeviceProtocol.d.ts.map +1 -0
  381. package/lib/WAUSync/Protocols/USyncDeviceProtocol.js +65 -0
  382. package/lib/WAUSync/Protocols/USyncDeviceProtocol.js.map +1 -0
  383. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.d.ts +13 -0
  384. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.d.ts.map +1 -0
  385. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js +34 -0
  386. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js.map +1 -0
  387. package/lib/WAUSync/Protocols/USyncStatusProtocol.d.ts +13 -0
  388. package/lib/WAUSync/Protocols/USyncStatusProtocol.d.ts.map +1 -0
  389. package/lib/WAUSync/Protocols/USyncStatusProtocol.js +43 -0
  390. package/lib/WAUSync/Protocols/USyncStatusProtocol.js.map +1 -0
  391. package/lib/WAUSync/Protocols/USyncUsernameProtocol.d.ts +10 -0
  392. package/lib/WAUSync/Protocols/USyncUsernameProtocol.d.ts.map +1 -0
  393. package/lib/WAUSync/Protocols/USyncUsernameProtocol.js +32 -0
  394. package/lib/WAUSync/Protocols/USyncUsernameProtocol.js.map +1 -0
  395. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.d.ts +26 -0
  396. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.d.ts.map +1 -0
  397. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.js +68 -0
  398. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.js.map +1 -0
  399. package/lib/WAUSync/Protocols/UsyncLIDProtocol.d.ts +10 -0
  400. package/lib/WAUSync/Protocols/UsyncLIDProtocol.d.ts.map +1 -0
  401. package/lib/WAUSync/Protocols/UsyncLIDProtocol.js +37 -0
  402. package/lib/WAUSync/Protocols/UsyncLIDProtocol.js.map +1 -0
  403. package/lib/WAUSync/Protocols/index.d.ts +6 -0
  404. package/lib/WAUSync/Protocols/index.d.ts.map +1 -0
  405. package/lib/WAUSync/Protocols/index.js +60 -0
  406. package/lib/WAUSync/Protocols/index.js.map +1 -0
  407. package/lib/WAUSync/USyncQuery.d.ts +30 -0
  408. package/lib/WAUSync/USyncQuery.d.ts.map +1 -0
  409. package/lib/WAUSync/USyncQuery.js +103 -0
  410. package/lib/WAUSync/USyncQuery.js.map +1 -0
  411. package/lib/WAUSync/USyncUser.d.ts +17 -0
  412. package/lib/WAUSync/USyncUser.d.ts.map +1 -0
  413. package/lib/WAUSync/USyncUser.js +54 -0
  414. package/lib/WAUSync/USyncUser.js.map +1 -0
  415. package/lib/WAUSync/index.d.ts +4 -0
  416. package/lib/WAUSync/index.d.ts.map +1 -0
  417. package/lib/WAUSync/index.js +38 -0
  418. package/lib/WAUSync/index.js.map +1 -0
  419. package/lib/index.d.ts +13 -0
  420. package/lib/index.d.ts.map +1 -0
  421. package/lib/index.js +129 -0
  422. package/lib/index.js.map +1 -0
  423. package/package.json +77 -0
  424. package/scripts/patch-deps.js +35 -0
@@ -0,0 +1,321 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const { executeWMexQuery } = require('./mex.js')
4
+
5
+ /**
6
+ * MEX query IDs for privacy, status/profile, account/auth, and misc operations.
7
+ * Source: assets/whatsapp-android-mex_client_persist_ids.json
8
+ */
9
+ const PRIVACY_MEX_IDS = {
10
+ // Privacy settings
11
+ GET_SETTINGS: '32774292262215380', // GetPrivacySettingsQuery
12
+ SET_SETTING: '26887749497493184', // SetPrivacySettingMutation
13
+ UPDATE_CONTACT_LIST: '26375158178762800', // UpdatePrivacyContactListMutation
14
+ GET_CONTACT_LIST: '25700444246275824', // GetPrivacyContactListQuery
15
+ // Status / profile
16
+ UPDATE_TEXT_STATUS: '25863197129975892', // UpdateTextStatus
17
+ GET_TEXT_STATUS_LIST: '25741205615468936', // GetTextStatusList
18
+ UPDATE_USER_STATUS: '7452341274886724', // UpdateUserStatus
19
+ FETCH_USER_PICTURE: '24983561624604410', // FetchUserPictureInfo
20
+ PROFILE_PICTURE_MUTATION: '24714239711610700', // ProfilePictureMutation
21
+ // Account / auth
22
+ ACCOUNT_LOGIN: '27298465499757130', // AccountLoginMutation
23
+ ACCOUNT_LOGOUT: '26863447609979190', // AccountLogoutMutation
24
+ MULTI_ACCOUNT_REVOKE: '25846242091639660', // MultiAccountRevokeAccount
25
+ ADD_MULTI_ACCOUNT_LINK: '25502812266025190', // AddMultiAccountLink
26
+ ADD_TRUSTED_DEVICE: '24522952587403290', // AddTrustedDeviceMutation
27
+ GET_TRUSTED_DEVICES: '25123358920671964', // GetTrustedDevicesQuery
28
+ UNTRUST_TRUSTED_DEVICE: '26574930682133620', // UntrustTrustedDeviceMutation
29
+ DELETE_TRUSTED_DEVICE: '33867503889559536', // DeleteTrustedDeviceMutation
30
+ // Misc
31
+ MOBILE_CONFIG_FETCH: '25676911271914596', // MobileConfigFetchQuery
32
+ NOTIFY_PUSH_NAME: '25900490552974544', // NotifyPushName
33
+ CONTACT_INTEGRITY: '25924358997169496', // ContactIntegrityQuery
34
+ BIZ_INTEGRITY: '25975613018777536', // BizIntegrityQuery
35
+ LINKED_PROFILES_SET: '25013968611531010', // LinkedProfilesSet
36
+ LINKED_PROFILES_REMOVE: '24537675509265524', // LinkedProfilesRemove
37
+ LINKED_PROFILES_UPDATE: '24876967165297616', // LinkedProfilesUpdate
38
+ MIGRATE_BLOCKLIST_LID: '25028600226770430', // MigrateBlocklistLid
39
+ QR_CODE_SCAN: '26287165600869744' // QRCodeScan
40
+ }
41
+
42
+ const makePrivacySocket = sock => {
43
+ const { query, generateMessageTag } = sock
44
+
45
+ const mexQuery = (variables, queryId, dataPath) =>
46
+ executeWMexQuery(variables, queryId, dataPath, query, generateMessageTag)
47
+
48
+ // ── Privacy Settings ────────────────────────────────────────────────────
49
+
50
+ /**
51
+ * Fetch all privacy settings via MEX.
52
+ */
53
+ const getPrivacySettings = (jid, features = null) => {
54
+ const users = [{ jid, ...(features ? { privacy_features: features } : {}) }]
55
+ return mexQuery({ users }, PRIVACY_MEX_IDS.GET_SETTINGS, 'xwa2_fetch_wa_users')
56
+ }
57
+
58
+ /**
59
+ * Set a privacy setting via MEX.
60
+ * Features: "LAST_SEEN", "ONLINE", "PROFILE_PHOTO", "STATUS", "READ_RECEIPTS", "GROUPS", "CALLS", "SCREENSHOT", "LIVE_LOCATION"
61
+ * Settings: "ALL", "CONTACTS", "CONTACT_BLACKLIST", "NONE"
62
+ */
63
+ const setPrivacySetting = (feature, setting) =>
64
+ mexQuery({ feature, setting }, PRIVACY_MEX_IDS.SET_SETTING, 'xwa2_privacy_feature_update')
65
+
66
+ /**
67
+ * Update the contact list for a privacy setting.
68
+ */
69
+ const updatePrivacyContactList = (feature, setting, jids) =>
70
+ mexQuery(
71
+ { feature, setting, contacts: jids.map(jid => ({ jid })) },
72
+ PRIVACY_MEX_IDS.UPDATE_CONTACT_LIST,
73
+ 'xwa2_privacy_contact_list_update'
74
+ )
75
+
76
+ /**
77
+ * Fetch the contact list for a privacy setting.
78
+ */
79
+ const getPrivacyContactList = (feature, setting) =>
80
+ mexQuery({ feature, setting }, PRIVACY_MEX_IDS.GET_CONTACT_LIST, 'xwa2_privacy_contact_list')
81
+
82
+ // ── Status / Profile ───────────────────────────────────────────────────
83
+
84
+ /**
85
+ * Update own text status About via MEX.
86
+ */
87
+ const updateTextStatus = (text, emoji = null) => {
88
+ const input = { text }
89
+ if (emoji) input.emoji = { content: emoji }
90
+ return mexQuery({ text_status_input: input }, PRIVACY_MEX_IDS.UPDATE_TEXT_STATUS, 'xwa2_text_status_update')
91
+ }
92
+
93
+ /**
94
+ * Fetch text statuses About for a list of JIDs via MEX.
95
+ */
96
+ const getTextStatusList = (jids, lastUpdateTime = null) => {
97
+ const input = jids.map(jid => ({ jid, last_update_time: lastUpdateTime }))
98
+ return mexQuery({ input }, PRIVACY_MEX_IDS.GET_TEXT_STATUS_LIST, 'xwa2_text_status_list')
99
+ }
100
+
101
+ /**
102
+ * Update own user status string via MEX.
103
+ */
104
+ const updateUserStatus = status =>
105
+ mexQuery({ status }, PRIVACY_MEX_IDS.UPDATE_USER_STATUS, 'xwa2_update_user_status')
106
+
107
+ /**
108
+ * Fetch picture info for a user via MEX.
109
+ */
110
+ const fetchUserPictureInfo = jid =>
111
+ mexQuery({ jid }, PRIVACY_MEX_IDS.FETCH_USER_PICTURE, 'xwa2_fetch_user_picture_info')
112
+
113
+ /**
114
+ * Set own profile picture via MEX.
115
+ */
116
+ const setProfilePictureMex = (imageBase64, type = 'image') =>
117
+ mexQuery(
118
+ { input: { image: imageBase64, type } },
119
+ PRIVACY_MEX_IDS.PROFILE_PICTURE_MUTATION,
120
+ 'xwa2_profile_picture_mutation'
121
+ )
122
+
123
+ // ── Account / Auth ─────────────────────────────────────────────────────
124
+
125
+ /**
126
+ * Mark account as logged-in via MEX.
127
+ */
128
+ const accountLogin = phoneNumber =>
129
+ mexQuery({ input: { phone_number: phoneNumber } }, PRIVACY_MEX_IDS.ACCOUNT_LOGIN, 'xwa2_account_login')
130
+
131
+ /**
132
+ * Mark account as logged-out via MEX.
133
+ */
134
+ const accountLogout = (phoneNumber, enabledBiometric = false) =>
135
+ mexQuery(
136
+ { input: { phone_number: phoneNumber, enabled_biometric: enabledBiometric } },
137
+ PRIVACY_MEX_IDS.ACCOUNT_LOGOUT,
138
+ 'xwa2_account_logout'
139
+ )
140
+
141
+ /**
142
+ * Add a multi-account link via MEX.
143
+ */
144
+ const addMultiAccountLink = phoneNumber =>
145
+ mexQuery(
146
+ { input: { phone_number: phoneNumber } },
147
+ PRIVACY_MEX_IDS.ADD_MULTI_ACCOUNT_LINK,
148
+ 'xwa2_add_multi_account_link'
149
+ )
150
+
151
+ /**
152
+ * Add a trusted device via MEX.
153
+ */
154
+ const addTrustedDevice = (deviceId, deviceName) =>
155
+ mexQuery({ device_id: deviceId, device_name: deviceName }, PRIVACY_MEX_IDS.ADD_TRUSTED_DEVICE, 'xwa2_add_trusted_device')
156
+
157
+ /**
158
+ * Fetch list of trusted devices for the account via MEX.
159
+ */
160
+ const getTrustedDevices = () => mexQuery({}, PRIVACY_MEX_IDS.GET_TRUSTED_DEVICES, 'xwa2_get_trusted_devices')
161
+
162
+ /**
163
+ * Untrust a trusted device via MEX.
164
+ */
165
+ const untrustTrustedDevice = (deviceId, reason = 'USER_INITIATED') =>
166
+ mexQuery(
167
+ { device_id: deviceId, reason },
168
+ PRIVACY_MEX_IDS.UNTRUST_TRUSTED_DEVICE,
169
+ 'xwa2_untrust_trusted_device'
170
+ )
171
+
172
+ /**
173
+ * Delete a trusted device entirely via MEX.
174
+ */
175
+ const deleteTrustedDevice = deviceId =>
176
+ mexQuery({ device_id: deviceId }, PRIVACY_MEX_IDS.DELETE_TRUSTED_DEVICE, 'xwa2_delete_trusted_device')
177
+
178
+ /**
179
+ * Revoke multi-account link for a secondary account via MEX.
180
+ */
181
+ const revokeMultiAccount = accountJid =>
182
+ mexQuery({ account_jid: accountJid }, PRIVACY_MEX_IDS.MULTI_ACCOUNT_REVOKE, 'xwa2_multi_account_revoke')
183
+
184
+ // ── Misc ───────────────────────────────────────────────────────────────
185
+
186
+ /**
187
+ * Fetch mobile config via MEX.
188
+ */
189
+ const fetchMobileConfig = (apiVersion = 0, epRefreshId = 0, flags = '') =>
190
+ mexQuery(
191
+ { api_version: apiVersion, ep_refresh_id: epRefreshId, flags },
192
+ PRIVACY_MEX_IDS.MOBILE_CONFIG_FETCH,
193
+ 'xwa2_mobile_config_fetch'
194
+ )
195
+
196
+ /**
197
+ * Notify group members of your push name via MEX.
198
+ */
199
+ const notifyPushName = (groupJid, participants) =>
200
+ mexQuery(
201
+ {
202
+ input: {
203
+ group_jid: groupJid,
204
+ participants: participants.map(({ jid, pushName }) => ({ jid, push_name: pushName }))
205
+ }
206
+ },
207
+ PRIVACY_MEX_IDS.NOTIFY_PUSH_NAME,
208
+ 'xwa2_notify_push_name'
209
+ )
210
+
211
+ /**
212
+ * Run a contact integrity check via MEX.
213
+ */
214
+ const contactIntegrityQuery = (jids, useCase = 'START_CHAT_CONTEXT') =>
215
+ mexQuery(
216
+ { users: jids.map(jid => ({ jid })), use_case: useCase },
217
+ PRIVACY_MEX_IDS.CONTACT_INTEGRITY,
218
+ 'xwa2_fetch_wa_users'
219
+ )
220
+
221
+ /**
222
+ * Run a business integrity check via MEX.
223
+ */
224
+ const bizIntegrityQuery = jids =>
225
+ mexQuery(
226
+ { users: jids.map(jid => ({ jid })) },
227
+ PRIVACY_MEX_IDS.BIZ_INTEGRITY,
228
+ 'xwa2_fetch_wa_users'
229
+ )
230
+
231
+ /**
232
+ * Set linked social profiles FB IG via MEX.
233
+ */
234
+ const linkedProfilesSet = profiles => {
235
+ const mapped = profiles.map(p => {
236
+ const entry = { type: p.type }
237
+ if (p.vid) entry.vid = p.vid
238
+ else if (p.username) entry.username = p.username
239
+ return entry
240
+ })
241
+ return mexQuery({ profiles: mapped }, PRIVACY_MEX_IDS.LINKED_PROFILES_SET, 'xwa2_linked_profiles_set')
242
+ }
243
+
244
+ /**
245
+ * Remove linked social profiles via MEX.
246
+ */
247
+ const linkedProfilesRemove = types =>
248
+ mexQuery(
249
+ { profiles: types.map(type => ({ type })) },
250
+ PRIVACY_MEX_IDS.LINKED_PROFILES_REMOVE,
251
+ 'xwa2_linked_profiles_remove'
252
+ )
253
+
254
+ /**
255
+ * Update linked social profile visibility settings via MEX.
256
+ */
257
+ const linkedProfilesUpdate = profiles =>
258
+ mexQuery(
259
+ { profiles: profiles.map(({ type, showOnProfile }) => ({ type, show_on_profile: showOnProfile })) },
260
+ PRIVACY_MEX_IDS.LINKED_PROFILES_UPDATE,
261
+ 'xwa2_linked_profiles_update'
262
+ )
263
+
264
+ /**
265
+ * Migrate blocklist to LID addressing via MEX.
266
+ */
267
+ const migrateBlocklistLid = (jids, dhash = '', dirtyAck = true) =>
268
+ mexQuery(
269
+ {
270
+ input: {
271
+ blocklist: jids.map(jid => ({ jid })),
272
+ dhash,
273
+ dirty_ack: dirtyAck
274
+ }
275
+ },
276
+ PRIVACY_MEX_IDS.MIGRATE_BLOCKLIST_LID,
277
+ 'xwa2_migrate_blocklist_lid'
278
+ )
279
+
280
+ /**
281
+ * Scan a QR code via MEX.
282
+ */
283
+ const qrCodeScan = qrData =>
284
+ mexQuery({ qr_data: qrData }, PRIVACY_MEX_IDS.QR_CODE_SCAN, 'xwa2_qr_code_scan')
285
+
286
+ return {
287
+ ...sock,
288
+ // Privacy
289
+ getPrivacySettings,
290
+ setPrivacySetting,
291
+ updatePrivacyContactList,
292
+ getPrivacyContactList,
293
+ // Status / profile
294
+ updateTextStatus,
295
+ getTextStatusList,
296
+ updateUserStatus,
297
+ fetchUserPictureInfo,
298
+ setProfilePictureMex,
299
+ // Account / auth
300
+ accountLogin,
301
+ accountLogout,
302
+ addMultiAccountLink,
303
+ addTrustedDevice,
304
+ getTrustedDevices,
305
+ untrustTrustedDevice,
306
+ deleteTrustedDevice,
307
+ revokeMultiAccount,
308
+ // Misc
309
+ fetchMobileConfig,
310
+ notifyPushName,
311
+ contactIntegrityQuery,
312
+ bizIntegrityQuery,
313
+ linkedProfilesSet,
314
+ linkedProfilesRemove,
315
+ linkedProfilesUpdate,
316
+ migrateBlocklistLid,
317
+ qrCodeScan,
318
+ PRIVACY_MEX_IDS
319
+ }
320
+ }
321
+ exports.makePrivacySocket = makePrivacySocket;
@@ -0,0 +1,59 @@
1
+ import { Boom } from '@hapi/boom';
2
+ import { type NewChatMessageCapInfo, type ReachoutTimelockState, type SocketConfig } from '../Types/index.js';
3
+ import { type BinaryNode } from '../WABinary/index.js';
4
+ import { BinaryInfo } from '../WAM/BinaryInfo.js';
5
+ import { USyncQuery } from '../WAUSync/index.js';
6
+ import { WebSocketClient } from './Client/index.js';
7
+ /**
8
+ * Connects to WA servers and performs:
9
+ * - simple queries (no retry mechanism, wait for connection establishment)
10
+ * - listen to messages and emit events
11
+ * - query phone connection
12
+ */
13
+ export declare const makeSocket: (config: SocketConfig) => {
14
+ type: "md";
15
+ ws: WebSocketClient;
16
+ ev: import("../Types/index.js").BaileysEventEmitter & {
17
+ process(handler: (events: Partial<import("../Types/index.js").BaileysEventMap>) => void | Promise<void>): () => void;
18
+ buffer(): void;
19
+ createBufferedFunction<A extends any[], T>(work: (...args: A) => Promise<T>): (...args: A) => Promise<T>;
20
+ flush(): boolean;
21
+ isBuffering(): boolean;
22
+ destroy(): void;
23
+ };
24
+ authState: {
25
+ creds: import("../Types/index.js").AuthenticationCreds;
26
+ keys: import("../Types/index.js").SignalKeyStoreWithTransaction;
27
+ };
28
+ signalRepository: import("../Types/index.js").SignalRepositoryWithLIDStore;
29
+ readonly user: import("../Types/index.js").Contact | undefined;
30
+ generateMessageTag: () => string;
31
+ query: (node: BinaryNode, timeoutMs?: number) => Promise<any>;
32
+ waitForMessage: <T>(msgId: string, timeoutMs?: number | undefined) => Promise<T | undefined>;
33
+ waitForSocketOpen: () => Promise<void>;
34
+ sendRawMessage: (data: Uint8Array | Buffer) => Promise<void>;
35
+ sendNode: (frame: BinaryNode) => Promise<void>;
36
+ logout: (msg?: string) => Promise<void>;
37
+ end: (error: Error | undefined) => Promise<void>;
38
+ registerSocketEndHandler: (handler: (error: Error | undefined) => void | Promise<void>) => void;
39
+ onUnexpectedError: (err: Error | Boom, msg: string) => void;
40
+ uploadPreKeys: (count?: number) => Promise<void>;
41
+ uploadPreKeysToServerIfRequired: () => Promise<void>;
42
+ digestKeyBundle: () => Promise<void>;
43
+ rotateSignedPreKey: () => Promise<void>;
44
+ requestPairingCode: (phoneNumber: string, customPairingCode?: string) => Promise<string>;
45
+ updateServerTimeOffset: ({ attrs }: BinaryNode) => void;
46
+ sendUnifiedSession: () => Promise<void>;
47
+ wamBuffer: BinaryInfo;
48
+ /** Waits for the connection to WA to reach a state */
49
+ waitForConnectionUpdate: (check: (u: Partial<import("../Types/index.js").ConnectionState>) => Promise<boolean | undefined>, timeoutMs?: number) => Promise<void>;
50
+ sendWAMBuffer: (wamBuffer: Buffer) => Promise<any>;
51
+ executeUSyncQuery: (usyncQuery: USyncQuery) => Promise<import("../index.js").USyncQueryResult | undefined>;
52
+ onWhatsApp: (...phoneNumber: string[]) => Promise<{
53
+ jid: string;
54
+ exists: boolean;
55
+ }[] | undefined>;
56
+ fetchAccountReachoutTimelock: () => Promise<ReachoutTimelockState>;
57
+ fetchNewChatMessageCap: () => Promise<NewChatMessageCapInfo>;
58
+ };
59
+ //# sourceMappingURL=socket.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"socket.d.ts","sourceRoot":"","sources":["../../src/Socket/socket.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAejC,OAAO,EAEN,KAAK,qBAAqB,EAG1B,KAAK,qBAAqB,EAC1B,KAAK,YAAY,EACjB,MAAM,UAAU,CAAA;AAwBjB,OAAO,EAEN,KAAK,UAAU,EAUf,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,UAAU,EAAa,MAAM,aAAa,CAAA;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAG1C;;;;;GAKG;AAEH,eAAO,MAAM,UAAU,GAAI,QAAQ,YAAY;UAsjC/B,IAAI;;;;;0DAtjCO,GAAG,0BAC5B,GAAG;;;;;;;;;;;;kBAyIuB,UAAU,cAAc,MAAM;qBA3C3B,CAAC,SAAS,MAAM;;2BA/BV,UAAU,GAAG,MAAM;sBAiB9B,UAAU;mBAmkBP,MAAM;iBA/GR,KAAK,GAAG,SAAS;wCAweA,CAAC,KAAK,EAAE,KAAK,GAAG,SAAS,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;6BA7sB7D,KAAK,GAAG,IAAI,OAAO,MAAM;;;2BAhKvB,OAAO,CAAC,IAAI,CAAC;8BAcV,OAAO,CAAC,IAAI,CAAC;sCAggBH,MAAM,sBAAsB,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC;wCA+SxD,UAAU;;;IAmHpD,sDAAsD;;+BA1VrB,MAAM;oCAtjBK,UAAU;iCAyDb,MAAM,EAAE;;gBA0BqD,OAAO;;;;CAq0B9G,CAAA"}