@discordeno/bot 19.0.0-next.b2f65c2 → 19.0.0-next.b567c13

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 (1100) hide show
  1. package/dist/cjs/bot.cjs +72 -0
  2. package/dist/cjs/commandOptionsParser.cjs +49 -0
  3. package/dist/cjs/constants.cjs +22 -0
  4. package/dist/cjs/handlers/channels/CHANNEL_CREATE.cjs +19 -0
  5. package/dist/cjs/handlers/channels/CHANNEL_DELETE.cjs +19 -0
  6. package/dist/cjs/handlers/channels/CHANNEL_PINS_UPDATE.cjs +19 -0
  7. package/dist/cjs/handlers/channels/CHANNEL_UPDATE.cjs +18 -0
  8. package/dist/cjs/handlers/channels/STAGE_INSTANCE_CREATE.cjs +20 -0
  9. package/dist/cjs/handlers/channels/STAGE_INSTANCE_DELETE.cjs +20 -0
  10. package/dist/cjs/handlers/channels/STAGE_INSTANCE_UPDATE.cjs +20 -0
  11. package/dist/cjs/handlers/channels/THREAD_CREATE.cjs +17 -0
  12. package/dist/cjs/handlers/channels/THREAD_DELETE.cjs +17 -0
  13. package/dist/cjs/handlers/channels/THREAD_LIST_SYNC.cjs +29 -0
  14. package/dist/cjs/handlers/channels/THREAD_MEMBERS_UPDATE.cjs +20 -0
  15. package/dist/cjs/handlers/channels/THREAD_MEMBER_UPDATE.cjs +20 -0
  16. package/dist/cjs/handlers/channels/THREAD_UPDATE.cjs +17 -0
  17. package/dist/cjs/handlers/channels/index.cjs +30 -0
  18. package/dist/cjs/handlers/emojis/GUILD_EMOJIS_UPDATE.cjs +22 -0
  19. package/dist/cjs/handlers/emojis/index.cjs +18 -0
  20. package/dist/cjs/handlers/guilds/GUILD_AUDIT_LOG_ENTRY_CREATE.cjs +16 -0
  21. package/dist/cjs/handlers/guilds/GUILD_BAN_ADD.cjs +15 -0
  22. package/dist/cjs/handlers/guilds/GUILD_BAN_REMOVE.cjs +15 -0
  23. package/dist/cjs/handlers/guilds/GUILD_CREATE.cjs +18 -0
  24. package/dist/cjs/handlers/guilds/GUILD_DELETE.cjs +19 -0
  25. package/dist/cjs/handlers/guilds/GUILD_INTEGRATIONS_UPDATE.cjs +17 -0
  26. package/dist/cjs/handlers/guilds/GUILD_STICKERS_UPDATE.cjs +18 -0
  27. package/dist/cjs/handlers/guilds/GUILD_UPDATE.cjs +18 -0
  28. package/dist/cjs/handlers/guilds/automod/AUTO_MODERATION_ACTION_EXECUTION.cjs +15 -0
  29. package/dist/cjs/handlers/guilds/automod/AUTO_MODERATION_RULE_CREATE.cjs +15 -0
  30. package/dist/cjs/handlers/guilds/automod/AUTO_MODERATION_RULE_DELETE.cjs +15 -0
  31. package/dist/cjs/handlers/guilds/automod/AUTO_MODERATION_RULE_UPDATE.cjs +15 -0
  32. package/dist/cjs/handlers/guilds/automod/index.cjs +21 -0
  33. package/dist/cjs/handlers/guilds/index.cjs +27 -0
  34. package/dist/cjs/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_CREATE.cjs +15 -0
  35. package/dist/cjs/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_DELETE.cjs +15 -0
  36. package/dist/cjs/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_UPDATE.cjs +15 -0
  37. package/dist/cjs/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_USER_ADD.cjs +19 -0
  38. package/dist/cjs/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_USER_REMOVE.cjs +19 -0
  39. package/dist/cjs/handlers/guilds/scheduledEvents/index.cjs +22 -0
  40. package/dist/cjs/handlers/index.cjs +29 -0
  41. package/dist/cjs/handlers/integrations/INTEGRATION_CREATE.cjs +14 -0
  42. package/dist/cjs/handlers/integrations/INTEGRATION_DELETE.cjs +19 -0
  43. package/dist/cjs/handlers/integrations/INTEGRATION_UPDATE.cjs +14 -0
  44. package/dist/cjs/handlers/integrations/index.cjs +20 -0
  45. package/dist/cjs/handlers/interactions/APPLICATION_COMMAND_PERMISSIONS_UPDATE.cjs +15 -0
  46. package/dist/cjs/handlers/interactions/INTERACTION_CREATE.cjs +14 -0
  47. package/dist/cjs/handlers/interactions/index.cjs +19 -0
  48. package/dist/cjs/handlers/invites/INVITE_CREATE.cjs +14 -0
  49. package/dist/cjs/handlers/invites/INVITE_DELETE.cjs +19 -0
  50. package/dist/cjs/handlers/invites/index.cjs +19 -0
  51. package/dist/cjs/handlers/members/GUILD_MEMBERS_CHUNK.cjs +28 -0
  52. package/dist/cjs/handlers/members/GUILD_MEMBER_ADD.cjs +18 -0
  53. package/dist/cjs/handlers/members/GUILD_MEMBER_REMOVE.cjs +17 -0
  54. package/dist/cjs/handlers/members/GUILD_MEMBER_UPDATE.cjs +16 -0
  55. package/dist/cjs/handlers/members/index.cjs +21 -0
  56. package/dist/cjs/handlers/messages/MESSAGE_CREATE.cjs +15 -0
  57. package/dist/cjs/handlers/messages/MESSAGE_DELETE.cjs +19 -0
  58. package/dist/cjs/handlers/messages/MESSAGE_DELETE_BULK.cjs +21 -0
  59. package/dist/cjs/handlers/messages/MESSAGE_REACTION_ADD.cjs +26 -0
  60. package/dist/cjs/handlers/messages/MESSAGE_REACTION_REMOVE.cjs +21 -0
  61. package/dist/cjs/handlers/messages/MESSAGE_REACTION_REMOVE_ALL.cjs +19 -0
  62. package/dist/cjs/handlers/messages/MESSAGE_REACTION_REMOVE_EMOJI.cjs +20 -0
  63. package/dist/cjs/handlers/messages/MESSAGE_UPDATE.cjs +16 -0
  64. package/dist/cjs/handlers/messages/index.cjs +25 -0
  65. package/dist/cjs/handlers/misc/PRESENCE_UPDATE.cjs +14 -0
  66. package/dist/cjs/handlers/misc/READY.cjs +26 -0
  67. package/dist/cjs/handlers/misc/TYPING_START.cjs +23 -0
  68. package/dist/cjs/handlers/misc/USER_UPDATE.cjs +15 -0
  69. package/dist/cjs/handlers/misc/index.cjs +21 -0
  70. package/dist/cjs/handlers/roles/GUILD_ROLE_CREATE.cjs +18 -0
  71. package/dist/cjs/handlers/roles/GUILD_ROLE_DELETE.cjs +18 -0
  72. package/dist/cjs/handlers/roles/GUILD_ROLE_UPDATE.cjs +18 -0
  73. package/dist/cjs/handlers/roles/index.cjs +20 -0
  74. package/dist/cjs/handlers/voice/VOICE_SERVER_UPDATE.cjs +19 -0
  75. package/dist/cjs/handlers/voice/VOICE_STATE_UPDATE.cjs +20 -0
  76. package/dist/cjs/handlers/voice/index.cjs +19 -0
  77. package/dist/cjs/handlers/webhooks/WEBHOOKS_UPDATE.cjs +18 -0
  78. package/dist/cjs/handlers/webhooks/index.cjs +18 -0
  79. package/dist/cjs/handlers.cjs +114 -0
  80. package/dist/cjs/helpers.cjs +610 -0
  81. package/dist/cjs/index.cjs +32 -0
  82. package/dist/cjs/optionalize.cjs +7 -0
  83. package/dist/cjs/transformers/activity.cjs +42 -0
  84. package/dist/cjs/transformers/application.cjs +33 -0
  85. package/dist/cjs/transformers/applicationCommand.cjs +27 -0
  86. package/dist/cjs/transformers/applicationCommandOption.cjs +29 -0
  87. package/dist/cjs/transformers/applicationCommandOptionChoice.cjs +18 -0
  88. package/dist/cjs/transformers/applicationCommandPermission.cjs +23 -0
  89. package/dist/cjs/transformers/attachment.cjs +25 -0
  90. package/dist/cjs/transformers/auditLogEntry.cjs +142 -0
  91. package/dist/cjs/transformers/automodActionExecution.cjs +33 -0
  92. package/dist/cjs/transformers/automodRule.cjs +39 -0
  93. package/dist/cjs/transformers/channel.cjs +114 -0
  94. package/dist/cjs/transformers/component.cjs +45 -0
  95. package/dist/cjs/transformers/embed.cjs +52 -0
  96. package/dist/cjs/transformers/emoji.cjs +21 -0
  97. package/dist/cjs/transformers/gatewayBot.cjs +23 -0
  98. package/dist/cjs/transformers/guild.cjs +140 -0
  99. package/dist/cjs/transformers/index.cjs +55 -0
  100. package/dist/cjs/transformers/integration.cjs +42 -0
  101. package/dist/cjs/transformers/interaction.cjs +184 -0
  102. package/dist/cjs/transformers/invite.cjs +48 -0
  103. package/dist/cjs/transformers/member.cjs +42 -0
  104. package/dist/cjs/transformers/message.cjs +229 -0
  105. package/dist/cjs/transformers/presence.cjs +23 -0
  106. package/dist/cjs/transformers/reverse/activity.cjs +51 -0
  107. package/dist/cjs/transformers/reverse/allowedMentions.cjs +18 -0
  108. package/dist/cjs/transformers/reverse/application.cjs +32 -0
  109. package/dist/cjs/transformers/reverse/applicationCommand.cjs +26 -0
  110. package/dist/cjs/transformers/reverse/applicationCommandOption.cjs +28 -0
  111. package/dist/cjs/transformers/reverse/applicationCommandOptionChoice.cjs +17 -0
  112. package/dist/cjs/transformers/reverse/applicationCommandPermission.cjs +22 -0
  113. package/dist/cjs/transformers/reverse/attachment.cjs +24 -0
  114. package/dist/cjs/transformers/reverse/auditLogEntry.cjs +145 -0
  115. package/dist/cjs/transformers/reverse/component.cjs +45 -0
  116. package/dist/cjs/transformers/reverse/createApplicationCommand.cjs +35 -0
  117. package/dist/cjs/transformers/reverse/embed.cjs +51 -0
  118. package/dist/cjs/transformers/reverse/emoji.cjs +22 -0
  119. package/dist/cjs/transformers/reverse/gatewayBot.cjs +22 -0
  120. package/dist/cjs/transformers/reverse/index.cjs +36 -0
  121. package/dist/cjs/transformers/reverse/interactionResponse.cjs +32 -0
  122. package/dist/cjs/transformers/reverse/member.cjs +49 -0
  123. package/dist/cjs/transformers/reverse/presence.cjs +37 -0
  124. package/dist/cjs/transformers/reverse/team.cjs +26 -0
  125. package/dist/cjs/transformers/reverse/widgetSettings.cjs +16 -0
  126. package/dist/cjs/transformers/role.cjs +65 -0
  127. package/dist/cjs/transformers/scheduledEvent.cjs +32 -0
  128. package/dist/cjs/transformers/stageInstance.cjs +20 -0
  129. package/dist/cjs/transformers/stageInviteInstance.cjs +21 -0
  130. package/dist/cjs/transformers/sticker.cjs +44 -0
  131. package/dist/cjs/transformers/team.cjs +27 -0
  132. package/dist/cjs/transformers/template.cjs +26 -0
  133. package/dist/cjs/transformers/threadMember.cjs +31 -0
  134. package/dist/cjs/transformers/toggles/Permissions.cjs +26 -0
  135. package/dist/cjs/transformers/toggles/ToggleBitfield.cjs +56 -0
  136. package/dist/cjs/transformers/toggles/channel.cjs +64 -0
  137. package/dist/cjs/transformers/toggles/emoji.cjs +59 -0
  138. package/dist/cjs/transformers/toggles/guild.cjs +220 -0
  139. package/dist/cjs/transformers/toggles/index.cjs +26 -0
  140. package/dist/cjs/transformers/toggles/member.cjs +54 -0
  141. package/dist/cjs/transformers/toggles/role.cjs +69 -0
  142. package/dist/cjs/transformers/toggles/user.cjs +59 -0
  143. package/dist/cjs/transformers/toggles/voice.cjs +74 -0
  144. package/dist/cjs/transformers/user.cjs +50 -0
  145. package/dist/cjs/transformers/voiceRegion.cjs +20 -0
  146. package/dist/cjs/transformers/voiceState.cjs +22 -0
  147. package/dist/cjs/transformers/webhook.cjs +35 -0
  148. package/dist/cjs/transformers/welcomeScreen.cjs +22 -0
  149. package/dist/cjs/transformers/widget.cjs +33 -0
  150. package/dist/cjs/transformers/widgetSettings.cjs +17 -0
  151. package/dist/cjs/transformers.cjs +528 -0
  152. package/dist/cjs/typings.cjs +33 -0
  153. package/dist/cjs/utils.cjs +26 -0
  154. package/dist/esm/bot.js +69 -0
  155. package/dist/esm/commandOptionsParser.js +41 -0
  156. package/dist/esm/constants.js +6 -0
  157. package/dist/esm/handlers/channels/CHANNEL_CREATE.js +11 -0
  158. package/dist/esm/handlers/channels/CHANNEL_DELETE.js +11 -0
  159. package/dist/esm/handlers/channels/CHANNEL_PINS_UPDATE.js +11 -0
  160. package/dist/esm/handlers/channels/CHANNEL_UPDATE.js +10 -0
  161. package/dist/esm/handlers/channels/STAGE_INSTANCE_CREATE.js +12 -0
  162. package/dist/esm/handlers/channels/STAGE_INSTANCE_DELETE.js +12 -0
  163. package/dist/esm/handlers/channels/STAGE_INSTANCE_UPDATE.js +12 -0
  164. package/dist/esm/handlers/channels/THREAD_CREATE.js +9 -0
  165. package/dist/esm/handlers/channels/THREAD_DELETE.js +9 -0
  166. package/dist/esm/handlers/channels/THREAD_LIST_SYNC.js +21 -0
  167. package/dist/esm/handlers/channels/THREAD_MEMBERS_UPDATE.js +12 -0
  168. package/dist/esm/handlers/channels/THREAD_MEMBER_UPDATE.js +12 -0
  169. package/dist/esm/handlers/channels/THREAD_UPDATE.js +9 -0
  170. package/dist/esm/handlers/channels/index.js +15 -0
  171. package/dist/esm/handlers/emojis/GUILD_EMOJIS_UPDATE.js +14 -0
  172. package/dist/esm/handlers/emojis/index.js +3 -0
  173. package/dist/esm/handlers/guilds/GUILD_AUDIT_LOG_ENTRY_CREATE.js +8 -0
  174. package/dist/esm/handlers/guilds/GUILD_BAN_ADD.js +7 -0
  175. package/dist/esm/handlers/guilds/GUILD_BAN_REMOVE.js +7 -0
  176. package/dist/esm/handlers/guilds/GUILD_CREATE.js +10 -0
  177. package/dist/esm/handlers/guilds/GUILD_DELETE.js +11 -0
  178. package/dist/esm/handlers/guilds/GUILD_INTEGRATIONS_UPDATE.js +9 -0
  179. package/dist/esm/handlers/guilds/GUILD_STICKERS_UPDATE.js +10 -0
  180. package/dist/esm/handlers/guilds/GUILD_UPDATE.js +10 -0
  181. package/dist/esm/handlers/guilds/automod/AUTO_MODERATION_ACTION_EXECUTION.js +7 -0
  182. package/dist/esm/handlers/guilds/automod/AUTO_MODERATION_RULE_CREATE.js +7 -0
  183. package/dist/esm/handlers/guilds/automod/AUTO_MODERATION_RULE_DELETE.js +7 -0
  184. package/dist/esm/handlers/guilds/automod/AUTO_MODERATION_RULE_UPDATE.js +7 -0
  185. package/dist/esm/handlers/guilds/automod/index.js +6 -0
  186. package/dist/esm/handlers/guilds/index.js +12 -0
  187. package/dist/esm/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_CREATE.js +7 -0
  188. package/dist/esm/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_DELETE.js +7 -0
  189. package/dist/esm/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_UPDATE.js +7 -0
  190. package/dist/esm/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_USER_ADD.js +11 -0
  191. package/dist/esm/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_USER_REMOVE.js +11 -0
  192. package/dist/esm/handlers/guilds/scheduledEvents/index.js +7 -0
  193. package/dist/esm/handlers/index.js +14 -0
  194. package/dist/esm/handlers/integrations/INTEGRATION_CREATE.js +6 -0
  195. package/dist/esm/handlers/integrations/INTEGRATION_DELETE.js +11 -0
  196. package/dist/esm/handlers/integrations/INTEGRATION_UPDATE.js +6 -0
  197. package/dist/esm/handlers/integrations/index.js +5 -0
  198. package/dist/esm/handlers/interactions/APPLICATION_COMMAND_PERMISSIONS_UPDATE.js +7 -0
  199. package/dist/esm/handlers/interactions/INTERACTION_CREATE.js +6 -0
  200. package/dist/esm/handlers/interactions/index.js +4 -0
  201. package/dist/esm/handlers/invites/INVITE_CREATE.js +6 -0
  202. package/dist/esm/handlers/invites/INVITE_DELETE.js +11 -0
  203. package/dist/esm/handlers/invites/index.js +4 -0
  204. package/dist/esm/handlers/members/GUILD_MEMBERS_CHUNK.js +20 -0
  205. package/dist/esm/handlers/members/GUILD_MEMBER_ADD.js +10 -0
  206. package/dist/esm/handlers/members/GUILD_MEMBER_REMOVE.js +9 -0
  207. package/dist/esm/handlers/members/GUILD_MEMBER_UPDATE.js +8 -0
  208. package/dist/esm/handlers/members/index.js +6 -0
  209. package/dist/esm/handlers/messages/MESSAGE_CREATE.js +7 -0
  210. package/dist/esm/handlers/messages/MESSAGE_DELETE.js +11 -0
  211. package/dist/esm/handlers/messages/MESSAGE_DELETE_BULK.js +13 -0
  212. package/dist/esm/handlers/messages/MESSAGE_REACTION_ADD.js +18 -0
  213. package/dist/esm/handlers/messages/MESSAGE_REACTION_REMOVE.js +13 -0
  214. package/dist/esm/handlers/messages/MESSAGE_REACTION_REMOVE_ALL.js +11 -0
  215. package/dist/esm/handlers/messages/MESSAGE_REACTION_REMOVE_EMOJI.js +12 -0
  216. package/dist/esm/handlers/messages/MESSAGE_UPDATE.js +8 -0
  217. package/dist/esm/handlers/messages/index.js +10 -0
  218. package/dist/esm/handlers/misc/PRESENCE_UPDATE.js +6 -0
  219. package/dist/esm/handlers/misc/READY.js +18 -0
  220. package/dist/esm/handlers/misc/TYPING_START.js +15 -0
  221. package/dist/esm/handlers/misc/USER_UPDATE.js +7 -0
  222. package/dist/esm/handlers/misc/index.js +6 -0
  223. package/dist/esm/handlers/roles/GUILD_ROLE_CREATE.js +10 -0
  224. package/dist/esm/handlers/roles/GUILD_ROLE_DELETE.js +10 -0
  225. package/dist/esm/handlers/roles/GUILD_ROLE_UPDATE.js +10 -0
  226. package/dist/esm/handlers/roles/index.js +5 -0
  227. package/dist/esm/handlers/voice/VOICE_SERVER_UPDATE.js +11 -0
  228. package/dist/esm/handlers/voice/VOICE_STATE_UPDATE.js +12 -0
  229. package/dist/esm/handlers/voice/index.js +4 -0
  230. package/dist/esm/handlers/webhooks/WEBHOOKS_UPDATE.js +10 -0
  231. package/dist/esm/handlers/webhooks/index.js +3 -0
  232. package/dist/esm/handlers.js +67 -0
  233. package/dist/esm/helpers.js +602 -0
  234. package/dist/esm/index.js +17 -0
  235. package/dist/esm/optionalize.js +3 -0
  236. package/dist/esm/transformers/activity.js +34 -0
  237. package/dist/esm/transformers/application.js +25 -0
  238. package/dist/esm/transformers/applicationCommand.js +19 -0
  239. package/dist/esm/transformers/applicationCommandOption.js +21 -0
  240. package/dist/esm/transformers/applicationCommandOptionChoice.js +10 -0
  241. package/dist/esm/transformers/applicationCommandPermission.js +15 -0
  242. package/dist/esm/transformers/attachment.js +17 -0
  243. package/dist/esm/transformers/auditLogEntry.js +134 -0
  244. package/dist/esm/transformers/automodActionExecution.js +25 -0
  245. package/dist/esm/transformers/automodRule.js +31 -0
  246. package/dist/esm/transformers/channel.js +98 -0
  247. package/dist/esm/transformers/component.js +37 -0
  248. package/dist/esm/transformers/embed.js +44 -0
  249. package/dist/esm/transformers/emoji.js +13 -0
  250. package/dist/esm/transformers/gatewayBot.js +15 -0
  251. package/dist/esm/transformers/guild.js +132 -0
  252. package/dist/esm/transformers/index.js +40 -0
  253. package/dist/esm/transformers/integration.js +34 -0
  254. package/dist/esm/transformers/interaction.js +169 -0
  255. package/dist/esm/transformers/invite.js +40 -0
  256. package/dist/esm/transformers/member.js +34 -0
  257. package/dist/esm/transformers/message.js +221 -0
  258. package/dist/esm/transformers/presence.js +15 -0
  259. package/dist/esm/transformers/reverse/activity.js +43 -0
  260. package/dist/esm/transformers/reverse/allowedMentions.js +10 -0
  261. package/dist/esm/transformers/reverse/application.js +24 -0
  262. package/dist/esm/transformers/reverse/applicationCommand.js +18 -0
  263. package/dist/esm/transformers/reverse/applicationCommandOption.js +20 -0
  264. package/dist/esm/transformers/reverse/applicationCommandOptionChoice.js +9 -0
  265. package/dist/esm/transformers/reverse/applicationCommandPermission.js +14 -0
  266. package/dist/esm/transformers/reverse/attachment.js +16 -0
  267. package/dist/esm/transformers/reverse/auditLogEntry.js +137 -0
  268. package/dist/esm/transformers/reverse/component.js +37 -0
  269. package/dist/esm/transformers/reverse/createApplicationCommand.js +27 -0
  270. package/dist/esm/transformers/reverse/embed.js +43 -0
  271. package/dist/esm/transformers/reverse/emoji.js +14 -0
  272. package/dist/esm/transformers/reverse/gatewayBot.js +14 -0
  273. package/dist/esm/transformers/reverse/index.js +21 -0
  274. package/dist/esm/transformers/reverse/interactionResponse.js +24 -0
  275. package/dist/esm/transformers/reverse/member.js +35 -0
  276. package/dist/esm/transformers/reverse/presence.js +23 -0
  277. package/dist/esm/transformers/reverse/team.js +18 -0
  278. package/dist/esm/transformers/reverse/widgetSettings.js +8 -0
  279. package/dist/esm/transformers/role.js +57 -0
  280. package/dist/esm/transformers/scheduledEvent.js +24 -0
  281. package/dist/esm/transformers/stageInstance.js +12 -0
  282. package/dist/esm/transformers/stageInviteInstance.js +13 -0
  283. package/dist/esm/transformers/sticker.js +30 -0
  284. package/dist/esm/transformers/team.js +19 -0
  285. package/dist/esm/transformers/template.js +18 -0
  286. package/dist/esm/transformers/threadMember.js +17 -0
  287. package/dist/esm/transformers/toggles/Permissions.js +18 -0
  288. package/dist/esm/transformers/toggles/ToggleBitfield.js +42 -0
  289. package/dist/esm/transformers/toggles/channel.js +50 -0
  290. package/dist/esm/transformers/toggles/emoji.js +45 -0
  291. package/dist/esm/transformers/toggles/guild.js +206 -0
  292. package/dist/esm/transformers/toggles/index.js +11 -0
  293. package/dist/esm/transformers/toggles/member.js +40 -0
  294. package/dist/esm/transformers/toggles/role.js +55 -0
  295. package/dist/esm/transformers/toggles/user.js +45 -0
  296. package/dist/esm/transformers/toggles/voice.js +60 -0
  297. package/dist/esm/transformers/user.js +42 -0
  298. package/dist/esm/transformers/voiceRegion.js +12 -0
  299. package/dist/esm/transformers/voiceState.js +14 -0
  300. package/dist/esm/transformers/webhook.js +27 -0
  301. package/dist/esm/transformers/welcomeScreen.js +14 -0
  302. package/dist/esm/transformers/widget.js +25 -0
  303. package/dist/esm/transformers/widgetSettings.js +9 -0
  304. package/dist/esm/transformers.js +520 -0
  305. package/dist/esm/typings.js +19 -0
  306. package/dist/esm/utils.js +11 -0
  307. package/dist/types/bot.d.ts +257 -0
  308. package/dist/types/bot.d.ts.map +1 -0
  309. package/dist/types/commandOptionsParser.d.ts +3 -0
  310. package/dist/types/commandOptionsParser.d.ts.map +1 -0
  311. package/dist/types/constants.d.ts.map +1 -0
  312. package/dist/types/handlers/channels/CHANNEL_CREATE.d.ts.map +1 -0
  313. package/dist/types/handlers/channels/CHANNEL_DELETE.d.ts.map +1 -0
  314. package/dist/types/handlers/channels/CHANNEL_PINS_UPDATE.d.ts.map +1 -0
  315. package/dist/types/handlers/channels/CHANNEL_UPDATE.d.ts.map +1 -0
  316. package/dist/types/handlers/channels/STAGE_INSTANCE_CREATE.d.ts.map +1 -0
  317. package/dist/types/handlers/channels/STAGE_INSTANCE_DELETE.d.ts.map +1 -0
  318. package/dist/types/handlers/channels/STAGE_INSTANCE_UPDATE.d.ts.map +1 -0
  319. package/dist/types/handlers/channels/THREAD_CREATE.d.ts.map +1 -0
  320. package/dist/types/handlers/channels/THREAD_DELETE.d.ts.map +1 -0
  321. package/dist/types/handlers/channels/THREAD_LIST_SYNC.d.ts.map +1 -0
  322. package/dist/types/handlers/channels/THREAD_MEMBERS_UPDATE.d.ts.map +1 -0
  323. package/dist/types/handlers/channels/THREAD_MEMBER_UPDATE.d.ts.map +1 -0
  324. package/dist/types/handlers/channels/THREAD_UPDATE.d.ts.map +1 -0
  325. package/dist/types/handlers/channels/index.d.ts.map +1 -0
  326. package/dist/types/handlers/emojis/GUILD_EMOJIS_UPDATE.d.ts.map +1 -0
  327. package/dist/types/handlers/emojis/index.d.ts.map +1 -0
  328. package/dist/types/handlers/guilds/GUILD_AUDIT_LOG_ENTRY_CREATE.d.ts.map +1 -0
  329. package/dist/types/handlers/guilds/GUILD_BAN_ADD.d.ts.map +1 -0
  330. package/dist/types/handlers/guilds/GUILD_BAN_REMOVE.d.ts.map +1 -0
  331. package/dist/types/handlers/guilds/GUILD_CREATE.d.ts.map +1 -0
  332. package/dist/types/handlers/guilds/GUILD_DELETE.d.ts.map +1 -0
  333. package/dist/types/handlers/guilds/GUILD_INTEGRATIONS_UPDATE.d.ts.map +1 -0
  334. package/dist/types/handlers/guilds/GUILD_STICKERS_UPDATE.d.ts.map +1 -0
  335. package/dist/types/handlers/guilds/GUILD_UPDATE.d.ts.map +1 -0
  336. package/dist/types/handlers/guilds/automod/AUTO_MODERATION_ACTION_EXECUTION.d.ts.map +1 -0
  337. package/dist/types/handlers/guilds/automod/AUTO_MODERATION_RULE_CREATE.d.ts.map +1 -0
  338. package/dist/types/handlers/guilds/automod/AUTO_MODERATION_RULE_DELETE.d.ts.map +1 -0
  339. package/dist/types/handlers/guilds/automod/AUTO_MODERATION_RULE_UPDATE.d.ts.map +1 -0
  340. package/dist/types/handlers/guilds/automod/index.d.ts.map +1 -0
  341. package/dist/types/handlers/guilds/index.d.ts.map +1 -0
  342. package/dist/types/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_CREATE.d.ts.map +1 -0
  343. package/dist/types/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_DELETE.d.ts.map +1 -0
  344. package/dist/types/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_UPDATE.d.ts.map +1 -0
  345. package/dist/types/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_USER_ADD.d.ts.map +1 -0
  346. package/dist/types/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_USER_REMOVE.d.ts.map +1 -0
  347. package/dist/types/handlers/guilds/scheduledEvents/index.d.ts.map +1 -0
  348. package/dist/types/handlers/index.d.ts.map +1 -0
  349. package/dist/types/handlers/integrations/INTEGRATION_CREATE.d.ts.map +1 -0
  350. package/dist/types/handlers/integrations/INTEGRATION_DELETE.d.ts.map +1 -0
  351. package/dist/types/handlers/integrations/INTEGRATION_UPDATE.d.ts.map +1 -0
  352. package/dist/types/handlers/integrations/index.d.ts.map +1 -0
  353. package/dist/types/handlers/interactions/APPLICATION_COMMAND_PERMISSIONS_UPDATE.d.ts.map +1 -0
  354. package/dist/types/handlers/interactions/INTERACTION_CREATE.d.ts.map +1 -0
  355. package/dist/types/handlers/interactions/index.d.ts.map +1 -0
  356. package/dist/types/handlers/invites/INVITE_CREATE.d.ts.map +1 -0
  357. package/dist/types/handlers/invites/INVITE_DELETE.d.ts.map +1 -0
  358. package/dist/types/handlers/invites/index.d.ts.map +1 -0
  359. package/dist/types/handlers/members/GUILD_MEMBERS_CHUNK.d.ts +4 -0
  360. package/dist/types/handlers/members/GUILD_MEMBERS_CHUNK.d.ts.map +1 -0
  361. package/dist/types/handlers/members/GUILD_MEMBER_ADD.d.ts.map +1 -0
  362. package/dist/types/handlers/members/GUILD_MEMBER_REMOVE.d.ts.map +1 -0
  363. package/dist/types/handlers/members/GUILD_MEMBER_UPDATE.d.ts.map +1 -0
  364. package/dist/types/handlers/members/index.d.ts.map +1 -0
  365. package/dist/types/handlers/messages/MESSAGE_CREATE.d.ts.map +1 -0
  366. package/dist/types/handlers/messages/MESSAGE_DELETE.d.ts.map +1 -0
  367. package/dist/types/handlers/messages/MESSAGE_DELETE_BULK.d.ts.map +1 -0
  368. package/dist/types/handlers/messages/MESSAGE_REACTION_ADD.d.ts.map +1 -0
  369. package/dist/types/handlers/messages/MESSAGE_REACTION_REMOVE.d.ts.map +1 -0
  370. package/dist/types/handlers/messages/MESSAGE_REACTION_REMOVE_ALL.d.ts.map +1 -0
  371. package/dist/types/handlers/messages/MESSAGE_REACTION_REMOVE_EMOJI.d.ts.map +1 -0
  372. package/dist/types/handlers/messages/MESSAGE_UPDATE.d.ts.map +1 -0
  373. package/dist/types/handlers/messages/index.d.ts.map +1 -0
  374. package/dist/types/handlers/misc/PRESENCE_UPDATE.d.ts.map +1 -0
  375. package/dist/types/handlers/misc/READY.d.ts.map +1 -0
  376. package/dist/types/handlers/misc/TYPING_START.d.ts.map +1 -0
  377. package/dist/types/handlers/misc/USER_UPDATE.d.ts.map +1 -0
  378. package/dist/types/handlers/misc/index.d.ts.map +1 -0
  379. package/dist/types/handlers/roles/GUILD_ROLE_CREATE.d.ts.map +1 -0
  380. package/dist/types/handlers/roles/GUILD_ROLE_DELETE.d.ts.map +1 -0
  381. package/dist/types/handlers/roles/GUILD_ROLE_UPDATE.d.ts.map +1 -0
  382. package/dist/types/handlers/roles/index.d.ts.map +1 -0
  383. package/dist/types/handlers/voice/VOICE_SERVER_UPDATE.d.ts.map +1 -0
  384. package/dist/types/handlers/voice/VOICE_STATE_UPDATE.d.ts.map +1 -0
  385. package/dist/types/handlers/voice/index.d.ts.map +1 -0
  386. package/dist/types/handlers/webhooks/WEBHOOKS_UPDATE.d.ts.map +1 -0
  387. package/dist/types/handlers/webhooks/index.d.ts.map +1 -0
  388. package/dist/types/handlers.d.ts.map +1 -0
  389. package/dist/types/helpers.d.ts +222 -0
  390. package/dist/types/helpers.d.ts.map +1 -0
  391. package/dist/types/index.d.ts +16 -0
  392. package/dist/types/index.d.ts.map +1 -0
  393. package/dist/types/optionalize.d.ts.map +1 -0
  394. package/dist/types/transformers/activity.d.ts +35 -0
  395. package/dist/types/transformers/activity.d.ts.map +1 -0
  396. package/dist/types/transformers/application.d.ts +22 -0
  397. package/dist/types/transformers/application.d.ts.map +1 -0
  398. package/dist/types/transformers/applicationCommand.d.ts +18 -0
  399. package/dist/types/transformers/applicationCommand.d.ts.map +1 -0
  400. package/dist/types/transformers/applicationCommandOption.d.ts.map +1 -0
  401. package/dist/types/transformers/applicationCommandOptionChoice.d.ts +9 -0
  402. package/dist/types/transformers/applicationCommandOptionChoice.d.ts.map +1 -0
  403. package/dist/types/transformers/applicationCommandPermission.d.ts +14 -0
  404. package/dist/types/transformers/applicationCommandPermission.d.ts.map +1 -0
  405. package/dist/types/transformers/attachment.d.ts +30 -0
  406. package/dist/types/transformers/attachment.d.ts.map +1 -0
  407. package/dist/types/transformers/auditLogEntry.d.ts +44 -0
  408. package/dist/types/transformers/auditLogEntry.d.ts.map +1 -0
  409. package/dist/types/transformers/automodActionExecution.d.ts +24 -0
  410. package/dist/types/transformers/automodActionExecution.d.ts.map +1 -0
  411. package/dist/types/transformers/automodRule.d.ts +30 -0
  412. package/dist/types/transformers/automodRule.d.ts.map +1 -0
  413. package/dist/types/transformers/channel.d.ts +107 -0
  414. package/dist/types/transformers/channel.d.ts.map +1 -0
  415. package/dist/types/transformers/component.d.ts.map +1 -0
  416. package/dist/types/transformers/embed.d.ts +50 -0
  417. package/dist/types/transformers/embed.d.ts.map +1 -0
  418. package/dist/types/transformers/emoji.d.ts +24 -0
  419. package/dist/types/transformers/emoji.d.ts.map +1 -0
  420. package/dist/types/transformers/gatewayBot.d.ts +14 -0
  421. package/dist/types/transformers/gatewayBot.d.ts.map +1 -0
  422. package/dist/types/transformers/guild.d.ts +117 -0
  423. package/dist/types/transformers/guild.d.ts.map +1 -0
  424. package/dist/types/transformers/index.d.ts.map +1 -0
  425. package/dist/types/transformers/integration.d.ts +32 -0
  426. package/dist/types/transformers/integration.d.ts.map +1 -0
  427. package/dist/types/transformers/interaction.d.ts.map +1 -0
  428. package/dist/types/transformers/invite.d.ts +41 -0
  429. package/dist/types/transformers/invite.d.ts.map +1 -0
  430. package/dist/types/transformers/member.d.ts.map +1 -0
  431. package/dist/types/transformers/message.d.ts.map +1 -0
  432. package/dist/types/transformers/presence.d.ts +13 -0
  433. package/dist/types/transformers/presence.d.ts.map +1 -0
  434. package/dist/types/transformers/reverse/activity.d.ts.map +1 -0
  435. package/dist/types/transformers/reverse/allowedMentions.d.ts.map +1 -0
  436. package/dist/types/transformers/reverse/application.d.ts.map +1 -0
  437. package/dist/types/transformers/reverse/applicationCommand.d.ts.map +1 -0
  438. package/dist/types/transformers/reverse/applicationCommandOption.d.ts.map +1 -0
  439. package/dist/types/transformers/reverse/applicationCommandOptionChoice.d.ts.map +1 -0
  440. package/dist/types/transformers/reverse/applicationCommandPermission.d.ts.map +1 -0
  441. package/dist/types/transformers/reverse/attachment.d.ts.map +1 -0
  442. package/dist/types/transformers/reverse/auditLogEntry.d.ts.map +1 -0
  443. package/dist/types/transformers/reverse/component.d.ts.map +1 -0
  444. package/dist/types/transformers/reverse/createApplicationCommand.d.ts.map +1 -0
  445. package/dist/types/transformers/reverse/embed.d.ts.map +1 -0
  446. package/dist/types/transformers/reverse/emoji.d.ts.map +1 -0
  447. package/dist/types/transformers/reverse/gatewayBot.d.ts.map +1 -0
  448. package/dist/types/transformers/reverse/index.d.ts.map +1 -0
  449. package/dist/types/transformers/reverse/interactionResponse.d.ts.map +1 -0
  450. package/dist/types/transformers/reverse/member.d.ts.map +1 -0
  451. package/dist/types/transformers/reverse/presence.d.ts.map +1 -0
  452. package/dist/types/transformers/reverse/team.d.ts.map +1 -0
  453. package/dist/types/transformers/reverse/widgetSettings.d.ts.map +1 -0
  454. package/dist/types/transformers/role.d.ts.map +1 -0
  455. package/dist/types/transformers/scheduledEvent.d.ts +38 -0
  456. package/dist/types/transformers/scheduledEvent.d.ts.map +1 -0
  457. package/dist/types/transformers/stageInstance.d.ts +16 -0
  458. package/dist/types/transformers/stageInstance.d.ts.map +1 -0
  459. package/dist/types/transformers/stageInviteInstance.d.ts +16 -0
  460. package/dist/types/transformers/stageInviteInstance.d.ts.map +1 -0
  461. package/dist/types/transformers/sticker.d.ts +38 -0
  462. package/dist/types/transformers/sticker.d.ts.map +1 -0
  463. package/dist/types/transformers/team.d.ts +16 -0
  464. package/dist/types/transformers/team.d.ts.map +1 -0
  465. package/dist/types/transformers/template.d.ts +17 -0
  466. package/dist/types/transformers/template.d.ts.map +1 -0
  467. package/dist/types/transformers/threadMember.d.ts +15 -0
  468. package/dist/types/transformers/threadMember.d.ts.map +1 -0
  469. package/dist/types/transformers/toggles/Permissions.d.ts.map +1 -0
  470. package/dist/types/transformers/toggles/ToggleBitfield.d.ts.map +1 -0
  471. package/dist/types/transformers/toggles/channel.d.ts.map +1 -0
  472. package/dist/types/transformers/toggles/emoji.d.ts.map +1 -0
  473. package/dist/types/transformers/toggles/guild.d.ts.map +1 -0
  474. package/dist/types/transformers/toggles/index.d.ts.map +1 -0
  475. package/dist/types/transformers/toggles/member.d.ts.map +1 -0
  476. package/dist/types/transformers/toggles/role.d.ts.map +1 -0
  477. package/dist/types/transformers/toggles/user.d.ts.map +1 -0
  478. package/dist/types/transformers/toggles/voice.d.ts.map +1 -0
  479. package/dist/types/transformers/user.d.ts.map +1 -0
  480. package/dist/types/transformers/voiceRegion.d.ts +11 -0
  481. package/dist/types/transformers/voiceRegion.d.ts.map +1 -0
  482. package/dist/types/transformers/voiceState.d.ts +17 -0
  483. package/dist/types/transformers/voiceState.d.ts.map +1 -0
  484. package/dist/types/transformers/webhook.d.ts +30 -0
  485. package/dist/types/transformers/webhook.d.ts.map +1 -0
  486. package/dist/types/transformers/welcomeScreen.d.ts +13 -0
  487. package/dist/types/transformers/welcomeScreen.d.ts.map +1 -0
  488. package/dist/types/transformers/widget.d.ts +23 -0
  489. package/dist/types/transformers/widget.d.ts.map +1 -0
  490. package/dist/types/transformers/widgetSettings.d.ts +8 -0
  491. package/dist/types/transformers/widgetSettings.d.ts.map +1 -0
  492. package/dist/types/transformers.d.ts +450 -0
  493. package/dist/types/transformers.d.ts.map +1 -0
  494. package/dist/types/typings.d.ts.map +1 -0
  495. package/dist/types/utils.d.ts.map +1 -0
  496. package/package.json +14 -9
  497. package/dist/bot.d.ts +0 -242
  498. package/dist/bot.d.ts.map +0 -1
  499. package/dist/bot.js +0 -67
  500. package/dist/bot.js.map +0 -1
  501. package/dist/constants.d.ts.map +0 -1
  502. package/dist/constants.js +0 -6
  503. package/dist/constants.js.map +0 -1
  504. package/dist/handlers/channels/CHANNEL_CREATE.d.ts.map +0 -1
  505. package/dist/handlers/channels/CHANNEL_CREATE.js +0 -10
  506. package/dist/handlers/channels/CHANNEL_CREATE.js.map +0 -1
  507. package/dist/handlers/channels/CHANNEL_DELETE.d.ts.map +0 -1
  508. package/dist/handlers/channels/CHANNEL_DELETE.js +0 -10
  509. package/dist/handlers/channels/CHANNEL_DELETE.js.map +0 -1
  510. package/dist/handlers/channels/CHANNEL_PINS_UPDATE.d.ts.map +0 -1
  511. package/dist/handlers/channels/CHANNEL_PINS_UPDATE.js +0 -10
  512. package/dist/handlers/channels/CHANNEL_PINS_UPDATE.js.map +0 -1
  513. package/dist/handlers/channels/CHANNEL_UPDATE.d.ts.map +0 -1
  514. package/dist/handlers/channels/CHANNEL_UPDATE.js +0 -9
  515. package/dist/handlers/channels/CHANNEL_UPDATE.js.map +0 -1
  516. package/dist/handlers/channels/STAGE_INSTANCE_CREATE.d.ts.map +0 -1
  517. package/dist/handlers/channels/STAGE_INSTANCE_CREATE.js +0 -11
  518. package/dist/handlers/channels/STAGE_INSTANCE_CREATE.js.map +0 -1
  519. package/dist/handlers/channels/STAGE_INSTANCE_DELETE.d.ts.map +0 -1
  520. package/dist/handlers/channels/STAGE_INSTANCE_DELETE.js +0 -11
  521. package/dist/handlers/channels/STAGE_INSTANCE_DELETE.js.map +0 -1
  522. package/dist/handlers/channels/STAGE_INSTANCE_UPDATE.d.ts.map +0 -1
  523. package/dist/handlers/channels/STAGE_INSTANCE_UPDATE.js +0 -11
  524. package/dist/handlers/channels/STAGE_INSTANCE_UPDATE.js.map +0 -1
  525. package/dist/handlers/channels/THREAD_CREATE.d.ts.map +0 -1
  526. package/dist/handlers/channels/THREAD_CREATE.js +0 -8
  527. package/dist/handlers/channels/THREAD_CREATE.js.map +0 -1
  528. package/dist/handlers/channels/THREAD_DELETE.d.ts.map +0 -1
  529. package/dist/handlers/channels/THREAD_DELETE.js +0 -8
  530. package/dist/handlers/channels/THREAD_DELETE.js.map +0 -1
  531. package/dist/handlers/channels/THREAD_LIST_SYNC.d.ts.map +0 -1
  532. package/dist/handlers/channels/THREAD_LIST_SYNC.js +0 -19
  533. package/dist/handlers/channels/THREAD_LIST_SYNC.js.map +0 -1
  534. package/dist/handlers/channels/THREAD_MEMBERS_UPDATE.d.ts.map +0 -1
  535. package/dist/handlers/channels/THREAD_MEMBERS_UPDATE.js +0 -11
  536. package/dist/handlers/channels/THREAD_MEMBERS_UPDATE.js.map +0 -1
  537. package/dist/handlers/channels/THREAD_MEMBER_UPDATE.d.ts.map +0 -1
  538. package/dist/handlers/channels/THREAD_MEMBER_UPDATE.js +0 -11
  539. package/dist/handlers/channels/THREAD_MEMBER_UPDATE.js.map +0 -1
  540. package/dist/handlers/channels/THREAD_UPDATE.d.ts.map +0 -1
  541. package/dist/handlers/channels/THREAD_UPDATE.js +0 -8
  542. package/dist/handlers/channels/THREAD_UPDATE.js.map +0 -1
  543. package/dist/handlers/channels/index.d.ts.map +0 -1
  544. package/dist/handlers/channels/index.js +0 -15
  545. package/dist/handlers/channels/index.js.map +0 -1
  546. package/dist/handlers/emojis/GUILD_EMOJIS_UPDATE.d.ts.map +0 -1
  547. package/dist/handlers/emojis/GUILD_EMOJIS_UPDATE.js +0 -13
  548. package/dist/handlers/emojis/GUILD_EMOJIS_UPDATE.js.map +0 -1
  549. package/dist/handlers/emojis/index.d.ts.map +0 -1
  550. package/dist/handlers/emojis/index.js +0 -3
  551. package/dist/handlers/emojis/index.js.map +0 -1
  552. package/dist/handlers/guilds/GUILD_AUDIT_LOG_ENTRY_CREATE.d.ts.map +0 -1
  553. package/dist/handlers/guilds/GUILD_AUDIT_LOG_ENTRY_CREATE.js +0 -7
  554. package/dist/handlers/guilds/GUILD_AUDIT_LOG_ENTRY_CREATE.js.map +0 -1
  555. package/dist/handlers/guilds/GUILD_BAN_ADD.d.ts.map +0 -1
  556. package/dist/handlers/guilds/GUILD_BAN_ADD.js +0 -6
  557. package/dist/handlers/guilds/GUILD_BAN_ADD.js.map +0 -1
  558. package/dist/handlers/guilds/GUILD_BAN_REMOVE.d.ts.map +0 -1
  559. package/dist/handlers/guilds/GUILD_BAN_REMOVE.js +0 -6
  560. package/dist/handlers/guilds/GUILD_BAN_REMOVE.js.map +0 -1
  561. package/dist/handlers/guilds/GUILD_CREATE.d.ts.map +0 -1
  562. package/dist/handlers/guilds/GUILD_CREATE.js +0 -9
  563. package/dist/handlers/guilds/GUILD_CREATE.js.map +0 -1
  564. package/dist/handlers/guilds/GUILD_DELETE.d.ts.map +0 -1
  565. package/dist/handlers/guilds/GUILD_DELETE.js +0 -10
  566. package/dist/handlers/guilds/GUILD_DELETE.js.map +0 -1
  567. package/dist/handlers/guilds/GUILD_INTEGRATIONS_UPDATE.d.ts.map +0 -1
  568. package/dist/handlers/guilds/GUILD_INTEGRATIONS_UPDATE.js +0 -8
  569. package/dist/handlers/guilds/GUILD_INTEGRATIONS_UPDATE.js.map +0 -1
  570. package/dist/handlers/guilds/GUILD_STICKERS_UPDATE.d.ts.map +0 -1
  571. package/dist/handlers/guilds/GUILD_STICKERS_UPDATE.js +0 -9
  572. package/dist/handlers/guilds/GUILD_STICKERS_UPDATE.js.map +0 -1
  573. package/dist/handlers/guilds/GUILD_UPDATE.d.ts.map +0 -1
  574. package/dist/handlers/guilds/GUILD_UPDATE.js +0 -9
  575. package/dist/handlers/guilds/GUILD_UPDATE.js.map +0 -1
  576. package/dist/handlers/guilds/automod/AUTO_MODERATION_ACTION_EXECUTION.d.ts.map +0 -1
  577. package/dist/handlers/guilds/automod/AUTO_MODERATION_ACTION_EXECUTION.js +0 -6
  578. package/dist/handlers/guilds/automod/AUTO_MODERATION_ACTION_EXECUTION.js.map +0 -1
  579. package/dist/handlers/guilds/automod/AUTO_MODERATION_RULE_CREATE.d.ts.map +0 -1
  580. package/dist/handlers/guilds/automod/AUTO_MODERATION_RULE_CREATE.js +0 -6
  581. package/dist/handlers/guilds/automod/AUTO_MODERATION_RULE_CREATE.js.map +0 -1
  582. package/dist/handlers/guilds/automod/AUTO_MODERATION_RULE_DELETE.d.ts.map +0 -1
  583. package/dist/handlers/guilds/automod/AUTO_MODERATION_RULE_DELETE.js +0 -6
  584. package/dist/handlers/guilds/automod/AUTO_MODERATION_RULE_DELETE.js.map +0 -1
  585. package/dist/handlers/guilds/automod/AUTO_MODERATION_RULE_UPDATE.d.ts.map +0 -1
  586. package/dist/handlers/guilds/automod/AUTO_MODERATION_RULE_UPDATE.js +0 -6
  587. package/dist/handlers/guilds/automod/AUTO_MODERATION_RULE_UPDATE.js.map +0 -1
  588. package/dist/handlers/guilds/automod/index.d.ts.map +0 -1
  589. package/dist/handlers/guilds/automod/index.js +0 -6
  590. package/dist/handlers/guilds/automod/index.js.map +0 -1
  591. package/dist/handlers/guilds/index.d.ts.map +0 -1
  592. package/dist/handlers/guilds/index.js +0 -12
  593. package/dist/handlers/guilds/index.js.map +0 -1
  594. package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_CREATE.d.ts.map +0 -1
  595. package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_CREATE.js +0 -6
  596. package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_CREATE.js.map +0 -1
  597. package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_DELETE.d.ts.map +0 -1
  598. package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_DELETE.js +0 -6
  599. package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_DELETE.js.map +0 -1
  600. package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_UPDATE.d.ts.map +0 -1
  601. package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_UPDATE.js +0 -6
  602. package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_UPDATE.js.map +0 -1
  603. package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_USER_ADD.d.ts.map +0 -1
  604. package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_USER_ADD.js +0 -10
  605. package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_USER_ADD.js.map +0 -1
  606. package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_USER_REMOVE.d.ts.map +0 -1
  607. package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_USER_REMOVE.js +0 -10
  608. package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_USER_REMOVE.js.map +0 -1
  609. package/dist/handlers/guilds/scheduledEvents/index.d.ts.map +0 -1
  610. package/dist/handlers/guilds/scheduledEvents/index.js +0 -7
  611. package/dist/handlers/guilds/scheduledEvents/index.js.map +0 -1
  612. package/dist/handlers/index.d.ts.map +0 -1
  613. package/dist/handlers/index.js +0 -14
  614. package/dist/handlers/index.js.map +0 -1
  615. package/dist/handlers/integrations/INTEGRATION_CREATE.d.ts.map +0 -1
  616. package/dist/handlers/integrations/INTEGRATION_CREATE.js +0 -5
  617. package/dist/handlers/integrations/INTEGRATION_CREATE.js.map +0 -1
  618. package/dist/handlers/integrations/INTEGRATION_DELETE.d.ts.map +0 -1
  619. package/dist/handlers/integrations/INTEGRATION_DELETE.js +0 -10
  620. package/dist/handlers/integrations/INTEGRATION_DELETE.js.map +0 -1
  621. package/dist/handlers/integrations/INTEGRATION_UPDATE.d.ts.map +0 -1
  622. package/dist/handlers/integrations/INTEGRATION_UPDATE.js +0 -5
  623. package/dist/handlers/integrations/INTEGRATION_UPDATE.js.map +0 -1
  624. package/dist/handlers/integrations/index.d.ts.map +0 -1
  625. package/dist/handlers/integrations/index.js +0 -5
  626. package/dist/handlers/integrations/index.js.map +0 -1
  627. package/dist/handlers/interactions/APPLICATION_COMMAND_PERMISSIONS_UPDATE.d.ts.map +0 -1
  628. package/dist/handlers/interactions/APPLICATION_COMMAND_PERMISSIONS_UPDATE.js +0 -6
  629. package/dist/handlers/interactions/APPLICATION_COMMAND_PERMISSIONS_UPDATE.js.map +0 -1
  630. package/dist/handlers/interactions/INTERACTION_CREATE.d.ts.map +0 -1
  631. package/dist/handlers/interactions/INTERACTION_CREATE.js +0 -5
  632. package/dist/handlers/interactions/INTERACTION_CREATE.js.map +0 -1
  633. package/dist/handlers/interactions/index.d.ts.map +0 -1
  634. package/dist/handlers/interactions/index.js +0 -4
  635. package/dist/handlers/interactions/index.js.map +0 -1
  636. package/dist/handlers/invites/INVITE_CREATE.d.ts.map +0 -1
  637. package/dist/handlers/invites/INVITE_CREATE.js +0 -5
  638. package/dist/handlers/invites/INVITE_CREATE.js.map +0 -1
  639. package/dist/handlers/invites/INVITE_DELETE.d.ts.map +0 -1
  640. package/dist/handlers/invites/INVITE_DELETE.js +0 -10
  641. package/dist/handlers/invites/INVITE_DELETE.js.map +0 -1
  642. package/dist/handlers/invites/index.d.ts.map +0 -1
  643. package/dist/handlers/invites/index.js +0 -4
  644. package/dist/handlers/invites/index.js.map +0 -1
  645. package/dist/handlers/members/GUILD_MEMBERS_CHUNK.d.ts +0 -4
  646. package/dist/handlers/members/GUILD_MEMBERS_CHUNK.d.ts.map +0 -1
  647. package/dist/handlers/members/GUILD_MEMBERS_CHUNK.js +0 -26
  648. package/dist/handlers/members/GUILD_MEMBERS_CHUNK.js.map +0 -1
  649. package/dist/handlers/members/GUILD_MEMBER_ADD.d.ts.map +0 -1
  650. package/dist/handlers/members/GUILD_MEMBER_ADD.js +0 -9
  651. package/dist/handlers/members/GUILD_MEMBER_ADD.js.map +0 -1
  652. package/dist/handlers/members/GUILD_MEMBER_REMOVE.d.ts.map +0 -1
  653. package/dist/handlers/members/GUILD_MEMBER_REMOVE.js +0 -8
  654. package/dist/handlers/members/GUILD_MEMBER_REMOVE.js.map +0 -1
  655. package/dist/handlers/members/GUILD_MEMBER_UPDATE.d.ts.map +0 -1
  656. package/dist/handlers/members/GUILD_MEMBER_UPDATE.js +0 -7
  657. package/dist/handlers/members/GUILD_MEMBER_UPDATE.js.map +0 -1
  658. package/dist/handlers/members/index.d.ts.map +0 -1
  659. package/dist/handlers/members/index.js +0 -6
  660. package/dist/handlers/members/index.js.map +0 -1
  661. package/dist/handlers/messages/MESSAGE_CREATE.d.ts.map +0 -1
  662. package/dist/handlers/messages/MESSAGE_CREATE.js +0 -6
  663. package/dist/handlers/messages/MESSAGE_CREATE.js.map +0 -1
  664. package/dist/handlers/messages/MESSAGE_DELETE.d.ts.map +0 -1
  665. package/dist/handlers/messages/MESSAGE_DELETE.js +0 -10
  666. package/dist/handlers/messages/MESSAGE_DELETE.js.map +0 -1
  667. package/dist/handlers/messages/MESSAGE_DELETE_BULK.d.ts.map +0 -1
  668. package/dist/handlers/messages/MESSAGE_DELETE_BULK.js +0 -12
  669. package/dist/handlers/messages/MESSAGE_DELETE_BULK.js.map +0 -1
  670. package/dist/handlers/messages/MESSAGE_REACTION_ADD.d.ts.map +0 -1
  671. package/dist/handlers/messages/MESSAGE_REACTION_ADD.js +0 -17
  672. package/dist/handlers/messages/MESSAGE_REACTION_ADD.js.map +0 -1
  673. package/dist/handlers/messages/MESSAGE_REACTION_REMOVE.d.ts.map +0 -1
  674. package/dist/handlers/messages/MESSAGE_REACTION_REMOVE.js +0 -12
  675. package/dist/handlers/messages/MESSAGE_REACTION_REMOVE.js.map +0 -1
  676. package/dist/handlers/messages/MESSAGE_REACTION_REMOVE_ALL.d.ts.map +0 -1
  677. package/dist/handlers/messages/MESSAGE_REACTION_REMOVE_ALL.js +0 -10
  678. package/dist/handlers/messages/MESSAGE_REACTION_REMOVE_ALL.js.map +0 -1
  679. package/dist/handlers/messages/MESSAGE_REACTION_REMOVE_EMOJI.d.ts.map +0 -1
  680. package/dist/handlers/messages/MESSAGE_REACTION_REMOVE_EMOJI.js +0 -11
  681. package/dist/handlers/messages/MESSAGE_REACTION_REMOVE_EMOJI.js.map +0 -1
  682. package/dist/handlers/messages/MESSAGE_UPDATE.d.ts.map +0 -1
  683. package/dist/handlers/messages/MESSAGE_UPDATE.js +0 -7
  684. package/dist/handlers/messages/MESSAGE_UPDATE.js.map +0 -1
  685. package/dist/handlers/messages/index.d.ts.map +0 -1
  686. package/dist/handlers/messages/index.js +0 -10
  687. package/dist/handlers/messages/index.js.map +0 -1
  688. package/dist/handlers/misc/PRESENCE_UPDATE.d.ts.map +0 -1
  689. package/dist/handlers/misc/PRESENCE_UPDATE.js +0 -5
  690. package/dist/handlers/misc/PRESENCE_UPDATE.js.map +0 -1
  691. package/dist/handlers/misc/READY.d.ts.map +0 -1
  692. package/dist/handlers/misc/READY.js +0 -17
  693. package/dist/handlers/misc/READY.js.map +0 -1
  694. package/dist/handlers/misc/TYPING_START.d.ts.map +0 -1
  695. package/dist/handlers/misc/TYPING_START.js +0 -14
  696. package/dist/handlers/misc/TYPING_START.js.map +0 -1
  697. package/dist/handlers/misc/USER_UPDATE.d.ts.map +0 -1
  698. package/dist/handlers/misc/USER_UPDATE.js +0 -6
  699. package/dist/handlers/misc/USER_UPDATE.js.map +0 -1
  700. package/dist/handlers/misc/index.d.ts.map +0 -1
  701. package/dist/handlers/misc/index.js +0 -6
  702. package/dist/handlers/misc/index.js.map +0 -1
  703. package/dist/handlers/roles/GUILD_ROLE_CREATE.d.ts.map +0 -1
  704. package/dist/handlers/roles/GUILD_ROLE_CREATE.js +0 -9
  705. package/dist/handlers/roles/GUILD_ROLE_CREATE.js.map +0 -1
  706. package/dist/handlers/roles/GUILD_ROLE_DELETE.d.ts.map +0 -1
  707. package/dist/handlers/roles/GUILD_ROLE_DELETE.js +0 -9
  708. package/dist/handlers/roles/GUILD_ROLE_DELETE.js.map +0 -1
  709. package/dist/handlers/roles/GUILD_ROLE_UPDATE.d.ts.map +0 -1
  710. package/dist/handlers/roles/GUILD_ROLE_UPDATE.js +0 -9
  711. package/dist/handlers/roles/GUILD_ROLE_UPDATE.js.map +0 -1
  712. package/dist/handlers/roles/index.d.ts.map +0 -1
  713. package/dist/handlers/roles/index.js +0 -5
  714. package/dist/handlers/roles/index.js.map +0 -1
  715. package/dist/handlers/voice/VOICE_SERVER_UPDATE.d.ts.map +0 -1
  716. package/dist/handlers/voice/VOICE_SERVER_UPDATE.js +0 -10
  717. package/dist/handlers/voice/VOICE_SERVER_UPDATE.js.map +0 -1
  718. package/dist/handlers/voice/VOICE_STATE_UPDATE.d.ts.map +0 -1
  719. package/dist/handlers/voice/VOICE_STATE_UPDATE.js +0 -11
  720. package/dist/handlers/voice/VOICE_STATE_UPDATE.js.map +0 -1
  721. package/dist/handlers/voice/index.d.ts.map +0 -1
  722. package/dist/handlers/voice/index.js +0 -4
  723. package/dist/handlers/voice/index.js.map +0 -1
  724. package/dist/handlers/webhooks/WEBHOOKS_UPDATE.d.ts.map +0 -1
  725. package/dist/handlers/webhooks/WEBHOOKS_UPDATE.js +0 -9
  726. package/dist/handlers/webhooks/WEBHOOKS_UPDATE.js.map +0 -1
  727. package/dist/handlers/webhooks/index.d.ts.map +0 -1
  728. package/dist/handlers/webhooks/index.js +0 -3
  729. package/dist/handlers/webhooks/index.js.map +0 -1
  730. package/dist/handlers.d.ts.map +0 -1
  731. package/dist/handlers.js +0 -67
  732. package/dist/handlers.js.map +0 -1
  733. package/dist/helpers.d.ts +0 -205
  734. package/dist/helpers.d.ts.map +0 -1
  735. package/dist/helpers.js +0 -553
  736. package/dist/helpers.js.map +0 -1
  737. package/dist/index.d.ts +0 -15
  738. package/dist/index.d.ts.map +0 -1
  739. package/dist/index.js +0 -16
  740. package/dist/index.js.map +0 -1
  741. package/dist/optionalize.d.ts.map +0 -1
  742. package/dist/optionalize.js +0 -3
  743. package/dist/optionalize.js.map +0 -1
  744. package/dist/transformers/activity.d.ts +0 -36
  745. package/dist/transformers/activity.d.ts.map +0 -1
  746. package/dist/transformers/activity.js +0 -35
  747. package/dist/transformers/activity.js.map +0 -1
  748. package/dist/transformers/application.d.ts +0 -77
  749. package/dist/transformers/application.d.ts.map +0 -1
  750. package/dist/transformers/application.js +0 -26
  751. package/dist/transformers/application.js.map +0 -1
  752. package/dist/transformers/applicationCommand.d.ts +0 -193
  753. package/dist/transformers/applicationCommand.d.ts.map +0 -1
  754. package/dist/transformers/applicationCommand.js +0 -20
  755. package/dist/transformers/applicationCommand.js.map +0 -1
  756. package/dist/transformers/applicationCommandOption.d.ts.map +0 -1
  757. package/dist/transformers/applicationCommandOption.js +0 -20
  758. package/dist/transformers/applicationCommandOption.js.map +0 -1
  759. package/dist/transformers/applicationCommandOptionChoice.d.ts +0 -41
  760. package/dist/transformers/applicationCommandOptionChoice.d.ts.map +0 -1
  761. package/dist/transformers/applicationCommandOptionChoice.js +0 -11
  762. package/dist/transformers/applicationCommandOptionChoice.js.map +0 -1
  763. package/dist/transformers/applicationCommandPermission.d.ts +0 -15
  764. package/dist/transformers/applicationCommandPermission.d.ts.map +0 -1
  765. package/dist/transformers/applicationCommandPermission.js +0 -16
  766. package/dist/transformers/applicationCommandPermission.js.map +0 -1
  767. package/dist/transformers/attachment.d.ts +0 -17
  768. package/dist/transformers/attachment.d.ts.map +0 -1
  769. package/dist/transformers/attachment.js +0 -18
  770. package/dist/transformers/attachment.js.map +0 -1
  771. package/dist/transformers/auditLogEntry.d.ts +0 -45
  772. package/dist/transformers/auditLogEntry.d.ts.map +0 -1
  773. package/dist/transformers/auditLogEntry.js +0 -135
  774. package/dist/transformers/auditLogEntry.js.map +0 -1
  775. package/dist/transformers/automodActionExecution.d.ts +0 -25
  776. package/dist/transformers/automodActionExecution.d.ts.map +0 -1
  777. package/dist/transformers/automodActionExecution.js +0 -26
  778. package/dist/transformers/automodActionExecution.js.map +0 -1
  779. package/dist/transformers/automodRule.d.ts +0 -31
  780. package/dist/transformers/automodRule.d.ts.map +0 -1
  781. package/dist/transformers/automodRule.js +0 -32
  782. package/dist/transformers/automodRule.js.map +0 -1
  783. package/dist/transformers/channel.d.ts +0 -107
  784. package/dist/transformers/channel.d.ts.map +0 -1
  785. package/dist/transformers/channel.js +0 -98
  786. package/dist/transformers/channel.js.map +0 -1
  787. package/dist/transformers/component.d.ts.map +0 -1
  788. package/dist/transformers/component.js +0 -36
  789. package/dist/transformers/component.js.map +0 -1
  790. package/dist/transformers/embed.d.ts +0 -51
  791. package/dist/transformers/embed.d.ts.map +0 -1
  792. package/dist/transformers/embed.js +0 -45
  793. package/dist/transformers/embed.js.map +0 -1
  794. package/dist/transformers/emoji.d.ts +0 -56
  795. package/dist/transformers/emoji.d.ts.map +0 -1
  796. package/dist/transformers/emoji.js +0 -14
  797. package/dist/transformers/emoji.js.map +0 -1
  798. package/dist/transformers/gatewayBot.d.ts +0 -14
  799. package/dist/transformers/gatewayBot.d.ts.map +0 -1
  800. package/dist/transformers/gatewayBot.js +0 -16
  801. package/dist/transformers/gatewayBot.js.map +0 -1
  802. package/dist/transformers/guild.d.ts +0 -71
  803. package/dist/transformers/guild.d.ts.map +0 -1
  804. package/dist/transformers/guild.js +0 -108
  805. package/dist/transformers/guild.js.map +0 -1
  806. package/dist/transformers/index.d.ts.map +0 -1
  807. package/dist/transformers/index.js +0 -40
  808. package/dist/transformers/index.js.map +0 -1
  809. package/dist/transformers/integration.d.ts +0 -119
  810. package/dist/transformers/integration.d.ts.map +0 -1
  811. package/dist/transformers/integration.js +0 -35
  812. package/dist/transformers/integration.js.map +0 -1
  813. package/dist/transformers/interaction.d.ts.map +0 -1
  814. package/dist/transformers/interaction.js +0 -169
  815. package/dist/transformers/interaction.js.map +0 -1
  816. package/dist/transformers/invite.d.ts +0 -177
  817. package/dist/transformers/invite.d.ts.map +0 -1
  818. package/dist/transformers/invite.js +0 -20
  819. package/dist/transformers/invite.js.map +0 -1
  820. package/dist/transformers/member.d.ts.map +0 -1
  821. package/dist/transformers/member.js +0 -34
  822. package/dist/transformers/member.js.map +0 -1
  823. package/dist/transformers/message.d.ts.map +0 -1
  824. package/dist/transformers/message.js +0 -221
  825. package/dist/transformers/message.js.map +0 -1
  826. package/dist/transformers/presence.d.ts +0 -14
  827. package/dist/transformers/presence.d.ts.map +0 -1
  828. package/dist/transformers/presence.js +0 -16
  829. package/dist/transformers/presence.js.map +0 -1
  830. package/dist/transformers/reverse/activity.d.ts.map +0 -1
  831. package/dist/transformers/reverse/activity.js +0 -43
  832. package/dist/transformers/reverse/activity.js.map +0 -1
  833. package/dist/transformers/reverse/allowedMentions.d.ts.map +0 -1
  834. package/dist/transformers/reverse/allowedMentions.js +0 -10
  835. package/dist/transformers/reverse/allowedMentions.js.map +0 -1
  836. package/dist/transformers/reverse/application.d.ts.map +0 -1
  837. package/dist/transformers/reverse/application.js +0 -24
  838. package/dist/transformers/reverse/application.js.map +0 -1
  839. package/dist/transformers/reverse/applicationCommand.d.ts.map +0 -1
  840. package/dist/transformers/reverse/applicationCommand.js +0 -18
  841. package/dist/transformers/reverse/applicationCommand.js.map +0 -1
  842. package/dist/transformers/reverse/applicationCommandOption.d.ts.map +0 -1
  843. package/dist/transformers/reverse/applicationCommandOption.js +0 -20
  844. package/dist/transformers/reverse/applicationCommandOption.js.map +0 -1
  845. package/dist/transformers/reverse/applicationCommandOptionChoice.d.ts.map +0 -1
  846. package/dist/transformers/reverse/applicationCommandOptionChoice.js +0 -9
  847. package/dist/transformers/reverse/applicationCommandOptionChoice.js.map +0 -1
  848. package/dist/transformers/reverse/applicationCommandPermission.d.ts.map +0 -1
  849. package/dist/transformers/reverse/applicationCommandPermission.js +0 -14
  850. package/dist/transformers/reverse/applicationCommandPermission.js.map +0 -1
  851. package/dist/transformers/reverse/attachment.d.ts.map +0 -1
  852. package/dist/transformers/reverse/attachment.js +0 -16
  853. package/dist/transformers/reverse/attachment.js.map +0 -1
  854. package/dist/transformers/reverse/auditLogEntry.d.ts.map +0 -1
  855. package/dist/transformers/reverse/auditLogEntry.js +0 -137
  856. package/dist/transformers/reverse/auditLogEntry.js.map +0 -1
  857. package/dist/transformers/reverse/component.d.ts.map +0 -1
  858. package/dist/transformers/reverse/component.js +0 -37
  859. package/dist/transformers/reverse/component.js.map +0 -1
  860. package/dist/transformers/reverse/createApplicationCommand.d.ts.map +0 -1
  861. package/dist/transformers/reverse/createApplicationCommand.js +0 -27
  862. package/dist/transformers/reverse/createApplicationCommand.js.map +0 -1
  863. package/dist/transformers/reverse/embed.d.ts.map +0 -1
  864. package/dist/transformers/reverse/embed.js +0 -43
  865. package/dist/transformers/reverse/embed.js.map +0 -1
  866. package/dist/transformers/reverse/emoji.d.ts.map +0 -1
  867. package/dist/transformers/reverse/emoji.js +0 -14
  868. package/dist/transformers/reverse/emoji.js.map +0 -1
  869. package/dist/transformers/reverse/gatewayBot.d.ts.map +0 -1
  870. package/dist/transformers/reverse/gatewayBot.js +0 -14
  871. package/dist/transformers/reverse/gatewayBot.js.map +0 -1
  872. package/dist/transformers/reverse/index.d.ts.map +0 -1
  873. package/dist/transformers/reverse/index.js +0 -21
  874. package/dist/transformers/reverse/index.js.map +0 -1
  875. package/dist/transformers/reverse/interactionResponse.d.ts.map +0 -1
  876. package/dist/transformers/reverse/interactionResponse.js +0 -24
  877. package/dist/transformers/reverse/interactionResponse.js.map +0 -1
  878. package/dist/transformers/reverse/member.d.ts.map +0 -1
  879. package/dist/transformers/reverse/member.js +0 -35
  880. package/dist/transformers/reverse/member.js.map +0 -1
  881. package/dist/transformers/reverse/presence.d.ts.map +0 -1
  882. package/dist/transformers/reverse/presence.js +0 -23
  883. package/dist/transformers/reverse/presence.js.map +0 -1
  884. package/dist/transformers/reverse/team.d.ts.map +0 -1
  885. package/dist/transformers/reverse/team.js +0 -18
  886. package/dist/transformers/reverse/team.js.map +0 -1
  887. package/dist/transformers/reverse/widgetSettings.d.ts.map +0 -1
  888. package/dist/transformers/reverse/widgetSettings.js +0 -8
  889. package/dist/transformers/reverse/widgetSettings.js.map +0 -1
  890. package/dist/transformers/role.d.ts.map +0 -1
  891. package/dist/transformers/role.js +0 -57
  892. package/dist/transformers/role.js.map +0 -1
  893. package/dist/transformers/scheduledEvent.d.ts +0 -66
  894. package/dist/transformers/scheduledEvent.d.ts.map +0 -1
  895. package/dist/transformers/scheduledEvent.js +0 -25
  896. package/dist/transformers/scheduledEvent.js.map +0 -1
  897. package/dist/transformers/stageInstance.d.ts +0 -12
  898. package/dist/transformers/stageInstance.d.ts.map +0 -1
  899. package/dist/transformers/stageInstance.js +0 -13
  900. package/dist/transformers/stageInstance.js.map +0 -1
  901. package/dist/transformers/sticker.d.ts +0 -72
  902. package/dist/transformers/sticker.d.ts.map +0 -1
  903. package/dist/transformers/sticker.js +0 -32
  904. package/dist/transformers/sticker.js.map +0 -1
  905. package/dist/transformers/team.d.ts +0 -17
  906. package/dist/transformers/team.d.ts.map +0 -1
  907. package/dist/transformers/team.js +0 -20
  908. package/dist/transformers/team.js.map +0 -1
  909. package/dist/transformers/template.d.ts +0 -416
  910. package/dist/transformers/template.d.ts.map +0 -1
  911. package/dist/transformers/template.js +0 -19
  912. package/dist/transformers/template.js.map +0 -1
  913. package/dist/transformers/threadMember.d.ts +0 -17
  914. package/dist/transformers/threadMember.d.ts.map +0 -1
  915. package/dist/transformers/threadMember.js +0 -19
  916. package/dist/transformers/threadMember.js.map +0 -1
  917. package/dist/transformers/toggles/Permissions.d.ts.map +0 -1
  918. package/dist/transformers/toggles/Permissions.js +0 -18
  919. package/dist/transformers/toggles/Permissions.js.map +0 -1
  920. package/dist/transformers/toggles/ToggleBitfield.d.ts.map +0 -1
  921. package/dist/transformers/toggles/ToggleBitfield.js +0 -42
  922. package/dist/transformers/toggles/ToggleBitfield.js.map +0 -1
  923. package/dist/transformers/toggles/channel.d.ts.map +0 -1
  924. package/dist/transformers/toggles/channel.js +0 -50
  925. package/dist/transformers/toggles/channel.js.map +0 -1
  926. package/dist/transformers/toggles/emoji.d.ts.map +0 -1
  927. package/dist/transformers/toggles/emoji.js +0 -45
  928. package/dist/transformers/toggles/emoji.js.map +0 -1
  929. package/dist/transformers/toggles/guild.d.ts.map +0 -1
  930. package/dist/transformers/toggles/guild.js +0 -206
  931. package/dist/transformers/toggles/guild.js.map +0 -1
  932. package/dist/transformers/toggles/index.d.ts.map +0 -1
  933. package/dist/transformers/toggles/index.js +0 -11
  934. package/dist/transformers/toggles/index.js.map +0 -1
  935. package/dist/transformers/toggles/member.d.ts.map +0 -1
  936. package/dist/transformers/toggles/member.js +0 -40
  937. package/dist/transformers/toggles/member.js.map +0 -1
  938. package/dist/transformers/toggles/role.d.ts.map +0 -1
  939. package/dist/transformers/toggles/role.js +0 -55
  940. package/dist/transformers/toggles/role.js.map +0 -1
  941. package/dist/transformers/toggles/user.d.ts.map +0 -1
  942. package/dist/transformers/toggles/user.js +0 -45
  943. package/dist/transformers/toggles/user.js.map +0 -1
  944. package/dist/transformers/toggles/voice.d.ts.map +0 -1
  945. package/dist/transformers/toggles/voice.js +0 -60
  946. package/dist/transformers/toggles/voice.js.map +0 -1
  947. package/dist/transformers/user.d.ts.map +0 -1
  948. package/dist/transformers/user.js +0 -42
  949. package/dist/transformers/user.js.map +0 -1
  950. package/dist/transformers/voiceRegion.d.ts +0 -12
  951. package/dist/transformers/voiceRegion.d.ts.map +0 -1
  952. package/dist/transformers/voiceRegion.js +0 -14
  953. package/dist/transformers/voiceRegion.js.map +0 -1
  954. package/dist/transformers/voiceState.d.ts +0 -18
  955. package/dist/transformers/voiceState.d.ts.map +0 -1
  956. package/dist/transformers/voiceState.js +0 -15
  957. package/dist/transformers/voiceState.js.map +0 -1
  958. package/dist/transformers/webhook.d.ts +0 -69
  959. package/dist/transformers/webhook.d.ts.map +0 -1
  960. package/dist/transformers/webhook.js +0 -28
  961. package/dist/transformers/webhook.js.map +0 -1
  962. package/dist/transformers/welcomeScreen.d.ts +0 -14
  963. package/dist/transformers/welcomeScreen.d.ts.map +0 -1
  964. package/dist/transformers/welcomeScreen.js +0 -15
  965. package/dist/transformers/welcomeScreen.js.map +0 -1
  966. package/dist/transformers/widget.d.ts +0 -24
  967. package/dist/transformers/widget.d.ts.map +0 -1
  968. package/dist/transformers/widget.js +0 -26
  969. package/dist/transformers/widget.js.map +0 -1
  970. package/dist/transformers/widgetSettings.d.ts +0 -9
  971. package/dist/transformers/widgetSettings.d.ts.map +0 -1
  972. package/dist/transformers/widgetSettings.js +0 -10
  973. package/dist/transformers/widgetSettings.js.map +0 -1
  974. package/dist/transformers.d.ts +0 -382
  975. package/dist/transformers.d.ts.map +0 -1
  976. package/dist/transformers.js +0 -382
  977. package/dist/transformers.js.map +0 -1
  978. package/dist/typings.d.ts.map +0 -1
  979. package/dist/typings.js +0 -19
  980. package/dist/typings.js.map +0 -1
  981. package/dist/utils.d.ts.map +0 -1
  982. package/dist/utils.js +0 -11
  983. package/dist/utils.js.map +0 -1
  984. /package/dist/{constants.d.ts → types/constants.d.ts} +0 -0
  985. /package/dist/{handlers → types/handlers}/channels/CHANNEL_CREATE.d.ts +0 -0
  986. /package/dist/{handlers → types/handlers}/channels/CHANNEL_DELETE.d.ts +0 -0
  987. /package/dist/{handlers → types/handlers}/channels/CHANNEL_PINS_UPDATE.d.ts +0 -0
  988. /package/dist/{handlers → types/handlers}/channels/CHANNEL_UPDATE.d.ts +0 -0
  989. /package/dist/{handlers → types/handlers}/channels/STAGE_INSTANCE_CREATE.d.ts +0 -0
  990. /package/dist/{handlers → types/handlers}/channels/STAGE_INSTANCE_DELETE.d.ts +0 -0
  991. /package/dist/{handlers → types/handlers}/channels/STAGE_INSTANCE_UPDATE.d.ts +0 -0
  992. /package/dist/{handlers → types/handlers}/channels/THREAD_CREATE.d.ts +0 -0
  993. /package/dist/{handlers → types/handlers}/channels/THREAD_DELETE.d.ts +0 -0
  994. /package/dist/{handlers → types/handlers}/channels/THREAD_LIST_SYNC.d.ts +0 -0
  995. /package/dist/{handlers → types/handlers}/channels/THREAD_MEMBERS_UPDATE.d.ts +0 -0
  996. /package/dist/{handlers → types/handlers}/channels/THREAD_MEMBER_UPDATE.d.ts +0 -0
  997. /package/dist/{handlers → types/handlers}/channels/THREAD_UPDATE.d.ts +0 -0
  998. /package/dist/{handlers → types/handlers}/channels/index.d.ts +0 -0
  999. /package/dist/{handlers → types/handlers}/emojis/GUILD_EMOJIS_UPDATE.d.ts +0 -0
  1000. /package/dist/{handlers → types/handlers}/emojis/index.d.ts +0 -0
  1001. /package/dist/{handlers → types/handlers}/guilds/GUILD_AUDIT_LOG_ENTRY_CREATE.d.ts +0 -0
  1002. /package/dist/{handlers → types/handlers}/guilds/GUILD_BAN_ADD.d.ts +0 -0
  1003. /package/dist/{handlers → types/handlers}/guilds/GUILD_BAN_REMOVE.d.ts +0 -0
  1004. /package/dist/{handlers → types/handlers}/guilds/GUILD_CREATE.d.ts +0 -0
  1005. /package/dist/{handlers → types/handlers}/guilds/GUILD_DELETE.d.ts +0 -0
  1006. /package/dist/{handlers → types/handlers}/guilds/GUILD_INTEGRATIONS_UPDATE.d.ts +0 -0
  1007. /package/dist/{handlers → types/handlers}/guilds/GUILD_STICKERS_UPDATE.d.ts +0 -0
  1008. /package/dist/{handlers → types/handlers}/guilds/GUILD_UPDATE.d.ts +0 -0
  1009. /package/dist/{handlers → types/handlers}/guilds/automod/AUTO_MODERATION_ACTION_EXECUTION.d.ts +0 -0
  1010. /package/dist/{handlers → types/handlers}/guilds/automod/AUTO_MODERATION_RULE_CREATE.d.ts +0 -0
  1011. /package/dist/{handlers → types/handlers}/guilds/automod/AUTO_MODERATION_RULE_DELETE.d.ts +0 -0
  1012. /package/dist/{handlers → types/handlers}/guilds/automod/AUTO_MODERATION_RULE_UPDATE.d.ts +0 -0
  1013. /package/dist/{handlers → types/handlers}/guilds/automod/index.d.ts +0 -0
  1014. /package/dist/{handlers → types/handlers}/guilds/index.d.ts +0 -0
  1015. /package/dist/{handlers → types/handlers}/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_CREATE.d.ts +0 -0
  1016. /package/dist/{handlers → types/handlers}/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_DELETE.d.ts +0 -0
  1017. /package/dist/{handlers → types/handlers}/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_UPDATE.d.ts +0 -0
  1018. /package/dist/{handlers → types/handlers}/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_USER_ADD.d.ts +0 -0
  1019. /package/dist/{handlers → types/handlers}/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_USER_REMOVE.d.ts +0 -0
  1020. /package/dist/{handlers → types/handlers}/guilds/scheduledEvents/index.d.ts +0 -0
  1021. /package/dist/{handlers → types/handlers}/index.d.ts +0 -0
  1022. /package/dist/{handlers → types/handlers}/integrations/INTEGRATION_CREATE.d.ts +0 -0
  1023. /package/dist/{handlers → types/handlers}/integrations/INTEGRATION_DELETE.d.ts +0 -0
  1024. /package/dist/{handlers → types/handlers}/integrations/INTEGRATION_UPDATE.d.ts +0 -0
  1025. /package/dist/{handlers → types/handlers}/integrations/index.d.ts +0 -0
  1026. /package/dist/{handlers → types/handlers}/interactions/APPLICATION_COMMAND_PERMISSIONS_UPDATE.d.ts +0 -0
  1027. /package/dist/{handlers → types/handlers}/interactions/INTERACTION_CREATE.d.ts +0 -0
  1028. /package/dist/{handlers → types/handlers}/interactions/index.d.ts +0 -0
  1029. /package/dist/{handlers → types/handlers}/invites/INVITE_CREATE.d.ts +0 -0
  1030. /package/dist/{handlers → types/handlers}/invites/INVITE_DELETE.d.ts +0 -0
  1031. /package/dist/{handlers → types/handlers}/invites/index.d.ts +0 -0
  1032. /package/dist/{handlers → types/handlers}/members/GUILD_MEMBER_ADD.d.ts +0 -0
  1033. /package/dist/{handlers → types/handlers}/members/GUILD_MEMBER_REMOVE.d.ts +0 -0
  1034. /package/dist/{handlers → types/handlers}/members/GUILD_MEMBER_UPDATE.d.ts +0 -0
  1035. /package/dist/{handlers → types/handlers}/members/index.d.ts +0 -0
  1036. /package/dist/{handlers → types/handlers}/messages/MESSAGE_CREATE.d.ts +0 -0
  1037. /package/dist/{handlers → types/handlers}/messages/MESSAGE_DELETE.d.ts +0 -0
  1038. /package/dist/{handlers → types/handlers}/messages/MESSAGE_DELETE_BULK.d.ts +0 -0
  1039. /package/dist/{handlers → types/handlers}/messages/MESSAGE_REACTION_ADD.d.ts +0 -0
  1040. /package/dist/{handlers → types/handlers}/messages/MESSAGE_REACTION_REMOVE.d.ts +0 -0
  1041. /package/dist/{handlers → types/handlers}/messages/MESSAGE_REACTION_REMOVE_ALL.d.ts +0 -0
  1042. /package/dist/{handlers → types/handlers}/messages/MESSAGE_REACTION_REMOVE_EMOJI.d.ts +0 -0
  1043. /package/dist/{handlers → types/handlers}/messages/MESSAGE_UPDATE.d.ts +0 -0
  1044. /package/dist/{handlers → types/handlers}/messages/index.d.ts +0 -0
  1045. /package/dist/{handlers → types/handlers}/misc/PRESENCE_UPDATE.d.ts +0 -0
  1046. /package/dist/{handlers → types/handlers}/misc/READY.d.ts +0 -0
  1047. /package/dist/{handlers → types/handlers}/misc/TYPING_START.d.ts +0 -0
  1048. /package/dist/{handlers → types/handlers}/misc/USER_UPDATE.d.ts +0 -0
  1049. /package/dist/{handlers → types/handlers}/misc/index.d.ts +0 -0
  1050. /package/dist/{handlers → types/handlers}/roles/GUILD_ROLE_CREATE.d.ts +0 -0
  1051. /package/dist/{handlers → types/handlers}/roles/GUILD_ROLE_DELETE.d.ts +0 -0
  1052. /package/dist/{handlers → types/handlers}/roles/GUILD_ROLE_UPDATE.d.ts +0 -0
  1053. /package/dist/{handlers → types/handlers}/roles/index.d.ts +0 -0
  1054. /package/dist/{handlers → types/handlers}/voice/VOICE_SERVER_UPDATE.d.ts +0 -0
  1055. /package/dist/{handlers → types/handlers}/voice/VOICE_STATE_UPDATE.d.ts +0 -0
  1056. /package/dist/{handlers → types/handlers}/voice/index.d.ts +0 -0
  1057. /package/dist/{handlers → types/handlers}/webhooks/WEBHOOKS_UPDATE.d.ts +0 -0
  1058. /package/dist/{handlers → types/handlers}/webhooks/index.d.ts +0 -0
  1059. /package/dist/{handlers.d.ts → types/handlers.d.ts} +0 -0
  1060. /package/dist/{optionalize.d.ts → types/optionalize.d.ts} +0 -0
  1061. /package/dist/{transformers → types/transformers}/applicationCommandOption.d.ts +0 -0
  1062. /package/dist/{transformers → types/transformers}/component.d.ts +0 -0
  1063. /package/dist/{transformers → types/transformers}/index.d.ts +0 -0
  1064. /package/dist/{transformers → types/transformers}/interaction.d.ts +0 -0
  1065. /package/dist/{transformers → types/transformers}/member.d.ts +0 -0
  1066. /package/dist/{transformers → types/transformers}/message.d.ts +0 -0
  1067. /package/dist/{transformers → types/transformers}/reverse/activity.d.ts +0 -0
  1068. /package/dist/{transformers → types/transformers}/reverse/allowedMentions.d.ts +0 -0
  1069. /package/dist/{transformers → types/transformers}/reverse/application.d.ts +0 -0
  1070. /package/dist/{transformers → types/transformers}/reverse/applicationCommand.d.ts +0 -0
  1071. /package/dist/{transformers → types/transformers}/reverse/applicationCommandOption.d.ts +0 -0
  1072. /package/dist/{transformers → types/transformers}/reverse/applicationCommandOptionChoice.d.ts +0 -0
  1073. /package/dist/{transformers → types/transformers}/reverse/applicationCommandPermission.d.ts +0 -0
  1074. /package/dist/{transformers → types/transformers}/reverse/attachment.d.ts +0 -0
  1075. /package/dist/{transformers → types/transformers}/reverse/auditLogEntry.d.ts +0 -0
  1076. /package/dist/{transformers → types/transformers}/reverse/component.d.ts +0 -0
  1077. /package/dist/{transformers → types/transformers}/reverse/createApplicationCommand.d.ts +0 -0
  1078. /package/dist/{transformers → types/transformers}/reverse/embed.d.ts +0 -0
  1079. /package/dist/{transformers → types/transformers}/reverse/emoji.d.ts +0 -0
  1080. /package/dist/{transformers → types/transformers}/reverse/gatewayBot.d.ts +0 -0
  1081. /package/dist/{transformers → types/transformers}/reverse/index.d.ts +0 -0
  1082. /package/dist/{transformers → types/transformers}/reverse/interactionResponse.d.ts +0 -0
  1083. /package/dist/{transformers → types/transformers}/reverse/member.d.ts +0 -0
  1084. /package/dist/{transformers → types/transformers}/reverse/presence.d.ts +0 -0
  1085. /package/dist/{transformers → types/transformers}/reverse/team.d.ts +0 -0
  1086. /package/dist/{transformers → types/transformers}/reverse/widgetSettings.d.ts +0 -0
  1087. /package/dist/{transformers → types/transformers}/role.d.ts +0 -0
  1088. /package/dist/{transformers → types/transformers}/toggles/Permissions.d.ts +0 -0
  1089. /package/dist/{transformers → types/transformers}/toggles/ToggleBitfield.d.ts +0 -0
  1090. /package/dist/{transformers → types/transformers}/toggles/channel.d.ts +0 -0
  1091. /package/dist/{transformers → types/transformers}/toggles/emoji.d.ts +0 -0
  1092. /package/dist/{transformers → types/transformers}/toggles/guild.d.ts +0 -0
  1093. /package/dist/{transformers → types/transformers}/toggles/index.d.ts +0 -0
  1094. /package/dist/{transformers → types/transformers}/toggles/member.d.ts +0 -0
  1095. /package/dist/{transformers → types/transformers}/toggles/role.d.ts +0 -0
  1096. /package/dist/{transformers → types/transformers}/toggles/user.d.ts +0 -0
  1097. /package/dist/{transformers → types/transformers}/toggles/voice.d.ts +0 -0
  1098. /package/dist/{transformers → types/transformers}/user.d.ts +0 -0
  1099. /package/dist/{typings.d.ts → types/typings.d.ts} +0 -0
  1100. /package/dist/{utils.d.ts → types/utils.d.ts} +0 -0
