@discordeno/bot 19.0.0-next.2dafa8f → 19.0.0-next.2def050

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 (668) hide show
  1. package/dist/cjs/bot.cjs +77 -0
  2. package/dist/cjs/commandOptionsParser.cjs +51 -0
  3. package/dist/cjs/constants.cjs +30 -0
  4. package/dist/cjs/handlers/channels/CHANNEL_CREATE.cjs +21 -0
  5. package/dist/cjs/handlers/channels/CHANNEL_DELETE.cjs +21 -0
  6. package/dist/cjs/handlers/channels/CHANNEL_PINS_UPDATE.cjs +21 -0
  7. package/dist/cjs/handlers/channels/CHANNEL_UPDATE.cjs +20 -0
  8. package/dist/cjs/handlers/channels/STAGE_INSTANCE_CREATE.cjs +22 -0
  9. package/dist/cjs/handlers/channels/STAGE_INSTANCE_DELETE.cjs +22 -0
  10. package/dist/cjs/handlers/channels/STAGE_INSTANCE_UPDATE.cjs +22 -0
  11. package/dist/cjs/handlers/channels/THREAD_CREATE.cjs +19 -0
  12. package/dist/cjs/handlers/channels/THREAD_DELETE.cjs +19 -0
  13. package/dist/cjs/handlers/channels/THREAD_LIST_SYNC.cjs +31 -0
  14. package/dist/cjs/handlers/channels/THREAD_MEMBERS_UPDATE.cjs +22 -0
  15. package/dist/cjs/handlers/channels/THREAD_MEMBER_UPDATE.cjs +22 -0
  16. package/dist/cjs/handlers/channels/THREAD_UPDATE.cjs +19 -0
  17. package/dist/cjs/handlers/channels/index.cjs +32 -0
  18. package/dist/cjs/handlers/emojis/GUILD_EMOJIS_UPDATE.cjs +24 -0
  19. package/dist/cjs/handlers/emojis/index.cjs +20 -0
  20. package/dist/cjs/handlers/entitlements/ENTITLEMENT_CREATE.cjs +17 -0
  21. package/dist/cjs/handlers/entitlements/ENTITLEMENT_DELETE.cjs +17 -0
  22. package/dist/cjs/handlers/entitlements/ENTITLEMENT_UPDATE.cjs +17 -0
  23. package/dist/cjs/handlers/entitlements/index.cjs +22 -0
  24. package/dist/cjs/handlers/guilds/GUILD_AUDIT_LOG_ENTRY_CREATE.cjs +18 -0
  25. package/dist/cjs/handlers/guilds/GUILD_BAN_ADD.cjs +17 -0
  26. package/dist/cjs/handlers/guilds/GUILD_BAN_REMOVE.cjs +17 -0
  27. package/dist/cjs/handlers/guilds/GUILD_CREATE.cjs +20 -0
  28. package/dist/cjs/handlers/guilds/GUILD_DELETE.cjs +22 -0
  29. package/dist/cjs/handlers/guilds/GUILD_INTEGRATIONS_UPDATE.cjs +19 -0
  30. package/dist/cjs/handlers/guilds/GUILD_STICKERS_UPDATE.cjs +23 -0
  31. package/dist/cjs/handlers/guilds/GUILD_UPDATE.cjs +20 -0
  32. package/dist/cjs/handlers/guilds/automod/AUTO_MODERATION_ACTION_EXECUTION.cjs +17 -0
  33. package/dist/cjs/handlers/guilds/automod/AUTO_MODERATION_RULE_CREATE.cjs +17 -0
  34. package/dist/cjs/handlers/guilds/automod/AUTO_MODERATION_RULE_DELETE.cjs +17 -0
  35. package/dist/cjs/handlers/guilds/automod/AUTO_MODERATION_RULE_UPDATE.cjs +17 -0
  36. package/dist/cjs/handlers/guilds/automod/index.cjs +23 -0
  37. package/dist/cjs/handlers/guilds/index.cjs +29 -0
  38. package/dist/cjs/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_CREATE.cjs +17 -0
  39. package/dist/cjs/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_DELETE.cjs +17 -0
  40. package/dist/cjs/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_UPDATE.cjs +17 -0
  41. package/dist/cjs/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_USER_ADD.cjs +21 -0
  42. package/dist/cjs/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_USER_REMOVE.cjs +21 -0
  43. package/dist/cjs/handlers/guilds/scheduledEvents/index.cjs +24 -0
  44. package/dist/cjs/handlers/index.cjs +33 -0
  45. package/dist/cjs/handlers/integrations/INTEGRATION_CREATE.cjs +16 -0
  46. package/dist/cjs/handlers/integrations/INTEGRATION_DELETE.cjs +21 -0
  47. package/dist/cjs/handlers/integrations/INTEGRATION_UPDATE.cjs +16 -0
  48. package/dist/cjs/handlers/integrations/index.cjs +22 -0
  49. package/dist/cjs/handlers/interactions/APPLICATION_COMMAND_PERMISSIONS_UPDATE.cjs +17 -0
  50. package/dist/cjs/handlers/interactions/INTERACTION_CREATE.cjs +16 -0
  51. package/dist/cjs/handlers/interactions/index.cjs +21 -0
  52. package/dist/cjs/handlers/invites/INVITE_CREATE.cjs +19 -0
  53. package/dist/cjs/handlers/invites/INVITE_DELETE.cjs +21 -0
  54. package/dist/cjs/handlers/invites/index.cjs +21 -0
  55. package/dist/cjs/handlers/members/GUILD_MEMBERS_CHUNK.cjs +30 -0
  56. package/dist/cjs/handlers/members/GUILD_MEMBER_ADD.cjs +20 -0
  57. package/dist/cjs/handlers/members/GUILD_MEMBER_REMOVE.cjs +19 -0
  58. package/dist/cjs/handlers/members/GUILD_MEMBER_UPDATE.cjs +18 -0
  59. package/dist/cjs/handlers/members/index.cjs +23 -0
  60. package/dist/cjs/handlers/messages/MESSAGE_CREATE.cjs +17 -0
  61. package/dist/cjs/handlers/messages/MESSAGE_DELETE.cjs +21 -0
  62. package/dist/cjs/handlers/messages/MESSAGE_DELETE_BULK.cjs +23 -0
  63. package/dist/cjs/handlers/messages/MESSAGE_REACTION_ADD.cjs +30 -0
  64. package/dist/cjs/handlers/messages/MESSAGE_REACTION_REMOVE.cjs +24 -0
  65. package/dist/cjs/handlers/messages/MESSAGE_REACTION_REMOVE_ALL.cjs +21 -0
  66. package/dist/cjs/handlers/messages/MESSAGE_REACTION_REMOVE_EMOJI.cjs +22 -0
  67. package/dist/cjs/handlers/messages/MESSAGE_UPDATE.cjs +18 -0
  68. package/dist/cjs/handlers/messages/index.cjs +27 -0
  69. package/dist/cjs/handlers/misc/PRESENCE_UPDATE.cjs +16 -0
  70. package/dist/cjs/handlers/misc/READY.cjs +28 -0
  71. package/dist/cjs/handlers/misc/TYPING_START.cjs +25 -0
  72. package/dist/cjs/handlers/misc/USER_UPDATE.cjs +17 -0
  73. package/dist/cjs/handlers/misc/index.cjs +23 -0
  74. package/dist/cjs/handlers/poll/MESSAGE_POLL_VOTE_ADD.cjs +23 -0
  75. package/dist/cjs/handlers/poll/MESSAGE_POLL_VOTE_REMOVE.cjs +23 -0
  76. package/dist/cjs/handlers/poll/index.cjs +21 -0
  77. package/dist/cjs/handlers/roles/GUILD_ROLE_CREATE.cjs +20 -0
  78. package/dist/cjs/handlers/roles/GUILD_ROLE_DELETE.cjs +20 -0
  79. package/dist/cjs/handlers/roles/GUILD_ROLE_UPDATE.cjs +20 -0
  80. package/dist/cjs/handlers/roles/index.cjs +22 -0
  81. package/dist/cjs/handlers/voice/VOICE_SERVER_UPDATE.cjs +21 -0
  82. package/dist/cjs/handlers/voice/VOICE_STATE_UPDATE.cjs +22 -0
  83. package/dist/cjs/handlers/voice/index.cjs +21 -0
  84. package/dist/cjs/handlers/webhooks/WEBHOOKS_UPDATE.cjs +20 -0
  85. package/dist/cjs/handlers/webhooks/index.cjs +20 -0
  86. package/dist/cjs/handlers.cjs +123 -0
  87. package/dist/cjs/helpers.cjs +650 -0
  88. package/dist/cjs/index.cjs +34 -0
  89. package/dist/cjs/optionalize.cjs +7 -0
  90. package/dist/cjs/transformers/activity.cjs +44 -0
  91. package/dist/cjs/transformers/application.cjs +58 -0
  92. package/dist/cjs/transformers/applicationCommand.cjs +29 -0
  93. package/dist/cjs/transformers/applicationCommandOption.cjs +31 -0
  94. package/dist/cjs/transformers/applicationCommandOptionChoice.cjs +20 -0
  95. package/dist/cjs/transformers/applicationCommandPermission.cjs +25 -0
  96. package/dist/cjs/transformers/attachment.cjs +31 -0
  97. package/dist/cjs/transformers/auditLogEntry.cjs +145 -0
  98. package/dist/cjs/transformers/automodActionExecution.cjs +35 -0
  99. package/dist/cjs/transformers/automodRule.cjs +41 -0
  100. package/dist/cjs/transformers/avatarDecorationData.cjs +20 -0
  101. package/dist/cjs/transformers/channel.cjs +120 -0
  102. package/dist/cjs/transformers/component.cjs +47 -0
  103. package/dist/cjs/transformers/embed.cjs +54 -0
  104. package/dist/cjs/transformers/emoji.cjs +23 -0
  105. package/dist/cjs/transformers/entitlement.cjs +27 -0
  106. package/dist/cjs/transformers/gatewayBot.cjs +25 -0
  107. package/dist/cjs/transformers/guild.cjs +143 -0
  108. package/dist/cjs/transformers/index.cjs +63 -0
  109. package/dist/cjs/transformers/integration.cjs +44 -0
  110. package/dist/cjs/transformers/interaction.cjs +214 -0
  111. package/dist/cjs/transformers/invite.cjs +51 -0
  112. package/dist/cjs/transformers/member.cjs +45 -0
  113. package/dist/cjs/transformers/message.cjs +268 -0
  114. package/dist/cjs/transformers/onboarding.cjs +56 -0
  115. package/dist/cjs/transformers/poll.cjs +49 -0
  116. package/dist/cjs/transformers/presence.cjs +25 -0
  117. package/dist/cjs/transformers/reverse/activity.cjs +53 -0
  118. package/dist/cjs/transformers/reverse/allowedMentions.cjs +20 -0
  119. package/dist/cjs/transformers/reverse/application.cjs +34 -0
  120. package/dist/cjs/transformers/reverse/applicationCommand.cjs +28 -0
  121. package/dist/cjs/transformers/reverse/applicationCommandOption.cjs +30 -0
  122. package/dist/cjs/transformers/reverse/applicationCommandOptionChoice.cjs +19 -0
  123. package/dist/cjs/transformers/reverse/applicationCommandPermission.cjs +24 -0
  124. package/dist/cjs/transformers/reverse/attachment.cjs +29 -0
  125. package/dist/cjs/transformers/reverse/auditLogEntry.cjs +148 -0
  126. package/dist/cjs/transformers/reverse/component.cjs +47 -0
  127. package/dist/cjs/transformers/reverse/createApplicationCommand.cjs +37 -0
  128. package/dist/cjs/transformers/reverse/embed.cjs +53 -0
  129. package/dist/cjs/transformers/reverse/emoji.cjs +24 -0
  130. package/dist/cjs/transformers/reverse/gatewayBot.cjs +24 -0
  131. package/dist/cjs/transformers/reverse/index.cjs +38 -0
  132. package/dist/cjs/transformers/reverse/interactionResponse.cjs +34 -0
  133. package/dist/cjs/transformers/reverse/member.cjs +58 -0
  134. package/dist/cjs/transformers/reverse/presence.cjs +41 -0
  135. package/dist/cjs/transformers/reverse/team.cjs +28 -0
  136. package/dist/cjs/transformers/reverse/widgetSettings.cjs +18 -0
  137. package/dist/cjs/transformers/role.cjs +68 -0
  138. package/dist/cjs/transformers/scheduledEvent.cjs +34 -0
  139. package/dist/cjs/transformers/sku.cjs +23 -0
  140. package/dist/cjs/transformers/stageInstance.cjs +22 -0
  141. package/dist/cjs/transformers/stageInviteInstance.cjs +23 -0
  142. package/dist/cjs/transformers/sticker.cjs +48 -0
  143. package/dist/cjs/transformers/team.cjs +29 -0
  144. package/dist/cjs/transformers/template.cjs +28 -0
  145. package/dist/cjs/transformers/threadMember.cjs +35 -0
  146. package/dist/cjs/transformers/toggles/Permissions.cjs +28 -0
  147. package/dist/cjs/transformers/toggles/ToggleBitfield.cjs +60 -0
  148. package/dist/cjs/transformers/toggles/channel.cjs +68 -0
  149. package/dist/cjs/transformers/toggles/emoji.cjs +63 -0
  150. package/dist/cjs/transformers/toggles/guild.cjs +224 -0
  151. package/dist/cjs/transformers/toggles/index.cjs +28 -0
  152. package/dist/cjs/transformers/toggles/member.cjs +58 -0
  153. package/dist/cjs/transformers/toggles/role.cjs +73 -0
  154. package/dist/cjs/transformers/toggles/user.cjs +63 -0
  155. package/dist/cjs/transformers/toggles/voice.cjs +78 -0
  156. package/dist/cjs/transformers/user.cjs +53 -0
  157. package/dist/cjs/transformers/voiceRegion.cjs +22 -0
  158. package/dist/cjs/transformers/voiceState.cjs +24 -0
  159. package/dist/cjs/transformers/webhook.cjs +37 -0
  160. package/dist/cjs/transformers/welcomeScreen.cjs +24 -0
  161. package/dist/cjs/transformers/widget.cjs +35 -0
  162. package/dist/cjs/transformers/widgetSettings.cjs +19 -0
  163. package/dist/cjs/transformers.cjs +669 -0
  164. package/dist/cjs/typings.cjs +16 -0
  165. package/dist/cjs/utils.cjs +32 -0
  166. package/dist/esm/bot.js +72 -0
  167. package/dist/esm/commandOptionsParser.js +41 -0
  168. package/dist/esm/constants.js +6 -0
  169. package/dist/esm/handlers/channels/CHANNEL_CREATE.js +11 -0
  170. package/dist/esm/handlers/channels/CHANNEL_DELETE.js +11 -0
  171. package/dist/esm/handlers/channels/CHANNEL_PINS_UPDATE.js +11 -0
  172. package/dist/esm/handlers/channels/CHANNEL_UPDATE.js +10 -0
  173. package/dist/esm/handlers/channels/STAGE_INSTANCE_CREATE.js +12 -0
  174. package/dist/esm/handlers/channels/STAGE_INSTANCE_DELETE.js +12 -0
  175. package/dist/esm/handlers/channels/STAGE_INSTANCE_UPDATE.js +12 -0
  176. package/dist/esm/handlers/channels/THREAD_CREATE.js +9 -0
  177. package/dist/esm/handlers/channels/THREAD_DELETE.js +9 -0
  178. package/dist/esm/handlers/channels/THREAD_LIST_SYNC.js +21 -0
  179. package/dist/esm/handlers/channels/THREAD_MEMBERS_UPDATE.js +12 -0
  180. package/dist/esm/handlers/channels/THREAD_MEMBER_UPDATE.js +12 -0
  181. package/dist/esm/handlers/channels/THREAD_UPDATE.js +9 -0
  182. package/dist/esm/handlers/channels/index.js +15 -0
  183. package/dist/esm/handlers/emojis/GUILD_EMOJIS_UPDATE.js +14 -0
  184. package/dist/esm/handlers/emojis/index.js +3 -0
  185. package/dist/esm/handlers/entitlements/ENTITLEMENT_CREATE.js +7 -0
  186. package/dist/esm/handlers/entitlements/ENTITLEMENT_DELETE.js +7 -0
  187. package/dist/esm/handlers/entitlements/ENTITLEMENT_UPDATE.js +7 -0
  188. package/dist/esm/handlers/entitlements/index.js +5 -0
  189. package/dist/esm/handlers/guilds/GUILD_AUDIT_LOG_ENTRY_CREATE.js +8 -0
  190. package/dist/esm/handlers/guilds/GUILD_BAN_ADD.js +7 -0
  191. package/dist/esm/handlers/guilds/GUILD_BAN_REMOVE.js +7 -0
  192. package/dist/esm/handlers/guilds/GUILD_CREATE.js +10 -0
  193. package/dist/esm/handlers/guilds/GUILD_DELETE.js +12 -0
  194. package/dist/esm/handlers/guilds/GUILD_INTEGRATIONS_UPDATE.js +9 -0
  195. package/dist/esm/handlers/guilds/GUILD_STICKERS_UPDATE.js +13 -0
  196. package/dist/esm/handlers/guilds/GUILD_UPDATE.js +10 -0
  197. package/dist/esm/handlers/guilds/automod/AUTO_MODERATION_ACTION_EXECUTION.js +7 -0
  198. package/dist/esm/handlers/guilds/automod/AUTO_MODERATION_RULE_CREATE.js +7 -0
  199. package/dist/esm/handlers/guilds/automod/AUTO_MODERATION_RULE_DELETE.js +7 -0
  200. package/dist/esm/handlers/guilds/automod/AUTO_MODERATION_RULE_UPDATE.js +7 -0
  201. package/dist/esm/handlers/guilds/automod/index.js +6 -0
  202. package/dist/esm/handlers/guilds/index.js +12 -0
  203. package/dist/esm/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_CREATE.js +7 -0
  204. package/dist/esm/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_DELETE.js +7 -0
  205. package/dist/esm/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_UPDATE.js +7 -0
  206. package/dist/esm/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_USER_ADD.js +11 -0
  207. package/dist/esm/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_USER_REMOVE.js +11 -0
  208. package/dist/esm/handlers/guilds/scheduledEvents/index.js +7 -0
  209. package/dist/esm/handlers/index.js +16 -0
  210. package/dist/esm/handlers/integrations/INTEGRATION_CREATE.js +6 -0
  211. package/dist/esm/handlers/integrations/INTEGRATION_DELETE.js +11 -0
  212. package/dist/esm/handlers/integrations/INTEGRATION_UPDATE.js +6 -0
  213. package/dist/esm/handlers/integrations/index.js +5 -0
  214. package/dist/esm/handlers/interactions/APPLICATION_COMMAND_PERMISSIONS_UPDATE.js +7 -0
  215. package/dist/esm/handlers/interactions/INTERACTION_CREATE.js +6 -0
  216. package/dist/esm/handlers/interactions/index.js +4 -0
  217. package/dist/esm/handlers/invites/INVITE_CREATE.js +9 -0
  218. package/dist/esm/handlers/invites/INVITE_DELETE.js +11 -0
  219. package/dist/esm/handlers/invites/index.js +4 -0
  220. package/dist/esm/handlers/members/GUILD_MEMBERS_CHUNK.js +20 -0
  221. package/dist/esm/handlers/members/GUILD_MEMBER_ADD.js +10 -0
  222. package/dist/esm/handlers/members/GUILD_MEMBER_REMOVE.js +9 -0
  223. package/dist/esm/handlers/members/GUILD_MEMBER_UPDATE.js +8 -0
  224. package/dist/esm/handlers/members/index.js +6 -0
  225. package/dist/esm/handlers/messages/MESSAGE_CREATE.js +7 -0
  226. package/dist/esm/handlers/messages/MESSAGE_DELETE.js +11 -0
  227. package/dist/esm/handlers/messages/MESSAGE_DELETE_BULK.js +13 -0
  228. package/dist/esm/handlers/messages/MESSAGE_REACTION_ADD.js +20 -0
  229. package/dist/esm/handlers/messages/MESSAGE_REACTION_REMOVE.js +14 -0
  230. package/dist/esm/handlers/messages/MESSAGE_REACTION_REMOVE_ALL.js +11 -0
  231. package/dist/esm/handlers/messages/MESSAGE_REACTION_REMOVE_EMOJI.js +12 -0
  232. package/dist/esm/handlers/messages/MESSAGE_UPDATE.js +8 -0
  233. package/dist/esm/handlers/messages/index.js +10 -0
  234. package/dist/esm/handlers/misc/PRESENCE_UPDATE.js +6 -0
  235. package/dist/esm/handlers/misc/READY.js +18 -0
  236. package/dist/esm/handlers/misc/TYPING_START.js +15 -0
  237. package/dist/esm/handlers/misc/USER_UPDATE.js +7 -0
  238. package/dist/esm/handlers/misc/index.js +6 -0
  239. package/dist/esm/handlers/poll/MESSAGE_POLL_VOTE_ADD.js +13 -0
  240. package/dist/esm/handlers/poll/MESSAGE_POLL_VOTE_REMOVE.js +13 -0
  241. package/dist/esm/handlers/poll/index.js +4 -0
  242. package/dist/esm/handlers/roles/GUILD_ROLE_CREATE.js +10 -0
  243. package/dist/esm/handlers/roles/GUILD_ROLE_DELETE.js +10 -0
  244. package/dist/esm/handlers/roles/GUILD_ROLE_UPDATE.js +10 -0
  245. package/dist/esm/handlers/roles/index.js +5 -0
  246. package/dist/esm/handlers/voice/VOICE_SERVER_UPDATE.js +11 -0
  247. package/dist/esm/handlers/voice/VOICE_STATE_UPDATE.js +12 -0
  248. package/dist/esm/handlers/voice/index.js +4 -0
  249. package/dist/esm/handlers/webhooks/WEBHOOKS_UPDATE.js +10 -0
  250. package/dist/esm/handlers/webhooks/index.js +3 -0
  251. package/dist/esm/handlers.js +72 -0
  252. package/dist/esm/helpers.js +640 -0
  253. package/dist/esm/index.js +17 -0
  254. package/dist/esm/optionalize.js +3 -0
  255. package/dist/esm/transformers/activity.js +34 -0
  256. package/dist/esm/transformers/application.js +48 -0
  257. package/dist/esm/transformers/applicationCommand.js +19 -0
  258. package/dist/esm/transformers/applicationCommandOption.js +21 -0
  259. package/dist/esm/transformers/applicationCommandOptionChoice.js +10 -0
  260. package/dist/esm/transformers/applicationCommandPermission.js +15 -0
  261. package/dist/esm/transformers/attachment.js +21 -0
  262. package/dist/esm/transformers/auditLogEntry.js +135 -0
  263. package/dist/esm/transformers/automodActionExecution.js +25 -0
  264. package/dist/esm/transformers/automodRule.js +31 -0
  265. package/dist/esm/transformers/avatarDecorationData.js +10 -0
  266. package/dist/esm/transformers/channel.js +96 -0
  267. package/dist/esm/transformers/component.js +37 -0
  268. package/dist/esm/transformers/embed.js +44 -0
  269. package/dist/esm/transformers/emoji.js +13 -0
  270. package/dist/esm/transformers/entitlement.js +17 -0
  271. package/dist/esm/transformers/gatewayBot.js +15 -0
  272. package/dist/esm/transformers/guild.js +133 -0
  273. package/dist/esm/transformers/index.js +46 -0
  274. package/dist/esm/transformers/integration.js +34 -0
  275. package/dist/esm/transformers/interaction.js +193 -0
  276. package/dist/esm/transformers/invite.js +41 -0
  277. package/dist/esm/transformers/member.js +35 -0
  278. package/dist/esm/transformers/message.js +247 -0
  279. package/dist/esm/transformers/onboarding.js +35 -0
  280. package/dist/esm/transformers/poll.js +31 -0
  281. package/dist/esm/transformers/presence.js +15 -0
  282. package/dist/esm/transformers/reverse/activity.js +43 -0
  283. package/dist/esm/transformers/reverse/allowedMentions.js +10 -0
  284. package/dist/esm/transformers/reverse/application.js +24 -0
  285. package/dist/esm/transformers/reverse/applicationCommand.js +18 -0
  286. package/dist/esm/transformers/reverse/applicationCommandOption.js +20 -0
  287. package/dist/esm/transformers/reverse/applicationCommandOptionChoice.js +9 -0
  288. package/dist/esm/transformers/reverse/applicationCommandPermission.js +14 -0
  289. package/dist/esm/transformers/reverse/attachment.js +19 -0
  290. package/dist/esm/transformers/reverse/auditLogEntry.js +138 -0
  291. package/dist/esm/transformers/reverse/component.js +37 -0
  292. package/dist/esm/transformers/reverse/createApplicationCommand.js +27 -0
  293. package/dist/esm/transformers/reverse/embed.js +43 -0
  294. package/dist/esm/transformers/reverse/emoji.js +14 -0
  295. package/dist/esm/transformers/reverse/gatewayBot.js +14 -0
  296. package/dist/esm/transformers/reverse/index.js +21 -0
  297. package/dist/esm/transformers/reverse/interactionResponse.js +24 -0
  298. package/dist/esm/transformers/reverse/member.js +40 -0
  299. package/dist/esm/transformers/reverse/presence.js +23 -0
  300. package/dist/esm/transformers/reverse/team.js +18 -0
  301. package/dist/esm/transformers/reverse/widgetSettings.js +8 -0
  302. package/dist/esm/transformers/role.js +58 -0
  303. package/dist/esm/transformers/scheduledEvent.js +24 -0
  304. package/dist/esm/transformers/sku.js +13 -0
  305. package/dist/esm/transformers/stageInstance.js +12 -0
  306. package/dist/esm/transformers/stageInviteInstance.js +13 -0
  307. package/dist/esm/transformers/sticker.js +30 -0
  308. package/dist/esm/transformers/team.js +19 -0
  309. package/dist/esm/transformers/template.js +18 -0
  310. package/dist/esm/transformers/threadMember.js +17 -0
  311. package/dist/esm/transformers/toggles/Permissions.js +18 -0
  312. package/dist/esm/transformers/toggles/ToggleBitfield.js +42 -0
  313. package/dist/esm/transformers/toggles/channel.js +50 -0
  314. package/dist/esm/transformers/toggles/emoji.js +45 -0
  315. package/dist/esm/transformers/toggles/guild.js +206 -0
  316. package/dist/esm/transformers/toggles/index.js +11 -0
  317. package/dist/esm/transformers/toggles/member.js +40 -0
  318. package/dist/esm/transformers/toggles/role.js +55 -0
  319. package/dist/esm/transformers/toggles/user.js +45 -0
  320. package/dist/esm/transformers/toggles/voice.js +60 -0
  321. package/dist/esm/transformers/user.js +43 -0
  322. package/dist/esm/transformers/voiceRegion.js +12 -0
  323. package/dist/esm/transformers/voiceState.js +14 -0
  324. package/dist/esm/transformers/webhook.js +27 -0
  325. package/dist/esm/transformers/welcomeScreen.js +14 -0
  326. package/dist/esm/transformers/widget.js +25 -0
  327. package/dist/esm/transformers/widgetSettings.js +9 -0
  328. package/dist/esm/transformers.js +659 -0
  329. package/dist/esm/typings.js +6 -0
  330. package/dist/esm/utils.js +11 -0
  331. package/dist/tsconfig.tsbuildinfo +1 -0
  332. package/dist/types/bot.d.ts +295 -0
  333. package/dist/types/bot.d.ts.map +1 -0
  334. package/dist/types/commandOptionsParser.d.ts +3 -0
  335. package/dist/types/commandOptionsParser.d.ts.map +1 -0
  336. package/dist/types/constants.d.ts +5 -0
  337. package/dist/types/constants.d.ts.map +1 -0
  338. package/dist/types/handlers/channels/CHANNEL_CREATE.d.ts +3 -0
  339. package/dist/types/handlers/channels/CHANNEL_CREATE.d.ts.map +1 -0
  340. package/dist/types/handlers/channels/CHANNEL_DELETE.d.ts +4 -0
  341. package/dist/types/handlers/channels/CHANNEL_DELETE.d.ts.map +1 -0
  342. package/dist/types/handlers/channels/CHANNEL_PINS_UPDATE.d.ts +4 -0
  343. package/dist/types/handlers/channels/CHANNEL_PINS_UPDATE.d.ts.map +1 -0
  344. package/dist/types/handlers/channels/CHANNEL_UPDATE.d.ts +4 -0
  345. package/dist/types/handlers/channels/CHANNEL_UPDATE.d.ts.map +1 -0
  346. package/dist/types/handlers/channels/STAGE_INSTANCE_CREATE.d.ts +4 -0
  347. package/dist/types/handlers/channels/STAGE_INSTANCE_CREATE.d.ts.map +1 -0
  348. package/dist/types/handlers/channels/STAGE_INSTANCE_DELETE.d.ts +4 -0
  349. package/dist/types/handlers/channels/STAGE_INSTANCE_DELETE.d.ts.map +1 -0
  350. package/dist/types/handlers/channels/STAGE_INSTANCE_UPDATE.d.ts +4 -0
  351. package/dist/types/handlers/channels/STAGE_INSTANCE_UPDATE.d.ts.map +1 -0
  352. package/dist/types/handlers/channels/THREAD_CREATE.d.ts +4 -0
  353. package/dist/types/handlers/channels/THREAD_CREATE.d.ts.map +1 -0
  354. package/dist/types/handlers/channels/THREAD_DELETE.d.ts +4 -0
  355. package/dist/types/handlers/channels/THREAD_DELETE.d.ts.map +1 -0
  356. package/dist/types/handlers/channels/THREAD_LIST_SYNC.d.ts +4 -0
  357. package/dist/types/handlers/channels/THREAD_LIST_SYNC.d.ts.map +1 -0
  358. package/dist/types/handlers/channels/THREAD_MEMBERS_UPDATE.d.ts +4 -0
  359. package/dist/types/handlers/channels/THREAD_MEMBERS_UPDATE.d.ts.map +1 -0
  360. package/dist/types/handlers/channels/THREAD_MEMBER_UPDATE.d.ts +4 -0
  361. package/dist/types/handlers/channels/THREAD_MEMBER_UPDATE.d.ts.map +1 -0
  362. package/dist/types/handlers/channels/THREAD_UPDATE.d.ts +4 -0
  363. package/dist/types/handlers/channels/THREAD_UPDATE.d.ts.map +1 -0
  364. package/dist/types/handlers/channels/index.d.ts +14 -0
  365. package/dist/types/handlers/channels/index.d.ts.map +1 -0
  366. package/dist/types/handlers/emojis/GUILD_EMOJIS_UPDATE.d.ts +4 -0
  367. package/dist/types/handlers/emojis/GUILD_EMOJIS_UPDATE.d.ts.map +1 -0
  368. package/dist/types/handlers/emojis/index.d.ts +2 -0
  369. package/dist/types/handlers/emojis/index.d.ts.map +1 -0
  370. package/dist/types/handlers/entitlements/ENTITLEMENT_CREATE.d.ts +4 -0
  371. package/dist/types/handlers/entitlements/ENTITLEMENT_CREATE.d.ts.map +1 -0
  372. package/dist/types/handlers/entitlements/ENTITLEMENT_DELETE.d.ts +4 -0
  373. package/dist/types/handlers/entitlements/ENTITLEMENT_DELETE.d.ts.map +1 -0
  374. package/dist/types/handlers/entitlements/ENTITLEMENT_UPDATE.d.ts +4 -0
  375. package/dist/types/handlers/entitlements/ENTITLEMENT_UPDATE.d.ts.map +1 -0
  376. package/dist/types/handlers/entitlements/index.d.ts +4 -0
  377. package/dist/types/handlers/entitlements/index.d.ts.map +1 -0
  378. package/dist/types/handlers/guilds/GUILD_AUDIT_LOG_ENTRY_CREATE.d.ts +4 -0
  379. package/dist/types/handlers/guilds/GUILD_AUDIT_LOG_ENTRY_CREATE.d.ts.map +1 -0
  380. package/dist/types/handlers/guilds/GUILD_BAN_ADD.d.ts +4 -0
  381. package/dist/types/handlers/guilds/GUILD_BAN_ADD.d.ts.map +1 -0
  382. package/dist/types/handlers/guilds/GUILD_BAN_REMOVE.d.ts +4 -0
  383. package/dist/types/handlers/guilds/GUILD_BAN_REMOVE.d.ts.map +1 -0
  384. package/dist/types/handlers/guilds/GUILD_CREATE.d.ts +4 -0
  385. package/dist/types/handlers/guilds/GUILD_CREATE.d.ts.map +1 -0
  386. package/dist/types/handlers/guilds/GUILD_DELETE.d.ts +4 -0
  387. package/dist/types/handlers/guilds/GUILD_DELETE.d.ts.map +1 -0
  388. package/dist/types/handlers/guilds/GUILD_INTEGRATIONS_UPDATE.d.ts +4 -0
  389. package/dist/types/handlers/guilds/GUILD_INTEGRATIONS_UPDATE.d.ts.map +1 -0
  390. package/dist/types/handlers/guilds/GUILD_STICKERS_UPDATE.d.ts +3 -0
  391. package/dist/types/handlers/guilds/GUILD_STICKERS_UPDATE.d.ts.map +1 -0
  392. package/dist/types/handlers/guilds/GUILD_UPDATE.d.ts +4 -0
  393. package/dist/types/handlers/guilds/GUILD_UPDATE.d.ts.map +1 -0
  394. package/dist/types/handlers/guilds/automod/AUTO_MODERATION_ACTION_EXECUTION.d.ts +5 -0
  395. package/dist/types/handlers/guilds/automod/AUTO_MODERATION_ACTION_EXECUTION.d.ts.map +1 -0
  396. package/dist/types/handlers/guilds/automod/AUTO_MODERATION_RULE_CREATE.d.ts +5 -0
  397. package/dist/types/handlers/guilds/automod/AUTO_MODERATION_RULE_CREATE.d.ts.map +1 -0
  398. package/dist/types/handlers/guilds/automod/AUTO_MODERATION_RULE_DELETE.d.ts +5 -0
  399. package/dist/types/handlers/guilds/automod/AUTO_MODERATION_RULE_DELETE.d.ts.map +1 -0
  400. package/dist/types/handlers/guilds/automod/AUTO_MODERATION_RULE_UPDATE.d.ts +5 -0
  401. package/dist/types/handlers/guilds/automod/AUTO_MODERATION_RULE_UPDATE.d.ts.map +1 -0
  402. package/dist/types/handlers/guilds/automod/index.d.ts +5 -0
  403. package/dist/types/handlers/guilds/automod/index.d.ts.map +1 -0
  404. package/dist/types/handlers/guilds/index.d.ts +11 -0
  405. package/dist/types/handlers/guilds/index.d.ts.map +1 -0
  406. package/dist/types/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_CREATE.d.ts +4 -0
  407. package/dist/types/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_CREATE.d.ts.map +1 -0
  408. package/dist/types/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_DELETE.d.ts +4 -0
  409. package/dist/types/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_DELETE.d.ts.map +1 -0
  410. package/dist/types/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_UPDATE.d.ts +4 -0
  411. package/dist/types/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_UPDATE.d.ts.map +1 -0
  412. package/dist/types/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_USER_ADD.d.ts +4 -0
  413. package/dist/types/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_USER_ADD.d.ts.map +1 -0
  414. package/dist/types/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_USER_REMOVE.d.ts +4 -0
  415. package/dist/types/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_USER_REMOVE.d.ts.map +1 -0
  416. package/dist/types/handlers/guilds/scheduledEvents/index.d.ts +6 -0
  417. package/dist/types/handlers/guilds/scheduledEvents/index.d.ts.map +1 -0
  418. package/dist/types/handlers/index.d.ts +15 -0
  419. package/dist/types/handlers/index.d.ts.map +1 -0
  420. package/dist/types/handlers/integrations/INTEGRATION_CREATE.d.ts +4 -0
  421. package/dist/types/handlers/integrations/INTEGRATION_CREATE.d.ts.map +1 -0
  422. package/dist/types/handlers/integrations/INTEGRATION_DELETE.d.ts +4 -0
  423. package/dist/types/handlers/integrations/INTEGRATION_DELETE.d.ts.map +1 -0
  424. package/dist/types/handlers/integrations/INTEGRATION_UPDATE.d.ts +4 -0
  425. package/dist/types/handlers/integrations/INTEGRATION_UPDATE.d.ts.map +1 -0
  426. package/dist/types/handlers/integrations/index.d.ts +4 -0
  427. package/dist/types/handlers/integrations/index.d.ts.map +1 -0
  428. package/dist/types/handlers/interactions/APPLICATION_COMMAND_PERMISSIONS_UPDATE.d.ts +3 -0
  429. package/dist/types/handlers/interactions/APPLICATION_COMMAND_PERMISSIONS_UPDATE.d.ts.map +1 -0
  430. package/dist/types/handlers/interactions/INTERACTION_CREATE.d.ts +4 -0
  431. package/dist/types/handlers/interactions/INTERACTION_CREATE.d.ts.map +1 -0
  432. package/dist/types/handlers/interactions/index.d.ts +3 -0
  433. package/dist/types/handlers/interactions/index.d.ts.map +1 -0
  434. package/dist/types/handlers/invites/INVITE_CREATE.d.ts +4 -0
  435. package/dist/types/handlers/invites/INVITE_CREATE.d.ts.map +1 -0
  436. package/dist/types/handlers/invites/INVITE_DELETE.d.ts +4 -0
  437. package/dist/types/handlers/invites/INVITE_DELETE.d.ts.map +1 -0
  438. package/dist/types/handlers/invites/index.d.ts +3 -0
  439. package/dist/types/handlers/invites/index.d.ts.map +1 -0
  440. package/dist/types/handlers/members/GUILD_MEMBERS_CHUNK.d.ts +4 -0
  441. package/dist/types/handlers/members/GUILD_MEMBERS_CHUNK.d.ts.map +1 -0
  442. package/dist/types/handlers/members/GUILD_MEMBER_ADD.d.ts +4 -0
  443. package/dist/types/handlers/members/GUILD_MEMBER_ADD.d.ts.map +1 -0
  444. package/dist/types/handlers/members/GUILD_MEMBER_REMOVE.d.ts +4 -0
  445. package/dist/types/handlers/members/GUILD_MEMBER_REMOVE.d.ts.map +1 -0
  446. package/dist/types/handlers/members/GUILD_MEMBER_UPDATE.d.ts +4 -0
  447. package/dist/types/handlers/members/GUILD_MEMBER_UPDATE.d.ts.map +1 -0
  448. package/dist/types/handlers/members/index.d.ts +5 -0
  449. package/dist/types/handlers/members/index.d.ts.map +1 -0
  450. package/dist/types/handlers/messages/MESSAGE_CREATE.d.ts +4 -0
  451. package/dist/types/handlers/messages/MESSAGE_CREATE.d.ts.map +1 -0
  452. package/dist/types/handlers/messages/MESSAGE_DELETE.d.ts +4 -0
  453. package/dist/types/handlers/messages/MESSAGE_DELETE.d.ts.map +1 -0
  454. package/dist/types/handlers/messages/MESSAGE_DELETE_BULK.d.ts +4 -0
  455. package/dist/types/handlers/messages/MESSAGE_DELETE_BULK.d.ts.map +1 -0
  456. package/dist/types/handlers/messages/MESSAGE_REACTION_ADD.d.ts +4 -0
  457. package/dist/types/handlers/messages/MESSAGE_REACTION_ADD.d.ts.map +1 -0
  458. package/dist/types/handlers/messages/MESSAGE_REACTION_REMOVE.d.ts +4 -0
  459. package/dist/types/handlers/messages/MESSAGE_REACTION_REMOVE.d.ts.map +1 -0
  460. package/dist/types/handlers/messages/MESSAGE_REACTION_REMOVE_ALL.d.ts +4 -0
  461. package/dist/types/handlers/messages/MESSAGE_REACTION_REMOVE_ALL.d.ts.map +1 -0
  462. package/dist/types/handlers/messages/MESSAGE_REACTION_REMOVE_EMOJI.d.ts +4 -0
  463. package/dist/types/handlers/messages/MESSAGE_REACTION_REMOVE_EMOJI.d.ts.map +1 -0
  464. package/dist/types/handlers/messages/MESSAGE_UPDATE.d.ts +4 -0
  465. package/dist/types/handlers/messages/MESSAGE_UPDATE.d.ts.map +1 -0
  466. package/dist/types/handlers/messages/index.d.ts +9 -0
  467. package/dist/types/handlers/messages/index.d.ts.map +1 -0
  468. package/dist/types/handlers/misc/PRESENCE_UPDATE.d.ts +4 -0
  469. package/dist/types/handlers/misc/PRESENCE_UPDATE.d.ts.map +1 -0
  470. package/dist/types/handlers/misc/READY.d.ts +4 -0
  471. package/dist/types/handlers/misc/READY.d.ts.map +1 -0
  472. package/dist/types/handlers/misc/TYPING_START.d.ts +4 -0
  473. package/dist/types/handlers/misc/TYPING_START.d.ts.map +1 -0
  474. package/dist/types/handlers/misc/USER_UPDATE.d.ts +4 -0
  475. package/dist/types/handlers/misc/USER_UPDATE.d.ts.map +1 -0
  476. package/dist/types/handlers/misc/index.d.ts +5 -0
  477. package/dist/types/handlers/misc/index.d.ts.map +1 -0
  478. package/dist/types/handlers/poll/MESSAGE_POLL_VOTE_ADD.d.ts +4 -0
  479. package/dist/types/handlers/poll/MESSAGE_POLL_VOTE_ADD.d.ts.map +1 -0
  480. package/dist/types/handlers/poll/MESSAGE_POLL_VOTE_REMOVE.d.ts +4 -0
  481. package/dist/types/handlers/poll/MESSAGE_POLL_VOTE_REMOVE.d.ts.map +1 -0
  482. package/dist/types/handlers/poll/index.d.ts +3 -0
  483. package/dist/types/handlers/poll/index.d.ts.map +1 -0
  484. package/dist/types/handlers/roles/GUILD_ROLE_CREATE.d.ts +4 -0
  485. package/dist/types/handlers/roles/GUILD_ROLE_CREATE.d.ts.map +1 -0
  486. package/dist/types/handlers/roles/GUILD_ROLE_DELETE.d.ts +4 -0
  487. package/dist/types/handlers/roles/GUILD_ROLE_DELETE.d.ts.map +1 -0
  488. package/dist/types/handlers/roles/GUILD_ROLE_UPDATE.d.ts +4 -0
  489. package/dist/types/handlers/roles/GUILD_ROLE_UPDATE.d.ts.map +1 -0
  490. package/dist/types/handlers/roles/index.d.ts +4 -0
  491. package/dist/types/handlers/roles/index.d.ts.map +1 -0
  492. package/dist/types/handlers/voice/VOICE_SERVER_UPDATE.d.ts +4 -0
  493. package/dist/types/handlers/voice/VOICE_SERVER_UPDATE.d.ts.map +1 -0
  494. package/dist/types/handlers/voice/VOICE_STATE_UPDATE.d.ts +4 -0
  495. package/dist/types/handlers/voice/VOICE_STATE_UPDATE.d.ts.map +1 -0
  496. package/dist/types/handlers/voice/index.d.ts +3 -0
  497. package/dist/types/handlers/voice/index.d.ts.map +1 -0
  498. package/dist/types/handlers/webhooks/WEBHOOKS_UPDATE.d.ts +4 -0
  499. package/dist/types/handlers/webhooks/WEBHOOKS_UPDATE.d.ts.map +1 -0
  500. package/dist/types/handlers/webhooks/index.d.ts +2 -0
  501. package/dist/types/handlers/webhooks/index.d.ts.map +1 -0
  502. package/dist/types/handlers.d.ts +6 -0
  503. package/dist/types/handlers.d.ts.map +1 -0
  504. package/dist/types/helpers.d.ts +236 -0
  505. package/dist/types/helpers.d.ts.map +1 -0
  506. package/dist/types/index.d.ts +16 -0
  507. package/dist/types/index.d.ts.map +1 -0
  508. package/dist/types/optionalize.d.ts +46 -0
  509. package/dist/types/optionalize.d.ts.map +1 -0
  510. package/dist/types/transformers/activity.d.ts +35 -0
  511. package/dist/types/transformers/activity.d.ts.map +1 -0
  512. package/dist/types/transformers/application.d.ts +40 -0
  513. package/dist/types/transformers/application.d.ts.map +1 -0
  514. package/dist/types/transformers/applicationCommand.d.ts +18 -0
  515. package/dist/types/transformers/applicationCommand.d.ts.map +1 -0
  516. package/dist/types/transformers/applicationCommandOption.d.ts +35 -0
  517. package/dist/types/transformers/applicationCommandOption.d.ts.map +1 -0
  518. package/dist/types/transformers/applicationCommandOptionChoice.d.ts +9 -0
  519. package/dist/types/transformers/applicationCommandOptionChoice.d.ts.map +1 -0
  520. package/dist/types/transformers/applicationCommandPermission.d.ts +14 -0
  521. package/dist/types/transformers/applicationCommandPermission.d.ts.map +1 -0
  522. package/dist/types/transformers/attachment.d.ts +38 -0
  523. package/dist/types/transformers/attachment.d.ts.map +1 -0
  524. package/dist/types/transformers/auditLogEntry.d.ts +45 -0
  525. package/dist/types/transformers/auditLogEntry.d.ts.map +1 -0
  526. package/dist/types/transformers/automodActionExecution.d.ts +24 -0
  527. package/dist/types/transformers/automodActionExecution.d.ts.map +1 -0
  528. package/dist/types/transformers/automodRule.d.ts +30 -0
  529. package/dist/types/transformers/automodRule.d.ts.map +1 -0
  530. package/dist/types/transformers/avatarDecorationData.d.ts +9 -0
  531. package/dist/types/transformers/avatarDecorationData.d.ts.map +1 -0
  532. package/dist/types/transformers/channel.d.ts +107 -0
  533. package/dist/types/transformers/channel.d.ts.map +1 -0
  534. package/dist/types/transformers/component.d.ts +48 -0
  535. package/dist/types/transformers/component.d.ts.map +1 -0
  536. package/dist/types/transformers/embed.d.ts +50 -0
  537. package/dist/types/transformers/embed.d.ts.map +1 -0
  538. package/dist/types/transformers/emoji.d.ts +24 -0
  539. package/dist/types/transformers/emoji.d.ts.map +1 -0
  540. package/dist/types/transformers/entitlement.d.ts +26 -0
  541. package/dist/types/transformers/entitlement.d.ts.map +1 -0
  542. package/dist/types/transformers/gatewayBot.d.ts +14 -0
  543. package/dist/types/transformers/gatewayBot.d.ts.map +1 -0
  544. package/dist/types/transformers/guild.d.ts +119 -0
  545. package/dist/types/transformers/guild.d.ts.map +1 -0
  546. package/dist/types/transformers/index.d.ts +45 -0
  547. package/dist/types/transformers/index.d.ts.map +1 -0
  548. package/dist/types/transformers/integration.d.ts +32 -0
  549. package/dist/types/transformers/integration.d.ts.map +1 -0
  550. package/dist/types/transformers/interaction.d.ts +138 -0
  551. package/dist/types/transformers/interaction.d.ts.map +1 -0
  552. package/dist/types/transformers/invite.d.ts +46 -0
  553. package/dist/types/transformers/invite.d.ts.map +1 -0
  554. package/dist/types/transformers/member.d.ts +42 -0
  555. package/dist/types/transformers/member.d.ts.map +1 -0
  556. package/dist/types/transformers/message.d.ts +178 -0
  557. package/dist/types/transformers/message.d.ts.map +1 -0
  558. package/dist/types/transformers/onboarding.d.ts +48 -0
  559. package/dist/types/transformers/onboarding.d.ts.map +1 -0
  560. package/dist/types/transformers/poll.d.ts +72 -0
  561. package/dist/types/transformers/poll.d.ts.map +1 -0
  562. package/dist/types/transformers/presence.d.ts +13 -0
  563. package/dist/types/transformers/presence.d.ts.map +1 -0
  564. package/dist/types/transformers/reverse/activity.d.ts +4 -0
  565. package/dist/types/transformers/reverse/activity.d.ts.map +1 -0
  566. package/dist/types/transformers/reverse/allowedMentions.d.ts +3 -0
  567. package/dist/types/transformers/reverse/allowedMentions.d.ts.map +1 -0
  568. package/dist/types/transformers/reverse/application.d.ts +4 -0
  569. package/dist/types/transformers/reverse/application.d.ts.map +1 -0
  570. package/dist/types/transformers/reverse/applicationCommand.d.ts +4 -0
  571. package/dist/types/transformers/reverse/applicationCommand.d.ts.map +1 -0
  572. package/dist/types/transformers/reverse/applicationCommandOption.d.ts +4 -0
  573. package/dist/types/transformers/reverse/applicationCommandOption.d.ts.map +1 -0
  574. package/dist/types/transformers/reverse/applicationCommandOptionChoice.d.ts +4 -0
  575. package/dist/types/transformers/reverse/applicationCommandOptionChoice.d.ts.map +1 -0
  576. package/dist/types/transformers/reverse/applicationCommandPermission.d.ts +4 -0
  577. package/dist/types/transformers/reverse/applicationCommandPermission.d.ts.map +1 -0
  578. package/dist/types/transformers/reverse/attachment.d.ts +4 -0
  579. package/dist/types/transformers/reverse/attachment.d.ts.map +1 -0
  580. package/dist/types/transformers/reverse/auditLogEntry.d.ts +5 -0
  581. package/dist/types/transformers/reverse/auditLogEntry.d.ts.map +1 -0
  582. package/dist/types/transformers/reverse/component.d.ts +5 -0
  583. package/dist/types/transformers/reverse/component.d.ts.map +1 -0
  584. package/dist/types/transformers/reverse/createApplicationCommand.d.ts +3 -0
  585. package/dist/types/transformers/reverse/createApplicationCommand.d.ts.map +1 -0
  586. package/dist/types/transformers/reverse/embed.d.ts +5 -0
  587. package/dist/types/transformers/reverse/embed.d.ts.map +1 -0
  588. package/dist/types/transformers/reverse/emoji.d.ts +5 -0
  589. package/dist/types/transformers/reverse/emoji.d.ts.map +1 -0
  590. package/dist/types/transformers/reverse/gatewayBot.d.ts +4 -0
  591. package/dist/types/transformers/reverse/gatewayBot.d.ts.map +1 -0
  592. package/dist/types/transformers/reverse/index.d.ts +20 -0
  593. package/dist/types/transformers/reverse/index.d.ts.map +1 -0
  594. package/dist/types/transformers/reverse/interactionResponse.d.ts +4 -0
  595. package/dist/types/transformers/reverse/interactionResponse.d.ts.map +1 -0
  596. package/dist/types/transformers/reverse/member.d.ts +7 -0
  597. package/dist/types/transformers/reverse/member.d.ts.map +1 -0
  598. package/dist/types/transformers/reverse/presence.d.ts +11 -0
  599. package/dist/types/transformers/reverse/presence.d.ts.map +1 -0
  600. package/dist/types/transformers/reverse/team.d.ts +5 -0
  601. package/dist/types/transformers/reverse/team.d.ts.map +1 -0
  602. package/dist/types/transformers/reverse/widgetSettings.d.ts +5 -0
  603. package/dist/types/transformers/reverse/widgetSettings.d.ts.map +1 -0
  604. package/dist/types/transformers/role.d.ts +79 -0
  605. package/dist/types/transformers/role.d.ts.map +1 -0
  606. package/dist/types/transformers/scheduledEvent.d.ts +38 -0
  607. package/dist/types/transformers/scheduledEvent.d.ts.map +1 -0
  608. package/dist/types/transformers/sku.d.ts +18 -0
  609. package/dist/types/transformers/sku.d.ts.map +1 -0
  610. package/dist/types/transformers/stageInstance.d.ts +16 -0
  611. package/dist/types/transformers/stageInstance.d.ts.map +1 -0
  612. package/dist/types/transformers/stageInviteInstance.d.ts +16 -0
  613. package/dist/types/transformers/stageInviteInstance.d.ts.map +1 -0
  614. package/dist/types/transformers/sticker.d.ts +38 -0
  615. package/dist/types/transformers/sticker.d.ts.map +1 -0
  616. package/dist/types/transformers/team.d.ts +16 -0
  617. package/dist/types/transformers/team.d.ts.map +1 -0
  618. package/dist/types/transformers/template.d.ts +17 -0
  619. package/dist/types/transformers/template.d.ts.map +1 -0
  620. package/dist/types/transformers/threadMember.d.ts +15 -0
  621. package/dist/types/transformers/threadMember.d.ts.map +1 -0
  622. package/dist/types/transformers/toggles/Permissions.d.ts +9 -0
  623. package/dist/types/transformers/toggles/Permissions.d.ts.map +1 -0
  624. package/dist/types/transformers/toggles/ToggleBitfield.d.ts +23 -0
  625. package/dist/types/transformers/toggles/ToggleBitfield.d.ts.map +1 -0
  626. package/dist/types/transformers/toggles/channel.d.ts +33 -0
  627. package/dist/types/transformers/toggles/channel.d.ts.map +1 -0
  628. package/dist/types/transformers/toggles/emoji.d.ts +29 -0
  629. package/dist/types/transformers/toggles/emoji.d.ts.map +1 -0
  630. package/dist/types/transformers/toggles/guild.d.ts +130 -0
  631. package/dist/types/transformers/toggles/guild.d.ts.map +1 -0
  632. package/dist/types/transformers/toggles/index.d.ts +10 -0
  633. package/dist/types/transformers/toggles/index.d.ts.map +1 -0
  634. package/dist/types/transformers/toggles/member.d.ts +25 -0
  635. package/dist/types/transformers/toggles/member.d.ts.map +1 -0
  636. package/dist/types/transformers/toggles/role.d.ts +37 -0
  637. package/dist/types/transformers/toggles/role.d.ts.map +1 -0
  638. package/dist/types/transformers/toggles/user.d.ts +29 -0
  639. package/dist/types/transformers/toggles/user.d.ts.map +1 -0
  640. package/dist/types/transformers/toggles/voice.d.ts +41 -0
  641. package/dist/types/transformers/toggles/voice.d.ts.map +1 -0
  642. package/dist/types/transformers/user.d.ts +46 -0
  643. package/dist/types/transformers/user.d.ts.map +1 -0
  644. package/dist/types/transformers/voiceRegion.d.ts +11 -0
  645. package/dist/types/transformers/voiceRegion.d.ts.map +1 -0
  646. package/dist/types/transformers/voiceState.d.ts +17 -0
  647. package/dist/types/transformers/voiceState.d.ts.map +1 -0
  648. package/dist/types/transformers/webhook.d.ts +30 -0
  649. package/dist/types/transformers/webhook.d.ts.map +1 -0
  650. package/dist/types/transformers/welcomeScreen.d.ts +13 -0
  651. package/dist/types/transformers/welcomeScreen.d.ts.map +1 -0
  652. package/dist/types/transformers/widget.d.ts +23 -0
  653. package/dist/types/transformers/widget.d.ts.map +1 -0
  654. package/dist/types/transformers/widgetSettings.d.ts +8 -0
  655. package/dist/types/transformers/widgetSettings.d.ts.map +1 -0
  656. package/dist/types/transformers.d.ts +581 -0
  657. package/dist/types/transformers.d.ts.map +1 -0
  658. package/dist/types/typings.d.ts +179 -0
  659. package/dist/types/typings.d.ts.map +1 -0
  660. package/dist/types/utils.d.ts +5 -0
  661. package/dist/types/utils.d.ts.map +1 -0
  662. package/package.json +28 -23
  663. package/dist/bot.d.ts +0 -101
  664. package/dist/bot.d.ts.map +0 -1
  665. package/dist/bot.js +0 -2
  666. package/dist/index.d.ts +0 -6
  667. package/dist/index.d.ts.map +0 -1
  668. package/dist/index.js +0 -2
