@discordeno/bot 22.0.1-next.3d2ff13 → 22.0.1-next.3edb0a9

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 (368) hide show
  1. package/dist/bot.d.ts +3 -3
  2. package/dist/bot.d.ts.map +1 -1
  3. package/dist/bot.js +1 -1
  4. package/dist/commandOptionsParser.d.ts.map +1 -1
  5. package/dist/commandOptionsParser.js +1 -1
  6. package/dist/constants.d.ts.map +1 -1
  7. package/dist/constants.js +1 -1
  8. package/dist/desiredProperties.d.ts +110 -86
  9. package/dist/desiredProperties.d.ts.map +1 -1
  10. package/dist/desiredProperties.js +251 -1
  11. package/dist/events.d.ts +10 -10
  12. package/dist/events.d.ts.map +1 -1
  13. package/dist/events.js +1 -1
  14. package/dist/handlers/channels/CHANNEL_CREATE.d.ts.map +1 -1
  15. package/dist/handlers/channels/CHANNEL_CREATE.js +1 -1
  16. package/dist/handlers/channels/CHANNEL_DELETE.d.ts.map +1 -1
  17. package/dist/handlers/channels/CHANNEL_DELETE.js +1 -1
  18. package/dist/handlers/channels/CHANNEL_PINS_UPDATE.d.ts.map +1 -1
  19. package/dist/handlers/channels/CHANNEL_PINS_UPDATE.js +1 -1
  20. package/dist/handlers/channels/CHANNEL_UPDATE.d.ts.map +1 -1
  21. package/dist/handlers/channels/CHANNEL_UPDATE.js +1 -1
  22. package/dist/handlers/channels/STAGE_INSTANCE_CREATE.d.ts.map +1 -1
  23. package/dist/handlers/channels/STAGE_INSTANCE_CREATE.js +1 -1
  24. package/dist/handlers/channels/STAGE_INSTANCE_DELETE.d.ts.map +1 -1
  25. package/dist/handlers/channels/STAGE_INSTANCE_DELETE.js +1 -1
  26. package/dist/handlers/channels/STAGE_INSTANCE_UPDATE.d.ts.map +1 -1
  27. package/dist/handlers/channels/STAGE_INSTANCE_UPDATE.js +1 -1
  28. package/dist/handlers/channels/THREAD_CREATE.d.ts.map +1 -1
  29. package/dist/handlers/channels/THREAD_CREATE.js +1 -1
  30. package/dist/handlers/channels/THREAD_DELETE.d.ts.map +1 -1
  31. package/dist/handlers/channels/THREAD_DELETE.js +1 -1
  32. package/dist/handlers/channels/THREAD_LIST_SYNC.d.ts.map +1 -1
  33. package/dist/handlers/channels/THREAD_LIST_SYNC.js +1 -1
  34. package/dist/handlers/channels/THREAD_MEMBERS_UPDATE.d.ts.map +1 -1
  35. package/dist/handlers/channels/THREAD_MEMBERS_UPDATE.js +2 -2
  36. package/dist/handlers/channels/THREAD_MEMBER_UPDATE.d.ts.map +1 -1
  37. package/dist/handlers/channels/THREAD_MEMBER_UPDATE.js +1 -1
  38. package/dist/handlers/channels/THREAD_UPDATE.d.ts.map +1 -1
  39. package/dist/handlers/channels/THREAD_UPDATE.js +1 -1
  40. package/dist/handlers/channels/index.d.ts.map +1 -1
  41. package/dist/handlers/channels/index.js +1 -1
  42. package/dist/handlers/emojis/GUILD_EMOJIS_UPDATE.d.ts.map +1 -1
  43. package/dist/handlers/emojis/GUILD_EMOJIS_UPDATE.js +1 -1
  44. package/dist/handlers/emojis/index.d.ts.map +1 -1
  45. package/dist/handlers/emojis/index.js +1 -1
  46. package/dist/handlers/entitlements/ENTITLEMENT_CREATE.d.ts.map +1 -1
  47. package/dist/handlers/entitlements/ENTITLEMENT_CREATE.js +1 -1
  48. package/dist/handlers/entitlements/ENTITLEMENT_DELETE.d.ts.map +1 -1
  49. package/dist/handlers/entitlements/ENTITLEMENT_DELETE.js +1 -1
  50. package/dist/handlers/entitlements/ENTITLEMENT_UPDATE.d.ts.map +1 -1
  51. package/dist/handlers/entitlements/ENTITLEMENT_UPDATE.js +1 -1
  52. package/dist/handlers/entitlements/index.d.ts.map +1 -1
  53. package/dist/handlers/entitlements/index.js +1 -1
  54. package/dist/handlers/guilds/GUILD_AUDIT_LOG_ENTRY_CREATE.d.ts.map +1 -1
  55. package/dist/handlers/guilds/GUILD_AUDIT_LOG_ENTRY_CREATE.js +1 -1
  56. package/dist/handlers/guilds/GUILD_BAN_ADD.d.ts.map +1 -1
  57. package/dist/handlers/guilds/GUILD_BAN_ADD.js +1 -1
  58. package/dist/handlers/guilds/GUILD_BAN_REMOVE.d.ts.map +1 -1
  59. package/dist/handlers/guilds/GUILD_BAN_REMOVE.js +1 -1
  60. package/dist/handlers/guilds/GUILD_CREATE.d.ts.map +1 -1
  61. package/dist/handlers/guilds/GUILD_CREATE.js +1 -1
  62. package/dist/handlers/guilds/GUILD_DELETE.d.ts.map +1 -1
  63. package/dist/handlers/guilds/GUILD_DELETE.js +1 -1
  64. package/dist/handlers/guilds/GUILD_INTEGRATIONS_UPDATE.d.ts.map +1 -1
  65. package/dist/handlers/guilds/GUILD_INTEGRATIONS_UPDATE.js +1 -1
  66. package/dist/handlers/guilds/GUILD_STICKERS_UPDATE.d.ts.map +1 -1
  67. package/dist/handlers/guilds/GUILD_STICKERS_UPDATE.js +1 -1
  68. package/dist/handlers/guilds/GUILD_UPDATE.d.ts.map +1 -1
  69. package/dist/handlers/guilds/GUILD_UPDATE.js +1 -1
  70. package/dist/handlers/guilds/automod/AUTO_MODERATION_ACTION_EXECUTION.d.ts.map +1 -1
  71. package/dist/handlers/guilds/automod/AUTO_MODERATION_ACTION_EXECUTION.js +1 -1
  72. package/dist/handlers/guilds/automod/AUTO_MODERATION_RULE_CREATE.d.ts.map +1 -1
  73. package/dist/handlers/guilds/automod/AUTO_MODERATION_RULE_CREATE.js +1 -1
  74. package/dist/handlers/guilds/automod/AUTO_MODERATION_RULE_DELETE.d.ts.map +1 -1
  75. package/dist/handlers/guilds/automod/AUTO_MODERATION_RULE_DELETE.js +1 -1
  76. package/dist/handlers/guilds/automod/AUTO_MODERATION_RULE_UPDATE.d.ts.map +1 -1
  77. package/dist/handlers/guilds/automod/AUTO_MODERATION_RULE_UPDATE.js +1 -1
  78. package/dist/handlers/guilds/automod/index.d.ts.map +1 -1
  79. package/dist/handlers/guilds/automod/index.js +1 -1
  80. package/dist/handlers/guilds/index.d.ts.map +1 -1
  81. package/dist/handlers/guilds/index.js +1 -1
  82. package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_CREATE.d.ts.map +1 -1
  83. package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_CREATE.js +1 -1
  84. package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_DELETE.d.ts.map +1 -1
  85. package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_DELETE.js +1 -1
  86. package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_UPDATE.d.ts.map +1 -1
  87. package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_UPDATE.js +1 -1
  88. package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_USER_ADD.d.ts.map +1 -1
  89. package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_USER_ADD.js +1 -1
  90. package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_USER_REMOVE.d.ts.map +1 -1
  91. package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_USER_REMOVE.js +1 -1
  92. package/dist/handlers/guilds/scheduledEvents/index.d.ts.map +1 -1
  93. package/dist/handlers/guilds/scheduledEvents/index.js +1 -1
  94. package/dist/handlers/index.d.ts.map +1 -1
  95. package/dist/handlers/index.js +1 -1
  96. package/dist/handlers/integrations/INTEGRATION_CREATE.d.ts.map +1 -1
  97. package/dist/handlers/integrations/INTEGRATION_CREATE.js +1 -1
  98. package/dist/handlers/integrations/INTEGRATION_DELETE.d.ts.map +1 -1
  99. package/dist/handlers/integrations/INTEGRATION_DELETE.js +1 -1
  100. package/dist/handlers/integrations/INTEGRATION_UPDATE.d.ts.map +1 -1
  101. package/dist/handlers/integrations/INTEGRATION_UPDATE.js +1 -1
  102. package/dist/handlers/integrations/index.d.ts.map +1 -1
  103. package/dist/handlers/integrations/index.js +1 -1
  104. package/dist/handlers/interactions/APPLICATION_COMMAND_PERMISSIONS_UPDATE.d.ts.map +1 -1
  105. package/dist/handlers/interactions/APPLICATION_COMMAND_PERMISSIONS_UPDATE.js +1 -1
  106. package/dist/handlers/interactions/INTERACTION_CREATE.d.ts.map +1 -1
  107. package/dist/handlers/interactions/INTERACTION_CREATE.js +1 -1
  108. package/dist/handlers/interactions/index.d.ts.map +1 -1
  109. package/dist/handlers/interactions/index.js +1 -1
  110. package/dist/handlers/invites/INVITE_CREATE.d.ts.map +1 -1
  111. package/dist/handlers/invites/INVITE_CREATE.js +2 -1
  112. package/dist/handlers/invites/INVITE_DELETE.d.ts.map +1 -1
  113. package/dist/handlers/invites/INVITE_DELETE.js +1 -1
  114. package/dist/handlers/invites/index.d.ts.map +1 -1
  115. package/dist/handlers/invites/index.js +1 -1
  116. package/dist/handlers/members/GUILD_MEMBERS_CHUNK.d.ts.map +1 -1
  117. package/dist/handlers/members/GUILD_MEMBERS_CHUNK.js +1 -1
  118. package/dist/handlers/members/GUILD_MEMBER_ADD.d.ts.map +1 -1
  119. package/dist/handlers/members/GUILD_MEMBER_ADD.js +1 -1
  120. package/dist/handlers/members/GUILD_MEMBER_REMOVE.d.ts.map +1 -1
  121. package/dist/handlers/members/GUILD_MEMBER_REMOVE.js +1 -1
  122. package/dist/handlers/members/GUILD_MEMBER_UPDATE.d.ts.map +1 -1
  123. package/dist/handlers/members/GUILD_MEMBER_UPDATE.js +1 -1
  124. package/dist/handlers/members/index.d.ts.map +1 -1
  125. package/dist/handlers/members/index.js +1 -1
  126. package/dist/handlers/messages/MESSAGE_CREATE.d.ts.map +1 -1
  127. package/dist/handlers/messages/MESSAGE_CREATE.js +1 -1
  128. package/dist/handlers/messages/MESSAGE_DELETE.d.ts.map +1 -1
  129. package/dist/handlers/messages/MESSAGE_DELETE.js +1 -1
  130. package/dist/handlers/messages/MESSAGE_DELETE_BULK.d.ts.map +1 -1
  131. package/dist/handlers/messages/MESSAGE_DELETE_BULK.js +1 -1
  132. package/dist/handlers/messages/MESSAGE_REACTION_ADD.d.ts.map +1 -1
  133. package/dist/handlers/messages/MESSAGE_REACTION_ADD.js +1 -1
  134. package/dist/handlers/messages/MESSAGE_REACTION_REMOVE.d.ts.map +1 -1
  135. package/dist/handlers/messages/MESSAGE_REACTION_REMOVE.js +1 -1
  136. package/dist/handlers/messages/MESSAGE_REACTION_REMOVE_ALL.d.ts.map +1 -1
  137. package/dist/handlers/messages/MESSAGE_REACTION_REMOVE_ALL.js +1 -1
  138. package/dist/handlers/messages/MESSAGE_REACTION_REMOVE_EMOJI.d.ts.map +1 -1
  139. package/dist/handlers/messages/MESSAGE_REACTION_REMOVE_EMOJI.js +1 -1
  140. package/dist/handlers/messages/MESSAGE_UPDATE.d.ts.map +1 -1
  141. package/dist/handlers/messages/MESSAGE_UPDATE.js +1 -1
  142. package/dist/handlers/messages/index.d.ts.map +1 -1
  143. package/dist/handlers/messages/index.js +1 -1
  144. package/dist/handlers/misc/PRESENCE_UPDATE.d.ts.map +1 -1
  145. package/dist/handlers/misc/PRESENCE_UPDATE.js +1 -1
  146. package/dist/handlers/misc/RATE_LIMITED.d.ts.map +1 -1
  147. package/dist/handlers/misc/RATE_LIMITED.js +1 -1
  148. package/dist/handlers/misc/READY.d.ts.map +1 -1
  149. package/dist/handlers/misc/READY.js +1 -1
  150. package/dist/handlers/misc/RESUMED.d.ts.map +1 -1
  151. package/dist/handlers/misc/RESUMED.js +1 -1
  152. package/dist/handlers/misc/TYPING_START.d.ts.map +1 -1
  153. package/dist/handlers/misc/TYPING_START.js +1 -1
  154. package/dist/handlers/misc/USER_UPDATE.d.ts.map +1 -1
  155. package/dist/handlers/misc/USER_UPDATE.js +1 -1
  156. package/dist/handlers/misc/index.d.ts.map +1 -1
  157. package/dist/handlers/misc/index.js +1 -1
  158. package/dist/handlers/poll/MESSAGE_POLL_VOTE_ADD.d.ts.map +1 -1
  159. package/dist/handlers/poll/MESSAGE_POLL_VOTE_ADD.js +1 -1
  160. package/dist/handlers/poll/MESSAGE_POLL_VOTE_REMOVE.d.ts.map +1 -1
  161. package/dist/handlers/poll/MESSAGE_POLL_VOTE_REMOVE.js +1 -1
  162. package/dist/handlers/poll/index.d.ts.map +1 -1
  163. package/dist/handlers/poll/index.js +1 -1
  164. package/dist/handlers/roles/GUILD_ROLE_CREATE.d.ts.map +1 -1
  165. package/dist/handlers/roles/GUILD_ROLE_CREATE.js +1 -1
  166. package/dist/handlers/roles/GUILD_ROLE_DELETE.d.ts.map +1 -1
  167. package/dist/handlers/roles/GUILD_ROLE_DELETE.js +1 -1
  168. package/dist/handlers/roles/GUILD_ROLE_UPDATE.d.ts.map +1 -1
  169. package/dist/handlers/roles/GUILD_ROLE_UPDATE.js +1 -1
  170. package/dist/handlers/roles/index.d.ts.map +1 -1
  171. package/dist/handlers/roles/index.js +1 -1
  172. package/dist/handlers/soundboard/GUILD_SOUNDBOARD_SOUNDS_UPDATE.d.ts.map +1 -1
  173. package/dist/handlers/soundboard/GUILD_SOUNDBOARD_SOUNDS_UPDATE.js +1 -1
  174. package/dist/handlers/soundboard/GUILD_SOUNDBOARD_SOUND_CREATE.d.ts.map +1 -1
  175. package/dist/handlers/soundboard/GUILD_SOUNDBOARD_SOUND_CREATE.js +1 -1
  176. package/dist/handlers/soundboard/GUILD_SOUNDBOARD_SOUND_DELETE.d.ts.map +1 -1
  177. package/dist/handlers/soundboard/GUILD_SOUNDBOARD_SOUND_DELETE.js +1 -1
  178. package/dist/handlers/soundboard/GUILD_SOUNDBOARD_SOUND_UPDATE.d.ts.map +1 -1
  179. package/dist/handlers/soundboard/GUILD_SOUNDBOARD_SOUND_UPDATE.js +1 -1
  180. package/dist/handlers/soundboard/SOUNDBOARD_SOUNDS.d.ts.map +1 -1
  181. package/dist/handlers/soundboard/SOUNDBOARD_SOUNDS.js +1 -1
  182. package/dist/handlers/soundboard/index.d.ts.map +1 -1
  183. package/dist/handlers/soundboard/index.js +1 -1
  184. package/dist/handlers/subscriptions/SUBSCRIPTION_CREATE.d.ts.map +1 -1
  185. package/dist/handlers/subscriptions/SUBSCRIPTION_CREATE.js +1 -1
  186. package/dist/handlers/subscriptions/SUBSCRIPTION_DELETE.d.ts.map +1 -1
  187. package/dist/handlers/subscriptions/SUBSCRIPTION_DELETE.js +1 -1
  188. package/dist/handlers/subscriptions/SUBSCRIPTION_UPDATE.d.ts.map +1 -1
  189. package/dist/handlers/subscriptions/SUBSCRIPTION_UPDATE.js +1 -1
  190. package/dist/handlers/subscriptions/index.d.ts.map +1 -1
  191. package/dist/handlers/subscriptions/index.js +1 -1
  192. package/dist/handlers/voice/VOICE_CHANNEL_EFFECT_SEND.d.ts.map +1 -1
  193. package/dist/handlers/voice/VOICE_CHANNEL_EFFECT_SEND.js +1 -1
  194. package/dist/handlers/voice/VOICE_SERVER_UPDATE.d.ts.map +1 -1
  195. package/dist/handlers/voice/VOICE_SERVER_UPDATE.js +1 -1
  196. package/dist/handlers/voice/VOICE_STATE_UPDATE.d.ts.map +1 -1
  197. package/dist/handlers/voice/VOICE_STATE_UPDATE.js +1 -1
  198. package/dist/handlers/voice/index.d.ts.map +1 -1
  199. package/dist/handlers/voice/index.js +1 -1
  200. package/dist/handlers/webhooks/WEBHOOKS_UPDATE.d.ts.map +1 -1
  201. package/dist/handlers/webhooks/WEBHOOKS_UPDATE.js +1 -1
  202. package/dist/handlers/webhooks/index.d.ts.map +1 -1
  203. package/dist/handlers/webhooks/index.js +1 -1
  204. package/dist/handlers.d.ts.map +1 -1
  205. package/dist/handlers.js +1 -1
  206. package/dist/helpers.d.ts +46 -42
  207. package/dist/helpers.d.ts.map +1 -1
  208. package/dist/helpers.js +14 -3
  209. package/dist/index.d.ts.map +1 -1
  210. package/dist/index.js +1 -1
  211. package/dist/transformers/activity.d.ts.map +1 -1
  212. package/dist/transformers/activity.js +1 -1
  213. package/dist/transformers/application.d.ts.map +1 -1
  214. package/dist/transformers/application.js +1 -1
  215. package/dist/transformers/applicationCommand.d.ts.map +1 -1
  216. package/dist/transformers/applicationCommand.js +1 -1
  217. package/dist/transformers/applicationCommandOption.d.ts.map +1 -1
  218. package/dist/transformers/applicationCommandOption.js +1 -1
  219. package/dist/transformers/applicationCommandOptionChoice.d.ts.map +1 -1
  220. package/dist/transformers/applicationCommandOptionChoice.js +1 -1
  221. package/dist/transformers/applicationCommandPermission.d.ts.map +1 -1
  222. package/dist/transformers/applicationCommandPermission.js +1 -1
  223. package/dist/transformers/attachment.d.ts.map +1 -1
  224. package/dist/transformers/attachment.js +1 -1
  225. package/dist/transformers/auditLogEntry.d.ts.map +1 -1
  226. package/dist/transformers/auditLogEntry.js +1 -1
  227. package/dist/transformers/automodActionExecution.d.ts.map +1 -1
  228. package/dist/transformers/automodActionExecution.js +1 -1
  229. package/dist/transformers/automodRule.d.ts.map +1 -1
  230. package/dist/transformers/automodRule.js +3 -2
  231. package/dist/transformers/avatarDecorationData.d.ts.map +1 -1
  232. package/dist/transformers/avatarDecorationData.js +1 -1
  233. package/dist/transformers/channel.d.ts.map +1 -1
  234. package/dist/transformers/channel.js +4 -4
  235. package/dist/transformers/component.d.ts.map +1 -1
  236. package/dist/transformers/component.js +171 -8
  237. package/dist/transformers/embed.d.ts.map +1 -1
  238. package/dist/transformers/embed.js +1 -1
  239. package/dist/transformers/emoji.d.ts.map +1 -1
  240. package/dist/transformers/emoji.js +1 -1
  241. package/dist/transformers/entitlement.d.ts.map +1 -1
  242. package/dist/transformers/entitlement.js +1 -1
  243. package/dist/transformers/gatewayBot.d.ts.map +1 -1
  244. package/dist/transformers/gatewayBot.js +1 -1
  245. package/dist/transformers/guild.d.ts.map +1 -1
  246. package/dist/transformers/guild.js +1 -1
  247. package/dist/transformers/incidentsData.d.ts.map +1 -1
  248. package/dist/transformers/incidentsData.js +1 -1
  249. package/dist/transformers/index.d.ts.map +1 -1
  250. package/dist/transformers/index.js +1 -1
  251. package/dist/transformers/integration.d.ts.map +1 -1
  252. package/dist/transformers/integration.js +1 -1
  253. package/dist/transformers/interaction.d.ts.map +1 -1
  254. package/dist/transformers/interaction.js +17 -7
  255. package/dist/transformers/invite.d.ts.map +1 -1
  256. package/dist/transformers/invite.js +3 -1
  257. package/dist/transformers/lobby.d.ts.map +1 -1
  258. package/dist/transformers/lobby.js +1 -1
  259. package/dist/transformers/member.d.ts.map +1 -1
  260. package/dist/transformers/member.js +1 -1
  261. package/dist/transformers/message.d.ts.map +1 -1
  262. package/dist/transformers/message.js +1 -1
  263. package/dist/transformers/onboarding.d.ts.map +1 -1
  264. package/dist/transformers/onboarding.js +1 -1
  265. package/dist/transformers/poll.d.ts.map +1 -1
  266. package/dist/transformers/poll.js +1 -1
  267. package/dist/transformers/presence.d.ts.map +1 -1
  268. package/dist/transformers/presence.js +1 -1
  269. package/dist/transformers/reverse/activity.d.ts.map +1 -1
  270. package/dist/transformers/reverse/activity.js +1 -1
  271. package/dist/transformers/reverse/allowedMentions.d.ts.map +1 -1
  272. package/dist/transformers/reverse/allowedMentions.js +1 -1
  273. package/dist/transformers/reverse/application.d.ts.map +1 -1
  274. package/dist/transformers/reverse/application.js +1 -1
  275. package/dist/transformers/reverse/applicationCommand.d.ts.map +1 -1
  276. package/dist/transformers/reverse/applicationCommand.js +1 -1
  277. package/dist/transformers/reverse/applicationCommandOption.d.ts.map +1 -1
  278. package/dist/transformers/reverse/applicationCommandOption.js +1 -1
  279. package/dist/transformers/reverse/applicationCommandOptionChoice.d.ts.map +1 -1
  280. package/dist/transformers/reverse/applicationCommandOptionChoice.js +1 -1
  281. package/dist/transformers/reverse/applicationCommandPermission.d.ts.map +1 -1
  282. package/dist/transformers/reverse/applicationCommandPermission.js +1 -1
  283. package/dist/transformers/reverse/attachment.d.ts.map +1 -1
  284. package/dist/transformers/reverse/attachment.js +1 -1
  285. package/dist/transformers/reverse/auditLogEntry.d.ts.map +1 -1
  286. package/dist/transformers/reverse/auditLogEntry.js +1 -1
  287. package/dist/transformers/reverse/component.d.ts.map +1 -1
  288. package/dist/transformers/reverse/component.js +161 -11
  289. package/dist/transformers/reverse/embed.d.ts.map +1 -1
  290. package/dist/transformers/reverse/embed.js +1 -1
  291. package/dist/transformers/reverse/emoji.d.ts.map +1 -1
  292. package/dist/transformers/reverse/emoji.js +1 -1
  293. package/dist/transformers/reverse/gatewayBot.d.ts.map +1 -1
  294. package/dist/transformers/reverse/gatewayBot.js +1 -1
  295. package/dist/transformers/reverse/index.d.ts.map +1 -1
  296. package/dist/transformers/reverse/index.js +1 -1
  297. package/dist/transformers/reverse/member.d.ts.map +1 -1
  298. package/dist/transformers/reverse/member.js +1 -1
  299. package/dist/transformers/reverse/presence.d.ts.map +1 -1
  300. package/dist/transformers/reverse/presence.js +1 -1
  301. package/dist/transformers/reverse/team.d.ts.map +1 -1
  302. package/dist/transformers/reverse/team.js +1 -1
  303. package/dist/transformers/reverse/widgetSettings.d.ts.map +1 -1
  304. package/dist/transformers/reverse/widgetSettings.js +1 -1
  305. package/dist/transformers/role.d.ts.map +1 -1
  306. package/dist/transformers/role.js +2 -1
  307. package/dist/transformers/scheduledEvent.d.ts.map +1 -1
  308. package/dist/transformers/scheduledEvent.js +1 -1
  309. package/dist/transformers/sku.d.ts.map +1 -1
  310. package/dist/transformers/sku.js +1 -1
  311. package/dist/transformers/soundboardSound.d.ts.map +1 -1
  312. package/dist/transformers/soundboardSound.js +1 -1
  313. package/dist/transformers/stageInstance.d.ts.map +1 -1
  314. package/dist/transformers/stageInstance.js +1 -1
  315. package/dist/transformers/stageInviteInstance.d.ts.map +1 -1
  316. package/dist/transformers/stageInviteInstance.js +1 -1
  317. package/dist/transformers/sticker.d.ts.map +1 -1
  318. package/dist/transformers/sticker.js +1 -1
  319. package/dist/transformers/subscription.d.ts.map +1 -1
  320. package/dist/transformers/subscription.js +1 -1
  321. package/dist/transformers/team.d.ts.map +1 -1
  322. package/dist/transformers/team.js +1 -1
  323. package/dist/transformers/template.d.ts.map +1 -1
  324. package/dist/transformers/template.js +1 -1
  325. package/dist/transformers/threadMember.d.ts.map +1 -1
  326. package/dist/transformers/threadMember.js +1 -1
  327. package/dist/transformers/toggles/Permissions.d.ts.map +1 -1
  328. package/dist/transformers/toggles/Permissions.js +1 -1
  329. package/dist/transformers/toggles/ToggleBitfield.d.ts.map +1 -1
  330. package/dist/transformers/toggles/ToggleBitfield.js +1 -1
  331. package/dist/transformers/toggles/channel.d.ts.map +1 -1
  332. package/dist/transformers/toggles/channel.js +1 -1
  333. package/dist/transformers/toggles/emoji.d.ts.map +1 -1
  334. package/dist/transformers/toggles/emoji.js +1 -1
  335. package/dist/transformers/toggles/guild.d.ts +2 -2
  336. package/dist/transformers/toggles/guild.d.ts.map +1 -1
  337. package/dist/transformers/toggles/guild.js +3 -3
  338. package/dist/transformers/toggles/index.d.ts.map +1 -1
  339. package/dist/transformers/toggles/index.js +1 -1
  340. package/dist/transformers/toggles/member.d.ts.map +1 -1
  341. package/dist/transformers/toggles/member.js +1 -1
  342. package/dist/transformers/toggles/role.d.ts.map +1 -1
  343. package/dist/transformers/toggles/role.js +1 -1
  344. package/dist/transformers/toggles/user.d.ts.map +1 -1
  345. package/dist/transformers/toggles/user.js +1 -1
  346. package/dist/transformers/toggles/voice.d.ts.map +1 -1
  347. package/dist/transformers/toggles/voice.js +1 -1
  348. package/dist/transformers/types.d.ts +105 -18
  349. package/dist/transformers/types.d.ts.map +1 -1
  350. package/dist/transformers/types.js +2 -2
  351. package/dist/transformers/user.d.ts.map +1 -1
  352. package/dist/transformers/user.js +20 -3
  353. package/dist/transformers/voiceRegion.d.ts.map +1 -1
  354. package/dist/transformers/voiceRegion.js +1 -1
  355. package/dist/transformers/voiceState.d.ts.map +1 -1
  356. package/dist/transformers/voiceState.js +1 -1
  357. package/dist/transformers/webhook.d.ts.map +1 -1
  358. package/dist/transformers/webhook.js +5 -5
  359. package/dist/transformers/welcomeScreen.d.ts.map +1 -1
  360. package/dist/transformers/welcomeScreen.js +1 -1
  361. package/dist/transformers/widget.d.ts.map +1 -1
  362. package/dist/transformers/widget.js +1 -1
  363. package/dist/transformers/widgetSettings.d.ts.map +1 -1
  364. package/dist/transformers/widgetSettings.js +1 -1
  365. package/dist/transformers.d.ts +30 -30
  366. package/dist/transformers.d.ts.map +1 -1
  367. package/dist/transformers.js +1 -1
  368. package/package.json +21 -23
