@discordeno/bot 22.0.1-next.f334bb8 → 22.0.1-next.f4e424f
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.
- package/dist/bot.d.ts +3 -3
- package/dist/bot.d.ts.map +1 -1
- package/dist/bot.js +3 -2
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +2 -2
- package/dist/desiredProperties.d.ts +4 -1
- package/dist/desiredProperties.d.ts.map +1 -1
- package/dist/desiredProperties.js +38 -1
- package/dist/events.d.ts +22 -7
- package/dist/events.d.ts.map +1 -1
- package/dist/events.js +1 -1
- package/dist/handlers/guilds/automod/AUTO_MODERATION_ACTION_EXECUTION.js +2 -2
- package/dist/handlers/guilds/automod/AUTO_MODERATION_RULE_CREATE.js +2 -2
- package/dist/handlers/guilds/automod/AUTO_MODERATION_RULE_DELETE.js +2 -2
- package/dist/handlers/guilds/automod/AUTO_MODERATION_RULE_UPDATE.js +2 -2
- package/dist/handlers/interactions/APPLICATION_COMMAND_PERMISSIONS_UPDATE.js +2 -2
- package/dist/handlers/invites/INVITE_CREATE.d.ts.map +1 -1
- package/dist/handlers/invites/INVITE_CREATE.js +20 -5
- package/dist/handlers/invites/INVITE_DELETE.d.ts.map +1 -1
- package/dist/handlers/invites/INVITE_DELETE.js +4 -4
- package/dist/handlers/members/GUILD_MEMBER_UPDATE.d.ts.map +1 -1
- package/dist/handlers/members/GUILD_MEMBER_UPDATE.js +4 -4
- package/dist/handlers/messages/MESSAGE_REACTION_ADD.d.ts.map +1 -1
- package/dist/handlers/messages/MESSAGE_REACTION_ADD.js +4 -3
- package/dist/handlers/messages/MESSAGE_REACTION_REMOVE.d.ts.map +1 -1
- package/dist/handlers/messages/MESSAGE_REACTION_REMOVE.js +4 -3
- package/dist/handlers/messages/MESSAGE_REACTION_REMOVE_EMOJI.d.ts.map +1 -1
- package/dist/handlers/messages/MESSAGE_REACTION_REMOVE_EMOJI.js +4 -3
- package/dist/helpers.d.ts +15 -2
- package/dist/helpers.d.ts.map +1 -1
- package/dist/helpers.js +52 -12
- package/dist/transformers/activity.d.ts +17 -5
- package/dist/transformers/activity.d.ts.map +1 -1
- package/dist/transformers/activity.js +55 -37
- package/dist/transformers/application.d.ts +3 -3
- package/dist/transformers/application.d.ts.map +1 -1
- package/dist/transformers/application.js +18 -7
- package/dist/transformers/applicationCommand.d.ts +3 -2
- package/dist/transformers/applicationCommand.d.ts.map +1 -1
- package/dist/transformers/applicationCommand.js +19 -17
- package/dist/transformers/applicationCommandOption.d.ts +3 -2
- package/dist/transformers/applicationCommandOption.d.ts.map +1 -1
- package/dist/transformers/applicationCommandOption.js +22 -19
- package/dist/transformers/applicationCommandOptionChoice.d.ts +3 -2
- package/dist/transformers/applicationCommandOptionChoice.d.ts.map +1 -1
- package/dist/transformers/applicationCommandOptionChoice.js +10 -8
- package/dist/transformers/applicationCommandPermission.d.ts +7 -3
- package/dist/transformers/applicationCommandPermission.d.ts.map +1 -1
- package/dist/transformers/applicationCommandPermission.js +20 -13
- package/dist/transformers/attachment.d.ts +3 -1
- package/dist/transformers/attachment.d.ts.map +1 -1
- package/dist/transformers/attachment.js +12 -4
- package/dist/transformers/auditLogEntry.d.ts +7 -3
- package/dist/transformers/auditLogEntry.d.ts.map +1 -1
- package/dist/transformers/auditLogEntry.js +32 -25
- package/dist/transformers/automodActionExecution.d.ts +10 -3
- package/dist/transformers/automodActionExecution.d.ts.map +1 -1
- package/dist/transformers/automodActionExecution.js +35 -23
- package/dist/transformers/automodRule.d.ts +7 -3
- package/dist/transformers/automodRule.d.ts.map +1 -1
- package/dist/transformers/automodRule.js +30 -30
- package/dist/transformers/avatarDecorationData.d.ts +3 -2
- package/dist/transformers/avatarDecorationData.d.ts.map +1 -1
- package/dist/transformers/avatarDecorationData.js +6 -3
- package/dist/transformers/channel.d.ts +6 -3
- package/dist/transformers/channel.d.ts.map +1 -1
- package/dist/transformers/channel.js +11 -6
- package/dist/transformers/component.d.ts +9 -4
- package/dist/transformers/component.d.ts.map +1 -1
- package/dist/transformers/component.js +76 -51
- package/dist/transformers/embed.d.ts +16 -3
- package/dist/transformers/embed.d.ts.map +1 -1
- package/dist/transformers/embed.js +71 -42
- package/dist/transformers/emoji.d.ts +7 -3
- package/dist/transformers/emoji.d.ts.map +1 -1
- package/dist/transformers/emoji.js +10 -5
- package/dist/transformers/entitlement.d.ts +3 -2
- package/dist/transformers/entitlement.d.ts.map +1 -1
- package/dist/transformers/entitlement.js +6 -3
- package/dist/transformers/gatewayBot.d.ts +7 -3
- package/dist/transformers/gatewayBot.d.ts.map +1 -1
- package/dist/transformers/gatewayBot.js +20 -13
- package/dist/transformers/guild.d.ts +3 -2
- package/dist/transformers/guild.d.ts.map +1 -1
- package/dist/transformers/guild.js +25 -25
- package/dist/transformers/incidentsData.d.ts +3 -2
- package/dist/transformers/incidentsData.d.ts.map +1 -1
- package/dist/transformers/incidentsData.js +6 -3
- package/dist/transformers/integration.d.ts +10 -3
- package/dist/transformers/integration.d.ts.map +1 -1
- package/dist/transformers/integration.js +43 -31
- package/dist/transformers/interaction.d.ts +20 -12
- package/dist/transformers/interaction.d.ts.map +1 -1
- package/dist/transformers/interaction.js +47 -32
- package/dist/transformers/invite.d.ts +4 -4
- package/dist/transformers/invite.d.ts.map +1 -1
- package/dist/transformers/invite.js +26 -25
- package/dist/transformers/lobby.d.ts +13 -4
- package/dist/transformers/lobby.d.ts.map +1 -1
- package/dist/transformers/lobby.js +35 -5
- package/dist/transformers/member.d.ts +3 -2
- package/dist/transformers/member.d.ts.map +1 -1
- package/dist/transformers/member.js +6 -3
- package/dist/transformers/message.d.ts +20 -10
- package/dist/transformers/message.d.ts.map +1 -1
- package/dist/transformers/message.js +52 -25
- package/dist/transformers/onboarding.d.ts +9 -4
- package/dist/transformers/onboarding.d.ts.map +1 -1
- package/dist/transformers/onboarding.js +17 -10
- package/dist/transformers/poll.d.ts +6 -3
- package/dist/transformers/poll.d.ts.map +1 -1
- package/dist/transformers/poll.js +14 -7
- package/dist/transformers/presence.d.ts +3 -2
- package/dist/transformers/presence.d.ts.map +1 -1
- package/dist/transformers/presence.js +10 -6
- package/dist/transformers/reverse/activity.d.ts +4 -3
- package/dist/transformers/reverse/activity.d.ts.map +1 -1
- package/dist/transformers/reverse/activity.js +20 -24
- package/dist/transformers/reverse/applicationCommand.js +2 -2
- package/dist/transformers/reverse/component.d.ts.map +1 -1
- package/dist/transformers/reverse/component.js +4 -1
- package/dist/transformers/reverse/embed.d.ts.map +1 -1
- package/dist/transformers/reverse/embed.js +19 -4
- package/dist/transformers/reverse/member.d.ts.map +1 -1
- package/dist/transformers/reverse/member.js +4 -2
- package/dist/transformers/reverse/presence.d.ts.map +1 -1
- package/dist/transformers/reverse/presence.js +3 -2
- package/dist/transformers/reverse/user.d.ts +5 -0
- package/dist/transformers/reverse/user.d.ts.map +1 -0
- package/dist/transformers/reverse/user.js +17 -0
- package/dist/transformers/role.d.ts +7 -4
- package/dist/transformers/role.d.ts.map +1 -1
- package/dist/transformers/role.js +11 -7
- package/dist/transformers/scheduledEvent.d.ts +6 -3
- package/dist/transformers/scheduledEvent.d.ts.map +1 -1
- package/dist/transformers/scheduledEvent.js +10 -5
- package/dist/transformers/sku.d.ts +3 -2
- package/dist/transformers/sku.d.ts.map +1 -1
- package/dist/transformers/sku.js +6 -3
- package/dist/transformers/soundboardSound.d.ts +3 -2
- package/dist/transformers/soundboardSound.d.ts.map +1 -1
- package/dist/transformers/soundboardSound.js +6 -3
- package/dist/transformers/stageInstance.d.ts +3 -2
- package/dist/transformers/stageInstance.d.ts.map +1 -1
- package/dist/transformers/stageInstance.js +6 -3
- package/dist/transformers/stageInviteInstance.d.ts +3 -3
- package/dist/transformers/stageInviteInstance.d.ts.map +1 -1
- package/dist/transformers/stageInviteInstance.js +10 -8
- package/dist/transformers/sticker.d.ts +6 -3
- package/dist/transformers/sticker.d.ts.map +1 -1
- package/dist/transformers/sticker.js +18 -14
- package/dist/transformers/subscription.d.ts +3 -2
- package/dist/transformers/subscription.d.ts.map +1 -1
- package/dist/transformers/subscription.js +6 -3
- package/dist/transformers/team.d.ts +7 -3
- package/dist/transformers/team.d.ts.map +1 -1
- package/dist/transformers/team.js +22 -16
- package/dist/transformers/template.d.ts +3 -2
- package/dist/transformers/template.d.ts.map +1 -1
- package/dist/transformers/template.js +18 -16
- package/dist/transformers/threadMember.d.ts +6 -3
- package/dist/transformers/threadMember.d.ts.map +1 -1
- package/dist/transformers/threadMember.js +20 -16
- package/dist/transformers/toggles/channel.d.ts +2 -2
- package/dist/transformers/toggles/channel.d.ts.map +1 -1
- package/dist/transformers/toggles/channel.js +2 -2
- package/dist/transformers/toggles/emoji.d.ts +1 -1
- package/dist/transformers/toggles/emoji.d.ts.map +1 -1
- package/dist/transformers/toggles/emoji.js +1 -1
- package/dist/transformers/toggles/guild.d.ts +1 -1
- package/dist/transformers/toggles/guild.d.ts.map +1 -1
- package/dist/transformers/toggles/guild.js +1 -1
- package/dist/transformers/toggles/role.d.ts +1 -1
- package/dist/transformers/toggles/role.d.ts.map +1 -1
- package/dist/transformers/toggles/role.js +1 -1
- package/dist/transformers/toggles/user.d.ts +1 -1
- package/dist/transformers/toggles/user.d.ts.map +1 -1
- package/dist/transformers/toggles/user.js +1 -1
- package/dist/transformers/toggles/voice.d.ts +1 -1
- package/dist/transformers/toggles/voice.d.ts.map +1 -1
- package/dist/transformers/toggles/voice.js +1 -1
- package/dist/transformers/types.d.ts +194 -39
- package/dist/transformers/types.d.ts.map +1 -1
- package/dist/transformers/types.js +2 -2
- package/dist/transformers/user.d.ts +13 -5
- package/dist/transformers/user.d.ts.map +1 -1
- package/dist/transformers/user.js +18 -9
- package/dist/transformers/voiceRegion.d.ts +3 -2
- package/dist/transformers/voiceRegion.d.ts.map +1 -1
- package/dist/transformers/voiceRegion.js +12 -10
- package/dist/transformers/voiceState.d.ts +3 -3
- package/dist/transformers/voiceState.d.ts.map +1 -1
- package/dist/transformers/voiceState.js +6 -4
- package/dist/transformers/webhook.d.ts +3 -1
- package/dist/transformers/webhook.d.ts.map +1 -1
- package/dist/transformers/webhook.js +9 -6
- package/dist/transformers/welcomeScreen.d.ts +1 -2
- package/dist/transformers/welcomeScreen.d.ts.map +1 -1
- package/dist/transformers/welcomeScreen.js +1 -1
- package/dist/transformers/widget.d.ts +1 -2
- package/dist/transformers/widget.d.ts.map +1 -1
- package/dist/transformers/widget.js +7 -5
- package/dist/transformers/widgetSettings.d.ts +1 -2
- package/dist/transformers/widgetSettings.d.ts.map +1 -1
- package/dist/transformers/widgetSettings.js +1 -1
- package/dist/transformers.d.ts +190 -78
- package/dist/transformers.d.ts.map +1 -1
- package/dist/transformers.js +81 -21
- package/package.json +16 -16
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"member.d.ts","sourceRoot":"","sources":["../../src/transformers/member.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"member.d.ts","sourceRoot":"","sources":["../../src/transformers/member.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAKrC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEzC,eAAO,MAAM,UAAU,EAAE,MA4BxB,CAAC;AAEF,wBAAgB,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,SAAS,CAAC;IAAC,MAAM,CAAC,EAAE,SAAS,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,OA0BhJ"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { iconHashToBigInt } from '@discordeno/utils';
|
|
2
|
+
import { callCustomizer } from '../transformers.js';
|
|
2
3
|
import { MemberToggles } from './toggles/member.js';
|
|
3
4
|
import { Permissions } from './toggles/Permissions.js';
|
|
4
5
|
export const baseMember = {
|
|
@@ -45,10 +46,12 @@ export function transformMember(bot, payload, extra) {
|
|
|
45
46
|
if (props.permissions && payload.permissions) member.permissions = new Permissions(payload.permissions);
|
|
46
47
|
if (props.toggles) member.toggles = new MemberToggles(payload);
|
|
47
48
|
if (props.avatarDecorationData && payload.avatar_decoration_data) member.avatarDecorationData = bot.transformers.avatarDecorationData(bot, payload.avatar_decoration_data);
|
|
48
|
-
|
|
49
|
+
if (props.collectibles && payload.collectibles) member.collectibles = bot.transformers.collectibles(bot, payload.collectibles);
|
|
50
|
+
return callCustomizer('member', bot, payload, member, {
|
|
49
51
|
guildId: extra?.guildId ? bot.transformers.snowflake(extra.guildId) : undefined,
|
|
50
|
-
userId: extra?.userId ? bot.transformers.snowflake(extra.userId) : undefined
|
|
52
|
+
userId: extra?.userId ? bot.transformers.snowflake(extra.userId) : undefined,
|
|
53
|
+
partial: extra?.partial ?? false
|
|
51
54
|
});
|
|
52
55
|
}
|
|
53
56
|
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvbWVtYmVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQmlnU3RyaW5nLCBEaXNjb3JkTWVtYmVyIH0gZnJvbSAnQGRpc2NvcmRlbm8vdHlwZXMnO1xuaW1wb3J0IHsgaWNvbkhhc2hUb0JpZ0ludCB9IGZyb20gJ0BkaXNjb3JkZW5vL3V0aWxzJztcbmltcG9ydCB0eXBlIHsgQm90IH0gZnJvbSAnLi4vYm90LmpzJztcbmltcG9ydCB0eXBlIHsgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvciwgU2V0dXBEZXNpcmVkUHJvcHMsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzIH0gZnJvbSAnLi4vZGVzaXJlZFByb3BlcnRpZXMuanMnO1xuaW1wb3J0IHsgY2FsbEN1c3RvbWl6ZXIgfSBmcm9tICcuLi90cmFuc2Zvcm1lcnMuanMnO1xuaW1wb3J0IHsgTWVtYmVyVG9nZ2xlcyB9IGZyb20gJy4vdG9nZ2xlcy9tZW1iZXIuanMnO1xuaW1wb3J0IHsgUGVybWlzc2lvbnMgfSBmcm9tICcuL3RvZ2dsZXMvUGVybWlzc2lvbnMuanMnO1xuaW1wb3J0IHR5cGUgeyBNZW1iZXIgfSBmcm9tICcuL3R5cGVzLmpzJztcblxuZXhwb3J0IGNvbnN0IGJhc2VNZW1iZXI6IE1lbWJlciA9IHtcbiAgLy8gVGhpcyBhbGxvd3MgdHlwZXNjcmlwdCB0byBzdGlsbCBjaGVjayBmb3IgdHlwZSBlcnJvcnMgb24gZnVuY3Rpb25zIGJlbG93XG4gIC4uLih1bmRlZmluZWQgYXMgdW5rbm93biBhcyBNZW1iZXIpLFxuXG4gIGdldCBkZWFmKCkge1xuICAgIHJldHVybiAhIXRoaXMudG9nZ2xlcz8uaGFzKCdkZWFmJyk7XG4gIH0sXG4gIGdldCBtdXRlKCkge1xuICAgIHJldHVybiAhIXRoaXMudG9nZ2xlcz8uaGFzKCdtdXRlJyk7XG4gIH0sXG4gIGdldCBwZW5kaW5nKCkge1xuICAgIHJldHVybiAhIXRoaXMudG9nZ2xlcz8uaGFzKCdwZW5kaW5nJyk7XG4gIH0sXG4gIGdldCBmbGFncygpIHtcbiAgICByZXR1cm4gdGhpcy50b2dnbGVzPy5mbGFncyA/PyAwO1xuICB9LFxuICBnZXQgZGlkUmVqb2luKCkge1xuICAgIHJldHVybiAhIXRoaXMudG9nZ2xlcz8uZGlkUmVqb2luO1xuICB9LFxuICBnZXQgc3RhcnRlZE9uYm9hcmRpbmcoKSB7XG4gICAgcmV0dXJuICEhdGhpcy50b2dnbGVzPy5zdGFydGVkT25ib2FyZGluZztcbiAgfSxcbiAgZ2V0IGJ5cGFzc2VzVmVyaWZpY2F0aW9uKCkge1xuICAgIHJldHVybiAhIXRoaXMudG9nZ2xlcz8uYnlwYXNzZXNWZXJpZmljYXRpb247XG4gIH0sXG4gIGdldCBjb21wbGV0ZWRPbmJvYXJkaW5nKCkge1xuICAgIHJldHVybiAhIXRoaXMudG9nZ2xlcz8uY29tcGxldGVkT25ib2FyZGluZztcbiAgfSxcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1NZW1iZXIoYm90OiBCb3QsIHBheWxvYWQ6IFBhcnRpYWw8RGlzY29yZE1lbWJlcj4sIGV4dHJhPzogeyBndWlsZElkPzogQmlnU3RyaW5nOyB1c2VySWQ/OiBCaWdTdHJpbmc7IHBhcnRpYWw/OiBib29sZWFuIH0pIHtcbiAgY29uc3QgbWVtYmVyOiBTZXR1cERlc2lyZWRQcm9wczxNZW1iZXIsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPiA9IE9iamVjdC5jcmVhdGUoYmFzZU1lbWJlcik7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5tZW1iZXI7XG5cbiAgaWYgKHByb3BzLmlkICYmIGV4dHJhPy51c2VySWQpIG1lbWJlci5pZCA9IHR5cGVvZiBleHRyYS51c2VySWQgPT09ICdzdHJpbmcnID8gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UoZXh0cmEudXNlcklkKSA6IGV4dHJhLnVzZXJJZDtcbiAgaWYgKHByb3BzLmd1aWxkSWQgJiYgZXh0cmE/Lmd1aWxkSWQpIG1lbWJlci5ndWlsZElkID0gdHlwZW9mIGV4dHJhLmd1aWxkSWQgPT09ICdzdHJpbmcnID8gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UoZXh0cmEuZ3VpbGRJZCkgOiBleHRyYS5ndWlsZElkO1xuICBpZiAocHJvcHMudXNlciAmJiBwYXlsb2FkLnVzZXIpIG1lbWJlci51c2VyID0gYm90LnRyYW5zZm9ybWVycy51c2VyKGJvdCwgcGF5bG9hZC51c2VyKTtcbiAgaWYgKHByb3BzLm5pY2sgJiYgcGF5bG9hZC5uaWNrKSBtZW1iZXIubmljayA9IHBheWxvYWQubmljaztcbiAgaWYgKHByb3BzLnJvbGVzICYmIHBheWxvYWQucm9sZXMpIG1lbWJlci5yb2xlcyA9IHBheWxvYWQucm9sZXMubWFwKChpZCkgPT4gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UoaWQpKTtcbiAgaWYgKHByb3BzLmpvaW5lZEF0ICYmIHBheWxvYWQuam9pbmVkX2F0KSBtZW1iZXIuam9pbmVkQXQgPSBEYXRlLnBhcnNlKHBheWxvYWQuam9pbmVkX2F0KTtcbiAgaWYgKHByb3BzLnByZW1pdW1TaW5jZSAmJiBwYXlsb2FkLnByZW1pdW1fc2luY2UpIG1lbWJlci5wcmVtaXVtU2luY2UgPSBEYXRlLnBhcnNlKHBheWxvYWQucHJlbWl1bV9zaW5jZSk7XG4gIGlmIChwcm9wcy5jb21tdW5pY2F0aW9uRGlzYWJsZWRVbnRpbCAmJiBwYXlsb2FkLmNvbW11bmljYXRpb25fZGlzYWJsZWRfdW50aWwpXG4gICAgbWVtYmVyLmNvbW11bmljYXRpb25EaXNhYmxlZFVudGlsID0gRGF0ZS5wYXJzZShwYXlsb2FkLmNvbW11bmljYXRpb25fZGlzYWJsZWRfdW50aWwpO1xuICBpZiAocHJvcHMuYXZhdGFyICYmIHBheWxvYWQuYXZhdGFyKSBtZW1iZXIuYXZhdGFyID0gaWNvbkhhc2hUb0JpZ0ludChwYXlsb2FkLmF2YXRhcik7XG4gIGlmIChwcm9wcy5iYW5uZXIgJiYgcGF5bG9hZC5iYW5uZXIpIG1lbWJlci5iYW5uZXIgPSBpY29uSGFzaFRvQmlnSW50KHBheWxvYWQuYmFubmVyKTtcbiAgaWYgKHByb3BzLnBlcm1pc3Npb25zICYmIHBheWxvYWQucGVybWlzc2lvbnMpIG1lbWJlci5wZXJtaXNzaW9ucyA9IG5ldyBQZXJtaXNzaW9ucyhwYXlsb2FkLnBlcm1pc3Npb25zKTtcbiAgaWYgKHByb3BzLnRvZ2dsZXMpIG1lbWJlci50b2dnbGVzID0gbmV3IE1lbWJlclRvZ2dsZXMocGF5bG9hZCk7XG4gIGlmIChwcm9wcy5hdmF0YXJEZWNvcmF0aW9uRGF0YSAmJiBwYXlsb2FkLmF2YXRhcl9kZWNvcmF0aW9uX2RhdGEpXG4gICAgbWVtYmVyLmF2YXRhckRlY29yYXRpb25EYXRhID0gYm90LnRyYW5zZm9ybWVycy5hdmF0YXJEZWNvcmF0aW9uRGF0YShib3QsIHBheWxvYWQuYXZhdGFyX2RlY29yYXRpb25fZGF0YSk7XG4gIGlmIChwcm9wcy5jb2xsZWN0aWJsZXMgJiYgcGF5bG9hZC5jb2xsZWN0aWJsZXMpIG1lbWJlci5jb2xsZWN0aWJsZXMgPSBib3QudHJhbnNmb3JtZXJzLmNvbGxlY3RpYmxlcyhib3QsIHBheWxvYWQuY29sbGVjdGlibGVzKTtcblxuICByZXR1cm4gY2FsbEN1c3RvbWl6ZXIoJ21lbWJlcicsIGJvdCwgcGF5bG9hZCwgbWVtYmVyLCB7XG4gICAgZ3VpbGRJZDogZXh0cmE/Lmd1aWxkSWQgPyBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShleHRyYS5ndWlsZElkKSA6IHVuZGVmaW5lZCxcbiAgICB1c2VySWQ6IGV4dHJhPy51c2VySWQgPyBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShleHRyYS51c2VySWQpIDogdW5kZWZpbmVkLFxuICAgIHBhcnRpYWw6IGV4dHJhPy5wYXJ0aWFsID8/IGZhbHNlLFxuICB9KTtcbn1cbiJdLCJuYW1lcyI6WyJpY29uSGFzaFRvQmlnSW50IiwiY2FsbEN1c3RvbWl6ZXIiLCJNZW1iZXJUb2dnbGVzIiwiUGVybWlzc2lvbnMiLCJiYXNlTWVtYmVyIiwidW5kZWZpbmVkIiwiZGVhZiIsInRvZ2dsZXMiLCJoYXMiLCJtdXRlIiwicGVuZGluZyIsImZsYWdzIiwiZGlkUmVqb2luIiwic3RhcnRlZE9uYm9hcmRpbmciLCJieXBhc3Nlc1ZlcmlmaWNhdGlvbiIsImNvbXBsZXRlZE9uYm9hcmRpbmciLCJ0cmFuc2Zvcm1NZW1iZXIiLCJib3QiLCJwYXlsb2FkIiwiZXh0cmEiLCJtZW1iZXIiLCJPYmplY3QiLCJjcmVhdGUiLCJwcm9wcyIsInRyYW5zZm9ybWVycyIsImRlc2lyZWRQcm9wZXJ0aWVzIiwiaWQiLCJ1c2VySWQiLCJzbm93Zmxha2UiLCJndWlsZElkIiwidXNlciIsIm5pY2siLCJyb2xlcyIsIm1hcCIsImpvaW5lZEF0Iiwiam9pbmVkX2F0IiwiRGF0ZSIsInBhcnNlIiwicHJlbWl1bVNpbmNlIiwicHJlbWl1bV9zaW5jZSIsImNvbW11bmljYXRpb25EaXNhYmxlZFVudGlsIiwiY29tbXVuaWNhdGlvbl9kaXNhYmxlZF91bnRpbCIsImF2YXRhciIsImJhbm5lciIsInBlcm1pc3Npb25zIiwiYXZhdGFyRGVjb3JhdGlvbkRhdGEiLCJhdmF0YXJfZGVjb3JhdGlvbl9kYXRhIiwiY29sbGVjdGlibGVzIiwicGFydGlhbCJdLCJtYXBwaW5ncyI6IkFBQ0EsU0FBU0EsZ0JBQWdCLFFBQVEsb0JBQW9CO0FBR3JELFNBQVNDLGNBQWMsUUFBUSxxQkFBcUI7QUFDcEQsU0FBU0MsYUFBYSxRQUFRLHNCQUFzQjtBQUNwRCxTQUFTQyxXQUFXLFFBQVEsMkJBQTJCO0FBR3ZELE9BQU8sTUFBTUMsYUFBcUI7SUFDaEMsMkVBQTJFO0lBQzNFLEdBQUlDLFNBQVM7SUFFYixJQUFJQztRQUNGLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQ0MsT0FBTyxFQUFFQyxJQUFJO0lBQzdCO0lBQ0EsSUFBSUM7UUFDRixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUNGLE9BQU8sRUFBRUMsSUFBSTtJQUM3QjtJQUNBLElBQUlFO1FBQ0YsT0FB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
|
|
@@ -1,16 +1,26 @@
|
|
|
1
|
-
import { type DiscordMessage, type DiscordMessageCall, type DiscordMessageInteractionMetadata, type DiscordMessagePin, type DiscordMessageSnapshot } from '@discordeno/types';
|
|
1
|
+
import { type DiscordMessage, type DiscordMessageCall, type DiscordMessageInteractionMetadata, type DiscordMessagePin, type DiscordMessageSnapshot, type DiscordSharedClientTheme } from '@discordeno/types';
|
|
2
2
|
import type { Bot } from '../bot.js';
|
|
3
|
-
import type { Message
|
|
3
|
+
import type { Message } from './types.js';
|
|
4
4
|
export declare const baseMessage: Message;
|
|
5
|
-
export declare function transformMessage(bot: Bot, payload: DiscordMessage
|
|
5
|
+
export declare function transformMessage(bot: Bot, payload: Partial<DiscordMessage>, extra?: {
|
|
6
6
|
shardId?: number;
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
partial?: boolean;
|
|
8
|
+
}): any;
|
|
9
|
+
export declare function transformMessagePin(bot: Bot, payload: Partial<DiscordMessagePin>, extra?: {
|
|
9
10
|
shardId?: number;
|
|
10
|
-
|
|
11
|
-
|
|
11
|
+
partial?: boolean;
|
|
12
|
+
}): any;
|
|
13
|
+
export declare function transformMessageSnapshot(bot: Bot, payload: Partial<DiscordMessageSnapshot>, extra?: {
|
|
12
14
|
shardId?: number;
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
export declare function
|
|
15
|
+
partial?: boolean;
|
|
16
|
+
}): any;
|
|
17
|
+
export declare function transformMessageInteractionMetadata(bot: Bot, payload: Partial<DiscordMessageInteractionMetadata>, extra?: {
|
|
18
|
+
partial?: boolean;
|
|
19
|
+
}): any;
|
|
20
|
+
export declare function transformMessageCall(bot: Bot, payload: Partial<DiscordMessageCall>, extra?: {
|
|
21
|
+
partial?: boolean;
|
|
22
|
+
}): any;
|
|
23
|
+
export declare function transformSharedClientTheme(bot: Bot, payload: Partial<DiscordSharedClientTheme>, extra?: {
|
|
24
|
+
partial?: boolean;
|
|
25
|
+
}): any;
|
|
16
26
|
//# sourceMappingURL=message.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../src/transformers/message.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,iCAAiC,EACtC,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,
|
|
1
|
+
{"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../src/transformers/message.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,iCAAiC,EACtC,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC3B,KAAK,wBAAwB,EAE9B,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAKrC,OAAO,KAAK,EACV,OAAO,EAOR,MAAM,YAAY,CAAC;AAIpB,eAAO,MAAM,WAAW,EAAE,OAkHzB,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,EAAE,KAAK,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,OAqH3H;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,iBAAiB,CAAC,EAAE,KAAK,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,OAWjI;AAED,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,sBAAsB,CAAC,EAAE,KAAK,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,OAW3I;AAED,wBAAgB,mCAAmC,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,iCAAiC,CAAC,EAAE,KAAK,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,OAuC/I;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,kBAAkB,CAAC,EAAE,KAAK,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,OAUjH;AAED,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,wBAAwB,CAAC,EAAE,KAAK,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,OAY7H"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { DiscordApplicationIntegrationType, MessageFlags } from '@discordeno/types';
|
|
2
2
|
import { snowflakeToTimestamp } from '@discordeno/utils';
|
|
3
3
|
import { CHANNEL_MENTION_REGEX } from '../constants.js';
|
|
4
|
+
import { callCustomizer } from '../transformers.js';
|
|
4
5
|
import { ToggleBitfield } from './toggles/ToggleBitfield.js';
|
|
5
6
|
const EMPTY_STRING = '';
|
|
6
7
|
export const baseMessage = {
|
|
@@ -125,9 +126,9 @@ export function transformMessage(bot, payload, extra) {
|
|
|
125
126
|
message.flags = new ToggleBitfield(payload.flags);
|
|
126
127
|
const props = bot.transformers.desiredProperties.message;
|
|
127
128
|
if (props.author && payload.author) message.author = bot.transformers.user(bot, payload.author);
|
|
128
|
-
if (props.application && payload.application)
|
|
129
|
-
|
|
130
|
-
|
|
129
|
+
if (props.application && payload.application) message.application = bot.transformers.application(bot, payload.application, {
|
|
130
|
+
shardId: extra?.shardId,
|
|
131
|
+
partial: true
|
|
131
132
|
});
|
|
132
133
|
if (props.applicationId && payload.application_id) message.applicationId = bot.transformers.snowflake(payload.application_id);
|
|
133
134
|
if (props.attachments && payload.attachments?.length) message.attachments = payload.attachments.map((attachment)=>bot.transformers.attachment(bot, attachment));
|
|
@@ -146,10 +147,10 @@ export function transformMessage(bot, payload, extra) {
|
|
|
146
147
|
interaction.id = bot.transformers.snowflake(payload.interaction.id);
|
|
147
148
|
}
|
|
148
149
|
if (messageInteractionProps.member && payload.interaction.member) {
|
|
149
|
-
// @ts-expect-error TODO: partial - check why this is partial and handle as needed
|
|
150
150
|
interaction.member = bot.transformers.member(bot, payload.interaction.member, {
|
|
151
151
|
guildId,
|
|
152
|
-
userId: payload.interaction.user.id
|
|
152
|
+
userId: payload.interaction.user.id,
|
|
153
|
+
partial: true
|
|
153
154
|
});
|
|
154
155
|
}
|
|
155
156
|
if (messageInteractionProps.name) {
|
|
@@ -163,10 +164,10 @@ export function transformMessage(bot, payload, extra) {
|
|
|
163
164
|
}
|
|
164
165
|
message.interaction = interaction;
|
|
165
166
|
}
|
|
166
|
-
if (props.member && guildId && userId && payload.member)
|
|
167
|
-
message.member = bot.transformers.member(bot, payload.member, {
|
|
167
|
+
if (props.member && guildId && userId && payload.member) message.member = bot.transformers.member(bot, payload.member, {
|
|
168
168
|
guildId,
|
|
169
|
-
userId
|
|
169
|
+
userId,
|
|
170
|
+
partial: true
|
|
170
171
|
});
|
|
171
172
|
if (payload.mention_everyone) message.mentionEveryone = true;
|
|
172
173
|
if (props.mentionedChannelIds && payload.mention_channels?.length) {
|
|
@@ -180,6 +181,7 @@ export function transformMessage(bot, payload, extra) {
|
|
|
180
181
|
}
|
|
181
182
|
if (props.mentionedRoleIds && payload.mention_roles?.length) message.mentionedRoleIds = payload.mention_roles.map((id)=>bot.transformers.snowflake(id));
|
|
182
183
|
if (props.mentions && payload.mentions?.length) message.mentions = payload.mentions.map((user)=>bot.transformers.user(bot, user));
|
|
184
|
+
if (props.channelType && payload.channel_type) message.channelType = payload.channel_type;
|
|
183
185
|
if (props.messageReference && payload.message_reference) {
|
|
184
186
|
const reference = {};
|
|
185
187
|
const messageReferenceProps = bot.transformers.desiredProperties.messageReference;
|
|
@@ -211,8 +213,9 @@ export function transformMessage(bot, payload, extra) {
|
|
|
211
213
|
burst: reaction.count_details.burst,
|
|
212
214
|
normal: reaction.count_details.normal
|
|
213
215
|
},
|
|
214
|
-
|
|
215
|
-
|
|
216
|
+
emoji: bot.transformers.emoji(bot, reaction.emoji, {
|
|
217
|
+
partial: true
|
|
218
|
+
}),
|
|
216
219
|
burstColors: reaction.burst_colors
|
|
217
220
|
}));
|
|
218
221
|
}
|
|
@@ -225,11 +228,14 @@ export function transformMessage(bot, payload, extra) {
|
|
|
225
228
|
if (props.thread && payload.thread) message.thread = bot.transformers.channel(bot, payload.thread, {
|
|
226
229
|
guildId
|
|
227
230
|
});
|
|
228
|
-
if (props.type) message.type = payload.type;
|
|
231
|
+
if (props.type && payload.type !== undefined) message.type = payload.type;
|
|
229
232
|
if (props.webhookId && payload.webhook_id) message.webhookId = bot.transformers.snowflake(payload.webhook_id);
|
|
230
233
|
if (props.poll && payload.poll) message.poll = bot.transformers.poll(bot, payload.poll);
|
|
231
234
|
if (props.call && payload.call) message.call = bot.transformers.messageCall(bot, payload.call);
|
|
232
|
-
return
|
|
235
|
+
return callCustomizer('message', bot, payload, message, {
|
|
236
|
+
shardId: extra?.shardId,
|
|
237
|
+
partial: extra?.partial ?? false
|
|
238
|
+
});
|
|
233
239
|
}
|
|
234
240
|
export function transformMessagePin(bot, payload, extra) {
|
|
235
241
|
const props = bot.transformers.desiredProperties.messagePin;
|
|
@@ -238,28 +244,34 @@ export function transformMessagePin(bot, payload, extra) {
|
|
|
238
244
|
if (props.message && payload.message) messagePin.message = bot.transformers.message(bot, payload.message, {
|
|
239
245
|
shardId: extra?.shardId
|
|
240
246
|
});
|
|
241
|
-
return
|
|
247
|
+
return callCustomizer('messagePin', bot, payload, messagePin, {
|
|
248
|
+
shardId: extra?.shardId,
|
|
249
|
+
partial: extra?.partial ?? false
|
|
250
|
+
});
|
|
242
251
|
}
|
|
243
252
|
export function transformMessageSnapshot(bot, payload, extra) {
|
|
244
253
|
const props = bot.transformers.desiredProperties.messageSnapshot;
|
|
245
254
|
const messageSnapshot = {};
|
|
246
|
-
if (props.message && payload.message)
|
|
247
|
-
|
|
248
|
-
|
|
255
|
+
if (props.message && payload.message) messageSnapshot.message = bot.transformers.message(bot, payload.message, {
|
|
256
|
+
shardId: extra?.shardId,
|
|
257
|
+
partial: true
|
|
258
|
+
});
|
|
259
|
+
return callCustomizer('messageSnapshot', bot, payload, messageSnapshot, {
|
|
260
|
+
shardId: extra?.shardId,
|
|
261
|
+
partial: extra?.partial ?? false
|
|
249
262
|
});
|
|
250
|
-
return bot.transformers.customizers.messageSnapshot(bot, payload, messageSnapshot, extra);
|
|
251
263
|
}
|
|
252
|
-
export function transformMessageInteractionMetadata(bot, payload) {
|
|
264
|
+
export function transformMessageInteractionMetadata(bot, payload, extra) {
|
|
253
265
|
const props = bot.transformers.desiredProperties.messageInteractionMetadata;
|
|
254
266
|
const metadata = {};
|
|
255
|
-
if (props.id) metadata.id = bot.transformers.snowflake(payload.id);
|
|
256
|
-
if (props.authorizingIntegrationOwners) {
|
|
267
|
+
if (props.id && payload.id !== undefined) metadata.id = bot.transformers.snowflake(payload.id);
|
|
268
|
+
if (props.authorizingIntegrationOwners && payload.authorizing_integration_owners) {
|
|
257
269
|
metadata.authorizingIntegrationOwners = {};
|
|
258
270
|
if (payload.authorizing_integration_owners['0']) metadata.authorizingIntegrationOwners[DiscordApplicationIntegrationType.GuildInstall] = bot.transformers.snowflake(payload.authorizing_integration_owners['0']);
|
|
259
271
|
if (payload.authorizing_integration_owners['1']) metadata.authorizingIntegrationOwners[DiscordApplicationIntegrationType.UserInstall] = bot.transformers.snowflake(payload.authorizing_integration_owners['1']);
|
|
260
272
|
}
|
|
261
273
|
if (props.originalResponseMessageId && payload.original_response_message_id) metadata.originalResponseMessageId = bot.transformers.snowflake(payload.original_response_message_id);
|
|
262
|
-
if (props.type) metadata.type = payload.type;
|
|
274
|
+
if (props.type && payload.type !== undefined) metadata.type = payload.type;
|
|
263
275
|
if (props.user && payload.user) metadata.user = bot.transformers.user(bot, payload.user);
|
|
264
276
|
// Application command metadata
|
|
265
277
|
if ('target_user' in payload) {
|
|
@@ -274,14 +286,29 @@ export function transformMessageInteractionMetadata(bot, payload) {
|
|
|
274
286
|
if ('triggering_interaction_metadata' in payload) {
|
|
275
287
|
if (props.triggeringInteractionMetadata && payload.triggering_interaction_metadata) metadata.triggeringInteractionMetadata = bot.transformers.messageInteractionMetadata(bot, payload.triggering_interaction_metadata);
|
|
276
288
|
}
|
|
277
|
-
return
|
|
289
|
+
return callCustomizer('messageInteractionMetadata', bot, payload, metadata, {
|
|
290
|
+
partial: extra?.partial ?? false
|
|
291
|
+
});
|
|
278
292
|
}
|
|
279
|
-
export function transformMessageCall(bot, payload) {
|
|
293
|
+
export function transformMessageCall(bot, payload, extra) {
|
|
280
294
|
const call = {};
|
|
281
295
|
const props = bot.transformers.desiredProperties.messageCall;
|
|
282
296
|
if (props.participants && payload.participants) call.participants = payload.participants.map((x)=>bot.transformers.snowflake(x));
|
|
283
297
|
if (props.endedTimestamp && payload.ended_timestamp) call.endedTimestamp = Date.parse(payload.ended_timestamp);
|
|
284
|
-
return
|
|
298
|
+
return callCustomizer('messageCall', bot, payload, call, {
|
|
299
|
+
partial: extra?.partial ?? false
|
|
300
|
+
});
|
|
301
|
+
}
|
|
302
|
+
export function transformSharedClientTheme(bot, payload, extra) {
|
|
303
|
+
const props = bot.transformers.desiredProperties.sharedClientTheme;
|
|
304
|
+
const theme = {};
|
|
305
|
+
if (props.colors && payload.colors) theme.colors = payload.colors;
|
|
306
|
+
if (props.baseMix && payload.base_mix !== undefined) theme.baseMix = payload.base_mix;
|
|
307
|
+
if (props.gradientAngle && payload.gradient_angle !== undefined) theme.gradientAngle = payload.gradient_angle;
|
|
308
|
+
if (props.baseTheme && payload.base_theme !== undefined && payload.base_theme !== null) theme.baseTheme = payload.base_theme;
|
|
309
|
+
return callCustomizer('sharedClientTheme', bot, payload, theme, {
|
|
310
|
+
partial: extra?.partial ?? false
|
|
311
|
+
});
|
|
285
312
|
}
|
|
286
313
|
|
|
287
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvbWVzc2FnZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEaXNjb3JkQXBwbGljYXRpb25JbnRlZ3JhdGlvblR5cGUsXG4gIHR5cGUgRGlzY29yZE1lc3NhZ2UsXG4gIHR5cGUgRGlzY29yZE1lc3NhZ2VDYWxsLFxuICB0eXBlIERpc2NvcmRNZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YSxcbiAgdHlwZSBEaXNjb3JkTWVzc2FnZVBpbixcbiAgdHlwZSBEaXNjb3JkTWVzc2FnZVNuYXBzaG90LFxuICBNZXNzYWdlRmxhZ3MsXG59IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJztcbmltcG9ydCB7IHNub3dmbGFrZVRvVGltZXN0YW1wIH0gZnJvbSAnQGRpc2NvcmRlbm8vdXRpbHMnO1xuaW1wb3J0IHR5cGUgeyBCb3QgfSBmcm9tICcuLi9ib3QuanMnO1xuaW1wb3J0IHsgQ0hBTk5FTF9NRU5USU9OX1JFR0VYIH0gZnJvbSAnLi4vY29uc3RhbnRzLmpzJztcbmltcG9ydCB0eXBlIHsgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvciwgU2V0dXBEZXNpcmVkUHJvcHMsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzIH0gZnJvbSAnLi4vZGVzaXJlZFByb3BlcnRpZXMuanMnO1xuaW1wb3J0IHsgVG9nZ2xlQml0ZmllbGQgfSBmcm9tICcuL3RvZ2dsZXMvVG9nZ2xlQml0ZmllbGQuanMnO1xuaW1wb3J0IHR5cGUgeyBNZXNzYWdlLCBNZXNzYWdlQ2FsbCwgTWVzc2FnZUludGVyYWN0aW9uLCBNZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YSwgTWVzc2FnZVBpbiwgTWVzc2FnZVNuYXBzaG90IH0gZnJvbSAnLi90eXBlcy5qcyc7XG5cbmNvbnN0IEVNUFRZX1NUUklORyA9ICcnO1xuXG5leHBvcnQgY29uc3QgYmFzZU1lc3NhZ2U6IE1lc3NhZ2UgPSB7XG4gIC8vIFRoaXMgYWxsb3dzIHR5cGVzY3JpcHQgdG8gc3RpbGwgY2hlY2sgZm9yIHR5cGUgZXJyb3JzIG9uIGZ1bmN0aW9ucyBiZWxvd1xuICAuLi4odW5kZWZpbmVkIGFzIHVua25vd24gYXMgTWVzc2FnZSksXG5cbiAgZ2V0IGNyb3NzcG9zdGVkKCkge1xuICAgIHJldHVybiB0aGlzLmZsYWdzPy5jb250YWlucyhNZXNzYWdlRmxhZ3MuQ3Jvc3Nwb3N0ZWQpID8/IGZhbHNlO1xuICB9LFxuICBzZXQgY3Jvc3Nwb3N0ZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAoIXRoaXMuZmxhZ3MpIHJldHVybjtcbiAgICBpZiAodmFsdWUpIHRoaXMuZmxhZ3MuYWRkKE1lc3NhZ2VGbGFncy5Dcm9zc3Bvc3RlZCk7XG4gICAgZWxzZSB0aGlzLmZsYWdzLnJlbW92ZShNZXNzYWdlRmxhZ3MuQ3Jvc3Nwb3N0ZWQpO1xuICB9LFxuICBnZXQgZXBoZW1lcmFsKCkge1xuICAgIHJldHVybiB0aGlzLmZsYWdzPy5jb250YWlucyhNZXNzYWdlRmxhZ3MuRXBoZW1lcmFsKSA/PyBmYWxzZTtcbiAgfSxcbiAgc2V0IGVwaGVtZXJhbCh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICghdGhpcy5mbGFncykgcmV0dXJuO1xuICAgIGlmICh2YWx1ZSkgdGhpcy5mbGFncy5hZGQoTWVzc2FnZUZsYWdzLkVwaGVtZXJhbCk7XG4gICAgZWxzZSB0aGlzLmZsYWdzLnJlbW92ZShNZXNzYWdlRmxhZ3MuRXBoZW1lcmFsKTtcbiAgfSxcbiAgZ2V0IGZhaWxlZFRvTWVudGlvblNvbWVSb2xlc0luVGhyZWFkKCkge1xuICAgIHJldHVybiB0aGlzLmZsYWdzPy5jb250YWlucyhNZXNzYWdlRmxhZ3MuRmFpbGVkVG9NZW50aW9uU29tZVJvbGVzSW5UaHJlYWQpID8/IGZhbHNlO1xuICB9LFxuICBzZXQgZmFpbGVkVG9NZW50aW9uU29tZVJvbGVzSW5UaHJlYWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAoIXRoaXMuZmxhZ3MpIHJldHVybjtcbiAgICBpZiAodmFsdWUpIHRoaXMuZmxhZ3MuYWRkKE1lc3NhZ2VGbGFncy5GYWlsZWRUb01lbnRpb25Tb21lUm9sZXNJblRocmVhZCk7XG4gICAgZWxzZSB0aGlzLmZsYWdzLnJlbW92ZShNZXNzYWdlRmxhZ3MuRmFpbGVkVG9NZW50aW9uU29tZVJvbGVzSW5UaHJlYWQpO1xuICB9LFxuICBnZXQgaGFzVGhyZWFkKCkge1xuICAgIHJldHVybiB0aGlzLmZsYWdzPy5jb250YWlucyhNZXNzYWdlRmxhZ3MuSGFzVGhyZWFkKSA/PyBmYWxzZTtcbiAgfSxcbiAgc2V0IGhhc1RocmVhZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICghdGhpcy5mbGFncykgcmV0dXJuO1xuICAgIGlmICh2YWx1ZSkgdGhpcy5mbGFncy5hZGQoTWVzc2FnZUZsYWdzLkhhc1RocmVhZCk7XG4gICAgZWxzZSB0aGlzLmZsYWdzLnJlbW92ZShNZXNzYWdlRmxhZ3MuSGFzVGhyZWFkKTtcbiAgfSxcbiAgZ2V0IGlzQ3Jvc3Nwb3N0KCkge1xuICAgIHJldHVybiB0aGlzLmZsYWdzPy5jb250YWlucyhNZXNzYWdlRmxhZ3MuSXNDcm9zc3Bvc3QpID8/IGZhbHNlO1xuICB9LFxuICBzZXQgaXNDcm9zc3Bvc3QodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAoIXRoaXMuZmxhZ3MpIHJldHVybjtcbiAgICBpZiAodmFsdWUpIHRoaXMuZmxhZ3MuYWRkKE1lc3NhZ2VGbGFncy5Jc0Nyb3NzcG9zdCk7XG4gICAgZWxzZSB0aGlzLmZsYWdzLnJlbW92ZShNZXNzYWdlRmxhZ3MuSXNDcm9zc3Bvc3QpO1xuICB9LFxuICBnZXQgbG9hZGluZygpIHtcbiAgICByZXR1cm4gdGhpcy5mbGFncz8uY29udGFpbnMoTWVzc2FnZUZsYWdzLkxvYWRpbmcpID8/IGZhbHNlO1xuICB9LFxuICBzZXQgbG9hZGluZyh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICghdGhpcy5mbGFncykgcmV0dXJuO1xuICAgIGlmICh2YWx1ZSkgdGhpcy5mbGFncy5hZGQoTWVzc2FnZUZsYWdzLkxvYWRpbmcpO1xuICAgIGVsc2UgdGhpcy5mbGFncy5yZW1vdmUoTWVzc2FnZUZsYWdzLkxvYWRpbmcpO1xuICB9LFxuICBnZXQgbWVudGlvbmVkVXNlcklkcygpIHtcbiAgICByZXR1cm4gdGhpcy5tZW50aW9ucz8ubWFwKCh1c2VyKSA9PiB1c2VyLmlkKSA/PyBbXTtcbiAgfSxcbiAgZ2V0IG1lbnRpb25FdmVyeW9uZSgpIHtcbiAgICByZXR1cm4gdGhpcy5iaXRmaWVsZD8uY29udGFpbnMoMikgPz8gZmFsc2U7XG4gIH0sXG4gIHNldCBtZW50aW9uRXZlcnlvbmUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAoIXRoaXMuYml0ZmllbGQpIHJldHVybjtcbiAgICBpZiAodmFsdWUpIHRoaXMuYml0ZmllbGQuYWRkKDIpO1xuICAgIGVsc2UgdGhpcy5iaXRmaWVsZC5yZW1vdmUoMik7XG4gIH0sXG4gIGdldCBwaW5uZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuYml0ZmllbGQ/LmNvbnRhaW5zKDMpID8/IGZhbHNlO1xuICB9LFxuICBzZXQgcGlubmVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKCF0aGlzLmJpdGZpZWxkKSByZXR1cm47XG4gICAgaWYgKHZhbHVlKSB0aGlzLmJpdGZpZWxkLmFkZCgzKTtcbiAgICBlbHNlIHRoaXMuYml0ZmllbGQucmVtb3ZlKDMpO1xuICB9LFxuICBnZXQgc291cmNlTWVzc2FnZURlbGV0ZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZmxhZ3M/LmNvbnRhaW5zKE1lc3NhZ2VGbGFncy5Tb3VyY2VNZXNzYWdlRGVsZXRlZCkgPz8gZmFsc2U7XG4gIH0sXG4gIHNldCBzb3VyY2VNZXNzYWdlRGVsZXRlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICghdGhpcy5mbGFncykgcmV0dXJuO1xuICAgIGlmICh2YWx1ZSkgdGhpcy5mbGFncy5hZGQoTWVzc2FnZUZsYWdzLlNvdXJjZU1lc3NhZ2VEZWxldGVkKTtcbiAgICBlbHNlIHRoaXMuZmxhZ3MucmVtb3ZlKE1lc3NhZ2VGbGFncy5Tb3VyY2VNZXNzYWdlRGVsZXRlZCk7XG4gIH0sXG4gIGdldCBzdXBwcmVzc0VtYmVkcygpIHtcbiAgICByZXR1cm4gdGhpcy5mbGFncz8uY29udGFpbnMoTWVzc2FnZUZsYWdzLlN1cHByZXNzRW1iZWRzKSA/PyBmYWxzZTtcbiAgfSxcbiAgc2V0IHN1cHByZXNzRW1iZWRzKHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKCF0aGlzLmZsYWdzKSByZXR1cm47XG4gICAgaWYgKHZhbHVlKSB0aGlzLmZsYWdzLmFkZChNZXNzYWdlRmxhZ3MuU3VwcHJlc3NFbWJlZHMpO1xuICAgIGVsc2UgdGhpcy5mbGFncy5yZW1vdmUoTWVzc2FnZUZsYWdzLlN1cHByZXNzRW1iZWRzKTtcbiAgfSxcbiAgZ2V0IHN1cHByZXNzTm90aWZpY2F0aW9ucygpIHtcbiAgICByZXR1cm4gdGhpcy5mbGFncz8uY29udGFpbnMoTWVzc2FnZUZsYWdzLlN1cHByZXNzTm90aWZpY2F0aW9ucykgPz8gZmFsc2U7XG4gIH0sXG4gIHNldCBzdXBwcmVzc05vdGlmaWNhdGlvbnModmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAoIXRoaXMuZmxhZ3MpIHJldHVybjtcbiAgICBpZiAodmFsdWUpIHRoaXMuZmxhZ3MuYWRkKE1lc3NhZ2VGbGFncy5TdXBwcmVzc05vdGlmaWNhdGlvbnMpO1xuICAgIGVsc2UgdGhpcy5mbGFncy5yZW1vdmUoTWVzc2FnZUZsYWdzLlN1cHByZXNzTm90aWZpY2F0aW9ucyk7XG4gIH0sXG4gIGdldCB0aW1lc3RhbXAoKSB7XG4gICAgcmV0dXJuIHRoaXMuaWQgPyBzbm93Zmxha2VUb1RpbWVzdGFtcCh0aGlzLmlkKSA6IDA7XG4gIH0sXG4gIGdldCB0dHMoKSB7XG4gICAgcmV0dXJuIHRoaXMuYml0ZmllbGQ/LmNvbnRhaW5zKDEpID8/IGZhbHNlO1xuICB9LFxuICBzZXQgdHRzKHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKCF0aGlzLmJpdGZpZWxkKSByZXR1cm47XG4gICAgaWYgKHZhbHVlKSB0aGlzLmJpdGZpZWxkLmFkZCgxKTtcbiAgICBlbHNlIHRoaXMuYml0ZmllbGQucmVtb3ZlKDEpO1xuICB9LFxuICBnZXQgdXJnZW50KCkge1xuICAgIHJldHVybiB0aGlzLmZsYWdzPy5jb250YWlucyhNZXNzYWdlRmxhZ3MuVXJnZW50KSA/PyBmYWxzZTtcbiAgfSxcbiAgc2V0IHVyZ2VudCh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICghdGhpcy5mbGFncykgcmV0dXJuO1xuICAgIGlmICh2YWx1ZSkgdGhpcy5mbGFncy5hZGQoTWVzc2FnZUZsYWdzLlVyZ2VudCk7XG4gICAgZWxzZSB0aGlzLmZsYWdzLnJlbW92ZShNZXNzYWdlRmxhZ3MuVXJnZW50KTtcbiAgfSxcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1NZXNzYWdlKGJvdDogQm90LCBwYXlsb2FkOiBEaXNjb3JkTWVzc2FnZSwgZXh0cmE/OiB7IHNoYXJkSWQ/OiBudW1iZXIgfSk6IE1lc3NhZ2Uge1xuICBjb25zdCBndWlsZElkID0gcGF5bG9hZC5ndWlsZF9pZCA/IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuZ3VpbGRfaWQpIDogdW5kZWZpbmVkO1xuICBjb25zdCB1c2VySWQgPSBwYXlsb2FkLmF1dGhvcj8uaWQgPyBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmF1dGhvci5pZCkgOiB1bmRlZmluZWQ7XG5cbiAgY29uc3QgbWVzc2FnZTogU2V0dXBEZXNpcmVkUHJvcHM8TWVzc2FnZSwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+ID0gT2JqZWN0LmNyZWF0ZShiYXNlTWVzc2FnZSk7XG4gIG1lc3NhZ2UuYml0ZmllbGQgPSBuZXcgVG9nZ2xlQml0ZmllbGQoKTtcbiAgbWVzc2FnZS5mbGFncyA9IG5ldyBUb2dnbGVCaXRmaWVsZChwYXlsb2FkLmZsYWdzKTtcblxuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMubWVzc2FnZTtcblxuICBpZiAocHJvcHMuYXV0aG9yICYmIHBheWxvYWQuYXV0aG9yKSBtZXNzYWdlLmF1dGhvciA9IGJvdC50cmFuc2Zvcm1lcnMudXNlcihib3QsIHBheWxvYWQuYXV0aG9yKTtcbiAgaWYgKHByb3BzLmFwcGxpY2F0aW9uICYmIHBheWxvYWQuYXBwbGljYXRpb24pXG4gICAgLy8gQHRzLWV4cGVjdC1lcnJvciBUT0RPOiBQYXJ0aWFsc1xuICAgIG1lc3NhZ2UuYXBwbGljYXRpb24gPSBib3QudHJhbnNmb3JtZXJzLmFwcGxpY2F0aW9uKGJvdCwgcGF5bG9hZC5hcHBsaWNhdGlvbiwgeyBzaGFyZElkOiBleHRyYT8uc2hhcmRJZCB9KTtcbiAgaWYgKHByb3BzLmFwcGxpY2F0aW9uSWQgJiYgcGF5bG9hZC5hcHBsaWNhdGlvbl9pZCkgbWVzc2FnZS5hcHBsaWNhdGlvbklkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5hcHBsaWNhdGlvbl9pZCk7XG4gIGlmIChwcm9wcy5hdHRhY2htZW50cyAmJiBwYXlsb2FkLmF0dGFjaG1lbnRzPy5sZW5ndGgpXG4gICAgbWVzc2FnZS5hdHRhY2htZW50cyA9IHBheWxvYWQuYXR0YWNobWVudHMubWFwKChhdHRhY2htZW50KSA9PiBib3QudHJhbnNmb3JtZXJzLmF0dGFjaG1lbnQoYm90LCBhdHRhY2htZW50KSk7XG4gIGlmIChwcm9wcy5jaGFubmVsSWQgJiYgcGF5bG9hZC5jaGFubmVsX2lkKSBtZXNzYWdlLmNoYW5uZWxJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuY2hhbm5lbF9pZCk7XG4gIGlmIChwcm9wcy5jb21wb25lbnRzICYmIHBheWxvYWQuY29tcG9uZW50cz8ubGVuZ3RoKSBtZXNzYWdlLmNvbXBvbmVudHMgPSBwYXlsb2FkLmNvbXBvbmVudHMubWFwKChjb21wKSA9PiBib3QudHJhbnNmb3JtZXJzLmNvbXBvbmVudChib3QsIGNvbXApKTtcbiAgaWYgKHByb3BzLmNvbnRlbnQpIG1lc3NhZ2UuY29udGVudCA9IHBheWxvYWQuY29udGVudCA/PyBFTVBUWV9TVFJJTkc7XG4gIGlmIChwcm9wcy5lZGl0ZWRUaW1lc3RhbXAgJiYgcGF5bG9hZC5lZGl0ZWRfdGltZXN0YW1wKSBtZXNzYWdlLmVkaXRlZFRpbWVzdGFtcCA9IERhdGUucGFyc2UocGF5bG9hZC5lZGl0ZWRfdGltZXN0YW1wKTtcbiAgaWYgKHByb3BzLmVtYmVkcyAmJiBwYXlsb2FkLmVtYmVkcz8ubGVuZ3RoKSBtZXNzYWdlLmVtYmVkcyA9IHBheWxvYWQuZW1iZWRzLm1hcCgoZW1iZWQpID0+IGJvdC50cmFuc2Zvcm1lcnMuZW1iZWQoYm90LCBlbWJlZCkpO1xuICBpZiAocHJvcHMuZ3VpbGRJZCAmJiBndWlsZElkKSBtZXNzYWdlLmd1aWxkSWQgPSBndWlsZElkO1xuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgbWVzc2FnZS5pZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuaWQpO1xuICBpZiAocHJvcHMuaW50ZXJhY3Rpb25NZXRhZGF0YSAmJiBwYXlsb2FkLmludGVyYWN0aW9uX21ldGFkYXRhKVxuICAgIG1lc3NhZ2UuaW50ZXJhY3Rpb25NZXRhZGF0YSA9IGJvdC50cmFuc2Zvcm1lcnMubWVzc2FnZUludGVyYWN0aW9uTWV0YWRhdGEoYm90LCBwYXlsb2FkLmludGVyYWN0aW9uX21ldGFkYXRhKTtcbiAgaWYgKHByb3BzLmludGVyYWN0aW9uICYmIHBheWxvYWQuaW50ZXJhY3Rpb24pIHtcbiAgICBjb25zdCBpbnRlcmFjdGlvbiA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPE1lc3NhZ2VJbnRlcmFjdGlvbiwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+O1xuICAgIGNvbnN0IG1lc3NhZ2VJbnRlcmFjdGlvblByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5tZXNzYWdlSW50ZXJhY3Rpb247XG5cbiAgICBpZiAobWVzc2FnZUludGVyYWN0aW9uUHJvcHMuaWQpIHtcbiAgICAgIGludGVyYWN0aW9uLmlkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5pbnRlcmFjdGlvbi5pZCk7XG4gICAgfVxuICAgIGlmIChtZXNzYWdlSW50ZXJhY3Rpb25Qcm9wcy5tZW1iZXIgJiYgcGF5bG9hZC5pbnRlcmFjdGlvbi5tZW1iZXIpIHtcbiAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgVE9ETzogcGFydGlhbCAtIGNoZWNrIHdoeSB0aGlzIGlzIHBhcnRpYWwgYW5kIGhhbmRsZSBhcyBuZWVkZWRcbiAgICAgIGludGVyYWN0aW9uLm1lbWJlciA9IGJvdC50cmFuc2Zvcm1lcnMubWVtYmVyKGJvdCwgcGF5bG9hZC5pbnRlcmFjdGlvbi5tZW1iZXIsIHsgZ3VpbGRJZCwgdXNlcklkOiBwYXlsb2FkLmludGVyYWN0aW9uLnVzZXIuaWQgfSk7XG4gICAgfVxuICAgIGlmIChtZXNzYWdlSW50ZXJhY3Rpb25Qcm9wcy5uYW1lKSB7XG4gICAgICBpbnRlcmFjdGlvbi5uYW1lID0gcGF5bG9hZC5pbnRlcmFjdGlvbi5uYW1lO1xuICAgIH1cbiAgICBpZiAobWVzc2FnZUludGVyYWN0aW9uUHJvcHMudHlwZSkge1xuICAgICAgaW50ZXJhY3Rpb24udHlwZSA9IHBheWxvYWQuaW50ZXJhY3Rpb24udHlwZTtcbiAgICB9XG4gICAgaWYgKG1lc3NhZ2VJbnRlcmFjdGlvblByb3BzLnVzZXIpIHtcbiAgICAgIGludGVyYWN0aW9uLnVzZXIgPSBib3QudHJhbnNmb3JtZXJzLnVzZXIoYm90LCBwYXlsb2FkLmludGVyYWN0aW9uLnVzZXIpO1xuICAgIH1cblxuICAgIG1lc3NhZ2UuaW50ZXJhY3Rpb24gPSBpbnRlcmFjdGlvbjtcbiAgfVxuICBpZiAocHJvcHMubWVtYmVyICYmIGd1aWxkSWQgJiYgdXNlcklkICYmIHBheWxvYWQubWVtYmVyKVxuICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgVE9ETzogcGFydGlhbFxuICAgIG1lc3NhZ2UubWVtYmVyID0gYm90LnRyYW5zZm9ybWVycy5tZW1iZXIoYm90LCBwYXlsb2FkLm1lbWJlciwgeyBndWlsZElkLCB1c2VySWQgfSk7XG4gIGlmIChwYXlsb2FkLm1lbnRpb25fZXZlcnlvbmUpIG1lc3NhZ2UubWVudGlvbkV2ZXJ5b25lID0gdHJ1ZTtcbiAgaWYgKHByb3BzLm1lbnRpb25lZENoYW5uZWxJZHMgJiYgcGF5bG9hZC5tZW50aW9uX2NoYW5uZWxzPy5sZW5ndGgpIHtcbiAgICBtZXNzYWdlLm1lbnRpb25lZENoYW5uZWxJZHMgPSBbXG4gICAgICAvLyBLZWVwIGFueSBpZHMgdGh0IGRpc2NvcmQgc2VuZHNcbiAgICAgIC4uLihwYXlsb2FkLm1lbnRpb25fY2hhbm5lbHMgPz8gW10pLm1hcCgobSkgPT4gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UobS5pZCkpLFxuICAgICAgLy8gQWRkIGFueSBvdGhlciBpZHMgdGhhdCBjYW4gYmUgdmFsaWRhdGVkIGluIGEgY2hhbm5lbCBtZW50aW9uIGZvcm1hdFxuICAgICAgLi4uKHBheWxvYWQuY29udGVudD8ubWF0Y2goQ0hBTk5FTF9NRU5USU9OX1JFR0VYKSA/PyBbXSkubWFwKCh0ZXh0KSA9PlxuICAgICAgICAvLyBjb252ZXJ0cyB0aGUgPCMxMjM+IGludG8gMTIzXG4gICAgICAgIGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHRleHQuc3Vic3RyaW5nKDIsIHRleHQubGVuZ3RoIC0gMSkpLFxuICAgICAgKSxcbiAgICBdO1xuICB9XG4gIGlmIChwcm9wcy5tZW50aW9uZWRSb2xlSWRzICYmIHBheWxvYWQubWVudGlvbl9yb2xlcz8ubGVuZ3RoKVxuICAgIG1lc3NhZ2UubWVudGlvbmVkUm9sZUlkcyA9IHBheWxvYWQubWVudGlvbl9yb2xlcy5tYXAoKGlkKSA9PiBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShpZCkpO1xuICBpZiAocHJvcHMubWVudGlvbnMgJiYgcGF5bG9hZC5tZW50aW9ucz8ubGVuZ3RoKSBtZXNzYWdlLm1lbnRpb25zID0gcGF5bG9hZC5tZW50aW9ucy5tYXAoKHVzZXIpID0+IGJvdC50cmFuc2Zvcm1lcnMudXNlcihib3QsIHVzZXIpKTtcbiAgaWYgKHByb3BzLm1lc3NhZ2VSZWZlcmVuY2UgJiYgcGF5bG9hZC5tZXNzYWdlX3JlZmVyZW5jZSkge1xuICAgIGNvbnN0IHJlZmVyZW5jZSA9IHt9IGFzIE5vbk51bGxhYmxlPE1lc3NhZ2VbJ21lc3NhZ2VSZWZlcmVuY2UnXT47XG4gICAgY29uc3QgbWVzc2FnZVJlZmVyZW5jZVByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5tZXNzYWdlUmVmZXJlbmNlO1xuXG4gICAgaWYgKG1lc3NhZ2VSZWZlcmVuY2VQcm9wcy5jaGFubmVsSWQgJiYgcGF5bG9hZC5tZXNzYWdlX3JlZmVyZW5jZS5jaGFubmVsX2lkKSB7XG4gICAgICByZWZlcmVuY2UuY2hhbm5lbElkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5tZXNzYWdlX3JlZmVyZW5jZS5jaGFubmVsX2lkKTtcbiAgICB9XG4gICAgaWYgKG1lc3NhZ2VSZWZlcmVuY2VQcm9wcy5ndWlsZElkICYmIHBheWxvYWQubWVzc2FnZV9yZWZlcmVuY2UuZ3VpbGRfaWQpIHtcbiAgICAgIHJlZmVyZW5jZS5ndWlsZElkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5tZXNzYWdlX3JlZmVyZW5jZS5ndWlsZF9pZCk7XG4gICAgfVxuICAgIGlmIChtZXNzYWdlUmVmZXJlbmNlUHJvcHMubWVzc2FnZUlkICYmIHBheWxvYWQubWVzc2FnZV9yZWZlcmVuY2UubWVzc2FnZV9pZCkge1xuICAgICAgcmVmZXJlbmNlLm1lc3NhZ2VJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQubWVzc2FnZV9yZWZlcmVuY2UubWVzc2FnZV9pZCk7XG4gICAgfVxuXG4gICAgbWVzc2FnZS5tZXNzYWdlUmVmZXJlbmNlID0gcmVmZXJlbmNlO1xuICB9XG4gIGlmIChwcm9wcy5yZWZlcmVuY2VkTWVzc2FnZSAmJiBwYXlsb2FkLnJlZmVyZW5jZWRfbWVzc2FnZSlcbiAgICBtZXNzYWdlLnJlZmVyZW5jZWRNZXNzYWdlID0gYm90LnRyYW5zZm9ybWVycy5tZXNzYWdlKGJvdCwgcGF5bG9hZC5yZWZlcmVuY2VkX21lc3NhZ2UsIHsgc2hhcmRJZDogZXh0cmE/LnNoYXJkSWQgfSk7XG4gIGlmIChwcm9wcy5tZXNzYWdlU25hcHNob3RzICYmIHBheWxvYWQubWVzc2FnZV9zbmFwc2hvdHMpXG4gICAgbWVzc2FnZS5tZXNzYWdlU25hcHNob3RzID0gcGF5bG9hZC5tZXNzYWdlX3NuYXBzaG90cy5tYXAoKHNuYXApID0+IGJvdC50cmFuc2Zvcm1lcnMubWVzc2FnZVNuYXBzaG90KGJvdCwgc25hcCwgeyBzaGFyZElkOiBleHRyYT8uc2hhcmRJZCB9KSk7XG4gIGlmIChwcm9wcy5ub25jZSAmJiBwYXlsb2FkLm5vbmNlKSBtZXNzYWdlLm5vbmNlID0gcGF5bG9hZC5ub25jZTtcbiAgaWYgKHBheWxvYWQucGlubmVkKSBtZXNzYWdlLnBpbm5lZCA9IHRydWU7XG4gIGlmIChwcm9wcy5yZWFjdGlvbnMgJiYgcGF5bG9hZC5yZWFjdGlvbnM/Lmxlbmd0aCkge1xuICAgIG1lc3NhZ2UucmVhY3Rpb25zID0gcGF5bG9hZC5yZWFjdGlvbnMubWFwKChyZWFjdGlvbikgPT4gKHtcbiAgICAgIG1lOiByZWFjdGlvbi5tZSxcbiAgICAgIG1lQnVyc3Q6IHJlYWN0aW9uLm1lX2J1cnN0LFxuICAgICAgY291bnQ6IHJlYWN0aW9uLmNvdW50LFxuICAgICAgY291bnREZXRhaWxzOiB7XG4gICAgICAgIGJ1cnN0OiByZWFjdGlvbi5jb3VudF9kZXRhaWxzLmJ1cnN0LFxuICAgICAgICBub3JtYWw6IHJlYWN0aW9uLmNvdW50X2RldGFpbHMubm9ybWFsLFxuICAgICAgfSxcbiAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgVE9ETzogRGVhbCB3aXRoIHBhcnRpYWxzXG4gICAgICBlbW9qaTogYm90LnRyYW5zZm9ybWVycy5lbW9qaShib3QsIHJlYWN0aW9uLmVtb2ppKSxcbiAgICAgIGJ1cnN0Q29sb3JzOiByZWFjdGlvbi5idXJzdF9jb2xvcnMsXG4gICAgfSkpO1xuICB9XG4gIGlmIChwcm9wcy5zdGlja2VySXRlbXMgJiYgcGF5bG9hZC5zdGlja2VyX2l0ZW1zPy5sZW5ndGgpXG4gICAgbWVzc2FnZS5zdGlja2VySXRlbXMgPSBwYXlsb2FkLnN0aWNrZXJfaXRlbXMubWFwKChpdGVtKSA9PiAoe1xuICAgICAgaWQ6IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKGl0ZW0uaWQpLFxuICAgICAgbmFtZTogaXRlbS5uYW1lLFxuICAgICAgZm9ybWF0VHlwZTogaXRlbS5mb3JtYXRfdHlwZSxcbiAgICB9KSk7XG4gIGlmIChwYXlsb2FkLnR0cykgbWVzc2FnZS50dHMgPSB0cnVlO1xuICBpZiAocHJvcHMudGhyZWFkICYmIHBheWxvYWQudGhyZWFkKSBtZXNzYWdlLnRocmVhZCA9IGJvdC50cmFuc2Zvcm1lcnMuY2hhbm5lbChib3QsIHBheWxvYWQudGhyZWFkLCB7IGd1aWxkSWQgfSk7XG4gIGlmIChwcm9wcy50eXBlKSBtZXNzYWdlLnR5cGUgPSBwYXlsb2FkLnR5cGU7XG4gIGlmIChwcm9wcy53ZWJob29rSWQgJiYgcGF5bG9hZC53ZWJob29rX2lkKSBtZXNzYWdlLndlYmhvb2tJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQud2ViaG9va19pZCk7XG4gIGlmIChwcm9wcy5wb2xsICYmIHBheWxvYWQucG9sbCkgbWVzc2FnZS5wb2xsID0gYm90LnRyYW5zZm9ybWVycy5wb2xsKGJvdCwgcGF5bG9hZC5wb2xsKTtcbiAgaWYgKHByb3BzLmNhbGwgJiYgcGF5bG9hZC5jYWxsKSBtZXNzYWdlLmNhbGwgPSBib3QudHJhbnNmb3JtZXJzLm1lc3NhZ2VDYWxsKGJvdCwgcGF5bG9hZC5jYWxsKTtcblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy5tZXNzYWdlKGJvdCwgcGF5bG9hZCwgbWVzc2FnZSwgZXh0cmEpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtTWVzc2FnZVBpbihib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZE1lc3NhZ2VQaW4sIGV4dHJhPzogeyBzaGFyZElkPzogbnVtYmVyIH0pOiBNZXNzYWdlUGluIHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLm1lc3NhZ2VQaW47XG4gIGNvbnN0IG1lc3NhZ2VQaW4gPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxNZXNzYWdlUGluLCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj47XG5cbiAgaWYgKHByb3BzLnBpbm5lZEF0ICYmIHBheWxvYWQucGlubmVkX2F0KSBtZXNzYWdlUGluLnBpbm5lZEF0ID0gRGF0ZS5wYXJzZShwYXlsb2FkLnBpbm5lZF9hdCk7XG4gIGlmIChwcm9wcy5tZXNzYWdlICYmIHBheWxvYWQubWVzc2FnZSkgbWVzc2FnZVBpbi5tZXNzYWdlID0gYm90LnRyYW5zZm9ybWVycy5tZXNzYWdlKGJvdCwgcGF5bG9hZC5tZXNzYWdlLCB7IHNoYXJkSWQ6IGV4dHJhPy5zaGFyZElkIH0pO1xuXG4gIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmN1c3RvbWl6ZXJzLm1lc3NhZ2VQaW4oYm90LCBwYXlsb2FkLCBtZXNzYWdlUGluLCBleHRyYSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1NZXNzYWdlU25hcHNob3QoYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRNZXNzYWdlU25hcHNob3QsIGV4dHJhPzogeyBzaGFyZElkPzogbnVtYmVyIH0pOiBNZXNzYWdlU25hcHNob3Qge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMubWVzc2FnZVNuYXBzaG90O1xuICBjb25zdCBtZXNzYWdlU25hcHNob3QgPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxNZXNzYWdlU25hcHNob3QsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPjtcblxuICBpZiAocHJvcHMubWVzc2FnZSAmJiBwYXlsb2FkLm1lc3NhZ2UpXG4gICAgLy8gQHRzLWV4cGVjdC1lcnJvciBUT0RPOiBQYXJ0aWFsc1xuICAgIG1lc3NhZ2VTbmFwc2hvdC5tZXNzYWdlID0gYm90LnRyYW5zZm9ybWVycy5tZXNzYWdlKGJvdCwgcGF5bG9hZC5tZXNzYWdlLCB7IHNoYXJkSWQ6IGV4dHJhPy5zaGFyZElkIH0pIGFzIE1lc3NhZ2U7XG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMubWVzc2FnZVNuYXBzaG90KGJvdCwgcGF5bG9hZCwgbWVzc2FnZVNuYXBzaG90LCBleHRyYSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1NZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YShib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZE1lc3NhZ2VJbnRlcmFjdGlvbk1ldGFkYXRhKTogTWVzc2FnZUludGVyYWN0aW9uTWV0YWRhdGEge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMubWVzc2FnZUludGVyYWN0aW9uTWV0YWRhdGE7XG4gIGNvbnN0IG1ldGFkYXRhID0ge30gYXMgU2V0dXBEZXNpcmVkUHJvcHM8TWVzc2FnZUludGVyYWN0aW9uTWV0YWRhdGEsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPjtcblxuICBpZiAocHJvcHMuaWQpIG1ldGFkYXRhLmlkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5pZCk7XG4gIGlmIChwcm9wcy5hdXRob3JpemluZ0ludGVncmF0aW9uT3duZXJzKSB7XG4gICAgbWV0YWRhdGEuYXV0aG9yaXppbmdJbnRlZ3JhdGlvbk93bmVycyA9IHt9O1xuICAgIGlmIChwYXlsb2FkLmF1dGhvcml6aW5nX2ludGVncmF0aW9uX293bmVyc1snMCddKVxuICAgICAgbWV0YWRhdGEuYXV0aG9yaXppbmdJbnRlZ3JhdGlvbk93bmVyc1tEaXNjb3JkQXBwbGljYXRpb25JbnRlZ3JhdGlvblR5cGUuR3VpbGRJbnN0YWxsXSA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKFxuICAgICAgICBwYXlsb2FkLmF1dGhvcml6aW5nX2ludGVncmF0aW9uX293bmVyc1snMCddLFxuICAgICAgKTtcbiAgICBpZiAocGF5bG9hZC5hdXRob3JpemluZ19pbnRlZ3JhdGlvbl9vd25lcnNbJzEnXSlcbiAgICAgIG1ldGFkYXRhLmF1dGhvcml6aW5nSW50ZWdyYXRpb25Pd25lcnNbRGlzY29yZEFwcGxpY2F0aW9uSW50ZWdyYXRpb25UeXBlLlVzZXJJbnN0YWxsXSA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKFxuICAgICAgICBwYXlsb2FkLmF1dGhvcml6aW5nX2ludGVncmF0aW9uX293bmVyc1snMSddLFxuICAgICAgKTtcbiAgfVxuICBpZiAocHJvcHMub3JpZ2luYWxSZXNwb25zZU1lc3NhZ2VJZCAmJiBwYXlsb2FkLm9yaWdpbmFsX3Jlc3BvbnNlX21lc3NhZ2VfaWQpXG4gICAgbWV0YWRhdGEub3JpZ2luYWxSZXNwb25zZU1lc3NhZ2VJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQub3JpZ2luYWxfcmVzcG9uc2VfbWVzc2FnZV9pZCk7XG4gIGlmIChwcm9wcy50eXBlKSBtZXRhZGF0YS50eXBlID0gcGF5bG9hZC50eXBlO1xuICBpZiAocHJvcHMudXNlciAmJiBwYXlsb2FkLnVzZXIpIG1ldGFkYXRhLnVzZXIgPSBib3QudHJhbnNmb3JtZXJzLnVzZXIoYm90LCBwYXlsb2FkLnVzZXIpO1xuICAvLyBBcHBsaWNhdGlvbiBjb21tYW5kIG1ldGFkYXRhXG4gIGlmICgndGFyZ2V0X3VzZXInIGluIHBheWxvYWQpIHtcbiAgICBpZiAocHJvcHMudGFyZ2V0VXNlciAmJiBwYXlsb2FkLnRhcmdldF91c2VyKSBtZXRhZGF0YS50YXJnZXRVc2VyID0gYm90LnRyYW5zZm9ybWVycy51c2VyKGJvdCwgcGF5bG9hZC50YXJnZXRfdXNlcik7XG4gICAgaWYgKHByb3BzLnRhcmdldE1lc3NhZ2VJZCAmJiBwYXlsb2FkLnRhcmdldF9tZXNzYWdlX2lkKSBtZXRhZGF0YS50YXJnZXRNZXNzYWdlSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLnRhcmdldF9tZXNzYWdlX2lkKTtcbiAgfVxuICAvLyBNZXNzYWdlIGNvbXBvbmVudCBtZXRhZGF0YVxuICBpZiAoJ2ludGVyYWN0ZWRfbWVzc2FnZV9pZCcgaW4gcGF5bG9hZCkge1xuICAgIGlmIChwcm9wcy5pbnRlcmFjdGVkTWVzc2FnZUlkICYmIHBheWxvYWQuaW50ZXJhY3RlZF9tZXNzYWdlX2lkKVxuICAgICAgbWV0YWRhdGEuaW50ZXJhY3RlZE1lc3NhZ2VJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuaW50ZXJhY3RlZF9tZXNzYWdlX2lkKTtcbiAgfVxuICAvLyBNb2RhbCBzdWJtaXQgbWV0YWRhdGFcbiAgaWYgKCd0cmlnZ2VyaW5nX2ludGVyYWN0aW9uX21ldGFkYXRhJyBpbiBwYXlsb2FkKSB7XG4gICAgaWYgKHByb3BzLnRyaWdnZXJpbmdJbnRlcmFjdGlvbk1ldGFkYXRhICYmIHBheWxvYWQudHJpZ2dlcmluZ19pbnRlcmFjdGlvbl9tZXRhZGF0YSlcbiAgICAgIG1ldGFkYXRhLnRyaWdnZXJpbmdJbnRlcmFjdGlvbk1ldGFkYXRhID0gYm90LnRyYW5zZm9ybWVycy5tZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YShib3QsIHBheWxvYWQudHJpZ2dlcmluZ19pbnRlcmFjdGlvbl9tZXRhZGF0YSk7XG4gIH1cblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy5tZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YShib3QsIHBheWxvYWQsIG1ldGFkYXRhKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybU1lc3NhZ2VDYWxsKGJvdDogQm90LCBwYXlsb2FkOiBEaXNjb3JkTWVzc2FnZUNhbGwpOiBNZXNzYWdlQ2FsbCB7XG4gIGNvbnN0IGNhbGwgPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxNZXNzYWdlQ2FsbCwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+O1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMubWVzc2FnZUNhbGw7XG5cbiAgaWYgKHByb3BzLnBhcnRpY2lwYW50cyAmJiBwYXlsb2FkLnBhcnRpY2lwYW50cykgY2FsbC5wYXJ0aWNpcGFudHMgPSBwYXlsb2FkLnBhcnRpY2lwYW50cy5tYXAoKHgpID0+IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHgpKTtcbiAgaWYgKHByb3BzLmVuZGVkVGltZXN0YW1wICYmIHBheWxvYWQuZW5kZWRfdGltZXN0YW1wKSBjYWxsLmVuZGVkVGltZXN0YW1wID0gRGF0ZS5wYXJzZShwYXlsb2FkLmVuZGVkX3RpbWVzdGFtcCk7XG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMubWVzc2FnZUNhbGwoYm90LCBwYXlsb2FkLCBjYWxsKTtcbn1cbiJdLCJuYW1lcyI6WyJEaXNjb3JkQXBwbGljYXRpb25JbnRlZ3JhdGlvblR5cGUiLCJNZXNzYWdlRmxhZ3MiLCJzbm93Zmxha2VUb1RpbWVzdGFtcCIsIkNIQU5ORUxfTUVOVElPTl9SRUdFWCIsIlRvZ2dsZUJpdGZpZWxkIiwiRU1QVFlfU1RSSU5HIiwiYmFzZU1lc3NhZ2UiLCJ1bmRlZmluZWQiLCJjcm9zc3Bvc3RlZCIsImZsYWdzIiwiY29udGFpbnMiLCJDcm9zc3Bvc3RlZCIsInZhbHVlIiwiYWRkIiwicmVtb3ZlIiwiZXBoZW1lcmFsIiwiRXBoZW1lcmFsIiwiZmFpbGVkVG9NZW50aW9uU29tZVJvbGVzSW5UaHJlYWQiLCJGYWlsZWRUb01lbnRpb25Tb21lUm9sZXNJblRocmVhZCIsImhhc1RocmVhZCIsIkhhc1RocmVhZCIsImlzQ3Jvc3Nwb3N0IiwiSXNDcm9zc3Bvc3QiLCJsb2FkaW5nIiwiTG9hZGluZyIsIm1lbnRpb25lZFVzZXJJZHMiLCJtZW50aW9ucyIsIm1hcCIsInVzZXIiLCJpZCIsIm1lbnRpb25FdmVyeW9uZSIsImJpdGZpZWxkIiwicGlubmVkIiwic291cmNlTWVzc2FnZURlbGV0ZWQiLCJTb3VyY2VNZXNzYWdlRGVsZXRlZCIsInN1cHByZXNzRW1iZWRzIiwiU3VwcHJlc3NFbWJlZHMiLCJzdXBwcmVzc05vdGlmaWNhdGlvbnMiLCJTdXBwcmVzc05vdGlmaWNhdGlvbnMiLCJ0aW1lc3RhbXAiLCJ0dHMiLCJ1cmdlbnQiLCJVcmdlbnQiLCJ0cmFuc2Zvcm1NZXNzYWdlIiwiYm90IiwicGF5bG9hZCIsImV4dHJhIiwiZ3VpbGRJZCIsImd1aWxkX2lkIiwidHJhbnNmb3JtZXJzIiwic25vd2ZsYWtlIiwidXNlcklkIiwiYXV0aG9yIiwibWVzc2FnZSIsIk9iamVjdCIsImNyZWF0ZSIsInByb3BzIiwiZGVzaXJlZFByb3BlcnRpZXMiLCJhcHBsaWNhdGlvbiIsInNoYXJkSWQiLCJhcHBsaWNhdGlvbklkIiwiYXBwbGljYXRpb25faWQiLCJhdHRhY2htZW50cyIsImxlbmd0aCIsImF0dGFjaG1lbnQiLCJjaGFubmVsSWQiLCJjaGFubmVsX2lkIiwiY29tcG9uZW50cyIsImNvbXAiLCJjb21wb25lbnQiLCJjb250ZW50IiwiZWRpdGVkVGltZXN0YW1wIiwiZWRpdGVkX3RpbWVzdGFtcCIsIkRhdGUiLCJwYXJzZSIsImVtYmVkcyIsImVtYmVkIiwiaW50ZXJhY3Rpb25NZXRhZGF0YSIsImludGVyYWN0aW9uX21ldGFkYXRhIiwibWVzc2FnZUludGVyYWN0aW9uTWV0YWRhdGEiLCJpbnRlcmFjdGlvbiIsIm1lc3NhZ2VJbnRlcmFjdGlvblByb3BzIiwibWVzc2FnZUludGVyYWN0aW9uIiwibWVtYmVyIiwibmFtZSIsInR5cGUiLCJtZW50aW9uX2V2ZXJ5b25lIiwibWVudGlvbmVkQ2hhbm5lbElkcyIsIm1lbnRpb25fY2hhbm5lbHMiLCJtIiwibWF0Y2giLCJ0ZXh0Iiwic3Vic3RyaW5nIiwibWVudGlvbmVkUm9sZUlkcyIsIm1lbnRpb25fcm9sZXMiLCJtZXNzYWdlUmVmZXJlbmNlIiwibWVzc2FnZV9yZWZlcmVuY2UiLCJyZWZlcmVuY2UiLCJtZXNzYWdlUmVmZXJlbmNlUHJvcHMiLCJtZXNzYWdlSWQiLCJtZXNzYWdlX2lkIiwicmVmZXJlbmNlZE1lc3NhZ2UiLCJyZWZlcmVuY2VkX21lc3NhZ2UiLCJtZXNzYWdlU25hcHNob3RzIiwibWVzc2FnZV9zbmFwc2hvdHMiLCJzbmFwIiwibWVzc2FnZVNuYXBzaG90Iiwibm9uY2UiLCJyZWFjdGlvbnMiLCJyZWFjdGlvbiIsIm1lIiwibWVCdXJzdCIsIm1lX2J1cnN0IiwiY291bnQiLCJjb3VudERldGFpbHMiLCJidXJzdCIsImNvdW50X2RldGFpbHMiLCJub3JtYWwiLCJlbW9qaSIsImJ1cnN0Q29sb3JzIiwiYnVyc3RfY29sb3JzIiwic3RpY2tlckl0ZW1zIiwic3RpY2tlcl9pdGVtcyIsIml0ZW0iLCJmb3JtYXRUeXBlIiwiZm9ybWF0X3R5cGUiLCJ0aHJlYWQiLCJjaGFubmVsIiwid2ViaG9va0lkIiwid2ViaG9va19pZCIsInBvbGwiLCJjYWxsIiwibWVzc2FnZUNhbGwiLCJjdXN0b21pemVycyIsInRyYW5zZm9ybU1lc3NhZ2VQaW4iLCJtZXNzYWdlUGluIiwicGlubmVkQXQiLCJwaW5uZWRfYXQiLCJ0cmFuc2Zvcm1NZXNzYWdlU25hcHNob3QiLCJ0cmFuc2Zvcm1NZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YSIsIm1ldGFkYXRhIiwiYXV0aG9yaXppbmdJbnRlZ3JhdGlvbk93bmVycyIsImF1dGhvcml6aW5nX2ludGVncmF0aW9uX293bmVycyIsIkd1aWxkSW5zdGFsbCIsIlVzZXJJbnN0YWxsIiwib3JpZ2luYWxSZXNwb25zZU1lc3NhZ2VJZCIsIm9yaWdpbmFsX3Jlc3BvbnNlX21lc3NhZ2VfaWQiLCJ0YXJnZXRVc2VyIiwidGFyZ2V0X3VzZXIiLCJ0YXJnZXRNZXNzYWdlSWQiLCJ0YXJnZXRfbWVzc2FnZV9pZCIsImludGVyYWN0ZWRNZXNzYWdlSWQiLCJpbnRlcmFjdGVkX21lc3NhZ2VfaWQiLCJ0cmlnZ2VyaW5nSW50ZXJhY3Rpb25NZXRhZGF0YSIsInRyaWdnZXJpbmdfaW50ZXJhY3Rpb25fbWV0YWRhdGEiLCJ0cmFuc2Zvcm1NZXNzYWdlQ2FsbCIsInBhcnRpY2lwYW50cyIsIngiLCJlbmRlZFRpbWVzdGFtcCIsImVuZGVkX3RpbWVzdGFtcCJdLCJtYXBwaW5ncyI6IkFBQUEsU0FDRUEsaUNBQWlDLEVBTWpDQyxZQUFZLFFBQ1Asb0JBQW9CO0FBQzNCLFNBQVNDLG9CQUFvQixRQUFRLG9CQUFvQjtBQUV6RCxTQUFTQyxxQkFBcUIsUUFBUSxrQkFBa0I7QUFFeEQsU0FBU0MsY0FBYyxRQUFRLDhCQUE4QjtBQUc3RCxNQUFNQyxlQUFlO0FBRXJCLE9BQU8sTUFBTUMsY0FBdUI7SUFDbEMsMkVBQTJFO0lBQzNFLEdBQUlDLFNBQVM7SUFFYixJQUFJQyxlQUFjO1FBQ2hCLE9BQU8sSUFBSSxDQUFDQyxLQUFLLEVBQUVDLFNBQVNULGFBQWFVLFdBQVcsS0FBSztJQUMzRDtJQUNBLElBQUlILGFBQVlJLE1BQWdCO1FBQzlCLElBQUksQ0FBQyxJQUFJLENBQUNILEtBQUssRUFBRTtRQUNqQixJQUFJRyxPQUFPLElBQUksQ0FBQ0gsS0FBSyxDQUFDSSxHQUFHLENBQUNaLGFBQWFVLFdBQVc7YUFDN0MsSUFBSSxDQUFDRixLQUFLLENBQUNLLE1BQU0sQ0FBQ2IsYUFBYVUsV0FBVztJQUNqRDtJQUNBLElBQUlJLGFBQVk7UUFDZCxPQUFPLElBQUksQ0FBQ04sS0FBSyxFQUFFQyxTQUFTVCxhQUFhZSxTQUFTLEtBQUs7SUFDekQ7SUFD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
|
|
314
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvbWVzc2FnZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEaXNjb3JkQXBwbGljYXRpb25JbnRlZ3JhdGlvblR5cGUsXG4gIHR5cGUgRGlzY29yZE1lc3NhZ2UsXG4gIHR5cGUgRGlzY29yZE1lc3NhZ2VDYWxsLFxuICB0eXBlIERpc2NvcmRNZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YSxcbiAgdHlwZSBEaXNjb3JkTWVzc2FnZVBpbixcbiAgdHlwZSBEaXNjb3JkTWVzc2FnZVNuYXBzaG90LFxuICB0eXBlIERpc2NvcmRTaGFyZWRDbGllbnRUaGVtZSxcbiAgTWVzc2FnZUZsYWdzLFxufSBmcm9tICdAZGlzY29yZGVuby90eXBlcyc7XG5pbXBvcnQgeyBzbm93Zmxha2VUb1RpbWVzdGFtcCB9IGZyb20gJ0BkaXNjb3JkZW5vL3V0aWxzJztcbmltcG9ydCB0eXBlIHsgQm90IH0gZnJvbSAnLi4vYm90LmpzJztcbmltcG9ydCB7IENIQU5ORUxfTUVOVElPTl9SRUdFWCB9IGZyb20gJy4uL2NvbnN0YW50cy5qcyc7XG5pbXBvcnQgdHlwZSB7IERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3IsIFNldHVwRGVzaXJlZFByb3BzLCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcyB9IGZyb20gJy4uL2Rlc2lyZWRQcm9wZXJ0aWVzLmpzJztcbmltcG9ydCB7IGNhbGxDdXN0b21pemVyIH0gZnJvbSAnLi4vdHJhbnNmb3JtZXJzLmpzJztcbmltcG9ydCB7IFRvZ2dsZUJpdGZpZWxkIH0gZnJvbSAnLi90b2dnbGVzL1RvZ2dsZUJpdGZpZWxkLmpzJztcbmltcG9ydCB0eXBlIHtcbiAgTWVzc2FnZSxcbiAgTWVzc2FnZUNhbGwsXG4gIE1lc3NhZ2VJbnRlcmFjdGlvbixcbiAgTWVzc2FnZUludGVyYWN0aW9uTWV0YWRhdGEsXG4gIE1lc3NhZ2VQaW4sXG4gIE1lc3NhZ2VTbmFwc2hvdCxcbiAgU2hhcmVkQ2xpZW50VGhlbWUsXG59IGZyb20gJy4vdHlwZXMuanMnO1xuXG5jb25zdCBFTVBUWV9TVFJJTkcgPSAnJztcblxuZXhwb3J0IGNvbnN0IGJhc2VNZXNzYWdlOiBNZXNzYWdlID0ge1xuICAvLyBUaGlzIGFsbG93cyB0eXBlc2NyaXB0IHRvIHN0aWxsIGNoZWNrIGZvciB0eXBlIGVycm9ycyBvbiBmdW5jdGlvbnMgYmVsb3dcbiAgLi4uKHVuZGVmaW5lZCBhcyB1bmtub3duIGFzIE1lc3NhZ2UpLFxuXG4gIGdldCBjcm9zc3Bvc3RlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5mbGFncz8uY29udGFpbnMoTWVzc2FnZUZsYWdzLkNyb3NzcG9zdGVkKSA/PyBmYWxzZTtcbiAgfSxcbiAgc2V0IGNyb3NzcG9zdGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKCF0aGlzLmZsYWdzKSByZXR1cm47XG4gICAgaWYgKHZhbHVlKSB0aGlzLmZsYWdzLmFkZChNZXNzYWdlRmxhZ3MuQ3Jvc3Nwb3N0ZWQpO1xuICAgIGVsc2UgdGhpcy5mbGFncy5yZW1vdmUoTWVzc2FnZUZsYWdzLkNyb3NzcG9zdGVkKTtcbiAgfSxcbiAgZ2V0IGVwaGVtZXJhbCgpIHtcbiAgICByZXR1cm4gdGhpcy5mbGFncz8uY29udGFpbnMoTWVzc2FnZUZsYWdzLkVwaGVtZXJhbCkgPz8gZmFsc2U7XG4gIH0sXG4gIHNldCBlcGhlbWVyYWwodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAoIXRoaXMuZmxhZ3MpIHJldHVybjtcbiAgICBpZiAodmFsdWUpIHRoaXMuZmxhZ3MuYWRkKE1lc3NhZ2VGbGFncy5FcGhlbWVyYWwpO1xuICAgIGVsc2UgdGhpcy5mbGFncy5yZW1vdmUoTWVzc2FnZUZsYWdzLkVwaGVtZXJhbCk7XG4gIH0sXG4gIGdldCBmYWlsZWRUb01lbnRpb25Tb21lUm9sZXNJblRocmVhZCgpIHtcbiAgICByZXR1cm4gdGhpcy5mbGFncz8uY29udGFpbnMoTWVzc2FnZUZsYWdzLkZhaWxlZFRvTWVudGlvblNvbWVSb2xlc0luVGhyZWFkKSA/PyBmYWxzZTtcbiAgfSxcbiAgc2V0IGZhaWxlZFRvTWVudGlvblNvbWVSb2xlc0luVGhyZWFkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKCF0aGlzLmZsYWdzKSByZXR1cm47XG4gICAgaWYgKHZhbHVlKSB0aGlzLmZsYWdzLmFkZChNZXNzYWdlRmxhZ3MuRmFpbGVkVG9NZW50aW9uU29tZVJvbGVzSW5UaHJlYWQpO1xuICAgIGVsc2UgdGhpcy5mbGFncy5yZW1vdmUoTWVzc2FnZUZsYWdzLkZhaWxlZFRvTWVudGlvblNvbWVSb2xlc0luVGhyZWFkKTtcbiAgfSxcbiAgZ2V0IGhhc1RocmVhZCgpIHtcbiAgICByZXR1cm4gdGhpcy5mbGFncz8uY29udGFpbnMoTWVzc2FnZUZsYWdzLkhhc1RocmVhZCkgPz8gZmFsc2U7XG4gIH0sXG4gIHNldCBoYXNUaHJlYWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAoIXRoaXMuZmxhZ3MpIHJldHVybjtcbiAgICBpZiAodmFsdWUpIHRoaXMuZmxhZ3MuYWRkKE1lc3NhZ2VGbGFncy5IYXNUaHJlYWQpO1xuICAgIGVsc2UgdGhpcy5mbGFncy5yZW1vdmUoTWVzc2FnZUZsYWdzLkhhc1RocmVhZCk7XG4gIH0sXG4gIGdldCBpc0Nyb3NzcG9zdCgpIHtcbiAgICByZXR1cm4gdGhpcy5mbGFncz8uY29udGFpbnMoTWVzc2FnZUZsYWdzLklzQ3Jvc3Nwb3N0KSA/PyBmYWxzZTtcbiAgfSxcbiAgc2V0IGlzQ3Jvc3Nwb3N0KHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKCF0aGlzLmZsYWdzKSByZXR1cm47XG4gICAgaWYgKHZhbHVlKSB0aGlzLmZsYWdzLmFkZChNZXNzYWdlRmxhZ3MuSXNDcm9zc3Bvc3QpO1xuICAgIGVsc2UgdGhpcy5mbGFncy5yZW1vdmUoTWVzc2FnZUZsYWdzLklzQ3Jvc3Nwb3N0KTtcbiAgfSxcbiAgZ2V0IGxvYWRpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMuZmxhZ3M/LmNvbnRhaW5zKE1lc3NhZ2VGbGFncy5Mb2FkaW5nKSA/PyBmYWxzZTtcbiAgfSxcbiAgc2V0IGxvYWRpbmcodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAoIXRoaXMuZmxhZ3MpIHJldHVybjtcbiAgICBpZiAodmFsdWUpIHRoaXMuZmxhZ3MuYWRkKE1lc3NhZ2VGbGFncy5Mb2FkaW5nKTtcbiAgICBlbHNlIHRoaXMuZmxhZ3MucmVtb3ZlKE1lc3NhZ2VGbGFncy5Mb2FkaW5nKTtcbiAgfSxcbiAgZ2V0IG1lbnRpb25lZFVzZXJJZHMoKSB7XG4gICAgcmV0dXJuIHRoaXMubWVudGlvbnM/Lm1hcCgodXNlcikgPT4gdXNlci5pZCkgPz8gW107XG4gIH0sXG4gIGdldCBtZW50aW9uRXZlcnlvbmUoKSB7XG4gICAgcmV0dXJuIHRoaXMuYml0ZmllbGQ/LmNvbnRhaW5zKDIpID8/IGZhbHNlO1xuICB9LFxuICBzZXQgbWVudGlvbkV2ZXJ5b25lKHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKCF0aGlzLmJpdGZpZWxkKSByZXR1cm47XG4gICAgaWYgKHZhbHVlKSB0aGlzLmJpdGZpZWxkLmFkZCgyKTtcbiAgICBlbHNlIHRoaXMuYml0ZmllbGQucmVtb3ZlKDIpO1xuICB9LFxuICBnZXQgcGlubmVkKCkge1xuICAgIHJldHVybiB0aGlzLmJpdGZpZWxkPy5jb250YWlucygzKSA/PyBmYWxzZTtcbiAgfSxcbiAgc2V0IHBpbm5lZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICghdGhpcy5iaXRmaWVsZCkgcmV0dXJuO1xuICAgIGlmICh2YWx1ZSkgdGhpcy5iaXRmaWVsZC5hZGQoMyk7XG4gICAgZWxzZSB0aGlzLmJpdGZpZWxkLnJlbW92ZSgzKTtcbiAgfSxcbiAgZ2V0IHNvdXJjZU1lc3NhZ2VEZWxldGVkKCkge1xuICAgIHJldHVybiB0aGlzLmZsYWdzPy5jb250YWlucyhNZXNzYWdlRmxhZ3MuU291cmNlTWVzc2FnZURlbGV0ZWQpID8/IGZhbHNlO1xuICB9LFxuICBzZXQgc291cmNlTWVzc2FnZURlbGV0ZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAoIXRoaXMuZmxhZ3MpIHJldHVybjtcbiAgICBpZiAodmFsdWUpIHRoaXMuZmxhZ3MuYWRkKE1lc3NhZ2VGbGFncy5Tb3VyY2VNZXNzYWdlRGVsZXRlZCk7XG4gICAgZWxzZSB0aGlzLmZsYWdzLnJlbW92ZShNZXNzYWdlRmxhZ3MuU291cmNlTWVzc2FnZURlbGV0ZWQpO1xuICB9LFxuICBnZXQgc3VwcHJlc3NFbWJlZHMoKSB7XG4gICAgcmV0dXJuIHRoaXMuZmxhZ3M/LmNvbnRhaW5zKE1lc3NhZ2VGbGFncy5TdXBwcmVzc0VtYmVkcykgPz8gZmFsc2U7XG4gIH0sXG4gIHNldCBzdXBwcmVzc0VtYmVkcyh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICghdGhpcy5mbGFncykgcmV0dXJuO1xuICAgIGlmICh2YWx1ZSkgdGhpcy5mbGFncy5hZGQoTWVzc2FnZUZsYWdzLlN1cHByZXNzRW1iZWRzKTtcbiAgICBlbHNlIHRoaXMuZmxhZ3MucmVtb3ZlKE1lc3NhZ2VGbGFncy5TdXBwcmVzc0VtYmVkcyk7XG4gIH0sXG4gIGdldCBzdXBwcmVzc05vdGlmaWNhdGlvbnMoKSB7XG4gICAgcmV0dXJuIHRoaXMuZmxhZ3M/LmNvbnRhaW5zKE1lc3NhZ2VGbGFncy5TdXBwcmVzc05vdGlmaWNhdGlvbnMpID8/IGZhbHNlO1xuICB9LFxuICBzZXQgc3VwcHJlc3NOb3RpZmljYXRpb25zKHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKCF0aGlzLmZsYWdzKSByZXR1cm47XG4gICAgaWYgKHZhbHVlKSB0aGlzLmZsYWdzLmFkZChNZXNzYWdlRmxhZ3MuU3VwcHJlc3NOb3RpZmljYXRpb25zKTtcbiAgICBlbHNlIHRoaXMuZmxhZ3MucmVtb3ZlKE1lc3NhZ2VGbGFncy5TdXBwcmVzc05vdGlmaWNhdGlvbnMpO1xuICB9LFxuICBnZXQgdGltZXN0YW1wKCkge1xuICAgIHJldHVybiB0aGlzLmlkID8gc25vd2ZsYWtlVG9UaW1lc3RhbXAodGhpcy5pZCkgOiAwO1xuICB9LFxuICBnZXQgdHRzKCkge1xuICAgIHJldHVybiB0aGlzLmJpdGZpZWxkPy5jb250YWlucygxKSA/PyBmYWxzZTtcbiAgfSxcbiAgc2V0IHR0cyh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICghdGhpcy5iaXRmaWVsZCkgcmV0dXJuO1xuICAgIGlmICh2YWx1ZSkgdGhpcy5iaXRmaWVsZC5hZGQoMSk7XG4gICAgZWxzZSB0aGlzLmJpdGZpZWxkLnJlbW92ZSgxKTtcbiAgfSxcbiAgZ2V0IHVyZ2VudCgpIHtcbiAgICByZXR1cm4gdGhpcy5mbGFncz8uY29udGFpbnMoTWVzc2FnZUZsYWdzLlVyZ2VudCkgPz8gZmFsc2U7XG4gIH0sXG4gIHNldCB1cmdlbnQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAoIXRoaXMuZmxhZ3MpIHJldHVybjtcbiAgICBpZiAodmFsdWUpIHRoaXMuZmxhZ3MuYWRkKE1lc3NhZ2VGbGFncy5VcmdlbnQpO1xuICAgIGVsc2UgdGhpcy5mbGFncy5yZW1vdmUoTWVzc2FnZUZsYWdzLlVyZ2VudCk7XG4gIH0sXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtTWVzc2FnZShib3Q6IEJvdCwgcGF5bG9hZDogUGFydGlhbDxEaXNjb3JkTWVzc2FnZT4sIGV4dHJhPzogeyBzaGFyZElkPzogbnVtYmVyOyBwYXJ0aWFsPzogYm9vbGVhbiB9KSB7XG4gIGNvbnN0IGd1aWxkSWQgPSBwYXlsb2FkLmd1aWxkX2lkID8gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5ndWlsZF9pZCkgOiB1bmRlZmluZWQ7XG4gIGNvbnN0IHVzZXJJZCA9IHBheWxvYWQuYXV0aG9yPy5pZCA/IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuYXV0aG9yLmlkKSA6IHVuZGVmaW5lZDtcblxuICBjb25zdCBtZXNzYWdlOiBTZXR1cERlc2lyZWRQcm9wczxNZXNzYWdlLCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj4gPSBPYmplY3QuY3JlYXRlKGJhc2VNZXNzYWdlKTtcbiAgbWVzc2FnZS5iaXRmaWVsZCA9IG5ldyBUb2dnbGVCaXRmaWVsZCgpO1xuICBtZXNzYWdlLmZsYWdzID0gbmV3IFRvZ2dsZUJpdGZpZWxkKHBheWxvYWQuZmxhZ3MpO1xuXG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5tZXNzYWdlO1xuXG4gIGlmIChwcm9wcy5hdXRob3IgJiYgcGF5bG9hZC5hdXRob3IpIG1lc3NhZ2UuYXV0aG9yID0gYm90LnRyYW5zZm9ybWVycy51c2VyKGJvdCwgcGF5bG9hZC5hdXRob3IpO1xuICBpZiAocHJvcHMuYXBwbGljYXRpb24gJiYgcGF5bG9hZC5hcHBsaWNhdGlvbilcbiAgICBtZXNzYWdlLmFwcGxpY2F0aW9uID0gYm90LnRyYW5zZm9ybWVycy5hcHBsaWNhdGlvbihib3QsIHBheWxvYWQuYXBwbGljYXRpb24sIHsgc2hhcmRJZDogZXh0cmE/LnNoYXJkSWQsIHBhcnRpYWw6IHRydWUgfSk7XG4gIGlmIChwcm9wcy5hcHBsaWNhdGlvbklkICYmIHBheWxvYWQuYXBwbGljYXRpb25faWQpIG1lc3NhZ2UuYXBwbGljYXRpb25JZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuYXBwbGljYXRpb25faWQpO1xuICBpZiAocHJvcHMuYXR0YWNobWVudHMgJiYgcGF5bG9hZC5hdHRhY2htZW50cz8ubGVuZ3RoKVxuICAgIG1lc3NhZ2UuYXR0YWNobWVudHMgPSBwYXlsb2FkLmF0dGFjaG1lbnRzLm1hcCgoYXR0YWNobWVudCkgPT4gYm90LnRyYW5zZm9ybWVycy5hdHRhY2htZW50KGJvdCwgYXR0YWNobWVudCkpO1xuICBpZiAocHJvcHMuY2hhbm5lbElkICYmIHBheWxvYWQuY2hhbm5lbF9pZCkgbWVzc2FnZS5jaGFubmVsSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmNoYW5uZWxfaWQpO1xuICBpZiAocHJvcHMuY29tcG9uZW50cyAmJiBwYXlsb2FkLmNvbXBvbmVudHM/Lmxlbmd0aCkgbWVzc2FnZS5jb21wb25lbnRzID0gcGF5bG9hZC5jb21wb25lbnRzLm1hcCgoY29tcCkgPT4gYm90LnRyYW5zZm9ybWVycy5jb21wb25lbnQoYm90LCBjb21wKSk7XG4gIGlmIChwcm9wcy5jb250ZW50KSBtZXNzYWdlLmNvbnRlbnQgPSBwYXlsb2FkLmNvbnRlbnQgPz8gRU1QVFlfU1RSSU5HO1xuICBpZiAocHJvcHMuZWRpdGVkVGltZXN0YW1wICYmIHBheWxvYWQuZWRpdGVkX3RpbWVzdGFtcCkgbWVzc2FnZS5lZGl0ZWRUaW1lc3RhbXAgPSBEYXRlLnBhcnNlKHBheWxvYWQuZWRpdGVkX3RpbWVzdGFtcCk7XG4gIGlmIChwcm9wcy5lbWJlZHMgJiYgcGF5bG9hZC5lbWJlZHM/Lmxlbmd0aCkgbWVzc2FnZS5lbWJlZHMgPSBwYXlsb2FkLmVtYmVkcy5tYXAoKGVtYmVkKSA9PiBib3QudHJhbnNmb3JtZXJzLmVtYmVkKGJvdCwgZW1iZWQpKTtcbiAgaWYgKHByb3BzLmd1aWxkSWQgJiYgZ3VpbGRJZCkgbWVzc2FnZS5ndWlsZElkID0gZ3VpbGRJZDtcbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIG1lc3NhZ2UuaWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmlkKTtcbiAgaWYgKHByb3BzLmludGVyYWN0aW9uTWV0YWRhdGEgJiYgcGF5bG9hZC5pbnRlcmFjdGlvbl9tZXRhZGF0YSlcbiAgICBtZXNzYWdlLmludGVyYWN0aW9uTWV0YWRhdGEgPSBib3QudHJhbnNmb3JtZXJzLm1lc3NhZ2VJbnRlcmFjdGlvbk1ldGFkYXRhKGJvdCwgcGF5bG9hZC5pbnRlcmFjdGlvbl9tZXRhZGF0YSk7XG4gIGlmIChwcm9wcy5pbnRlcmFjdGlvbiAmJiBwYXlsb2FkLmludGVyYWN0aW9uKSB7XG4gICAgY29uc3QgaW50ZXJhY3Rpb24gPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxNZXNzYWdlSW50ZXJhY3Rpb24sIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPjtcbiAgICBjb25zdCBtZXNzYWdlSW50ZXJhY3Rpb25Qcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMubWVzc2FnZUludGVyYWN0aW9uO1xuXG4gICAgaWYgKG1lc3NhZ2VJbnRlcmFjdGlvblByb3BzLmlkKSB7XG4gICAgICBpbnRlcmFjdGlvbi5pZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuaW50ZXJhY3Rpb24uaWQpO1xuICAgIH1cbiAgICBpZiAobWVzc2FnZUludGVyYWN0aW9uUHJvcHMubWVtYmVyICYmIHBheWxvYWQuaW50ZXJhY3Rpb24ubWVtYmVyKSB7XG4gICAgICBpbnRlcmFjdGlvbi5tZW1iZXIgPSBib3QudHJhbnNmb3JtZXJzLm1lbWJlcihib3QsIHBheWxvYWQuaW50ZXJhY3Rpb24ubWVtYmVyLCB7IGd1aWxkSWQsIHVzZXJJZDogcGF5bG9hZC5pbnRlcmFjdGlvbi51c2VyLmlkLCBwYXJ0aWFsOiB0cnVlIH0pO1xuICAgIH1cbiAgICBpZiAobWVzc2FnZUludGVyYWN0aW9uUHJvcHMubmFtZSkge1xuICAgICAgaW50ZXJhY3Rpb24ubmFtZSA9IHBheWxvYWQuaW50ZXJhY3Rpb24ubmFtZTtcbiAgICB9XG4gICAgaWYgKG1lc3NhZ2VJbnRlcmFjdGlvblByb3BzLnR5cGUpIHtcbiAgICAgIGludGVyYWN0aW9uLnR5cGUgPSBwYXlsb2FkLmludGVyYWN0aW9uLnR5cGU7XG4gICAgfVxuICAgIGlmIChtZXNzYWdlSW50ZXJhY3Rpb25Qcm9wcy51c2VyKSB7XG4gICAgICBpbnRlcmFjdGlvbi51c2VyID0gYm90LnRyYW5zZm9ybWVycy51c2VyKGJvdCwgcGF5bG9hZC5pbnRlcmFjdGlvbi51c2VyKTtcbiAgICB9XG5cbiAgICBtZXNzYWdlLmludGVyYWN0aW9uID0gaW50ZXJhY3Rpb247XG4gIH1cbiAgaWYgKHByb3BzLm1lbWJlciAmJiBndWlsZElkICYmIHVzZXJJZCAmJiBwYXlsb2FkLm1lbWJlcilcbiAgICBtZXNzYWdlLm1lbWJlciA9IGJvdC50cmFuc2Zvcm1lcnMubWVtYmVyKGJvdCwgcGF5bG9hZC5tZW1iZXIsIHsgZ3VpbGRJZCwgdXNlcklkLCBwYXJ0aWFsOiB0cnVlIH0pO1xuICBpZiAocGF5bG9hZC5tZW50aW9uX2V2ZXJ5b25lKSBtZXNzYWdlLm1lbnRpb25FdmVyeW9uZSA9IHRydWU7XG4gIGlmIChwcm9wcy5tZW50aW9uZWRDaGFubmVsSWRzICYmIHBheWxvYWQubWVudGlvbl9jaGFubmVscz8ubGVuZ3RoKSB7XG4gICAgbWVzc2FnZS5tZW50aW9uZWRDaGFubmVsSWRzID0gW1xuICAgICAgLy8gS2VlcCBhbnkgaWRzIHRodCBkaXNjb3JkIHNlbmRzXG4gICAgICAuLi4ocGF5bG9hZC5tZW50aW9uX2NoYW5uZWxzID8/IFtdKS5tYXAoKG0pID0+IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKG0uaWQpKSxcbiAgICAgIC8vIEFkZCBhbnkgb3RoZXIgaWRzIHRoYXQgY2FuIGJlIHZhbGlkYXRlZCBpbiBhIGNoYW5uZWwgbWVudGlvbiBmb3JtYXRcbiAgICAgIC4uLihwYXlsb2FkLmNvbnRlbnQ/Lm1hdGNoKENIQU5ORUxfTUVOVElPTl9SRUdFWCkgPz8gW10pLm1hcCgodGV4dCkgPT5cbiAgICAgICAgLy8gY29udmVydHMgdGhlIDwjMTIzPiBpbnRvIDEyM1xuICAgICAgICBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZSh0ZXh0LnN1YnN0cmluZygyLCB0ZXh0Lmxlbmd0aCAtIDEpKSxcbiAgICAgICksXG4gICAgXTtcbiAgfVxuICBpZiAocHJvcHMubWVudGlvbmVkUm9sZUlkcyAmJiBwYXlsb2FkLm1lbnRpb25fcm9sZXM/Lmxlbmd0aClcbiAgICBtZXNzYWdlLm1lbnRpb25lZFJvbGVJZHMgPSBwYXlsb2FkLm1lbnRpb25fcm9sZXMubWFwKChpZCkgPT4gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UoaWQpKTtcbiAgaWYgKHByb3BzLm1lbnRpb25zICYmIHBheWxvYWQubWVudGlvbnM/Lmxlbmd0aCkgbWVzc2FnZS5tZW50aW9ucyA9IHBheWxvYWQubWVudGlvbnMubWFwKCh1c2VyKSA9PiBib3QudHJhbnNmb3JtZXJzLnVzZXIoYm90LCB1c2VyKSk7XG4gIGlmIChwcm9wcy5jaGFubmVsVHlwZSAmJiBwYXlsb2FkLmNoYW5uZWxfdHlwZSkgbWVzc2FnZS5jaGFubmVsVHlwZSA9IHBheWxvYWQuY2hhbm5lbF90eXBlO1xuICBpZiAocHJvcHMubWVzc2FnZVJlZmVyZW5jZSAmJiBwYXlsb2FkLm1lc3NhZ2VfcmVmZXJlbmNlKSB7XG4gICAgY29uc3QgcmVmZXJlbmNlID0ge30gYXMgTm9uTnVsbGFibGU8TWVzc2FnZVsnbWVzc2FnZVJlZmVyZW5jZSddPjtcbiAgICBjb25zdCBtZXNzYWdlUmVmZXJlbmNlUHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLm1lc3NhZ2VSZWZlcmVuY2U7XG5cbiAgICBpZiAobWVzc2FnZVJlZmVyZW5jZVByb3BzLmNoYW5uZWxJZCAmJiBwYXlsb2FkLm1lc3NhZ2VfcmVmZXJlbmNlLmNoYW5uZWxfaWQpIHtcbiAgICAgIHJlZmVyZW5jZS5jaGFubmVsSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLm1lc3NhZ2VfcmVmZXJlbmNlLmNoYW5uZWxfaWQpO1xuICAgIH1cbiAgICBpZiAobWVzc2FnZVJlZmVyZW5jZVByb3BzLmd1aWxkSWQgJiYgcGF5bG9hZC5tZXNzYWdlX3JlZmVyZW5jZS5ndWlsZF9pZCkge1xuICAgICAgcmVmZXJlbmNlLmd1aWxkSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLm1lc3NhZ2VfcmVmZXJlbmNlLmd1aWxkX2lkKTtcbiAgICB9XG4gICAgaWYgKG1lc3NhZ2VSZWZlcmVuY2VQcm9wcy5tZXNzYWdlSWQgJiYgcGF5bG9hZC5tZXNzYWdlX3JlZmVyZW5jZS5tZXNzYWdlX2lkKSB7XG4gICAgICByZWZlcmVuY2UubWVzc2FnZUlkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5tZXNzYWdlX3JlZmVyZW5jZS5tZXNzYWdlX2lkKTtcbiAgICB9XG5cbiAgICBtZXNzYWdlLm1lc3NhZ2VSZWZlcmVuY2UgPSByZWZlcmVuY2U7XG4gIH1cbiAgaWYgKHByb3BzLnJlZmVyZW5jZWRNZXNzYWdlICYmIHBheWxvYWQucmVmZXJlbmNlZF9tZXNzYWdlKVxuICAgIG1lc3NhZ2UucmVmZXJlbmNlZE1lc3NhZ2UgPSBib3QudHJhbnNmb3JtZXJzLm1lc3NhZ2UoYm90LCBwYXlsb2FkLnJlZmVyZW5jZWRfbWVzc2FnZSwgeyBzaGFyZElkOiBleHRyYT8uc2hhcmRJZCB9KTtcbiAgaWYgKHByb3BzLm1lc3NhZ2VTbmFwc2hvdHMgJiYgcGF5bG9hZC5tZXNzYWdlX3NuYXBzaG90cylcbiAgICBtZXNzYWdlLm1lc3NhZ2VTbmFwc2hvdHMgPSBwYXlsb2FkLm1lc3NhZ2Vfc25hcHNob3RzLm1hcCgoc25hcCkgPT4gYm90LnRyYW5zZm9ybWVycy5tZXNzYWdlU25hcHNob3QoYm90LCBzbmFwLCB7IHNoYXJkSWQ6IGV4dHJhPy5zaGFyZElkIH0pKTtcbiAgaWYgKHByb3BzLm5vbmNlICYmIHBheWxvYWQubm9uY2UpIG1lc3NhZ2Uubm9uY2UgPSBwYXlsb2FkLm5vbmNlO1xuICBpZiAocGF5bG9hZC5waW5uZWQpIG1lc3NhZ2UucGlubmVkID0gdHJ1ZTtcbiAgaWYgKHByb3BzLnJlYWN0aW9ucyAmJiBwYXlsb2FkLnJlYWN0aW9ucz8ubGVuZ3RoKSB7XG4gICAgbWVzc2FnZS5yZWFjdGlvbnMgPSBwYXlsb2FkLnJlYWN0aW9ucy5tYXAoKHJlYWN0aW9uKSA9PiAoe1xuICAgICAgbWU6IHJlYWN0aW9uLm1lLFxuICAgICAgbWVCdXJzdDogcmVhY3Rpb24ubWVfYnVyc3QsXG4gICAgICBjb3VudDogcmVhY3Rpb24uY291bnQsXG4gICAgICBjb3VudERldGFpbHM6IHtcbiAgICAgICAgYnVyc3Q6IHJlYWN0aW9uLmNvdW50X2RldGFpbHMuYnVyc3QsXG4gICAgICAgIG5vcm1hbDogcmVhY3Rpb24uY291bnRfZGV0YWlscy5ub3JtYWwsXG4gICAgICB9LFxuICAgICAgZW1vamk6IGJvdC50cmFuc2Zvcm1lcnMuZW1vamkoYm90LCByZWFjdGlvbi5lbW9qaSwgeyBwYXJ0aWFsOiB0cnVlIH0pLFxuICAgICAgYnVyc3RDb2xvcnM6IHJlYWN0aW9uLmJ1cnN0X2NvbG9ycyxcbiAgICB9KSk7XG4gIH1cbiAgaWYgKHByb3BzLnN0aWNrZXJJdGVtcyAmJiBwYXlsb2FkLnN0aWNrZXJfaXRlbXM/Lmxlbmd0aClcbiAgICBtZXNzYWdlLnN0aWNrZXJJdGVtcyA9IHBheWxvYWQuc3RpY2tlcl9pdGVtcy5tYXAoKGl0ZW0pID0+ICh7XG4gICAgICBpZDogYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UoaXRlbS5pZCksXG4gICAgICBuYW1lOiBpdGVtLm5hbWUsXG4gICAgICBmb3JtYXRUeXBlOiBpdGVtLmZvcm1hdF90eXBlLFxuICAgIH0pKTtcbiAgaWYgKHBheWxvYWQudHRzKSBtZXNzYWdlLnR0cyA9IHRydWU7XG4gIGlmIChwcm9wcy50aHJlYWQgJiYgcGF5bG9hZC50aHJlYWQpIG1lc3NhZ2UudGhyZWFkID0gYm90LnRyYW5zZm9ybWVycy5jaGFubmVsKGJvdCwgcGF5bG9hZC50aHJlYWQsIHsgZ3VpbGRJZCB9KTtcbiAgaWYgKHByb3BzLnR5cGUgJiYgcGF5bG9hZC50eXBlICE9PSB1bmRlZmluZWQpIG1lc3NhZ2UudHlwZSA9IHBheWxvYWQudHlwZTtcbiAgaWYgKHByb3BzLndlYmhvb2tJZCAmJiBwYXlsb2FkLndlYmhvb2tfaWQpIG1lc3NhZ2Uud2ViaG9va0lkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC53ZWJob29rX2lkKTtcbiAgaWYgKHByb3BzLnBvbGwgJiYgcGF5bG9hZC5wb2xsKSBtZXNzYWdlLnBvbGwgPSBib3QudHJhbnNmb3JtZXJzLnBvbGwoYm90LCBwYXlsb2FkLnBvbGwpO1xuICBpZiAocHJvcHMuY2FsbCAmJiBwYXlsb2FkLmNhbGwpIG1lc3NhZ2UuY2FsbCA9IGJvdC50cmFuc2Zvcm1lcnMubWVzc2FnZUNhbGwoYm90LCBwYXlsb2FkLmNhbGwpO1xuXG4gIHJldHVybiBjYWxsQ3VzdG9taXplcignbWVzc2FnZScsIGJvdCwgcGF5bG9hZCwgbWVzc2FnZSwge1xuICAgIHNoYXJkSWQ6IGV4dHJhPy5zaGFyZElkLFxuICAgIHBhcnRpYWw6IGV4dHJhPy5wYXJ0aWFsID8/IGZhbHNlLFxuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybU1lc3NhZ2VQaW4oYm90OiBCb3QsIHBheWxvYWQ6IFBhcnRpYWw8RGlzY29yZE1lc3NhZ2VQaW4+LCBleHRyYT86IHsgc2hhcmRJZD86IG51bWJlcjsgcGFydGlhbD86IGJvb2xlYW4gfSkge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMubWVzc2FnZVBpbjtcbiAgY29uc3QgbWVzc2FnZVBpbiA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPE1lc3NhZ2VQaW4sIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPjtcblxuICBpZiAocHJvcHMucGlubmVkQXQgJiYgcGF5bG9hZC5waW5uZWRfYXQpIG1lc3NhZ2VQaW4ucGlubmVkQXQgPSBEYXRlLnBhcnNlKHBheWxvYWQucGlubmVkX2F0KTtcbiAgaWYgKHByb3BzLm1lc3NhZ2UgJiYgcGF5bG9hZC5tZXNzYWdlKSBtZXNzYWdlUGluLm1lc3NhZ2UgPSBib3QudHJhbnNmb3JtZXJzLm1lc3NhZ2UoYm90LCBwYXlsb2FkLm1lc3NhZ2UsIHsgc2hhcmRJZDogZXh0cmE/LnNoYXJkSWQgfSk7XG5cbiAgcmV0dXJuIGNhbGxDdXN0b21pemVyKCdtZXNzYWdlUGluJywgYm90LCBwYXlsb2FkLCBtZXNzYWdlUGluLCB7XG4gICAgc2hhcmRJZDogZXh0cmE/LnNoYXJkSWQsXG4gICAgcGFydGlhbDogZXh0cmE/LnBhcnRpYWwgPz8gZmFsc2UsXG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtTWVzc2FnZVNuYXBzaG90KGJvdDogQm90LCBwYXlsb2FkOiBQYXJ0aWFsPERpc2NvcmRNZXNzYWdlU25hcHNob3Q+LCBleHRyYT86IHsgc2hhcmRJZD86IG51bWJlcjsgcGFydGlhbD86IGJvb2xlYW4gfSkge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMubWVzc2FnZVNuYXBzaG90O1xuICBjb25zdCBtZXNzYWdlU25hcHNob3QgPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxNZXNzYWdlU25hcHNob3QsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPjtcblxuICBpZiAocHJvcHMubWVzc2FnZSAmJiBwYXlsb2FkLm1lc3NhZ2UpXG4gICAgbWVzc2FnZVNuYXBzaG90Lm1lc3NhZ2UgPSBib3QudHJhbnNmb3JtZXJzLm1lc3NhZ2UoYm90LCBwYXlsb2FkLm1lc3NhZ2UsIHsgc2hhcmRJZDogZXh0cmE/LnNoYXJkSWQsIHBhcnRpYWw6IHRydWUgfSkgYXMgTWVzc2FnZTtcblxuICByZXR1cm4gY2FsbEN1c3RvbWl6ZXIoJ21lc3NhZ2VTbmFwc2hvdCcsIGJvdCwgcGF5bG9hZCwgbWVzc2FnZVNuYXBzaG90LCB7XG4gICAgc2hhcmRJZDogZXh0cmE/LnNoYXJkSWQsXG4gICAgcGFydGlhbDogZXh0cmE/LnBhcnRpYWwgPz8gZmFsc2UsXG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtTWVzc2FnZUludGVyYWN0aW9uTWV0YWRhdGEoYm90OiBCb3QsIHBheWxvYWQ6IFBhcnRpYWw8RGlzY29yZE1lc3NhZ2VJbnRlcmFjdGlvbk1ldGFkYXRhPiwgZXh0cmE/OiB7IHBhcnRpYWw/OiBib29sZWFuIH0pIHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLm1lc3NhZ2VJbnRlcmFjdGlvbk1ldGFkYXRhO1xuICBjb25zdCBtZXRhZGF0YSA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPE1lc3NhZ2VJbnRlcmFjdGlvbk1ldGFkYXRhLCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj47XG5cbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQgIT09IHVuZGVmaW5lZCkgbWV0YWRhdGEuaWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmlkKTtcbiAgaWYgKHByb3BzLmF1dGhvcml6aW5nSW50ZWdyYXRpb25Pd25lcnMgJiYgcGF5bG9hZC5hdXRob3JpemluZ19pbnRlZ3JhdGlvbl9vd25lcnMpIHtcbiAgICBtZXRhZGF0YS5hdXRob3JpemluZ0ludGVncmF0aW9uT3duZXJzID0ge307XG4gICAgaWYgKHBheWxvYWQuYXV0aG9yaXppbmdfaW50ZWdyYXRpb25fb3duZXJzWycwJ10pXG4gICAgICBtZXRhZGF0YS5hdXRob3JpemluZ0ludGVncmF0aW9uT3duZXJzW0Rpc2NvcmRBcHBsaWNhdGlvbkludGVncmF0aW9uVHlwZS5HdWlsZEluc3RhbGxdID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UoXG4gICAgICAgIHBheWxvYWQuYXV0aG9yaXppbmdfaW50ZWdyYXRpb25fb3duZXJzWycwJ10sXG4gICAgICApO1xuICAgIGlmIChwYXlsb2FkLmF1dGhvcml6aW5nX2ludGVncmF0aW9uX293bmVyc1snMSddKVxuICAgICAgbWV0YWRhdGEuYXV0aG9yaXppbmdJbnRlZ3JhdGlvbk93bmVyc1tEaXNjb3JkQXBwbGljYXRpb25JbnRlZ3JhdGlvblR5cGUuVXNlckluc3RhbGxdID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UoXG4gICAgICAgIHBheWxvYWQuYXV0aG9yaXppbmdfaW50ZWdyYXRpb25fb3duZXJzWycxJ10sXG4gICAgICApO1xuICB9XG4gIGlmIChwcm9wcy5vcmlnaW5hbFJlc3BvbnNlTWVzc2FnZUlkICYmIHBheWxvYWQub3JpZ2luYWxfcmVzcG9uc2VfbWVzc2FnZV9pZClcbiAgICBtZXRhZGF0YS5vcmlnaW5hbFJlc3BvbnNlTWVzc2FnZUlkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5vcmlnaW5hbF9yZXNwb25zZV9tZXNzYWdlX2lkKTtcbiAgaWYgKHByb3BzLnR5cGUgJiYgcGF5bG9hZC50eXBlICE9PSB1bmRlZmluZWQpIG1ldGFkYXRhLnR5cGUgPSBwYXlsb2FkLnR5cGU7XG4gIGlmIChwcm9wcy51c2VyICYmIHBheWxvYWQudXNlcikgbWV0YWRhdGEudXNlciA9IGJvdC50cmFuc2Zvcm1lcnMudXNlcihib3QsIHBheWxvYWQudXNlcik7XG4gIC8vIEFwcGxpY2F0aW9uIGNvbW1hbmQgbWV0YWRhdGFcbiAgaWYgKCd0YXJnZXRfdXNlcicgaW4gcGF5bG9hZCkge1xuICAgIGlmIChwcm9wcy50YXJnZXRVc2VyICYmIHBheWxvYWQudGFyZ2V0X3VzZXIpIG1ldGFkYXRhLnRhcmdldFVzZXIgPSBib3QudHJhbnNmb3JtZXJzLnVzZXIoYm90LCBwYXlsb2FkLnRhcmdldF91c2VyKTtcbiAgICBpZiAocHJvcHMudGFyZ2V0TWVzc2FnZUlkICYmIHBheWxvYWQudGFyZ2V0X21lc3NhZ2VfaWQpIG1ldGFkYXRhLnRhcmdldE1lc3NhZ2VJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQudGFyZ2V0X21lc3NhZ2VfaWQpO1xuICB9XG4gIC8vIE1lc3NhZ2UgY29tcG9uZW50IG1ldGFkYXRhXG4gIGlmICgnaW50ZXJhY3RlZF9tZXNzYWdlX2lkJyBpbiBwYXlsb2FkKSB7XG4gICAgaWYgKHByb3BzLmludGVyYWN0ZWRNZXNzYWdlSWQgJiYgcGF5bG9hZC5pbnRlcmFjdGVkX21lc3NhZ2VfaWQpXG4gICAgICBtZXRhZGF0YS5pbnRlcmFjdGVkTWVzc2FnZUlkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5pbnRlcmFjdGVkX21lc3NhZ2VfaWQpO1xuICB9XG4gIC8vIE1vZGFsIHN1Ym1pdCBtZXRhZGF0YVxuICBpZiAoJ3RyaWdnZXJpbmdfaW50ZXJhY3Rpb25fbWV0YWRhdGEnIGluIHBheWxvYWQpIHtcbiAgICBpZiAocHJvcHMudHJpZ2dlcmluZ0ludGVyYWN0aW9uTWV0YWRhdGEgJiYgcGF5bG9hZC50cmlnZ2VyaW5nX2ludGVyYWN0aW9uX21ldGFkYXRhKVxuICAgICAgbWV0YWRhdGEudHJpZ2dlcmluZ0ludGVyYWN0aW9uTWV0YWRhdGEgPSBib3QudHJhbnNmb3JtZXJzLm1lc3NhZ2VJbnRlcmFjdGlvbk1ldGFkYXRhKGJvdCwgcGF5bG9hZC50cmlnZ2VyaW5nX2ludGVyYWN0aW9uX21ldGFkYXRhKTtcbiAgfVxuXG4gIHJldHVybiBjYWxsQ3VzdG9taXplcignbWVzc2FnZUludGVyYWN0aW9uTWV0YWRhdGEnLCBib3QsIHBheWxvYWQsIG1ldGFkYXRhLCB7XG4gICAgcGFydGlhbDogZXh0cmE/LnBhcnRpYWwgPz8gZmFsc2UsXG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtTWVzc2FnZUNhbGwoYm90OiBCb3QsIHBheWxvYWQ6IFBhcnRpYWw8RGlzY29yZE1lc3NhZ2VDYWxsPiwgZXh0cmE/OiB7IHBhcnRpYWw/OiBib29sZWFuIH0pIHtcbiAgY29uc3QgY2FsbCA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPE1lc3NhZ2VDYWxsLCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj47XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5tZXNzYWdlQ2FsbDtcblxuICBpZiAocHJvcHMucGFydGljaXBhbnRzICYmIHBheWxvYWQucGFydGljaXBhbnRzKSBjYWxsLnBhcnRpY2lwYW50cyA9IHBheWxvYWQucGFydGljaXBhbnRzLm1hcCgoeCkgPT4gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UoeCkpO1xuICBpZiAocHJvcHMuZW5kZWRUaW1lc3RhbXAgJiYgcGF5bG9hZC5lbmRlZF90aW1lc3RhbXApIGNhbGwuZW5kZWRUaW1lc3RhbXAgPSBEYXRlLnBhcnNlKHBheWxvYWQuZW5kZWRfdGltZXN0YW1wKTtcblxuICByZXR1cm4gY2FsbEN1c3RvbWl6ZXIoJ21lc3NhZ2VDYWxsJywgYm90LCBwYXlsb2FkLCBjYWxsLCB7XG4gICAgcGFydGlhbDogZXh0cmE/LnBhcnRpYWwgPz8gZmFsc2UsXG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtU2hhcmVkQ2xpZW50VGhlbWUoYm90OiBCb3QsIHBheWxvYWQ6IFBhcnRpYWw8RGlzY29yZFNoYXJlZENsaWVudFRoZW1lPiwgZXh0cmE/OiB7IHBhcnRpYWw/OiBib29sZWFuIH0pIHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLnNoYXJlZENsaWVudFRoZW1lO1xuICBjb25zdCB0aGVtZSA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPFNoYXJlZENsaWVudFRoZW1lLCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj47XG5cbiAgaWYgKHByb3BzLmNvbG9ycyAmJiBwYXlsb2FkLmNvbG9ycykgdGhlbWUuY29sb3JzID0gcGF5bG9hZC5jb2xvcnM7XG4gIGlmIChwcm9wcy5iYXNlTWl4ICYmIHBheWxvYWQuYmFzZV9taXggIT09IHVuZGVmaW5lZCkgdGhlbWUuYmFzZU1peCA9IHBheWxvYWQuYmFzZV9taXg7XG4gIGlmIChwcm9wcy5ncmFkaWVudEFuZ2xlICYmIHBheWxvYWQuZ3JhZGllbnRfYW5nbGUgIT09IHVuZGVmaW5lZCkgdGhlbWUuZ3JhZGllbnRBbmdsZSA9IHBheWxvYWQuZ3JhZGllbnRfYW5nbGU7XG4gIGlmIChwcm9wcy5iYXNlVGhlbWUgJiYgcGF5bG9hZC5iYXNlX3RoZW1lICE9PSB1bmRlZmluZWQgJiYgcGF5bG9hZC5iYXNlX3RoZW1lICE9PSBudWxsKSB0aGVtZS5iYXNlVGhlbWUgPSBwYXlsb2FkLmJhc2VfdGhlbWU7XG5cbiAgcmV0dXJuIGNhbGxDdXN0b21pemVyKCdzaGFyZWRDbGllbnRUaGVtZScsIGJvdCwgcGF5bG9hZCwgdGhlbWUsIHtcbiAgICBwYXJ0aWFsOiBleHRyYT8ucGFydGlhbCA/PyBmYWxzZSxcbiAgfSk7XG59XG4iXSwibmFtZXMiOlsiRGlzY29yZEFwcGxpY2F0aW9uSW50ZWdyYXRpb25UeXBlIiwiTWVzc2FnZUZsYWdzIiwic25vd2ZsYWtlVG9UaW1lc3RhbXAiLCJDSEFOTkVMX01FTlRJT05fUkVHRVgiLCJjYWxsQ3VzdG9taXplciIsIlRvZ2dsZUJpdGZpZWxkIiwiRU1QVFlfU1RSSU5HIiwiYmFzZU1lc3NhZ2UiLCJ1bmRlZmluZWQiLCJjcm9zc3Bvc3RlZCIsImZsYWdzIiwiY29udGFpbnMiLCJDcm9zc3Bvc3RlZCIsInZhbHVlIiwiYWRkIiwicmVtb3ZlIiwiZXBoZW1lcmFsIiwiRXBoZW1lcmFsIiwiZmFpbGVkVG9NZW50aW9uU29tZVJvbGVzSW5UaHJlYWQiLCJGYWlsZWRUb01lbnRpb25Tb21lUm9sZXNJblRocmVhZCIsImhhc1RocmVhZCIsIkhhc1RocmVhZCIsImlzQ3Jvc3Nwb3N0IiwiSXNDcm9zc3Bvc3QiLCJsb2FkaW5nIiwiTG9hZGluZyIsIm1lbnRpb25lZFVzZXJJZHMiLCJtZW50aW9ucyIsIm1hcCIsInVzZXIiLCJpZCIsIm1lbnRpb25FdmVyeW9uZSIsImJpdGZpZWxkIiwicGlubmVkIiwic291cmNlTWVzc2FnZURlbGV0ZWQiLCJTb3VyY2VNZXNzYWdlRGVsZXRlZCIsInN1cHByZXNzRW1iZWRzIiwiU3VwcHJlc3NFbWJlZHMiLCJzdXBwcmVzc05vdGlmaWNhdGlvbnMiLCJTdXBwcmVzc05vdGlmaWNhdGlvbnMiLCJ0aW1lc3RhbXAiLCJ0dHMiLCJ1cmdlbnQiLCJVcmdlbnQiLCJ0cmFuc2Zvcm1NZXNzYWdlIiwiYm90IiwicGF5bG9hZCIsImV4dHJhIiwiZ3VpbGRJZCIsImd1aWxkX2lkIiwidHJhbnNmb3JtZXJzIiwic25vd2ZsYWtlIiwidXNlcklkIiwiYXV0aG9yIiwibWVzc2FnZSIsIk9iamVjdCIsImNyZWF0ZSIsInByb3BzIiwiZGVzaXJlZFByb3BlcnRpZXMiLCJhcHBsaWNhdGlvbiIsInNoYXJkSWQiLCJwYXJ0aWFsIiwiYXBwbGljYXRpb25JZCIsImFwcGxpY2F0aW9uX2lkIiwiYXR0YWNobWVudHMiLCJsZW5ndGgiLCJhdHRhY2htZW50IiwiY2hhbm5lbElkIiwiY2hhbm5lbF9pZCIsImNvbXBvbmVudHMiLCJjb21wIiwiY29tcG9uZW50IiwiY29udGVudCIsImVkaXRlZFRpbWVzdGFtcCIsImVkaXRlZF90aW1lc3RhbXAiLCJEYXRlIiwicGFyc2UiLCJlbWJlZHMiLCJlbWJlZCIsImludGVyYWN0aW9uTWV0YWRhdGEiLCJpbnRlcmFjdGlvbl9tZXRhZGF0YSIsIm1lc3NhZ2VJbnRlcmFjdGlvbk1ldGFkYXRhIiwiaW50ZXJhY3Rpb24iLCJtZXNzYWdlSW50ZXJhY3Rpb25Qcm9wcyIsIm1lc3NhZ2VJbnRlcmFjdGlvbiIsIm1lbWJlciIsIm5hbWUiLCJ0eXBlIiwibWVudGlvbl9ldmVyeW9uZSIsIm1lbnRpb25lZENoYW5uZWxJZHMiLCJtZW50aW9uX2NoYW5uZWxzIiwibSIsIm1hdGNoIiwidGV4dCIsInN1YnN0cmluZyIsIm1lbnRpb25lZFJvbGVJZHMiLCJtZW50aW9uX3JvbGVzIiwiY2hhbm5lbFR5cGUiLCJjaGFubmVsX3R5cGUiLCJtZXNzYWdlUmVmZXJlbmNlIiwibWVzc2FnZV9yZWZlcmVuY2UiLCJyZWZlcmVuY2UiLCJtZXNzYWdlUmVmZXJlbmNlUHJvcHMiLCJtZXNzYWdlSWQiLCJtZXNzYWdlX2lkIiwicmVmZXJlbmNlZE1lc3NhZ2UiLCJyZWZlcmVuY2VkX21lc3NhZ2UiLCJtZXNzYWdlU25hcHNob3RzIiwibWVzc2FnZV9zbmFwc2hvdHMiLCJzbmFwIiwibWVzc2FnZVNuYXBzaG90Iiwibm9uY2UiLCJyZWFjdGlvbnMiLCJyZWFjdGlvbiIsIm1lIiwibWVCdXJzdCIsIm1lX2J1cnN0IiwiY291bnQiLCJjb3VudERldGFpbHMiLCJidXJzdCIsImNvdW50X2RldGFpbHMiLCJub3JtYWwiLCJlbW9qaSIsImJ1cnN0Q29sb3JzIiwiYnVyc3RfY29sb3JzIiwic3RpY2tlckl0ZW1zIiwic3RpY2tlcl9pdGVtcyIsIml0ZW0iLCJmb3JtYXRUeXBlIiwiZm9ybWF0X3R5cGUiLCJ0aHJlYWQiLCJjaGFubmVsIiwid2ViaG9va0lkIiwid2ViaG9va19pZCIsInBvbGwiLCJjYWxsIiwibWVzc2FnZUNhbGwiLCJ0cmFuc2Zvcm1NZXNzYWdlUGluIiwibWVzc2FnZVBpbiIsInBpbm5lZEF0IiwicGlubmVkX2F0IiwidHJhbnNmb3JtTWVzc2FnZVNuYXBzaG90IiwidHJhbnNmb3JtTWVzc2FnZUludGVyYWN0aW9uTWV0YWRhdGEiLCJtZXRhZGF0YSIsImF1dGhvcml6aW5nSW50ZWdyYXRpb25Pd25lcnMiLCJhdXRob3JpemluZ19pbnRlZ3JhdGlvbl9vd25lcnMiLCJHdWlsZEluc3RhbGwiLCJVc2VySW5zdGFsbCIsIm9yaWdpbmFsUmVzcG9uc2VNZXNzYWdlSWQiLCJvcmlnaW5hbF9yZXNwb25zZV9tZXNzYWdlX2lkIiwidGFyZ2V0VXNlciIsInRhcmdldF91c2VyIiwidGFyZ2V0TWVzc2FnZUlkIiwidGFyZ2V0X21lc3NhZ2VfaWQiLCJpbnRlcmFjdGVkTWVzc2FnZUlkIiwiaW50ZXJhY3RlZF9tZXNzYWdlX2lkIiwidHJpZ2dlcmluZ0ludGVyYWN0aW9uTWV0YWRhdGEiLCJ0cmlnZ2VyaW5nX2ludGVyYWN0aW9uX21ldGFkYXRhIiwidHJhbnNmb3JtTWVzc2FnZUNhbGwiLCJwYXJ0aWNpcGFudHMiLCJ4IiwiZW5kZWRUaW1lc3RhbXAiLCJlbmRlZF90aW1lc3RhbXAiLCJ0cmFuc2Zvcm1TaGFyZWRDbGllbnRUaGVtZSIsInNoYXJlZENsaWVudFRoZW1lIiwidGhlbWUiLCJjb2xvcnMiLCJiYXNlTWl4IiwiYmFzZV9taXgiLCJncmFkaWVudEFuZ2xlIiwiZ3JhZGllbnRfYW5nbGUiLCJiYXNlVGhlbWUiLCJiYXNlX3RoZW1lIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUNFQSxpQ0FBaUMsRUFPakNDLFlBQVksUUFDUCxvQkFBb0I7QUFDM0IsU0FBU0Msb0JBQW9CLFFBQVEsb0JBQW9CO0FBRXpELFNBQVNDLHFCQUFxQixRQUFRLGtCQUFrQjtBQUV4RCxTQUFTQyxjQUFjLFFBQVEscUJBQXFCO0FBQ3BELFNBQVNDLGNBQWMsUUFBUSw4QkFBOEI7QUFXN0QsTUFBTUMsZUFBZTtBQUVyQixPQUFPLE1BQU1DLGNBQXVCO0lBQ2xDLDJFQUEyRTtJQUMzRSxHQUFJQyxTQUFTO0lBRWIsSUFBSUM7UUFDRixPQUFPLElBQUksQ0FBQ0MsS0FBSyxFQUFFQyxTQUFTVixhQUFhVyxXQUFXLEtBQUs7SUFDM0Q7SUFDQSxJQUFJSCxhQUFZSSxLQUFjLENBQUU7UUFDOUIsSUFBSSxDQUFDLElBQUksQ0FBQ0gsS0FBSyxFQUFFO1FBQ2pCLElBQUlHLE9BQU8sSUFBSSxDQUFDSCxLQUFLLENBQUNJLEdBQUcsQ0FBQ2IsYUFBYVcsV0FBVzthQUM3QyxJQUFJLENBQUNGLEtBQUssQ0FBQ0ssTUFBTSxDQUFDZCxhQUFhVyxXQUFXO0lBQ2pEO0lBQ0EsSUFBSUk7UUFDRixPQUFPLElBQUksQ0FBQ04sS0FBSyxFQUFFQyxTQUFTVixhQUFhZ0IsU0FBUyxLQUFLO0lBQ3pEO0lBQ0EsSUFBSUQsV0FBVUgsS0FBYyxDQUFFO1FBQzVCLElBQUksQ0FBQyxJQUFJLENBQUNILEtBQUssRUFBRTtRQUNqQixJQUFJRyxPQUFPLElBQUksQ0FBQ0gsS0FBSyxDQUFDSSxHQUFHLENBQUNiLGFBQWFnQixTQUFTO2FBQzNDLElBQUksQ0FBQ1AsS0FBSyxDQUFDSyxNQUFNLENBQUNkLGFBQWFnQixTQUFTO0lBQy9DO0lBQ0EsSUFBSUM7UUFDRixPQUFPLElBQUksQ0FBQ1IsS0FBSyxFQUFFQyxTQUFTVixhQUFha0Is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
|
|
@@ -1,7 +1,12 @@
|
|
|
1
1
|
import type { DiscordGuildOnboarding, DiscordGuildOnboardingPrompt, DiscordGuildOnboardingPromptOption } from '@discordeno/types';
|
|
2
2
|
import type { Bot } from '../bot.js';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
export declare function
|
|
3
|
+
export declare function transformGuildOnboarding(bot: Bot, payload: Partial<DiscordGuildOnboarding>, extra?: {
|
|
4
|
+
partial?: boolean;
|
|
5
|
+
}): any;
|
|
6
|
+
export declare function transformGuildOnboardingPrompt(bot: Bot, payload: Partial<DiscordGuildOnboardingPrompt>, extra?: {
|
|
7
|
+
partial?: boolean;
|
|
8
|
+
}): any;
|
|
9
|
+
export declare function transformGuildOnboardingPromptOption(bot: Bot, payload: Partial<DiscordGuildOnboardingPromptOption>, extra?: {
|
|
10
|
+
partial?: boolean;
|
|
11
|
+
}): any;
|
|
7
12
|
//# sourceMappingURL=onboarding.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onboarding.d.ts","sourceRoot":"","sources":["../../src/transformers/onboarding.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,4BAA4B,EAAE,kCAAkC,EAAE,MAAM,mBAAmB,CAAC;AAClI,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"onboarding.d.ts","sourceRoot":"","sources":["../../src/transformers/onboarding.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,4BAA4B,EAAE,kCAAkC,EAAE,MAAM,mBAAmB,CAAC;AAClI,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAKrC,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,sBAAsB,CAAC,EAAE,KAAK,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,OAezH;AAED,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,4BAA4B,CAAC,EAAE,KAAK,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,OAerI;AAED,wBAAgB,oCAAoC,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,kCAAkC,CAAC,EAAE,KAAK,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,OAcjJ"}
|
|
@@ -1,14 +1,17 @@
|
|
|
1
|
-
|
|
1
|
+
import { callCustomizer } from '../transformers.js';
|
|
2
|
+
export function transformGuildOnboarding(bot, payload, extra) {
|
|
2
3
|
const props = bot.transformers.desiredProperties.guildOnboarding;
|
|
3
4
|
const guildOnboarding = {};
|
|
4
5
|
if (props.guildId && payload.guild_id) guildOnboarding.guildId = bot.transformers.snowflake(payload.guild_id);
|
|
5
6
|
if (props.defaultChannelIds && payload.default_channel_ids) guildOnboarding.defaultChannelIds = payload.default_channel_ids.map(bot.transformers.snowflake);
|
|
6
|
-
if (props.enabled) guildOnboarding.enabled = payload.enabled;
|
|
7
|
-
if (props.mode) guildOnboarding.mode = payload.mode;
|
|
7
|
+
if (props.enabled && payload.enabled !== undefined) guildOnboarding.enabled = payload.enabled;
|
|
8
|
+
if (props.mode && payload.mode !== undefined) guildOnboarding.mode = payload.mode;
|
|
8
9
|
if (props.prompts && payload.prompts) guildOnboarding.prompts = payload.prompts.map((prompt)=>bot.transformers.guildOnboardingPrompt(bot, prompt));
|
|
9
|
-
return
|
|
10
|
+
return callCustomizer('guildOnboarding', bot, payload, guildOnboarding, {
|
|
11
|
+
partial: extra?.partial ?? false
|
|
12
|
+
});
|
|
10
13
|
}
|
|
11
|
-
export function transformGuildOnboardingPrompt(bot, payload) {
|
|
14
|
+
export function transformGuildOnboardingPrompt(bot, payload, extra) {
|
|
12
15
|
const props = bot.transformers.desiredProperties.guildOnboardingPrompt;
|
|
13
16
|
const prompt = {};
|
|
14
17
|
if (props.id && payload.id) prompt.id = bot.transformers.snowflake(payload.id);
|
|
@@ -16,11 +19,13 @@ export function transformGuildOnboardingPrompt(bot, payload) {
|
|
|
16
19
|
if (props.required && payload.required) prompt.required = payload.required;
|
|
17
20
|
if (props.singleSelect && payload.single_select) prompt.singleSelect = payload.single_select;
|
|
18
21
|
if (props.title && payload.title) prompt.title = payload.title;
|
|
19
|
-
if (props.type) prompt.type = payload.type;
|
|
22
|
+
if (props.type && payload.type !== undefined) prompt.type = payload.type;
|
|
20
23
|
if (props.options && payload.options) prompt.options = payload.options.map((option)=>bot.transformers.guildOnboardingPromptOption(bot, option));
|
|
21
|
-
return
|
|
24
|
+
return callCustomizer('guildOnboardingPrompt', bot, payload, prompt, {
|
|
25
|
+
partial: extra?.partial ?? false
|
|
26
|
+
});
|
|
22
27
|
}
|
|
23
|
-
export function transformGuildOnboardingPromptOption(bot, payload) {
|
|
28
|
+
export function transformGuildOnboardingPromptOption(bot, payload, extra) {
|
|
24
29
|
const props = bot.transformers.desiredProperties.guildOnboardingPromptOption;
|
|
25
30
|
const option = {};
|
|
26
31
|
if (props.id && payload.id) option.id = bot.transformers.snowflake(payload.id);
|
|
@@ -29,7 +34,9 @@ export function transformGuildOnboardingPromptOption(bot, payload) {
|
|
|
29
34
|
if (props.emoji && payload.emoji) option.emoji = bot.transformers.emoji(bot, payload.emoji);
|
|
30
35
|
if (props.title && payload.title) option.title = payload.title;
|
|
31
36
|
if (props.description && payload.description) option.description = payload.description;
|
|
32
|
-
return
|
|
37
|
+
return callCustomizer('guildOnboardingPromptOption', bot, payload, option, {
|
|
38
|
+
partial: extra?.partial ?? false
|
|
39
|
+
});
|
|
33
40
|
}
|
|
34
41
|
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvb25ib2FyZGluZy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IERpc2NvcmRHdWlsZE9uYm9hcmRpbmcsIERpc2NvcmRHdWlsZE9uYm9hcmRpbmdQcm9tcHQsIERpc2NvcmRHdWlsZE9uYm9hcmRpbmdQcm9tcHRPcHRpb24gfSBmcm9tICdAZGlzY29yZGVuby90eXBlcyc7XG5pbXBvcnQgdHlwZSB7IEJvdCB9IGZyb20gJy4uL2JvdC5qcyc7XG5pbXBvcnQgdHlwZSB7IERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3IsIFNldHVwRGVzaXJlZFByb3BzLCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcyB9IGZyb20gJy4uL2Rlc2lyZWRQcm9wZXJ0aWVzLmpzJztcbmltcG9ydCB7IGNhbGxDdXN0b21pemVyIH0gZnJvbSAnLi4vdHJhbnNmb3JtZXJzLmpzJztcbmltcG9ydCB0eXBlIHsgR3VpbGRPbmJvYXJkaW5nLCBHdWlsZE9uYm9hcmRpbmdQcm9tcHQsIEd1aWxkT25ib2FyZGluZ1Byb21wdE9wdGlvbiB9IGZyb20gJy4vdHlwZXMuanMnO1xuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtR3VpbGRPbmJvYXJkaW5nKGJvdDogQm90LCBwYXlsb2FkOiBQYXJ0aWFsPERpc2NvcmRHdWlsZE9uYm9hcmRpbmc+LCBleHRyYT86IHsgcGFydGlhbD86IGJvb2xlYW4gfSkge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuZ3VpbGRPbmJvYXJkaW5nO1xuICBjb25zdCBndWlsZE9uYm9hcmRpbmcgPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxHdWlsZE9uYm9hcmRpbmcsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPjtcblxuICBpZiAocHJvcHMuZ3VpbGRJZCAmJiBwYXlsb2FkLmd1aWxkX2lkKSBndWlsZE9uYm9hcmRpbmcuZ3VpbGRJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuZ3VpbGRfaWQpO1xuICBpZiAocHJvcHMuZGVmYXVsdENoYW5uZWxJZHMgJiYgcGF5bG9hZC5kZWZhdWx0X2NoYW5uZWxfaWRzKVxuICAgIGd1aWxkT25ib2FyZGluZy5kZWZhdWx0Q2hhbm5lbElkcyA9IHBheWxvYWQuZGVmYXVsdF9jaGFubmVsX2lkcy5tYXAoYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UpO1xuICBpZiAocHJvcHMuZW5hYmxlZCAmJiBwYXlsb2FkLmVuYWJsZWQgIT09IHVuZGVmaW5lZCkgZ3VpbGRPbmJvYXJkaW5nLmVuYWJsZWQgPSBwYXlsb2FkLmVuYWJsZWQ7XG4gIGlmIChwcm9wcy5tb2RlICYmIHBheWxvYWQubW9kZSAhPT0gdW5kZWZpbmVkKSBndWlsZE9uYm9hcmRpbmcubW9kZSA9IHBheWxvYWQubW9kZTtcbiAgaWYgKHByb3BzLnByb21wdHMgJiYgcGF5bG9hZC5wcm9tcHRzKVxuICAgIGd1aWxkT25ib2FyZGluZy5wcm9tcHRzID0gcGF5bG9hZC5wcm9tcHRzLm1hcCgocHJvbXB0KSA9PiBib3QudHJhbnNmb3JtZXJzLmd1aWxkT25ib2FyZGluZ1Byb21wdChib3QsIHByb21wdCkpO1xuXG4gIHJldHVybiBjYWxsQ3VzdG9taXplcignZ3VpbGRPbmJvYXJkaW5nJywgYm90LCBwYXlsb2FkLCBndWlsZE9uYm9hcmRpbmcsIHtcbiAgICBwYXJ0aWFsOiBleHRyYT8ucGFydGlhbCA/PyBmYWxzZSxcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1HdWlsZE9uYm9hcmRpbmdQcm9tcHQoYm90OiBCb3QsIHBheWxvYWQ6IFBhcnRpYWw8RGlzY29yZEd1aWxkT25ib2FyZGluZ1Byb21wdD4sIGV4dHJhPzogeyBwYXJ0aWFsPzogYm9vbGVhbiB9KSB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5ndWlsZE9uYm9hcmRpbmdQcm9tcHQ7XG4gIGNvbnN0IHByb21wdCA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPEd1aWxkT25ib2FyZGluZ1Byb21wdCwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+O1xuXG4gIGlmIChwcm9wcy5pZCAmJiBwYXlsb2FkLmlkKSBwcm9tcHQuaWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmlkKTtcbiAgaWYgKHByb3BzLmluT25ib2FyZGluZyAmJiBwYXlsb2FkLmluX29uYm9hcmRpbmcpIHByb21wdC5pbk9uYm9hcmRpbmcgPSBwYXlsb2FkLmluX29uYm9hcmRpbmc7XG4gIGlmIChwcm9wcy5yZXF1aXJlZCAmJiBwYXlsb2FkLnJlcXVpcmVkKSBwcm9tcHQucmVxdWlyZWQgPSBwYXlsb2FkLnJlcXVpcmVkO1xuICBpZiAocHJvcHMuc2luZ2xlU2VsZWN0ICYmIHBheWxvYWQuc2luZ2xlX3NlbGVjdCkgcHJvbXB0LnNpbmdsZVNlbGVjdCA9IHBheWxvYWQuc2luZ2xlX3NlbGVjdDtcbiAgaWYgKHByb3BzLnRpdGxlICYmIHBheWxvYWQudGl0bGUpIHByb21wdC50aXRsZSA9IHBheWxvYWQudGl0bGU7XG4gIGlmIChwcm9wcy50eXBlICYmIHBheWxvYWQudHlwZSAhPT0gdW5kZWZpbmVkKSBwcm9tcHQudHlwZSA9IHBheWxvYWQudHlwZTtcbiAgaWYgKHByb3BzLm9wdGlvbnMgJiYgcGF5bG9hZC5vcHRpb25zKSBwcm9tcHQub3B0aW9ucyA9IHBheWxvYWQub3B0aW9ucy5tYXAoKG9wdGlvbikgPT4gYm90LnRyYW5zZm9ybWVycy5ndWlsZE9uYm9hcmRpbmdQcm9tcHRPcHRpb24oYm90LCBvcHRpb24pKTtcblxuICByZXR1cm4gY2FsbEN1c3RvbWl6ZXIoJ2d1aWxkT25ib2FyZGluZ1Byb21wdCcsIGJvdCwgcGF5bG9hZCwgcHJvbXB0LCB7XG4gICAgcGFydGlhbDogZXh0cmE/LnBhcnRpYWwgPz8gZmFsc2UsXG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtR3VpbGRPbmJvYXJkaW5nUHJvbXB0T3B0aW9uKGJvdDogQm90LCBwYXlsb2FkOiBQYXJ0aWFsPERpc2NvcmRHdWlsZE9uYm9hcmRpbmdQcm9tcHRPcHRpb24+LCBleHRyYT86IHsgcGFydGlhbD86IGJvb2xlYW4gfSkge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuZ3VpbGRPbmJvYXJkaW5nUHJvbXB0T3B0aW9uO1xuICBjb25zdCBvcHRpb24gPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxHdWlsZE9uYm9hcmRpbmdQcm9tcHRPcHRpb24sIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPjtcblxuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgb3B0aW9uLmlkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5pZCk7XG4gIGlmIChwcm9wcy5jaGFubmVsSWRzICYmIHBheWxvYWQuY2hhbm5lbF9pZHMpIG9wdGlvbi5jaGFubmVsSWRzID0gcGF5bG9hZC5jaGFubmVsX2lkcy5tYXAoYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UpO1xuICBpZiAocHJvcHMucm9sZUlkcyAmJiBwYXlsb2FkLnJvbGVfaWRzKSBvcHRpb24ucm9sZUlkcyA9IHBheWxvYWQucm9sZV9pZHMubWFwKGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKTtcbiAgaWYgKHByb3BzLmVtb2ppICYmIHBheWxvYWQuZW1vamkpIG9wdGlvbi5lbW9qaSA9IGJvdC50cmFuc2Zvcm1lcnMuZW1vamkoYm90LCBwYXlsb2FkLmVtb2ppKTtcbiAgaWYgKHByb3BzLnRpdGxlICYmIHBheWxvYWQudGl0bGUpIG9wdGlvbi50aXRsZSA9IHBheWxvYWQudGl0bGU7XG4gIGlmIChwcm9wcy5kZXNjcmlwdGlvbiAmJiBwYXlsb2FkLmRlc2NyaXB0aW9uKSBvcHRpb24uZGVzY3JpcHRpb24gPSBwYXlsb2FkLmRlc2NyaXB0aW9uO1xuXG4gIHJldHVybiBjYWxsQ3VzdG9taXplcignZ3VpbGRPbmJvYXJkaW5nUHJvbXB0T3B0aW9uJywgYm90LCBwYXlsb2FkLCBvcHRpb24sIHtcbiAgICBwYXJ0aWFsOiBleHRyYT8ucGFydGlhbCA/PyBmYWxzZSxcbiAgfSk7XG59XG4iXSwibmFtZXMiOlsiY2FsbEN1c3RvbWl6ZXIiLCJ0cmFuc2Zvcm1HdWlsZE9uYm9hcmRpbmciLCJib3QiLCJwYXlsb2FkIiwiZXh0cmEiLCJwcm9wcyIsInRyYW5zZm9ybWVycyIsImRlc2lyZWRQcm9wZXJ0aWVzIiwiZ3VpbGRPbmJvYXJkaW5nIiwiZ3VpbGRJZCIsImd1aWxkX2lkIiwic25vd2ZsYWtlIiwiZGVmYXVsdENoYW5uZWxJZHMiLCJkZWZhdWx0X2NoYW5uZWxfaWRzIiwibWFwIiwiZW5hYmxlZCIsInVuZGVmaW5lZCIsIm1vZGUiLCJwcm9tcHRzIiwicHJvbXB0IiwiZ3VpbGRPbmJvYXJkaW5nUHJvbXB0IiwicGFydGlhbCIsInRyYW5zZm9ybUd1aWxkT25ib2FyZGluZ1Byb21wdCIsImlkIiwiaW5PbmJvYXJkaW5nIiwiaW5fb25ib2FyZGluZyIsInJlcXVpcmVkIiwic2luZ2xlU2VsZWN0Iiwic2luZ2xlX3NlbGVjdCIsInRpdGxlIiwidHlwZSIsIm9wdGlvbnMiLCJvcHRpb24iLCJndWlsZE9uYm9hcmRpbmdQcm9tcHRPcHRpb24iLCJ0cmFuc2Zvcm1HdWlsZE9uYm9hcmRpbmdQcm9tcHRPcHRpb24iLCJjaGFubmVsSWRzIiwiY2hhbm5lbF9pZHMiLCJyb2xlSWRzIiwicm9sZV9pZHMiLCJlbW9qaSIsImRlc2NyaXB0aW9uIl0sIm1hcHBpbmdzIjoiQUFHQSxTQUFTQSxjQUFjLFFBQVEscUJBQXFCO0FBR3BELE9BQU8sU0FBU0MseUJBQXlCQyxHQUFRLEVBQUVDLE9BQXdDLEVBQUVDLEtBQTZCO0lBQ3hILE1BQU1DLFFBQVFILElBQUlJ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
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import type { DiscordPoll, DiscordPollMedia } from '@discordeno/types';
|
|
2
2
|
import type { Bot } from '../bot.js';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
export declare function transformPoll(bot: Bot, payload: Partial<DiscordPoll>, extra?: {
|
|
4
|
+
partial?: boolean;
|
|
5
|
+
}): any;
|
|
6
|
+
export declare function transformPollMedia(bot: Bot, payload: Partial<DiscordPollMedia>, extra?: {
|
|
7
|
+
partial?: boolean;
|
|
8
|
+
}): any;
|
|
6
9
|
//# sourceMappingURL=poll.d.ts.map
|