@discordeno/bot 21.0.0 → 21.0.1-next.01dd69b

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 (272) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/bot.cjs +1 -1
  3. package/dist/cjs/commandOptionsParser.cjs +1 -1
  4. package/dist/cjs/constants.cjs +7 -7
  5. package/dist/cjs/desiredProperties.cjs +111 -4
  6. package/dist/cjs/handlers/channels/THREAD_MEMBERS_UPDATE.cjs +4 -2
  7. package/dist/cjs/handlers/channels/THREAD_MEMBER_UPDATE.cjs +4 -2
  8. package/dist/cjs/handlers/guilds/GUILD_DELETE.cjs +6 -8
  9. package/dist/cjs/handlers/guilds/index.cjs +2 -2
  10. package/dist/cjs/handlers/index.cjs +3 -3
  11. package/dist/cjs/handlers/members/GUILD_MEMBER_ADD.cjs +2 -2
  12. package/dist/cjs/handlers/messages/MESSAGE_REACTION_ADD.cjs +2 -1
  13. package/dist/cjs/handlers/messages/MESSAGE_REACTION_REMOVE.cjs +2 -1
  14. package/dist/cjs/handlers/messages/MESSAGE_REACTION_REMOVE_EMOJI.cjs +2 -1
  15. package/dist/cjs/handlers/messages/index.cjs +3 -3
  16. package/dist/cjs/handlers/soundboard/index.cjs +3 -3
  17. package/dist/cjs/handlers/voice/index.cjs +2 -2
  18. package/dist/cjs/helpers.cjs +52 -34
  19. package/dist/cjs/index.cjs +3 -4
  20. package/dist/cjs/transformers/activity.cjs +5 -5
  21. package/dist/cjs/transformers/application.cjs +2 -1
  22. package/dist/cjs/transformers/attachment.cjs +1 -1
  23. package/dist/cjs/transformers/automodActionExecution.cjs +3 -3
  24. package/dist/cjs/transformers/channel.cjs +11 -9
  25. package/dist/cjs/transformers/component.cjs +184 -64
  26. package/dist/cjs/transformers/emoji.cjs +5 -5
  27. package/dist/cjs/transformers/entitlement.cjs +2 -2
  28. package/dist/cjs/transformers/guild.cjs +12 -4
  29. package/dist/cjs/transformers/incidentsData.cjs +21 -0
  30. package/dist/cjs/transformers/index.cjs +5 -3
  31. package/dist/cjs/transformers/interaction.cjs +38 -22
  32. package/dist/cjs/transformers/invite.cjs +4 -3
  33. package/dist/cjs/transformers/lobby.cjs +41 -0
  34. package/dist/cjs/transformers/member.cjs +5 -5
  35. package/dist/cjs/transformers/message.cjs +23 -8
  36. package/dist/cjs/transformers/onboarding.cjs +6 -6
  37. package/dist/cjs/transformers/poll.cjs +8 -7
  38. package/dist/cjs/transformers/presence.cjs +1 -1
  39. package/dist/cjs/transformers/reverse/application.cjs +1 -1
  40. package/dist/cjs/transformers/reverse/attachment.cjs +15 -14
  41. package/dist/cjs/transformers/reverse/component.cjs +104 -15
  42. package/dist/cjs/transformers/reverse/emoji.cjs +3 -3
  43. package/dist/cjs/transformers/reverse/index.cjs +1 -2
  44. package/dist/cjs/transformers/reverse/member.cjs +37 -35
  45. package/dist/cjs/transformers/reverse/presence.cjs +4 -4
  46. package/dist/cjs/transformers/reverse/team.cjs +1 -1
  47. package/dist/cjs/transformers/role.cjs +17 -5
  48. package/dist/cjs/transformers/scheduledEvent.cjs +4 -4
  49. package/dist/cjs/transformers/sku.cjs +1 -1
  50. package/dist/cjs/transformers/soundboardSound.cjs +1 -1
  51. package/dist/cjs/transformers/stageInstance.cjs +1 -1
  52. package/dist/cjs/transformers/stageInviteInstance.cjs +1 -1
  53. package/dist/cjs/transformers/sticker.cjs +4 -4
  54. package/dist/cjs/transformers/subscription.cjs +2 -2
  55. package/dist/cjs/transformers/team.cjs +1 -1
  56. package/dist/cjs/transformers/template.cjs +1 -1
  57. package/dist/cjs/transformers/threadMember.cjs +8 -7
  58. package/dist/cjs/transformers/toggles/Permissions.cjs +1 -1
  59. package/dist/cjs/transformers/toggles/ToggleBitfield.cjs +4 -4
  60. package/dist/cjs/transformers/toggles/channel.cjs +4 -4
  61. package/dist/cjs/transformers/toggles/emoji.cjs +4 -4
  62. package/dist/cjs/transformers/toggles/guild.cjs +24 -7
  63. package/dist/cjs/transformers/toggles/member.cjs +11 -5
  64. package/dist/cjs/transformers/toggles/role.cjs +4 -4
  65. package/dist/cjs/transformers/toggles/user.cjs +4 -4
  66. package/dist/cjs/transformers/toggles/voice.cjs +4 -4
  67. package/dist/cjs/transformers/user.cjs +39 -4
  68. package/dist/cjs/transformers/voiceState.cjs +1 -1
  69. package/dist/cjs/transformers/webhook.cjs +1 -1
  70. package/dist/cjs/transformers/widget.cjs +7 -15
  71. package/dist/cjs/transformers.cjs +165 -142
  72. package/dist/esm/bot.js +2 -2
  73. package/dist/esm/commandOptionsParser.js +1 -1
  74. package/dist/esm/constants.js +2 -2
  75. package/dist/esm/desiredProperties.js +108 -1
  76. package/dist/esm/events.js +1 -1
  77. package/dist/esm/handlers/channels/THREAD_MEMBERS_UPDATE.js +4 -2
  78. package/dist/esm/handlers/channels/THREAD_MEMBER_UPDATE.js +4 -2
  79. package/dist/esm/handlers/guilds/GUILD_DELETE.js +6 -8
  80. package/dist/esm/handlers/guilds/index.js +2 -2
  81. package/dist/esm/handlers/index.js +3 -3
  82. package/dist/esm/handlers/members/GUILD_MEMBER_ADD.js +2 -2
  83. package/dist/esm/handlers/messages/MESSAGE_REACTION_ADD.js +2 -1
  84. package/dist/esm/handlers/messages/MESSAGE_REACTION_REMOVE.js +2 -1
  85. package/dist/esm/handlers/messages/MESSAGE_REACTION_REMOVE_EMOJI.js +2 -1
  86. package/dist/esm/handlers/messages/index.js +3 -3
  87. package/dist/esm/handlers/soundboard/index.js +3 -3
  88. package/dist/esm/handlers/voice/index.js +2 -2
  89. package/dist/esm/helpers.js +52 -34
  90. package/dist/esm/index.js +3 -4
  91. package/dist/esm/transformers/activity.js +1 -1
  92. package/dist/esm/transformers/application.js +2 -1
  93. package/dist/esm/transformers/attachment.js +1 -1
  94. package/dist/esm/transformers/automodActionExecution.js +3 -3
  95. package/dist/esm/transformers/channel.js +5 -3
  96. package/dist/esm/transformers/component.js +170 -61
  97. package/dist/esm/transformers/emoji.js +1 -1
  98. package/dist/esm/transformers/entitlement.js +2 -2
  99. package/dist/esm/transformers/guild.js +9 -1
  100. package/dist/esm/transformers/incidentsData.js +11 -0
  101. package/dist/esm/transformers/index.js +6 -4
  102. package/dist/esm/transformers/interaction.js +32 -14
  103. package/dist/esm/transformers/invite.js +5 -4
  104. package/dist/esm/transformers/lobby.js +23 -0
  105. package/dist/esm/transformers/member.js +2 -2
  106. package/dist/esm/transformers/message.js +14 -2
  107. package/dist/esm/transformers/onboarding.js +2 -2
  108. package/dist/esm/transformers/poll.js +5 -4
  109. package/dist/esm/transformers/presence.js +1 -1
  110. package/dist/esm/transformers/reverse/application.js +1 -1
  111. package/dist/esm/transformers/reverse/attachment.js +15 -14
  112. package/dist/esm/transformers/reverse/component.js +90 -12
  113. package/dist/esm/transformers/reverse/emoji.js +3 -3
  114. package/dist/esm/transformers/reverse/index.js +1 -2
  115. package/dist/esm/transformers/reverse/member.js +34 -32
  116. package/dist/esm/transformers/reverse/presence.js +1 -1
  117. package/dist/esm/transformers/reverse/team.js +1 -1
  118. package/dist/esm/transformers/role.js +11 -2
  119. package/dist/esm/transformers/scheduledEvent.js +1 -1
  120. package/dist/esm/transformers/sku.js +1 -1
  121. package/dist/esm/transformers/soundboardSound.js +1 -1
  122. package/dist/esm/transformers/stageInstance.js +1 -1
  123. package/dist/esm/transformers/stageInviteInstance.js +1 -1
  124. package/dist/esm/transformers/sticker.js +1 -1
  125. package/dist/esm/transformers/subscription.js +2 -2
  126. package/dist/esm/transformers/team.js +1 -1
  127. package/dist/esm/transformers/template.js +1 -1
  128. package/dist/esm/transformers/threadMember.js +5 -4
  129. package/dist/esm/transformers/toggles/Permissions.js +1 -1
  130. package/dist/esm/transformers/toggles/ToggleBitfield.js +1 -1
  131. package/dist/esm/transformers/toggles/channel.js +1 -1
  132. package/dist/esm/transformers/toggles/emoji.js +1 -1
  133. package/dist/esm/transformers/toggles/guild.js +21 -4
  134. package/dist/esm/transformers/toggles/member.js +8 -2
  135. package/dist/esm/transformers/toggles/role.js +1 -1
  136. package/dist/esm/transformers/toggles/user.js +1 -1
  137. package/dist/esm/transformers/toggles/voice.js +1 -1
  138. package/dist/esm/transformers/types.js +2 -2
  139. package/dist/esm/transformers/user.js +27 -1
  140. package/dist/esm/transformers/voiceState.js +1 -1
  141. package/dist/esm/transformers/webhook.js +1 -1
  142. package/dist/esm/transformers/widget.js +7 -15
  143. package/dist/esm/transformers.js +167 -144
  144. package/dist/types/bot.d.ts +0 -2
  145. package/dist/types/bot.d.ts.map +1 -1
  146. package/dist/types/commandOptionsParser.d.ts +11 -2
  147. package/dist/types/commandOptionsParser.d.ts.map +1 -1
  148. package/dist/types/constants.d.ts.map +1 -1
  149. package/dist/types/desiredProperties.d.ts +21 -5
  150. package/dist/types/desiredProperties.d.ts.map +1 -1
  151. package/dist/types/events.d.ts +6 -2
  152. package/dist/types/events.d.ts.map +1 -1
  153. package/dist/types/handlers/channels/THREAD_MEMBER_UPDATE.d.ts.map +1 -1
  154. package/dist/types/handlers/guilds/GUILD_DELETE.d.ts.map +1 -1
  155. package/dist/types/handlers/guilds/index.d.ts +1 -1
  156. package/dist/types/handlers/guilds/index.d.ts.map +1 -1
  157. package/dist/types/handlers/index.d.ts +2 -2
  158. package/dist/types/handlers/index.d.ts.map +1 -1
  159. package/dist/types/handlers/members/GUILD_MEMBER_ADD.d.ts +2 -2
  160. package/dist/types/handlers/members/GUILD_MEMBER_ADD.d.ts.map +1 -1
  161. package/dist/types/handlers/messages/MESSAGE_REACTION_ADD.d.ts.map +1 -1
  162. package/dist/types/handlers/messages/MESSAGE_REACTION_REMOVE.d.ts.map +1 -1
  163. package/dist/types/handlers/messages/MESSAGE_REACTION_REMOVE_EMOJI.d.ts.map +1 -1
  164. package/dist/types/handlers/messages/index.d.ts +2 -2
  165. package/dist/types/handlers/messages/index.d.ts.map +1 -1
  166. package/dist/types/handlers/soundboard/index.d.ts +2 -2
  167. package/dist/types/handlers/soundboard/index.d.ts.map +1 -1
  168. package/dist/types/handlers/voice/index.d.ts +1 -1
  169. package/dist/types/handlers/voice/index.d.ts.map +1 -1
  170. package/dist/types/helpers.d.ts +29 -21
  171. package/dist/types/helpers.d.ts.map +1 -1
  172. package/dist/types/index.d.ts +2 -3
  173. package/dist/types/index.d.ts.map +1 -1
  174. package/dist/types/transformers/activity.d.ts +3 -3
  175. package/dist/types/transformers/activity.d.ts.map +1 -1
  176. package/dist/types/transformers/application.d.ts.map +1 -1
  177. package/dist/types/transformers/attachment.d.ts +2 -2
  178. package/dist/types/transformers/attachment.d.ts.map +1 -1
  179. package/dist/types/transformers/automodActionExecution.d.ts.map +1 -1
  180. package/dist/types/transformers/channel.d.ts +5 -5
  181. package/dist/types/transformers/channel.d.ts.map +1 -1
  182. package/dist/types/transformers/component.d.ts +3 -1
  183. package/dist/types/transformers/component.d.ts.map +1 -1
  184. package/dist/types/transformers/emoji.d.ts +4 -4
  185. package/dist/types/transformers/emoji.d.ts.map +1 -1
  186. package/dist/types/transformers/entitlement.d.ts +2 -2
  187. package/dist/types/transformers/entitlement.d.ts.map +1 -1
  188. package/dist/types/transformers/guild.d.ts +4 -4
  189. package/dist/types/transformers/guild.d.ts.map +1 -1
  190. package/dist/types/transformers/incidentsData.d.ts +4 -0
  191. package/dist/types/transformers/incidentsData.d.ts.map +1 -0
  192. package/dist/types/transformers/index.d.ts +5 -3
  193. package/dist/types/transformers/index.d.ts.map +1 -1
  194. package/dist/types/transformers/interaction.d.ts +11 -11
  195. package/dist/types/transformers/interaction.d.ts.map +1 -1
  196. package/dist/types/transformers/invite.d.ts +3 -3
  197. package/dist/types/transformers/invite.d.ts.map +1 -1
  198. package/dist/types/transformers/lobby.d.ts +5 -0
  199. package/dist/types/transformers/lobby.d.ts.map +1 -0
  200. package/dist/types/transformers/member.d.ts +4 -3
  201. package/dist/types/transformers/member.d.ts.map +1 -1
  202. package/dist/types/transformers/message.d.ts +10 -9
  203. package/dist/types/transformers/message.d.ts.map +1 -1
  204. package/dist/types/transformers/onboarding.d.ts +4 -4
  205. package/dist/types/transformers/onboarding.d.ts.map +1 -1
  206. package/dist/types/transformers/poll.d.ts +3 -3
  207. package/dist/types/transformers/poll.d.ts.map +1 -1
  208. package/dist/types/transformers/presence.d.ts +2 -2
  209. package/dist/types/transformers/presence.d.ts.map +1 -1
  210. package/dist/types/transformers/reverse/application.d.ts +2 -2
  211. package/dist/types/transformers/reverse/application.d.ts.map +1 -1
  212. package/dist/types/transformers/reverse/attachment.d.ts +2 -2
  213. package/dist/types/transformers/reverse/attachment.d.ts.map +1 -1
  214. package/dist/types/transformers/reverse/component.d.ts +3 -1
  215. package/dist/types/transformers/reverse/component.d.ts.map +1 -1
  216. package/dist/types/transformers/reverse/emoji.d.ts +2 -2
  217. package/dist/types/transformers/reverse/emoji.d.ts.map +1 -1
  218. package/dist/types/transformers/reverse/index.d.ts +0 -1
  219. package/dist/types/transformers/reverse/index.d.ts.map +1 -1
  220. package/dist/types/transformers/reverse/member.d.ts +3 -4
  221. package/dist/types/transformers/reverse/member.d.ts.map +1 -1
  222. package/dist/types/transformers/reverse/presence.d.ts +2 -2
  223. package/dist/types/transformers/reverse/presence.d.ts.map +1 -1
  224. package/dist/types/transformers/reverse/team.d.ts +2 -2
  225. package/dist/types/transformers/reverse/team.d.ts.map +1 -1
  226. package/dist/types/transformers/role.d.ts +6 -5
  227. package/dist/types/transformers/role.d.ts.map +1 -1
  228. package/dist/types/transformers/scheduledEvent.d.ts +3 -3
  229. package/dist/types/transformers/scheduledEvent.d.ts.map +1 -1
  230. package/dist/types/transformers/sku.d.ts +2 -2
  231. package/dist/types/transformers/sku.d.ts.map +1 -1
  232. package/dist/types/transformers/soundboardSound.d.ts +2 -2
  233. package/dist/types/transformers/soundboardSound.d.ts.map +1 -1
  234. package/dist/types/transformers/stageInstance.d.ts +2 -2
  235. package/dist/types/transformers/stageInstance.d.ts.map +1 -1
  236. package/dist/types/transformers/stageInviteInstance.d.ts +3 -3
  237. package/dist/types/transformers/stageInviteInstance.d.ts.map +1 -1
  238. package/dist/types/transformers/sticker.d.ts +3 -3
  239. package/dist/types/transformers/sticker.d.ts.map +1 -1
  240. package/dist/types/transformers/subscription.d.ts +2 -2
  241. package/dist/types/transformers/subscription.d.ts.map +1 -1
  242. package/dist/types/transformers/team.d.ts +2 -2
  243. package/dist/types/transformers/team.d.ts.map +1 -1
  244. package/dist/types/transformers/template.d.ts +2 -2
  245. package/dist/types/transformers/template.d.ts.map +1 -1
  246. package/dist/types/transformers/threadMember.d.ts +11 -2
  247. package/dist/types/transformers/threadMember.d.ts.map +1 -1
  248. package/dist/types/transformers/toggles/guild.d.ts +13 -1
  249. package/dist/types/transformers/toggles/guild.d.ts.map +1 -1
  250. package/dist/types/transformers/toggles/member.d.ts +4 -0
  251. package/dist/types/transformers/toggles/member.d.ts.map +1 -1
  252. package/dist/types/transformers/types.d.ts +171 -18
  253. package/dist/types/transformers/types.d.ts.map +1 -1
  254. package/dist/types/transformers/user.d.ts +7 -4
  255. package/dist/types/transformers/user.d.ts.map +1 -1
  256. package/dist/types/transformers/voiceState.d.ts +3 -3
  257. package/dist/types/transformers/voiceState.d.ts.map +1 -1
  258. package/dist/types/transformers/webhook.d.ts +2 -2
  259. package/dist/types/transformers/webhook.d.ts.map +1 -1
  260. package/dist/types/transformers/widget.d.ts +1 -1
  261. package/dist/types/transformers/widget.d.ts.map +1 -1
  262. package/dist/types/transformers.d.ts +30 -9
  263. package/dist/types/transformers.d.ts.map +1 -1
  264. package/package.json +27 -22
  265. package/dist/cjs/transformers/reverse/createApplicationCommand.cjs +0 -36
  266. package/dist/cjs/utils.cjs +0 -32
  267. package/dist/esm/transformers/reverse/createApplicationCommand.js +0 -26
  268. package/dist/esm/utils.js +0 -11
  269. package/dist/types/transformers/reverse/createApplicationCommand.d.ts +0 -3
  270. package/dist/types/transformers/reverse/createApplicationCommand.d.ts.map +0 -1
  271. package/dist/types/utils.d.ts +0 -5
  272. package/dist/types/utils.d.ts.map +0 -1