@@ -0,0 +1,143 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "transformGuild", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return transformGuild;
9
+ }
10
+ });
11
+ const _types = require("@discordeno/types");
12
+ const _utils = require("@discordeno/utils");
13
+ const _guild = require("./toggles/guild.cjs");
14
+ const baseGuild = {
15
+ get threads () {
16
+ if (!this.channels) return;
17
+ const threads = this.channels.array().filter((x)=>x.type === _types.ChannelTypes.PublicThread || x.type === _types.ChannelTypes.PrivateThread || x.type === _types.ChannelTypes.AnnouncementThread);
18
+ return new _utils.Collection(threads.map((x)=>[
19
+ x.id,
20
+ x
21
+ ]));
22
+ }
23
+ };
24
+ function transformGuild(bot, payload) {
25
+ const guildId = bot.transformers.snowflake(payload.guild.id);
26
+ const props = bot.transformers.desiredProperties.guild;
27
+ const guild = Object.create(baseGuild);
28
+ if (props.afkTimeout && payload.guild.afk_timeout) guild.afkTimeout = payload.guild.afk_timeout;
29
+ if (props.approximateMemberCount && payload.guild.approximate_member_count) guild.approximateMemberCount = payload.guild.approximate_member_count;
30
+ if (props.approximatePresenceCount && payload.guild.approximate_presence_count) guild.approximatePresenceCount = payload.guild.approximate_presence_count;
31
+ if (props.defaultMessageNotifications) guild.defaultMessageNotifications = payload.guild.default_message_notifications;
32
+ if (props.description && payload.guild.description) guild.description = payload.guild.description;
33
+ if (props.toggles) guild.toggles = new _guild.GuildToggles(payload.guild);
34
+ if (props.explicitContentFilter) guild.explicitContentFilter = payload.guild.explicit_content_filter;
35
+ if (props.maxMembers && payload.guild.max_members) guild.maxMembers = payload.guild.max_members;
36
+ if (props.maxPresences && payload.guild.max_presences) guild.maxPresences = payload.guild.max_presences ?? undefined;
37
+ if (props.maxVideoChannelUsers && payload.guild.max_video_channel_users) guild.maxVideoChannelUsers = payload.guild.max_video_channel_users;
38
+ if (props.mfaLevel) guild.mfaLevel = payload.guild.mfa_level;
39
+ if (props.name && payload.guild.name) guild.name = payload.guild.name;
40
+ if (props.nsfwLevel) guild.nsfwLevel = payload.guild.nsfw_level;
41
+ if (props.preferredLocale && payload.guild.preferred_locale) guild.preferredLocale = payload.guild.preferred_locale;
42
+ if (props.premiumSubscriptionCount && payload.guild.premium_subscription_count !== undefined) guild.premiumSubscriptionCount = payload.guild.premium_subscription_count;
43
+ if (props.premiumTier) guild.premiumTier = payload.guild.premium_tier;
44
+ if (props.stageInstances && payload.guild.stage_instances) guild.stageInstances = payload.guild.stage_instances.map((si)=>({
45
+ /** The id of this Stage instance */ id: bot.transformers.snowflake(si.id),
46
+ /** The guild id of the associated Stage channel */ guildId,
47
+ /** The id of the associated Stage channel */ channelId: bot.transformers.snowflake(si.channel_id),
48
+ /** The topic of the Stage instance (1-120 characters) */ topic: si.topic
49
+ }));
50
+ if (props.channels && (!!payload.guild.channels || !!payload.guild.threads)) guild.channels = new _utils.Collection([
51
+ ...payload.guild.channels ?? [],
52
+ ...payload.guild.threads ?? []
53
+ ].map((channel)=>{
54
+ const result = bot.transformers.channel(bot, {
55
+ channel,
56
+ guildId
57
+ });
58
+ return [
59
+ result.id,
60
+ result
61
+ ];
62
+ }));
63
+ if (props.members && payload.guild.members) guild.members = new _utils.Collection(payload.guild.members.map((member)=>{
64
+ const result = bot.transformers.member(bot, member, guildId, bot.transformers.snowflake(member.user.id));
65
+ return [
66
+ result.id,
67
+ result
68
+ ];
69
+ }));
70
+ if (props.roles && payload.guild.roles) guild.roles = new _utils.Collection(payload.guild.roles.map((role)=>{
71
+ const result = bot.transformers.role(bot, {
72
+ role,
73
+ guildId
74
+ });
75
+ return [
76
+ result.id,
77
+ result
78
+ ];
79
+ }));
80
+ if (props.emojis && payload.guild.emojis) guild.emojis = new _utils.Collection(payload.guild.emojis.map((emoji)=>{
81
+ const result = bot.transformers.emoji(bot, emoji);
82
+ return [
83
+ result.id,
84
+ result
85
+ ];
86
+ }));
87
+ if (props.voiceStates && payload.guild.voice_states) guild.voiceStates = new _utils.Collection(payload.guild.voice_states.map((voiceState)=>{
88
+ const result = bot.transformers.voiceState(bot, {
89
+ voiceState,
90
+ guildId
91
+ });
92
+ return [
93
+ result.userId,
94
+ result
95
+ ];
96
+ }));
97
+ if (props.stickers && payload.guild.stickers) guild.stickers = new _utils.Collection(payload.guild.stickers?.map((sticker)=>{
98
+ const result = bot.transformers.sticker(bot, sticker);
99
+ return [
100
+ result.id,
101
+ result
102
+ ];
103
+ }));
104
+ if (props.systemChannelFlags && payload.guild.system_channel_flags) guild.systemChannelFlags = payload.guild.system_channel_flags;
105
+ if (props.vanityUrlCode && payload.guild.vanity_url_code) guild.vanityUrlCode = payload.guild.vanity_url_code;
106
+ if (props.verificationLevel) guild.verificationLevel = payload.guild.verification_level;
107
+ if (props.welcomeScreen && payload.guild.welcome_screen) guild.welcomeScreen = {
108
+ description: payload.guild.welcome_screen.description ?? undefined,
109
+ welcomeChannels: payload.guild.welcome_screen.welcome_channels.map((wc)=>({
110
+ channelId: bot.transformers.snowflake(wc.channel_id),
111
+ description: wc.description,
112
+ emojiId: wc.emoji_id ? bot.transformers.snowflake(wc.emoji_id) : undefined,
113
+ emojiName: wc.emoji_name ?? undefined
114
+ }))
115
+ };
116
+ if (props.discoverySplash && payload.guild.discovery_splash) guild.discoverySplash = (0, _utils.iconHashToBigInt)(payload.guild.discovery_splash);
117
+ if (props.joinedAt && payload.guild.joined_at) guild.joinedAt = Date.parse(payload.guild.joined_at);
118
+ if (props.memberCount && payload.guild.member_count) guild.memberCount = payload.guild.member_count ?? 0;
119
+ if (props.shardId) guild.shardId = payload.shardId;
120
+ if (props.icon && payload.guild.icon) guild.icon = (0, _utils.iconHashToBigInt)(payload.guild.icon);
121
+ if (props.banner && payload.guild.banner) guild.banner = (0, _utils.iconHashToBigInt)(payload.guild.banner);
122
+ if (props.splash && payload.guild.splash) guild.splash = (0, _utils.iconHashToBigInt)(payload.guild.splash);
123
+ if (props.id && payload.guild.id) guild.id = guildId;
124
+ if (props.ownerId && payload.guild.owner_id) guild.ownerId = bot.transformers.snowflake(payload.guild.owner_id);
125
+ if (props.permissions && payload.guild.permissions) guild.permissions = bot.transformers.snowflake(payload.guild.permissions);
126
+ if (props.afkChannelId && payload.guild.afk_channel_id) guild.afkChannelId = bot.transformers.snowflake(payload.guild.afk_channel_id);
127
+ if (props.widgetChannelId && payload.guild.widget_channel_id) guild.widgetChannelId = bot.transformers.snowflake(payload.guild.widget_channel_id);
128
+ if (props.applicationId && payload.guild.application_id) guild.applicationId = bot.transformers.snowflake(payload.guild.application_id);
129
+ if (props.systemChannelId && payload.guild.system_channel_id) guild.systemChannelId = bot.transformers.snowflake(payload.guild.system_channel_id);
130
+ if (props.rulesChannelId && payload.guild.rules_channel_id) guild.rulesChannelId = bot.transformers.snowflake(payload.guild.rules_channel_id);
131
+ if (props.publicUpdatesChannelId && payload.guild.public_updates_channel_id) guild.publicUpdatesChannelId = bot.transformers.snowflake(payload.guild.public_updates_channel_id);
132
+ if (props.premiumProgressBarEnabled && payload.guild.premium_progress_bar_enabled) guild.premiumProgressBarEnabled = payload.guild.premium_progress_bar_enabled;
133
+ if (props.large && payload.guild.large) guild.large = payload.guild.large;
134
+ if (props.owner && payload.guild.owner) guild.owner = payload.guild.owner;
135
+ if (props.widgetEnabled && payload.guild.widget_enabled) guild.widgetEnabled = payload.guild.widget_enabled;
136
+ if (props.unavailable && payload.guild.unavailable) guild.unavailable = payload.guild.unavailable;
137
+ if (props.iconHash && payload.guild.icon_hash) guild.iconHash = (0, _utils.iconHashToBigInt)(payload.guild.icon_hash);
138
+ if (props.presences && payload.guild.presences) guild.presences = payload.guild.presences?.map((presence)=>bot.transformers.presence(bot, presence));
139
+ if (props.safetyAlertsChannelId && payload.guild.safety_alerts_channel_id) guild.safetyAlertsChannelId = bot.transformers.snowflake(payload.guild.safety_alerts_channel_id);
140
+ return bot.transformers.customizers.guild(bot, payload.guild, guild);
141
+ }
142
+
143
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvZ3VpbGQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbm5lbFR5cGVzLFxuICB0eXBlIERlZmF1bHRNZXNzYWdlTm90aWZpY2F0aW9uTGV2ZWxzLFxuICB0eXBlIERpc2NvcmRHdWlsZCxcbiAgdHlwZSBEaXNjb3JkUHJlc2VuY2VVcGRhdGUsXG4gIHR5cGUgRXhwbGljaXRDb250ZW50RmlsdGVyTGV2ZWxzLFxuICB0eXBlIEd1aWxkRmVhdHVyZXMsXG4gIHR5cGUgR3VpbGROc2Z3TGV2ZWwsXG4gIHR5cGUgTWZhTGV2ZWxzLFxuICB0eXBlIFByZW1pdW1UaWVycyxcbiAgdHlwZSBTeXN0ZW1DaGFubmVsRmxhZ3MsXG4gIHR5cGUgVmVyaWZpY2F0aW9uTGV2ZWxzLFxufSBmcm9tICdAZGlzY29yZGVuby90eXBlcydcbmltcG9ydCB7IENvbGxlY3Rpb24sIGljb25IYXNoVG9CaWdJbnQgfSBmcm9tICdAZGlzY29yZGVuby91dGlscydcbmltcG9ydCB0eXBlIHsgQm90LCBDaGFubmVsLCBNZW1iZXIsIFByZXNlbmNlVXBkYXRlLCBSb2xlLCBTdGFnZUluc3RhbmNlLCBTdGlja2VyLCBWb2ljZVN0YXRlLCBXZWxjb21lU2NyZWVuIH0gZnJvbSAnLi4vaW5kZXguanMnXG5pbXBvcnQgdHlwZSB7IEVtb2ppIH0gZnJvbSAnLi4vdHJhbnNmb3JtZXJzL2Vtb2ppLmpzJ1xuaW1wb3J0IHsgR3VpbGRUb2dnbGVzIH0gZnJvbSAnLi90b2dnbGVzL2d1aWxkLmpzJ1xuXG5jb25zdCBiYXNlR3VpbGQgPSB7XG4gIGdldCB0aHJlYWRzKCkge1xuICAgIGlmICghdGhpcy5jaGFubmVscykgcmV0dXJuXG5cbiAgICBjb25zdCB0aHJlYWRzID0gdGhpcy5jaGFubmVsc1xuICAgICAgLmFycmF5KClcbiAgICAgIC5maWx0ZXIoKHgpID0+IHgudHlwZSA9PT0gQ2hhbm5lbFR5cGVzLlB1YmxpY1RocmVhZCB8fCB4LnR5cGUgPT09IENoYW5uZWxUeXBlcy5Qcml2YXRlVGhyZWFkIHx8IHgudHlwZSA9PT0gQ2hhbm5lbFR5cGVzLkFubm91bmNlbWVudFRocmVhZClcblxuICAgIHJldHVybiBuZXcgQ29sbGVjdGlvbih0aHJlYWRzLm1hcCgoeCkgPT4gW3guaWQsIHhdKSlcbiAgfSxcbn0gYXMgR3VpbGRcblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybUd1aWxkKGJvdDogQm90LCBwYXlsb2FkOiB7IGd1aWxkOiBEaXNjb3JkR3VpbGQgfSAmIHsgc2hhcmRJZDogbnVtYmVyIH0pOiBHdWlsZCB7XG4gIGNvbnN0IGd1aWxkSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmd1aWxkLmlkKVxuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuZ3VpbGRcbiAgY29uc3QgZ3VpbGQ6IEd1aWxkID0gT2JqZWN0LmNyZWF0ZShiYXNlR3VpbGQpXG5cbiAgaWYgKHByb3BzLmFma1RpbWVvdXQgJiYgcGF5bG9hZC5ndWlsZC5hZmtfdGltZW91dCkgZ3VpbGQuYWZrVGltZW91dCA9IHBheWxvYWQuZ3VpbGQuYWZrX3RpbWVvdXRcbiAgaWYgKHByb3BzLmFwcHJveGltYXRlTWVtYmVyQ291bnQgJiYgcGF5bG9hZC5ndWlsZC5hcHByb3hpbWF0ZV9tZW1iZXJfY291bnQpIGd1aWxkLmFwcHJveGltYXRlTWVtYmVyQ291bnQgPSBwYXlsb2FkLmd1aWxkLmFwcHJveGltYXRlX21lbWJlcl9jb3VudFxuICBpZiAocHJvcHMuYXBwcm94aW1hdGVQcmVzZW5jZUNvdW50ICYmIHBheWxvYWQuZ3VpbGQuYXBwcm94aW1hdGVfcHJlc2VuY2VfY291bnQpXG4gICAgZ3VpbGQuYXBwcm94aW1hdGVQcmVzZW5jZUNvdW50ID0gcGF5bG9hZC5ndWlsZC5hcHByb3hpbWF0ZV9wcmVzZW5jZV9jb3VudFxuICBpZiAocHJvcHMuZGVmYXVsdE1lc3NhZ2VOb3RpZmljYXRpb25zKSBndWlsZC5kZWZhdWx0TWVzc2FnZU5vdGlmaWNhdGlvbnMgPSBwYXlsb2FkLmd1aWxkLmRlZmF1bHRfbWVzc2FnZV9ub3RpZmljYXRpb25zXG4gIGlmIChwcm9wcy5kZXNjcmlwdGlvbiAmJiBwYXlsb2FkLmd1aWxkLmRlc2NyaXB0aW9uKSBndWlsZC5kZXNjcmlwdGlvbiA9IHBheWxvYWQuZ3VpbGQuZGVzY3JpcHRpb25cbiAgaWYgKHByb3BzLnRvZ2dsZXMpIGd1aWxkLnRvZ2dsZXMgPSBuZXcgR3VpbGRUb2dnbGVzKHBheWxvYWQuZ3VpbGQpXG4gIGlmIChwcm9wcy5leHBsaWNpdENvbnRlbnRGaWx0ZXIpIGd1aWxkLmV4cGxpY2l0Q29udGVudEZpbHRlciA9IHBheWxvYWQuZ3VpbGQuZXhwbGljaXRfY29udGVudF9maWx0ZXJcbiAgaWYgKHByb3BzLm1heE1lbWJlcnMgJiYgcGF5bG9hZC5ndWlsZC5tYXhfbWVtYmVycykgZ3VpbGQubWF4TWVtYmVycyA9IHBheWxvYWQuZ3VpbGQubWF4X21lbWJlcnNcbiAgaWYgKHByb3BzLm1heFByZXNlbmNlcyAmJiBwYXlsb2FkLmd1aWxkLm1heF9wcmVzZW5jZXMpIGd1aWxkLm1heFByZXNlbmNlcyA9IHBheWxvYWQuZ3VpbGQubWF4X3ByZXNlbmNlcyA/PyB1bmRlZmluZWRcbiAgaWYgKHByb3BzLm1heFZpZGVvQ2hhbm5lbFVzZXJzICYmIHBheWxvYWQuZ3VpbGQubWF4X3ZpZGVvX2NoYW5uZWxfdXNlcnMpIGd1aWxkLm1heFZpZGVvQ2hhbm5lbFVzZXJzID0gcGF5bG9hZC5ndWlsZC5tYXhfdmlkZW9fY2hhbm5lbF91c2Vyc1xuICBpZiAocHJvcHMubWZhTGV2ZWwpIGd1aWxkLm1mYUxldmVsID0gcGF5bG9hZC5ndWlsZC5tZmFfbGV2ZWxcbiAgaWYgKHByb3BzLm5hbWUgJiYgcGF5bG9hZC5ndWlsZC5uYW1lKSBndWlsZC5uYW1lID0gcGF5bG9hZC5ndWlsZC5uYW1lXG4gIGlmIChwcm9wcy5uc2Z3TGV2ZWwpIGd1aWxkLm5zZndMZXZlbCA9IHBheWxvYWQuZ3VpbGQubnNmd19sZXZlbFxuICBpZiAocHJvcHMucHJlZmVycmVkTG9jYWxlICYmIHBheWxvYWQuZ3VpbGQucHJlZmVycmVkX2xvY2FsZSkgZ3VpbGQucHJlZmVycmVkTG9jYWxlID0gcGF5bG9hZC5ndWlsZC5wcmVmZXJyZWRfbG9jYWxlXG4gIGlmIChwcm9wcy5wcmVtaXVtU3Vic2NyaXB0aW9uQ291bnQgJiYgcGF5bG9hZC5ndWlsZC5wcmVtaXVtX3N1YnNjcmlwdGlvbl9jb3VudCAhPT0gdW5kZWZpbmVkKVxuICAgIGd1aWxkLnByZW1pdW1TdWJzY3JpcHRpb25Db3VudCA9IHBheWxvYWQuZ3VpbGQucHJlbWl1bV9zdWJzY3JpcHRpb25fY291bnRcbiAgaWYgKHByb3BzLnByZW1pdW1UaWVyKSBndWlsZC5wcmVtaXVtVGllciA9IHBheWxvYWQuZ3VpbGQucHJlbWl1bV90aWVyXG4gIGlmIChwcm9wcy5zdGFnZUluc3RhbmNlcyAmJiBwYXlsb2FkLmd1aWxkLnN0YWdlX2luc3RhbmNlcylcbiAgICBndWlsZC5zdGFnZUluc3RhbmNlcyA9IHBheWxvYWQuZ3VpbGQuc3RhZ2VfaW5zdGFuY2VzLm1hcCgoc2kpID0+ICh7XG4gICAgICAvKiogVGhlIGlkIG9mIHRoaXMgU3RhZ2UgaW5zdGFuY2UgKi9cbiAgICAgIGlkOiBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShzaS5pZCksXG4gICAgICAvKiogVGhlIGd1aWxkIGlkIG9mIHRoZSBhc3NvY2lhdGVkIFN0YWdlIGNoYW5uZWwgKi9cbiAgICAgIGd1aWxkSWQsXG4gICAgICAvKiogVGhlIGlkIG9mIHRoZSBhc3NvY2lhdGVkIFN0YWdlIGNoYW5uZWwgKi9cbiAgICAgIGNoYW5uZWxJZDogYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2Uoc2kuY2hhbm5lbF9pZCksXG4gICAgICAvKiogVGhlIHRvcGljIG9mIHRoZSBTdGFnZSBpbnN0YW5jZSAoMS0xMjAgY2hhcmFjdGVycykgKi9cbiAgICAgIHRvcGljOiBzaS50b3BpYyxcbiAgICB9KSlcbiAgaWYgKHByb3BzLmNoYW5uZWxzICYmICghIXBheWxvYWQuZ3VpbGQuY2hhbm5lbHMgfHwgISFwYXlsb2FkLmd1aWxkLnRocmVhZHMpKVxuICAgIGd1aWxkLmNoYW5uZWxzID0gbmV3IENvbGxlY3Rpb24oXG4gICAgICBbLi4uKHBheWxvYWQuZ3VpbGQuY2hhbm5lbHMgPz8gW10pLCAuLi4ocGF5bG9hZC5ndWlsZC50aHJlYWRzID8/IFtdKV0ubWFwKChjaGFubmVsKSA9PiB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGJvdC50cmFuc2Zvcm1lcnMuY2hhbm5lbChib3QsIHsgY2hhbm5lbCwgZ3VpbGRJZCB9KVxuICAgICAgICByZXR1cm4gW3Jlc3VsdC5pZCwgcmVzdWx0XVxuICAgICAgfSksXG4gICAgKVxuICBpZiAocHJvcHMubWVtYmVycyAmJiBwYXlsb2FkLmd1aWxkLm1lbWJlcnMpXG4gICAgZ3VpbGQubWVtYmVycyA9IG5ldyBDb2xsZWN0aW9uKFxuICAgICAgcGF5bG9hZC5ndWlsZC5tZW1iZXJzLm1hcCgobWVtYmVyKSA9PiB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGJvdC50cmFuc2Zvcm1lcnMubWVtYmVyKGJvdCwgbWVtYmVyLCBndWlsZElkLCBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShtZW1iZXIudXNlciEuaWQpKVxuICAgICAgICByZXR1cm4gW3Jlc3VsdC5pZCwgcmVzdWx0XVxuICAgICAgfSksXG4gICAgKVxuICBpZiAocHJvcHMucm9sZXMgJiYgcGF5bG9hZC5ndWlsZC5yb2xlcylcbiAgICBndWlsZC5yb2xlcyA9IG5ldyBDb2xsZWN0aW9uKFxuICAgICAgcGF5bG9hZC5ndWlsZC5yb2xlcy5tYXAoKHJvbGUpID0+IHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gYm90LnRyYW5zZm9ybWVycy5yb2xlKGJvdCwgeyByb2xlLCBndWlsZElkIH0pXG4gICAgICAgIHJldHVybiBbcmVzdWx0LmlkLCByZXN1bHRdXG4gICAgICB9KSxcbiAgICApXG4gIGlmIChwcm9wcy5lbW9qaXMgJiYgcGF5bG9hZC5ndWlsZC5lbW9qaXMpXG4gICAgZ3VpbGQuZW1vamlzID0gbmV3IENvbGxlY3Rpb24oXG4gICAgICBwYXlsb2FkLmd1aWxkLmVtb2ppcy5tYXAoKGVtb2ppKSA9PiB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGJvdC50cmFuc2Zvcm1lcnMuZW1vamkoYm90LCBlbW9qaSlcbiAgICAgICAgcmV0dXJuIFtyZXN1bHQuaWQhLCByZXN1bHRdXG4gICAgICB9KSxcbiAgICApXG4gIGlmIChwcm9wcy52b2ljZVN0YXRlcyAmJiBwYXlsb2FkLmd1aWxkLnZvaWNlX3N0YXRlcylcbiAgICBndWlsZC52b2ljZVN0YXRlcyA9IG5ldyBDb2xsZWN0aW9uKFxuICAgICAgcGF5bG9hZC5ndWlsZC52b2ljZV9zdGF0ZXMubWFwKCh2b2ljZVN0YXRlKSA9PiB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGJvdC50cmFuc2Zvcm1lcnMudm9pY2VTdGF0ZShib3QsIHsgdm9pY2VTdGF0ZSwgZ3VpbGRJZCB9KVxuICAgICAgICByZXR1cm4gW3Jlc3VsdC51c2VySWQsIHJlc3VsdF1cbiAgICAgIH0pLFxuICAgIClcbiAgaWYgKHByb3BzLnN0aWNrZXJzICYmIHBheWxvYWQuZ3VpbGQuc3RpY2tlcnMpXG4gICAgZ3VpbGQuc3RpY2tlcnMgPSBuZXcgQ29sbGVjdGlvbihcbiAgICAgIHBheWxvYWQuZ3VpbGQuc3RpY2tlcnM/Lm1hcCgoc3RpY2tlcikgPT4ge1xuICAgICAgICBjb25zdCByZXN1bHQgPSBib3QudHJhbnNmb3JtZXJzLnN0aWNrZXIoYm90LCBzdGlja2VyKVxuICAgICAgICByZXR1cm4gW3Jlc3VsdC5pZCwgcmVzdWx0XVxuICAgICAgfSksXG4gICAgKVxuICBpZiAocHJvcHMuc3lzdGVtQ2hhbm5lbEZsYWdzICYmIHBheWxvYWQuZ3VpbGQuc3lzdGVtX2NoYW5uZWxfZmxhZ3MpIGd1aWxkLnN5c3RlbUNoYW5uZWxGbGFncyA9IHBheWxvYWQuZ3VpbGQuc3lzdGVtX2NoYW5uZWxfZmxhZ3NcbiAgaWYgKHByb3BzLnZhbml0eVVybENvZGUgJiYgcGF5bG9hZC5ndWlsZC52YW5pdHlfdXJsX2NvZGUpIGd1aWxkLnZhbml0eVVybENvZGUgPSBwYXlsb2FkLmd1aWxkLnZhbml0eV91cmxfY29kZVxuICBpZiAocHJvcHMudmVyaWZpY2F0aW9uTGV2ZWwpIGd1aWxkLnZlcmlmaWNhdGlvbkxldmVsID0gcGF5bG9hZC5ndWlsZC52ZXJpZmljYXRpb25fbGV2ZWxcbiAgaWYgKHByb3BzLndlbGNvbWVTY3JlZW4gJiYgcGF5bG9hZC5ndWlsZC53ZWxjb21lX3NjcmVlbilcbiAgICBndWlsZC53ZWxjb21lU2NyZWVuID0ge1xuICAgICAgZGVzY3JpcHRpb246IHBheWxvYWQuZ3VpbGQud2VsY29tZV9zY3JlZW4uZGVzY3JpcHRpb24gPz8gdW5kZWZpbmVkLFxuICAgICAgd2VsY29tZUNoYW5uZWxzOiBwYXlsb2FkLmd1aWxkLndlbGNvbWVfc2NyZWVuLndlbGNvbWVfY2hhbm5lbHMubWFwKCh3YykgPT4gKHtcbiAgICAgICAgY2hhbm5lbElkOiBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZSh3Yy5jaGFubmVsX2lkKSxcbiAgICAgICAgZGVzY3JpcHRpb246IHdjLmRlc2NyaXB0aW9uLFxuICAgICAgICBlbW9qaUlkOiB3Yy5lbW9qaV9pZCA/IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHdjLmVtb2ppX2lkKSA6IHVuZGVmaW5lZCxcbiAgICAgICAgZW1vamlOYW1lOiB3Yy5lbW9qaV9uYW1lID8/IHVuZGVmaW5lZCxcbiAgICAgIH0pKSxcbiAgICB9XG4gIGlmIChwcm9wcy5kaXNjb3ZlcnlTcGxhc2ggJiYgcGF5bG9hZC5ndWlsZC5kaXNjb3Zlcnlfc3BsYXNoKSBndWlsZC5kaXNjb3ZlcnlTcGxhc2ggPSBpY29uSGFzaFRvQmlnSW50KHBheWxvYWQuZ3VpbGQuZGlzY292ZXJ5X3NwbGFzaClcbiAgaWYgKHByb3BzLmpvaW5lZEF0ICYmIHBheWxvYWQuZ3VpbGQuam9pbmVkX2F0KSBndWlsZC5qb2luZWRBdCA9IERhdGUucGFyc2UocGF5bG9hZC5ndWlsZC5qb2luZWRfYXQpXG4gIGlmIChwcm9wcy5tZW1iZXJDb3VudCAmJiBwYXlsb2FkLmd1aWxkLm1lbWJlcl9jb3VudCkgZ3VpbGQubWVtYmVyQ291bnQgPSBwYXlsb2FkLmd1aWxkLm1lbWJlcl9jb3VudCA/PyAwXG4gIGlmIChwcm9wcy5zaGFyZElkKSBndWlsZC5zaGFyZElkID0gcGF5bG9hZC5zaGFyZElkXG4gIGlmIChwcm9wcy5pY29uICYmIHBheWxvYWQuZ3VpbGQuaWNvbikgZ3VpbGQuaWNvbiA9IGljb25IYXNoVG9CaWdJbnQocGF5bG9hZC5ndWlsZC5pY29uKVxuICBpZiAocHJvcHMuYmFubmVyICYmIHBheWxvYWQuZ3VpbGQuYmFubmVyKSBndWlsZC5iYW5uZXIgPSBpY29uSGFzaFRvQmlnSW50KHBheWxvYWQuZ3VpbGQuYmFubmVyKVxuICBpZiAocHJvcHMuc3BsYXNoICYmIHBheWxvYWQuZ3VpbGQuc3BsYXNoKSBndWlsZC5zcGxhc2ggPSBpY29uSGFzaFRvQmlnSW50KHBheWxvYWQuZ3VpbGQuc3BsYXNoKVxuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5ndWlsZC5pZCkgZ3VpbGQuaWQgPSBndWlsZElkXG4gIGlmIChwcm9wcy5vd25lcklkICYmIHBheWxvYWQuZ3VpbGQub3duZXJfaWQpIGd1aWxkLm93bmVySWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmd1aWxkLm93bmVyX2lkKVxuICBpZiAocHJvcHMucGVybWlzc2lvbnMgJiYgcGF5bG9hZC5ndWlsZC5wZXJtaXNzaW9ucykgZ3VpbGQucGVybWlzc2lvbnMgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmd1aWxkLnBlcm1pc3Npb25zKVxuICBpZiAocHJvcHMuYWZrQ2hhbm5lbElkICYmIHBheWxvYWQuZ3VpbGQuYWZrX2NoYW5uZWxfaWQpIGd1aWxkLmFma0NoYW5uZWxJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuZ3VpbGQuYWZrX2NoYW5uZWxfaWQpXG4gIGlmIChwcm9wcy53aWRnZXRDaGFubmVsSWQgJiYgcGF5bG9hZC5ndWlsZC53aWRnZXRfY2hhbm5lbF9pZCkgZ3VpbGQud2lkZ2V0Q2hhbm5lbElkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5ndWlsZC53aWRnZXRfY2hhbm5lbF9pZClcbiAgaWYgKHByb3BzLmFwcGxpY2F0aW9uSWQgJiYgcGF5bG9hZC5ndWlsZC5hcHBsaWNhdGlvbl9pZCkgZ3VpbGQuYXBwbGljYXRpb25JZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuZ3VpbGQuYXBwbGljYXRpb25faWQpXG4gIGlmIChwcm9wcy5zeXN0ZW1DaGFubmVsSWQgJiYgcGF5bG9hZC5ndWlsZC5zeXN0ZW1fY2hhbm5lbF9pZCkgZ3VpbGQuc3lzdGVtQ2hhbm5lbElkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5ndWlsZC5zeXN0ZW1fY2hhbm5lbF9pZClcbiAgaWYgKHByb3BzLnJ1bGVzQ2hhbm5lbElkICYmIHBheWxvYWQuZ3VpbGQucnVsZXNfY2hhbm5lbF9pZCkgZ3VpbGQucnVsZXNDaGFubmVsSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmd1aWxkLnJ1bGVzX2NoYW5uZWxfaWQpXG4gIGlmIChwcm9wcy5wdWJsaWNVcGRhdGVzQ2hhbm5lbElkICYmIHBheWxvYWQuZ3VpbGQucHVibGljX3VwZGF0ZXNfY2hhbm5lbF9pZClcbiAgICBndWlsZC5wdWJsaWNVcGRhdGVzQ2hhbm5lbElkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5ndWlsZC5wdWJsaWNfdXBkYXRlc19jaGFubmVsX2lkKVxuICBpZiAocHJvcHMucHJlbWl1bVByb2dyZXNzQmFyRW5hYmxlZCAmJiBwYXlsb2FkLmd1aWxkLnByZW1pdW1fcHJvZ3Jlc3NfYmFyX2VuYWJsZWQpXG4gICAgZ3VpbGQucHJlbWl1bVByb2dyZXNzQmFyRW5hYmxlZCA9IHBheWxvYWQuZ3VpbGQucHJlbWl1bV9wcm9ncmVzc19iYXJfZW5hYmxlZFxuICBpZiAocHJvcHMubGFyZ2UgJiYgcGF5bG9hZC5ndWlsZC5sYXJnZSkgZ3VpbGQubGFyZ2UgPSBwYXlsb2FkLmd1aWxkLmxhcmdlXG4gIGlmIChwcm9wcy5vd25lciAmJiBwYXlsb2FkLmd1aWxkLm93bmVyKSBndWlsZC5vd25lciA9IHBheWxvYWQuZ3VpbGQub3duZXJcbiAgaWYgKHByb3BzLndpZGdldEVuYWJsZWQgJiYgcGF5bG9hZC5ndWlsZC53aWRnZXRfZW5hYmxlZCkgZ3VpbGQud2lkZ2V0RW5hYmxlZCA9IHBheWxvYWQuZ3VpbGQud2lkZ2V0X2VuYWJsZWRcbiAgaWYgKHByb3BzLnVuYXZhaWxhYmxlICYmIHBheWxvYWQuZ3VpbGQudW5hdmFpbGFibGUpIGd1aWxkLnVuYXZhaWxhYmxlID0gcGF5bG9hZC5ndWlsZC51bmF2YWlsYWJsZVxuICBpZiAocHJvcHMuaWNvbkhhc2ggJiYgcGF5bG9hZC5ndWlsZC5pY29uX2hhc2gpIGd1aWxkLmljb25IYXNoID0gaWNvbkhhc2hUb0JpZ0ludChwYXlsb2FkLmd1aWxkLmljb25faGFzaClcbiAgaWYgKHByb3BzLnByZXNlbmNlcyAmJiBwYXlsb2FkLmd1aWxkLnByZXNlbmNlcylcbiAgICBndWlsZC5wcmVzZW5jZXMgPSBwYXlsb2FkLmd1aWxkLnByZXNlbmNlcz8ubWFwKChwcmVzZW5jZSkgPT4gYm90LnRyYW5zZm9ybWVycy5wcmVzZW5jZShib3QsIHByZXNlbmNlIGFzIERpc2NvcmRQcmVzZW5jZVVwZGF0ZSkpXG4gIGlmIChwcm9wcy5zYWZldHlBbGVydHNDaGFubmVsSWQgJiYgcGF5bG9hZC5ndWlsZC5zYWZldHlfYWxlcnRzX2NoYW5uZWxfaWQpXG4gICAgZ3VpbGQuc2FmZXR5QWxlcnRzQ2hhbm5lbElkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5ndWlsZC5zYWZldHlfYWxlcnRzX2NoYW5uZWxfaWQpXG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMuZ3VpbGQoYm90LCBwYXlsb2FkLmd1aWxkLCBndWlsZClcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHdWlsZCB7XG4gIC8qKiBHdWlsZCBuYW1lICgyLTEwMCBjaGFyYWN0ZXJzLCBleGNsdWRpbmcgdHJhaWxpbmcgYW5kIGxlYWRpbmcgd2hpdGVzcGFjZSkgKi9cbiAgbmFtZTogc3RyaW5nXG4gIC8qKiBUcnVlIGlmIHRoZSB1c2VyIGlzIHRoZSBvd25lciBvZiB0aGUgZ3VpbGQgKi9cbiAgb3duZXI6IGJvb2xlYW4gfCB1bmRlZmluZWRcbiAgLyoqIEFmayB0aW1lb3V0IGluIHNlY29uZHMgKi9cbiAgYWZrVGltZW91dDogbnVtYmVyXG4gIC8qKiBUcnVlIGlmIHRoZSBzZXJ2ZXIgd2lkZ2V0IGlzIGVuYWJsZWQgKi9cbiAgd2lkZ2V0RW5hYmxlZD86IGJvb2xlYW5cbiAgLyoqIFZlcmlmaWNhdGlvbiBsZXZlbCByZXF1aXJlZCBmb3IgdGhlIGd1aWxkICovXG4gIHZlcmlmaWNhdGlvbkxldmVsOiBWZXJpZmljYXRpb25MZXZlbHNcbiAgLyoqIERlZmF1bHQgbWVzc2FnZSBub3RpZmljYXRpb25zIGxldmVsICovXG4gIGRlZmF1bHRNZXNzYWdlTm90aWZpY2F0aW9uczogRGVmYXVsdE1lc3NhZ2VOb3RpZmljYXRpb25MZXZlbHNcbiAgLyoqIEV4cGxpY2l0IGNvbnRlbnQgZmlsdGVyIGxldmVsICovXG4gIGV4cGxpY2l0Q29udGVudEZpbHRlcjogRXhwbGljaXRDb250ZW50RmlsdGVyTGV2ZWxzXG4gIC8qKiBFbmFibGVkIGd1aWxkIGZlYXR1cmVzICovXG4gIGZlYXR1cmVzOiBHdWlsZEZlYXR1cmVzW11cbiAgLyoqIFJlcXVpcmVkIE1GQSBsZXZlbCBmb3IgdGhlIGd1aWxkICovXG4gIG1mYUxldmVsOiBNZmFMZXZlbHNcbiAgLyoqIFN5c3RlbSBjaGFubmVsIGZsYWdzICovXG4gIHN5c3RlbUNoYW5uZWxGbGFnczogU3lzdGVtQ2hhbm5lbEZsYWdzXG4gIC8qKiBUcnVlIGlmIHRoaXMgaXMgY29uc2lkZXJlZCBhIGxhcmdlIGd1aWxkICovXG4gIGxhcmdlPzogYm9vbGVhblxuICAvKiogVHJ1ZSBpZiB0aGlzIGd1aWxkIGlzIHVuYXZhaWxhYmxlIGR1ZSB0byBhbiBvdXRhZ2UgKi9cbiAgdW5hdmFpbGFibGU/OiBib29sZWFuXG4gIC8qKiBUb3RhbCBudW1iZXIgb2YgbWVtYmVycyBpbiB0aGlzIGd1aWxkICovXG4gIG1lbWJlckNvdW50OiBudW1iZXJcbiAgLyoqIFRoZSBtYXhpbXVtIG51bWJlciBvZiBwcmVzZW5jZXMgZm9yIHRoZSBndWlsZCAodGhlIGRlZmF1bHQgdmFsdWUsIGN1cnJlbnRseSAyNTAwMCwgaXMgaW4gZWZmZWN0IHdoZW4gbnVsbCBpcyByZXR1cm5lZCkgKi9cbiAgbWF4UHJlc2VuY2VzPzogbnVtYmVyXG4gIC8qKiBUaGUgbWF4aW11bSBudW1iZXIgb2YgbWVtYmVycyBmb3IgdGhlIGd1aWxkICovXG4gIG1heE1lbWJlcnM/OiBudW1iZXJcbiAgLyoqIFRoZSB2YW5pdHkgdXJsIGNvZGUgZm9yIHRoZSBndWlsZCAqL1xuICB2YW5pdHlVcmxDb2RlPzogc3RyaW5nXG4gIC8qKiBUaGUgZGVzY3JpcHRpb24gb2YgYSBndWlsZCAqL1xuICBkZXNjcmlwdGlvbj86IHN0cmluZ1xuICB0b2dnbGVzOiBHdWlsZFRvZ2dsZXNcbiAgc2hhcmRJZDogbnVtYmVyXG4gIC8qKiBQcmVtaXVtIHRpZXIgKFNlcnZlciBCb29zdCBsZXZlbCkgKi9cbiAgcHJlbWl1bVRpZXI6IFByZW1pdW1UaWVyc1xuICAvKiogVGhlIG51bWJlciBvZiBib29zdHMgdGhpcyBndWlsZCBjdXJyZW50bHkgaGFzICovXG4gIHByZW1pdW1TdWJzY3JpcHRpb25Db3VudD86IG51bWJlclxuICAvKiogVGhlIG1heGltdW0gYW1vdW50IG9mIHVzZXJzIGluIGEgdmlkZW8gY2hhbm5lbCAqL1xuICBtYXhWaWRlb0NoYW5uZWxVc2Vycz86IG51bWJlclxuICAvKiogTWF4aW11bSBhbW91bnQgb2YgdXNlcnMgaW4gYSBzdGFnZSB2aWRlbyBjaGFubmVsICovXG4gIG1heFN0YWdlVmlkZW9DaGFubmVsVXNlcnM/OiBudW1iZXJcbiAgLyoqIEFwcHJveGltYXRlIG51bWJlciBvZiBtZW1iZXJzIGluIHRoaXMgZ3VpbGQsIHJldHVybmVkIGZyb20gdGhlIEdFVCAvZ3VpbGRzL2lkIGVuZHBvaW50IHdoZW4gd2l0aF9jb3VudHMgaXMgdHJ1ZSAqL1xuICBhcHByb3hpbWF0ZU1lbWJlckNvdW50PzogbnVtYmVyXG4gIC8qKiBBcHByb3hpbWF0ZSBudW1iZXIgb2Ygbm9uLW9mZmxpbmUgbWVtYmVycyBpbiB0aGlzIGd1aWxkLCByZXR1cm5lZCBmcm9tIHRoZSBHRVQgL2d1aWxkcy9pZCBlbmRwb2ludCB3aGVuIHdpdGhfY291bnRzIGlzIHRydWUgKi9cbiAgYXBwcm94aW1hdGVQcmVzZW5jZUNvdW50PzogbnVtYmVyXG4gIC8qKiBHdWlsZCBOU0ZXIGxldmVsICovXG4gIG5zZndMZXZlbDogR3VpbGROc2Z3TGV2ZWxcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyB0aGUgYm9vc3QgcHJvZ3Jlc3MgYmFyIGVuYWJsZWQgKi9cbiAgcHJlbWl1bVByb2dyZXNzQmFyRW5hYmxlZDogYm9vbGVhblxuICAvKiogR3VpbGQgaWQgKi9cbiAgaWQ6IGJpZ2ludFxuICAvKiogSWNvbiBoYXNoICovXG4gIGljb24/OiBiaWdpbnRcbiAgLyoqIEljb24gaGFzaCwgcmV0dXJuZWQgd2hlbiBpbiB0aGUgdGVtcGxhdGUgb2JqZWN0ICovXG4gIGljb25IYXNoPzogYmlnaW50XG4gIC8qKiBTcGxhc2ggaGFzaCAqL1xuICBzcGxhc2g/OiBiaWdpbnRcbiAgLyoqIERpc2NvdmVyeSBzcGxhc2ggaGFzaDsgb25seSBwcmVzZW50IGZvciBndWlsZHMgd2l0aCB0aGUgXCJESVNDT1ZFUkFCTEVcIiBmZWF0dXJlICovXG4gIGRpc2NvdmVyeVNwbGFzaD86IGJpZ2ludFxuICAvKiogSWQgb2YgdGhlIG93bmVyICovXG4gIG93bmVySWQ6IGJpZ2ludFxuICAvKiogVG90YWwgcGVybWlzc2lvbnMgZm9yIHRoZSB1c2VyIGluIHRoZSBndWlsZCAoZXhjbHVkZXMgb3ZlcndyaXRlcyBhbmQgaW1wbGljaXQgcGVybWlzc2lvbnMpICovXG4gIHBlcm1pc3Npb25zOiBiaWdpbnRcbiAgLyoqIElkIG9mIGFmayBjaGFubmVsICovXG4gIGFma0NoYW5uZWxJZD86IGJpZ2ludFxuICAvKiogVGhlIGNoYW5uZWwgaWQgdGhhdCB0aGUgd2lkZ2V0IHdpbGwgZ2VuZXJhdGUgYW4gaW52aXRlIHRvLCBvciBudWxsIGlmIHNldCB0byBubyBpbnZpdGUgKi9cbiAgd2lkZ2V0Q2hhbm5lbElkPzogYmlnaW50XG4gIC8qKiBSb2xlcyBpbiB0aGUgZ3VpbGQgKi9cbiAgcm9sZXM6IENvbGxlY3Rpb248YmlnaW50LCBSb2xlPlxuICAvKiogQ3VzdG9tIGd1aWxkIGVtb2ppcyAqL1xuICBlbW9qaXM6IENvbGxlY3Rpb248YmlnaW50LCBFbW9qaT5cbiAgLyoqIEFwcGxpY2F0aW9uIGlkIG9mIHRoZSBndWlsZCBjcmVhdG9yIGlmIGl0IGlzIGJvdC1jcmVhdGVkICovXG4gIGFwcGxpY2F0aW9uSWQ/OiBiaWdpbnRcbiAgLyoqIFRoZSBpZCBvZiB0aGUgY2hhbm5lbCB3aGVyZSBndWlsZCBub3RpY2VzIHN1Y2ggYXMgd2VsY29tZSBtZXNzYWdlcyBhbmQgYm9vc3QgZXZlbnRzIGFyZSBwb3N0ZWQgKi9cbiAgc3lzdGVtQ2hhbm5lbElkPzogYmlnaW50XG4gIC8qKiBUaGUgaWQgb2YgdGhlIGNoYW5uZWwgd2hlcmUgY29tbXVuaXR5IGd1aWxkcyBjYW4gZGlzcGxheSBydWxlcyBhbmQvb3IgZ3VpZGVsaW5lcyAqL1xuICBydWxlc0NoYW5uZWxJZD86IGJpZ2ludFxuICAvKiogV2hlbiB0aGlzIGd1aWxkIHdhcyBqb2luZWQgYXQgKi9cbiAgam9pbmVkQXQ/OiBudW1iZXJcbiAgLyoqIFN0YXRlcyBvZiBtZW1iZXJzIGN1cnJlbnRseSBpbiB2b2ljZSBjaGFubmVsczsgbGFja3MgdGhlIGd1aWxkX2lkIGtleSAqL1xuICB2b2ljZVN0YXRlczogQ29sbGVjdGlvbjxiaWdpbnQsIFZvaWNlU3RhdGU+XG4gIC8qKiBVc2VycyBpbiB0aGUgZ3VpbGQgKi9cbiAgbWVtYmVyczogQ29sbGVjdGlvbjxiaWdpbnQsIE1lbWJlcj5cbiAgLyoqIENoYW5uZWxzIGluIHRoZSBndWlsZCAqL1xuICBjaGFubmVsczogQ29sbGVjdGlvbjxiaWdpbnQsIENoYW5uZWw+XG4gIC8qKiBBbGwgYWN0aXZlIHRocmVhZHMgaW4gdGhlIGd1aWxkIHRoYXQgdGhlIGN1cnJlbnQgdXNlciBoYXMgcGVybWlzc2lvbiB0byB2aWV3ICovXG4gIHRocmVhZHM6IENvbGxlY3Rpb248YmlnaW50LCBDaGFubmVsPlxuICAvKiogUHJlc2VuY2VzIG9mIHRoZSBtZW1iZXJzIGluIHRoZSBndWlsZCwgd2lsbCBvbmx5IGluY2x1ZGUgbm9uLW9mZmxpbmUgbWVtYmVycyBpZiB0aGUgc2l6ZSBpcyBncmVhdGVyIHRoYW4gbGFyZ2UgdGhyZXNob2xkICovXG4gIHByZXNlbmNlcz86IFByZXNlbmNlVXBkYXRlW11cbiAgLyoqIEJhbm5lciBoYXNoICovXG4gIGJhbm5lcj86IGJpZ2ludFxuICAvKiogVGhlIHByZWZlcnJlZCBsb2NhbGUgb2YgYSBDb21tdW5pdHkgZ3VpbGQ7IHVzZWQgaW4gc2VydmVyIGRpc2NvdmVyeSBhbmQgbm90aWNlcyBmcm9tIERpc2NvcmQ7IGRlZmF1bHRzIHRvIFwiZW4tVVNcIiAqL1xuICBwcmVmZXJyZWRMb2NhbGU6IHN0cmluZ1xuICAvKiogVGhlIGlkIG9mIHRoZSBjaGFubmVsIHdoZXJlIGFkbWlucyBhbmQgbW9kZXJhdG9ycyBvZiBDb21tdW5pdHkgZ3VpbGRzIHJlY2VpdmUgbm90aWNlcyBmcm9tIERpc2NvcmQgKi9cbiAgcHVibGljVXBkYXRlc0NoYW5uZWxJZD86IGJpZ2ludFxuICAvKiogVGhlIHdlbGNvbWUgc2NyZWVuIG9mIGEgQ29tbXVuaXR5IGd1aWxkLCBzaG93biB0byBuZXcgbWVtYmVycywgcmV0dXJuZWQgaW4gYW4gSW52aXRlJ3MgZ3VpbGQgb2JqZWN0ICovXG4gIHdlbGNvbWVTY3JlZW4/OiBXZWxjb21lU2NyZWVuXG4gIC8qKiBTdGFnZSBpbnN0YW5jZXMgaW4gdGhlIGd1aWxkICovXG4gIHN0YWdlSW5zdGFuY2VzPzogU3RhZ2VJbnN0YW5jZVtdXG4gIC8qKiBDdXN0b20gZ3VpbGQgc3RpY2tlcnMgKi9cbiAgc3RpY2tlcnM/OiBDb2xsZWN0aW9uPGJpZ2ludCwgU3RpY2tlcj5cbiAgLyoqIFRoZSBpZCBvZiB0aGUgY2hhbm5lbCB3aGVyZSBhZG1pbnMgYW5kIG1vZGVyYXRvcnMgb2YgQ29tbXVuaXR5IGd1aWxkcyByZWNlaXZlIHNhZmV0eSBhbGVydHMgZnJvbSBEaXNjb3JkICovXG4gIHNhZmV0eUFsZXJ0c0NoYW5uZWxJZD86IGJpZ2ludFxufVxuIl0sIm5hbWVzIjpbInRyYW5zZm9ybUd1aWxkIiwiYmFzZUd1aWxkIiwidGhyZWFkcyIsImNoYW5uZWxzIiwiYXJyYXkiLCJmaWx0ZXIiLCJ4IiwidHlwZSIsIkNoYW5uZWxUeXBlcyIsIlB1YmxpY1RocmVhZCIsIlByaXZhdGVUaHJlYWQiLCJBbm5vdW5jZW1lbnRUaHJlYWQiLCJDb2xsZWN0aW9uIiwibWFwIiwiaWQiLCJib3QiLCJwYXlsb2FkIiwiZ3VpbGRJZCIsInRyYW5zZm9ybWVycyIsInNub3dmbGFrZSIsImd1aWxkIiwicHJvcHMiLCJkZXNpcmVkUHJvcGVydGllcyIsIk9iamVjdCIsImNyZWF0ZSIsImFma1RpbWVvdXQiLCJhZmtfdGltZW91dCIsImFwcHJveGltYXRlTWVtYmVyQ291bnQiLCJhcHByb3hpbWF0ZV9tZW1iZXJfY291bnQiLCJhcHByb3hpbWF0ZVByZXNlbmNlQ291bnQiLCJhcHByb3hpbWF0ZV9wcmVzZW5jZV9jb3VudCIsImRlZmF1bHRNZXNzYWdlTm90aWZpY2F0aW9ucyIsImRlZmF1bHRfbWVzc2FnZV9ub3RpZmljYXRpb25zIiwiZGVzY3JpcHRpb24iLCJ0b2dnbGVzIiwiR3VpbGRUb2dnbGVzIiwiZXhwbGljaXRDb250ZW50RmlsdGVyIiwiZXhwbGljaXRfY29udGVudF9maWx0ZXIiLCJtYXhNZW1iZXJzIiwibWF4X21lbWJlcnMiLCJtYXhQcmVzZW5jZXMiLCJtYXhfcHJlc2VuY2VzIiwidW5kZWZpbmVkIiwibWF4VmlkZW9DaGFubmVsVXNlcnMiLCJtYXhfdmlkZW9fY2hhbm5lbF91c2VycyIsIm1mYUxldmVsIiwibWZhX2xldmVsIiwibmFtZSIsIm5zZndMZXZlbCIsIm5zZndfbGV2ZWwiLCJwcmVmZXJyZWRMb2NhbGUiLCJwcmVmZXJyZWRfbG9jYWxlIiwicHJlbWl1bVN1YnNjcmlwdGlvbkNvdW50IiwicHJlbWl1bV9zdWJzY3JpcHRpb25fY291bnQiLCJwcmVtaXVtVGllciIsInByZW1pdW1fdGllciIsInN0YWdlSW5zdGFuY2VzIiwic3RhZ2VfaW5zdGFuY2VzIiwic2kiLCJjaGFubmVsSWQiLCJjaGFubmVsX2lkIiwidG9waWMiLCJjaGFubmVsIiwicmVzdWx0IiwibWVtYmVycyIsIm1lbWJlciIsInVzZXIiLCJyb2xlcyIsInJvbGUiLCJlbW9qaXMiLCJlbW9qaSIsInZvaWNlU3RhdGVzIiwidm9pY2Vfc3RhdGVzIiwidm9pY2VTdGF0ZSIsInVzZXJJZCIsInN0aWNrZXJzIiwic3RpY2tlciIsInN5c3RlbUNoYW5uZWxGbGFncyIsInN5c3RlbV9jaGFubmVsX2ZsYWdzIiwidmFuaXR5VXJsQ29kZSIsInZhbml0eV91cmxfY29kZSIsInZlcmlmaWNhdGlvbkxldmVsIiwidmVyaWZpY2F0aW9uX2xldmVsIiwid2VsY29tZVNjcmVlbiIsIndlbGNvbWVfc2NyZWVuIiwid2VsY29tZUNoYW5uZWxzIiwid2VsY29tZV9jaGFubmVscyIsIndjIiwiZW1vamlJZCIsImVtb2ppX2lkIiwiZW1vamlOYW1lIiwiZW1vamlfbmFtZSIsImRpc2NvdmVyeVNwbGFzaCIsImRpc2NvdmVyeV9zcGxhc2giLCJpY29uSGFzaFRvQmlnSW50Iiwiam9pbmVkQXQiLCJqb2luZWRfYXQiLCJEYXRlIiwicGFyc2UiLCJtZW1iZXJDb3VudCIsIm1lbWJlcl9jb3VudCIsInNoYXJkSWQiLCJpY29uIiwiYmFubmVyIiwic3BsYXNoIiwib3duZXJJZCIsIm93bmVyX2lkIiwicGVybWlzc2lvbnMiLCJhZmtDaGFubmVsSWQiLCJhZmtfY2hhbm5lbF9pZCIsIndpZGdldENoYW5uZWxJZCIsIndpZGdldF9jaGFubmVsX2lkIiwiYXBwbGljYXRpb25JZCIsImFwcGxpY2F0aW9uX2lkIiwic3lzdGVtQ2hhbm5lbElkIiwic3lzdGVtX2NoYW5uZWxfaWQiLCJydWxlc0NoYW5uZWxJZCIsInJ1bGVzX2NoYW5uZWxfaWQiLCJwdWJsaWNVcGRhdGVzQ2hhbm5lbElkIiwicHVibGljX3VwZGF0ZXNfY2hhbm5lbF9pZCIsInByZW1pdW1Qcm9ncmVzc0JhckVuYWJsZWQiLCJwcmVtaXVtX3Byb2dyZXNzX2Jhcl9lbmFibGVkIiwibGFyZ2UiLCJvd25lciIsIndpZGdldEVuYWJsZWQiLCJ3aWRnZXRfZW5hYmxlZCIsInVuYXZhaWxhYmxlIiwiaWNvbkhhc2giLCJpY29uX2hhc2giLCJwcmVzZW5jZXMiLCJwcmVzZW5jZSIsInNhZmV0eUFsZXJ0c0NoYW5uZWxJZCIsInNhZmV0eV9hbGVydHNfY2hhbm5lbF9pZCIsImN1c3RvbWl6ZXJzIl0sIm1hcHBpbmdzIjoiOzs7OytCQThCZ0JBOzs7ZUFBQUE7Ozt1QkFsQlQ7dUJBQ3NDO3VCQUdoQjtBQUU3QixNQUFNQyxZQUFZO0lBQ2hCLElBQUlDLFdBQVU7UUFDWixJQUFJLENBQUMsSUFBSSxDQUFDQyxRQUFRLEVBQUU7UUFFcEIsTUFBTUQsVUFBVSxJQUFJLENBQUNDLFFBQVEsQ0FDMUJDLEtBQUssR0FDTEMsTUFBTSxDQUFDLENBQUNDLElBQU1BLEVBQUVDLElBQUksS0FBS0MsbUJBQVksQ0FBQ0MsWUFBWSxJQUFJSCxFQUFFQyxJQUFJLEtBQUtDLG1CQUFZLENBQUNFLGFBQWEsSUFB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
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ _export_star(require("./activity.cjs"), exports);
6
+ _export_star(require("./application.cjs"), exports);
7
+ _export_star(require("./applicationCommand.cjs"), exports);
8
+ _export_star(require("./applicationCommandOption.cjs"), exports);
9
+ _export_star(require("./applicationCommandOptionChoice.cjs"), exports);
10
+ _export_star(require("./applicationCommandPermission.cjs"), exports);
11
+ _export_star(require("./attachment.cjs"), exports);
12
+ _export_star(require("./auditLogEntry.cjs"), exports);
13
+ _export_star(require("./automodActionExecution.cjs"), exports);
14
+ _export_star(require("./automodRule.cjs"), exports);
15
+ _export_star(require("./avatarDecorationData.cjs"), exports);
16
+ _export_star(require("./channel.cjs"), exports);
17
+ _export_star(require("./component.cjs"), exports);
18
+ _export_star(require("./embed.cjs"), exports);
19
+ _export_star(require("./emoji.cjs"), exports);
20
+ _export_star(require("./entitlement.cjs"), exports);
21
+ _export_star(require("./gatewayBot.cjs"), exports);
22
+ _export_star(require("./guild.cjs"), exports);
23
+ _export_star(require("./integration.cjs"), exports);
24
+ _export_star(require("./interaction.cjs"), exports);
25
+ _export_star(require("./invite.cjs"), exports);
26
+ _export_star(require("./member.cjs"), exports);
27
+ _export_star(require("./message.cjs"), exports);
28
+ _export_star(require("./onboarding.cjs"), exports);
29
+ _export_star(require("./poll.cjs"), exports);
30
+ _export_star(require("./presence.cjs"), exports);
31
+ _export_star(require("./reverse/index.cjs"), exports);
32
+ _export_star(require("./role.cjs"), exports);
33
+ _export_star(require("./scheduledEvent.cjs"), exports);
34
+ _export_star(require("./sku.cjs"), exports);
35
+ _export_star(require("./stageInstance.cjs"), exports);
36
+ _export_star(require("./stageInviteInstance.cjs"), exports);
37
+ _export_star(require("./sticker.cjs"), exports);
38
+ _export_star(require("./team.cjs"), exports);
39
+ _export_star(require("./template.cjs"), exports);
40
+ _export_star(require("./threadMember.cjs"), exports);
41
+ _export_star(require("./toggles/index.cjs"), exports);
42
+ _export_star(require("./user.cjs"), exports);
43
+ _export_star(require("./voiceRegion.cjs"), exports);
44
+ _export_star(require("./voiceState.cjs"), exports);
45
+ _export_star(require("./webhook.cjs"), exports);
46
+ _export_star(require("./welcomeScreen.cjs"), exports);
47
+ _export_star(require("./widget.cjs"), exports);
48
+ _export_star(require("./widgetSettings.cjs"), exports);
49
+ function _export_star(from, to) {
50
+ Object.keys(from).forEach(function(k) {
51
+ if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) {
52
+ Object.defineProperty(to, k, {
53
+ enumerable: true,
54
+ get: function() {
55
+ return from[k];
56
+ }
57
+ });
58
+ }
59
+ });
60
+ return from;
61
+ }
62
+
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hY3Rpdml0eS5qcydcbmV4cG9ydCAqIGZyb20gJy4vYXBwbGljYXRpb24uanMnXG5leHBvcnQgKiBmcm9tICcuL2FwcGxpY2F0aW9uQ29tbWFuZC5qcydcbmV4cG9ydCAqIGZyb20gJy4vYXBwbGljYXRpb25Db21tYW5kT3B0aW9uLmpzJ1xuZXhwb3J0ICogZnJvbSAnLi9hcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25DaG9pY2UuanMnXG5leHBvcnQgKiBmcm9tICcuL2FwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb24uanMnXG5leHBvcnQgKiBmcm9tICcuL2F0dGFjaG1lbnQuanMnXG5leHBvcnQgKiBmcm9tICcuL2F1ZGl0TG9nRW50cnkuanMnXG5leHBvcnQgKiBmcm9tICcuL2F1dG9tb2RBY3Rpb25FeGVjdXRpb24uanMnXG5leHBvcnQgKiBmcm9tICcuL2F1dG9tb2RSdWxlLmpzJ1xuZXhwb3J0ICogZnJvbSAnLi9hdmF0YXJEZWNvcmF0aW9uRGF0YS5qcydcbmV4cG9ydCAqIGZyb20gJy4vY2hhbm5lbC5qcydcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50LmpzJ1xuZXhwb3J0ICogZnJvbSAnLi9lbWJlZC5qcydcbmV4cG9ydCAqIGZyb20gJy4vZW1vamkuanMnXG5leHBvcnQgKiBmcm9tICcuL2VudGl0bGVtZW50LmpzJ1xuZXhwb3J0ICogZnJvbSAnLi9nYXRld2F5Qm90LmpzJ1xuZXhwb3J0ICogZnJvbSAnLi9ndWlsZC5qcydcbmV4cG9ydCAqIGZyb20gJy4vaW50ZWdyYXRpb24uanMnXG5leHBvcnQgKiBmcm9tICcuL2ludGVyYWN0aW9uLmpzJ1xuZXhwb3J0ICogZnJvbSAnLi9pbnZpdGUuanMnXG5leHBvcnQgKiBmcm9tICcuL21lbWJlci5qcydcbmV4cG9ydCAqIGZyb20gJy4vbWVzc2FnZS5qcydcbmV4cG9ydCAqIGZyb20gJy4vb25ib2FyZGluZy5qcydcbmV4cG9ydCAqIGZyb20gJy4vcG9sbC5qcydcbmV4cG9ydCAqIGZyb20gJy4vcHJlc2VuY2UuanMnXG5leHBvcnQgKiBmcm9tICcuL3JldmVyc2UvaW5kZXguanMnXG5leHBvcnQgKiBmcm9tICcuL3JvbGUuanMnXG5leHBvcnQgKiBmcm9tICcuL3NjaGVkdWxlZEV2ZW50LmpzJ1xuZXhwb3J0ICogZnJvbSAnLi9za3UuanMnXG5leHBvcnQgKiBmcm9tICcuL3N0YWdlSW5zdGFuY2UuanMnXG5leHBvcnQgKiBmcm9tICcuL3N0YWdlSW52aXRlSW5zdGFuY2UuanMnXG5leHBvcnQgKiBmcm9tICcuL3N0aWNrZXIuanMnXG5leHBvcnQgKiBmcm9tICcuL3RlYW0uanMnXG5leHBvcnQgKiBmcm9tICcuL3RlbXBsYXRlLmpzJ1xuZXhwb3J0ICogZnJvbSAnLi90aHJlYWRNZW1iZXIuanMnXG5leHBvcnQgKiBmcm9tICcuL3RvZ2dsZXMvaW5kZXguanMnXG5leHBvcnQgKiBmcm9tICcuL3VzZXIuanMnXG5leHBvcnQgKiBmcm9tICcuL3ZvaWNlUmVnaW9uLmpzJ1xuZXhwb3J0ICogZnJvbSAnLi92b2ljZVN0YXRlLmpzJ1xuZXhwb3J0ICogZnJvbSAnLi93ZWJob29rLmpzJ1xuZXhwb3J0ICogZnJvbSAnLi93ZWxjb21lU2NyZWVuLmpzJ1xuZXhwb3J0ICogZnJvbSAnLi93aWRnZXQuanMnXG5leHBvcnQgKiBmcm9tICcuL3dpZGdldFNldHRpbmdzLmpzJ1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7cUJBQWM7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0EifQ==
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "transformIntegration", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return transformIntegration;
9
+ }
10
+ });
11
+ const _index = require("../index.cjs");
12
+ function transformIntegration(bot, payload) {
13
+ const integration = {
14
+ guildId: bot.transformers.snowflake(payload.guild_id),
15
+ id: bot.transformers.snowflake(payload.id),
16
+ name: payload.name,
17
+ type: payload.type,
18
+ enabled: payload.enabled,
19
+ syncing: payload.syncing,
20
+ roleId: payload.role_id ? bot.transformers.snowflake(payload.role_id) : undefined,
21
+ enableEmoticons: payload.enable_emoticons,
22
+ expireBehavior: payload.expire_behavior,
23
+ expireGracePeriod: payload.expire_grace_period,
24
+ user: payload.user ? bot.transformers.user(bot, payload.user) : undefined,
25
+ account: {
26
+ id: bot.transformers.snowflake(payload.account.id),
27
+ name: payload.account.name
28
+ },
29
+ syncedAt: payload.synced_at ? Date.parse(payload.synced_at) : undefined,
30
+ subscriberCount: payload.subscriber_count,
31
+ revoked: payload.revoked,
32
+ application: payload.application ? {
33
+ id: bot.transformers.snowflake(payload.application.id),
34
+ name: payload.application.name,
35
+ icon: payload.application.icon ? (0, _index.iconHashToBigInt)(payload.application.icon) : undefined,
36
+ description: payload.application.description,
37
+ bot: payload.application.bot ? bot.transformers.user(bot, payload.application.bot) : undefined
38
+ } : undefined,
39
+ scopes: payload.scopes
40
+ };
41
+ return bot.transformers.customizers.integration(bot, payload, integration);
42
+ }
43
+
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvaW50ZWdyYXRpb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBEaXNjb3JkSW50ZWdyYXRpb25DcmVhdGVVcGRhdGUsIEludGVncmF0aW9uRXhwaXJlQmVoYXZpb3JzLCBPQXV0aDJTY29wZSB9IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJ1xuaW1wb3J0IHsgaWNvbkhhc2hUb0JpZ0ludCwgdHlwZSBCb3QsIHR5cGUgVXNlciB9IGZyb20gJy4uL2luZGV4LmpzJ1xuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtSW50ZWdyYXRpb24oYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRJbnRlZ3JhdGlvbkNyZWF0ZVVwZGF0ZSk6IEludGVncmF0aW9uIHtcbiAgY29uc3QgaW50ZWdyYXRpb24gPSB7XG4gICAgZ3VpbGRJZDogYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5ndWlsZF9pZCksXG4gICAgaWQ6IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuaWQpLFxuICAgIG5hbWU6IHBheWxvYWQubmFtZSxcbiAgICB0eXBlOiBwYXlsb2FkLnR5cGUsXG4gICAgZW5hYmxlZDogcGF5bG9hZC5lbmFibGVkLFxuICAgIHN5bmNpbmc6IHBheWxvYWQuc3luY2luZyxcbiAgICByb2xlSWQ6IHBheWxvYWQucm9sZV9pZCA/IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQucm9sZV9pZCkgOiB1bmRlZmluZWQsXG4gICAgZW5hYmxlRW1vdGljb25zOiBwYXlsb2FkLmVuYWJsZV9lbW90aWNvbnMsXG4gICAgZXhwaXJlQmVoYXZpb3I6IHBheWxvYWQuZXhwaXJlX2JlaGF2aW9yLFxuICAgIGV4cGlyZUdyYWNlUGVyaW9kOiBwYXlsb2FkLmV4cGlyZV9ncmFjZV9wZXJpb2QsXG4gICAgdXNlcjogcGF5bG9hZC51c2VyID8gYm90LnRyYW5zZm9ybWVycy51c2VyKGJvdCwgcGF5bG9hZC51c2VyKSA6IHVuZGVmaW5lZCxcbiAgICBhY2NvdW50OiB7XG4gICAgICBpZDogYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5hY2NvdW50LmlkKSxcbiAgICAgIG5hbWU6IHBheWxvYWQuYWNjb3VudC5uYW1lLFxuICAgIH0sXG4gICAgc3luY2VkQXQ6IHBheWxvYWQuc3luY2VkX2F0ID8gRGF0ZS5wYXJzZShwYXlsb2FkLnN5bmNlZF9hdCkgOiB1bmRlZmluZWQsXG4gICAgc3Vic2NyaWJlckNvdW50OiBwYXlsb2FkLnN1YnNjcmliZXJfY291bnQsXG4gICAgcmV2b2tlZDogcGF5bG9hZC5yZXZva2VkLFxuICAgIGFwcGxpY2F0aW9uOiBwYXlsb2FkLmFwcGxpY2F0aW9uXG4gICAgICA/IHtcbiAgICAgICAgICBpZDogYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5hcHBsaWNhdGlvbi5pZCksXG4gICAgICAgICAgbmFtZTogcGF5bG9hZC5hcHBsaWNhdGlvbi5uYW1lLFxuICAgICAgICAgIGljb246IHBheWxvYWQuYXBwbGljYXRpb24uaWNvbiA/IGljb25IYXNoVG9CaWdJbnQocGF5bG9hZC5hcHBsaWNhdGlvbi5pY29uKSA6IHVuZGVmaW5lZCxcbiAgICAgICAgICBkZXNjcmlwdGlvbjogcGF5bG9hZC5hcHBsaWNhdGlvbi5kZXNjcmlwdGlvbixcbiAgICAgICAgICBib3Q6IHBheWxvYWQuYXBwbGljYXRpb24uYm90ID8gYm90LnRyYW5zZm9ybWVycy51c2VyKGJvdCwgcGF5bG9hZC5hcHBsaWNhdGlvbi5ib3QpIDogdW5kZWZpbmVkLFxuICAgICAgICB9XG4gICAgICA6IHVuZGVmaW5lZCxcbiAgICBzY29wZXM6IHBheWxvYWQuc2NvcGVzLFxuICB9IGFzIEludGVncmF0aW9uXG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMuaW50ZWdyYXRpb24oYm90LCBwYXlsb2FkLCBpbnRlZ3JhdGlvbilcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbnRlZ3JhdGlvbiB7XG4gIHVzZXI/OiBVc2VyXG4gIGVuYWJsZWQ/OiBib29sZWFuXG4gIHN5bmNpbmc/OiBib29sZWFuXG4gIHJvbGVJZD86IGJpZ2ludFxuICBlbmFibGVFbW90aWNvbnM/OiBib29sZWFuXG4gIGV4cGlyZUJlaGF2aW9yPzogSW50ZWdyYXRpb25FeHBpcmVCZWhhdmlvcnNcbiAgZXhwaXJlR3JhY2VQZXJpb2Q/OiBudW1iZXJcbiAgc3luY2VkQXQ/OiBudW1iZXJcbiAgc3Vic2NyaWJlckNvdW50PzogbnVtYmVyXG4gIHJldm9rZWQ/OiBib29sZWFuXG4gIGFwcGxpY2F0aW9uPzoge1xuICAgIGJvdD86IFVzZXJcbiAgICBpY29uPzogYmlnaW50XG4gICAgaWQ6IGJpZ2ludFxuICAgIG5hbWU6IHN0cmluZ1xuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmdcbiAgfVxuICBpZDogYmlnaW50XG4gIG5hbWU6IHN0cmluZ1xuICBndWlsZElkOiBiaWdpbnRcbiAgdHlwZTogJ3R3aXRjaCcgfCAneW91dHViZScgfCAnZGlzY29yZCdcbiAgYWNjb3VudDoge1xuICAgIGlkOiBiaWdpbnRcbiAgICBuYW1lOiBzdHJpbmdcbiAgfVxuICBzY29wZXM6IE9BdXRoMlNjb3BlW11cbn1cbiJdLCJuYW1lcyI6WyJ0cmFuc2Zvcm1JbnRlZ3JhdGlvbiIsImJvdCIsInBheWxvYWQiLCJpbnRlZ3JhdGlvbiIsImd1aWxkSWQiLCJ0cmFuc2Zvcm1lcnMiLCJzbm93Zmxha2UiLCJndWlsZF9pZCIsImlkIiwibmFtZSIsInR5cGUiLCJlbmFibGVkIiwic3luY2luZyIsInJvbGVJZCIsInJvbGVfaWQiLCJ1bmRlZmluZWQiLCJlbmFibGVFbW90aWNvbnMiLCJlbmFibGVfZW1vdGljb25zIiwiZXhwaXJlQmVoYXZpb3IiLCJleHBpcmVfYmVoYXZpb3IiLCJleHBpcmVHcmFjZVBlcmlvZCIsImV4cGlyZV9ncmFjZV9wZXJpb2QiLCJ1c2VyIiwiYWNjb3VudCIsInN5bmNlZEF0Iiwic3luY2VkX2F0IiwiRGF0ZSIsInBhcnNlIiwic3Vic2NyaWJlckNvdW50Iiwic3Vic2NyaWJlcl9jb3VudCIsInJldm9rZWQiLCJhcHBsaWNhdGlvbiIsImljb24iLCJpY29uSGFzaFRvQmlnSW50IiwiZGVzY3JpcHRpb24iLCJzY29wZXMiLCJjdXN0b21pemVycyJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFHZ0JBOzs7ZUFBQUE7Ozt1QkFGc0M7QUFFL0MsU0FBU0EscUJBQXFCQyxHQUFRLEVBQUVDLE9BQXVDO0lBQ3BGLE1BQU1DLGNBQWM7UUFDbEJDLFNBQVNILElBQUlJLFlBQVksQ0FBQ0MsU0FBUyxDQUFDSixRQUFRSyxRQUFRO1FBQ3BEQyxJQUFJUCxJQUFJSSxZQUFZLENBQUNDLFNBQVMsQ0FBQ0osUUFBUU0sRUFBRTtRQUN6Q0MsTUFBTVAsUUFBUU8sSUFBSTtRQUNsQkMsTUFBTVIsUUFBUVEsSUFBSTtRQUNsQkMsU0FBU1QsUUFBUVMsT0FBTztRQUN4QkMsU0FBU1YsUUFBUVUsT0FBTztRQUN4QkMsUUFBUVgsUUFBUVksT0FBTyxHQUFHYixJQUFJSSxZQUFZLENBQUNDLFNBQVMsQ0FBQ0osUUFBUVksT0FBTyxJQUFJQztRQUN4RUMsaUJBQWlCZCxRQUFRZSxnQkFBZ0I7UUFDekNDLGdCQUFnQmhCLFFBQVFpQixlQUFlO1FBQ3ZDQyxtQkFBbUJsQixRQUFRbUIsbUJBQW1CO1FBQzlDQyxNQUFNcEIsUUFBUW9CLElBQUksR0FBR3JCLElBQUlJLFlBQVksQ0FBQ2lCLElBQUksQ0FBQ3JCLEtBQUtDLFFBQVFvQixJQUFJLElBQUlQO1FBQ2hFUSxTQUFTO1lBQ1BmLElBQUlQLElBQUlJLFlBQVksQ0FBQ0MsU0FBUyxDQUFDSixRQUFRcUIsT0FBTyxDQUFDZixFQUFFO1lBQ2pEQyxNQUFNUCxRQUFRcUIsT0FBTyxDQUFDZCxJQUFJO1FBQzVCO1FBQ0FlLFVBQVV0QixRQUFRdUIsU0FBUyxHQUFHQyxLQUFLQyxLQUFLLENBQUN6QixRQUFRdUIsU0FBUyxJQUFJVjtRQUM5RGEsaUJBQWlCMUIsUUFBUTJCLGdCQUFnQjtRQUN6Q0MsU0FBUzVCLFFBQVE0QixPQUFPO1FBQ3hCQyxhQUFhN0IsUUFBUTZCLFdBQVcsR0FDNUI7WUFDRXZCLElBQUlQLElBQUlJLFlBQVksQ0FBQ0MsU0FBUyxDQUFDSixRQUFRNkIsV0FBVyxDQUFDdkIsRUFBRTtZQUNyREMsTUFBTVAsUUFBUTZCLFdBQVcsQ0FBQ3RCLElBQUk7WUFDOUJ1QixNQUFNOUIsUUFBUTZCLFdBQVcsQ0FBQ0MsSUFBSSxHQUFHQyxJQUFBQSx1QkFBZ0IsRUFBQy9CLFFBQVE2QixXQUFXLENBQUNDLElBQUksSUFBSWpCO1lBQzlFbUIsYUFBYWhDLFFBQVE2QixXQUFXLENBQUNHLFdBQVc7WUFDNUNqQyxLQUFLQyxRQUFRNkIsV0FBVyxDQUFDOUIsR0FBRyxHQUFHQSxJQUFJSSxZQUFZLENBQUNpQixJQUFJLENBQUNyQixLQUFLQyxRQUFRNkIsV0FBVyxDQUFDOUIsR0FBRyxJQUFJYztRQUN2RixJQUNBQTtRQUNKb0IsUUFBUWpDLFFBQVFpQyxNQUFNO0lBQ3hCO0lBRUEsT0FBT2xDLElBQUlJLFlBQVksQ0FBQytCLFdBQVcsQ0FBQ2pDLFdBQVcsQ0FBQ0YsS0FBS0MsU0FBU0M7QUFDaEUifQ==
@@ -0,0 +1,214 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: all[name]
9
+ });
10
+ }
11
+ _export(exports, {
12
+ transformInteraction: function() {
13
+ return transformInteraction;
14
+ },
15
+ transformInteractionDataOption: function() {
16
+ return transformInteractionDataOption;
17
+ },
18
+ transformInteractionDataResolved: function() {
19
+ return transformInteractionDataResolved;
20
+ }
21
+ });
22
+ const _types = require("@discordeno/types");
23
+ const _utils = require("@discordeno/utils");
24
+ const _index = require("../index.cjs");
25
+ const baseInteraction = {
26
+ async respond (response, options) {
27
+ let type = _types.InteractionResponseTypes.ChannelMessageWithSource;
28
+ // If user provides a string, change it to a response object
29
+ if (typeof response === 'string') response = {
30
+ content: response
31
+ };
32
+ // If user provides an object, determine if it should be an autocomplete or a modal response
33
+ if (response.title) type = _types.InteractionResponseTypes.Modal;
34
+ if (this.type === _types.InteractionTypes.ApplicationCommandAutocomplete) type = _types.InteractionResponseTypes.ApplicationCommandAutocompleteResult;
35
+ if (type === _types.InteractionResponseTypes.ChannelMessageWithSource && options?.isPrivate) response.flags = _types.MessageFlags.Ephemeral;
36
+ // Since this has already been given a response, any further responses must be followups.
37
+ if (this.acknowledged) return await this.bot.helpers.sendFollowupMessage(this.token, response);
38
+ // Modals cannot be chained
39
+ if (this.type === _types.InteractionTypes.ModalSubmit && type === _types.InteractionResponseTypes.Modal) throw new Error('Cannot respond to a modal interaction with another modal.');
40
+ this.acknowledged = true;
41
+ return await this.bot.helpers.sendInteractionResponse(this.id, this.token, {
42
+ type,
43
+ data: response
44
+ });
45
+ },
46
+ async edit (response, messageId) {
47
+ if (this.type === _types.InteractionTypes.ApplicationCommandAutocomplete) throw new Error('Cannot edit an autocomplete interaction.');
48
+ // If user provides a string, change it to a response object
49
+ if (typeof response === 'string') response = {
50
+ content: response
51
+ };
52
+ if (messageId) {
53
+ return await this.bot?.helpers.editFollowupMessage(this.token, messageId, response);
54
+ }
55
+ if (!this.acknowledged) {
56
+ if (this.type !== _types.InteractionTypes.MessageComponent) throw new Error("This interaction has not been responded to yet and this isn't a MessageComponent interaction.");
57
+ this.acknowledged = true;
58
+ return await this.bot.helpers.sendInteractionResponse(this.id, this.token, {
59
+ type: _types.InteractionResponseTypes.UpdateMessage,
60
+ data: response
61
+ });
62
+ }
63
+ return await this.bot.helpers.editOriginalInteractionResponse(this.token, response);
64
+ },
65
+ async deferEdit () {
66
+ if (this.type === _types.InteractionTypes.ApplicationCommandAutocomplete) throw new Error('Cannot edit an autocomplete interaction.');
67
+ if (this.acknowledged) throw new Error('Cannot defer an already responded interaction.');
68
+ if (this.type !== _types.InteractionTypes.MessageComponent) throw new Error("Cannot defer to then edit an interaction that isn't a MessageComponent interaction.");
69
+ this.acknowledged = true;
70
+ return await this.bot.helpers.sendInteractionResponse(this.id, this.token, {
71
+ type: _types.InteractionResponseTypes.DeferredUpdateMessage
72
+ });
73
+ },
74
+ async defer (isPrivate) {
75
+ if (this.acknowledged) throw new Error('Cannot defer an already responded interaction.');
76
+ this.acknowledged = true;
77
+ return await this.bot.helpers.sendInteractionResponse(this.id, this.token, {
78
+ type: _types.InteractionResponseTypes.DeferredChannelMessageWithSource,
79
+ data: {
80
+ flags: isPrivate ? _types.MessageFlags.Ephemeral : undefined
81
+ }
82
+ });
83
+ },
84
+ async delete (messageId) {
85
+ if (this.type === _types.InteractionTypes.ApplicationCommandAutocomplete) throw new Error('Cannot delete an autocomplete interaction');
86
+ if (messageId) return await this.bot?.helpers.deleteFollowupMessage(this.token, messageId);
87
+ else return await this.bot?.helpers.deleteOriginalInteractionResponse(this.token);
88
+ }
89
+ };
90
+ function transformInteraction(bot, payload) {
91
+ const guildId = payload.guild_id ? bot.transformers.snowflake(payload.guild_id) : undefined;
92
+ const user = bot.transformers.user(bot, payload.member?.user ?? payload.user);
93
+ const interaction = Object.create(baseInteraction);
94
+ const props = bot.transformers.desiredProperties.interaction;
95
+ interaction.bot = bot;
96
+ interaction.acknowledged = false;
97
+ if (props.id && payload.id) interaction.id = bot.transformers.snowflake(payload.id);
98
+ if (props.applicationId && payload.application_id) interaction.applicationId = bot.transformers.snowflake(payload.application_id);
99
+ if (props.type && payload.type) interaction.type = payload.type;
100
+ if (props.token && payload.token) interaction.token = payload.token;
101
+ if (props.version && payload.version) interaction.version = payload.version;
102
+ if (props.locale && payload.locale) interaction.locale = payload.locale;
103
+ if (props.guildLocale && payload.guild_locale) interaction.guildLocale = payload.guild_locale;
104
+ if (props.guildId && guildId) interaction.guildId = guildId;
105
+ if (props.user && user) interaction.user = user;
106
+ if (props.appPermissions && payload.app_permissions) interaction.appPermissions = bot.transformers.snowflake(payload.app_permissions);
107
+ if (props.message && payload.message) interaction.message = bot.transformers.message(bot, payload.message);
108
+ if (props.channel && payload.channel) interaction.channel = bot.transformers.channel(bot, {
109
+ channel: payload.channel,
110
+ guildId
111
+ });
112
+ if (props.channelId && payload.channel_id) interaction.channelId = bot.transformers.snowflake(payload.channel_id);
113
+ if (props.member && guildId && payload.member) interaction.member = bot.transformers.member(bot, payload.member, guildId, user.id);
114
+ if (props.authorizingIntegrationOwners && payload.authorizing_integration_owners) {
115
+ interaction.authorizingIntegrationOwners = {};
116
+ if (payload.authorizing_integration_owners['0']) interaction.authorizingIntegrationOwners[_index.DiscordApplicationIntegrationType.GuildInstall] = bot.transformers.snowflake(payload.authorizing_integration_owners['0']);
117
+ if (payload.authorizing_integration_owners['1']) interaction.authorizingIntegrationOwners[_index.DiscordApplicationIntegrationType.UserInstall] = bot.transformers.snowflake(payload.authorizing_integration_owners['1']);
118
+ }
119
+ if (props.context && payload.context) interaction.context = payload.context;
120
+ if (props.data && payload.data) {
121
+ interaction.data = {
122
+ type: payload.data.type,
123
+ componentType: payload.data.component_type,
124
+ customId: payload.data.custom_id,
125
+ components: payload.data.components?.map((component)=>bot.transformers.component(bot, component)),
126
+ values: payload.data.values,
127
+ id: payload.data.id ? bot.transformers.snowflake(payload.data.id) : undefined,
128
+ name: payload.data.name,
129
+ resolved: payload.data.resolved ? transformInteractionDataResolved(bot, payload.data.resolved, guildId) : undefined,
130
+ options: payload.data.options?.map((opt)=>bot.transformers.interactionDataOptions(bot, opt)),
131
+ targetId: payload.data.target_id ? bot.transformers.snowflake(payload.data.target_id) : undefined
132
+ };
133
+ }
134
+ return bot.transformers.customizers.interaction(bot, payload, interaction);
135
+ }
136
+ function transformInteractionDataOption(bot, option) {
137
+ const opt = {
138
+ name: option.name,
139
+ type: option.type,
140
+ value: option.value,
141
+ options: option.options,
142
+ focused: option.focused
143
+ };
144
+ return bot.transformers.customizers.interactionDataOptions(bot, option, opt);
145
+ }
146
+ function transformInteractionDataResolved(bot, resolved, guildId) {
147
+ const transformed = {};
148
+ if (resolved.messages) {
149
+ transformed.messages = new _utils.Collection(Object.entries(resolved.messages).map(([id, value])=>{
150
+ const message = bot.transformers.message(bot, value);
151
+ return [
152
+ message.id,
153
+ message
154
+ ];
155
+ }));
156
+ }
157
+ if (resolved.users) {
158
+ transformed.users = new _utils.Collection(Object.entries(resolved.users).map(([id, value])=>{
159
+ const user = bot.transformers.user(bot, value);
160
+ return [
161
+ user.id,
162
+ user
163
+ ];
164
+ }));
165
+ }
166
+ if (guildId && resolved.members) {
167
+ transformed.members = new _utils.Collection(Object.entries(resolved.members).map(([id, value])=>{
168
+ const member = bot.transformers.member(bot, value, guildId, bot.transformers.snowflake(id));
169
+ return [
170
+ member.id,
171
+ member
172
+ ];
173
+ }));
174
+ }
175
+ if (guildId && resolved.roles) {
176
+ transformed.roles = new _utils.Collection(Object.entries(resolved.roles).map(([id, value])=>{
177
+ const role = bot.transformers.role(bot, {
178
+ role: value,
179
+ guildId
180
+ });
181
+ return [
182
+ role.id,
183
+ role
184
+ ];
185
+ }));
186
+ }
187
+ if (resolved.channels) {
188
+ transformed.channels = new _utils.Collection(Object.entries(resolved.channels).map(([key, value])=>{
189
+ const id = bot.transformers.snowflake(key);
190
+ const channel = value;
191
+ return [
192
+ id,
193
+ {
194
+ id,
195
+ name: channel.name,
196
+ type: channel.type,
197
+ permissions: bot.transformers.snowflake(channel.permissions)
198
+ }
199
+ ];
200
+ }));
201
+ }
202
+ if (resolved.attachments) {
203
+ transformed.attachments = new _utils.Collection(Object.entries(resolved.attachments).map(([key, value])=>{
204
+ const id = bot.transformers.snowflake(key);
205
+ return [
206
+ id,
207
+ bot.transformers.attachment(bot, value)
208
+ ];
209
+ }));
210
+ }
211
+ return transformed;
212
+ }
213
+
214
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvaW50ZXJhY3Rpb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgSW50ZXJhY3Rpb25SZXNwb25zZVR5cGVzLFxuICBJbnRlcmFjdGlvblR5cGVzLFxuICBNZXNzYWdlRmxhZ3MsXG4gIHR5cGUgQXBwbGljYXRpb25Db21tYW5kT3B0aW9uVHlwZXMsXG4gIHR5cGUgQXBwbGljYXRpb25Db21tYW5kVHlwZXMsXG4gIHR5cGUgQmlnU3RyaW5nLFxuICB0eXBlIENoYW5uZWxUeXBlcyxcbiAgdHlwZSBEaXNjb3JkSW50ZXJhY3Rpb24sXG4gIHR5cGUgRGlzY29yZEludGVyYWN0aW9uRGF0YU9wdGlvbixcbiAgdHlwZSBJbnRlcmFjdGlvbkNhbGxiYWNrRGF0YSxcbiAgdHlwZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMsXG59IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJ1xuaW1wb3J0IHsgQ29sbGVjdGlvbiB9IGZyb20gJ0BkaXNjb3JkZW5vL3V0aWxzJ1xuaW1wb3J0IHtcbiAgRGlzY29yZEFwcGxpY2F0aW9uSW50ZWdyYXRpb25UeXBlLFxuICB0eXBlIEJvdCxcbiAgdHlwZSBDaGFubmVsLFxuICB0eXBlIENvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkQ2hhbm5lbCxcbiAgdHlwZSBEaXNjb3JkSW50ZXJhY3Rpb25Db250ZXh0VHlwZSxcbn0gZnJvbSAnLi4vaW5kZXguanMnXG5pbXBvcnQgdHlwZSB7IERpc2NvcmRJbnRlcmFjdGlvbkRhdGFSZXNvbHZlZCB9IGZyb20gJy4uL3R5cGluZ3MuanMnXG5pbXBvcnQgdHlwZSB7IEF0dGFjaG1lbnQgfSBmcm9tICcuL2F0dGFjaG1lbnQuanMnXG5pbXBvcnQgdHlwZSB7IE1lbWJlciB9IGZyb20gJy4vbWVtYmVyLmpzJ1xuaW1wb3J0IHR5cGUgeyBNZXNzYWdlIH0gZnJvbSAnLi9tZXNzYWdlLmpzJ1xuaW1wb3J0IHR5cGUgeyBSb2xlIH0gZnJvbSAnLi9yb2xlLmpzJ1xuaW1wb3J0IHR5cGUgeyBVc2VyIH0gZnJvbSAnLi91c2VyLmpzJ1xuXG5leHBvcnQgaW50ZXJmYWNlIEludGVyYWN0aW9uIGV4dGVuZHMgQmFzZUludGVyYWN0aW9uIHtcbiAgLyoqIFRoZSBib3Qgb2JqZWN0ICovXG4gIGJvdDogQm90XG4gIC8qKiBXaGV0aGVyIG9yIG5vdCB0aGlzIGludGVyYWN0aW9uIGhhcyBiZWVuIHJlc3BvbmRlZCB0by4gKi9cbiAgYWNrbm93bGVkZ2VkOiBib29sZWFuXG4gIC8qKiBJZCBvZiB0aGUgaW50ZXJhY3Rpb24gKi9cbiAgaWQ6IGJpZ2ludFxuICAvKiogSWQgb2YgdGhlIGFwcGxpY2F0aW9uIHRoaXMgaW50ZXJhY3Rpb24gaXMgZm9yICovXG4gIGFwcGxpY2F0aW9uSWQ6IGJpZ2ludFxuICAvKiogVGhlIHR5cGUgb2YgaW50ZXJhY3Rpb24gKi9cbiAgdHlwZTogSW50ZXJhY3Rpb25UeXBlc1xuICAvKiogVGhlIGd1aWxkIGl0IHdhcyBzZW50IGZyb20gKi9cbiAgZ3VpbGRJZD86IGJpZ2ludFxuICAvKiogVGhlIGNoYW5uZWwgaXQgd2FzIHNlbnQgZnJvbSAqL1xuICBjaGFubmVsOiBQYXJ0aWFsPENoYW5uZWw+XG4gIC8qKlxuICAgKiBUaGUgSUQgb2YgY2hhbm5lbCBpdCB3YXMgc2VudCBmcm9tXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIEl0IGlzIHJlY29tbWVuZGVkIHRoYXQgeW91IGJlZ2luIHVzaW5nIHRoaXMgY2hhbm5lbCBmaWVsZCB0byBpZGVudGlmeSB0aGUgc291cmNlIGNoYW5uZWwgb2YgdGhlIGludGVyYWN0aW9uIGFzIHRoZXkgbWF5IGRlcHJlY2F0ZSB0aGUgZXhpc3RpbmcgY2hhbm5lbF9pZCBmaWVsZCBpbiB0aGUgZnV0dXJlLlxuICAgKi9cbiAgY2hhbm5lbElkPzogYmlnaW50XG4gIC8qKiBHdWlsZCBtZW1iZXIgZGF0YSBmb3IgdGhlIGludm9raW5nIHVzZXIsIGluY2x1ZGluZyBwZXJtaXNzaW9ucyAqL1xuICBtZW1iZXI/OiBNZW1iZXJcbiAgLyoqIFVzZXIgb2JqZWN0IGZvciB0aGUgaW52b2tpbmcgdXNlciwgaWYgaW52b2tlZCBpbiBhIERNICovXG4gIHVzZXI6IFVzZXJcbiAgLyoqIEEgY29udGludWF0aW9uIHRva2VuIGZvciByZXNwb25kaW5nIHRvIHRoZSBpbnRlcmFjdGlvbiAqL1xuICB0b2tlbjogc3RyaW5nXG4gIC8qKiBSZWFkLW9ubHkgcHJvcGVydHksIGFsd2F5cyBgMWAgKi9cbiAgdmVyc2lvbjogMVxuICAvKiogRm9yIHRoZSBtZXNzYWdlIHRoZSBidXR0b24gd2FzIGF0dGFjaGVkIHRvICovXG4gIG1lc3NhZ2U/OiBNZXNzYWdlXG4gIC8qKiB0aGUgY29tbWFuZCBkYXRhIHBheWxvYWQgKi9cbiAgZGF0YT86IHtcbiAgICB0eXBlPzogQXBwbGljYXRpb25Db21tYW5kVHlwZXNcbiAgICBjb21wb25lbnRUeXBlPzogTWVzc2FnZUNvbXBvbmVudFR5cGVzXG4gICAgY3VzdG9tSWQ/OiBzdHJpbmdcbiAgICBjb21wb25lbnRzPzogQ29tcG9uZW50W11cbiAgICB2YWx1ZXM/OiBzdHJpbmdbXVxuICAgIG5hbWU6IHN0cmluZ1xuICAgIHJlc29sdmVkPzogSW50ZXJhY3Rpb25EYXRhUmVzb2x2ZWRcbiAgICBvcHRpb25zPzogSW50ZXJhY3Rpb25EYXRhT3B0aW9uW11cbiAgICBpZD86IGJpZ2ludFxuICAgIHRhcmdldElkPzogYmlnaW50XG4gICAgLy8gZ3VpbGRJZD86IGJpZ2ludFxuICB9XG4gIC8qKiBUaGUgc2VsZWN0ZWQgbGFuZ3VhZ2Ugb2YgdGhlIGludm9raW5nIHVzZXIgKi9cbiAgbG9jYWxlPzogc3RyaW5nXG4gIC8qKiBUaGUgZ3VpbGQncyBwcmVmZXJyZWQgbG9jYWxlLCBpZiBpbnZva2VkIGluIGEgZ3VpbGQgKi9cbiAgZ3VpbGRMb2NhbGU/OiBzdHJpbmdcbiAgLyoqIFRoZSBjb21wdXRlZCBwZXJtaXNzaW9ucyBmb3IgYSBib3Qgb3IgYXBwIGluIHRoZSBjb250ZXh0IG9mIGEgc3BlY2lmaWMgaW50ZXJhY3Rpb24gKGluY2x1ZGluZyBjaGFubmVsIG92ZXJ3cml0ZXMpICovXG4gIGFwcFBlcm1pc3Npb25zOiBiaWdpbnRcbiAgLyoqIE1hcHBpbmcgb2YgaW5zdGFsbGF0aW9uIGNvbnRleHRzIHRoYXQgdGhlIGludGVyYWN0aW9uIHdhcyBhdXRob3JpemVkIGZvciB0byByZWxhdGVkIHVzZXIgb3IgZ3VpbGQgSURzLiAqL1xuICBhdXRob3JpemluZ0ludGVncmF0aW9uT3duZXJzOiBQYXJ0aWFsPFJlY29yZDxEaXNjb3JkQXBwbGljYXRpb25JbnRlZ3JhdGlvblR5cGUsIGJpZ2ludD4+XG4gIC8qKiBDb250ZXh0IHdoZXJlIHRoZSBpbnRlcmFjdGlvbiB3YXMgdHJpZ2dlcmVkIGZyb20gKi9cbiAgY29udGV4dD86IERpc2NvcmRJbnRlcmFjdGlvbkNvbnRleHRUeXBlXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQmFzZUludGVyYWN0aW9uIHtcbiAgLyoqXG4gICAqIFNlbmRzIGEgcmVzcG9uc2UgdG8gYW4gaW50ZXJhY3Rpb24uXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIFRoaXMgd2lsbCBzZW5kIGEge0BsaW5rIEludGVyYWN0aW9uUmVzcG9uc2VUeXBlcy5DaGFubmVsTWVzc2FnZVdpdGhTb3VyY2V9LCB7QGxpbmsgSW50ZXJhY3Rpb25SZXNwb25zZVR5cGVzLkFwcGxpY2F0aW9uQ29tbWFuZEF1dG9jb21wbGV0ZVJlc3VsdH0gb3Ige0BsaW5rIEludGVyYWN0aW9uUmVzcG9uc2VUeXBlcy5Nb2RhbH0gcmVzcG9uc2UgYmFzZWQgb24gdGhlIHR5cGUgb2YgdGhlIGludGVyYWN0aW9uIHlvdSBhcmUgcmVzcG9uZGluZyB0by5cbiAgICpcbiAgICogSWYgdGhlIGludGVyYWN0aW9uIGhhcyBiZWVuIGFscmVhZHkgYWNrbm93bGVkZ2VkLCBpbmRpY2F0ZWQgYnkge0BsaW5rIEludGVyYWN0aW9uLmFja25vd2xlZGdlZH0sIGl0IHdpbGwgc2VuZCBhIGZvbGxvd3VwIG1lc3NhZ2UgaW5zdGVhZC5cbiAgICpcbiAgICogVXNlcyBgaW50ZXJhY3Rpb24udHlwZWAsIGBpbnRlcmFjdGlvbi50b2tlbmAgYW5kIGBpbnRlcmFjdGlvbi5pZGAsIG1pc3Npbmcgb25lIG9mIHRoZXNlIGluIHRoZSBkZXNpcmVkIHByb3ByaWV0aWVzIG1heSBjYXVzZSB1bmV4cGVjdGVkIGJlaGF2aW9yLlxuICAgKi9cbiAgcmVzcG9uZDogKHJlc3BvbnNlOiBzdHJpbmcgfCBJbnRlcmFjdGlvbkNhbGxiYWNrRGF0YSwgb3B0aW9ucz86IHsgaXNQcml2YXRlPzogYm9vbGVhbiB9KSA9PiBQcm9taXNlPE1lc3NhZ2UgfCB2b2lkPlxuICAvKipcbiAgICogRWRpdCB0aGUgb3JpZ2luYWwgcmVzcG9uc2Ugb2YgYW4gaW50ZXJhY3Rpb24gb3IgYSBmb2xsb3d1cCBpZiB0aGUgbWVzc2FnZSBpZCBpcyBwcm92aWRlZC5cbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogVGhpcyB3aWxsIGVkaXQgdGhlIG9yaWdpbmFsIGludGVyYWN0aW9uIHJlc3BvbnNlIG9yLCBpZiB0aGUgaW50ZXJhY3Rpb24gaGFzIG5vdCB5ZXQgYmVlbiBhY2tub3dsZWRnZWQgYW5kIHRoZSB0eXBlIG9mIHRoZSBpbnRlcmFjdGlvbiBpcyB7QGxpbmsgSW50ZXJhY3Rpb25UeXBlcy5NZXNzYWdlQ29tcG9uZW50fSBpdCB3aWxsIGluc3RlYWQgc2VuZCBhIHtAbGluayBJbnRlcmFjdGlvblJlc3BvbnNlVHlwZXMuVXBkYXRlTWVzc2FnZX0gcmVzcG9uc2UgaW5zdGVhZC5cbiAgICpcbiAgICogVXNlcyBgaW50ZXJhY3Rpb24udHlwZWAsIGBpbnRlcmFjdGlvbi50b2tlbmAgYW5kIGBpbnRlcmFjdGlvbi5pZGAsIG1pc3Npbmcgb25lIG9mIHRoZXNlIGluIHRoZSBkZXNpcmVkIHByb3ByaWV0aWVzIG1heSBjYXVzZSB1bmV4cGVjdGVkIGJlaGF2aW9yLlxuICAgKi9cbiAgZWRpdDogKHJlc3BvbnNlOiBzdHJpbmcgfCBJbnRlcmFjdGlvbkNhbGxiYWNrRGF0YSwgbWVzc2FnZUlkPzogQmlnU3RyaW5nKSA9PiBQcm9taXNlPE1lc3NhZ2UgfCB2b2lkPlxuICAvKipcbiAgICogRGVmZXIgdGhlIGludGVyYWN0aW9uIGZvciB1cGRhdGluZyB0aGUgcmVmZXJlbmNlZCBtZXNzYWdlIGF0IGEgbGF0ZXIgdGltZSB3aXRoIHtAbGluayBlZGl0fS5cbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogVGhpcyB3aWxsIHNlbmQgYSB7QGxpbmsgSW50ZXJhY3Rpb25SZXNwb25zZVR5cGVzLkRlZmVycmVkVXBkYXRlTWVzc2FnZX0gcmVzcG9uc2UuXG4gICAqXG4gICAqIFVzZXMgYGludGVyYWN0aW9uLnR5cGVgLCBgaW50ZXJhY3Rpb24udG9rZW5gIGFuZCBgaW50ZXJhY3Rpb24uaWRgLCBtaXNzaW5nIG9uZSBvZiB0aGVzZSBpbiB0aGUgZGVzaXJlZCBwcm9wcmlldGllcyBtYXkgY2F1c2UgdW5leHBlY3RlZCBiZWhhdmlvci5cbiAgICovXG4gIGRlZmVyRWRpdDogKCkgPT4gUHJvbWlzZTx2b2lkPlxuICAvKipcbiAgICogRGVmZXIgdGhlIGludGVyYWN0aW9uIGZvciB1cGRhdGluZyB0aGUgcmVzcG9uc2UgYXQgYSBsYXRlciB0aW1lIHdpdGgge0BsaW5rIGVkaXR9LlxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBUaGlzIHdpbGwgc2VuZCBhIHtAbGluayBJbnRlcmFjdGlvblJlc3BvbnNlVHlwZXMuRGVmZXJyZWRDaGFubmVsTWVzc2FnZVdpdGhTb3VyY2V9IHJlc3BvbnNlLlxuICAgKlxuICAgKiBVc2VzIGBpbnRlcmFjdGlvbi50eXBlYCwgYGludGVyYWN0aW9uLnRva2VuYCBhbmQgYGludGVyYWN0aW9uLmlkYCwgbWlzc2luZyBvbmUgb2YgdGhlc2UgaW4gdGhlIGRlc2lyZWQgcHJvcHJpZXRpZXMgbWF5IGNhdXNlIHVuZXhwZWN0ZWQgYmVoYXZpb3IuXG4gICAqL1xuICBkZWZlcjogKGlzUHJpdmF0ZT86IGJvb2xlYW4pID0+IFByb21pc2U8dm9pZD5cbiAgLyoqXG4gICAqIERlbGV0ZSB0aGUgb3JpZ2luYWwgaW50ZXJhY3Rpb24gcmVzcG9uc2Ugb3IgYSBmb2xsb3d1cCBpZiB0aGUgbWVzc2FnZSBpZCBpcyBwcm92aWRlZC5cbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogVXNlcyBgaW50ZXJhY3Rpb24udHlwZWAgYW5kIGBpbnRlcmFjdGlvbi50b2tlbmAsIG1pc3Npbmcgb25lIG9mIHRoZXNlIGluIHRoZSBkZXNpcmVkIHByb3ByaWV0aWVzIG1heSBjYXVzZSB1bmV4cGVjdGVkIGJlaGF2aW9yLlxuICAgKi9cbiAgZGVsZXRlOiAobWVzc2FnZUlkPzogQmlnU3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+XG59XG5cbmNvbnN0IGJhc2VJbnRlcmFjdGlvbjogUGFydGlhbDxJbnRlcmFjdGlvbj4gJiBCYXNlSW50ZXJhY3Rpb24gPSB7XG4gIGFzeW5jIHJlc3BvbmQocmVzcG9uc2UsIG9wdGlvbnMpIHtcbiAgICBsZXQgdHlwZSA9IEludGVyYWN0aW9uUmVzcG9uc2VUeXBlcy5DaGFubmVsTWVzc2FnZVdpdGhTb3VyY2VcblxuICAgIC8vIElmIHVzZXIgcHJvdmlkZXMgYSBzdHJpbmcsIGNoYW5nZSBpdCB0byBhIHJlc3BvbnNlIG9iamVjdFxuICAgIGlmICh0eXBlb2YgcmVzcG9uc2UgPT09ICdzdHJpbmcnKSByZXNwb25zZSA9IHsgY29udGVudDogcmVzcG9uc2UgfVxuXG4gICAgLy8gSWYgdXNlciBwcm92aWRlcyBhbiBvYmplY3QsIGRldGVybWluZSBpZiBpdCBzaG91bGQgYmUgYW4gYXV0b2NvbXBsZXRlIG9yIGEgbW9kYWwgcmVzcG9uc2VcbiAgICBpZiAocmVzcG9uc2UudGl0bGUpIHR5cGUgPSBJbnRlcmFjdGlvblJlc3BvbnNlVHlwZXMuTW9kYWxcbiAgICBpZiAodGhpcy50eXBlID09PSBJbnRlcmFjdGlvblR5cGVzLkFwcGxpY2F0aW9uQ29tbWFuZEF1dG9jb21wbGV0ZSkgdHlwZSA9IEludGVyYWN0aW9uUmVzcG9uc2VUeXBlcy5BcHBsaWNhdGlvbkNvbW1hbmRBdXRvY29tcGxldGVSZXN1bHRcbiAgICBpZiAodHlwZSA9PT0gSW50ZXJhY3Rpb25SZXNwb25zZVR5cGVzLkNoYW5uZWxNZXNzYWdlV2l0aFNvdXJjZSAmJiBvcHRpb25zPy5pc1ByaXZhdGUpIHJlc3BvbnNlLmZsYWdzID0gTWVzc2FnZUZsYWdzLkVwaGVtZXJhbFxuXG4gICAgLy8gU2luY2UgdGhpcyBoYXMgYWxyZWFkeSBiZWVuIGdpdmVuIGEgcmVzcG9uc2UsIGFueSBmdXJ0aGVyIHJlc3BvbnNlcyBtdXN0IGJlIGZvbGxvd3Vwcy5cbiAgICBpZiAodGhpcy5hY2tub3dsZWRnZWQpIHJldHVybiBhd2FpdCB0aGlzLmJvdCEuaGVscGVycy5zZW5kRm9sbG93dXBNZXNzYWdlKHRoaXMudG9rZW4hLCByZXNwb25zZSlcblxuICAgIC8vIE1vZGFscyBjYW5ub3QgYmUgY2hhaW5lZFxuICAgIGlmICh0aGlzLnR5cGUgPT09IEludGVyYWN0aW9uVHlwZXMuTW9kYWxTdWJtaXQgJiYgdHlwZSA9PT0gSW50ZXJhY3Rpb25SZXNwb25zZVR5cGVzLk1vZGFsKVxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3QgcmVzcG9uZCB0byBhIG1vZGFsIGludGVyYWN0aW9uIHdpdGggYW5vdGhlciBtb2RhbC4nKVxuXG4gICAgdGhpcy5hY2tub3dsZWRnZWQgPSB0cnVlXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuYm90IS5oZWxwZXJzLnNlbmRJbnRlcmFjdGlvblJlc3BvbnNlKHRoaXMuaWQhLCB0aGlzLnRva2VuISwgeyB0eXBlLCBkYXRhOiByZXNwb25zZSB9KVxuICB9LFxuICBhc3luYyBlZGl0KHJlc3BvbnNlLCBtZXNzYWdlSWQpIHtcbiAgICBpZiAodGhpcy50eXBlID09PSBJbnRlcmFjdGlvblR5cGVzLkFwcGxpY2F0aW9uQ29tbWFuZEF1dG9jb21wbGV0ZSkgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3QgZWRpdCBhbiBhdXRvY29tcGxldGUgaW50ZXJhY3Rpb24uJylcblxuICAgIC8vIElmIHVzZXIgcHJvdmlkZXMgYSBzdHJpbmcsIGNoYW5nZSBpdCB0byBhIHJlc3BvbnNlIG9iamVjdFxuICAgIGlmICh0eXBlb2YgcmVzcG9uc2UgPT09ICdzdHJpbmcnKSByZXNwb25zZSA9IHsgY29udGVudDogcmVzcG9uc2UgfVxuXG4gICAgaWYgKG1lc3NhZ2VJZCkge1xuICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYm90Py5oZWxwZXJzLmVkaXRGb2xsb3d1cE1lc3NhZ2UodGhpcy50b2tlbiEsIG1lc3NhZ2VJZCwgcmVzcG9uc2UpXG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLmFja25vd2xlZGdlZCkge1xuICAgICAgaWYgKHRoaXMudHlwZSAhPT0gSW50ZXJhY3Rpb25UeXBlcy5NZXNzYWdlQ29tcG9uZW50KVxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIGludGVyYWN0aW9uIGhhcyBub3QgYmVlbiByZXNwb25kZWQgdG8geWV0IGFuZCB0aGlzIGlzbid0IGEgTWVzc2FnZUNvbXBvbmVudCBpbnRlcmFjdGlvbi5cIilcblxuICAgICAgdGhpcy5hY2tub3dsZWRnZWQgPSB0cnVlXG4gICAgICByZXR1cm4gYXdhaXQgdGhpcy5ib3QhLmhlbHBlcnMuc2VuZEludGVyYWN0aW9uUmVzcG9uc2UodGhpcy5pZCEsIHRoaXMudG9rZW4hLCB7IHR5cGU6IEludGVyYWN0aW9uUmVzcG9uc2VUeXBlcy5VcGRhdGVNZXNzYWdlLCBkYXRhOiByZXNwb25zZSB9KVxuICAgIH1cblxuICAgIHJldHVybiBhd2FpdCB0aGlzLmJvdCEuaGVscGVycy5lZGl0T3JpZ2luYWxJbnRlcmFjdGlvblJlc3BvbnNlKHRoaXMudG9rZW4hLCByZXNwb25zZSlcbiAgfSxcbiAgYXN5bmMgZGVmZXJFZGl0KCkge1xuICAgIGlmICh0aGlzLnR5cGUgPT09IEludGVyYWN0aW9uVHlwZXMuQXBwbGljYXRpb25Db21tYW5kQXV0b2NvbXBsZXRlKSB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCBlZGl0IGFuIGF1dG9jb21wbGV0ZSBpbnRlcmFjdGlvbi4nKVxuICAgIGlmICh0aGlzLmFja25vd2xlZGdlZCkgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3QgZGVmZXIgYW4gYWxyZWFkeSByZXNwb25kZWQgaW50ZXJhY3Rpb24uJylcblxuICAgIGlmICh0aGlzLnR5cGUgIT09IEludGVyYWN0aW9uVHlwZXMuTWVzc2FnZUNvbXBvbmVudClcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIkNhbm5vdCBkZWZlciB0byB0aGVuIGVkaXQgYW4gaW50ZXJhY3Rpb24gdGhhdCBpc24ndCBhIE1lc3NhZ2VDb21wb25lbnQgaW50ZXJhY3Rpb24uXCIpXG5cbiAgICB0aGlzLmFja25vd2xlZGdlZCA9IHRydWVcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5ib3QhLmhlbHBlcnMuc2VuZEludGVyYWN0aW9uUmVzcG9uc2UodGhpcy5pZCEsIHRoaXMudG9rZW4hLCB7IHR5cGU6IEludGVyYWN0aW9uUmVzcG9uc2VUeXBlcy5EZWZlcnJlZFVwZGF0ZU1lc3NhZ2UgfSlcbiAgfSxcbiAgYXN5bmMgZGVmZXIoaXNQcml2YXRlKSB7XG4gICAgaWYgKHRoaXMuYWNrbm93bGVkZ2VkKSB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCBkZWZlciBhbiBhbHJlYWR5IHJlc3BvbmRlZCBpbnRlcmFjdGlvbi4nKVxuXG4gICAgdGhpcy5hY2tub3dsZWRnZWQgPSB0cnVlXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuYm90IS5oZWxwZXJzLnNlbmRJbnRlcmFjdGlvblJlc3BvbnNlKHRoaXMuaWQhLCB0aGlzLnRva2VuISwge1xuICAgICAgdHlwZTogSW50ZXJhY3Rpb25SZXNwb25zZVR5cGVzLkRlZmVycmVkQ2hhbm5lbE1lc3NhZ2VXaXRoU291cmNlLFxuICAgICAgZGF0YToge1xuICAgICAgICBmbGFnczogaXNQcml2YXRlID8gTWVzc2FnZUZsYWdzLkVwaGVtZXJhbCA6IHVuZGVmaW5lZCxcbiAgICAgIH0sXG4gICAgfSlcbiAgfSxcbiAgYXN5bmMgZGVsZXRlKG1lc3NhZ2VJZCkge1xuICAgIGlmICh0aGlzLnR5cGUgPT09IEludGVyYWN0aW9uVHlwZXMuQXBwbGljYXRpb25Db21tYW5kQXV0b2NvbXBsZXRlKSB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCBkZWxldGUgYW4gYXV0b2NvbXBsZXRlIGludGVyYWN0aW9uJylcblxuICAgIGlmIChtZXNzYWdlSWQpIHJldHVybiBhd2FpdCB0aGlzLmJvdD8uaGVscGVycy5kZWxldGVGb2xsb3d1cE1lc3NhZ2UodGhpcy50b2tlbiEsIG1lc3NhZ2VJZClcbiAgICBlbHNlIHJldHVybiBhd2FpdCB0aGlzLmJvdD8uaGVscGVycy5kZWxldGVPcmlnaW5hbEludGVyYWN0aW9uUmVzcG9uc2UodGhpcy50b2tlbiEpXG4gIH0sXG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1JbnRlcmFjdGlvbihib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZEludGVyYWN0aW9uKTogSW50ZXJhY3Rpb24ge1xuICBjb25zdCBndWlsZElkID0gcGF5bG9hZC5ndWlsZF9pZCA/IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuZ3VpbGRfaWQpIDogdW5kZWZpbmVkXG4gIGNvbnN0IHVzZXIgPSBib3QudHJhbnNmb3JtZXJzLnVzZXIoYm90LCBwYXlsb2FkLm1lbWJlcj8udXNlciA/PyBwYXlsb2FkLnVzZXIhKVxuXG4gIGNvbnN0IGludGVyYWN0aW9uOiBJbnRlcmFjdGlvbiA9IE9iamVjdC5jcmVhdGUoYmFzZUludGVyYWN0aW9uKVxuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuaW50ZXJhY3Rpb25cbiAgaW50ZXJhY3Rpb24uYm90ID0gYm90XG4gIGludGVyYWN0aW9uLmFja25vd2xlZGdlZCA9IGZhbHNlXG5cbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIGludGVyYWN0aW9uLmlkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5pZClcbiAgaWYgKHByb3BzLmFwcGxpY2F0aW9uSWQgJiYgcGF5bG9hZC5hcHBsaWNhdGlvbl9pZCkgaW50ZXJhY3Rpb24uYXBwbGljYXRpb25JZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuYXBwbGljYXRpb25faWQpXG4gIGlmIChwcm9wcy50eXBlICYmIHBheWxvYWQudHlwZSkgaW50ZXJhY3Rpb24udHlwZSA9IHBheWxvYWQudHlwZVxuICBpZiAocHJvcHMudG9rZW4gJiYgcGF5bG9hZC50b2tlbikgaW50ZXJhY3Rpb24udG9rZW4gPSBwYXlsb2FkLnRva2VuXG4gIGlmIChwcm9wcy52ZXJzaW9uICYmIHBheWxvYWQudmVyc2lvbikgaW50ZXJhY3Rpb24udmVyc2lvbiA9IHBheWxvYWQudmVyc2lvblxuICBpZiAocHJvcHMubG9jYWxlICYmIHBheWxvYWQubG9jYWxlKSBpbnRlcmFjdGlvbi5sb2NhbGUgPSBwYXlsb2FkLmxvY2FsZVxuICBpZiAocHJvcHMuZ3VpbGRMb2NhbGUgJiYgcGF5bG9hZC5ndWlsZF9sb2NhbGUpIGludGVyYWN0aW9uLmd1aWxkTG9jYWxlID0gcGF5bG9hZC5ndWlsZF9sb2NhbGVcbiAgaWYgKHByb3BzLmd1aWxkSWQgJiYgZ3VpbGRJZCkgaW50ZXJhY3Rpb24uZ3VpbGRJZCA9IGd1aWxkSWRcbiAgaWYgKHByb3BzLnVzZXIgJiYgdXNlcikgaW50ZXJhY3Rpb24udXNlciA9IHVzZXJcbiAgaWYgKHByb3BzLmFwcFBlcm1pc3Npb25zICYmIHBheWxvYWQuYXBwX3Blcm1pc3Npb25zKSBpbnRlcmFjdGlvbi5hcHBQZXJtaXNzaW9ucyA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuYXBwX3Blcm1pc3Npb25zKVxuICBpZiAocHJvcHMubWVzc2FnZSAmJiBwYXlsb2FkLm1lc3NhZ2UpIGludGVyYWN0aW9uLm1lc3NhZ2UgPSBib3QudHJhbnNmb3JtZXJzLm1lc3NhZ2UoYm90LCBwYXlsb2FkLm1lc3NhZ2UpXG4gIGlmIChwcm9wcy5jaGFubmVsICYmIHBheWxvYWQuY2hhbm5lbCkgaW50ZXJhY3Rpb24uY2hhbm5lbCA9IGJvdC50cmFuc2Zvcm1lcnMuY2hhbm5lbChib3QsIHsgY2hhbm5lbDogcGF5bG9hZC5jaGFubmVsIGFzIERpc2NvcmRDaGFubmVsLCBndWlsZElkIH0pXG4gIGlmIChwcm9wcy5jaGFubmVsSWQgJiYgcGF5bG9hZC5jaGFubmVsX2lkKSBpbnRlcmFjdGlvbi5jaGFubmVsSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmNoYW5uZWxfaWQpXG4gIGlmIChwcm9wcy5tZW1iZXIgJiYgZ3VpbGRJZCAmJiBwYXlsb2FkLm1lbWJlcikgaW50ZXJhY3Rpb24ubWVtYmVyID0gYm90LnRyYW5zZm9ybWVycy5tZW1iZXIoYm90LCBwYXlsb2FkLm1lbWJlciwgZ3VpbGRJZCwgdXNlci5pZClcbiAgaWYgKHByb3BzLmF1dGhvcml6aW5nSW50ZWdyYXRpb25Pd25lcnMgJiYgcGF5bG9hZC5hdXRob3JpemluZ19pbnRlZ3JhdGlvbl9vd25lcnMpIHtcbiAgICBpbnRlcmFjdGlvbi5hdXRob3JpemluZ0ludGVncmF0aW9uT3duZXJzID0ge31cblxuICAgIGlmIChwYXlsb2FkLmF1dGhvcml6aW5nX2ludGVncmF0aW9uX293bmVyc1snMCddKVxuICAgICAgaW50ZXJhY3Rpb24uYXV0aG9yaXppbmdJbnRlZ3JhdGlvbk93bmVyc1tEaXNjb3JkQXBwbGljYXRpb25JbnRlZ3JhdGlvblR5cGUuR3VpbGRJbnN0YWxsXSA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKFxuICAgICAgICBwYXlsb2FkLmF1dGhvcml6aW5nX2ludGVncmF0aW9uX293bmVyc1snMCddLFxuICAgICAgKVxuICAgIGlmIChwYXlsb2FkLmF1dGhvcml6aW5nX2ludGVncmF0aW9uX293bmVyc1snMSddKVxuICAgICAgaW50ZXJhY3Rpb24uYXV0aG9yaXppbmdJbnRlZ3JhdGlvbk93bmVyc1tEaXNjb3JkQXBwbGljYXRpb25JbnRlZ3JhdGlvblR5cGUuVXNlckluc3RhbGxdID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UoXG4gICAgICAgIHBheWxvYWQuYXV0aG9yaXppbmdfaW50ZWdyYXRpb25fb3duZXJzWycxJ10sXG4gICAgICApXG4gIH1cbiAgaWYgKHByb3BzLmNvbnRleHQgJiYgcGF5bG9hZC5jb250ZXh0KSBpbnRlcmFjdGlvbi5jb250ZXh0ID0gcGF5bG9hZC5jb250ZXh0XG4gIGlmIChwcm9wcy5kYXRhICYmIHBheWxvYWQuZGF0YSkge1xuICAgIGludGVyYWN0aW9uLmRhdGEgPSB7XG4gICAgICB0eXBlOiBwYXlsb2FkLmRhdGEudHlwZSxcbiAgICAgIGNvbXBvbmVudFR5cGU6IHBheWxvYWQuZGF0YS5jb21wb25lbnRfdHlwZSxcbiAgICAgIGN1c3RvbUlkOiBwYXlsb2FkLmRhdGEuY3VzdG9tX2lkLFxuICAgICAgY29tcG9uZW50czogcGF5bG9hZC5kYXRhLmNvbXBvbmVudHM/Lm1hcCgoY29tcG9uZW50KSA9PiBib3QudHJhbnNmb3JtZXJzLmNvbXBvbmVudChib3QsIGNvbXBvbmVudCkpLFxuICAgICAgdmFsdWVzOiBwYXlsb2FkLmRhdGEudmFsdWVzLFxuICAgICAgaWQ6IHBheWxvYWQuZGF0YS5pZCA/IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuZGF0YS5pZCkgOiB1bmRlZmluZWQsXG4gICAgICBuYW1lOiBwYXlsb2FkLmRhdGEubmFtZSxcbiAgICAgIHJlc29sdmVkOiBwYXlsb2FkLmRhdGEucmVzb2x2ZWQgPyB0cmFuc2Zvcm1JbnRlcmFjdGlvbkRhdGFSZXNvbHZlZChib3QsIHBheWxvYWQuZGF0YS5yZXNvbHZlZCwgZ3VpbGRJZCkgOiB1bmRlZmluZWQsXG4gICAgICBvcHRpb25zOiBwYXlsb2FkLmRhdGEub3B0aW9ucz8ubWFwKChvcHQpID0+IGJvdC50cmFuc2Zvcm1lcnMuaW50ZXJhY3Rpb25EYXRhT3B0aW9ucyhib3QsIG9wdCkpLFxuICAgICAgdGFyZ2V0SWQ6IHBheWxvYWQuZGF0YS50YXJnZXRfaWQgPyBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmRhdGEudGFyZ2V0X2lkKSA6IHVuZGVmaW5lZCxcbiAgICAgIC8vIGd1aWxkSWQ6IHBheWxvYWQuZGF0YS5ndWlsZF9pZCA/IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuZGF0YS5ndWlsZF9pZCkgOiB1bmRlZmluZWQsXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMuaW50ZXJhY3Rpb24oYm90LCBwYXlsb2FkLCBpbnRlcmFjdGlvbilcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybUludGVyYWN0aW9uRGF0YU9wdGlvbihib3Q6IEJvdCwgb3B0aW9uOiBEaXNjb3JkSW50ZXJhY3Rpb25EYXRhT3B0aW9uKTogSW50ZXJhY3Rpb25EYXRhT3B0aW9uIHtcbiAgY29uc3Qgb3B0ID0ge1xuICAgIG5hbWU6IG9wdGlvbi5uYW1lLFxuICAgIHR5cGU6IG9wdGlvbi50eXBlLFxuICAgIHZhbHVlOiBvcHRpb24udmFsdWUsXG4gICAgb3B0aW9uczogb3B0aW9uLm9wdGlvbnMsXG4gICAgZm9jdXNlZDogb3B0aW9uLmZvY3VzZWQsXG4gIH0gYXMgSW50ZXJhY3Rpb25EYXRhT3B0aW9uXG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMuaW50ZXJhY3Rpb25EYXRhT3B0aW9ucyhib3QsIG9wdGlvbiwgb3B0KVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtSW50ZXJhY3Rpb25EYXRhUmVzb2x2ZWQoYm90OiBCb3QsIHJlc29sdmVkOiBEaXNjb3JkSW50ZXJhY3Rpb25EYXRhUmVzb2x2ZWQsIGd1aWxkSWQ/OiBiaWdpbnQpOiBJbnRlcmFjdGlvbkRhdGFSZXNvbHZlZCB7XG4gIGNvbnN0IHRyYW5zZm9ybWVkOiBJbnRlcmFjdGlvbkRhdGFSZXNvbHZlZCA9IHt9XG5cbiAgaWYgKHJlc29sdmVkLm1lc3NhZ2VzKSB7XG4gICAgdHJhbnNmb3JtZWQubWVzc2FnZXMgPSBuZXcgQ29sbGVjdGlvbihcbiAgICAgIE9iamVjdC5lbnRyaWVzKHJlc29sdmVkLm1lc3NhZ2VzKS5tYXAoKFtpZCwgdmFsdWVdKSA9PiB7XG4gICAgICAgIGNvbnN0IG1lc3NhZ2U6IE1lc3NhZ2UgPSBib3QudHJhbnNmb3JtZXJzLm1lc3NhZ2UoYm90LCB2YWx1ZSlcbiAgICAgICAgcmV0dXJuIFttZXNzYWdlLmlkLCBtZXNzYWdlXVxuICAgICAgfSksXG4gICAgKVxuICB9XG5cbiAgaWYgKHJlc29sdmVkLnVzZXJzKSB7XG4gICAgdHJhbnNmb3JtZWQudXNlcnMgPSBuZXcgQ29sbGVjdGlvbihcbiAgICAgIE9iamVjdC5lbnRyaWVzKHJlc29sdmVkLnVzZXJzKS5tYXAoKFtpZCwgdmFsdWVdKSA9PiB7XG4gICAgICAgIGNvbnN0IHVzZXIgPSBib3QudHJhbnNmb3JtZXJzLnVzZXIoYm90LCB2YWx1ZSlcbiAgICAgICAgcmV0dXJuIFt1c2VyLmlkLCB1c2VyXVxuICAgICAgfSksXG4gICAgKVxuICB9XG5cbiAgaWYgKGd1aWxkSWQgJiYgcmVzb2x2ZWQubWVtYmVycykge1xuICAgIHRyYW5zZm9ybWVkLm1lbWJlcnMgPSBuZXcgQ29sbGVjdGlvbihcbiAgICAgIE9iamVjdC5lbnRyaWVzKHJlc29sdmVkLm1lbWJlcnMpLm1hcCgoW2lkLCB2YWx1ZV0pID0+IHtcbiAgICAgICAgY29uc3QgbWVtYmVyOiBNZW1iZXIgPSBib3QudHJhbnNmb3JtZXJzLm1lbWJlcihib3QsIHZhbHVlLCBndWlsZElkLCBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShpZCkpXG4gICAgICAgIHJldHVybiBbbWVtYmVyLmlkLCBtZW1iZXJdXG4gICAgICB9KSxcbiAgICApXG4gIH1cblxuICBpZiAoZ3VpbGRJZCAmJiByZXNvbHZlZC5yb2xlcykge1xuICAgIHRyYW5zZm9ybWVkLnJvbGVzID0gbmV3IENvbGxlY3Rpb24oXG4gICAgICBPYmplY3QuZW50cmllcyhyZXNvbHZlZC5yb2xlcykubWFwKChbaWQsIHZhbHVlXSkgPT4ge1xuICAgICAgICBjb25zdCByb2xlID0gYm90LnRyYW5zZm9ybWVycy5yb2xlKGJvdCwgeyByb2xlOiB2YWx1ZSwgZ3VpbGRJZCB9KVxuICAgICAgICByZXR1cm4gW3JvbGUuaWQsIHJvbGVdXG4gICAgICB9KSxcbiAgICApXG4gIH1cblxuICBpZiAocmVzb2x2ZWQuY2hhbm5lbHMpIHtcbiAgICB0cmFuc2Zvcm1lZC5jaGFubmVscyA9IG5ldyBDb2xsZWN0aW9uKFxuICAgICAgT2JqZWN0LmVudHJpZXMocmVzb2x2ZWQuY2hhbm5lbHMpLm1hcCgoW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgICAgIGNvbnN0IGlkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2Uoa2V5KVxuICAgICAgICBjb25zdCBjaGFubmVsID0gdmFsdWUgYXMge1xuICAgICAgICAgIGlkOiBzdHJpbmdcbiAgICAgICAgICBuYW1lOiBzdHJpbmdcbiAgICAgICAgICB0eXBlOiBDaGFubmVsVHlwZXNcbiAgICAgICAgICBwZXJtaXNzaW9uczogc3RyaW5nXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICBpZCxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBpZCxcbiAgICAgICAgICAgIG5hbWU6IGNoYW5uZWwubmFtZSxcbiAgICAgICAgICAgIHR5cGU6IGNoYW5uZWwudHlwZSxcbiAgICAgICAgICAgIHBlcm1pc3Npb25zOiBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShjaGFubmVsLnBlcm1pc3Npb25zKSxcbiAgICAgICAgICB9LFxuICAgICAgICBdXG4gICAgICB9KSxcbiAgICApXG4gIH1cblxuICBpZiAocmVzb2x2ZWQuYXR0YWNobWVudHMpIHtcbiAgICB0cmFuc2Zvcm1lZC5hdHRhY2htZW50cyA9IG5ldyBDb2xsZWN0aW9uKFxuICAgICAgT2JqZWN0LmVudHJpZXMocmVzb2x2ZWQuYXR0YWNobWVudHMpLm1hcCgoW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgICAgIGNvbnN0IGlkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2Uoa2V5KVxuICAgICAgICByZXR1cm4gW2lkLCBib3QudHJhbnNmb3JtZXJzLmF0dGFjaG1lbnQoYm90LCB2YWx1ZSldXG4gICAgICB9KSxcbiAgICApXG4gIH1cblxuICByZXR1cm4gdHJhbnNmb3JtZWRcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbnRlcmFjdGlvbkRhdGFSZXNvbHZlZCB7XG4gIG1lc3NhZ2VzPzogQ29sbGVjdGlvbjxiaWdpbnQsIE1lc3NhZ2U+XG4gIHVzZXJzPzogQ29sbGVjdGlvbjxiaWdpbnQsIFVzZXI+XG4gIG1lbWJlcnM/OiBDb2xsZWN0aW9uPGJpZ2ludCwgTWVtYmVyPlxuICByb2xlcz86IENvbGxlY3Rpb248YmlnaW50LCBSb2xlPlxuICBjaGFubmVscz86IENvbGxlY3Rpb248YmlnaW50LCB7IGlkOiBiaWdpbnQ7IG5hbWU6IHN0cmluZzsgdHlwZTogQ2hhbm5lbFR5cGVzOyBwZXJtaXNzaW9uczogYmlnaW50IH0+XG4gIGF0dGFjaG1lbnRzPzogQ29sbGVjdGlvbjxiaWdpbnQsIEF0dGFjaG1lbnQ+XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW50ZXJhY3Rpb25EYXRhT3B0aW9uIHtcbiAgbmFtZTogc3RyaW5nXG4gIHR5cGU6IEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvblR5cGVzXG4gIHZhbHVlPzogc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhblxuICBvcHRpb25zPzogSW50ZXJhY3Rpb25EYXRhT3B0aW9uW11cbiAgZm9jdXNlZD86IGJvb2xlYW5cbn1cbiJdLCJuYW1lcyI6WyJ0cmFuc2Zvcm1JbnRlcmFjdGlvbiIsInRyYW5zZm9ybUludGVyYWN0aW9uRGF0YU9wdGlvbiIsInRyYW5zZm9ybUludGVyYWN0aW9uRGF0YVJlc29sdmVkIiwiYmFzZUludGVyYWN0aW9uIiwicmVzcG9uZCIsInJlc3BvbnNlIiwib3B0aW9ucyIsInR5cGUiLCJJbnRlcmFjdGlvblJlc3BvbnNlVHlwZXMiLCJDaGFubmVsTWVzc2FnZVdpdGhTb3VyY2UiLCJjb250ZW50IiwidGl0bGUiLCJNb2RhbCIsIkludGVyYWN0aW9uVHlwZXMiLCJBcHBsaWNhdGlvbkNvbW1hbmRBdXRvY29tcGxldGUiLCJBcHBsaWNhdGlvbkNvbW1hbmRBdXRvY29tcGxldGVSZXN1bHQiLCJpc1ByaXZhdGUiLCJmbGFncyIsIk1lc3NhZ2VGbGFncyIsIkVwaGVtZXJhbCIsImFja25vd2xlZGdlZCIsImJvdCIsImhlbHBlcnMiLCJzZW5kRm9sbG93dXBNZXNzYWdlIiwidG9rZW4iLCJNb2RhbFN1Ym1pdCIsIkVycm9yIiwic2VuZEludGVyYWN0aW9uUmVzcG9uc2UiLCJpZCIsImRhdGEiLCJlZGl0IiwibWVzc2FnZUlkIiwiZWRpdEZvbGxvd3VwTWVzc2FnZSIsIk1lc3NhZ2VDb21wb25lbnQiLCJVcGRhdGVNZXNzYWdlIiwiZWRpdE9yaWdpbmFsSW50ZXJhY3Rpb25SZXNwb25zZSIsImRlZmVyRWRpdCIsIkRlZmVycmVkVXBkYXRlTWVzc2FnZSIsImRlZmVyIiwiRGVmZXJyZWRDaGFubmVsTWVzc2FnZVdpdGhTb3VyY2UiLCJ1bmRlZmluZWQiLCJkZWxldGUiLCJkZWxldGVGb2xsb3d1cE1lc3NhZ2UiLCJkZWxldGVPcmlnaW5hbEludGVyYWN0aW9uUmVzcG9uc2UiLCJwYXlsb2FkIiwiZ3VpbGRJZCIsImd1aWxkX2lkIiwidHJhbnNmb3JtZXJzIiwic25vd2ZsYWtlIiwidXNlciIsIm1lbWJlciIsImludGVyYWN0aW9uIiwiT2JqZWN0IiwiY3JlYXRlIiwicHJvcHMiLCJkZXNpcmVkUHJvcGVydGllcyIsImFwcGxpY2F0aW9uSWQiLCJhcHBsaWNhdGlvbl9pZCIsInZlcnNpb24iLCJsb2NhbGUiLCJndWlsZExvY2FsZSIsImd1aWxkX2xvY2FsZSIsImFwcFBlcm1pc3Npb25zIiwiYXBwX3Blcm1pc3Npb25zIiwibWVzc2FnZSIsImNoYW5uZWwiLCJjaGFubmVsSWQiLCJjaGFubmVsX2lkIiwiYXV0aG9yaXppbmdJbnRlZ3JhdGlvbk93bmVycyIsImF1dGhvcml6aW5nX2ludGVncmF0aW9uX293bmVycyIsIkRpc2NvcmRBcHBsaWNhdGlvbkludGVncmF0aW9uVHlwZSIsIkd1aWxkSW5zdGFsbCIsIlVzZXJJbnN0YWxsIiwiY29udGV4dCIsImNvbXBvbmVudFR5cGUiLCJjb21wb25lbnRfdHlwZSIsImN1c3RvbUlkIiwiY3VzdG9tX2lkIiwiY29tcG9uZW50cyIsIm1hcCIsImNvbXBvbmVudCIsInZhbHVlcyIsIm5hbWUiLCJyZXNvbHZlZCIsIm9wdCIsImludGVyYWN0aW9uRGF0YU9wdGlvbnMiLCJ0YXJnZXRJZCIsInRhcmdldF9pZCIsImN1c3RvbWl6ZXJzIiwib3B0aW9uIiwidmFsdWUiLCJmb2N1c2VkIiwidHJhbnNmb3JtZWQiLCJtZXNzYWdlcyIsIkNvbGxlY3Rpb24iLCJlbnRyaWVzIiwidXNlcnMiLCJtZW1iZXJzIiwicm9sZXMiLCJyb2xlIiwiY2hhbm5lbHMiLCJrZXkiLCJwZXJtaXNzaW9ucyIsImF0dGFjaG1lbnRzIiwiYXR0YWNobWVudCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7SUE4TWdCQSxvQkFBb0I7ZUFBcEJBOztJQXVEQUMsOEJBQThCO2VBQTlCQTs7SUFZQUMsZ0NBQWdDO2VBQWhDQTs7O3VCQXJRVDt1QkFDb0I7dUJBUXBCO0FBa0hQLE1BQU1DLGtCQUEwRDtJQUM5RCxNQUFNQyxTQUFRQyxRQUFRLEVBQUVDLE9BQU87UUFDN0IsSUFBSUMsT0FBT0MsK0JBQXdCLENBQUNDLHdCQUF3QjtRQUU1RCw0REFBNEQ7UUFDNUQsSUFBSSxPQUFPSixhQUFhLFVBQVVBLFdBQVc7WUFBRUssU0FBU0w7UUFBUztRQUVqRSw0RkFBNEY7UUFDNUYsSUFBSUEsU0FBU00sS0FBSyxFQUFFSixPQUFPQywrQkFBd0IsQ0FBQ0ksS0FBSztRQUN6RCxJQUFJLElBQUksQ0FBQ0wsSUFBSSxLQUFLTSx1QkFBZ0IsQ0FBQ0MsOEJBQThCLEVBQUVQLE9BQU9DLCtCQUF3QixDQUFDTyxvQ0FBb0M7UUFDdkksSUFBSVIs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