@@ -16,11 +16,19 @@ export function transformComponent(bot, payload) {
16
16
  component = transformInputTextComponent(bot, payload);
17
17
  break;
18
18
  case MessageComponentTypes.StringSelect:
19
+ component = transformStringSelectMenuComponent(bot, payload);
20
+ break;
19
21
  case MessageComponentTypes.UserSelect:
22
+ component = transformUserSelectMenuComponent(bot, payload);
23
+ break;
20
24
  case MessageComponentTypes.RoleSelect:
25
+ component = transformRoleSelectMenuComponent(bot, payload);
26
+ break;
21
27
  case MessageComponentTypes.MentionableSelect:
28
+ component = transformMentionableSelectMenuComponent(bot, payload);
29
+ break;
22
30
  case MessageComponentTypes.ChannelSelect:
23
- component = transformSelectMenuComponent(bot, payload);
31
+ component = transformChannelSelectMenuComponent(bot, payload);
24
32
  break;
25
33
  case MessageComponentTypes.Section:
26
34
  component = transformSectionComponent(bot, payload);
@@ -43,6 +51,18 @@ export function transformComponent(bot, payload) {
43
51
  case MessageComponentTypes.Label:
44
52
  component = transformLabelComponent(bot, payload);
45
53
  break;
54
+ case MessageComponentTypes.FileUpload:
55
+ component = transformFileUploadComponent(bot, payload);
56
+ break;
57
+ case MessageComponentTypes.RadioGroup:
58
+ component = transformRadioGroupComponent(bot, payload);
59
+ break;
60
+ case MessageComponentTypes.CheckboxGroup:
61
+ component = transformCheckboxGroupComponent(bot, payload);
62
+ break;
63
+ case MessageComponentTypes.Checkbox:
64
+ component = transformCheckboxComponent(bot, payload);
65
+ break;
46
66
  }
47
67
  return bot.transformers.customizers.component(bot, payload, component);
48
68
  }
@@ -91,6 +111,7 @@ function transformButtonComponent(bot, payload) {
91
111
  if (props.label && payload.label) button.label = payload.label;
92
112
  if (props.customId && payload.custom_id) button.customId = payload.custom_id;
93
113
  if (props.style && payload.style) button.style = payload.style;
114
+ // @ts-expect-error TODO: Deal with partials
94
115
  if (props.emoji && payload.emoji) button.emoji = bot.transformers.emoji(bot, payload.emoji);
95
116
  if (props.url && payload.url) button.url = payload.url;
96
117
  if (props.disabled && payload.disabled) button.disabled = payload.disabled;
@@ -115,7 +136,7 @@ function transformInputTextComponent(bot, payload) {
115
136
  }
116
137
  return input;
117
138
  }