@@ -0,0 +1,169 @@
1
+ import { InteractionResponseTypes, InteractionTypes } from '@discordeno/types';
2
+ import { Collection } from '@discordeno/utils';
3
+ const baseInteraction = {
4
+ async respond (response, options) {
5
+ let type = InteractionResponseTypes.ChannelMessageWithSource;
6
+ // If user provides a string, change it to a response object
7
+ if (typeof response === 'string') response = {
8
+ content: response
9
+ };
10
+ else if (response.title) type = InteractionResponseTypes.Modal;
11
+ else if (this.type === InteractionTypes.ApplicationCommandAutocomplete) type = InteractionResponseTypes.ApplicationCommandAutocompleteResult;
12
+ // If user wants to send a private message
13
+ if (type === InteractionResponseTypes.ChannelMessageWithSource && options?.isPrivate) response.flags = 64;
14
+ // Since this has already been given a response, any further responses must be followups.
15
+ if (this.acknowledged) return await this.bot?.rest.sendFollowupMessage(this.token, response);
16
+ // Modals cannot be chained
17
+ if (this.type === InteractionTypes.ModalSubmit && type === InteractionResponseTypes.Modal) throw new Error('Cannot respond to a modal interaction with another modal.');
18
+ // Autocomplete response can only be used for autocomplete interactions
19
+ if (this.type === InteractionTypes.ApplicationCommandAutocomplete && type !== InteractionResponseTypes.ApplicationCommandAutocompleteResult) throw new Error('Cannot respond to an autocomplete interaction with a modal or message.');
20
+ // If user has not already responded to this interaction we need to send an original response
21
+ this.acknowledged = true;
22
+ return await this.bot?.rest.sendInteractionResponse(this.id, this.token, {
23
+ type,
24
+ data: response
25
+ });
26
+ },
27
+ async edit (response) {
28
+ if (this.type === InteractionTypes.ApplicationCommandAutocomplete) throw new Error('Cannot edit an autocomplete interaction');
29
+ // If user provides a string, change it to a response object
30
+ if (typeof response === 'string') response = {
31
+ content: response
32
+ };
33
+ return await this.bot.rest.editOriginalInteractionResponse(this.token, response);
34
+ },
35
+ async defer (isPrivate) {
36
+ if (this.type === InteractionTypes.ApplicationCommandAutocomplete) throw new Error('Cannot defer an autocomplete interaction');
37
+ if (this.acknowledged) throw new Error('Cannot defer an already responded interaction');
38
+ // Determine the type of defer response
39
+ const type = this.type === InteractionTypes.MessageComponent ? InteractionResponseTypes.DeferredUpdateMessage : InteractionResponseTypes.DeferredChannelMessageWithSource;
40
+ // If user wants to send a private message
41
+ const data = {};
42
+ if (isPrivate) data.flags = 64;
43
+ this.acknowledged = true;
44
+ return await this.bot?.rest.sendInteractionResponse(this.id, this.token, {
45
+ type,
46
+ data
47
+ });
48
+ },
49
+ async delete (messageId) {
50
+ if (this.type === InteractionTypes.ApplicationCommandAutocomplete) throw new Error('Cannot delete an autocomplete interaction');
51
+ if (messageId) return await this.bot?.rest.deleteFollowupMessage(this.token, messageId);
52
+ else return await this.bot?.rest.deleteOriginalInteractionResponse(this.token);
53
+ }
54
+ };
55
+ export function transformInteraction(bot, payload) {
56
+ const guildId = payload.guild_id ? bot.transformers.snowflake(payload.guild_id) : undefined;
57
+ const user = bot.transformers.user(bot, payload.member?.user ?? payload.user);
58
+ const interaction = Object.create(baseInteraction);
59
+ const props = bot.transformers.desiredProperties.interaction;
60
+ interaction.bot = bot;
61
+ interaction.acknowledged = false;
62
+ if (payload.id && props.id) interaction.id = bot.transformers.snowflake(payload.id);
63
+ if (payload.application_id && props.applicationId) interaction.applicationId = bot.transformers.snowflake(payload.application_id);
64
+ if (payload.type && props.type) interaction.type = payload.type;
65
+ if (payload.token && props.token) interaction.token = payload.token;
66
+ if (payload.version && props.version) interaction.version = payload.version;
67
+ if (payload.locale && props.locale) interaction.locale = payload.locale;
68
+ if (payload.guild_locale && props.guildLocale) interaction.guildLocale = payload.guild_locale;
69
+ if (guildId && props.guildId) interaction.guildId = guildId;
70
+ if (props.user) interaction.user = user;
71
+ if (payload.app_permissions && props.appPermissions) interaction.appPermissions = bot.transformers.snowflake(payload.app_permissions);
72
+ if (payload.message && props.message) interaction.message = bot.transformers.message(bot, payload.message);
73
+ if (payload.channel_id && props.channelId) interaction.channelId = bot.transformers.snowflake(payload.channel_id);
74
+ if (payload.member && guildId && props.member) interaction.member = bot.transformers.member(bot, payload.member, guildId, user.id);
75
+ if (payload.data && props.data) {
76
+ interaction.data = {
77
+ type: payload.data.type,
78
+ componentType: payload.data.component_type,
79
+ customId: payload.data.custom_id,
80
+ components: payload.data.components?.map((component)=>bot.transformers.component(bot, component)),
81
+ values: payload.data.values,
82
+ id: payload.data.id ? bot.transformers.snowflake(payload.data.id) : undefined,
83
+ name: payload.data.name,
84
+ resolved: payload.data.resolved ? transformInteractionDataResolved(bot, payload.data.resolved, guildId) : undefined,
85
+ options: payload.data.options?.map((opt)=>bot.transformers.interactionDataOptions(bot, opt)),
86
+ targetId: payload.data.target_id ? bot.transformers.snowflake(payload.data.target_id) : undefined
87
+ };
88
+ }
89
+ return bot.transformers.customizers.interaction(bot, payload, interaction);
90
+ }
91
+ export function transformInteractionDataOption(bot, option) {
92
+ const opt = {
93
+ name: option.name,
94
+ type: option.type,
95
+ value: option.value,
96
+ options: option.options,
97
+ focused: option.focused
98
+ };
99
+ return bot.transformers.customizers.interactionDataOptions(bot, option, opt);
100
+ }
101
+ export function transformInteractionDataResolved(bot, resolved, guildId) {
102
+ const transformed = {};
103
+ if (resolved.messages) {
104
+ transformed.messages = new Collection(Object.entries(resolved.messages).map(([id, value])=>{
105
+ const message = bot.transformers.message(bot, value);
106
+ return [
107
+ message.id,
108
+ message
109
+ ];
110
+ }));
111
+ }
112
+ if (resolved.users) {
113
+ transformed.users = new Collection(Object.entries(resolved.users).map(([id, value])=>{
114
+ const user = bot.transformers.user(bot, value);
115
+ return [
116
+ user.id,
117
+ user
118
+ ];
119
+ }));
120
+ }
121
+ if (guildId && resolved.members) {
122
+ transformed.members = new Collection(Object.entries(resolved.members).map(([id, value])=>{
123
+ const member = bot.transformers.member(bot, value, guildId, bot.transformers.snowflake(id));
124
+ return [
125
+ member.id,
126
+ member
127
+ ];
128
+ }));
129
+ }
130
+ if (guildId && resolved.roles) {
131
+ transformed.roles = new Collection(Object.entries(resolved.roles).map(([id, value])=>{
132
+ const role = bot.transformers.role(bot, {
133
+ role: value,
134
+ guildId
135
+ });
136
+ return [
137
+ role.id,
138
+ role
139
+ ];
140
+ }));
141
+ }
142
+ if (resolved.channels) {
143
+ transformed.channels = new Collection(Object.entries(resolved.channels).map(([key, value])=>{
144
+ const id = bot.transformers.snowflake(key);
145
+ const channel = value;
146
+ return [
147
+ id,
148
+ {
149
+ id,
150
+ name: channel.name,
151
+ type: channel.type,
152
+ permissions: bot.transformers.snowflake(channel.permissions)
153
+ }
154
+ ];
155
+ }));
156
+ }
157
+ if (resolved.attachments) {
158
+ transformed.attachments = new Collection(Object.entries(resolved.attachments).map(([key, value])=>{
159
+ const id = bot.transformers.snowflake(key);
160
+ return [
161
+ id,
162
+ bot.transformers.attachment(bot, value)
163
+ ];
164
+ }));
165
+ }
166
+ return transformed;
167
+ }
168
+
169
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvaW50ZXJhY3Rpb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgSW50ZXJhY3Rpb25SZXNwb25zZVR5cGVzLFxuICBJbnRlcmFjdGlvblR5cGVzLFxuICB0eXBlIEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvblR5cGVzLFxuICB0eXBlIEFwcGxpY2F0aW9uQ29tbWFuZFR5cGVzLFxuICB0eXBlIEJpZ1N0cmluZyxcbiAgdHlwZSBDYW1lbGl6ZWREaXNjb3JkTWVzc2FnZSxcbiAgdHlwZSBDaGFubmVsVHlwZXMsXG4gIHR5cGUgRGlzY29yZEludGVyYWN0aW9uLFxuICB0eXBlIERpc2NvcmRJbnRlcmFjdGlvbkRhdGFPcHRpb24sXG4gIHR5cGUgSW50ZXJhY3Rpb25DYWxsYmFja0RhdGEsXG4gIHR5cGUgTWVzc2FnZUNvbXBvbmVudFR5cGVzLFxufSBmcm9tICdAZGlzY29yZGVuby90eXBlcydcbmltcG9ydCB7IENvbGxlY3Rpb24gfSBmcm9tICdAZGlzY29yZGVuby91dGlscydcbmltcG9ydCB0eXBlIHsgQm90LCBDb21wb25lbnQgfSBmcm9tICcuLi9pbmRleC5qcydcbmltcG9ydCB0eXBlIHsgRGlzY29yZEludGVyYWN0aW9uRGF0YVJlc29sdmVkIH0gZnJvbSAnLi4vdHlwaW5ncy5qcydcbmltcG9ydCB0eXBlIHsgQXR0YWNobWVudCB9IGZyb20gJy4vYXR0YWNobWVudC5qcydcbmltcG9ydCB0eXBlIHsgTWVtYmVyIH0gZnJvbSAnLi9tZW1iZXIuanMnXG5pbXBvcnQgdHlwZSB7IE1lc3NhZ2UgfSBmcm9tICcuL21lc3NhZ2UuanMnXG5pbXBvcnQgdHlwZSB7IFJvbGUgfSBmcm9tICcuL3JvbGUuanMnXG5pbXBvcnQgdHlwZSB7IFVzZXIgfSBmcm9tICcuL3VzZXIuanMnXG5cbmV4cG9ydCBpbnRlcmZhY2UgSW50ZXJhY3Rpb24gZXh0ZW5kcyBCYXNlSW50ZXJhY3Rpb24ge1xuICAvKiogVGhlIGJvdCBvYmplY3QgKi9cbiAgYm90OiBCb3RcbiAgLyoqIFdoZXRoZXIgb3Igbm90IHRoaXMgaW50ZXJhY3Rpb24gaGFzIGJlZW4gcmVzcG9uZGVkIHRvLiAqL1xuICBhY2tub3dsZWRnZWQ6IGJvb2xlYW5cbiAgLyoqIElkIG9mIHRoZSBpbnRlcmFjdGlvbiAqL1xuICBpZDogYmlnaW50XG4gIC8qKiBJZCBvZiB0aGUgYXBwbGljYXRpb24gdGhpcyBpbnRlcmFjdGlvbiBpcyBmb3IgKi9cbiAgYXBwbGljYXRpb25JZDogYmlnaW50XG4gIC8qKiBUaGUgdHlwZSBvZiBpbnRlcmFjdGlvbiAqL1xuICB0eXBlOiBJbnRlcmFjdGlvblR5cGVzXG4gIC8qKiBUaGUgZ3VpbGQgaXQgd2FzIHNlbnQgZnJvbSAqL1xuICBndWlsZElkPzogYmlnaW50XG4gIC8qKiBUaGUgY2hhbm5lbCBpdCB3YXMgc2VudCBmcm9tICovXG4gIGNoYW5uZWxJZD86IGJpZ2ludFxuICAvKiogR3VpbGQgbWVtYmVyIGRhdGEgZm9yIHRoZSBpbnZva2luZyB1c2VyLCBpbmNsdWRpbmcgcGVybWlzc2lvbnMgKi9cbiAgbWVtYmVyPzogTWVtYmVyXG4gIC8qKiBVc2VyIG9iamVjdCBmb3IgdGhlIGludm9raW5nIHVzZXIsIGlmIGludm9rZWQgaW4gYSBETSAqL1xuICB1c2VyOiBVc2VyXG4gIC8qKiBBIGNvbnRpbnVhdGlvbiB0b2tlbiBmb3IgcmVzcG9uZGluZyB0byB0aGUgaW50ZXJhY3Rpb24gKi9cbiAgdG9rZW46IHN0cmluZ1xuICAvKiogUmVhZC1vbmx5IHByb3BlcnR5LCBhbHdheXMgYDFgICovXG4gIHZlcnNpb246IDFcbiAgLyoqIEZvciB0aGUgbWVzc2FnZSB0aGUgYnV0dG9uIHdhcyBhdHRhY2hlZCB0byAqL1xuICBtZXNzYWdlPzogTWVzc2FnZVxuICAvKiogdGhlIGNvbW1hbmQgZGF0YSBwYXlsb2FkICovXG4gIGRhdGE/OiB7XG4gICAgdHlwZT86IEFwcGxpY2F0aW9uQ29tbWFuZFR5cGVzXG4gICAgY29tcG9uZW50VHlwZT86IE1lc3NhZ2VDb21wb25lbnRUeXBlc1xuICAgIGN1c3RvbUlkPzogc3RyaW5nXG4gICAgY29tcG9uZW50cz86IENvbXBvbmVudFtdXG4gICAgdmFsdWVzPzogc3RyaW5nW11cbiAgICBuYW1lOiBzdHJpbmdcbiAgICByZXNvbHZlZD86IEludGVyYWN0aW9uRGF0YVJlc29sdmVkXG4gICAgb3B0aW9ucz86IEludGVyYWN0aW9uRGF0YU9wdGlvbltdXG4gICAgaWQ/OiBiaWdpbnRcbiAgICB0YXJnZXRJZD86IGJpZ2ludFxuICAgIC8vIGd1aWxkSWQ/OiBiaWdpbnRcbiAgfVxuICAvKiogVGhlIHNlbGVjdGVkIGxhbmd1YWdlIG9mIHRoZSBpbnZva2luZyB1c2VyICovXG4gIGxvY2FsZT86IHN0cmluZ1xuICAvKiogVGhlIGd1aWxkJ3MgcHJlZmVycmVkIGxvY2FsZSwgaWYgaW52b2tlZCBpbiBhIGd1aWxkICovXG4gIGd1aWxkTG9jYWxlPzogc3RyaW5nXG4gIC8qKiBUaGUgY29tcHV0ZWQgcGVybWlzc2lvbnMgZm9yIGEgYm90IG9yIGFwcCBpbiB0aGUgY29udGV4dCBvZiBhIHNwZWNpZmljIGludGVyYWN0aW9uIChpbmNsdWRpbmcgY2hhbm5lbCBvdmVyd3JpdGVzKSAqL1xuICBhcHBQZXJtaXNzaW9uczogYmlnaW50XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQmFzZUludGVyYWN0aW9uIHtcbiAgLyoqIFNlbmRzIGEgcmVzcG9uc2UgdG8gYW4gaW50ZXJhY3Rpb24uICovXG4gIHJlc3BvbmQ6IChyZXNwb25zZTogc3RyaW5nIHwgSW50ZXJhY3Rpb25DYWxsYmFja0RhdGEsIG9wdGlvbnM/OiB7IGlzUHJpdmF0ZT86IGJvb2xlYW4gfSkgPT4gUHJvbWlzZTxDYW1lbGl6ZWREaXNjb3JkTWVzc2FnZSB8IHZvaWQ+XG4gIC8qKiBFZGl0IHRoZSBvcmlnaW5hbCByZXNwb25zZSBvZiBhbiBpbnRlcmFjdGlvbi4gKi9cbiAgZWRpdDogKHJlc3BvbnNlOiBzdHJpbmcgfCBJbnRlcmFjdGlvbkNhbGxiYWNrRGF0YSkgPT4gUHJvbWlzZTxDYW1lbGl6ZWREaXNjb3JkTWVzc2FnZT5cbiAgLyoqIERlZmVyIHRoZSBpbnRlcmFjdGlvbi4gKi9cbiAgZGVmZXI6IChpc1ByaXZhdGU/OiBib29sZWFuKSA9PiBQcm9taXNlPHZvaWQ+XG4gIC8qKiBEZWxldGUgdGhlIG9yaWdpbmFsIGludGVyYWN0aW9uIHJlc3BvbnNlIG9yIGEgZm9sbG93dXAgbWVzc2FnZSAqL1xuICBkZWxldGU6IChtZXNzYWdlSWQ/OiBCaWdTdHJpbmcpID0+IFByb21pc2U8dm9pZD5cbn1cblxuY29uc3QgYmFzZUludGVyYWN0aW9uOiBQYXJ0aWFsPEludGVyYWN0aW9uPiAmIEJhc2VJbnRlcmFjdGlvbiA9IHtcbiAgYXN5bmMgcmVzcG9uZChyZXNwb25zZSwgb3B0aW9ucykge1xuICAgIGxldCB0eXBlID0gSW50ZXJhY3Rpb25SZXNwb25zZVR5cGVzLkNoYW5uZWxNZXNzYWdlV2l0aFNvdXJjZVxuXG4gICAgLy8gSWYgdXNlciBwcm92aWRlcyBhIHN0cmluZywgY2hhbmdlIGl0IHRvIGEgcmVzcG9uc2Ugb2JqZWN0XG4gICAgaWYgKHR5cGVvZiByZXNwb25zZSA9PT0gJ3N0cmluZycpIHJlc3BvbnNlID0geyBjb250ZW50OiByZXNwb25zZSB9XG4gICAgLy8gSWYgdXNlciBwcm92aWRlcyBhbiBvYmplY3QsIGRldGVybWluZSBpZiBpdCBzaG91bGQgYmUgYW4gYXV0b2NvbXBsZXRlIG9yIGEgbW9kYWwgcmVzcG9uc2VcbiAgICBlbHNlIGlmIChyZXNwb25zZS50aXRsZSkgdHlwZSA9IEludGVyYWN0aW9uUmVzcG9uc2VUeXBlcy5Nb2RhbFxuICAgIGVsc2UgaWYgKHRoaXMudHlwZSA9PT0gSW50ZXJhY3Rpb25UeXBlcy5BcHBsaWNhdGlvbkNvbW1hbmRBdXRvY29tcGxldGUpIHR5cGUgPSBJbnRlcmFjdGlvblJlc3BvbnNlVHlwZXMuQXBwbGljYXRpb25Db21tYW5kQXV0b2NvbXBsZXRlUmVzdWx0XG5cbiAgICAvLyBJZiB1c2VyIHdhbnRzIHRvIHNlbmQgYSBwcml2YXRlIG1lc3NhZ2VcbiAgICBpZiAodHlwZSA9PT0gSW50ZXJhY3Rpb25SZXNwb25zZVR5cGVzLkNoYW5uZWxNZXNzYWdlV2l0aFNvdXJjZSAmJiBvcHRpb25zPy5pc1ByaXZhdGUpIHJlc3BvbnNlLmZsYWdzID0gNjRcblxuICAgIC8vIFNpbmNlIHRoaXMgaGFzIGFscmVhZHkgYmVlbiBnaXZlbiBhIHJlc3BvbnNlLCBhbnkgZnVydGhlciByZXNwb25zZXMgbXVzdCBiZSBmb2xsb3d1cHMuXG4gICAgaWYgKHRoaXMuYWNrbm93bGVkZ2VkKSByZXR1cm4gYXdhaXQgdGhpcy5ib3Q/LnJlc3Quc2VuZEZvbGxvd3VwTWVzc2FnZSh0aGlzLnRva2VuISwgcmVzcG9uc2UpXG5cbiAgICAvLyBNb2RhbHMgY2Fubm90IGJlIGNoYWluZWRcbiAgICBpZiAodGhpcy50eXBlID09PSBJbnRlcmFjdGlvblR5cGVzLk1vZGFsU3VibWl0ICYmIHR5cGUgPT09IEludGVyYWN0aW9uUmVzcG9uc2VUeXBlcy5Nb2RhbClcbiAgICAgIHRocm93IG5ldyBFcnJvcignQ2Fubm90IHJlc3BvbmQgdG8gYSBtb2RhbCBpbnRlcmFjdGlvbiB3aXRoIGFub3RoZXIgbW9kYWwuJylcblxuICAgIC8vIEF1dG9jb21wbGV0ZSByZXNwb25zZSBjYW4gb25seSBiZSB1c2VkIGZvciBhdXRvY29tcGxldGUgaW50ZXJhY3Rpb25zXG4gICAgaWYgKHRoaXMudHlwZSA9PT0gSW50ZXJhY3Rpb25UeXBlcy5BcHBsaWNhdGlvbkNvbW1hbmRBdXRvY29tcGxldGUgJiYgdHlwZSAhPT0gSW50ZXJhY3Rpb25SZXNwb25zZVR5cGVzLkFwcGxpY2F0aW9uQ29tbWFuZEF1dG9jb21wbGV0ZVJlc3VsdClcbiAgICAgIHRocm93IG5ldyBFcnJvcignQ2Fubm90IHJlc3BvbmQgdG8gYW4gYXV0b2NvbXBsZXRlIGludGVyYWN0aW9uIHdpdGggYSBtb2RhbCBvciBtZXNzYWdlLicpXG5cbiAgICAvLyBJZiB1c2VyIGhhcyBub3QgYWxyZWFkeSByZXNwb25kZWQgdG8gdGhpcyBpbnRlcmFjdGlvbiB3ZSBuZWVkIHRvIHNlbmQgYW4gb3JpZ2luYWwgcmVzcG9uc2VcbiAgICB0aGlzLmFja25vd2xlZGdlZCA9IHRydWVcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5ib3Q/LnJlc3Quc2VuZEludGVyYWN0aW9uUmVzcG9uc2UodGhpcy5pZCEsIHRoaXMudG9rZW4hLCB7IHR5cGUsIGRhdGE6IHJlc3BvbnNlIH0pXG4gIH0sXG5cbiAgYXN5bmMgZWRpdChyZXNwb25zZSkge1xuICAgIGlmICh0aGlzLnR5cGUgPT09IEludGVyYWN0aW9uVHlwZXMuQXBwbGljYXRpb25Db21tYW5kQXV0b2NvbXBsZXRlKSB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCBlZGl0IGFuIGF1dG9jb21wbGV0ZSBpbnRlcmFjdGlvbicpXG5cbiAgICAvLyBJZiB1c2VyIHByb3ZpZGVzIGEgc3RyaW5nLCBjaGFuZ2UgaXQgdG8gYSByZXNwb25zZSBvYmplY3RcbiAgICBpZiAodHlwZW9mIHJlc3BvbnNlID09PSAnc3RyaW5nJykgcmVzcG9uc2UgPSB7IGNvbnRlbnQ6IHJlc3BvbnNlIH1cblxuICAgIHJldHVybiBhd2FpdCB0aGlzLmJvdCEucmVzdC5lZGl0T3JpZ2luYWxJbnRlcmFjdGlvblJlc3BvbnNlKHRoaXMudG9rZW4hLCByZXNwb25zZSlcbiAgfSxcblxuICBhc3luYyBkZWZlcihpc1ByaXZhdGUpIHtcbiAgICBpZiAodGhpcy50eXBlID09PSBJbnRlcmFjdGlvblR5cGVzLkFwcGxpY2F0aW9uQ29tbWFuZEF1dG9jb21wbGV0ZSkgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3QgZGVmZXIgYW4gYXV0b2NvbXBsZXRlIGludGVyYWN0aW9uJylcbiAgICBpZiAodGhpcy5hY2tub3dsZWRnZWQpIHRocm93IG5ldyBFcnJvcignQ2Fubm90IGRlZmVyIGFuIGFscmVhZHkgcmVzcG9uZGVkIGludGVyYWN0aW9uJylcblxuICAgIC8vIERldGVybWluZSB0aGUgdHlwZSBvZiBkZWZlciByZXNwb25zZVxuICAgIGNvbnN0IHR5cGUgPVxuICAgICAgdGhpcy50eXBlID09PSBJbnRlcmFjdGlvblR5cGVzLk1lc3NhZ2VDb21wb25lbnRcbiAgICAgICAgPyBJbnRlcmFjdGlvblJlc3BvbnNlVHlwZXMuRGVmZXJyZWRVcGRhdGVNZXNzYWdlXG4gICAgICAgIDogSW50ZXJhY3Rpb25SZXNwb25zZVR5cGVzLkRlZmVycmVkQ2hhbm5lbE1lc3NhZ2VXaXRoU291cmNlXG5cbiAgICAvLyBJZiB1c2VyIHdhbnRzIHRvIHNlbmQgYSBwcml2YXRlIG1lc3NhZ2VcbiAgICBjb25zdCBkYXRhOiBJbnRlcmFjdGlvbkNhbGxiYWNrRGF0YSA9IHt9XG4gICAgaWYgKGlzUHJpdmF0ZSkgZGF0YS5mbGFncyA9IDY0XG5cbiAgICB0aGlzLmFja25vd2xlZGdlZCA9IHRydWVcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5ib3Q/LnJlc3Quc2VuZEludGVyYWN0aW9uUmVzcG9uc2UodGhpcy5pZCEsIHRoaXMudG9rZW4hLCB7IHR5cGUsIGRhdGEgfSlcbiAgfSxcblxuICBhc3luYyBkZWxldGUobWVzc2FnZUlkPzogQmlnU3RyaW5nKSB7XG4gICAgaWYgKHRoaXMudHlwZSA9PT0gSW50ZXJhY3Rpb25UeXBlcy5BcHBsaWNhdGlvbkNvbW1hbmRBdXRvY29tcGxldGUpIHRocm93IG5ldyBFcnJvcignQ2Fubm90IGRlbGV0ZSBhbiBhdXRvY29tcGxldGUgaW50ZXJhY3Rpb24nKVxuXG4gICAgaWYgKG1lc3NhZ2VJZCkgcmV0dXJuIGF3YWl0IHRoaXMuYm90Py5yZXN0LmRlbGV0ZUZvbGxvd3VwTWVzc2FnZSh0aGlzLnRva2VuISwgbWVzc2FnZUlkKVxuICAgIGVsc2UgcmV0dXJuIGF3YWl0IHRoaXMuYm90Py5yZXN0LmRlbGV0ZU9yaWdpbmFsSW50ZXJhY3Rpb25SZXNwb25zZSh0aGlzLnRva2VuISlcbiAgfSxcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybUludGVyYWN0aW9uKGJvdDogQm90LCBwYXlsb2FkOiBEaXNjb3JkSW50ZXJhY3Rpb24pOiBJbnRlcmFjdGlvbiB7XG4gIGNvbnN0IGd1aWxkSWQgPSBwYXlsb2FkLmd1aWxkX2lkID8gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5ndWlsZF9pZCkgOiB1bmRlZmluZWRcbiAgY29uc3QgdXNlciA9IGJvdC50cmFuc2Zvcm1lcnMudXNlcihib3QsIHBheWxvYWQubWVtYmVyPy51c2VyID8/IHBheWxvYWQudXNlciEpXG5cbiAgY29uc3QgaW50ZXJhY3Rpb246IEludGVyYWN0aW9uID0gT2JqZWN0LmNyZWF0ZShiYXNlSW50ZXJhY3Rpb24pXG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5pbnRlcmFjdGlvblxuICBpbnRlcmFjdGlvbi5ib3QgPSBib3RcbiAgaW50ZXJhY3Rpb24uYWNrbm93bGVkZ2VkID0gZmFsc2VcblxuICBpZiAocGF5bG9hZC5pZCAmJiBwcm9wcy5pZCkgaW50ZXJhY3Rpb24uaWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmlkKVxuICBpZiAocGF5bG9hZC5hcHBsaWNhdGlvbl9pZCAmJiBwcm9wcy5hcHBsaWNhdGlvbklkKSBpbnRlcmFjdGlvbi5hcHBsaWNhdGlvbklkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5hcHBsaWNhdGlvbl9pZClcbiAgaWYgKHBheWxvYWQudHlwZSAmJiBwcm9wcy50eXBlKSBpbnRlcmFjdGlvbi50eXBlID0gcGF5bG9hZC50eXBlXG4gIGlmIChwYXlsb2FkLnRva2VuICYmIHByb3BzLnRva2VuKSBpbnRlcmFjdGlvbi50b2tlbiA9IHBheWxvYWQudG9rZW5cbiAgaWYgKHBheWxvYWQudmVyc2lvbiAmJiBwcm9wcy52ZXJzaW9uKSBpbnRlcmFjdGlvbi52ZXJzaW9uID0gcGF5bG9hZC52ZXJzaW9uXG4gIGlmIChwYXlsb2FkLmxvY2FsZSAmJiBwcm9wcy5sb2NhbGUpIGludGVyYWN0aW9uLmxvY2FsZSA9IHBheWxvYWQubG9jYWxlXG4gIGlmIChwYXlsb2FkLmd1aWxkX2xvY2FsZSAmJiBwcm9wcy5ndWlsZExvY2FsZSkgaW50ZXJhY3Rpb24uZ3VpbGRMb2NhbGUgPSBwYXlsb2FkLmd1aWxkX2xvY2FsZVxuICBpZiAoZ3VpbGRJZCAmJiBwcm9wcy5ndWlsZElkKSBpbnRlcmFjdGlvbi5ndWlsZElkID0gZ3VpbGRJZFxuICBpZiAocHJvcHMudXNlcikgaW50ZXJhY3Rpb24udXNlciA9IHVzZXJcbiAgaWYgKHBheWxvYWQuYXBwX3Blcm1pc3Npb25zICYmIHByb3BzLmFwcFBlcm1pc3Npb25zKSBpbnRlcmFjdGlvbi5hcHBQZXJtaXNzaW9ucyA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuYXBwX3Blcm1pc3Npb25zKVxuICBpZiAocGF5bG9hZC5tZXNzYWdlICYmIHByb3BzLm1lc3NhZ2UpIGludGVyYWN0aW9uLm1lc3NhZ2UgPSBib3QudHJhbnNmb3JtZXJzLm1lc3NhZ2UoYm90LCBwYXlsb2FkLm1lc3NhZ2UpXG4gIGlmIChwYXlsb2FkLmNoYW5uZWxfaWQgJiYgcHJvcHMuY2hhbm5lbElkKSBpbnRlcmFjdGlvbi5jaGFubmVsSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmNoYW5uZWxfaWQpXG4gIGlmIChwYXlsb2FkLm1lbWJlciAmJiBndWlsZElkICYmIHByb3BzLm1lbWJlcikgaW50ZXJhY3Rpb24ubWVtYmVyID0gYm90LnRyYW5zZm9ybWVycy5tZW1iZXIoYm90LCBwYXlsb2FkLm1lbWJlciwgZ3VpbGRJZCwgdXNlci5pZClcbiAgaWYgKHBheWxvYWQuZGF0YSAmJiBwcm9wcy5kYXRhKSB7XG4gICAgaW50ZXJhY3Rpb24uZGF0YSA9IHtcbiAgICAgIHR5cGU6IHBheWxvYWQuZGF0YS50eXBlLFxuICAgICAgY29tcG9uZW50VHlwZTogcGF5bG9hZC5kYXRhLmNvbXBvbmVudF90eXBlLFxuICAgICAgY3VzdG9tSWQ6IHBheWxvYWQuZGF0YS5jdXN0b21faWQsXG4gICAgICBjb21wb25lbnRzOiBwYXlsb2FkLmRhdGEuY29tcG9uZW50cz8ubWFwKChjb21wb25lbnQpID0+IGJvdC50cmFuc2Zvcm1lcnMuY29tcG9uZW50KGJvdCwgY29tcG9uZW50KSksXG4gICAgICB2YWx1ZXM6IHBheWxvYWQuZGF0YS52YWx1ZXMsXG4gICAgICBpZDogcGF5bG9hZC5kYXRhLmlkID8gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5kYXRhLmlkKSA6IHVuZGVmaW5lZCxcbiAgICAgIG5hbWU6IHBheWxvYWQuZGF0YS5uYW1lLFxuICAgICAgcmVzb2x2ZWQ6IHBheWxvYWQuZGF0YS5yZXNvbHZlZCA/IHRyYW5zZm9ybUludGVyYWN0aW9uRGF0YVJlc29sdmVkKGJvdCwgcGF5bG9hZC5kYXRhLnJlc29sdmVkLCBndWlsZElkKSA6IHVuZGVmaW5lZCxcbiAgICAgIG9wdGlvbnM6IHBheWxvYWQuZGF0YS5vcHRpb25zPy5tYXAoKG9wdCkgPT4gYm90LnRyYW5zZm9ybWVycy5pbnRlcmFjdGlvbkRhdGFPcHRpb25zKGJvdCwgb3B0KSksXG4gICAgICB0YXJnZXRJZDogcGF5bG9hZC5kYXRhLnRhcmdldF9pZCA/IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuZGF0YS50YXJnZXRfaWQpIDogdW5kZWZpbmVkLFxuICAgICAgLy8gZ3VpbGRJZDogcGF5bG9hZC5kYXRhLmd1aWxkX2lkID8gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5kYXRhLmd1aWxkX2lkKSA6IHVuZGVmaW5lZCxcbiAgICB9XG4gIH1cblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy5pbnRlcmFjdGlvbihib3QsIHBheWxvYWQsIGludGVyYWN0aW9uKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtSW50ZXJhY3Rpb25EYXRhT3B0aW9uKGJvdDogQm90LCBvcHRpb246IERpc2NvcmRJbnRlcmFjdGlvbkRhdGFPcHRpb24pOiBJbnRlcmFjdGlvbkRhdGFPcHRpb24ge1xuICBjb25zdCBvcHQgPSB7XG4gICAgbmFtZTogb3B0aW9uLm5hbWUsXG4gICAgdHlwZTogb3B0aW9uLnR5cGUsXG4gICAgdmFsdWU6IG9wdGlvbi52YWx1ZSxcbiAgICBvcHRpb25zOiBvcHRpb24ub3B0aW9ucyxcbiAgICBmb2N1c2VkOiBvcHRpb24uZm9jdXNlZCxcbiAgfSBhcyBJbnRlcmFjdGlvbkRhdGFPcHRpb25cblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy5pbnRlcmFjdGlvbkRhdGFPcHRpb25zKGJvdCwgb3B0aW9uLCBvcHQpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1JbnRlcmFjdGlvbkRhdGFSZXNvbHZlZChib3Q6IEJvdCwgcmVzb2x2ZWQ6IERpc2NvcmRJbnRlcmFjdGlvbkRhdGFSZXNvbHZlZCwgZ3VpbGRJZD86IGJpZ2ludCk6IEludGVyYWN0aW9uRGF0YVJlc29sdmVkIHtcbiAgY29uc3QgdHJhbnNmb3JtZWQ6IEludGVyYWN0aW9uRGF0YVJlc29sdmVkID0ge31cblxuICBpZiAocmVzb2x2ZWQubWVzc2FnZXMpIHtcbiAgICB0cmFuc2Zvcm1lZC5tZXNzYWdlcyA9IG5ldyBDb2xsZWN0aW9uKFxuICAgICAgT2JqZWN0LmVudHJpZXMocmVzb2x2ZWQubWVzc2FnZXMpLm1hcCgoW2lkLCB2YWx1ZV0pID0+IHtcbiAgICAgICAgY29uc3QgbWVzc2FnZTogTWVzc2FnZSA9IGJvdC50cmFuc2Zvcm1lcnMubWVzc2FnZShib3QsIHZhbHVlKVxuICAgICAgICByZXR1cm4gW21lc3NhZ2UuaWQsIG1lc3NhZ2VdXG4gICAgICB9KSxcbiAgICApXG4gIH1cblxuICBpZiAocmVzb2x2ZWQudXNlcnMpIHtcbiAgICB0cmFuc2Zvcm1lZC51c2VycyA9IG5ldyBDb2xsZWN0aW9uKFxuICAgICAgT2JqZWN0LmVudHJpZXMocmVzb2x2ZWQudXNlcnMpLm1hcCgoW2lkLCB2YWx1ZV0pID0+IHtcbiAgICAgICAgY29uc3QgdXNlciA9IGJvdC50cmFuc2Zvcm1lcnMudXNlcihib3QsIHZhbHVlKVxuICAgICAgICByZXR1cm4gW3VzZXIuaWQsIHVzZXJdXG4gICAgICB9KSxcbiAgICApXG4gIH1cblxuICBpZiAoZ3VpbGRJZCAmJiByZXNvbHZlZC5tZW1iZXJzKSB7XG4gICAgdHJhbnNmb3JtZWQubWVtYmVycyA9IG5ldyBDb2xsZWN0aW9uKFxuICAgICAgT2JqZWN0LmVudHJpZXMocmVzb2x2ZWQubWVtYmVycykubWFwKChbaWQsIHZhbHVlXSkgPT4ge1xuICAgICAgICBjb25zdCBtZW1iZXI6IE1lbWJlciA9IGJvdC50cmFuc2Zvcm1lcnMubWVtYmVyKGJvdCwgdmFsdWUsIGd1aWxkSWQsIGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKGlkKSlcbiAgICAgICAgcmV0dXJuIFttZW1iZXIuaWQsIG1lbWJlcl1cbiAgICAgIH0pLFxuICAgIClcbiAgfVxuXG4gIGlmIChndWlsZElkICYmIHJlc29sdmVkLnJvbGVzKSB7XG4gICAgdHJhbnNmb3JtZWQucm9sZXMgPSBuZXcgQ29sbGVjdGlvbihcbiAgICAgIE9iamVjdC5lbnRyaWVzKHJlc29sdmVkLnJvbGVzKS5tYXAoKFtpZCwgdmFsdWVdKSA9PiB7XG4gICAgICAgIGNvbnN0IHJvbGUgPSBib3QudHJhbnNmb3JtZXJzLnJvbGUoYm90LCB7IHJvbGU6IHZhbHVlLCBndWlsZElkIH0pXG4gICAgICAgIHJldHVybiBbcm9sZS5pZCwgcm9sZV1cbiAgICAgIH0pLFxuICAgIClcbiAgfVxuXG4gIGlmIChyZXNvbHZlZC5jaGFubmVscykge1xuICAgIHRyYW5zZm9ybWVkLmNoYW5uZWxzID0gbmV3IENvbGxlY3Rpb24oXG4gICAgICBPYmplY3QuZW50cmllcyhyZXNvbHZlZC5jaGFubmVscykubWFwKChba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgICAgY29uc3QgaWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShrZXkpXG4gICAgICAgIGNvbnN0IGNoYW5uZWwgPSB2YWx1ZSBhcyB7XG4gICAgICAgICAgaWQ6IHN0cmluZ1xuICAgICAgICAgIG5hbWU6IHN0cmluZ1xuICAgICAgICAgIHR5cGU6IENoYW5uZWxUeXBlc1xuICAgICAgICAgIHBlcm1pc3Npb25zOiBzdHJpbmdcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgIGlkLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGlkLFxuICAgICAgICAgICAgbmFtZTogY2hhbm5lbC5uYW1lLFxuICAgICAgICAgICAgdHlwZTogY2hhbm5lbC50eXBlLFxuICAgICAgICAgICAgcGVybWlzc2lvbnM6IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKGNoYW5uZWwucGVybWlzc2lvbnMpLFxuICAgICAgICAgIH0sXG4gICAgICAgIF1cbiAgICAgIH0pLFxuICAgIClcbiAgfVxuXG4gIGlmIChyZXNvbHZlZC5hdHRhY2htZW50cykge1xuICAgIHRyYW5zZm9ybWVkLmF0dGFjaG1lbnRzID0gbmV3IENvbGxlY3Rpb24oXG4gICAgICBPYmplY3QuZW50cmllcyhyZXNvbHZlZC5hdHRhY2htZW50cykubWFwKChba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgICAgY29uc3QgaWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShrZXkpXG4gICAgICAgIHJldHVybiBbaWQsIGJvdC50cmFuc2Zvcm1lcnMuYXR0YWNobWVudChib3QsIHZhbHVlKV1cbiAgICAgIH0pLFxuICAgIClcbiAgfVxuXG4gIHJldHVybiB0cmFuc2Zvcm1lZFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEludGVyYWN0aW9uRGF0YVJlc29sdmVkIHtcbiAgbWVzc2FnZXM/OiBDb2xsZWN0aW9uPGJpZ2ludCwgTWVzc2FnZT5cbiAgdXNlcnM/OiBDb2xsZWN0aW9uPGJpZ2ludCwgVXNlcj5cbiAgbWVtYmVycz86IENvbGxlY3Rpb248YmlnaW50LCBNZW1iZXI+XG4gIHJvbGVzPzogQ29sbGVjdGlvbjxiaWdpbnQsIFJvbGU+XG4gIGNoYW5uZWxzPzogQ29sbGVjdGlvbjxiaWdpbnQsIHsgaWQ6IGJpZ2ludDsgbmFtZTogc3RyaW5nOyB0eXBlOiBDaGFubmVsVHlwZXM7IHBlcm1pc3Npb25zOiBiaWdpbnQgfT5cbiAgYXR0YWNobWVudHM/OiBDb2xsZWN0aW9uPGJpZ2ludCwgQXR0YWNobWVudD5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbnRlcmFjdGlvbkRhdGFPcHRpb24ge1xuICBuYW1lOiBzdHJpbmdcbiAgdHlwZTogQXBwbGljYXRpb25Db21tYW5kT3B0aW9uVHlwZXNcbiAgdmFsdWU/OiBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuXG4gIG9wdGlvbnM/OiBJbnRlcmFjdGlvbkRhdGFPcHRpb25bXVxuICBmb2N1c2VkPzogYm9vbGVhblxufVxuIl0sIm5hbWVzIjpbIkludGVyYWN0aW9uUmVzcG9uc2VUeXBlcyIsIkludGVyYWN0aW9uVHlwZXMiLCJDb2xsZWN0aW9uIiwiYmFzZUludGVyYWN0aW9uIiwicmVzcG9uZCIsInJlc3BvbnNlIiwib3B0aW9ucyIsInR5cGUiLCJDaGFubmVsTWVzc2FnZVdpdGhTb3VyY2UiLCJjb250ZW50IiwidGl0bGUiLCJNb2RhbCIsIkFwcGxpY2F0aW9uQ29tbWFuZEF1dG9jb21wbGV0ZSIsIkFwcGxpY2F0aW9uQ29tbWFuZEF1dG9jb21wbGV0ZVJlc3VsdCIsImlzUHJpdmF0ZSIsImZsYWdzIiwiYWNrbm93bGVkZ2VkIiwiYm90IiwicmVzdCIsInNlbmRGb2xsb3d1cE1lc3NhZ2UiLCJ0b2tlbiIsIk1vZGFsU3VibWl0IiwiRXJyb3IiLCJzZW5kSW50ZXJhY3Rpb25SZXNwb25zZSIsImlkIiwiZGF0YSIsImVkaXQiLCJlZGl0T3JpZ2luYWxJbnRlcmFjdGlvblJlc3BvbnNlIiwiZGVmZXIiLCJNZXNzYWdlQ29tcG9uZW50IiwiRGVmZXJyZWRVcGRhdGVNZXNzYWdlIiwiRGVmZXJyZWRDaGFubmVsTWVzc2FnZVdpdGhTb3VyY2UiLCJkZWxldGUiLCJtZXNzYWdlSWQiLCJkZWxldGVGb2xsb3d1cE1lc3NhZ2UiLCJkZWxldGVPcmlnaW5hbEludGVyYWN0aW9uUmVzcG9uc2UiLCJ0cmFuc2Zvcm1JbnRlcmFjdGlvbiIsInBheWxvYWQiLCJndWlsZElkIiwiZ3VpbGRfaWQiLCJ0cmFuc2Zvcm1lcnMiLCJzbm93Zmxha2UiLCJ1bmRlZmluZWQiLCJ1c2VyIiwibWVtYmVyIiwiaW50ZXJhY3Rpb24iLCJPYmplY3QiLCJjcmVhdGUiLCJwcm9wcyIsImRlc2lyZWRQcm9wZXJ0aWVzIiwiYXBwbGljYXRpb25faWQiLCJhcHBsaWNhdGlvbklkIiwidmVyc2lvbiIsImxvY2FsZSIsImd1aWxkX2xvY2FsZSIsImd1aWxkTG9jYWxlIiwiYXBwX3Blcm1pc3Npb25zIiwiYXBwUGVybWlzc2lvbnMiLCJtZXNzYWdlIiwiY2hhbm5lbF9pZCIsImNoYW5uZWxJZCIsImNvbXBvbmVudFR5cGUiLCJjb21wb25lbnRfdHlwZSIsImN1c3RvbUlkIiwiY3VzdG9tX2lkIiwiY29tcG9uZW50cyIsIm1hcCIsImNvbXBvbmVudCIsInZhbHVlcyIsIm5hbWUiLCJyZXNvbHZlZCIsInRyYW5zZm9ybUludGVyYWN0aW9uRGF0YVJlc29sdmVkIiwib3B0IiwiaW50ZXJhY3Rpb25EYXRhT3B0aW9ucyIsInRhcmdldElkIiwidGFyZ2V0X2lkIiwiY3VzdG9taXplcnMiLCJ0cmFuc2Zvcm1JbnRlcmFjdGlvbkRhdGFPcHRpb24iLCJvcHRpb24iLCJ2YWx1ZSIsImZvY3VzZWQiLCJ0cmFuc2Zvcm1lZCIsIm1lc3NhZ2VzIiwiZW50cmllcyIsInVzZXJzIiwibWVtYmVycyIsInJvbGVzIiwicm9sZSIsImNoYW5uZWxzIiwia2V5IiwiY2hhbm5lbCIsInBlcm1pc3Npb25zIiwiYXR0YWNobWVudHMiLCJhdHRhY2htZW50Il0sIm1hcHBpbmdzIjoiQUFBQSxTQUNFQSx3QkFBd0IsRUFDeEJDLGdCQUFnQixRQVVYLG9CQUFtQjtBQUMxQixTQUFTQyxVQUFVLFFBQVEsb0JBQW1CO0FBbUU5QyxNQUFNQyxrQkFBMEQ7SUFDOUQsTUFBTUMsU0FBUUMsUUFBUSxFQUFFQyxPQUFPLEVBQUU7UUFDL0IsSUFBSUMsT0FBT1AseUJBQXlCUSx3QkFBd0I7UUFFNUQsNERBQTREO1FBQzVELElBQUksT0FBT0gsYUFBYSxVQUFVQSxXQUFXO1lBQUVJLFNBQVNKO1FBQVM7YUFFNUQsSUFBSUEsU0FBU0ssS0FBSyxFQUFFSCxPQUFPUCx5QkFBeUJXLEtBQUs7YUFDekQsSUFBSSxJQUFJLENBQUNKLElBQUksS0FBS04saUJBQWlCVyw4QkFBOEIsRUFBRUwsT0FBT1AseUJBQXlCYSxvQ0FBb0M7UUFFNUksMENBQTBDO1FBQzFDLElBQUlOLFNBQVNQLHlCQUF5QlEsd0JBQXdCLElBQUlGLFNBQVNRLFdBQVdULFNBQVNVLEtBQUssR0FBRztRQUV2Ryx5RkFBeUY7UUFDekYsSUFBSSxJQUFJLENBQUNDLFlBQVksRUFBRSxPQUFPLE1BQU0sSUFBSSxDQUFDQyxHQUFHLEVBQUVDLEtBQUtDLG1CQUFtQixDQUFDLElBQUksQ0FBQ0MsS0FBSyxFQUFHZjtRQUVwRiwyQkFBMkI7UUFDM0IsSUFBSSxJQUFJLENBQUNFLElBQUksS0FBS04saUJBQWlCb0IsV0FBVyxJQUFJZCxTQUFTUCx5QkFBeUJXLEtBQUssRUFDdkYsTUFBTSxJQUFJVyxNQUFNLDZEQUE0RDtRQUU5RSx1RUFBdUU7UUFDdkUsSUFBSSxJQUFJLENBQUNmLElBQUksS0FBS04saUJBQWlCVyw4QkFBOEIsSUFBSUwsU0FBU1AseUJBQXlCYSxvQ0FBb0MsRUFDekksTUFBTSxJQUFJUyxNQUFNLDBFQUF5RTtRQUUzRiw2RkFBNkY7UUFDN0YsSUFBSSxDQUFDTixZQUFZLEdBQUcsSUFBSTtRQUN4QixPQUFPLE1BQU0sSUFBSSxDQUFDQyxHQUFHLEVBQUVDLEtBQUtLLHVCQUF1QixDQUFDLElBQUksQ0FBQ0MsRUFBRSxFQUFHLElBQUksQ0FBQ0osS0FBSyxFQUFHO1lBQUViO1lBQU1rQixNQUFNcEI7UUFBUztJQUNwRztJQUVBLE1BQU1xQixNQUFLckIsUUFBUSxFQUFFO1FBQ25CLElBQUksSUFBSSxDQUFDRSxJQUFJLEtBQUtOLGlCQUFpQlcsOEJBQThCLEVBQUUsTUFBTSxJQUFJVSxNQUFNLDJDQUEwQztRQUU3SCw0REFBNEQ7UUFDNUQsSUFBSSxPQUFPakIsYUFBYSxVQUFVQSxXQUFXO1lBQUVJLFNBQVNKO1FBQVM7UUFFakUsT0FBTyxNQUFNLElBQUksQ0FBQ1ksR0FBRyxDQUFFQyxJQUFJLENBQUNTLCtCQUErQixDQUFDLElBQUksQ0FBQ1AsS0FBSyxFQUFHZjtJQUMzRTtJQUVBLE1BQU11QixPQUFNZCxTQUFTLEVBQUU7UUFDckIsSUFBSSxJQUFJLENBQUNQLElBQUksS0FBS04saUJBQWlCVyw4QkFBOEIsRUFBRSxNQUFNLElBQUlVLE1BQU0sNENBQTJDO1FBQzlILElBQUksSUFBSSxDQUFDTixZQUFZLEVBQUUsTUFBTSxJQUFJTSxNQUFNLGlEQUFnRDtRQUV2Rix1Q0FBdUM7UUFDdkMsTUFBTWYsT0FDSixJQUFJLENBQUNBLElBQUksS0FBS04saUJBQWlCNEIsZ0JBQWdCLEdBQzNDN0IseUJBQXlCOEIscUJBQXFCLEdBQzlDOUIseUJBQXlCK0IsZ0NBQWdDO1FBRS9ELDBDQUEwQztRQUMxQyxNQUFNTixPQUFnQyxDQUFDO1FBQ3ZDLElBQUlYLFdBQVdXLEtBQUtWLEtBQUssR0FBRztRQUU1QixJQUFJLENBQUNDLFlBQVksR0FBRyxJQUFJO1FBQ3hCLE9BQU8sTUFBTSxJQUFJLENBQUNDLEdBQUcsRUFBRUMsS0FBS0ssdUJBQXVCLENBQUMsSUFBSSxDQUFDQyxFQUFFLEVBQUcsSUFBSSxDQUFDSixLQUFLLEVBQUc7WUFBRWI7WUFBTWtCO1FBQUs7SUFDMUY7SUFFQSxNQUFNTyxRQUFPQyxTQUFxQixFQUFFO1FBQ2xDLElBQUksSUFBSSxDQUFDMUIsSUFBSSxLQUFLTixpQkFBaUJXLDhCQUE4QixFQUFFLE1BQU0sSUFBSVUsTUFBTSw2Q0FBNEM7UUFFL0gsSUFBSVcsV0FBVyxPQUFPLE1BQU0sSUFBSSxDQUFDaEIsR0FBRyxFQUFFQyxLQUFLZ0IscUJBQXFCLENBQUMsSUFBSSxDQUFDZCxLQUFLLEVBQUdhO2FBQ3pFLE9BQU8sTUFBTSxJQUFJLENBQUNoQixHQUFHLEVBQUVDLEtBQUtpQixpQ0FBaUMsQ0FBQyxJQUFJLENBQUNmLEtBQUs7SUFDL0U7QUFDRjtBQUVBLE9BQU8sU0FBU2dCLHFCQUFxQm5CLEdBQVEsRUFBRW9CLE9BQTJCLEVBQWU7SUFDdkYsTUFBTUMsVUFBVUQsUUFBUUUsUUFBUSxHQUFHdEIsSUFBSXVCLFlBQVksQ0FBQ0MsU0FBUyxDQUFDSixRQUFRRSxRQUFRLElBQUlHLFNBQVM7SUFDM0YsTUFBTUMsT0FBTzFCLElBQUl1QixZQUFZLENBQUNHLElBQUksQ0FBQzFCLEtBQUtvQixRQUFRTyxNQUFNLEVBQUVELFFBQVFOLFFBQVFNLElBQUk7SUFFNUUsTUFBTUUsY0FBMkJDLE9BQU9DLE1BQU0sQ0FBQzVDO0lBQy9DLE1BQU02QyxRQUFRL0IsSUFBSXVCLFlBQVksQ0FBQ1MsaUJBQWlCLENBQUNKLFdBQVc7SUFDNURBLFlBQVk1QixHQUFHLEdBQUdBO0lBQ2xCNEIsWUFBWTdCLFlBQVksR0FBRyxLQUFLO0lBRWhDLElBQUlxQixRQUFRYixFQUFFLElBQUl3QixNQUFNeEIsRUFBRSxFQUFFcUIsWUFBWXJCLEVBQUUsR0FBR1AsSUFBSXVCLFlBQVksQ0FBQ0MsU0FBUyxDQUFDSixRQUFRYixFQUFFO0lBQ2xGLElBQUlhLFFBQVFhLGNBQWMsSUFBSUYsTUFBTUcsYUFBYSxFQUFFTixZQUFZTSxhQUFhLEdBQUdsQyxJQUFJdUIsWUFBWSxDQUFDQyxTQUFTLENBQUNKLFFBQVFhLGNBQWM7SUFDaEksSUFBSWIsUUFBUTlCLElBQUksSUFBSXlDLE1BQU16QyxJQUFJLEVBQUVzQyxZQUFZdEMsSUFBSSxHQUFHOEIsUUFBUTlCLElBQUk7SUFDL0QsSUFBSThCLFFBQVFqQixLQUFLLElBQUk0QixNQUFNNUIsS0FBSyxFQUFFeUIsWUFBWXpCLEtBQUssR0FBR2lCLFFBQVFqQixLQUFLO0lBQ25FLElBQUlpQixRQUFRZSxPQUFPLElBQUlKLE1BQU1JLE9BQU8sRUFBRVAsWUFBWU8sT0FBTyxHQUFHZixRQUFRZSxPQUFPO0lBQzNFLElBQUlmLFFBQVFnQixNQUFNLElBQUlMLE1BQU1LLE1BQU0sRUFBRVIsWUFBWVEsTUFBTSxHQUFHaEIsUUFBUWdCLE1BQU07SUFDdkUsSUFBSWhCLFFBQVFpQixZQUFZLElBQUlOLE1BQU1PLFdBQVcsRUFBRVYsWUFBWVUsV0FBVyxHQUFHbEIsUUFBUWlCLFlBQVk7SUFDN0YsSUFBSWhCLFdBQVdVLE1BQU1WLE9BQU8sRUFBRU8sWUFBWVAsT0FBTyxHQUFHQTtJQUNwRCxJQUFJVSxNQUFNTCxJQUFJLEVBQUVFLFlBQVlGLElBQUksR0FBR0E7SUFDbkMsSUFBSU4sUUFBUW1CLGVBQWUsSUFBSVIsTUFBTVMsY0FBYyxFQUFFWixZQUFZWSxjQUFjLEdBQUd4QyxJQUFJdUIsWUFBWSxDQUFDQyxTQUFTLENBQUNKLFFBQVFtQixlQUFlO0lBQ3BJLElBQUluQixRQUFRcUIsT0FBTyxJQUFJVixNQUFNVSxPQUFPLEVBQUViLFlBQVlhLE9BQU8sR0FBR3pDLElBQUl1QixZQUFZLENBQUNrQixPQUFPLENBQUN6QyxLQUFLb0IsUUFBUXFCLE9BQU87SUFDekcsSUFBSXJCLFFBQVFzQixVQUFVLElBQUlYLE1BQU1ZLFNBQVMsRUFBRWYsWUFBWWUsU0FBUyxHQUFHM0MsSUFBSXVCLFlBQVksQ0FBQ0MsU0FBUyxDQUFDSixRQUFRc0IsVUFBVTtJQUNoSCxJQUFJdEIsUUFBUU8sTUFBTSxJQUFJTixXQUFXVSxNQUFNSixNQUFNLEVBQUVDLFlBQVlELE1BQU0sR0FBRzNCLElBQUl1QixZQUFZLENBQUNJLE1BQU0sQ0FBQzNCLEtBQUtvQixRQUFRTyxNQUFNLEVBQUVOLFNBQVNLLEtBQUtuQixFQUFFO0lBQ2pJLElBQUlhLFFBQVFaLElBQUksSUFBSXVCLE1BQU12QixJQUFJLEVBQUU7UUFDOUJvQixZQUFZcEIsSUFBSSxHQUFHO1lBQ2pCbEIsTUFBTThCLFFBQVFaLElBQUksQ0FBQ2xCLElBQUk7WUFDdkJzRCxlQUFleEIsUUFBUVosSUFBSSxDQUFDcUMsY0FBYztZQUMxQ0MsVUFBVTFCLFFBQVFaLElBQUksQ0FBQ3VDLFNBQVM7WUFDaENDLFlBQVk1QixRQUFRWixJQUFJLENBQUN3QyxVQUFVLEVBQUVDLElBQUksQ0FBQ0MsWUFBY2xELElBQUl1QixZQUFZLENBQUMyQixTQUFTLENBQUNsRCxLQUFLa0Q7WUFDeEZDLFFBQVEvQixRQUFRWixJQUFJLENBQUMyQyxNQUFNO1lBQzNCNUMsSUFBSWEsUUFBUVosSUFBSSxDQUFDRCxFQUFFLEdBQUdQLElBQUl1QixZQUFZLENBQUNDLFNBQVMsQ0FBQ0osUUFBUVosSUFBSSxDQUFDRCxFQUFFLElBQUlrQixTQUFTO1lBQzdFMkIsTUFBTWhDLFFBQVFaLElBQUksQ0FBQzRDLElBQUk7WUFDdkJDLFVBQVVqQyxRQUFRWixJQUFJLENBQUM2QyxRQUFRLEdBQUdDLGlDQUFpQ3RELEtBQUtvQixRQUFRWixJQUFJLENBQUM2QyxRQUFRLEVBQUVoQyxXQUFXSSxTQUFTO1lBQ25IcEMsU0FBUytCLFFBQVFaLElBQUksQ0FBQ25CLE9BQU8sRUFBRTRELElBQUksQ0FBQ00sTUFBUXZELElBQUl1QixZQUFZLENBQUNpQyxzQkFBc0IsQ0FBQ3hELEtBQUt1RDtZQUN6RkUsVUFBVXJDLFFBQVFaLElBQUksQ0FBQ2tELFNBQVMsR0FBRzFELElBQUl1QixZQUFZLENBQUNDLFNBQVMsQ0FBQ0osUUFBUVosSUFBSSxDQUFDa0QsU0FBUyxJQUFJakMsU0FBUztRQUVuRztJQUNGLENBQUM7SUFFRCxPQUFPekIsSUFBSXVCLFlBQVksQ0FBQ29DLFdBQVcsQ0FBQy9CLFdBQVcsQ0FBQzVCLEtBQUtvQixTQUFTUTtBQUNoRSxDQUFDO0FBRUQsT0FBTyxTQUFTZ0MsK0JBQStCNUQsR0FBUSxFQUFFNkQsTUFBb0MsRUFBeUI7SUFDcEgsTUFBTU4sTUFBTTtRQUNWSCxNQUFNUyxPQUFPVCxJQUFJO1FBQ2pCOUQsTUFBTXVFLE9BQU92RSxJQUFJO1FBQ2pCd0UsT0FBT0QsT0FBT0MsS0FBSztRQUNuQnpFLFNBQVN3RSxPQUFPeEUsT0FBTztRQUN2QjBFLFNBQVNGLE9BQU9FLE9BQU87SUFDekI7SUFFQSxPQUFPL0QsSUFBSXVCLFlBQVksQ0FBQ29DLFdBQVcsQ0FBQ0gsc0JBQXNCLENBQUN4RCxLQUFLNkQsUUFBUU47QUFDMUUsQ0FBQztBQUVELE9BQU8sU0FBU0QsaUNBQWlDdEQsR0FBUSxFQUFFcUQsUUFBd0MsRUFBRWhDLE9BQWdCLEVBQTJCO0lBQzlJLE1BQU0yQyxjQUF1QyxDQUFDO0lBRTlDLElBQUlYLFNBQVNZLFFBQVEsRUFBRTtRQUNyQkQsWUFBWUMsUUFBUSxHQUFHLElBQUloRixXQUN6QjRDLE9BQU9xQyxPQUFPLENBQUNiLFNBQVNZLFFBQVEsRUFBRWhCLEdBQUcsQ0FBQyxDQUFDLENBQUMxQyxJQUFJdUQsTUFBTSxHQUFLO1lBQ3JELE1BQU1yQixVQUFtQnpDLElBQUl1QixZQUFZLENBQUNrQixPQUFPLENBQUN6QyxLQUFLOEQ7WUFDdkQsT0FBTztnQkFBQ3JCLFFBQVFsQyxFQUFFO2dCQUFFa0M7YUFBUTtRQUM5QjtJQUVKLENBQUM7SUFFRCxJQUFJWSxTQUFTYyxLQUFLLEVBQUU7UUFDbEJILFlBQVlHLEtBQUssR0FBRyxJQUFJbEYsV0FDdEI0QyxPQUFPcUMsT0FBTyxDQUFDYixTQUFTYyxLQUFLLEVBQUVsQixHQUFHLENBQUMsQ0FBQyxDQUFDMUMsSUFBSXVELE1BQU0sR0FBSztZQUNsRCxNQUFNcEMsT0FBTzFCLElBQUl1QixZQUFZLENBQUNHLElBQUksQ0FBQzFCLEtBQUs4RDtZQUN4QyxPQUFPO2dCQUFDcEMsS0FBS25CLEVBQUU7Z0JBQUVtQjthQUFLO1FBQ3hCO0lBRUosQ0FBQztJQUVELElBQUlMLFdBQVdnQyxTQUFTZSxPQUFPLEVBQUU7UUFDL0JKLFlBQVlJLE9BQU8sR0FBRyxJQUFJbkYsV0FDeEI0QyxPQUFPcUMsT0FBTyxDQUFDYixTQUFTZSxPQUFPLEVBQUVuQixHQUFHLENBQUMsQ0FBQyxDQUFDMUMsSUFBSXVELE1BQU0sR0FBSztZQUNwRCxNQUFNbkMsU0FBaUIzQixJQUFJdUIsWUFBWSxDQUFDSSxNQUFNLENBQUMzQixLQUFLOEQsT0FBT3pDLFNBQVNyQixJQUFJdUIsWUFBWSxDQUFDQyxTQUFTLENBQUNqQjtZQUMvRixPQUFPO2dCQUFDb0IsT0FBT3BCLEVBQUU7Z0JBQUVvQjthQUFPO1FBQzVCO0lBRUosQ0FBQztJQUVELElBQUlOLFdBQVdnQyxTQUFTZ0IsS0FBSyxFQUFFO1FBQzdCTCxZQUFZSyxLQUFLLEdBQUcsSUFBSXBGLFdBQ3RCNEMsT0FBT3FDLE9BQU8sQ0FBQ2IsU0FBU2dCLEtBQUssRUFBRXBCLEdBQUcsQ0FBQyxDQUFDLENBQUMxQyxJQUFJdUQsTUFBTSxHQUFLO1lBQ2xELE1BQU1RLE9BQU90RSxJQUFJdUIsWUFBWSxDQUFDK0MsSUFBSSxDQUFDdEUsS0FBSztnQkFBRXNFLE1BQU1SO2dCQUFPekM7WUFBUTtZQUMvRCxPQUFPO2dCQUFDaUQsS0FBSy9ELEVBQUU7Z0JBQUUrRDthQUFLO1FBQ3hCO0lBRUosQ0FBQztJQUVELElBQUlqQixTQUFTa0IsUUFBUSxFQUFFO1FBQ3JCUCxZQUFZTyxRQUFRLEdBQUcsSUFBSXRGLFdBQ3pCNEMsT0FBT3FDLE9BQU8sQ0FBQ2IsU0FBU2tCLFFBQVEsRUFBRXRCLEdBQUcsQ0FBQyxDQUFDLENBQUN1QixLQUFLVixNQUFNLEdBQUs7WUFDdEQsTUFBTXZELEtBQUtQLElBQUl1QixZQUFZLENBQUNDLFNBQVMsQ0FBQ2dEO1lBQ3RDLE1BQU1DLFVBQVVYO1lBTWhCLE9BQU87Z0JBQ0x2RDtnQkFDQTtvQkFDRUE7b0JBQ0E2QyxNQUFNcUIsUUFBUXJCLElBQUk7b0JBQ2xCOUQsTUFBTW1GLFFBQVFuRixJQUFJO29CQUNsQm9GLGFBQWExRSxJQUFJdUIsWUFBWSxDQUFDQyxTQUFTLENBQUNpRCxRQUFRQyxXQUFXO2dCQUM3RDthQUNEO1FBQ0g7SUFFSixDQUFDO0lBRUQsSUFBSXJCLFNBQVNzQixXQUFXLEVBQUU7UUFDeEJYLFlBQVlXLFdBQVcsR0FBRyxJQUFJMUYsV0FDNUI0QyxPQUFPcUMsT0FBTyxDQUFDYixTQUFTc0IsV0FBVyxFQUFFMUIsR0FBRyxDQUFDLENBQUMsQ0FBQ3VCLEtBQUtWLE1BQU0sR0FBSztZQUN6RCxNQUFNdkQsS0FBS1AsSUFBSXVCLFlBQVksQ0FBQ0MsU0FBUyxDQUFDZ0Q7WUFDdEMsT0FBTztnQkFBQ2pFO2dCQUFJUCxJQUFJdUIsWUFBWSxDQUFDcUQsVUFBVSxDQUFDNUUsS0FBSzhEO2FBQU87UUFDdEQ7SUFFSixDQUFDO0lBRUQsT0FBT0U7QUFDVCxDQUFDIn0=
@@ -0,0 +1,40 @@
1
+ import { isInviteWithMetadata } from '../index.js';
2
+ export function transformInvite(bot, payload) {
3
+ const props = bot.transformers.desiredProperties.invite;
4
+ const invite = {};
5
+ const hasMetadata = isInviteWithMetadata(payload);
6
+ if (props.code && payload.code) invite.code = payload.code;
7
+ if (props.createdAt && payload.created_at) invite.createdAt = Date.parse(payload.created_at);
8
+ if (props.inviter && payload.inviter) invite.inviter = bot.transformers.user(bot, payload.inviter);
9
+ if (props.maxAge && payload.max_age) invite.maxAge = payload.max_age;
10
+ if (props.maxUses && payload.max_uses) invite.maxUses = payload.max_uses;
11
+ if (props.targetType && payload.target_type) invite.targetType = payload.target_type;
12
+ if (props.targetUser && payload.target_user) invite.targetUser = bot.transformers.user(bot, payload.target_user);
13
+ if (props.targetApplication && payload.target_application) invite.targetApplication = bot.transformers.application(bot, payload.target_application);
14
+ if (props.temporary && payload.temporary) invite.temporary = payload.temporary;
15
+ if (props.uses && payload.uses) invite.uses = payload.uses;
16
+ if (hasMetadata) {
17
+ if (props.channelId && payload.channel?.id) invite.channelId = bot.transformers.snowflake(payload.channel.id);
18
+ if (props.guildId && payload.guild?.id) invite.guildId = bot.transformers.snowflake(payload.guild.id);
19
+ if (props.approximateMemberCount && payload.approximate_member_count) invite.approximateMemberCount = payload.approximate_member_count;
20
+ if (props.approximatePresenceCount && payload.approximate_presence_count) invite.approximatePresenceCount = payload.approximate_presence_count;
21
+ if (props.guildScheduledEvent && payload.guild_scheduled_event) {
22
+ invite.guildScheduledEvent = payload.guild_scheduled_event ? bot.transformers.scheduledEvent(bot, payload.guild_scheduled_event) : undefined;
23
+ }
24
+ if (props.stageInstance && invite.guildId && payload.stage_instance) {
25
+ invite.stageInstance = payload.stage_instance ? bot.transformers.inviteStageInstance(bot, {
26
+ ...payload.stage_instance,
27
+ guildId: invite.guildId
28
+ }) : undefined;
29
+ }
30
+ if (props.expiresAt && payload.expires_at) {
31
+ invite.expiresAt = Date.parse(payload.expires_at);
32
+ }
33
+ } else {
34
+ if (props.channelId && payload.channel_id) invite.channelId = bot.transformers.snowflake(payload.channel_id);
35
+ if (props.guildId && payload.guild_id) invite.guildId = bot.transformers.snowflake(payload.guild_id);
36
+ }
37
+ return bot.transformers.customizers.invite(bot, payload, invite);
38
+ }
39
+
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvaW52aXRlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRGlzY29yZEFwcGxpY2F0aW9uLCBEaXNjb3JkSW52aXRlQ3JlYXRlLCBEaXNjb3JkSW52aXRlTWV0YWRhdGEgfSBmcm9tICdAZGlzY29yZGVuby90eXBlcydcbmltcG9ydCB7IGlzSW52aXRlV2l0aE1ldGFkYXRhLCB0eXBlIEFwcGxpY2F0aW9uLCB0eXBlIEJvdCwgdHlwZSBTY2hlZHVsZWRFdmVudCwgdHlwZSBVc2VyIH0gZnJvbSAnLi4vaW5kZXguanMnXG5pbXBvcnQgdHlwZSB7IEludml0ZVN0YWdlSW5zdGFuY2UgfSBmcm9tICcuL3N0YWdlSW52aXRlSW5zdGFuY2UuanMnXG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1JbnZpdGUoYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRJbnZpdGVDcmVhdGUgfCBEaXNjb3JkSW52aXRlTWV0YWRhdGEpOiBJbnZpdGUge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuaW52aXRlXG4gIGNvbnN0IGludml0ZSA9IHt9IGFzIEludml0ZVxuICBjb25zdCBoYXNNZXRhZGF0YSA9IGlzSW52aXRlV2l0aE1ldGFkYXRhKHBheWxvYWQpXG5cbiAgaWYgKHByb3BzLmNvZGUgJiYgcGF5bG9hZC5jb2RlKSBpbnZpdGUuY29kZSA9IHBheWxvYWQuY29kZVxuICBpZiAocHJvcHMuY3JlYXRlZEF0ICYmIHBheWxvYWQuY3JlYXRlZF9hdCkgaW52aXRlLmNyZWF0ZWRBdCA9IERhdGUucGFyc2UocGF5bG9hZC5jcmVhdGVkX2F0KVxuICBpZiAocHJvcHMuaW52aXRlciAmJiBwYXlsb2FkLmludml0ZXIpIGludml0ZS5pbnZpdGVyID0gYm90LnRyYW5zZm9ybWVycy51c2VyKGJvdCwgcGF5bG9hZC5pbnZpdGVyKVxuICBpZiAocHJvcHMubWF4QWdlICYmIHBheWxvYWQubWF4X2FnZSkgaW52aXRlLm1heEFnZSA9IHBheWxvYWQubWF4X2FnZVxuICBpZiAocHJvcHMubWF4VXNlcyAmJiBwYXlsb2FkLm1heF91c2VzKSBpbnZpdGUubWF4VXNlcyA9IHBheWxvYWQubWF4X3VzZXNcbiAgaWYgKHByb3BzLnRhcmdldFR5cGUgJiYgcGF5bG9hZC50YXJnZXRfdHlwZSkgaW52aXRlLnRhcmdldFR5cGUgPSBwYXlsb2FkLnRhcmdldF90eXBlXG4gIGlmIChwcm9wcy50YXJnZXRVc2VyICYmIHBheWxvYWQudGFyZ2V0X3VzZXIpIGludml0ZS50YXJnZXRVc2VyID0gYm90LnRyYW5zZm9ybWVycy51c2VyKGJvdCwgcGF5bG9hZC50YXJnZXRfdXNlcilcbiAgaWYgKHByb3BzLnRhcmdldEFwcGxpY2F0aW9uICYmIHBheWxvYWQudGFyZ2V0X2FwcGxpY2F0aW9uKVxuICAgIGludml0ZS50YXJnZXRBcHBsaWNhdGlvbiA9IGJvdC50cmFuc2Zvcm1lcnMuYXBwbGljYXRpb24oYm90LCBwYXlsb2FkLnRhcmdldF9hcHBsaWNhdGlvbiBhcyBEaXNjb3JkQXBwbGljYXRpb24pXG4gIGlmIChwcm9wcy50ZW1wb3JhcnkgJiYgcGF5bG9hZC50ZW1wb3JhcnkpIGludml0ZS50ZW1wb3JhcnkgPSBwYXlsb2FkLnRlbXBvcmFyeVxuICBpZiAocHJvcHMudXNlcyAmJiBwYXlsb2FkLnVzZXMpIGludml0ZS51c2VzID0gcGF5bG9hZC51c2VzXG5cbiAgaWYgKGhhc01ldGFkYXRhKSB7XG4gICAgaWYgKHByb3BzLmNoYW5uZWxJZCAmJiBwYXlsb2FkLmNoYW5uZWw/LmlkKSBpbnZpdGUuY2hhbm5lbElkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5jaGFubmVsLmlkKVxuICAgIGlmIChwcm9wcy5ndWlsZElkICYmIHBheWxvYWQuZ3VpbGQ/LmlkKSBpbnZpdGUuZ3VpbGRJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuZ3VpbGQuaWQpXG4gICAgaWYgKHByb3BzLmFwcHJveGltYXRlTWVtYmVyQ291bnQgJiYgcGF5bG9hZC5hcHByb3hpbWF0ZV9tZW1iZXJfY291bnQpIGludml0ZS5hcHByb3hpbWF0ZU1lbWJlckNvdW50ID0gcGF5bG9hZC5hcHByb3hpbWF0ZV9tZW1iZXJfY291bnRcbiAgICBpZiAocHJvcHMuYXBwcm94aW1hdGVQcmVzZW5jZUNvdW50ICYmIHBheWxvYWQuYXBwcm94aW1hdGVfcHJlc2VuY2VfY291bnQpIGludml0ZS5hcHByb3hpbWF0ZVByZXNlbmNlQ291bnQgPSBwYXlsb2FkLmFwcHJveGltYXRlX3ByZXNlbmNlX2NvdW50XG4gICAgaWYgKHByb3BzLmd1aWxkU2NoZWR1bGVkRXZlbnQgJiYgcGF5bG9hZC5ndWlsZF9zY2hlZHVsZWRfZXZlbnQpIHtcbiAgICAgIGludml0ZS5ndWlsZFNjaGVkdWxlZEV2ZW50ID0gcGF5bG9hZC5ndWlsZF9zY2hlZHVsZWRfZXZlbnQgPyBib3QudHJhbnNmb3JtZXJzLnNjaGVkdWxlZEV2ZW50KGJvdCwgcGF5bG9hZC5ndWlsZF9zY2hlZHVsZWRfZXZlbnQpIDogdW5kZWZpbmVkXG4gICAgfVxuICAgIGlmIChwcm9wcy5zdGFnZUluc3RhbmNlICYmIGludml0ZS5ndWlsZElkICYmIHBheWxvYWQuc3RhZ2VfaW5zdGFuY2UpIHtcbiAgICAgIGludml0ZS5zdGFnZUluc3RhbmNlID0gcGF5bG9hZC5zdGFnZV9pbnN0YW5jZVxuICAgICAgICA/IGJvdC50cmFuc2Zvcm1lcnMuaW52aXRlU3RhZ2VJbnN0YW5jZShib3QsIHtcbiAgICAgICAgICAgIC4uLnBheWxvYWQuc3RhZ2VfaW5zdGFuY2UsXG4gICAgICAgICAgICBndWlsZElkOiBpbnZpdGUuZ3VpbGRJZCxcbiAgICAgICAgICB9KVxuICAgICAgICA6IHVuZGVmaW5lZFxuICAgIH1cbiAgICBpZiAocHJvcHMuZXhwaXJlc0F0ICYmIHBheWxvYWQuZXhwaXJlc19hdCkge1xuICAgICAgaW52aXRlLmV4cGlyZXNBdCA9IERhdGUucGFyc2UocGF5bG9hZC5leHBpcmVzX2F0KVxuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBpZiAocHJvcHMuY2hhbm5lbElkICYmIHBheWxvYWQuY2hhbm5lbF9pZCkgaW52aXRlLmNoYW5uZWxJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuY2hhbm5lbF9pZClcbiAgICBpZiAocHJvcHMuZ3VpbGRJZCAmJiBwYXlsb2FkLmd1aWxkX2lkKSBpbnZpdGUuZ3VpbGRJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuZ3VpbGRfaWQpXG4gIH1cblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy5pbnZpdGUoYm90LCBwYXlsb2FkLCBpbnZpdGUpXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW52aXRlIHtcbiAgLyoqIFRoZSBjaGFubmVsIHRoZSBpbnZpdGUgaXMgZm9yICovXG4gIGNoYW5uZWxJZDogYmlnaW50XG4gIC8qKiBUaGUgdW5pcXVlIGludml0ZSBjb2RlICovXG4gIGNvZGU6IHN0cmluZ1xuICAvKiogVGhlIHRpbWUgYXQgd2hpY2ggdGhlIGludml0ZSB3YXMgY3JlYXRlZCAqL1xuICBjcmVhdGVkQXQ6IG51bWJlclxuICAvKiogVGhlIGd1aWxkIG9mIHRoZSBpbnZpdGUgKi9cbiAgZ3VpbGRJZD86IGJpZ2ludFxuICAvKiogVGhlIHVzZXIgdGhhdCBjcmVhdGVkIHRoZSBpbnZpdGUgKi9cbiAgaW52aXRlcj86IFVzZXJcbiAgLyoqIEhvdyBsb25nIHRoZSBpbnZpdGUgaXMgdmFsaWQgZm9yIChpbiBzZWNvbmRzKSAqL1xuICBtYXhBZ2U6IG51bWJlclxuICAvKiogVGhlIG1heGltdW0gbnVtYmVyIG9mIHRpbWVzIHRoZSBpbnZpdGUgY2FuIGJlIHVzZWQgKi9cbiAgbWF4VXNlczogbnVtYmVyXG4gIC8qKiBUaGUgdHlwZSBvZiB0YXJnZXQgZm9yIHRoaXMgdm9pY2UgY2hhbm5lbCBpbnZpdGUgKi9cbiAgdGFyZ2V0VHlwZTogbnVtYmVyXG4gIC8qKiBUaGUgdGFyZ2V0IHVzZXIgZm9yIHRoaXMgaW52aXRlICovXG4gIHRhcmdldFVzZXI6IFVzZXJcbiAgLyoqIFRoZSBlbWJlZGRlZCBhcHBsaWNhdGlvbiB0byBvcGVuIGZvciB0aGlzIHZvaWNlIGNoYW5uZWwgZW1iZWRkZWQgYXBwbGljYXRpb24gaW52aXRlICovXG4gIHRhcmdldEFwcGxpY2F0aW9uPzogQXBwbGljYXRpb25cbiAgLyoqIFdoZXRoZXIgb3Igbm90IHRoZSBpbnZpdGUgaXMgdGVtcG9yYXJ5IChpbnZpdGVkIHVzZXJzIHdpbGwgYmUga2lja2VkIG9uIGRpc2Nvbm5lY3QgdW5sZXNzIHRoZXkncmUgYXNzaWduZWQgYSByb2xlKSAqL1xuICB0ZW1wb3Jhcnk6IGJvb2xlYW5cbiAgLyoqIEhvdyBtYW55IHRpbWVzIHRoZSBpbnZpdGUgaGFzIGJlZW4gdXNlZCAoYWx3YXlzIHdpbGwgYmUgMCkgKi9cbiAgdXNlczogbnVtYmVyXG4gIC8qKiBBcHByb3hpbWF0ZSBjb3VudCBvZiBvbmxpbmUgbWVtYmVycyAob25seSBwcmVzZW50IHdoZW4gdGFyZ2V0X3VzZXIgaXMgc2V0KSAqL1xuICBhcHByb3hpbWF0ZU1lbWJlckNvdW50OiBudW1iZXJcbiAgLyoqIFN0YWdlIGluc3RhbmNlIGRhdGEgaWYgdGhlcmUgaXMgYSBwdWJsaWMgU3RhZ2UgaW5zdGFuY2UgaW4gdGhlIFN0YWdlIGNoYW5uZWwgdGhpcyBpbnZpdGUgaXMgZm9yICovXG4gIHN0YWdlSW5zdGFuY2U/OiBJbnZpdGVTdGFnZUluc3RhbmNlXG4gIC8qKiBUaGUgZXhwaXJhdGlvbiBkYXRlIG9mIHRoaXMgaW52aXRlLCByZXR1cm5lZCBmcm9tIHRoZSBHRVQgL2ludml0ZXMvY29kZSBlbmRwb2ludCB3aGVuIHdpdGhfZXhwaXJhdGlvbiBpcyB0cnVlICovXG4gIGV4cGlyZXNBdD86IG51bWJlclxuICAvKiogZ3VpbGQgc2NoZWR1bGVkIGV2ZW50IGRhdGEgKi9cbiAgZ3VpbGRTY2hlZHVsZWRFdmVudD86IFNjaGVkdWxlZEV2ZW50XG4gIC8qKiBBcHByb3hpbWF0ZSBjb3VudCBvZiBvbmxpbmUgbWVtYmVycyAob25seSBwcmVzZW50IHdoZW4gdGFyZ2V0X3VzZXIgaXMgc2V0KSAqL1xuICBhcHByb3hpbWF0ZVByZXNlbmNlQ291bnQ/OiBudW1iZXJcbn1cbiJdLCJuYW1lcyI6WyJpc0ludml0ZVdpdGhNZXRhZGF0YSIsInRyYW5zZm9ybUludml0ZSIsImJvdCIsInBheWxvYWQiLCJwcm9wcyIsInRyYW5zZm9ybWVycyIsImRlc2lyZWRQcm9wZXJ0aWVzIiwiaW52aXRlIiwiaGFzTWV0YWRhdGEiLCJjb2RlIiwiY3JlYXRlZEF0IiwiY3JlYXRlZF9hdCIsIkRhdGUiLCJwYXJzZSIsImludml0ZXIiLCJ1c2VyIiwibWF4QWdlIiwibWF4X2FnZSIsIm1heFVzZXMiLCJtYXhfdXNlcyIsInRhcmdldFR5cGUiLCJ0YXJnZXRfdHlwZSIsInRhcmdldFVzZXIiLCJ0YXJnZXRfdXNlciIsInRhcmdldEFwcGxpY2F0aW9uIiwidGFyZ2V0X2FwcGxpY2F0aW9uIiwiYXBwbGljYXRpb24iLCJ0ZW1wb3JhcnkiLCJ1c2VzIiwiY2hhbm5lbElkIiwiY2hhbm5lbCIsImlkIiwic25vd2ZsYWtlIiwiZ3VpbGRJZCIsImd1aWxkIiwiYXBwcm94aW1hdGVNZW1iZXJDb3VudCIsImFwcHJveGltYXRlX21lbWJlcl9jb3VudCIsImFwcHJveGltYXRlUHJlc2VuY2VDb3VudCIsImFwcHJveGltYXRlX3ByZXNlbmNlX2NvdW50IiwiZ3VpbGRTY2hlZHVsZWRFdmVudCIsImd1aWxkX3NjaGVkdWxlZF9ldmVudCIsInNjaGVkdWxlZEV2ZW50IiwidW5kZWZpbmVkIiwic3RhZ2VJbnN0YW5jZSIsInN0YWdlX2luc3RhbmNlIiwiaW52aXRlU3RhZ2VJbnN0YW5jZSIsImV4cGlyZXNBdCIsImV4cGlyZXNfYXQiLCJjaGFubmVsX2lkIiwiZ3VpbGRfaWQiLCJjdXN0b21pemVycyJdLCJtYXBwaW5ncyI6IkFBQ0EsU0FBU0Esb0JBQW9CLFFBQW9FLGNBQWE7QUFHOUcsT0FBTyxTQUFTQyxnQkFBZ0JDLEdBQVEsRUFBRUMsT0FBb0QsRUFBVTtJQUN0RyxNQUFNQyxRQUFRRixJQUFJRyxZQUFZLENBQUNDLGlCQUFpQixDQUFDQyxNQUFNO0lBQ3ZELE1BQU1BLFNBQVMsQ0FBQztJQUNoQixNQUFNQyxjQUFjUixxQkFBcUJHO0lBRXpDLElBQUlDLE1BQU1LLElBQUksSUFBSU4sUUFBUU0sSUFBSSxFQUFFRixPQUFPRSxJQUFJLEdBQUdOLFFBQVFNLElBQUk7SUFDMUQsSUFBSUwsTUFBTU0sU0FBUyxJQUFJUCxRQUFRUSxVQUFVLEVBQUVKLE9BQU9HLFNBQVMsR0FBR0UsS0FBS0MsS0FBSyxDQUFDVixRQUFRUSxVQUFVO0lBQzNGLElBQUlQLE1BQU1VLE9BQU8sSUFBSVgsUUFBUVcsT0FBTyxFQUFFUCxPQUFPTyxPQUFPLEdBQUdaLElBQUlHLFlBQVksQ0FBQ1UsSUFBSSxDQUFDYixLQUFLQyxRQUFRVyxPQUFPO0lBQ2pHLElBQUlWLE1BQU1ZLE1BQU0sSUFBSWIsUUFBUWMsT0FBTyxFQUFFVixPQUFPUyxNQUFNLEdBQUdiLFFBQVFjLE9BQU87SUFDcEUsSUFBSWIsTUFBTWMsT0FBTyxJQUFJZixRQUFRZ0IsUUFBUSxFQUFFWixPQUFPVyxPQUFPLEdBQUdmLFFBQVFnQixRQUFRO0lBQ3hFLElBQUlmLE1BQU1nQixVQUFVLElBQUlqQixRQUFRa0IsV0FBVyxFQUFFZCxPQUFPYSxVQUFVLEdBQUdqQixRQUFRa0IsV0FBVztJQUNwRixJQUFJakIsTUFBTWtCLFVBQVUsSUFBSW5CLFFBQVFvQixXQUFXLEVBQUVoQixPQUFPZSxVQUFVLEdBQUdwQixJQUFJRyxZQUFZLENBQUNVLElBQUksQ0FBQ2IsS0FBS0MsUUFBUW9CLFdBQVc7SUFDL0csSUFBSW5CLE1BQU1vQixpQkFBaUIsSUFBSXJCLFFBQVFzQixrQkFBa0IsRUFDdkRsQixPQUFPaUIsaUJBQWlCLEdBQUd0QixJQUFJRyxZQUFZLENBQUNxQixXQUFXLENBQUN4QixLQUFLQyxRQUFRc0Isa0JBQWtCO0lBQ3pGLElBQUlyQixNQUFNdUIsU0FBUyxJQUFJeEIsUUFBUXdCLFNBQVMsRUFBRXBCLE9BQU9vQixTQUFTLEdBQUd4QixRQUFRd0IsU0FBUztJQUM5RSxJQUFJdkIsTUFBTXdCLElBQUksSUFBSXpCLFFBQVF5QixJQUFJLEVBQUVyQixPQUFPcUIsSUFBSSxHQUFHekIsUUFBUXlCLElBQUk7SUFFMUQsSUFBSXBCLGFBQWE7UUFDZixJQUFJSixNQUFNeUIsU0FBUyxJQUFJMUIsUUFBUTJCLE9BQU8sRUFBRUMsSUFBSXhCLE9BQU9zQixTQUFTLEdBQUczQixJQUFJRyxZQUFZLENBQUMyQixTQUFTLENBQUM3QixRQUFRMkIsT0FBTyxDQUFDQyxFQUFFO1FBQzVHLElBQUkzQixNQUFNNkIsT0FBTyxJQUFJOUIsUUFBUStCLEtBQUssRUFBRUgsSUFBSXhCLE9BQU8wQixPQUFPLEdBQUcvQixJQUFJRyxZQUFZLENBQUMyQixTQUFTLENBQUM3QixRQUFRK0IsS0FBSyxDQUFDSCxFQUFFO1FBQ3BHLElBQUkzQixNQUFNK0Isc0JBQXNCLElBQUloQyxRQUFRaUMsd0JBQXdCLEVBQUU3QixPQUFPNEIsc0JBQXNCLEdBQUdoQyxRQUFRaUMsd0JBQXdCO1FBQ3RJLElBQUloQyxNQUFNaUMsd0JBQXdCLElBQUlsQyxRQUFRbUMsMEJBQTBCLEVBQUUvQixPQUFPOEIsd0JBQXdCLEdBQUdsQyxRQUFRbUMsMEJBQTBCO1FBQzlJLElBQUlsQyxNQUFNbUMsbUJBQW1CLElBQUlwQyxRQUFRcUMscUJBQXFCLEVBQUU7WUFDOURqQyxPQUFPZ0MsbUJBQW1CLEdBQUdwQyxRQUFRcUMscUJBQXFCLEdBQUd0QyxJQUFJRyxZQUFZLENBQUNvQyxjQUFjLENBQUN2QyxLQUFLQyxRQUFRcUMscUJBQXFCLElBQUlFLFNBQVM7UUFDOUksQ0FBQztRQUNELElBQUl0QyxNQUFNdUMsYUFBYSxJQUFJcEMsT0FBTzBCLE9BQU8sSUFBSTlCLFFBQVF5QyxjQUFjLEVBQUU7WUFDbkVyQyxPQUFPb0MsYUFBYSxHQUFHeEMsUUFBUXlDLGNBQWMsR0FDekMxQyxJQUFJRyxZQUFZLENBQUN3QyxtQkFBbUIsQ0FBQzNDLEtBQUs7Z0JBQ3hDLEdBQUdDLFFBQVF5QyxjQUFjO2dCQUN6QlgsU0FBUzFCLE9BQU8wQixPQUFPO1lBQ3pCLEtBQ0FTLFNBQVM7UUFDZixDQUFDO1FBQ0QsSUFBSXRDLE1BQU0wQyxTQUFTLElBQUkzQyxRQUFRNEMsVUFBVSxFQUFFO1lBQ3pDeEMsT0FBT3VDLFNBQVMsR0FBR2xDLEtBQUtDLEtBQUssQ0FBQ1YsUUFBUTRDLFVBQVU7UUFDbEQsQ0FBQztJQUNILE9BQU87UUFDTCxJQUFJM0MsTUFBTXlCLFNBQVMsSUFBSTFCLFFBQVE2QyxVQUFVLEVBQUV6QyxPQUFPc0IsU0FBUyxHQUFHM0IsSUFBSUcsWUFBWSxDQUFDMkIsU0FBUyxDQUFDN0IsUUFBUTZDLFVBQVU7UUFDM0csSUFBSTVDLE1BQU02QixPQUFPLElBQUk5QixRQUFROEMsUUFBUSxFQUFFMUMsT0FBTzBCLE9BQU8sR0FBRy9CLElBQUlHLFlBQVksQ0FBQzJCLFNBQVMsQ0FBQzdCLFFBQVE4QyxRQUFRO0lBQ3JHLENBQUM7SUFFRCxPQUFPL0MsSUFBSUcsWUFBWSxDQUFDNkMsV0FBVyxDQUFDM0MsTUFBTSxDQUFDTCxLQUFLQyxTQUFTSTtBQUMzRCxDQUFDIn0=
@@ -0,0 +1,34 @@
1
+ import { iconHashToBigInt } from '@discordeno/utils';
2
+ import { Permissions } from './toggles/Permissions.js';
3
+ import { MemberToggles } from './toggles/member.js';
4
+ const baseMember = {
5
+ get deaf () {
6
+ return !!this.toggles?.has('deaf');
7
+ },
8
+ get mute () {
9
+ return !!this.toggles?.has('mute');
10
+ },
11
+ get pending () {
12
+ return !!this.toggles?.has('pending');
13
+ }
14
+ };
15
+ export function transformMember(bot, payload, guildId, userId) {
16
+ const member = Object.create(baseMember);
17
+ const props = bot.transformers.desiredProperties.member;
18
+ if (userId && props.id) member.id = typeof userId === 'string' ? bot.transformers.snowflake(userId) : userId;
19
+ if (guildId && props.guildId) member.guildId = typeof guildId === 'string' ? bot.transformers.snowflake(guildId) : guildId;
20
+ if (payload.user && props.user) member.user = bot.transformers.user(bot, payload.user);
21
+ if (payload.nick && props.nick) member.nick = payload.nick;
22
+ if (payload.roles && props.roles) member.roles = payload.roles.map((id)=>bot.transformers.snowflake(id));
23
+ if (payload.joined_at && props.joinedAt) member.joinedAt = Date.parse(payload.joined_at);
24
+ if (payload.premium_since && props.premiumSince) member.premiumSince = Date.parse(payload.premium_since);
25
+ if (payload.communication_disabled_until && props.communicationDisabledUntil) member.communicationDisabledUntil = Date.parse(payload.communication_disabled_until);
26
+ if (payload.avatar && props.avatar) member.avatar = iconHashToBigInt(payload.avatar);
27
+ if (payload.permissions && props.permissions) member.permissions = new Permissions(payload.permissions);
28
+ if (props.deaf || props.mute || props.pending) {
29
+ member.toggles = new MemberToggles(payload);
30
+ }
31
+ return bot.transformers.customizers.member(bot, payload, member);
32
+ }
33
+
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvbWVtYmVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQmlnU3RyaW5nLCBEaXNjb3JkTWVtYmVyIH0gZnJvbSAnQGRpc2NvcmRlbm8vdHlwZXMnXG5pbXBvcnQgeyBpY29uSGFzaFRvQmlnSW50IH0gZnJvbSAnQGRpc2NvcmRlbm8vdXRpbHMnXG5pbXBvcnQgdHlwZSB7IEJvdCB9IGZyb20gJy4uL2JvdC5qcydcbmltcG9ydCB7IFBlcm1pc3Npb25zIH0gZnJvbSAnLi90b2dnbGVzL1Blcm1pc3Npb25zLmpzJ1xuaW1wb3J0IHsgTWVtYmVyVG9nZ2xlcyB9IGZyb20gJy4vdG9nZ2xlcy9tZW1iZXIuanMnXG5pbXBvcnQgdHlwZSB7IFVzZXIgfSBmcm9tICcuL3VzZXIuanMnXG5cbmNvbnN0IGJhc2VNZW1iZXI6IFBhcnRpYWw8TWVtYmVyPiAmIEJhc2VNZW1iZXIgPSB7XG4gIGdldCBkZWFmKCkge1xuICAgIHJldHVybiAhIXRoaXMudG9nZ2xlcz8uaGFzKCdkZWFmJylcbiAgfSxcbiAgZ2V0IG11dGUoKSB7XG4gICAgcmV0dXJuICEhdGhpcy50b2dnbGVzPy5oYXMoJ211dGUnKVxuICB9LFxuICBnZXQgcGVuZGluZygpIHtcbiAgICByZXR1cm4gISF0aGlzLnRvZ2dsZXM/LmhhcygncGVuZGluZycpXG4gIH0sXG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1NZW1iZXIoYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRNZW1iZXIsIGd1aWxkSWQ6IEJpZ1N0cmluZywgdXNlcklkOiBCaWdTdHJpbmcpOiBNZW1iZXIge1xuICBjb25zdCBtZW1iZXI6IE1lbWJlciA9IE9iamVjdC5jcmVhdGUoYmFzZU1lbWJlcilcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLm1lbWJlclxuXG4gIGlmICh1c2VySWQgJiYgcHJvcHMuaWQpIG1lbWJlci5pZCA9IHR5cGVvZiB1c2VySWQgPT09ICdzdHJpbmcnID8gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UodXNlcklkKSA6IHVzZXJJZFxuICBpZiAoZ3VpbGRJZCAmJiBwcm9wcy5ndWlsZElkKSBtZW1iZXIuZ3VpbGRJZCA9IHR5cGVvZiBndWlsZElkID09PSAnc3RyaW5nJyA/IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKGd1aWxkSWQpIDogZ3VpbGRJZFxuICBpZiAocGF5bG9hZC51c2VyICYmIHByb3BzLnVzZXIpIG1lbWJlci51c2VyID0gYm90LnRyYW5zZm9ybWVycy51c2VyKGJvdCwgcGF5bG9hZC51c2VyKVxuICBpZiAocGF5bG9hZC5uaWNrICYmIHByb3BzLm5pY2spIG1lbWJlci5uaWNrID0gcGF5bG9hZC5uaWNrXG4gIGlmIChwYXlsb2FkLnJvbGVzICYmIHByb3BzLnJvbGVzKSBtZW1iZXIucm9sZXMgPSBwYXlsb2FkLnJvbGVzLm1hcCgoaWQpID0+IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKGlkKSlcbiAgaWYgKHBheWxvYWQuam9pbmVkX2F0ICYmIHByb3BzLmpvaW5lZEF0KSBtZW1iZXIuam9pbmVkQXQgPSBEYXRlLnBhcnNlKHBheWxvYWQuam9pbmVkX2F0KVxuICBpZiAocGF5bG9hZC5wcmVtaXVtX3NpbmNlICYmIHByb3BzLnByZW1pdW1TaW5jZSkgbWVtYmVyLnByZW1pdW1TaW5jZSA9IERhdGUucGFyc2UocGF5bG9hZC5wcmVtaXVtX3NpbmNlKVxuICBpZiAocGF5bG9hZC5jb21tdW5pY2F0aW9uX2Rpc2FibGVkX3VudGlsICYmIHByb3BzLmNvbW11bmljYXRpb25EaXNhYmxlZFVudGlsKVxuICAgIG1lbWJlci5jb21tdW5pY2F0aW9uRGlzYWJsZWRVbnRpbCA9IERhdGUucGFyc2UocGF5bG9hZC5jb21tdW5pY2F0aW9uX2Rpc2FibGVkX3VudGlsKVxuICBpZiAocGF5bG9hZC5hdmF0YXIgJiYgcHJvcHMuYXZhdGFyKSBtZW1iZXIuYXZhdGFyID0gaWNvbkhhc2hUb0JpZ0ludChwYXlsb2FkLmF2YXRhcilcbiAgaWYgKHBheWxvYWQucGVybWlzc2lvbnMgJiYgcHJvcHMucGVybWlzc2lvbnMpIG1lbWJlci5wZXJtaXNzaW9ucyA9IG5ldyBQZXJtaXNzaW9ucyhwYXlsb2FkLnBlcm1pc3Npb25zKVxuICBpZiAocHJvcHMuZGVhZiB8fCBwcm9wcy5tdXRlIHx8IHByb3BzLnBlbmRpbmcpIHtcbiAgICBtZW1iZXIudG9nZ2xlcyA9IG5ldyBNZW1iZXJUb2dnbGVzKHBheWxvYWQpXG4gIH1cblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy5tZW1iZXIoYm90LCBwYXlsb2FkLCBtZW1iZXIpXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQmFzZU1lbWJlciB7XG4gIC8qKiBXaGV0aGVyIHRoZSB1c2VyIGlzIGRlYWZlbmVkIGluIHZvaWNlIGNoYW5uZWxzICovXG4gIGRlYWY/OiBib29sZWFuXG4gIC8qKiBXaGV0aGVyIHRoZSB1c2VyIGlzIG11dGVkIGluIHZvaWNlIGNoYW5uZWxzICovXG4gIG11dGU/OiBib29sZWFuXG4gIC8qKiBXaGV0aGVyIHRoZSB1c2VyIGhhcyBub3QgeWV0IHBhc3NlZCB0aGUgZ3VpbGQncyBNZW1iZXJzaGlwIFNjcmVlbmluZyByZXF1aXJlbWVudHMgKi9cbiAgcGVuZGluZz86IGJvb2xlYW5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBNZW1iZXIgZXh0ZW5kcyBCYXNlTWVtYmVyIHtcbiAgLyoqIFRoZSB1c2VyIGlkIG9mIHRoZSBtZW1iZXIuICovXG4gIGlkOiBiaWdpbnRcbiAgLyoqIFRoZSBjb21wcmVzc2VkIGZvcm0gb2YgYWxsIHRoZSBib29sZWFuIHZhbHVlcyBvbiB0aGlzIHVzZXIuICovXG4gIHRvZ2dsZXM/OiBNZW1iZXJUb2dnbGVzXG4gIC8qKiBUaGUgZ3VpbGQgaWQgd2hlcmUgdGhpcyBtZW1iZXIgaXMuICovXG4gIGd1aWxkSWQ6IGJpZ2ludFxuICAvKiogVGhlIHVzZXIgdGhpcyBndWlsZCBtZW1iZXIgcmVwcmVzZW50cyAqL1xuICB1c2VyPzogVXNlclxuICAvKiogVGhpcyB1c2VycyBndWlsZCBuaWNrbmFtZSAqL1xuICBuaWNrPzogc3RyaW5nXG4gIC8qKiBUaGUgbWVtYmVycyBjdXN0b20gYXZhdGFyIGZvciB0aGlzIHNlcnZlci4gKi9cbiAgYXZhdGFyPzogYmlnaW50XG4gIC8qKiBBcnJheSBvZiByb2xlIG9iamVjdCBpZHMgKi9cbiAgcm9sZXM6IGJpZ2ludFtdXG4gIC8qKiBXaGVuIHRoZSB1c2VyIGpvaW5lZCB0aGUgZ3VpbGQgKi9cbiAgam9pbmVkQXQ6IG51bWJlclxuICAvKiogV2hlbiB0aGUgdXNlciBzdGFydGVkIGJvb3N0aW5nIHRoZSBndWlsZCAqL1xuICBwcmVtaXVtU2luY2U/OiBudW1iZXJcbiAgLyoqIFRoZSBwZXJtaXNzaW9ucyB0aGlzIG1lbWJlciBoYXMgaW4gdGhlIGd1aWxkLiBPbmx5IHByZXNlbnQgb24gaW50ZXJhY3Rpb24gZXZlbnRzLiAqL1xuICBwZXJtaXNzaW9ucz86IFBlcm1pc3Npb25zXG4gIC8qKiB3aGVuIHRoZSB1c2VyJ3MgdGltZW91dCB3aWxsIGV4cGlyZSBhbmQgdGhlIHVzZXIgd2lsbCBiZSBhYmxlIHRvIGNvbW11bmljYXRlIGluIHRoZSBndWlsZCBhZ2FpbiAoc2V0IG51bGwgdG8gcmVtb3ZlIHRpbWVvdXQpLCBudWxsIG9yIGEgdGltZSBpbiB0aGUgcGFzdCBpZiB0aGUgdXNlciBpcyBub3QgdGltZWQgb3V0ICovXG4gIGNvbW11bmljYXRpb25EaXNhYmxlZFVudGlsPzogbnVtYmVyXG59XG4iXSwibmFtZXMiOlsiaWNvbkhhc2hUb0JpZ0ludCIsIlBlcm1pc3Npb25zIiwiTWVtYmVyVG9nZ2xlcyIsImJhc2VNZW1iZXIiLCJkZWFmIiwidG9nZ2xlcyIsImhhcyIsIm11dGUiLCJwZW5kaW5nIiwidHJhbnNmb3JtTWVtYmVyIiwiYm90IiwicGF5bG9hZCIsImd1aWxkSWQiLCJ1c2VySWQiLCJtZW1iZXIiLCJPYmplY3QiLCJjcmVhdGUiLCJwcm9wcyIsInRyYW5zZm9ybWVycyIsImRlc2lyZWRQcm9wZXJ0aWVzIiwiaWQiLCJzbm93Zmxha2UiLCJ1c2VyIiwibmljayIsInJvbGVzIiwibWFwIiwiam9pbmVkX2F0Iiwiam9pbmVkQXQiLCJEYXRlIiwicGFyc2UiLCJwcmVtaXVtX3NpbmNlIiwicHJlbWl1bVNpbmNlIiwiY29tbXVuaWNhdGlvbl9kaXNhYmxlZF91bnRpbCIsImNvbW11bmljYXRpb25EaXNhYmxlZFVudGlsIiwiYXZhdGFyIiwicGVybWlzc2lvbnMiLCJjdXN0b21pemVycyJdLCJtYXBwaW5ncyI6IkFBQ0EsU0FBU0EsZ0JBQWdCLFFBQVEsb0JBQW1CO0FBRXBELFNBQVNDLFdBQVcsUUFBUSwyQkFBMEI7QUFDdEQsU0FBU0MsYUFBYSxRQUFRLHNCQUFxQjtBQUduRCxNQUFNQyxhQUEyQztJQUMvQyxJQUFJQyxRQUFPO1FBQ1QsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDQyxPQUFPLEVBQUVDLElBQUk7SUFDN0I7SUFDQSxJQUFJQyxRQUFPO1FBQ1QsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDRixPQUFPLEVBQUVDLElBQUk7SUFDN0I7SUFDQSxJQUFJRSxXQUFVO1FBQ1osT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDSCxPQUFPLEVBQUVDLElBQUk7SUFDN0I7QUFDRjtBQUVBLE9BQU8sU0FBU0csZ0JBQWdCQyxHQUFRLEVBQUVDLE9BQXNCLEVBQUVDLE9BQWtCLEVBQUVDLE1BQWlCLEVBQVU7SUFDL0csTUFBTUMsU0FBaUJDLE9BQU9DLE1BQU0sQ0FBQ2I7SUFDckMsTUFBTWMsUUFBUVAsSUFBSVEsWUFBWSxDQUFDQyxpQkFBaUIsQ0FBQ0wsTUFBTTtJQUV2RCxJQUFJRCxVQUFVSSxNQUFNRyxFQUFFLEVBQUVOLE9BQU9NLEVBQUUsR0FBRyxPQUFPUCxXQUFXLFdBQVdILElBQUlRLFlBQVksQ0FBQ0csU0FBUyxDQUFDUixVQUFVQSxNQUFNO0lBQzVHLElBQUlELFdBQVdLLE1BQU1MLE9BQU8sRUFBRUUsT0FBT0YsT0FBTyxHQUFHLE9BQU9BLFlBQVksV0FBV0YsSUFBSVEsWUFBWSxDQUFDRyxTQUFTLENBQUNULFdBQVdBLE9BQU87SUFDMUgsSUFBSUQsUUFBUVcsSUFBSSxJQUFJTCxNQUFNSyxJQUFJLEVBQUVSLE9BQU9RLElBQUksR0FBR1osSUFBSVEsWUFBWSxDQUFDSSxJQUFJLENBQUNaLEtBQUtDLFFBQVFXLElBQUk7SUFDckYsSUFBSVgsUUFBUVksSUFBSSxJQUFJTixNQUFNTSxJQUFJLEVBQUVULE9BQU9TLElBQUksR0FBR1osUUFBUVksSUFBSTtJQUMxRCxJQUFJWixRQUFRYSxLQUFLLElBQUlQLE1BQU1PLEtBQUssRUFBRVYsT0FBT1UsS0FBSyxHQUFHYixRQUFRYSxLQUFLLENBQUNDLEdBQUcsQ0FBQyxDQUFDTCxLQUFPVixJQUFJUSxZQUFZLENBQUNHLFNBQVMsQ0FBQ0Q7SUFDdEcsSUFBSVQsUUFBUWUsU0FBUyxJQUFJVCxNQUFNVSxRQUFRLEVBQUViLE9BQU9hLFFBQVEsR0FBR0MsS0FBS0MsS0FBSyxDQUFDbEIsUUFBUWUsU0FBUztJQUN2RixJQUFJZixRQUFRbUIsYUFBYSxJQUFJYixNQUFNYyxZQUFZLEVBQUVqQixPQUFPaUIsWUFBWSxHQUFHSCxLQUFLQyxLQUFLLENBQUNsQixRQUFRbUIsYUFBYTtJQUN2RyxJQUFJbkIsUUFBUXFCLDRCQUE0QixJQUFJZixNQUFNZ0IsMEJBQTBCLEVBQzFFbkIsT0FBT21CLDBCQUEwQixHQUFHTCxLQUFLQyxLQUFLLENBQUNsQixRQUFRcUIsNEJBQTRCO0lBQ3JGLElBQUlyQixRQUFRdUIsTUFBTSxJQUFJakIsTUFBTWlCLE1BQU0sRUFBRXBCLE9BQU9vQixNQUFNLEdBQUdsQyxpQkFBaUJXLFFBQVF1QixNQUFNO0lBQ25GLElBQUl2QixRQUFRd0IsV0FBVyxJQUFJbEIsTUFBTWtCLFdBQVcsRUFBRXJCLE9BQU9xQixXQUFXLEdBQUcsSUFBSWxDLFlBQVlVLFFBQVF3QixXQUFXO0lBQ3RHLElBQUlsQixNQUFNYixJQUFJLElBQUlhLE1BQU1WLElBQUksSUFBSVUsTUFBTVQsT0FBTyxFQUFFO1FBQzdDTSxPQUFPVCxPQUFPLEdBQUcsSUFBSUgsY0FBY1M7SUFDckMsQ0FBQztJQUVELE9BQU9ELElBQUlRLFlBQVksQ0FBQ2tCLFdBQVcsQ0FBQ3RCLE1BQU0sQ0FBQ0osS0FBS0MsU0FBU0c7QUFDM0QsQ0FBQyJ9
@@ -0,0 +1,221 @@
1
+ import { CHANNEL_MENTION_REGEX } from '../constants.js';
2
+ import { snowflakeToTimestamp } from '../index.js';
3
+ import { MessageFlags } from '../typings.js';
4
+ import { ToggleBitfield } from './toggles/ToggleBitfield.js';
5
+ const baseMessage = {
6
+ get crossposted () {
7
+ return this.flags?.contains(MessageFlags.Crossposted) ?? false;
8
+ },
9
+ set crossposted (value){
10
+ if (!this.flags) return;
11
+ if (value) this.flags.add(MessageFlags.Crossposted);
12
+ else this.flags.remove(MessageFlags.Crossposted);
13
+ },
14
+ get ephemeral () {
15
+ return this.flags?.contains(MessageFlags.Ephemeral) ?? false;
16
+ },
17
+ set ephemeral (value){
18
+ if (!this.flags) return;
19
+ if (value) this.flags.add(MessageFlags.Ephemeral);
20
+ else this.flags.remove(MessageFlags.Ephemeral);
21
+ },
22
+ get failedToMentionSomeRolesInThread () {
23
+ return this.flags?.contains(MessageFlags.FailedToMentionSomeRolesInThread) ?? false;
24
+ },
25
+ set failedToMentionSomeRolesInThread (value){
26
+ if (!this.flags) return;
27
+ if (value) this.flags.add(MessageFlags.FailedToMentionSomeRolesInThread);
28
+ else this.flags.remove(MessageFlags.FailedToMentionSomeRolesInThread);
29
+ },
30
+ get hasThread () {
31
+ return this.flags?.contains(MessageFlags.HasThread) ?? false;
32
+ },
33
+ set hasThread (value){
34
+ if (!this.flags) return;
35
+ if (value) this.flags.add(MessageFlags.HasThread);
36
+ else this.flags.remove(MessageFlags.HasThread);
37
+ },
38
+ get isCrosspost () {
39
+ return this.flags?.contains(MessageFlags.IsCrosspost) ?? false;
40
+ },
41
+ set isCrosspost (value){
42
+ if (!this.flags) return;
43
+ if (value) this.flags.add(MessageFlags.IsCrosspost);
44
+ else this.flags.remove(MessageFlags.IsCrosspost);
45
+ },
46
+ get loading () {
47
+ return this.flags?.contains(MessageFlags.Loading) ?? false;
48
+ },
49
+ set loading (value){
50
+ if (!this.flags) return;
51
+ if (value) this.flags.add(MessageFlags.Loading);
52
+ else this.flags.remove(MessageFlags.Loading);
53
+ },
54
+ get mentionedUserIds () {
55
+ return this.mentions?.map((user)=>user.id) ?? [];
56
+ },
57
+ get mentionEveryone () {
58
+ return this.bitfield?.contains(2) ?? false;
59
+ },
60
+ set mentionEveryone (value){
61
+ if (!this.bitfield) return;
62
+ if (value) this.bitfield.add(2);
63
+ else this.bitfield.remove(2);
64
+ },
65
+ get pinned () {
66
+ return this.bitfield?.contains(3) ?? false;
67
+ },
68
+ set pinned (value){
69
+ if (!this.bitfield) return;
70
+ if (value) this.bitfield.add(3);
71
+ else this.bitfield.remove(3);
72
+ },
73
+ get sourceMessageDeleted () {
74
+ return this.flags?.contains(MessageFlags.SourceMessageDeleted) ?? false;
75
+ },
76
+ set sourceMessageDeleted (value){
77
+ if (!this.flags) return;
78
+ if (value) this.flags.add(MessageFlags.SourceMessageDeleted);
79
+ else this.flags.remove(MessageFlags.SourceMessageDeleted);
80
+ },
81
+ get suppressEmbeds () {
82
+ return this.flags?.contains(MessageFlags.SuppressEmbeds) ?? false;
83
+ },
84
+ set suppressEmbeds (value){
85
+ if (!this.flags) return;
86
+ if (value) this.flags.add(MessageFlags.SuppressEmbeds);
87
+ else this.flags.remove(MessageFlags.SuppressEmbeds);
88
+ },
89
+ get suppressNotifications () {
90
+ return this.flags?.contains(MessageFlags.SuppressNotifications) ?? false;
91
+ },
92
+ set suppressNotifications (value){
93
+ if (!this.flags) return;
94
+ if (value) this.flags.add(MessageFlags.SuppressNotifications);
95
+ else this.flags.remove(MessageFlags.SuppressNotifications);
96
+ },
97
+ get timestamp () {
98
+ return this.id ? snowflakeToTimestamp(this.id) : 0;
99
+ },
100
+ get tts () {
101
+ return this.bitfield?.contains(1) ?? false;
102
+ },
103
+ set tts (value){
104
+ if (!this.bitfield) return;
105
+ if (value) this.bitfield.add(1);
106
+ else this.bitfield.remove(1);
107
+ },
108
+ get urgent () {
109
+ return this.flags?.contains(MessageFlags.Urgent) ?? false;
110
+ },
111
+ set urgent (value){
112
+ if (!this.flags) return;
113
+ if (value) this.flags.add(MessageFlags.Urgent);
114
+ else this.flags.remove(MessageFlags.Urgent);
115
+ }
116
+ };
117
+ const EMPTY_STRING = '';
118
+ export function transformMessage(bot, payload) {
119
+ const guildId = payload.guild_id ? bot.transformers.snowflake(payload.guild_id) : undefined;
120
+ const userId = bot.transformers.snowflake(payload.author.id);
121
+ const message = Object.create(baseMessage);
122
+ message.bitfield = new ToggleBitfield();
123
+ message.flags = new ToggleBitfield(payload.flags);
124
+ const props = bot.transformers.desiredProperties.message;
125
+ if (props.author && payload.author) message.author = bot.transformers.user(bot, payload.author);
126
+ if (payload.application_id && props.applicationId) message.applicationId = bot.transformers.snowflake(payload.application_id);
127
+ if (payload.attachments?.length && props.attachments) {
128
+ message.attachments = payload.attachments.map((attachment)=>bot.transformers.attachment(bot, attachment));
129
+ }
130
+ if (props.channelId && payload.channel_id) message.channelId = bot.transformers.snowflake(payload.channel_id);
131
+ if (props.components && payload.components?.length) message.components = payload.components.map((comp)=>bot.transformers.component(bot, comp));
132
+ if (props.content && payload.content) message.content = payload.content ?? EMPTY_STRING;
133
+ if (payload.edited_timestamp && props.editedTimestamp) message.editedTimestamp = Date.parse(payload.edited_timestamp);
134
+ if (payload.embeds?.length && props.embeds) message.embeds = payload.embeds.map((embed)=>bot.transformers.embed(bot, embed));
135
+ if (guildId && props.guildId) message.guildId = guildId;
136
+ if (props.id && payload.id) message.id = bot.transformers.snowflake(payload.id);
137
+ if (payload.interaction) {
138
+ const interaction = {};
139
+ let edited = false;
140
+ if (props.interaction.id) {
141
+ interaction.id = bot.transformers.snowflake(payload.interaction.id);
142
+ edited = true;
143
+ }
144
+ if (props.interaction.member && payload.interaction.member) {
145
+ // @ts-expect-error TODO: partial - check why this is partial and handle as needed
146
+ interaction.member = bot.transformers.member(bot, payload.interaction.member, guildId, payload.interaction.user.id);
147
+ edited = true;
148
+ }
149
+ if (props.interaction.name) {
150
+ interaction.name = payload.interaction.name;
151
+ edited = true;
152
+ }
153
+ if (props.interaction.type) {
154
+ interaction.type = payload.interaction.type;
155
+ edited = true;
156
+ }
157
+ if (props.interaction.user) {
158
+ interaction.user = bot.transformers.user(bot, payload.interaction.user);
159
+ edited = true;
160
+ }
161
+ if (edited) message.interaction = interaction;
162
+ }
163
+ if (props.member && payload.member && guildId) message.member = bot.transformers.member(bot, payload.member, guildId, userId);
164
+ if (payload.mention_everyone) message.mentionEveryone = true;
165
+ if (props.mentionedChannelIds && payload.mention_channels?.length) {
166
+ message.mentionedChannelIds = [
167
+ // Keep any ids tht discord sends
168
+ ...(payload.mention_channels ?? []).map((m)=>bot.transformers.snowflake(m.id)),
169
+ // Add any other ids that can be validated in a channel mention format
170
+ ...(payload.content?.match(CHANNEL_MENTION_REGEX) ?? []).map((text)=>// converts the <#123> into 123
171
+ bot.transformers.snowflake(text.substring(2, text.length - 1)))
172
+ ];
173
+ }
174
+ if (props.mentionedRoleIds && payload.mention_roles?.length) {
175
+ message.mentionedRoleIds = payload.mention_roles.map((id)=>bot.transformers.snowflake(id));
176
+ }
177
+ if (props.mentions && payload.mentions?.length) {
178
+ message.mentions = payload.mentions.map((user)=>bot.transformers.user(bot, user));
179
+ }
180
+ if (payload.message_reference) {
181
+ const reference = {};
182
+ let edited = false;
183
+ if (props.messageReference.channelId && payload.message_reference.channel_id) {
184
+ reference.channelId = bot.transformers.snowflake(payload.message_reference.channel_id);
185
+ edited = true;
186
+ }
187
+ if (props.messageReference.guildId && payload.message_reference.guild_id) {
188
+ reference.guildId = bot.transformers.snowflake(payload.message_reference.guild_id);
189
+ edited = true;
190
+ }
191
+ if (props.messageReference.messageId && payload.message_reference.message_id) {
192
+ reference.messageId = bot.transformers.snowflake(payload.message_reference.message_id);
193
+ edited = true;
194
+ }
195
+ if (edited) message.messageReference = reference;
196
+ }
197
+ if (payload.nonce && props.nonce) message.nonce = payload.nonce;
198
+ if (payload.pinned) message.pinned = true;
199
+ if (payload.reactions?.length && props.reactions) {
200
+ message.reactions = payload.reactions.map((reaction)=>({
201
+ me: reaction.me,
202
+ count: reaction.count,
203
+ emoji: bot.transformers.emoji(bot, reaction.emoji)
204
+ }));
205
+ }
206
+ if (props.stickerItems && payload.sticker_items?.length) message.stickerItems = payload.sticker_items.map((item)=>({
207
+ id: bot.transformers.snowflake(item.id),
208
+ name: item.name,
209
+ formatType: item.format_type
210
+ }));
211
+ if (payload.tts) message.tts = true;
212
+ if (props.thread && payload.thread) message.thread = bot.transformers.channel(bot, {
213
+ channel: payload.thread,
214
+ guildId
215
+ });
216
+ if (props.type && props.type) message.type = payload.type;
217
+ if (payload.webhook_id && props.webhookId) message.webhookId = bot.transformers.snowflake(payload.webhook_id);
218
+ return bot.transformers.customizers.message(bot, payload, message);
219
+ }
220
+
221
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvbWVzc2FnZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IERpc2NvcmRNZXNzYWdlLCBJbnRlcmFjdGlvblR5cGVzLCBNZXNzYWdlQWN0aXZpdHlUeXBlcywgTWVzc2FnZVR5cGVzLCBTdGlja2VyRm9ybWF0VHlwZXMgfSBmcm9tICdAZGlzY29yZGVuby90eXBlcydcbmltcG9ydCB7IENIQU5ORUxfTUVOVElPTl9SRUdFWCB9IGZyb20gJy4uL2NvbnN0YW50cy5qcydcbmltcG9ydCB7IHNub3dmbGFrZVRvVGltZXN0YW1wLCB0eXBlIEJvdCB9IGZyb20gJy4uL2luZGV4LmpzJ1xuaW1wb3J0IHsgTWVzc2FnZUZsYWdzIH0gZnJvbSAnLi4vdHlwaW5ncy5qcydcbmltcG9ydCB0eXBlIHsgQXR0YWNobWVudCB9IGZyb20gJy4vYXR0YWNobWVudC5qcydcbmltcG9ydCB0eXBlIHsgQ2hhbm5lbCB9IGZyb20gJy4vY2hhbm5lbC5qcydcbmltcG9ydCB0eXBlIHsgQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnQuanMnXG5pbXBvcnQgdHlwZSB7IEVtYmVkIH0gZnJvbSAnLi9lbWJlZC5qcydcbmltcG9ydCB0eXBlIHsgRW1vamkgfSBmcm9tICcuL2Vtb2ppLmpzJ1xuaW1wb3J0IHR5cGUgeyBNZW1iZXIgfSBmcm9tICcuL21lbWJlci5qcydcbmltcG9ydCB7IFRvZ2dsZUJpdGZpZWxkIH0gZnJvbSAnLi90b2dnbGVzL1RvZ2dsZUJpdGZpZWxkLmpzJ1xuaW1wb3J0IHR5cGUgeyBVc2VyIH0gZnJvbSAnLi91c2VyLmpzJ1xuXG5jb25zdCBiYXNlTWVzc2FnZTogUGFydGlhbDxNZXNzYWdlPiAmIE1lc3NhZ2VCYXNlID0ge1xuICBnZXQgY3Jvc3Nwb3N0ZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZmxhZ3M/LmNvbnRhaW5zKE1lc3NhZ2VGbGFncy5Dcm9zc3Bvc3RlZCkgPz8gZmFsc2VcbiAgfSxcbiAgc2V0IGNyb3NzcG9zdGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKCF0aGlzLmZsYWdzKSByZXR1cm5cbiAgICBpZiAodmFsdWUpIHRoaXMuZmxhZ3MuYWRkKE1lc3NhZ2VGbGFncy5Dcm9zc3Bvc3RlZClcbiAgICBlbHNlIHRoaXMuZmxhZ3MucmVtb3ZlKE1lc3NhZ2VGbGFncy5Dcm9zc3Bvc3RlZClcbiAgfSxcbiAgZ2V0IGVwaGVtZXJhbCgpIHtcbiAgICByZXR1cm4gdGhpcy5mbGFncz8uY29udGFpbnMoTWVzc2FnZUZsYWdzLkVwaGVtZXJhbCkgPz8gZmFsc2VcbiAgfSxcbiAgc2V0IGVwaGVtZXJhbCh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICghdGhpcy5mbGFncykgcmV0dXJuXG4gICAgaWYgKHZhbHVlKSB0aGlzLmZsYWdzLmFkZChNZXNzYWdlRmxhZ3MuRXBoZW1lcmFsKVxuICAgIGVsc2UgdGhpcy5mbGFncy5yZW1vdmUoTWVzc2FnZUZsYWdzLkVwaGVtZXJhbClcbiAgfSxcbiAgZ2V0IGZhaWxlZFRvTWVudGlvblNvbWVSb2xlc0luVGhyZWFkKCkge1xuICAgIHJldHVybiB0aGlzLmZsYWdzPy5jb250YWlucyhNZXNzYWdlRmxhZ3MuRmFpbGVkVG9NZW50aW9uU29tZVJvbGVzSW5UaHJlYWQpID8/IGZhbHNlXG4gIH0sXG4gIHNldCBmYWlsZWRUb01lbnRpb25Tb21lUm9sZXNJblRocmVhZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICghdGhpcy5mbGFncykgcmV0dXJuXG4gICAgaWYgKHZhbHVlKSB0aGlzLmZsYWdzLmFkZChNZXNzYWdlRmxhZ3MuRmFpbGVkVG9NZW50aW9uU29tZVJvbGVzSW5UaHJlYWQpXG4gICAgZWxzZSB0aGlzLmZsYWdzLnJlbW92ZShNZXNzYWdlRmxhZ3MuRmFpbGVkVG9NZW50aW9uU29tZVJvbGVzSW5UaHJlYWQpXG4gIH0sXG4gIGdldCBoYXNUaHJlYWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZmxhZ3M/LmNvbnRhaW5zKE1lc3NhZ2VGbGFncy5IYXNUaHJlYWQpID8/IGZhbHNlXG4gIH0sXG4gIHNldCBoYXNUaHJlYWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAoIXRoaXMuZmxhZ3MpIHJldHVyblxuICAgIGlmICh2YWx1ZSkgdGhpcy5mbGFncy5hZGQoTWVzc2FnZUZsYWdzLkhhc1RocmVhZClcbiAgICBlbHNlIHRoaXMuZmxhZ3MucmVtb3ZlKE1lc3NhZ2VGbGFncy5IYXNUaHJlYWQpXG4gIH0sXG4gIGdldCBpc0Nyb3NzcG9zdCgpIHtcbiAgICByZXR1cm4gdGhpcy5mbGFncz8uY29udGFpbnMoTWVzc2FnZUZsYWdzLklzQ3Jvc3Nwb3N0KSA/PyBmYWxzZVxuICB9LFxuICBzZXQgaXNDcm9zc3Bvc3QodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAoIXRoaXMuZmxhZ3MpIHJldHVyblxuICAgIGlmICh2YWx1ZSkgdGhpcy5mbGFncy5hZGQoTWVzc2FnZUZsYWdzLklzQ3Jvc3Nwb3N0KVxuICAgIGVsc2UgdGhpcy5mbGFncy5yZW1vdmUoTWVzc2FnZUZsYWdzLklzQ3Jvc3Nwb3N0KVxuICB9LFxuICBnZXQgbG9hZGluZygpIHtcbiAgICByZXR1cm4gdGhpcy5mbGFncz8uY29udGFpbnMoTWVzc2FnZUZsYWdzLkxvYWRpbmcpID8/IGZhbHNlXG4gIH0sXG4gIHNldCBsb2FkaW5nKHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKCF0aGlzLmZsYWdzKSByZXR1cm5cbiAgICBpZiAodmFsdWUpIHRoaXMuZmxhZ3MuYWRkKE1lc3NhZ2VGbGFncy5Mb2FkaW5nKVxuICAgIGVsc2UgdGhpcy5mbGFncy5yZW1vdmUoTWVzc2FnZUZsYWdzLkxvYWRpbmcpXG4gIH0sXG4gIGdldCBtZW50aW9uZWRVc2VySWRzKCkge1xuICAgIHJldHVybiB0aGlzLm1lbnRpb25zPy5tYXAoKHVzZXIpID0+IHVzZXIuaWQpID8/IFtdXG4gIH0sXG4gIGdldCBtZW50aW9uRXZlcnlvbmUoKSB7XG4gICAgcmV0dXJuIHRoaXMuYml0ZmllbGQ/LmNvbnRhaW5zKDIpID8/IGZhbHNlXG4gIH0sXG4gIHNldCBtZW50aW9uRXZlcnlvbmUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAoIXRoaXMuYml0ZmllbGQpIHJldHVyblxuICAgIGlmICh2YWx1ZSkgdGhpcy5iaXRmaWVsZC5hZGQoMilcbiAgICBlbHNlIHRoaXMuYml0ZmllbGQucmVtb3ZlKDIpXG4gIH0sXG4gIGdldCBwaW5uZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuYml0ZmllbGQ/LmNvbnRhaW5zKDMpID8/IGZhbHNlXG4gIH0sXG4gIHNldCBwaW5uZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAoIXRoaXMuYml0ZmllbGQpIHJldHVyblxuICAgIGlmICh2YWx1ZSkgdGhpcy5iaXRmaWVsZC5hZGQoMylcbiAgICBlbHNlIHRoaXMuYml0ZmllbGQucmVtb3ZlKDMpXG4gIH0sXG4gIGdldCBzb3VyY2VNZXNzYWdlRGVsZXRlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5mbGFncz8uY29udGFpbnMoTWVzc2FnZUZsYWdzLlNvdXJjZU1lc3NhZ2VEZWxldGVkKSA/PyBmYWxzZVxuICB9LFxuICBzZXQgc291cmNlTWVzc2FnZURlbGV0ZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAoIXRoaXMuZmxhZ3MpIHJldHVyblxuICAgIGlmICh2YWx1ZSkgdGhpcy5mbGFncy5hZGQoTWVzc2FnZUZsYWdzLlNvdXJjZU1lc3NhZ2VEZWxldGVkKVxuICAgIGVsc2UgdGhpcy5mbGFncy5yZW1vdmUoTWVzc2FnZUZsYWdzLlNvdXJjZU1lc3NhZ2VEZWxldGVkKVxuICB9LFxuICBnZXQgc3VwcHJlc3NFbWJlZHMoKSB7XG4gICAgcmV0dXJuIHRoaXMuZmxhZ3M/LmNvbnRhaW5zKE1lc3NhZ2VGbGFncy5TdXBwcmVzc0VtYmVkcykgPz8gZmFsc2VcbiAgfSxcbiAgc2V0IHN1cHByZXNzRW1iZWRzKHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKCF0aGlzLmZsYWdzKSByZXR1cm5cbiAgICBpZiAodmFsdWUpIHRoaXMuZmxhZ3MuYWRkKE1lc3NhZ2VGbGFncy5TdXBwcmVzc0VtYmVkcylcbiAgICBlbHNlIHRoaXMuZmxhZ3MucmVtb3ZlKE1lc3NhZ2VGbGFncy5TdXBwcmVzc0VtYmVkcylcbiAgfSxcbiAgZ2V0IHN1cHByZXNzTm90aWZpY2F0aW9ucygpIHtcbiAgICByZXR1cm4gdGhpcy5mbGFncz8uY29udGFpbnMoTWVzc2FnZUZsYWdzLlN1cHByZXNzTm90aWZpY2F0aW9ucykgPz8gZmFsc2VcbiAgfSxcbiAgc2V0IHN1cHByZXNzTm90aWZpY2F0aW9ucyh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICghdGhpcy5mbGFncykgcmV0dXJuXG4gICAgaWYgKHZhbHVlKSB0aGlzLmZsYWdzLmFkZChNZXNzYWdlRmxhZ3MuU3VwcHJlc3NOb3RpZmljYXRpb25zKVxuICAgIGVsc2UgdGhpcy5mbGFncy5yZW1vdmUoTWVzc2FnZUZsYWdzLlN1cHByZXNzTm90aWZpY2F0aW9ucylcbiAgfSxcbiAgZ2V0IHRpbWVzdGFtcCgpIHtcbiAgICByZXR1cm4gdGhpcy5pZCA/IHNub3dmbGFrZVRvVGltZXN0YW1wKHRoaXMuaWQpIDogMFxuICB9LFxuICBnZXQgdHRzKCkge1xuICAgIHJldHVybiB0aGlzLmJpdGZpZWxkPy5jb250YWlucygxKSA/PyBmYWxzZVxuICB9LFxuICBzZXQgdHRzKHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKCF0aGlzLmJpdGZpZWxkKSByZXR1cm5cbiAgICBpZiAodmFsdWUpIHRoaXMuYml0ZmllbGQuYWRkKDEpXG4gICAgZWxzZSB0aGlzLmJpdGZpZWxkLnJlbW92ZSgxKVxuICB9LFxuICBnZXQgdXJnZW50KCkge1xuICAgIHJldHVybiB0aGlzLmZsYWdzPy5jb250YWlucyhNZXNzYWdlRmxhZ3MuVXJnZW50KSA/PyBmYWxzZVxuICB9LFxuICBzZXQgdXJnZW50KHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKCF0aGlzLmZsYWdzKSByZXR1cm5cbiAgICBpZiAodmFsdWUpIHRoaXMuZmxhZ3MuYWRkKE1lc3NhZ2VGbGFncy5VcmdlbnQpXG4gICAgZWxzZSB0aGlzLmZsYWdzLnJlbW92ZShNZXNzYWdlRmxhZ3MuVXJnZW50KVxuICB9LFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1lc3NhZ2VCYXNlIHtcbiAgLyoqIEhvbGRzIGFsbCB0aGUgYm9vbGVhbiB2YWx1ZXMgb24gdGhpcyBtZXNzYWdlLiAqL1xuICBiaXRmaWVsZD86IFRvZ2dsZUJpdGZpZWxkXG4gIC8qKiBXaGV0aGVyIHRoaXMgbWVzc2FnZSBoYXMgYmVlbiBwdWJsaXNoZWQgdG8gc3Vic2NyaWJlZCBjaGFubmVscyAodmlhIENoYW5uZWwgRm9sbG93aW5nKSAqL1xuICBjcm9zc3Bvc3RlZDogYm9vbGVhblxuICAvKiogV2hldGhlciB0aGlzIG1lc3NhZ2UgaXMgb25seSB2aXNpYmxlIHRvIHRoZSB1c2VyIHdobyBpbnZva2VkIHRoZSBJbnRlcmFjdGlvbiAqL1xuICBlcGhlbWVyYWw6IGJvb2xlYW5cbiAgLyoqIFdoZXRoZXIgdGhpcyBtZXNzYWdlIGZhaWxlZCB0byBtZW50aW9uIHNvbWUgcm9sZXMgYW5kIGFkZCB0aGVpciBtZW1iZXJzIHRvIHRoZSB0aHJlYWQgKi9cbiAgZmFpbGVkVG9NZW50aW9uU29tZVJvbGVzSW5UaHJlYWQ6IGJvb2xlYW5cbiAgLyoqIE1lc3NhZ2UgZmxhZ3MgY29tYmluZWQgYXMgYSBiaXRmaWVsZCAqL1xuICBmbGFncz86IFRvZ2dsZUJpdGZpZWxkXG4gIC8qKiBXaGV0aGVyIHRoaXMgbWVzc2FnZSBoYXMgYW4gYXNzb2NpYXRlZCB0aHJlYWQsIHdpdGggdGhlIHNhbWUgaWQgYXMgdGhlIG1lc3NhZ2UgKi9cbiAgaGFzVGhyZWFkOiBib29sZWFuXG4gIC8qKiBXaGV0aGVyIHRoaXMgbWVzc2FnZSBvcmlnaW5hdGVkIGZyb20gYSBtZXNzYWdlIGluIGFub3RoZXIgY2hhbm5lbCAodmlhIENoYW5uZWwgRm9sbG93aW5nKSAqL1xuICBpc0Nyb3NzcG9zdDogYm9vbGVhblxuICAvKiogV2hldGhlciB0aGlzIG1lc3NhZ2UgaXMgYW4gSW50ZXJhY3Rpb24gUmVzcG9uc2UgYW5kIHRoZSBib3QgaXMgXCJ0aGlua2luZ1wiICovXG4gIGxvYWRpbmc6IGJvb2xlYW5cbiAgLyoqIFRoZSBpZHMgb2YgdGhlIHVzZXJzIHdobyB3ZXJlIG1lbnRpb25lZCBpbiB0aGlzIG1lc3NhZ2UuICovXG4gIG1lbnRpb25lZFVzZXJJZHM6IGJpZ2ludFtdXG4gIC8qKiBXaGV0aGVyIHRoaXMgbWVzc2FnZSBtZW50aW9ucyBldmVyeW9uZSAqL1xuICBtZW50aW9uRXZlcnlvbmU6IGJvb2xlYW5cbiAgLyoqIFdoZXRoZXIgdGhpcyBtZXNzYWdlIGlzIHBpbm5lZCAqL1xuICBwaW5uZWQ6IGJvb2xlYW5cbiAgLyoqIFdoZXRoZXIgdGhlIHNvdXJjZSBtZXNzYWdlIGZvciB0aGlzIGNyb3NzcG9zdCBoYXMgYmVlbiBkZWxldGVkICh2aWEgQ2hhbm5lbCBGb2xsb3dpbmcpICovXG4gIHNvdXJjZU1lc3NhZ2VEZWxldGVkOiBib29sZWFuXG4gIC8qKiBXaGV0aGVyIGRvIG5vdCBpbmNsdWRlIGFueSBlbWJlZHMgd2hlbiBzZXJpYWxpemluZyB0aGlzIG1lc3NhZ2UgKi9cbiAgc3VwcHJlc3NFbWJlZHM6IGJvb2xlYW5cbiAgLyoqIFdoZXRoZXIgdGhpcyBtZXNzYWdlIHdpbGwgbm90IHRyaWdnZXIgcHVzaCBhbmQgZGVza3RvcCBub3RpZmljYXRpb25zICovXG4gIHN1cHByZXNzTm90aWZpY2F0aW9uczogYm9vbGVhblxuICAvKiogVGhlIHRpbWVzdGFtcCBpbiBtaWxsaXNlY29uZHMgd2hlbiB0aGlzIG1lc3NhZ2Ugd2FzIGNyZWF0ZWQgKi9cbiAgdGltZXN0YW1wOiBudW1iZXJcbiAgLyoqIFdoZXRoZXIgdGhpcyB3YXMgYSBUVFMgbWVzc2FnZS4gKi9cbiAgdHRzOiBib29sZWFuXG4gIC8qKiBXaGV0aGVyIHRoaXMgbWVzc2FnZSBjYW1lIGZyb20gdGhlIHVyZ2VudCBtZXNzYWdlIHN5c3RlbSAqL1xuICB1cmdlbnQ6IGJvb2xlYW5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZUJhc2Uge1xuICAvKiogU2VudCB3aXRoIFJpY2ggUHJlc2VuY2UtcmVsYXRlZCBjaGF0IGVtYmVkcyAqL1xuICBhY3Rpdml0eT86IHtcbiAgICAvKiogVHlwZSBvZiBtZXNzYWdlIGFjdGl2aXR5ICovXG4gICAgdHlwZTogTWVzc2FnZUFjdGl2aXR5VHlwZXNcbiAgICAvKiogcGFydHlfaWQgZnJvbSBhIFJpY2ggUHJlc2VuY2UgZXZlbnQgKi9cbiAgICBwYXJ0eUlkPzogc3RyaW5nXG4gIH1cbiAgLyoqIGlmIHRoZSBtZXNzYWdlIGlzIGFuIEludGVyYWN0aW9uIG9yIGFwcGxpY2F0aW9uLW93bmVkIHdlYmhvb2ssIHRoaXMgaXMgdGhlIGlkIG9mIHRoZSBhcHBsaWNhdGlvbiAqL1xuICBhcHBsaWNhdGlvbklkPzogYmlnaW50XG4gIC8qKiBBbnkgYXR0YWNoZWQgZmlsZXMgb24gdGhpcyBtZXNzYWdlLiAqL1xuICBhdHRhY2htZW50cz86IEF0dGFjaG1lbnRbXVxuICAvKiogVGhlIGF1dGhvciBvZiB0aGlzIG1lc3NhZ2UgKG5vdCBndWFyYW50ZWVkIHRvIGJlIGEgdmFsaWQgdXNlcikgTm90ZTogVGhlIGF1dGhvciBvYmplY3QgZm9sbG93cyB0aGUgc3RydWN0dXJlIG9mIHRoZSB1c2VyIG9iamVjdCwgYnV0IGlzIG9ubHkgYSB2YWxpZCB1c2VyIGluIHRoZSBjYXNlIHdoZXJlIHRoZSBtZXNzYWdlIGlzIGdlbmVyYXRlZCBieSBhIHVzZXIgb3IgYm90IHVzZXIuIElmIHRoZSBtZXNzYWdlIGlzIGdlbmVyYXRlZCBieSBhIHdlYmhvb2ssIHRoZSBhdXRob3Igb2JqZWN0IGNvcnJlc3BvbmRzIHRvIHRoZSB3ZWJob29rJ3MgaWQsIHVzZXJuYW1lLCBhbmQgYXZhdGFyLiBZb3UgY2FuIHRlbGwgaWYgYSBtZXNzYWdlIGlzIGdlbmVyYXRlZCBieSBhIHdlYmhvb2sgYnkgY2hlY2tpbmcgZm9yIHRoZSB3ZWJob29rX2lkIG9uIHRoZSBtZXNzYWdlIG9iamVjdC4gKi9cbiAgYXV0aG9yOiBVc2VyXG4gIC8qKiBpZCBvZiB0aGUgY2hhbm5lbCB0aGUgbWVzc2FnZSB3YXMgc2VudCBpbiAqL1xuICBjaGFubmVsSWQ6IGJpZ2ludFxuICAvKiogVGhlIGNvbXBvbmVudHMgcmVsYXRlZCB0byB0aGlzIG1lc3NhZ2UgKi9cbiAgY29tcG9uZW50czogQ29tcG9uZW50W11cbiAgLyoqIENvbnRlbnRzIG9mIHRoZSBtZXNzYWdlICovXG4gIGNvbnRlbnQ6IHN0cmluZ1xuICAvKiogVGhlIHRpbWVzdGFtcCBpbiBtaWxsaXNlY29uZHMgd2hlbiB0aGlzIG1lc3NhZ2Ugd2FzIGVkaXRlZCBsYXN0LiAqL1xuICBlZGl0ZWRUaW1lc3RhbXA/OiBudW1iZXJcbiAgLyoqIEFueSBlbWJlZGRlZCBjb250ZW50ICovXG4gIGVtYmVkcz86IEVtYmVkW11cbiAgLyoqIGlkIG9mIHRoZSBndWlsZCB0aGUgbWVzc2FnZSB3YXMgc2VudCBpbiBOb3RlOiBGb3IgTUVTU0FHRV9DUkVBVEUgYW5kIE1FU1NBR0VfVVBEQVRFIGV2ZW50cywgdGhlIG1lc3NhZ2Ugb2JqZWN0IG1heSBub3QgY29udGFpbiBhIGd1aWxkX2lkIG9yIG1lbWJlciBmaWVsZCBzaW5jZSB0aGUgZXZlbnRzIGFyZSBzZW50IGRpcmVjdGx5IHRvIHRoZSByZWNlaXZpbmcgdXNlciBhbmQgdGhlIGJvdCB3aG8gc2VudCB0aGUgbWVzc2FnZSwgcmF0aGVyIHRoYW4gYmVpbmcgc2VudCB0aHJvdWdoIHRoZSBndWlsZCBsaWtlIG5vbi1lcGhlbWVyYWwgbWVzc2FnZXMuICovXG4gIGd1aWxkSWQ/OiBiaWdpbnRcbiAgLyoqIGlkIG9mIHRoZSBtZXNzYWdlICovXG4gIGlkOiBiaWdpbnRcbiAgLyoqIFNlbnQgaWYgdGhlIG1lc3NhZ2UgaXMgYSByZXNwb25zZSB0byBhbiBJbnRlcmFjdGlvbiAqL1xuICBpbnRlcmFjdGlvbj86IHtcbiAgICAvKiogSWQgb2YgdGhlIGludGVyYWN0aW9uICovXG4gICAgaWQ6IGJpZ2ludFxuICAgIC8qKiBUaGUgbWVtYmVyIHdobyBpbnZva2VkIHRoZSBpbnRlcmFjdGlvbiBpbiB0aGUgZ3VpbGQgICovXG4gICAgbWVtYmVyPzogTWVtYmVyXG4gICAgLyoqIFRoZSBuYW1lIG9mIHRoZSBBcHBsaWNhdGlvbkNvbW1hbmQgaW5jbHVkaW5nIHRoZSBuYW1lIG9mIHRoZSBzdWJjb21tYW5kL3N1YmNvbW1hbmQgZ3JvdXAgKi9cbiAgICBuYW1lOiBzdHJpbmdcbiAgICAvKiogVGhlIHR5cGUgb2YgaW50ZXJhY3Rpb24gKi9cbiAgICB0eXBlOiBJbnRlcmFjdGlvblR5cGVzXG4gICAgLyoqIFRoZSB1c2VyIHdobyBpbnZva2VkIHRoZSBpbnRlcmFjdGlvbiAqL1xuICAgIHVzZXI6IFVzZXJcbiAgfVxuICAvKiogTWVtYmVyIHByb3BlcnRpZXMgZm9yIHRoaXMgbWVzc2FnZSdzIGF1dGhvciBOb3RlOiBUaGUgbWVtYmVyIG9iamVjdCBleGlzdHMgaW4gTUVTU0FHRV9DUkVBVEUgYW5kIE1FU1NBR0VfVVBEQVRFIGV2ZW50cyBmcm9tIHRleHQtYmFzZWQgZ3VpbGQgY2hhbm5lbHMuIFRoaXMgYWxsb3dzIGJvdHMgdG8gb2J0YWluIHJlYWwtdGltZSBtZW1iZXIgZGF0YSB3aXRob3V0IHJlcXVpcmluZyBib3RzIHRvIHN0b3JlIG1lbWJlciBzdGF0ZSBpbiBtZW1vcnkuICovXG4gIG1lbWJlcj86IE1lbWJlclxuICAvKiogVXNlcnMgc3BlY2lmaWNhbGx5IG1lbnRpb25lZCBpbiB0aGUgbWVzc2FnZSBOb3RlOiBUaGUgdXNlciBvYmplY3RzIGluIHRoZSBtZW50aW9ucyBhcnJheSB3aWxsIG9ubHkgaGF2ZSB0aGUgcGFydGlhbCBtZW1iZXIgZmllbGQgcHJlc2VudCBpbiBNRVNTQUdFX0NSRUFURSBhbmQgTUVTU0FHRV9VUERBVEUgZXZlbnRzIGZyb20gdGV4dC1iYXNlZCBndWlsZCBjaGFubmVscy4gKi9cbiAgbWVudGlvbnM/OiBVc2VyW11cbiAgLyoqIENoYW5uZWxzIHNwZWNpZmljYWxseSBtZW50aW9uZWQgaW4gdGhpcyBtZXNzYWdlIE5vdGU6IE5vdCBhbGwgY2hhbm5lbCBtZW50aW9ucyBpbiBhIG1lc3NhZ2Ugd2lsbCBhcHBlYXIgaW4gbWVudGlvbl9jaGFubmVscy4gT25seSB0ZXh0dWFsIGNoYW5uZWxzIHRoYXQgYXJlIHZpc2libGUgdG8gZXZlcnlvbmUgaW4gYSBkaXNjb3ZlcmFibGUgZ3VpbGQgd2lsbCBldmVyIGJlIGluY2x1ZGVkLiBPbmx5IGNyb3NzcG9zdGVkIG1lc3NhZ2VzICh2aWEgQ2hhbm5lbCBGb2xsb3dpbmcpIGN1cnJlbnRseSBpbmNsdWRlIG1lbnRpb25fY2hhbm5lbHMgYXQgYWxsLiBJZiBubyBtZW50aW9ucyBpbiB0aGUgbWVzc2FnZSBtZWV0IHRoZXNlIHJlcXVpcmVtZW50cywgdGhpcyBmaWVsZCB3aWxsIG5vdCBiZSBzZW50LiAqL1xuICBtZW50aW9uZWRDaGFubmVsSWRzPzogYmlnaW50W11cbiAgLyoqIFJvbGVzIHNwZWNpZmljYWxseSBtZW50aW9uZWQgaW4gdGhpcyBtZXNzYWdlICovXG4gIG1lbnRpb25lZFJvbGVJZHM/OiBiaWdpbnRbXVxuICAvKiogRGF0YSBzaG93aW5nIHRoZSBzb3VyY2Ugb2YgYSBjcm9zc3Bvc3RlZCBjaGFubmVsIGZvbGxvdyBhZGQsIHBpbiBvciByZXBseSBtZXNzYWdlICovXG4gIG1lc3NhZ2VSZWZlcmVuY2U/OiB7XG4gICAgLyoqIGlkIG9mIHRoZSBvcmlnaW5hdGluZyBtZXNzYWdlJ3MgY2hhbm5lbCBOb3RlOiBjaGFubmVsX2lkIGlzIG9wdGlvbmFsIHdoZW4gY3JlYXRpbmcgYSByZXBseSwgYnV0IHdpbGwgYWx3YXlzIGJlIHByZXNlbnQgd2hlbiByZWNlaXZpbmcgYW4gZXZlbnQvcmVzcG9uc2UgdGhhdCBpbmNsdWRlcyB0aGlzIGRhdGEgbW9kZWwuICovXG4gICAgY2hhbm5lbElkPzogYmlnaW50XG4gICAgLyoqIGlkIG9mIHRoZSBvcmlnaW5hdGluZyBtZXNzYWdlJ3MgZ3VpbGQgKi9cbiAgICBndWlsZElkPzogYmlnaW50XG4gICAgLyoqIGlkIG9mIHRoZSBvcmlnaW5hdGluZyBtZXNzYWdlICovXG4gICAgbWVzc2FnZUlkPzogYmlnaW50XG4gIH1cbiAgLyoqIFVzZWQgZm9yIHZhbGlkYXRpbmcgYSBtZXNzYWdlIHdhcyBzZW50ICovXG4gIG5vbmNlPzogc3RyaW5nIHwgbnVtYmVyXG4gIC8qKiBSZWFjdGlvbnMgb24gdGhpcyBtZXNzYWdlLiAqL1xuICByZWFjdGlvbnM/OiBBcnJheTx7XG4gICAgLyoqIFdoZXRoZXIgdGhlIGN1cnJlbnQgdXNlciByZWFjdGVkIHVzaW5nIHRoaXMgZW1vamkgKi9cbiAgICBtZTogYm9vbGVhblxuICAgIC8qKiBUaW1lcyB0aGlzIGVtb2ppIGhhcyBiZWVuIHVzZWQgdG8gcmVhY3QgKi9cbiAgICBjb3VudDogbnVtYmVyXG4gICAgLyoqIEVtb2ppIGluZm9ybWF0aW9uICovXG4gICAgZW1vamk6IEVtb2ppXG4gIH0+XG4gIC8qKiBTZW50IGlmIHRoZSBtZXNzYWdlIGNvbnRhaW5zIHN0aWNrZXJzICovXG4gIHN0aWNrZXJJdGVtcz86IEFycmF5PHtcbiAgICAvKiogVGhlIGlkIG9mIHRoaXMgc3RpY2tlci4gKi9cbiAgICBpZDogYmlnaW50XG4gICAgLyoqIFRoZSBuYW1lIG9mIHRoaXMgc3RpY2tlci4gKi9cbiAgICBuYW1lOiBzdHJpbmdcbiAgICAvKiogVGhlIHR5cGUgb2YgdGhpcyBzdGlja2VycyBmb3JtYXQuICovXG4gICAgZm9ybWF0VHlwZTogU3RpY2tlckZvcm1hdFR5cGVzXG4gIH0+XG4gIC8qKiBUeXBlIG9mIG1lc3NhZ2UgKi9cbiAgdHlwZTogTWVzc2FnZVR5cGVzXG4gIC8qKiBUaGUgdGhyZWFkIHRoYXQgd2FzIHN0YXJ0ZWQgZnJvbSB0aGlzIG1lc3NhZ2UsIGluY2x1ZGVzIHRocmVhZCBtZW1iZXIgb2JqZWN0ICAqL1xuICB0aHJlYWQ/OiBDaGFubmVsXG4gIC8qKiBJZiB0aGUgbWVzc2FnZSBpcyBnZW5lcmF0ZWQgYnkgYSB3ZWJob29rLCB0aGlzIGlzIHRoZSB3ZWJob29rJ3MgaWQgKi9cbiAgd2ViaG9va0lkPzogYmlnaW50XG59XG5cbmNvbnN0IEVNUFRZX1NUUklORyA9ICcnXG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1NZXNzYWdlKGJvdDogQm90LCBwYXlsb2FkOiBEaXNjb3JkTWVzc2FnZSk6IE1lc3NhZ2Uge1xuICBjb25zdCBndWlsZElkID0gcGF5bG9hZC5ndWlsZF9pZCA/IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuZ3VpbGRfaWQpIDogdW5kZWZpbmVkXG4gIGNvbnN0IHVzZXJJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuYXV0aG9yLmlkKVxuXG4gIGNvbnN0IG1lc3NhZ2U6IE1lc3NhZ2UgPSBPYmplY3QuY3JlYXRlKGJhc2VNZXNzYWdlKVxuICBtZXNzYWdlLmJpdGZpZWxkID0gbmV3IFRvZ2dsZUJpdGZpZWxkKClcbiAgbWVzc2FnZS5mbGFncyA9IG5ldyBUb2dnbGVCaXRmaWVsZChwYXlsb2FkLmZsYWdzKVxuXG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5tZXNzYWdlXG5cbiAgaWYgKHByb3BzLmF1dGhvciAmJiBwYXlsb2FkLmF1dGhvcikgbWVzc2FnZS5hdXRob3IgPSBib3QudHJhbnNmb3JtZXJzLnVzZXIoYm90LCBwYXlsb2FkLmF1dGhvcilcbiAgaWYgKHBheWxvYWQuYXBwbGljYXRpb25faWQgJiYgcHJvcHMuYXBwbGljYXRpb25JZCkgbWVzc2FnZS5hcHBsaWNhdGlvbklkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5hcHBsaWNhdGlvbl9pZClcbiAgaWYgKHBheWxvYWQuYXR0YWNobWVudHM/Lmxlbmd0aCAmJiBwcm9wcy5hdHRhY2htZW50cykge1xuICAgIG1lc3NhZ2UuYXR0YWNobWVudHMgPSBwYXlsb2FkLmF0dGFjaG1lbnRzLm1hcCgoYXR0YWNobWVudCkgPT4gYm90LnRyYW5zZm9ybWVycy5hdHRhY2htZW50KGJvdCwgYXR0YWNobWVudCkpXG4gIH1cbiAgaWYgKHByb3BzLmNoYW5uZWxJZCAmJiBwYXlsb2FkLmNoYW5uZWxfaWQpIG1lc3NhZ2UuY2hhbm5lbElkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5jaGFubmVsX2lkKVxuICBpZiAocHJvcHMuY29tcG9uZW50cyAmJiBwYXlsb2FkLmNvbXBvbmVudHM/Lmxlbmd0aCkgbWVzc2FnZS5jb21wb25lbnRzID0gcGF5bG9hZC5jb21wb25lbnRzLm1hcCgoY29tcCkgPT4gYm90LnRyYW5zZm9ybWVycy5jb21wb25lbnQoYm90LCBjb21wKSlcbiAgaWYgKHByb3BzLmNvbnRlbnQgJiYgcGF5bG9hZC5jb250ZW50KSBtZXNzYWdlLmNvbnRlbnQgPSBwYXlsb2FkLmNvbnRlbnQgPz8gRU1QVFlfU1RSSU5HXG4gIGlmIChwYXlsb2FkLmVkaXRlZF90aW1lc3RhbXAgJiYgcHJvcHMuZWRpdGVkVGltZXN0YW1wKSBtZXNzYWdlLmVkaXRlZFRpbWVzdGFtcCA9IERhdGUucGFyc2UocGF5bG9hZC5lZGl0ZWRfdGltZXN0YW1wKVxuICBpZiAocGF5bG9hZC5lbWJlZHM/Lmxlbmd0aCAmJiBwcm9wcy5lbWJlZHMpIG1lc3NhZ2UuZW1iZWRzID0gcGF5bG9hZC5lbWJlZHMubWFwKChlbWJlZCkgPT4gYm90LnRyYW5zZm9ybWVycy5lbWJlZChib3QsIGVtYmVkKSlcbiAgaWYgKGd1aWxkSWQgJiYgcHJvcHMuZ3VpbGRJZCkgbWVzc2FnZS5ndWlsZElkID0gZ3VpbGRJZFxuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgbWVzc2FnZS5pZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuaWQpXG4gIGlmIChwYXlsb2FkLmludGVyYWN0aW9uKSB7XG4gICAgY29uc3QgaW50ZXJhY3Rpb24gPSB7fSBhcyBOb25OdWxsYWJsZTxNZXNzYWdlWydpbnRlcmFjdGlvbiddPlxuICAgIGxldCBlZGl0ZWQgPSBmYWxzZVxuICAgIGlmIChwcm9wcy5pbnRlcmFjdGlvbi5pZCkge1xuICAgICAgaW50ZXJhY3Rpb24uaWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmludGVyYWN0aW9uLmlkKVxuICAgICAgZWRpdGVkID0gdHJ1ZVxuICAgIH1cbiAgICBpZiAocHJvcHMuaW50ZXJhY3Rpb24ubWVtYmVyICYmIHBheWxvYWQuaW50ZXJhY3Rpb24ubWVtYmVyKSB7XG4gICAgICAvLyBAdHMtZXhwZWN0LWVycm9yIFRPRE86IHBhcnRpYWwgLSBjaGVjayB3aHkgdGhpcyBpcyBwYXJ0aWFsIGFuZCBoYW5kbGUgYXMgbmVlZGVkXG4gICAgICBpbnRlcmFjdGlvbi5tZW1iZXIgPSBib3QudHJhbnNmb3JtZXJzLm1lbWJlcihib3QsIHBheWxvYWQuaW50ZXJhY3Rpb24ubWVtYmVyLCBndWlsZElkLCBwYXlsb2FkLmludGVyYWN0aW9uLnVzZXIuaWQpXG4gICAgICBlZGl0ZWQgPSB0cnVlXG4gICAgfVxuICAgIGlmIChwcm9wcy5pbnRlcmFjdGlvbi5uYW1lKSB7XG4gICAgICBpbnRlcmFjdGlvbi5uYW1lID0gcGF5bG9hZC5pbnRlcmFjdGlvbi5uYW1lXG4gICAgICBlZGl0ZWQgPSB0cnVlXG4gICAgfVxuICAgIGlmIChwcm9wcy5pbnRlcmFjdGlvbi50eXBlKSB7XG4gICAgICBpbnRlcmFjdGlvbi50eXBlID0gcGF5bG9hZC5pbnRlcmFjdGlvbi50eXBlXG4gICAgICBlZGl0ZWQgPSB0cnVlXG4gICAgfVxuICAgIGlmIChwcm9wcy5pbnRlcmFjdGlvbi51c2VyKSB7XG4gICAgICBpbnRlcmFjdGlvbi51c2VyID0gYm90LnRyYW5zZm9ybWVycy51c2VyKGJvdCwgcGF5bG9hZC5pbnRlcmFjdGlvbi51c2VyKVxuICAgICAgZWRpdGVkID0gdHJ1ZVxuICAgIH1cblxuICAgIGlmIChlZGl0ZWQpIG1lc3NhZ2UuaW50ZXJhY3Rpb24gPSBpbnRlcmFjdGlvblxuICB9XG4gIGlmIChwcm9wcy5tZW1iZXIgJiYgcGF5bG9hZC5tZW1iZXIgJiYgZ3VpbGRJZCkgbWVzc2FnZS5tZW1iZXIgPSBib3QudHJhbnNmb3JtZXJzLm1lbWJlcihib3QsIHBheWxvYWQubWVtYmVyLCBndWlsZElkLCB1c2VySWQpXG4gIGlmIChwYXlsb2FkLm1lbnRpb25fZXZlcnlvbmUpIG1lc3NhZ2UubWVudGlvbkV2ZXJ5b25lID0gdHJ1ZVxuICBpZiAocHJvcHMubWVudGlvbmVkQ2hhbm5lbElkcyAmJiBwYXlsb2FkLm1lbnRpb25fY2hhbm5lbHM/Lmxlbmd0aCkge1xuICAgIG1lc3NhZ2UubWVudGlvbmVkQ2hhbm5lbElkcyA9IFtcbiAgICAgIC8vIEtlZXAgYW55IGlkcyB0aHQgZGlzY29yZCBzZW5kc1xuICAgICAgLi4uKHBheWxvYWQubWVudGlvbl9jaGFubmVscyA/PyBbXSkubWFwKChtKSA9PiBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShtLmlkKSksXG4gICAgICAvLyBBZGQgYW55IG90aGVyIGlkcyB0aGF0IGNhbiBiZSB2YWxpZGF0ZWQgaW4gYSBjaGFubmVsIG1lbnRpb24gZm9ybWF0XG4gICAgICAuLi4ocGF5bG9hZC5jb250ZW50Py5tYXRjaChDSEFOTkVMX01FTlRJT05fUkVHRVgpID8/IFtdKS5tYXAoKHRleHQpID0+XG4gICAgICAgIC8vIGNvbnZlcnRzIHRoZSA8IzEyMz4gaW50byAxMjNcbiAgICAgICAgYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UodGV4dC5zdWJzdHJpbmcoMiwgdGV4dC5sZW5ndGggLSAxKSksXG4gICAgICApLFxuICAgIF1cbiAgfVxuICBpZiAocHJvcHMubWVudGlvbmVkUm9sZUlkcyAmJiBwYXlsb2FkLm1lbnRpb25fcm9sZXM/Lmxlbmd0aCkge1xuICAgIG1lc3NhZ2UubWVudGlvbmVkUm9sZUlkcyA9IHBheWxvYWQubWVudGlvbl9yb2xlcy5tYXAoKGlkKSA9PiBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShpZCkpXG4gIH1cbiAgaWYgKHByb3BzLm1lbnRpb25zICYmIHBheWxvYWQubWVudGlvbnM/Lmxlbmd0aCkge1xuICAgIG1lc3NhZ2UubWVudGlvbnMgPSBwYXlsb2FkLm1lbnRpb25zLm1hcCgodXNlcikgPT4gYm90LnRyYW5zZm9ybWVycy51c2VyKGJvdCwgdXNlcikpXG4gIH1cbiAgaWYgKHBheWxvYWQubWVzc2FnZV9yZWZlcmVuY2UpIHtcbiAgICBjb25zdCByZWZlcmVuY2UgPSB7fSBhcyBOb25OdWxsYWJsZTxNZXNzYWdlWydtZXNzYWdlUmVmZXJlbmNlJ10+XG4gICAgbGV0IGVkaXRlZCA9IGZhbHNlXG5cbiAgICBpZiAocHJvcHMubWVzc2FnZVJlZmVyZW5jZS5jaGFubmVsSWQgJiYgcGF5bG9hZC5tZXNzYWdlX3JlZmVyZW5jZS5jaGFubmVsX2lkKSB7XG4gICAgICByZWZlcmVuY2UuY2hhbm5lbElkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5tZXNzYWdlX3JlZmVyZW5jZS5jaGFubmVsX2lkKVxuICAgICAgZWRpdGVkID0gdHJ1ZVxuICAgIH1cbiAgICBpZiAocHJvcHMubWVzc2FnZVJlZmVyZW5jZS5ndWlsZElkICYmIHBheWxvYWQubWVzc2FnZV9yZWZlcmVuY2UuZ3VpbGRfaWQpIHtcbiAgICAgIHJlZmVyZW5jZS5ndWlsZElkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5tZXNzYWdlX3JlZmVyZW5jZS5ndWlsZF9pZClcbiAgICAgIGVkaXRlZCA9IHRydWVcbiAgICB9XG4gICAgaWYgKHByb3BzLm1lc3NhZ2VSZWZlcmVuY2UubWVzc2FnZUlkICYmIHBheWxvYWQubWVzc2FnZV9yZWZlcmVuY2UubWVzc2FnZV9pZCkge1xuICAgICAgcmVmZXJlbmNlLm1lc3NhZ2VJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQubWVzc2FnZV9yZWZlcmVuY2UubWVzc2FnZV9pZClcbiAgICAgIGVkaXRlZCA9IHRydWVcbiAgICB9XG5cbiAgICBpZiAoZWRpdGVkKSBtZXNzYWdlLm1lc3NhZ2VSZWZlcmVuY2UgPSByZWZlcmVuY2VcbiAgfVxuICBpZiAocGF5bG9hZC5ub25jZSAmJiBwcm9wcy5ub25jZSkgbWVzc2FnZS5ub25jZSA9IHBheWxvYWQubm9uY2VcbiAgaWYgKHBheWxvYWQucGlubmVkKSBtZXNzYWdlLnBpbm5lZCA9IHRydWVcbiAgaWYgKHBheWxvYWQucmVhY3Rpb25zPy5sZW5ndGggJiYgcHJvcHMucmVhY3Rpb25zKSB7XG4gICAgbWVzc2FnZS5yZWFjdGlvbnMgPSBwYXlsb2FkLnJlYWN0aW9ucy5tYXAoKHJlYWN0aW9uKSA9PiAoe1xuICAgICAgbWU6IHJlYWN0aW9uLm1lLFxuICAgICAgY291bnQ6IHJlYWN0aW9uLmNvdW50LFxuICAgICAgZW1vamk6IGJvdC50cmFuc2Zvcm1lcnMuZW1vamkoYm90LCByZWFjdGlvbi5lbW9qaSksXG4gICAgfSkpXG4gIH1cbiAgaWYgKHByb3BzLnN0aWNrZXJJdGVtcyAmJiBwYXlsb2FkLnN0aWNrZXJfaXRlbXM/Lmxlbmd0aClcbiAgICBtZXNzYWdlLnN0aWNrZXJJdGVtcyA9IHBheWxvYWQuc3RpY2tlcl9pdGVtcy5tYXAoKGl0ZW0pID0+ICh7XG4gICAgICBpZDogYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UoaXRlbS5pZCksXG4gICAgICBuYW1lOiBpdGVtLm5hbWUsXG4gICAgICBmb3JtYXRUeXBlOiBpdGVtLmZvcm1hdF90eXBlLFxuICAgIH0pKVxuICBpZiAocGF5bG9hZC50dHMpIG1lc3NhZ2UudHRzID0gdHJ1ZVxuICBpZiAocHJvcHMudGhyZWFkICYmIHBheWxvYWQudGhyZWFkKSBtZXNzYWdlLnRocmVhZCA9IGJvdC50cmFuc2Zvcm1lcnMuY2hhbm5lbChib3QsIHsgY2hhbm5lbDogcGF5bG9hZC50aHJlYWQsIGd1aWxkSWQgfSlcbiAgaWYgKHByb3BzLnR5cGUgJiYgcHJvcHMudHlwZSkgbWVzc2FnZS50eXBlID0gcGF5bG9hZC50eXBlXG4gIGlmIChwYXlsb2FkLndlYmhvb2tfaWQgJiYgcHJvcHMud2ViaG9va0lkKSBtZXNzYWdlLndlYmhvb2tJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQud2ViaG9va19pZClcblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy5tZXNzYWdlKGJvdCwgcGF5bG9hZCwgbWVzc2FnZSlcbn1cbiJdLCJuYW1lcyI6WyJDSEFOTkVMX01FTlRJT05fUkVHRVgiLCJzbm93Zmxha2VUb1RpbWVzdGFtcCIsIk1lc3NhZ2VGbGFncyIsIlRvZ2dsZUJpdGZpZWxkIiwiYmFzZU1lc3NhZ2UiLCJjcm9zc3Bvc3RlZCIsImZsYWdzIiwiY29udGFpbnMiLCJDcm9zc3Bvc3RlZCIsInZhbHVlIiwiYWRkIiwicmVtb3ZlIiwiZXBoZW1lcmFsIiwiRXBoZW1lcmFsIiwiZmFpbGVkVG9NZW50aW9uU29tZVJvbGVzSW5UaHJlYWQiLCJGYWlsZWRUb01lbnRpb25Tb21lUm9sZXNJblRocmVhZCIsImhhc1RocmVhZCIsIkhhc1RocmVhZCIsImlzQ3Jvc3Nwb3N0IiwiSXNDcm9zc3Bvc3QiLCJsb2FkaW5nIiwiTG9hZGluZyIsIm1lbnRpb25lZFVzZXJJZHMiLCJtZW50aW9ucyIsIm1hcCIsInVzZXIiLCJpZCIsIm1lbnRpb25FdmVyeW9uZSIsImJpdGZpZWxkIiwicGlubmVkIiwic291cmNlTWVzc2FnZURlbGV0ZWQiLCJTb3VyY2VNZXNzYWdlRGVsZXRlZCIsInN1cHByZXNzRW1iZWRzIiwiU3VwcHJlc3NFbWJlZHMiLCJzdXBwcmVzc05vdGlmaWNhdGlvbnMiLCJTdXBwcmVzc05vdGlmaWNhdGlvbnMiLCJ0aW1lc3RhbXAiLCJ0dHMiLCJ1cmdlbnQiLCJVcmdlbnQiLCJFTVBUWV9TVFJJTkciLCJ0cmFuc2Zvcm1NZXNzYWdlIiwiYm90IiwicGF5bG9hZCIsImd1aWxkSWQiLCJndWlsZF9pZCIsInRyYW5zZm9ybWVycyIsInNub3dmbGFrZSIsInVuZGVmaW5lZCIsInVzZXJJZCIsImF1dGhvciIsIm1lc3NhZ2UiLCJPYmplY3QiLCJjcmVhdGUiLCJwcm9wcyIsImRlc2lyZWRQcm9wZXJ0aWVzIiwiYXBwbGljYXRpb25faWQiLCJhcHBsaWNhdGlvbklkIiwiYXR0YWNobWVudHMiLCJsZW5ndGgiLCJhdHRhY2htZW50IiwiY2hhbm5lbElkIiwiY2hhbm5lbF9pZCIsImNvbXBvbmVudHMiLCJjb21wIiwiY29tcG9uZW50IiwiY29udGVudCIsImVkaXRlZF90aW1lc3RhbXAiLCJlZGl0ZWRUaW1lc3RhbXAiLCJEYXRlIiwicGFyc2UiLCJlbWJlZHMiLCJlbWJlZCIsImludGVyYWN0aW9uIiwiZWRpdGVkIiwibWVtYmVyIiwibmFtZSIsInR5cGUiLCJtZW50aW9uX2V2ZXJ5b25lIiwibWVudGlvbmVkQ2hhbm5lbElkcyIsIm1lbnRpb25fY2hhbm5lbHMiLCJtIiwibWF0Y2giLCJ0ZXh0Iiwic3Vic3RyaW5nIiwibWVudGlvbmVkUm9sZUlkcyIsIm1lbnRpb25fcm9sZXMiLCJtZXNzYWdlX3JlZmVyZW5jZSIsInJlZmVyZW5jZSIsIm1lc3NhZ2VSZWZlcmVuY2UiLCJtZXNzYWdlSWQiLCJtZXNzYWdlX2lkIiwibm9uY2UiLCJyZWFjdGlvbnMiLCJyZWFjdGlvbiIsIm1lIiwiY291bnQiLCJlbW9qaSIsInN0aWNrZXJJdGVtcyIsInN0aWNrZXJfaXRlbXMiLCJpdGVtIiwiZm9ybWF0VHlwZSIsImZvcm1hdF90eXBlIiwidGhyZWFkIiwiY2hhbm5lbCIsIndlYmhvb2tfaWQiLCJ3ZWJob29rSWQiLCJjdXN0b21pemVycyJdLCJtYXBwaW5ncyI6IkFBQ0EsU0FBU0EscUJBQXFCLFFBQVEsa0JBQWlCO0FBQ3ZELFNBQVNDLG9CQUFvQixRQUFrQixjQUFhO0FBQzVELFNBQVNDLFlBQVksUUFBUSxnQkFBZTtBQU81QyxTQUFTQyxjQUFjLFFBQVEsOEJBQTZCO0FBRzVELE1BQU1DLGNBQThDO0lBQ2xELElBQUlDLGVBQWM7UUFDaEIsT0FBTyxJQUFJLENBQUNDLEtBQUssRUFBRUMsU0FBU0wsYUFBYU0sV0FBVyxLQUFLLEtBQUs7SUFDaEU7SUFDQSxJQUFJSCxhQUFZ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