@@ -5,14 +5,14 @@ Object.defineProperty(exports, "__esModule", {
5
5
  function _export(target, all) {
6
6
  for(var name in all)Object.defineProperty(target, name, {
7
7
  enumerable: true,
8
- get: all[name]
8
+ get: Object.getOwnPropertyDescriptor(all, name).get
9
9
  });
10
10
  }
11
11
  _export(exports, {
12
- baseGuild: function() {
12
+ get baseGuild () {
13
13
  return baseGuild;
14
14
  },
15
- transformGuild: function() {
15
+ get transformGuild () {
16
16
  return transformGuild;
17
17
  }
18
18
  });
@@ -69,6 +69,8 @@ function transformGuild(bot, payload) {
69
69
  channel,
70
70
  guildId
71
71
  });
72
+ // TODO: We should check that id exists, or else the collection will have undefined as it's key (This is valid for all the collections below as well)
73
+ // @ts-expect-error: We TODO above
72
74
  return [
73
75
  result.id,
74
76
  result
@@ -76,6 +78,7 @@ function transformGuild(bot, payload) {
76
78
  }));
77
79
  if (props.members && payload.guild.members) guild.members = new _utils.Collection(payload.guild.members.map((member)=>{
78
80
  const result = bot.transformers.member(bot, member, guildId, bot.transformers.snowflake(member.user.id));
81
+ // @ts-expect-error: We TODO above
79
82
  return [
80
83
  result.id,
81
84
  result
@@ -86,6 +89,7 @@ function transformGuild(bot, payload) {
86
89
  role,
87
90
  guildId
88
91
  });
92
+ // @ts-expect-error: We TODO above
89
93
  return [
90
94
  result.id,
91
95
  result
@@ -93,6 +97,7 @@ function transformGuild(bot, payload) {
93
97
  }));
94
98
  if (props.emojis && payload.guild.emojis) guild.emojis = new _utils.Collection(payload.guild.emojis.map((emoji)=>{
95
99
  const result = bot.transformers.emoji(bot, emoji);
100
+ // @ts-expect-error: We TODO above
96
101
  return [
97
102
  result.id,
98
103
  result
@@ -103,6 +108,7 @@ function transformGuild(bot, payload) {
103
108
  voiceState,
104
109
  guildId
105
110
  });
111
+ // @ts-expect-error: We TODO above
106
112
  return [
107
113
  result.userId,
108
114
  result
@@ -110,6 +116,7 @@ function transformGuild(bot, payload) {
110
116
  }));
111
117
  if (props.stickers && payload.guild.stickers) guild.stickers = new _utils.Collection(payload.guild.stickers?.map((sticker)=>{
112
118
  const result = bot.transformers.sticker(bot, sticker);
119
+ // @ts-expect-error: We TODO above
113
120
  return [
114
121
  result.id,
115
122
  result
@@ -151,7 +158,8 @@ function transformGuild(bot, payload) {
151
158
  if (props.iconHash && payload.guild.icon_hash) guild.iconHash = (0, _utils.iconHashToBigInt)(payload.guild.icon_hash);
152
159
  if (props.presences && payload.guild.presences) guild.presences = payload.guild.presences?.map((presence)=>bot.transformers.presence(bot, presence));
153
160
  if (props.safetyAlertsChannelId && payload.guild.safety_alerts_channel_id) guild.safetyAlertsChannelId = bot.transformers.snowflake(payload.guild.safety_alerts_channel_id);
161
+ if (props.incidentsData && payload.guild.incidents_data) guild.incidentsData = bot.transformers.incidentsData(bot, payload.guild.incidents_data);
154
162
  return bot.transformers.customizers.guild(bot, payload.guild, guild);
155
163
  }
156
164
 
157
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvZ3VpbGQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbm5lbFR5cGVzLCB0eXBlIERpc2NvcmRHdWlsZCwgdHlwZSBEaXNjb3JkUHJlc2VuY2VVcGRhdGUgfSBmcm9tICdAZGlzY29yZGVuby90eXBlcydcbmltcG9ydCB7IENvbGxlY3Rpb24sIGljb25IYXNoVG9CaWdJbnQgfSBmcm9tICdAZGlzY29yZGVuby91dGlscydcbmltcG9ydCB0eXBlIHsgQ2hhbm5lbCwgR3VpbGQsIEludGVybmFsQm90IH0gZnJvbSAnLi4vaW5kZXguanMnXG5pbXBvcnQgeyBHdWlsZFRvZ2dsZXMgfSBmcm9tICcuL3RvZ2dsZXMvZ3VpbGQuanMnXG5cbmV4cG9ydCBjb25zdCBiYXNlR3VpbGQ6IEludGVybmFsQm90Wyd0cmFuc2Zvcm1lcnMnXVsnJGluZmVycmVkVHlwZXMnXVsnZ3VpbGQnXSA9IHtcbiAgLy8gVGhpcyBhbGxvd3MgdHlwZXNjcmlwdCB0byBzdGlsbCBjaGVjayBmb3IgdHlwZSBlcnJvcnMgb24gZnVuY3Rpb25zIGJlbG93XG4gIC4uLih1bmRlZmluZWQgYXMgdW5rbm93biBhcyBJbnRlcm5hbEJvdFsndHJhbnNmb3JtZXJzJ11bJyRpbmZlcnJlZFR5cGVzJ11bJ2d1aWxkJ10pLFxuXG4gIGdldCB0aHJlYWRzKCkge1xuICAgIGlmICghdGhpcy5jaGFubmVscykgcmV0dXJuIG5ldyBDb2xsZWN0aW9uPGJpZ2ludCwgQ2hhbm5lbD4oKVxuXG4gICAgY29uc3QgdGhyZWFkcyA9IHRoaXMuY2hhbm5lbHNcbiAgICAgIC5hcnJheSgpXG4gICAgICAuZmlsdGVyKCh4KSA9PiB4LnR5cGUgPT09IENoYW5uZWxUeXBlcy5QdWJsaWNUaHJlYWQgfHwgeC50eXBlID09PSBDaGFubmVsVHlwZXMuUHJpdmF0ZVRocmVhZCB8fCB4LnR5cGUgPT09IENoYW5uZWxUeXBlcy5Bbm5vdW5jZW1lbnRUaHJlYWQpXG5cbiAgICByZXR1cm4gbmV3IENvbGxlY3Rpb24odGhyZWFkcy5tYXAoKHgpID0+IFt4LmlkLCB4XSkpXG4gIH0sXG4gIGdldCBmZWF0dXJlcygpIHtcbiAgICByZXR1cm4gdGhpcy50b2dnbGVzLmZlYXR1cmVzXG4gIH0sXG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1HdWlsZChib3Q6IEludGVybmFsQm90LCBwYXlsb2FkOiB7IGd1aWxkOiBEaXNjb3JkR3VpbGQ7IHNoYXJkSWQ6IG51bWJlciB9KTogdHlwZW9mIGJvdC50cmFuc2Zvcm1lcnMuJGluZmVycmVkVHlwZXMuZ3VpbGQge1xuICBjb25zdCBndWlsZElkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5ndWlsZC5pZClcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLmd1aWxkXG4gIGNvbnN0IGd1aWxkOiBHdWlsZCA9IE9iamVjdC5jcmVhdGUoYmFzZUd1aWxkKVxuXG4gIGlmIChwcm9wcy5hZmtUaW1lb3V0ICYmIHBheWxvYWQuZ3VpbGQuYWZrX3RpbWVvdXQpIGd1aWxkLmFma1RpbWVvdXQgPSBwYXlsb2FkLmd1aWxkLmFma190aW1lb3V0XG4gIGlmIChwcm9wcy5hcHByb3hpbWF0ZU1lbWJlckNvdW50ICYmIHBheWxvYWQuZ3VpbGQuYXBwcm94aW1hdGVfbWVtYmVyX2NvdW50KSBndWlsZC5hcHByb3hpbWF0ZU1lbWJlckNvdW50ID0gcGF5bG9hZC5ndWlsZC5hcHByb3hpbWF0ZV9tZW1iZXJfY291bnRcbiAgaWYgKHByb3BzLmFwcHJveGltYXRlUHJlc2VuY2VDb3VudCAmJiBwYXlsb2FkLmd1aWxkLmFwcHJveGltYXRlX3ByZXNlbmNlX2NvdW50KVxuICAgIGd1aWxkLmFwcHJveGltYXRlUHJlc2VuY2VDb3VudCA9IHBheWxvYWQuZ3VpbGQuYXBwcm94aW1hdGVfcHJlc2VuY2VfY291bnRcbiAgaWYgKHByb3BzLmRlZmF1bHRNZXNzYWdlTm90aWZpY2F0aW9ucykgZ3VpbGQuZGVmYXVsdE1lc3NhZ2VOb3RpZmljYXRpb25zID0gcGF5bG9hZC5ndWlsZC5kZWZhdWx0X21lc3NhZ2Vfbm90aWZpY2F0aW9uc1xuICBpZiAocHJvcHMuZGVzY3JpcHRpb24gJiYgcGF5bG9hZC5ndWlsZC5kZXNjcmlwdGlvbikgZ3VpbGQuZGVzY3JpcHRpb24gPSBwYXlsb2FkLmd1aWxkLmRlc2NyaXB0aW9uXG4gIGlmIChwcm9wcy50b2dnbGVzKSBndWlsZC50b2dnbGVzID0gbmV3IEd1aWxkVG9nZ2xlcyhwYXlsb2FkLmd1aWxkKVxuICBpZiAocHJvcHMuZXhwbGljaXRDb250ZW50RmlsdGVyKSBndWlsZC5leHBsaWNpdENvbnRlbnRGaWx0ZXIgPSBwYXlsb2FkLmd1aWxkLmV4cGxpY2l0X2NvbnRlbnRfZmlsdGVyXG4gIGlmIChwcm9wcy5tYXhNZW1iZXJzICYmIHBheWxvYWQuZ3VpbGQubWF4X21lbWJlcnMpIGd1aWxkLm1heE1lbWJlcnMgPSBwYXlsb2FkLmd1aWxkLm1heF9tZW1iZXJzXG4gIGlmIChwcm9wcy5tYXhQcmVzZW5jZXMgJiYgcGF5bG9hZC5ndWlsZC5tYXhfcHJlc2VuY2VzKSBndWlsZC5tYXhQcmVzZW5jZXMgPSBwYXlsb2FkLmd1aWxkLm1heF9wcmVzZW5jZXMgPz8gdW5kZWZpbmVkXG4gIGlmIChwcm9wcy5tYXhWaWRlb0NoYW5uZWxVc2VycyAmJiBwYXlsb2FkLmd1aWxkLm1heF92aWRlb19jaGFubmVsX3VzZXJzKSBndWlsZC5tYXhWaWRlb0NoYW5uZWxVc2VycyA9IHBheWxvYWQuZ3VpbGQubWF4X3ZpZGVvX2NoYW5uZWxfdXNlcnNcbiAgaWYgKHByb3BzLm1heFN0YWdlVmlkZW9DaGFubmVsVXNlcnMgJiYgcGF5bG9hZC5ndWlsZC5tYXhfc3RhZ2VfdmlkZW9fY2hhbm5lbF91c2VycylcbiAgICBndWlsZC5tYXhTdGFnZVZpZGVvQ2hhbm5lbFVzZXJzID0gcGF5bG9hZC5ndWlsZC5tYXhfc3RhZ2VfdmlkZW9fY2hhbm5lbF91c2Vyc1xuICBpZiAocHJvcHMubWZhTGV2ZWwpIGd1aWxkLm1mYUxldmVsID0gcGF5bG9hZC5ndWlsZC5tZmFfbGV2ZWxcbiAgaWYgKHByb3BzLm5hbWUgJiYgcGF5bG9hZC5ndWlsZC5uYW1lKSBndWlsZC5uYW1lID0gcGF5bG9hZC5ndWlsZC5uYW1lXG4gIGlmIChwcm9wcy5uc2Z3TGV2ZWwpIGd1aWxkLm5zZndMZXZlbCA9IHBheWxvYWQuZ3VpbGQubnNmd19sZXZlbFxuICBpZiAocHJvcHMucHJlZmVycmVkTG9jYWxlICYmIHBheWxvYWQuZ3VpbGQucHJlZmVycmVkX2xvY2FsZSkgZ3VpbGQucHJlZmVycmVkTG9jYWxlID0gcGF5bG9hZC5ndWlsZC5wcmVmZXJyZWRfbG9jYWxlXG4gIGlmIChwcm9wcy5wcmVtaXVtU3Vic2NyaXB0aW9uQ291bnQgJiYgcGF5bG9hZC5ndWlsZC5wcmVtaXVtX3N1YnNjcmlwdGlvbl9jb3VudCAhPT0gdW5kZWZpbmVkKVxuICAgIGd1aWxkLnByZW1pdW1TdWJzY3JpcHRpb25Db3VudCA9IHBheWxvYWQuZ3VpbGQucHJlbWl1bV9zdWJzY3JpcHRpb25fY291bnRcbiAgaWYgKHByb3BzLnByZW1pdW1UaWVyKSBndWlsZC5wcmVtaXVtVGllciA9IHBheWxvYWQuZ3VpbGQucHJlbWl1bV90aWVyXG4gIGlmIChwcm9wcy5zdGFnZUluc3RhbmNlcyAmJiBwYXlsb2FkLmd1aWxkLnN0YWdlX2luc3RhbmNlcylcbiAgICBndWlsZC5zdGFnZUluc3RhbmNlcyA9IHBheWxvYWQuZ3VpbGQuc3RhZ2VfaW5zdGFuY2VzLm1hcCgoc2kpID0+ICh7XG4gICAgICAvKiogVGhlIGlkIG9mIHRoaXMgU3RhZ2UgaW5zdGFuY2UgKi9cbiAgICAgIGlkOiBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShzaS5pZCksXG4gICAgICAvKiogVGhlIGd1aWxkIGlkIG9mIHRoZSBhc3NvY2lhdGVkIFN0YWdlIGNoYW5uZWwgKi9cbiAgICAgIGd1aWxkSWQsXG4gICAgICAvKiogVGhlIGlkIG9mIHRoZSBhc3NvY2lhdGVkIFN0YWdlIGNoYW5uZWwgKi9cbiAgICAgIGNoYW5uZWxJZDogYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2Uoc2kuY2hhbm5lbF9pZCksXG4gICAgICAvKiogVGhlIHRvcGljIG9mIHRoZSBTdGFnZSBpbnN0YW5jZSAoMS0xMjAgY2hhcmFjdGVycykgKi9cbiAgICAgIHRvcGljOiBzaS50b3BpYyxcbiAgICB9KSlcbiAgaWYgKHByb3BzLmNoYW5uZWxzICYmICghIXBheWxvYWQuZ3VpbGQuY2hhbm5lbHMgfHwgISFwYXlsb2FkLmd1aWxkLnRocmVhZHMpKVxuICAgIGd1aWxkLmNoYW5uZWxzID0gbmV3IENvbGxlY3Rpb24oXG4gICAgICBbLi4uKHBheWxvYWQuZ3VpbGQuY2hhbm5lbHMgPz8gW10pLCAuLi4ocGF5bG9hZC5ndWlsZC50aHJlYWRzID8/IFtdKV0ubWFwKChjaGFubmVsKSA9PiB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGJvdC50cmFuc2Zvcm1lcnMuY2hhbm5lbChib3QsIHsgY2hhbm5lbCwgZ3VpbGRJZCB9KVxuICAgICAgICByZXR1cm4gW3Jlc3VsdC5pZCwgcmVzdWx0XVxuICAgICAgfSksXG4gICAgKVxuICBpZiAocHJvcHMubWVtYmVycyAmJiBwYXlsb2FkLmd1aWxkLm1lbWJlcnMpXG4gICAgZ3VpbGQubWVtYmVycyA9IG5ldyBDb2xsZWN0aW9uKFxuICAgICAgcGF5bG9hZC5ndWlsZC5tZW1iZXJzLm1hcCgobWVtYmVyKSA9PiB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGJvdC50cmFuc2Zvcm1lcnMubWVtYmVyKGJvdCwgbWVtYmVyLCBndWlsZElkLCBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShtZW1iZXIudXNlciEuaWQpKVxuICAgICAgICByZXR1cm4gW3Jlc3VsdC5pZCwgcmVzdWx0XVxuICAgICAgfSksXG4gICAgKVxuICBpZiAocHJvcHMucm9sZXMgJiYgcGF5bG9hZC5ndWlsZC5yb2xlcylcbiAgICBndWlsZC5yb2xlcyA9IG5ldyBDb2xsZWN0aW9uKFxuICAgICAgcGF5bG9hZC5ndWlsZC5yb2xlcy5tYXAoKHJvbGUpID0+IHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gYm90LnRyYW5zZm9ybWVycy5yb2xlKGJvdCwgeyByb2xlLCBndWlsZElkIH0pXG4gICAgICAgIHJldHVybiBbcmVzdWx0LmlkLCByZXN1bHRdXG4gICAgICB9KSxcbiAgICApXG4gIGlmIChwcm9wcy5lbW9qaXMgJiYgcGF5bG9hZC5ndWlsZC5lbW9qaXMpXG4gICAgZ3VpbGQuZW1vamlzID0gbmV3IENvbGxlY3Rpb24oXG4gICAgICBwYXlsb2FkLmd1aWxkLmVtb2ppcy5tYXAoKGVtb2ppKSA9PiB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGJvdC50cmFuc2Zvcm1lcnMuZW1vamkoYm90LCBlbW9qaSlcbiAgICAgICAgcmV0dXJuIFtyZXN1bHQuaWQhLCByZXN1bHRdXG4gICAgICB9KSxcbiAgICApXG4gIGlmIChwcm9wcy52b2ljZVN0YXRlcyAmJiBwYXlsb2FkLmd1aWxkLnZvaWNlX3N0YXRlcylcbiAgICBndWlsZC52b2ljZVN0YXRlcyA9IG5ldyBDb2xsZWN0aW9uKFxuICAgICAgcGF5bG9hZC5ndWlsZC52b2ljZV9zdGF0ZXMubWFwKCh2b2ljZVN0YXRlKSA9PiB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGJvdC50cmFuc2Zvcm1lcnMudm9pY2VTdGF0ZShib3QsIHsgdm9pY2VTdGF0ZSwgZ3VpbGRJZCB9KVxuICAgICAgICByZXR1cm4gW3Jlc3VsdC51c2VySWQsIHJlc3VsdF1cbiAgICAgIH0pLFxuICAgIClcbiAgaWYgKHByb3BzLnN0aWNrZXJzICYmIHBheWxvYWQuZ3VpbGQuc3RpY2tlcnMpXG4gICAgZ3VpbGQuc3RpY2tlcnMgPSBuZXcgQ29sbGVjdGlvbihcbiAgICAgIHBheWxvYWQuZ3VpbGQuc3RpY2tlcnM/Lm1hcCgoc3RpY2tlcikgPT4ge1xuICAgICAgICBjb25zdCByZXN1bHQgPSBib3QudHJhbnNmb3JtZXJzLnN0aWNrZXIoYm90LCBzdGlja2VyKVxuICAgICAgICByZXR1cm4gW3Jlc3VsdC5pZCwgcmVzdWx0XVxuICAgICAgfSksXG4gICAgKVxuICBpZiAocHJvcHMuc3lzdGVtQ2hhbm5lbEZsYWdzICYmIHBheWxvYWQuZ3VpbGQuc3lzdGVtX2NoYW5uZWxfZmxhZ3MpIGd1aWxkLnN5c3RlbUNoYW5uZWxGbGFncyA9IHBheWxvYWQuZ3VpbGQuc3lzdGVtX2NoYW5uZWxfZmxhZ3NcbiAgaWYgKHByb3BzLnZhbml0eVVybENvZGUgJiYgcGF5bG9hZC5ndWlsZC52YW5pdHlfdXJsX2NvZGUpIGd1aWxkLnZhbml0eVVybENvZGUgPSBwYXlsb2FkLmd1aWxkLnZhbml0eV91cmxfY29kZVxuICBpZiAocHJvcHMudmVyaWZpY2F0aW9uTGV2ZWwpIGd1aWxkLnZlcmlmaWNhdGlvbkxldmVsID0gcGF5bG9hZC5ndWlsZC52ZXJpZmljYXRpb25fbGV2ZWxcbiAgaWYgKHByb3BzLndlbGNvbWVTY3JlZW4gJiYgcGF5bG9hZC5ndWlsZC53ZWxjb21lX3NjcmVlbilcbiAgICBndWlsZC53ZWxjb21lU2NyZWVuID0ge1xuICAgICAgZGVzY3JpcHRpb246IHBheWxvYWQuZ3VpbGQud2VsY29tZV9zY3JlZW4uZGVzY3JpcHRpb24gPz8gdW5kZWZpbmVkLFxuICAgICAgd2VsY29tZUNoYW5uZWxzOiBwYXlsb2FkLmd1aWxkLndlbGNvbWVfc2NyZWVuLndlbGNvbWVfY2hhbm5lbHMubWFwKCh3YykgPT4gKHtcbiAgICAgICAgY2hhbm5lbElkOiBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZSh3Yy5jaGFubmVsX2lkKSxcbiAgICAgICAgZGVzY3JpcHRpb246IHdjLmRlc2NyaXB0aW9uLFxuICAgICAgICBlbW9qaUlkOiB3Yy5lbW9qaV9pZCA/IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHdjLmVtb2ppX2lkKSA6IHVuZGVmaW5lZCxcbiAgICAgICAgZW1vamlOYW1lOiB3Yy5lbW9qaV9uYW1lID8/IHVuZGVmaW5lZCxcbiAgICAgIH0pKSxcbiAgICB9XG4gIGlmIChwcm9wcy5kaXNjb3ZlcnlTcGxhc2ggJiYgcGF5bG9hZC5ndWlsZC5kaXNjb3Zlcnlfc3BsYXNoKSBndWlsZC5kaXNjb3ZlcnlTcGxhc2ggPSBpY29uSGFzaFRvQmlnSW50KHBheWxvYWQuZ3VpbGQuZGlzY292ZXJ5X3NwbGFzaClcbiAgaWYgKHByb3BzLmpvaW5lZEF0ICYmIHBheWxvYWQuZ3VpbGQuam9pbmVkX2F0KSBndWlsZC5qb2luZWRBdCA9IERhdGUucGFyc2UocGF5bG9hZC5ndWlsZC5qb2luZWRfYXQpXG4gIGlmIChwcm9wcy5tZW1iZXJDb3VudCAmJiBwYXlsb2FkLmd1aWxkLm1lbWJlcl9jb3VudCkgZ3VpbGQubWVtYmVyQ291bnQgPSBwYXlsb2FkLmd1aWxkLm1lbWJlcl9jb3VudCA/PyAwXG4gIGlmIChwcm9wcy5zaGFyZElkKSBndWlsZC5zaGFyZElkID0gcGF5bG9hZC5zaGFyZElkXG4gIGlmIChwcm9wcy5pY29uICYmIHBheWxvYWQuZ3VpbGQuaWNvbikgZ3VpbGQuaWNvbiA9IGljb25IYXNoVG9CaWdJbnQocGF5bG9hZC5ndWlsZC5pY29uKVxuICBpZiAocHJvcHMuYmFubmVyICYmIHBheWxvYWQuZ3VpbGQuYmFubmVyKSBndWlsZC5iYW5uZXIgPSBpY29uSGFzaFRvQmlnSW50KHBheWxvYWQuZ3VpbGQuYmFubmVyKVxuICBpZiAocHJvcHMuc3BsYXNoICYmIHBheWxvYWQuZ3VpbGQuc3BsYXNoKSBndWlsZC5zcGxhc2ggPSBpY29uSGFzaFRvQmlnSW50KHBheWxvYWQuZ3VpbGQuc3BsYXNoKVxuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5ndWlsZC5pZCkgZ3VpbGQuaWQgPSBndWlsZElkXG4gIGlmIChwcm9wcy5vd25lcklkICYmIHBheWxvYWQuZ3VpbGQub3duZXJfaWQpIGd1aWxkLm93bmVySWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmd1aWxkLm93bmVyX2lkKVxuICBpZiAocHJvcHMucGVybWlzc2lvbnMgJiYgcGF5bG9hZC5ndWlsZC5wZXJtaXNzaW9ucykgZ3VpbGQucGVybWlzc2lvbnMgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmd1aWxkLnBlcm1pc3Npb25zKVxuICBpZiAocHJvcHMuYWZrQ2hhbm5lbElkICYmIHBheWxvYWQuZ3VpbGQuYWZrX2NoYW5uZWxfaWQpIGd1aWxkLmFma0NoYW5uZWxJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuZ3VpbGQuYWZrX2NoYW5uZWxfaWQpXG4gIGlmIChwcm9wcy53aWRnZXRDaGFubmVsSWQgJiYgcGF5bG9hZC5ndWlsZC53aWRnZXRfY2hhbm5lbF9pZCkgZ3VpbGQud2lkZ2V0Q2hhbm5lbElkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5ndWlsZC53aWRnZXRfY2hhbm5lbF9pZClcbiAgaWYgKHByb3BzLmFwcGxpY2F0aW9uSWQgJiYgcGF5bG9hZC5ndWlsZC5hcHBsaWNhdGlvbl9pZCkgZ3VpbGQuYXBwbGljYXRpb25JZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuZ3VpbGQuYXBwbGljYXRpb25faWQpXG4gIGlmIChwcm9wcy5zeXN0ZW1DaGFubmVsSWQgJiYgcGF5bG9hZC5ndWlsZC5zeXN0ZW1fY2hhbm5lbF9pZCkgZ3VpbGQuc3lzdGVtQ2hhbm5lbElkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5ndWlsZC5zeXN0ZW1fY2hhbm5lbF9pZClcbiAgaWYgKHByb3BzLnJ1bGVzQ2hhbm5lbElkICYmIHBheWxvYWQuZ3VpbGQucnVsZXNfY2hhbm5lbF9pZCkgZ3VpbGQucnVsZXNDaGFubmVsSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmd1aWxkLnJ1bGVzX2NoYW5uZWxfaWQpXG4gIGlmIChwcm9wcy5wdWJsaWNVcGRhdGVzQ2hhbm5lbElkICYmIHBheWxvYWQuZ3VpbGQucHVibGljX3VwZGF0ZXNfY2hhbm5lbF9pZClcbiAgICBndWlsZC5wdWJsaWNVcGRhdGVzQ2hhbm5lbElkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5ndWlsZC5wdWJsaWNfdXBkYXRlc19jaGFubmVsX2lkKVxuICBpZiAocHJvcHMucHJlbWl1bVByb2dyZXNzQmFyRW5hYmxlZCAmJiBwYXlsb2FkLmd1aWxkLnByZW1pdW1fcHJvZ3Jlc3NfYmFyX2VuYWJsZWQpXG4gICAgZ3VpbGQucHJlbWl1bVByb2dyZXNzQmFyRW5hYmxlZCA9IHBheWxvYWQuZ3VpbGQucHJlbWl1bV9wcm9ncmVzc19iYXJfZW5hYmxlZFxuICBpZiAocHJvcHMubGFyZ2UgJiYgcGF5bG9hZC5ndWlsZC5sYXJnZSkgZ3VpbGQubGFyZ2UgPSBwYXlsb2FkLmd1aWxkLmxhcmdlXG4gIGlmIChwcm9wcy5vd25lciAmJiBwYXlsb2FkLmd1aWxkLm93bmVyKSBndWlsZC5vd25lciA9IHBheWxvYWQuZ3VpbGQub3duZXJcbiAgaWYgKHByb3BzLndpZGdldEVuYWJsZWQgJiYgcGF5bG9hZC5ndWlsZC53aWRnZXRfZW5hYmxlZCkgZ3VpbGQud2lkZ2V0RW5hYmxlZCA9IHBheWxvYWQuZ3VpbGQud2lkZ2V0X2VuYWJsZWRcbiAgaWYgKHByb3BzLnVuYXZhaWxhYmxlICYmIHBheWxvYWQuZ3VpbGQudW5hdmFpbGFibGUpIGd1aWxkLnVuYXZhaWxhYmxlID0gcGF5bG9hZC5ndWlsZC51bmF2YWlsYWJsZVxuICBpZiAocHJvcHMuaWNvbkhhc2ggJiYgcGF5bG9hZC5ndWlsZC5pY29uX2hhc2gpIGd1aWxkLmljb25IYXNoID0gaWNvbkhhc2hUb0JpZ0ludChwYXlsb2FkLmd1aWxkLmljb25faGFzaClcbiAgaWYgKHByb3BzLnByZXNlbmNlcyAmJiBwYXlsb2FkLmd1aWxkLnByZXNlbmNlcylcbiAgICBndWlsZC5wcmVzZW5jZXMgPSBwYXlsb2FkLmd1aWxkLnByZXNlbmNlcz8ubWFwKChwcmVzZW5jZSkgPT4gYm90LnRyYW5zZm9ybWVycy5wcmVzZW5jZShib3QsIHByZXNlbmNlIGFzIERpc2NvcmRQcmVzZW5jZVVwZGF0ZSkpXG4gIGlmIChwcm9wcy5zYWZldHlBbGVydHNDaGFubmVsSWQgJiYgcGF5bG9hZC5ndWlsZC5zYWZldHlfYWxlcnRzX2NoYW5uZWxfaWQpXG4gICAgZ3VpbGQuc2FmZXR5QWxlcnRzQ2hhbm5lbElkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5ndWlsZC5zYWZldHlfYWxlcnRzX2NoYW5uZWxfaWQpXG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMuZ3VpbGQoYm90LCBwYXlsb2FkLmd1aWxkLCBndWlsZClcbn1cbiJdLCJuYW1lcyI6WyJiYXNlR3VpbGQiLCJ0cmFuc2Zvcm1HdWlsZCIsInVuZGVmaW5lZCIsInRocmVhZHMiLCJjaGFubmVscyIsIkNvbGxlY3Rpb24iLCJhcnJheSIsImZpbHRlciIsIngiLCJ0eXBlIiwiQ2hhbm5lbFR5cGVzIiwiUHVibGljVGhyZWFkIiwiUHJpdmF0ZVRocmVhZCIsIkFubm91bmNlbWVudFRocmVhZCIsIm1hcCIsImlkIiwiZmVhdHVyZXMiLCJ0b2dnbGVzIiwiYm90IiwicGF5bG9hZCIsImd1aWxkSWQiLCJ0cmFuc2Zvcm1lcnMiLCJzbm93Zmxha2UiLCJndWlsZCIsInByb3BzIiwiZGVzaXJlZFByb3BlcnRpZXMiLCJPYmplY3QiLCJjcmVhdGUiLCJhZmtUaW1lb3V0IiwiYWZrX3RpbWVvdXQiLCJhcHByb3hpbWF0ZU1lbWJlckNvdW50IiwiYXBwcm94aW1hdGVfbWVtYmVyX2NvdW50IiwiYXBwcm94aW1hdGVQcmVzZW5jZUNvdW50IiwiYXBwcm94aW1hdGVfcHJlc2VuY2VfY291bnQiLCJkZWZhdWx0TWVzc2FnZU5vdGlmaWNhdGlvbnMiLCJkZWZhdWx0X21lc3NhZ2Vfbm90aWZpY2F0aW9ucyIsImRlc2NyaXB0aW9uIiwiR3VpbGRUb2dnbGVzIiwiZXhwbGljaXRDb250ZW50RmlsdGVyIiwiZXhwbGljaXRfY29udGVudF9maWx0ZXIiLCJtYXhNZW1iZXJzIiwibWF4X21lbWJlcnMiLCJtYXhQcmVzZW5jZXMiLCJtYXhfcHJlc2VuY2VzIiwibWF4VmlkZW9DaGFubmVsVXNlcnMiLCJtYXhfdmlkZW9fY2hhbm5lbF91c2VycyIsIm1heFN0YWdlVmlkZW9DaGFubmVsVXNlcnMiLCJtYXhfc3RhZ2VfdmlkZW9fY2hhbm5lbF91c2VycyIsIm1mYUxldmVsIiwibWZhX2xldmVsIiwibmFtZSIsIm5zZndMZXZlbCIsIm5zZndfbGV2ZWwiLCJwcmVmZXJyZWRMb2NhbGUiLCJwcmVmZXJyZWRfbG9jYWxlIiwicHJlbWl1bVN1YnNjcmlwdGlvbkNvdW50IiwicHJlbWl1bV9zdWJzY3JpcHRpb25fY291bnQiLCJwcmVtaXVtVGllciIsInByZW1pdW1fdGllciIsInN0YWdlSW5zdGFuY2VzIiwic3RhZ2VfaW5zdGFuY2VzIiwic2kiLCJjaGFubmVsSWQiLCJjaGFubmVsX2lkIiwidG9waWMiLCJjaGFubmVsIiwicmVzdWx0IiwibWVtYmVycyIsIm1lbWJlciIsInVzZXIiLCJyb2xlcyIsInJvbGUiLCJlbW9qaXMiLCJlbW9qaSIsInZvaWNlU3RhdGVzIiwidm9pY2Vfc3RhdGVzIiwidm9pY2VTdGF0ZSIsInVzZXJJZCIsInN0aWNrZXJzIiwic3RpY2tlciIsInN5c3RlbUNoYW5uZWxGbGFncyIsInN5c3RlbV9jaGFubmVsX2ZsYWdzIiwidmFuaXR5VXJsQ29kZSIsInZhbml0eV91cmxfY29kZSIsInZlcmlmaWNhdGlvbkxldmVsIiwidmVyaWZpY2F0aW9uX2xldmVsIiwid2VsY29tZVNjcmVlbiIsIndlbGNvbWVfc2NyZWVuIiwid2VsY29tZUNoYW5uZWxzIiwid2VsY29tZV9jaGFubmVscyIsIndjIiwiZW1vamlJZCIsImVtb2ppX2lkIiwiZW1vamlOYW1lIiwiZW1vamlfbmFtZSIsImRpc2NvdmVyeVNwbGFzaCIsImRpc2NvdmVyeV9zcGxhc2giLCJpY29uSGFzaFRvQmlnSW50Iiwiam9pbmVkQXQiLCJqb2luZWRfYXQiLCJEYXRlIiwicGFyc2UiLCJtZW1iZXJDb3VudCIsIm1lbWJlcl9jb3VudCIsInNoYXJkSWQiLCJpY29uIiwiYmFubmVyIiwic3BsYXNoIiwib3duZXJJZCIsIm93bmVyX2lkIiwicGVybWlzc2lvbnMiLCJhZmtDaGFubmVsSWQiLCJhZmtfY2hhbm5lbF9pZCIsIndpZGdldENoYW5uZWxJZCIsIndpZGdldF9jaGFubmVsX2lkIiwiYXBwbGljYXRpb25JZCIsImFwcGxpY2F0aW9uX2lkIiwic3lzdGVtQ2hhbm5lbElkIiwic3lzdGVtX2NoYW5uZWxfaWQiLCJydWxlc0NoYW5uZWxJZCIsInJ1bGVzX2NoYW5uZWxfaWQiLCJwdWJsaWNVcGRhdGVzQ2hhbm5lbElkIiwicHVibGljX3VwZGF0ZXNfY2hhbm5lbF9pZCIsInByZW1pdW1Qcm9ncmVzc0JhckVuYWJsZWQiLCJwcmVtaXVtX3Byb2dyZXNzX2Jhcl9lbmFibGVkIiwibGFyZ2UiLCJvd25lciIsIndpZGdldEVuYWJsZWQiLCJ3aWRnZXRfZW5hYmxlZCIsInVuYXZhaWxhYmxlIiwiaWNvbkhhc2giLCJpY29uX2hhc2giLCJwcmVzZW5jZXMiLCJwcmVzZW5jZSIsInNhZmV0eUFsZXJ0c0NoYW5uZWxJZCIsInNhZmV0eV9hbGVydHNfY2hhbm5lbF9pZCIsImN1c3RvbWl6ZXJzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztJQUthQSxTQUFTO2VBQVRBOztJQWtCR0MsY0FBYztlQUFkQTs7O3VCQXZCNEQ7dUJBQy9CO3VCQUVoQjtBQUV0QixNQUFNRCxZQUFvRTtJQUMvRSwyRUFBMkU7SUFDM0UsR0FBSUUsU0FBUztJQUViLElBQUlDLFdBQVU7UUFDWixJQUFJLENBQUMsSUFBSSxDQUFDQyxRQUFRLEVBQUUsT0FBTyxJQUFJQyxpQkFBVTtRQUV6QyxNQUFNRixVQUFVLElBQUksQ0FBQ0MsUUFBUSxDQUMxQkUsS0FBSyxHQUNMQyxNQUFNLENBQUMsQ0FBQ0MsSUFBTUEsRUFBRUMsSUFBSSxLQUFLQyxtQkFBWSxDQUFDQyxZQUFZLElBQUlILEVBQUVDLElBQUksS0FBS0MsbUJBQVksQ0FBQ0UsYUFBYSxJQUFJSixFQUFFQyxJQUFJLEtBQUtDLG1C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
165
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvZ3VpbGQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbm5lbFR5cGVzLCB0eXBlIERpc2NvcmRHdWlsZCwgdHlwZSBEaXNjb3JkUHJlc2VuY2VVcGRhdGUgfSBmcm9tICdAZGlzY29yZGVuby90eXBlcydcbmltcG9ydCB7IENvbGxlY3Rpb24sIGljb25IYXNoVG9CaWdJbnQgfSBmcm9tICdAZGlzY29yZGVuby91dGlscydcbmltcG9ydCB0eXBlIHsgQm90LCBDaGFubmVsLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yLCBHdWlsZCwgU2V0dXBEZXNpcmVkUHJvcHMsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzIH0gZnJvbSAnLi4vaW5kZXguanMnXG5pbXBvcnQgeyBHdWlsZFRvZ2dsZXMgfSBmcm9tICcuL3RvZ2dsZXMvZ3VpbGQuanMnXG5cbmV4cG9ydCBjb25zdCBiYXNlR3VpbGQ6IEd1aWxkID0ge1xuICAvLyBUaGlzIGFsbG93cyB0eXBlc2NyaXB0IHRvIHN0aWxsIGNoZWNrIGZvciB0eXBlIGVycm9ycyBvbiBmdW5jdGlvbnMgYmVsb3dcbiAgLi4uKHVuZGVmaW5lZCBhcyB1bmtub3duIGFzIEd1aWxkKSxcblxuICBnZXQgdGhyZWFkcygpIHtcbiAgICBpZiAoIXRoaXMuY2hhbm5lbHMpIHJldHVybiBuZXcgQ29sbGVjdGlvbjxiaWdpbnQsIENoYW5uZWw+KClcblxuICAgIGNvbnN0IHRocmVhZHMgPSB0aGlzLmNoYW5uZWxzXG4gICAgICAuYXJyYXkoKVxuICAgICAgLmZpbHRlcigoeCkgPT4geC50eXBlID09PSBDaGFubmVsVHlwZXMuUHVibGljVGhyZWFkIHx8IHgudHlwZSA9PT0gQ2hhbm5lbFR5cGVzLlByaXZhdGVUaHJlYWQgfHwgeC50eXBlID09PSBDaGFubmVsVHlwZXMuQW5ub3VuY2VtZW50VGhyZWFkKVxuXG4gICAgcmV0dXJuIG5ldyBDb2xsZWN0aW9uKHRocmVhZHMubWFwKCh4KSA9PiBbeC5pZCwgeF0pKVxuICB9LFxuICBnZXQgZmVhdHVyZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMudG9nZ2xlcy5mZWF0dXJlc1xuICB9LFxufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtR3VpbGQoYm90OiBCb3QsIHBheWxvYWQ6IHsgZ3VpbGQ6IERpc2NvcmRHdWlsZDsgc2hhcmRJZDogbnVtYmVyIH0pOiBHdWlsZCB7XG4gIGNvbnN0IGd1aWxkSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmd1aWxkLmlkKVxuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuZ3VpbGRcbiAgY29uc3QgZ3VpbGQ6IFNldHVwRGVzaXJlZFByb3BzPEd1aWxkLCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj4gPSBPYmplY3QuY3JlYXRlKGJhc2VHdWlsZClcblxuICBpZiAocHJvcHMuYWZrVGltZW91dCAmJiBwYXlsb2FkLmd1aWxkLmFma190aW1lb3V0KSBndWlsZC5hZmtUaW1lb3V0ID0gcGF5bG9hZC5ndWlsZC5hZmtfdGltZW91dFxuICBpZiAocHJvcHMuYXBwcm94aW1hdGVNZW1iZXJDb3VudCAmJiBwYXlsb2FkLmd1aWxkLmFwcHJveGltYXRlX21lbWJlcl9jb3VudCkgZ3VpbGQuYXBwcm94aW1hdGVNZW1iZXJDb3VudCA9IHBheWxvYWQuZ3VpbGQuYXBwcm94aW1hdGVfbWVtYmVyX2NvdW50XG4gIGlmIChwcm9wcy5hcHByb3hpbWF0ZVByZXNlbmNlQ291bnQgJiYgcGF5bG9hZC5ndWlsZC5hcHByb3hpbWF0ZV9wcmVzZW5jZV9jb3VudClcbiAgICBndWlsZC5hcHByb3hpbWF0ZVByZXNlbmNlQ291bnQgPSBwYXlsb2FkLmd1aWxkLmFwcHJveGltYXRlX3ByZXNlbmNlX2NvdW50XG4gIGlmIChwcm9wcy5kZWZhdWx0TWVzc2FnZU5vdGlmaWNhdGlvbnMpIGd1aWxkLmRlZmF1bHRNZXNzYWdlTm90aWZpY2F0aW9ucyA9IHBheWxvYWQuZ3VpbGQuZGVmYXVsdF9tZXNzYWdlX25vdGlmaWNhdGlvbnNcbiAgaWYgKHByb3BzLmRlc2NyaXB0aW9uICYmIHBheWxvYWQuZ3VpbGQuZGVzY3JpcHRpb24pIGd1aWxkLmRlc2NyaXB0aW9uID0gcGF5bG9hZC5ndWlsZC5kZXNjcmlwdGlvblxuICBpZiAocHJvcHMudG9nZ2xlcykgZ3VpbGQudG9nZ2xlcyA9IG5ldyBHdWlsZFRvZ2dsZXMocGF5bG9hZC5ndWlsZClcbiAgaWYgKHByb3BzLmV4cGxpY2l0Q29udGVudEZpbHRlcikgZ3VpbGQuZXhwbGljaXRDb250ZW50RmlsdGVyID0gcGF5bG9hZC5ndWlsZC5leHBsaWNpdF9jb250ZW50X2ZpbHRlclxuICBpZiAocHJvcHMubWF4TWVtYmVycyAmJiBwYXlsb2FkLmd1aWxkLm1heF9tZW1iZXJzKSBndWlsZC5tYXhNZW1iZXJzID0gcGF5bG9hZC5ndWlsZC5tYXhfbWVtYmVyc1xuICBpZiAocHJvcHMubWF4UHJlc2VuY2VzICYmIHBheWxvYWQuZ3VpbGQubWF4X3ByZXNlbmNlcykgZ3VpbGQubWF4UHJlc2VuY2VzID0gcGF5bG9hZC5ndWlsZC5tYXhfcHJlc2VuY2VzID8/IHVuZGVmaW5lZFxuICBpZiAocHJvcHMubWF4VmlkZW9DaGFubmVsVXNlcnMgJiYgcGF5bG9hZC5ndWlsZC5tYXhfdmlkZW9fY2hhbm5lbF91c2VycykgZ3VpbGQubWF4VmlkZW9DaGFubmVsVXNlcnMgPSBwYXlsb2FkLmd1aWxkLm1heF92aWRlb19jaGFubmVsX3VzZXJzXG4gIGlmIChwcm9wcy5tYXhTdGFnZVZpZGVvQ2hhbm5lbFVzZXJzICYmIHBheWxvYWQuZ3VpbGQubWF4X3N0YWdlX3ZpZGVvX2NoYW5uZWxfdXNlcnMpXG4gICAgZ3VpbGQubWF4U3RhZ2VWaWRlb0NoYW5uZWxVc2VycyA9IHBheWxvYWQuZ3VpbGQubWF4X3N0YWdlX3ZpZGVvX2NoYW5uZWxfdXNlcnNcbiAgaWYgKHByb3BzLm1mYUxldmVsKSBndWlsZC5tZmFMZXZlbCA9IHBheWxvYWQuZ3VpbGQubWZhX2xldmVsXG4gIGlmIChwcm9wcy5uYW1lICYmIHBheWxvYWQuZ3VpbGQubmFtZSkgZ3VpbGQubmFtZSA9IHBheWxvYWQuZ3VpbGQubmFtZVxuICBpZiAocHJvcHMubnNmd0xldmVsKSBndWlsZC5uc2Z3TGV2ZWwgPSBwYXlsb2FkLmd1aWxkLm5zZndfbGV2ZWxcbiAgaWYgKHByb3BzLnByZWZlcnJlZExvY2FsZSAmJiBwYXlsb2FkLmd1aWxkLnByZWZlcnJlZF9sb2NhbGUpIGd1aWxkLnByZWZlcnJlZExvY2FsZSA9IHBheWxvYWQuZ3VpbGQucHJlZmVycmVkX2xvY2FsZVxuICBpZiAocHJvcHMucHJlbWl1bVN1YnNjcmlwdGlvbkNvdW50ICYmIHBheWxvYWQuZ3VpbGQucHJlbWl1bV9zdWJzY3JpcHRpb25fY291bnQgIT09IHVuZGVmaW5lZClcbiAgICBndWlsZC5wcmVtaXVtU3Vic2NyaXB0aW9uQ291bnQgPSBwYXlsb2FkLmd1aWxkLnByZW1pdW1fc3Vic2NyaXB0aW9uX2NvdW50XG4gIGlmIChwcm9wcy5wcmVtaXVtVGllcikgZ3VpbGQucHJlbWl1bVRpZXIgPSBwYXlsb2FkLmd1aWxkLnByZW1pdW1fdGllclxuICBpZiAocHJvcHMuc3RhZ2VJbnN0YW5jZXMgJiYgcGF5bG9hZC5ndWlsZC5zdGFnZV9pbnN0YW5jZXMpXG4gICAgZ3VpbGQuc3RhZ2VJbnN0YW5jZXMgPSBwYXlsb2FkLmd1aWxkLnN0YWdlX2luc3RhbmNlcy5tYXAoKHNpKSA9PiAoe1xuICAgICAgLyoqIFRoZSBpZCBvZiB0aGlzIFN0YWdlIGluc3RhbmNlICovXG4gICAgICBpZDogYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2Uoc2kuaWQpLFxuICAgICAgLyoqIFRoZSBndWlsZCBpZCBvZiB0aGUgYXNzb2NpYXRlZCBTdGFnZSBjaGFubmVsICovXG4gICAgICBndWlsZElkLFxuICAgICAgLyoqIFRoZSBpZCBvZiB0aGUgYXNzb2NpYXRlZCBTdGFnZSBjaGFubmVsICovXG4gICAgICBjaGFubmVsSWQ6IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHNpLmNoYW5uZWxfaWQpLFxuICAgICAgLyoqIFRoZSB0b3BpYyBvZiB0aGUgU3RhZ2UgaW5zdGFuY2UgKDEtMTIwIGNoYXJhY3RlcnMpICovXG4gICAgICB0b3BpYzogc2kudG9waWMsXG4gICAgfSkpXG4gIGlmIChwcm9wcy5jaGFubmVscyAmJiAoISFwYXlsb2FkLmd1aWxkLmNoYW5uZWxzIHx8ICEhcGF5bG9hZC5ndWlsZC50aHJlYWRzKSlcbiAgICBndWlsZC5jaGFubmVscyA9IG5ldyBDb2xsZWN0aW9uKFxuICAgICAgWy4uLihwYXlsb2FkLmd1aWxkLmNoYW5uZWxzID8/IFtdKSwgLi4uKHBheWxvYWQuZ3VpbGQudGhyZWFkcyA/PyBbXSldLm1hcCgoY2hhbm5lbCkgPT4ge1xuICAgICAgICBjb25zdCByZXN1bHQgPSBib3QudHJhbnNmb3JtZXJzLmNoYW5uZWwoYm90LCB7IGNoYW5uZWwsIGd1aWxkSWQgfSlcbiAgICAgICAgLy8gVE9ETzogV2Ugc2hvdWxkIGNoZWNrIHRoYXQgaWQgZXhpc3RzLCBvciBlbHNlIHRoZSBjb2xsZWN0aW9uIHdpbGwgaGF2ZSB1bmRlZmluZWQgYXMgaXQncyBrZXkgKFRoaXMgaXMgdmFsaWQgZm9yIGFsbCB0aGUgY29sbGVjdGlvbnMgYmVsb3cgYXMgd2VsbClcbiAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvcjogV2UgVE9ETyBhYm92ZVxuICAgICAgICByZXR1cm4gW3Jlc3VsdC5pZCwgcmVzdWx0XVxuICAgICAgfSksXG4gICAgKVxuICBpZiAocHJvcHMubWVtYmVycyAmJiBwYXlsb2FkLmd1aWxkLm1lbWJlcnMpXG4gICAgZ3VpbGQubWVtYmVycyA9IG5ldyBDb2xsZWN0aW9uKFxuICAgICAgcGF5bG9hZC5ndWlsZC5tZW1iZXJzLm1hcCgobWVtYmVyKSA9PiB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGJvdC50cmFuc2Zvcm1lcnMubWVtYmVyKGJvdCwgbWVtYmVyLCBndWlsZElkLCBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShtZW1iZXIudXNlciEuaWQpKVxuICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yOiBXZSBUT0RPIGFib3ZlXG4gICAgICAgIHJldHVybiBbcmVzdWx0LmlkLCByZXN1bHRdXG4gICAgICB9KSxcbiAgICApXG4gIGlmIChwcm9wcy5yb2xlcyAmJiBwYXlsb2FkLmd1aWxkLnJvbGVzKVxuICAgIGd1aWxkLnJvbGVzID0gbmV3IENvbGxlY3Rpb24oXG4gICAgICBwYXlsb2FkLmd1aWxkLnJvbGVzLm1hcCgocm9sZSkgPT4ge1xuICAgICAgICBjb25zdCByZXN1bHQgPSBib3QudHJhbnNmb3JtZXJzLnJvbGUoYm90LCB7IHJvbGUsIGd1aWxkSWQgfSlcbiAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvcjogV2UgVE9ETyBhYm92ZVxuICAgICAgICByZXR1cm4gW3Jlc3VsdC5pZCwgcmVzdWx0XVxuICAgICAgfSksXG4gICAgKVxuICBpZiAocHJvcHMuZW1vamlzICYmIHBheWxvYWQuZ3VpbGQuZW1vamlzKVxuICAgIGd1aWxkLmVtb2ppcyA9IG5ldyBDb2xsZWN0aW9uKFxuICAgICAgcGF5bG9hZC5ndWlsZC5lbW9qaXMubWFwKChlbW9qaSkgPT4ge1xuICAgICAgICBjb25zdCByZXN1bHQgPSBib3QudHJhbnNmb3JtZXJzLmVtb2ppKGJvdCwgZW1vamkpXG4gICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3I6IFdlIFRPRE8gYWJvdmVcbiAgICAgICAgcmV0dXJuIFtyZXN1bHQuaWQhLCByZXN1bHRdXG4gICAgICB9KSxcbiAgICApXG4gIGlmIChwcm9wcy52b2ljZVN0YXRlcyAmJiBwYXlsb2FkLmd1aWxkLnZvaWNlX3N0YXRlcylcbiAgICBndWlsZC52b2ljZVN0YXRlcyA9IG5ldyBDb2xsZWN0aW9uKFxuICAgICAgcGF5bG9hZC5ndWlsZC52b2ljZV9zdGF0ZXMubWFwKCh2b2ljZVN0YXRlKSA9PiB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGJvdC50cmFuc2Zvcm1lcnMudm9pY2VTdGF0ZShib3QsIHsgdm9pY2VTdGF0ZSwgZ3VpbGRJZCB9KVxuICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yOiBXZSBUT0RPIGFib3ZlXG4gICAgICAgIHJldHVybiBbcmVzdWx0LnVzZXJJZCwgcmVzdWx0XVxuICAgICAgfSksXG4gICAgKVxuICBpZiAocHJvcHMuc3RpY2tlcnMgJiYgcGF5bG9hZC5ndWlsZC5zdGlja2VycylcbiAgICBndWlsZC5zdGlja2VycyA9IG5ldyBDb2xsZWN0aW9uKFxuICAgICAgcGF5bG9hZC5ndWlsZC5zdGlja2Vycz8ubWFwKChzdGlja2VyKSA9PiB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGJvdC50cmFuc2Zvcm1lcnMuc3RpY2tlcihib3QsIHN0aWNrZXIpXG4gICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3I6IFdlIFRPRE8gYWJvdmVcbiAgICAgICAgcmV0dXJuIFtyZXN1bHQuaWQsIHJlc3VsdF1cbiAgICAgIH0pLFxuICAgIClcbiAgaWYgKHByb3BzLnN5c3RlbUNoYW5uZWxGbGFncyAmJiBwYXlsb2FkLmd1aWxkLnN5c3RlbV9jaGFubmVsX2ZsYWdzKSBndWlsZC5zeXN0ZW1DaGFubmVsRmxhZ3MgPSBwYXlsb2FkLmd1aWxkLnN5c3RlbV9jaGFubmVsX2ZsYWdzXG4gIGlmIChwcm9wcy52YW5pdHlVcmxDb2RlICYmIHBheWxvYWQuZ3VpbGQudmFuaXR5X3VybF9jb2RlKSBndWlsZC52YW5pdHlVcmxDb2RlID0gcGF5bG9hZC5ndWlsZC52YW5pdHlfdXJsX2NvZGVcbiAgaWYgKHByb3BzLnZlcmlmaWNhdGlvbkxldmVsKSBndWlsZC52ZXJpZmljYXRpb25MZXZlbCA9IHBheWxvYWQuZ3VpbGQudmVyaWZpY2F0aW9uX2xldmVsXG4gIGlmIChwcm9wcy53ZWxjb21lU2NyZWVuICYmIHBheWxvYWQuZ3VpbGQud2VsY29tZV9zY3JlZW4pXG4gICAgZ3VpbGQud2VsY29tZVNjcmVlbiA9IHtcbiAgICAgIGRlc2NyaXB0aW9uOiBwYXlsb2FkLmd1aWxkLndlbGNvbWVfc2NyZWVuLmRlc2NyaXB0aW9uID8/IHVuZGVmaW5lZCxcbiAgICAgIHdlbGNvbWVDaGFubmVsczogcGF5bG9hZC5ndWlsZC53ZWxjb21lX3NjcmVlbi53ZWxjb21lX2NoYW5uZWxzLm1hcCgod2MpID0+ICh7XG4gICAgICAgIGNoYW5uZWxJZDogYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2Uod2MuY2hhbm5lbF9pZCksXG4gICAgICAgIGRlc2NyaXB0aW9uOiB3Yy5kZXNjcmlwdGlvbixcbiAgICAgICAgZW1vamlJZDogd2MuZW1vamlfaWQgPyBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZSh3Yy5lbW9qaV9pZCkgOiB1bmRlZmluZWQsXG4gICAgICAgIGVtb2ppTmFtZTogd2MuZW1vamlfbmFtZSA/PyB1bmRlZmluZWQsXG4gICAgICB9KSksXG4gICAgfVxuICBpZiAocHJvcHMuZGlzY292ZXJ5U3BsYXNoICYmIHBheWxvYWQuZ3VpbGQuZGlzY292ZXJ5X3NwbGFzaCkgZ3VpbGQuZGlzY292ZXJ5U3BsYXNoID0gaWNvbkhhc2hUb0JpZ0ludChwYXlsb2FkLmd1aWxkLmRpc2NvdmVyeV9zcGxhc2gpXG4gIGlmIChwcm9wcy5qb2luZWRBdCAmJiBwYXlsb2FkLmd1aWxkLmpvaW5lZF9hdCkgZ3VpbGQuam9pbmVkQXQgPSBEYXRlLnBhcnNlKHBheWxvYWQuZ3VpbGQuam9pbmVkX2F0KVxuICBpZiAocHJvcHMubWVtYmVyQ291bnQgJiYgcGF5bG9hZC5ndWlsZC5tZW1iZXJfY291bnQpIGd1aWxkLm1lbWJlckNvdW50ID0gcGF5bG9hZC5ndWlsZC5tZW1iZXJfY291bnQgPz8gMFxuICBpZiAocHJvcHMuc2hhcmRJZCkgZ3VpbGQuc2hhcmRJZCA9IHBheWxvYWQuc2hhcmRJZFxuICBpZiAocHJvcHMuaWNvbiAmJiBwYXlsb2FkLmd1aWxkLmljb24pIGd1aWxkLmljb24gPSBpY29uSGFzaFRvQmlnSW50KHBheWxvYWQuZ3VpbGQuaWNvbilcbiAgaWYgKHByb3BzLmJhbm5lciAmJiBwYXlsb2FkLmd1aWxkLmJhbm5lcikgZ3VpbGQuYmFubmVyID0gaWNvbkhhc2hUb0JpZ0ludChwYXlsb2FkLmd1aWxkLmJhbm5lcilcbiAgaWYgKHByb3BzLnNwbGFzaCAmJiBwYXlsb2FkLmd1aWxkLnNwbGFzaCkgZ3VpbGQuc3BsYXNoID0gaWNvbkhhc2hUb0JpZ0ludChwYXlsb2FkLmd1aWxkLnNwbGFzaClcbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuZ3VpbGQuaWQpIGd1aWxkLmlkID0gZ3VpbGRJZFxuICBpZiAocHJvcHMub3duZXJJZCAmJiBwYXlsb2FkLmd1aWxkLm93bmVyX2lkKSBndWlsZC5vd25lcklkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5ndWlsZC5vd25lcl9pZClcbiAgaWYgKHByb3BzLnBlcm1pc3Npb25zICYmIHBheWxvYWQuZ3VpbGQucGVybWlzc2lvbnMpIGd1aWxkLnBlcm1pc3Npb25zID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5ndWlsZC5wZXJtaXNzaW9ucylcbiAgaWYgKHByb3BzLmFma0NoYW5uZWxJZCAmJiBwYXlsb2FkLmd1aWxkLmFma19jaGFubmVsX2lkKSBndWlsZC5hZmtDaGFubmVsSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmd1aWxkLmFma19jaGFubmVsX2lkKVxuICBpZiAocHJvcHMud2lkZ2V0Q2hhbm5lbElkICYmIHBheWxvYWQuZ3VpbGQud2lkZ2V0X2NoYW5uZWxfaWQpIGd1aWxkLndpZGdldENoYW5uZWxJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuZ3VpbGQud2lkZ2V0X2NoYW5uZWxfaWQpXG4gIGlmIChwcm9wcy5hcHBsaWNhdGlvbklkICYmIHBheWxvYWQuZ3VpbGQuYXBwbGljYXRpb25faWQpIGd1aWxkLmFwcGxpY2F0aW9uSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmd1aWxkLmFwcGxpY2F0aW9uX2lkKVxuICBpZiAocHJvcHMuc3lzdGVtQ2hhbm5lbElkICYmIHBheWxvYWQuZ3VpbGQuc3lzdGVtX2NoYW5uZWxfaWQpIGd1aWxkLnN5c3RlbUNoYW5uZWxJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuZ3VpbGQuc3lzdGVtX2NoYW5uZWxfaWQpXG4gIGlmIChwcm9wcy5ydWxlc0NoYW5uZWxJZCAmJiBwYXlsb2FkLmd1aWxkLnJ1bGVzX2NoYW5uZWxfaWQpIGd1aWxkLnJ1bGVzQ2hhbm5lbElkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5ndWlsZC5ydWxlc19jaGFubmVsX2lkKVxuICBpZiAocHJvcHMucHVibGljVXBkYXRlc0NoYW5uZWxJZCAmJiBwYXlsb2FkLmd1aWxkLnB1YmxpY191cGRhdGVzX2NoYW5uZWxfaWQpXG4gICAgZ3VpbGQucHVibGljVXBkYXRlc0NoYW5uZWxJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuZ3VpbGQucHVibGljX3VwZGF0ZXNfY2hhbm5lbF9pZClcbiAgaWYgKHByb3BzLnByZW1pdW1Qcm9ncmVzc0JhckVuYWJsZWQgJiYgcGF5bG9hZC5ndWlsZC5wcmVtaXVtX3Byb2dyZXNzX2Jhcl9lbmFibGVkKVxuICAgIGd1aWxkLnByZW1pdW1Qcm9ncmVzc0JhckVuYWJsZWQgPSBwYXlsb2FkLmd1aWxkLnByZW1pdW1fcHJvZ3Jlc3NfYmFyX2VuYWJsZWRcbiAgaWYgKHByb3BzLmxhcmdlICYmIHBheWxvYWQuZ3VpbGQubGFyZ2UpIGd1aWxkLmxhcmdlID0gcGF5bG9hZC5ndWlsZC5sYXJnZVxuICBpZiAocHJvcHMub3duZXIgJiYgcGF5bG9hZC5ndWlsZC5vd25lcikgZ3VpbGQub3duZXIgPSBwYXlsb2FkLmd1aWxkLm93bmVyXG4gIGlmIChwcm9wcy53aWRnZXRFbmFibGVkICYmIHBheWxvYWQuZ3VpbGQud2lkZ2V0X2VuYWJsZWQpIGd1aWxkLndpZGdldEVuYWJsZWQgPSBwYXlsb2FkLmd1aWxkLndpZGdldF9lbmFibGVkXG4gIGlmIChwcm9wcy51bmF2YWlsYWJsZSAmJiBwYXlsb2FkLmd1aWxkLnVuYXZhaWxhYmxlKSBndWlsZC51bmF2YWlsYWJsZSA9IHBheWxvYWQuZ3VpbGQudW5hdmFpbGFibGVcbiAgaWYgKHByb3BzLmljb25IYXNoICYmIHBheWxvYWQuZ3VpbGQuaWNvbl9oYXNoKSBndWlsZC5pY29uSGFzaCA9IGljb25IYXNoVG9CaWdJbnQocGF5bG9hZC5ndWlsZC5pY29uX2hhc2gpXG4gIGlmIChwcm9wcy5wcmVzZW5jZXMgJiYgcGF5bG9hZC5ndWlsZC5wcmVzZW5jZXMpXG4gICAgZ3VpbGQucHJlc2VuY2VzID0gcGF5bG9hZC5ndWlsZC5wcmVzZW5jZXM/Lm1hcCgocHJlc2VuY2UpID0+IGJvdC50cmFuc2Zvcm1lcnMucHJlc2VuY2UoYm90LCBwcmVzZW5jZSBhcyBEaXNjb3JkUHJlc2VuY2VVcGRhdGUpKVxuICBpZiAocHJvcHMuc2FmZXR5QWxlcnRzQ2hhbm5lbElkICYmIHBheWxvYWQuZ3VpbGQuc2FmZXR5X2FsZXJ0c19jaGFubmVsX2lkKVxuICAgIGd1aWxkLnNhZmV0eUFsZXJ0c0NoYW5uZWxJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuZ3VpbGQuc2FmZXR5X2FsZXJ0c19jaGFubmVsX2lkKVxuICBpZiAocHJvcHMuaW5jaWRlbnRzRGF0YSAmJiBwYXlsb2FkLmd1aWxkLmluY2lkZW50c19kYXRhKSBndWlsZC5pbmNpZGVudHNEYXRhID0gYm90LnRyYW5zZm9ybWVycy5pbmNpZGVudHNEYXRhKGJvdCwgcGF5bG9hZC5ndWlsZC5pbmNpZGVudHNfZGF0YSlcblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy5ndWlsZChib3QsIHBheWxvYWQuZ3VpbGQsIGd1aWxkKVxufVxuIl0sIm5hbWVzIjpbImJhc2VHdWlsZCIsInRyYW5zZm9ybUd1aWxkIiwidW5kZWZpbmVkIiwidGhyZWFkcyIsImNoYW5uZWxzIiwiQ29sbGVjdGlvbiIsImFycmF5IiwiZmlsdGVyIiwieCIsInR5cGUiLCJDaGFubmVsVHlwZXMiLCJQdWJsaWNUaHJlYWQiLCJQcml2YXRlVGhyZWFkIiwiQW5ub3VuY2VtZW50VGhyZWFkIiwibWFwIiwiaWQiLCJmZWF0dXJlcyIsInRvZ2dsZXMiLCJib3QiLCJwYXlsb2FkIiwiZ3VpbGRJZCIsInRyYW5zZm9ybWVycyIsInNub3dmbGFrZSIsImd1aWxkIiwicHJvcHMiLCJkZXNpcmVkUHJvcGVydGllcyIsIk9iamVjdCIsImNyZWF0ZSIsImFma1RpbWVvdXQiLCJhZmtfdGltZW91dCIsImFwcHJveGltYXRlTWVtYmVyQ291bnQiLCJhcHByb3hpbWF0ZV9tZW1iZXJfY291bnQiLCJhcHByb3hpbWF0ZVByZXNlbmNlQ291bnQiLCJhcHByb3hpbWF0ZV9wcmVzZW5jZV9jb3VudCIsImRlZmF1bHRNZXNzYWdlTm90aWZpY2F0aW9ucyIsImRlZmF1bHRfbWVzc2FnZV9ub3RpZmljYXRpb25zIiwiZGVzY3JpcHRpb24iLCJHdWlsZFRvZ2dsZXMiLCJleHBsaWNpdENvbnRlbnRGaWx0ZXIiLCJleHBsaWNpdF9jb250ZW50X2ZpbHRlciIsIm1heE1lbWJlcnMiLCJtYXhfbWVtYmVycyIsIm1heFByZXNlbmNlcyIsIm1heF9wcmVzZW5jZXMiLCJtYXhWaWRlb0NoYW5uZWxVc2VycyIsIm1heF92aWRlb19jaGFubmVsX3VzZXJzIiwibWF4U3RhZ2VWaWRlb0NoYW5uZWxVc2VycyIsIm1heF9zdGFnZV92aWRlb19jaGFubmVsX3VzZXJzIiwibWZhTGV2ZWwiLCJtZmFfbGV2ZWwiLCJuYW1lIiwibnNmd0xldmVsIiwibnNmd19sZXZlbCIsInByZWZlcnJlZExvY2FsZSIsInByZWZlcnJlZF9sb2NhbGUiLCJwcmVtaXVtU3Vic2NyaXB0aW9uQ291bnQiLCJwcmVtaXVtX3N1YnNjcmlwdGlvbl9jb3VudCIsInByZW1pdW1UaWVyIiwicHJlbWl1bV90aWVyIiwic3RhZ2VJbnN0YW5jZXMiLCJzdGFnZV9pbnN0YW5jZXMiLCJzaSIsImNoYW5uZWxJZCIsImNoYW5uZWxfaWQiLCJ0b3BpYyIsImNoYW5uZWwiLCJyZXN1bHQiLCJtZW1iZXJzIiwibWVtYmVyIiwidXNlciIsInJvbGVzIiwicm9sZSIsImVtb2ppcyIsImVtb2ppIiwidm9pY2VTdGF0ZXMiLCJ2b2ljZV9zdGF0ZXMiLCJ2b2ljZVN0YXRlIiwidXNlcklkIiwic3RpY2tlcnMiLCJzdGlja2VyIiwic3lzdGVtQ2hhbm5lbEZsYWdzIiwic3lzdGVtX2NoYW5uZWxfZmxhZ3MiLCJ2YW5pdHlVcmxDb2RlIiwidmFuaXR5X3VybF9jb2RlIiwidmVyaWZpY2F0aW9uTGV2ZWwiLCJ2ZXJpZmljYXRpb25fbGV2ZWwiLCJ3ZWxjb21lU2NyZWVuIiwid2VsY29tZV9zY3JlZW4iLCJ3ZWxjb21lQ2hhbm5lbHMiLCJ3ZWxjb21lX2NoYW5uZWxzIiwid2MiLCJlbW9qaUlkIiwiZW1vamlfaWQiLCJlbW9qaU5hbWUiLCJlbW9qaV9uYW1lIiwiZGlzY292ZXJ5U3BsYXNoIiwiZGlzY292ZXJ5X3NwbGFzaCIsImljb25IYXNoVG9CaWdJbnQiLCJqb2luZWRBdCIsImpvaW5lZF9hdCIsIkRhdGUiLCJwYXJzZSIsIm1lbWJlckNvdW50IiwibWVtYmVyX2NvdW50Iiwic2hhcmRJZCIsImljb24iLCJiYW5uZXIiLCJzcGxhc2giLCJvd25lcklkIiwib3duZXJfaWQiLCJwZXJtaXNzaW9ucyIsImFma0NoYW5uZWxJZCIsImFma19jaGFubmVsX2lkIiwid2lkZ2V0Q2hhbm5lbElkIiwid2lkZ2V0X2NoYW5uZWxfaWQiLCJhcHBsaWNhdGlvbklkIiwiYXBwbGljYXRpb25faWQiLCJzeXN0ZW1DaGFubmVsSWQiLCJzeXN0ZW1fY2hhbm5lbF9pZCIsInJ1bGVzQ2hhbm5lbElkIiwicnVsZXNfY2hhbm5lbF9pZCIsInB1YmxpY1VwZGF0ZXNDaGFubmVsSWQiLCJwdWJsaWNfdXBkYXRlc19jaGFubmVsX2lkIiwicHJlbWl1bVByb2dyZXNzQmFyRW5hYmxlZCIsInByZW1pdW1fcHJvZ3Jlc3NfYmFyX2VuYWJsZWQiLCJsYXJnZSIsIm93bmVyIiwid2lkZ2V0RW5hYmxlZCIsIndpZGdldF9lbmFibGVkIiwidW5hdmFpbGFibGUiLCJpY29uSGFzaCIsImljb25faGFzaCIsInByZXNlbmNlcyIsInByZXNlbmNlIiwic2FmZXR5QWxlcnRzQ2hhbm5lbElkIiwic2FmZXR5X2FsZXJ0c19jaGFubmVsX2lkIiwiaW5jaWRlbnRzRGF0YSIsImluY2lkZW50c19kYXRhIiwiY3VzdG9taXplcnMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O1FBS2FBO2VBQUFBOztRQWtCR0M7ZUFBQUE7Ozt1QkF2QjREO3VCQUMvQjt1QkFFaEI7QUFFdEIsTUFBTUQsWUFBbUI7SUFDOUIsMkVBQTJFO0lBQzNFLEdBQUlFLFNBQVM7SUFFYixJQUFJQyxXQUFVO1FBQ1osSUFBSSxDQUFDLElBQUksQ0FBQ0MsUUFBUSxFQUFFLE9BQU8sSUFBSUMsaUJBQVU7UUFFekMsTUFBTUYsVUFBVSxJQUFJLENBQUNDLFFBQVEsQ0FDMUJFLEtBQUssR0FDTEMsTUFBTSxDQUFDLENBQUNDLElBQU1BLEVBQUVDLElBQUksS0FBS0MsbUJBQVksQ0FBQ0MsWUFBWSxJQUFJSCxFQUFFQyxJQUFJLEtBQUtDLG1CQUFZLENBQUNFLGFBQWEsSUFBSUosRUFBRUMsSUFBSSxLQUFLQyxtQkFBWSxDQUFDRyxrQkFBa0I7UUFFNUksT0FBTyxJQUFJUixpQkFBVSxDQUFDRixRQUFRVyxHQUFHLENBQUMsQ0FBQ04sSUFBTTtnQkFBQ0EsRUFBRU8sRUFBRTtnQkFBRVA7YUFBRTtJQUNwRDtJQUNBLElBQUlRLFlBQVc7UUFDYixPQUFPLElBQUksQ0FBQ0MsT0FBTyxDQUFDRCxRQUFRO0lBQzlCO0FBQ0Y7QUFFTyxTQUFTZixlQUFlaUIsR0FBUSxFQUFFQyxPQUFpRDtJQUN4RixNQUFNQyxVQUFVRixJQUFJRyxZQUFZLENBQUNDLFNBQVMsQ0FBQ0gsUUFBUUksS0FBSyxDQUFDUixFQUFFO0lBQzNELE1BQU1TLFFBQVFOLElBQUlHLFlBQVks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
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "transformIncidentsData", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return transformIncidentsData;
9
+ }
10
+ });
11
+ function transformIncidentsData(bot, payload) {
12
+ const props = bot.transformers.desiredProperties.incidentsData;
13
+ const incidentsData = {};
14
+ if (props.invitesDisabledUntil && payload.invites_disabled_until) incidentsData.invitesDisabledUntil = Date.parse(payload.invites_disabled_until);
15
+ if (props.dmsDisabledUntil && payload.dms_disabled_until) incidentsData.dmsDisabledUntil = Date.parse(payload.dms_disabled_until);
16
+ if (props.dmSpamDetectedAt && payload.dm_spam_detected_at) incidentsData.dmSpamDetectedAt = Date.parse(payload.dm_spam_detected_at);
17
+ if (props.raidDetectedAt && payload.raid_detected_at) incidentsData.raidDetectedAt = Date.parse(payload.raid_detected_at);
18
+ return bot.transformers.customizers.incidentsData(bot, payload, incidentsData);
19
+ }
20
+
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvaW5jaWRlbnRzRGF0YS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IERpc2NvcmRJbmNpZGVudHNEYXRhIH0gZnJvbSAnQGRpc2NvcmRlbm8vdHlwZXMnXG5pbXBvcnQgdHlwZSB7IEJvdCwgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvciwgSW5jaWRlbnRzRGF0YSwgU2V0dXBEZXNpcmVkUHJvcHMsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzIH0gZnJvbSAnLi4vaW5kZXguanMnXG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1JbmNpZGVudHNEYXRhKGJvdDogQm90LCBwYXlsb2FkOiBEaXNjb3JkSW5jaWRlbnRzRGF0YSk6IEluY2lkZW50c0RhdGEge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuaW5jaWRlbnRzRGF0YVxuICBjb25zdCBpbmNpZGVudHNEYXRhID0ge30gYXMgU2V0dXBEZXNpcmVkUHJvcHM8SW5jaWRlbnRzRGF0YSwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+XG5cbiAgaWYgKHByb3BzLmludml0ZXNEaXNhYmxlZFVudGlsICYmIHBheWxvYWQuaW52aXRlc19kaXNhYmxlZF91bnRpbCkgaW5jaWRlbnRzRGF0YS5pbnZpdGVzRGlzYWJsZWRVbnRpbCA9IERhdGUucGFyc2UocGF5bG9hZC5pbnZpdGVzX2Rpc2FibGVkX3VudGlsKVxuICBpZiAocHJvcHMuZG1zRGlzYWJsZWRVbnRpbCAmJiBwYXlsb2FkLmRtc19kaXNhYmxlZF91bnRpbCkgaW5jaWRlbnRzRGF0YS5kbXNEaXNhYmxlZFVudGlsID0gRGF0ZS5wYXJzZShwYXlsb2FkLmRtc19kaXNhYmxlZF91bnRpbClcbiAgaWYgKHByb3BzLmRtU3BhbURldGVjdGVkQXQgJiYgcGF5bG9hZC5kbV9zcGFtX2RldGVjdGVkX2F0KSBpbmNpZGVudHNEYXRhLmRtU3BhbURldGVjdGVkQXQgPSBEYXRlLnBhcnNlKHBheWxvYWQuZG1fc3BhbV9kZXRlY3RlZF9hdClcbiAgaWYgKHByb3BzLnJhaWREZXRlY3RlZEF0ICYmIHBheWxvYWQucmFpZF9kZXRlY3RlZF9hdCkgaW5jaWRlbnRzRGF0YS5yYWlkRGV0ZWN0ZWRBdCA9IERhdGUucGFyc2UocGF5bG9hZC5yYWlkX2RldGVjdGVkX2F0KVxuXG4gIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmN1c3RvbWl6ZXJzLmluY2lkZW50c0RhdGEoYm90LCBwYXlsb2FkLCBpbmNpZGVudHNEYXRhKVxufVxuIl0sIm5hbWVzIjpbInRyYW5zZm9ybUluY2lkZW50c0RhdGEiLCJib3QiLCJwYXlsb2FkIiwicHJvcHMiLCJ0cmFuc2Zvcm1lcnMiLCJkZXNpcmVkUHJvcGVydGllcyIsImluY2lkZW50c0RhdGEiLCJpbnZpdGVzRGlzYWJsZWRVbnRpbCIsImludml0ZXNfZGlzYWJsZWRfdW50aWwiLCJEYXRlIiwicGFyc2UiLCJkbXNEaXNhYmxlZFVudGlsIiwiZG1zX2Rpc2FibGVkX3VudGlsIiwiZG1TcGFtRGV0ZWN0ZWRBdCIsImRtX3NwYW1fZGV0ZWN0ZWRfYXQiLCJyYWlkRGV0ZWN0ZWRBdCIsInJhaWRfZGV0ZWN0ZWRfYXQiLCJjdXN0b21pemVycyJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFHZ0JBOzs7ZUFBQUE7OztBQUFULFNBQVNBLHVCQUF1QkMsR0FBUSxFQUFFQyxPQUE2QjtJQUM1RSxNQUFNQyxRQUFRRixJQUFJRyxZQUFZLENBQUNDLGlCQUFpQixDQUFDQyxhQUFhO0lBQzlELE1BQU1BLGdCQUFnQixDQUFDO0lBRXZCLElBQUlILE1BQU1JLG9CQUFvQixJQUFJTCxRQUFRTSxzQkFBc0IsRUFBRUYsY0FBY0Msb0JBQW9CLEdBQUdFLEtBQUtDLEtBQUssQ0FBQ1IsUUFBUU0sc0JBQXNCO0lBQ2hKLElBQUlMLE1BQU1RLGdCQUFnQixJQUFJVCxRQUFRVSxrQkFBa0IsRUFBRU4sY0FBY0ssZ0JBQWdCLEdBQUdGLEtBQUtDLEtBQUssQ0FBQ1IsUUFBUVUsa0JBQWtCO0lBQ2hJLElBQUlULE1BQU1VLGdCQUFnQixJQUFJWCxRQUFRWSxtQkFBbUIsRUFBRVIsY0FBY08sZ0JBQWdCLEdBQUdKLEtBQUtDLEtBQUssQ0FBQ1IsUUFBUVksbUJBQW1CO0lBQ2xJLElBQUlYLE1BQU1ZLGNBQWMsSUFBSWIsUUFBUWMsZ0JBQWdCLEVBQUVWLGNBQWNTLGNBQWMsR0FBR04sS0FBS0MsS0FBSyxDQUFDUixRQUFRYyxnQkFBZ0I7SUFFeEgsT0FBT2YsSUFBSUcsWUFBWSxDQUFDYSxXQUFXLENBQUNYLGFBQWEsQ0FBQ0wsS0FBS0MsU0FBU0k7QUFDbEUifQ==
@@ -20,9 +20,11 @@ _export_star(require("./emoji.cjs"), exports);
20
20
  _export_star(require("./entitlement.cjs"), exports);
21
21
  _export_star(require("./gatewayBot.cjs"), exports);
22
22
  _export_star(require("./guild.cjs"), exports);
23
+ _export_star(require("./incidentsData.cjs"), exports);
23
24
  _export_star(require("./integration.cjs"), exports);
24
25
  _export_star(require("./interaction.cjs"), exports);
25
26
  _export_star(require("./invite.cjs"), exports);
27
+ _export_star(require("./lobby.cjs"), exports);
26
28
  _export_star(require("./member.cjs"), exports);
27
29
  _export_star(require("./message.cjs"), exports);
28
30
  _export_star(require("./onboarding.cjs"), exports);
@@ -32,16 +34,16 @@ _export_star(require("./reverse/index.cjs"), exports);
32
34
  _export_star(require("./role.cjs"), exports);
33
35
  _export_star(require("./scheduledEvent.cjs"), exports);
34
36
  _export_star(require("./sku.cjs"), exports);
37
+ _export_star(require("./soundboardSound.cjs"), exports);
35
38
  _export_star(require("./stageInstance.cjs"), exports);
36
39
  _export_star(require("./stageInviteInstance.cjs"), exports);
37
40
  _export_star(require("./sticker.cjs"), exports);
41
+ _export_star(require("./subscription.cjs"), exports);
38
42
  _export_star(require("./team.cjs"), exports);
39
43
  _export_star(require("./template.cjs"), exports);
40
44
  _export_star(require("./threadMember.cjs"), exports);
41
45
  _export_star(require("./toggles/index.cjs"), exports);
42
46
  _export_star(require("./types.cjs"), exports);
43
- _export_star(require("./subscription.cjs"), exports);
44
- _export_star(require("./soundboardSound.cjs"), exports);
45
47
  _export_star(require("./user.cjs"), exports);
46
48
  _export_star(require("./voiceRegion.cjs"), exports);
47
49
  _export_star(require("./voiceState.cjs"), exports);
@@ -63,4 +65,4 @@ function _export_star(from, to) {
63
65
  return from;
64
66
  }
65
67
 
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hY3Rpdml0eS5qcydcbmV4cG9ydCAqIGZyb20gJy4vYXBwbGljYXRpb24uanMnXG5leHBvcnQgKiBmcm9tICcuL2FwcGxpY2F0aW9uQ29tbWFuZC5qcydcbmV4cG9ydCAqIGZyb20gJy4vYXBwbGljYXRpb25Db21tYW5kT3B0aW9uLmpzJ1xuZXhwb3J0ICogZnJvbSAnLi9hcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25DaG9pY2UuanMnXG5leHBvcnQgKiBmcm9tICcuL2FwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb24uanMnXG5leHBvcnQgKiBmcm9tICcuL2F0dGFjaG1lbnQuanMnXG5leHBvcnQgKiBmcm9tICcuL2F1ZGl0TG9nRW50cnkuanMnXG5leHBvcnQgKiBmcm9tICcuL2F1dG9tb2RBY3Rpb25FeGVjdXRpb24uanMnXG5leHBvcnQgKiBmcm9tICcuL2F1dG9tb2RSdWxlLmpzJ1xuZXhwb3J0ICogZnJvbSAnLi9hdmF0YXJEZWNvcmF0aW9uRGF0YS5qcydcbmV4cG9ydCAqIGZyb20gJy4vY2hhbm5lbC5qcydcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50LmpzJ1xuZXhwb3J0ICogZnJvbSAnLi9lbWJlZC5qcydcbmV4cG9ydCAqIGZyb20gJy4vZW1vamkuanMnXG5leHBvcnQgKiBmcm9tICcuL2VudGl0bGVtZW50LmpzJ1xuZXhwb3J0ICogZnJvbSAnLi9nYXRld2F5Qm90LmpzJ1xuZXhwb3J0ICogZnJvbSAnLi9ndWlsZC5qcydcbmV4cG9ydCAqIGZyb20gJy4vaW50ZWdyYXRpb24uanMnXG5leHBvcnQgKiBmcm9tICcuL2ludGVyYWN0aW9uLmpzJ1xuZXhwb3J0ICogZnJvbSAnLi9pbnZpdGUuanMnXG5leHBvcnQgKiBmcm9tICcuL21lbWJlci5qcydcbmV4cG9ydCAqIGZyb20gJy4vbWVzc2FnZS5qcydcbmV4cG9ydCAqIGZyb20gJy4vb25ib2FyZGluZy5qcydcbmV4cG9ydCAqIGZyb20gJy4vcG9sbC5qcydcbmV4cG9ydCAqIGZyb20gJy4vcHJlc2VuY2UuanMnXG5leHBvcnQgKiBmcm9tICcuL3JldmVyc2UvaW5kZXguanMnXG5leHBvcnQgKiBmcm9tICcuL3JvbGUuanMnXG5leHBvcnQgKiBmcm9tICcuL3NjaGVkdWxlZEV2ZW50LmpzJ1xuZXhwb3J0ICogZnJvbSAnLi9za3UuanMnXG5leHBvcnQgKiBmcm9tICcuL3N0YWdlSW5zdGFuY2UuanMnXG5leHBvcnQgKiBmcm9tICcuL3N0YWdlSW52aXRlSW5zdGFuY2UuanMnXG5leHBvcnQgKiBmcm9tICcuL3N0aWNrZXIuanMnXG5leHBvcnQgKiBmcm9tICcuL3RlYW0uanMnXG5leHBvcnQgKiBmcm9tICcuL3RlbXBsYXRlLmpzJ1xuZXhwb3J0ICogZnJvbSAnLi90aHJlYWRNZW1iZXIuanMnXG5leHBvcnQgKiBmcm9tICcuL3RvZ2dsZXMvaW5kZXguanMnXG5leHBvcnQgKiBmcm9tICcuL3R5cGVzLmpzJ1xuZXhwb3J0ICogZnJvbSAnLi9zdWJzY3JpcHRpb24uanMnXG5leHBvcnQgKiBmcm9tICcuL3NvdW5kYm9hcmRTb3VuZC5qcydcbmV4cG9ydCAqIGZyb20gJy4vdXNlci5qcydcbmV4cG9ydCAqIGZyb20gJy4vdm9pY2VSZWdpb24uanMnXG5leHBvcnQgKiBmcm9tICcuL3ZvaWNlU3RhdGUuanMnXG5leHBvcnQgKiBmcm9tICcuL3dlYmhvb2suanMnXG5leHBvcnQgKiBmcm9tICcuL3N1YnNjcmlwdGlvbi5qcydcbmV4cG9ydCAqIGZyb20gJy4vd2VsY29tZVNjcmVlbi5qcydcbmV4cG9ydCAqIGZyb20gJy4vd2lkZ2V0LmpzJ1xuZXhwb3J0ICogZnJvbSAnLi93aWRnZXRTZXR0aW5ncy5qcydcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O3FCQUFjO3FCQUNBO3FCQUNBO3FCQUNBO3FCQUNBO3FCQUNBO3FCQUNBO3FCQUNBO3FCQUNBO3FCQUNBO3FCQUNBO3FCQUNBO3FCQUNBO3FCQUNBO3FCQUNBO3FCQUNBO3FCQUNBO3FCQUNBO3FCQUNBO3FCQUNBO3FCQUNBO3FCQUNBO3FCQUNBO3FCQUNBO3FCQUNBO3FCQUNBO3FCQUNBO3FCQUNBO3FCQUNBO3FCQUNBO3FCQUNBO3FCQUNBO3FCQUNBO3FCQUNBO3FCQUNBO3FCQUNBO3FCQUNBO3FCQUNBO3FCQUNBO3FCQUNBO3FCQUNBO3FCQUNBO3FCQUNBO3FCQUNBO3FCQUVBO3FCQUNBO3FCQUNBIn0=
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hY3Rpdml0eS5qcydcbmV4cG9ydCAqIGZyb20gJy4vYXBwbGljYXRpb24uanMnXG5leHBvcnQgKiBmcm9tICcuL2FwcGxpY2F0aW9uQ29tbWFuZC5qcydcbmV4cG9ydCAqIGZyb20gJy4vYXBwbGljYXRpb25Db21tYW5kT3B0aW9uLmpzJ1xuZXhwb3J0ICogZnJvbSAnLi9hcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25DaG9pY2UuanMnXG5leHBvcnQgKiBmcm9tICcuL2FwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb24uanMnXG5leHBvcnQgKiBmcm9tICcuL2F0dGFjaG1lbnQuanMnXG5leHBvcnQgKiBmcm9tICcuL2F1ZGl0TG9nRW50cnkuanMnXG5leHBvcnQgKiBmcm9tICcuL2F1dG9tb2RBY3Rpb25FeGVjdXRpb24uanMnXG5leHBvcnQgKiBmcm9tICcuL2F1dG9tb2RSdWxlLmpzJ1xuZXhwb3J0ICogZnJvbSAnLi9hdmF0YXJEZWNvcmF0aW9uRGF0YS5qcydcbmV4cG9ydCAqIGZyb20gJy4vY2hhbm5lbC5qcydcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50LmpzJ1xuZXhwb3J0ICogZnJvbSAnLi9lbWJlZC5qcydcbmV4cG9ydCAqIGZyb20gJy4vZW1vamkuanMnXG5leHBvcnQgKiBmcm9tICcuL2VudGl0bGVtZW50LmpzJ1xuZXhwb3J0ICogZnJvbSAnLi9nYXRld2F5Qm90LmpzJ1xuZXhwb3J0ICogZnJvbSAnLi9ndWlsZC5qcydcbmV4cG9ydCAqIGZyb20gJy4vaW5jaWRlbnRzRGF0YS5qcydcbmV4cG9ydCAqIGZyb20gJy4vaW50ZWdyYXRpb24uanMnXG5leHBvcnQgKiBmcm9tICcuL2ludGVyYWN0aW9uLmpzJ1xuZXhwb3J0ICogZnJvbSAnLi9pbnZpdGUuanMnXG5leHBvcnQgKiBmcm9tICcuL2xvYmJ5LmpzJ1xuZXhwb3J0ICogZnJvbSAnLi9tZW1iZXIuanMnXG5leHBvcnQgKiBmcm9tICcuL21lc3NhZ2UuanMnXG5leHBvcnQgKiBmcm9tICcuL29uYm9hcmRpbmcuanMnXG5leHBvcnQgKiBmcm9tICcuL3BvbGwuanMnXG5leHBvcnQgKiBmcm9tICcuL3ByZXNlbmNlLmpzJ1xuZXhwb3J0ICogZnJvbSAnLi9yZXZlcnNlL2luZGV4LmpzJ1xuZXhwb3J0ICogZnJvbSAnLi9yb2xlLmpzJ1xuZXhwb3J0ICogZnJvbSAnLi9zY2hlZHVsZWRFdmVudC5qcydcbmV4cG9ydCAqIGZyb20gJy4vc2t1LmpzJ1xuZXhwb3J0ICogZnJvbSAnLi9zb3VuZGJvYXJkU291bmQuanMnXG5leHBvcnQgKiBmcm9tICcuL3N0YWdlSW5zdGFuY2UuanMnXG5leHBvcnQgKiBmcm9tICcuL3N0YWdlSW52aXRlSW5zdGFuY2UuanMnXG5leHBvcnQgKiBmcm9tICcuL3N0aWNrZXIuanMnXG5leHBvcnQgKiBmcm9tICcuL3N1YnNjcmlwdGlvbi5qcydcbmV4cG9ydCAqIGZyb20gJy4vc3Vic2NyaXB0aW9uLmpzJ1xuZXhwb3J0ICogZnJvbSAnLi90ZWFtLmpzJ1xuZXhwb3J0ICogZnJvbSAnLi90ZW1wbGF0ZS5qcydcbmV4cG9ydCAqIGZyb20gJy4vdGhyZWFkTWVtYmVyLmpzJ1xuZXhwb3J0ICogZnJvbSAnLi90b2dnbGVzL2luZGV4LmpzJ1xuZXhwb3J0ICogZnJvbSAnLi90eXBlcy5qcydcbmV4cG9ydCAqIGZyb20gJy4vdXNlci5qcydcbmV4cG9ydCAqIGZyb20gJy4vdm9pY2VSZWdpb24uanMnXG5leHBvcnQgKiBmcm9tICcuL3ZvaWNlU3RhdGUuanMnXG5leHBvcnQgKiBmcm9tICcuL3dlYmhvb2suanMnXG5leHBvcnQgKiBmcm9tICcuL3dlbGNvbWVTY3JlZW4uanMnXG5leHBvcnQgKiBmcm9tICcuL3dpZGdldC5qcydcbmV4cG9ydCAqIGZyb20gJy4vd2lkZ2V0U2V0dGluZ3MuanMnXG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztxQkFBYztxQkFDQTtxQkFDQTtxQkFDQTtxQkFDQTtxQkFDQTtxQkFDQTtxQkFDQTtxQkFDQTtxQkFDQTtxQkFDQTtxQkFDQTtxQkFDQTtxQkFDQTtxQkFDQTtxQkFDQTtxQkFDQTtxQkFDQTtxQkFDQTtxQkFDQTtxQkFDQTtxQkFDQTtxQkFDQTtxQkFDQTtxQkFDQTtxQkFDQTtxQkFDQTtxQkFDQTtxQkFDQTtxQkFDQTtxQkFDQTtxQkFDQTtxQkFDQTtxQkFDQTtxQkFDQTtxQkFDQTtxQkFDQTtxQkFFQTtxQkFDQTtxQkFDQTtxQkFDQTtxQkFDQTtxQkFDQTtxQkFDQTtxQkFDQTtxQkFDQTtxQkFDQTtxQkFDQTtxQkFDQSJ9