118
- function transformSelectMenuComponent(bot, payload) {
139
+ function transformStringSelectMenuComponent(bot, payload) {
119
140
  const props = bot.transformers.desiredProperties.component;
120
141
  const select = {};
121
142
  if (props.type && payload.type) select.type = payload.type;
@@ -128,11 +149,6 @@ function transformSelectMenuComponent(bot, payload) {
128
149
  if (props.placeholder && payload.placeholder) select.placeholder = payload.placeholder;
129
150
  if (props.minValues && payload.min_values) select.minValues = payload.min_values;
130
151
  if (props.maxValues && payload.max_values) select.maxValues = payload.max_values;
131
- if (props.defaultValues && payload.default_values) select.defaultValues = payload.default_values.map((defaultValue)=>({
132
- id: bot.transformers.snowflake(defaultValue.id),
133
- type: defaultValue.type
134
- }));
135
- if (props.channelTypes && payload.channel_types) select.channelTypes = payload.channel_types;
136
152
  if (props.options && payload.options) select.options = payload.options.map((option)=>({
137
153
  label: option.label,
138
154
  value: option.value,
@@ -148,6 +164,95 @@ function transformSelectMenuComponent(bot, payload) {
148
164
  }
149
165
  return select;
150
166
  }
167
+ function transformUserSelectMenuComponent(bot, payload) {
168
+ const props = bot.transformers.desiredProperties.component;
169
+ const select = {};
170
+ if (props.type && payload.type) select.type = payload.type;
171
+ if (props.id && payload.id) select.id = payload.id;
172
+ if (props.customId && payload.custom_id) select.customId = payload.custom_id;
173
+ // Check if this is the user select response
174
+ if ('values' in payload) {
175
+ if (props.values && payload.values) select.values = payload.values;
176
+ if (props.resolved && payload.resolved) select.resolved = bot.transformers.interactionDataResolved(bot, payload.resolved);
177
+ } else {
178
+ if (props.placeholder && payload.placeholder) select.placeholder = payload.placeholder;
179
+ if (props.minValues && payload.min_values) select.minValues = payload.min_values;
180
+ if (props.maxValues && payload.max_values) select.maxValues = payload.max_values;
181
+ if (props.defaultValues && payload.default_values) select.defaultValues = payload.default_values.map((defaultValue)=>({
182
+ id: bot.transformers.snowflake(defaultValue.id),
183
+ type: defaultValue.type
184
+ }));
185
+ if (props.disabled && payload.disabled) select.disabled = payload.disabled;
186
+ }
187
+ return select;
188
+ }
189
+ function transformRoleSelectMenuComponent(bot, payload) {
190
+ const props = bot.transformers.desiredProperties.component;
191
+ const select = {};
192
+ if (props.type && payload.type) select.type = payload.type;
193
+ if (props.id && payload.id) select.id = payload.id;
194
+ if (props.customId && payload.custom_id) select.customId = payload.custom_id;
195
+ // Check if this is the role select response
196
+ if ('values' in payload) {
197
+ if (props.values && payload.values) select.values = payload.values;
198
+ if (props.resolved && payload.resolved) select.resolved = bot.transformers.interactionDataResolved(bot, payload.resolved);
199
+ } else {
200
+ if (props.placeholder && payload.placeholder) select.placeholder = payload.placeholder;
201
+ if (props.minValues && payload.min_values) select.minValues = payload.min_values;
202
+ if (props.maxValues && payload.max_values) select.maxValues = payload.max_values;
203
+ if (props.defaultValues && payload.default_values) select.defaultValues = payload.default_values.map((defaultValue)=>({
204
+ id: bot.transformers.snowflake(defaultValue.id),
205
+ type: defaultValue.type
206
+ }));
207
+ if (props.disabled && payload.disabled) select.disabled = payload.disabled;
208
+ }
209
+ return select;
210
+ }
211
+ function transformMentionableSelectMenuComponent(bot, payload) {
212
+ const props = bot.transformers.desiredProperties.component;
213
+ const select = {};
214
+ if (props.type && payload.type) select.type = payload.type;
215
+ if (props.id && payload.id) select.id = payload.id;
216
+ if (props.customId && payload.custom_id) select.customId = payload.custom_id;
217
+ // Check if this is the mentionable select response
218
+ if ('values' in payload) {
219
+ if (props.values && payload.values) select.values = payload.values;
220
+ if (props.resolved && payload.resolved) select.resolved = bot.transformers.interactionDataResolved(bot, payload.resolved);
221
+ } else {
222
+ if (props.placeholder && payload.placeholder) select.placeholder = payload.placeholder;
223
+ if (props.minValues && payload.min_values) select.minValues = payload.min_values;
224
+ if (props.maxValues && payload.max_values) select.maxValues = payload.max_values;
225
+ if (props.defaultValues && payload.default_values) select.defaultValues = payload.default_values.map((defaultValue)=>({
226
+ id: bot.transformers.snowflake(defaultValue.id),
227
+ type: defaultValue.type
228
+ }));
229
+ if (props.disabled && payload.disabled) select.disabled = payload.disabled;
230
+ }
231
+ return select;
232
+ }
233
+ function transformChannelSelectMenuComponent(bot, payload) {
234
+ const props = bot.transformers.desiredProperties.component;
235
+ const select = {};
236
+ if (props.type && payload.type) select.type = payload.type;
237
+ if (props.id && payload.id) select.id = payload.id;
238
+ if (props.customId && payload.custom_id) select.customId = payload.custom_id;
239
+ // Check if this is the channel select response
240
+ if ('values' in payload) {
241
+ if (props.values && payload.values) select.values = payload.values;
242
+ if (props.resolved && payload.resolved) select.resolved = bot.transformers.interactionDataResolved(bot, payload.resolved);
243
+ } else {
244
+ if (props.placeholder && payload.placeholder) select.placeholder = payload.placeholder;
245
+ if (props.minValues && payload.min_values) select.minValues = payload.min_values;
246
+ if (props.maxValues && payload.max_values) select.maxValues = payload.max_values;
247
+ if (props.defaultValues && payload.default_values) select.defaultValues = payload.default_values.map((defaultValue)=>({
248
+ id: bot.transformers.snowflake(defaultValue.id),
249
+ type: defaultValue.type
250
+ }));
251
+ if (props.channelTypes && payload.channel_types) select.channelTypes = payload.channel_types;
252
+ if (props.disabled && payload.disabled) select.disabled = payload.disabled;
253
+ }
254
+ return select;
255
+ }
151
256
  function transformSectionComponent(bot, payload) {
152
257
  const props = bot.transformers.desiredProperties.component;
153
258
  const section = {};
@@ -219,5 +324,63 @@ function transformLabelComponent(bot, payload) {
219
324
  if (props.component && payload.component) label.component = bot.transformers.component(bot, payload.component);
220
325
  return label;
221
326
  }
327
+ function transformFileUploadComponent(bot, payload) {
328
+ const props = bot.transformers.desiredProperties.component;
329
+ const fileUpload = {};
330
+ if (props.type && payload.type) fileUpload.type = payload.type;
331
+ if (props.id && payload.id) fileUpload.id = payload.id;
332
+ if (props.customId && payload.custom_id) fileUpload.customId = payload.custom_id;
333
+ // Check that this is a response
334
+ if ('values' in payload) {
335
+ if (props.values && payload.values) fileUpload.values = payload.values;
336
+ } else {
337
+ if (props.minValues && payload.min_values) fileUpload.minValues = payload.min_values;
338
+ if (props.maxValues && payload.max_values) fileUpload.maxValues = payload.max_values;
339
+ if (props.required && payload.required) fileUpload.required = payload.required;
340
+ }
341
+ return fileUpload;
342
+ }
343
+ function transformRadioGroupComponent(bot, payload) {
344
+ const props = bot.transformers.desiredProperties.component;
345
+ const radioGroup = {};
346
+ if (props.type && payload.type) radioGroup.type = payload.type;
347
+ if (props.id && payload.id) radioGroup.id = payload.id;
348
+ if (props.customId && payload.custom_id) radioGroup.customId = payload.custom_id;
349
+ // Check if this is the component (has options) or the interaction response (modal submit, has value)
350
+ if ('options' in payload) {
351
+ if (props.options && payload.options) radioGroup.options = payload.options;
352
+ if (props.required && payload.required !== undefined) radioGroup.required = payload.required;
353
+ } else {
354
+ if (props.value) radioGroup.value = payload.value ?? undefined;
355
+ }
356
+ return radioGroup;
357
+ }
358
+ function transformCheckboxGroupComponent(bot, payload) {
359
+ const props = bot.transformers.desiredProperties.component;
360
+ const checkboxGroup = {};
361
+ if (props.type && payload.type) checkboxGroup.type = payload.type;
362
+ if (props.id && payload.id) checkboxGroup.id = payload.id;
363
+ if (props.customId && payload.custom_id) checkboxGroup.customId = payload.custom_id;
364
+ // Check if this is the component (has options) or the interaction response (modal submit, has values)
365
+ if ('options' in payload) {
366
+ if (props.options && payload.options) checkboxGroup.options = payload.options;
367
+ if (props.minValues && payload.min_values !== undefined) checkboxGroup.minValues = payload.min_values;
368
+ if (props.maxValues && payload.max_values !== undefined) checkboxGroup.maxValues = payload.max_values;
369
+ if (props.required && payload.required !== undefined) checkboxGroup.required = payload.required;
370
+ } else {
371
+ if (props.values && payload.values) checkboxGroup.values = payload.values;
372
+ }
373
+ return checkboxGroup;
374
+ }
375
+ function transformCheckboxComponent(bot, payload) {
376
+ const props = bot.transformers.desiredProperties.component;
377
+ const checkbox = {};
378
+ if (props.type && payload.type) checkbox.type = payload.type;
379
+ if (props.id && payload.id) checkbox.id = payload.id;
380
+ if (props.customId && payload.custom_id) checkbox.customId = payload.custom_id;
381
+ if (props.value && 'value' in payload) checkbox.value = payload.value;
382
+ if (props.default && 'default' in payload) checkbox.default = payload.default;
383
+ return checkbox;
384
+ }
222
385
 
223
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIHR5cGUgRGlzY29yZEFjdGlvblJvdyxcbiAgdHlwZSBEaXNjb3JkQnV0dG9uQ29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRDb250YWluZXJDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZEZpbGVDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZExhYmVsQ29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRMYWJlbEludGVyYWN0aW9uUmVzcG9uc2UsXG4gIHR5cGUgRGlzY29yZE1lZGlhR2FsbGVyeUNvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkTWVkaWFHYWxsZXJ5SXRlbSxcbiAgdHlwZSBEaXNjb3JkTWVzc2FnZUNvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkTWVzc2FnZUNvbXBvbmVudEZyb21Nb2RhbEludGVyYWN0aW9uUmVzcG9uc2UsXG4gIHR5cGUgRGlzY29yZFNlY3Rpb25Db21wb25lbnQsXG4gIHR5cGUgRGlzY29yZFNlbGVjdE1lbnVDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZFNlcGFyYXRvckNvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkU3RyaW5nU2VsZWN0SW50ZXJhY3Rpb25SZXNwb25zZUZyb21Nb2RhbCxcbiAgdHlwZSBEaXNjb3JkVGV4dERpc3BsYXlDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZFRleHREaXNwbGF5SW50ZXJhY3Rpb25SZXNwb25zZSxcbiAgdHlwZSBEaXNjb3JkVGV4dElucHV0Q29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRUZXh0SW5wdXRJbnRlcmFjdGlvblJlc3BvbnNlLFxuICB0eXBlIERpc2NvcmRUaHVtYm5haWxDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZFVuZnVybGVkTWVkaWFJdGVtLFxuICBNZXNzYWdlQ29tcG9uZW50VHlwZXMsXG59IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBCb3QgfSBmcm9tICcuLi9ib3QuanMnXG5pbXBvcnQgdHlwZSB7IENvbXBvbmVudCwgTWVkaWFHYWxsZXJ5SXRlbSwgVW5mdXJsZWRNZWRpYUl0ZW0gfSBmcm9tICcuL3R5cGVzLmpzJ1xuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtQ29tcG9uZW50KGJvdDogQm90LCBwYXlsb2FkOiBEaXNjb3JkTWVzc2FnZUNvbXBvbmVudCB8IERpc2NvcmRNZXNzYWdlQ29tcG9uZW50RnJvbU1vZGFsSW50ZXJhY3Rpb25SZXNwb25zZSk6IENvbXBvbmVudCB7XG4gIGxldCBjb21wb25lbnQ6IENvbXBvbmVudFxuXG4gIC8vIFRoaXMgc3dpdGNoIGlzIGV4aGF1c3RpdmUsIHNvIHdlIGRvbnQgbmVlZCB0aGUgZGVmYXVsdCBjYXNlIGFuZCBUUyBkb2VzIG5vdCBlcnJvciBvdXQgZm9yIHRoZSB1bi1pbml0aWFsaXplZCBjb21wb25lbnQgdmFyaWFibGVcbiAgc3dpdGNoIChwYXlsb2FkLnR5cGUpIHtcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5BY3Rpb25Sb3c6XG4gICAgICBjb21wb25lbnQgPSB0cmFuc2Zvcm1BY3Rpb25Sb3coYm90LCBwYXlsb2FkKVxuICAgICAgYnJlYWtcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5CdXR0b246XG4gICAgICBjb21wb25lbnQgPSB0cmFuc2Zvcm1CdXR0b25Db21wb25lbnQoYm90LCBwYXlsb2FkKVxuICAgICAgYnJlYWtcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5Db250YWluZXI6XG4gICAgICBjb21wb25lbnQgPSB0cmFuc2Zvcm1Db250YWluZXJDb21wb25lbnQoYm90LCBwYXlsb2FkKVxuICAgICAgYnJlYWtcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5UZXh0SW5wdXQ6XG4gICAgICBjb21wb25lbnQgPSB0cmFuc2Zvcm1JbnB1dFRleHRDb21wb25lbnQoYm90LCBwYXlsb2FkKVxuICAgICAgYnJlYWtcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5TdHJpbmdTZWxlY3Q6XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuVXNlclNlbGVjdDpcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5Sb2xlU2VsZWN0OlxuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLk1lbnRpb25hYmxlU2VsZWN0OlxuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLkNoYW5uZWxTZWxlY3Q6XG4gICAgICBjb21wb25lbnQgPSB0cmFuc2Zvcm1TZWxlY3RNZW51Q29tcG9uZW50KGJvdCwgcGF5bG9hZClcbiAgICAgIGJyZWFrXG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuU2VjdGlvbjpcbiAgICAgIGNvbXBvbmVudCA9IHRyYW5zZm9ybVNlY3Rpb25Db21wb25lbnQoYm90LCBwYXlsb2FkKVxuICAgICAgYnJlYWtcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5UaHVtYm5haWw6XG4gICAgICBjb21wb25lbnQgPSB0cmFuc2Zvcm1UaHVtYm5haWxDb21wb25lbnQoYm90LCBwYXlsb2FkKVxuICAgICAgYnJlYWtcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5NZWRpYUdhbGxlcnk6XG4gICAgICBjb21wb25lbnQgPSB0cmFuc2Zvcm1NZWRpYUdhbGxlcnlDb21wb25lbnQoYm90LCBwYXlsb2FkKVxuICAgICAgYnJlYWtcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5GaWxlOlxuICAgICAgY29tcG9uZW50ID0gdHJhbnNmb3JtRmlsZUNvbXBvbmVudChib3QsIHBheWxvYWQpXG4gICAgICBicmVha1xuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLlNlcGFyYXRvcjpcbiAgICAgIGNvbXBvbmVudCA9IHRyYW5zZm9ybVNlcGFyYXRvckNvbXBvbmVudChib3QsIHBheWxvYWQpXG4gICAgICBicmVha1xuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLlRleHREaXNwbGF5OlxuICAgICAgY29tcG9uZW50ID0gdHJhbnNmb3JtVGV4dERpc3BsYXlDb21wb25lbnQoYm90LCBwYXlsb2FkKVxuICAgICAgYnJlYWtcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5MYWJlbDpcbiAgICAgIGNvbXBvbmVudCA9IHRyYW5zZm9ybUxhYmVsQ29tcG9uZW50KGJvdCwgcGF5bG9hZClcbiAgICAgIGJyZWFrXG4gIH1cblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy5jb21wb25lbnQoYm90LCBwYXlsb2FkLCBjb21wb25lbnQpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1VbmZ1cmxlZE1lZGlhSXRlbShib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZFVuZnVybGVkTWVkaWFJdGVtKTogVW5mdXJsZWRNZWRpYUl0ZW0ge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMudW5mdXJsZWRNZWRpYUl0ZW1cbiAgY29uc3QgbWVkaWFJdGVtID0ge30gYXMgVW5mdXJsZWRNZWRpYUl0ZW1cblxuICBpZiAocHJvcHMudXJsICYmIHBheWxvYWQudXJsKSBtZWRpYUl0ZW0udXJsID0gcGF5bG9hZC51cmxcbiAgaWYgKHByb3BzLnByb3h5VXJsICYmIHBheWxvYWQucHJveHlfdXJsKSBtZWRpYUl0ZW0ucHJveHlVcmwgPSBwYXlsb2FkLnByb3h5X3VybFxuICBpZiAocHJvcHMuaGVpZ2h0ICYmIHBheWxvYWQuaGVpZ2h0KSBtZWRpYUl0ZW0uaGVpZ2h0ID0gcGF5bG9hZC5oZWlnaHRcbiAgaWYgKHByb3BzLndpZHRoICYmIHBheWxvYWQud2lkdGgpIG1lZGlhSXRlbS53aWR0aCA9IHBheWxvYWQud2lkdGhcbiAgaWYgKHByb3BzLmNvbnRlbnRUeXBlICYmIHBheWxvYWQuY29udGVudF90eXBlKSBtZWRpYUl0ZW0uY29udGVudFR5cGUgPSBwYXlsb2FkLmNvbnRlbnRfdHlwZVxuICBpZiAocHJvcHMuYXR0YWNobWVudElkICYmIHBheWxvYWQuYXR0YWNobWVudF9pZCkgbWVkaWFJdGVtLmF0dGFjaG1lbnRJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuYXR0YWNobWVudF9pZClcblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy51bmZ1cmxlZE1lZGlhSXRlbShib3QsIHBheWxvYWQsIG1lZGlhSXRlbSlcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybU1lZGlhR2FsbGVyeUl0ZW0oYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRNZWRpYUdhbGxlcnlJdGVtKTogTWVkaWFHYWxsZXJ5SXRlbSB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5tZWRpYUdhbGxlcnlJdGVtXG4gIGNvbnN0IGdhbGxlcnlJdGVtID0ge30gYXMgTWVkaWFHYWxsZXJ5SXRlbVxuXG4gIGlmIChwcm9wcy5tZWRpYSAmJiBwYXlsb2FkLm1lZGlhKSBnYWxsZXJ5SXRlbS5tZWRpYSA9IGJvdC50cmFuc2Zvcm1lcnMudW5mdXJsZWRNZWRpYUl0ZW0oYm90LCBwYXlsb2FkLm1lZGlhKVxuICBpZiAocHJvcHMuZGVzY3JpcHRpb24gJiYgcGF5bG9hZC5kZXNjcmlwdGlvbikgZ2FsbGVyeUl0ZW0uZGVzY3JpcHRpb24gPSBwYXlsb2FkLmRlc2NyaXB0aW9uXG4gIGlmIChwcm9wcy5zcG9pbGVyICYmIHBheWxvYWQuc3BvaWxlcikgZ2FsbGVyeUl0ZW0uc3BvaWxlciA9IHBheWxvYWQuc3BvaWxlclxuXG4gIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmN1c3RvbWl6ZXJzLm1lZGlhR2FsbGVyeUl0ZW0oYm90LCBwYXlsb2FkLCBnYWxsZXJ5SXRlbSlcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtQWN0aW9uUm93KGJvdDogQm90LCBwYXlsb2FkOiBEaXNjb3JkQWN0aW9uUm93KTogQ29tcG9uZW50IHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLmNvbXBvbmVudFxuICBjb25zdCBhY3Rpb25Sb3cgPSB7fSBhcyBDb21wb25lbnRcblxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLnR5cGUpIGFjdGlvblJvdy50eXBlID0gcGF5bG9hZC50eXBlXG4gIGlmIChwcm9wcy5pZCAmJiBwYXlsb2FkLmlkKSBhY3Rpb25Sb3cuaWQgPSBwYXlsb2FkLmlkXG4gIGlmIChwcm9wcy5jb21wb25lbnRzICYmIHBheWxvYWQuY29tcG9uZW50cykgYWN0aW9uUm93LmNvbXBvbmVudHMgPSBwYXlsb2FkLmNvbXBvbmVudHMubWFwKChjb21wb25lbnQpID0+IGJvdC50cmFuc2Zvcm1lcnMuY29tcG9uZW50KGJvdCwgY29tcG9uZW50KSlcblxuICByZXR1cm4gYWN0aW9uUm93XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUNvbnRhaW5lckNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZENvbnRhaW5lckNvbXBvbmVudCk6IENvbXBvbmVudCB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5jb21wb25lbnRcbiAgY29uc3QgY29udGFpbmVyID0ge30gYXMgQ29tcG9uZW50XG5cbiAgaWYgKHByb3BzLnR5cGUgJiYgcGF5bG9hZC50eXBlKSBjb250YWluZXIudHlwZSA9IHBheWxvYWQudHlwZVxuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgY29udGFpbmVyLmlkID0gcGF5bG9hZC5pZFxuICBpZiAocHJvcHMuYWNjZW50Q29sb3IgJiYgcGF5bG9hZC5hY2NlbnRfY29sb3IpIGNvbnRhaW5lci5hY2NlbnRDb2xvciA9IHBheWxvYWQuYWNjZW50X2NvbG9yXG4gIGlmIChwcm9wcy5zcG9pbGVyICYmIHBheWxvYWQuc3BvaWxlcikgY29udGFpbmVyLnNwb2lsZXIgPSBwYXlsb2FkLnNwb2lsZXJcbiAgaWYgKHByb3BzLmNvbXBvbmVudHMgJiYgcGF5bG9hZC5jb21wb25lbnRzKSBjb250YWluZXIuY29tcG9uZW50cyA9IHBheWxvYWQuY29tcG9uZW50cy5tYXAoKGNvbXBvbmVudCkgPT4gYm90LnRyYW5zZm9ybWVycy5jb21wb25lbnQoYm90LCBjb21wb25lbnQpKVxuXG4gIHJldHVybiBjb250YWluZXJcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtQnV0dG9uQ29tcG9uZW50KGJvdDogQm90LCBwYXlsb2FkOiBEaXNjb3JkQnV0dG9uQ29tcG9uZW50KTogQ29tcG9uZW50IHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLmNvbXBvbmVudFxuICBjb25zdCBidXR0b24gPSB7fSBhcyBDb21wb25lbnRcblxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLnR5cGUpIGJ1dHRvbi50eXBlID0gcGF5bG9hZC50eXBlXG4gIGlmIChwcm9wcy5pZCAmJiBwYXlsb2FkLmlkKSBidXR0b24uaWQgPSBwYXlsb2FkLmlkXG4gIGlmIChwcm9wcy5sYWJlbCAmJiBwYXlsb2FkLmxhYmVsKSBidXR0b24ubGFiZWwgPSBwYXlsb2FkLmxhYmVsXG4gIGlmIChwcm9wcy5jdXN0b21JZCAmJiBwYXlsb2FkLmN1c3RvbV9pZCkgYnV0dG9uLmN1c3RvbUlkID0gcGF5bG9hZC5jdXN0b21faWRcbiAgaWYgKHByb3BzLnN0eWxlICYmIHBheWxvYWQuc3R5bGUpIGJ1dHRvbi5zdHlsZSA9IHBheWxvYWQuc3R5bGVcbiAgaWYgKHByb3BzLmVtb2ppICYmIHBheWxvYWQuZW1vamkpIGJ1dHRvbi5lbW9qaSA9IGJvdC50cmFuc2Zvcm1lcnMuZW1vamkoYm90LCBwYXlsb2FkLmVtb2ppKVxuICBpZiAocHJvcHMudXJsICYmIHBheWxvYWQudXJsKSBidXR0b24udXJsID0gcGF5bG9hZC51cmxcbiAgaWYgKHByb3BzLmRpc2FibGVkICYmIHBheWxvYWQuZGlzYWJsZWQpIGJ1dHRvbi5kaXNhYmxlZCA9IHBheWxvYWQuZGlzYWJsZWRcbiAgaWYgKHByb3BzLnNrdUlkICYmIHBheWxvYWQuc2t1X2lkKSBidXR0b24uc2t1SWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLnNrdV9pZClcblxuICByZXR1cm4gYnV0dG9uXG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUlucHV0VGV4dENvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZFRleHRJbnB1dENvbXBvbmVudCB8IERpc2NvcmRUZXh0SW5wdXRJbnRlcmFjdGlvblJlc3BvbnNlKTogQ29tcG9uZW50IHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLmNvbXBvbmVudFxuICBjb25zdCBpbnB1dCA9IHt9IGFzIENvbXBvbmVudFxuXG4gIGlmIChwcm9wcy50eXBlICYmIHBheWxvYWQudHlwZSkgaW5wdXQudHlwZSA9IHBheWxvYWQudHlwZVxuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgaW5wdXQuaWQgPSBwYXlsb2FkLmlkXG4gIGlmIChwcm9wcy52YWx1ZSAmJiBwYXlsb2FkLnZhbHVlKSBpbnB1dC52YWx1ZSA9IHBheWxvYWQudmFsdWVcbiAgaWYgKHByb3BzLmN1c3RvbUlkICYmIHBheWxvYWQuY3VzdG9tX2lkKSBpbnB1dC5jdXN0b21JZCA9IHBheWxvYWQuY3VzdG9tX2lkXG5cbiAgLy8gQ2hlY2sgaWYgaXQgaXMgdGhlIGNvbXBvbmVudCBvciB0aGUgcmVzcG9uc2VcbiAgaWYgKCdzdHlsZScgaW4gcGF5bG9hZCkge1xuICAgIGlmIChwcm9wcy5zdHlsZSAmJiBwYXlsb2FkLnN0eWxlKSBpbnB1dC5zdHlsZSA9IHBheWxvYWQuc3R5bGVcbiAgICBpZiAocHJvcHMucmVxdWlyZWQgJiYgcGF5bG9hZC5yZXF1aXJlZCkgaW5wdXQucmVxdWlyZWQgPSBwYXlsb2FkLnJlcXVpcmVkXG4gICAgaWYgKHByb3BzLmxhYmVsICYmIHBheWxvYWQubGFiZWwpIGlucHV0LmxhYmVsID0gcGF5bG9hZC5sYWJlbFxuICAgIGlmIChwcm9wcy5wbGFjZWhvbGRlciAmJiBwYXlsb2FkLnBsYWNlaG9sZGVyKSBpbnB1dC5wbGFjZWhvbGRlciA9IHBheWxvYWQucGxhY2Vob2xkZXJcbiAgICBpZiAocHJvcHMubWluTGVuZ3RoICYmIHBheWxvYWQubWluX2xlbmd0aCkgaW5wdXQubWluTGVuZ3RoID0gcGF5bG9hZC5taW5fbGVuZ3RoXG4gICAgaWYgKHByb3BzLm1heExlbmd0aCAmJiBwYXlsb2FkLm1heF9sZW5ndGgpIGlucHV0Lm1heExlbmd0aCA9IHBheWxvYWQubWF4X2xlbmd0aFxuICB9XG5cbiAgcmV0dXJuIGlucHV0XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybVNlbGVjdE1lbnVDb21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRTZWxlY3RNZW51Q29tcG9uZW50IHwgRGlzY29yZFN0cmluZ1NlbGVjdEludGVyYWN0aW9uUmVzcG9uc2VGcm9tTW9kYWwpOiBDb21wb25lbnQge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuY29tcG9uZW50XG4gIGNvbnN0IHNlbGVjdCA9IHt9IGFzIENvbXBvbmVudFxuXG4gIGlmIChwcm9wcy50eXBlICYmIHBheWxvYWQudHlwZSkgc2VsZWN0LnR5cGUgPSBwYXlsb2FkLnR5cGVcbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIHNlbGVjdC5pZCA9IHBheWxvYWQuaWRcbiAgaWYgKHByb3BzLmN1c3RvbUlkICYmIHBheWxvYWQuY3VzdG9tX2lkKSBzZWxlY3QuY3VzdG9tSWQgPSBwYXlsb2FkLmN1c3RvbV9pZFxuXG4gIC8vIENoZWNrIGlmIHRoaXMgaXMgdGhlIHN0cmluZyBzZWxlY3QgcmVzcG9uc2VcbiAgaWYgKCd2YWx1ZXMnIGluIHBheWxvYWQpIHtcbiAgICBpZiAocHJvcHMudmFsdWVzICYmIHBheWxvYWQudmFsdWVzKSBzZWxlY3QudmFsdWVzID0gcGF5bG9hZC52YWx1ZXNcbiAgfSBlbHNlIHtcbiAgICBpZiAocHJvcHMucGxhY2Vob2xkZXIgJiYgcGF5bG9hZC5wbGFjZWhvbGRlcikgc2VsZWN0LnBsYWNlaG9sZGVyID0gcGF5bG9hZC5wbGFjZWhvbGRlclxuICAgIGlmIChwcm9wcy5taW5WYWx1ZXMgJiYgcGF5bG9hZC5taW5fdmFsdWVzKSBzZWxlY3QubWluVmFsdWVzID0gcGF5bG9hZC5taW5fdmFsdWVzXG4gICAgaWYgKHByb3BzLm1heFZhbHVlcyAmJiBwYXlsb2FkLm1heF92YWx1ZXMpIHNlbGVjdC5tYXhWYWx1ZXMgPSBwYXlsb2FkLm1heF92YWx1ZXNcbiAgICBpZiAocHJvcHMuZGVmYXVsdFZhbHVlcyAmJiBwYXlsb2FkLmRlZmF1bHRfdmFsdWVzKVxuICAgICAgc2VsZWN0LmRlZmF1bHRWYWx1ZXMgPSBwYXlsb2FkLmRlZmF1bHRfdmFsdWVzLm1hcCgoZGVmYXVsdFZhbHVlKSA9PiAoe1xuICAgICAgICBpZDogYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UoZGVmYXVsdFZhbHVlLmlkKSxcbiAgICAgICAgdHlwZTogZGVmYXVsdFZhbHVlLnR5cGUsXG4gICAgICB9KSlcbiAgICBpZiAocHJvcHMuY2hhbm5lbFR5cGVzICYmIHBheWxvYWQuY2hhbm5lbF90eXBlcykgc2VsZWN0LmNoYW5uZWxUeXBlcyA9IHBheWxvYWQuY2hhbm5lbF90eXBlc1xuICAgIGlmIChwcm9wcy5vcHRpb25zICYmIHBheWxvYWQub3B0aW9ucylcbiAgICAgIHNlbGVjdC5vcHRpb25zID0gcGF5bG9hZC5vcHRpb25zLm1hcCgob3B0aW9uKSA9PiAoe1xuICAgICAgICBsYWJlbDogb3B0aW9uLmxhYmVsLFxuICAgICAgICB2YWx1ZTogb3B0aW9uLnZhbHVlLFxuICAgICAgICBkZXNjcmlwdGlvbjogb3B0aW9uLmRlc2NyaXB0aW9uLFxuICAgICAgICBlbW9qaTogb3B0aW9uLmVtb2ppXG4gICAgICAgICAgPyB7XG4gICAgICAgICAgICAgIGlkOiBvcHRpb24uZW1vamkuaWQgPyBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShvcHRpb24uZW1vamkuaWQpIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICBuYW1lOiBvcHRpb24uZW1vamkubmFtZSA/PyB1bmRlZmluZWQsXG4gICAgICAgICAgICAgIGFuaW1hdGVkOiBvcHRpb24uZW1vamkuYW5pbWF0ZWQsXG4gICAgICAgICAgICB9XG4gICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgIGRlZmF1bHQ6IG9wdGlvbi5kZWZhdWx0LFxuICAgICAgfSkpXG4gICAgaWYgKHByb3BzLmRpc2FibGVkICYmIHBheWxvYWQuZGlzYWJsZWQpIHNlbGVjdC5kaXNhYmxlZCA9IHBheWxvYWQuZGlzYWJsZWRcbiAgfVxuXG4gIHJldHVybiBzZWxlY3Rcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtU2VjdGlvbkNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZFNlY3Rpb25Db21wb25lbnQpOiBDb21wb25lbnQge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuY29tcG9uZW50XG4gIGNvbnN0IHNlY3Rpb24gPSB7fSBhcyBDb21wb25lbnRcblxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLnR5cGUpIHNlY3Rpb24udHlwZSA9IHBheWxvYWQudHlwZVxuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgc2VjdGlvbi5pZCA9IHBheWxvYWQuaWRcbiAgaWYgKHByb3BzLmNvbXBvbmVudHMgJiYgcGF5bG9hZC5jb21wb25lbnRzKSBzZWN0aW9uLmNvbXBvbmVudHMgPSBwYXlsb2FkLmNvbXBvbmVudHMubWFwKChjb21wb25lbnQpID0+IGJvdC50cmFuc2Zvcm1lcnMuY29tcG9uZW50KGJvdCwgY29tcG9uZW50KSlcbiAgaWYgKHByb3BzLmFjY2Vzc29yeSAmJiBwYXlsb2FkLmFjY2Vzc29yeSkgc2VjdGlvbi5hY2Nlc3NvcnkgPSBib3QudHJhbnNmb3JtZXJzLmNvbXBvbmVudChib3QsIHBheWxvYWQuYWNjZXNzb3J5KVxuXG4gIHJldHVybiBzZWN0aW9uXG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybVRodW1ibmFpbENvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZFRodW1ibmFpbENvbXBvbmVudCk6IENvbXBvbmVudCB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5jb21wb25lbnRcbiAgY29uc3QgdGh1bWJuYWlsID0ge30gYXMgQ29tcG9uZW50XG5cbiAgaWYgKHByb3BzLnR5cGUgJiYgcGF5bG9hZC50eXBlKSB0aHVtYm5haWwudHlwZSA9IHBheWxvYWQudHlwZVxuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgdGh1bWJuYWlsLmlkID0gcGF5bG9hZC5pZFxuICBpZiAocHJvcHMubWVkaWEgJiYgcGF5bG9hZC5tZWRpYSkgdGh1bWJuYWlsLm1lZGlhID0gYm90LnRyYW5zZm9ybWVycy51bmZ1cmxlZE1lZGlhSXRlbShib3QsIHBheWxvYWQubWVkaWEpXG4gIGlmIChwcm9wcy5kZXNjcmlwdGlvbiAmJiBwYXlsb2FkLmRlc2NyaXB0aW9uKSB0aHVtYm5haWwuZGVzY3JpcHRpb24gPSBwYXlsb2FkLmRlc2NyaXB0aW9uXG4gIGlmIChwcm9wcy5zcG9pbGVyICYmIHBheWxvYWQuc3BvaWxlcikgdGh1bWJuYWlsLnNwb2lsZXIgPSBwYXlsb2FkLnNwb2lsZXJcblxuICByZXR1cm4gdGh1bWJuYWlsXG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybU1lZGlhR2FsbGVyeUNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZE1lZGlhR2FsbGVyeUNvbXBvbmVudCk6IENvbXBvbmVudCB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5jb21wb25lbnRcbiAgY29uc3QgbWVkaWFHYWxsZXJ5ID0ge30gYXMgQ29tcG9uZW50XG5cbiAgaWYgKHByb3BzLnR5cGUgJiYgcGF5bG9hZC50eXBlKSBtZWRpYUdhbGxlcnkudHlwZSA9IHBheWxvYWQudHlwZVxuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgbWVkaWFHYWxsZXJ5LmlkID0gcGF5bG9hZC5pZFxuICBpZiAocHJvcHMuaXRlbXMgJiYgcGF5bG9hZC5pdGVtcykgbWVkaWFHYWxsZXJ5Lml0ZW1zID0gcGF5bG9hZC5pdGVtcy5tYXAoKGl0ZW0pID0+IGJvdC50cmFuc2Zvcm1lcnMubWVkaWFHYWxsZXJ5SXRlbShib3QsIGl0ZW0pKVxuXG4gIHJldHVybiBtZWRpYUdhbGxlcnlcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtRmlsZUNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZEZpbGVDb21wb25lbnQpOiBDb21wb25lbnQge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuY29tcG9uZW50XG4gIGNvbnN0IGZpbGUgPSB7fSBhcyBDb21wb25lbnRcblxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLnR5cGUpIGZpbGUudHlwZSA9IHBheWxvYWQudHlwZVxuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgZmlsZS5pZCA9IHBheWxvYWQuaWRcbiAgaWYgKHByb3BzLmZpbGUgJiYgcGF5bG9hZC5maWxlKSBmaWxlLmZpbGUgPSBib3QudHJhbnNmb3JtZXJzLnVuZnVybGVkTWVkaWFJdGVtKGJvdCwgcGF5bG9hZC5maWxlKVxuICBpZiAocHJvcHMuc3BvaWxlciAmJiBwYXlsb2FkLnNwb2lsZXIpIGZpbGUuc3BvaWxlciA9IHBheWxvYWQuc3BvaWxlclxuICBpZiAocHJvcHMubmFtZSAmJiBwYXlsb2FkLm5hbWUpIGZpbGUubmFtZSA9IHBheWxvYWQubmFtZVxuICBpZiAocHJvcHMuc2l6ZSAmJiBwYXlsb2FkLnNpemUpIGZpbGUuc2l6ZSA9IHBheWxvYWQuc2l6ZVxuXG4gIHJldHVybiBmaWxlXG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybVRleHREaXNwbGF5Q29tcG9uZW50KGJvdDogQm90LCBwYXlsb2FkOiBEaXNjb3JkVGV4dERpc3BsYXlDb21wb25lbnQgfCBEaXNjb3JkVGV4dERpc3BsYXlJbnRlcmFjdGlvblJlc3BvbnNlKTogQ29tcG9uZW50IHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLmNvbXBvbmVudFxuICBjb25zdCB0ZXh0RGlzcGxheSA9IHt9IGFzIENvbXBvbmVudFxuXG4gIGlmIChwcm9wcy50eXBlICYmIHBheWxvYWQudHlwZSkgdGV4dERpc3BsYXkudHlwZSA9IHBheWxvYWQudHlwZVxuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgdGV4dERpc3BsYXkuaWQgPSBwYXlsb2FkLmlkXG4gIC8vIFRoYXQgdGhhdCB0aGlzIGlzbid0IGEgcmVzcG9uc2VcbiAgaWYgKCdjb250ZW50JyBpbiBwYXlsb2FkKSB7XG4gICAgaWYgKHByb3BzLmNvbnRlbnQgJiYgcGF5bG9hZC5jb250ZW50KSB0ZXh0RGlzcGxheS5jb250ZW50ID0gcGF5bG9hZC5jb250ZW50XG4gIH1cblxuICByZXR1cm4gdGV4dERpc3BsYXlcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtU2VwYXJhdG9yQ29tcG9uZW50KGJvdDogQm90LCBwYXlsb2FkOiBEaXNjb3JkU2VwYXJhdG9yQ29tcG9uZW50KTogQ29tcG9uZW50IHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLmNvbXBvbmVudFxuICBjb25zdCBzZXBhcmF0b3IgPSB7fSBhcyBDb21wb25lbnRcblxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLnR5cGUpIHNlcGFyYXRvci50eXBlID0gcGF5bG9hZC50eXBlXG4gIGlmIChwcm9wcy5pZCAmJiBwYXlsb2FkLmlkKSBzZXBhcmF0b3IuaWQgPSBwYXlsb2FkLmlkXG4gIGlmIChwcm9wcy5kaXZpZGVyICYmIHBheWxvYWQuZGl2aWRlcikgc2VwYXJhdG9yLmRpdmlkZXIgPSBwYXlsb2FkLmRpdmlkZXJcbiAgaWYgKHByb3BzLnNwYWNpbmcgJiYgcGF5bG9hZC5zcGFjaW5nKSBzZXBhcmF0b3Iuc3BhY2luZyA9IHBheWxvYWQuc3BhY2luZ1xuXG4gIHJldHVybiBzZXBhcmF0b3Jcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtTGFiZWxDb21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRMYWJlbENvbXBvbmVudCB8IERpc2NvcmRMYWJlbEludGVyYWN0aW9uUmVzcG9uc2UpOiBDb21wb25lbnQge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuY29tcG9uZW50XG4gIGNvbnN0IGxhYmVsID0ge30gYXMgQ29tcG9uZW50XG5cbiAgaWYgKHByb3BzLnR5cGUgJiYgcGF5bG9hZC50eXBlKSBsYWJlbC50eXBlID0gcGF5bG9hZC50eXBlXG4gIGlmIChwcm9wcy5pZCAmJiBwYXlsb2FkLmlkKSBsYWJlbC5pZCA9IHBheWxvYWQuaWRcbiAgLy8gQ2hlY2sgdGhhdCB0aGlzIGlzbid0IGEgcmVzcG9uc2VcbiAgaWYgKCdsYWJlbCcgaW4gcGF5bG9hZCkge1xuICAgIGlmIChwcm9wcy5sYWJlbCAmJiBwYXlsb2FkLmxhYmVsKSBsYWJlbC5sYWJlbCA9IHBheWxvYWQubGFiZWxcbiAgICBpZiAocHJvcHMuZGVzY3JpcHRpb24gJiYgcGF5bG9hZC5kZXNjcmlwdGlvbikgbGFiZWwuZGVzY3JpcHRpb24gPSBwYXlsb2FkLmRlc2NyaXB0aW9uXG4gIH1cbiAgaWYgKHByb3BzLmNvbXBvbmVudCAmJiBwYXlsb2FkLmNvbXBvbmVudCkgbGFiZWwuY29tcG9uZW50ID0gYm90LnRyYW5zZm9ybWVycy5jb21wb25lbnQoYm90LCBwYXlsb2FkLmNvbXBvbmVudClcblxuICByZXR1cm4gbGFiZWxcbn1cbiJdLCJuYW1lcyI6WyJNZXNzYWdlQ29tcG9uZW50VHlwZXMiLCJ0cmFuc2Zvcm1Db21wb25lbnQiLCJib3QiLCJwYXlsb2FkIiwiY29tcG9uZW50IiwidHlwZSIsIkFjdGlvblJvdyIsInRyYW5zZm9ybUFjdGlvblJvdyIsIkJ1dHRvbiIsInRyYW5zZm9ybUJ1dHRvbkNvbXBvbmVudCIsIkNvbnRhaW5lciIsInRyYW5zZm9ybUNvbnRhaW5lckNvbXBvbmVudCIsIlRleHRJbnB1dCIsInRyYW5zZm9ybUlucHV0VGV4dENvbXBvbmVudCIsIlN0cmluZ1NlbGVjdCIsIlVzZXJTZWxlY3QiLCJSb2xlU2VsZWN0IiwiTWVudGlvbmFibGVTZWxlY3QiLCJDaGFubmVsU2VsZWN0IiwidHJhbnNmb3JtU2VsZWN0TWVudUNvbXBvbmVudCIsIlNlY3Rpb24iLCJ0cmFuc2Zvcm1TZWN0aW9uQ29tcG9uZW50IiwiVGh1bWJuYWlsIiwidHJhbnNmb3JtVGh1bWJuYWlsQ29tcG9uZW50IiwiTWVkaWFHYWxsZXJ5IiwidHJhbnNmb3JtTWVkaWFHYWxsZXJ5Q29tcG9uZW50IiwiRmlsZSIsInRyYW5zZm9ybUZpbGVDb21wb25lbnQiLCJTZXBhcmF0b3IiLCJ0cmFuc2Zvcm1TZXBhcmF0b3JDb21wb25lbnQiLCJUZXh0RGlzcGxheSIsInRyYW5zZm9ybVRleHREaXNwbGF5Q29tcG9uZW50IiwiTGFiZWwiLCJ0cmFuc2Zvcm1MYWJlbENvbXBvbmVudCIsInRyYW5zZm9ybWVycyIsImN1c3RvbWl6ZXJzIiwidHJhbnNmb3JtVW5mdXJsZWRNZWRpYUl0ZW0iLCJwcm9wcyIsImRlc2lyZWRQcm9wZXJ0aWVzIiwidW5mdXJsZWRNZWRpYUl0ZW0iLCJtZWRpYUl0ZW0iLCJ1cmwiLCJwcm94eVVybCIsInByb3h5X3VybCIsImhlaWdodCIsIndpZHRoIiwiY29udGVudFR5cGUiLCJjb250ZW50X3R5cGUiLCJhdHRhY2htZW50SWQiLCJhdHRhY2htZW50X2lkIiwic25vd2ZsYWtlIiwidHJhbnNmb3JtTWVkaWFHYWxsZXJ5SXRlbSIsIm1lZGlhR2FsbGVyeUl0ZW0iLCJnYWxsZXJ5SXRlbSIsIm1lZGlhIiwiZGVzY3JpcHRpb24iLCJzcG9pbGVyIiwiYWN0aW9uUm93IiwiaWQiLCJjb21wb25lbnRzIiwibWFwIiwiY29udGFpbmVyIiwiYWNjZW50Q29sb3IiLCJhY2NlbnRfY29sb3IiLCJidXR0b24iLCJsYWJlbCIsImN1c3RvbUlkIiwiY3VzdG9tX2lkIiwic3R5bGUiLCJlbW9qaSIsImRpc2FibGVkIiwic2t1SWQiLCJza3VfaWQiLCJpbnB1dCIsInZhbHVlIiwicmVxdWlyZWQiLCJwbGFjZWhvbGRlciIsIm1pbkxlbmd0aCIsIm1pbl9sZW5ndGgiLCJtYXhMZW5ndGgiLCJtYXhfbGVuZ3RoIiwic2VsZWN0IiwidmFsdWVzIiwibWluVmFsdWVzIiwibWluX3ZhbHVlcyIsIm1heFZhbHVlcyIsIm1heF92YWx1ZXMiLCJkZWZhdWx0VmFsdWVzIiwiZGVmYXVsdF92YWx1ZXMiLCJkZWZhdWx0VmFsdWUiLCJjaGFubmVsVHlwZXMiLCJjaGFubmVsX3R5cGVzIiwib3B0aW9ucyIsIm9wdGlvbiIsInVuZGVmaW5lZCIsIm5hbWUiLCJhbmltYXRlZCIsImRlZmF1bHQiLCJzZWN0aW9uIiwiYWNjZXNzb3J5IiwidGh1bWJuYWlsIiwibWVkaWFHYWxsZXJ5IiwiaXRlbXMiLCJpdGVtIiwiZmlsZSIsInNpemUiLCJ0ZXh0RGlzcGxheSIsImNvbnRlbnQiLCJzZXBhcmF0b3IiLCJkaXZpZGVyIiwic3BhY2luZyJdLCJtYXBwaW5ncyI6IkFBQUEsU0FxQkVBLHFCQUFxQixRQUNoQixvQkFBbUI7QUFJMUIsT0FBTyxTQUFTQyxtQkFBbUJDLEdBQVEsRUFBRUMsT0FBc0Y7SUFDakksSUFBSUM7SUFFSixrSUFBa0k7SUFDbEksT0FBUUQsUUFBUUUsSUFBSTtRQUNsQixLQUFLTCxzQkFBc0JNLFNBQVM7WUFDbENGLFlBQVlHLG1CQUFtQkwsS0FBS0M7WUFDcEM7UUFDRixLQUFLSCxzQkFBc0JRLE1BQU07WUFDL0JKLFlBQVlLLHlCQUF5QlAsS0FBS0M7WUFDMUM7UUFDRixLQUFLSCxzQkFBc0JVLFNBQVM7WUFDbENO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
386
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIHR5cGUgRGlzY29yZEFjdGlvblJvdyxcbiAgdHlwZSBEaXNjb3JkQnV0dG9uQ29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRDaGFubmVsU2VsZWN0Q29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRDaGFubmVsU2VsZWN0SW50ZXJhY3Rpb25SZXNwb25zZUZyb21Nb2RhbCxcbiAgdHlwZSBEaXNjb3JkQ2hlY2tib3hDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZENoZWNrYm94R3JvdXBDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZENoZWNrYm94R3JvdXBJbnRlcmFjdGlvblJlc3BvbnNlLFxuICB0eXBlIERpc2NvcmRDaGVja2JveEludGVyYWN0aW9uUmVzcG9uc2UsXG4gIHR5cGUgRGlzY29yZENvbnRhaW5lckNvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkRmlsZUNvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkRmlsZVVwbG9hZENvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkRmlsZVVwbG9hZEludGVyYWN0aW9uUmVzcG9uc2UsXG4gIHR5cGUgRGlzY29yZExhYmVsQ29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRMYWJlbEludGVyYWN0aW9uUmVzcG9uc2UsXG4gIHR5cGUgRGlzY29yZE1lZGlhR2FsbGVyeUNvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkTWVkaWFHYWxsZXJ5SXRlbSxcbiAgdHlwZSBEaXNjb3JkTWVudGlvbmFibGVTZWxlY3RDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZE1lbnRpb25hYmxlU2VsZWN0SW50ZXJhY3Rpb25SZXNwb25zZUZyb21Nb2RhbCxcbiAgdHlwZSBEaXNjb3JkTWVzc2FnZUNvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkTWVzc2FnZUNvbXBvbmVudEZyb21Nb2RhbEludGVyYWN0aW9uUmVzcG9uc2UsXG4gIHR5cGUgRGlzY29yZFJhZGlvR3JvdXBDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZFJhZGlvR3JvdXBJbnRlcmFjdGlvblJlc3BvbnNlLFxuICB0eXBlIERpc2NvcmRSb2xlU2VsZWN0Q29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRSb2xlU2VsZWN0SW50ZXJhY3Rpb25SZXNwb25zZUZyb21Nb2RhbCxcbiAgdHlwZSBEaXNjb3JkU2VjdGlvbkNvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkU2VwYXJhdG9yQ29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRTdHJpbmdTZWxlY3RDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZFN0cmluZ1NlbGVjdEludGVyYWN0aW9uUmVzcG9uc2VGcm9tTW9kYWwsXG4gIHR5cGUgRGlzY29yZFRleHREaXNwbGF5Q29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRUZXh0RGlzcGxheUludGVyYWN0aW9uUmVzcG9uc2UsXG4gIHR5cGUgRGlzY29yZFRleHRJbnB1dENvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkVGV4dElucHV0SW50ZXJhY3Rpb25SZXNwb25zZSxcbiAgdHlwZSBEaXNjb3JkVGh1bWJuYWlsQ29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRVbmZ1cmxlZE1lZGlhSXRlbSxcbiAgdHlwZSBEaXNjb3JkVXNlclNlbGVjdENvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkVXNlclNlbGVjdEludGVyYWN0aW9uUmVzcG9uc2VGcm9tTW9kYWwsXG4gIE1lc3NhZ2VDb21wb25lbnRUeXBlcyxcbn0gZnJvbSAnQGRpc2NvcmRlbm8vdHlwZXMnO1xuaW1wb3J0IHR5cGUgeyBCb3QgfSBmcm9tICcuLi9ib3QuanMnO1xuaW1wb3J0IHR5cGUgeyBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yLCBTZXR1cERlc2lyZWRQcm9wcywgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMgfSBmcm9tICcuLi9kZXNpcmVkUHJvcGVydGllcy5qcyc7XG5pbXBvcnQgdHlwZSB7IENvbXBvbmVudCwgTWVkaWFHYWxsZXJ5SXRlbSwgVW5mdXJsZWRNZWRpYUl0ZW0gfSBmcm9tICcuL3R5cGVzLmpzJztcblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybUNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZE1lc3NhZ2VDb21wb25lbnQgfCBEaXNjb3JkTWVzc2FnZUNvbXBvbmVudEZyb21Nb2RhbEludGVyYWN0aW9uUmVzcG9uc2UpOiBDb21wb25lbnQge1xuICBsZXQgY29tcG9uZW50OiBTZXR1cERlc2lyZWRQcm9wczxDb21wb25lbnQsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPjtcblxuICAvLyBUaGlzIHN3aXRjaCBpcyBleGhhdXN0aXZlLCBzbyB3ZSBkb250IG5lZWQgdGhlIGRlZmF1bHQgY2FzZSBhbmQgVFMgZG9lcyBub3QgZXJyb3Igb3V0IGZvciB0aGUgdW4taW5pdGlhbGl6ZWQgY29tcG9uZW50IHZhcmlhYmxlXG4gIHN3aXRjaCAocGF5bG9hZC50eXBlKSB7XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuQWN0aW9uUm93OlxuICAgICAgY29tcG9uZW50ID0gdHJhbnNmb3JtQWN0aW9uUm93KGJvdCwgcGF5bG9hZCk7XG4gICAgICBicmVhaztcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5CdXR0b246XG4gICAgICBjb21wb25lbnQgPSB0cmFuc2Zvcm1CdXR0b25Db21wb25lbnQoYm90LCBwYXlsb2FkKTtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLkNvbnRhaW5lcjpcbiAgICAgIGNvbXBvbmVudCA9IHRyYW5zZm9ybUNvbnRhaW5lckNvbXBvbmVudChib3QsIHBheWxvYWQpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuVGV4dElucHV0OlxuICAgICAgY29tcG9uZW50ID0gdHJhbnNmb3JtSW5wdXRUZXh0Q29tcG9uZW50KGJvdCwgcGF5bG9hZCk7XG4gICAgICBicmVhaztcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5TdHJpbmdTZWxlY3Q6XG4gICAgICBjb21wb25lbnQgPSB0cmFuc2Zvcm1TdHJpbmdTZWxlY3RNZW51Q29tcG9uZW50KGJvdCwgcGF5bG9hZCk7XG4gICAgICBicmVhaztcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5Vc2VyU2VsZWN0OlxuICAgICAgY29tcG9uZW50ID0gdHJhbnNmb3JtVXNlclNlbGVjdE1lbnVDb21wb25lbnQoYm90LCBwYXlsb2FkKTtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLlJvbGVTZWxlY3Q6XG4gICAgICBjb21wb25lbnQgPSB0cmFuc2Zvcm1Sb2xlU2VsZWN0TWVudUNvbXBvbmVudChib3QsIHBheWxvYWQpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuTWVudGlvbmFibGVTZWxlY3Q6XG4gICAgICBjb21wb25lbnQgPSB0cmFuc2Zvcm1NZW50aW9uYWJsZVNlbGVjdE1lbnVDb21wb25lbnQoYm90LCBwYXlsb2FkKTtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLkNoYW5uZWxTZWxlY3Q6XG4gICAgICBjb21wb25lbnQgPSB0cmFuc2Zvcm1DaGFubmVsU2VsZWN0TWVudUNvbXBvbmVudChib3QsIHBheWxvYWQpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuU2VjdGlvbjpcbiAgICAgIGNvbXBvbmVudCA9IHRyYW5zZm9ybVNlY3Rpb25Db21wb25lbnQoYm90LCBwYXlsb2FkKTtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLlRodW1ibmFpbDpcbiAgICAgIGNvbXBvbmVudCA9IHRyYW5zZm9ybVRodW1ibmFpbENvbXBvbmVudChib3QsIHBheWxvYWQpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuTWVkaWFHYWxsZXJ5OlxuICAgICAgY29tcG9uZW50ID0gdHJhbnNmb3JtTWVkaWFHYWxsZXJ5Q29tcG9uZW50KGJvdCwgcGF5bG9hZCk7XG4gICAgICBicmVhaztcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5GaWxlOlxuICAgICAgY29tcG9uZW50ID0gdHJhbnNmb3JtRmlsZUNvbXBvbmVudChib3QsIHBheWxvYWQpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuU2VwYXJhdG9yOlxuICAgICAgY29tcG9uZW50ID0gdHJhbnNmb3JtU2VwYXJhdG9yQ29tcG9uZW50KGJvdCwgcGF5bG9hZCk7XG4gICAgICBicmVhaztcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5UZXh0RGlzcGxheTpcbiAgICAgIGNvbXBvbmVudCA9IHRyYW5zZm9ybVRleHREaXNwbGF5Q29tcG9uZW50KGJvdCwgcGF5bG9hZCk7XG4gICAgICBicmVhaztcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5MYWJlbDpcbiAgICAgIGNvbXBvbmVudCA9IHRyYW5zZm9ybUxhYmVsQ29tcG9uZW50KGJvdCwgcGF5bG9hZCk7XG4gICAgICBicmVhaztcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5GaWxlVXBsb2FkOlxuICAgICAgY29tcG9uZW50ID0gdHJhbnNmb3JtRmlsZVVwbG9hZENvbXBvbmVudChib3QsIHBheWxvYWQpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuUmFkaW9Hcm91cDpcbiAgICAgIGNvbXBvbmVudCA9IHRyYW5zZm9ybVJhZGlvR3JvdXBDb21wb25lbnQoYm90LCBwYXlsb2FkKTtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLkNoZWNrYm94R3JvdXA6XG4gICAgICBjb21wb25lbnQgPSB0cmFuc2Zvcm1DaGVja2JveEdyb3VwQ29tcG9uZW50KGJvdCwgcGF5bG9hZCk7XG4gICAgICBicmVhaztcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5DaGVja2JveDpcbiAgICAgIGNvbXBvbmVudCA9IHRyYW5zZm9ybUNoZWNrYm94Q29tcG9uZW50KGJvdCwgcGF5bG9hZCk7XG4gICAgICBicmVhaztcbiAgfVxuXG4gIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmN1c3RvbWl6ZXJzLmNvbXBvbmVudChib3QsIHBheWxvYWQsIGNvbXBvbmVudCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1VbmZ1cmxlZE1lZGlhSXRlbShib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZFVuZnVybGVkTWVkaWFJdGVtKTogVW5mdXJsZWRNZWRpYUl0ZW0ge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMudW5mdXJsZWRNZWRpYUl0ZW07XG4gIGNvbnN0IG1lZGlhSXRlbSA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPFVuZnVybGVkTWVkaWFJdGVtLCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj47XG5cbiAgaWYgKHByb3BzLnVybCAmJiBwYXlsb2FkLnVybCkgbWVkaWFJdGVtLnVybCA9IHBheWxvYWQudXJsO1xuICBpZiAocHJvcHMucHJveHlVcmwgJiYgcGF5bG9hZC5wcm94eV91cmwpIG1lZGlhSXRlbS5wcm94eVVybCA9IHBheWxvYWQucHJveHlfdXJsO1xuICBpZiAocHJvcHMuaGVpZ2h0ICYmIHBheWxvYWQuaGVpZ2h0KSBtZWRpYUl0ZW0uaGVpZ2h0ID0gcGF5bG9hZC5oZWlnaHQ7XG4gIGlmIChwcm9wcy53aWR0aCAmJiBwYXlsb2FkLndpZHRoKSBtZWRpYUl0ZW0ud2lkdGggPSBwYXlsb2FkLndpZHRoO1xuICBpZiAocHJvcHMuY29udGVudFR5cGUgJiYgcGF5bG9hZC5jb250ZW50X3R5cGUpIG1lZGlhSXRlbS5jb250ZW50VHlwZSA9IHBheWxvYWQuY29udGVudF90eXBlO1xuICBpZiAocHJvcHMuYXR0YWNobWVudElkICYmIHBheWxvYWQuYXR0YWNobWVudF9pZCkgbWVkaWFJdGVtLmF0dGFjaG1lbnRJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuYXR0YWNobWVudF9pZCk7XG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMudW5mdXJsZWRNZWRpYUl0ZW0oYm90LCBwYXlsb2FkLCBtZWRpYUl0ZW0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtTWVkaWFHYWxsZXJ5SXRlbShib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZE1lZGlhR2FsbGVyeUl0ZW0pOiBNZWRpYUdhbGxlcnlJdGVtIHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLm1lZGlhR2FsbGVyeUl0ZW07XG4gIGNvbnN0IGdhbGxlcnlJdGVtID0ge30gYXMgU2V0dXBEZXNpcmVkUHJvcHM8TWVkaWFHYWxsZXJ5SXRlbSwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+O1xuXG4gIGlmIChwcm9wcy5tZWRpYSAmJiBwYXlsb2FkLm1lZGlhKSBnYWxsZXJ5SXRlbS5tZWRpYSA9IGJvdC50cmFuc2Zvcm1lcnMudW5mdXJsZWRNZWRpYUl0ZW0oYm90LCBwYXlsb2FkLm1lZGlhKTtcbiAgaWYgKHByb3BzLmRlc2NyaXB0aW9uICYmIHBheWxvYWQuZGVzY3JpcHRpb24pIGdhbGxlcnlJdGVtLmRlc2NyaXB0aW9uID0gcGF5bG9hZC5kZXNjcmlwdGlvbjtcbiAgaWYgKHByb3BzLnNwb2lsZXIgJiYgcGF5bG9hZC5zcG9pbGVyKSBnYWxsZXJ5SXRlbS5zcG9pbGVyID0gcGF5bG9hZC5zcG9pbGVyO1xuXG4gIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmN1c3RvbWl6ZXJzLm1lZGlhR2FsbGVyeUl0ZW0oYm90LCBwYXlsb2FkLCBnYWxsZXJ5SXRlbSk7XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUFjdGlvblJvdyhib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZEFjdGlvblJvdykge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuY29tcG9uZW50O1xuICBjb25zdCBhY3Rpb25Sb3cgPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxDb21wb25lbnQsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPjtcblxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLnR5cGUpIGFjdGlvblJvdy50eXBlID0gcGF5bG9hZC50eXBlO1xuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgYWN0aW9uUm93LmlkID0gcGF5bG9hZC5pZDtcbiAgaWYgKHByb3BzLmNvbXBvbmVudHMgJiYgcGF5bG9hZC5jb21wb25lbnRzKVxuICAgIGFjdGlvblJvdy5jb21wb25lbnRzID0gcGF5bG9hZC5jb21wb25lbnRzLm1hcCgoY29tcG9uZW50KSA9PiBib3QudHJhbnNmb3JtZXJzLmNvbXBvbmVudChib3QsIGNvbXBvbmVudCkpO1xuXG4gIHJldHVybiBhY3Rpb25Sb3c7XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUNvbnRhaW5lckNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZENvbnRhaW5lckNvbXBvbmVudCkge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuY29tcG9uZW50O1xuICBjb25zdCBjb250YWluZXIgPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxDb21wb25lbnQsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPjtcblxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLnR5cGUpIGNvbnRhaW5lci50eXBlID0gcGF5bG9hZC50eXBlO1xuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgY29udGFpbmVyLmlkID0gcGF5bG9hZC5pZDtcbiAgaWYgKHByb3BzLmFjY2VudENvbG9yICYmIHBheWxvYWQuYWNjZW50X2NvbG9yKSBjb250YWluZXIuYWNjZW50Q29sb3IgPSBwYXlsb2FkLmFjY2VudF9jb2xvcjtcbiAgaWYgKHByb3BzLnNwb2lsZXIgJiYgcGF5bG9hZC5zcG9pbGVyKSBjb250YWluZXIuc3BvaWxlciA9IHBheWxvYWQuc3BvaWxlcjtcbiAgaWYgKHByb3BzLmNvbXBvbmVudHMgJiYgcGF5bG9hZC5jb21wb25lbnRzKVxuICAgIGNvbnRhaW5lci5jb21wb25lbnRzID0gcGF5bG9hZC5jb21wb25lbnRzLm1hcCgoY29tcG9uZW50KSA9PiBib3QudHJhbnNmb3JtZXJzLmNvbXBvbmVudChib3QsIGNvbXBvbmVudCkpO1xuXG4gIHJldHVybiBjb250YWluZXI7XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUJ1dHRvbkNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZEJ1dHRvbkNvbXBvbmVudCkge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuY29tcG9uZW50O1xuICBjb25zdCBidXR0b24gPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxDb21wb25lbnQsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPjtcblxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLnR5cGUpIGJ1dHRvbi50eXBlID0gcGF5bG9hZC50eXBlO1xuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgYnV0dG9uLmlkID0gcGF5bG9hZC5pZDtcbiAgaWYgKHByb3BzLmxhYmVsICYmIHBheWxvYWQubGFiZWwpIGJ1dHRvbi5sYWJlbCA9IHBheWxvYWQubGFiZWw7XG4gIGlmIChwcm9wcy5jdXN0b21JZCAmJiBwYXlsb2FkLmN1c3RvbV9pZCkgYnV0dG9uLmN1c3RvbUlkID0gcGF5bG9hZC5jdXN0b21faWQ7XG4gIGlmIChwcm9wcy5zdHlsZSAmJiBwYXlsb2FkLnN0eWxlKSBidXR0b24uc3R5bGUgPSBwYXlsb2FkLnN0eWxlO1xuICAvLyBAdHMtZXhwZWN0LWVycm9yIFRPRE86IERlYWwgd2l0aCBwYXJ0aWFsc1xuICBpZiAocHJvcHMuZW1vamkgJiYgcGF5bG9hZC5lbW9qaSkgYnV0dG9uLmVtb2ppID0gYm90LnRyYW5zZm9ybWVycy5lbW9qaShib3QsIHBheWxvYWQuZW1vamkpO1xuICBpZiAocHJvcHMudXJsICYmIHBheWxvYWQudXJsKSBidXR0b24udXJsID0gcGF5bG9hZC51cmw7XG4gIGlmIChwcm9wcy5kaXNhYmxlZCAmJiBwYXlsb2FkLmRpc2FibGVkKSBidXR0b24uZGlzYWJsZWQgPSBwYXlsb2FkLmRpc2FibGVkO1xuICBpZiAocHJvcHMuc2t1SWQgJiYgcGF5bG9hZC5za3VfaWQpIGJ1dHRvbi5za3VJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuc2t1X2lkKTtcblxuICByZXR1cm4gYnV0dG9uO1xufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1JbnB1dFRleHRDb21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRUZXh0SW5wdXRDb21wb25lbnQgfCBEaXNjb3JkVGV4dElucHV0SW50ZXJhY3Rpb25SZXNwb25zZSkge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuY29tcG9uZW50O1xuICBjb25zdCBpbnB1dCA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPENvbXBvbmVudCwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+O1xuXG4gIGlmIChwcm9wcy50eXBlICYmIHBheWxvYWQudHlwZSkgaW5wdXQudHlwZSA9IHBheWxvYWQudHlwZTtcbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIGlucHV0LmlkID0gcGF5bG9hZC5pZDtcbiAgaWYgKHByb3BzLnZhbHVlICYmIHBheWxvYWQudmFsdWUpIGlucHV0LnZhbHVlID0gcGF5bG9hZC52YWx1ZTtcbiAgaWYgKHByb3BzLmN1c3RvbUlkICYmIHBheWxvYWQuY3VzdG9tX2lkKSBpbnB1dC5jdXN0b21JZCA9IHBheWxvYWQuY3VzdG9tX2lkO1xuXG4gIC8vIENoZWNrIGlmIGl0IGlzIHRoZSBjb21wb25lbnQgb3IgdGhlIHJlc3BvbnNlXG4gIGlmICgnc3R5bGUnIGluIHBheWxvYWQpIHtcbiAgICBpZiAocHJvcHMuc3R5bGUgJiYgcGF5bG9hZC5zdHlsZSkgaW5wdXQuc3R5bGUgPSBwYXlsb2FkLnN0eWxlO1xuICAgIGlmIChwcm9wcy5yZXF1aXJlZCAmJiBwYXlsb2FkLnJlcXVpcmVkKSBpbnB1dC5yZXF1aXJlZCA9IHBheWxvYWQucmVxdWlyZWQ7XG4gICAgaWYgKHByb3BzLmxhYmVsICYmIHBheWxvYWQubGFiZWwpIGlucHV0LmxhYmVsID0gcGF5bG9hZC5sYWJlbDtcbiAgICBpZiAocHJvcHMucGxhY2Vob2xkZXIgJiYgcGF5bG9hZC5wbGFjZWhvbGRlcikgaW5wdXQucGxhY2Vob2xkZXIgPSBwYXlsb2FkLnBsYWNlaG9sZGVyO1xuICAgIGlmIChwcm9wcy5taW5MZW5ndGggJiYgcGF5bG9hZC5taW5fbGVuZ3RoKSBpbnB1dC5taW5MZW5ndGggPSBwYXlsb2FkLm1pbl9sZW5ndGg7XG4gICAgaWYgKHByb3BzLm1heExlbmd0aCAmJiBwYXlsb2FkLm1heF9sZW5ndGgpIGlucHV0Lm1heExlbmd0aCA9IHBheWxvYWQubWF4X2xlbmd0aDtcbiAgfVxuXG4gIHJldHVybiBpbnB1dDtcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtU3RyaW5nU2VsZWN0TWVudUNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZFN0cmluZ1NlbGVjdENvbXBvbmVudCB8IERpc2NvcmRTdHJpbmdTZWxlY3RJbnRlcmFjdGlvblJlc3BvbnNlRnJvbU1vZGFsKSB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5jb21wb25lbnQ7XG4gIGNvbnN0IHNlbGVjdCA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPENvbXBvbmVudCwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+O1xuXG4gIGlmIChwcm9wcy50eXBlICYmIHBheWxvYWQudHlwZSkgc2VsZWN0LnR5cGUgPSBwYXlsb2FkLnR5cGU7XG4gIGlmIChwcm9wcy5pZCAmJiBwYXlsb2FkLmlkKSBzZWxlY3QuaWQgPSBwYXlsb2FkLmlkO1xuICBpZiAocHJvcHMuY3VzdG9tSWQgJiYgcGF5bG9hZC5jdXN0b21faWQpIHNlbGVjdC5jdXN0b21JZCA9IHBheWxvYWQuY3VzdG9tX2lkO1xuXG4gIC8vIENoZWNrIGlmIHRoaXMgaXMgdGhlIHN0cmluZyBzZWxlY3QgcmVzcG9uc2VcbiAgaWYgKCd2YWx1ZXMnIGluIHBheWxvYWQpIHtcbiAgICBpZiAocHJvcHMudmFsdWVzICYmIHBheWxvYWQudmFsdWVzKSBzZWxlY3QudmFsdWVzID0gcGF5bG9hZC52YWx1ZXM7XG4gIH0gZWxzZSB7XG4gICAgaWYgKHByb3BzLnBsYWNlaG9sZGVyICYmIHBheWxvYWQucGxhY2Vob2xkZXIpIHNlbGVjdC5wbGFjZWhvbGRlciA9IHBheWxvYWQucGxhY2Vob2xkZXI7XG4gICAgaWYgKHByb3BzLm1pblZhbHVlcyAmJiBwYXlsb2FkLm1pbl92YWx1ZXMpIHNlbGVjdC5taW5WYWx1ZXMgPSBwYXlsb2FkLm1pbl92YWx1ZXM7XG4gICAgaWYgKHByb3BzLm1heFZhbHVlcyAmJiBwYXlsb2FkLm1heF92YWx1ZXMpIHNlbGVjdC5tYXhWYWx1ZXMgPSBwYXlsb2FkLm1heF92YWx1ZXM7XG4gICAgaWYgKHByb3BzLm9wdGlvbnMgJiYgcGF5bG9hZC5vcHRpb25zKVxuICAgICAgc2VsZWN0Lm9wdGlvbnMgPSBwYXlsb2FkLm9wdGlvbnMubWFwKChvcHRpb24pID0+ICh7XG4gICAgICAgIGxhYmVsOiBvcHRpb24ubGFiZWwsXG4gICAgICAgIHZhbHVlOiBvcHRpb24udmFsdWUsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBvcHRpb24uZGVzY3JpcHRpb24sXG4gICAgICAgIGVtb2ppOiBvcHRpb24uZW1vamlcbiAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgaWQ6IG9wdGlvbi5lbW9qaS5pZCA/IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKG9wdGlvbi5lbW9qaS5pZCkgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgIG5hbWU6IG9wdGlvbi5lbW9qaS5uYW1lID8/IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgYW5pbWF0ZWQ6IG9wdGlvbi5lbW9qaS5hbmltYXRlZCxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgICAgZGVmYXVsdDogb3B0aW9uLmRlZmF1bHQsXG4gICAgICB9KSk7XG4gICAgaWYgKHByb3BzLmRpc2FibGVkICYmIHBheWxvYWQuZGlzYWJsZWQpIHNlbGVjdC5kaXNhYmxlZCA9IHBheWxvYWQuZGlzYWJsZWQ7XG4gIH1cblxuICByZXR1cm4gc2VsZWN0O1xufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1Vc2VyU2VsZWN0TWVudUNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZFVzZXJTZWxlY3RDb21wb25lbnQgfCBEaXNjb3JkVXNlclNlbGVjdEludGVyYWN0aW9uUmVzcG9uc2VGcm9tTW9kYWwpIHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLmNvbXBvbmVudDtcbiAgY29uc3Qgc2VsZWN0ID0ge30gYXMgU2V0dXBEZXNpcmVkUHJvcHM8Q29tcG9uZW50LCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj47XG5cbiAgaWYgKHByb3BzLnR5cGUgJiYgcGF5bG9hZC50eXBlKSBzZWxlY3QudHlwZSA9IHBheWxvYWQudHlwZTtcbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIHNlbGVjdC5pZCA9IHBheWxvYWQuaWQ7XG4gIGlmIChwcm9wcy5jdXN0b21JZCAmJiBwYXlsb2FkLmN1c3RvbV9pZCkgc2VsZWN0LmN1c3RvbUlkID0gcGF5bG9hZC5jdXN0b21faWQ7XG5cbiAgLy8gQ2hlY2sgaWYgdGhpcyBpcyB0aGUgdXNlciBzZWxlY3QgcmVzcG9uc2VcbiAgaWYgKCd2YWx1ZXMnIGluIHBheWxvYWQpIHtcbiAgICBpZiAocHJvcHMudmFsdWVzICYmIHBheWxvYWQudmFsdWVzKSBzZWxlY3QudmFsdWVzID0gcGF5bG9hZC52YWx1ZXM7XG4gICAgaWYgKHByb3BzLnJlc29sdmVkICYmIHBheWxvYWQucmVzb2x2ZWQpIHNlbGVjdC5yZXNvbHZlZCA9IGJvdC50cmFuc2Zvcm1lcnMuaW50ZXJhY3Rpb25EYXRhUmVzb2x2ZWQoYm90LCBwYXlsb2FkLnJlc29sdmVkKTtcbiAgfSBlbHNlIHtcbiAgICBpZiAocHJvcHMucGxhY2Vob2xkZXIgJiYgcGF5bG9hZC5wbGFjZWhvbGRlcikgc2VsZWN0LnBsYWNlaG9sZGVyID0gcGF5bG9hZC5wbGFjZWhvbGRlcjtcbiAgICBpZiAocHJvcHMubWluVmFsdWVzICYmIHBheWxvYWQubWluX3ZhbHVlcykgc2VsZWN0Lm1pblZhbHVlcyA9IHBheWxvYWQubWluX3ZhbHVlcztcbiAgICBpZiAocHJvcHMubWF4VmFsdWVzICYmIHBheWxvYWQubWF4X3ZhbHVlcykgc2VsZWN0Lm1heFZhbHVlcyA9IHBheWxvYWQubWF4X3ZhbHVlcztcbiAgICBpZiAocHJvcHMuZGVmYXVsdFZhbHVlcyAmJiBwYXlsb2FkLmRlZmF1bHRfdmFsdWVzKVxuICAgICAgc2VsZWN0LmRlZmF1bHRWYWx1ZXMgPSBwYXlsb2FkLmRlZmF1bHRfdmFsdWVzLm1hcCgoZGVmYXVsdFZhbHVlKSA9PiAoe1xuICAgICAgICBpZDogYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UoZGVmYXVsdFZhbHVlLmlkKSxcbiAgICAgICAgdHlwZTogZGVmYXVsdFZhbHVlLnR5cGUsXG4gICAgICB9KSk7XG4gICAgaWYgKHByb3BzLmRpc2FibGVkICYmIHBheWxvYWQuZGlzYWJsZWQpIHNlbGVjdC5kaXNhYmxlZCA9IHBheWxvYWQuZGlzYWJsZWQ7XG4gIH1cblxuICByZXR1cm4gc2VsZWN0O1xufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1Sb2xlU2VsZWN0TWVudUNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZFJvbGVTZWxlY3RDb21wb25lbnQgfCBEaXNjb3JkUm9sZVNlbGVjdEludGVyYWN0aW9uUmVzcG9uc2VGcm9tTW9kYWwpIHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLmNvbXBvbmVudDtcbiAgY29uc3Qgc2VsZWN0ID0ge30gYXMgU2V0dXBEZXNpcmVkUHJvcHM8Q29tcG9uZW50LCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj47XG5cbiAgaWYgKHByb3BzLnR5cGUgJiYgcGF5bG9hZC50eXBlKSBzZWxlY3QudHlwZSA9IHBheWxvYWQudHlwZTtcbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIHNlbGVjdC5pZCA9IHBheWxvYWQuaWQ7XG4gIGlmIChwcm9wcy5jdXN0b21JZCAmJiBwYXlsb2FkLmN1c3RvbV9pZCkgc2VsZWN0LmN1c3RvbUlkID0gcGF5bG9hZC5jdXN0b21faWQ7XG5cbiAgLy8gQ2hlY2sgaWYgdGhpcyBpcyB0aGUgcm9sZSBzZWxlY3QgcmVzcG9uc2VcbiAgaWYgKCd2YWx1ZXMnIGluIHBheWxvYWQpIHtcbiAgICBpZiAocHJvcHMudmFsdWVzICYmIHBheWxvYWQudmFsdWVzKSBzZWxlY3QudmFsdWVzID0gcGF5bG9hZC52YWx1ZXM7XG4gICAgaWYgKHByb3BzLnJlc29sdmVkICYmIHBheWxvYWQucmVzb2x2ZWQpIHNlbGVjdC5yZXNvbHZlZCA9IGJvdC50cmFuc2Zvcm1lcnMuaW50ZXJhY3Rpb25EYXRhUmVzb2x2ZWQoYm90LCBwYXlsb2FkLnJlc29sdmVkKTtcbiAgfSBlbHNlIHtcbiAgICBpZiAocHJvcHMucGxhY2Vob2xkZXIgJiYgcGF5bG9hZC5wbGFjZWhvbGRlcikgc2VsZWN0LnBsYWNlaG9sZGVyID0gcGF5bG9hZC5wbGFjZWhvbGRlcjtcbiAgICBpZiAocHJvcHMubWluVmFsdWVzICYmIHBheWxvYWQubWluX3ZhbHVlcykgc2VsZWN0Lm1pblZhbHVlcyA9IHBheWxvYWQubWluX3ZhbHVlcztcbiAgICBpZiAocHJvcHMubWF4VmFsdWVzICYmIHBheWxvYWQubWF4X3ZhbHVlcykgc2VsZWN0Lm1heFZhbHVlcyA9IHBheWxvYWQubWF4X3ZhbHVlcztcbiAgICBpZiAocHJvcHMuZGVmYXVsdFZhbHVlcyAmJiBwYXlsb2FkLmRlZmF1bHRfdmFsdWVzKVxuICAgICAgc2VsZWN0LmRlZmF1bHRWYWx1ZXMgPSBwYXlsb2FkLmRlZmF1bHRfdmFsdWVzLm1hcCgoZGVmYXVsdFZhbHVlKSA9PiAoe1xuICAgICAgICBpZDogYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UoZGVmYXVsdFZhbHVlLmlkKSxcbiAgICAgICAgdHlwZTogZGVmYXVsdFZhbHVlLnR5cGUsXG4gICAgICB9KSk7XG4gICAgaWYgKHByb3BzLmRpc2FibGVkICYmIHBheWxvYWQuZGlzYWJsZWQpIHNlbGVjdC5kaXNhYmxlZCA9IHBheWxvYWQuZGlzYWJsZWQ7XG4gIH1cblxuICByZXR1cm4gc2VsZWN0O1xufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1NZW50aW9uYWJsZVNlbGVjdE1lbnVDb21wb25lbnQoXG4gIGJvdDogQm90LFxuICBwYXlsb2FkOiBEaXNjb3JkTWVudGlvbmFibGVTZWxlY3RDb21wb25lbnQgfCBEaXNjb3JkTWVudGlvbmFibGVTZWxlY3RJbnRlcmFjdGlvblJlc3BvbnNlRnJvbU1vZGFsLFxuKSB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5jb21wb25lbnQ7XG4gIGNvbnN0IHNlbGVjdCA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPENvbXBvbmVudCwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+O1xuXG4gIGlmIChwcm9wcy50eXBlICYmIHBheWxvYWQudHlwZSkgc2VsZWN0LnR5cGUgPSBwYXlsb2FkLnR5cGU7XG4gIGlmIChwcm9wcy5pZCAmJiBwYXlsb2FkLmlkKSBzZWxlY3QuaWQgPSBwYXlsb2FkLmlkO1xuICBpZiAocHJvcHMuY3VzdG9tSWQgJiYgcGF5bG9hZC5jdXN0b21faWQpIHNlbGVjdC5jdXN0b21JZCA9IHBheWxvYWQuY3VzdG9tX2lkO1xuXG4gIC8vIENoZWNrIGlmIHRoaXMgaXMgdGhlIG1lbnRpb25hYmxlIHNlbGVjdCByZXNwb25zZVxuICBpZiAoJ3ZhbHVlcycgaW4gcGF5bG9hZCkge1xuICAgIGlmIChwcm9wcy52YWx1ZXMgJiYgcGF5bG9hZC52YWx1ZXMpIHNlbGVjdC52YWx1ZXMgPSBwYXlsb2FkLnZhbHVlcztcbiAgICBpZiAocHJvcHMucmVzb2x2ZWQgJiYgcGF5bG9hZC5yZXNvbHZlZCkgc2VsZWN0LnJlc29sdmVkID0gYm90LnRyYW5zZm9ybWVycy5pbnRlcmFjdGlvbkRhdGFSZXNvbHZlZChib3QsIHBheWxvYWQucmVzb2x2ZWQpO1xuICB9IGVsc2Uge1xuICAgIGlmIChwcm9wcy5wbGFjZWhvbGRlciAmJiBwYXlsb2FkLnBsYWNlaG9sZGVyKSBzZWxlY3QucGxhY2Vob2xkZXIgPSBwYXlsb2FkLnBsYWNlaG9sZGVyO1xuICAgIGlmIChwcm9wcy5taW5WYWx1ZXMgJiYgcGF5bG9hZC5taW5fdmFsdWVzKSBzZWxlY3QubWluVmFsdWVzID0gcGF5bG9hZC5taW5fdmFsdWVzO1xuICAgIGlmIChwcm9wcy5tYXhWYWx1ZXMgJiYgcGF5bG9hZC5tYXhfdmFsdWVzKSBzZWxlY3QubWF4VmFsdWVzID0gcGF5bG9hZC5tYXhfdmFsdWVzO1xuICAgIGlmIChwcm9wcy5kZWZhdWx0VmFsdWVzICYmIHBheWxvYWQuZGVmYXVsdF92YWx1ZXMpXG4gICAgICBzZWxlY3QuZGVmYXVsdFZhbHVlcyA9IHBheWxvYWQuZGVmYXVsdF92YWx1ZXMubWFwKChkZWZhdWx0VmFsdWUpID0+ICh7XG4gICAgICAgIGlkOiBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShkZWZhdWx0VmFsdWUuaWQpLFxuICAgICAgICB0eXBlOiBkZWZhdWx0VmFsdWUudHlwZSxcbiAgICAgIH0pKTtcbiAgICBpZiAocHJvcHMuZGlzYWJsZWQgJiYgcGF5bG9hZC5kaXNhYmxlZCkgc2VsZWN0LmRpc2FibGVkID0gcGF5bG9hZC5kaXNhYmxlZDtcbiAgfVxuXG4gIHJldHVybiBzZWxlY3Q7XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUNoYW5uZWxTZWxlY3RNZW51Q29tcG9uZW50KGJvdDogQm90LCBwYXlsb2FkOiBEaXNjb3JkQ2hhbm5lbFNlbGVjdENvbXBvbmVudCB8IERpc2NvcmRDaGFubmVsU2VsZWN0SW50ZXJhY3Rpb25SZXNwb25zZUZyb21Nb2RhbCkge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuY29tcG9uZW50O1xuICBjb25zdCBzZWxlY3QgPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxDb21wb25lbnQsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPjtcblxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLnR5cGUpIHNlbGVjdC50eXBlID0gcGF5bG9hZC50eXBlO1xuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgc2VsZWN0LmlkID0gcGF5bG9hZC5pZDtcbiAgaWYgKHByb3BzLmN1c3RvbUlkICYmIHBheWxvYWQuY3VzdG9tX2lkKSBzZWxlY3QuY3VzdG9tSWQgPSBwYXlsb2FkLmN1c3RvbV9pZDtcblxuICAvLyBDaGVjayBpZiB0aGlzIGlzIHRoZSBjaGFubmVsIHNlbGVjdCByZXNwb25zZVxuICBpZiAoJ3ZhbHVlcycgaW4gcGF5bG9hZCkge1xuICAgIGlmIChwcm9wcy52YWx1ZXMgJiYgcGF5bG9hZC52YWx1ZXMpIHNlbGVjdC52YWx1ZXMgPSBwYXlsb2FkLnZhbHVlcztcbiAgICBpZiAocHJvcHMucmVzb2x2ZWQgJiYgcGF5bG9hZC5yZXNvbHZlZCkgc2VsZWN0LnJlc29sdmVkID0gYm90LnRyYW5zZm9ybWVycy5pbnRlcmFjdGlvbkRhdGFSZXNvbHZlZChib3QsIHBheWxvYWQucmVzb2x2ZWQpO1xuICB9IGVsc2Uge1xuICAgIGlmIChwcm9wcy5wbGFjZWhvbGRlciAmJiBwYXlsb2FkLnBsYWNlaG9sZGVyKSBzZWxlY3QucGxhY2Vob2xkZXIgPSBwYXlsb2FkLnBsYWNlaG9sZGVyO1xuICAgIGlmIChwcm9wcy5taW5WYWx1ZXMgJiYgcGF5bG9hZC5taW5fdmFsdWVzKSBzZWxlY3QubWluVmFsdWVzID0gcGF5bG9hZC5taW5fdmFsdWVzO1xuICAgIGlmIChwcm9wcy5tYXhWYWx1ZXMgJiYgcGF5bG9hZC5tYXhfdmFsdWVzKSBzZWxlY3QubWF4VmFsdWVzID0gcGF5bG9hZC5tYXhfdmFsdWVzO1xuICAgIGlmIChwcm9wcy5kZWZhdWx0VmFsdWVzICYmIHBheWxvYWQuZGVmYXVsdF92YWx1ZXMpXG4gICAgICBzZWxlY3QuZGVmYXVsdFZhbHVlcyA9IHBheWxvYWQuZGVmYXVsdF92YWx1ZXMubWFwKChkZWZhdWx0VmFsdWUpID0+ICh7XG4gICAgICAgIGlkOiBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShkZWZhdWx0VmFsdWUuaWQpLFxuICAgICAgICB0eXBlOiBkZWZhdWx0VmFsdWUudHlwZSxcbiAgICAgIH0pKTtcbiAgICBpZiAocHJvcHMuY2hhbm5lbFR5cGVzICYmIHBheWxvYWQuY2hhbm5lbF90eXBlcykgc2VsZWN0LmNoYW5uZWxUeXBlcyA9IHBheWxvYWQuY2hhbm5lbF90eXBlcztcbiAgICBpZiAocHJvcHMuZGlzYWJsZWQgJiYgcGF5bG9hZC5kaXNhYmxlZCkgc2VsZWN0LmRpc2FibGVkID0gcGF5bG9hZC5kaXNhYmxlZDtcbiAgfVxuXG4gIHJldHVybiBzZWxlY3Q7XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybVNlY3Rpb25Db21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRTZWN0aW9uQ29tcG9uZW50KSB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5jb21wb25lbnQ7XG4gIGNvbnN0IHNlY3Rpb24gPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxDb21wb25lbnQsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPjtcblxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLnR5cGUpIHNlY3Rpb24udHlwZSA9IHBheWxvYWQudHlwZTtcbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIHNlY3Rpb24uaWQgPSBwYXlsb2FkLmlkO1xuICBpZiAocHJvcHMuY29tcG9uZW50cyAmJiBwYXlsb2FkLmNvbXBvbmVudHMpIHNlY3Rpb24uY29tcG9uZW50cyA9IHBheWxvYWQuY29tcG9uZW50cy5tYXAoKGNvbXBvbmVudCkgPT4gYm90LnRyYW5zZm9ybWVycy5jb21wb25lbnQoYm90LCBjb21wb25lbnQpKTtcbiAgaWYgKHByb3BzLmFjY2Vzc29yeSAmJiBwYXlsb2FkLmFjY2Vzc29yeSkgc2VjdGlvbi5hY2Nlc3NvcnkgPSBib3QudHJhbnNmb3JtZXJzLmNvbXBvbmVudChib3QsIHBheWxvYWQuYWNjZXNzb3J5KTtcblxuICByZXR1cm4gc2VjdGlvbjtcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtVGh1bWJuYWlsQ29tcG9uZW50KGJvdDogQm90LCBwYXlsb2FkOiBEaXNjb3JkVGh1bWJuYWlsQ29tcG9uZW50KSB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5jb21wb25lbnQ7XG4gIGNvbnN0IHRodW1ibmFpbCA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPENvbXBvbmVudCwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+O1xuXG4gIGlmIChwcm9wcy50eXBlICYmIHBheWxvYWQudHlwZSkgdGh1bWJuYWlsLnR5cGUgPSBwYXlsb2FkLnR5cGU7XG4gIGlmIChwcm9wcy5pZCAmJiBwYXlsb2FkLmlkKSB0aHVtYm5haWwuaWQgPSBwYXlsb2FkLmlkO1xuICBpZiAocHJvcHMubWVkaWEgJiYgcGF5bG9hZC5tZWRpYSkgdGh1bWJuYWlsLm1lZGlhID0gYm90LnRyYW5zZm9ybWVycy51bmZ1cmxlZE1lZGlhSXRlbShib3QsIHBheWxvYWQubWVkaWEpO1xuICBpZiAocHJvcHMuZGVzY3JpcHRpb24gJiYgcGF5bG9hZC5kZXNjcmlwdGlvbikgdGh1bWJuYWlsLmRlc2NyaXB0aW9uID0gcGF5bG9hZC5kZXNjcmlwdGlvbjtcbiAgaWYgKHByb3BzLnNwb2lsZXIgJiYgcGF5bG9hZC5zcG9pbGVyKSB0aHVtYm5haWwuc3BvaWxlciA9IHBheWxvYWQuc3BvaWxlcjtcblxuICByZXR1cm4gdGh1bWJuYWlsO1xufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1NZWRpYUdhbGxlcnlDb21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRNZWRpYUdhbGxlcnlDb21wb25lbnQpIHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLmNvbXBvbmVudDtcbiAgY29uc3QgbWVkaWFHYWxsZXJ5ID0ge30gYXMgU2V0dXBEZXNpcmVkUHJvcHM8Q29tcG9uZW50LCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj47XG5cbiAgaWYgKHByb3BzLnR5cGUgJiYgcGF5bG9hZC50eXBlKSBtZWRpYUdhbGxlcnkudHlwZSA9IHBheWxvYWQudHlwZTtcbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIG1lZGlhR2FsbGVyeS5pZCA9IHBheWxvYWQuaWQ7XG4gIGlmIChwcm9wcy5pdGVtcyAmJiBwYXlsb2FkLml0ZW1zKSBtZWRpYUdhbGxlcnkuaXRlbXMgPSBwYXlsb2FkLml0ZW1zLm1hcCgoaXRlbSkgPT4gYm90LnRyYW5zZm9ybWVycy5tZWRpYUdhbGxlcnlJdGVtKGJvdCwgaXRlbSkpO1xuXG4gIHJldHVybiBtZWRpYUdhbGxlcnk7XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUZpbGVDb21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRGaWxlQ29tcG9uZW50KSB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5jb21wb25lbnQ7XG4gIGNvbnN0IGZpbGUgPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxDb21wb25lbnQsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPjtcblxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLnR5cGUpIGZpbGUudHlwZSA9IHBheWxvYWQudHlwZTtcbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIGZpbGUuaWQgPSBwYXlsb2FkLmlkO1xuICBpZiAocHJvcHMuZmlsZSAmJiBwYXlsb2FkLmZpbGUpIGZpbGUuZmlsZSA9IGJvdC50cmFuc2Zvcm1lcnMudW5mdXJsZWRNZWRpYUl0ZW0oYm90LCBwYXlsb2FkLmZpbGUpO1xuICBpZiAocHJvcHMuc3BvaWxlciAmJiBwYXlsb2FkLnNwb2lsZXIpIGZpbGUuc3BvaWxlciA9IHBheWxvYWQuc3BvaWxlcjtcbiAgaWYgKHByb3BzLm5hbWUgJiYgcGF5bG9hZC5uYW1lKSBmaWxlLm5hbWUgPSBwYXlsb2FkLm5hbWU7XG4gIGlmIChwcm9wcy5zaXplICYmIHBheWxvYWQuc2l6ZSkgZmlsZS5zaXplID0gcGF5bG9hZC5zaXplO1xuXG4gIHJldHVybiBmaWxlO1xufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1UZXh0RGlzcGxheUNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZFRleHREaXNwbGF5Q29tcG9uZW50IHwgRGlzY29yZFRleHREaXNwbGF5SW50ZXJhY3Rpb25SZXNwb25zZSkge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuY29tcG9uZW50O1xuICBjb25zdCB0ZXh0RGlzcGxheSA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPENvbXBvbmVudCwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+O1xuXG4gIGlmIChwcm9wcy50eXBlICYmIHBheWxvYWQudHlwZSkgdGV4dERpc3BsYXkudHlwZSA9IHBheWxvYWQudHlwZTtcbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIHRleHREaXNwbGF5LmlkID0gcGF5bG9hZC5pZDtcbiAgLy8gVGhhdCB0aGF0IHRoaXMgaXNuJ3QgYSByZXNwb25zZVxuICBpZiAoJ2NvbnRlbnQnIGluIHBheWxvYWQpIHtcbiAgICBpZiAocHJvcHMuY29udGVudCAmJiBwYXlsb2FkLmNvbnRlbnQpIHRleHREaXNwbGF5LmNvbnRlbnQgPSBwYXlsb2FkLmNvbnRlbnQ7XG4gIH1cblxuICByZXR1cm4gdGV4dERpc3BsYXk7XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybVNlcGFyYXRvckNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZFNlcGFyYXRvckNvbXBvbmVudCkge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuY29tcG9uZW50O1xuICBjb25zdCBzZXBhcmF0b3IgPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxDb21wb25lbnQsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPjtcblxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLnR5cGUpIHNlcGFyYXRvci50eXBlID0gcGF5bG9hZC50eXBlO1xuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgc2VwYXJhdG9yLmlkID0gcGF5bG9hZC5pZDtcbiAgaWYgKHByb3BzLmRpdmlkZXIgJiYgcGF5bG9hZC5kaXZpZGVyKSBzZXBhcmF0b3IuZGl2aWRlciA9IHBheWxvYWQuZGl2aWRlcjtcbiAgaWYgKHByb3BzLnNwYWNpbmcgJiYgcGF5bG9hZC5zcGFjaW5nKSBzZXBhcmF0b3Iuc3BhY2luZyA9IHBheWxvYWQuc3BhY2luZztcblxuICByZXR1cm4gc2VwYXJhdG9yO1xufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1MYWJlbENvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZExhYmVsQ29tcG9uZW50IHwgRGlzY29yZExhYmVsSW50ZXJhY3Rpb25SZXNwb25zZSkge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuY29tcG9uZW50O1xuICBjb25zdCBsYWJlbCA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPENvbXBvbmVudCwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+O1xuXG4gIGlmIChwcm9wcy50eXBlICYmIHBheWxvYWQudHlwZSkgbGFiZWwudHlwZSA9IHBheWxvYWQudHlwZTtcbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIGxhYmVsLmlkID0gcGF5bG9hZC5pZDtcbiAgLy8gQ2hlY2sgdGhhdCB0aGlzIGlzbid0IGEgcmVzcG9uc2VcbiAgaWYgKCdsYWJlbCcgaW4gcGF5bG9hZCkge1xuICAgIGlmIChwcm9wcy5sYWJlbCAmJiBwYXlsb2FkLmxhYmVsKSBsYWJlbC5sYWJlbCA9IHBheWxvYWQubGFiZWw7XG4gICAgaWYgKHByb3BzLmRlc2NyaXB0aW9uICYmIHBheWxvYWQuZGVzY3JpcHRpb24pIGxhYmVsLmRlc2NyaXB0aW9uID0gcGF5bG9hZC5kZXNjcmlwdGlvbjtcbiAgfVxuICBpZiAocHJvcHMuY29tcG9uZW50ICYmIHBheWxvYWQuY29tcG9uZW50KSBsYWJlbC5jb21wb25lbnQgPSBib3QudHJhbnNmb3JtZXJzLmNvbXBvbmVudChib3QsIHBheWxvYWQuY29tcG9uZW50KTtcblxuICByZXR1cm4gbGFiZWw7XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUZpbGVVcGxvYWRDb21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRGaWxlVXBsb2FkQ29tcG9uZW50IHwgRGlzY29yZEZpbGVVcGxvYWRJbnRlcmFjdGlvblJlc3BvbnNlKSB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5jb21wb25lbnQ7XG4gIGNvbnN0IGZpbGVVcGxvYWQgPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxDb21wb25lbnQsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPjtcblxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLnR5cGUpIGZpbGVVcGxvYWQudHlwZSA9IHBheWxvYWQudHlwZTtcbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIGZpbGVVcGxvYWQuaWQgPSBwYXlsb2FkLmlkO1xuICBpZiAocHJvcHMuY3VzdG9tSWQgJiYgcGF5bG9hZC5jdXN0b21faWQpIGZpbGVVcGxvYWQuY3VzdG9tSWQgPSBwYXlsb2FkLmN1c3RvbV9pZDtcblxuICAvLyBDaGVjayB0aGF0IHRoaXMgaXMgYSByZXNwb25zZVxuICBpZiAoJ3ZhbHVlcycgaW4gcGF5bG9hZCkge1xuICAgIGlmIChwcm9wcy52YWx1ZXMgJiYgcGF5bG9hZC52YWx1ZXMpIGZpbGVVcGxvYWQudmFsdWVzID0gcGF5bG9hZC52YWx1ZXM7XG4gIH0gZWxzZSB7XG4gICAgaWYgKHByb3BzLm1pblZhbHVlcyAmJiBwYXlsb2FkLm1pbl92YWx1ZXMpIGZpbGVVcGxvYWQubWluVmFsdWVzID0gcGF5bG9hZC5taW5fdmFsdWVzO1xuICAgIGlmIChwcm9wcy5tYXhWYWx1ZXMgJiYgcGF5bG9hZC5tYXhfdmFsdWVzKSBmaWxlVXBsb2FkLm1heFZhbHVlcyA9IHBheWxvYWQubWF4X3ZhbHVlcztcbiAgICBpZiAocHJvcHMucmVxdWlyZWQgJiYgcGF5bG9hZC5yZXF1aXJlZCkgZmlsZVVwbG9hZC5yZXF1aXJlZCA9IHBheWxvYWQucmVxdWlyZWQ7XG4gIH1cblxuICByZXR1cm4gZmlsZVVwbG9hZDtcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtUmFkaW9Hcm91cENvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZFJhZGlvR3JvdXBDb21wb25lbnQgfCBEaXNjb3JkUmFkaW9Hcm91cEludGVyYWN0aW9uUmVzcG9uc2UpIHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLmNvbXBvbmVudDtcbiAgY29uc3QgcmFkaW9Hcm91cCA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPENvbXBvbmVudCwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+O1xuXG4gIGlmIChwcm9wcy50eXBlICYmIHBheWxvYWQudHlwZSkgcmFkaW9Hcm91cC50eXBlID0gcGF5bG9hZC50eXBlO1xuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgcmFkaW9Hcm91cC5pZCA9IHBheWxvYWQuaWQ7XG4gIGlmIChwcm9wcy5jdXN0b21JZCAmJiBwYXlsb2FkLmN1c3RvbV9pZCkgcmFkaW9Hcm91cC5jdXN0b21JZCA9IHBheWxvYWQuY3VzdG9tX2lkO1xuXG4gIC8vIENoZWNrIGlmIHRoaXMgaXMgdGhlIGNvbXBvbmVudCAoaGFzIG9wdGlvbnMpIG9yIHRoZSBpbnRlcmFjdGlvbiByZXNwb25zZSAobW9kYWwgc3VibWl0LCBoYXMgdmFsdWUpXG4gIGlmICgnb3B0aW9ucycgaW4gcGF5bG9hZCkge1xuICAgIGlmIChwcm9wcy5vcHRpb25zICYmIHBheWxvYWQub3B0aW9ucykgcmFkaW9Hcm91cC5vcHRpb25zID0gcGF5bG9hZC5vcHRpb25zO1xuICAgIGlmIChwcm9wcy5yZXF1aXJlZCAmJiBwYXlsb2FkLnJlcXVpcmVkICE9PSB1bmRlZmluZWQpIHJhZGlvR3JvdXAucmVxdWlyZWQgPSBwYXlsb2FkLnJlcXVpcmVkO1xuICB9IGVsc2Uge1xuICAgIGlmIChwcm9wcy52YWx1ZSkgcmFkaW9Hcm91cC52YWx1ZSA9IHBheWxvYWQudmFsdWUgPz8gdW5kZWZpbmVkO1xuICB9XG5cbiAgcmV0dXJuIHJhZGlvR3JvdXA7XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUNoZWNrYm94R3JvdXBDb21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRDaGVja2JveEdyb3VwQ29tcG9uZW50IHwgRGlzY29yZENoZWNrYm94R3JvdXBJbnRlcmFjdGlvblJlc3BvbnNlKSB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5jb21wb25lbnQ7XG4gIGNvbnN0IGNoZWNrYm94R3JvdXAgPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxDb21wb25lbnQsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPjtcblxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLnR5cGUpIGNoZWNrYm94R3JvdXAudHlwZSA9IHBheWxvYWQudHlwZTtcbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIGNoZWNrYm94R3JvdXAuaWQgPSBwYXlsb2FkLmlkO1xuICBpZiAocHJvcHMuY3VzdG9tSWQgJiYgcGF5bG9hZC5jdXN0b21faWQpIGNoZWNrYm94R3JvdXAuY3VzdG9tSWQgPSBwYXlsb2FkLmN1c3RvbV9pZDtcblxuICAvLyBDaGVjayBpZiB0aGlzIGlzIHRoZSBjb21wb25lbnQgKGhhcyBvcHRpb25zKSBvciB0aGUgaW50ZXJhY3Rpb24gcmVzcG9uc2UgKG1vZGFsIHN1Ym1pdCwgaGFzIHZhbHVlcylcbiAgaWYgKCdvcHRpb25zJyBpbiBwYXlsb2FkKSB7XG4gICAgaWYgKHByb3BzLm9wdGlvbnMgJiYgcGF5bG9hZC5vcHRpb25zKSBjaGVja2JveEdyb3VwLm9wdGlvbnMgPSBwYXlsb2FkLm9wdGlvbnM7XG4gICAgaWYgKHByb3BzLm1pblZhbHVlcyAmJiBwYXlsb2FkLm1pbl92YWx1ZXMgIT09IHVuZGVmaW5lZCkgY2hlY2tib3hHcm91cC5taW5WYWx1ZXMgPSBwYXlsb2FkLm1pbl92YWx1ZXM7XG4gICAgaWYgKHByb3BzLm1heFZhbHVlcyAmJiBwYXlsb2FkLm1heF92YWx1ZXMgIT09IHVuZGVmaW5lZCkgY2hlY2tib3hHcm91cC5tYXhWYWx1ZXMgPSBwYXlsb2FkLm1heF92YWx1ZXM7XG4gICAgaWYgKHByb3BzLnJlcXVpcmVkICYmIHBheWxvYWQucmVxdWlyZWQgIT09IHVuZGVmaW5lZCkgY2hlY2tib3hHcm91cC5yZXF1aXJlZCA9IHBheWxvYWQucmVxdWlyZWQ7XG4gIH0gZWxzZSB7XG4gICAgaWYgKHByb3BzLnZhbHVlcyAmJiBwYXlsb2FkLnZhbHVlcykgY2hlY2tib3hHcm91cC52YWx1ZXMgPSBwYXlsb2FkLnZhbHVlcztcbiAgfVxuXG4gIHJldHVybiBjaGVja2JveEdyb3VwO1xufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1DaGVja2JveENvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZENoZWNrYm94Q29tcG9uZW50IHwgRGlzY29yZENoZWNrYm94SW50ZXJhY3Rpb25SZXNwb25zZSkge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuY29tcG9uZW50O1xuICBjb25zdCBjaGVja2JveCA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPENvbXBvbmVudCwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+O1xuXG4gIGlmIChwcm9wcy50eXBlICYmIHBheWxvYWQudHlwZSkgY2hlY2tib3gudHlwZSA9IHBheWxvYWQudHlwZTtcbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIGNoZWNrYm94LmlkID0gcGF5bG9hZC5pZDtcbiAgaWYgKHByb3BzLmN1c3RvbUlkICYmIHBheWxvYWQuY3VzdG9tX2lkKSBjaGVja2JveC5jdXN0b21JZCA9IHBheWxvYWQuY3VzdG9tX2lkO1xuXG4gIGlmIChwcm9wcy52YWx1ZSAmJiAndmFsdWUnIGluIHBheWxvYWQpIGNoZWNrYm94LnZhbHVlID0gcGF5bG9hZC52YWx1ZTtcbiAgaWYgKHByb3BzLmRlZmF1bHQgJiYgJ2RlZmF1bHQnIGluIHBheWxvYWQpIGNoZWNrYm94LmRlZmF1bHQgPSBwYXlsb2FkLmRlZmF1bHQ7XG5cbiAgcmV0dXJuIGNoZWNrYm94O1xufVxuIl0sIm5hbWVzIjpbIk1lc3NhZ2VDb21wb25lbnRUeXBlcyIsInRyYW5zZm9ybUNvbXBvbmVudCIsImJvdCIsInBheWxvYWQiLCJjb21wb25lbnQiLCJ0eXBlIiwiQWN0aW9uUm93IiwidHJhbnNmb3JtQWN0aW9uUm93IiwiQnV0dG9uIiwidHJhbnNmb3JtQnV0dG9uQ29tcG9uZW50IiwiQ29udGFpbmVyIiwidHJhbnNmb3JtQ29udGFpbmVyQ29tcG9uZW50IiwiVGV4dElucHV0IiwidHJhbnNmb3JtSW5wdXRUZXh0Q29tcG9uZW50IiwiU3RyaW5nU2VsZWN0IiwidHJhbnNmb3JtU3RyaW5nU2VsZWN0TWVudUNvbXBvbmVudCIsIlVzZXJTZWxlY3QiLCJ0cmFuc2Zvcm1Vc2VyU2VsZWN0TWVudUNvbXBvbmVudCIsIlJvbGVTZWxlY3QiLCJ0cmFuc2Zvcm1Sb2xlU2VsZWN0TWVudUNvbXBvbmVudCIsIk1lbnRpb25hYmxlU2VsZWN0IiwidHJhbnNmb3JtTWVudGlvbmFibGVTZWxlY3RNZW51Q29tcG9uZW50IiwiQ2hhbm5lbFNlbGVjdCIsInRyYW5zZm9ybUNoYW5uZWxTZWxlY3RNZW51Q29tcG9uZW50IiwiU2VjdGlvbiIsInRyYW5zZm9ybVNlY3Rpb25Db21wb25lbnQiLCJUaHVtYm5haWwiLCJ0cmFuc2Zvcm1UaHVtYm5haWxDb21wb25lbnQiLCJNZWRpYUdhbGxlcnkiLCJ0cmFuc2Zvcm1NZWRpYUdhbGxlcnlDb21wb25lbnQiLCJGaWxlIiwidHJhbnNmb3JtRmlsZUNvbXBvbmVudCIsIlNlcGFyYXRvciIsInRyYW5zZm9ybVNlcGFyYXRvckNvbXBvbmVudCIsIlRleHREaXNwbGF5IiwidHJhbnNmb3JtVGV4dERpc3BsYXlDb21wb25lbnQiLCJMYWJlbCIsInRyYW5zZm9ybUxhYmVsQ29tcG9uZW50IiwiRmlsZVVwbG9hZCIsInRyYW5zZm9ybUZpbGVVcGxvYWRDb21wb25lbnQiLCJSYWRpb0dyb3VwIiwidHJhbnNmb3JtUmFkaW9Hcm91cENvbXBvbmVudCIsIkNoZWNrYm94R3JvdXAiLCJ0cmFuc2Zvcm1DaGVja2JveEdyb3VwQ29tcG9uZW50IiwiQ2hlY2tib3giLCJ0cmFuc2Zvcm1DaGVja2JveENvbXBvbmVudCIsInRyYW5zZm9ybWVycyIsImN1c3RvbWl6ZXJzIiwidHJhbnNmb3JtVW5mdXJsZWRNZWRpYUl0ZW0iLCJwcm9wcyIsImRlc2lyZWRQcm9wZXJ0aWVzIiwidW5mdXJsZWRNZWRpYUl0ZW0iLCJtZWRpYUl0ZW0iLCJ1cmwiLCJwcm94eVVybCIsInByb3h5X3VybCIsImhlaWdodCIsIndpZHRoIiwiY29udGVudFR5cGUiLCJjb250ZW50X3R5cGUiLCJhdHRhY2htZW50SWQiLCJhdHRhY2htZW50X2lkIiwic25vd2ZsYWtlIiwidHJhbnNmb3JtTWVkaWFHYWxsZXJ5SXRlbSIsIm1lZGlhR2FsbGVyeUl0ZW0iLCJnYWxsZXJ5SXRlbSIsIm1lZGlhIiwiZGVzY3JpcHRpb24iLCJzcG9pbGVyIiwiYWN0aW9uUm93IiwiaWQiLCJjb21wb25lbnRzIiwibWFwIiwiY29udGFpbmVyIiwiYWNjZW50Q29sb3IiLCJhY2NlbnRfY29sb3IiLCJidXR0b24iLCJsYWJlbCIsImN1c3RvbUlkIiwiY3VzdG9tX2lkIiwic3R5bGUiLCJlbW9qaSIsImRpc2FibGVkIiwic2t1SWQiLCJza3VfaWQiLCJpbnB1dCIsInZhbHVlIiwicmVxdWlyZWQiLCJwbGFjZWhvbGRlciIsIm1pbkxlbmd0aCIsIm1pbl9sZW5ndGgiLCJtYXhMZW5ndGgiLCJtYXhfbGVuZ3RoIiwic2VsZWN0IiwidmFsdWVzIiwibWluVmFsdWVzIiwibWluX3ZhbHVlcyIsIm1heFZhbHVlcyIsIm1heF92YWx1ZXMiLCJvcHRpb25zIiwib3B0aW9uIiwidW5kZWZpbmVkIiwibmFtZSIsImFuaW1hdGVkIiwiZGVmYXVsdCIsInJlc29sdmVkIiwiaW50ZXJhY3Rpb25EYXRhUmVzb2x2ZWQiLCJkZWZhdWx0VmFsdWVzIiwiZGVmYXVsdF92YWx1ZXMiLCJkZWZhdWx0VmFsdWUiLCJjaGFubmVsVHlwZXMiLCJjaGFubmVsX3R5cGVzIiwic2VjdGlvbiIsImFjY2Vzc29yeSIsInRodW1ibmFpbCIsIm1lZGlhR2FsbGVyeSIsIml0ZW1zIiwiaXRlbSIsImZpbGUiLCJzaXplIiwidGV4dERpc3BsYXkiLCJjb250ZW50Iiwic2VwYXJhdG9yIiwiZGl2aWRlciIsInNwYWNpbmciLCJmaWxlVXBsb2FkIiwicmFkaW9Hcm91cCIsImNoZWNrYm94R3JvdXAiLCJjaGVja2JveCJdLCJtYXBwaW5ncyI6IkFBQUEsU0FxQ0VBLHFCQUFxQixRQUNoQixvQkFBb0I7QUFLM0IsT0FBTyxTQUFTQyxtQkFBbUJDLEdBQVEsRUFBRUMsT0FBc0Y7SUFDakksSUFBSUM7SUFFSixrSUFBa0k7SUFDbEksT0FBUUQsUUFBUUUsSUFBSTtRQUNsQixLQUFLTCxzQkFBc0JNLFNBQVM7WUFDbENGLFlBQVlHLG1CQUFtQkwsS0FBS0M7WUFDcEM7UUFDRixLQUFLSCxzQkFBc0JR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
@@ -1 +1 @@
1
- {"version":3,"file":"embed.d.ts","sourceRoot":"","sources":["../../src/transformers/embed.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AACpC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAEvC,wBAAgB,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,YAAY,GAAG,KAAK,CAoDrE"}
1
+ {"version":3,"file":"embed.d.ts","sourceRoot":"","sources":["../../src/transformers/embed.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC,wBAAgB,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,YAAY,GAAG,KAAK,CAoDrE"}
@@ -41,4 +41,4 @@ export function transformEmbed(bot, payload) {
41
41
  return bot.transformers.customizers.embed(bot, payload, embed);
42
42
  }
43
43
 
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvZW1iZWQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBEaXNjb3JkRW1iZWQgfSBmcm9tICdAZGlzY29yZGVuby90eXBlcydcbmltcG9ydCB0eXBlIHsgQm90IH0gZnJvbSAnLi4vYm90LmpzJ1xuaW1wb3J0IHR5cGUgeyBFbWJlZCB9IGZyb20gJy4vdHlwZXMuanMnXG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1FbWJlZChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZEVtYmVkKTogRW1iZWQge1xuICBjb25zdCBlbWJlZCA9IHtcbiAgICB0aXRsZTogcGF5bG9hZC50aXRsZSxcbiAgICB0eXBlOiBwYXlsb2FkLnR5cGUsXG4gICAgZGVzY3JpcHRpb246IHBheWxvYWQuZGVzY3JpcHRpb24sXG4gICAgdXJsOiBwYXlsb2FkLnVybCxcbiAgICB0aW1lc3RhbXA6IHBheWxvYWQudGltZXN0YW1wID8gRGF0ZS5wYXJzZShwYXlsb2FkLnRpbWVzdGFtcCkgOiB1bmRlZmluZWQsXG4gICAgY29sb3I6IHBheWxvYWQuY29sb3IsXG4gICAgZm9vdGVyOiBwYXlsb2FkLmZvb3RlclxuICAgICAgPyB7XG4gICAgICAgICAgdGV4dDogcGF5bG9hZC5mb290ZXIudGV4dCxcbiAgICAgICAgICBpY29uVXJsOiBwYXlsb2FkLmZvb3Rlci5pY29uX3VybCxcbiAgICAgICAgICBwcm94eUljb25Vcmw6IHBheWxvYWQuZm9vdGVyLnByb3h5X2ljb25fdXJsLFxuICAgICAgICB9XG4gICAgICA6IHVuZGVmaW5lZCxcbiAgICBpbWFnZTogcGF5bG9hZC5pbWFnZVxuICAgICAgPyB7XG4gICAgICAgICAgdXJsOiBwYXlsb2FkLmltYWdlLnVybCxcbiAgICAgICAgICBwcm94eVVybDogcGF5bG9hZC5pbWFnZS5wcm94eV91cmwsXG4gICAgICAgICAgaGVpZ2h0OiBwYXlsb2FkLmltYWdlLmhlaWdodCxcbiAgICAgICAgICB3aWR0aDogcGF5bG9hZC5pbWFnZS53aWR0aCxcbiAgICAgICAgfVxuICAgICAgOiB1bmRlZmluZWQsXG4gICAgdGh1bWJuYWlsOiBwYXlsb2FkLnRodW1ibmFpbFxuICAgICAgPyB7XG4gICAgICAgICAgdXJsOiBwYXlsb2FkLnRodW1ibmFpbC51cmwsXG4gICAgICAgICAgcHJveHlVcmw6IHBheWxvYWQudGh1bWJuYWlsLnByb3h5X3VybCxcbiAgICAgICAgICBoZWlnaHQ6IHBheWxvYWQudGh1bWJuYWlsLmhlaWdodCxcbiAgICAgICAgICB3aWR0aDogcGF5bG9hZC50aHVtYm5haWwud2lkdGgsXG4gICAgICAgIH1cbiAgICAgIDogdW5kZWZpbmVkLFxuICAgIHZpZGVvOiBwYXlsb2FkLnZpZGVvXG4gICAgICA/IHtcbiAgICAgICAgICB1cmw6IHBheWxvYWQudmlkZW8udXJsLFxuICAgICAgICAgIHByb3h5VXJsOiBwYXlsb2FkLnZpZGVvLnByb3h5X3VybCxcbiAgICAgICAgICBoZWlnaHQ6IHBheWxvYWQudmlkZW8uaGVpZ2h0LFxuICAgICAgICAgIHdpZHRoOiBwYXlsb2FkLnZpZGVvLndpZHRoLFxuICAgICAgICB9XG4gICAgICA6IHVuZGVmaW5lZCxcbiAgICBwcm92aWRlcjogcGF5bG9hZC5wcm92aWRlcixcbiAgICBhdXRob3I6IHBheWxvYWQuYXV0aG9yXG4gICAgICA/IHtcbiAgICAgICAgICBuYW1lOiBwYXlsb2FkLmF1dGhvci5uYW1lLFxuICAgICAgICAgIHVybDogcGF5bG9hZC5hdXRob3IudXJsLFxuICAgICAgICAgIGljb25Vcmw6IHBheWxvYWQuYXV0aG9yLmljb25fdXJsLFxuICAgICAgICAgIHByb3h5SWNvblVybDogcGF5bG9hZC5hdXRob3IucHJveHlfaWNvbl91cmwsXG4gICAgICAgIH1cbiAgICAgIDogdW5kZWZpbmVkLFxuICAgIGZpZWxkczogcGF5bG9hZC5maWVsZHMsXG4gIH0gYXMgRW1iZWRcblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy5lbWJlZChib3QsIHBheWxvYWQsIGVtYmVkKVxufVxuIl0sIm5hbWVzIjpbInRyYW5zZm9ybUVtYmVkIiwiYm90IiwicGF5bG9hZCIsImVtYmVkIiwidGl0bGUiLCJ0eXBlIiwiZGVzY3JpcHRpb24iLCJ1cmwiLCJ0aW1lc3RhbXAiLCJEYXRlIiwicGFyc2UiLCJ1bmRlZmluZWQiLCJjb2xvciIsImZvb3RlciIsInRleHQiLCJpY29uVXJsIiwiaWNvbl91cmwiLCJwcm94eUljb25VcmwiLCJwcm94eV9pY29uX3VybCIsImltYWdlIiwicHJveHlVcmwiLCJwcm94eV91cmwiLCJoZWlnaHQiLCJ3aWR0aCIsInRodW1ibmFpbCIsInZpZGVvIiwicHJvdmlkZXIiLCJhdXRob3IiLCJuYW1lIiwiZmllbGRzIiwidHJhbnNmb3JtZXJzIiwiY3VzdG9taXplcnMiXSwibWFwcGluZ3MiOiJBQUlBLE9BQU8sU0FBU0EsZUFBZUMsR0FBUSxFQUFFQyxPQUFxQjtJQUM1RCxNQUFNQyxRQUFRO1FBQ1pDLE9BQU9GLFFBQVFFLEtBQUs7UUFDcEJDLE1BQU1ILFFBQVFHLElBQUk7UUFDbEJDLGFBQWFKLFFBQVFJLFdBQVc7UUFDaENDLEtBQUtMLFFBQVFLLEdBQUc7UUFDaEJDLFdBQVdOLFFBQVFNLFNBQVMsR0FBR0MsS0FBS0MsS0FBSyxDQUFDUixRQUFRTSxTQUFTLElBQUlHO1FBQy9EQyxPQUFPVixRQUFRVSxLQUFLO1FBQ3BCQyxRQUFRWCxRQUFRVyxNQUFNLEdBQ2xCO1lBQ0VDLE1BQU1aLFFBQVFXLE1BQU0sQ0FBQ0MsSUFBSTtZQUN6QkMsU0FBU2IsUUFBUVcsTUFBTSxDQUFDRyxRQUFRO1lBQ2hDQyxjQUFjZixRQUFRVyxNQUFNLENBQUNLLGNBQWM7UUFDN0MsSUFDQVA7UUFDSlEsT0FBT2pCLFFBQVFpQixLQUFLLEdBQ2hCO1lBQ0VaLEtBQUtMLFFBQVFpQixLQUFLLENBQUNaLEdBQUc7WUFDdEJhLFVBQVVsQixRQUFRaUIsS0FBSyxDQUFDRSxTQUFTO1lBQ2pDQyxRQUFRcEIsUUFBUWlCLEtBQUssQ0FBQ0csTUFBTTtZQUM1QkMsT0FBT3JCLFFBQVFpQixLQUFLLENBQUNJLEtBQUs7UUFDNUIsSUFDQVo7UUFDSmEsV0FBV3RCLFFBQVFzQixTQUFTLEdBQ3hCO1lBQ0VqQixLQUFLTCxRQUFRc0IsU0FBUyxDQUFDakIsR0FBRztZQUMxQmEsVUFBVWxCLFFBQVFzQixTQUFTLENBQUNILFNBQVM7WUFDckNDLFFBQVFwQixRQUFRc0IsU0FBUyxDQUFDRixNQUFNO1lBQ2hDQyxPQUFPckIsUUFBUXNCLFNBQVMsQ0FBQ0QsS0FBSztRQUNoQyxJQUNBWjtRQUNKYyxPQUFPdkIsUUFBUXVCLEtBQUssR0FDaEI7WUFDRWxCLEtBQUtMLFFBQVF1QixLQUFLLENBQUNsQixHQUFHO1lBQ3RCYSxVQUFVbEIsUUFBUXVCLEtBQUssQ0FBQ0osU0FBUztZQUNqQ0MsUUFBUXBCLFFBQVF1QixLQUFLLENBQUNILE1BQU07WUFDNUJDLE9BQU9yQixRQUFRdUIsS0FBSyxDQUFDRixLQUFLO1FBQzVCLElBQ0FaO1FBQ0plLFVBQVV4QixRQUFRd0IsUUFBUTtRQUMxQkMsUUFBUXpCLFFBQVF5QixNQUFNLEdBQ2xCO1lBQ0VDLE1BQU0xQixRQUFReUIsTUFBTSxDQUFDQyxJQUFJO1lBQ3pCckIsS0FBS0wsUUFBUXlCLE1BQU0sQ0FBQ3BCLEdBQUc7WUFDdkJRLFNBQVNiLFFBQVF5QixNQUFNLENBQUNYLFFBQVE7WUFDaENDLGNBQWNmLFFBQVF5QixNQUFNLENBQUNULGNBQWM7UUFDN0MsSUFDQVA7UUFDSmtCLFFBQVEzQixRQUFRMkIsTUFBTTtJQUN4QjtJQUVBLE9BQU81QixJQUFJNkIsWUFBWSxDQUFDQyxXQUFXLENBQUM1QixLQUFLLENBQUNGLEtBQUtDLFNBQVNDO0FBQzFEIn0=
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvZW1iZWQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBEaXNjb3JkRW1iZWQgfSBmcm9tICdAZGlzY29yZGVuby90eXBlcyc7XG5pbXBvcnQgdHlwZSB7IEJvdCB9IGZyb20gJy4uL2JvdC5qcyc7XG5pbXBvcnQgdHlwZSB7IEVtYmVkIH0gZnJvbSAnLi90eXBlcy5qcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1FbWJlZChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZEVtYmVkKTogRW1iZWQge1xuICBjb25zdCBlbWJlZCA9IHtcbiAgICB0aXRsZTogcGF5bG9hZC50aXRsZSxcbiAgICB0eXBlOiBwYXlsb2FkLnR5cGUsXG4gICAgZGVzY3JpcHRpb246IHBheWxvYWQuZGVzY3JpcHRpb24sXG4gICAgdXJsOiBwYXlsb2FkLnVybCxcbiAgICB0aW1lc3RhbXA6IHBheWxvYWQudGltZXN0YW1wID8gRGF0ZS5wYXJzZShwYXlsb2FkLnRpbWVzdGFtcCkgOiB1bmRlZmluZWQsXG4gICAgY29sb3I6IHBheWxvYWQuY29sb3IsXG4gICAgZm9vdGVyOiBwYXlsb2FkLmZvb3RlclxuICAgICAgPyB7XG4gICAgICAgICAgdGV4dDogcGF5bG9hZC5mb290ZXIudGV4dCxcbiAgICAgICAgICBpY29uVXJsOiBwYXlsb2FkLmZvb3Rlci5pY29uX3VybCxcbiAgICAgICAgICBwcm94eUljb25Vcmw6IHBheWxvYWQuZm9vdGVyLnByb3h5X2ljb25fdXJsLFxuICAgICAgICB9XG4gICAgICA6IHVuZGVmaW5lZCxcbiAgICBpbWFnZTogcGF5bG9hZC5pbWFnZVxuICAgICAgPyB7XG4gICAgICAgICAgdXJsOiBwYXlsb2FkLmltYWdlLnVybCxcbiAgICAgICAgICBwcm94eVVybDogcGF5bG9hZC5pbWFnZS5wcm94eV91cmwsXG4gICAgICAgICAgaGVpZ2h0OiBwYXlsb2FkLmltYWdlLmhlaWdodCxcbiAgICAgICAgICB3aWR0aDogcGF5bG9hZC5pbWFnZS53aWR0aCxcbiAgICAgICAgfVxuICAgICAgOiB1bmRlZmluZWQsXG4gICAgdGh1bWJuYWlsOiBwYXlsb2FkLnRodW1ibmFpbFxuICAgICAgPyB7XG4gICAgICAgICAgdXJsOiBwYXlsb2FkLnRodW1ibmFpbC51cmwsXG4gICAgICAgICAgcHJveHlVcmw6IHBheWxvYWQudGh1bWJuYWlsLnByb3h5X3VybCxcbiAgICAgICAgICBoZWlnaHQ6IHBheWxvYWQudGh1bWJuYWlsLmhlaWdodCxcbiAgICAgICAgICB3aWR0aDogcGF5bG9hZC50aHVtYm5haWwud2lkdGgsXG4gICAgICAgIH1cbiAgICAgIDogdW5kZWZpbmVkLFxuICAgIHZpZGVvOiBwYXlsb2FkLnZpZGVvXG4gICAgICA/IHtcbiAgICAgICAgICB1cmw6IHBheWxvYWQudmlkZW8udXJsLFxuICAgICAgICAgIHByb3h5VXJsOiBwYXlsb2FkLnZpZGVvLnByb3h5X3VybCxcbiAgICAgICAgICBoZWlnaHQ6IHBheWxvYWQudmlkZW8uaGVpZ2h0LFxuICAgICAgICAgIHdpZHRoOiBwYXlsb2FkLnZpZGVvLndpZHRoLFxuICAgICAgICB9XG4gICAgICA6IHVuZGVmaW5lZCxcbiAgICBwcm92aWRlcjogcGF5bG9hZC5wcm92aWRlcixcbiAgICBhdXRob3I6IHBheWxvYWQuYXV0aG9yXG4gICAgICA/IHtcbiAgICAgICAgICBuYW1lOiBwYXlsb2FkLmF1dGhvci5uYW1lLFxuICAgICAgICAgIHVybDogcGF5bG9hZC5hdXRob3IudXJsLFxuICAgICAgICAgIGljb25Vcmw6IHBheWxvYWQuYXV0aG9yLmljb25fdXJsLFxuICAgICAgICAgIHByb3h5SWNvblVybDogcGF5bG9hZC5hdXRob3IucHJveHlfaWNvbl91cmwsXG4gICAgICAgIH1cbiAgICAgIDogdW5kZWZpbmVkLFxuICAgIGZpZWxkczogcGF5bG9hZC5maWVsZHMsXG4gIH0gYXMgRW1iZWQ7XG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMuZW1iZWQoYm90LCBwYXlsb2FkLCBlbWJlZCk7XG59XG4iXSwibmFtZXMiOlsidHJhbnNmb3JtRW1iZWQiLCJib3QiLCJwYXlsb2FkIiwiZW1iZWQiLCJ0aXRsZSIsInR5cGUiLCJkZXNjcmlwdGlvbiIsInVybCIsInRpbWVzdGFtcCIsIkRhdGUiLCJwYXJzZSIsInVuZGVmaW5lZCIsImNvbG9yIiwiZm9vdGVyIiwidGV4dCIsImljb25VcmwiLCJpY29uX3VybCIsInByb3h5SWNvblVybCIsInByb3h5X2ljb25fdXJsIiwiaW1hZ2UiLCJwcm94eVVybCIsInByb3h5X3VybCIsImhlaWdodCIsIndpZHRoIiwidGh1bWJuYWlsIiwidmlkZW8iLCJwcm92aWRlciIsImF1dGhvciIsIm5hbWUiLCJmaWVsZHMiLCJ0cmFuc2Zvcm1lcnMiLCJjdXN0b21pemVycyJdLCJtYXBwaW5ncyI6IkFBSUEsT0FBTyxTQUFTQSxlQUFlQyxHQUFRLEVBQUVDLE9BQXFCO0lBQzVELE1BQU1DLFFBQVE7UUFDWkMsT0FBT0YsUUFBUUUsS0FBSztRQUNwQkMsTUFBTUgsUUFBUUcsSUFBSTtRQUNsQkMsYUFBYUosUUFBUUksV0FBVztRQUNoQ0MsS0FBS0wsUUFBUUssR0FBRztRQUNoQkMsV0FBV04sUUFBUU0sU0FBUyxHQUFHQyxLQUFLQyxLQUFLLENBQUNSLFFBQVFNLFNBQVMsSUFBSUc7UUFDL0RDLE9BQU9WLFFBQVFVLEtBQUs7UUFDcEJDLFFBQVFYLFFBQVFXLE1BQU0sR0FDbEI7WUFDRUMsTUFBTVosUUFBUVcsTUFBTSxDQUFDQyxJQUFJO1lBQ3pCQyxTQUFTYixRQUFRVyxNQUFNLENBQUNHLFFBQVE7WUFDaENDLGNBQWNmLFFBQVFXLE1BQU0sQ0FBQ0ssY0FBYztRQUM3QyxJQUNBUDtRQUNKUSxPQUFPakIsUUFBUWlCLEtBQUssR0FDaEI7WUFDRVosS0FBS0wsUUFBUWlCLEtBQUssQ0FBQ1osR0FBRztZQUN0QmEsVUFBVWxCLFFBQVFpQixLQUFLLENBQUNFLFNBQVM7WUFDakNDLFFBQVFwQixRQUFRaUIsS0FBSyxDQUFDRyxNQUFNO1lBQzVCQyxPQUFPckIsUUFBUWlCLEtBQUssQ0FBQ0ksS0FBSztRQUM1QixJQUNBWjtRQUNKYSxXQUFXdEIsUUFBUXNCLFNBQVMsR0FDeEI7WUFDRWpCLEtBQUtMLFFBQVFzQixTQUFTLENBQUNqQixHQUFHO1lBQzFCYSxVQUFVbEIsUUFBUXNCLFNBQVMsQ0FBQ0gsU0FBUztZQUNyQ0MsUUFBUXBCLFFBQVFzQixTQUFTLENBQUNGLE1BQU07WUFDaENDLE9BQU9yQixRQUFRc0IsU0FBUyxDQUFDRCxLQUFLO1FBQ2hDLElBQ0FaO1FBQ0pjLE9BQU92QixRQUFRdUIsS0FBSyxHQUNoQjtZQUNFbEIsS0FBS0wsUUFBUXVCLEtBQUssQ0FBQ2xCLEdBQUc7WUFDdEJhLFVBQVVsQixRQUFRdUIsS0FBSyxDQUFDSixTQUFTO1lBQ2pDQyxRQUFRcEIsUUFBUXVCLEtBQUssQ0FBQ0gsTUFBTTtZQUM1QkMsT0FBT3JCLFFBQVF1QixLQUFLLENBQUNGLEtBQUs7UUFDNUIsSUFDQVo7UUFDSmUsVUFBVXhCLFFBQVF3QixRQUFRO1FBQzFCQyxRQUFRekIsUUFBUXlCLE1BQU0sR0FDbEI7WUFDRUMsTUFBTTFCLFFBQVF5QixNQUFNLENBQUNDLElBQUk7WUFDekJyQixLQUFLTCxRQUFReUIsTUFBTSxDQUFDcEIsR0FBRztZQUN2QlEsU0FBU2IsUUFBUXlCLE1BQU0sQ0FBQ1gsUUFBUTtZQUNoQ0MsY0FBY2YsUUFBUXlCLE1BQU0sQ0FBQ1QsY0FBYztRQUM3QyxJQUNBUDtRQUNKa0IsUUFBUTNCLFFBQVEyQixNQUFNO0lBQ3hCO0lBRUEsT0FBTzVCLElBQUk2QixZQUFZLENBQUNDLFdBQVcsQ0FBQzVCLEtBQUssQ0FBQ0YsS0FBS0MsU0FBU0M7QUFDMUQifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"emoji.d.ts","sourceRoot":"","sources":["../../src/transformers/emoji.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAClF,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AAGpC,OAAO,KAAK,EAAE,oBAAoB,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAE7D,eAAO,MAAM,SAAS,EAAE,KAgBvB,CAAA;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,YAAY,GAAG,KAAK,CAYrE;AAED,wBAAgB,6BAA6B,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,2BAA2B,GAAG,oBAAoB,CAQlH"}
1
+ {"version":3,"file":"emoji.d.ts","sourceRoot":"","sources":["../../src/transformers/emoji.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACnF,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAGrC,OAAO,KAAK,EAAE,oBAAoB,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAE9D,eAAO,MAAM,SAAS,EAAE,KAgBvB,CAAC;AAEF,wBAAgB,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,YAAY,GAAG,KAAK,CAYrE;AAED,wBAAgB,6BAA6B,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,2BAA2B,GAAG,oBAAoB,CAQlH"}
@@ -33,4 +33,4 @@ export function transformDefaultReactionEmoji(bot, payload) {
33
33
  return bot.transformers.customizers.defaultReactionEmoji(bot, payload, defaultReactionEmoji);
34
34
  }
35
35
 
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvZW1vamkudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBEaXNjb3JkRGVmYXVsdFJlYWN0aW9uRW1vamksIERpc2NvcmRFbW9qaSB9IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBCb3QgfSBmcm9tICcuLi9ib3QuanMnXG5pbXBvcnQgdHlwZSB7IERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3IsIFNldHVwRGVzaXJlZFByb3BzLCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcyB9IGZyb20gJy4uL2Rlc2lyZWRQcm9wZXJ0aWVzLmpzJ1xuaW1wb3J0IHsgRW1vamlUb2dnbGVzIH0gZnJvbSAnLi90b2dnbGVzL2Vtb2ppLmpzJ1xuaW1wb3J0IHR5cGUgeyBEZWZhdWx0UmVhY3Rpb25FbW9qaSwgRW1vamkgfSBmcm9tICcuL3R5cGVzLmpzJ1xuXG5leHBvcnQgY29uc3QgYmFzZUVtb2ppOiBFbW9qaSA9IHtcbiAgLy8gVGhpcyBhbGxvd3MgdHlwZXNjcmlwdCB0byBzdGlsbCBjaGVjayBmb3IgdHlwZSBlcnJvcnMgb24gZnVuY3Rpb25zIGJlbG93XG4gIC4uLih1bmRlZmluZWQgYXMgdW5rbm93biBhcyBFbW9qaSksXG5cbiAgZ2V0IGFuaW1hdGVkKCkge1xuICAgIHJldHVybiB0aGlzLnRvZ2dsZXM/LmFuaW1hdGVkXG4gIH0sXG4gIGdldCByZXF1aXJlQ29sb25zKCkge1xuICAgIHJldHVybiB0aGlzLnRvZ2dsZXM/LnJlcXVpcmVDb2xvbnNcbiAgfSxcbiAgZ2V0IG1hbmFnZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMudG9nZ2xlcz8ubWFuYWdlZFxuICB9LFxuICBnZXQgYXZhaWxhYmxlKCkge1xuICAgIHJldHVybiB0aGlzLnRvZ2dsZXMuYXZhaWxhYmxlXG4gIH0sXG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1FbW9qaShib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZEVtb2ppKTogRW1vamkge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuZW1vamlcbiAgY29uc3QgZW1vamkgPSBPYmplY3QuY3JlYXRlKGJhc2VFbW9qaSkgYXMgU2V0dXBEZXNpcmVkUHJvcHM8RW1vamksIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPlxuXG4gIGlmIChwcm9wcy5pZCAmJiBwYXlsb2FkLmlkKSBlbW9qaS5pZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuaWQpXG4gIGlmIChwcm9wcy5uYW1lICYmIHBheWxvYWQubmFtZSkgZW1vamkubmFtZSA9IHBheWxvYWQubmFtZVxuICBpZiAocHJvcHMucm9sZXMgJiYgcGF5bG9hZC5yb2xlcykgZW1vamkucm9sZXMgPSBwYXlsb2FkLnJvbGVzLm1hcCgoaWQpID0+IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKGlkKSlcbiAgaWYgKHByb3BzLnVzZXIgJiYgcGF5bG9hZC51c2VyKSBlbW9qaS51c2VyID0gYm90LnRyYW5zZm9ybWVycy51c2VyKGJvdCwgcGF5bG9hZC51c2VyKVxuXG4gIGVtb2ppLnRvZ2dsZXMgPSBuZXcgRW1vamlUb2dnbGVzKHBheWxvYWQpXG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMuZW1vamkoYm90LCBwYXlsb2FkLCBlbW9qaSlcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybURlZmF1bHRSZWFjdGlvbkVtb2ppKGJvdDogQm90LCBwYXlsb2FkOiBEaXNjb3JkRGVmYXVsdFJlYWN0aW9uRW1vamkpOiBEZWZhdWx0UmVhY3Rpb25FbW9qaSB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5kZWZhdWx0UmVhY3Rpb25FbW9qaVxuICBjb25zdCBkZWZhdWx0UmVhY3Rpb25FbW9qaSA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPERlZmF1bHRSZWFjdGlvbkVtb2ppLCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj5cblxuICBpZiAocHJvcHMuZW1vamlJZCAmJiBwYXlsb2FkLmVtb2ppX2lkKSBkZWZhdWx0UmVhY3Rpb25FbW9qaS5lbW9qaUlkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5lbW9qaV9pZClcbiAgaWYgKHByb3BzLmVtb2ppTmFtZSAmJiBwYXlsb2FkLmVtb2ppX25hbWUpIGRlZmF1bHRSZWFjdGlvbkVtb2ppLmVtb2ppTmFtZSA9IHBheWxvYWQuZW1vamlfbmFtZVxuXG4gIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmN1c3RvbWl6ZXJzLmRlZmF1bHRSZWFjdGlvbkVtb2ppKGJvdCwgcGF5bG9hZCwgZGVmYXVsdFJlYWN0aW9uRW1vamkpXG59XG4iXSwibmFtZXMiOlsiRW1vamlUb2dnbGVzIiwiYmFzZUVtb2ppIiwidW5kZWZpbmVkIiwiYW5pbWF0ZWQiLCJ0b2dnbGVzIiwicmVxdWlyZUNvbG9ucyIsIm1hbmFnZWQiLCJhdmFpbGFibGUiLCJ0cmFuc2Zvcm1FbW9qaSIsImJvdCIsInBheWxvYWQiLCJwcm9wcyIsInRyYW5zZm9ybWVycyIsImRlc2lyZWRQcm9wZXJ0aWVzIiwiZW1vamkiLCJPYmplY3QiLCJjcmVhdGUiLCJpZCIsInNub3dmbGFrZSIsIm5hbWUiLCJyb2xlcyIsIm1hcCIsInVzZXIiLCJjdXN0b21pemVycyIsInRyYW5zZm9ybURlZmF1bHRSZWFjdGlvbkVtb2ppIiwiZGVmYXVsdFJlYWN0aW9uRW1vamkiLCJlbW9qaUlkIiwiZW1vamlfaWQiLCJlbW9qaU5hbWUiLCJlbW9qaV9uYW1lIl0sIm1hcHBpbmdzIjoiQUFHQSxTQUFTQSxZQUFZLFFBQVEscUJBQW9CO0FBR2pELE9BQU8sTUFBTUMsWUFBbUI7SUFDOUIsMkVBQTJFO0lBQzNFLEdBQUlDLFNBQVM7SUFFYixJQUFJQyxZQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUNDLE9BQU8sRUFBRUQ7SUFDdkI7SUFDQSxJQUFJRSxpQkFBZ0I7UUFDbEIsT0FBTyxJQUFJLENBQUNELE9BQU8sRUFBRUM7SUFDdkI7SUFDQSxJQUFJQyxXQUFVO1FBQ1osT0FBTyxJQUFJLENBQUNGLE9BQU8sRUFBRUU7SUFDdkI7SUFDQSxJQUFJQyxhQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUNILE9BQU8sQ0FBQ0csU0FBUztJQUMvQjtBQUNGLEVBQUM7QUFFRCxPQUFPLFNBQVNDLGVBQWVDLEdBQVEsRUFBRUMsT0FBcUI7SUFDNUQsTUFBTUMsUUFBUUYsSUFBSUcsWUFBWSxDQUFDQyxpQkFBaUIsQ0FBQ0MsS0FBSztJQUN0RCxNQUFNQSxRQUFRQyxPQUFPQyxNQUFNLENBQUNmO0lBRTVCLElBQUlVLE1BQU1NLEVBQUUsSUFBSVAsUUFBUU8sRUFBRSxFQUFFSCxNQUFNRyxFQUFFLEdBQUdSLElBQUlHLFlBQVksQ0FBQ00sU0FBUyxDQUFDUixRQUFRTyxFQUFFO0lBQzVFLElBQUlOLE1BQU1RLElBQUksSUFBSVQsUUFBUVMsSUFBSSxFQUFFTCxNQUFNSyxJQUFJLEdBQUdULFFBQVFTLElBQUk7SUFDekQsSUFBSVIsTUFBTVMsS0FBSyxJQUFJVixRQUFRVSxLQUFLLEVBQUVOLE1BQU1NLEtBQUssR0FBR1YsUUFBUVUsS0FBSyxDQUFDQyxHQUFHLENBQUMsQ0FBQ0osS0FBT1IsSUFBSUcsWUFBWSxDQUFDTSxTQUFTLENBQUNEO0lBQ3JHLElBQUlOLE1BQU1XLElBQUksSUFBSVosUUFBUVksSUFBSSxFQUFFUixNQUFNUSxJQUFJLEdBQUdiLElBQUlHLFlBQVksQ0FBQ1UsSUFBSSxDQUFDYixLQUFLQyxRQUFRWSxJQUFJO0lBRXBGUixNQUFNVixPQUFPLEdBQUcsSUFBSUosYUFBYVU7SUFFakMsT0FBT0QsSUFBSUcsWUFBWSxDQUFDVyxXQUFXLENBQUNULEtBQUssQ0FBQ0wsS0FBS0MsU0FBU0k7QUFDMUQ7QUFFQSxPQUFPLFNBQVNVLDhCQUE4QmYsR0FBUSxFQUFFQyxPQUFvQztJQUMxRixNQUFNQyxRQUFRRixJQUFJRyxZQUFZLENBQUNDLGlCQUFpQixDQUFDWSxvQkFBb0I7SUFDckUsTUFBTUEsdUJBQXVCLENBQUM7SUFFOUIsSUFBSWQsTUFBTWUsT0FBTyxJQUFJaEIsUUFBUWlCLFFBQVEsRUFBRUYscUJBQXFCQyxPQUFPLEdBQUdqQixJQUFJRyxZQUFZLENBQUNNLFNBQVMsQ0FBQ1IsUUFBUWlCLFFBQVE7SUFDakgsSUFBSWhCLE1BQU1pQixTQUFTLElBQUlsQixRQUFRbUIsVUFBVSxFQUFFSixxQkFBcUJHLFNBQVMsR0FBR2xCLFFBQVFtQixVQUFVO0lBRTlGLE9BQU9wQixJQUFJRyxZQUFZLENBQUNXLFdBQVcsQ0FBQ0Usb0JBQW9CLENBQUNoQixLQUFLQyxTQUFTZTtBQUN6RSJ9
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvZW1vamkudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBEaXNjb3JkRGVmYXVsdFJlYWN0aW9uRW1vamksIERpc2NvcmRFbW9qaSB9IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJztcbmltcG9ydCB0eXBlIHsgQm90IH0gZnJvbSAnLi4vYm90LmpzJztcbmltcG9ydCB0eXBlIHsgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvciwgU2V0dXBEZXNpcmVkUHJvcHMsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzIH0gZnJvbSAnLi4vZGVzaXJlZFByb3BlcnRpZXMuanMnO1xuaW1wb3J0IHsgRW1vamlUb2dnbGVzIH0gZnJvbSAnLi90b2dnbGVzL2Vtb2ppLmpzJztcbmltcG9ydCB0eXBlIHsgRGVmYXVsdFJlYWN0aW9uRW1vamksIEVtb2ppIH0gZnJvbSAnLi90eXBlcy5qcyc7XG5cbmV4cG9ydCBjb25zdCBiYXNlRW1vamk6IEVtb2ppID0ge1xuICAvLyBUaGlzIGFsbG93cyB0eXBlc2NyaXB0IHRvIHN0aWxsIGNoZWNrIGZvciB0eXBlIGVycm9ycyBvbiBmdW5jdGlvbnMgYmVsb3dcbiAgLi4uKHVuZGVmaW5lZCBhcyB1bmtub3duIGFzIEVtb2ppKSxcblxuICBnZXQgYW5pbWF0ZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMudG9nZ2xlcz8uYW5pbWF0ZWQ7XG4gIH0sXG4gIGdldCByZXF1aXJlQ29sb25zKCkge1xuICAgIHJldHVybiB0aGlzLnRvZ2dsZXM/LnJlcXVpcmVDb2xvbnM7XG4gIH0sXG4gIGdldCBtYW5hZ2VkKCkge1xuICAgIHJldHVybiB0aGlzLnRvZ2dsZXM/Lm1hbmFnZWQ7XG4gIH0sXG4gIGdldCBhdmFpbGFibGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudG9nZ2xlcy5hdmFpbGFibGU7XG4gIH0sXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtRW1vamkoYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRFbW9qaSk6IEVtb2ppIHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLmVtb2ppO1xuICBjb25zdCBlbW9qaSA9IE9iamVjdC5jcmVhdGUoYmFzZUVtb2ppKSBhcyBTZXR1cERlc2lyZWRQcm9wczxFbW9qaSwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+O1xuXG4gIGlmIChwcm9wcy5pZCAmJiBwYXlsb2FkLmlkKSBlbW9qaS5pZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuaWQpO1xuICBpZiAocHJvcHMubmFtZSAmJiBwYXlsb2FkLm5hbWUpIGVtb2ppLm5hbWUgPSBwYXlsb2FkLm5hbWU7XG4gIGlmIChwcm9wcy5yb2xlcyAmJiBwYXlsb2FkLnJvbGVzKSBlbW9qaS5yb2xlcyA9IHBheWxvYWQucm9sZXMubWFwKChpZCkgPT4gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UoaWQpKTtcbiAgaWYgKHByb3BzLnVzZXIgJiYgcGF5bG9hZC51c2VyKSBlbW9qaS51c2VyID0gYm90LnRyYW5zZm9ybWVycy51c2VyKGJvdCwgcGF5bG9hZC51c2VyKTtcblxuICBlbW9qaS50b2dnbGVzID0gbmV3IEVtb2ppVG9nZ2xlcyhwYXlsb2FkKTtcblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy5lbW9qaShib3QsIHBheWxvYWQsIGVtb2ppKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybURlZmF1bHRSZWFjdGlvbkVtb2ppKGJvdDogQm90LCBwYXlsb2FkOiBEaXNjb3JkRGVmYXVsdFJlYWN0aW9uRW1vamkpOiBEZWZhdWx0UmVhY3Rpb25FbW9qaSB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5kZWZhdWx0UmVhY3Rpb25FbW9qaTtcbiAgY29uc3QgZGVmYXVsdFJlYWN0aW9uRW1vamkgPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxEZWZhdWx0UmVhY3Rpb25FbW9qaSwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+O1xuXG4gIGlmIChwcm9wcy5lbW9qaUlkICYmIHBheWxvYWQuZW1vamlfaWQpIGRlZmF1bHRSZWFjdGlvbkVtb2ppLmVtb2ppSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmVtb2ppX2lkKTtcbiAgaWYgKHByb3BzLmVtb2ppTmFtZSAmJiBwYXlsb2FkLmVtb2ppX25hbWUpIGRlZmF1bHRSZWFjdGlvbkVtb2ppLmVtb2ppTmFtZSA9IHBheWxvYWQuZW1vamlfbmFtZTtcblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy5kZWZhdWx0UmVhY3Rpb25FbW9qaShib3QsIHBheWxvYWQsIGRlZmF1bHRSZWFjdGlvbkVtb2ppKTtcbn1cbiJdLCJuYW1lcyI6WyJFbW9qaVRvZ2dsZXMiLCJiYXNlRW1vamkiLCJ1bmRlZmluZWQiLCJhbmltYXRlZCIsInRvZ2dsZXMiLCJyZXF1aXJlQ29sb25zIiwibWFuYWdlZCIsImF2YWlsYWJsZSIsInRyYW5zZm9ybUVtb2ppIiwiYm90IiwicGF5bG9hZCIsInByb3BzIiwidHJhbnNmb3JtZXJzIiwiZGVzaXJlZFByb3BlcnRpZXMiLCJlbW9qaSIsIk9iamVjdCIsImNyZWF0ZSIsImlkIiwic25vd2ZsYWtlIiwibmFtZSIsInJvbGVzIiwibWFwIiwidXNlciIsImN1c3RvbWl6ZXJzIiwidHJhbnNmb3JtRGVmYXVsdFJlYWN0aW9uRW1vamkiLCJkZWZhdWx0UmVhY3Rpb25FbW9qaSIsImVtb2ppSWQiLCJlbW9qaV9pZCIsImVtb2ppTmFtZSIsImVtb2ppX25hbWUiXSwibWFwcGluZ3MiOiJBQUdBLFNBQVNBLFlBQVksUUFBUSxxQkFBcUI7QUFHbEQsT0FBTyxNQUFNQyxZQUFtQjtJQUM5QiwyRUFBMkU7SUFDM0UsR0FBSUMsU0FBUztJQUViLElBQUlDLFlBQVc7UUFDYixPQUFPLElBQUksQ0FBQ0MsT0FBTyxFQUFFRDtJQUN2QjtJQUNBLElBQUlFLGlCQUFnQjtRQUNsQixPQUFPLElBQUksQ0FBQ0QsT0FBTyxFQUFFQztJQUN2QjtJQUNBLElBQUlDLFdBQVU7UUFDWixPQUFPLElBQUksQ0FBQ0YsT0FBTyxFQUFFRTtJQUN2QjtJQUNBLElBQUlDLGFBQVk7UUFDZCxPQUFPLElBQUksQ0FBQ0gsT0FBTyxDQUFDRyxTQUFTO0lBQy9CO0FBQ0YsRUFBRTtBQUVGLE9BQU8sU0FBU0MsZUFBZUMsR0FBUSxFQUFFQyxPQUFxQjtJQUM1RCxNQUFNQyxRQUFRRixJQUFJRyxZQUFZLENBQUNDLGlCQUFpQixDQUFDQyxLQUFLO0lBQ3RELE1BQU1BLFFBQVFDLE9BQU9DLE1BQU0sQ0FBQ2Y7SUFFNUIsSUFBSVUsTUFBTU0sRUFBRSxJQUFJUCxRQUFRTyxFQUFFLEVBQUVILE1BQU1HLEVBQUUsR0FBR1IsSUFBSUcsWUFBWSxDQUFDTSxTQUFTLENBQUNSLFFBQVFPLEVBQUU7SUFDNUUsSUFBSU4sTUFBTVEsSUFBSSxJQUFJVCxRQUFRUyxJQUFJLEVBQUVMLE1BQU1LLElBQUksR0FBR1QsUUFBUVMsSUFBSTtJQUN6RCxJQUFJUixNQUFNUyxLQUFLLElBQUlWLFFBQVFVLEtBQUssRUFBRU4sTUFBTU0sS0FBSyxHQUFHVixRQUFRVSxLQUFLLENBQUNDLEdBQUcsQ0FBQyxDQUFDSixLQUFPUixJQUFJRyxZQUFZLENBQUNNLFNBQVMsQ0FBQ0Q7SUFDckcsSUFBSU4sTUFBTVcsSUFBSSxJQUFJWixRQUFRWSxJQUFJLEVBQUVSLE1BQU1RLElBQUksR0FBR2IsSUFBSUcsWUFBWSxDQUFDVSxJQUFJLENBQUNiLEtBQUtDLFFBQVFZLElBQUk7SUFFcEZSLE1BQU1WLE9BQU8sR0FBRyxJQUFJSixhQUFhVTtJQUVqQyxPQUFPRCxJQUFJRyxZQUFZLENBQUNXLFdBQVcsQ0FBQ1QsS0FBSyxDQUFDTCxLQUFLQyxTQUFTSTtBQUMxRDtBQUVBLE9BQU8sU0FBU1UsOEJBQThCZixHQUFRLEVBQUVDLE9BQW9DO0lBQzFGLE1BQU1DLFFBQVFGLElBQUlHLFlBQVksQ0FBQ0MsaUJBQWlCLENBQUNZLG9CQUFvQjtJQUNyRSxNQUFNQSx1QkFBdUIsQ0FBQztJQUU5QixJQUFJZCxNQUFNZSxPQUFPLElBQUloQixRQUFRaUIsUUFBUSxFQUFFRixxQkFBcUJDLE9BQU8sR0FBR2pCLElBQUlHLFlBQVksQ0FBQ00sU0FBUyxDQUFDUixRQUFRaUIsUUFBUTtJQUNqSCxJQUFJaEIsTUFBTWlCLFNBQVMsSUFBSWxCLFFBQVFtQixVQUFVLEVBQUVKLHFCQUFxQkcsU0FBUyxHQUFHbEIsUUFBUW1CLFVBQVU7SUFFOUYsT0FBT3BCLElBQUlHLFlBQVksQ0FBQ1csV0FBVyxDQUFDRSxvQkFBb0IsQ0FBQ2hCLEtBQUtDLFNBQVNlO0FBQ3pFIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"entitlement.d.ts","sourceRoot":"","sources":["../../src/transformers/entitlement.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAC3D,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AAEpC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAE7C,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,kBAAkB,GAAG,WAAW,CAgBvF"}
1
+ {"version":3,"file":"entitlement.d.ts","sourceRoot":"","sources":["../../src/transformers/entitlement.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAErC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,kBAAkB,GAAG,WAAW,CAgBvF"}
@@ -14,4 +14,4 @@ export function transformEntitlement(bot, payload) {
14
14
  return bot.transformers.customizers.entitlement(bot, payload, entitlement);
15
15
  }
16
16
 
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvZW50aXRsZW1lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBEaXNjb3JkRW50aXRsZW1lbnQgfSBmcm9tICdAZGlzY29yZGVuby90eXBlcydcbmltcG9ydCB0eXBlIHsgQm90IH0gZnJvbSAnLi4vYm90LmpzJ1xuaW1wb3J0IHR5cGUgeyBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yLCBTZXR1cERlc2lyZWRQcm9wcywgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMgfSBmcm9tICcuLi9kZXNpcmVkUHJvcGVydGllcy5qcydcbmltcG9ydCB0eXBlIHsgRW50aXRsZW1lbnQgfSBmcm9tICcuL3R5cGVzLmpzJ1xuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtRW50aXRsZW1lbnQoYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRFbnRpdGxlbWVudCk6IEVudGl0bGVtZW50IHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLmVudGl0bGVtZW50XG4gIGNvbnN0IGVudGl0bGVtZW50ID0ge30gYXMgU2V0dXBEZXNpcmVkUHJvcHM8RW50aXRsZW1lbnQsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPlxuXG4gIGlmIChwcm9wcy5pZCAmJiBwYXlsb2FkLmlkKSBlbnRpdGxlbWVudC5pZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuaWQpXG4gIGlmIChwcm9wcy5za3VJZCAmJiBwYXlsb2FkLnNrdV9pZCkgZW50aXRsZW1lbnQuc2t1SWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLnNrdV9pZClcbiAgaWYgKHByb3BzLnVzZXJJZCAmJiBwYXlsb2FkLnVzZXJfaWQpIGVudGl0bGVtZW50LnVzZXJJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQudXNlcl9pZClcbiAgaWYgKHByb3BzLmd1aWxkSWQgJiYgcGF5bG9hZC5ndWlsZF9pZCkgZW50aXRsZW1lbnQuZ3VpbGRJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuZ3VpbGRfaWQpXG4gIGlmIChwcm9wcy5hcHBsaWNhdGlvbklkICYmIHBheWxvYWQuYXBwbGljYXRpb25faWQpIGVudGl0bGVtZW50LmFwcGxpY2F0aW9uSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmFwcGxpY2F0aW9uX2lkKVxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLnR5cGUpIGVudGl0bGVtZW50LnR5cGUgPSBwYXlsb2FkLnR5cGVcbiAgaWYgKHByb3BzLmRlbGV0ZWQgJiYgcGF5bG9hZC5kZWxldGVkICE9PSB1bmRlZmluZWQpIGVudGl0bGVtZW50LmRlbGV0ZWQgPSBwYXlsb2FkLmRlbGV0ZWRcbiAgaWYgKHByb3BzLnN0YXJ0c0F0ICYmIHBheWxvYWQuc3RhcnRzX2F0KSBlbnRpdGxlbWVudC5zdGFydHNBdCA9IERhdGUucGFyc2UocGF5bG9hZC5zdGFydHNfYXQpXG4gIGlmIChwcm9wcy5lbmRzQXQgJiYgcGF5bG9hZC5lbmRzX2F0KSBlbnRpdGxlbWVudC5lbmRzQXQgPSBEYXRlLnBhcnNlKHBheWxvYWQuZW5kc19hdClcbiAgaWYgKHByb3BzLmNvbnN1bWVkICYmIHBheWxvYWQuY29uc3VtZWQgIT09IHVuZGVmaW5lZCkgZW50aXRsZW1lbnQuY29uc3VtZWQgPSBwYXlsb2FkLmNvbnN1bWVkXG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMuZW50aXRsZW1lbnQoYm90LCBwYXlsb2FkLCBlbnRpdGxlbWVudClcbn1cbiJdLCJuYW1lcyI6WyJ0cmFuc2Zvcm1FbnRpdGxlbWVudCIsImJvdCIsInBheWxvYWQiLCJwcm9wcyIsInRyYW5zZm9ybWVycyIsImRlc2lyZWRQcm9wZXJ0aWVzIiwiZW50aXRsZW1lbnQiLCJpZCIsInNub3dmbGFrZSIsInNrdUlkIiwic2t1X2lkIiwidXNlcklkIiwidXNlcl9pZCIsImd1aWxkSWQiLCJndWlsZF9pZCIsImFwcGxpY2F0aW9uSWQiLCJhcHBsaWNhdGlvbl9pZCIsInR5cGUiLCJkZWxldGVkIiwidW5kZWZpbmVkIiwic3RhcnRzQXQiLCJzdGFydHNfYXQiLCJEYXRlIiwicGFyc2UiLCJlbmRzQXQiLCJlbmRzX2F0IiwiY29uc3VtZWQiLCJjdXN0b21pemVycyJdLCJtYXBwaW5ncyI6IkFBS0EsT0FBTyxTQUFTQSxxQkFBcUJDLEdBQVEsRUFBRUMsT0FBMkI7SUFDeEUsTUFBTUMsUUFBUUYsSUFBSUcsWUFBWSxDQUFDQyxpQkFBaUIsQ0FBQ0MsV0FBVztJQUM1RCxNQUFNQSxjQUFjLENBQUM7SUFFckIsSUFBSUgsTUFBTUksRUFBRSxJQUFJTCxRQUFRSyxFQUFFLEVBQUVELFlBQVlDLEVBQUUsR0FBR04sSUFBSUcsWUFBWSxDQUFDSSxTQUFTLENBQUNOLFFBQVFLLEVBQUU7SUFDbEYsSUFBSUosTUFBTU0sS0FBSyxJQUFJUCxRQUFRUSxNQUFNLEVBQUVKLFlBQVlHLEtBQUssR0FBR1IsSUFBSUcsWUFBWSxDQUFDSSxTQUFTLENBQUNOLFFBQVFRLE1BQU07SUFDaEcsSUFBSVAsTUFBTVEsTUFBTSxJQUFJVCxRQUFRVSxPQUFPLEVBQUVOLFlBQVlLLE1BQU0sR0FBR1YsSUFBSUcsWUFBWSxDQUFDSSxTQUFTLENBQUNOLFFBQVFVLE9BQU87SUFDcEcsSUFBSVQsTUFBTVUsT0FBTyxJQUFJWCxRQUFRWSxRQUFRLEVBQUVSLFlBQVlPLE9BQU8sR0FBR1osSUFBSUcsWUFBWSxDQUFDSSxTQUFTLENBQUNOLFFBQVFZLFFBQVE7SUFDeEcsSUFBSVgsTUFBTVksYUFBYSxJQUFJYixRQUFRYyxjQUFjLEVBQUVWLFlBQVlTLGFBQWEsR0FBR2QsSUFBSUcsWUFBWSxDQUFDSSxTQUFTLENBQUNOLFFBQVFjLGNBQWM7SUFDaEksSUFBSWIsTUFBTWMsSUFBSSxJQUFJZixRQUFRZSxJQUFJLEVBQUVYLFlBQVlXLElBQUksR0FBR2YsUUFBUWUsSUFBSTtJQUMvRCxJQUFJZCxNQUFNZSxPQUFPLElBQUloQixRQUFRZ0IsT0FBTyxLQUFLQyxXQUFXYixZQUFZWSxPQUFPLEdBQUdoQixRQUFRZ0IsT0FBTztJQUN6RixJQUFJZixNQUFNaUIsUUFBUSxJQUFJbEIsUUFBUW1CLFNBQVMsRUFBRWYsWUFBWWMsUUFBUSxHQUFHRSxLQUFLQyxLQUFLLENBQUNyQixRQUFRbUIsU0FBUztJQUM1RixJQUFJbEIsTUFBTXFCLE1BQU0sSUFBSXRCLFFBQVF1QixPQUFPLEVBQUVuQixZQUFZa0IsTUFBTSxHQUFHRixLQUFLQyxLQUFLLENBQUNyQixRQUFRdUIsT0FBTztJQUNwRixJQUFJdEIsTUFBTXVCLFFBQVEsSUFBSXhCLFFBQVF3QixRQUFRLEtBQUtQLFdBQVdiLFlBQVlvQixRQUFRLEdBQUd4QixRQUFRd0IsUUFBUTtJQUU3RixPQUFPekIsSUFBSUcsWUFBWSxDQUFDdUIsV0FBVyxDQUFDckIsV0FBVyxDQUFDTCxLQUFLQyxTQUFTSTtBQUNoRSJ9
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvZW50aXRsZW1lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBEaXNjb3JkRW50aXRsZW1lbnQgfSBmcm9tICdAZGlzY29yZGVuby90eXBlcyc7XG5pbXBvcnQgdHlwZSB7IEJvdCB9IGZyb20gJy4uL2JvdC5qcyc7XG5pbXBvcnQgdHlwZSB7IERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3IsIFNldHVwRGVzaXJlZFByb3BzLCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcyB9IGZyb20gJy4uL2Rlc2lyZWRQcm9wZXJ0aWVzLmpzJztcbmltcG9ydCB0eXBlIHsgRW50aXRsZW1lbnQgfSBmcm9tICcuL3R5cGVzLmpzJztcblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybUVudGl0bGVtZW50KGJvdDogQm90LCBwYXlsb2FkOiBEaXNjb3JkRW50aXRsZW1lbnQpOiBFbnRpdGxlbWVudCB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5lbnRpdGxlbWVudDtcbiAgY29uc3QgZW50aXRsZW1lbnQgPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxFbnRpdGxlbWVudCwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+O1xuXG4gIGlmIChwcm9wcy5pZCAmJiBwYXlsb2FkLmlkKSBlbnRpdGxlbWVudC5pZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuaWQpO1xuICBpZiAocHJvcHMuc2t1SWQgJiYgcGF5bG9hZC5za3VfaWQpIGVudGl0bGVtZW50LnNrdUlkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5za3VfaWQpO1xuICBpZiAocHJvcHMudXNlcklkICYmIHBheWxvYWQudXNlcl9pZCkgZW50aXRsZW1lbnQudXNlcklkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC51c2VyX2lkKTtcbiAgaWYgKHByb3BzLmd1aWxkSWQgJiYgcGF5bG9hZC5ndWlsZF9pZCkgZW50aXRsZW1lbnQuZ3VpbGRJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuZ3VpbGRfaWQpO1xuICBpZiAocHJvcHMuYXBwbGljYXRpb25JZCAmJiBwYXlsb2FkLmFwcGxpY2F0aW9uX2lkKSBlbnRpdGxlbWVudC5hcHBsaWNhdGlvbklkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5hcHBsaWNhdGlvbl9pZCk7XG4gIGlmIChwcm9wcy50eXBlICYmIHBheWxvYWQudHlwZSkgZW50aXRsZW1lbnQudHlwZSA9IHBheWxvYWQudHlwZTtcbiAgaWYgKHByb3BzLmRlbGV0ZWQgJiYgcGF5bG9hZC5kZWxldGVkICE9PSB1bmRlZmluZWQpIGVudGl0bGVtZW50LmRlbGV0ZWQgPSBwYXlsb2FkLmRlbGV0ZWQ7XG4gIGlmIChwcm9wcy5zdGFydHNBdCAmJiBwYXlsb2FkLnN0YXJ0c19hdCkgZW50aXRsZW1lbnQuc3RhcnRzQXQgPSBEYXRlLnBhcnNlKHBheWxvYWQuc3RhcnRzX2F0KTtcbiAgaWYgKHByb3BzLmVuZHNBdCAmJiBwYXlsb2FkLmVuZHNfYXQpIGVudGl0bGVtZW50LmVuZHNBdCA9IERhdGUucGFyc2UocGF5bG9hZC5lbmRzX2F0KTtcbiAgaWYgKHByb3BzLmNvbnN1bWVkICYmIHBheWxvYWQuY29uc3VtZWQgIT09IHVuZGVmaW5lZCkgZW50aXRsZW1lbnQuY29uc3VtZWQgPSBwYXlsb2FkLmNvbnN1bWVkO1xuXG4gIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmN1c3RvbWl6ZXJzLmVudGl0bGVtZW50KGJvdCwgcGF5bG9hZCwgZW50aXRsZW1lbnQpO1xufVxuIl0sIm5hbWVzIjpbInRyYW5zZm9ybUVudGl0bGVtZW50IiwiYm90IiwicGF5bG9hZCIsInByb3BzIiwidHJhbnNmb3JtZXJzIiwiZGVzaXJlZFByb3BlcnRpZXMiLCJlbnRpdGxlbWVudCIsImlkIiwic25vd2ZsYWtlIiwic2t1SWQiLCJza3VfaWQiLCJ1c2VySWQiLCJ1c2VyX2lkIiwiZ3VpbGRJZCIsImd1aWxkX2lkIiwiYXBwbGljYXRpb25JZCIsImFwcGxpY2F0aW9uX2lkIiwidHlwZSIsImRlbGV0ZWQiLCJ1bmRlZmluZWQiLCJzdGFydHNBdCIsInN0YXJ0c19hdCIsIkRhdGUiLCJwYXJzZSIsImVuZHNBdCIsImVuZHNfYXQiLCJjb25zdW1lZCIsImN1c3RvbWl6ZXJzIl0sIm1hcHBpbmdzIjoiQUFLQSxPQUFPLFNBQVNBLHFCQUFxQkMsR0FBUSxFQUFFQyxPQUEyQjtJQUN4RSxNQUFNQyxRQUFRRixJQUFJRyxZQUFZLENBQUNDLGlCQUFpQixDQUFDQyxXQUFXO0lBQzVELE1BQU1BLGNBQWMsQ0FBQztJQUVyQixJQUFJSCxNQUFNSSxFQUFFLElBQUlMLFFBQVFLLEVBQUUsRUFBRUQsWUFBWUMsRUFBRSxHQUFHTixJQUFJRyxZQUFZLENBQUNJLFNBQVMsQ0FBQ04sUUFBUUssRUFBRTtJQUNsRixJQUFJSixNQUFNTSxLQUFLLElBQUlQLFFBQVFRLE1BQU0sRUFBRUosWUFBWUcsS0FBSyxHQUFHUixJQUFJRyxZQUFZLENBQUNJLFNBQVMsQ0FBQ04sUUFBUVEsTUFBTTtJQUNoRyxJQUFJUCxNQUFNUSxNQUFNLElBQUlULFFBQVFVLE9BQU8sRUFBRU4sWUFBWUssTUFBTSxHQUFHVixJQUFJRyxZQUFZLENBQUNJLFNBQVMsQ0FBQ04sUUFBUVUsT0FBTztJQUNwRyxJQUFJVCxNQUFNVSxPQUFPLElBQUlYLFFBQVFZLFFBQVEsRUFBRVIsWUFBWU8sT0FBTyxHQUFHWixJQUFJRyxZQUFZLENBQUNJLFNBQVMsQ0FBQ04sUUFBUVksUUFBUTtJQUN4RyxJQUFJWCxNQUFNWSxhQUFhLElBQUliLFFBQVFjLGNBQWMsRUFBRVYsWUFBWVMsYUFBYSxHQUFHZCxJQUFJRyxZQUFZLENBQUNJLFNBQVMsQ0FBQ04sUUFBUWMsY0FBYztJQUNoSSxJQUFJYixNQUFNYyxJQUFJLElBQUlmLFFBQVFlLElBQUksRUFBRVgsWUFBWVcsSUFBSSxHQUFHZixRQUFRZSxJQUFJO0lBQy9ELElBQUlkLE1BQU1lLE9BQU8sSUFBSWhCLFFBQVFnQixPQUFPLEtBQUtDLFdBQVdiLFlBQVlZLE9BQU8sR0FBR2hCLFFBQVFnQixPQUFPO0lBQ3pGLElBQUlmLE1BQU1pQixRQUFRLElBQUlsQixRQUFRbUIsU0FBUyxFQUFFZixZQUFZYyxRQUFRLEdBQUdFLEtBQUtDLEtBQUssQ0FBQ3JCLFFBQVFtQixTQUFTO0lBQzVGLElBQUlsQixNQUFNcUIsTUFBTSxJQUFJdEIsUUFBUXVCLE9BQU8sRUFBRW5CLFlBQVlrQixNQUFNLEdBQUdGLEtBQUtDLEtBQUssQ0FBQ3JCLFFBQVF1QixPQUFPO0lBQ3BGLElBQUl0QixNQUFNdUIsUUFBUSxJQUFJeEIsUUFBUXdCLFFBQVEsS0FBS1AsV0FBV2IsWUFBWW9CLFFBQVEsR0FBR3hCLFFBQVF3QixRQUFRO0lBRTdGLE9BQU96QixJQUFJRyxZQUFZLENBQUN1QixXQUFXLENBQUNyQixXQUFXLENBQUNMLEtBQUtDLFNBQVNJO0FBQ2hFIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"gatewayBot.d.ts","sourceRoot":"","sources":["../../src/transformers/gatewayBot.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AAC7D,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AACpC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAE/C,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,oBAAoB,GAAG,aAAa,CAa1F"}
1
+ {"version":3,"file":"gatewayBot.d.ts","sourceRoot":"","sources":["../../src/transformers/gatewayBot.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,oBAAoB,GAAG,aAAa,CAa1F"}
@@ -12,4 +12,4 @@ export function transformGatewayBot(bot, payload) {
12
12
  return bot.transformers.customizers.gatewayBot(bot, payload, gatewayBot);
13
13
  }
14
14
 
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvZ2F0ZXdheUJvdC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IERpc2NvcmRHZXRHYXRld2F5Qm90IH0gZnJvbSAnQGRpc2NvcmRlbm8vdHlwZXMnXG5pbXBvcnQgdHlwZSB7IEJvdCB9IGZyb20gJy4uL2JvdC5qcydcbmltcG9ydCB0eXBlIHsgR2V0R2F0ZXdheUJvdCB9IGZyb20gJy4vdHlwZXMuanMnXG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1HYXRld2F5Qm90KGJvdDogQm90LCBwYXlsb2FkOiBEaXNjb3JkR2V0R2F0ZXdheUJvdCk6IEdldEdhdGV3YXlCb3Qge1xuICBjb25zdCBnYXRld2F5Qm90ID0ge1xuICAgIHVybDogcGF5bG9hZC51cmwsXG4gICAgc2hhcmRzOiBwYXlsb2FkLnNoYXJkcyxcbiAgICBzZXNzaW9uU3RhcnRMaW1pdDoge1xuICAgICAgdG90YWw6IHBheWxvYWQuc2Vzc2lvbl9zdGFydF9saW1pdC50b3RhbCxcbiAgICAgIHJlbWFpbmluZzogcGF5bG9hZC5zZXNzaW9uX3N0YXJ0X2xpbWl0LnJlbWFpbmluZyxcbiAgICAgIHJlc2V0QWZ0ZXI6IHBheWxvYWQuc2Vzc2lvbl9zdGFydF9saW1pdC5yZXNldF9hZnRlcixcbiAgICAgIG1heENvbmN1cnJlbmN5OiBwYXlsb2FkLnNlc3Npb25fc3RhcnRfbGltaXQubWF4X2NvbmN1cnJlbmN5LFxuICAgIH0sXG4gIH0gYXMgR2V0R2F0ZXdheUJvdFxuXG4gIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmN1c3RvbWl6ZXJzLmdhdGV3YXlCb3QoYm90LCBwYXlsb2FkLCBnYXRld2F5Qm90KVxufVxuIl0sIm5hbWVzIjpbInRyYW5zZm9ybUdhdGV3YXlCb3QiLCJib3QiLCJwYXlsb2FkIiwiZ2F0ZXdheUJvdCIsInVybCIsInNoYXJkcyIsInNlc3Npb25TdGFydExpbWl0IiwidG90YWwiLCJzZXNzaW9uX3N0YXJ0X2xpbWl0IiwicmVtYWluaW5nIiwicmVzZXRBZnRlciIsInJlc2V0X2FmdGVyIiwibWF4Q29uY3VycmVuY3kiLCJtYXhfY29uY3VycmVuY3kiLCJ0cmFuc2Zvcm1lcnMiLCJjdXN0b21pemVycyJdLCJtYXBwaW5ncyI6IkFBSUEsT0FBTyxTQUFTQSxvQkFBb0JDLEdBQVEsRUFBRUMsT0FBNkI7SUFDekUsTUFBTUMsYUFBYTtRQUNqQkMsS0FBS0YsUUFBUUUsR0FBRztRQUNoQkMsUUFBUUgsUUFBUUcsTUFBTTtRQUN0QkMsbUJBQW1CO1lBQ2pCQyxPQUFPTCxRQUFRTSxtQkFBbUIsQ0FBQ0QsS0FBSztZQUN4Q0UsV0FBV1AsUUFBUU0sbUJBQW1CLENBQUNDLFNBQVM7WUFDaERDLFlBQVlSLFFBQVFNLG1CQUFtQixDQUFDRyxXQUFXO1lBQ25EQyxnQkFBZ0JWLFFBQVFNLG1CQUFtQixDQUFDSyxlQUFlO1FBQzdEO0lBQ0Y7SUFFQSxPQUFPWixJQUFJYSxZQUFZLENBQUNDLFdBQVcsQ0FBQ1osVUFBVSxDQUFDRixLQUFLQyxTQUFTQztBQUMvRCJ9
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvZ2F0ZXdheUJvdC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IERpc2NvcmRHZXRHYXRld2F5Qm90IH0gZnJvbSAnQGRpc2NvcmRlbm8vdHlwZXMnO1xuaW1wb3J0IHR5cGUgeyBCb3QgfSBmcm9tICcuLi9ib3QuanMnO1xuaW1wb3J0IHR5cGUgeyBHZXRHYXRld2F5Qm90IH0gZnJvbSAnLi90eXBlcy5qcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1HYXRld2F5Qm90KGJvdDogQm90LCBwYXlsb2FkOiBEaXNjb3JkR2V0R2F0ZXdheUJvdCk6IEdldEdhdGV3YXlCb3Qge1xuICBjb25zdCBnYXRld2F5Qm90ID0ge1xuICAgIHVybDogcGF5bG9hZC51cmwsXG4gICAgc2hhcmRzOiBwYXlsb2FkLnNoYXJkcyxcbiAgICBzZXNzaW9uU3RhcnRMaW1pdDoge1xuICAgICAgdG90YWw6IHBheWxvYWQuc2Vzc2lvbl9zdGFydF9saW1pdC50b3RhbCxcbiAgICAgIHJlbWFpbmluZzogcGF5bG9hZC5zZXNzaW9uX3N0YXJ0X2xpbWl0LnJlbWFpbmluZyxcbiAgICAgIHJlc2V0QWZ0ZXI6IHBheWxvYWQuc2Vzc2lvbl9zdGFydF9saW1pdC5yZXNldF9hZnRlcixcbiAgICAgIG1heENvbmN1cnJlbmN5OiBwYXlsb2FkLnNlc3Npb25fc3RhcnRfbGltaXQubWF4X2NvbmN1cnJlbmN5LFxuICAgIH0sXG4gIH0gYXMgR2V0R2F0ZXdheUJvdDtcblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy5nYXRld2F5Qm90KGJvdCwgcGF5bG9hZCwgZ2F0ZXdheUJvdCk7XG59XG4iXSwibmFtZXMiOlsidHJhbnNmb3JtR2F0ZXdheUJvdCIsImJvdCIsInBheWxvYWQiLCJnYXRld2F5Qm90IiwidXJsIiwic2hhcmRzIiwic2Vzc2lvblN0YXJ0TGltaXQiLCJ0b3RhbCIsInNlc3Npb25fc3RhcnRfbGltaXQiLCJyZW1haW5pbmciLCJyZXNldEFmdGVyIiwicmVzZXRfYWZ0ZXIiLCJtYXhDb25jdXJyZW5jeSIsIm1heF9jb25jdXJyZW5jeSIsInRyYW5zZm9ybWVycyIsImN1c3RvbWl6ZXJzIl0sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLFNBQVNBLG9CQUFvQkMsR0FBUSxFQUFFQyxPQUE2QjtJQUN6RSxNQUFNQyxhQUFhO1FBQ2pCQyxLQUFLRixRQUFRRSxHQUFHO1FBQ2hCQyxRQUFRSCxRQUFRRyxNQUFNO1FBQ3RCQyxtQkFBbUI7WUFDakJDLE9BQU9MLFFBQVFNLG1CQUFtQixDQUFDRCxLQUFLO1lBQ3hDRSxXQUFXUCxRQUFRTSxtQkFBbUIsQ0FBQ0MsU0FBUztZQUNoREMsWUFBWVIsUUFBUU0sbUJBQW1CLENBQUNHLFdBQVc7WUFDbkRDLGdCQUFnQlYsUUFBUU0sbUJBQW1CLENBQUNLLGVBQWU7UUFDN0Q7SUFDRjtJQUVBLE9BQU9aLElBQUlhLFlBQVksQ0FBQ0MsV0FBVyxDQUFDWixVQUFVLENBQUNGLEtBQUtDLFNBQVNDO0FBQy9EIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"guild.d.ts","sourceRoot":"","sources":["../../src/transformers/guild.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,YAAY,EAA8B,MAAM,mBAAmB,CAAA;AAE/F,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AAGpC,OAAO,KAAK,EAAW,KAAK,EAAE,MAAM,YAAY,CAAA;AAEhD,eAAO,MAAM,SAAS,EAAE,KAgBvB,CAAA;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,KAAK,CA+HnG"}
1
+ {"version":3,"file":"guild.d.ts","sourceRoot":"","sources":["../../src/transformers/guild.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,YAAY,EAA8B,MAAM,mBAAmB,CAAC;AAEhG,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAGrC,OAAO,KAAK,EAAW,KAAK,EAAE,MAAM,YAAY,CAAC;AAEjD,eAAO,MAAM,SAAS,EAAE,KAgBvB,CAAC;AAEF,wBAAgB,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,KAAK,CA+HnG"}